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