《tcp协议与》由会员分享,可在线阅读,更多相关《tcp协议与(8页珍藏版)》请在金锄头文库上搜索。
1、1http:/Copyright 2006 YAN Wei. All rights reserved.1第二十讲第二十讲TCPTCP协议与协议与InternetInternet拥塞控制拥塞控制http:/Copyright 2006 YAN Wei. All rights reserved.2TCPTCP协议与协议与InternetInternet拥塞控制拥塞控制?基本要求 ?掌握拥塞控制的概念 ?熟练掌握漏桶算法的基 本原理 ?掌握其他拥塞控制的方 法?阅读 ?5.3 ?33.6.1、3.6.2 ?33.7?主要内容 ?拥塞概述 ?Internet拥塞控制 概述 ?网络层拥塞控制 ?TCP拥
2、塞控制http:/Copyright 2006 YAN Wei. All rights reserved.3场景一场景一假设:路由器具有无限长的队列; 无错误恢复; 无流量控制;无壅塞控制;ABCDin= 主机A上的应用程序发给连接的原始数据(率) out= 连接的吞吐量(接收端的每秒字节数) R = 路由器的出境链路容量;inouthttp:/Copyright 2006 YAN Wei. All rights reserved.4吞吐量和延迟是发送速率的函数吞吐量和延迟是发送速率的函数? 发送端的速率在0R/2之间 ?out = in ? 发送端的速率大于R/2 ?out = R/2?路由
3、器的无限长队列将吸收 来不及发出去的报文inoutindelayR/2R/2R/2当包的到达率接近链路容量 时将产生长的排队延迟。http:/Copyright 2006 YAN Wei. All rights reserved.5场景二场景二假设:路由器具有有限长的队列; 每个连接是可靠的;ABCDin= 传输层发到网络的数据:原始数据(率)+ 重发的数据(率) out= 连接的吞吐量(接收端的每秒字节数)inoutinhttp:/Copyright 2006 YAN Wei. All rights reserved.6可靠数据传输带来的重发可靠数据传输带来的重发? 当延迟增大发送端重发无需
4、重发的报文将导致 路由器将链路容量消耗在转发报文的重复拷贝inoutR/2R/2R/3R/4假设每个包都 被发送两次?R/2中的0.333Rbps 用于原始数据传输 ?R/2中的0.166Rbps 用于重发数据传输2http:/Copyright 2006 YAN Wei. All rights reserved.7场景三场景三假设:路由器具有有限长的队列; 每个连接是可靠的;ABCDinoutinR1R2R4R3考虑A- C连接与B- D连接共 享R2时,输入负载增大对 连接吞吐量的影响。http:/Copyright 2006 YAN Wei. All rights reserved.8多
5、跳通信形成的链路竞争后果多跳通信形成的链路竞争后果? 当in很小时,逐步增大in将导致out的增大; ? 当一个包在传输路径上被丢弃,所有利用有限链路容 量转发过该包的路由器所做的工作都是白费的。inoutR/2当B- D注入网络流量越 来越大,A- C流量通过 R2变得越来越少,直 至为0;http:/Copyright 2006 YAN Wei. All rights reserved.9什么是拥塞?什么是拥塞??非正式定义 ?太多的发送源端给网络发送太快太多的数据 ?如果网络发生拥塞 ?路由器的缓冲区溢出(分组丢失) ?队列延迟加大无限缓冲区无限缓冲区无限缓冲区无限缓冲区有限缓冲区有限缓
6、冲区有限缓冲区有限缓冲区?无需重发 ?带宽利用率最大 ?队列延迟增大?缓冲区溢出 ?重发http:/Copyright 2006 YAN Wei. All rights reserved.10包交换网络是排队网络包交换网络是排队网络? 如果包到达和排队 的速率超出包被发 送的速率,队列的 长度就会无限制地 增长。 ? 当子网的一部分 (例如:一个或者 多个路由器)超载 时,便形成拥塞。5 53 32 21 14 4输入缓冲输出缓冲http:/Copyright 2006 YAN Wei. All rights reserved.11包交换网络是排队网络包交换网络是排队网络( (续续) )?交换
7、过程 ?排在输入缓冲区 ?做路由决策 ?排队输出?拥塞产生 ?线路的带宽低 ?多个输入去往同一个输出 ?路由器的处理能力来不及作路由决策和清空缓冲区? 当路由器接收分组的速度大 于它们转发分组的速度,便 会发生 ?子网拒绝额外的分组进入 拥塞区域 ?被拥塞的路由器可丢弃队 列中的分组以便腾出空间 存放新到达的分组统计TDMhttp:/Copyright 2006 YAN Wei. All rights reserved.12包交换网络中队列的相互作用包交换网络中队列的相互作用2 23 34 45 56 61 1?网络中某一点的拥塞将很快波及 到一个区域,甚至整个网络。 ?必须以控制整个网络交通
8、的方式 来使用流量控制工具。3http:/Copyright 2006 YAN Wei. All rights reserved.13拥塞对网络吞吐量的影响拥塞对网络吞吐量的影响提交的负载 (发出的包)吞吐量(被传送的包)0.81.0无拥塞控制拥塞控制理想开销1.0拥塞控制技术无法达 到理论上的理想值? 要求所有的站点 都能知道提交给 网络的包的时间 和速率 ? 当不同节点的队 列长度增加时实 际吞吐量呈下降 趋势。 ? 限制每个节点的 队列长度以避免 吞吐量崩溃。http:/Copyright 2006 YAN Wei. All rights reserved.14拥塞对包延迟的影响拥塞对包
9、延迟的影响? 初始时,无控制的 策略所导致的延迟 比有控制策略低; 但无控制策略在网 络负载很低时即达 到饱和。 ? 无论采用什么技 术,包的平均延迟 随着网络负载接近 系统的容量会无限 增长。0.81.0平均包的延迟提交的负载 ( 发出的包)有控制理想无控制http:/Copyright 2006 YAN Wei. All rights reserved.15流量控制与拥塞控制流量控制与拥塞控制? 流控只与发送者和接收 者之间的点- 点通信有关? 拥塞控制是全局问题涉及所有主机、路由器及 路由器的存储- 转发能力必须进行流量控制1000Gbps1000Gbps超 级 计 算 机1Gbps个人
10、计算机http:/Copyright 2006 YAN Wei. All rights reserved.16流量控制与拥塞控制流量控制与拥塞控制( (续续) )100Kbps无需流量控制,但要拥塞控制1Mbps1Mbps100Kbps?数据速率R1Mbps?1000台计算机的发送速率100Kbpshttp:/Copyright 2006 YAN Wei. All rights reserved.17通过良好设计避通过良好设计避 免拥塞的发生免拥塞的发生通过反馈获得网络当通过反馈获得网络当 前状况做恰当的调整前状况做恰当的调整从控制论看拥塞控制从控制论看拥塞控制? 开环拥塞控制?何时接受新流量
11、 ?何时丢弃分组 ?丢弃哪些分组? 闭环拥塞控制?检测何时何地发生拥塞 ?将拥塞通知采取行动的 地方 ?调整系统运行源端采取动作源端采取动作目标端采取动作目标端采取动作显式反馈显式反馈隐式反馈隐式反馈http:/Copyright 2006 YAN Wei. All rights reserved.18拥塞控制机制的分类拥塞控制机制的分类?端 -端的拥塞控制 ?网络层不提供对传输层拥塞控制的显式支持 ?可由网络行为推断拥塞发生 ?包丢失、延迟增大 ?例如:TCP?网络协助拥塞控制 ?路由器在检测到拥塞时为发送端提供反馈 ?例如:IBM SNA、DEC DECnet4http:/Copyrigh
12、t 2006 YAN Wei. All rights reserved.19拥塞控制的途径拥塞控制的途径?拥塞控制的途径 ?警告比特 ?抑制包 ?卸载?随机早期丢包 ?资源预留 ?通信量整形在高负载下网络进行 拥塞控制更加有效拥塞检测拥塞避免http:/Copyright 2006 YAN Wei. All rights reserved.20拥塞检测方法拥塞检测方法? 路由器通过监测出境线路和其他资源的使用情况 ?路由器周期性地对出境线路的瞬间利用率进行取 样f ,可得到u的近似值假设线路的利用率用实型变量u表示 ,u的取值范围在0.11.0之间。a为常数。确定路由器忘 记历史的最快速度。u
13、 unewnew= a*= a*u uoldold+ (1 + (1 a)*fa)*fa=0 unew= f1 unew= uoldhttp:/Copyright 2006 YAN Wei. All rights reserved.21警告比特警告比特? 当检测到发生拥塞时路由器在包头设置一个特殊的 比特用来警告源端 ? 该特殊比特被拷贝和“ 捎带” 在ACK中并被发送给发 送方 ? 发送方监测带有警告比特的ACK的数量并据此调整 传输速率。拥塞发生*ACKhttp:/Copyright 2006 YAN Wei. All rights reserved.22抑制包抑制包抑制包*拥塞发生 (u
14、 Thr)? 一个抑制包是由拥塞节点 产生并发送给受限通信流 的控制包 ? 收到抑制包后以一定比例 降低发送速率 ? 实例:ICMP的Source Quench打上标记 (防止在下一个路由器产 生更多的抑制包 )?收到抑制包后降低发送速率 ?等待一段时间后再检查是否 有新抑制包的到来 ?如果有来自同一目的地的抑 制包,应再次降低发送速率; 否则应加大通信量http:/Copyright 2006 YAN Wei. All rights reserved.23抑制包的作用抑制包的作用155Mbps流量 减少抑制包抑制包对源端发应太慢抑制包抑制包a ab bc cd d e ef fa ab bc
15、 cd d e ef fa ab bc cd d e ef fa ab bc cd d e ef fa ab bc cd d e ef fa ab bc cd d e ef fa ab bc cd d e ef fhttp:/Copyright 2006 YAN Wei. All rights reserved.24HopHop- -hophop抑制包抑制包? 在长距离或者高速率的环境下抑制包效用不好 ? 更有效的方法是逐跳发送抑制包 ? 每一跳都降低传输速率(即使抑制包未到达源端之前)155Mbps流量 减少抑制包a ab bc cd d e ef fa ab bc cd d e ef f抑制包抑制包a ab bc cd d e ef fa ab bc cd