连接建立
三次握手
三次握手很早就知道的一个东西,握手的过程也了解一些, 但是到现在位置也不知道为什么是三次,而不是其他次
三/四断开
抓包时发现有时是三次断开,有时是四次断开
三次断开
四次断开
查了下资料和简单分析了下,得出了一个推论:
三次断开还是四次断开取决于客户端发送FIN、ACK时,服务器是否还有数据要PUSH给客户端的,如果有的话,服务器会先ACK客户端的FIN,然后将剩余的数据和FIN、ACK一并发给客户端,然后客户端回复ACK确认服务器的FIN
补充
- SYN|FIN 状态位为 1 同步序列号才生效
- ACK 状态位为 1 确认序列号才生效