TCP的三次握手/四次挥手

| 分类 网络  | 标签 tcp/ip 

1、定义

传输控制协议(Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。

在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

2、三次握手/四次挥手

可靠在哪里?可靠在确保我发送的信息,我都知道你已经收到,如何确保,简单的就是对方发送一个确认信息回来给我就行,同时对方也要可靠,它也要我的一个确认信息,确认它发送的确认信息已经被我收到。

面向可靠的连接,保证任何一条传送的请求或者确认信息,都能得到对方的确认回到信息。

面向可靠的断开,由于是全双工,相互传送数据,当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。两个方向都必须单独进行关闭。

由于丢包、延时等原因,在规定时间内没有收到该受到的确认信息,重新发送,确保可靠。

3、问题:TIME-WAIT的必要性及其带来的影响?

如果ACK发送过程中丢包或者延迟,导致对方不能收到,于是对方会重新发送一个FIN,再一次确认。这样确保维持连接状态,保证可靠的断开。

TIME-WAIT存在在主动断开的一方,也就是先传送数据,发送FIN的一方。

对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务.


上一篇     下一篇