实例解释三次握手发生了什么

Posted 张三和李四的家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实例解释三次握手发生了什么相关的知识,希望对你有一定的参考价值。

实例解释三次握手发生了什么

TCP 协议构成

首先了解一下TCP数据包的结构。TCP数据被封装在一个 IP 数据包中。下面是TCP 数据包的格式

下面是TCP 首部数据格式

源端口号和目的端口号,以及IP 首部确保了一个唯一的TCP连接。

三次握手发生了什么?

使用 connect 建立连接时,客户端和服务器段会相互发送三个数据包。

  1. 客户端,发送一个数据包,首先指明目标服务器的IP和端口,以及初始化序号ISN 和 将SYN 标志位设置为1。
  2. 服务端,发回一个数据包,同样包含目标服务器的IP和端口,以及新的序号,和确定序号=ISN+1。以及 SYN 标志位和 ACK 标志位设置为1
  3. 客户端,再发送一个数据包,同样包含目标服务器的IP和端口,会将ACK=服务器序号+1,发送服务器

补充

使用 使用tcpdump观察telnet 访问网页实验 来抓取数据。然后丢到 wireshank 来方便查看数据。

第一张和第二张图片来源于 《TCP-IP协议卷》

以上是关于实例解释三次握手发生了什么的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络面试题

TCP/IP之TCP协议首部三次握手四次挥手FSM

TCP三次握手和四次握手

TCP三次握手及TCP连接状态 TCP报文首部格式

计算机网络面试题

对TCP协议握手的理解(转)