计算机网络面试题(八):TCP三次握手(超重点!!!)
TCP三次握手(面试重点)
几个重要标号:SYN、ACK
- SYN:SYN=1代表建立TCP连接
- ACK:(acknowledge character 确认字符)确认字段
- SYN=1,ACK=0:表示客户端请求TCP连接,但还没有确认
- SYN=1,ACK=1:表示服务器确认TCP连接
TCP三次握手过程:
1.客户端发送建立TCP连接的请求报文
请求报文中包含:
- SYN=1表示要建立TCP连接
- seq=x***,x为随机生成数值
2. 服务端回复客户端的连接请求
回复报文中包含:
- SYN=1
- ACK确认字符:ACK=x+1是在客户端发送过来的***seq的基础上+1,告诉客户端TCP连接确认了
- seq***:seq=y由服务端随机生成的***
3. 客户端收到回复后再发送给服务端
回复报文中包含
- SYN=1
- ACK=y+1
- seq=x+1
整个过程:SYN=1一直不变,生成的ack确认字符会在上一个seq***的基础上+1