(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf_第1页
(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf_第2页
(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf_第3页
(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf_第4页
(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf_第5页
已阅读5页,还剩88页未读 继续免费阅读

(计算机软件与理论专业论文)微码模块在宽带远程接入服务器中的研究与实现.pdf.pdf 免费下载

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

文档简介

南京邮电大学 硕士学位论文摘要 学科、专业:工科、计算机软件与理论 研究方向:软件技术及其在通信中的应用 作者:二零零七级硕士研究生:必指导教师:处知篮塾援 题目:微码模块在宽带远程接入服务器中的研究与实现 英文题目:t h er e s e a r c ha n di m p l e m e n t a t i o no fm i c r o b l o c k si nn e t w o r k p r o c e s s o rb a s e db r a s 关键词:网络处理器i x p 2 8 0 0 ,微引擎,微码,宽带远程接入服务器 英文关键词:i n t e ln e t w o r kp r o c e s s o r2 8 0 0 ,m i c r o e n g i n e , m i c r o b l o c k ,b r o a dr e m o t ea c c e s ss e r v e r 课题来源: 1 国家自然基金项目( 6 0 9 7 3 1 4 0 f 0 2 0 8 ) 2 江苏省自然基金项目( b k 2 0 0 9 4 2 5 ) 3 江苏省高校自然基金项目( 0 8 k j b 5 2 0 0 0 5 ) 4 中兴科技基金项目:b r a s 高端接入服务器 南京邮电火学硕士研究生学位论文 中文摘要 - 中文摘要 本文分析了网络处理器在网络数据包处理方面的特点和优势,阐述了当前网络处理 器在性能和结构等方面的理论研究和在各类网络设备开发中的应用研究,提出设计和实现 宽带网络接入服务器的线卡网络处理器微码模块。 设计宽带远程接入服务器的线卡微码系统,实现网络处理器微引擎多线程并行包处 理、路由转发、用户接入业务识别处理和q o s 服务,提高b r a s 软件系统的稳定行和可 靠性,关键在于掌握网络处理器的多微引擎多线程并行的零开销切换技术和包深层协议的 识别技术,利用微引擎微码编程。 本文研究了宽带远程接入服务器的应用场景和功能需求,简要介绍了b r a s 的总体 设计、硬件架构和软件架构设计,重点阐述了b r a s 线卡网络处理器微码模块的设计和 实现,及其在b r a s 软件系统中的位置和作用。同时,对与微码模块紧密相关的网络处 理器x s c a l e 核上的两大模块,p p p o e 接入业务和微码驱动模块设计也做了描述。 论文主体阐述在线卡两块网络处理器i x p2 8 0 0 上设计和实现微码的上、下行处理模 块。上行包括接收模块、处理模块、t x模块和发送模块,下行微码包括接收模块、 封装模块、拥塞避免模块、队列管理模块t h r 、o u 调g h 度模块和发送模块。文章具体介绍了各模块 微码流程和功能实现所使用的算法,以及模块之间的通讯结构和模块所使用的重要数据结 构。 为测试b r a s 线卡微码模块,本文搭建了宽带远程接入系统实验环境,对b r a s 线 卡微码系统的上、下行模块进行测试。实验结果表明,采用i n t e li x a 构架的线卡网处理 器微码系统设计运行性能稳定、可靠,基本达到预期1 0 g 线速路由转发网络流量并能够 有效处理用户接入业务,从而验证了微码系统的有效性和可靠性。 关键词:网络处理器i x p2 8 0 0 ,微引擎,微码,宽带接入服务器b r a s ! a b s t r a c t t h i sp a p e ra n a l y z e sf e a t u r e s a n da d v a n t a g e so fn e t w o r kp r o c e s s o r si nt h en 咖o r k d 纠【a p r o c e s s i n g ,e x p o u n d st h e o r e t i c a lr e s e a r c hi na s p e c t so fn e t w o r kp r o c e s s o rp e r f o r m a n c ea n d s t r u c t u r a la n da l s oa p p l i c a t i o nr e s e a r c ho fv a r i o u st y p e so fn e t w o r k p r o c e s s o r - b a s e de q u i p m e n t , t h e np u t sf o r w a r dt h e p r o p o s a lo fd e s i g na n di m p l e m e n t a t i o nm i c r o c o d em o d u l e so ft h e n e t w o r kp r o c e s s o rb a s e dl i n e c a r do fb r o a d b a n dn e t w o r ka c c e s ss e r v e l i nt h i sp a p e r , t h ea u t h o rs t u d i e st h ea p p l i c a t i o ns c e n a r i o sa n df u n c t i o n a lr e q u i r e m e n t so f t h eb r o a d b a n dr e m o t ea c c e s ss e r v e r , o u t l i n e st h eo v e r a l ld e s i g n ,t h eh a r d w a l a r c h i t e c t u r ea n d s o f t w a r ea r c h i t e c t u r ed e s i g no fb r a s ,f o c u s e s o nl i n e c a r dm i c r o c o d em o d u l e sd e s i g na n d i m p l e m e n t a t i o n m e a n w h i l e ,t h ea u t h o rm a d ead e s c r i p t i o no ft h et w ox s c a l en 1 0 d u l e sc l o s e l v r e l a t e dt ot h em i c r o c o d em o d u l e s ,p p p o ea c c e s sm o d u l ea n dm i c r o c o d ed r i v e rm o d u l e t h em a i nb o d yo ft h i sa r t i c l ed e s c r i b e si m p l e m e n t a t i o no f i n g r e s sa n de g r e s sm i c r o c o d e m o d u l e si nt h et w oi x p2 8 0 0o ft h e l i n e c a r d ,s p e c i f i c a l l yd e s c r i b e st h em i c r o c o d ef l o w c h a r t ,a l g o r i t h m sc h o s e nt oa c h i e v et h ef u n c t i o no fe a c hm o d u l e ,c o m m u i l i c a t i o n 鼬r u c t u r e b e t w e e nm o d u l e sa n d m a j o rd a t as t r u c t u r e su s e db ym o d u l e s t ov e r i f yt h ee f f e c t i v e n e s sa n dr e l i a b i l i t yo fi n t e li x a a r c h i t e c t u r em i c r o c o d es y s t e m a t t h ee n do fp a p e r , t h ea u t h o rs e t su pa r e a l i s t i cb r o a dr e m o t ea c c e s se r i r o i u 1 1 e n tt ot e s ti t su s e r a c c e s sr e c o g n i t i o na n d 10 gl i n e s p e e dr o u t i n gf o r w a r d i n gf u n c t i o n t h e e x p e r i m e n t a l r e s u l t ss h o w st h a tt h ed e s i g no fm i c r o c o d em o d u l e sh a sa c h i e v e d t h ee x p e c t e dg o a l k e yw o r d s :i x p 2 8 0 0n e t w o r kp r o c e s s o r ,m i c r o e n g i n e ,m i c r o c o d e ,b r o a d b a l l dr e m o t e a c c e s ss y s t e m - i i 南京邮电大学硕士研究生学位论文 目录 目录 中文摘要i a b s t r a c t i i 第一章引言。l 1 1 课题背景1 1 2 课题来源2 1 3 论文结构安排3 第二章相关技术研究4 2 1 路由器技术4 2 2 网络处理器技术5 2 2 1 网络处理器内部结构5 2 2 2 网络处理器i x a 构架7 2 3 国内外应用研究现状例析1l 2 3 1 理论方面研究j 1 l 2 3 2 各类应用研究1 2 2 3 3 讨论1 3 2 4 本章小结1 3 第三章b r a s 系统设计1 4 3 1 总体设计1 4 3 2 系统结构设计。1 6 3 2 1b r a s 硬件架构设计1 6 3 2 2b r a s 软件架构设计。l8 3 3 网络处理器软件设计2 l 3 3 1x s c a l e 软件设计2 l 3 3 2 网络处理器微码设计2 3 3 4 本章小结2 5 第四章微码模块和算法实现2 6 4 1 微码框架设计2 6 4 2 上行微码实现2 7 4 2 1 接收模块( r 妁2 9 4 2 2 处理模块( p r o c e s s ) 3l 4 2 3 发送派送模块4 8 4 2 4 发送模块( t x ) 5 0 4 3 下行微码实现5l 4 3 1 接收模块( r 均5 2 4 3 2 封装模块( e n c a p ) 5 3 4 3 3 拥塞避免模块( w r e d f r d ) :5 8 4 3 4 队列管理模块( q m ) o 6 l 4 3 5 调度模块( s c 8 ) 。6 4 4 4 本章小结:6 8 第五章系统性能测试6 9 1 l i 南京邮电大学硕士研究生学位论文目录 5 1 测试工具简介一6 9 5 2 搭建测试环境7 0 5 3 测试模型7 2 5 4 实验和数据。7 3 5 5 本章小结。7 8 第六章总结与展望。7 9 6 1 结论。7 9 6 2 展望。8 0 附录81 j $ 【 谢8 4 参考文献。8 5 攻读硕士学位期间的学术论文与专利8 7 攻读硕士学位期间参加的科研项目8 8 南京邮电大学硕士研究生学位论文 第一章引言 第一章引言 随着网络处理器在网络设备的研发设计中不断应用发展,网络处理在性能、价格、研 发周期、研发难度方面,比用传统的通用处理器、专用集成电路、现场可编程门阵列等具 有越来越明显的综合优势,逐渐受到更多的设备厂商的青睐。应用领域也不断拓展 1 】, 从简单数据转发的普通路由器,到用于深层协议识别的入侵检测系统。从只有一个简单高 层业务的专用设备,到集成多种高层业务的通用智能设备。研究人员对性能不断升级的网 络处理器,充满着好奇和期待,各种在网络处理器基础上开发设计的新型网络设备将随着 研究的深入而不断涌现。 1 1 课题背景 图1 1b r a s 在网络中的位置 目前宽带互联网服务已经在全球逐步普及,在国内也将成为电信运营商新一代承载 网的基础。在不久的将来,借助宽带互联网络的高速互联,运营商可以实现传统电讯服务 向高速以太承载网的无缝嫁接。在统一的网络基础上实现三网融合、不断催生新的电信增 值业务。远程接入服务器是实现宽带互联网络增值的关键设备之一。它连接宽带用户的 i p a t m 网的数据接入和骨干互联网,在网络中的位置如图1 2 所示。目前网络主要接入 技术多种多样,主要有基于x d s l 、c a b l em o d e m 、高速以太网接入技术、无线宽带接入 1 南京邮电大学硕士研究生学位论文第一章引言 技术等,远程接入服务器可以实现多种业务的汇聚和转发,解决不同用户对传输容量、带 宽利用率等要求,为用户提供v p n 服务、构建企业内部i n t e m c t ,负责接入用户的管理和 控制。 在接入服务器这个概念提出之前,实现用户汇聚任务的网络设备一直是路由器。传 统的路由器只起到网络互联的作用,没有用户的概念,只有流的概念,不利于电信精细化 管理,没有对网络流量进行计费的功能。宽带网络接入服务器b r a s 替代了原来汇聚层 上的路由器之后,不仅能够完成具有路由器的网络互联实现数据高速路由转发功能,更重 要的是可以对大量的接入用户管理和计费。 b r a s 和路由器的比较如表1 1 所示。b r a s 易于快速扩容和增加新功能,可满足各 _ ? 种不同类型的运营商和服务提供商的需要。具有简单、高效、统一的用户管理模式,提供 灵活的多种多种认证、计费和管理方法。 表1 1b r a s 和路由器之间的比较表 b r a s路由器 嵌入式网管、s n m p 、 设备嵌入式网管、s n m p 、r m o n r m o n 管理平面 用户用户管理、a a a 、r a d i u s无 设各路由协议以及其他信令 路由协议以及其他信令 控制平面 用户p p p o x 协议处理、用户认证无 数据平面设备p p p o x 接入,d h c p 接入,路由方式,互连互通 通过对表1 1 的比较分析,我们可以看出对于路由器所具有的管理、控制和数据平面 的各种业务功能,b r a s 接入服务器也具备;而b r a s 在用户接入协议和管理控制方面添 加实现了新的内容。这些也是本课题所要研究的主要方向。本文的工作正是在这样的背景 下产生的。 1 2 课题来源 本课题来源于中兴科技基金项目,该项目主要对电信级宽带接入服务器进行研究。该 项目包括i x p 2 8 0 0 微码模块、x s c a l e 驱动模块、p p p o e 拨号模块、地址管理模块、用户 2 南京邮电大学硕士研究生学位论文第一章引言 管理模块、身份识别认证计模块、认证计费数据库r a d i u s 模块、网络日志模块、m c a s t 模块等多个子模块。本文中的内容属于该项目中一个子模块,并且涉及到其它模块。 本文的主要目标是研究并实现宽带远程接入服务器网络处理器线卡i x p 2 8 0 0 微引擎 的微码系统,在实现高速路由转发的基础上,设计实现对网络用户p p p o e 接入的识别和 管理。即构建微码的两条通路,一条快速通道,利用i x p 2 8 0 0 多微引擎多线程快速路由 转发的数据包;另一条慢速通道,利用微码对各种网络协议报文进行识别分类,交给b r a s 软件系统中的其他模块进行处理,特别是对接入用户协议的处理。设计实现的微码系统满 足以下三个要求: 0 ) b r a s 微码系统运行安全、稳定,无明显故障。 ( 2 ) 微码系统与b r a s 软件构架中的其他子模块,能够协同工作,通讯顺畅无阻碍。 ( 3 ) 微码系统对协议数据能够识别分类和上送,对转发数据包的处理能力达到线速要 求,能够查询访问各种驱动下发表项,并按照上层平台的配置信息管理控制接入用户数据。 1 3 论文结构安排 全文主要分为六个章节,其内容组织如下: 第一章简要介绍了本课题的研究背景、课题来源、项目的研究内容。 第二章对实现b r a s 宽带远程接入服务器网络处理器板卡微码模块的相关技术作了 简要分析,对i x p 2 8 0 0 网络处理器内部的关键编程部件的物理特性和编程方法作了说明。 在第三小节还对目前国内外网络处理的理论研究和应用研究进行了分析和讨论。 第三章介绍了课题b r a s 宽带远程接入服务器的定位和需要实现的功能。简要介绍 了中兴通讯公司为b r a s 在高端路由器基础上改进设计的硬件构架,然后对b r a s 的整 个软件构架做了介绍。第- d , 节专门对网络处理器软件的设计单独介绍,包括在网络处理 器x s c a l e 核上实现的业务接入模块和驱动模块,以及微引擎微码模块的总体设计。 第四章阐述了网络处理器微码模块的设计与实现过程。首先对微码模块的软件框架 做了介绍,然后分别讲述了阐述了b r a s 上行微码的接收模块、处理模块、t xt h r o u g h 模块和发送t x 模块,下行微码的接收模块、封装模块、队列管理模块的具体设计实现过 程,文中涉及到的重要宏函数都使用微代码进行了表述。 第五章为模型系统的测试与结果分析,搭建了真实的b r a s 测试环境,设计了两个 实验,验证微码模块的设计达到课题的初步要求。 第六章总结本文所做的工作,并对该课题进一步研究工作的重点和难点进行概述。 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 第二章相关技术研究 网络处理器单板微码模块的开发是嵌入式开发,设计时参考了i n t e li x a 的软件构架。 b r a s 是在汇聚层用于替代高速路由器的具有接入业务识别处理功能的网络设备,它具有 路由器的结构体系,是在路由器的构架上添加业务识别、处理模块设计而成的。目前国内 外针对网络处理器在理论和应用方面已经做了大量的研究。在研究实现本文b r a s 网络 处理器线板微码模块之前,我们有必要先了解一下相关技术。 2 1 路由器技术 路由器的工作在i p 网络中【2 】,i p 是一种网络问的互连协议。整个i p 网络由许多子网 络构成,各子网络又由许多主机组成。子网之间可以使用不同的链路层协议,如e t h e m e t 或 p p p 等,同一子网必须使用相同的链路协议。在网络层,主机用i p 地址寻址,i p 地址实 行全网统一管理。i p 地址通过子网掩码而分成两部分:n e ti d 和h o s ti d 。同一子网内部 使用相同的n e ti d ,而h o s ti d 各不相同。子网内部的主机通信,由链路协议直接进行;子 网之间的主机通信,要通过路由器来完成。路由器是多个子网的成员,在它的内部有一张 表示n e ti d 与下一跳端口对应关系的路由表。通信起点主机发出i p 包被路由器接收后, 路由器查路由表,确定下一跳输出端口,发给下一台路由器,这台路由器又转发给另外一 台路由器,用这样一跳接着一跳的方式,直到通信终点另一台主机收到这个i p 包。i p 协 议的网络层是无连接的,路由器中没有表示连接状态的信息。路由器在网络层也没有重发 机制和拥塞控制。i p 协议重发机制和拥塞控制由传输层t c p 来处理,按端到端的方式运 行。 i p 协议把网络划分为物理层、链路层、网络层、传输层及应用层五个层次。路由器 是在网络层转发数据的设备。路由器由内部路由表实现数据包路由转发,路由器内部可以 划分为控制平面和数据通道两个层面。在控制平面上,路由协议可以有不同的类型,如 o s p f 、b g p 等。路由器通过路由协议交换网络的拓扑结构信息,依照拓扑结构动态生成路 由表。在数据通道上,转发引擎从输入线路接收i p 包后,分析与修改包头,使用转发表查 找输出端口,把数据交换到输出线路上。转发表是根据路由表生成的,其表项和路由表项 有直接对应关系,但转发表的格式和路由表的格式不同,它更适合实现快速查找。 南京邮电大学硕士研究生学位论文 第二章相关研罗己和技术 转发的主要流程包括线路输入、包头分析、数据存储、包头修改和线路输出。i p 包 从不同的线路上到达路由器的接口卡,线路输入处理部分对它进行信号恢复、解码和c r c 校验,然后放进输入先入先出队歹r j f i f o 。输入f i f o 的数据要送入数据存储器,数据存储 器可以是c p u 控制主内存或逻辑控制的专用内存。新输入数据放在系统输入队列尾部,c p u 或逻辑从输入队列取出报文进行分析,需要分析的内容主要是网络层包头中的目的i p 地址, 有些情况也分析网络层包头的其他部分,甚至包括链路层和传输层包头。包头分析首先滤 掉i p 头校验和有错的报文,然后确定是协议报文还是转发报文。协议报文送协议软件处理, 转发报文要查转发表确定输出端口,查流分类表确定输出队列。每个端口可以有若干个输 出队列,他们对应于不同的优先级别。输出队列调度模块根据特定的规则,把选中的报文 交给输出f i f o 。报文在进入输出f i f o 之前,要修改包头。修改包头包括i pt t l 值减一, 更新i p 头校验和,替换链路的地址等。线路输出处理部分从输出f i f o 中取出数据,更新 链路层c r c 数值,然后编码,经信号调制发送到输出线路上。这就是i p 包转发的基本流 程,如果支持更多的i p 业务,如a c l ,n a t 等,在上述流程中还要增加额外的过滤和处 理。 2 2 网络处理器技术 宽带互联网接入和各种宽带多媒体新业务高速发展,要求下一代互联网设备必须具有 更加优异的性能,支持高速分组处理;必须具有高度灵活性,支持不断变换的高层网络服 务。网络处理器正在在市场需求的膨胀下应运而生的,它具有多微引擎多线程、大容量内 部寄存器和高速存储器访问接口能并行的处理网络海量数据包,通过灵活配置升级网络处 理器运行的嵌入式软件能不断满足新生的应用等特点。 2 2 1 网络处理器内部结构 定义2 1 网络处理器网络处理器是面向网络应用领域的,具有特殊指令的处理器, 是面向数据分组处理的、具有体系结构特征或特定电路的、软件可编程器件。 通过灵活的软件体系设计可以提供硬件级的处理性能是n p 的关键特性,下面简要 介绍i n t e l 公司研发的i x p2 8 0 0 网络处理器 3 1 。i x p2 8 0 0 是i n t e l 的第二代网络处理器, 属于中、高端网络处理器。i x p 2 8 0 0 主要应用于o c l 2 o c l 9 2 等中、高速率场合。它的 内部组件结构如图2 1 所示。 南京邮电大学硕士研究生学位论文第二章相关研究和技术 图2 - 1l n t e li x p2 8 0 0 内部组件结构图 i n t e li x p 2 8 0 0 的基本组成部分有两组共1 6 个3 2 位可编程的微引擎处理器m e ( m i c r o e n g i n e ) 、一个7 0 0 m h z 的3 2 位通用r s i c 处理器x s c a l ec o r e 和一些共享资源。 微引擎、x s c a l e 都能访问共享资源,包括媒质和交换接口( m e d i aa n ds w i t c hf a b r i c i n t e r f a c e ) 、s r a m 控制器( s r a mc o n t r 0 1 ) 、d r a m 控制器( d r a mc o n t r 0 1 ) 、p c i 控制 器、以及由哈希单元( h a s h u n i t ) 、控制状态寄存器访问代理( c a p ) 、中间结果缓存( s c r a t c h m e m o r y ) 组成的s h a c 单元( s h a cu n i t ) 。i x p 2 8 0 0 能达到2 5 0 亿次每秒的运转速度。 包转发能力和流量管理能力达到了1 0 g p s ,能够满足现代高速智能网络应用的需要。图 2 1 给出了i x p 2 8 0 0 的内部组件结构。各组件功能简介如下。 1 ) x s c a l ec o r e :3 2 位的嵌入式精简指令集r s i c 处理器,负责处理复杂的算法,路由 一 表的维护,以及系统级的管理及控制等。在数据包处理中,x s c a l ec o r e 还可负责异常数 据包的处理。 2 ) 微引擎m e :i x p 2 8 0 0 的核心部件之一,负责网络中的数据面处理任务,以线速处 理数据包。m e 又称为数据包的快通道。 3 ) 媒质和交换接口m s f ( m e d i aa n ds w i t c hf a b r i ci n t e r f a c e ) :i x p 2 8 0 0 与外部物理层 设备、交换结构的接口单元是i x p 2 8 0 0 在网络中接收,发送数据包的窗口。 4 ) s r a m 控制器:i x p 2 8 0 0 中有4 个s r a m 控制器,用于接口s r a m 存储设备控制, 管理i x p 2 8 0 0 中其他功能单元对s r a m 存储设备的访问及操作。另外还可以用于执行特 定的复杂的数据包处理操作。 5 ) d r a m 控制器:i x p 2 8 0 0 有2 个d r a m 控制器,用于接口d r a m 存储设备控制, 妻室堕垒查兰堡主婴窒生兰垡笙奎 釜三皇塑茎婴窒塑垫查 管理i x p 2 8 0 0 中其他功能单元对d r a m 存储设备的访问及操作。d r a m 可用于存储数据 包、路由表等大型的数据结构。 6 ) p c i 控制器:用于接口控制层面处理器、系统管理处理器、其他i x p 处理器,以及 p c i 以太网卡等其他设备。 7 ) s h a c 单元:包括哈希单元( h a s hu n i t ) 、控制状态寄存器访问代理( c a p ) 、中间 结果缓存( s c r a t c hm e m o r y ) 。其中哈希单元是专用于提供高速哈希运算硬件单元;中间 结果缓存单元是用于微引擎之间的通信以及重要数据的内部缓存;控制状态寄存器访问代 理用于对i x p 2 8 0 0 中的控制、状态寄存器进行访问及操作,且也可用于设定i x p 2 8 0 0 的 工作模式以及采集运行的情况。 2 2 2 网络处理器i x a 构架 i n t e l 为其网络处理器设计的i x a ( i n t e le x c h a n g e a r c h i t e c t u r e ) 是一个可移植的网络 应用框架【4 8 】,它可以用来编写模块化、可移植的代码。提供稳定可靠的功能软件和应用 程序接口a p i s ,提供构建模块的可重配性,提供跨i x a 系列网络处理器的可移植性,为 第三方的插件应用模块提供一个理想的结构。 i x a 构架将现在的网络应用分为三个层面,如下图2 2 所示。 图2 2 网络应用的三个层面图 数据平面主要运行在网络处理器微引擎m e 之上,是实现输入端口和输出端口间高 速转发数据包的处理功能,具有线速执行特点,并充分利用数据包的无关性,采取并行处 理方式。 控制平面一般运行在网络处理器x s c a l e 核上,处理路由表更新、管理数据平面任务 与状态、完成高层的q o s 控制等。这些操作的性能要求低于数据层面,因此通常采用高 性能通用处理器硬件平台。为了有效支持网络处理功能,控制平面与数据平面之间存在复 杂的信息交互与依赖关系。 管理平面负责系统配置,收集并报告统计信息,接收用户输入( 或从其它应用程序 7 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 发来的消息) 并停止启动某种应用。管理平面一般都有一个g u i ,用来从用户那里获取 并显示信息。 一 一 图2 - 3 网络处理器i x a 软件构架 i x a 软件构架的详细内容如图2 3 所示,可移植框架中最重要的组成部分就是在微 引擎上和x s c a l e 核上开发的代码模型。基于不同硬件上开发的代码模块分别为微码模块 ( m i c r o b l o c k ) 和核心组件( c o r ec o m p o n e n t ) 。每一个模块都代表了一个进行包处理的 代码单元。这里实际上引入了构件的思想,开发人员将各种模块以一定的顺序组织在一起, 组成一个特定的应用。下面分别对框架中的各个层次进行讨论。 ( 1 ) 微模块 数据平面的微引擎在逻辑上分成一个或多个微模块。每一个微模块都是一个宏或者 一个微引擎或由i n t e l 提供的一些底层库写成的函数。微模块之间彼此独立,这些就提高 了代码的可重用性,同时也简化了微引擎手代码的编写。微引擎与i n t e lx s c a l e 核共享一 部分内存,大部分网络包的处理都通过微引擎来进行,一些例外的包将传递给i n t e lx s c a l e 核心组件来处理。微模块从功能上一般包括与些高层协议相关包的处理微模块和与硬件 紧密相关的微模块。前者包括球v 4 转发、网桥、网络地址转换n a t 等,后者包括包的 接收和发送模块及分组队列管理模块等。 ( 2 ) 核心组件 核心组件( c o r ec o m p o n e n t ) 运行在x s c a l e 核上,实现了相关微模块的配置、管理 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 和例外处理等工作。一个核心组件可能管理着多于一个微模块。具体来讲,核心组件主要 完成以下一些功能:配置微模块( 通过引入变量的静态配置和控制模块的动态配置) :初 始化维护一些可能被其它应用程序修改的数据结构;提供了一个例外处理和控制消息处理 机制来处理微模块发送过来的包和消息。 ( 3 ) 微引擎数据平面优化库 微引擎数据平面优化库( o p t i m i z e dm i c r o e n g i n ed a t ap l a n el i b r a r y ) 包括一些底层的 微引擎宏指令和用微引擎的特殊c 语言写的函数库,用来编写微模块和一些微引擎的代 码。这些为是经过i n t e l 优化的,非常高效,代码的占用小,同时也是非常底层的。库主。 要包含三信方面:对处理器硬件单元的操作,比如对微引擎内部的本地内存( l o c a l m e m o r y ) 、临界区( c r i t i c a ls e c t i o n s ) 操作等;协议头的解析函数,如i p v 4 、i p v 6 协议 等;哈希单元的查找,c r c 等。 ( 4 ) 微模块基本设施库 微模块基本设施库( m i c r o b l o c k si n f r a s t r u c t u r el i b r a r y ) 提供了访问暂存包描述符的 a p i ,d i s p a t c hl o o p 的实现是通过它来完成的。一个d i s p a t c hl o o p 将运行在一个微引擎 内部线程之间的多个微模块组成一个m i c r o b t o c k 组。关键的地方是d i s p a t c hl o o p 提供了 种多个微模块之间高效共享包的描述符、包头信息等重要数据结构的方式,实现了多个 微模块间的数据传递。d i s p a t c hl o o p 也提供了向其它d i s p a t c hl o o p 和x s c a l e 核之间发 送和接收包的接口。 ( 5 ) 资源管理库 资源管理库( r e s o u r c em a n a g e m e n tl i b r a r y ) 是x s c a l e 核的一个软件组件,它向内 核提供了微引擎的a p i ,比如硬件的资源管理接口,大大简化了硬件初始化的任务,配置 和资源的共享;微模块与核心组件之间的通信a p i ,开发者屏蔽了微引擎与x s c a l e 核之 间通道的一些细节。 ( 6 ) 核心组件基本设施库 核心组件基本设施库( c o r ec o m p o n e n t si i l f r 批t u r el i b r a r y ) 为x s c a l e 核心组件 设计和构造提供了一些底层的a p i ,同时也提供了组件之间传递包和消息的机制。其于核 心组件基本设施库的一个核心组件一般都要包含以下函数:1 个初始化函数;1 个结束函 数;1 个或多个包的处理名旬柄;1 个或多个消息处理旬柄。 ( 7 ) 操作系统服务层 操作系统服务层( o p e r a t i n gs y s t e ms e r v i c e sl a y e r ) 对运行在x s c a l e 核上的代码提 供了一个抽象层。开发人员编写的x s c a l e 核心运行代码包括资源管理库。应该利用这一 9 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 层,而不是直接去利用操作系统提供的a p i ,从而提高系统的可移植性。o s s l 主要提供 了以下几类接口:线程管理、同步原语、互斥操作、定时器、内存管理和消息日志。 ( 8 ) 控制平面平台开发工具包 控制平面的p d k ( p l a t f o r i l ld e v e l o p m e n tk i t ) 为x s c a l e 核心组件与运行控制平面的 软件之间提供了接口。它所提供的a p i 编程接口现在是符合国际网络处理器论坛( n p f ) 提出的标准的,各种控制平面的网络协议栈和用它可以很方便的集成进来。 i n t e li x ps d k 的设计开发文档也提供了微引擎的基本分组处理的模型,如下图2 - 4 所示,可以分为三个阶段,从网络上收包,对分组进行处理,发送分组到网络。微引擎之 间通过片内的s c r a t c hp a d 组成的环结构和n e x tn e i g h b o r 寄存器以及片外的s r a m 存储 器完成微引擎之间的通信,传递处理完成的信息和信号。 s c r a t c h p a d s r a 融 管鬣e :占誊菇琵 睽唑魑薹 毪妊。:,:0 氟。i t i 。j 貔 m i c r o e n g i a e 落0 莨菇鋈 ; 、一,p p r b 琶蠢s i 娃g + :麓:! ,t * ,;。l 雾毪擎雾;譬嚣黪嗍 i 尘a 矗菩立 乇r ? : +1。 , 。d r i v e n :i 渔巍:! ,磊黥s _ 二巍 图2 4 微引擎基本分组处理流程 微处理器片内有多个微引擎,在对数据包进行处理时,可以给它们单独分派任务, 也可以组合完成任务,微引擎的任务处理模型如下图2 5 、图2 - 6 所示。 图2 - 5 每个微引擎实现一个功能 图2 - 6 多个微引擎组合完成多个功能 在第二种微引擎任务分派模式中,多个微引擎可以管道处理多个任务,也可以并行 处理多个任务,关键看微码是如何进行设计的。 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 2 3 国内外应用研究现状例析 国内外许多研究人员和开发人员在网络处理器方面做了大量的理论研究和应用研究, 理论研究主要集中在网络处理器构架、网络处理器的多核结构、处理器内部的通信机制、 网络处理器微引擎技术、微码的设计方法等方面。网络处理器微引擎的应用研究主要集中 在应用网络处理器设计开发各种功能的网络设备,如路由器、防护墙、入侵检测系统等。 2 3 1 理论方面研究 文献 9 】研究了定义并详细描述了未来核心网络应用的计算特点,诸如并行处理和包 依赖的分类应用,以及在诸如深层包分类处理和下一代网络应用中的设计与安全有关的问 题。调查分析了支持下一代网络应用程序的网络处理器架构,如所需的缓存和内存结构的 组织,以及如何在多处理器多线程环境下解决一些包依赖问题。 文献 1 0 评估了同步多线程s m t 网络处理器的适用性和处理效率。s m t 模式网络处 理器允许在的网络应用程序运行时执行多个并行硬线程。文献探讨了同步多线程的体系结 构对网络应用的影响。比较网络应用程序在s m t 同步多线程中和普通单线程中的执行情 况,选择的从不同网络层的应用比较表明在s m t 同步多线程具有更好的进程间通信和缓 存能力。文献还提出了一个解决网络数据包相关问题的新架构,并对构架进行了评估。 文献 1 1 】对网络突发大流量情况下,相同包头信息的缓冲和处理机制进行了分析,为 减少微引擎多线程对大量包中的相同包头信息的处理时间,提高微码系统的性能,文献设 计了一种b c a c h e 的缓冲处理机制以适应i x p2 4 0 0 的多线程特点,该机制能够阻止后继 进程对前导进程计算过的内容做重复计算。应用该缓冲处理机制能够使在处理地址查找、 包分类和入侵检测之类具有显著地址特征的任务时,极大提高系统效率。 文献 1 2 1 对i n t e li x a 构架网络处理器的网络分组分类算法进行了研究,在i x p2 4 0 0 的开发模拟环境中设计并实现满足微引擎线程并行执行和管道执行两种工作方式下的 t u p l ep r u n i n gs e a r c h ( t p s ) 元组剪枝搜索算法,以增强基于网络处理器的网络设备对多媒 体数据包的处理。文献通过模拟实验证明,t p s 算法比元组空间查找算法具有更好的分类 效率,占用更少的内存空间。而且微引擎工作在并行模式下比工作在管道模式下t p s 算 法效率高。 文献【1 3 】综述了近年来队列管理方案领域的研究成果,对队列管理中起关键作用的缓 冲管理策略和分组丢弃策略进行了总结和优缺点分析。重点介绍几个具有代表性的经典的 南京邮电大学硕士研究生学位论文 第二章相关研究和技术 队列管理算法。文献针对网络处理器平台提出了一种动态部分缓冲共享算法( d p b s ) ,给 出了该算法机制和性能特性的详细介绍。文

温馨提示

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

评论

0/150

提交评论