第十七讲 网络层之三:拥塞控制算法
拥塞控制算法

Dijkstra算法图例
Dijkstra算法程序
洪泛算法
基本思想
把收到的每一个分组,向除了该分组到来的线路外的所有输出线 路发送。
主要问题
洪泛要产生大量重复分组。
每个报头包含站点计数器,每经过一站计数器减1,为0时则丢弃 该分组。
解决措施
记录下分组扩展的路径,防止它第二次扩散到已经扩散过的路径 中。
链路状态路由算法(Link State Routing)
分级路由(Hierarchical Routing)
最短路径路由算法
基本思想
构建子网的拓扑图,图中的每个结点代表一个路由器,每条弧代 表一条通信线路。 目的是构建两个路由器间的路由,算法是在子网拓扑图中找出最 短路径。
得到最短路径,有不同的测量 路径长度的方法:
拥塞预防策略 通信量整形(漏桶和令牌桶) 流说明 虚电路网络中的拥塞控制 抑制分组 负载丢弃
闭环控制
Internet网络层协议(IP)
1.网络层的地位
通信子网的最高层
屏蔽各种不同类型网络 之间的差异 实现全网的数据传输
2.网络层需要解决的问题 3.三种通信交换方式
线路交换 报文交换 分组交换
检查与工作结点相邻的临时性结点,若该结点到工作结点 的距离与工作结点的标注之和小于该结点的标注,则用新 计算得到的和重新标注该结点。
在整个图中查找具有最小值的临时性标注结点,将其变为 永久性结点,并成为下一轮检查的工作结点。 重复第三、四步,直到目的结点成为工作结点。
Dijkstra算法的图例。
计算机网络中的拥塞控制算法

计算机网络中的拥塞控制算法引言随着互联网的快速发展,计算机网络已经成为了人们日常生活中不可或缺的一部分。
然而,在网络拥塞的情况下,网络的效率和性能会严重下降,这将对人们的日常生活和工作带来很大不便。
针对这个问题,网络拥塞控制算法应运而生。
本文将介绍计算机网络中常见的拥塞控制算法,并对它们的优缺点进行分析。
TCP Vegas算法TCP Vegas算法是一种新型的拥塞控制算法,能够更好地处理网络拥塞问题。
该算法是基于TCP Reno算法进行的改进,主要通过测量往返时间(RTT)和队列长度来判断网络是否拥塞。
如果RTT 增加,则说明网络拥塞已经开始,此时TCP Vegas就会减少发送速率以降低拥塞程度。
如果RTT降低,表示网络拥塞已经解除,此时TCP Vegas会逐渐增加发送速率。
因此,TCP Vegas算法能够在网络拥塞情况下更快地调整发送速率,提高了网络的效率。
然而,TCP Vegas也存在一些缺点。
例如,该算法的拥塞信号并没有明确的标准,这可能会导致算法无法处理一些特定的网络拥塞情况。
此外,TCP Vegas在高速网络中的表现可能不尽如人意,因为在这种情况下,RTT的变化非常小,导致TCP Vegas无法很好地判断网络拥塞的程度。
TCP Reno算法是一种比较老的拥塞控制算法,常用于处理网络拥塞问题。
该算法的核心思想是通过动态调整发送窗口大小,来控制发送速率。
当网络拥塞时,TCP Reno会通过检测丢包情况,并适当减少发送速率,从而避免网络拥塞的加剧。
一旦网络拥塞情况得到缓解,TCP Reno会逐渐增加发送速率,以提高网络的效率。
虽然TCP Reno算法已经被证明很有效,但它也存在一些问题。
首先,该算法的反应速度较慢,不能及时降低发送速率以避免网络拥塞的扩散。
其次,TCP Reno算法较为保守,可能会导致低效的网络利用率。
TCP NewReno算法TCP NewReno是TCP Reno算法的改进版,它采用了更加灵活的丢包恢复策略。
计算机网络中的拥塞控制算法

