1.TCP 三次握手
image.png
客户端向服务端发送信息;SYN
服务端返回SYN+ACK(服务端发送的ACK,客户端可以根据ACK发送补齐):防止已失效的报文,突然再传到服务器引起错误;
客户端返回ACK; 解决网络信道不可靠问题;
以上过程发送三次数据,三次握手;
两次握手缺点:
1.第一次发送syn1 ,丢失;
image.png
2.为了确保重新发送,再次syn2;
image.png
- SYN2 正常接受,服务端发送SYN+ACK
image.png
-
此时第一包阻塞的网络节点数据突然恢复,第一包SYN又送达服务端;服务端认为客户端又发来新的连接;从而在两次握手之后,再
image.png
image.png
两次握手之后进入等待数据状态
image.png
服务端认为两个连接,客户端认为是一个连接,造成状态不一致;
image.png
三次握手情况下,服务端收不到最后的ACK,自然不会建立连接;解决网络信道不可靠问题;
1.2 如何处理丢包问题,如何处理乱序问题
image.png
补齐操作
image.png
2.四次挥手
image.png
- 客户端向服务端发送FIN;
2.服务端向客户端发送ACK;
3.服务端向客户端发送FIN;
4.客户端向服务端发送ACK;
以上过程都是“双工”通信;
3.TCP,UDP比较
image.png
image.png