TCP拥塞控制中的一个概念:指源端在拥塞控制情况下一次最多能发送的数据包的数量。
发送端根据网络的拥塞程度所预设的一个大小值,而这个值就是拥塞窗口。
中文名称 | 拥塞窗口 | 外文名称 | cwnd(congestion window) |
---|
拥塞窗口大小变化算法
慢开始算法的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。
发送方会维持一个拥塞窗口,刚开始的拥塞窗口和发送窗口相等,一般开始均设置1,然后我们每收到一个确认,就让拥塞窗口大小变为原来的两倍,接着发送分组也是原来的两倍,以此类推,当窗口值等于16(慢开始门限ssthresh初始值),然后我们开始采用"加法增大"的策略,即不在以2倍的方式增加,而是转变为每次加1的方式.直到网络拥塞。我们开始采用"拥塞避免"算法:让新的慢开始门限值变为发生拥塞时候的值的一半,将拥塞窗口置为1,然后让它再次重复,这时一瞬间会将网络中的数据量大量降低。
当cwnd<ssthresh时,使用慢开始算法。
当cwnd>ssthresh时,改用拥塞避免算法。
当接收方cwnd=ssthresh时,慢开始与拥塞避免算法任意。(既可使用慢开始算法,也可使用拥塞避免算法)
拥塞避免算法让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样拥塞窗口按线性规律缓慢增长。
无论是在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有收到确认,虽然没有收到确认可能是其他原因的分组丢失,但是因为 无法判定,所以都当做拥塞来处理),就把慢开始门限设置为出现拥塞时的发送窗口大小的一半。然后把拥塞窗口设置为1,执行慢开始算法。
提醒这里只是为了讨论方便而将拥塞窗口大小的单位改为数据报的个数,实际上应当是字节。
快重传可以提高网络的吞吐量而快恢复算法相当于拥塞避免算法的后半恢复部分的优化.
假设以下情况:如果在发送方设置的超时定时器到时间还没有收到确认,那么有一种可能是网络发生堵塞,这种情况下,tcp会将拥塞窗口置为一,新的门限值变为发生阻塞时的一半并且开始执行慢开始算法.当我们使用快重传的时候,要求接收方接收到一个失序的报文段后就立即发出 重复确认,(目的是让对方早知道有报文段没有到达)
假设发送方发送了M1–M4四个分组,接收方收到了M1和M2,以及M4,这些分组.
现在接收方不能确认M4,因为M3没有收到,此时接收方可以什么都不干,也可以发送对M2的确认,但是快重传算法要求这样做:
接收方应该及时发送对M2的重复确认,这样可以让发送方知道M3并没有被传过来,发送方还会试着发送M5,M6,接收方收到之后,我们会继续发送对M2的确认,这样一共发了好几个对M2的确认,按照规定,只要发送方收到三个重复确认,就立即重传对方未收到的报文段M3.这样可以避免阻塞,并且提高我们网络的吞吐量.
快恢复算法与快重传算法配合使用
当发送方收到三个连续确认时,就执行"乘法减小"算法,把"慢开始门限"减半,注意接下来不会执行慢开始算法.
由于此时没有发送网络阻塞(要是发生阻塞的话就不会连续收到4个确认),因此此时不执行慢开始算法,并不会将拥塞窗口的值置为1,而是将它置为慢开始门限的一半.然后再实行拥塞避免算法,每次收到确认之后+1.
快重传配合使用的还有快恢复算法,有以下两个要点:
①当发送方连续收到三个重复确认时,就执行"乘法减小"算法,把ssthresh门限减半。但是接下去并不执行慢开始算法。②考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法。
拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如果再考虑到接收方的接收能力,那么发送窗口还可能小于拥塞窗口。
发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减少一些,以减少注入到网络中的分组数。
需要计算窗口后塞。
这个上部分套零星,下部套圈梁。
绘制窗口时 不能不考虑窗口高度 统一设置成 “顶梁底”,因为窗户有时不在梁底,需要在窗口上方设置过梁的。
- 1 - 打造“五零”服务品牌 推动创先争优活动深入开展 ——焦作市住房公积金中心开展创先争优活动汇报材料 两年来,市住房公积金管理中心在市委、市政府的正确领导 下,以“三亮三创三评”为总载体,突出窗口单位特点,瞄准全 国先进目标,努力打造以“零距离” 、“零风险”、“零障碍”、“零 差错”、“零投诉”为内容的“五零”服务品牌,真正做到“服务 为民、服务亲民、服务便民、服务惠民” ,不断将创先争优活动引 向深入 ,带动了中心各项工作的全面提升。 2011年,中心各项业务 指标以 30%至 50%的比例大幅增长,先后荣获“全省住房和城乡建 设系统优秀委局” 、“河南省住房公积金服务工作先进单位” 、“河 南省住房公积金管理工作先进单位” 、“焦作市十佳红旗集体”等 荣誉。我们的做法是: 一、改进方式,开展“零距离”服务 中心变被动服务为主动服务,让服务从门内向门外拓展,打 造与单位、职工
窗口管理器 X Window 系统采用主从式架构,其中主要的组成组件为 X Server 和 X Client 。除了 X Server 和 X Cl ient 之外,在 X Window 系统中还包含其他组成组件,如图: X Server :负责驱动显示卡和各种图形的显示,同时也会驱动其他输入设备,传送键盘,鼠标与窗口状态 信息给 X Clinet,接收处理 X Clinet 的服务请求,使客户端可以通过这些输入界面与应用程序沟通。 X Client :是各式各样的应用程序(文字处理、数据库应用、网络软件等) ,它会向 X Server 提出服务请 求,以得到响应的显示画面。 X Protocol :介于 X Server 和 X Client 间用于沟通的通信协议。 X Library :最底层的程序界面,它在 X Window System 中的角色,就好比 Windows APIs
针对 TCP 的优化算法(如 FastTCP),一般用来优化出向流量。Zeta-TCP采用了逆向控制的方法,来优化入向流量。逆向控制通过监测每一个连接的质量,给 TCP 连接的对端以丰富的提示信息,让TCP 的对端能更及时的感知拥塞,丢包,从而更及时地重传并调整其拥塞窗口以适应网络路径的实际可用带宽。