路由优化算法在互联网拥塞控制中的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

路由优化算法在互联网拥塞控制中的应用

摘要:本文对互联网拥塞控制产生的原因进行了分析,综述了几种常见的路由优化算法,给出了算法的基本概念和应用方式,加以对比和总结。

关键词:路由优化算法;互联网;拥塞

中图分类号:tp393 文献标识码:a 文章编号:1674-7712 (2013)02-0079-01

一、引言

二十世纪的重大科学发明之一即为互联网,标志着当代生产力的进一步发展和进步。这一发明的产生和普及引发了前所未有的信息技术和新兴产业的革命。互联网已经成为当今世界经济发展的重要引擎、成为社会的重要基础设施。互联网技术的先进与否影响到地区的经济、政治和文化的发展水平,成为国际竞争力的重要标志。时至今日,网络已经成为了人们日常生活中必不可少的一部分,工作需要用到它,学习也需要用到它,娱乐更是离不开它。然而越来越多的用户进入互联网也造成了一个现象:网络拥塞。

网络拥塞导致的直接后果是整个网络的性能下降,包括:包丢失率增加、端到端延迟增大、系统吞吐量(good-put)下降、甚至有可能使整个系统发生拥塞崩溃(congestion collapse)。当网络处于拥塞崩溃状态时,微小的负载增量都将使网络的有效吞吐量急剧下降。

二、互联网拥塞的产生

拥塞产生的原因是“需求”量远远超过“供给”量。互联网的基本传输模式为多个用户共享同一带宽,是一种典型的时分传输系统。在系统的设计初期,并没有使用“接纳控制”算法,即没有限定用户数量。随着用户数量的增加,互联网本身没有控制用户使用资源的机制。目前互联网上用户和程序的数量都成指数级的增长,在没有中央控制算法对资源进行协调的时候,必然后导致网络拥塞。互联网拥塞产生的根源是资源短缺,但单纯增加硬件资源并不能避免拥塞的产生,有时效果反而会增加拥塞程度。例如:将网关设备的缓冲内存增加会使报文通过网关的延迟降低,但由于系统的总延迟超过子系统重传时钟的数值。此结果直接导致了报文的重新传送,反而增加了拥塞。

为了能够更合理更有效的利用互联网,就需要我们运用路由优化算法。

三、应对拥塞的路由优化算法

路由算法应具有简单、健壮、能够快速聚合及灵活的特性要求路由算法也可以设计得尽量简单。路由算法可以设计得可适应网络带宽、路由器队列大小和网络延迟。

(一)tail drop算法

传统的互联网路由器使用tail drop分组策略来进行队列管理,如果输出端缓存产生溢出,则丢弃收到的数据包。tail drop不需要选择丢弃的包,只是在系统没有空闲缓存时丢弃到达的包。也不需要保留任何与用户流相关的状态信息。从拥塞控制的角度看,这

种算法只是一种拥塞的恢复机制。这种算法已经在互联网的核心设备上工作了多年,但从一开始就存在着3个严重的缺陷:持续满队列,业务流全局同步,业务流对缓存死锁。此后,一些算法对其进行优化主要集中在“首丢弃”及“随机丢弃”策略的方向,但始终没有解决持续满队列问题。

(二)tcp的拥塞控制

在预防互联网拥塞控制方面,tcp提出了一系列的拥塞控制机制,成为网络研究的一个新兴热点。tcp的拥塞控制算法主要原理依赖于一个拥塞窗口(cwnd)来控制,以往的算法是使用的接收窗口(rwnd)进行流量控制。该窗口值的大小就代表能够发送出去的但还没有收到ack的最大数据报文段,显然窗口值越大那么数据发送的速度也就越快,但是也有越可能使得网络出现拥塞。例如,如果窗口值为1,此情况可以简化为一个停等协议,每发送一个数据,都要等到对方的确认才能发送第二个数据包,显然数据传输效率低下。tcp的拥塞控制算法需要在这两者之间进行权衡,选取最合适的cwnd值,从而使得网络的吞吐量实现最大化且不产生拥塞。(三)多协议标签交换

多协议标签交换(multiprotocol label switching,mpls)是一种用于快速数据包交换和路由的体系,其显式路由技术允许源完全控制数据在网络中的传输路径,它为网络数据流量提供了目标、路由、转发和交换等能力。mpls算法独立于第二和第三层协议,提供了一种将ip地址映射为简单的具有固定长度的标签的方式。它

是现有路由和交换协议的接口,如ip、atm、帧中继、资源预留协议(rsvp)、开放最短路径优先(ospf)等等。

mpls设计目的为解决网络拥塞问题,在网络速度、可扩展性、用户体验及硬件资源管理方面提供了较好的解决方案,同时也为下一代ipv6技术解决网络有限带宽和大量服务请求的问题打下了基础。(四)red拥塞控制算法

当前的队列管理算法可以分为2大类:被动队列管理(passive queue management,简记pqm)和主动队列管理(active queue management,简记aqm)。被动队列管理算法考虑的是拥塞发生后的恢复过程和机制。如果能将这种算法作为一个预先采取的措施,将队列问题充满的问题是可以得到解决的。主动队列管理正好相反,其算法在设计初期就是以克服网络中队列缺点的目的而设置的。在主动队列管理系统中,要采用标记分组来通知数据组进行减速,以避免阻塞。当然,这些措施都需要在拥塞发生进行;要使用灵活的路由协议保证不同子设备对于互联网资源突发、持久和间歇性的传输要求,确保tcp数据流的公平性;

red(random early detection)算法的提出是基于一种随机早期检测方法,其主要关注队列过早溢出。在协调过程中使用了“慢启动”技术,尽量满足高吞吐量和低延时的要求。red拥塞控制算法的基本思想是用过监控路由器输出端口队列的平均长度来探测

拥塞,一旦发现拥塞逼近,就随机的选择连接来通知拥塞,使他们在队列溢出导致丢弃分组之前减小拥塞窗口,降低发送数据速度,

从而缓解拥塞。

四、结论

随着网络规模的与日俱增,互联网的用户体验和设备承载着越来越多的数据流量和传输响应。因此,互联网的拥塞控制算法将带来巨大的社会和经济效益,能够在不增加硬件预算的前提下显著地提高网络传输性能,因此对于网络的发展十分重要。以传统的端到端tcp拥塞控制为基础,推出基于路由器技术的队列管理,对于常用的网络拥塞控制算法进行了综述,对该领域的技术发展趋势进行了必要的预测。

参考文献:

[1]王兵.一种新型流量工程动态路由选择算法[j].北京邮电大学学报,2003,4.

[2]冯春燕.基于lsp时延和拥塞的分布式自适应流量工程算[j].北京邮电大学学报,2005,2.

相关文档
最新文档