传输层(2)-TCP连接的建立和终止、TIME_WAIT状态
2015-09-08 19:45
696 查看
1.TCP连接的建立和终止
1)三路握手
客户端发送一个SYN(同步)分解,告诉服务器客户将在连接中发送的数据的初始序列号。
服务器发送确认客户的SYN(ACK),同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。
客户端发送确认服务器的SYN(ACK)
2)TCP连接终止-四路挥手
主动端发送FIN分节
被动端接受,并由TCP发送ACK
一段时间后,被动端发送FIN分节
主动段接受并发送ACK
3)TCP状态转换图
![](http://www.cnblogs.com/yanxin880526/p/file:/C:/Users/Administrator.PC-20110801ZOUI/AppData/Local/YNote/Data/327348556@qq.com/35db8f4e27c1491cbf7dc007bb4572b2/clipboard.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/08/6fd367691db40d2cbe67f5561539abb8.png)
4)观察分组
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/08/874714a49d0e0cf09bebc43c1dbdc2c7.png)
![](http://www.cnblogs.com/yanxin880526/p/file:/C:/Users/Administrator.PC-20110801ZOUI/AppData/Local/YNote/Data/327348556@qq.com/2ccdfea308e74dea8b7e9b003b1ac759/clipboard.png)
说明:客户端、服务端的MSS可以不同。
2.TIME_WAIT状态
MSL(最长分节生命期)
该状态有两个存在的理由:
1)可靠地实现TCP全双工连接的终止
执行主动关闭的那一端处于TIME_WAIT状态:因为可能不得不重传最终那个ACK。
2)允许老的重复分节在网络中消逝
假设在12.106.32.254的1500端口和206.168.112.219的21端口之间有一个TCP连接。关闭这个连接,过一段时间后在相同的IP地址和端口之间建立另一个连接。
TCP必须防止来自某个连接的老的重复分组在该连接已终止后再现,从而被误解成属于同一连接的某个新的化身的分组。
1)三路握手
客户端发送一个SYN(同步)分解,告诉服务器客户将在连接中发送的数据的初始序列号。
服务器发送确认客户的SYN(ACK),同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。
客户端发送确认服务器的SYN(ACK)
2)TCP连接终止-四路挥手
主动端发送FIN分节
被动端接受,并由TCP发送ACK
一段时间后,被动端发送FIN分节
主动段接受并发送ACK
3)TCP状态转换图
![](http://www.cnblogs.com/yanxin880526/p/file:/C:/Users/Administrator.PC-20110801ZOUI/AppData/Local/YNote/Data/327348556@qq.com/35db8f4e27c1491cbf7dc007bb4572b2/clipboard.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/08/6fd367691db40d2cbe67f5561539abb8.png)
4)观察分组
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/08/874714a49d0e0cf09bebc43c1dbdc2c7.png)
![](http://www.cnblogs.com/yanxin880526/p/file:/C:/Users/Administrator.PC-20110801ZOUI/AppData/Local/YNote/Data/327348556@qq.com/2ccdfea308e74dea8b7e9b003b1ac759/clipboard.png)
说明:客户端、服务端的MSS可以不同。
2.TIME_WAIT状态
MSL(最长分节生命期)
该状态有两个存在的理由:
1)可靠地实现TCP全双工连接的终止
执行主动关闭的那一端处于TIME_WAIT状态:因为可能不得不重传最终那个ACK。
2)允许老的重复分节在网络中消逝
假设在12.106.32.254的1500端口和206.168.112.219的21端口之间有一个TCP连接。关闭这个连接,过一段时间后在相同的IP地址和端口之间建立另一个连接。
TCP必须防止来自某个连接的老的重复分组在该连接已终止后再现,从而被误解成属于同一连接的某个新的化身的分组。
相关文章推荐
- 27-监管网络状态信息netstat
- 网络通信之网页源码查看 并显示屏幕上
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- Android第六讲——数据存储(五种)SharedPreferences、内部存储(缓存cache)、外部存储(Sdcrad)、SQLite数据库、网络存储
- HTTP学习
- 使用IOCP需要注意的一些问题~~(不断补充)
- iOS基础知识:Objective-C 之 网络请求
- TCP是如何保证包的顺序传输?
- nginx_tcp模块集成到openresty
- linux基础操作--网络配置
- 解读Android之HttpURLConnection
- [PHP自动化-进阶]003.CURL处理Https请求访问
- Android OkHttp完全解析
- tcpdump查看某个端口数据
- 【攻克Android (41)】HttpURLConnection
- http soap关系
- RESTful Web Service - http身份登录认证的实现和使用(一)
- tcpdump
- vmotion的网络要求
- HTTP详解1-工作原理