先决条件–
TCP三向握手过程
TCP是面向连接的协议, 每个面向连接的协议都需要建立连接, 以便在两个通信端都保留资源。
建立连接–
发件人通过以下步骤开始该过程:
- 序列号(Seq = 521):包含在发送方生成的随机初始序列号。
- 同步标记(Syn = 1):请求接收者将其序列号与上面提供的序列号同步。
- 最大网段大小(MSS = 1460 B):发送方告知其最大段大小, 以便接收方发送不需要任何分段的数据报。内部有MSS字段选项TCP标头中的字段。
- 视窗大小(视窗= 14600 B):发件人告诉他必须存储来自接收方的消息的缓冲区容量。
TCP是一种全双工协议, 因此发送方和接收方都需要一个窗口来接收彼此的消息。
序列号(Seq = 2000):
包含在接收方生成的随机初始序列号。
同步标记(Syn = 1):
请求发送者将其序列号与上面提供的序列号同步。
最大网段大小(MSS = 500 B):
发送方告知其最大段大小, 以便接收方发送不需要任何分段的数据报。内部有MSS字段
选项
TCP标头中的字段。
自MSS以来
接收者
<MSS
发件人
, 双方同意最低MSS, 即500 B, 以避免两端的数据包分段。
Therefore, receiver can send maximum of 14600/500 = 29 packets.
This is the receiver's sending window size.
窗口大小(窗口= 10000 B):
接收者告诉他必须存储来自发送者的消息的缓冲区容量。
Therefore, sender can send a maximum of 10000/500 = 20 packets.
This is the sender's sending window size.
确认编号(确认编号= 522):
由于接收机接收到序列号521, 因此, 由于Syn标志消耗了1个序列号, 所以它请求下一个序列号Ack号= 522, 这是接收机期望的下一个分组。
ACK标志(ACk = 1):
告诉确认号字段包含接收者期望的下一个序列。
发送方通过以下方式对建立连接做出最终答复:
- 序列号(Seq = 522):因为序列号= 521 in 1st步骤和SYN标志消耗一个序列号, 因此, 下一个序列号将是522。
- 确认编号(确认编号= 2001):由于发送方正在从接收方确认序列号为2000的SYN = 1数据包, 因此预期的下一个序列号为2001。
- ACK标志(ACK = 1):告知确认号字段包含发送者期望的下一个序列。
由于TCP的连接建立阶段使用3个数据包, 因此也称为
三向握手
(SYN, SYN + ACK, ACK)。
- 门问题– GATE IT 2008 |第67章
相关的下一篇文章–TCP连接终止