(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf_第1页
(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf_第2页
(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf_第3页
(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf_第4页
(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于ixa架构的接入网关qos设计和实现.pdf.pdf 免费下载

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

文档简介

硕士论文 基于i x a 架构的接入网关q o s 设计和实现 摘要 随着i p 网络及其关联技术的发展,e v e r y t h i n go v e ri p 已经不再是旬口号, 而是不争的事实。从上世纪9 0 年代v o i p 的初步尝试,到今天视频会议、i p t v ,甚至 移动业务,无不已经或者即将具备在i p 网络上承载的能力。然而当切业务均可以 在i p 网络上承载之后,今天的i p 网络却又面临着前所未有的挑战。q o s 就是其中之 o q o s 是一种流量管理技术。它的作用可以总结为三点:第一、为对传输质量、网 络延迟、抖动等网络服务性能有特殊要求的业务提供有区别的服务;第二、通过流量 控制、资源分配等手段尽可能地控制好那些可能引发网络拥塞的直接或间接因素、减 少拥塞发生的概率;第三、在拥塞发生时依据业务的性质及其需求特性权衡资源的分 配,将拥塞对服务的影响减到最小。 本文以c d m a 2 0 0 0 分组域q o s 方案为背景,就其接入网关上的q o s 工程实现做 了详细的研究和探讨。文章在必要的理论铺垫后,提出了接入网关的整体q o s 架构, 接着详细描述了系统内部各个功能模块的实现,并在最后简要介绍了系统的验证工 作。 系统在i n t e l 的i x p 2 4 0 0 上实现。整个研究过程分两条主线:第一、系统q o s 架 构的提出及相关技术理论的应用:第二、基于i n t e li x a 架构的微码实现。 关键词:q o s ,流量管理,i x p 2 4 0 0 ,微码 堡主垒苎墨主里坠墨塑箜堡垒旦茎旦! ! 塑盐塑壅墨一 a b s t r a c t w i t ht h ed e v e l o p m e n to fi pn e t w o r ka n dr e l a t e dt e c h n o l o g y ,e v e r y t h i n go v e ri pi s n o 1 0 n g e ras l o g a n ,b u ta ni r r e f u t a b l ef a c t f r o mt h ep r e l i m i n a r ya t t e m p to fv o i p ,t ot h e v i d e o c o n f e r e n c e ,i p t v ,a n de v e nm o b i l b u s i n e s s ,h a v ea l r e a d yo rs o o nb e e na b l et or u n o v e ri eh o w e v e rt o d a y si pn e t w o r kf a c e st h eu n p r e c e d e n t e dc h a l l e n g e s ,o n eo fw h i c hi s q o s q o si sat e c h n o l o g yo ft r a f f i cm a n a g e m e n t i tm a i n l yh a st h r e ef u n c t i o n f i r s t l y i t p r o v i d e sad i s t i n g u i s h i n gs e r v i c ef o rt h o s ea p p l i c a t i o n sw h i c hh a v e as p e c i a lr e q u e s to f d e l i v e r i n gq u a l i t y , l o w e rd e l a y a n dt r e m b l e s e c o n d l yi td e c r e a s e sc o n g e s t i o nb y a d p r o p r i a t er e s o u r c e sa l l o c a t i o na n dt r a f f 五cc o n t r 0 1 t h i r d l y i tr e d u c e st h ei n f l u e n c et o c e r t a i ns e r v i c ew h e nt h ec o n g e s t i o no c c u r s b vt h eb a c k g r o u n do ft h ec d m a 2 0 0 0p a c k e td a t aa r e a , t h i st e x td o e st h ed e t a i l e d r e s e a r c ho i lt h eq o so ft h eg a t e w a y i tm a i n l yh a sf i v ep a r t p a r to n e ,t h eb a c k g r o u n do f q o s p a r tt o w , t h ek e yt e c h n i q u eo f t h es y s t e m p a r tt h r e e ,t h es y s t e m f r a m e w o r k p a r tf o u r , t i l ed e t a i lo fs y s t e m p a r tf i v e ,t h et e s ts y s t e m , t h es y s t e mi sb u i l to nt h ei x p 2 4 0 0 ,ap r o d u c to fi n t e l t h e r ea r et o wb a s i cw a y so f r e s e a r c h o n ei sq o st h e o r y t h eo t h e ri st h ei n t e li x a f r a m e w o r k k e y w o r d :q o s ,t r a f f i cc o n t r o l ,i x p 2 4 0 0 ,m i c r o c o d e i i 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 图表目录 图1 1 1 1 不同速率接口流量的拥塞 图1 1 1 2 相同速率接口流量的拥塞 图1 1 2 1 i n t e r s e r v 工作模型 图1 1 2 2 d i f f s e r v 工作模型 图2 1 1 1 修订后的以太网帧 图2 1 1 2 i p 头的t o s 字段 图2 1 2 1 一种典型的流量监管整形系统 图2 1 _ 3 1 f i f o 队列 图2 1 3 2 p q 图2 1 4 1 拥塞避免与拥塞管理的关系 图2 2 1 1 p 2 4 0 0 硬件框图 图2 23 1 m e 内部结构 图2 2 3 2 线程的状态转移 图2 2 5 1 m s f 接收状态迁移 图2 2 5 2 m s f 发送状态迁移 图3 1 1 c d m a 2 0 0 0 网络图 图3 2 1 接入网关功能架构 图4 1 1 1 分类表 图4 ,1 2 1 哈希表与冲突表 图4 1 2 2 分类表索引算法 图4 2 1 测速的处理过程 图4 2 1 1 测速表表项 图4 2 2 】测速& 整形 图4 2 2 2 更新令牌桶 图4 2 2 3 测速 图4 3 1 w r e d 图4 3 1 1 拥塞监控表 图43 2 1 拥塞监控总流程 图4 3 22 平均队列长度的计算 图4 3 2 3 随机丢弃策略 图4 4 11 缓存接口 图4 4 1 2 调度接口 图4 4 1 3 发送环接口 图4 4 1 4 反馈接口 图4 4 1 5 队列描述符 图4 4 1 6 端口信启、表 图4 4 1 7 队列信息表 图4 4 2 1 报文缓存模块与其他模块的关系 图4 4 2 - 2 总流程 图4 4 2 - 3 入队请求处理一 图4 4 2 4 出队请求处理 图4 4 2 5 调度模块与相关模块的关系 1 4 8 8 9 1 0 1 1 一1 2 1 3 1 4 1 5 一1 8 1 8 2 0 2 1 2 3 2 4 2 5 2 5 2 8 2 8 一2 9 3 0 3 1 3 4 3 6 一3 7 3 8 一3 8 3 9 3 9 4 0 4 l 4 1 4 2 4 3 4 4 4 5 4 6 v 硕士论文 基于1 x a 架构的接入网关q o s 设计和实现 图4 4 2 6 调度流程 图4 4 2 7 队列消息处理 图5 1 1 实验模型 表3 2 1 q o s 模块的处理器分布 表5 2 1 1 分类表参数设置 表5 2 2 1 测速表参数设置 表5 2 3 ,1 拥塞监控表参数设置 表5 3 1 测试用例1 表5 3 2 测试用例2 表5 3 3 测试用例3 表5 4 1 测试结果 4 7 4 8 4 9 2 2 4 9 5 0 5 1 5 l 5 1 5 2 5 2 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文巾,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 己在论文中作了明确的说明。 研究生签名: p 6 年6 月皿日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的部分或全部内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的部分或全部内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名: 触区 d 6 年月z 9 日 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 1 绪论 1 _ 1q o s 概述 l _ 1 1q o s 起源 q o s 的提出需要追溯到传统i p 网络的服务策略b e s t e f f o r t ( 尽力传) 。这种策略 以先入先出的方式传递分组,也就是说按照报文到达的先后顺序分配资源、进行处理 或转发。它以最大的努力为网络上的每一个分组提供服务。这种公平的、尽力而为的 方式使得i p 网络得到极大程度上的普及和认可的同时也隐藏着一些潜在的问题。由 于组成i p 网络的节点提供的服务能力本身存在着差异,比如各自拥有的资源不同( 链 路带宽的差异、存储能力的差异) 、对数据包的处理运算能力的不同,某些服务能力 较差的节点往往成为网络的瓶颈( 图1 1 1 1 ) 2 6 o 不仅如此,在突发性大流量注入的 情况下,任何拥有正常服务能力的网络节点都可能因为资源分配过度、处理器时间调 度不合理等因素造成网络的拥塞( 图1 1 1 2 ) 【2 6 l 。一旦拥塞发生其后果可想而知。数 据包的延迟、抖动在所难免。更可怕的是过高的延迟又会引起报文重传使得拥塞更加 恶化。最后导致网络吞吐率急速下降、网络资源大量耗费,更有甚者系统陷入资源死 锁而瘫痪。 1 0 酣 卜 图1 1 1 1 不同速率接口流量的拥塞 删上 1 0 - 圆3 k 图1 11 2 相同速率接口流量的拥塞 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 那么如何解决拥塞呢? 最直接的方法就是增加带宽。但是这并非长久之计。第、 需要考虑增加带宽带来的额外开销与实际得到的效果之间的性价比;第二、依据 m o o r e 定律,应用对带宽的需求正以指数级速度增长。而且根据以往的经验,带宽的 有效性和带宽的需求之间始终存在着一种滞后一步的关系。也就是说,当有效带宽能 满足某一应用需求时,更大带宽需求的业务又将出现:第三、在不可避免的网络冲突 发生时仍然无法基于优先级的解决问题;第四、运营商需要提供区别用户的服务质量, 这种需求仅凭增加带宽是绝对无法满足的。于是我们不得不考虑寻求另一种解决方 案。q o s 就是在这种背景下提出的。 q o s ( q u a l i t yo f s e r v i c e ,服务质量) 是一种流量管理技术。它可以为有不同服务需 求的业务提供有区别的服务、正确的分配和使用资源、在进行资源分配和流量控制的 过程中尽可能地控制好那些可能引发网络拥塞的直接或间接因素、减少拥塞发生的概 率。在拥塞发生时依据业务的性质及其需求特性权衡资源的分配,将拥塞对服务的影 响减到最小。 1 1 2q o s 体系 q o s 的提出已有十年多的历史,许多组织都参与并提出了解决方案。其中比较显 著的有两大体系:i n t e r s e r v 体系和d i f f s e r v 体系。 1 1 2 1i n t s e r v 体系( r s v p ) i n t e r s e r v 是因特网工程任务组( i n t e m e te n g i n e e r i n gt a s kf o r c e ,i e t f ) 的i n t s e r v 小组1 9 9 4 年提出的。其基本思想是在数据业务开始前向网络申请预留本次传输需要 的带宽。也就是说需要事先建立端到端的虚电路。从某种意义上说这是一种类似电路 级的q o s 2 0 j 。 i n t e r s e r v 使用资源预留协议( r s v p ) 作为请求带宽和其它网络资源的信令协议。 是一种端到端基于流的q o s 技术。业务的两端在通信前,需要根据业务类型向网络提 出q o s 要求,网络根据一定的接纳策略控制( a d m i s s i o np o l i c yc o n t r 0 1 ) ,判断是 否接纳该业务的请求;如果网络有足够的资源可以满足这个业务的要求,就接纳该业 务流,同时必须负责保障该业务所申请的资源。通过带外的r s v p 信令建立端到端的 通信路径,沿途的每一个网络设备都需要记录每一个业务流的状态信息,并提供相应 的资源预留,确保该业务的服务质量。 支持i n t e r s e r v 的路由器必须包含四大部分:数据包调度器( p a c k e ts c h e d u l e r ) 、 分类器( c l a s s i f i e r ) 、接入控制器( a d m i s s i o nc o n t r 0 1 ) 、资源预留协议( r s v p ) p j 。工作原理如下图所示。数据包调度器管理不同优先级流的调度。分类器完成数据 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 包到不同优先级流的映射。接入控制器决策是否接纳新数据流申请的q o s 保障。r s v p 作为资源预留的交互信令。 r o u t i n g a g e n t v r o u t i n e 】 d z ta b a s e r e s e r v a t i o n il s e t u pii 豫a n a g e m e n t a g e n t ia g e n t 一一l i 一一一一 一l 一一一 a d m i s s i o n l c o n tr u li i 一一一i vv t r a f f i cc o n tr o ld a ta b a s e 】 _ 。- 。 i n p u t i n te r n e t d r i v e rf o r w a r d s r i l i i = o p a c k e t 一一 j s c h e d u l e r l 一 l 一1 一j 一1 = = = ) 一一 l l i l l = o 0utputdrive r 图1 1 2 i i n t e r s e r v 工作模型 这种预留资源的方式理论上说确实能够实现端到端的q o s ,但是由于其内在的缺 陷,结果差强人意:( 1 ) 由于预留是基于每个流而进行的,因此使得节点中要保留每 个流的状态信息,导致核心路由器负担太重,因此可扩展性很差。( 2 ) 网络中每个节 点都要维护各类数据库,并实现复杂的功能模块( 如资源预留、路由、接纳控制等) , 造成了极大的复杂性。( 3 ) 如果沿途中有某一个节点不能预留足够的资源,那么就不 能完成这种服务。所以说这种o o s 机制对网络有非常高的要求。 1 1 2 2d i f f s e r v 体系 d i f f s e r v 是i e i f 的d i f f s e r v 小组1 9 9 8 年提出的。其基本思想是在网络的入1 3 处为每个数据包分类,并在数据包中标记相应的区分服务代码点( d s c p ,d i f f s e r v c o d e p o i n t ) ,用于指示数据包在网络转发路径的中间节点上被处理的方式。在网络 内部的核心路由器中只保存简单的d s c p 与p h b ( 每跳行为) 的对应机制,根据数据 包头部中的d s c p 值对数据包进行相应的优先级转发,而业务流状态信息的保存与流 量控制机制的实现等都在网络边界节点进行,内部节点是与状态无关的 2 。 在d i 船e r v 域中,路由器大致分为以下两类:边缘路由器( e d g er o u t e r ,e r ) 和中间路由器( c o r e r o u t e r ,c r ) 【4 】。中间路由器只负责将进入的分组按级别排队, 并按事先设定的带宽、缓冲处理输出队列。而边缘路由器除了具有中间路由器的功能 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 外,还在输入接口处设有检查机制以监视用户是否遵守业务等级协定( s l a ) ,分类 机制以标志输入的每个业务包,并将其分别排入相应的队列中。见下图。 入口边缘路由器中问路由器 出口边缘路由器 图1 1 2 2 d i f f s e r v 工作模型 d i f f s e r v 良好的可扩展性以及易于实现的特性使其成为核心网q o s 的首选。但是 其缺点也是显而易见的:( i ) n 分服务只承诺相对的服务质量,因而不能对用户提供 绝对的服务质量保证。( 2 ) 如果所有的报文的优先级都比较高的话,d i f f s e r v 模型就会 退化成先来先服务模型。( 3 ) 对接入设备的要求比较高,需要分析每条接入的流,并将 其映射到相应的d s c p 码点上。 1 i 3q o s 应用现状及其发展 q o s 已经喊了十年多,主流的通讯厂商也都纷纷推出了支持q o s 的路由器。但 是实际组网中真正i p 网络运用q o s 的很少【i 研。是q o s 技术还不够成熟? 从前面的分 析看,尽管i n t e r s e r v 和d i f f s e r v 体系都有不尽人意的地方,但是随着理论的逐渐成 熟、随着通讯设备商的技术支持,q o s 的普及也非空中楼阁。那么为什么会有现在的 尴尬局面呢? 关键问题有两点。首先q o s 是一个全网的概念。单个节点的q o s 根本 无济于事。这需要一个权威的组织来推进其标准化进程,更需要运营商项力的推广实 施。前者已经有一些国际化组织在做了,比如i n t e m e t 2 、e t s i 、m s f 、p a c k e t c a b l e 以及3 g p p 等【18 1 。后者则涉及到一个更深层次的问题,也是我想说的第二点市场 需求。q o s 的产生正是为了满足市场的需求。但是以牺牲部分性能( 额外的工作量或 多或少都会影响系统的处理能力) 、增加成本( q o s 要求c p u 具有比以往更高的计算能 力、存储能力) 换来的q o s 以及大规模的改动带来的风险,运营商怎么可能不权衡利 弊呢? 所以要运营商真正的投入进来还需要市场的驱动,而且是更大更紧迫的市场驱 动。 但是并不是说q o s 没有前景,这只是一个时机的问题,而且随着3 g 的演进这个 时机的到来也是指日可待。比如3 g p p 2 就在e v d o 阶段明确了基于连接的q o s 实现。 而目前c d m a 2 0 0 01 x 阶段,部分通讯厂商也应局方需求在分组域接入网关p d s n 上 提供了基于用户的带宽控制策略。这种在接入网关上运用q o s 的策略是一种全新的 突破,它将传统的承载层q o s 发展到了用户级别、甚至流级别的q o s 。这种突破无 论是运营商还是用户本身都是非常受益的。 硕士论文基于i x a 架构的接入网关q o s 设计和实现 1 2 研究目的及方法概述 本次研究是q o s 技术在c d m a 2 0 0 0 分组域接入网关p d s n 上l x 阶段的工程实 现。目的是为了在p d s n 上实现基于用户的带宽控制、管理,使其具备d i f t s e r v 模型 中入口节点的功能。之所以能在p d s n 上对用户进行带宽控制,是因为p d s n 是用 户接入的必备环节,它完全可以通过鉴权、授权机制得到用户的开户信息以及相关的 q o s 级别。这是传统的路由器无法实现的。 整个p d s n 的设计包括硬件和软件两个部分。作者在系统开发中担任的是q o s 模块的软件设计及开发。具体实现的模块包括分类器、测速整形器、拥塞监控器和拥 塞管理器。 研究分如下四步进行: 结合网络特性,具体提出接入网关q o s 模型。 实现接入网关的q o s 。 结合研究需要及实际组网方案搭建试验环境,然后进行验证。 总结。 其中第二步q o s 技术的实现是在i n t e l 的网络处理器i x p 2 4 0 0 上进行的。i x p 2 4 0 0 是一款多核并行处理器,由一个x s c a l e 核和八个微引擎( m e ) 构成。每个微引擎支 持八个硬件线程。l n t e l 该系列的网络处理器都是基于i x a 架构( j i n t e r n e t 数据交换 设备处理器系统结构) 。这种架构融合了可互用硅元件与i n t e l 微核技术,在其上能 够很好的实现高性能的网络处理功能。软件实现上则是将网络包的处理分为控制面和 媒体面。其中控制面完成信令的交互,主要由x s c a l e 核完成。媒体面实现数据的快 速转发,在八个并行的m e 上完成。q o s 的实现主要在m e 上完成( 实现的语言称为 “微码”,是一种特殊的汇编语言) ,同时需要x s c a l e 上的进程完成部分数据配置及 表维护等工作。在m e 上软件架构设计及编码是和硬件紧密结合的,为了更好的阐述, 在后续章节中安排了1 x p 2 4 0 0 的相关介绍。 1 3 章节安排 正文就接入网关上的q o s 技术,从原理、关键技术、具体实现及系统验证四个 方面进行了详细阐述。章节安排如下: 1 绪论。概括介绍了q o s 的起源、研究状况、应用现状及发展前景。 2 系统实现基础。包括两大方面:理论基础( 即系统涉及的相关q o s 技术) 、硬 件基础( 即系统实现的环境) 。 3 系统架构。提出了接入网关p d s n 的整体q o s 架构并概括叙述了数据包在系统 中的处理流程。 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 4 软件功能模块。详细叙述与q o s 相关的软件模块的实现。细分为四大块:分类 器、测速整形器、拥塞监控器、拥塞管理器。 5 验证系统。阐述了系统验证的整个过程,分验证模型、预置条件推倒及测试用 例、测试结果分析四个方面论述。 6 结论。 硕士论文基于d ( a 架构的接入网关q o s 设计和实现 2 系统实现基础 包括两大方面:理论基础( 即系统涉及的相关q o s 技术) 、硬件基础( 即系统实 现的环境) 。 2 1q o s 技术 目前几种比较成熟的q o s 技术有流分类、流量监管、流量整形、拥塞管理、拥塞 避免等。 2 i 1 流分类 所谓流分类即依据一定的匹配规则将数据包映射到一个有限的流集合或类别的 过程。流分类是有区别地实施服务的前提。 根据分类规则的不同,流分类可以细分为如下几种。 2 1 1 1 基于优先级字段的分类 许多标准都在数据包头中提供了优先级字段,根据这些字段我们可以进行一个粗 略的数据包分类。下面介绍几种比较典型的优先级字段。 2 1 1 1 1 基于层二的优先级字段 关于层二的流量优先级首先需要引入两个标准:i e e e 8 0 2 1 q 和i e e e 8 0 2 1 p 。 i e e e 8 0 2 1 q 是v l a n 标签技术。该标准定义了为以太网m a c 帧添加的标签。v l a n 标签 分两个部分:v l a ni d ( 1 2 比特) 和优先级( 3 比特) 。在v l a n 标准中没有定义和使用 优先级字段,这部分由i e e e s 0 2 1 p 定义 1 。修订后的以太帧格式如下。当t p i d 为 0 x 8 1 0 0 时,该帧传送i e e e 8 0 2 1 q 和i e e e 8 0 2 1 p 。t c i ( 标签控制信息字段) 的前3 位定义了用户优先级,包括了8 个优先级级别。i e e e 8 0 2 1 p 为8 个用户优先级定义 了操作。最高优先级为7 ,应用于关键性网络流量。比如路由选择信息协议( r i p ) 和开放最短路径优先协议( 0 s p f ) 。优先级6 和j 主要用于延迟敏感应用程序 ( d e l a y s e n s i t i r e ) 。比如交互式视频和语音。优先级4 到1 主要用于受控负载应用 程序( c o n t r o l l e d l o a d ) 。比如流式多媒体( s t r e a m i n gm u l t i m e d i a ) 和关键性业务 流量( b u s i n e s s c r i t i c a lt r a f f i c ) 。优先级0 是缺省值,在没有设置其他优先级的 情况下自动启动i l ”。 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 , 、t t 【4 02- + :,窖: i ,睁坤礓一rji 磅t 警 1 音一t t,l6 + 、 , h m s f ns 饿d艇 i t 啦t hd a r t嚆c “i 茧 ,l - 、 。一 、:j :_ 1 2 “;i i,j - | _ e 。? :? 。 , 如”l - i o r i t y l 吸 骞i t jo fv l 斌d i ) t oi d t n t i f yp o s s i b l ev l 如 图2 1 1 1 修订后的以太网帧 2 1 1 1 2 基于层三的优先级字段 三层的流量优先级引入了两个概念:d s c p 和p h b 。d s c p 即区分服务代码点。 它标记了数据包的等级【1 ”。i e t f 重新定义了i p 报头中很少使用的t o s 字段,将其分 割成6 位的d s c p 字段和2 位显示拥塞通知字段( e c n ) 1 6 1 。见下图。p h b 即逐跳 行为。从实施的角度看p h b 可看成是用于转发的数据包队列、当队列超出限制条件 时的丢弃可能性、分配给每个队列的资源( 缓冲和带宽) 以及队列服务的频率f 1 5 】。 倒2 1 12 i p 头的t o s 字段 i e t f 定义了1 4 个标准的p h b 。如下: 尽力而为( b e ) 。不需要进行特殊处理的流量。 快速转发( e f ) 。延迟最小、丢包率低的流量。 1 2 个有保证转发( a f ) 的p h b 。i e t f 建议使用四个不同队列,每个队列应用三个 优先级,总共1 2 个不同的a fp h b 。 虽然i e f t 为每个标准的p h b 都定义了推荐的d s c p 值,但设备厂家允许网络运营 商重新定义d s c p 和p h b 之间的映射并定义非标准的p h b 。需要注意的是一旦为数据 包标记了特殊的d s c p 值,就定义了其通过的每一跳的q o s 处理。因此需要确保一致 的q o s 行为,必须维护一致的d s c p - p h b 映射。 2 1 1 2 基于协议域和端口号的分类 基于优先级标记的分类规则实现算法相对简单,但是必须以数据包支持优先级字 8 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 段为前提。一种更为通用的分类规则是基于协议域和端i z 号1 7 】。这里的协议可以是帧 的类型域可以是i p 头的协议域当然也可以更上层。端口号通常指的是t c p 或u d p 端 口号。 2 1 1 3 动态分类 动态分类规则允许流的集合随时间而改变。通常使用源地址和包类型的组合来分 离流量。比如考虑一个提供特别收费服务的i s p ,其中用户最多可以同时指定多达2 0 条各具优先级的t c p 连结。当一个用户升级到特别收费服务时,i s p 用动态分类将来 自该用户的前2 0 条连接指向到一个具有高优先级的流,而其他连结上的流量或来自 没有申请特别收费服务的客户的流量则被划到标准流中( i 7 j 。 2 1 2 流量监管和整形 流量监管是对进入网络的特定流量的规格进行控制,当流量超出规格时采取限制 或惩罚措施,以保护运营商的商业利益和网络资源不受损害。流量整形是一种使流量 和标明的统计界限相一致的过程。这个过程是必须的,因为包交换往往产生的是非均 匀的流量。这里把流量的监管和整形放在一起讲是因为他们本身在实现的时候是密不 可分的。如果只是对流量进行监管而不采取任何措施,那么这种监管其实是毫无意义 的。 一种常见的流量监管整形系统包括测量、标记和整形策略【2 ”。见下图。 按照翅定的避茸薹囱强中。仔放令瓣 露| i l 此拔勰般避的报文 - - - 圆 g 3 c d g 3 c 1 3 继续驻送 c d ( 卫 蛋羚 圆圆 图2 1 2 1 一种典型的流量监管整形系统 测速可以基于流也可以基于端口。通常由令牌桶实现。令牌桶可以看成一个存放 令牌的容器,它有一定的容量,系统按设定的速度向桶中放置令牌。当令牌桶满时, 多出的令牌溢出。特定的数据包( 基于流端口) 要成功转发需要消耗自己令牌桶中 9 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 的令牌,消耗的令牌数与数据包长度成正比。如果桶中的令牌数已或即将不能满足发 送要求,那么说明该流( 或端口) 已或即将超过被授权的带宽。这时需要对其打上标 记并实施整形策略。 常见的整形策略有丢弃评估结果不符合的报文、改变报文优先级、缓冲报文等 2 卯。 2 1 3 拥塞管理 拥塞管理是一种解决资源竞争的措施。通常是将报文放入队列缓存并采取某种调 度算法安排报文的转发次序。拥塞管理的核心内容就是当拥塞发生时,如何制定个 资源的调度策略决定报文转发的处理次序。一般采用排队技术。即将不同优先级的报 文放入不同的队列,然后运用不同的调度算法将报文发送出去。其实这种队列管理调 度的方式不只在拥塞发生时起作用,在平时也起着调整带宽的作用。 下面介绍几种常见的队列管理调度技术。 2 1 3 1 先进先出队列( f i f 0 ,f i r s ti nf i r s to u t ) 最简单的排队方式,不提供q o s 优先级。在拥塞发生时,按照报文到达的先后 顺序发送报文。 瓣l b 此拨口发送约分组 - - 詈餮量圆i 圃 固圆:了( 驴叼疆习 铲诹淼队罚 图2 1 3 1 f i f o 队列 2 1 3 2 优先级排队( p q ,p r i o r i t yq u e u e i n g ) p q 对队列按严格的优先级顺序服务。即调度当前最高优先级的非空队列。如图。 这样做的好处是发生拥塞时,优先级越高业务的延迟就越小。缺点是容易造成低优先 级队列“饥饿”。因为如果高优先级的队列中始终有包,那么低优先级队列中的数据 包将始终得不到调度。 1 0 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 _ i :j i 此缓印拔送豹努继 螽) 西响姒 发瞧舶分缎 卜 d 名国萄两回 ? ,、一、 一、 d o :了圃。 a d 一圆分式飞) :嗵哟卿 孥日 强从磁1 弧q b _ _ 蔷画 图2 1 3 2 p q 2 1 3 3 加权轮转排队( w r r ,w e i g h t e dr o u n dr o b i n ) w r r 使每个非空队列都享受调度。为了突出优先级,令每次调度处理队列的包 个数与优先级成i i :y - , t 2 5 。如图。 建l 囊鳆酚 勰d e d c d 酽c d d c o c i i 俪簿回_ u e g _ e z w e s g m z 瘤归 圆f f f 【, d 护圆分羚 1 1 ,秘艘发落的酞鲫 瘸qtletlen-veiqhtn 2 1 4 拥塞避免 图2 1 3 3 w r r 拥塞避免是一种主动监督网络资源的使用情况的机制。当有拥塞发生的趋势时, 采取主动丢弃报文的策略,通过调整流量来解除网络的过载。拥塞避免是一种主动的、 减少拥塞发生概率的技术【2 。 常见的拥塞避免的算法有r e d ( r a n d o me a r l yd e t e c t i o n ,随机早期检测) 和w r e d ( w e i g h t e dr a n d o me a r l yd e t e c t i o n ,加权随机早期检测) 。在r e d 算法中为每个队 列都设置一对低限和高限值,并规定当队列长度小于低限时不丢弃报文;当队列长度 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 超过高限时丢弃所到来的报文;当队列的长度在低限和高限之间时开始随机丢弃到来 的报文。w r e d 是r e d 的改进。出于报文优先级的考虑,w r e d 的随机丢弃率的生成是 基于优先级的。即报文优先级越高它被随机丢弃的可能性越小。 拥塞避免与拥塞管理的关系见下图。 w r e d 芒 2 2 硬件基础 釜艄q o o 口。固 图2 1 4 1 拥塞避免与拥塞管理的关系 系统的实现是在i x p 2 4 0 0 上完成的。为了更好的阐述,下面对i x p 2 4 0 0 及相关 硬件做概要的介绍。 2 2 1i x p 2 4 0 0 概述 i x p 2 4 0 0 是i n t e l 公司推出的一款基于i x a ( i n t e m e t 数据交换设备处理器系统结构) 的网络处理器产品。其系统模块结构如图所示。它采用6 0 0 m h z 的x s c a l e 核心处理 器,并配有8 个第二版的微引擎,每个微引擎支持8 个硬件实现的线程和多级的存储 器系统结构,支持校验功能,采用m s f 接口,两个q d rs r a m 通道和一个d d r d r a m 通道【”1 。 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 图2 21 i i x p 2 4 0 0 硬件框图 i n t e lx s c a l e 核心处理器是一个通用3 2 位r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) 处理器,与a r m 结构相兼容。i n t e lx s c a l e 核一心处理器初始化并管理芯片,同时完成 高层网络处理任务。其特性主要为:高性能、低消耗、3 2 位内嵌r i s c 处理器:3 2 k 字节指令高速缓冲器和3 2 k 数据高速缓冲器;2 k 字节微数据高速缓冲器,使传输数 据处理便捷;可有4 个并发的读请求,保证不延迟处理器;新的指令集合;性能监测 特性:支持j t a g “l 。 2 2 3 微引擎( 脏) m e 结构框图如下。 硕士论文 基于r x a 架构的接入网关q o s 设计和实现 f i + u r o6 e m i c r o o n g i n o8 l o c kd i a g r a m 图2 2 3 1 m e 内部结构 i x p 2 4 0 0 的网络数据处理功能主要由微引擎完成。一共有8 个m e ,分为两个簇, 每个簇4 个。同一簇的4 个m e 共享一根命令总线和s r a m 总线。两个簇共享一根 d r a m 总线【2 7 1 。 每个m e 支持8 个硬件线程。每个线程都有自己的p c 和一组自己的寄存器,这 样线程切换时就不需要再保存数据,从而实现快速的线程切换。 2 2 3 1 线程的状态 线程有四种状态:未激活态、睡眠态、就绪态和执行态。线程转换图如下 硕士论文基于i x a 架构的接入网关q o s 设计和实现 g t x _ e n a b l eb i lb l b y 图2 2 3 2 线程的状态转移 激活态( i n a c t i v e ) 在一个m e 上每次只有一个线程正在运行,但是可以有多个线程处于等待态和就 绪态。处于这些状态的线程都可能得到运行的机会,具体由线程仲裁器实现。但是处 于未激活态的线程是不在线程仲裁器考虑的范畴之内的。 通过设置寄存器c t xe n a b l e 的c t xe n a b l e s 位可以使线程进入就绪态或 退回到非激活态。当然在m e 上运行的线程并不一定每次都需要8 个,此时可以通过 设置c t xe n a b l e 的i nu s ec t x 位只让4 个线程处于就绪态,他们的编号为0 、 2 、4 、6 。 就绪态( r e a d y ) 处于就绪态的线程就是可以运行但还没有得到运行机会的线程。 运行态( e x e c u t i n g ) 此时c p u 获得执行权。 睡眠态( s l e e p ) 当运行的线程等待某个外部事件到来时,线程进入睡眠态。如果等待的外部事件 发生了,线程并不直接回到运行态,而是进入就绪态,由线程仲裁器决定处于运行态 的线程。 2 2 3 2m e 的寄存器 c o n t r o ls t o r e 用于存放微码。能够容纳4 0 9 6 条4 0 位长的指令。 g p r 3 2 位通用寄存器。分为两个b a n k :b a n k a 和b a n k b 。每个b a n k 有1 2 8 个。可以 为运算提供源操作数,也可以用作目的寄存器。 硕士论文 基于i x a 架构的接入网关q o s 设计和实现 传递寄存器 有4 种:s r a mx f e ri n 、s r a mx f e ro u t 、d r a mx f e ri n 和 d r a m _ x f e ro u t 。每一种都有1 2 8 个。传递寄存器用于m e 与外部单元的数据交 换。从外部读入的数据通过s p u s h 和d - p u s h 放入传递寄存器,从图2 2 3 1 中可 以看到无论从哪种p u s h 总线来的数据都可以放入s r a m 和d r a m 传递寄存器。但 是p u l l 总线则不一样,它是严格对应传递寄存器的。也就是dp u l l 与 d r a mx f e ro u t 连,sp u l l 与s 删x f e ro u t 连。 n e x tn e i g h b o rr e g i s t e r 共1 2 8 个。可以用于相邻m e 之间数据的传递,第一个和最后一个不能完整的参 与。也可以只在一个m e 起作用,此时数据的写入和读出必须相隔1 6 个时钟周期。 m e 通过n n d a t a i n 从前一个m e 取数据到n e x tn e i g h b o rr e g i s t e r ,通过n n d a t ao u t 将运算结果传给下一个m e 。 l o c a lm e m o r y 6 4 0 个3 2 位的本地寄存器。 c a m 每个m e 都有一组内容相关寄存器,一共1 6 个表项。每项由3 2 位内容及4 位状 态位构成。由于查询是采用并行的方式,所以查询效率较高。 2 2 3 3 信号

温馨提示

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

评论

0/150

提交评论