(控制理论与控制工程专业论文)支持下一跳分离的多路负载分担的转发表设计与实现.pdf_第1页
(控制理论与控制工程专业论文)支持下一跳分离的多路负载分担的转发表设计与实现.pdf_第2页
(控制理论与控制工程专业论文)支持下一跳分离的多路负载分担的转发表设计与实现.pdf_第3页
(控制理论与控制工程专业论文)支持下一跳分离的多路负载分担的转发表设计与实现.pdf_第4页
(控制理论与控制工程专业论文)支持下一跳分离的多路负载分担的转发表设计与实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着i n t e r n e t 的发展,对核心路由器的转发速度要求越来越高。目前,核 心路由器普遍采用基于t c a m ( t e r n a r yc o n t e n ta d d r e s s a b l em e m o r y ) 与s r a m 相 结合的硬件路由查找技术。t c a m 具有查找速度快、操作简单的优点。路由器为 了实现负载平衡以及策略路由,在转发表中保存着相当数量的具有多个下一跳 的路由表项。多下一跳路由的存在是转发表的重要特征之一,它增加了路由查 找、更新方案设计的复杂度。按照传统的路由查找方案,s p , a m 内存不能满足同 时支持多下一跳( 1 6 个) 和大容量路由表项( 5 1 2 k ) 的要求。为此,本文基于 t c a m 技术,提出一种支持多下一跳的高速路由查找方案。方案通过t c a m 芯片查 找、一级索引表访问、二级索引表访问、i n l a b e l 表访问4 个互相独立阶段进行 路由查找,不存在共享资源冲突,可以使用流水线技术提高查找速度。另外, 为了提高t c a m 中转发表的更新效率,由接口板控制管理模块完成转发表的更新 工作,减轻了网络处理器的负担。方案对i p v 6 具有很好的扩展性,方案从i p v 4 升级到i p v 6 ,只需要扩充t c a m 的位数就可以满足就要求。 关键词:路由查找,路由更新,多下一跳,t c a m a b s t r a c t 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 n t e m e t ,r e q u i r eh i g h e ra n dh i g h e rt ot h es p e e do f f o r w a r d i n go ft h ec o r er o u t e r a tp r e s e n t ,c o r er o u t e r sg e n e r a l l ya d o p tt h eh a r d w a r e r o u t i n 2t e c h n o l o g yw h i c hc o m b i n e dw i t hs r a mo nt h eb a s i so ft c a m ( t e m a r y c o n t e n ta d d r e s s a b l em e m o r y 、n i ea d v a n t a g e so ft c a ma r eh i g hl o o k u ps p e e da n d s i m p l eo p e r a t i o n f o r1 0 a db a l a n c i n ga n dp o l i c yr o u t i n g ,r o u t e r sh a v et o h o l d c o n s i d e r a b l er o u t e sw i t hm u l t in e x th o p s t h ee x i s t e n c eo f m u l t in e x th o p sr o u t1 so n e o f t h ei m p o r t a n tc h a r a c t e r i s t i c so f f o r w a r d i n gt a b l e ,b u ti ti n c r e a s e st h er o u t ea n dl o o k f o r , u p g r a d e st h ec o m p l e x i t yo fc o n c e p t u a ld e s i g n l o o k i n gf o rt h es c h e m ea c c o r d i n g t ot h et r a d i t i o n a lr o u t e s r a mm e m o r yc a r l tr e s p o n dt ot h er e q u e s tt h a ts u p p o r tm u l t i n e x th o p s ( 1 61w i t hl a r g ec a p a c i t yf o r w a r d i n gt a b l ei t e m s ( 5 1 2 k ) a tt h es a m et i m e f o rt h i sr e a s o n ,t h i st e x tb e c a u s eo ft c a mt e c h n o l o g y ,p u tf o r w a r do n es u p p o r ta ta h i 吐s p e e dr o u t i n gd e s i g nw i t hm u l t in e x th o p s t h ed e s i g nu s et c a m f i n do u t ,f i r s t c l a s si n d e xf o r n lv i s i t s e c o n di n d e xf o i t nv i s i t ,i n l a b e lf o r mv i s i t4i n d e p e n d e n t s t a g eg oo nt h er o u t e1 0 0 kf o re a c ho t h e l t h r o u g ht c a m t h e s h a r e dr e s o u r c ec o n f l i c t d o e sn o te x i s t c o i lu s et h et e c h n o l o g yo f 血ea s s e m b l yl i n et oi m p r o v et h es p e e do f l o o kf o r i na d d i t i o nf o ri m p r o v et c a mc h a n g e 仃a l n sn e w e re f f i c i e n c yt h a ti s s u e ,i s i tm a n a g eb yi n t e r f a c eb o a r dm o d u l ef i r t i s hn e w e rw o r kd e l i v e r e dt ot r a n s f e rt ot o c o n t r 0 1 h a v el i g h t e n n e dt h eb u r d e no ft h en e t w o r kp r o c e s s o r t h es c h e l t l eh a sv e r y g o o de x p a n s i o nt oi p v 6 ,t h es c h e m ei su p g r a d e df r o mi p v 4t oi p v 6 ,t h ef i g u r e n u m b e rt h a to n l yn e e d st oe x p a n dt c a mc a nb em e to nt h ed e m a n d k e yw o r d s :r o u t i n gl o o k u p ,r o u t i n gu p d a t e ,m u l t in e x th o p s ;t c a m ( t e r n a r y c o n t e n t a d d r e s s a b l em e m o r y ) i i 南开大学学位论文电子版授权使用协议 ( 请将此协议书装订于论文茸页) 论文支始, 觐编厕铝量毛铽亏d 里匍罐敛漫肝苫窦灿 系本人在 南开大学工作和学习期间创作完成的作品,并已通过论文答辩。 本人系本作品的唯一作者( 第一作者) ,即著作权人。现本人同意将本作品收 录于“南开大学博硕士学位论文全文数据库”。本人承诺:已提交的学位论文电孚 版与印刷版论文的内容一致,如因不同而引起学术声誉上的损失由本人自负。 本人完全了解直珏太堂图盅垣羞堡在! 僮旦堂僮逾塞鳆管堡壶选:同意 南开大学图书馆在下述范围内免费使用本人作品的电子版: 本作品呈交当年,在校园网上提供论文目录检索、文摘谢览以及论文全文部分 浏览服务( 论文前1 6 页) 。公开级学位论文全文电子版于提交1 年后,在校园网上允 许读者浏览并下载全文。 注:本协议书对于“非公开学位论文”在保密期限过后同样适用。 黧? 漂搿讯舌囝作者签名:陌、太碉3 学号:口z 。z 百年 日期:2 。f 年r 月2 七日 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名:下永久鹏 2 0 0 z 年f 月卫2 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年 月日 各密级的最长保密年限及书写格式规定如下: 内部5 年( 最长5 年,可少于5 年) 秘密l o 年( 最氏l o 年,可少于1 0 年) 机密2 0 年( 最长2 0 年,可少于2 0 年) 养轻 i 嚣 孑i 国恩 勿全文公布 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作 所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含 任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉 及的研究工作做出贡献的其他个人和集体,均己在文中以明确方式标明。本学 位论文原创性声明的法律责任由本人承担。 学位论文作者签名:f 雏大a 啦 2 口0r 年j 月卫2 日 第一章绪论 第一章绪论 路由器的主要任务就是接收来自网络接口的数据包,根据其中所含的目的 地址,寻找一条最佳传输路径,并将该数据包有效地传送到目的站点。为完成 这项工作,在路由器中保存着各种传输路径的相关数据一路由表( r o u t i n g t a b l e ) , 路由选择时,要按照某种路由协议,查找路由表。路由表中列出网络中包含的 各个节点、节点间的路径情况以及与它们相联系的传输费用。如果到特定的节 点有一条以上路径,则应基于预先确定的准则选择最优( 对于不同数据服务需 求有不同的含义) 的路径。由于各种网络段及其相互连接情况可能发生变化, 因此路由情况的信息需要及时更新。按照所使用的路由协议的规定,路由表应 定时更新或者按变化情况更新,以便保持有效的路由信息。此外,路由表还可 以由系统管理员固定配置。 随着i n t e m e t 的迅猛发展,用于主干网络互联的核心路由器的接口速率已经达 到t t b p s 。这一速率要求核心路由器每秒能够转发几百万乃至上千万个以上的 分组。分组转发的重要一步就是查找路由表,因此快速的路由查找算法是实现 高速分组转发的关键。随着c i d r ( c l a s s l e s si n t e r - d o m a i nr o u t i n g ) ,无类型域 间选路) 的提出,路由查找更为复杂,需要实现最长前缀区配。近年来,研究人 员提出了多种路由查找算法,以提高查找性能。 目前,t c a m ( t e r n a r yc o n t e n ta d d r e s s a b l em e m o r y ) “3 是一种比较流行的硬 件查找技术,它可以实现高速的路由查找。t c a m 芯片内部采用并行技术,可获 得0 ( 1 ) 的查找复杂度。目前市场上的t c a m 芯片的查找速度最快可达1 0 0 m 次s 。 与其他路由查找技术相比,t c a m 的技术优势在于查找速度快,实现简单。 核心路由器通过t c a m 和s r a m ( s t a t i cr a n d o ma c c e s sm e m o r y ) 相结合来组 织各种转发表。受t c a m 的限制,每个转发项都拆分成转发前缀和下一跳( 下一 跳地址、出接口、t o k e n ) ,转发前缀存放在t c a m 中,g r a m 中存储下一跳信息, t c a m 和s r a m 一一对应。查找某一网络的下一跳时,根据目的i p ( 如果是v f n , 根据v p n i d + 目的i p ) 在t c a m 中查找,t c a m 返回对应的s r a m 地址,路由器再从 s r a m 中查找下一跳信息。 转发表是路由器中重要的数据单元,它是路由查找转发的依据。由于安全、 第一章绪论 费用和带宽等因素,路由器需要为某些数据流做负载平衡和策略路由,在转发 表中为一些目的网络保存多个下一跳信息( 即多路负载分担) ,因此路由器的 转发表中存在着相当数量的多下一跳路由,即下一跳组。多下一跳路由( 下一跳 组) 的存在是转发表的重要特征之一,c i s c o 公司的核心路由器最多支持1 6 个下 一跳路由,它增加了路由查找方案设计的复杂度。目前对支持多下一跳路由的 高速路由查找方案还不多,普遍采用传统的路由转发方案。 传统的路由转发方案中,每一个转发前缀对应一个下一跳信息。对应1 3 个转 发前缀,即使下一跳信息完全相同,s r a m 也必须存在n 个下一跳。对于单下一跳 路由来说,s r a m 内层能够存下这些信息。但是对多下一跳路由来说,特别是对 有1 6 个下一跳路由的情况,s r a m 内存远远不够。 本文针对这种情况,提出了将下一跳分离的解决方案。该方案的主要思想是: 如果t c a m 中的n 个转发前缀对应的下一跳组信息完全相同,则使其指向同一个下 一跳组,而不是n 个相同下一跳组。因为传统的转发方案中,因为转发前缀和下 一跳组是一一对应的,当路由更新时,比较简单,只需修改相应下一跳组即可。 本方案中转发前缀和下一跳组是多对一的关系,当路由更新时,处理起来比较 复杂。网络处理器负责核心路由器的分组转发,为保障进行线速转发,减轻网 络处理器的负担,需要将路由表的更新工作放在接口板的控制管理模块中进行, 相应的下一跳分离也放在接口板的控制管理模块进行。为此又需要将控制管理 模块的下一跳分离表适配成网络处理器中转发表。 全文共分七章: 第一章,绪论。介绍了当前核心路由器路由查找的现状,描述了当前方案 对多下一跳路由的支持的缺陷,提出了本文的研究动机、背景以及完成的主要 工作。 第二章,t 比特核心路由器体系结构简介。本章从第一代路由说起,回顾了 路由器的发展演变过程,重点阐述了第五代路由器的体系结构,以及控制和转 发平面。最后介绍了网络处理器的构成、特点,处理数据的过程,利用t c a m 进 行路由查找的机制,以及关于i n t e i x p 系列路由器的介绍。 第三章,核心路由器应用。本章首先简单介绍了核心路由器的主要业务, 核心路由器主要支持i p v 4 i p v 6 ,m p l s ,m p l sv p n 的业务。首先介绍了i p v 4 的报 文、地址结构、选路协议、负载分担等。其后介绍了m p l s 的基本概念、标签分 发过程以及数据转发过程。最后针对m p l sv p n 做了进一步的介绍。 第一章绪论 第四章,下一跳分离的设计与实现。本章是本文的核心部分。从需要进行 下一跳分离的需求讲起,对下一跳分离的难点、数据结构、存储结构、分离流 程做了详细描述。接着讲述了经过下一跳分离后的网络处理器中的转发表的数 据结构、转发流程等。 第五章,总结与展望。对全文的工作进行了一个研究总结,并指出对于下 一跳分离方案的进一步研究和下一阶段的工作。 第二章t 比特核心路由器体系结构简介 第二章t 比特核心路由器体系结构简介 第一节路由器的发展演变 路由器是一种典型的网络层设备,用于连接多个逻辑上分开的网络,具有 在不同网络之间进行数据的存储转发功能。它可以根据不同的帧来传输数据, 完成网络层中继任务。它掩盖了下层网络的细节,使各类网络都在i p 层上达到 统一。 到目前为止路由器已经发展到第五代。 2 1 1 第一代路由器:c p u 结构 第一代路由器采用类似于计算机的体系结构。1 ,采用通用的c p u ,利用软件 转发分组。采用这种结构的原因是传统的路由器需要支持多种网络层协议。通 过软件实现各种协议,使得路由器很容易适应不同的网络环境。此时,如何建 立和维持路由比转发分组的速率更为重要。图2 一l 给出了第1 代路由器的结构: 一条共享总线连接了c p u ,存储器和所有的接口卡。每块接口卡收到分组后,将 分组通过共享总线送至c p u ;c p u 上运行软件对分组进行寻路;软件作出转发决 定后,该分组将再次通过共享总线送至输出接口卡,再由输出链路送出。显然, 这种路由器的性能主要由共享总线的吞吐率和主c p u 转发报文的速度决定。而 且所有的路由计算都在中央处理器上进行,在高速和动态变化的网络环境下, 路由计算的能力将制约路由器的转发速度。 图2 - 1 第一代路由器结构图 4 第二章t 比特核心路由器体系结构简介 2 1 2 第二代路由器:多处理器共享总线结构 第2 代路由器的结构如图2 2 所示,主要是对接口卡做了改进。在接口卡 上有一定容量的存储器,以及用来存储路由信息的本地c a c h e 。接收到分组后, 首先在本地c a c h e 中查找,如果没有找到转发项,则送给c p u ,由c p u 对分组寻 路。c p u 作出转发决定后,同时在相应接口卡的本地c a c h e 中加入该转发项,使 此后到达的属于该流的分组可以通过查找接口卡上的本地c a c h e 直接转发。这 种体系结构的主要问题是共享总线的容量限制,共享总线的容量直接限制了路 由器的吞吐率,成为系统无法避免的瓶颈。另一个问题是,这种体系结构很难 用在主干网络路由器上。接口卡上的本地c a c h e 只存储本接口卡转发过的路由 信息,没有完整的路由表,不能满足主干网络路由器需要具有很高的包转发速 度的要求。在这种情况下,网络接口卡上的高速缓存很难发挥作用,也就很难 减轻主c p u 的负担。为了解决这一闻题,可以在每个网络接口卡上都存放完整 的路由表,这样可以进一步增强这种路由器的能力。 二 图2 2 第二代路由器结构图 2 1 3 第三代路由器:分布式交换结构 在第三代路由器体系结构中,第二代结构中的系统总线被交换结构所代替, 如图2 3 所示。交换结构可以提供比共享总线高得多的带宽,以支持高速网络接 口。这种路由器中,每个报文的转发成了新的瓶颈。 第二章t 比特核心路由器体系结构简介 接口卡 信发表 接口卡 c p u , 转发表 接口卡, 转发表 交 换 矩 阵 通用c p u 、 存储嚣 图2 3 第三代路由器结构图 2 1 4 第四代路由器:基于a s i c 的分布式交换结构 图2 4 第四代路由器结构图 6 接口卡、 转发表 接口卡 转发表 接口卡, 转发表 第二章t 比特核心路由器体系结构简介 为了解决第三代路由器转发速率慢的情况,第四代路由器将线路卡i - c p u 用 a s i c ( a p p li c a t i o ns p e c i f i ci n t e g r e t e dc i r c u i t ) 芯片代替,如图2 4 所示。 a s i c 是专为处理骨干因特网连接而定制的硅片,具有转发速率高的特点。但是, 它的不足之处在于:灵活性差、成本高、开发周期长、修改费时等。 2 1 5 第五代路由器:基于网络处理器的分布式交换结构 第五代路由器在硬件体系结构上继承了第四代路由器的成果,在关键的工p 业务流程处理上采用了可编程的、专为i p 网络设计的网络处理器技术,如图2 4 所示。网络处理器通常由若干微处理器和一些智能协处理器组成,多个微处理 器并行处理,通过软件来控制处理流程。对于一些复杂的标准操作,如内存操 作、路由表查找算法、q o s ( q u a l i t yo fs e r v i c e ) 的拥塞控制算法、流量调度 算法等,采用智能协处理器来提高处理性能。这样实现了业务灵活性和高性能 的有机结合。 第五代路由器与第四代路由器相比较,主要有下面几个方面的特点:采用大 容量的交换网结构;采用网络处理器技术实现i p 报文处理和转发,适应网络发 展的需求,快速响应用户的业务需求:通过支持v p n ( v i r t u a lp r i v a t en e t w o r k ) 技术、 i p - q o s 技术、i p l s 技术、流量工程技术等,满足不同用户不同应用的需 求;充分考虑电信用户的需求,满足用户对安全性、稳定性、可靠性的要求。 第二章t 比特核心路由器体系结构简介 图2 - 5 第五代路由器结构图 第二节基于网络处理器的第五代核心路由器 核心路由器跚就是使用在广域网或大型城域网上,具有交换容量大( 般在 几百g b p s 到几十t b p s 的范围) 、端口速率高( 一般再i g b p s 到4 b p s ) 和高可靠性 ( 满足典型级要求) 等基本特征的路由器。 2 2 1 第五代核心路由器结构 第五代核心路由器属于高端路由器。主要的特点是转发与控制相分离”,分 成控制平面和转发平面两部分。控制平面负责整个路由器管理和监控,主要包 括路由表的管理和系统的配置与管理,与其它路由器交换路由信息,以及对各 个模块监控。转发平面主要负责数据的转发,保证实现线速转发。以6 4 字节报 第二章t 比特核心路由器体系结构简介 文的处理为例,o c 一1 9 2 ( 1 0 g b p s ) 接口如果实现线速转发则要求3 2 n s 处理一个报 文。第五代核心路由器结构,如图2 6 所示。 图2 6 第五代核心路由器结构图 9 第二章t 比特核心路由器体系结构简介 2 2 、2 控制平面 控制平面包括:主控板、接口板控制模块和备用主控板。 主控板是路由器的控制中心,主控板主要包括路由管理模块,转发表维护模 块,监控模块等。 路由管理模块根据网络管理员配置的静态路由生成静态路由信息。同时路由 管理模块上运行各种路由协议,如:r i p ( r o u t i n gi n f o r m a t i o np r o t o c o l ,路 由信息协议) 、o s p f ( o p e ns h o r t e s tp a t hf i r s t ,开放式最短路优先) 和b g p ( b o r d e rg a t e w a yp r o t o c o l ,界网关协议) 等。通过这些路由协议动态学习路 由信息。路由管理模块维护一张路由表,用于存储所有的路由信息。通过不同 路由协议学习到的达到同一目的地址的路由可能不同,例如,对于目的地址为 2 0 2 1 1 3 2 5 1 1 5 2 4 ,r i p 可能学习到的下一跳为2 0 2 1 1 3 2 5 1 ;而o s p f 学习到 的下一跳为2 0 2 1 1 3 2 5 2 。这样,路由表可能存储多条到达同一目的地址的路 由,路由管理模块根据一定的优先级选取一条“最优”的路由,传送给转发表 维护模块,如果2 - 7 所示。 土扛仪 路由管理模块 转发表维护模块 搏n 妊 一 爻h 愀 接口板控制模块 l 上行网络处理器 图2 7 路由更新流程图 主控板上的转发表维护模块接收来自路由管理模块的“最优”路由,根据不 同的指令增加、删除、修改转发表项。同时通过板问通信将这些转发表项下发 l o 第二章t 比特核心路由器体系结构简介 给接口板的控制管理模块。 监控模块负责管理各个接口板,根据各个接口板上送的运行状态和统计数 据,进行相应的处理。例如:当接口板的温度偏高,可以给接口板控制模块下 发指令,提高风扇的转速;如果温度还在增高,则可以关闭该接口板,等待一 定时间后再重新启动该接口板。 接口板控制管理模块也维护一张转发表,各接口板可以独立地进行数据包的 转发工作。即使当主控板崩溃时,还可以进行数据转发,可靠性更高。接口板 控制模块将从主控板接收到的转发表,存储至0 本接口板的转发表中,同时下发 给上行网络处理器中的智能协处理器。控制模块还负责把本接口板的运行状态 和统计数据上送给主控板,根据主控板的指令进行相应的处理。 备用主控板具有同主控板一样的功能,平时并不启动,只是和主控板间定时 传递信号,一旦主控板崩溃,备用主控板在一定时问内没有收到主控板的信号, 备用主控扳启动,完成主控板的功能。 2 2 3 转发平面 转发平面包括:线路接口、上行网络处理器、下行网络处理器和交换矩阵。 线路接口是数据包进出物理链路的接口,它的功能主要是进行数据链路层的封 装解封装,核心路由器支持o c 一1 9 2 ( 1 0 g b p s ) 接口;上行网络处理器在转发表中 查找输入包目的地址从而决定目的端口( 称为路由查找) ;下行网络处理,从交 换矩阵接收到报文后,根据下一跳地址的不同,在a r p ( a d d r e s sr e s o l u t i o n p r o t o c 0 1 ) 表中,查找匹配的目的m a c 地址。再将报文发送到线路接口:交换结 构用于连接转发和输出,实现数据包的转发,本核心路由器采用c r o s s b a r 交换 矩阵结构,实现快速交换。 第三节网络处理器 网络处理器( n e t w o r kp r o c e s s o r ,n p ) 是一种专用的、可编程的硬件设备”1 , 它结合7 r i s c 处理处理器的低成本、灵活性及a s i c 芯片的高速度和可扩展性。 网络处理器正成为构建网络系统的基本组件。 第二章t 比特核心路由器体系结构简介 2 3 1 网络处理器的构成 网络处理器主要由两组硬件单元组成,即专用智能协处理器和网络处理器单 元。专用智能协处理器通常由嵌入式处理器构成,是网络处理器内部的核心, 控制其他硬件单元包括管理外接存储器单元,需要嵌入式操作系统的支持,通 过运行在操作系统之上的路由协议软件包,主要完成路由信息的接收、处理和 发送,并根据一定路由算法,生成可供查询的转发表。网络处理单元( 一般是 多个) 通常采用多线程结构,主要完成数据包接收发送、包头处理和路由查询 等功能吲。 网络处理器之所以具有高速的特性,很大程度上来源于其硬件结构: ( 1 ) 由于网络处理器剔除了一些不必要的通用处理器的特性,专注于数据报 文的处理,使得报文的处理过程变得非常简洁,不需要浮点计算单元、存储器 管理单元和某些复杂的结构,如地址模式或存储器译码模型等。另外,网络处 理器的指令缓存可以很小,通常不需要数据缓存,因为绝大部分数据不会被重 新使用。 ( 2 ) 采用多个报文引擎并行工作结构。报文引擎具有本地高速缓存,可以独 立处理本地数据报文,完成路由转发。多引擎并行结构改变以往仅靠单纯提高 处理器速度的方式,可大大提高单片网络处理器的处理能力。 ( 3 ) 内部采用多总线结构,每个报文引擎均有专用的请求f i f o 、命令f i f o 和数据f i f o ,从而保证命令传送、数据存储、路由查询能同时进行而互不影响。 另外,网络处理器中含有外部存储器接口和步 部搜索引擎接口,因此在进行数 据存储以及与外部搜索引擎通信时,不需要网络处理单元的介入,大大节约了 处理时间。 ( 4 ) 采用多线程结构。报文引擎在处理一个报文过程中,遇到过度访问存储 器等耗时操作时,该线程处于“挂起”状态,并立刻切换到其它线程继续处理。 这样,报文引擎将不会浪费时间去等待存储器返回的结果,以接近峰值的效率 进行操作。线程裁决器决定线程切换,它通常维护很多逻辑寄存器的额外拷贝, 保存着不同线程的状态。因此,切换线程只需要将程序指向另外的一组寄存器 即可完成。多个线程既有共享的寄存器又有单独使用的寄存器,相互配合完成 报文处理。 第二章t 比特核心路由器体系结构简介 2 3 2 网络处理器数据帧处理过程 物理层处理器处理光信号,然后进行必要的分帧( 主要是方便网络处理器的 快速并行处理,通常以6 4 字节和1 2 8 字节为单位) 。网络处理器通过高速并行数 据总线得到数据帧,开始处理含有包头的数据帧。 首先,通过分析包头,判断数据包的类型 9 。根据包的类型可以分为三大 类:i p v 4 、i p v 6 、m p l s 。对这三种报文进行不同的路由处理。然后,将数据包 发送到交换矩阵,交换矩阵根据出接口,将数据交换到相应的下行接口板。下 行接口板的下行网络处理器根据下一跳i p 地址,在a r p 表中查找下一跳的m a c 地 址,再通过数据总线发送到物理层处理单元。 对于i p v 4 报文而言,区分控制包或是普通i p 数据包,除了普通i p 数据包,都 可以通过慢速通道交给智能协处理单元处理。对于普通的i p 数据包,根据是否 有v p n i d 来判断是否属于v p n 。如果属于v p n 受t j 查询转发表,得到v p n 标签( 内层 标签) 和m p l s 标签( 外层标签) 以及出接口、下一跳i p ,打上两层m p l s 标签, 发送给交换矩阵,交换矩阵根据出接口送到相应的下行接口板。如果不是v p n 路 由,则得到下一跳信息( 下一跳i p 、出接口) ,进行普通i p 转发。 对于m p l s 报文而言,根据m p l s 包头的入标签,查找i 峨,得到对入标签相 应的操作。对l s r ( l a b e ls w i t c hr o u t e r ) 而言,以入标签为索引,查找到对应 的出标签、出接口、下一跳i p 等信息,交换标签,发送给交换矩阵。对l e r ( l a b e l e d g er o u t e r ) 而言,查找i l m 表,需要弹出标签,如果这个标签已经是栈底了, 进行普通的i p 转发。如果还有一层标签,则根据内层标签,进行v p n 的查找,得 到出接口、下一跳i p ( 对应的c e 的地址) ,发送到交换矩阵。 对于i p v 6 而言,数据的处理和i p v 4 类似,这里不再赘述。 2 3 3 路由查找机制 核心路由器一般都采取基于t c a m 的方法进行路由查找。 随着骨干网络速度的快速增长,以往采用软件实现路由查找的方法己渐渐不 能适应要求,目前绝大部分核心路由器都是通过硬件来实现路由查找。用软件 实现具有灵活的特点,很容易随着协议的调整而改变,但是现在i p v 4 、i p v 6 己 经得到广泛的应用,无论是其地址结构还是最长前缀匹配的机制在将来都不太 可能发生变化。 第二章t 比特核心路由器体系结构简介 目前在硬件实现方案中,最多的是采用c a m ( c o n t e n ta d d r e s s a b l em e m o r y ) 来进行路由查找,c a m 的最大特点是在理想的情况下可以在一个时钟周期内完成 对所有表项的匹配。它把输入的要匹配的内容作为索引,并行的与存储阵列中 的所有单元同时比较,并给出匹配结果。最初c a m 只存储0 和1 两种状态,称 为b i n a r y c a m 。这种c a m 只适用于定长的完全匹配,如果用这种方法查找i p v 4 的3 2 位地址,需要3 2 片c a m ,为了能够保证存储n 个表项,在不知道前缀分布 的情况下每个c a m 都需要有n 个表项的空间,这就大大降低了c a m 的利用率。 为了能够克服上述方法的缺点,又提出了一种c a m 的实现机制t c a m ( t e r n a r y c a m ) ,t c a m 的优点是它所保存的表项在长度要求上非常灵活,可以在同一个t c 删 芯片中保存任意长度的关键字表项。t c a m 中每一个表项都是以 序 偶的形式保存,假设地址关键字的长度范围从1 到w ,那么地址和掩码分别占用 w 比特。对于关键字长度为y ( 1 _ y - w ) 的表项来说,它的掩码前y 个比特为1 , 而剩下的w _ y 比特为0 ,它的地址后w - y 个比特可以是0 或者1 。例如,假设w 为5 ,那么地址前缀1 0 就可以用序偶 表示。 本系统中,网络处理器通过t c a m 和s r a m 相结合的方案,维护路由表。t c a m 中存储目的i p + v p n i d ,s r a m 中存储下一跳信息( 下一跳i p 、t o k e n 、出接口) 。 t c a m 和s r 删的表项是一一对应的。 2 4 4 典型网络处理器 i n t e li x p 网络处理器 1 0 包括i x p l 2 0 0 ,i x p 2 8 0 0 ,i x p 2 4 0 0 ,i x p 2 8 5 0 和 i x p 4 x x 系列等,它们是在i n t e li x p1 2 0 0 基础上发展起来的。从网络用户到网 络核心,i n t e l 为了满足其需求,对产品做了裁减,融合了多处理技术、高性能、 低功耗、i n t e lx s c a l e 内核技术和简易编程等优点,支持增值网络服务线路速 度达o c - 1 9 2 l o g b p s ,在提高线路速度和降低成本的同时,增加了网络服务功能。 i x p l 2 0 0 网络处理器可以广泛用于局域网和电信领域,具有高性能、低功耗 和适应性广等特点。 i n t e li x p 2 4 0 0 i x p 2 8 0 0 1 1 是i n t e l 公司第二代网络处理器系列的成员, 它基于第一代网络处理器的i x p l 2 0 0 ,在一块芯片上集成了高性能的并行处理, 包括复杂的算法处理、深层的包监控、流量管理以及包的线速转发。基本结构 包括: 4 第二章t 比特核心路由器体系结构简介 x p 2 4 0 0 和i x p 2 8 0 0 分别集成了8 个和1 6 个独立的3 2 位r i s c 多线程微引 擎( m i r c o e n g i n e ) ,i x p 2 4 0 0 的微引擎按工作频率可分为6 0 0 m h z 和4 0 0 m h z 两种 型号,前者可以支持o c 一4 8 ( 2 5 g b p s ) 的传输速度;i x p 2 8 0 0 的微引擎按工作频 率可分为1 4 g h z 和1 o g h z 两种型号,前者可以支持o c 一1 9 2 ( 1o g b p s ) 的传输速 度。 i x p 2 4 0 0 和i x p 2 8 0 0 分别具有可存4 k 和8 k 条指令的微引擎程序存储器。 基于x s c a l e 内核的智能协议处理器,工作频率分别达6 0 0 m t t z 和7 0 0 m h z , 数据通路为3 2 位。可以完成复杂的算法处理、路由表维护以及系统管理等功能 的高性能处理。 具有6 4 位6 6 心z 的p c i 接口。 i x p 2 4 0 0 集成2 个s r a m 接口和1 个r d r a m 接口;i x p 2 8 0 0 集成4 个s r a m 接口和3 个r d r a m 接口。 i n t e li x p 2 4 0 0 i x p 2 8 0 0 的后续产品i x p 2 8 5 0 也是在一块独立的芯片上集成 了高性能的包处理和充分的网络安全支持。i x p 2 8 5 0 的硬件机制可以使目前比较 流行的加密和数据完整性标准的实现达到l o g b p s 的速度。i x p 2 8 5 0 使i n t e l 的 可编程高性能网络处理器体系结构以及网络交换结构更加完善。 i x p 4 x x 系列网络处理器专门用于中小型应用。 第四节小结 本章首先介绍了路由器的发展演变过程,然后详细描述了第五代路由器的体 系结构,及其控制平面和转发平面。最后介绍了网络处理器的构成、特点,处 理数据的过程,利用t c a i 进行路由查找的机制,以及典型的i n t e i x p 系列路 由器。 第三章核心路由器应用 第三章核心路由器应用 核心路由器支持的业务很多,其中最重要的是支持i p v 4 v 6 、m p l s 、v p n 的 数据转发。 第一节i p 路由 众所周知,t c p i p 协议的体系结构定义了四个层次:数据链路层、i p 层、 t c p u d p 层、应用层。其中,i p 层是t c p i p 体系结构中最为核心的一层。所有 的t c p 、u d p 、i c m p 、i g m p 等数据都以i p 数据报格式传输。 i p 层负责将数据分组从源转发到目的地 1 2 3 。在网络中,为将分组准确地 发送到其最终目的地所必需的信息都保存在分组中。i p 层从它的上层接收到信 息以后,就将i p 分组头添加到接收的信息之后,然后将其向下提交给下层的数 据链路层,通过特定的介质发送。i p v 4 分组头的格式如图3 1 所示。 o 4 81 6 2 4 3 1 版本包头长度服务级别报文长度 标识标志 分段偏移 生存期用户协议号报头检验和 源m 地址 目的口地址 任选项 源端口号目的端口号 数据 图3 - 1i p v 4 分组头 在每一个分组中,都包括一个目的i p 地址的字段,i p 层利用这个字段信息 来把分组转发到其目的地。 3 1 1 l p v 4 地址 i p 的原始版本i p v 4 1 3 ,使用3 2 位的二进制地址,每个地址组织成由点分隔 的8 位数,每个8 位数被称为8 位位组,二进制数表示对机器很友好,但却不易被 1 6 第三章核心路由器应用 用户所理解。为了方便人们的使用,对机器友好的二进制地址转变为人们更熟 悉的十进制地址。ip 地址中的每一个8 位位组用0 2 5 5 之间的一个十进制数表 示。这些数之间用点( ) 隔开,例如:1 2 1 0 0 1 ,这就是所谓的点一十进制格 式。每个地址都是成对的,即网络号、主机号。其中网络号标识某个网络,主 机号标识该网络上的某台主机。 最初,为了适应不同规模的网络,将i p 地址分为五类,如图3 2 所示。其中 有三种最主要的:a 类地址、b 类地址、c 类地址。 a 类地址从1 0 0 0 至i j l 2 6 0 0 0 。最高一位为0 ,表示a 类地址,7 比特用于网 络号,2 4 l p , 特用于主机号。 b 类地址从1 2 8 1 0 o n l 9 1 2 5 5 0 0 。最高两位为1 0 ,表示b 类地址,1 4 比特 用于网络号,1 6 比特用于主机号。 c 类地址从1 9 2 0 1 0 至t j 2 2 3 2 5 5 2 5 5 0 。最高三位为1 1 0 ,表示c 类地址,2 1 比特用于网络号,8 比特用于主机号。 7 垃2 4 啦 麟田亘夏 二二二二五更要= 二二 1 4 位1 6 位 b 龚田耍二j 塑匿二 二二二匦匮 2 1 健 s i f t c 鼗匿亚汇二二二 殛蔓二工 ! 盈 2 9 垃 d 娄田耍匝 二= = 二j 匾甄= 2 7 罐田互亚圜二二= 二二亘至夏匹 图3 2i p 地址类型 a 类和b 类地址为主机号分配了太多的空间,可分别容纳的主机数为2 2 4 2 和2 1 6 2 。事实上,在一个网络中人们并不安排这么多的主机。为此现在所有 的主机都要求支持子网编址,子网编址不是把ip 地址看成由单纯的一个网络号 和一个主机号组成,而是把主机号再分成一个子网号和一个主机号。这样一个 i p 地址变成了三级:网络号、子网号、主机号。使用子网掩码来确定子网的长 度。子网掩码是一个3 2 b i t 的值,其中值为1 的比特留给网络号和子网号,为0 的 比特留给主机号。假设一个地址为1 4 0 1 2 2 5 1 0 ,它是一个b 类地址,如果子网 掩码为2 5 5 2 5 5 2 5 5 0 ,那么网络号为1 4 0 1 2 ,子网号为:2 5 ,主机号为1 0 。虽 第三章核心路由器应用 然子网划分增加了i p 地址分配的灵活性,并在一定程度上缓解了i p 地址匮乏的 困难。但同时增加了路由表的长度,导致查找路由表的时间变长,路由器转发 分组变陧。为解决这个问题,专家们提出c i d r ( c l a s s l e s si n t e r d o m a i nr o u t i n g , 无类型域间选路) 的方案。 i p v 4 地址空间仍保留了大量可获得的地址,但这些潜在地址的大部分被浪费 在已分配的有类地址中。消除类别能使剩下将被使用的地址被更有效地使用, c i d r 是传统地址分配策略的重大突破,它完全抛弃了有类地址,以前的有类地 址用8 位表示一个a 类网络号,1 6 位表示一个b 类网络号,2 4 位表示一个c 类网络 号。c i d r 用网络前缀代替了这些类。前缀可以任意长度,而不仅仅是8 位,1 6 位 或2 4 位。这允许c i d r 根据网络大小分配网络地址空间,而不是在预定义的网络 地址空间中作裁剪。 c i d r “”在实际应用中采用斜线标记法来标记i p 地址。例女n 1 9 6 1 0 0 3 2 2 0 表示前2 0 比特为网络前缀,后1 2 比特为主机号。使用c i d r 还可以标记一个地址 块,例如1 9 6 2 0 0 0 0 2 0 表示一个地址块,这个地址中包括1 6 个c 类网,共有4 0 9 6 个i p 地址。如果这1 6 个c 类网的下一i p 地址都相同,在路由表中可以聚合为一个 一个表项,大大地减少了路由表的长度。由于使用了c i d r 技术,当前因特网主 干路由表的长度只有没使用c i d r 时的6 0 ,这就大大地提高了路由器转发分组 的速度。 3 1 2l

温馨提示

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

评论

0/150

提交评论