TCP建立连接的三次握手

本文深入解析TCP三次握手的过程,详细解释了每个阶段的序列号与确认号的作用,以及TCP连接建立的完整流程。同时,通过对比TCP三次握手与四次挥手的状态变化,帮助读者更好地理解TCP的工作原理。
1.TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为1000,确认序列号为2000,请问第二次握手报文的发送序列号和确认序列号分别为
1999,999
1999,1000
999,2000
999,1999
 
应该选 B
发送序列是自己发送报文的序列号,当前发送序列号是上一次发送序列号+1
确认序列号是从对方接收到的发送序列号+1
第三次握手发送的序列号是1000,那说明第一次握手发送的序列号是999,注意:这里是握手
  ,因此,第二次握手的确认序列号是1000,即确认序列号是从对方接收到的发送序列号+1。
  第三次握手发送的确认号是2000,说明第二次握手的发送序列号是1999
  所以,选B
  
 
 
简化一下,其实有两个序列,客户端发送X,服务器发送Y。三次握手分别是

  客户端:发送X
服务端:发送Y, 确认X+1 
客户端:发送X+1(1000),确认Y+1(2000)

  可以反推第二次为1999,确认1000
这不是同一端的数据包。
 
 
 
2.下列TCP连接建立过程描述正确的是:
服务端收到客户端的SYN包后等待2*ml时间后就会进入SYN_SENT状态
服务端收到客户端的ACK包后会进入SYN_RCVD状态
当客户端处于ESTABLISHED状态时,服务端可能仍然处于SYN_RCVD状态
服务端未收到客户端确认包,等待2*ml时间后会直接关闭连接
 
答案:C
此题主要考察TCP三次握手,四次挥手的状态变化,对着图看吧,加深印象。
  三次握手如下:
  
  (此图第三次握手的ack应该等于y+1,而不是y,但不影响解这题)

  四次挥手如下:
  
### TCP 三次握手过程 TCP三次握手机制用于建立可靠的连接。该机制通过交换三个数据包来同步通信双方的序列号并确认对方的存在。 1. **SYN 发送阶段** 客户端向服务器发送一个带有 SYN 标志的数据包,表示请求建立连接,并附带初始序列号 `ISN`(Initial Sequence Number)。此时客户端进入 SYN_SENT 状态[^1]。 2. **SYN-ACK 接收与响应阶段** 当服务器接收到客户端发来的 SYN 数据包后,会回复一个包含 ACK 和 SYN 标记位设置为 1 的数据包给客户端作为应答。这个数据包不仅确认了来自客户端的信息还包含了自身的 ISN 值。这一步骤完成后,服务器处于 SYN_RCVD 状态。 3. **ACK 完成阶段** 最后,客户端再次回应一个仅设置了 ACK 标签的数据报文给服务端,告知其已经成功接收到了之前的服务端传回的消息;至此整个三步握手完成,两端都进入了 ESTABLISHED 状态可以开始正常传输应用层数据流了。 如果采用两方握手,则无法解决某些潜在问题: - 如果只做两次握手,在极端情况下可能会导致旧重复的连接请求被误认为新的有效尝试而接受下来。 - 只有第三次握手中的 ACK 才能真正证明第二条消息确实到达了目标主机而不是在网络中丢失或损坏。因此为了确保可靠性,必须要有第三个确认动作存在。 ```python import socket def tcp_three_way_handshake(): client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: # Client sends SYN packet implicitly during connect() client_socket.connect(('server_address', port)) print("Three-way handshake completed successfully.") except Exception as e: print(f"Error occurred: {e}") finally: client_socket.close() if __name__ == "__main__": tcp_three_way_handshake() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值