💻
计算机
如何理解TCP/IP协议中的三次握手过程?
问题描述
在TCP/IP协议中,三次握手(Three-way Handshake)用于建立可靠的连接。请详细描述这一过程的具体步骤,并解释为什么需要三次握手而不是两次或四次。
问题解答
三次握手过程如下:
1. **SYN**:客户端发送SYN=1的TCP报文,并随机生成初始序列号seq=x。
2. **SYN-ACK**:服务端收到后回复SYN=1和ACK=1,确认号为ack=x+1,同时发送自己的初始序列号seq=y。
3. **ACK**:客户端确认连接,发送ACK=1,确认号ack=y+1。
**原因**:
- 两次握手可能导致历史连接请求被服务端误接受(无法验证双方收发能力);
- 四次握手虽然更可靠但冗余,三次已能确保双方收发能力和序列号同步。