(计算机软件与理论专业论文)多功能安全网关预研.pdf_第1页
(计算机软件与理论专业论文)多功能安全网关预研.pdf_第2页
(计算机软件与理论专业论文)多功能安全网关预研.pdf_第3页
(计算机软件与理论专业论文)多功能安全网关预研.pdf_第4页
(计算机软件与理论专业论文)多功能安全网关预研.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机软件与理论专业论文)多功能安全网关预研.pdf.pdf 免费下载

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

文档简介

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含 任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出 重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责 任由本人承担。 论文作者签名:缝竺 日期:兰! 吐:垒至 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校 保留或向国家有关部门或机构送交论文的复印件和电子舨,允许论文被 查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文 和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:丛竺导师签名:期:! 塑6 1 垒兰 山东大学硕士学位论文 摘要 当| 】0 ,随着计算机网络技术的发展,人们划刚络通信的功能需求呈现出多样 化的趋势。通f 青:l k 界提供的解决方案也随之逐渐完备化,细密化,能够役盖哪怕 是很细微的用户需求的变化。过去数据通信功能山路由器或交换机承担,而安全 功能则由专门的加密机承担。随着网络通信业务的逐渐演进,能够将路由交换功 能和信息安全功能集于一身的多功能安全网关逐渐进入用户需求的视野。本文所 论述的多功能安全网关就是为了满足这种需求而开发的。 能够满足网络通信综合需求的多功能安全网关有着自己的硬软件架构。首先 本文将论述多功能安全网关的硬件架构。这种硬件架构在总体逻辑上分为两部分。 简单部分以b c m 5 6 9 0 三层交换芯片为中心构成,这部分的主要功能就是进行数据 包的三层路由或二层交换,由于在这个处理过程中没有软件的参与,所有步骤均 由硬件来实现,因此网关简单的数据通信功能其速度能够达到线速。复杂部分围 绕m o t o r o l am p c 8 2 4 5c p u 构成,是一台完整意义上的计算机,其上运行软 件。复杂部分的主要功能有两个。第一就是运行各种路由协议,将运算得到的结 果( 即本安全网关的路由、交换决策) 写入b c m 5 6 9 0 的相关寄存器。第二就是处 理特殊的数据包,这些数据包不能直接进行转发,必须先接受复杂的处理。特殊 数据包中的一个大类是要接受加密或者解密运算,从而实现了网关的安全功能。 网关的这种硬件架构既保证了简单数通业务的处理速度,使自己在处理简单数通 业务时能够跟一般的路由器甚至交换机相媲美,又使自己具备了处理复杂业务的 能力,从而真谁做到了多功能。接下来我们再看一下网关的软件架构。多功能安 全网关是一种实时嵌入式系统,它具备自己独立的操作系统,这种操作系统基于 v x w o r k s ,是一种实时嵌入式操作系统。多功能安全网关的复杂功能就是由这个操 作系统的相应的功能模块来实现的,这些功能模块作为一个个独立的t a s k 由操 作系统调度。最后我们再来看一下本文重点介绍的两个模块:f d b 模块和信息安 全模块。f d b 馍块是本网关数掘通信功能的一个重要模块,承担二层转发任务。 信息安全模块是实现网关安全功能的主要模块,能够对特定的需要安全处理的数 据包进行加解密运算以及相关的签名、验证运算等。 本多功能奠全网关满足了特定f f j 用。需求,特i 】| j 适刷于大一i 。r 型局域网的边界 等内部通信量夫而内外m 通信量小的应用场合能够广泛地应用于公 佥法、税务、 一商、政府、余融、教育以及大中型食业成用,f 。十h 信随稽研制的成功和市场化 运怍的) l :展,水多功能安全州关必:惭获得j 泛的心川,为我困的信息化小、l 故1 闩已的负献。 山东大学硕士学位论文 本文的一l 三要贡献包括以下j l 个方面: 【1 深入地调研分析了目前网络通信应用领域出现的一种新的用户需求,并给 出了其明确的定义,固化了其特征。 2 在参考工业界已有成果和结合本课题实际的麟础上设计了种满足这种用 户需求的网关硬件架构。 【3 在参考工业界已有成果和结合本课题实际的基础上设计了一种满足这种 用户需求的网关软件架构。 4 设计了陔网关的数据通信功能中的一个模块f d b 模块,并给出了该模 块在网关中的实现方式。 5 设计了该网关的信息安全模块,并给出了该模块在网关中的实现方式。 关键词:网关、多功能、安全 山东大学硕士学位论文 a b s t r a c t d u et ot h er a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y , p e o p l e sd e m a n do nn e t w o r k c o m n l u n i c a t i o na p p l i c a t i o nb e c o n r e sm o r ea n dm o r ed i v e r s e a c c o r d i n g l y , a p p l i c a t i o n s e t t l e m e n to f f e r e db yc o m m u n i c a t i o ni n d u s t r yb e c o m e sm o r ea n dm o r em a t u r ea n d p a r t i c u l a r t h es e t t l e m e n t sc a nc o v e rw i t he v e nv e r ys m a l lc h a n g eo nc u s t o m e r sn e e d a tp a s t ,d a t ac o m m u n i c a t i o nx , v a sm o s t l yc a r r i e db yr o u t e ra n ds w i t c h ,a n ds e c u r i t yw a s c a r r i e db ys p e c i a lc r y p t o g r a p hm a c h i n e b u tn o w , d u et ot h ee v o l v e m e n to fn e t w o r k b u s i n e s s ,m u l t i f u n c t i o n a ls e c u r i t yg a t e w a yt h a ti n v o l v e sb o t hr o u t e r s w i t c hf u n c t i o n a n d i n f o r m a t i o ns e c u r i t yf u n c t i o nc o m e st of r o n t t h em u l t i f u n c t i o n a ls e c u r i t yg a t e w a y d e a l e di nt h i st h e s i si st os a r i s f yt h i sk i n do fd e m a n d t h eg a t e w a yh a si t so w nh a r d w a r es t r u c t u r ea n ds o f t w a r es t r u c t u r e f i r s t l y , t h i s t h e s i sw i l ld i s c u s st h eh a r d w a r es t r u c t u r eo ft h eg a t e w a y t h eh a r d w a r es t r u c t u r ec a nb e d i v i d e di n t ot w op a r t si nl o g i c t h es i m p l ep a r t sc e n t e ri sb c m 5 6 9 0s w i t c he n g i n e , t h i sp a r t sm a i nf u n c t i o ni st of o r w a r dp a c k e t b e c a u s es o f t w a r ed on o tb ei n v o l v e di n t h i sp a r t ,t h ep r o c e s ss p e e dc a nr e a c ht ol i n e s p e e d t h ec e n t e ro ft h ec o m p l e xp a r ti s m o t o r o l am p c8 2 4 5c p u ,a n ds o f t w a r er u n so ni t ,t h ec o m p l e xp a r th a st w o f u n c t i o n s t h ef i r s to n ei st or u na l lk i n d so fr o u t e rp r o t o c o l s ,a n dt ow r i t et h er e s u l t s i n t or e g i s t e r si nb c m 5 6 9 0t h es e c o n do n ei st od e a lw i t hs p e c i a lp a c k e t s ,t h e s ep a c k e t s s h o u l dn o tb ef o r w a r dd i r e c t l y , t h e ym u s ta c c e p ts p e c i a lp r o c e s s t h es t r u c t u r et h i s g a t e w a yh a sf i r s t l yl e t st i l eg a t e w a yb ea b l et od e a lw i t hs i m p l eo p e r a t i o nr a p i d l y , s e c o n d l yl e t st h eg a t e w a yb ea b l et od e a lw i t hc o m p l e xo p e r a t i o n s n e x t ,l e t sh a v ea l o o ka tt h es t r u c t u r eo ft h i s g a t e w a y s s o f t w a r e t h e g a t e w a y i sak i n do f r e a l t i m e e m b e d d e ds y s t e m ,a n dt h eo p e r a t i n gs y s t e mt h i sg a t e w a yh a si sa l s oak i n do f r e a l t i m e e m b a d d e do p e r a t i n gs y s t e mi tb a s e so nv x w o r k s t h ec o m p l e xf f m c t i o n st h i s g a t e w a yh a si s r e a l i z e db yt h ef u n c t i o nm o d u l e st h eo p e r a t i n gs y s t e mh a s ,t h e s e m o d u l e sa r ea t t e m p e r e db yt h eo p e r a t i n gs y s t e ma si n d e p e n d e n tt a s k s l a s t l yl e t sh a v e a1 0 0 ka tt h ef d bm o d u l ea n di n f c r m a t i o ns e c u r i t ym o d u l ef d bm o d u l e sf u n c t i o ni s t of o r w a r dl a y e r2 p a c k e t s i n f o n n a t i o ns e c u r i t ym o d u l ei st h em a i np a r to ft h e i n f o r m a t i o ns e c u r i t yf u n c t i o ni ti s r e s p o n s i b l et oc a r r yo u te n c r y p tc a l c u l a t i o na n d d e c l y p tc a l c u l a t i o n a sw e l l a ss i g n a t m ec a l c u l a t i o na n dv e r i f yc a l c u l a t i o n ,t ot h o s e s p e c i a lp a c k e t st h a tn e e ds e c u r i t yp r o c e s s t h i sg a t e w a ys a t i s f i e sc u s t o m e r ss p e c i a ld e m a n d ,c a l lb eu s e di np o l i c e i n q u i s i t o r c o u n ta p p l i c a t i o n r e v e n u ea g e n c ya p p l i c a t i o n i n d u s t r y c o m m e r c ea g e n c y 山东大学硕士学位论文 a p p l i c a t i o n ,g o v e r n m e n ta p p l i c a t i o n ,f i l l a r t c ea p p l i c a t i o n ,e d u c a t i o na p p l i c a t i o na n d c o r p o r a t i o na p p l i c a t i o n i ti sb e l i e v a b l et h a ta l o n gw i t ht h es u c c e s si nr da n dt h e h e a d w a yo f e x p l o i t i n gm a r k e t ,t h i sg a t e w a yw i l lb eu s e db r o a d l y t h em a i nc o n t r i b u t i o n so f t h i sp a p e ri n c l u d et i l ef o u ra s p e c t st h e ya r e : 1 a n a l y s e san e wd e m a n da p p e a r e dr e c e n t l yi nc o m m u n i c a t i o ni n d u s t r y , p r e s e n ta d e f i n i t i o nt oi t 2 d e s i g n sah a r d w a r es t r u c t u r ef o rt h eg a t e w a yt h a tc a ns a t i s f yt h ed e m a n d 3 d e s i g n sas o f t w a r es t r u c t u r ef o rt h eg a t e w a yt h a tc a ns a t i s f yt h ed e m a n d 4 d e s i g n st h ef d bm o d t _ i l eo f t h a tg a t e w a y ,a n dp r e s e n t sai m p l e m e n t a t i o nt ot h a t m o d u l e 5 d e s i g n st h ei n f o r m a t i o ns e c u r i t ym o d u l eo f t h a tg a t e w a y ,a n dp r e s e n t sa n i m p l e m e n t a t i o nt ot h a tm o d u l e k e y w o r d s :g a t e w a y ;m u l t i f u n c t i o n a l ;s e c u r i t y 山东大学硕士学位论文 f d b :f o r w a r dd a t a b a s e 符号说明 a r l :a d d r e s sr e s o l u t i o nl o g i c c a :c e r t i f i c a t ea u t h o r i t y p k i :p u b l i ck e yi n f r a s t r u c t u r e 二层转发数据库 地址解析逻辑 证书中心 公开密钥基础设施 山东大学硕士学位论文 1 1 研发背景介绍 1 引言 近些年来,计算机网络技术及其i _ , l k 应用都取得了更进一步的发展。在此, 我们不妨回顾过去几年出现的比较经典的应用场景和解决方案。首先在单纯的数 据通信领域,主要的设备有路由器和交换机,以及后来出现的三层交换机。路由 器主要用在高端应用场合中,比如运营商通信网的核心层和骨干层。其主要特点 是具备大容量的路由表,能够运用在规模很大的网络中。交换机是一种二层设备, 主要用在低端应用场合中,比如企业网的接入层。其主要特定是只能用于一个网 段的互联,不能跨网段,但是转发速度比路由器要快。三层交换机兼有路由器和 交换机的优点。既具备比较大的路由表,能够进行三层转发,又具备比较快的转 发速度,近几年获得了较大规模的应用。以上这些应用场景所提出的主要需求就 是进行数据包正确而迅速地转发,这些设备的主要作用也限制在单纯的数据通信, 扮演类似高效交通枢纽的角色。下面举几个比较成功的个案。华为q u i d w a y r 3 6 4 0 4 5 0 8 路由器,是华为几款路由器之中功能比较强的型号,采用模块化结构, 高速c p u 技术以及快速路由策略,提供丰富的低速业务接口,满足d d n 、分组 交换网、帧中继等租用专线以及p s t n 、i s d n 等拨号线的组网需求,可作为企业 和行业用户的核心路由器。【1 l c i s c oc a t a l y s t2 9 7 0 系列交换机,是一款价格十分合 理的千兆位以太网交换机,可以为中小型企业和分支机构,提供线速智能服务。 c i s c oc a t a l y s t2 9 7 0 系列交换机拥有一整套全面的智能服务,利用其现有的5 类铜 缆,速度可提高至1 0 0 m b p s 以上,增强了网络性能。口j 得安s j y 0 5 加密机,是得 安公司推出的一款功能十分强大的加密机,主要是为高档服务器、小型机、大型 机提供加解密服务,现已广泛应用于会融、证券、政府、电子商务等领域的大型 网上项目中。【3 】 但是,现在经常出现的- 4 a s i cm a n a g e m e n t 专a s i cd r i v e r 将这 条记录写入硬件l 2t a b l e 中,使得硬件和软件保持一致性。 t r o u t e :三层路由任务,主要负责对b c m 5 6 9 0 交换引擎中的l 3t a b l e 的维护。 首先如果l 3t a b l e 通过学习新增条三层路由记录或者通过老化删除一条记 录,t r o u t e 都会收到消息,并且更新内存中的r o u t et a b l e ,使得硬件和软件一致。 其次如果管理员通过网关控制台在r o u t et a b l e 中配置了一条静态三层路由记录, 那么t r o u t e 也会通过调用c o m m o np r o d u c ts o f t w a r e - - ) a s i cm a n a g e m e n t 专a s je d r i v e r 将这条记录写入硬件l 3t a b l e 中,使得硬件和软件保持一致性。 t c p u f c :c p u 流控任务,主要负责进入m p c8 2 4 5c p u 的特殊数据包的流控。当 上送至c p u 的数据流量过大时,就会占用c p u 大量的时间片,使得其他一些重要的 任务得不到调度,就会严重影响网关的性能。这个时候就会启动t c p u f c ,对流量 进行控制,丢弃一些数据包。 t i n f o s e c u r i t y :信息安全任务,主要负责对出外网的数据包进行安全处理, 并且对从外网来的数据包进行解密和验证操作。 t l d l e t a s k :系统空闲任务,这个任务的调度优先级最低,只有当没有其他任 务要调度时爿会调度这个任务,此时c p u 处于空闲状态。 还有一些任务,比如t c l m a i n ,t s n m p ,t a r p ,t p o r t m o n 等,在此就不一介绍了。 每个任务都拥有各自的上下文,即拥有各自的c p u 环境和系统资源。上下文切 换时,任务的上下文保存在任务控制块( 1 c b ) 中。 任务的上下文包括: 任务的执行点,即任务的程序计数器; c p u i ,的寄存器和浮点寄存器( i 玎选) ; 动态变量和函数涮用所需i 。i j t l i 是: i 0 操作分配的标准输入、抓准输:垌i :b l , 舵错i 关输山操作; 山东大学硕士学位论文 一个延时定时器; 一个时问片定时器: 内核控制结构; 信号旬柄; 用于调试和性能监视的值。 下面介绍本多任务系统的运行机理。运行机理的核心就是这组任务的管理和 调度。因此我们明白了这组任务的管理、调度和通信方式,也就明白了整个网关 在软件方面的运行机理。 3 1 1 任务状态转变 操作系统内核w i n d 负责维护每个任务的当前状态。如果某个任务调用了内核 程序那么该任务将会从一个状态改变到另一个状态。任务在刚刚创建时处于挂起 状态,必须激活它刁能使其进入就绪状态,激活过程相当快。 主要地说来,有重要意义的任务状态有四个: 运行:获得c p u 控制权 就绪:除c p u 外获得了任务运行所需的所有资源,进入任务等待队列,通过 调度转化为运行状态。 阻塞:任务发生阻塞,就是任务在运行时或就绪时发现资源不充分必须等待, 这时任务会停止运行或移出就绪队列。等待系统实时事件的发生而唤醒。从而再 次转为就绪或运行。 挂起:任务完成或者因为错误等原因被清除了的任务。也可以认为是系统中 已经不存在了的任务。 3 1 2w i n d 任务调度 w i n d 任务调度的算法是基1 二任务优先级的抢占渊度算法,以及特定情况下的 轮转调度算法。这两种算法都依赖于任务的优先级。w i n d 内核里有2 5 6 种优先级, 从0 到2 5 5 。0 为最高优先级,2 5 5 为最低优先级。在创建任务时,需要分配给任 务一个优先级。凋用函数t a s k p r i o r it v s e t 0 可以改变任务的优先级,这种动态地 改变任务优先级的功能i r 以使任务跟踪现实通信j 通f 】。 j 的优先级关系变化。 1 基于优先级的抢占式任务调度 使用魁于优先级的抢o 一吲务训度算法l _ ! | 】“1 。个新任务优先级高于系统二与 j 1 执行任务的优先级叫,它将抡u ic p 而执行。系统内骸w in d 要确保c p u 分配给处 山东大学硕士学位论文 于就绪状态的具有最i 苛优先级的任务执行。这意i 味着如果某个任务比当i j i 的任锊 优先级高,并处于就绪状态,那么系统内核将立刻保存当前执行任务的一h 下文, 并切换到高优先级任务的上下文中去。 这种算法的缺点是:当多个相同优先级的任务需要共事一台处理器时,如果 某个执行的任务永不阻塞,j ! | 1 5 么它将一直独占处理器,其他相同优先级的任务就 没有机会执行。 2 轮转式调度 当所有相同优先级的任务处于就绪状态时,轮转算法倾向于平均使用c p u 。轮 转调度算法对于所有相同优先级的任务,通过时间片获得相同的c p u 处理时间。 在一组相同优先级的任务里,每个任务将在一个规定的时间间隔内执行。 调用函数k e r n e l t i m e s l i c e 0 将启用轮转调度算法,其参数为时问片的个数, 即为某个任务放弃c p u 给另一个相同优先级的任务执行之前系统允许该任务执行 的时间长度。任务的执行状态不断轮转,每个任务各自执行一段相等的时间。 在任务的执行时间片内,如果该任务被阻塞或者被更高优先级的任务抢占, 那么其时间片计数值将被保存,并且在其重新执行时恢复计数。对于抢占情况, 当抢占的高优先级任务完成执行后,只要没有其他更高优先级任务抢占执行,那 么原壬务将继续执行。而对于任务阻塞情况,将根据任务优先级将其放在队列尾 部。 3 抢占上锁 对于上面介绍的任务调度机制,有一个例外,就是抢占上锁。函数t a s k l o c k 0 和t a s k u n l o c k 0 ,可以禁止使用或启用w i n d 内核调度程序。任务调用- t a s k l o c k 0 函数时,将禁止使用调度程序,若该任务正在执行,也不会发生基于优先级的抢 占。但是如果任务在执行中被阻塞或者挂起,w i n d 内核将选择有资格执行且优先 级最高的任务执行。当抢占上锁的任务被解除阻塞并且重新开始执行时,抢占再 一次被禁止。 3 1 3 任务间合作 本操作系统的任务问合作包括任务间互斥、 1 任务间的互斥与同步 任务问互斥与同步是通过信号量来实现的。 斥,计数器信号量实现任务刚司步。 ( 1 ) 匾斥 同步和任务问通信两个方面。 其中二进t l 1 t 青号量实现任务问互 进制信号量能有效地对共事资源的访问进f j :卫锁。使川陔技术i 州需要刨建 山东大学硕士学位论文 信号量来保护资源,信号量在最初创建时状态为可用( f u l l ) 。 序 i 1 c 1u d e 语句 # i n c u d e “v x w o r k s h ” # i 1 3 c l u d e “s e m i 。i b h ” s e m i ds e m m u t e x : 丰 创建一个二进制信号量,该信号量最初为可用的 阻塞在信号量上,按优先级顺序等待信号量 s e m m u t e x2s e m b c r e a t e ( s e m q _ p r i o r i t y ,s e m f u l l ) : 当任务访问资源时,首先必须获得信号量。只要任务持有信号量,其他所有 需要访问该资源的任务将被阻塞。当该任务结束资源访问时释放信号量,允许其 他任务访问资源。因此,对资源的访问需要互斥时,可使用函数s e m t a k e 0 和 s e m g i v e0 来实现。 s e m t a k e ( s e i i l ! m u t e x ,w a i tf o r e v e r ) : 序 临界区域,任何时候仅单个任务可以访问$ s e m g i v e ( s e m m u t e x ) : ( 2 ) 同步、 计数器信号量用来实现任务间同步。计数器信号量与二进制信号量相似,它 也跟踪信号量被释放的次数。每释放一个信号量,计数器加一;每提取一个信号 量,计数器减。当计数器计数为零时,试图提取信号量的任务将被阻塞。与二 进制信号量一样,如果信号量被释放时存在被阻塞的任务,那么被阻塞的任务将 被解除阻塞。与二进制信号量不同的是,如果信号量被释放时不存在阻塞的任务, 那么计数器将加一。这意味着一个被释放两次的信号量,可以无阻塞地被提取两 次。 2 任务间通信 本安全网关在软件+ i :构造为+ 套独立但是相瓦合作的任务。对于任务问同步 和互斥,信号量提供了一种高速机制;但是为了允许任务f n j 的相互通信,经常需 要一种更高级的机制来满足要求,这就是消息队列。 消息队列允许数目可变、长度可变的消g , f l l :队。任务和中断服务程序能够发 送消息给消息队列,同时任务还能从消息队列接收消息。 山东大学硕士学位论文 口 图3 2 使川消息队列实现全双: 通信 多个任务能够向同一个消息队列发送消息。两个任务间的全双工通信一般需 要两个消息队列,每个方向一个消息队列,如图 3 2 所示。“1 3 2s w i t c h & p r o c e s sp l a t f o l r m s w i t c h & p r o c e s sp l a t f o r m :由一个个独立的模块组成。其中p r o t o c o ls t a c k 由各 个网络协议模块组成,主要承担路由决策的运算。运算的结果用来配置5 6 9 0 的各 个相关寄存器。p r o c e s s 模块负责处理特殊的数据包,比如需要安全处理的数据包, a r p 包,e r r p 包,i g m p 包,等等。c o m m o n p r o d u c t i n t e r f a c e 提供了s w i t c h & p r o c e s s p l a t f o r m 模块和p r o d u c ts o f t w a r e 模块间的接口。下面是该模块的逻辑简图: 3 2 1p r o t o c o is t a c k 幽33s w i t c h p r o c e s sp l a t f o r i l l 山东大学硕士学位论文 这个模块主要由各个网络协议子模块组成。图解女i i 下 幽3 4p r o t o c o ls t a c k 各个协议子模块均做出与自己相关的路由决策,并且通过层层函数调用将决 策结果写到5 6 9 0 芯片的相关寄存器中。 f d b 模块是t f d b 任务的主要源代码实现模块,它负责软件f d b 表和硬件l 2 t a b l e 的同步。 r o u t e 模块是t r o u t e 任务的主要源代码实现模块,它负责软件r o u t e 表和硬 件l 3 t a b l e 的同步。 d h c p 模块是d h c p 协议在本安全网关中的实现。 o s p f 模块是o s p f 协议在本安全网关中的实现。 m p l s 模块使本网关支持m p l s 功能。 v r r p 模块是v r r p 协议在本安全网关中的实现。 s n m p 模块是s n m p 协议在本安全网关中的实现。 i c m p 模块是i c m p 协议在本安全网关中的实现。 b g p 模块是b g p 协议在本安全网关中的实现。 3 2 2p r o c e s s 这个模块由几个子模块构成,能够对从5 6 9 0 送j 二来的数据包进行处理。本文 中只会讲到i n f o r m a t i o ns e c u r i t y 于模块,其他的子模块从略。 i n f o r m a t i o ns e c u r i t y 子模块是本网关实现信启、安全功能的主体模块,能够对出 t 5 , b i t 4 的数据包进 t d h 密操作,能够对从外网进入的数据包进行解密操作,以及与 之相关的数字签名,验征等操作。 3 2 3c o m m o np r o d u c ti n t e r f a c e 山东大学硕士学位论文 c o m m o np r o d u c ti n t e r f a c e 为p r o d u c ts o f t w a r e 和s w i t c hp l a t f o r m 的交互提供了 一个统的接口,因此在p r o d u c ts o f t w a r e 的丌发过程中起着:忙常重婴的桥梁作刚。 c o m m o np r o d u c ti n t e r f a c e 主要分为c o m m o nd e v i c es t a t em a i n t e n a n c es e r v i c e 、 c o m m o nt a b l es y n c h r o n i z es e r v i c e 和c o m m o ne v e n ts e r v i c e 三类接 j 。 接口c o m m o nd e v i c es t a t em a i n t e n a n c es e r v i c e 主要负责平台软件设备管理状 态的维护。该服务提供了种注册机制,让产品软件注册设备状态维护的具体没 备管理操作函数。 接i z ic o m m o nt a b l es y n c h r o n i z es e r v i c e 主要用于将平台运算结果所生成的软 件表同步到硬件中。针对每张软件核心表,提供如下结构的一组h o o k 函数: m o d u l e n a m e _ t , 3 b l e n a m e _ b e f o ra d dh o o k ; m o d u l e n a m e t a b l e n a m e b e f o r d e l h o o k ; m o d u l e n a m e _ t a b l e n a m e _ b e f o r _ m o d i f y _ h o o k ; m o d u l e n a m e t a b l e n a m e a f t e r a d d h o o k ; m o d u l e n a m e _ t a b l e n a m ea f t e rd e l h o o k ; m o d u l e n a m e _ t a b l e n a m ea f t e r _ m o d i f y _ h o o k ; 表内容和表之间的关联主要由s w i t c hp l a t f o r m 的p r o t o c o ls t a c k 维护,交换平 台通过本接口,使得p r o d u c ts o f t w a r e 各部分在b h f 模块可以向交换平台注册具体 的对数据表操作的函数。c t s s 模块只是提供了一种注册h o o k 函数和调用具体操作 数据表的机制,并不做任何其他具体对数据表或协议的实现和操作。 c o m m o n e v e n ts e r v i c e 主要提供了对由硬件所产生的事件( 新地址消息、接口 u p 、d o w n 、收发包等) 进行处理的a p i 。p r o d u c ts o f t w a r e 在处理硬件中断时,对 应到需要平台软件处理的事件就调用该服务提供的a p i 函数。 3 3p r o d u c ts o f t w a r e 这个模块负责直接操作5 6 9 0 :占片以及本多功能安全网关的其他硬件。其中 a s i cm a n a g e m e n t 和a s i cd r i v e r 负责直接操作b r o a d c o m 5 6 9 0 交换引擎芯片。而 d e v i c em a n a g e m e n t 和d e v i c ed r i v e r 则负责操作安全网关中其他的硬件部分。 a s i cm a n a g e m e n ts y s t e m ,d e v i c em a n a g e m e n t 和a s i cd r i v e r , d e v i c ed r i v e r ( 除 了c p u 和芯片外的设备驱动联系紧密) ,这几个部分根据j 卷片组的不同融合形成同 一芯片组通刚的p r o d u c t s o f t w a r e a s i cm a n a g e m e n ts y s t e m 在多功能安全网关上, 列+ 应的实例就是b m s ,即b r o a d c o mm a n a g e m e n ts y s t e m a s i c 的蕾要功能就是把s w i t c hp l a t f o r m 的软件表写入硬件t l i 去。更具体地浇, 把s w i t c hp l a t f o m l 的f i b ( f o r w a r di n f o r m a t i o nd a t a b a s e ) 表中与路由、交换有关的数 山东大学硕士学位论文 掘分别写入硬件b r o a d c o m 中的l 2 表、l 3 表和l 3 1 n t f 等表中。 p r o t o c o is t a c k t c t s s b h f t b m s 图3 5 模块间调用关系 从s w i t c hp l a t f o r m 的p r o t o c o ls t a c k 数据表下发到b r o a d c o m 芯片的过程而言, 经过了三个层次:c t s s ,b h f , b m s 。其中,c t s s 的主要功能是让b h f 模块的各部分可 以向c t s s 注册h o o k 函数,p r o t o c o ls t a c k 通过c t s s 可以调用b h f 提供的h o o k 函数。 b h f 是对数据表操作( 添加、删除、修改、更新等操作) 的函数实现。b m s 模块是 对数据表写入硬件b r o a d c o m 的具体实现。可以看出,路由、交换决策从p r o t o c o l s t a c k 经过c t s s 、b h f 、b m s 三个模块将被写入硬件,如图3 5 所示。 山东大学硕士学位论文 4f d b 模块设计和实现 本网关既具备数据通信功能,又具备信息安全功能。论文的后半部分将介绍 这两个功能的实现。由于网关的数据通信功能实现比较复杂,涉及模块比较多, 限于篇幅,本文只从中挑出一个有代表性的模块f d b 模块来介绍。另外本文 还将介绍信息安全模块的设计和实现。 4 1 模块设计原理 在交换芯片中,数据包的转发是依据m a c 地址和端口对应的表l 2t a b l e 来完成 的,因此f d b 表则是芯片中的l 2 表的软件映射,也就是说,f d b 表在用户和硬件 之间提供了一层软件的接口。用户可以通过这个接口了解硬件芯片中的表项并且 可以通过它管理和维护这些表项。 网关通过查找f d b 表获得二层报文的输出端口,从而完成二层报文转发( 事 实上的过程是在硬件中查找l 2t a b l e 来实现,但我们在直觉上也可以认为是查找 f d b 表) 。由于二层报文的转发是在一个v l a n 的内部,因此每个f d b 表项是在一 个v l a n 中有效。而f d b 表是网关中所有f d b 表项的总和。 下面介绍f d b 表比较重要的两个动作。 ( 1 ) f d b 地址学习: 当一个数据报文到达交换芯片的某个端口的时候,芯片会把数据报的源m a c 地址和对应的端口记录在硬件表项中,从而能够自动完成硬件上地址学习的过程。 ( 2 ) f d b 表的老化: 当芯片的端口在一段时间内没有收n l 2 t a b l e 表中的主机报文以后,硬件就会 释放资源,把这个表项删除,删除以后同样需要通知主控更新f d b ,如果此时来 了报文以后芯片会重新学习。 由此可知,f d b 模块在设计中必须要注意以下两点: 及时性:硬件在工作中l 2t a b l e 表中的数据根据实际的转发情况而时刻改 变,所以f d b 表也要及时的响应硬件上的变化,f d b 表是由一条一条f d b 表项 组成,所以也需要经过频繁的添加和删除操作,特别是大规模的操作的时候,效 率显得十分重要,因此设计f d b 模块的时候需要充分考虑系统的效率。 准确性:f d b 表作为硬件转发表的软件映射,在及时响应硬件表变化的同 时也必须正确的反映硬件上的数据变化,因为用户只有在软件证确反映硬件的基 础上才可以对硬件进行正确的管理和维护。 f d b 作为软件一l 重要的管理模块,需要有比较清晰的设计流程,所有的f d b 山东大学硕士学位论文 事件的触发都遵循以下两条主线流程: 从硬件层上报软件层:在这层中,f d b 表的变化是有硬件的变化引起的, 比如芯片进行了地址的老化、学习或者端f i l 的l i n k 状态发生了变化,驱动将把这 些信息反馈上来,f d b 模块要对这个信息进行及时准确的处理。 从软件层配置硬件层:用户在这一层中在软件接口中配置硬件的信息,软 件在更新f d b 的同时,把用户配置的信息下发到硬件,最终到底层完成对芯片的 设置。 4 2 程序结构 下面主要介绍f d b 在软件上实现的流程。本文略去了大量的数据结构的介绍 和转化,离开机械的函数解释,围绕f d b 事件触发的两条主线,努力把f d b 任务 的运行机理描述出来。 主线一:从硬件层上报软件层 1 、l e a r n 。a g e 事件 转发芯片在正常工作的时候,需要频繁的进行地址的学习和老化,软件上也要 做相应的变化,因此驱动在硬件状态发生改变的时候,调用软件上的c a l l b a c k 接口 来把消息通知软件层,软件层需要做的处理如下: 首先,在b m sf d bf d b c a l l b k ( ) 函数中,提取驱动报上来的硬件状态发生改变 的类型,如学习或者是老化等,然后对数据结构进行转化,然后通过 b m sf d by o t i f y m c u 函数形成消息实体。 然后消息发到消息队列中等待f d b 模块的任

温馨提示

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

评论

0/150

提交评论