基于路由器的QoS实现-毕业论文_第1页
基于路由器的QoS实现-毕业论文_第2页
基于路由器的QoS实现-毕业论文_第3页
基于路由器的QoS实现-毕业论文_第4页
基于路由器的QoS实现-毕业论文_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

421920c83afa30d2c331c3813a79168a.pdf本科毕业论文题 目:基于路由器的QoS实现姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级:学 号:指导教师(校内): 职称: 指导教师(校外): 职称: 年 月基于路由器的QoS实现摘要随着互联网的飞速发展,越来越多的信息业务要求网络提供QoS支持。本文主要介绍了路由器上的QoS实现。首先,简要介绍了QoS的发展背景,QoS的定义,两种主要的QoS模型:集成服务模型(Inter-Serv)和区分服务模型(Diff-Serv)以及当前主要的路由器上QoS的实现方式。接着,着重介绍了区分服务模型的基本原理。描述了区分服务模型主要包含的几个功能元素:分类器、测量器、整形器、标记器、排队和调度管理、逐跳行为(PHB)。然后,介绍了基于该模型的路由器的一种实现方法,主要描述了其几个功能元素的实现。最后,介绍了一个模拟演示系统。该系统通过捕获网卡上的IP报文,分析报文头部的DSCP值,模拟了区分服务分类器的功能,对报文进行分类排队,并用两种算法(优先级调度算法和加权优先级调度算法)实现了对队列的调度输出。关键词:服务质量 QoS 区分服务 Diff-Serv 路由器The realization of Qos based on routerAbstractWith the rapid development of internet, more and more information services need for the support of QoS. This paper mainly introduces the realization of QoS based on the router. First, introduce the development of QoS, definition of QoS, two QoS model: Integrated Services(Inter-Serv) and Differentiated Services(Diff-Serv) and some popular methods of realization of QoS based on the router. Then, introduce the fundamental of Diff-Serv. Describe its some functional elements, e.g., classifier, meter, sharper, marker, queue and scheduler and per-hop behavior. And then, introduce a method of the router that carries out this model, mainly describing its functional elements realization. Finally, introduce a demo system which captures the packets from the net interface, analysis the packets DS field, simulates the models classifiers function, queues the packets and schedules their output order with two algorithm(priority scheduling algorithm and the weighted priority scheduling algorithm). Key words: quality of service, QoS, Differentiated Services, Diff-Serv, router目录引言7第一章QoS简介81.1QoS定义81.2QoS模型81.2.1集成服务模型(Inter-Serv)81.2.2区分服务模型(Diff-Serv)91.3路由器上的QoS方法9第二章区分服务模型(Diff-Serv)112.1区分服务区112.1.1 区分服务区112.1.2 区分服务标记DSCP122.2分类器和调节器132.2.1分类器132.2.2调节器132.3PHB(per-hop behavior)152.4队列系统172.5拥塞控制172.6区分服务的基本服务类型18第三章Diff-Serv路由器的实现193.1分类器实现193.2标记器实现193.3测量器实现203.4整形器的实现213.5输出接口的实现21第四章演示系统实现224.1发送报文模块224.2捕获报文模块244.3模拟分类器模块264.4模拟输出调度模块27总结30致谢语30参考文献31附录32ContentIntroduction7Chapter 1QoS brief introduction81.1QoS definition81.2QoS model81.2.1Integrated Services model (Inter-Serv)81.2.2Differentiated Services model (Diff-Serv)91.3QoS based on the router9Chapter 2Differentiated Services model(Diff-Serv)112.1Differentiated Services region112.1.1 Diff-Serv region112.1.2 Diff-Serv Code Point (DSCP)122.2Classifier and conditioner132.2.1 Classifier132.2.2 Conditioner132.3PHB(per-hop behavior)152.4Queue system172.5Congestion control172.6The basic service types of Diff-Serv18Chapter 3Realization of Diff-Serv router193.1Realization of classifiers193.2Realization of markers193.3Realization of meters203.4Realization of sharpers213.5Realization of output interface21Chapter 4Realization of demo system224.1The sending packet module224.2The capturing packet module244.3The classifier module264.4Output schedule module27Conclusion30Acknowledgement30References31Attachment32引言现有的互联网主要是建立在TCP/IP协议组的基础上,所提供的是“尽力而为”(best-effort)的服务,在这种服务模型下,所有的业务流被“一视同仁”地公平地竞争网络资源,路由器对几乎所有的IP包都采用FCFS(First Come First Service)的工作方式,它尽最大努力将IP包送达目的地。但对IP包传递的可靠性、延迟等不能提供任何保证。这很适合Email、Ftp、WWW等业务。但随着互联网的高速发展,IP业务也得到了快速发展并且越来越多样化。特别是随着多媒体业务的兴起,计算机已经不是单纯的处理数据的工具,而是越来越贴近生活,计算机的交互越来越实时和生动,这对计算机互联网络也就相应地提出了更高的要求。对那些有带宽、延迟、延迟抖动等特殊要求的应用来说,“尽力而为”的服务显然是不够的。尽管由于网络技术的发展,网络带宽以及网络速度都得到了极大的提高,但需要通过网络传输的数据却也几乎以与网络发展速度相同的速度增加,甚至超过网络发展的速度,这使得网络带宽与网络速度依然是一个瓶颈问题。同时,近年来发展起来的一些新的应用(如多媒体应用,组播应用等)不仅增加了网络流量,更因为这些应用改变了以往互联网上的流量性质,因而它们需要全新的服务要求。由于不具备服务质量保障特性,不能预留带宽,不能限定网络时延,因此,“尽力而为”型的因特网无法支持许多新的应用如在线点播、远程教学、远程手术、远程会议和学术交流等。一般而言,影响用户感知网络性能的关键参数有三个:时延(包括源请求建立业务的时间和建立后接受信息的时间)、抖动(由单个数据包到达时间的可变性引起,在传输层尤其明显,通过buffer可以消除或减少抖动)、信息丢失(除了传输中比特错误率或数据包丢失外,也包括多媒体编码降级引起的丢失)。这三个参数也是划分QoS类别的主要区分值。为了解决在互联网上高质量地传输那些具有高带宽、低延迟、低抖动的信息(如多媒体等)问题,美国于1996年底,开始了以提高网络服务质量研究为核心的Internet以及NGI(下一代Internet)等研究项目。IETF (Internet Engineering Task Force)也成立了专门的工作小组来研究多媒体服务质量的定义和相关的标准。为满足Internet上多种业务对QoS的需求,IETF先后制定了两种QoS服务模型:集成服务(Inter-Serv)模型和区分服务(Diff-Serv)模型,用来在不同的场合提供相应的质量保证。第一章QoS简介QoS(Quality of Service)即服务质量,是一个正在发展的因特网标准系列,它为优先处理某些类型的 IP 流量提供了方法。通过沿着路由对 QoS 提供适当的支持,就能改善变量延迟和阻塞的状况。1.1 QoS定义ITU-TE.860协议中的QoS定义为:QoS是提供商为用户提供的服务与两者间的协定之间的一致性程度,即通过比较QoS目标值和QoS测量值,得到QoS的定量评估,是衡量服务整体水平的量化表示。对于下一代互联网的业务来说,服务质量是某种业务的服务质量1。从这个意义上讲,QoS不单是提供商或者单是用户的行为,而是两者协定的结果。1.2 QoS模型目前,IETF为了实现IP上的QoS而定义了许多模型和机制,主要的模型有集成服务模型(Inter-Serv)、区分服务模型(Diff-Serv)。1.2.1 集成服务模型(Inter-Serv) 2其设计思想是在best-effort服务模式的基础上定义了一系列的扩展特性,可以为每一个的网络连接提供基于应用的QoS,并且使用信令协议在网络中的每个路由器中创建和维护特定流的状态,以满足相应网络服务的需求。 这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。但是在IP核心网络中的实施存在问题,因为Inter-Serv的实施要求在每个网络节点为每个流提供相当的计算处理量。这包括端到端的信令和相关信息来区分每个流,跟踪、统计资源占用,策略控制,调度业务流量。随着Inter-Serv流数量的增加,Inter-Serv信令的处理和存储对路由器的资源消耗也在飞速地增加,而且也极大地增加网络管理地复杂性,所以这种模型的可扩展性较差。目前采用这种模型的技术有:MPLS-TE(RSVP),另外较为典型的还有ATM和帧中继。 1.2.2 区分服务模型(Diff-Serv) 3与作用于每个流的Inter-Serv相比,在Diff-Serv体系结构中,业务流被划分成不同的区分服务类(最多64种)。一个业务流的区分服务类由其IP报文头部中的区分服务标记字段(Diff-Serv Code Point,DSCP)来标示。在实施Diff-Serv的网络中,每一个路由器都会根据数据包的DSCP字段进行相应的转发处理,也就是PHB(Per Hop Behavior)。 虽然Diff-Serv不能对每一个业务流都进行不同服务质量保证。但由于采用了业务流分类技术,也就不需要采用信令协议来在每个路由器上建立和维护流的状态,节省了路由器的资源,因此网络的可扩展性要高的多。另外Diff-Serv技术不仅能够在纯IP的网络中使用,也能通过DSCP和MPLS标签以及标签头部的EXP字段的映射应用在多协议标签交换技术MPLS的网络中。本文主要介绍了这种区分服务模型。1.3 路由器上的QoS方法路由器上的QoS可以通过下面几种手段获得:1. 通过大带宽实现在路由器上除增加接口带宽以外不作任何额外工作来保障QoS。由于数据通信没有相应公认的数学模型做保障,该方法只能粗略地使用经验值来做估计。通常认为当带宽利用率到达50以后就应当扩容,保证接口带宽利用率小于50。2. 通过端到端带宽预留实现该方法通过使用RSVP或者类似协议在全网范围内通信的节点间端到端预留带宽。该方法能保证QoS,但是代价太高,通常只在企业网或者私网上运行,在大网公网上无法实现。3. 通过接入控制、拥塞控制和区分服务等方式实现该方式主要是对业务流进行标记分类,并对分类区分转发对待。该方式无法完全保证QoS。这能与增加接口带宽等方式结合使用,在一定程度上提供相对的QoS。该方式也主要应用于QoS的区分服务模型中。本论文主要介绍该方式下的路由器结构。 4. 通过MPLS流量工程实现 4MPLS引入了一个4字节的定长标签,它位于链路层帧头和网络层包头之间。标签指定了数据包的标签转发路径LSP,实现了快速转发。使用MPLS技术将大大提高网络的运行效率,实现对IP网上业务的QoS划分,并且通过流量工程对网络的资源进行合理的分配,实现约束路由。第二章区分服务模型(Diff-Serv)虽然Diff-Serv仍在不断的发展,一些标准仍在制定、完善之中,但经过几年的发展,Diff-Serv的相关概念及模型已经比较成熟了,Diff-Serv体系结构也已经比较明确了。区分服务体系结构基于这样一个简单模型:进入网络的业务流在网络边缘处进行分类和可能的调节,然后被分配到不同的行为集合中去。每一个行为集合由唯一的DSCP标识。在网络核心处,数据包根据DSCP对应的每一跳行为转发。在此基础上,与服务提供有关的问题,如DSCP的定义、PHB服务的定义等等已逐步完善。2.1 区分服务区 32.1.1 区分服务区Diff-Serv区域(以下简称DS区域)是由一些相连的Diff-Serv节点构成的集合,它们有统一的服务提供策略,且实现一致的PHB(per-hop behavior),比如某个ISP的网络或者内部网。每个DS区域通过边界节点(boundary node)与非DS区域相连,根据不同的数据流传输方向,边界节点可以分为入口节点和出口节点。为了保证用户能从ISP那里获得所需要的服务质量,用户必须和ISP之间签订有服务等级协定(Service Level Agreement, SLA),而ISP之间也必须建立业务流调节协定(Traffic Condition Agreement, TCA),SLA规范了ISP对客户端网络所支持的业务类别以及每种类别的业务流数量,TCA则规范了ISP之间的数据流应该满足的一些约定。这样,当有数据流进入DS区域时,入口节点对其进行分类(classifier)、调节(condition),保存流(单流或聚流)的状态信息,根据事先和用户约定的流规格对流进行测量(metering)、标记(marking)、整形(sharping)、丢弃(dropping)等,以使输入流符合SLA,同时在包头标记DSCP值,并将其加入相应的行为聚集BA(Behavior Aggregate)。出口节点也可能需要对输出流进行调节,以保证其与下游DS区域的TCA相符。 Diff-Serv区(region)则是由连续的DS区域构成。一个DS区内的DS区域可以支持不同的PHB组,并且各自区域的DSCP到PHB的映射函数也可能不相同。在不同的DS区域之间,必须对SLA和TCA进行调节,以协调彼此之间的服务语义。这样,通过在上游DS区域和下游DS区域之间建立SLA或TCA,区分服务可以扩展到多个DS区域。 2.1.2 区分服务标记DSCP IP报文头部的区分服务标记域(DS Field)是DS区域边界节点和内部节点传输流聚集信息的媒介,是内部核心路由器转发报文的依据,是连接报文与转发服务PHB的桥梁,也是边界节点与其它DS区域根据TCA进行调节的依据。 DS标记域定义为IPv4头部5的TOS(Type of Service)字节或IPv6头部的流类型(Traffic Class)字节。如图2-1所示。其中DSCP(6bit)即为区分服务标记,CU(2bit)在本体系中没有使用。6对于不支持CU域的路由器,当决定所收到的报文的PHB时,将忽略CU的值;对于不支持DSCP域的主机,在发送数据包的时候,将该域的值置零。下行节点则通过识别DSCP的值,获取信息来处理到达输入端口的数据包,并将它们正确地转发给下一跳的路由器。 图 21 IP报文头部的DSCP域2.2 分类器和调节器 3为了使用户数据流符合SLA和TCA,边界节点要对其进行分类和调节,因而从功能上可以分为两个模块:分类器(classifier)和调节器(conditioner),如图2-2所示。 图 22 分类器和调节器2.2.1分类器分类器根据数据包头部的某些域(如DSCP或MF五元组)对数据包进行分类。目前定义了两种类型的分类器:1. 行为聚集(Behavior Aggregate,BA)分类器:根据包头的DSCP来对包进行分类。 2. 多域(Multi-Field,MF)分类器:根据包头部中多个域内容的组合来进行分类,如源地址、目标地址、DS域、源端口号以及目标端口号等。2.2.2调节器从功能上,调节器可分为测量器(meter)、标记器(marker)、整形器(sharper)和丢包器(dropper)。 测量器 业务量测量器负责测量由分类器根据TCA指定的业务量简档选出的数据包流的时间特征。测量器将其测量结果(也称为测量器状态)传递给其它调节功能模块,从而引发对符合或不符(在某种程度上)业务量简档的每个数据包的特殊处理。常用的测量器包括:1. 平均速度测量器。它测量包在一个给定的平均时间内提交给它的平均速度,判断它是否符合给定的速度描述文件,并进行适当的后续处理。2. 指数加权移动平均(EWMA)测量器。EWMA格式的测量器易于硬件实现。3. 双参数标记桶测量器。测量流量是否符合标记桶描述文件(TB)。TB描述文件通常有两个参数:平均的标记速度和突发尺寸。对于突发方式,不超过突发尺寸的包,允许其超过平均速度。如果包到达时发现桶没有标记,认为包不符合。双参数标记桶测量器有两种可能的符合等级:符合,不符合。4. 多段标记桶测量器。较复杂的 TB 测量器可能定义两个突发尺寸和三个符合等级。超过最大突发尺寸的包被认为不符合 ,超过较小突发尺寸的包被认为部分符合 ,两者都不超过的包被认为符合。标记器 数据包标记器负责把数据包的DS段设置为特定的编码点值,并将标记过的数据包加入到特定的DS行为集合中去。标记器可能被配置为把所有送给它的数据包标记为唯一的编码点值,也可能被配置为根据测量器状态把数据包标记为一些编码点值中的一个值。如果标记器改变了数据包的编码点,那么我们就说标记器“重标记”了此数据包。整形器 整形器负责延迟一个业务流中部分或全部数据包的传输,以便使业务流符合业务量简档的要求。整形器通常有一个有限大小的缓冲区,当缓冲区没有更多的空间容纳需延迟的数据包时,数据包就会被丢弃。丢包器丢包器负责丢弃一个业务流中部分或全部的数据包,以便使业务流符合业务量简档的要求。这一过程也被称作“监察”业务流。注意,丢包器可以作为一个特殊的整形器(该整形器缓冲区大小为零或仅能容纳几个数据包)而实现。随着对网络业务流特性研究的深入发展,调节器的实现技术也日渐成熟,通常的做法是用令牌桶(token bucket)和漏斗桶(leaky bucket)等算法进行适当的组合。近来又提出了一种新的算法:基于时间滑动窗口(Time Slide Windows,TSW)的算法,它是通过计算数据包的平均到来速度来对包进行分类和标记。在客户端网络与ISP建立的SLA有两种形式:静态SLA和动态SLA。静态SLA根据具体的策略由网络操作员事先确定客户网络所需要的网络资源,并一直为客户端网络保留相应的资源,这样,客户端网络在发送数据流的时候,并不需要向ISP申请网络资源。显然,这种SLA实现简单,但缺乏灵活性,网络资源利用率不高。动态SLA则相反,它提供了较强的灵活性。当客户网络需要发送数据时,它首先向ISP申请网络资源,ISP根据客户请求分配资源,并在边界节点建立起相应的SLA。动态SLA可以使用带宽代理(Bandwidth Broker, BB)(如图2-3)或者RSVP来实现。 图 23 BB节构示意图2.3 PHB(per-hop behavior) 3逐跳行为(PHB)是指DS节点运用于特定DS行为集合上的,外部可观察的转发行为。“转发行为”在这里是一个广义概念。例如,当仅有一个行为集合占用一条链路时,可观察的转发行为(如丢包率,延迟,时延抖动)就只依赖于链路的相对负载(即是说,对“行为”采用一种工作保存式的调度策略)。有意义的行为上的差别通常产生于在同一个节点,多个行为集合竞争缓冲区和带宽资源的情况下。PHB是节点给行为集合分配资源的一种方法,正是基于这种逐跳进行资源分配的机制,我们才构筑了区分服务模型。PHB的最简单例子是保证至少把一条链路带宽的X%(在一定的时间间隔内)分配给一个行为集合。这种PHB在各种业务竞争条件下都可以被公正并且很容易的测量。另一种稍复杂点的PHB要求确保最少占有X%的链路带宽,同时享受相应份额的链路剩余带宽。一般来说,PHB的可观察行为依赖于对相关行为集合或其它行为集合的业务量特性的约束。PHB通过指定其相对于其它PHB的资源(如缓冲区,带宽)优先级来定义,也可能通过它们的可观察业务量特性(如延迟,丢包率)来定义。这些PHB可以作为资源分配的基石,并且为保持一致性,应被指定为一组(PHB组)。PHB组中的每一PHB都享有共同的限制,例如数据包调度或者缓冲区管理策略等。同组的PHB间的联系在于它们绝对的或者相对的优先级(例如,采用确定阈值或随机阈值的丢包优先级),但是这并不是必须的(例如,N等分链路资源)。一个单独定义的PHB可以看作是PHB组的特例。在节点处,PHB是通过一定的缓冲区管理和数据包调度策略实现的。PHB是通过与服务提供策略相联系的行为特征定义的,而不是根据采取了何种实现机制。一般来说,可以有很多种实现机制去实现特定的PHB组。而且,在一个节点上,可以实现多于一个的PHB组,并在域内使用。所定义的PHB组应该保证组间资源分配简单易行,并且能够实现同时支持两组或更多组的集成机制。一个PHB组定义时,应指明其与已有组之间可能的冲突。这些冲突可能来自于有些操作不允许同时执行。在节点处,根据收到数据包的DS编码点选择PHB。标准化的PHB有推荐的编码点。编码点到PHB的映射表可以既包括一对一,也包括N对一的映射。注意,所有的编码点都必须被映射到某一PHB。在缺少某些局部策略的情况下,那些没有映射到标准化PHB的编码点应该被统一映射到一个缺省PHB。本质上,PHB描述的是单个节点为特定流聚集分配资源的方式。IETF目前已经定义的PHB有: 1. 加速型转发(Expedited Forwarding,EF):可使时延和时延抖动最小并且可以提供最高级的综合QoS 。2. 确保型转发(Assured Forwarding,AF):超过流量规划值的数据流,不会按照未超过规划值时那么高的概率传送。这意味着它可以被降级,但是不会被丢弃。3. 缺省型转发BE:相当于传统的尽力而为调度转发行为的PHB。4. 允许丢包的加速型转发EFD:除了EFD允许丢包而EF几乎没有丢包外,EFD与EF的外特性几乎相同。EFD的应用主要是在无线移动网络中。 5. 准缺省型转发 LBE:比BE优先级还要低的PHB行为,其作用是在拥塞时有比BE更高的丢包优先级,提高BE的性能。2.4 队列系统 3队列系统调整不同输入流的包的传输 ,决定它们的顺序 ,可能暂时存储或丢弃它们。队列系统用于配置与 PHB 相关的参数。队列系统执行三个不同的但相关的功能:存储包;调整属于不同流的包离开的顺序;丢弃包。队列系统可以分为队列器和调度器。一般队列系统的队列器为FIFO队列器。FIFO队列器是一个数据结构,在任何时间可能包含零个或多个包。FIFO支持入列操作和出列操作。包按照入列的顺序出列。FIFO有一个当前的深度,指明在特定的时间容纳的包数。当在特定的时间内超过这个可容纳的包数时,后面超过的包将被丢弃。调度器是一个基于服务协议决定输入包离开的顺序的元素。它有一个或多个输入,一个输出。每个输入有一个它所连接的上行元素,一套影响输入包调度效果的参数。服务协议是采用以下作为输入的算法: 1) 静态参数,例如给每个调度器输入相关的相对优先级。 2) 完全的标记桶参数,包括最大或最小速度。 3)当前输入包的包长度或DSCP值。 4) 绝对时间和/ 或本地状态。可能的调度算法分为许多种类,包括先来先服务(FCFS)、严格的优先级服务、加权优先级服务等。2.5 拥塞控制 3当某个队列缓存被占满之后,系统会发生拥塞,这时开始大量丢弃新收到的数据包,直到数据源通过TCP的流量控制机制(滑动窗口协议),监测到丢包,降低发送速率,才能消除拥塞,重新开始转发。但是随着数据源的速率不断增加,系统又会发生拥塞和丢弃,这样周而复始,对于整体网络性能影响很大。因此Diff-Serv架构中往往会引入拥塞控制机制,常用的算法有RED和WRED,所谓RED是指随机早期检测算法(Random Early Detection),它通过在拥塞发生之前随机丢弃一些数据包使得TCP发送源来降低其发送速率,数据包的丢弃可能性随着队列缓存的占有率的增加而不断增加,这样就可以避免大量丢弃数据包现象的发生。2.6 区分服务的基本服务类型 3Diff-Serv定义了三种服务类型:1. 尽力而为的服务类似于目前Internet上尽力而为的服务。2. 奖赏服务(Premium Services,PS)为用户提供低延迟、低抖动、低丢包率和保证带宽的端到端或者网络边界到边界的传输服务。PS是目前区分服务模型中定义的级别最高的服务种类。这种三低一保证的服务类似于传统运营商网络的专线业务,因此也称为虚拟专线服务。3. 确保服务(Assured Services,AS)确保服务是从统计上保证用户的带宽,其初衷是在网络拥塞的情况下,也能保证用户有一定量的预约带宽。AS的着眼点是带宽和丢包率,而不太注重延迟和抖动。AS最具吸引力的是其实现机制较为简单,只要采用简单的标记和丢弃机制就能实现IP QoS。在发生拥塞时,确保服务通过控制丢包优先级,提供了比尽力而为型服务更好的服务。确保服务的基本思路是:边界路由器对进入DS域的数据包进行标记,预约带宽内的包标为In(in profile),否则标为Out(out profile)。 发生拥塞时,核心路由器根据包头的标记决定丢包概率,Out包的丢弃概率大于In包。从而在统计意义上保证用户的预约带宽。 7目前,奖赏服务已经比较成熟、稳定,而确保服务仍然处于发展之中,其焦点主要集中在如何保证聚流之间的各流公平性以及聚流内各单流之间的公平性,这主要是由于Internet上数据流的特性引起的。研究表明,现有的确保服务方案并不能真正确保用户得到的服务,因此,如何使得确保服务能够真正起到确保的作用,还有待进一步研究。第三章Diff-Serv路由器的实现网络支持区分服务,关键是要有能够支持区分服务的路由器,包括边缘路由器和内部路由器。边缘路由器又分为入口路由器和出口路由器。入口路由器负责对报文的分类、标记和监控;内部路由器根据报文的DSCP值给予报文不同的服务级别;出口路由器根据两个域之间的SLA重新标记报文。内部路由器和边缘路由器的区别在于内部路由器没有标记器、测量器和整形器。因此,以下主要对边缘路由器的实现进行描述。图 3-1 边缘路由器实现机制图3-1描述了边缘路由器的实现机制。报文由输入接口进入路由器进行处理,经过分类器、测量器、标记器、整形器,最后通过输出接口进行报文转发。3.1 分类器实现报文由输入接口进入路由器,路由器中的分类器将对报文的IP包头中的DS字段的数值进行检查,对报文进行分类。不同的DS值将进入不同的队列,用以实现区分服务。3.2 标记器实现报文分类后进入标记模块,图3-2描述了标记器的工作过程,在标记器中对AF报文使用RIO算法,而EF和BE报文直接输出。AF报文进入标记器后,标记器检查是否有足够的令牌转发该报文,若有足够的令牌,则该报文直接进入输出接口转发;若没有足够的令牌,则标记器将该报文标记为BE报文后,再输出该报文。报文标记后,如果报文为EF报文,则报文将送到测量器模块,若报文为BE或AF报文,则该报文将直接被送到转发模块。图 3-2 标记器的实现3.3 测量器实现测量器模块使用令牌桶机制,令牌桶包括两个参数:令牌产生速率和令牌桶容量。令牌桶以指定速率产生,当令牌桶满时,产生的令牌将全部丢弃。图 3-3 测量器的实现图3-3描述了测量的工作过程。报文经过分类器处理后,BE和AF报文直接进入转发模块而不进入测量器进行处理,而EF报文进入测量器。在测量器中,令牌的产生速率为r bit/s,该速率应该与分配给EF服务的最大传输速率相同。当EF报文进入测量器时,若令牌桶中有令牌,则该报文进入转发模块;若令牌桶中没有足够的令牌,说明EF报文的速率超出了分配给EF服务的最大传输速率,所以丢弃该报文。3.4 整形器的实现整形器的实现与测量器相似,其与测量器不同之处在于测量器当没有令牌时丢弃报文,而整形器却将报文首先放到缓冲区内,当令牌桶有足够的令牌时再将报文转发,只有当缓冲区满时才会丢弃报文。图 3-4 整形器的实现图3-4描述了整形器的工作过程。整形器检查是否有足够的令牌转发该报文,若有足够的令牌,则该报文直接进入输出接口转发;若没有足够的令牌,则将该报文放入缓冲区中,当有足够的令牌时,再将该报文发送到输出接口,只有当缓冲器满时才丢弃该报文。3.5 输出接口的实现在路由器的输出接口,可以采用CBQ(Class Bassed Queuing for Bnadwidth)机制进行带宽分配。CBQ包括加权公平排队(WFQ),公平排队(FQ)等功能。CBQ支持精确的全速率带宽分配,并可同步执行优先级和带宽管理。在区分服务体系结构中CBQ机制的带宽分配体系有三种服务等级:EF、AF和BE,其中,EF可动态分配最高到X%的输出接口带宽并拥有比AF、BE更高的优先级;而AF和BE共享剩余的带宽,即在最坏的情况下,AF和BE可共享到(100-x)的输出接口带宽。第四章演示系统实现以下利用WinPcap和VC设计了一个模拟路由器的QoS过程。本系统主要模拟了Diff-Serv路由器里的分类器和输出接口中的队列调度。系统主要分为四个部分:发送报文模块、捕获报文模块、模拟分类器模块和模拟输出调度模块。系统的主界面如图4-1所示。图 4-1 系统主界面4.1 发送报文模块本模块主要是为测试用的。当所处的网络环境中捕获不到多个不同的DS值时,分类器工作时就得不到效果。此时就可以利用本模块定制一些包含特定的DS值的报文,发送给选定的网卡捕获。当按下“发送报文设置”按键时,将弹出如图4-2所示的窗口。图 4-2 发送报文设置1. DS值设置这里有两种设置选择。多个DS值是指可以发送多个包含不同DS值的IP报文。其中要求输入DS值分别为1、2、3的比值。这里只是用简单方法实现。根据输入的比值求出各个DS值所占的百分比,用输入的报文数量乘以这个百分比即为要发送的包含该DS值的报文数。单个DS值就是发送的报文的DS域全部为选中的DS值。2. 目的IP设置设置报文IP头部的目的地址域。3. 发送报文数量决定要发送多少个报文。发送报文模块的流程如图4-3所示图 4-3 发送报文模块流程图4.2 捕获报文模块当按下开始捕获报文时,即启动该模块。该模块会启动一个捕获报文的线程。这个线程会侦听打开的网卡。当捕获到一个报文时,它就发送一个WM_PACKET消息,通知窗体报文到达。窗体就将这个报文交给模拟分类器模块处理。当按下“捕获报文设置”按键时,会弹出如图4-4所示窗口。捕获报文设置主要实现了目的IP地址过滤,只捕获含有输入的目的IP的报文。图 4-4 捕获报文设置捕获报文模块的流程如图4-5所示图 4-5 捕获报文模块流程图4.3 模拟分类器模块当接收到一个消息报文后,模拟分类器模块就分析报文IP头部的DS值。根据不同的DS值将报文存放在不同的队列中,如图4-6所示。图 4-6 DS队列其中的队列报文数用来统计当前队列里的报文数,抛弃报文数用来统计队列满时被抛弃的报文数。三个队列均设置可以容纳50个报文。当到达队列的报文数超过50时,报文就被抛弃。模拟分类器模块的流程如图4-7所示图 4-7 模拟分类器模块流程图4.4 模拟输出调度模块转发模块需要从多个队列选择输出。这就存在着调度问题。事实上区分服务能够实现QoS服务很大程度上就是因为对分类报文进行选择调度,改变了报文的输出顺序,而不是传统的先来先服务。图 4-8 调度算法本模块主要实现如图4-8所示的两种调度算法。1. 优先队列算法。根据不同的DS值决定队列的优先级顺序。设定DS值越大,其优先级别越高。调度开始后,先调度优先级高的队列。当且仅当高优先级队列为空时,才调度较低优先级队列的。这种算法实现起来比较简单,但当高优先级队列不断有报文到达时,可能造成低优先级队列里的报文永远无法得到处理。算法流程如图4-9所示。2. 加权优先队列算法。为优先级队列算法的改进。为了防止低优先级队列里的报文永远无法得到处理,为每个队列加上一个时间权值。本系统实现了三个队列的权值比例为6:3:1。算法流程如图4-10所示。系统为了实现可视化的动态调度效果,利用MFC提供的定时器机制,每隔900毫秒执行一次调度操作。图 4-9 优先队列调度算法流程图 4-10 优先队列调度算法流程总结本文讨论了QoS模型之一的Diff-Serv模型下路由器的实现。虽然Diff-Serv模型并不能实现真正意义上的QoS保证,但却是目前比较切实可行的一种方法,尤其适用于大型网络的核心网,其突出的一点就是对业务区分的概念。Diff-Serv的问题在于,它只着眼于网络中的单个路由器,缺乏全网观念。它只为进入当前路由器的报文设置不同的优先级,而并不关心此报文即将到达的下一跳路由器的状态如何。在网络没有拥塞时,不同优先级的数据包按部就班发送,没有问题。而一旦网络发生拥塞,即使采用Diff-Serv,报文无论优先级多高,一样会被阻塞。因此,Diff-Serv被称作软QoS。Diff-Serv能够生效的前提是网络不会出现拥塞。如何避免网络拥塞?Internet架构中有另一个研究分支流量工程(Traffic Engineering,TE)定位于此问题。将MPLS TE和Diff-Serv结合是目前大家比较看好的Diff-Serv研究方向。 致谢语感谢厦门大学软件学院这四年来的培养!感谢教授的审阅指导!感谢工程师的指导!谢谢!参考文献:1. Int Telecommun Union, ITU-T Reconnendation E.860. Framework of a service level agreement S, Jun 2002.2. Braden, R., Clark, et al. Integrated Services in the Internet Architecture: An OverviewS, RFC1633, Jul 1994.3. S Blake, D Black, M Carlson, et al. An Architecture for Differentiated ServicesS, RFC2475, Dec 1998.4. E.Rosen,A.Viswanathan, R.Callon, Multiprotocol Label Switching ArchitectureS, RFC3031, Jan2001.5. Postel, J., Editor, Internet ProtocolS, RFC 791, Sep 1981.6. KNichols, SBlake, FBaker, et al. Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 HeadersS, RFC2474, Dec 1998.7. W. Weiss, J. Wroclawski. Assured Forwarding PHB GroupS, RFC2597, Jun 1999.附录程序文件清单如图-1:图-1程序文件清单图厦门大学软件学院毕业设计(论文)开题报告学生姓名班级一学号指导教师姓 名职称所在单位福建星网锐捷网络股份有限公司毕业设计(论文)题 目基于路由器的QOS实现毕业设计(论文)的目标:目前的Internet仅提供尽力而为(best-effort service)的传送服务,随着网络多媒体技术的飞速发展,Internet上的多媒体应用层出不穷,如IP电话、视频会议、远程教育等多媒体实时业务、电子商务在Internet上传送等。Internet已逐步从单一的数据传送网向数据、语音、图像等多媒体信息的综合传输网演化。这些不同的应用需要有不同的Qos(quality of service)要求,Qos通常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论