毕业论文之自适应网络流量控制研究.docx
《毕业论文之自适应网络流量控制研究.docx》由会员分享,可在线阅读,更多相关《毕业论文之自适应网络流量控制研究.docx(20页珍藏版)》请在三一办公上搜索。
1、上海电机学院毕业设计(论文)开题报告课题名称 自适应网络流量控制研究 学 院 电子信息学院 专 业 计算机科学与技术 班 级 BX071 学 号 BX07108 姓 名 张莉雯 指导教师 王小刚 定稿日期: 2010年 12 月15日自适应网络流量控制研究摘 要:互联网传送内容的日益复杂和用户对业务之来那个质量提出更高的要求门都促使网络管理者使用更有效的工具来优化网络。众所周知,Internet诞生之初,并没有网络流量控制(Traffic Contro1)方面的考虑和设计,IP协议的原则是尽可能好地为所有数据流服务,不同的数据流之间是平等的。然而多年的实践表明,这种原则并不是最理想的,有些数据
2、流应该得到特别的照顾, 比如,远程登录的交互数据流应该比数据下载有更高的优先级。针对不同的数据流采取不同的策略,这种可能性是存在的。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能, 但一般说来, 由于我们无法控制自己网络之外的设备, 入口处的流量控制相对较难。流量控制的一个基本概念是队列(Qdisc),每个网卡都与一个队列, 每当内核需要将报文分组从网卡发送出去, 都会首先将该报文分组添加到该网卡所配置的队列中, 由该队列决定报文分组的发送顺序。而优先级队列是其中比较常用的队列。优先级队列是针对关键业务应用设计的。关键业务有一个重要的特点
3、,即在拥塞发生时要求优先获得服务以减小响应的延迟。优先级队列可以根据网络协议(比如IP,IPX)、数据流入接口、报文长短、源地址/目的地址等灵活地指定优先次序。本文主要运用的就是优先队列来实现流量控制,并对已有的优先队列进行改进,将每个优先级设计一个时间权值来改善性能。以使得低优先级也能被调用,而高优先级不总是被调用。以实现调度性能,从而优化控制性能。关键词:服务质量;流量控制;队列管理;NS2 1. 文献综述1.1网络流量控制概述 流量管理系统(又称应用流量管理器,带宽管理器或QoS设备)早在2000年就已经出现了,最早是美国的Packteer公司研发。但是由于网络带宽问题还没有显著,所以企
4、业IT部门对带宽的重视程度还不够,随着各种网络新技术的应用以及网络多媒体技术的发展,网络带宽紧缺的问题越来越明显。尤其是2005年来,P2P应用更是对带宽的管理带来了严重威胁,所以带宽管理器的市场在近3年来得到了很大的发展。据不完全统计,这个市场已经超过了近25亿美元。中国的带宽管理市场从2004年才开始逐渐受到重视,2007年中国带宽管理市场份额也在2亿人民币,预计中国带宽管理市场将以20%以上的速度增长。而具有带宽管理设备提供商的除了国外Packteer、Allot公司外,国内的北京英智兴达,畅讯科技等厂商,国外厂商带宽管理设备还没有实现界面的本地化,都是以授权代理的形式进入中国;国内的厂
5、商在经历了3到4年的产品研发攻坚,产品才日益稳定,市场、技术、产品的竞争将在2008年展开。带宽管理器的基本功能非常简单,就是根据应用和用户进行带宽的分配与监控。由于是七层的网络管理设备,所以网络管理人员无需具备较高的网络知识就能直接对应用和用户进行带宽的分配,这在一定程度上降低了网络管理人员的投入。虽然功能很简单,但是能够实现的各种应用却很多,只是大部分用户对带宽管理的应用没有得到很好的认识。国外的带宽管理设备昂贵,且不支持中文展示所以Packteer和Allot的应用主要集中在电信和金融,国内的北京英智兴达等厂商虽然在教育、政府、能源与医疗行业有所斩获,但是产品系列才成型一年,所以在市场应
6、用的推广各厂商没有过多投入,导致用户对带宽管理的应用处于初级阶段。1.2服务质量简介在因特网中,服务质量QoS(Quality of Service)就是用来评估网络投递分组能力的一种技术。服务质量 QoS(Quality of Service)是各种存在服务供需关系的场合中普遍存在的概念,它被用来评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下服务还存在着不足,以便有针对性地作出改进。在因特网中,QoS 所评估的就是网络投递分组的能力。由于网络提供的服务是多样的,因此对QoS 的评估可以基于不同方面。通常所说的QoS,是对分组投递过程
7、中对延迟、延迟抖动、丢包率等核心需求提供支持的服务能力的评估。1.3流量控制 在企业Intranet和Internet之间存在一个网络瓶颈,由于企业内网的带宽远远高于路由器的出口带宽,所以经常造成网络拥塞,丢包现象严重。如果不对网络流量进行控制,将会造成一些关键业务得不到服务质量保证,而其它一些不重要的流量占用过多带宽,影响网络的性能。本章在DiffServ模型的基础上,提出了流量控制模型,并对该模型的各个部分作出了详细地讨论和研究。 数据包分类就是根据数据包本身写到的信息或与数据包有关的信息(主要指IP包头和传输层头部携带的信息)索引预先设置的分类器,查找匹配的规则来达到区分数据包的目的(图
8、1)。数据包分类的结果决定了这个数据包属于哪一数据流以及此数据包应该达到什么样的服务等级,然后转发引擎根据分类的结果采用相应的处理来满足用户的需求。这些出来可能包括丢弃未授权的分组。进行特殊的排队和调度或者作为路由选择的依据。许多网络服务需要进行数据包分类,如寻路、防火墙访问控制、策略路由和业务账单等。 图1 数据包分类示意图分类器是分类规则和分类策略的集合。一般表一种业务流,在数据包转发过程中接受相同的数据包的依据。一条分类规则可以看成是一个过滤的组合。通常分类规则过滤器(Filter)涉及到数据包等的一个或多个字段,如ToS(8bits)、源IP地址协议(8bits)、源端口(16bits
9、)和目的端口(16bits)。分据包的丢弃优先级、调度策略、缓存区和带宽管处理行为中还必须包括一个优先级标识符来解决情况,即分类规则相互重叠的情况。1.3.2流量整形流量整形(Traffic Shaping)也称速率整形、流量控制、传输整形、流量引导等。流量整形首先用在信源数据流整形,尽管信源产生数据流总体速率可能不变或有规律,但短时无序性使得数据流速率起伏很大不适合直接进入网络,常用漏桶(Leaky Bucket)或令牌桶(Token Bucket)31先进行流量整形再进入网络。其次,流量整形也常用于平滑网络传输中的业务流,从而控制拥塞。1.3.3流量监测和统计网络流量监测(Network
10、Traffic Measurement)提供了一种探索实际环境中网络特性的手段。网络流量监测是指从网络设备上采集数据、收集数据、分析数据的过程。它从网络中采集一些具体指标数据,并反馈给监测者。这些数据可以用来作为分析网络性能、了解网络运行动态、诊断可能存在的问题、甚至预测可能出现问题的“度量值”。这一技术目前被广泛应用于商业和科研领域。在商业领域,一个网络由网络运营者和网络使用者组成。网络流量监测作为双方都需要的工具,这方面的软件开发有着广阔的市场前景。对于一个大型IP网络运营者来说,了解整个网络的运行状况、掌握网络的动态变化、了解用户的使用情况,网络流量监测作为网络管理的一部分,发挥着重要作
11、用。在科研领域,网络流量监测技术作为“测量仪”,是实现具体建模、分析的必要前提和手段。在网络安全的研究方面,借助网络流量监测捕获流量数据是IDS(入侵监测系统)中的必要一步。在互联网协议开发方面,网络流量监测技术可以用来分析具体网络协议的性能。在互联网流量工程的研究方面,网络监测提供了获取实际网络特性的手段,而网络模拟和理论分析则侧重于在真实的网络之上建立起抽象的分析模型。由于时间关系,在论文以下篇章中主要讨论和研究了流量控制模型的队列调度管理以及流量整形策略及算法,而流量的分类以及流量的监测和统计模块由其他同学完成。1.4队列管理算法当某个输出端口的分组到达速率快于输出端口的分组传输速率时,
12、就会发生网络拥塞,流量控制器通常用两种不同的算法控制网络拥塞,它们分别是队列调度和队列存储器管理。虽然这两种机制紧密相关,但它们解决问题的方式却截然不同。队列调度通过对不同服务类分配不同的输出端口带宽比来管理拥塞,而队列存储器管理通过控制队列的平均深度来避免拥塞的发生。主要的队列管理算法如下:尾丢弃尾丢弃是一种完全缺乏队列存储器管理的情况。当分组到达某个队列队列已经耗尽分配给它的缓冲器空间,该分组及后续分组都将丢弃,直到空出缓冲器空间,如图2所示。队列100%填满队列尾队列尾丢弃 图2 尾丢弃 早期随机检测RED主动式队列存储器管理是一种当队列的平均长度开始增加时,允许路先对拥塞作出响应,而不
13、是简单地等待拥塞队列溢出,然后丢弃所有后续队列缓冲器管理机制。主动式队列存储器管理通过丢弃或者标记分组,在资源完全耗尽之前,对拥塞作出响应。目前存在两种可用于大型IP网络的主动式队列存储器管理机制:早期测(RED)目前已在大型IP网络中采用和显式拥塞通知(ECN)对于IP正处于实验阶段。在任何类型的队列存储器管理机制中,必须找到被迫丢弃的分组数量时延的最佳平衡点。增加队列长度,可以减少由于队列拥塞而丢弃的分组但势必增加排队时延;相反,减短队列长度将降低队列拥塞时产生的排队但增加了由于队列拥塞而丢弃的分组数量。RED通过使用分组丢弃可能性描述来控制分组丢弃进程的激烈程度,丢弃可能性描述对一系列不
14、同的队列占用状态定义了相应的丢弃可能性。如果队列占用状态停留在用户定义的最低阈值(MinTh)之下,RED不会丢弃队列中的任何分组如果队列占用状态超出了用户定义的最高阈值(MaxTh),RED对队列的管理操作变得和尾丢弃一样,丢弃所有后续分组;如果队列占用状态处于最低阈值(MinTH)和最高阈值(MaxTh)之间,分组根据用户配置的丢弃可能性予以丢弃。通常情况下对于位于最低阈值(MinTH)和最高阈值(MaxTH)之间的平均队列占用状态,用户需要配置RED参数,如图3所示。25%丢弃可能性50%75%100%MinTHHTHTH50%75%MaxTH队列占用状态 图3 RED丢弃可能性描述 在
15、图3中,当队列占用状态低于25%(MinTH)时,分组不存在丢弃可能性(可能);当队列占用状态达到50%时,分组丢弃可能性为25%;当队列占用状态达到75%时,分组丢弃可能性上升到50%;当队列占用状态超过85%时(MaxTH),分组100%被丢弃。早期加权随机检测WRED早期加权随机检测(WRED)是RED的扩展,它允许为不同类型的信息不同的RED丢弃可能性描述。这种对不同的队列或者同一队列中的不同信置不同的丢弃可能性描述的能力,比传统的RED提供了更好的控制功能。在同一拥塞程度下,对某一类分组定义激烈程度较低的丢弃可能性描述,一类分组定义激烈程度较高的丢弃可能性描述,如图4所示。 图4 两
16、种不同的RED丢弃可能性描述用于在路由器中实现WRED的方法有许多种。(1)信息流管制能够对超出信息流描述的分组进行标记,同时,定义两种丢弃可能性描述,分别对应标记为超出信息流描述的分组和复合物信息流分组。当路由器发生拥塞时,对这两种分组分别施加相应的RED丢弃可能性(2)路由器对TCP信息流作出标记,这样队列管理系统就能够区分TC和UDP分组,对TCP分组和UDP分组施加不同的RED丢弃可能性描述(3)路由器能够区分出超出信息流描述的TCP分组、符合信息流描述的TC分组、超出信息流描述的UDP分组和符合信息流描述的UDP分组,并对队列中这4种不同类型的信息流施加不同的RED丢弃可能性描述。1
17、.5队列调度算法路由器在网络中属于共享资源,网络中遇到的许多问题都与分配有限的共享资源(如缓冲器、输出端口带宽等)有关,队列调度策略通过选择下一个从输出端口发送出去的分组来控制有限的输出端口带宽的分配。队列调度策略的主要功能是消除拥塞对特定信息流传输时延的影响,为此,它必须具有下列功能:(1) 对竞争输出端口带宽的不同服务类信息流公平地分配带宽。如果某些特定的服务类信息流要求比别的服务类信息流占用更多的输出端口带宽,可以通过对属于不同服务类的信息流分配不同的权值来达到带宽分配的公平性;(2)相同输出端口的不同服务类之间实施资源保护,某个队列中表现不良的服务类不能影响分配给其它队列的服务类的带宽
18、,因此,也不能影响这些服务类经21过网络的传输时延;(3)如果某个特定服务类没有完全使用分配给它的带宽,允许其它服务剩余带宽;(4)必须提供能够基于硬件实现的算法,这样才能在不影响系统转发性前提下,对高速路由器接口进行带宽分配。如果某种队列调度算法不能基于现,它只能适用于低速路由器接口。传统的调度算法有:先进先出队列(FIFO)、优先级队列(PQ)、公平队列加权公平队列(WFQ)、加权循环队列(WRR)或称基于类队列(CBQ)、赤字加队列(DWRR)。1.6网络仿真工具NS2概述图5 简化的NS仿真过程NS2可以说就是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库
19、等。除了网络组件对象以外,NS的另一个主要组件就是事件调度器。NS中的一个事件就是一个具有唯一ID的分组,这个分组内包含调度时间以及指向该事件的对象的指针。事件调度器计算(Keep Track of)仿真时间,并且激活事件队列中的当前事件(主要是通过激活适当的网络组件),执行一些相关的事件(通常都是那些发出事件的对象),网络组件通过传递分组(packet)来互相通信,但是这并不耗费仿真时间。所有需要花费仿真事件来处理分组的网络组件(比如一个延迟部件)都必须使用时间调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。比如,T
20、CP协议就需要一个计时器踪分组的传送时间,看它是否超时,如果超时,它就会进行重传(传送一个相同TCP分组序列号和不同NS分组ID的分组)。计时器使用事件调度器的与延迟部件相同。唯一的不同就是,计时器测量与分组有关的时间值,并且定时间之后进行一些相关的处理,但延迟部件却不是这样的。NS是用OTcl和C+编写的。由于效率原因,NS将数据通道与控制通道现相分离。为了减少分组和事件的处理时间(并非仿真时间),事件调度器和通道上的基本网络组件对象都是用C+写出并编译的,这些对象通过映像(Li对OTcl解释器可见。NS2首先为每一个C+对象创建一个相应的OTcl对象将可配置变量作为相应的OTcl对象中的成
21、员变量,最后将控制函数作为相OTcl对象中的成员函数。这样,对于C+对象的控制就完全由OTcl负责了。对由C+映射过来的OTcl对象添加成员函数和变量也是可能的。当然,在仿不受控制和被内部使用的C+对象就不必映射到OTcl对象;一个对象(不在通道上)也可以完全由OTcl来实现。从图4.2中可以看出,对于C+中具有映射的对象,如果它们形成了一定次结构,那么在OTcl对象中,也会有相似的层次结构。图6 C+与OTcl的对应NS的一般体系结构可以如图6所示。 图7 NS体系结构的用户视图一般用户被认为站在图7 的左下角。事件调度器和大多数网络组件都是用C+实现的,并且通过映射对OTcl可见;而映射本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 自适应 网络流量 控制 研究
链接地址:https://www.31ppt.com/p-1652434.html