TCP的错误恢复我是我们定位、诊断、并最终修复网络高延迟的最好工具。1.TCP重传 重传数据包是TCP最基本的错误恢复特性之一,它被设计用来对付数据包丢失。 数据包丢失可能有很多原因,包括出故障的应用程序、流量负载沉重的路由器,或者临时性的服务中断。数据包层次上的移动速度非常快,而且数据包丢失通常是暂时的,因此TCP能否检测到数据包丢失并从中恢复显得至关重要。 决定是否有...
分类:
其他好文 时间:
2015-09-06 06:22:27
阅读次数:
230
一、TCP建立连接后,通信双方都同时可以进行数据的传输;在保证可靠性上,采用超时重传和捎带确认机制;在流量控制上,采用滑动窗口协议,协议中规定,窗口内未经确认的分组需要进行重传;在拥塞控制上,采用慢启动算法。
(一)拥塞控制:
1、 TCP慢启动、拥塞避免、快速重传、快速回复
为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobso...
分类:
其他好文 时间:
2015-08-12 17:01:06
阅读次数:
192
TCP保持可靠传输的方法:
1)接收确认
2)滑动窗口
3)整体校验
4)失序重排
5)超时重传
6)重复丢弃
7)拥塞避退
1 减少报文数
1>交互数据-----Nagle算法(多个小分组合并为一个分组,减少小分组数)
2>成块数据-----经受时延的ACK(减少ACK报文数)
2 发生拥塞
1>慢启动+拥塞避免算法
2>快速重传+快速恢复...
分类:
其他好文 时间:
2015-07-22 13:11:27
阅读次数:
146
TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术。我写的这个系统基于UDP协议模拟了一个TCP协议,所实现的功能如下:1.三次握手2.一个计时器,用来判断传输超时行为3.快速重传4.能处理不同的MSS(maximum segment size)5.没有被接收方确认收到的包会...
分类:
其他好文 时间:
2015-05-27 11:37:37
阅读次数:
354
本文原文链接通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道。如图1所示,给出了TCP通信过程的示意图。图1主要包括三部分:建立连接、传输数据、断开连接。
建立TCP连接很简单,通过三次握手便可建立连接。
建立好连接后,开始传输数据。TCP数据传输牵涉到的概念很多:超时重传、快速重传、流量控制、拥塞控制等等。
断开连接的过程也很简...
分类:
其他好文 时间:
2015-05-05 12:43:30
阅读次数:
155
拥塞控制算法:1.加性增、乘性减;2.慢启动;3.对超时事件作出反应;整体过程如下:慢启动->到达阈值->加性增(窗口+1个MSS),这个阶段叫拥塞避免(CA)->3个冗余ack丢包(事件)->阈值和窗口都缩小为一半(乘性减), 然后加性增(CA)->快速重传,并等待确认,这个阶段叫快速恢复,如果没...
分类:
Web程序 时间:
2014-09-22 13:51:12
阅读次数:
269
超时与重传:TCP在发送一个包时,启动一个定时器,如果在定时器溢出之前没有收到ACK,则认为发出的包丢失了,此时会重传丢失的包。这就是超时重传。其中定时器的时间不是一个固定值,它是根据RTT计算的。是一个变化量(RTO)。等待超时再重传比较慢,有一种更快的方法可以用于判断是否丢包,这就是快速重传。在...
分类:
其他好文 时间:
2014-09-19 13:41:05
阅读次数:
357
说明:1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的3).针对对象:对TCP已经有了全面了解的人。因为本文不会解析TCP头里面的每一个字段或者3次握手的细节,也不会解释慢启动和快速重传的定义4).除了...
分类:
其他好文 时间:
2014-05-12 22:06:26
阅读次数:
400