简述tcp三次握手
2024-10-21 04:57:32
第一次握手:建立连接时,客户端向服务端发送SYN(同步序列编号),其中包含客户端的初始序号seq(序列号)=x,并进入SYN_SENT(请求连接)状态,等待服务器确认。
第二次握手:服务器收到请求后,必须确认客户端的数据包,同时自己也发送一个SYN(同步序列编号)包,即SYN(同步序列编号)+ACK(确认字符)包,随机产生一个自己的初始序号seq(序列号)=y,此时服务器进入SYN_RECV(接收到了客户端的同步序列编号并且发送了确认字符)状态。
第三次握手:客户端收到服务器的SYN_ACK(同步序列编号+序列号)包,向服务器发送一个序列号(seq=x+1),确认号为ack(客户端)=y+1,这个包发送完,客户端和服务端进入ESTABLISHED(建立连接)状态,完成三次握手。
SYN:同步序列编号
seq:序列号,报文段携带数据的第一个字节编号
ack:确认号,期望收到下一个字节的编号
ACK:确认字符
SYN_SENT:请求连接
SYN_RECV:接收到了客户端的SYN并且发送了ACK
ESTABLISHED:建立连接
最新文章
- 关于IE6的PNG图像透明使用AlphaImageLoader的缺点
- 遇到shell重定向的一个奇怪问题:'消失'的标准输入!
- Python成长笔记 - 基础篇 (二)python基本语法
- How to Iterate Map
- android avoiding-memory-leaks
- 安装配置tomcat环境
- Form( 表单) 组件
- POJ 2505 A multiplication game(找规律博弈/贪心)
- php文件管理与基础功能的实现
- js中如何在一个函数里面执行另一个函数
- istio入门(05)istio的架构概念2
- Webpack vs Browersify vs SystemJs for SPAs
- 阿里云服务器公网Ip外网无法访问
- day10 函数2
- Oracle只读用户角色的建立
- python缓存装饰器,第二种方式(二)
- SpringMVC绑定到实体数组、list、set、和map时要注意
- NHibernate和Castle调试过程中,如何输出SQL的问题
- oracle-分区(笔记)
- 关于1024:堆栈下溢的错误(1024. Stack Underflow Occurred)
热门文章
- 常用Java API之Scanner:功能与使用方法
- <;More Effective C#: 改善C#代码的50个有效方法>;中文版翻译答疑
- 部署elasticsearch(三节点)集群+filebeat+kibana
- .NET Core程序中,如何获取和设置操作系统环境变量的值
- C#中datatable操作
- (原创)对比组态软件,使用C#开发的服务器和客户端软件的优势
- 【Java】调用摄像头进行拍照并保存【详细】以及处理no jniopencv_core in java.library.path的一种方法
- xcode模拟器使用常用的命令。
- 阿里和Google的JAVA开发规约
- excel 宏循环行数据 ,Excel统计所有sheet数据行数 VBA