TCP连接四次挥手

转载 2015年11月18日 18:08:18
                                                 四次握手
                                                Four-way Handshake

四次握手用来关闭已建立的
TCP连接

1. (B) --> ACK/FIN --> (A)  [客户端给服务器端:我要解除连接了]
2. (B) <-- ACK <-- (A)      [服务器端回客户端:好的]
3. (B) <-- ACK/FIN <-- (A)  [服务器端回客户端:资源释放了,你断开吧]
4. (B) --> ACK --> (A)      [客户端回服务器端:好的]

注意:
 由于TCP连接是双向连接, 因此关闭连接需要在两个方向上做。

FIN:
 ACK/FIN包(ACK 和FIN 标记设为1)通常被认为是FIN(终结)包.然而, 由于连接还没有关闭, FIN包总是打上ACK标记. 没有ACK标记而仅有FIN标记的包不是合法的包,并且通常被认为是恶意的.

RST:
 连接复位Resetting a connection四次握手不是关闭TCP连接的唯一方法. 有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可>达),RST (Reset)包将被发送. 注意在,由于RST包不是TCP连接中的必须部分, 可以只发送RST包(即不带ACK标记). 但在正常的TCP连接中RST包可以带ACK确认标记请注意RST包是可以不要收到方确认的?  无效的TCP标记Invalid TCP Flags 到目前为止,你已经看到了SYN, ACK, FIN, 和RST 标记. 另外,还有PSH (Push) 和URG (Urgent)标记.最常见的非法组合是SYN/FIN 包.

注意:
  由于SYN包是用来初始化连接的, 它不可能和FIN和RST标记一起出现. 这也是一个恶意攻击.由于现在大多数防火墙已知SYN/FIN 包, 别的
一些组合,例如SYN/FIN/PSH, SYN/FIN/RST, SYN/FIN/RST/PSH。很明显,当网络中出现这种包时,很你的网络肯定受到攻击了。别的已知的
非法包有FIN (无ACK标记)和"NULL"包。如同早先讨论的,由于ACK/FIN包的出现是为了关闭一个TCP连接,那么正常的FIN包总是带有ACK 标
记。

"NULL"包就是没有任何TCP标记的包(URG,ACK,PSH,RST,SYN,FIN都为0)。

到目前为止,正常的网络活动下,TCP协议栈不可能产生带有上面提到的任何一种标记组合的TCP包。当你发现这些不正常的包时,肯定有人
对你的网络不怀好意。

相关文章推荐

TCP/IP的三次握手连接和四次挥手关闭

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。(1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服...

TCP四次挥手关闭连接的图解与实践总结

TCP的关闭连接比TCP连接的建立稍微复杂一些,下面我把个人的学习和理解写下来分享。 (参考《计算机网络》,第6版,谢希仁著)。 1、TCP关闭连接的步骤 假设现有客户端A和服务端B...

Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解

【转】Linux服务器上11种网络连接状态 和 TCP三次握手/四次挥手详解 一、Linux服务器上11种网络连接状态: 图:TCP的状态机 通常情况下:一个正常的TCP连接,都会有三个...

TCP 连接三次握手与四次挥手

1. 三次握手 TCP提供的是面向连接服务, 在一个主机(客户端)上的进程想与另一台主机(服务端)上的一个进程建立连接时会进行 “三次握手”: 1. 客户端TCP向服务端TCP发送一个特殊TCP报文,...

剖析TCP/IP协议建立和释放连接的三次握手与四次挥手过程

最近在与X公司进行http api联调时积累了一些关于tcp/ip协议建立和释放连接的三次与四次挥手的详细过程,顺便也回顾一下tcp/ip协议方面的知识。本文首先介绍tcp/ip包结构和tcpdump...
  • yown
  • yown
  • 2016-12-31 23:22
  • 494

TCP连接的终止(四次挥手)图解

tcp连接的终止过程1> 当客户端的数据流中没有其它要发送的数据时,它将发送带 FIN 标志设置的数据段;2> 服务器发送 ACK 信息,确认收到从客户端发出的请求终止会话的 FIN 信息;3> ...

TCP连接中的三次握手四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:三次握手首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接...

TCP连接的建立(三次握手)和释放(四次挥手)

所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。   三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和...

TCP的连接(三次握手,SYN泛洪)与终止(三次握手和四次挥手,time_wait)

TCP的的重要性我想可想而知,虽然时间较UDP慢,但他是支持全双工的面向连接的可靠传输协议,他提供的额外服务包括,流量控制(滑动窗口),差错控制,拥塞控制(慢启动曲线)等等。以下图片来自《数据通信与网...

浅谈TCP连接的三次握手与四次挥手(2017.08.08修复版)

TCP连接的建立与释放三次握手(建立TCP连接)TCP连接建立有如下几个目的,首先,要使双方都知道对方已经准备好了。其次,双方要协商如最大报文长度、最大窗口长度和服务质量等通信参数。第三,分配和初始化...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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