TCP三次握手,四次挥手

TCP报头:

TCP三次握手,四次挥手_第1张图片

TCP三次握手,四次挥手_第2张图片

三次握手流程图:

TCP三次握手,四次挥手_第3张图片

             TCP三次握手,四次挥手_第4张图片

四次挥手流程图:

TCP三次握手,四次挥手_第5张图片

TIME_WAIT状态存在原因:
1).保证可靠的终止TCP协议.
if客户端给服务器发送的ACK丢失,而服务器将一直处于LAST_ACK状态,
如果服务器利用超时重传机制再给客户端发送释放连接请求时,客户端由于已经进入CLOSED状态就
接收不到任何数据,因而导致服务器没有机会进入CLOSED状态。
if客户端有一个TIME_WAIT状态,服务器就认为客户端没有收到自己的FIN,于是向客户端重新发送,
客户端就能够在2MSL时间内收到重传的FIN,对服务器进行ACK确认,两者最后都进入CLOSED状态。
2).保证让迟来的TCP报文段有足够的时间被识别丢弃
客户端向服务器发出ACK确认,经过2MSL(时间MSL叫做最长报文段寿命)的时间,
使得本次连接过程中产生的所有报文都能从网络中消失,从而不会对下次建立连接造成影响。
主动关闭的一方会处于TIME_WAIT状态。

TCP三次握手,四次挥手_第6张图片

CLOSE_WAIT状态:

TCP三次握手,四次挥手_第7张图片

TCP握手会不会是四次:

会的,当服务器端和客户端同时发起连接,两端都收到SYN连接请求,然后都给对方发送了ACK,一共就有四次数据交互,这种情况下,会达到四次握手。

TCP挥手会不会是三次:

TCP为什么是可靠地:

应答确认机制,超时重传机制,滑动窗口,(数据有序,拥塞控制)都可以说明TCP是可靠传输

你可能感兴趣的:(网络)