zoukankan      html  css  js  c++  java
  • Tcp协议介绍

    前情提要:根据域名建立tcp链接之前要做两件事情,1 根据arp协议找到网管mac地址 2 通过dns服务器解析出域名的Ip地址,解析出域名的Ip地址之后就可以建立tcp链接了。

    tcp协议三个特点:1 实现可高传输 2 实现流量控制 3 避免网络拥塞

    tcp首部:

     序号:表示传输数据第一个字节 是整个数据中的第几个字节

     确认号:表示下一个链接过来的传输数据的第一个字节 是整个数据中的第几个字节

     URG:值为1时表示数据不用进入TCP缓存池排队,直接发送给接收端

     ACK:表示确认号码是否有效,0无效 1有效 

     SYN:值为1时表示发起会话请求的标识,其他为0后者不传(一般用于tcp握手阶段)

     PSH:值为1时表示接收端要提前提交给应用程序,不要进入TCP缓存池

     RST: 值为1时表示终端链接

     RST:值为1时表示释放链接

    TCP三次握手

    为什么要进行三次握手?

      理论上2次握手已经可以判断网络是通畅的,但是为什么还要进行第三次呢?主要是为了解决当第一握手时,如果出现网络延迟时,客户端一段时间没有收到服务器的响应 就会再发一次握手信息,此时服务器会给客户端一个响应。后面客户端一次发送的握手信息,又传送到服务器,此时服务器会在给客户端一个响应,此时客户端就不会在处理这个响应,如果没有第三次握手,服务器还在等待着客户端传输数据,会很浪费服务器资源。

    TCP四次挥手

    tcp 链接图

  • 相关阅读:
    安装httpd服务
    tmpfs临时文件系统,是一种基于内存的文件系统
    oracle Awr报告
    maven jar 怎么看jdk编译版本
    Oracle 11g direct path read 等待事件的理解
    Spring AOP 实现原理
    JVM相关知识(1)
    spring ioc原理(看完后大家可以自己写一个spring)
    java中HashSet详解
    java中HashMap详解
  • 原文地址:https://www.cnblogs.com/Tony100/p/11309189.html
Copyright © 2011-2022 走看看