计算机网络中的拥塞控制算法引言计算机网络中的拥塞控制算法是保证网络运行高效稳定的关键之一。
随着网络规模和传输速率的不断增长,拥塞控制算法的研究与优化也变得日益重要。
本文将介绍计算机网络中常见的拥塞控制算法及其工作原理,包括TCP Reno,TCP New Reno,TCP Vegas以及流行的基于反馈的拥塞控制算法。
TCP RenoTCP Reno是传输控制协议(TCP)中最常用的拥塞控制算法之一。
其目标是通过动态调整拥塞窗口大小以保持网络的稳定性和公平性。
TCP Reno通过两个主要机制来实现拥塞控制:拥塞避免和拥塞恢复。
在拥塞避免阶段,TCP Reno使用加法增速和乘法减速两种方法来控制数据包的发送。
当网络传输没有发生丢包时,拥塞窗口大小以每轮递增一个MSS(最大报文段长度)的方式进行。
当网络出现拥塞时,即出现丢包情况,TCP Reno将减小拥塞窗口大小,并进入拥塞恢复阶段。
在拥塞恢复阶段,TCP Reno使用快速重传和快速恢复机制来处理丢包情况。
当发送方接收到三个重复的ACK(确认应答)时,它将立即重传丢失的数据包,并将拥塞窗口减半。
然后,TCP Reno将进入拥塞避免阶段,重新增加拥塞窗口的大小。
TCP New RenoTCP New Reno是TCP Reno的改进版本,在丢包情况下的行为上有所优化。
相比于TCP Reno只能重传一个丢失的数据包,TCP New Reno在接收到三个重复的ACK时也会重传后续的丢失数据包。
这样可以更有效地利用网络的带宽资源,提高传输效率。
TCP VegasTCP Vegas是另一种常见的拥塞控制算法,相较于TCP Reno,TCP Vegas更加注重网络时延的控制。
TCP Vegas通过实时检测网络端到端的往返时间(RTT)来判断网络的拥塞状态。
如果RTT增加且超过某个阈值,说明网络可能有拥塞发生,TCP Vegas将减小窗口大小以缓解拥塞。
相反,如果RTT保持较低水平,TCP Vegas将适度增加窗口大小以提高网络的利用率。
计算机网络中的拥塞控制算法

计算机网络中的拥塞控制算法一、引言计算机网络中的拥塞控制算法是指在网络传输数据时,为了避免网络拥塞导致传输性能下降、数据丢失等问题,采用的一种控制方法。
拥塞控制算法包括多种,如TCP的拥塞控制算法、UDP 的拥塞控制算法、RED算法等,本文将重点介绍TCP的拥塞控制算法。
二、TCP的拥塞控制算法TCP的拥塞控制算法主要包括四种:慢启动、拥塞避免、快速重传、快速恢复。
1. 慢启动慢启动是TCP连接刚开始传送数据时启用的一种算法。
慢启动将初始窗口大小设为一个很小的值,然后每经过一个往返时间RTT,增加窗口的大小,直到达到一个拥塞阈值(cwnd)。
超过拥塞阈值后,进入拥塞避免算法。
慢启动中主要涉及两个参数:拥塞窗口大小(cwnd)和拥塞阈值(ssthresh)。
慢启动的主要思想是控制发送方数据速率,使其不断逼近网络的传输极限。
通过控制拥塞窗口大小,发送方可以平衡网络吞吐量和丢包率,避免网络拥塞。
慢启动算法的伪代码如下:if (cwnd <= ssthresh) {cwnd = cwnd + 1;} else {cwnd = cwnd + 1/cwnd;}2. 拥塞避免拥塞避免算法是在慢启动后,当拥塞窗口大小超过拥塞阈值时启用的一种算法。
拥塞避免算法中,每经过一个RTT,拥塞窗口的大小增加一个MSS(最大分段大小),从而每个RTT可以传输更多的数据。
当出现拥塞情况时,TCP会将拥塞阈值减半,同时进入慢启动算法。
拥塞避免算法的伪代码如下:if (cwnd > ssthresh) {cwnd = cwnd + 1/cwnd;}3. 快速重传快速重传算法是当TCP收到重复的数据时,立即发送重复的确认,而不等待超时重传计时器,从而提高数据传输的速率。
当收到重复的确认后,TCP会将拥塞窗口大小减半并重新进入拥塞避免算法。
快速重传算法的伪代码如下:if (duplicate_ack_received) {cwnd = cwnd/2;ssthresh = cwnd;}4. 快速恢复快速恢复算法是在快速重传算法后,立即发送数据而不等待拥塞避免算法重新检查网络,从而提高数据传输的速率。
拥塞控制算法

