Andy Niu Help
1.0.0.0
|
变量 | |
TTL | |
PDU | |
MTU | |
MSS | |
MSL | |
详细描述
变量说明
MSL |
MSL(Maximum Segment Lifetime):最大报文段生存时间,TCP主动关闭连接的一方,发送最后一个ack进入time_wait,经过两个最大报文段生存时间,才进入closed,为什么? 主动断开连接的是C,被动断开连接的是S,假设C回一个ack立即进入closed,而S没有收到,S会再次发送fin,但是这个时候C已经closed,导致半关闭。怎么解决这个问题? 站在C的角度,如果S没有收到ack,那么S肯定会再次发fin,从C发sck,到收到S的又一次fin,最大时间为2MSL,如果在2MSL还没有收到S的又一次fin, 可以认为S肯定收到了我的ack,那么就closed MSL的时间一般为2分钟。
- 参见
MSS |
MSS(Maximum Segment Size):最大分段的大小,这个是TCP连接的概念,当一个数据包过大的时候,TCP会分片发送,有时候不想分片,就要在tcp连接的时候, 约定好最大的段大小,在发送的时候,不超过这个段大小,就是MSS。这个段大小是是指净负荷,为1500-20-20 = 1460,但实际上,为了效率,MSS要小于1460, 确定一个更合理的值。
- 参见
MTU |
MTU(Maximum Transmission Unit):最大传输单元,链路层以太网数据帧的大小范围是46~1500字节,这里不包括以太网帧头部14个字节,尾部4个字节。 1、为什么最小是46个字节? 以太网的错误主要是发生碰撞,是指两台主机同时检测到网络空闲,同时发生数据,发生碰撞。为了解决这个问题,在发生碰撞的时候,需要重传数据, 在发送数据的时候,收到碰撞信号,重传数据。如果数据已经发送完毕,收到碰撞信息,不做处理。因此,要保证从发送数据,到收到碰撞信号的时候, 数据还没有发送完毕,这就要求数据必须超过一定的长度。考虑两个主机的最大距离,算出的数据长度要超过64个字节,64字节减去14个字节(以太网帧头部), 再减去4个字节(以太网帧尾部),也就是46个字节。 2、对于TCP,最大的净负荷是1500-20(IP头部)-20(TCP头部)=1460字节 3、对于UDP,最大的净负荷是1500-20(IP头部)-8 (UDP头部)=1472字节
- 参见
PDU |
PDU(Protocol Data Unit):协议数据单元,在物理层PDU是数据位(bit),在链路层PDU是数据帧(frame),在网络层PDU是数据包(packet),在传输层PDU是数据段(segment), 在应用层PDU是报文(message)
- 参见
TTL |
TTL(Time To Live):生存时间,数据包存活时间,定义是以秒为单位,实现是经过路由器的个数,也就是跳数。
- 参见
Copyright (c) 2015~2016, Andy Niu @All rights reserved. By Andy Niu Edit.