TCP四次挥手中的2MSL是什么?
来源:互联网 发布:淘宝网购物精品羊毛衫 编辑:程序博客网 时间:2024/05/18 20:47
MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL是time to live的缩写,中文可以译为“生存时间”,这个生存时间是由源主机设置初始值但不是存的具体时间,而是存储了一个ip数据报可以经过的最大路由数,每经过一个处理他的路由器此值就减1,当此值为0则数据报将被丢弃,同时发送ICMP报文通知源主机。RFC 793中规定MSL为2分钟,实际应用中常用的是30秒,1分钟和2分钟等。
2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态,当TCP的一端发起主动关闭,在发出最后一个ACK包后,即第3次握手完成后发送了第四次握手的ACK包后就进入了TIME_WAIT状态,必须在此状态上停留两倍的MSL时间,等待2MSL时间主要目的是怕最后一个ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个ACK应答包。在TIME_WAIT状态时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。不过在实际应用中可以通过设置SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。
TTL与MSL是有关系的但不是简单的相等的关系,MSL要大于等于TTL。
- TCP四次挥手中的2MSL是什么?
- TCP四次挥手客户端关闭链接为什么要等待2倍MSL
- TCP四次挥手中,主动关闭方最后为什么要等待2MSL之后才能关闭连接?
- TCP中的三次握手和四次挥手
- TCP连接中的三次握手四次挥手
- TCP中的三次握手和四次挥手
- 聊聊TCP四次挥手中的timewait
- TCP第四次挥手为什么要等待2MSL
- tcp四次挥手
- TCP四次挥手图解
- tcp/ip四次挥手
- TCP四次挥手
- TCP四次挥手
- TCP四次挥手过程
- TCP连接四次挥手
- TCP四次挥手
- TCP的四次挥手
- tcp四次挥手
- 怎样查看MySql数据库物理文件存放位置
- Linux正则表达式-通配符
- 死锁问题
- sgu233:The Greatest Angle(计算几何)
- 重新教自己学算法之线性堆栈(八)
- TCP四次挥手中的2MSL是什么?
- 黑马程序员——java多线程学习笔记(纯干货附送个人学习感悟)
- HAVING字句的使用
- 3、类和对象
- 【Android开发】获取已安装应用的安装文件(apk文件)
- [none]CodeForces 534B
- Android开发过程遇到的问题
- 成长,没你想得那么迫切——雅虎《另一种活法》
- 制作Linux根文件系统关于链接库的问题