TCP的四次挥手】的更多相关文章

“挥手”是为了终止连接,TCP四次挥手的流程图如下: (在socket编程中,可以由客户端或服务端进行close操作来进行) 下面的图是由客户端主动关闭连接 MSL是什么?最长报文段寿命 ------> if793 定义了MSL是2分钟 linux 的MSL 是30s 问题:为什么TIME-WAIT会有这个状态呢?为什么不直接FIN-WAIT-2之后马上就closed呢? ----->1.确保有足够的时间让对方收到ACK包(如果被动端没有收到ACK的话,就会触发重发FIN包,一来一去正好2个M…
tcp四次挥手,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭. 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭.这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接.收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据.首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭. (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4). (2)服务器B收到这个FIN,它发回一个ACK,确认序号…
四次分手: 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭.这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接.收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据.首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭. (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4). (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5).和SYN一样,一个FIN将占用一个…
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭.这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接.收到一个 FIN只意味着这一方向上没有数据流动, 一个TCP连接在收到一个FIN后仍能发送数据.首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭. (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4). (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5).和SYN一样,一个FIN将占用一个序号. (…
TIME_WAIT状态存在有两个原因.<1>可靠终止TCP连接.如果最后一个ACK报文因为网络原因被丢弃,此时server因为没有收到ACK而超时重传FIN报文,处于TIME_WAIT状态的client可以继续对FIN报文做回复,向server发送ACK报文.<2>保证让迟来的TCP报文段有足够的时间被识别和丢弃.连接结束了,网络中的延迟报文也应该被丢弃掉,以免影响立刻建立的新连接.    …
参照: http://course.ccniit.com/CSTD/Linux/reference/files/018.PDF http://hi.baidu.com/raycomer/item/944d23d9b502d13be3108f61 建立连接: 理解:窗口和滑动窗口TCP的流量控制 TCP使用窗口机制进行流量控制 什么是窗口? 连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端 接收方发送的确认信息中包含了自己剩余的缓冲区尺寸 剩余缓冲区空间的数量叫做窗口…
TCP包结构 一个TCP包结构如下: 一个TCP包主要由TCP包头和数据部分组成,包头固定部分为20字节,选项和数据部分根据实际情况设置为4N(N可以为0)字节. 1.16bit源端口和目的端口号,它可以确认数据的传输方向(暂不考虑更底层的包) 2.32bit序号,它是为TCP包中数据部分进行编号的部分.假设要发送的数据有100M,由于受MSS( Maximum Segment Size 最大报文段长度)限制,一个TCP包是不可能传输完这100M的数据,于是需要将数据拆分,为了确保拆分传输后的数…
转载 http://www.cnblogs.com/zmlctt/p/3690998.html 相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助. 而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-).有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题. 因此在这里详细解释一下这两个过程. TCP三次握手 所谓三次握手…
1.TCP常见的定时器 在TCP协议中有的时候需要定期或者按照某个算法对某个事件进行触发,那么这个时候,TCP协议是使用定时器进行实现的.在TCP中,会有七种定时器: 建立连接定时器(connection-establishment timer) 重传定时器(retransmission timer) 延迟应答定时器(delayed ACK timer) 坚持定时器(persist timer) 保活定时器(keepalive timer) FIN_WAIT_2定时器(FIN_WAIT_2 ti…
TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道.     在Http工作之前,Web浏览器通过网络和Web服务器建立链连接,该连接是通过Tcp来完成的,该协议和Ip共同组成了Internet,即著名的Tcp/Ip协议族,.     TCP 被称为"面向连接"的传输层协议.关于它的具体细节,就不展开了.你只需知道:传输层主要有两个协议,分别是 TCP 和 UDP.TCP 比 UDP 更可靠.…