TCP连接终止协议
来源:互联网 发布:淘宝虎头鞋子 编辑:程序博客网 时间:2024/05/20 16:14
建立一个连接需要三次握手,而终止一个连接要经过4次握手。这由T C P的半关闭(h a l f -c l o s e)造成的。既然一个T C P连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就能发送一个F I N来终止这个方向连接。当一端收到一个F I N,它必须通知应用层另一端几经终止了那个方向的数据传送。发送F I N通常是应用层进行关闭的结果。
收到一个F I N只意味着在这一方向上没有数据流动。一个T C P连接在收到一个F I N后仍能发送数据。而这对利用半关闭的应用来说是可能的,尽管在实际应用中只有很少的T C P应用程序这样做。正常关闭过程如图1 8 - 3所示。我们将在1 8 . 5节中详细介绍半关闭。
首先进行关闭的一方(即发送第一个F I N)将执行主动关闭,而另一方(收到这个F I N)执行被动关闭。通常一方完成主动关闭而另一方完成被动关闭,但我们将在1 8 . 9节看到双方如何都执行主动关闭。图1 8 - 3中的报文段4发起终止连接,它由Te l n e t客户端关闭连接时发出。这在我们键入q u i t命令后发生。它将导致T C P客户端发送一个F I N,用来关闭从客户到服务器的数据传送。
当服务器收到这个F I N,它发回一个A C K,确认序号为收到的序号加1(报文段5)。和S Y N一样,一个F I N将占用一个序号。同时T C P服务器还向应用程序(即丢弃服务器)传送一个文件结束符。接着这个服务器程序就关闭它的连接,导致它的T C P端发送一个F I N(报文段6),客户必须发回一个确认,并将确认序号设置为收到序号加1(报文段7)。
图1 8 - 4显示了终止一个连接的典型握手顺序。我们省略了序号。在这个图中,发送F I N将导致应用程序关闭它们的连接,这些F I N的A C K是由T C P软件自动产生的。连接通常是由客户端发起的,这样第一个S Y N从客户传到服务器。每一端都能主动关闭这个连接(即首先发送F I N)。然而,一般由客户端决定何时终止连接,因为客户进程通常由用户交互控制,用户会键入诸如“ q u i t”一样的命令来终止进程。在图1 8 - 4中,我们能改变上边的标识,将左方定为服务器,右方定为客户,一切仍将像显示的一样工作(例如在1 4 . 4节中的第一个例子中就是由d a y t i m e服务器关闭连接的)。
- TCP连接终止协议
- TCP连接的建立和终止协议
- TCP/IP协议 --- 连接建立和终止
- TCP协议连接建立与终止的握手协议
- TCP连接过程(三次握手) 终止协议(四次挥手)
- 计算机网络协议第九章,TCP连接的建立与终止
- TCP连接与终止
- TCP协议及其建立终止
- 《TCP/IP详解-协议》(17、18)TCP连接建立与终止
- 传输层TCP协议——TCP连接的建立和终止
- 《TCP/IP详解 卷1:协议》 读书笔记 第十八章 TCP连接的建立与终止
- 《TCP/IP详解 卷1:协议》 读书笔记 第18章 TCP连接的建立与终止
- 《TCP/IP详解 卷1:协议》第十八章 TCP连接的建立与终止
- 《TCP/IP详解 卷1:协议》 读书笔记 第十八章 TCP连接的建立与终止
- TCP/IP详解卷1:协议(十)【TCP:传输控制协议, TCP连接的建立与终止】
- TCP连接的终止过程
- TCP的连接与终止
- tcp的连接和终止
- 2013-2-12 - loader代码调试心得记录。
- 回调函数透彻理解Java
- 2-SAT 学习笔记
- OOD面试题
- Struts2的OGNL遍历数组、List、简单的Map
- TCP连接终止协议
- HDU2065
- __stdcall 与 __cdecl 区别
- La3211 Now or Later(2-SAT判定+二分法)
- read of mingw: unknown error
- Android百度地图——根据城市名,地址名获取GPS纬度、经度值
- tlplayer for android,使用还是使用gles2渲染的 player
- selenium RC原理,处理一个请求的流程
- Codeforces Round #166 (Div. 2) D - Good Substrings