针对可移植路由器框架 的控制和分布协议 本发明涉及控制和分布协议(CDP),更具体地讲,是涉及为主机系统,例如电信交换机或传输系统提供网际协议路由功能的协议。
当建立具有集中式动态路由确定和分布式高性能IP分组处理能力,能够移植到许多不同的主机系统结构的网际协议(IP)路由器设施时,必须具有一个用于控制,维护,性能信息,动态路由协议消息分布消息,和路由表分布管理消息传送的有效内部协议。IP路由器的现有实现是特定于系统的,并且不能使其自身移植到多种操作环境中。
需要一种协议,该协议用于现有和新的通信系统结构,提供向诸如IP路由器,电信交换系统或电信传输系统的主机系统增加IP网络路由功能的高性能内部通信能力。这样一种协议假定增加一个IP网络路由处理功能部件和多个分布式IP分组流处理功能部件。
本发明提供一个控制和分布协议(CDP),该协议被用来通过高速串行链路或交换网连接进行跨干线(backplane bus)的传送。该协议包含动态路由协议(DRP)IP消息的系统内传送,路由器内路由信息的分布,控制和维护消息的传送,和入口与出口之间IP和多协议标签交换(MPLS)业务的传送。该协议还包含一个动态路由和控制驱动器,该驱动器与动态路由控制应用进行交互,从而交换将发送到分组流处理器的消息并且交接从分组流处理器接收的消息。提供一个分组流处理器驱动器,该驱动器处理在动态路由控制和分组流处理器之间传送的消息。一个IP传输接口提供对来自分组流处理器的IP L3/L2协议数据单元(PDU)头原语的传送。DRC驱动器和PFP驱动器均包含一个框架传送接口。
为了更加全面地理解本发明及其优点,现在参考下面结合附图对最优实施例的描述,其中:
图1是关于本发明的控制和分布协议的模块图;
图2是关于本发明用于图解驱动器功能的动态路由和控制驱动器地模块图;
图3是关于本发明用于图解驱动器功能的分组流处理器驱动器的模块图;
图4是图解数据链路层状态处理的模块图;
图5是图解动态路由与控制驱动器和分组流处理器驱动器之间的链路层消息的图例;
图6是一个说明系统内路由的表格;
图7是图解消息路径的模块图。
本发明的控制和分布协议(CDP)是一个可移植/路由器框架(PRF)的组成部分,并且是一个支持多个可移植路由器框架部件之间的通信的轻便型,面向连接的数据报协议。CDP满足从小到大的路由器实现的性能需求,并且为新服务和功能提供灵活性和扩展能力。本协议足够轻便,在服务需求很高的情况下不会降低性能,并且其健壮程度足够提供高可靠性。
本发明的可移植路由器框架(PRF)标识出几个彼此通信以完成其功能的功能区。CDP允许进行这种通信并且定义有关层次3和层次2功能的专门消息和过程。假定会通过目标,或主机,系统设计来定义低层物理互连功能和格式化。因而,定义CDP以便在只需要最小改变的情况下一些不同的系统结构能够使用该协议。可以实现CDP使之通过一个高速串行链路或交换网络连接进行跨干线的传送。两个基本通信点是动态路由和控制(DRC)和分组流处理器(PFP)。CDP在根本上涉及PRF内的通信,但CDP也依赖于执行其任务的主机系统维护,管理和配置功能。
图1图解了通常由数字20标识的CDP主要部件,并且通常由数字22标识CDP 20与可移植路由器框架内其它功能的主要互连。CDP 20为四个主要路由器功能提供服务:(1)动态路由协议网际协议(DRPIP)消息的系统内传送,(2)路由信息在路由器内的分布,(3)控制和维护消息的传送,(4)通常由数字24标识,通过一个系统传送介质在入口和出口之间进行的IP和多协议标签交换(MPLS)业务传送。CDP驱动器26和28与动态路由&控制(DRC)单元主处理器30或分组流处理器(PFP)单元32关联。DRC单元30包含一个主处理器的路由软件。PFP单元32包含电信线路卡或与以太网的接口,以及任何传递IP业务的数据通信链路。在多数系统中,会有一个在线DRC驱动器26。根据系统需求,可能有一个第二DRP驱动器26,该驱动器被用作后备单元,当在线单元出现故障时该驱动器启动控制。其它主机系统可以在一个多虚拟路由器环境中使用多个DRC。在各种情况下,一个管理进程或其它进程规定DRC与相关PFP 32之间的关系。根据主机系统的规模和划分,可以有较少的PFP 32与各个DRC 26关联。在各种情况下,PFP 32会只与一个DRC驱动器26通信。对于传送的IP和MPLS业务,需要各个PFP 32与所有其它相关的PFP 32通信。
CDP(DRC)驱动器26为DRC驱动器26执行的应用提供消息传送服务。CDP 20被DRC驱动器26用来与所有其相关的PFP 32通信。驱动器26有两个主功能。第一个功能是与DRC应用交互以便交换需要发送到PFP 32的消息并且交接从PFP 32接收的消息。第二个功能是在CDP协议和主机的传送介质24协议之间转换格式和路由信息,其中在多数情况下传送介质协议是主机系统结构所专用的。
当进行了初始化并且从主机系统的管理功能接收到配置(包含系统拓扑)信息时,CDP/DRC驱动器26与所有其相关的PFP 32单元建立一个链路层连接。为了建立这个连接,驱动器26维护一个系统内路由表并且运行一个CDP专用链路层协议,其中上述路由表规定了所有活跃的PFP 32的链路地址并且上述专用链路层协议驱动CDP链路状态机。针对各个DRC到PFP的关联维护链路状态信息。这个链路层连接为CDR/DRC应用编程接口(API)和CDP/PFP API之间的消息传输提供可靠的传送服务。在CDP链路层下面是一个与主机系统传送协议和传送介质24的接口。这个接口34,36提供一部分需要的可移植路由器框架的主机系统移植规范。
在CDP链路层之上是CDP消息API。API可以在推送或轮询拉取模式下处理取决于主机系统需求的消息传送请求。这个模式是可配置项目。当准备传送一个消息时,CDP查询从应用接收的信息以确定如何路由消息以及是否需要多点传送。为每个API至DRC编码分配一个消息类型指示器,其中通过各个数据报在链路上传送该指示器。接收端使用消息类型指示器向指定应用提交消息。各个消息可以寻址到一个端口,一个PFP应用或一个IP地址。CDP转换这些地址以确定相关PFP的主机系统地址。接着CDP格式化消息并且把消息放在针对一个特定PFP的合适链路层队列中。
CDP/DRC API由三个API 40,42和44构成,这三个API支持CDP提供的三个消息类型。三个消息类型是控制与网络管理消息,路由表管理消息,和IP格式化消息。
控制与网络管理API 40允许DRC控制功能完成以下功能;
初始化
配置
系统状态监视
同步
故障报告和恢复
性能监视和报告
API 40原语包含以下信息。
向一个PFP或PFP组发送消息
目标PFP ID或PFP组ID
消息类型
功能或动作操作码
参数
从PFP接收C&M消息
源PFP ID
C/M指示器
事件
参数
路由表应用API 42允许DRC初始化并维护所有PFP 32中持有的路由表信息。API 42也提供对分布式路由表内容的监视和确认。向DRC路由分布应用通知从PFP接收的表状态和故障事件。R-API 42原语包含以下信息。
发送路由表初始化和路由更新
事务ID
PFP ID或PFP组ID
分区ID
信息指针
信息长度
信息校验和
接收PFP路由表事件
目标DRC应用ID
源PFP ID
事件
参数
如图2所示,DRP软件通过所有与其它对等路由器相连的外部电路发送和接收IP格式化消息,从而了解到网络拓扑。IP API 44允许向涉及处理IP网络业务的PFP的外部接口电路发送和接收这些IP消息。DRC应用使用一个逻辑接口(LI)作为可以与远程路由器接口关联的实际物理端口(和虚拟连接(VC))的本地代理。CDP/DRC IP API44的功能是准备任何驻留在任何LI中的IP消息以便传送到其相关的出口路由器物理接口上。通过使DRC软件通知CDP并且向CDR/DRCIP API 44推送消息,或者通过使CDP/DRC IP-API轮询任何活跃的LI并且从LI弹出消息,可以启动这个操作。DRC和CDR会支持两个环境,其中实际的实现取决于主机系统操作系统功能。CDP/DRC IPAPI 44针对分配给端口的虚拟连接和分配给PFP的端口维护关联关系。这些关联可以被用于多点传送功能或维护功能。DP/DRC LI API也维护出口端口(w/VC)与其指定的IP地址之间的关联,其中上述IP地址被用作出口IP分组内的源地址。
CDP/DRC IP API 44原语信息如下所述。
发送IP消息(DRC消息推送或CDP消息弹出)
LI ID;逻辑接口标识
IP消息定位器
消息ID
索引
从PFP接收IP消息
源PFP
源PHY/VC
IP分组或分组指针
CDP/PFP驱动器28从一个主机系统DRC功能接收并向其发送数据报消息。在进行初始化和配置时,CDP/PFP驱动器28与其指定的DRC建立一个链路层连接。在连接建立后驱动器通过其API通知消息服务已经可用。CDP/PFP驱动器28与指定的DRC有一对一关系并且为DRC和PFP之间传送的三种消息提供服务。CDP/PFP驱动器具有一个额外的需求,即通过一个传输接口50进行传送,其中传输接口50通过图3所示的主机系统传送介质24从一个入口PFP(端口)向一个出口PFP(后续跃迁端口)传递IP业务。
PFP应用API包含三个消息类型的API,这些API对应于CDP/DRC API和针对PFP中相关应用功能的接口。
控制与管理API 52允许DRC和PFP中的控制功能进行通信。API52与PFP 32的控制单元交互以便从DRC提交命令。API 52也接受在PFP内产生并且需要传送到DRC进行处理的事件。CDP/PFP C&MAPI 52原语包含以下信息。
PFP到DRC的消息。
DRC源ID
C/M指示器
事件编号
参数
DRC到PFP的消息
源DRC ID
C/M指示器
功能操作符
参数
路由表API 54允许从DRC向PFP传送在路由IP数据报业务中使用的IP路由信息。从DRC发送路由表初始化和更新消息。表状态消息和性能消息被回传给DRC。CDP/PFP R-API 54原语如下所述。
DRC到PFP的消息
DRC源ID
消息类型
功能操作符
参数
PFP到DRC的消息
DRC目标ID
事件编号
参数
IP消息传送API 56提供一个使本地寻址的IP消息到达DRC应用的路径。API 56也提供通过分配给一个特定PFP的I/O(连接)端口传送本地产生的IP消息的功能。CDP/PFP IP-API 56原语信息如下所述。
PFP到DRC(路由器入口)的IP消息
目标DRC ID
IP分组定位器(指针)
源连接/端口ID(PHY-VC)
DRC到PFP(路由器出口)的IP消息
源DRC ID
消息类型
后续跃迁(PHY-VC)
L3/L2原语信息
IP消息定位器(指针)
QQ#(服务质量排队优先权)
参照图3,CDP IP传输接口50提供从PFP传送功能向CDP对IPL3/L2 PDU头原语的有效传送,这种传送的目的是用IP分组数据重构经过修改的IP分组头。IF传输接口50还提供从框架传送接口36接收传递的L3/L2 PDU并且把PDU传送到缓冲存储器60以便进行输出排队的功能。这时向服务质量排队(QQ)62管理功能发送一个‘消息指针’。L3/L2 PDU被存储在主机系统支持的缓冲区64中。
CDP/DRC驱动器26和CDP/PFP驱动器28均包含一个类似的功能模块,即框架传送I/F 34和36。框架传送接口34和36完成被分成两类,即框架CDP功能类和主机系统功能类的几个功能。对于框架功能,接口包含CDP链路层协议并且执行与CDP API交互的多路复用/多路分解功能。有一个支持CDP数据报的系统内路由的系统内地址转换功能。主机系统功能组是特定于系统的,并且负责利用主机系统传送介质进行消息集成,其中包含格式化,寻址和协议执行。在两个功能组之间的是支持可移植路由器框架的可移植性的CDP接口。
在进行初始化和配置之后,框架传送接口34和36在系统的预备DRC和每个预备PFP 32之间建立一个链路层连接。通过所建立的链路,向CDP API通知链路可用于消息传送。FT I/F 34和36使用消息头内携带的消息类型指示器向对应的CDP API传递数据报。
CDP链路层协议负责在DRC及其相关的PFP模块之间建立一个通信链路。当建立链路层连接时,通知CDP API消息服务已经可用于应用层功能。
DRC被认为是控制或主控单元。在初始化期间,链路的DRC端和PFP端均启动定时器。当定时器溢出时,协议驱动器会从DRC发出一个命令或从PFP发出一个事件,以便通知另一端已经建立一个主机系统层次1连接并且CDP可以开始其建立阶段的操作。如果消息传送不成功,则重新启动定时器。继续这个过程直到已经建立主机系统连接。主机系统负责建立一个系统传送介质连接以支持CDP通信。一旦接收到最初的消息,DRC端会向PFP询问拓扑信息。当从PFP端接收到拓扑信息时,DRC端会下载配置信息。PFP停留在配置状态直到被通知移动到一个与其它PFP配合操作的链路建立状态。当处于配置状态时,PFP端会启动一个定时器,并且在定时器溢出时会发送一个‘配置状态定时器溢出事件’。在链路建立状态上,CDP会接受应用层数据报,事件或命令以便通过链路进行传送。在链路建立状态期间,DRC端还发出会被PFP端确认的‘保持活跃’命令。与来自PFP端的‘保持活跃确认’事件一起的是PFP单元状态信息,该信息包含可以标识最新ID的路由表状态信息和当前表校验和。DRC端可以命令PFP端复位,在这种情况下PFP CDP链路层会停止服务,移动通过服务中止状态,并且尝试重新建立一个连接,DRC端或者可以使PFP停留在服务中止状态。
图4示出了CDP/PFP链路层状态机的状态切换。在初始化时将与各个状态相关的定时器设置成缺省值,但可以根据CDP/DRC链路拓扑信息更新命令消息动态修改定时器。
使用CDP链路层消息集在DRC和一个PFP之间建立通信,图5示出了这种情况。
CDP/DRC链路命令
●谁出现?(拓扑查询)
●系统拓扑信息初始化
●系统拓扑信息更新
●建立
●保持活跃
●复位
CDP/PFP链路事件
●进入状态
●拓扑查询响应
●定时器(Tn)溢出
●保持活跃确认
●复位确认
为了使框架传送I/F 34和36完成其功能,与主机系统集成需要定义交互过程并且交换配置和寻址信息。CDP需要与所有相关系统单元建立通信的能力,并且需要维护一个关于构成路由器功能的各个单元的地址表。需要由主机系统提供这种信息。CDP的设计定义了一个用来和主机系统的消息传送实现集成的特殊接口。由主机系统负责其一侧的接口。
为了在可移植路由器框架单元之间建立通信,CDP 20定义了需要的地址模型。作为主机系统移植开发的一部分,需要主机系统管理和维护与CDP交互以建立并维护系统内路由信息。这种路由需要对关键路由器单元的命名和寻址有共同的理解。在这点上,定义了DRC和PFP路由功能。并且,定义了主机系统的路由器端口和相关的虚拟连接。为了进行移植,为框架单元标识主机系统地址的主机系统网络接口地址(SFIA)被用作集成键值。为了进行CDP集成,建立以下关联:
地址模型;
DRC(n)=SFIA
DRC(n)应用=SFIA+消息类型
PFP(n)=SFIA
PFP(n)分区=SFIA+分区号
PFP(n)应用=SFIA+消息类型
PHY(n)=SFIA+卡端口号
(PHY系统级别=机柜+层+槽+端口#)
后续跃迁=PHY(n)+VC
DRC_LI(来自PFP)=DRC(n)+PHY(n)+VP#
DRC_LI(来自DRC)=IP地址
DRC_LI(来自C&M或CDP)=DRC(n)+PHY(n)+VP#
在DRC和PFP之间传送CDP协议数据报的消息结构如下所述:
IP消息传送消息结构(DRC到PFP)
[PFP ID#]+[DRC ID#]+[消息类型]+[后续跃迁]+[IP分组]
(16位) (8位) (3位) (m位) (n字节)
控制&维护消息结构(DRC到PFP)
[PFP ID#]+DRC ID#]+[消息类型]+[C/M指示器]+[功能]+[参数]
(16位) (8位) (8位) (1位) (15位) (n字节)
路由表应用消息结构(DRC到PFP)
[PFP ID#]+DRC ID#]+[消息类型]+[功能]+[参数]
(16位) (8位) (8位) (8位) (n字节)
IP消息传送消息结构(PFP到DRC)
[DRC:ID#]+[消息类型]+[源PHY/VP]+[IP分组]
(8位) (8位) (x位) (n字节)
控制&维护消息结构(PFP到DRC)
[DRC ID#]+[源 PFP ID#]+[消息类型]+[C/M指示器]+[事件]+[参数]
(8位) (16位) (8位) (1位) (7位) (n字节)
路由表应用消息结构(PFP到DRC)
[DRC ID#]+[源 PFP ID#]+[消息类型]+[事件]+[参数]
(8位) (16位) (8位) (8位) (n字节)
下面是分配的CDP消息类型;
消息类型00H-CDP链路状态消息
消息类型01H-IP-API消息
消息类型02H-C&M-API消息
消息类型04H-R-API消息
CDP使用API PDU内的信息确定用于通过主机系统传送介质到目标的路由的主机系统SFIA。DRC可能需要向多个PFP广播某些消息。因而,表中包含允许向IP地址组,PFP组和物理端口组多点传送的内容。图6中示出了执行系统内路由功能的表标识。
图7图解了驱动器26和28之间经过介质24的消息路径。
前面针对具体实施例描述了本发明,可以理解,本领域的技术人员会提出各个改变和修改,并且试图把这些改变和修改包含在所附权利要求书的范围内。