拥塞控制算法拥塞控制算法是现代网络的重要组成部分,它的主要目的是控制带宽和改善网络性能。
拥塞控制算法是实时流媒体、虚拟网络和数据中心等网络应用的重要组成部分,它能够有效地减少网络拥塞,提高网络的容量和效率。
拥塞控制算法分为两类:拥塞避免算法和拥塞控制算法。
拥塞避免算法旨在减少发生拥塞的概率。
它们通过限制网络中发送节点的发送速率来实现,从而减少网络中发生的拥塞。
拥塞控制算法旨在减轻网络拥塞的影响,当网络中发生拥塞时,它们能够有效地控制网络中消息的传播,从而减少拥塞的影响。
拥塞控制算法的一般原理是,通过实时监控网络的拥塞程度,动态调整消息发送的速率,以维持网络有效的拥塞控制。
拥塞控制算法是基于反馈机制的,发送节点会根据网络中接收到的反馈信息(例如丢包率)来调整发送速率,以维持网络的有效性。
这些算法的具体实现有很多,包括自适应拥塞控制,拥塞窗口调整,拥塞避免,拥塞控制,快速拥塞控制,慢开始,快重传等。
自适应拥塞控制算法是现代网络中最常用的拥塞控制算法之一,它能够有效地控制网络拥塞,提高网络的容量和效率。
它通过动态调整发送节点的发送速率来实现,它根据网络中反馈的信息来决定发送速率,当网络中发生拥塞时,发送节点会动态调整发送速率,从而控制网络拥塞。
拥塞窗口调整是另一种常用的拥塞控制算法,它通过调整接收节点和发送节点之间的拥塞窗口来控制网络拥塞。
在拥塞控制阶段,发送节点会定期向接收节点发送一个调整窗口的信息,以控制发送速率,从而改善网络性能。
拥塞避免算法是一种基于发送节点的拥塞控制算法,它利用了发送节点的“自我调节”机制来控制发送速率,从而减少网络拥塞的发生。
它主要是根据接收节点发送的反馈信息来调整发送节点的发送速率,以维持网络有效地运行。
快速拥塞控制算法是一种基于接收节点的拥塞控制算法,它能够有效地减少网络拥塞的发生,改善网络的传输效率。
它通过实时监控网络中接收节点的发送状况,以及接收节点发送的反馈信息,来调整发送节点的发送速率,从而控制网络拥塞。
第十七讲 网络层之三:拥塞控制算法

C S=
M-
当C = 250K;M = 25MBps; = 2MBps; S = 250K/230000K 10.8ms
在S秒内以25MBps的速率发送一部分; 其余的只能以2MBps的速率发送;
1.数据链路层 •重传策略 •乱序缓存策略 •确认策略 •流量控制策略
回退N算法比选择重传算 法对网络负载的影响更大
缓存乱序包比丢弃对 网络负载的影响小
“捎带”减少立即确 认带来的额外负载
网络层窗口的大小 可影响数据传输率
2.网络层
•虚电路与数据报的拥塞控制算法不同
•包队列和服务策略
一个输入队列、一个输出队列 排队规则(先来先到或优先级)
反馈拥塞信息
丢弃包的比例; 平均队列长度; 超时和重发包的数量; 平均包延迟;
检测到拥塞的路由器向源端发警告包 通过设置包中某位或某字段来通知它的邻接节点 主机和路由器定期发送探测包显式询问拥塞状况
调整系统操作减少拥塞
增加资源
降低负载
三. 拥塞控制的预防策略
在不同层次使用适当的策略使发 生拥塞的可能性降至最低。
将主机用户进程输出 的不规则包流转换为 输入网络的均速包流
接口包含 一个漏桶
Q:包大小可变怎么办? 以字节计数
network
无规律 的包流
漏桶中 装包
有规律 的包流
•字节计数漏桶算法
每节拍初始时,计数器为n; 如队列第一个包的字节数<当前计数器的值
则将其发送并修改计数器的值 如果队列第一个包的字节数>当前计数器的值
则停止传输,等待下一节拍的开始。
计算机网络中的拥塞控制算法研究

