




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 一 国防科学技术大学研究生院学位论文 摘要 在现代社会,通信系统的暂时瘫痪都会引起巨大的损失。因此高可用性是设计通信设 备时必须要考虑的一个关键方面。 为了满足高可用性的要求,核心路由器应该支持系统运行时的设备板的插入和拔出, 支持在不关闭系统和操作员干预尽可能少的情况下的系统重组和恢复,支持对故障的隔离。 即核心路由器必须支持热切换。因此本文研究路由器热切换实现技术。 本文研究了核心路由器的热切换处理过程和控制机制,给出了一种基于交换网络的核 心路由器的热切换结构,定义了接口模块热切换时系统的状态及状态之间的转换关系。 针对采用网络处理器进行设计的g f 8 5 1 6 核心路由器,本文根据提出的路由器热切换 结构和定义的状态转换关系给出了g f 8 5 1 6 核心路由器的热切换解决方案。 在介绍g f 8 5 1 6 核心路由器的各层热切换的设计与实现时,本文着重介绍了包括网络 处理器公共管理平台及热切换系统驱动程序等组成部分的热切换支撑平台以及热切换接口 模块驱动组件的设计与实现。 本文最后介绍了g f 8 5 1 6 核心路由器的热切换功能测试方案。 关键词:路由器、热切换、网络处理器、驱动系统 a b s t r a c t f o r t o d a y 。s h i g h s p e e d ,h i g h d e n s i t yc o m m u n i c a t i o ns y s t e m s ,d o w n t i m ec a nc o s t c o m p a n i e sm i l l i o n s o f d o l l a r s h i g ha v a i l a b i l i t y i sa v e r yt a l l o r d e rt o 厅j ii n d e v e l o p i n g c o m m u n i c a t i o nd e v i c e s t ob eh i g ha v a i l a b l e 。ac o r er o u t e rs h o u l da l t o wt h ei n s e r t i o na n d e x t r a c t i o no fb o a r d s w i t h o u ta d v e r s e l ya f f e c t i n gs y s t e mo p e r a t i o n a l s oi ts h o u l da l l o wi t ss y s t e mr e c o n f i g u r a t i o n a n di t sf a u l tr e c o v e r yt ot a k ep l a c ew i t hn o s y s t e md o w nt i m ea n dm i n i m u mo p e r a t o r i n t e r a c t i o n f i n a l l yi ts h o u l da l l o wt h ei s o l a t i n go ff a u l t yb o a r d ss oi t ss y s t e mc a nc o n t i n u e o p e r a t i o n ( p o s s i b l yw i t hr e d u c e dc a p a b i l i t y ) i nt h ee v e n to faf a i l u r e i no t h e rw o r d s ,a c o r er o u t e rs h o u l db eah o t s w a ps y s t e m s o t h i sp a p e rf o c u s e so nt h ei m p l e m e n t a t i o no f h o ts w a pr e u t e r s t h i sp a p e rc o n s i d e r st h eh o t s w a pp m c e s s e sa n dt h ec o n t r o im e c h a n i s m sf o rt h e s e p r o c e s s e st h a tah o ts w a pm u t e rm a yh a v e t h e nt h i sp a p e rp r e s e n t sak i n do fh o t s w a p s t r u c t u r ef o rc o l er o u t e r s a i s ot h i sp a p e rd e f i n e st h es o f t w a r ec o n n e c t i o ns t a r e st h a tt h e i n s e r t i o na n de x t r a c t i o no fh o t s w a pi n t e r f a c eb o a r d sm a yc a u s e t h i sp a p e rp r o v i d e so u rh o ts w a ps o l u t i o n so nas p e c i f i cc o r em u t e rc a l l e dg f 8 5 1 6 a c c o r d i n gt ot h ek i n do fh o ts w a ps t r u c t u r eo fr e u t e r st h a tt h i sp a p e rp r e s e n t sa n dt h e s o f t w a r ec o n n e c t i o ns t a t e st h a tt h i sp a p e rd e f i n e s w h e nt h i sp a p e ri n t r o d u c e st h eh o ts w a p d e s i g na n di m p l e m e n t a t i o no fe a c hl e v e lo f t h eg f 8 5 1 6c o l er o u t e r , i tp u t se m p h a s i so nt h ed e s i g na n d i m p l e m e n t a t i o no ft h eh o ts w a p i n t e r f a c eb o a r dd r t v e r sa n dt h eh o t s w a ps u p p o r tp l a t f o r mi n c l u d i n gt h ec o m m o n m a n a g e m e n tm o d u l eo fn e t w o r kp r o c e s s o r s ,t h eh o ts w a ps y s t e md r i v e r , a n ds oo n a tt h ee n do ft h i sp a p e r ,h o ts w a pf u n c t i o nt e s ts o l u t i o n so fg f 8 5 1 6c o r em u t e ra r e d i s c u s s e d k e yw o r d s :m u t e r , h o ts w a p ,n e t w o r kp r o c c s s o r s ,d r i v e r ss y s t e m h 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特另4 加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它1 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意: 学位论文题目: 竖由墨热翅挟塞援拄盎鲤盟究 学位论文作者签名: 日期:财i 月,乡日 、 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存,汇编学位论文 ( 保密学位论文在解密后适用本授权书) 。 学位论文题目:整出墨热翅搀塞煎挂盎鲍盈窥 学位论文作者签名: 作者指导教师签名: 辑 z ! 坐 日期:以年7 月哆日 日期:一z 年f ,月u 甘 一 国防科学技术大学研究生院学位论文 第一章绪论 1 1 课题研究背景 在正在运行的计算机应用系统中安装或卸载某个部件或某个部件出故障而不影响系 统的正常稳定高效运行通常要涉及到两方面:硬件方面和软件方面。从硬件方面来看,在 部件的安装和卸载时,部件和系统硬件应该不会烧坏或损坏。从软件方面来看,如果新安 装了部件,系统的软件应该在操作员的干预最少的情况下就可使用新安装的部件而且要能 正常稳定运行,如果卸载了部件或部件出故障,系统的软件应该进行相应的处理以保证系 统的正常稳定高效运行。在正在运行的计算机应用系统中安装或卸载某个部件或某个部件 出故障而保证系统正常稳定高效运行所涉及的技术就是热切换技术。我们把硬件方面涉及 到的热切换技术称为硬件热切换技术,而把软件方面涉及到的热切换技术称为软件热切换 技术。热切换的英文术语为h o ts w a p ,有的资料或书籍将其译为热交换或热插拔或热切换。 一提到热插拔,许多人只想到硬件方面的处理,而没有考虑到软件方面的处理。而本文着 重研究软件方面的处理,因此本文不采用热插拔这个术语。交换的概念一般要对应两个对 象,而且这两个对象一定程度上要对等,因此本文觉得使用热交换这个术语也不恰当。本 文认为热切换比较适当,因为切换一般是指系统上下文的变化或者说系统状态的变化,从 硬件的角度看,当安装或卸载某个部件或某个部件出故障,系统的硬件配置发生变化,硬 件系统从一种状态转换到另一种状态,而当软件进行处理之后,软件系统从一种状态转化 到另一种状态。 骨干网上的核心路由器应该要具有高可靠性,因此实现对核心路由器的热切换的支持 显得尤为重要。 由于有相应的规范可以遵循,p c i 硬件热切换技术和c o m p a c t p c i 硬件热切换技术在 实现时相对简单。但路由器的硬件热切换技术没有什么规范可遵行。另外要实现路由器对 软件热切换的支持远比p c i 软件热切换实现及c o m p a c t p c i 软件热切换实现复杂,加之没 有相应的规范可以遵行,因此实现时难度相对较大。路由器软件热切换涉及层面较广,涉及 到p 层处理和路由协议层等。一星处理不好,可能会引起软件运行状态的紊乱。 因此研究路由器如何实现热切换的支持显得很熏要也很必要。 本课题来自于8 6 3 “新一代互联网试验环境”研究项目。 1 2 课题研究内容 本文研究核心路由器可能的热切换处理过程及控制机制,研究核心路由器的热切换 结构定义路由器热切换时可能的状态转换。 由于要在g f 8 5 1 6 核心路由器上实现对接口模块热切换的支持,因此本文工作的一部 二_ 国防科学技术人学研究生院学位论文 分是研究g f 8 5 1 6 核心路由器的整体热切换方案,包括热切换对软硬件的要求。因此要研 究各层热切换实现技术,进行分析比较,确定最好的实现技术。 另一方面,热切换接口模块驱动组件在接口模块热切换支持中起着非常重要的作用, 【因此本文要研究g f 8 5 1 6 核心路由器中如何设计热切换接口模块驱动组件并将其实现,并 从驱动系统的角度实现对热切换的支持。 在各层单独实现对热切换的支持之后,如何将各层热切换程序有机组织起来也是本文 工作的一部分。 在实现了g f 8 5 1 6 核心路由器的热切换支持后,本文要给出g f 8 5 1 6 核心路由器的热 切换功能测试方案。 1 3 课题取得的成果 在课题研究过程中,本文取得的成果和完成的工作主要有: 描述了基于交换网络的核心路由器的热切换结构。 分析接口模块热切换时可能引发的处理过程,定义了路由器接i d 模块热切换状态转换 图。 提出g f 8 5 1 6 核心路由器接口模块热切换整体方案。 设计实现了g f 8 5 1 6 核心路由器接口模块热切换系统驱动程序。 设计实现了g f 8 5 1 6 核心路由器接口模块热切换总控程序。 设计实现了g f 8 5 1 6 核心路由器网络处理器公共管理模块。 设计实现了g f 8 5 1 6 核心路由器接口公共管理模块。 设计实现了g f 8 5 1 6 核心路由器热切换接口模块驱动组件,包括四个部分:网络处理 器驱动组件;虚接口驱动组件;i o 模块驱动组件和外部接口驱动组件。 给出了g f 8 5 1 6 核心路由器接口模块热切换功能测试方案。 1 4 论文结构 本文以下各章组织如下: 第二章介绍热切换的技术知识。由于本文在研究路由器热切换实现技术时参考了p c i 和c o m p a e t p c i 热切换技术,因而本章对这些技术做个简介。 第三章描述一种基于交换网络的核心路由器的热切换结构,描述路由器接口模块热切 换状态转换,分析g f 8 5 1 6 核心路由器的软硬件结构,在此基础上给出g f 8 5 1 6 核心 路由器的热切换解决方案,并对其进行描述。 第四章主要介绍g f 8 5 1 6 核心路由器的热切换实现技术,着薰介绍软件热切换实现技 术。 第五章描述如何对g f 8 5 1 6 核心路由器热切换功能进行测试。 第2 页 第二章热切换技术概论 2 1 热切换与系统可靠性和可扩展性 2 1 1 热切换是提高系统可靠性的重要途径 可靠性是指系统在一定的条件下和一定的时间内完成规定功能的能力。可靠性主要分 为单元可靠性和系统可靠性。单元可靠性也称作部件可靠性,是系统可靠性的基础。系统 中不管有没有故障,只要不影响正常功能的执行和完成。我们就认为系统是“可靠”的。 可靠性理论的研究主要包括两个范畴:提高元部件可靠性达到系统可靠的避错技术和 使用给定器件构成高可靠性系统的容错技术。目前元部件的可靠性研究已十分成熟,并在 工业中广泛采用。而且对于一个系统,无论采用多少避错设计方法,总不能保证永远不出 错,所以容错技术成为了提高系统可靠性的研究热点。 容错技术包括三方面的技术:冗余技术、故障检测和诊断技术以及系统重组和恢复技 术。核心路由器的可靠性实现把这三种技术都用上了。热切换技术一定程度上包括了故障 处理技术以及系统重组和恢复技术。 系统的可靠度从商到低可以分为四个档次:连续可用性系统( c o n t i n u o u sa v a i l a b i l i t y s y s t e r n ) 、容错系统( f a u l t t o l e r a n c e s y s t e m ) 、高可用系统( h i g h a v m l a b i h 够s y s t e m ) 和容 灾难系统( d i s a s t e r t o l e r a n c es y s t e m ) 。前两种一般用于航天和军工等领域。对于核心路由 器,要求达到高可用系统。 对于可维修的系统,衡量其可靠性的指标叫做可用度,相应的理论又叫做可用性理论。 核心路由器就是一个可维修的系统。 同时,相对其它的计算机系统,核心路由器有自己的特点:首先,它是可维修的系统, 可用性理论适用于此系统;其次,可以容忍适当的错误,例如丢包,断链等;另外,系统 的崩溃会导致重大的损失,应达到“5 个9 ”的高可用目标。 对于遵循可用性理论的系统,已知系统平均故障间隔时间m t b f ( m e a n t i m eb e t w e e n f a i l u r e ) 和平均故障修复时间( m e a n t i m e t or e p a i r ) m t t r ,就可以使用下列公式来计算 系统的可用度: a v a i l a b i l i t y = m t b f + m i t ra + “ 从这个公式我们可以看出,如果m t r r 值越小,那么系统的可用性就越高。当部件出故障 时,直接用好的部件替换原来的部件,这样就可以减少平均修复时间。当然系统对这个部 件得有热切换方面的支持。 设计高可用性的设备首先应该明确可用性的需求程度,在工程实现中,可用性百分比 每增加一个9 ,成本会变成原来的2 倍甚至更多。这就要求权衡可用性和成本之见的关系, 第3 页 具体的对应关系和工程实践有着密切的关系,不包括在本文的讨论范围之内。同时,系统 要获得5 个9 的可靠性,每个串联组件必须要有7 个9 的可靠性( 双机并联的部件每个有 3 个9 的可用性,就可以获得6 个9 的可用性) ,这就要求对于系统部件的设计要进行统一 的规划。 影响路由器可用性的因素包括硬件、软件、环境、人为操作流程和网络设计等。设计 高可用性的网络设备,主要考虑硬件和软件的因素,并针对这两种因素进行优化,得到尽 量大的可用度。具体的设计原则是增大系统的并联程度和减少检测、诊断和修复的时间。 目前实现中普遍采用部件冗余的方式,尽量避免软件或硬件单点故障的发生。故障的检测 使用硬件状态信号或者软件心跳消息加超时机制,前者反映故障速度及时,后者实现简单。 诊断分软件方法和硬件方法两种,软件方法实现简单,反映的状态丰富,是普遍的使用方 法。 系统故障一般分为两种:局部故障和全局故障。出现全局故障时,这个系统就暂时不 能使用了。出现局部故障时,将局部故障隔离,系统还可以继续运行,只不过此时处于缩 减功能模式。 2 1 2 热切换对系统的可扩展性有重要支持 对于某些计算机应用系统来说,它一开始也许并不需要提供所有的功能。在系统运行 过程中,如果用户想要添加某些功能,则只消将相应的功能模块加入系统即可。而如果用 户不需要某些功能时,可以把相应的功能模块从系统中分离即可。用户也可以根据应用需 求来对系统进行重构。譬如g f 8 5 1 6 核心路由器有多种接口模块,用户可以在任何个支 持热切换的插槽上任意插入一种接口模块。如果原来用户把这个路由器应用于以太网环境, 而现在他想使用p o s 接口进行点对点连接,那么他只需把以太网接口模块换为p o s 接口模 块即可。 如果系统能很好地支持热切换,那么系统具有很好的可扩展性。 根据上面的讨论中,实现路由器对热切换的支持是减少m t t r ,提高路由器可用性的 关键。路由器对热切换支持也是运行中的路由器可扩展性的关键。 2 2 热切换基本原理 热切换技术要实现以下三个层次的目标: 基本的目标是:板卡在系统运行时插入或拔出不会被瞬时电流损坏,而且不会对系统的运 行产生不利的影响。这样使得在运行中替换故障板卡或者重新配置系统成为可能。 更进一步,要向高层提供可编程访问的热切换服务接口,这样就可以在不停机和系统操作 员的干预最少的情况下进行系统重新配置或故障恢复。 在要求高可用性的应用中,要求系统能够自动隔离出故障的板卡,这样系统在遇到故障事 件时也能够继续运行( 也许性能会降低) 。 热切换过程可以描述为以下三个阶段: 物理连接阶段( p h y s i c a lc o n n e c t i o np r o c e s s ) :描述在活跃系统中插入或拔出设备板的过程。 第4 贾 硬件连接阶段( h a r d w a r ec o n n e c t i o np r o c e s s ) :描述设备板与系统在硬件层的电气连接或 断连。 软件连接阶段( s o f t w a r ec o n n e c t i o n p r o c e s s ) :描述设备板与系统在软件层的连接或断连。 这些阶段可以被进一步描述为一组状态,这些状态是相互依赖的。例如,若物理连接 不存在,硬件层不可能进行电气连接;当一个活跃系统中的设备板被移去时,软件和硬件 连接也不复存在了。 热切换一般包括如下组件: 设备板( b o a r d ) 一指系统中的任何可切换的电路板。 系统主设备 s y s t e m h o s t ) 一它通常提供系统时钟等服务。系统主设备在一个系统的动态 配置中起关键作用。 平台( p l a t f o r m ) 一平台为设备板提供基础结构,包括底板( b a c k p l a n e ) 、系统主设备、散 热系统、电源等等。 不同类型的设备板和平台集成在一起,构成的系统的能力也不同。不同的系统可以概 括为以下几种模型: 非热切换系统( n o nh o ts w a p s y s t e m ) : 基本热切换系统( b a s i ch o ts w a ps y s t e m ) ; 完全热切换系统( f u l lh o ts w a p s y s t e m ) 高可用性系统( h i g ha v a i l a b i l i t ys y s t e m ) 。 其区别见图2 1 。从图2 1 可以看出,简单系统的连接过程提供较少的软件可控制性, 且要求更多的操作员干预。 下面是热切换系统中常用到的一些术语: 动态配置( d y n e m i ec o n f i g u r a t i o n ) 一个支持热切换的设备板插入后,系统软件给它分 配系统资源的过程。在非热切换系统中,分配系统资源的过程只在系统初启时进行。当该 设备板要从系统中移去时,这些系统资源要先被释放。 高可用性( 碰g ha v a i l a b i l i t y ) 一是指系统的这样一种特性:当它的一个系统组件出故障时 它仍能继续运行。要获得更高的可用性,要求系统有更大程度的可控制性。 系统模型硬件连接软件连接 操作员手动完 基本热切换硬件完成 成 完全热切换硬件完成软件控制完成 高可用性软件控制完成软件控制完成 图2 1 系统模型 复 杂 度 增 加 后端逻辑( b a c ke n dl o g i c ) 一在硬件连接阶段完成之前一直与系统隔离的那一部分电路。 后端电源( b a c ke n dp o w e r ) 一为后端逻辑供电的电源。后端电源将通过个电源隔离电 路( p o w e ri s o l a t i o nc i r c u i t r y ) 为后端逻辑供电。 第5 页 预充电( p r e c h a r g e ) 一在与活跃的电路连接之前,将负载的电容充电至额定电压的方法。 2 3 热切换技术比较 目前,p c i 热切换技术、c o m p a c t p c i 热切换技术和u s b 热切换技术比较成熟。由于 各种硬件热切换技术比较成熟,因此路由器的硬件热切换技术不是本课题研究的重点,本 课题研究的重点是路由器软件热切换技术。前面说过,本文研究路由器的软件热切换技术 时参考借鉴了这几种比较成熟的热切换技术思想,因此本节简要介绍p c i 软件热切换技术 和c o m p a c t p c i 软件热切换技术。由于篇幅有限,本文对u s b 的热切换技术就不作介绍了。 2 3 1p c i 热切换技术 p c i 热切换的目的是使得按p c i 规范设计的插入卡能够不需改变就可实现热切换。但 是却要求改变芯片、系统板、o s 和驱动程序设计。 热切换p c i 基本上是一个“拒绝不速之客”的热切换方法,用户必须事先通知软件才可 插入和拔出p c i 卡。软件执行必要的步骤使卡连接器做好准备以便插入或者拔出一个卡。 最后在卡插入或拔出时告知最终用户。 p c i 热切换系统的软硬件元素如图2 2 所示。 用户接口允许用户关闭卡连接器,以拔出一个卡,或者打开卡连接器,以便使用刚刚 插入的一个卡。热切换服务程序是对o s 的请求进行处理的服务程序,包括以下请求:提 供槽识别器;打开卡或者关闭卡;打开或关闭提醒指示灯;返回槽的当前状态。热切换服 务程序和热切换驱动程序交互作用,以满足请求。具有热切换系统驱动程序的界面由o s 供应商定义。热切换系统驱动程序在o s 中接受来自热切换服务程序的请求,与硬件热切 换控制器交互作用完成请求。一个系统板可能有多个热切换控制器,每一个控制器控制机 器内所有槽中的一组。在这种情况下,每个控制器都会有一个热切换系统驱动程序。设备 驱动程序必须具有特殊的热切换能力:支持静默命令;可选地实现暂停命令;可能更换设 备的r o m 代码;支持启动命令或可选的重启动命令。 下面我们看一下卡的插入和拔出涉及到的热切换过程。 在卡插入时,假设卡连接器处于关闭状态,则执行如下步骤。 步骤一最终用户通知热切换服务工具,将在一个空的卡连接器内插入一个新的卡。 步骤二热切换服务工具向热切换系统驱动程序发出请求,命令芯片组设置与连接器 对应的视觉提醒指示灯,以指示卡可以安全插入连接器。 步骤三用户将卡插入连接器。 步骤四用户通知热切换服务工具,已经插入一个新卡。 步骤五热切换服务工具向热切换系统驱动程序发出请求,命令芯片组设置连接器的 提醒指示灯,通知用户卡不可以被拔出。 步骤六热切换服务工具向热切换系统驱动程序发出请求,命令芯片组对连接器供 电。 步骤七如果连接器的r s t # 仍未被置1 ,热切换服务工具向热切换系统驱动程序发 第6 页 一 国防科学技术大学研究生院学位论文 出请求,命令芯片组设置该信号。 图2 2p c i 热切换软硬件元素 p c i 总 线 步骤八热切换服务工具向热切换系统驱动程序发出请求,命令芯片组关闭连接器和 p c i 总线间的绝缘逻辑。 步骤九热切换服务工具向热切换系统驱动程序发出请求,命令芯片组从连接器上将 r s t # 置0 。 步骤十o s 命令平台例程来询问卡,以便找到卡上的一个或者多个功能,并确定每项 功能所需要的资源。通过主p c i 桥对设备进行p c i 配置访问来完成此工作。 步骤十一平台配置例程使用p c i 配置写操作给设备的配置寄存器分配资源。 步骤十二o s 根据厂商d 和设备d 或者设备类代码或子系统v e n d e ri d 及予系统 d 配置寄存器查找到合适的驱动程序并加载相应的驱动程序。 步骤十三o s 调用驱动程序的初始化代码入口点,使处理器执行驱动程序的初始化 代码。 当从系统中拔出一个卡时,采取如下步骤。 步骤一通过热切换服务工具,用户通知0 s 将拔出一个卡。 步骤二热切换服务工具命令设备的驱动程序静默,也就是设备驱动程序必须停止使用 卡。 步骤三热切换服务工具向热切换系统驱动程序发出请求,命令芯片组对指定的卡连接 器有效r s t # 。 步骤四热切换服务工具向热切换系统驱动程序发出请求,命令芯片组使能位于连接器 第7 页 和p c i 总线间的隔离逻辑。这样使卡和p c i 总线电气隔离。 步骤五热切换服务工具向热切换系统驱动程序发出请求,命令芯片组从指定的卡连接 器上取消所有操作电压。 步骤六热切换服务工具向热切换系统驱动程序发出请求,命令芯片组设定与连接器对 应的提醒指示灯。 步骤七最终用户从系统上拔出卡,并指示热切换服务工具,该拔出过程已经完成。 步骤八o s 释放已分配给设备的存贮器空间、i o 空间、中断线等,以便这些资源在将 来可以分配给其它设备。 只有满足如下两个条件,才能将卡从系统中拔出: 设备的驱动程序必须停止访问卡; 如果卡具有中断或总线主设备能力,卡必须停止发生中断以及停止启动总线交易。 2 3 2c o m p a c t p c i 热切换技术 c o m p a c t p c i 的热切换过程可以描述为一组状态,如图2 3 所示。 i i 物理连接状态 硬件连接状态 软件连接状态 i oo p 0 p l ooo o o o o o h o h l h 2 h i fs 0 s i s 2 s 3 s 2 qs 3 q 图2 3c o m p a c t p c i 的热切换过程 这些状态的描述如下: p 0 一设备板与系统物理分离。 p 1 h 0 设备板已完全插入到位,但是还未加电启动,在p c i 总线上还处于不活跃状 态。请注意此时物理层处于状态“p 1 ”,而硬件层处于状态“h 0 ”。 h 1 一设备板已经加电启动,并且已进行充分的初始化,可以连接到p c i 总线上。 h i f 一设备板由于在启动或初始化过程中失败,或者是检测到了错误,与p c i 总线断 连。 h 2 s o 设备板已启动,可以被p c i 总线从配置空间中访问。设备板的配置空间还未 被初始化。这时硬件层处于状态“- 1 2 ”,软件层处于状态“s o ”。 s 1 一设备板已被系统配置。 s 2 一必要的支持软件( 例如驱动程序) 已加载。设备板已准备好被操作系统和应用程 序使用,但是在本状态时,没有与本板相关的操作进行。 s 2 q 一该状态与s 2 状态相同,但是不允许新的操作启动,设备板处于静止状态。 第8 页 国防科学技术大学研究生院学位论文 s 3 设备板正在进行与软件相关的操作。 s 3 q 一软件正在完成当前的操作,但是不允许启动新的操作。 热切换设备板上提供了一些资源帮助进行软件连接控制,对这些资源的访问是使用 p c i 传输协议通过p c i 总线完成的。设备板向运行于系统主设备上的软件提供了以下资源: e n u m # 信号指示板子状态变化;开关指示拔出过程开始和插入过程结束;l e d 指示软件连 接状态;四个控制和状态位使得系统软件可以根据它们决定e n u m # 源并控制l e d 灯。 e n u m # 通知系统主机新插好一个板子或者要拔出一个板子。该信号告知系统主机, 系统配置已经发生改变。 开关信号引起对e n u m # 的设置。操作员通常触发开关,等待灯亮,然后拔出板子。 当允许拔出个板子时,板子前面的蓝灯亮。这个灯指示系统已经处在一种板子可拔 出的状态。插入时,硬件连接过程完毕时硬件自动点亮该灯,接着灯灭。 软件使用两位( 矾s 和e ) 盯) 来决定e m i # 设置时的状态变化原因。e x t 位指示 板子将要被拔出。这些位也用来对n e u m 撑通知进行确认。e m 位用来屏蔽e n u m # 。l o o 信号用来点亮l e d 。 软件连接过程的状态如图2 4 所示。 板子禁止,没有 操作在进行也 不允许启动新的 操作 綦 板子禁止,不允 许启动新的操作 图2 4 软件连接过程的状态转换 下面几个事件引起连接状态的变化: 配置( s ot os 1 ) :系统软件给板子分配资源,配置板子的相应配置空间首部a 连接( s 1 t os 2 ) :如果有必要的话加载驱动程序或其它的支撑软件。如果要由一个 已经管理了其它板子的设备驱动程序来管理这块板子,则只消简单地将新板子添加到 这个设备驱动程序管理的板子列表中。 激活( s 2 t os 3 ) :发起操作。 完成( s 3 t os 2 ) :操作完成。 不允许( s 2t os 2 q 或者s 3t os 3 q ) :不允许发起新的操作。 禁止( s 3 q t os 2 q ) :如果板子在不允许之前处于活跃状态,所有未完成的或正在进行 的操作必须先完成。 断开连接( s 2 q t os 1 ) : 板子和驱动程序分离,驱动程序可能从系统中卸载。 释放( s 1 t os 0 ) :释放分配给板子的系统资源( 包括i 0 空间、内存空间、中断、p c i 总线号) 。 2 3 3 热切换技术对比 从前面的介绍中我们知道,热切换p c i 基本上是一个“拒绝不速之客”的热切换方法, 用户必须事先通知软件才可插入和拔出p c i 卡。而且在插入时,软件系统将p c i 卡驱动程 序加载完就算完毕。在卸载时,驱动程序必须停止使用设备。 c o m p a c t p c i 卡的插拔虽然不需要用户事先通知软件,但在插拔时必须遵行一定的规 程。插入时,软件系统将p c i 卡驱动程序加载完也就算完毕。要拔出时,用户要等系统软 件处理完毕后( 等待设备上的指示灯亮) 才能拔出。 而且这两种技术都未描述设备板出故障时该如何处理。 如果需要用户的干预尽可能少,则路由器热切换技术要远远复杂的多。接口模块拔出 时系统可能正在使用该模块,该模块上有一些操作在进行或等待进行。插入后系统除了加 载驱动程序之外,还要进行一系列处理,如果原来接口配置了p ,则系统软件可能要恢复 配置并进行相应的一些处理,比如通知路由协议进行处理等。 2 。4 小结 本章介绍了可靠性和热切换的关系,介绍了本文要使用到的一些有关热切换的概念和 术语。由于本文研究路由器热切换实现技术时参考借鉴了p c i 和c o m p a c t p c i 的热切换技 术思想,因此本文在这里也对这两种技术作7 简要介绍。 第三章g f 8 5 1 6 核心路由器热切换系统设计 3 1 基于交换网络的高性能核心路由器热切换结构 3 1 1 基于交换网络的核心路由器结构 基于交换9 网络的核心路由器结构一般都可看成由下面几个部分组成:底板、主控模块、 备份主控模块( 1 到多块) 、交换模块( 1 到多块) 、备份交换模块( 1 到多块) 和接口模 块( 1 到多块,每一块上可以有多个接口) 。因此基于交换网络的核心路由器结构如图3 1 所示。 图3 1 基于交换网络的核心路由器结构 ( 1 m ) ( 1 n ) ( 1 k ) 下面介绍这个结构中的模块的功能。 底板为各类功能模块提供基础结构,包括电源和风扇等。 主控模块是整个路由器的集中管理和交互控制中心,担负着整个系统的全局性工作。 主控模块一般包含以下功能模块:操作系统内核,t c p u d p i p i c m p a r p 协议栈,s n m p 第1 1 页 一 国防科学技术大学研究生院学位论文 a g e n t ,r i p 2 、o s p f 2 、b g p 4 等i n t e r n e t 路由协议族,p p p ,接口驱动程序,冗余控制,热 切换控制,全局路由a r p 访问列表控制,接口状态控制,用户接口u i ,网管s n m p a g e n t , 、v e b 管理和高层网络应用。如果有多个主控模块,主控模块之间的通信可以使用远程过程 调用r p c 机制或其它通信机制来实现。 备份主控模块主要是用来提高系统的可靠性,当备份主控模块检测到主控模块发生故 障时,它接替主控模块进行工作。 交换模块实现主控模块及备份主控模块和接1 5 1 模块之间的互联。其基本结构包括输入 缓冲区及其控制逻辑、交换阵列及其仲裁逻辑,输出缓冲区及其控制逻辑等。 备份交换模块的目的也是用来提高系统的可靠性,当交换模块发生故障时,它接替交 换模块进行工作。 接口模块主要完成报文的接收、报文的处理和报文的发送等工作。 3 1 2 基于交换网络的核心路由器热切换结构描述 首先我们定义一个概念:关键模块。如果一个模块对系统的运行是必不可少的,我们 就把这个模块称为关键模块。如果系统中没有了关键模块,系统将停止运行。我们把系统 中除了关键模块之外的模块都称为非关键模块。我们从路由器可用性模块图r d b 来看一 下关键模块和非关键模块。 图3 2 为基于交换网络的核心路由器可用性模块图。 从该图中我们可看出,底板是关键模块,主控模块中至少一块是关键模块。如果路由 器采用交换模块,则至少有一块交换模块为关键模块。非关键模块在系统运行中可能会变 为关键模块,比如某一个各份主控模块接替某一个主控模块的工作之后,它可能会变为关 键模块。同样,关键模块在系统运行中可能会变为非关键模块。 我们把路由器热切换组件中的平台定义为包含所有关键模块的系统。而把路由器热切 换组件中的设备板和非关键模块对应起来。路由器热切换就是针对非关键模块的热切换。 图3 2 基于交换网络的核心路由器可用性模块图 基于交换网络的核心路由器热切换结构如图3 3 所示。 第1 2 页 国防科学技术大学研究生院学位论文 用户界面 日l 且硝w 耿州堙任l 一 i 序 1 1 一 i 一一h 其它热切换处理程 路由协议热切换处1 :序 理程序1 1 一 i 热切换 服务 i p 热切换处理程序k 。1a r p 热切换处理程 1 一j 序 。p p 切换处理程序k - t 驱动系统 接口接口 非关 备份 非关 备份 模块模块热切换系统支撑平台 键主 主控 键交 交换 驱动驱动 控模 模块 换模 组件组件 块驱 驱动 块驱 模块 动组 组件 动组 驱动 软件连接控制0 硬件连接控制 组件 抽象层 0 抽象层 件件 ! 软件: 硬祥 连接 层 备份交抉模块 ! 软件! 砸孵。连接 ,看 接口模块 图3 3基于交换网络的核心路由器热切换结构 软件层 硬件抽象 层 平台 硬件 非关键模 块硬件 ( 设备板) 该图中的软件连接控制是指硬件提供给软件使用的资源。在支持热切换的路由器中, 必须要有软件连接控制。软件连接控制可以实现在设备板上,也可以实现在平台上。软件 连接控制相关的资源可能有表示设备板是插入还是拔出的状态位、设置设备板上的热切换 相关的灯的控制位以及控制设备板r e s e t 的寄存器等等。硬件连接控制主要是指设备板和平 一 国防科学技术人学研究生院学位论文 台提供的一些信号线,可能包括设备板的r e s e t 信号及设备板正常信号等等。 硬件连接控制抽象层和软件连接控制抽象层主要是屏蔽设备板和平台的具体实现细 节。 热切换系统支撑平台包括热切换系统驱动程序以及一些相关的支撑程序。比如对于使 用交换模块的路由器来说,当热切换个接1 2 1 模块时一般要和交换模块驱动程序打交道, 由交换模块驱动程序打开或者关闭相应的交换端口。热切换系统驱动程序检测模块的切换, 进行相应的处理。 在驱动系统中,我们使用了驱动组件这个概念。我们从面向对象的角度来考虑各种热 切换模块,把任意一个热切换模块都看作一个对象。驱动组件包括相应对象的属性和可以 施加在该对象上的一组操作。因为组件可动态加载卸载,如果系统实现时较好地遵从组件 思想,那么就可以比较容易地实现对热切换的支持。当然系统在实现时并不一定要把程序 都封装为组件。 对于非关键主控模块和备份主控模块及非关键交换模块以及备份交换模块来说,其软 件热切换处理远比接口模块的热切换处理简单,因为它们的热切换处理一般只涉及驱动系 统这一层。但接口模块的热切换处理涉及面很广,涉及到i p 、a r p 等等。 在这个路由器热切换结构图中,驱动系统上层的热切换处理一般只和接口模块相关。 当加载一个接口模块驱动组件后,上层可能要向相应的接口模块写入转发表以及访问控制 列表。当加载一个接口驱动组件完毕后,该接口并不就能使用,还需要上层进行绑定p 或 p p p 并配置口地址。p 层处理完毕之后要通知路由协议进行处理。 配置热切换处理程序主要是对新插入的设备板进行配置。系统将有关设备板的配置信 息( 比如接1 2 1 的p 地址和掩码) 先存放在配置文件中,当新插入设备板就可直接调用热切换 处理程序进行配置,而不需操作员的干预。 热切换服务根据用户请求和各种热切换处理程序以及驱动系统打交道,完成相应的操 作。 我们目前把提供给操作员使用的软件热切换功能定义为如下几种: 设备板隔离:当操作员知道某一个设备板出故障时或者系统中的某一个设备板不需要 使用时,他可使用命令隔离该设备板。系统进行一些热切换处理后,卸载相应的驱动 程序,释放设备板使用的资源。 设备板挂接:某一个设备板插入后,如果系统没有自动进行热切换处理( 可能有关热 切换的硬件连接信号线或软件连接控制有问题或者系统不提供自动热切换处理支持) , 那么操作员可使用命令让软件进行热切换处理。系统加载相应的驱动程序,释放设备 板使用的资源,进行其它相关的热切换处理。 保存配置:操作员通过命令将某一个设备板的配置信息( 比如接口的坤地址和掩码) 保 存在配置文件中。 恢复配置:操作员使用原来保存的配置信息配置设备板。这要求原来的配置信息和这 个设备板要一致。 停用:让设备板停止工作,设备板相关的软件资源并不释放。 启用:让原先停用的设备板进行工作。 当然系统最好能自动进行热切换处理。切换设备板时,软件如何自动处理? 我们先看 一下热切换事件及比较好的处理方式。 第1 4 页 国防科学技术大学研究生院学位论文 热切换事件比较好的自动热切换处理方式 设备板拔出,在一定的时间内插入拔出时,停用设备板。插入时,启用设备板 一块同样类型的设备板 设备板拔出超过一定时间设备板隔离 设备板出故障设备板隔离 新插入一块设备板挂接设备板 设备板拔出,在一定的时间内插入拔出时,隔离设备板。插入时,挂接设备板 一块不同类型的设备板 其它的热切换事件? 由于切换事件不同,自动热切换处理方式也不同。如果知道哪种事件是大概率事件, 那么就可以根据体系结构设计中的“大概率事件优先原则”来选择相应的自动热切换处理 方式。对热切换事件的统计不属于本文的研究范畴。 3 1 3 接口模块热切换状态及转换关系 接口模块软件热切换牵涉面广,处理复杂。为了方便接口模块的软件热切换设计,我 们分析了路由器进行热切换处理涉及的诸多处理过程,然后把路由器软件进行热切换处理 时的状态进行划分。 我们把热切换处理状态分为下面几种 s o 一系统处于正常工作状态。但系统软件已经知道系统配置已经发生变化:有设备 板插入了。通常设备板已加电等待放开复位。如果设备板自动进行自检或者自动执行 一些必要的初始化代码,并且初始化正常那么系统也进入该状态。 s 1 一设备扳放开复位,进行自检。如果一切正常,则到达该状态。如果设备板内有 一些初始化代码,则此时设备板已经执行了必要的初始化代码。 s 1 f 一设备板进行自检或者执行一些必要的初始化代码,发现设备板出错,对板子的 初始化失败。 s 2 一设备的驱动组件已经加载。 s 3 一进行p p p 热切换处理完毕。如果是点对点接口,则p p p 协议已经绑定,并进行了 一些相关的处理。 s 4 一p 热切换处理完毕。对接口已经绑定了球协议,并进行了一些相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影像科病理管理制度
- 心外科流程管理制度
- 快检室设备管理制度
- 总公司货运管理制度
- 总经理预约管理制度
- 慈善会培训管理制度
- 战略部部门管理制度
- 排放瓦斯油管理制度
- 接种证查验管理制度
- 收支结余率管理制度
- 血培养采集课件
- 广东省茂名市直属学校2023-2024学年七年级下学期期末数学试题
- 江西省九江市2023–2024学年八年级下学期期末考试道德与法治试题(无答案)
- 小学语文部编版六年级下册全册阅读知识点(分单元课时编排)
- JBT 2231.3-2011 往复活塞压缩机零部件 第3部分:薄壁轴瓦
- 2024-2030年中国果酱行业市场规模调研及前景趋势预测报告
- 2024中车大连机车车辆限公司招聘高校毕业生170人高频考题难、易错点模拟试题(共500题)附带答案详解
- 2023年中移动家庭网关终端技术规范
- 2024年湖南省公安厅机关警务辅助人员招聘笔试参考题库附带答案详解
- 2021年4月自考03200预防医学二试题及答案含解析
- (新版)光伏产业技能竞赛理论试题库及答案(浓缩500题)
评论
0/150
提交评论