(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf_第1页
(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf_第2页
(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf_第3页
(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf_第4页
(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(通信与信息系统专业论文)基于ospf的不间断转发与节能技术的研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 在传统的o s p f o p e ns h o r t e s tp a mf i r s t 协议中当一个路由器进行重启时 其 效果相当于从网络拓扑结构中暂时去除 这就在网络上造成了所谓的 黑洞 造成数据的转发中断 影响了网络的正常运行 为了解决这一问题 本文研究了 基于分布式双主控设备的o s p f 协议的平滑重启g r g h c e 如li 沁s t a r t 在控制板重 启期间 周围邻居对外界网络屏蔽了重启路由器的状态变化过程并帮助其重新建 立m l i 状态的邻居关系 同时 在接口板上保持转发表的稳定 使得数据转发不受 控制板重启的影响 从而实现了o s p f 协议的不间断转发 随着g r n s r 等可靠性技术的不断推广应用 网络上的能源消耗越来越严重 能源利用率低 为了降低能源浪费 本文从关闭网络中符合一定条件的链路的角 度出发 在已有研究成果的基础上提出了一种新的节能算法 本文的主要贡献如下 l 对o s p fg r 协议进行了分析 在分布式双主控设备上设计了o s p fg r 的实现 过程 2 在h 3 c 的c o m m w 6 衄软件平台上实现了o s p fg r 技术 并在h 3 c 的s 5 8 0 0 和s 6 8 0 0 m 等路由器上进行了功能验证 3 针对g r 的不足 提出了n s r n o ns t o pr o u t 逾g 解决方案 并将g r 与n s r 技 术进行了理论分析与对比 4 分析了已有的基于节点度值的e a r e n e 唧眦r 0 u t i n g 节能算法 并提出了 基于链路介数的节能算法 该算法具有较小的实现复杂度 仿真结果显示该算 法与e a r 节能算法相比具有更好的节能效果 图4 0 幅 表2 个 参考文献1 7 篇 关键词 o s p f 不间断转发 g r n s r 节能算法 分类号 t p 3 9 3 a bs t r a c t a b s t r a c t 1 h e 妞狙i t i o r l a lo s p f o p e ns h o n e s tp a t l lf i r s t p r o t o c o lh a l st l l ep r o b l e m 廿l a tw h e nar o u t e rr e s t a r t s i t 析l lb er e m o v e d 盘o mt l l en e t w o r kt o p o i o g y w c hf o m sa b l a c kh o l e i nt l l en e t w o r k t h e b l a c kh o l e m a yc a u s em ed a t af o r a r d i n g n e r r u p t i o n t 0s o l v em ep r o b l e mo f i f b l a c kh o l e sp a p e rs t u d i e s 舭o s p fg r g r a c e 如lr e s t a n b 硒e d0 nd i 矧b u t e dd o u b l ec 0 昀ld e v i c e d 面n g 也ec 0 n 的lb o 砌 i sr e s t a n i i l g i t sn e i g i l b o r sm a s ki t ss t a t ec h a n g ef b rt l l eo u t s i d e 觚dh e l pi tt 0e s t a b l i s h t l l e 允hs t a t cn e i g h b o r h o o d t h ei n t e 出c eb o a r dm a i n t a i 璐t l 屺s t a b l ef i b f o n a r d i n g i i l f o 册a t i o nb o a r d s 0t l l a tt l l e 纰f o n a r d i i l gi sn o ti r l f l u e n c e db yt l l er e s t a ne v e n ta n d t l l en o ns t 叩f o 柙脚d 访gi sr e a l i z e d w i t l lt l l ep r o m o t i o n 如da p p l i c a t i o no fg rn s r 锄do m e rr e l i a b i l 时t e c l l i l o l o 百e s e n e 唱yc o n s 啪p t i o n 锄dl o we n e r g ye m c i e n c yo nm en e 似 o r kb e c o m em o r e 觚dm o r e s e r i o 璐 1 1 1o r d e rt 0s a v ee n e 咽 t 1 1 el i i l l s 砌c hs a t i s 匆c e r t 如c o n d i t i o n sc 觚b es h u t d o w n t l l i sp a p e rp r o p o s e san e w e 北r g r 髓v i n ga l g o r i t l l i nb 懿e do nt 1 1 ep r e v i o u sw o r k t h em a i l lc o n t r i b u t i o n so ft l l i sp 印e ra r e 觞f o l l o w s 1 a n 越y z et l l eo s p fg rp r o t o c o l 觚dd e s i 印 l ep r o c e s so ft l l eo s p fg rb 部e do n m ed i s t r i b u t e dd o u b l ec o i l t r o ld e v i c e 2 r e a l 协t 1 1 eo s p fg rt e c h n o l o 影o nt l 圮h 3 cc o m m w a r ep l 砌 o m a n dt e s t t h eg r 劬c t i o no nn 地r o u t e ro f s 5 8 0 0 s 6 8 0 0 ma n de t c 3 f o r 圮d e f i c i e n c yo fg r t l l en s r n o ns t 叩r o u t m 曲s o l u t i o ni ss u g g e s t e d 趾d t l l ec o m p 矾s o nb e m ng r 如dn s ri sg i v e n 4 n l eb r e n e 唧孙懈er o u t i n 曲a j 9 0 r i t h mi ss t u d i e d 锄dan e we n e 理 s a v i n g a j g o r i t h mb 鹤e do nt l l ej i e s h uo fl i n ki sp r o p o s e d w h i c hi ss i r i l p l ef o rr e a l i 刎i o n t h es i m u l a t i o ns h o w s 蝴t l l en e wa l g o r i t l l mp r e s e n t sab e 舵re f r e c t0 ne n e r g y s a v i n gt h a nt h a to f b 哦 1 y w o i m s o s p f n o ns t o pf o n a r d i n g g r n s r e n e l l g ys a v i n ga l g o r i 衄n c l a s s n o t p 3 9 3 致谢 本论文的工作是在我的导师陈常嘉教授的悉心指导下完成的 陈常嘉教授严 谨的治学态度和科学的工作方法给了我极大的帮助和影响 在此衷心感谢三年来 陈常嘉老师对我的关心和指导 郭宇春教授悉心指导我们完成了实验室的科研工作 在学习上和生活上都给 予了我很大的关心和帮助 在此向郭老师表示衷心的谢意 赵永祥副教授对于我的科研工作和论文都提出了许多的宝贵意见 在此表示 衷心的感谢 在实验室工作及撰写论文期间李娟 魏巍等同学对我论文中的节能算法的研 究工作给予了热情帮助 在此向他们表达我的感激之情 另外也感谢我的家人薛文超等 他们的理解和支持使我能够在学校专心完成 我的学业 图清单 图l扩展后的o s p f 报文格式 2 图2l l sd a t a 结构 2 图3l r 比特位置图 2 图4o s p f 接口状态机 5 图5o s p f 邻居状态机 7 图6 路由器软件体系结构 9 图7 路由管理模块结构图 9 图8 普通重启时转发中断 1 1 图9 平滑重启时转发继续 1 2 图1 0g r 的应用场景图 1 3 图1 1g r 流程图 14 图1 2 基于分布式双主控设备的g r 的设计 1 6 图1 3o s p f 关键数据结构关系图 1 7 图1 4 需要备份进程数据结构 18 图1 5 区域下需要备份的数据结构 1 9 图1 6 接口下需要备份的数据结构 2 0 图1 7 备份机制的设计 2 l 图l8 分布式双主控设备中的f i b 下刷 2 3 图1 9实现o s p fg r 功能的软件平台 2 4 图2 0g r a c el s a 格式 2 4 图2 1t l v 结构 一2 5 图2 2r e s t a n e r 进入g r 的处理流程 2 7 图2 3r e s t a r t e r 退出o s p fg r 的处理流程 2 9 图2 4g rh e l p e r 进入h e l p e r 模式的处理 3 0 图2 5g rh e l p e r 退出h e l p e r 模式的处理 3 2 图2 6e a r 节能算法示意图 3 7 图2 7 基于链路代价的节能算法 3 8 图2 8 链路代价节能算法示意图 3 9 图2 9 含有2 0 个节点的网络拓扑结构 4 l 图3 0 基于介数的节能算法所得网络拓扑图 4 2 图3 l 基于介数的节能算法的转发拓扑 4 2 图3 2 基于e a r 节能算法的转发拓扑 4 3 图3 3总链路代价消耗对比 4 3 图3 4o s p fg r 组网测试图 4 5 图3 5s 6 8 0 0 m 接口和邻居信息 4 6 图3 6s 6 8 0 0 m 配置标准g r 能力 4 7 图3 7s 7 5 0 0 配置g rh e l p e r 能力 4 7 图3 8执行o s p fg r 重启命令 4 7 图3 9 执行g r 命令后邻居的状态变化过程 4 8 图4 0 备用板平滑重启成功 4 9 表清单 表l几种典型的t l 2 5 表2 各节点向其他节点发送 1 单位流量的总代价比较 一4 0 1 引言 1 1研究背景及意义 互联网技术在为大量用户提供越来越快捷 高质量的服务的同时 其自身也 面临着来自用户不断提高的各种要求 作为互联网基础之一的路由技术已得到极 大的发展 但是随着互联网业务的增加 性能的提高 路由技术又面临着新的挑 战 在传统的o s p f o p e ns h o r t e s tp a mf i r s t 路由技术中 当路由器因为更新软件 版本或其它原因而进行软件重启时 它与周围路由器的邻居关系会中断 邻居路 由器检测到这种状态变化后会在整个路由域内宣告这种状态变化 进而导致整个 路由域内的链路状态数据库的重新同步和路由的重新计算 l 导致进行软件重启的 路由器被旁路 经过该路由器的转发路径被中断 因此 在这种情况下如何保持 转发的不间断对于路由性能的提高非常关键 分布式双主控设备的出现 为解决这一问题带来了福音 分布式设备一般配 备两块主控板和多块接口板 主控板主要负责路由器的控制平面和管理平面的业 务 如路由计算 路由学习等 而接口板根据主控板的通知消息维护自己的转发 表 并根据转发表对数据进行转发 采用控制与转发相分离的分布式双主控设备 的优点在于当控制软件由于硬件或者软件故障重启 或者由于版本升级或者协议 重启等导致路由器重新启动时 转发业务可以不问断进行 在控制板上进行的软 件重启或重新加载不影响转发业务的基础上 只要在控制板重新启动期间保持网 络拓扑的稳定 则重启的路由器可以在原有转发路径上进行数据不间断转发 本 课题的首要任务就是在分布式双主控设备上通过g r q 孔e 如lr e s t a r t 实现o s p f 的 不间断转发 分布式双主控设备的大量应用一方面为提高路由可靠性提供了实现环境 另 一方面也大大增加了能源的消耗 基于链路备份 节点保护 拓扑备份等可靠性 技术的推广应用也增加了网络上的能源消耗 另外网络中的链路以及节点的配置 都处于处理最大业务的状态导致了因特网上的能源消耗日益严重 能源利用率降 低 针对这一系列能源消耗问题 本文在已有的研究基础上提出了一种新的节能 路由算法 并将节能算法与不间断转发技术结合起来 一方面提高了链路的可靠 性 另一方面减少了网络上的能源消耗 1 2o s p fg r 和节能算法的研究现状 关于o s p fg r 的的实现 j 吼i p c r 和c i o 等公司都已有相关研究 c i s c o 公司 通过扩展o s p f 报文的方法实现平滑重启过程 即将l l s 1 i n k l o c a ls i 印a l i n g 数据 加在o s p f 协议报文的末尾并且在o s p f 头部中表示o s p f 协议报文的长度不包括 这个部分数据 2 o 扩展结构如图1 所示 i ph e a d e r o s p fh e a d e r s p fd a t a a u t h e n t i c a t i o nd a t a l l s d a t a 图l扩展后的o s p f 报文格式 f i g u 陀l t l l ee x t e n d e dm e s s a g ef o 册o f t l l eo s p f 将l l sd a t a 跟在h e l l o 和d d 报文后面 并用o s p f 协议报文o p t i o n 字段中的 lb i t 位来标识h e l l o 和d d 报文后面是否携带了l l sd a t a 当该位置1 时表示携带 了l l sd 如 l l sd a t a 采用扩展性较好的t l v 结构 这样可以使携带的数据类型 得到较大的扩展 2 1 其格式如图2 所示 c h e c k s u mr 2b y t e jl l sd a t al e n g t hr 2b y t e j l l st l v s r 4b y t e j 图2l l sd a t a 结构 f i g u 陀2t 1 1 es t r i l c t m i e0 fl l sd a 诅 o s p fg r 在重启时需要保持邻居关系和网络拓扑的稳定 并在对外界网络宣 告这种稳定关系时 进行g r 的路由器需要和邻居路由器进行l s d b l i i l l s a t e d a 讪舔e 同步 因此引进o o b o u to f b 锄dl s d br e s i l c h r o n i z a t i o n 流程 即带外的 l s d b 重新同步 以完成无邻接关系变化的l s d b 重新同步 3 o o b 能力的协商 通过使用l l sd a t a 中的t l v 字段实现 如果本机具备o o b 能力 则在发送h e l l o 和d d 报文时将t l v 的扩展字段中v a l u e 值的l s d br e s c h r o m z a t i o n l r 置位 即将其值设为0 x o o o o0 0 0 1 如图3 所示 图3l r 比特位置图 f i g u r e3 t h ep o s i t i o no fl rb y t e 2 在邻居结构中引入o o b 同步状态用以表示邻居是否处于o o b 同步过程p j 在进行o o b 流程之前 必须先通告周边的邻居进入到0 0 b 流程 如果邻居状态 为f u l l 将该邻居的o o b 同步状态置为t u i 也用以标识该邻居正处于同步过程 并将该邻居的状态降为e x 北毗 后续即可借助原有协议流程进行l s d b 同步 l 由于扩展o s p f 报文的方法需要修改o s p f 报文格式 并且要进行很多状态标 志位的操作 通过扩展o s p f 报文的方法实现o s p fg r 过程比较复杂 因此本文 通过在g rr e s t a i t e r 和g rh e l p e r 之间交互一种9 类o p a q u el s a l i l l l s t a t e a d v e n i m e m1 4 j 即g l 秕el s a 例的方式来实现o s p fg r 在可靠性技术 6 1 川 8 9 1 多样化发展的同时也伴随着能源的大量消耗 目前关于 因特网上如何节约能源已有大量的研究 1 0 1 1 1 2 1 能源节约主要从两个角度出发 网络节点和链路 从网络节点的角度出发指根据网络中实际的业务量在运行态和 休眠状态之间切换可以节省较多能源i lo 但是这种切换延迟比较大 针对这一问 题 文献 1 2 研究了如何减小状态之间的切换延迟 e a r 算法 l l j 从链路角度出发 提出了一种绿色o s p f 路由算法 这种算法的主要目的是节约网络上的转发链路 通过执行绿色o s p f 路由算法确定一部分可以关掉的链路 达到节约能源的目的 本课题研究了已有的节能算法 分析了已有算法优缺点 并从链路代价的角 度出发 提出了一种基于链路介数的节能路由算法 并将此节能路由算法和不间 断转发技术结合在一起 一方面提高了链路的可靠性 另一方面节约了能源 1 3本文的主要工作和组织结构 本文主要研究了o s p f 不间断转发技术 同时引入了一种基于链路介数的节能 路由算法 并将不间断转发技术和节能算法相结合 提高可靠性的同时 降低了 网络上的能源消耗 本文根据i e t f i n t e m e te n g i n e e r i n g 亿kf o r c e 的标准i 江c 3 6 2 3 5 j 在分布式双 主控设备上实现了重启路由器的平滑重启过程 在分布式双主控设备上 当主控 板进行协议重启或软件更新等原因导致主控板需要重新启动 此时由于主用板和 备用板之间有周期性的心跳检测 备用板检测到主用板的这一事件后 开始向周 围邻居发送f a c el s a 周围邻居接收到酉 el s a 后不对外界网络宣告重启路由 器的状态变化 因此不会造成路由的重新计算和旁路重启路由器 同时 具备g r h e l p 盯能力的邻居路由器开始帮助重启路由器进行同步链路状态数据库 建立起 如l l 状态的邻居关系 等建立起全部的邻接关系后 备用板成为新的主用板并f l u s h 掉所有的母a c el s a 进行全部的路由计算 路由计算完毕后刷新转发表 由于o s p fg r 的实现需要周围邻居的配合才能完成 本文针对这一不足提出 了n s r 解决方案 n s r 的主要思想是备份协议运行所需要的全部静态和动态数据 本文对n s r 进行了理论分析 并与g r 进行了对比分析 网络上的能源消耗越来越严重 针对能源消耗比较严重的情况 本文研究了 基于节点度值的d 幔节能算法 分析了此算法的优缺点 并在此基础上提出基于 链路介数的节能算法 本文对以上算法进行对比分析 得出以下结论 1 以n 个节点为例 基于链路介数的节能算法需要计算n 1 次最短路 径树 而基于e a r 的节能算法需要计算2 n 次最短路径树 所以前 者较后者实现复杂度较小 2 将转发相同流量时消耗的链路总代价作为指标 仿真结果说明基于 链路介数的节能算法相对于基于e a r 节能算法消耗的链路代价较 少 本文的组织结构如下 第一部分是引言 引言由三部分构成 本课题的研究背景及意义 o s p fg r 和相关节能算法的研究现状 本文的主要工作和组织结构 第二部分是o s p fg r 的知识背景 介绍了o s p f 的接口状态机和邻居状态机 以及o s p f 路由管理模块 并将普通重启与平滑重启的效果进行了对比 第三部分是o s p fg r 的设计与实现 首先分析了o s p fg r 的协议 然后在 分布式双主控设备上设计了o s p fg r 的实现过程 根据设计在h 3 c 的 c o m m w f 6 眦平台上实现了o s p fg r 最后针对o s p fg r 的不足提出了不间断 转发技术的改进方案叫s r 并进行了n s r 的理论分析以及其与g r 的比较 第四部分是节能算法分析与研究 分析了b 状节能算法的优缺点 提出了基 于链路介数的节能算法 并对两种算法的性能进行了理论分析和仿真比较 仿真 结果显示基于链路介数的节能算法具有比e a r 节能算法更简单的实现复杂度和更 少的链路消耗 第五部分是实验结果描述 设计了o s p fg r 组网测试图并在h 3 c 的多款路由 器上进行了g r 功能验证 第六部分是对全文的总结和对未来工作的展望 由于n s r 技术和节能路由算 法还处于初步理论分析阶段 所以需要进一步分析和实现 4 20 s p fg r 知识背景 2 1o s p f 接口与邻居状态机 o s p fg r 的关键点之一是重启路由器的邻居会屏蔽掉重启路由器的重启过程 由于重启会导致邻居及接口状态的变迁 1 1 因此 在o s p fg r 重启过程中保持状态 不变非常重要 本节先对o s p f 的接口和邻居状态变迁过程进行阐述 2 1 1接口状态机 接口状态机描述了o s p f 接口状态的变迁过程以及导致这种变迁的触发事件 接口状态机是由当前接口状态和事件共同决定的 接口在不同的状态下会有不同 的行为 接口状态的变化是由事件来驱动的 根据当前的接口状态 同样的事件 可能会产生不同的影响 当接口状态发生变化后 路由器会在该接口上生成相应 的l s a 接口的状态变迁过程如图4 所示 图4o s p f 接口状态机 f i g u 玎e4 t h ei n t e r f a c es t a l em a c h i n e0 fo s p f 下面介绍图4 中接口状态机的状态变迁过程 即原始状态在触发事件的作用 下执行的操作和生成的新状态 d o w n 状态 这是接口的初始状态 下层协议指出接口为断开 在此状态下有四个关键点 一 没有协议流量的转发 二 所有的参数都被设为初始值 三 所有的定时器 都处于关闭状态 四 没有关联的邻居 在砥慨eu p 事件的驱动下 在接口上启动h e l l o 定时器 开始周期性的发送 h e l l o 包 根据接入的网络不同 产生的新状态也不同 如果网络类型为点对点网 络 点对多点网络或虚拟通道 则接口状态变为p o i n t t 0 p o i n t 如果可能成为 d r d e s i 弘a t e dr o u t e r 的路由器接入了广播或n b m a 网络 其接口状态变为w 撕t i n g 并开始 v a j t 等待计时器以试图发现所接入网络中的d r w a i t i n g 状态 在此状态的路由器试图判断网络上的d r 和b d r b a c k u pd e s i 鲷a t e d r o u t e r 路 由器对接收到的h e l l o 报文进行监听 在结束等待之前 路由器不能被选举为d r 或b d r 在b a c k u p s e e n 或者w a i t t i m e r 事件的驱动下选举出所接入网络的b d r 和d r 按照选举的结果 接口的状态可能变为d r b d r 或d r o t h e r d r b d r d r o t h e r 状态 d r 状态时路由器与接入网络的其他所有路由器形成邻接 该路由器必须为网 络接点生成一个m 帆r k l s a 该l s a 包含了所有接入该网络的路由器 b d r 状 态是指在d r 失效时 上升为d r d r o n i e r 状态是指在广播或n b m a 网络上 的其他邻居被选为d r 其自身也未被选为b d r 路由器开始与d r 形成邻接关系 在n e i 曲b o rc h a n g e 事件的驱动下重新选举出所接入网络的b d r 和d r 按照 选举的结果 接口的状态可能成为d b d r 或d r o t h e r l o o p b a c k 状态 在u i l l o o p i n d 事件事件的驱动下不需要执行任何操作 重置接口变量等操作都 在进入l 0 0 p b a c k 时完成了 在接口再次可以工作前 需要接收到i i l t e m 坨e u p 事件 任意状态 在i n t e m 比ed o w n 事件的作用下 不管当前状态是什么 该事件始终导致d o w n 状态 主要操作 重置接口上的所有变量 关闭接口定时器 通过生成l i un e i 曲b o r 邻居事件来清除所有关联的邻居连接 l o o p i n d 事件始终导致1 0 0 p b a c k 状态 由于接口不再接入网络 执行与上面 i n t e r f a c e d o w n 事件同样的操作 l 0 0 p b a c k 状态下路由器到网络的接口处于回环 不能用于正常的数据传输 但仍能通过i c m p 的p i n g 命令收集接口信息 2 1 2邻居状态机 6 o s p f 的邻居状态机描述了接口下邻居之间的状态变迁过程 o s p f 中任何两 个形成f u l l 状态的路由器之间都要经历一系列的邻居状态变迁过程 图5 描述了 接口状态从d o w n 到如l l 的变迁过程 与接口状态机一样 邻居状态也是由其本身 的邻居状态和接收到的事件来组织的 每次状态的改变都是由事件所驱动的 根 据当前的邻居状态 同样的事件可能有不同的影响 图5o s p f 邻居状态机 f i g u 他5 t h en e i g h b o rs t a t em a c h i n e0 fo s p f 下面介绍图5 中邻居状态机的各个状态及其特征 d 删n 状态 这是邻居状态转换的初始状态 表示最近没有从邻居收到信息 如果 从邻居收到了h e l l o 报文 该状态将变为i i l i t 状态 a t t e m p t 状态 该状态仅对n b m a 网络上的邻居有效 这个状态也表示没有从邻 居收到信息 但仍需要做进一步尝试 l n i t 状态 i n i t 状态时路由器收到邻居h e l l o 报文后的第一个状态 此时收到了由邻 居发送的h e l l o 报文 但还没有给邻居发送h e l l o 报文 这是与邻居建立双向通信 的第一步 2 w a y 状态 在此状态时两台路由器的通讯达到双向 这是建立邻居前的最高状态 d r 或b d r 就是从达到2 a y 或更高状态的邻居中选举出来的 状态为d r o t i l 盯 7 的路由器将停留在次状态 e x s t a n 状态 这是两台路由器之间建立邻接状态的第一步 此步的目的是确定路 由器的主从关系并确定初始的d d 序号 达到此状态或更高状态的邻居会话被称 为邻接 e x c h a n g e 状态 从e x c h 肌g e 状态开始 路由器开始向邻居发送d d 包来描述其完 整的邻接状态数据库 在此状态下 允许向邻居发送l s r 来取得较新的l s a 所 有达到e x c h 锄g e 或更高状态的邻接参与洪泛过程 l o a d i n g 状态 在此状态下路由器向邻居发送l s r 来取得较新的l s a 这些l s a 是在e x c h 觚g e 状态下发现但还未收到的那些l s a f u l l 状态 f l l l l 状态即完全邻接状态 这是两个邻居之间的最高状态 当路由域内 所有的邻居都达到f u l l 状态时开始同步邻接状态数据库 并进行路由计算 2 2o s p f 路由管理模块 在o s p fg r 的过程中 控制板和接口板之间的通信以及多个协议进行g r 的过程 均需要通过路由管理模块的协调来实现 下面将介绍路由管理模块的构成和作用 图6 是h 3 c 公司的路由器软件体系结构图 回臣亘口 酗互甄西 两 赫 w 瓣遥j 墨丽二 一 冈冈冈 卜丽 l l 兰 4 竺 爪川 m 鼻jl 叫i l 黑 工二二j 一 鳜嬲二j 二 二 d f r l ss u b l c m i j i l lsi f m 二疆零燕曩囊 递二二 ii t rap p l m 西 is p s p i s t k nl a c t c r 正d r r 翟 i e u 廿 i f n 1 c p 6 j u d p 46 j 一跑萌g 善蚧雌n c x p 6 l i p 9 卜钳 u i 删j 二壁霹蜓器遂 鞋再西i 二 i n a l1 lc a1 l 晰瓤 ii lj i e t t u n n c i m 梦曼鼬鞋两r 二二 晰l l 唧 b 州 l s 从 l i n km a 叩 0 0 s i l r s p 塑鼻zm 4 o 期i 靠ls u b 廿引 m 圈团圆圈匹 u 一j 如m 互 基m e 垣s u j 黔 h c n l 一 田回叵 t i 一 a n g u a 芒c 一p 9 西tm 趣a g 咣瞳s 渤 艘堕一 i f c b t j i b dm f f g r s l 沁h0 c rj i i n l u g l 椭m r c c 图6 路由器软件体系结构 f i g u r e6 t h es t r u c t u r eo ft h es o r w a r ch i e r 甜c h y 在h 3 c 公司的路由器软件体系结构中抽象出一个单独的模块 路由管理模 块对 r o u t i n gm 2 u l a g e m e n t 如图6 蓝色实线椭圆框所标记 为了清楚阐明路由 管理模块的结构 我们将它从体系结构中分离出来 如图7 所示 由路由管理模 块和操作系统一起为协议软件提供了一个运行平台 操作系统支持任务调度 资 源管理 路由管理模块负责路由表管理以及路由策略管理机制 图7 路由管理模块结构图 f i g u r e7 t h es t n l c t u r eo ft h em u t em 锄a g e m e n tm o d u l e 9 下面对各模块功能做简要描述 l m o s 路由管理操作系统 这是路由管理的基本模块 包括t a s k t i m e r j o b s o c k b a c k u p 等公共代码部分 r p m 路由策略管理 主要负责路由策略的配置 过滤器的存储以及创建引入 分发列表 u r m 单播路由管理 包括创建 删除单播路由表 存储 查找 备份静态 动 态路由 处理路由迭代 活动路由选择等 s 刚 静态路由模块 主要负责静态路由的配置与管理 i m 接口信息管理 维护接口信息 接口主机路由 网段路由 通告接口变化等 r c o m 路由变化操作管理 处理选定路由的下发 通知路由变化等 t e 流量工程模块 综合上述各模块 在路由器软件体系结构中 路由管理模块主要完成以下功能 1 路由的集中式存储于统一管理 它维护路由表 通过各种接口 供上层路由 协议来存取路由 各个路由协议根据自己的标准 如带宽 时延等来衡量路 由的好坏 每个路由协议都把自己认为最好的路由送到路由管理模块中 这 样对于到达同一目的的地址 可能有多条分别由不同寻径协议找回的路由 尽管每个路由协议给出了度量值 但是由于各个协议所采用的度量值得含义 不同 他们之间没有可比性 此时需要路由管理模块按照一定的策略判断最 优的路由更新转发表 2 接口数据维护 由于路由管理模块隔离了上层路由协议与i p 层 所以有必要 以一种统一的方式从下层接收和记录接口的变化信息 并提供给上层路由协 议 3 路由策略以及其他路由辅助功能 路由策略由若干规则组成 这些规则定义 了路由器和外部世界之间按照路由交换 协议间相互作用所构成的关系 概 括的说用户可以配置规则来决定 路由协议在发布或者接收路由信息时 通过路由策略对信息进行过滤 只接受或者发布满足给定条件的路由信息 路由协议在引入其他路由协议发现的路由时 通过引入策略只引入满足 条件的路由信息 2 3 普通重启与平滑重启 g r 的区别 为了更好的描述平滑重启的在网络中的作用 本节将普通重启和平滑重启进行 l o 对比 普通重启在备用板检测到主用板d o w n 掉的事件时邻居状态回退到d o 帅状 态 按照普通的流程进行重新启动 在重新启动期间邻居路由器会通告外部网络 同时会刷新转发表 造成短时间的转发中断 并且在全网造成路由振荡 导致经 过重启路由器的流量丢失 普通重启造成的网络问题如图8 所示 无g r 能力的网络情况 重启阶段 1 外部路由震荡 2 网络不稳定 图8 普通重启时转发中断 f i g 哦8 廿1 ef l o wi n t e m j p t i o ni nn o 彻a l 他s 觚 如果r 1 是自治系统边界路由器 则会通过b g p b o r d e rg a t e w a yp r o t o c 0 1 引入 大量外部路由 当r 1 发生主备切换时 会造成下面的影响 3 j 所有外部路由丢失 当r l 恢复时 再次学到路由 造成网络路由振荡 在r 1 的备份主控单元完成路由计算和发布之前 所有通过r 1 的数据转发中断 r l 的所有邻居需要重新进行路由计算 并改写转发表 当r 1 恢复正常时 r 1 的所有邻居需要重新进行邻居协商和交互 并计算路由 改写转发表 对于一个大型网络 尤其是运营商网络 路由振荡和业务中断造成的后果将 是无法容忍的 g r 技术可以很好的解决这一问题 如图9 所示 如果路由器r 1 和r 2 配置了g r 能力 在它们刚开始建立邻居关系时就会进行g r 能力的协商 协商成功后 如果r 1 进行重启 则周围具备g r 帮助能力的路由器会维持邻接关 系不变 不去刷新转发表项并且保持路由的稳定和转发的正常 有g r 能力的网络情况 熏启阶段 图9 平滑重启时转发继续 f i g u 陀9 n o ns t o pf 0 n i a r d i n gi ng r 在平滑重启过程中 具有g r 帮助能力的路由器对外界网络屏蔽了r 1 的重启 过程 除r l 的邻居以外的其它路由器并不知道r 1 进行了重启 由于在重启阶段 并未刷新转发表 所以转发保持正常进行 流量并没有丢失1 13 1 1 2 3o s p fg r 的设计与实现 3 1o s p fg r 协议的分析 本文中o s p fg r 的实现是以i e l n f 的标准l 强c r e q u e s tf o rc o m m e n t s 为基础 的 下面将对o s p fg r 的协议进行分析 3 1 1o s p fg r 的角色与应用场景 g r 中路由器的角色是根据路由器在g r 过程中执行的不同功能进行的一个划 分 在整个g r 过程中路由器主要有以下两个角色 5 g rr e s t a r t e r 具有g r 能力 进行平滑重启的路由器 g rh e l p e r 具有g r 帮助能力 和g rr e s t 砸e r 具有邻居关系的路由器 有了角色的划分之后 还需要进行g r 能力的协商 g rs e s s i o n g r 能力的协 商是在o s p f 建立邻居时进行的 协商的内容主要包括双方是否都具备g r 能力 等 如果g r 能力协商通过 当协议重启时就可以进入g r 流程 p a b i i i t y g r h e i p e r g rh e l p e r 图1 0g r 的应用场景图 f i g u 他10t h ea p p l i c a t i o no fg r 图1 0 简单描述了g r 协商及协商完成后进入g r 过程的处理 1 在具备g r 能力的设备r o r 1 r 2 和r 3 之间建立邻居关系时进行g r 能力协 商 1 3 2 假设r o 在运行过程中由于某种原因发生路由协议重启现象 r o 就成为了g r i k s t a r t e r 进入g rr e s t a r t e r 处理流程 此时r o 上转发表项保持稳定 转发业 务仍能正常进行 3 r 0 周边事先经过g r 协商的设备r 1 r 2 和r 3 自动成为g rh e l p e r 进入g r h e l p e r 处理流程 这些g rh e l p e r 将会在g r 的定时器间隔内保持与r 0 的邻居 关系和路由不变 4 r 0 在r 1 i 也和r 3 的帮助下通过g rr e s t 积e r 处理流程重建所有邻居关系 重 新获取完整的网络拓扑信息 5 r o 在恢复所有路由信息后重新进行路由计算 重新刷新转发表项 在整个过 程中 网络转发业务保持不问断 3 1 2o s p fg r 的交互流程 下面将对g r 的交互流程进行详细分析 如果两台路由器r l 和l 毪已经建立 起正常的邻接关系 r 1 具备g rr e s t a l 惋r 能力 r 2 具备g rh e l p e r 能力 则当r 1 发生平滑重启的时候 r 1 和l 也进行如图l l 所示的交互过程 r 2 h e ip e r r 1 r e s t a r t e r 进入h e l p e r 模 退出h e l p e r 模 入陀s t a n e r 模式 出r e s t a n e r 模式 图1 1g r 流程图 f i g u 他l l t h ef l o w c h a tf o r s t 龃d a r dg r 当r 1 进行平滑重启时 在邻居r 2 的帮助下进行如下的流程 1 3 l 1 4 1 r l 与l 也建立起正常的邻接关系 这是进行平滑重启的前提条件 只有建立起 邻接关系 才能有相同的l s d b 这是后续进行链路状态数据库同步的基础 2 r 1 的o s p f 进程因某种原因发生重启 此时需要保证r 1 已经保存了转发表的 表项 o s p f 接口密码序列以及g r 周期 保存转发表项 使得r l 即使在重启 过程中也能保持数据报文的继续转发 3 o s p f 进程重启之后 r l 将先前保存的转发表项标记为陈旧的状态 即s t a l e 状态 在发送h e l l o 报文之前 r 1 为每一个o s p f 接口生成一个伊a c el s a 为 了确保g rh e l p e r 能收到觥l s a 踟l s a 在一个周期内不停地发送 直 到收到确认 4 i 毪收到雕el s a 后进入h e l p e r 模式 并且在g r 周期内维持和r l 的邻居关 系稳定不变 即此时r l 和r 2 仍然是处于m l l 状态的邻居关系 r 2 仍然像正 常行为一样宣告r 1 对其他邻居屏蔽了r 1 的重启行为 这在g r 过程中是至 关重要的 只有维持稳定的邻居关系 让外界感知不到r 1 的重启过程 才能 保证不会产生路由震荡 5 与标准的o s p f 处理流程一样 r 1 和r 2 进行链路状态数据库的同步 在g r 周期内r 1 并不会去修改或者刷新他自己重启前生成的l s a 相反 r 1 认为它 们是合法的 然后进行路由计算 但是并不会去刷新f i b 表项 6 r 1 和i 毪在g r 周期内完成了链路状态数据库的同步 r l 从他的邻居那里同步 了所有的链路状态数据库 此后r l 老化蓼a c el s a 通知邻居g r 过程已经结 束 同时r l 重新生成r o u t e rl s a 如果他自己是d r 的话 还需要生成n e t w o r k l s a 最后重新计算路由和刷新f i b 表项 此外 r 1 会重新生成3 5 7 类所 有它自身先前生成的l s a 7 当r 2 收到伊 el s a 老化的消息后 退出g r 进程 重启执行标准的o s p f 行 为 3 2o s p fg r 的设计 o s p fg r 的实现是基于分布式双主控设备的 分布式双主控设备的结构如图 1 2 所示 设备由控制板和接口板构成 控制板是由一块主用板 b a c t i v em a i n b o a r d 和一块备用板s m b s l a v em a i nb 0 盯d 构成的双主控冗余配置 主要负责路由 器的控制平面和管理平面的业务 如路由计算 路由学习等 接口板主要负责m 报文转发等具体业务处理 控制板与接口板相互独立 这样可以保证控制与转发 分离 控制层面的短暂故障不会影响转发业务的进行 l 1 5 蝴b 和s m b 之间有周期性的心跳检测 a m b 出现故障时 s m b 检测到后 立即进入g r 过程 接口板继续进行数据转发 当s m b 变为新的州b 时 重新 进行全部路由计算并刷新转发表 d a t af i c f l w 图1 2 基于分布式双主控设备的g r 的设计 f i g 啪l2m ed e s 咖o fd i 矧b u t e dd o u b l ec o n 的l 在分布式双主控设备上实现g r 过程 主要考虑四个方面的设计 备份和新增 数据结构的设计 备份机制的设计 g r 过程中的状态保持以及g r 结束后优选和 刷新路由的设计 3 2 1 备份和新增数据结构的设计 为了在发生主板倒换时 备用板能快速启动控制平面和管理平面 准确接管 主用板的工作 备用板需要备份协议运行所需要的基本数据 由于备用板不处理 静态配置消息 如命令行 m i b m 锄a g e m e n ti n f o n n a t i o nb 嬲e 的s e t 操作等 所以 由配置产生的静态数据都需要备份到备用板上 使得备用板具有与主用板完全一 致的配置数据 这样主备倒换后配置才能保持不变 同时 为了主备倒换后o s p f 协议能够正常运行 还需要将o s p f 的关键数据结构备份到备用板 而动态学习的 数据 如邻居 l s a 等不需要进行备份 主备倒换后由路由协议重新进行学习即 可 1

温馨提示

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

评论

0/150

提交评论