【网络协议】精讲TCP与UDP的重点面试题!!!

目录

1. 为什么建立TCP连接是三次握手,而关闭连接却是四次挥手呢?

2. 为什么 TIME_WAIT 状态还需要等 2MSL 后才能返回到 CLOSED 状态?

3. TCP\UDP协议的设计区别是什么?列举所知道的使用TCP\UDP的上层协议。

4. 为什么tcp是可靠的传输,简述你理解的原因。


1. 为什么建立TCP连接是三次握手,而关闭连接却是四次挥手呢?

    这是因为服务端的 LISTEN 状态下的 SOCKET 当收到 SYN 报文的建连请求后,它可以把 ACK和 SYN(ACK 起应答作用, 而 SYN 起同步作用) 放在一个报文里来发送。但关闭连接时, 当收到对方的 FIN 报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭 SOCKET, 也即你可能还需要发送一些数据给对方之后,再发送 FIN 报文给对方来表示你同意现在可以关闭连接了,所以它这里的 ACK 报文和 FIN报文多数情况下都是分开发送的。

你可能感兴趣的:(精讲网络通信协议,网络协议,tcp/ip,udp)