//……关于TCP三次握手与四次挥手
2024-08-31 06:17:00
TCP的概述
TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。
TCP连接的建立(三次握手)
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
TCP连接的释放(四次挥手)
第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。
第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。
第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。
最新文章
- jquery 和 css 属性
- [Java] xms xmx XX:PermSize XX:MaxPermSize 参数意义解析
- java build path->;source folder分析
- 用PyAIML开发简单的对话机器人
- MySQL - 定时备份
- C语言中将数字转换为字符串的方法
- 深入浅出ES6(六):解构 Destructuring
- Hibernate配置文件hbm主键的generator可选项
- CF_216_Div_2
- (转载)myeclipse项目名称重命名
- HDU_1010——小狗走迷宫DFS
- Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)
- PyQt:个性化登录界面模仿QQ登录
- LOJ 6277-6280 数列分块入门 1-4
- 使用 PySide2 开发 Maya 插件系列一:QT Designer 设计GUI, pyside-uic 把 .ui 文件转为 .py 文件
- 最课程阶段大作业06:U度节能平台控制系统
- mysql系列十二、mysql常用hint
- WHY数学表达式的3D可视化
- Email standards
- MySQL 5.7怎么爬出暂时表空间的坑
热门文章
- poj 1061 青蛙约会(扩展欧几里德)
- 51nod 1126 求递推序列的第N项
- 题解报告:poj 3320 Jessica's Reading Problem(尺取法)
- matlab实现算术编解码 分类: 图像处理 2014-06-01 23:01 357人阅读 评论(0) 收藏
- HBase Region Assign流程详解
- 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法
- Spring注解驱动开发之扩展原理
- [Luogu1848][USACO12OPEN]书架Bookshelf DP+set+决策单调性
- input 全选 jquery封装方法
- mysql 字段包含某个字符的函数