Andy Niu �����ĵ�

Andy Niu

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.