三次握手数据包的封装及转发过程

三次握手数据包的封装及转发过程

image-20240625164917164

计算机A和计算机F通过TCP进行通信,中间经过交换机B、路由器C、路由器D和交换机E。我们将详细说明三次握手数据包的封装过程和通过这些网络设备的转发过程。

数据包封装和转发过程

第一次握手(SYN)

  1. 计算机A到交换机B

    • 封装过程

      • 应用层:无实际应用数据。

      • 传输层:生成TCP段,设置SYN标志,Seq = x。

      • 网络层:封装IP数据包,源IP为A的IP,目标IP为F的IP。

      • 数据链路层:封装以太网帧,源MAC为A的MAC,目标MAC为路由器C的MAC(通过ARP获得)。

    • 转发过程

      • 交换机B:检查目标MAC地址,转发到路由器C。

  2. 交换机B到路由器C

    • 转发过程

      • 路由器C:解封装以太网帧,检查目标IP地址,确定下一跳为路由器D,重新封装以太网帧,源MAC为C的MAC,目标MAC为D的MAC。

  3. 路由器C到路由器D

    • 转发过程

      • 路由器D:解封装以太网帧,检查目标IP地址,确定下一跳为交换机E,重新封装以太网帧,源MAC为D的MAC,目标MAC为F的MAC。

  4. 路由器D到交换机E

    • 转发过程

      • 交换机E:检查目标MAC地址,转发到计算机F。

  5. 交换机E到计算机F

    • 转发过程

      • 计算机F:解封装以太网帧,解封装IP包,解封装TCP段,处理SYN请求,准备发送SYN-ACK响应。

第二次握手(SYN-ACK)

  1. 计算机F到交换机E

    • 封装过程

      • 应用层:无实际应用数据。

      • 传输层:生成TCP段,设置SYN和ACK标志,Seq = y,Ack = x + 1。

      • 网络层:封装IP数据包,源IP为F的IP,目标IP为A的IP。

      • 数据链路层:封装以太网帧,源MAC为F的MAC,目标MAC为路由器D的MAC。

    • 转发过程

      • 交换机E:检查目标MAC地址,转发到路由器D。

  2. 交换机E到路由器D

    • 转发过程

      • 路由器D:解封装以太网帧,检查目标IP地址,确定下一跳为路由器C,重新封装以太网帧,源MAC为D的MAC,目标MAC为C的MAC。

  3. 路由器D到路由器C

    • 转发过程

      • 路由器C:解封装以太网帧,检查目标IP地址,确定下一跳为交换机B,重新封装以太网帧,源MAC为C的MAC,目标MAC为B的MAC。

  4. 路由器C到交换机B

    • 转发过程

      • 交换机B:检查目标MAC地址,转发到计算机A。

  5. 交换机B到计算机A

    • 转发过程

      • 计算机A:解封装以太网帧,解封装IP包,解封装TCP段,处理SYN-ACK响应,准备发送ACK响应。

第三次握手(ACK)

  1. 计算机A到交换机B

    • 封装过程

      • 应用层:无实际应用数据。

      • 传输层:生成TCP段,设置ACK标志,Seq = x + 1,Ack = y + 1。

      • 网络层:封装IP数据包,源IP为A的IP,目标IP为F的IP。

      • 数据链路层:封装以太网帧,源MAC为A的MAC,目标MAC为路由器C的MAC。

    • 转发过程

      • 交换机B:检查目标MAC地址,转发到路由器C。

  2. 交换机B到路由器C

    • 转发过程

      • 路由器C:解封装以太网帧,检查目标IP地址,确定下一跳为路由器D,重新封装以太网帧,源MAC为C的MAC,目标MAC为D的MAC。

  3. 路由器C到路由器D

    • 转发过程

      • 路由器D:解封装以太网帧,检查目标IP地址,确定下一跳为交换机E,重新封装以太网帧,源MAC为D的MAC,目标MAC为F的MAC。

  4. 路由器D到交换机E

    • 转发过程

      • 交换机E:检查目标MAC地址,转发到计算机F。

  5. 交换机E到计算机F

    • 转发过程

      • 计算机F:解封装以太网帧,解封装IP包,解封装TCP段,处理ACK响应,完成三次握手,进入已建立(Established)状态。