TCP/UDP
1、TCP三次握手 四次挥手?
TCP是一种面向连接的、可靠的字节流服务。在建立TCP连接时,需要进行三次握手,而在关闭TCP连接时,需要进行四次挥手。具体来说,TCP三次握手的过程如下:
- 客户端向服务端发送SYN报文,表示请求建立连接。
- 服务端收到SYN报文后,向客户端发送SYN+ACK报文,表示同意建立连接。
- 客户端收到SYN+ACK报文后,向服务端发送ACK报文,表示连接建立成功。
而TCP四次挥手的过程如下:
- 客户端向服务端发送FIN报文,表示请求关闭连接。
- 服务端收到FIN报文后,向客户端发送ACK报文,表示已经收到关闭请求。
- 服务端向客户端发送FIN报文,表示服务端已经准备好关闭连接。
- 客户端收到FIN报文后,向服务端发送ACK报文,表示已经收到关闭请求。
需要注意的是,TCP四次挥手的过程中,客户端和服务端都需要发送ACK报文,以确认对方的关闭请求。此外,TCP的连接的拆除需要发送四个包,因此称为四次挥手,也叫做改进的三次握手。
2、为什么是三次握手、四次挥手?
TCP三次握手和四次挥手是为了建立和关闭TCP连接而设计的。TCP三次握手是指在建立TCP连接时,需要进行三次握手,以确保双方都能够收到对方的信息。具体来说,客户端向服务端发送SYN报文,服务端收到后回复SYN+ACK报文,客户端再回复ACK报文,这样就建立了TCP连接。而TCP四次挥手是指在关闭TCP连接时,需要进