TCP握手/挥手的过程分析

原创 2012年03月23日 08:13:58

TCP连接建立

TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

服务器必须准备好接受外来的连接。这通过调用socket、 bindlisten函数来完成,称为被动打开(passive open)

第一次握手:客户通过调用connect进行主动打开(active open)。这引起客户TCP发送一个SYN(表示同步)分节(SYN=J),它告诉服务器客户将在连接中发送到数据的初始序列号。并进入SYN_SEND状态,等待服务器的确认。

第二次握手:服务器必须确认客户的SYN,同时自己也得发送一个SYN分节,它含有服务器将在同一连接中发送的数据的初始序列号。服务器以单个字节向客户发送SYN和对客户SYNACK(表示确认),此时服务器进入SYN_RECV状态。

第三次握手:客户收到服务器的SYN+ACK。向服务器发送确认分节,此分节发送完毕,客户服务器进入ESTABLISHED状态,完成三次握手。

1TCP握手建立连接

客户端的初始序列号为J,而服务器的初始序列号为K。在ACK里的确认号为发送这个ACK的一端所期待的下一个序列号。因为SYN只占一个字节的序列号空间,所以每一个SYNACK中的确认号都是相应的初始序列号加1.类似地,每一个FIN(表示结束)的ACK中的确认号为FIN的序列号加1.

完成三次握手,客户端与服务器开始传送数据,在上述过程中还有一些重要概念。

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户端确认包。这些条目所标识的连接在服务器处于SYN_RECV状态,当服务器收到客户端确认包时,删除该条目,服务器进入ESTABLISHED状态。

TCP连接终止

TCP连接终止需四个分节。

2TCP挥手关闭连接

第一次握手:某个应用进程首先调用close,我们称这一端执行主动关闭。这一端的TCP于是发送一个FIN分节,表示数据发送完毕。

第二次握手:接收到FIN的另一端执行被动关闭(passive close)。这个FINTCP确认。它的接收也作为文件结束符传递给接收端应用进程(放在已排队等候应用进程接收到任何其他数据之后)

第三次握手:一段时间后,接收到文件结束符的应用进程将调用close关闭它的套接口。这导致它的TCP也发送一个FIN

第四次握手:接收到这个FIN的原发送端TCP对它进行确认。

面向字节的数据传送流(如TCP字节流、Unix管道等)也使用EOF表示在某个方向上不再有数据待传送。在TCP字节流中,EOF的读或写通过收发一个特殊的FIN分节来实现。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

TCP握手/挥手的过程分析

TCP连接建立 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 服务器必须准备好接受外来的连接。这通过调用socket、 bind和listen函数来完成,...

TCP协议三次握手四次挥手过程分析

IP协议号大全(网络协议 以太网的自动协商原理和相 TCP协议三次握手四次挥手过程分析 路由器 » 协议标准 | 阅读(4577) | 评论(0) Aug 11 ...

TCP握手/挥手的过程分析

<!-- @page {margin:0.79in} p {margin-bottom:0.08in; direction:ltr; color:#000000; text-a...

TCP协议的三次握手与四次挥手过程图解

TCP协议的三次握手与四次挥手过程图解

TCP三次握手四次挥手过程

TCP三次握手四次挥手过程 三次握手: 在TCP/ip协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接 第一次握手:建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_S...

TCP三次握手 四次挥手全过程

TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND...

TCP三次握手 四次挥手全过程

摘自http://blog.csdn.net/bird67/article/details/4871541 TCP(Transmission Control Protocol) 传输控制协议 TC...

简述TCP协议的六个标志位和三次握手与四次挥手的过程及原理

简述TCP协议的三次握手与四次挥手的过程及原理        今天,我们来分享一下TCP协议的六个标志位和三次握手与四次挥手的过程及原理。        先介绍一下TCP中的六个控制位,    ...

TCP协议三次握手四次挥手过程

TCP协议是传输控制协议,是以=一个面向连接,在运用此协议进行数据传输的时候会进行连接工作 ,(三次握手)当传输完毕后,双方都会通知彼此释放连接(四次挥手)。 TCP标志位: SYN (建立联机)  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)