TCP与UDP对比分析
在计算机网络中,传输层协议是实现设备之间通信的关键。核心协议为TCP与UDP;
为什么TCP会选择三次握手四次挥手
- 连接(三次握手)
-
第一次握手(SYN): 客户端发送一个SYN(同步序列编号)报文给服务器,表示请求建立连接,并且指定初始序列号(Sequence Number)。
-
第二次握手(SYN-ACK): 服务器收到SYN报文后,发送一个SYN-ACK报文作为响应。这个报文不仅确认了客户端的SYN(ACK),还包括服务器自己的SYN(同步序列编号),告诉客户端服务器也准备好了,并指定自己的初始序列号。
-
第三次握手(ACK): 客户端收到服务器的SYN-ACK后,发送一个ACK(确认)报文,确认收到服务器的SYN报文。至此,连接建立完成,客户端和服务器可以开始传输数据。
-
即服务端与客户端,各自都需要发送“请求连接”与“确认连接”两个信息。
-
断开(四次挥手)
-
第一次挥手(FIN): 客户端发送一个FIN(Finish)报文,表示不再发送数据,但仍可接收数据。
-
第二次挥手(ACK): 服务器收到FIN报文后,发送一个ACK报文,确认收到客户端的FIN请求。此时连接处于半关闭状态,客户端不再发送数据,但服务器可以继续发送数据。
-
第三次挥手(FIN): 服务器发送一个FIN报文,表示服务器也不再发送数据了。
-
第四次挥手(ACK): 客户端收到服务器的FIN报文后,发送一个ACK报文,确认收到。至此,连接完全关闭。
-
从全局来看,这儿依然是各自发生“断开”与“确认断开”两个信息。但是这儿有所不同;
不同点
- 由于TCP是可靠连接,从底层来看是有延迟的,即当客户端发送“中断”,服务端接收到时,服务端可能仍有未发生的信息,此时,服务端不能立即发送“中断”,但可以确认“接收中断”;
一下内容为知识点