计算机网络中的拥塞控制算法研究随着计算机网络愈发普及,网络瓶颈和拥塞控制问题日益引起人们的关注。
拥塞控制算法是计算机网络中避免网络拥塞的重要手段,其目的就是防止网络中流量的过度增长,从而保证网络的稳定性和性能。
本文将从三个方面来探讨计算机网络中的拥塞控制算法,分别包括:传输控制协议(TCP)拥塞控制算法、自适应拥塞控制算法和流量监测及拥塞控制方法。
1. TCP拥塞控制算法TCP是计算机网络中最常用的传输协议之一,其拥塞控制算法也是最为基础的。
TCP拥塞控制算法主要分为四个部分:慢启动、拥塞避免、快重传和快恢复。
慢启动是当一个TCP连接被建立时,TCP传输以极低速度进行数据包的传输,以便确定网络的瓶颈容量,并逐步增加其传输速度。
拥塞避免是在慢启动阶段结束后,系统将以一个相对较小的速度增加发送数据包和窗口大小,以避免网络拥塞。
如果接收到了重复数据包,则说明网络中可能存在拥塞,此时就会触发快重传算法,即跳过等待重复确认的步骤,立即进行重传。
当数据包正确到达接收方并获得确认时,TCP会将窗口大小减半,然后进行快恢复算法,利用这部分确认的数据包进行拥塞控制,重新计算拥塞窗口大小。
2. 自适应拥塞控制算法自适应拥塞控制算法是建立在TCP拥塞控制算法之上的,其最大特点在于对网络拥塞的敏感性以及能够自适应地根据网络情况调整传输速度。
现在,在自适应拥塞控制算法方面最常用的是基于反馈的算法,例如,零控制(AIMD),增量式拥塞控制算法,复合增量式算法(CUBIC)和幅度减少拥塞控制算法(RCP)。
零控制算法(AIMD)是在TCP基础之上进一步改进的拥塞控制算法,它是一种相对简单的算法,主要通过周期性的增加或减少速度来控制网络的拥塞。
增量式拥塞控制算法通过计算TCP连接的平均速度,根据连接是否发送或接收数据来计算其拥塞,并进行拥塞控制策略的调整。
CUBIC算法是一种拥有突出性能的自适应算法,该算法能够自适应地调整传输窗口大小,并且对高延迟的网络有着更好的适应性。
网络拥塞控制算法总结

