TCP
TCP为什么三次握手,两次会产生什么问题,第三次握手失败怎么处理
- 为了实现可靠数据传输,TCP通信双方需要维护一个序列号以表示发出的数据包哪些被对方接收;三次握手即是通信双方互相告知序列号起始值并确认对方已经收到的必须步骤
- 只是两次握手之多只有连接发起方的的起始序列号能被确认,另一方得不到确认,只能保证单向连接通畅
- 失败时服务器不会重传ACK报文而是直接发送RTS报文段进入CLOSED状态防止SYN泛洪攻击
Time_wait这个状态是怎么产生的
- 主动发起连接关闭的一方再发送最后一个ACK后进入TIME_wait状态等待2MSL时间后回到初始状态(closed)
- 等待2msl是为了确保最后一次发送的ACK被对方接收
编程过程中处理过tcp的断开吗
TCP拥塞控制
TCP协议为什么可靠?报文传输的结构
TCP常见状态
- LISTEN
- SYN-SENT
- SYN-RECEIVED
- ESTABLISHED
- FIN-WAIT-1
- FIN-WAIT-2
- CLOSE-WAIT
- CLOSING
- LAST-ACK
- TIME-WAIT
- CLOSED