TCP三次握手四次挥手介绍

学过计算机网络的同窗都知道TCP协议是计算机网络课程里面最复杂的协议之一,尚未通讯就要搞个什么三次握手,断开还要什么四次分手,中间还要什么流量控制啦,拥塞控制,滑动窗口什么的,初学者看了就会头晕。

TCP三次握手四次挥手介绍TCP三次握手四次挥手介绍

通讯基本流程服务器

咱们都知道TCP协议是面向链接的协议,能够保证数据不丢失,不重复,不乱序的到达接收方。TCP的通讯过程大概是下图所示。
TCP三次握手四次挥手介绍TCP三次握手四次挥手介绍
上图为TCP整个完整的通讯过程,首先通过三次握手创建链接(绿色部分),链接创建后能够正常通讯(蓝色部分),通讯完毕须要四次挥手断开链接(红色部分)。网络

三次握手计算机网络

三次握手能够这么理解:blog

TCP客户端是男孩子,TCP服务器是女孩子,男孩子要追女孩子,首先要创建恋爱关系。须要一个创建恋爱关系的过程。it

男孩:咱们能够恋爱吗?(客户端请求服务器创建链接)table

女孩:你想追我?想清楚了!(服务器要求客户端确认链接)请求

男孩:没错,你就是个人梦中情人!(客户端确认链接)im

三次握手确立了TCP服务器和客户端的“恋爱关系”。为何须要三次握手,两次握手不行吗?从通讯角度看,对于客户端两次就够了,但对于服务器不够,由于,两次握手服务器仅仅知道客户端和服务器之间的信道是通的,但服务器和客户端之间还未知,因此须要收到客户端发来的确认消息双方才能确认双方的消息通路都是ok的。
TCP三次握手四次挥手介绍TCP三次握手四次挥手介绍d3

四次挥手通信

对于链接的断开须要四次挥手,能够理解为男孩和女孩要分手,须要通过一番以下商量。

男孩:咱们不合适,咱们分手吧。(客户端已经没有数据能够传输)

女孩:什么?这么快就分手了,不能这么快完,我要给你算总帐!(服务器这端还有未发送完的数据)

女孩给男孩算帐中……(没有发送完的数据继续传输)

女孩:算好了,分手!(服务器这端数据传输完毕)

男孩:好的,咱们从从此仍是朋友……(等待Time_Wait时间到,恢复单身)
TCP三次握手四次挥手介绍TCP三次握手四次挥手介绍 这里有个注意的点是,客户端在收到服务器发送的数据传输完毕的消息后(第三次挥手),不能当即关闭链接(恢复单身,寻找新欢),必须等待2MSL时间才能关闭,由于这期间最后一次挥手服务器未必能收到,若是没有收到,服务器会从新发送第三次挥手的消息,这时候若是客户端关闭,将没法回应第四次挥手消息,使得四次挥手过程没法完成。

相关文章
相关标签/搜索