摘要:
一、简介 对于运输层是否应该存在保活定时器的讨论一直都有,一些专家觉得这应该有应用层自行维护。 如果一个给定的连接在2小时内没有任何动作,那么服务器就向客户发送一个探查报文段。客户主机必须处于以下4个状态之一。 (1)客户主机依然正常运行,并从服务器可达。客户的TCP响应正常,而服务器也知道对方的正常工作的。服务器在2小时内将保活定时器复位。 (2)客户主机已经崩溃,并且关闭或者正在重新启动。在任何一种情况下,客户的TCP都没有响应。服务器将不能收到对探查的响应,并在75秒后超时。总共发送10个探查,间隔75秒(初始定时器为2小时)。最终返回给应用的可能是“连接超时”。 (3)客户主... 阅读全文
摘要:
一、简介 ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含数据的ACK报文段。为了防止因为ACK报文段丢失而双方进行等待的问题,发送方用一个坚持定时器来周期性地向接收方查询。这些从发送方发出地报文段称为窗口探查。 如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止:接收方等待接收数据(因为已经向发送方通告了一个非0的窗口),而发送方在等待允许它继续发送数据的窗口更新。为了防止这种死锁情况的发生,发送方使用一个坚持定时器来周期性的向对方查询,以便发现窗口是否已增大。这些从发送方发出的报文段称为窗口探查。二、糊涂窗口综合征 糊涂窗口综合征,此现象可... 阅读全文
摘要:
一、简介 TCP提供可靠的传输层。使用的方法之一是确认从另一端收到的数据,但数据和确认都有可能会丢失。TCP通过设置定时器和重传策略来解决这种问题。 TFTP客户使用UDP时限了一个简单的超时和重传机制:5秒作为定时器值,每隔5秒进行重传;另外,向一个不存在的主机主机发送ARP,当TCP试图建立连接的时候,在每个重传之间使用一个较长的时延来重传SYN。 对每一个连接,TCP管理4个不同的定时器: (1) 重传定时器用于当希望收到另一端的确认。 (2) 坚持定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。 (3) 保活定时器可检测到一个空闲连接的另一端何时崩溃或重启。 ... 阅读全文
摘要:
一、简介 TFTP使用了停止等待协议。数据发送方在发送下一个数据块之前需要等待接收对已发送数据的确认。TCP所使用的被称为滑动窗口协议的另一种形式的流量控制方法,该协议允许发送方在停止并等待确认前可以发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。二、滑动窗口 滑动窗口本质上是描述接受方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据。如果发送方收到接受方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接受方发送窗口大小不为0的数据报的到来。 关于滑动窗口协议,书上还介绍了三个术语,分别是: 窗口合拢:... 阅读全文