网络拥塞控制算法总结网络拥塞控制是指在网络通信过程中,通过合理的算法和策略来控制网络中数据流量的流动,以避免网络拥塞的发生。
网络拥塞会造成数据包丢失、延迟增加以及网络性能下降等问题,因此拥塞控制算法的设计和实现对于网络的稳定运行至关重要。
下面将会介绍几种常见的网络拥塞控制算法及其特点。
第一种算法是最早采用的拥塞控制算法——慢开始(Slow Start)。
慢开始算法是由Van Jacobson在TCP/IP协议中提出的,用于在开始发送数据时快速扩大拥塞窗口,同时在网络出现拥塞时快速减小拥塞窗口。
具体实现方式是通过指数增加拥塞窗口的大小,直到遇到拥塞发生为止。
慢开始算法的特点是能够快速适应网络环境的变化,但容易引起网络拥塞。
第二种算法是拥塞避免(Congestion Avoidance)。
拥塞避免算法是在慢开始算法的基础上进行改进的,主要解决了慢开始算法容易引发网络拥塞的缺点。
拥塞避免算法通过线性增加拥塞窗口的大小来避免网络拥塞的发生。
具体实现方式是每次接收到一个确认ACK就递增拥塞窗口的大小,从而平滑地增大网络的负载,减小拥塞的可能性。
拥塞避免算法相对于慢开始算法,能够更加稳定地控制网络拥塞,但是在网络拥塞后仍然需要通过慢开始算法来恢复网络的稳定性。
第三种算法是快重传(Fast Retransmit)。
快重传算法是一种TCP 数据传输的拥塞控制算法,主要用于解决包丢失问题。
当发送方连续接收到三个相同的ACK确认报文时,就会触发快重传算法。
快重传算法的基本原则是,当接收到重复的ACK报文时,会认为已经丢失的报文已经到达接收方,而不是等待超时重传。
通过快速重传概念,可以减少数据传输的延迟,提高网络的传输效率。
第四种算法是拥塞避免和快重传的综合算法——TCP Tahoe。
TCP Tahoe是一种动态调整拥塞窗口的算法,能够根据网络拥塞程度来灵活调整数据传输速度。
TCP Tahoe的核心思想是通过快重传和拥塞避免算法相结合来进行拥塞控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.包交换网络中拥塞控制
•发生拥塞的节点向某些或全 部源节点发送一个控制包
•依赖于路由信息用链路延迟 信息影响新包产生的速率
•采用端-端的探询(probe)包
在拥塞期间需 要额外的交通
延迟变化太快无法有 效地用于拥塞控制
加剧网络的负担
•在包中增加拥塞信息
在拥塞的相反方向 在拥塞方向
4.流量控制与拥塞控制的区别
反馈拥塞信息
丢弃包的比例; 平均队列长度; 超时和重发包的数量; 平均包延迟;
检测到拥塞的路由器向源端发警告包 通过设置包中某位或某字段来通知它的邻接节点 主机和路由器定期发送探测包显式询问拥塞状况
调整系统操作减少拥塞
增加资源
降低负载
三. 拥塞控制的预防策略
在不同层次使用适当的策略使发 生拥塞的可能性降至最低。
要求所有的站点 都能知道提交给 网络的包的时间 和速率
当不同节点的队 列长度增加时实 际吞吐量呈下降 趋势。
Uncontrolled
0.8 1.0 Offered load(packets sent)
限制每个节点的 队列长度以避免 吞吐量崩溃。
拥塞控制技术无法达到理论上的理想值
Average packets delay
a为常数确定
unew = auold + (1 – a)*f
路由器忘记历 史的最快速度
0
a=
1
unew = (1 – a)*f unew = auold
•路由器
路由器不断监视输出线 路和其他资源的利用率
当利用率达到某个阀值 时相应的线路进入“警告” 状态
检查每个新到的包,如 果其输出线路处于“警告 ”状态则向包的源端发一 抑制包。
•延迟
Uncontrolled
Controlled Ideal
0.8 1.0 Offered load(packets sent)
初始时,无控制的 策略所导致的延迟 比有控制策略低; 但无控制策略在网 络负载很低时即达 到饱和。
无论采用什么技术, 包的平均延迟随着 网络负载接近系统 的容量会无限增长。
子网在建立虚电路时按照用户提供 的要求,预留了沿途所需的资源。
•路由控制
建立的新虚电路必 须绕开拥塞区域
a
拥塞节点
a
b
b
2. 抑制包(choke packet)
假设线路的利用率用实型变量u表示,u的取值 范围在0.1~1.0之间。
•基本思想
周期性地对线路的瞬间利用率进行取样f ,
可得到u的近似值:
•输入特性
最大包(B) 令牌桶速率(B/s) 令牌桶容量(B) 最大传输速率(B/s)
说明了包的最大尺寸
如果桶输出速率为rBps, 桶的容量为bB, 则在任意时间△t内可传送的 最大字节数为:
b + r·△t
说明了主机产生数据的最高速率
•应用程序所需的服务
丢失敏感性(B)
说明了可接受的丢失率
丢失间隔(us)
b a
e
155Mbps
b a
e
b a
e
c
b
c
b
da
抑制包 d a
f
e
f
e
c d
f
c
b
da
f
e
c
b
da
f
e
c d
f
c d
f
流量 减少
抑制包对源端发应太慢
抑制包对经过的每一跳都起作用
b a
e
155Mbps
b a
e
c
b
c
b
da
抑制包 d a
f
e
f
e
c
b
da
f
e
c d
f
c d
f
流量 减少
3. 卸下负载(load shedding)
300ms
400ms
500ms
25MB/s, 40ms
100ms
200ms
300ms
突发数据持续时间
400ms
500ms
2. 令牌桶算法
•令牌桶算法
漏桶装 令牌
无规律 的包流
network
每隔△T 秒生成一 个令牌
•与漏桶算法的区别
令牌桶算法可积累发送数 桶满时会丢失令牌而不会丢失包
•丢弃策略
丢弃包的选择
•路由选择算法 •生存期管理
是否将通信量均匀地 分散到所有链路上
定的太长妨碍系统工作 定的太短导致不必要的重传
3.传输层 •重传策略 •乱序缓存策略
回退N算法比选择重传算 法对网络负载的影响更大
缓存乱序包比丢弃对 网络负载的影响小
•确认策略 •流量控制策略 •超时间隔更难确定
将新包打上标记以免为 此再产生更多的抑制包。
•源端 收到抑制包后以X比率 减少发往该目的地的报文 等待一段时间后再检查 是否有新抑制包的到来
如果有来自同一目的地 的抑制包,应再次降低发 送速率;否则
应加大通信量
加权公平队列
如果收到抑制包的源端不采取措施,减少 发往拥塞点的包,怎么办?
•公平队列 路由器为每条输出线路设置多个队列对应 于每个源端 当输出线路空闲时,路由器循环扫描各队 列,依次从各队列中取出下一个包发送。
将主机用户进程输出 的不规则包流转换为 输入网络的均速包流
接口包含 一个漏桶
Q:包大小可变怎么办? 以字节计数
network
无规律 的包流
漏桶中 装包
有规律 的包流
•字节计数漏桶算法
每节拍初始时,计数器为n; 如队列第一个包的字节数<当前计数器的值
则将其发送并修改计数器的值 如果队列第一个包的字节数>当前计数器的值
•基本功能 确定何时进行新的通信 何时丢弃包及丢弃哪些包等等
•算法分类 作用于源端 作用于目的端
2.闭环(closed loop)
•基本思想 基于反馈环路。 主机能根据拥塞信息采取相应的动作以减少拥塞。
•算法分类 显式反馈 检测到拥塞的节点向源端发警告包
隐式反馈 源端依据局部信息推断是否发生拥塞
•基本组成 监视系统 检测何时何地发生拥塞
假设:突发数据长为1MB,到达时令牌桶已满。 设:突发时间为S;令牌到达速率; 突发数据最大输出为C+ ·S C+ ·S = M ·S
C S=
M-
当C = 250K;M = 25MBps; = 2MBps; S = 250K/230000K 10.8ms
在S秒内以25MBps的速率发送一部分; 其余的只能以2MBps的速率发送;
一. 拥塞控制概述
3
1. 包交换网络是一个排队网络
如果包到达 和排队的速 率超出包被 发送的速率, 2 队列的长度 就会无限制 地增长。
输入缓冲
节点4
5
输出缓冲
1
•交换过程 统计TDM
排在输入缓冲区 做路由决策 排队输出
•拥塞产生
来不及作路由决策 不及清除输出缓冲
•饱和时的处理
简单地丢弃入境包 节点对其邻接节点实行某种流量控制
•流控只与发送者和接收者之间的点-点通信有关 •拥塞控制是全局问题
涉及所有主机、路由器(及路由器的存储-转发能力)。
例1:
超
级
1000Gbps
1Gbps
计 算
机
必须进行流量控制
100Kbps
1Mbps
无需流量控制,但要拥塞控制。
二. 拥塞控制的基本原理
1.开环(Open loop)
•基本思想
设计目标定位于确保今后不会发生问题 一旦系统安装运行不进行任何修改 不考虑网络的当前状况
1.数据链路层 •重传策略 •乱序缓存策略 •确认策略 •流量控制策略
回退N算法比选择重传算 法对网络负载的影响更大
缓存乱序包比丢弃对 网络负载的影响小
“捎带”减少立即确 认带来的额外负载
网络层窗口的大小 可影响数据传输率
2.网络层
•虚电路与数据报的拥塞控制算法不同
•包队列和服务策略
一个输入队列、一个输出队列 排队规则(先来先到或优先级)
•加权公平队列 给不同的主机以不同的优先级。 优先级高的可每节拍扫描两个或多个字节。
输出线路O
包 结束时间
源端
C
8
1 6 11 15 19 20
A
B
16
2 7 12 16
B
D
17
38
C
E
18
4 9 13 17
D
A
20
5 10 14 18
E
公平队列方案
假设
公平队列的改进方案 假设
为一个包 为一个包
“跳 - 跳”抑制包
•丢弃策略
葡萄酒策略(陈的比新的香) 丢弃新包而保存旧包
牛奶策略(新的比旧的鲜) 保存新包而丢弃旧包
则停止传输,等待下一节拍的开始。
•漏桶算法的缺点
不管突发通信量的大小,输出速率保持不变。
例2. 计算机产生包的速率为25MBps; 网络运行速率为25MBps; 路由器平均最佳工作速率 2MBps;
设立一个速率ρ=2MBps,容量C=1MB的漏桶。
漏桶输出速率
2MB/s, 500ms
100ms
200ms
允许多达n个包的突发通信
•基本令牌桶算法的实现 令牌以包为单位
设置一计数器每隔△t加1 每发送一包减1 当计数器为0时禁止发送包
令牌代表k个字节
每隔△t 加 k,每发送一 个包减去该包长度。
例3. 令牌桶容量C = 250KB; 令牌到达速率 = 2MBps; 网络最大传输率M = 25MBps;