TCP-IP 协议
概述
三次握手
四次挥手
传输过程
本文档使用 MrDoc 发布
-
+
首页
三次握手
TCP协议在建立连接时,客户端和服务端需要进行三次握手。 ### 第一次握手 客户端发送一个`SYN=1`的请求给服务端,表示请求与服务端建立连接。同时,该请求中也包含客户端的初始序号,`SequenceNumber=J`。 总结一下,这个请求的请求头会设置以下字段: - `SYN=1` - `SequenceNumber=J` ### 第二次握手 服务端在接收到客户端的第一个请求后,会返回一个`SYN+ACK`的数据包,也就是SYN字段和ACK字段为1,表示愿意建立连接,同时也会返回服务端的初始序号`SequenceNumber=k`,并设置`AcknowledgeNumber=J+1`确认已收到客户端的序号。 总结一下,这个请求的请求头会设置以下字段: - `SYN=1` - `ACK=1` - `SequenceNumber=K` - `AcknowledgeNumber=J+1` ### 第三次握手 在接收到服务端的响应之后,客户端会再次给服务端发送一个请求,表示已收到服务端的响应。 这个请求会设置ACK段和AcknowledgeNumber段,ACK表示应答,AcknowledgeNumber表示已确认服务端的SequenceNumber。 - `ACK=1` - `AcknowledgeNumber=K+1` ### 总结 涉及到的字段有: - `SYN`:可以理解为建立连接的标识; - `ACK`:应答的标识,表示这是一个应答报文; - `SequenceNumber`:用于告知自己的初始序号; - `AcknowledgeNumber`:表示已确认对方的序号; ### 问题 1. 客户端和服务端发送的`SequenceNumber`是干什么的? ### 参考 > [TCP三次握手详解](https://blog.csdn.net/jun2016425/article/details/81506353 "TCP三次握手详解") > [TCP序列号和确认号](https://my.oschina.net/u/4269725/blog/3521391 "理解TCP序列号和确认号")
gaojian
2021年11月10日 08:50
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码