了解如何在 TCP 三向握手中设置属性

网络工程 ipv4 ip 通讯协议
2021-07-29 19:31:10

我目前正在查看 TCP/IP 堆栈并分析我的桌面发送和接收的数据包。我理解SYN,SYN-ACK,ACK的概念,但是在物理查看一些数据包数据后我有几个问题:

来自 IP 的属性(例如 TTL 和窗口大小)是否仅由发送 SYN 数据包的客户端设置?(回复 ACK 的目标主机是设置自己的属性还是使用发送者设置的初始属性)

干杯

2个回答
  • TTL 是 IP 层的一个属性:每一方设置自己的,由路由在路由调整 ( RFC 791 p14)
  • 窗口大小是 TCP 的一个属性:每一方设置自己当前可接受的大小 ( RFC 793 p4)

这些都与三向握手无关。

TCP 使用三向握手打开连接:

第 1 步:主动开放:

客户端发送一个段

– SYN bit set to '1'

– port number of client

– initial sequence number (ISN) of client

第 2 步:- 被动打开:

服务器用一个段响应

– SYN bit set to '1'

- ACK bit set to '1'

– initial sequence number of server set to sequence number field

-acknowledgement number set to client initial sequence number (ISN) plus one

第 3 步:- 客户端通过发送一个段来确认:

– ACK set to '1'

-Acknowledgement number set to server sequence number plus one