




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l o b s 网络中边缘路由器f e 0 组帧的设计与实现 摘要 光突发交换( o p t i c a lb u r s ts w i t c h i n g ,o b s ) 是目前i po v e r d w d m 中相应的交换技术的研究热点;同时交换领域中一个很热的 研究重点是把多协议标签交换( m u l t ip r o t o c o ll a b e ls w i t c h i n g , m p l s ) 的概念扩展到光传送网,形成光标签交换( o p t i c a ll a b e l s w i t c h i n g ,o l s ) 。光标签突发包交换技术( l a b e l e do p t i c a l b u r s t s w i t c h i n g ,l o b s ) 很自然的结合了m p l s 和o b s 的优点,因此具 有更加良好的应用前景。 本论文基于网络处理器i n t e li x p l 2 0 0 的硬件平台,设计和实现 了l o b s 网络中边缘节点的f e c 组帧过程。本文通过分析i x p l 2 0 0 的结构,从整体架构,数据处理过程,内存管理和队列管理几部分描 述了设计过程,并根据i x1 2 0 0 开发的两个部分一数据平面和控制平 面,分别完成相应的功能:在数据平面上用微码设计实现微引擎对数 据的分类组装处理;在控制平面上用脚本完成系统所需要参数的初始 化及路由信息,给数据平面提供一个良好的平台及所需要的参数。目 前实现了f e c 组帧的过程,经仿真测试结果证明,i x p l 2 0 0 成功地 实现了对接入边缘节点的数据进行路由表查找、标签组装和控制帧生 成等功能。在使用一个i x p l 2 0 0 网络处理器完成突发包组装的情况 下,边缘节点的数据处理能力能达到7 2 0m b p s 。论文最后对该设计 方案做出评估,并提出了相应的改进意见。 关键宇:光标签突发交换,组帧,网络处理器 d e s i g na n dd e v e l o p m n to f f e ca s s e m 旧l ya ti n g r e s sr o u t e ri nl o b s a b s t r a c t a tp r e s e n t ,o b s ( o p t i c a lb u r s ts w i t c h i n g ) i sp r o p o s e da saf o c u s t e c h n o l o g yf o rs w i t c h i n ga r e ai nc o m m u n i e a t i o n sn e t w o r ku s i n gi po v e r d w d m m e a n w h i l e i ti sa n o t h e rf o c u st h a te x p a n d i n gt h ec o n c e p to f 吧l s ( m u l t ip r o t o c o ll a b e ls w i t c h i n g ) i n t ot h eo p t i c a lt r a n s p o r t n e t w o r kb e c o m e so l s ( o p t i c a ll a b e ls w i t c h i r i g ) i ti s n a t u r a l l y c o m b i n i n gt o l a b e lo p t i c a lb u r s t s w i t c h i n g ( l o b s ) b a s e do l lt h e c h a r a c t e r i s t i c so f0 b sa n do l s t h e r e f o r e ,i ti s v e r ya t t r a c t i v et o c o m b i n eo b sa n d l so v e ri p d ,i ) mn e t w o r k b a s e do nh a r d w a r ep l a t f o r n qo fn e t w o r kp r o c e s s o ri n t e ld 四1 2 0 0 t h ed e s i g na n dr e a l i z a t i o no ff e ca s s e m b l ya te d g er o u t e ri nl o b s n e t w o r ki sd i s c u s s e di nd e t a i li nt h i sp a d e r b e s i d e s ,s o m ek e yd e s i g n i s s u e ss u c ha st h ea r c h i t e e t u r e ,t h ef l o wo fd a t ap r o c e s s ,m e m o r y m a n a g e m e n ta n dq u e u i n gd i s c i p l i n e a r ea l s o i n v e s t i g a t e dd e t m l y a c c o r d i n gt od e s i g n t h ed e v e l o p m e n to fi x p l 2 0 0i sd i v i d e di n t ot w o p a r t s d a t ap l a n ea n dc o n t r o lp l a n e ,a n dc o m p l e t e dt h ef u n c t i o n s e p a r a t e l y :c o m p l e t i n g t h ed a t a c l a s s i f ya n db u r s tp r o c e s s i n gw i t h m i c r o c o d ei nd a t ap l a n e ;i n i t i a l i z i n gt h es y s t e ma n dr o u t ei n f o r m a t i o ni n s c r i p ti nc o n t r o lp l a n ea n dp r o v i d i n gag o o dp l a t f o r ma n dp a r a m e t e r sf o r d a t ap l a n e p r e s e n t l y , t h ef e ca s s e m b l yi nw b r k b e n e hh a sb e e nr e a l i z e d t h er e s u l t sf r o ms i m u l a t i o ns h o wt h a tf e ca s s e m b l yb a s e do n p 1 2 0 0 c a l lr e a l i z et h ep r e - d e f r e e df u n c t i o n sa c c u r a t e l y b e s i d e s ,t h ed e s i g n e d e d g er o u t e ri sc a p a b l eo ff o r w a r d i n gd a t as t r e a m sc o m i n gf r o me t l l e r e c t a tt h e a v e r a g es p e e do fa b o u t7 2 0 m b p s f i n a l l y , i n t h i sp a p e r , t h e i m p r o v e m e n tf o r t h ed e s i g ni sb r o u g h t f o r w a r d k e yw o r d s :l a b e lo p t i c a l b u r s t s w i t c h i n g ,a s s e m b l y , n e t w o r k p r o c e s s o r 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列 的内容以外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:徐亢葙 日期:2 0 d i _ ,f 2 5 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北 京邮电大学。学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编 学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权 书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:徐丸莉 导师签名: 日期:2 d 0 7 j 2 5 日期:2 0 町3 1 8 北京邮电大学硕士学位论文 1 1l o b s 的背景 第一章绪论 实现i po v e rd w d m 的交换技术方案有三种:光电路交换( o p t i c a lc i r c u i t s w i t c h i n g ,o c s ) 、光分组交换( o p t i c a lp a c k e ts w i t c h i n g ,o p s ) 和光突发交换 ( o p t i c a lb u r s ts w i t c h i n g ,o b s ) 【l 】。在二十世纪八十年代初期为语音通信提出 的光突发交换网结合了光电路交换和光分组交换的优点,同时又克服二者的不 足,是两者之间的平衡选择,而且突发交换的方法减少控制系统的压力;控制分 组和数据突发包的分离使沿途交换节点可以根据控制分组提供的信息为即将到 来的数据突发包预留相应信道资源;由于提前预约了信道,中间节点可以不实用 光缓存技术,异步的传送方式不存在网络中的时隙同步问题,这些特点使得o b s 逐渐引起众多学者的重视。 另外,目前交换领域中一个很热的研究重点是把m p l s ( m u l t ip r o t o c o ll a b e l s w i t c h i n g 多协议标签交换) 的概念扩展到光传送网,形成光标签交换( o r ) t i e a l l a b e ls w i t c h i n g ,o l s ) 【2 】。它的核心思想是使用光标签来建立数据在光网络中 的传送路径,免除沿路径复杂的路由处理,从而提高数据交换速率。o l s 网络可 以采用各种光标签技术,比较典型的是采用波长作标签的o l s ,也称为多协议波 长交换,具有与m p l s 相似的优势,如支持流量工程,支持o o s 及转发速率快等。 鉴于o b s 与o l s 各自的特点,两者可以很自然的结合起来形成光标签突发包交换 技术( l a b e l e do p t i c a lb u r s ts w i t c h i n g ,l o b s ) p j 。由于l o b s 结合了m p l s 和o b s 的优点,因此具有更加良好的应用前景。 1 2l o b s 网络架构 图i - i 是l o b s 的简单网络拓扑结构图【4 】。l o b s 网络由边缘节点和核心全光 节点组成,由d w d m 链路将网络中的两种节点连接起来。l o b s 是采用肿l s 机制 的o b s 技术或者是采用o b s 控制机制的o l s 技术。由于基于o b s 技术,l o b s 同 样使用分离的波长来传送数据突发包和它们的控制分组。但是控制分组所携带的 信息与通常的o b s 不同,l o b s 的控制分组不再携带突发包的地址信息,而是加 入了标签信息,其他的信息如承载突发包的波长信道、偏置时间、o o s 要求等则 仍然要携带。一旦标签交换路径建立起来,l o b s 网络中对控制分组的处理不必 再进行路由计算,只要根据其携带的标签进行基于标签交换的转发操作即可。 如图中所示,图中的l 1 l 3 、m 1 、m 2 、s l 、s 2 代表标签交换路径上的各个标 北京邮电大学硕士学位论文 签。l o b s 网络的边缘节点提供与其他网络的接口、控制分组生成、突发报组装、 分解以及f e c 封装和标签操作等功能。核心节点负责对到达的突发包进行基于标 签的交换。数据分组在标签交换路径入口边缘节点组装成突发包,配备带有标签 的控制分组,然后在l o b s 网络中传送,再由出口边缘节点拆分数据分组。边缘 节点和核心节点除了应具有o b s 节点的功能外,还应具有m p l s 的标签交换路由 器的功能。 图i - il o b s 简单网络结构 1 2 1l o b s 核心节点基本功能 点 l o b s 的核心节点由输入接口、控制单元、交换矩阵和输出接口四部分组成, 如图卜2 所示。输入光信号在输入接口处进行处理,读取控制分组信息。控制模 块根据控制分组所携带的标签进行操作,并利用控制分组的其他控制信息预留核 心节点的宽带资源,据此发出控制指令,控制交换矩阵做出相应的调整,然后再 生控制指令,建立交叉连接路径以将随后到达的突发包交换到相应的输出端口。 在核心节点中,控制单元是一个关键部分,负责控制标签交换和资源预留。为了 执行标签交换,控制单元中应该维护一个标签信息基。当一个控制分组到达核心 节点时,首先被转化为电信号,从标签栈中弹出标签,并送入到负责标签交换的 模块中查找标签转发表,执行标签交换操作。然后,压入新的标签,并把控制分 组经交换模块交换到对应输出端口的输出队列中。当控制分组位于队首时,被读 取并送到调度器,调度器执行资源预留控制,每个调度器管理一个对应输出端口 的所有输出波长控制,包括控制信道和数据信道。它建立并维护各个信道的使用 状态表,根据控制分组的信息来选择输出波长信道分配给突发包和控制分组,并 向交换矩阵发出交换所需信息。经调度处理后的控制分组送入输出分组处理器更 新。最后,控制分组被发送到调度器分配的控制信道。 2 北京邮电大学硕士学位论文 卫 j 一馐 乏 三酉 辅 蛰口出蕾口 图卜2l o b s 核心节点基本结构 1 2 2l o b s 边缘节点基本功能 在l o b s 网络中,突发包和控制分组的生成是在入口边缘节点完成的,突发 包的分解和控制分组的终结是在出口边缘节点进行的。一个实际的物理边缘节点 应该具有入口边缘节点和出口边缘节点两种功能结构。在入口边缘节点处,来自 其他网络的数据分组按照目的地址和q o s 要求分别组装成一个个的突发包。从标 签交换的观点来看,这个过程实际上也是数据分组被划分到每个f e c 的过程。组 装后的突发包长度是可变的。节点为每个突发包配备了一个控制分组。该控制分 组携带标签和其他o b s 和m p l s 控制信息,如f e c 标签、突发包长度、承载突发 包的长度、控制分组和突发包之间的偏置时间、突发包生存时间等。图1 - 3 即边 缘节点功能结构图。从本地网来的i p 分组,先进行路由信息处理,按其目的地 址和q o s 要求查询f e c 交换到相应的突发包队列,经过特定时间后,组装成一个 突发包冈。组装好的突发包被传递到一个队列缓存器中排队。对应于节点同一输 出端的多个组装器共用一个调度器。该调度器跟踪数据信道和控制信道的使用情 况,按照一定的调度算法选择发送突发包。调度器还能获得每一个突发包的信息, 如f e c 、路径、长度等,据此为每个将发送的突发包配备一个控制分组,并计算 两者中间的偏置时间,先将控制分组发送到控制信道,经过偏置时间后,将突发 包也发送到数据信道。输出边缘节点只需要完成从突发包中提取出i p 分组,并 记录相应的路由和网络流量等网管信息即可。 北京邮电大学硕士学位论文 l p 分组 l p 分组 悟询f e c l 了 i 一 二 f e c l 分组 阻 一 i 3论文主要工作 图1 - 3 边缘节点功能结构 控制分组 突发包 控制分组 突发包 l o b s 技术作为一项新出现的光交换技术,能充分利用底层d w d m 带宽资源及 强大的波长路由能力,数据分组可不经过中间节点缓冲,直接在端到端的透明信 道中完成传输交换,同时实现单向的数据信道带宽资源动态分配,具有广阔的应 用前景,是下一代光互联网的理想交换方案。 论文围绕“光标签突发交换关键技术”研究课题,对光标签突发交换网络测 试平台边缘节点中使用i x p l 2 0 0 实现f e c 组帧数据处理模块进行详细介绍,给出 具体的设计思想并对仿真结果进行评估。论文按以下结构展开: 第二章,介绍l o b s 的实验平台。首先对实验平台的网络架构进行简单描述, 然后从核心、边缘节点的设计方案进行详细介绍;由于论文的主要工作是l o b s 边缘路由器f e c 组帧,因此简单介绍整个实验平台后,详细讲述边缘节点的设计 及硬件构成。 第三章,基于l i p l 2 0 0 的f e c 组帧的具体设计方案及仿真结果分析。其中包 括整体构架设计、转发结构设计、路由信息处理、内存管理方案、队列管理等关 键技术,并在此基础上提出相应改进意见。 第四章,论文总结与展望。 4 北京邮电大学硕士学位论文 第二章l o b s 实验平台 2 1l o b s 实验平台简介 l o b s 实验平台是o b s 的滚动项目,目的是建立一个具有4 个核心交换节点、 3 个边缘节点的光标签突发交换实验系统,支持图像、话音、数据等业务的接入, 实现光标签突发交换网络核心功能的演示及验证,如图2 一l 所示。实验室承担了 标签突发交换光网络边缘和核心节点的设计和实现工作。边缘节点提供的业务接 入端口包括8 个f e ( i o o b a s e - t ) 口和2 个g e ( 1 0 0 0 b a s e x ) 口,并且每个业务 端口都能支持多级q o s ,具有图像、语音和数据的接入能力。 2 1 1 核心节点 图2 - 1l o b s 实验平台 i p r o u t 吼 核心节点主要完成处理控制信息,进行资源调度和预留。输入方向上,光纤 链路到达核心节点时,首先用粗波分复用器完成控制信道与数据信道的分离,控 制信道与核心节点的主控板相连,做相应电域上的处理,数据信道直接和光交叉 矩阵相连。输出方向上用粗波分复用器完成更新后的控制信道和数据信道的合 成。 其中主控板的结构图如图2 - 2 所示。控制信道的数据经光收发模块转换成电 信号进入一个通路,然后8 比特并行数据进入主控f f g a 处理,收到的控制帧将 进入资源预约流程,预约成功后产生新的控制帧传往下一个节点,收到的路由协 议帧透明向m p c 8 6 0 传送,j 1 1 1 p c 8 6 0 待发送的路由帧和新产生的控制帧再送到对应 北京邮电大学硕士学位论文 的出通路,送往下一个节点。 2 1 2 边缘节点 图2 - 2 核心节点主控板结构固 边缘节点主要负责不同速率以太网数据的接入,交换板将这些数据汇聚后提 供给控制板,完成f e c 组帧,如图2 - 3 所示。 g t h m 每腓 ; 2 2边缘节点结构 2 2 1 边缘节点组成结构 : : 图2 - 3 边缘节点结构图 由图2 3 可知,边缘节点在物理实现上主要分为三个部分:交换板、控带4 板 和光板。实验乎台下边缘节点的物理结构嗍如图2 - 4 所示。 电业业交控光光光背 源务务 换 制接接接 板 板 接接 板板口口口 口口 板板板 板板一 二三 一 二 图2 - 4 边缘节点物理结构图 6 北京邮电大学硕士学位论文 业务接口板实现与以太网的接口,交换网络实现g e 数据单元的二层交换, 二者配合实现边缘节点的以太网业务接入。交换板实现接口功能,也即业务接入, 它位于边缘结点数据接入部分,主要负责不同速率以太网数据的接入,并将这些 数据会聚以后,提供给控制板,完成突发组装。交换板对外提供g e 口和f e 口的 接入,并通过背板总线接口,为控制板提供数据。控制板则完成l o b s 的主要功 能,如对业务按照目的地址和q o s 查询f e e 标签,然后进行分类,分类后根据资 源预留策略生成数据突发帧以及相应的控制突发帧,再根据网络流量信息( 即核 心节点处的拥塞信息) 和信道信息( 即可用的光波长信道) 将其送到相应的光波 长信道。当然,控制板本身还要根据本地信息的刷新发送一些包含路由信息的控 制突发帧,实现网络的控制通信。而光板实现控制信道和数据信道的发送和接收。 光接口板接收突发帧,并与控制板配合实现数据帧和控制帧的定时( 控制帧与数 据帧之间的定时) 发送。反方向上,光数据板接收数据突发帧送到控制板,拆分 后经过m a c 交换和业务接口模块接入普通以太网。光控制板接收控制突发帧送到 控制板,由控制板分析处理后更新本地的路由信息和网络流量信息,从而完成网 络节点间的控制信息通信。 系统采用高速背板技术实现各个单板间的高速数据链路( 1 g b p s ) 。所有高速 数据链路都在各单板上经过总线驱动器驱动后在背板上进行单点连接,实现全双 工通信。外围的监测设备可以通过r j 4 5 以太网接口连接到系统的控制板,实现 简单的网络管理和系统维护。 2 2 2 控制板功能介绍 控制板是边缘节点的主控板,主要实现分类、排队、汇聚和调度功能。边缘 节点控制板在逻辑上可以分成5 个功能模块:数据处理模块、控制模块、接口模 块、背板接口模块和监测告警模块,功能框图如图2 5 所示。 图2 - 5 控制板逻辑功能图 7 北京邮电大学硕士学位论文 但是具体来说它在整个系统中主要承担以下功能:数据突发帧和控制突发帧 的处理;基本的路由功能和流量控制,包括波长信道选择;完成边缘节点内部的 信令交互和资源调度,协调系统内各单板工作;实现对各单板的复位以及板在位 检测;高层软件载体,搜集网管信息实现边缘节点的网管。 数据处理模块主要是根据接入业务的q o s 要求和网络的状况,采用一定的数 据突发帧组装策略实现o b s 数据突发帧的组装,完成业务的接入;控制模块主要 实现网络层的功能,进行路由维护和通道调度;帧接口模块根据控制信息生成相 应的控制突发帧,并将数据突发帧适配到o b s 网络的光信道;高速背板接口主要 是实现边缘节点系统内部各单板间进行高速数据传输:监测告警模块是配合控制 模块来管理和协调整个边缘节点,并实现基本网络管理功能。 系统采用i n t e l 公司的网络处理器( n p ) 芯片i x p l 2 0 0 来构建数据处理模块 和控制模块;帧接口模块由高速f p g a 实现;背板接口模块主要采用的背板驱动 器和f p g a 实现:监测告警模块则在n p 上辅以f p g a 来实现。控制板以n p 为核心, 完成b s p 以及数据处理和高层软件的运行。另外,控制板利用快速以太网进行板 间控制通信,对单板状态进行监测和控制,完成系统调试和网络管理。 2 3i n t e li 1 2 0 0 的开发 i n t e l 国i x p l 2 0 0 网络处理器家族是英特尔公司的第一代网络处理器,是i x a 的基础。它被设计得能够提供对多种媒体类型的网络分组的高速操作,提供高效 的转发,以及对分组头的修改,同时对一些网络管理和分析任务保留足够的计算 周期。适用于o c 一3 到0 c 1 2 范围内的网络处理应用【6 j 。 i x p l 2 0 0 的开发包含两个方面,即微引擎的开发和s t r o n g a r m 内核的开发。 其中,微引擎的开发就是通过微码编程控制内部的6 个微引擎完成网络数据平面 的操作,主要就是网络数据包的分析转发;s t r o n g a r m 内核的开发是在嵌入式操 作系统( 包括板级支持包) 的支持下开发网络上层应用程序,主要是指控制和管 理平面,如路由表管理器应用程序1 7 l 。 开发板的整体过程可以用图2 - 6 描述其模块: 北京邮电大学硕士学位论文 图2 - 6i x p i2 0 0 开发图 2 3 1s t r o n g a r m 内核开发 s t r o n g a r m 内核的开发按照上述部分进行,可以图2 7 表示: l x p l z o os a - c o r e 图2 - 7 内核开发图 网管部分属于上层应用,主要实现对所需要参数的配置,流量统计及生成突 发包的统计等等;要将整个应用程序在操作系统上启动起来,必须要有稳定的操 作系统( 这里使用v x w o r k s ) ,稳定的操作系统运作必须要有b s p 的支持及相应 的驱动;b s p 是对目标系统的底层支持软件,具体地说,b s p 是一些与硬件相关 功能的集合,其功能主要包括: 9 北京邮电大学硕士学位论文 1 单板硬件初始化,主要是c p u 的初始化,为整个软件系统提供底层的硬 件支持; 2 为操作系统提供设备驱动程序和系统中断服务程序; 3 订制操作系统的功能,为软件系统提供一个实时多任务的运行环境; 4 初始化操作系统,为操作系统正常运行作好准备。 b s p 处于目标板硬件和y x w o r k s 内核之间。由于它屏蔽了宣接针对硬件的底 层操作,使上层软件的编写可以不必关注具体硬件的实现。 在整个过程中,实际上就是通过测试程序的一些过程和原b s p 的程序,进行 修改,由于开发板和评估板的不同,使得所需要的参数不同,需要进行修改。所 修改的内容在i x p l 2 0 0 中的b o a r ds u p p o r t 下的v x w o r k s ,这个部分在最后生成 v x w o r k s _ n e t a p p 0 会连接使用到。也就是说,在实际的板子中下载微码之前所 要初始化的东西全部写入到v x w o r k s n e t a p p m a k 中,生成点0 文件后运行完成 所有的初始化工作。当然,象需要a r m 控制的一些,譬如说路由等等,都全写到 v x w o r k s _ n e t a p p m a k 文件中。所生成的文件下载到f l a s h ,由f l a s h 启动,完成 整个系统的初始化和应用程序的实现。在开发s t r o n g a r mc o r e 时首先必须要注 意的问题是内存的映射。s t r o n g a r mc o r e 的物理地址空间和虚地址空间映射情 况如图2 - 8 :地址映射过程只是将f l a s h ( b o o t r o m ) 搬移到高地址空间,s d r a m ( 只是d 0 0 00 0 0 0 h - - d f f ff f f f h 空间,其余的如d r a mc s r 等都不用搬移) 搬移 到0 地址起始空间,其余的都没有变化。 i o 北京邮电大学硕士学位论文 图2 - 8 $ t r o n g a r mc o r e 的物理地址空间和虚地址空间 2 3 2 微引擎酌开发 同嵌入式r i s c 处理器相比,微引擎是底层设备,不运行操作系统。微引擎 用于处理入口和出口的一些处理任务,通常负责完成:来自物理层硬件的包入口 处理,校验和验证、包头处理和分类、报载存储器中的缓存、表查找和转发、包 头修改、校验和计算,对物理层硬件的包出口处理。 因此,微引擎不是传统意义上的c p u ,作用就像一个微序列发生器的底层设 备,不包含完成每个操作的本地指令一大多指令仅仅是调用芯片上的其他功能。 微引擎的开发使用i x p l 2 0 0d e v e l o p e rw o r k b e n c h 。它是一个运行于i x p l 2 0 0 北京邮电大学硕士学位论文 微引擎上的对微代码进行汇编、连接、调试的集成开发环境。它是一个可在 w i n d o w sn t 。w i n d o w s 9 5 或w i n d o w s 9 8 平台上运行的w i n 3 2 应用程序。i n t e l i x p l 2 0 0 开发平台( w o r k b e n c h ) 包括一个微汇编器用于编程微引擎,加上一个 正确指令仿真器和性能分析工具用于预示运行在i n t e li x p l 2 0 0 的代码的性能。 一个嵌入的l i n u x 内核和r a m 磁盘提供丰富的编程环境,可以编写复杂的网络应 用,同时保持在此环境可用的大部分网络软件的兼容性。 w o r k b e n c h 提供了友好的用户界面环境。可以根据系统实际情况修改系统配 置,比如芯片配置、存储器配置、i x b u s 总线接口配置、p c i 接口配置、i x b u s 总线配置等。提供调试器、汇编器、链接器、仿真器等开发工具。 微引擎的编程使用微码,微引擎目前可以使用3 3 条基本指令,大部分指令 可以有不同执行选项,合理组合使用可以达到最高性能。指令按功能可以分为五 类:算术、循环、移位指令集;分支、跳转指令集;读写访问类指令集;本地寄 存器指令集;杂类指令集。i n t e l 鼓励使用宏风格的编程方式,并提供了一套宏 库,这样可以大大提高编程效率及软件可维护性。然而这些指令和运算符仅仅是 微码的基本部分,真正的编程需要了解更多相关的内容,比如内存、信令、寄存 器、硬件加速器、进程阃通信等p “j 。 由图2 6 中i x p l 2 0 0 的主控板中,使用到了f p g a ,f p g a 跟i x p l 2 0 0 的接口 问题是通过s l o w p o r t 来映射s t r o n g a r m 与f p g a 的对应地址关系,f p g a 处理控 制帧。通过上层向s r a m 里写值,微引擎能够在相应位置读取所需要的信息。 2 4本章小结 光标签突发交换网实验平台的搭建是在研究其关键技术的基础上实现的,可 以跟实际的i p 网相融合,进行相关信息传输。实验平台由核心节点和边缘节点 构成,其中光标签突发交换边缘节点的开发和研究,关键是基于控制板硬件的设 计和实现基础上对f e c 组帧进行设计和实现,这是因为控制板在边缘节点起着核 心的作用,要完成接入数据的排队、数据分组的汇聚、控制分组的生成等主要功 能。 边缘节点控制板由多个模块组成,相应的需要复杂的软件结构来支持。硬件 上选用网络处理器i n t e li x p l 2 0 0 ,提供对多种媒体类型网络分组的高速操作, 因此,f e c 组帧的设计实现就在于对i x p l 2 0 0 的开发。i x p l 2 0 0 的开发包括内核 开发和微引擎开发,内核的开发主要是包括初始化硬件,启动操作系统,加载上 层应用程序;微引擎的开发主要是对数据进行组帧转发处理,使用微码在 w o r k b e n c h 上进行设计实现,具体的设计思想及实现过程在第三章讲述。 北京邮电大学硕士学位论文 第三章基于i x p l 2 0 0 的f e c 组帧设计及实现 i x p l 2 0 0 为组包算法的实现提供了便利的软、硬件条件。但是,在实现过程 中,仍然面临一些问题。微引擎上的软件设计使用微码作为编程语言。这是一种 汇编语言,与c ,c + + 这类高级语言相比,它的好处是避免了由高级语言带来的 一些额外的开销,提高了编程效率。但是,微码不支持指针操作,不能做循环、 递归调用,编程者必须在每个线程执行的指令代码中亲自指定何时该执行线程交 换。因此,编程者必须在程序设计初期就能全局的考虑2 4 个线程该如何协调工 作,数据在内存中应该如何存放,并且应该预先准备好一套比较完备的内存管理 方案,这样才能合理的发挥出i x p l 2 0 0 的作用。另外,由于指令空间的限制( i k 2 k i n s t r u c t i o n s m i c r o e n g i n e s ) ,i x p l 2 0 0 实际上并不能很好的实现程序的模块 化。这也给编程人员之间的合作造成了很大的困难。本章将从程序架构、数据包 处理流程、内存管理机制、队列管理机制等几个方面叙述f e c 组帧的设计、实现 过程,并对相应仿真结果进行分析。 3 1方案设计 由图3 1 可以看出,使用网络处理器i x p l 2 0 0 实现f e c 组帧功能的设计主要 包括两部分:微引擎负责数据的分类组帧和转发,即当数据到来后,微引擎的接 收线程先把数据放到接收f i f o 中,在查询完由上层定义的f e c 表后,根据f e c 进行分组,形成相应的突发包,然后发送出去;同时,所需要的系统初始化,启 动操作系统,加载应用程序就由s t r o n g a p d 4 来完成。整个仿真过程在i x p l 2 0 0 d e v e l o p m e n tw o r k b e n c h 下开发完成,但是,所有的仿真必须在跟硬件相匹配的 环境下进行。 n e t w o r kp r o 一7 ,m 。,一n tu n t _ 土宴仨丑 尸 暝筐, 目一、 图3 - 1 整体设计方案图 北京邮电大学硕士学位论文 3 1 1 路由功能的实现 在初始化工作完成后,s t r o n g a r m 主要负责网络上控制数据的处理,依据网 络流量调整各种参数。例如路由协议的执行、路由表维护、网管信息统计,可以 将其称为控制平面。 在w o r k b e n c h 下仿真,首先必须确定所需要的硬件环境,以便迸行相关的初 始化工作。先执行p f w d 一2 f u c i n i t i n d 先初始化仿真器,然后执行m e r e _ m a p h , 初始化队列描述表,s c r a t c h ,s r a m 工作区( 如果使用s r a b l 作为发送调度工作 任务) ,s l o w p o r t 状态,s c r a t c h 工作区,快速端口队列的个数,队列描述符的 标识,初始化所有的微引擎i n i t a l l f b o x e s i n d ,下载微码,如果脚本没有在 w o r k b e n c h 下运行,这时,使能p c ,然后得到宏;再配置相关的信息:设定随机 数;执行包池。m a c 和下载路由信息。 在实验平台中,i p 数据流从g e 口进入微引擎,由微引擎对其进行包头解析, 根据m e m o r y 中的路由表确定目的节点、分类;依据m e m o r y 中记录的突发包组装 门限值组包;发送至实验网络相连的g e 口。而s t r o n g a r m 依据特定的路由算法 更新m e m o r y 中的路由表:依据q o s 和目的i p 地址形成f e c 表,突发包组装算法 更新m e m o r y 中的包长门限和时间门限值。s t r o n g a r m 和m i c r o e n g i n e s 之间通过 共享内存的方式完成信息的交互。 进入l o b s 中的数据不需要边缘路由器不用根据一般的路由查找下一节点, 只需形成f e c 标签,用标签在网络中建立路径,进行交换,因此,s t r o n g a r b 所 要完成的路由功能只是根据目的地址和q o s 建立标签。同时,在形成突发包的过 程中,包长门限、时间门限和偏置时间是实现组包算法的三个重要参数。这三个 参数可以采用固定值,也可以根据当前网络的数据流量随时进行调整。具体的调 整过程是这样的:微引擎可以根据一段时间内处理的数据包的包长计算出当前网 络的流量。这一更新的流量信息将被存储至微引擎和s t r o n g a r m 共享的内存单元 中。s t r o n g a r m 从内存单元中读取更新的流量信息,根据特定的组包算法调整包 长门限和时间门限。偏置时间也可以依据类似的方式进行调整。调整好的参数同 样被存放至共享内存单元中,微引擎通过读取这些参数完成突发包的组装。这一 设计思想的特点是只需在s t r o n g a r m 上进行简单调整,就能实现各种不同的组包 算法。而微引擎上执行的微码不需要傲任何改动。增加了程序的灵活性。 由于在m i c r o e n g i n e s 上实现i p 数据包处理是所有程序中最为复杂并且是最 关键的部分,本章接下来各部分将具体介绍m i c r o e n g i n e s 程序设计思想和实现 方法。 1 4 北京邮电大学硕士学位论文 3 1 2 数据处理 微引擎负责实现高速数据转发,例如数据包包头解析、q o s 分类、路由表查 找、数据成帧等。可以将其称为数据平面。从图3 - 1 可以看到,微引擎所做的工 作就是包的分类,组帧和转发。i x p l 2 0 0 有六个微引擎,每个微引擎有四个线程, 因此,按照三层参考设计出发进行设计,同样使用四个微引擎来负责接收,两个 微引擎来负责发送,如图3 2 所示,负责发送的两个微引擎中分别使用一个线程 来负责发送的调度。 t h 0 t h l t h 2 t h 3 m eom e1m e2m e3m e4m e5 r c v p o r t8 r c v p o r t 8 r c v p o r t 8 r c v p o r t 8 r c v p o r t 8 r c v p o r t 8 r c v p o n 8 r c v p o r t 8 r c v p o r t9 r c v p o r t 9 r c v p o r t 9 r c v p o r t 9 r c v p o r t9 r c v p o r t9 r c v p o r t 9 r c v p o r t 9 t x s c h e d 8 t x p o r t8 t x p o r t 8 t x p o r t 8 t x s c h e d9 t x p o n9 t x p o r t9 t x p o r t9 图3 - 2 微引擎及其线程分配使用表 6 个微引擎用于参与突发包组装流程。如图3 3 所示,微引擎中各线程的处 理任务是这样安排的:两个微引擎用于接收来自一个g e 口的i p 数据流。也就是 说,一个g e 端口对应有8 个线程用于完成i p 数据包的接收。每个线程固定接收 来自r f i f 0 的某个单元的数据包。两个微引擎用于参与突发包的发送。这两个个 微引擎中的0 号线程负责发送调度,l 、2 、3 号线程负责突发包发送,发送线程 以轮询的方式将数据包轮流放入t f i f 0 中等待发送至m a c 芯片。各线程可以通过 共享内存、信号量两种方式完成线程之间的通信。 “k a * b c o 髫 蕊 m b _ m 瑟 弋 嚣訾 r f i f o 接收域授弗事内存单元j t 避垃穗 图3 - 3 软件结构 北京邮电大学硕士学位论文 3 2f e c 组帧处理 3 2 1 接收包处理流程 由于i x p l 2 0 0 处理的是来自以太网的数据流,所有对数据包的处理工作都参 照r f c l 8 1 2 妲1 和l i n u x 一2 6 1 2 内核源代码中以太网数据处理部分完成。流程图 3 - 4 描述的是从以太网数据包到突发包所必经的处理流程。 取出源目的i p :h ! i j a f i 路由表查找、分类、排队 j k 否 “ 送至发送线程发送 l 2 3 图3 - 4 数据包处理流程 按照这个流程,细化f e c 组帧时需要做的流程,硬件c r c 验证没有考虑,数 据的异常情况采用三层参考中的处理办法,分析后得到下面的流程,如图3 5 所 北京邮电大学硕士学位论文 刁写: l n i t i a i z a f i e n 上 a i 札l o e 断a t i n g i l r ,# m p 萝忙i p t o c c 舭s s i n 。g 卜燃, s d r m k w d 甘p n 墙c 幽 00毒 i 繁藏? g e t | l f b 帅目l i o n i p u s t 臁6 m t “am i n t o n ti n f o r m a t i o n t om a i l b o 瞳 i lp u td h 咄i | 1 t o | s d r a m i 毒 l n 3 e h 抟e e l t s _ t i d c b h n eg t a 僻 i n t z * r l n a t j n 上 诋z r i t ed e s c r i p t o r 上 f o f - nf e ( , a u e l h 0 抖u r 杯b yu n i t e d a s s e m b l y a l g o r i t h m f o r w a r d i n g 图3 - 5s o p ,m o p ,e o p 处理流程图 1 7 北京邮电大学硕士学位论文 i x p l 2 0 0 上的物理网络硬件不会像传统计算机上的接口硬件那样工作,因为 它的i n t e l 交换总线硬件不能执行直接存储器存取操作,也不能传输整个数据 帧,网络接口和微引擎之间所有的数据长度限定为6 4 b y t e 。i x p l 2 0 0 对进入的数 据包以6 4 b y t e 划分,分为起始包( s o p ) ,中间包( m o p ) 和结束包( e o p ) 。因此 大的数据帧必须被分成数据块,并分别对这些数据块进行处理。 i n t e l 交换总线上的网络硬件接口负责对接收到的数据帧迸行处理。一旦接 收到数据帧,接口硬件就把该帧分成长度为6 4 个8 位组的数据块,这些数据块 称为m a c 包( m p ) ,在输入端,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚纠纷中夫妻共同财产分割与赔偿协议
- 教师招聘之《小学教师招聘》通关模拟题库附答案详解(考试直接用)
- 教师招聘之《小学教师招聘》从业资格考试真题含答案详解【基础题】
- 2025年教师招聘之《小学教师招聘》考前冲刺模拟题库附参考答案详解(考试直接用)
- 教师招聘之《小学教师招聘》复习提分资料带答案详解(典型题)
- 教师招聘之《小学教师招聘》从业资格考试真题含完整答案详解(易错题)
- 安徽公务员面试真题及答案解析
- 教师招聘之《小学教师招聘》综合提升测试卷带答案详解(培优a卷)
- 教师招聘之《小学教师招聘》综合检测提分及完整答案详解【有一套】
- 教师招聘之《幼儿教师招聘》综合练习(含答案详解)
- 2025滨海投资(天津)有限公司校园招聘考试备考题库及答案解析
- 2020-2025年注册土木工程师(水利水电)之专业基础知识通关考试题库带答案解析
- 2025年辅警招聘考试试题库及答案(必刷)
- 2025年物流师(初级)物流企业物流信息化信息安全认证员培训鉴定试卷
- 2.1人的社会化 教案 2025-2026学年统编版道德与法治八年级上册
- 2025入团考试题库(完整版)附答案详解
- 2025年创伤急救题库(附答案)
- 2025年北京市中考物理真题(含答案)
- 外科手术抗生素使用原则
- 2025年环卫清扫职称考试题及答案
- 《酒店营销与数字化实务》课件5模块五课件
评论
0/150
提交评论