即墨网站建设,北京做网站开发公司电话,热可可怎么做视频网站,公司有域名 如何做网站TCP/UDP首部信息 TCP首部第一个4字节第二个4字节与第三个4字节第四个4字节第五个4字节选项最大报文段长度#xff08;MSS#xff09;选项窗口扩大选项时间戳选项 什么时候发送RST包UDP首部 TCP首部
TCP 首部长度为20字节#xff0c;加上选项部分最大可达60字节。
第一个4… TCP/UDP首部信息 TCP首部第一个4字节第二个4字节与第三个4字节第四个4字节第五个4字节选项最大报文段长度MSS选项窗口扩大选项时间戳选项 什么时候发送RST包UDP首部 TCP首部
TCP 首部长度为20字节加上选项部分最大可达60字节。
第一个4字节
源端口16位发送数据的源进程端口。目的端口16位接收数据的进程端口。
由于端口号最多为16位因此端口号最大值为65535。
第二个4字节与第三个4字节
序号32位代表当前TCP数据段第一个字节占整个字节流的相对位置。确认号32位代表接收端希望接收的数据序号为上次接收到数据报的序号1当ACK标志位为1时才生效。
第四个4字节
数据偏移4位实际代表TCP首部长度最大为60字节。6个标志位每个标志位1位
SYN为同步标志用于数据同步ACK为确认序号ACK1时确认号才有效FIN为结束序号用于发送端提出断开连接URG为紧急序号URG1是紧急指针有效PSH指示接收方立即将数据提交给应用层而不是等待缓冲区满RST重置连接。
窗口值16位窗口指的是发送本报文段的一方的接收窗口而不是自己的发送窗口。窗口值告诉对方从本报文段首部中的确认号算起接收方目前允许对方发送的数据量以字节为单位。
第五个4字节
校验和16位用于检验数据完整性。紧急指针16位只有当URG标识位为1时紧急指针才有效。紧急指针的值与序号的相加值为紧急数据的最后一个字节位置。用于发送紧急数据。
选项
长度可变最长可达40字节。当没有使用“选项”时TCP的首部长度是20字节加上选项部分最大可达60字节。
最大报文段长度MSS选项
TCP最初只规定了一种选项即最大报文段长度MSSMaximum Segment Szie。MSS是每一个TCP报文段中的数据字段的最大长度。数据字段加上TCP首部才等于整个的TCP报文段。所以MSS并不是整个TCP报文段的最大长度而是“TCP报文段长度减去TCP首部长度。
为什么要规定一个最大报文长度MSS呢这并不是考虑接受方的接收缓存可能存放不下TCP报文段中的数据。实际上MSS与接收窗口值没有关系。我们知道TCP报文段的数据部分至少要加上40字节的首部TCP首部20字节和IP首部20字节这里还没有考虑首部中的可选部分才能组装成一个IP数据报。若选择较小的MSS长度网络的利用率就降低。设想在极端情况下当TCP报文段只含有1字节的数据时在IP层传输的数据报的开销至少有40字节包括TCP报文段的首部和IP数据报的首部。这样对网络的利用率就不会超过1/41。到了数据链路层还要加上一些开销。但反过来若TCP报文段非常长那么在IP层传输时就有可能要分解成多个短数据报片。在终点要把收到的各个短数据报片组成成原来的TCP报文段当传输出错时还要进行重传这些也都会使开销增大。
因此MSS应尽可能大些只要在IP层传输时不需要分片就行。由于IP数据报所经历的路径是动态变化的因此在这条路径上确定的不需要的分片的MSS如果改走另一条路径就可能需要进行分片。因此最佳的MSS是很难确定的。在连接过程中双方都把自己能够支持的MSS写入这一字段以后就按照这个数值传输数据两个传送方向可以有不同的MSS值。若主机未填写这一项则MSS的默认值是536字节长。因此所有在互联网上的主机都应该接受的报文段长度是53620固定首部长度556字节。
窗口扩大选项
窗口扩大选项是为了扩大窗口。我们知道TCP首部中窗口字段长度是16位因此最大的窗口大小为64K字节。虽然这对早期的网络是足够用的但对于包含卫星信道的网络传播时延和宽带都很大要获得高吞吐量需要更大的窗口大小。
窗口扩大选项占3字节其中有一个字节表示移位值S。新的窗口值等于TCP首部中的窗口位数从16增大到16S。移位值允许使用的最大值是14相当于窗口最大值增大到2(1614) - 1 2 30-1。
窗口扩大选项可以在双方初始建立TCP连接时进行协商。如果连接的某一端实现了窗口扩大当它不再需要扩大其窗口时可发送S0选项使窗口大小回到16。
时间戳选项
时间戳选项占10字节其中最主要的字段是时间戳字段4字节和时间戳回送回答字段4字节。时间戳选项有以下两个作用
第一、 用来计算往返时间RTT。发送方在发送报文段时把当前时钟的时间值放入时间戳字段接收方在确认该报文段时把时间戳字段复制到时间戳回送回答字段。因此发送方在收到确认报文后可以准确地计算出RTT来。
第二、 用于处理TCP序号超过232的情况这又称为防止序号绕回PAWS。我们知道TCP报文段的序号只有32位而每增加232个序号就会重复使用原来用过的序号。当使用高速网络时在一次TCP连接的数据传送中序号很可能被重复使用。例如当使用1.5Mbit/s的速度发送报文段时序号重复要6小时以上。但若用2.5Gbit/s的速率发送报文段则不到14秒钟序号就会重复。为了使接收方能够把新的报文段和迟到很久的报文段区分开则可以在报文段中加上这种时间戳。
什么时候发送RST包
建立连接的SYN到达某端口但是该端口上没有正在监听的服务。主机收到了一个根本不存在的连接上的分节。请求超时。
UDP首部 UDP首部的长度为8个字节共包含以下四个部分每个部分为2个字节
源端口号发送方的端口号范围(0~65535)目的端口号 接收者的端口号范围(0~65535)长度表示UDP报文段的长度(包括首部和数据)校验和接收方用于校验该报文段中是否存在了差错