报文控制的方法及装置的制造方法

文档序号:10578097阅读:262来源:国知局
报文控制的方法及装置的制造方法
【专利摘要】本申请提供报文控制的方法及装置,所述方法包括:从接口板的外部接口接收外部发送过来的报文;判断所述报文是否为指定控制报文;当所述报文为指定控制报文时,控制所述报文经由交换芯片发送至主控板以绕开业务板;当所述报文不为指定控制报文时,控制所述报文经由交换芯片发送至所述业务板。本申请解决了现有技术中因路由器业务板上的主控板CPU保护机制导致报文无法成功发送至主控板的问题,实现了将报文成功转发至主控板。
【专利说明】
报文控制的方法及装置
技术领域
[0001] 本申请设及通信技术领域,尤其设及报文控制的方法及装置。
【背景技术】
[0002] 对于分布式路由器或其他分布式网络设备(W下仅W分布式路由器为例进行说 明)来说,其一般包括接口板、业务板W及主控板。路由器通过接口板上的各种接口接收报 文,然后按照一定的分发策略将运些报文发送至路由器的业务板。业务板主要负责处理数 据报文(也称为"业务报文");对于大部分控制报文(也称为"协议报文")而言,业务板并 不负责处理,业务板在识别出控制报文后,将控制报文发送至主控板。由于主控板是整个路 由器的"大脑",几乎所有的控制报文都在运里处理。很多时候网络攻击者会利用运个特点, 通过大量的控制报文来攻击主控板,使其无法工作;除了网络攻击之外,正常情况下也可能 会出现大量控制报文涌入主控板,导致主控板无法工作的问题。为有效保护主控板,保障 路由器正常运行,很多现有设计中都会在业务板上设有主控板CPU保护机制。当业务板发 现自身需要上送给主控板的控制报文数量太多,比如速率超过某个阔值,则该保护机制会 被触发,业务板会通过队列等手段限制控制报文上送主控板CPU,从而实现对主控板CPU的 保护。然而运种保护机制虽然保护了主控板的CPU,但可能导致部分控制报文丢失,而控制 报文的丢失,则可能引发其他网络问题,比如路由震荡等,严重的时候可能导致网络服务中 断。

【发明内容】

[0003] 有鉴于此,本申请提供一种报文控制的方法及装置,来解决现有技术中因路由器 业务板上的主控板CPU保护机制导致报文无法成功发送至主控板的问题。
[0004] 具体地,本申请是通过如下技术方案实现的:
[0005] 根据本申请实施例的第一方面,提供一种报文控制的方法,其特征在于,所述方法 应用于网络设备接口板的可编程逻辑器件上,所述网络设备还包括业务板W及主控板;所 述接口板包含交换忍片,所述可编程逻辑器件与所述交换忍片相连,所述方法包括:
[0006] 从接口板的外部接口接收外部发送过来的报文;
[0007] 判断所述报文是否为指定控制报文;
[000引当所述报文为指定控制报文时,控制所述报文经由所述交换忍片发送至所述主控 板W绕开所述业务板;
[0009] 当所述报文不为指定控制报文时,控制所述报文经由所述交换忍片发送至所述业 务板。
[0010] 根据本申请实施例的第二方面,提供一种报文控制的装置,其特征在于,所述装置 应用于网络设备接口板的可编程逻辑器件上,所述网络设备还包括业务板W及主控板;所 述接口板包含交换忍片,所述可编程逻辑器件与所述交换忍片相连,所述装置包括:
[0011] 接收单元,用于从接口板的外部接口接收外部发送过来的报文;
[0012] 判断单元,用于判断所述报文是否为指定控制报文;
[0013] 第一发送单元,用于当所述报文为指定控制报文时,控制所述报文经由所述交换 忍片发送至所述主控板W绕开所述业务板;
[0014] 第二发送单元,用于当所述报文不为指定控制报文时,控制所述报文经由所述交 换忍片发送至所述业务板。
[0015] 本申请提供报文控制的方法及装置,路由器接口板上的外部接口接收到报文后, 将报文发送至可编程逻辑器件,所述可编程逻辑器件对所述报文进行解析,并在识别出所 述报文为指定控制报文时修改所述报文中标识报文去向的字段,然后将所述报文发送至交 换忍片,W使交换忍片根据所述报文中标识报文去向的字段将所述报文发送至主控板。因 为指定控制报文的数量较少,因此交换忍片并不会像业务板的CPU那样对发送至主控板的 指定控制报文启动主控板CPU保护机制,即在交换忍片将指定控制报文发送至主控板的过 程中所述报文不需要进入到CPU保护队列,因此所述报文通常不会因主控板CPU保护机制 而丢失。本申请解决了现有技术中因路由器业务板上的主控板CPU保护机制导致报文无法 成功发送至主控板的问题。
【附图说明】
[0016] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施 例,并与说明书一起用于解释本申请的原理。
[0017] 图1是应用本申请实施例实现报文控制的应用场景示意图;
[001引图2是本申请报文控制的方法的一个实施例流程图;
[0019] 图3是本申请报文控制的装置所述设备的一种硬件结构图;
[0020] 图4是本申请报文控制的装置的一个实施例框图。
【具体实施方式】
[0021] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0022] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多 数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指 并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0023] 应当理解,尽管在本申请可能采用术语第一、第二、第S等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0024] 参见图1,为应用本申请实施例实现报文控制的应用场景示意图:
[00巧]图1中,路由器A和路由器B为邻居路由器,两者可W通过路由器接口板上的外部 接口( W下W流行的POS接口为例进行说明)相连W实现传输数据报文和控制报文。现有 技术中,当路由器B接口板上的POS接口接收到来自路由器A的报文时,路由器B的接口板 将报文发送至路由器B的业务板,当识别出接收到的报文为控制报文时,业务板将报文发 送至主控板。因为业务板上有主控板CPU保护机制,即为了防止涌入主控板CPU的流量过 大、严重消耗主控板CPU性能,因此当业务板上的需要上送的控制报文数量到达一定的阔 值后,运些控制报文需要进入到业务板上的主控板CPU保护队列中。业务板上的控制报文 在通过主控板CPU保护机制的处理后,才能被发送至主控板。在此过程中,一些控制报文容 易丢失。当丢失的控制报文为重要的控制报文时,路由器A和路由器B之间的链路层数据 传输会受到影响。
[00%] 当因业务板上的主控板CPU保护机制而丢失的控制报文为路由器A发送至路由器 B的保活报文时,路由器B不会向路由器A发送回复报文。当路由器A在一定时间内没有收 到来自路由器B的回复报文时,路由器A会断开与路由器B的链路连接。当链路状态发生 变化时,路由器A和路由器B可能会发生路由震荡,运个震荡会迅速扩散开来,网络中其他 路由器也会因为运一链路变化而重新计算路由,运个过程是需要时间的,很可能影响到路 由器对大量数据报文的处理。相似地,当因业务板上的主控板CPU保护机制而丢失的控制 报文为路由器A发送至路由器B的协商报文时,路由器A和路由器B也有可能因发生路由 震荡而影响整体业务。
[0027] 在本申请中,为了实现路由器A发送的指定控制报文(比如保活报文和协商报文 等)成功发送至路由器B,路由器B接口板上的POS接口接收到报文后,将报文发送至可编 程逻辑器件(比如FPGA忍片),由FPGA忍片对所述报文进行解析,并在识别出所述报文为 指定控制报文时,运些重要的控制报文绕过业务板上送主控板,大大降低了因为CPU保护 机制而被丢弃的可能性。W下通过更为详细示例对本申请进行阐述。
[0028] 参见图2,为本申请报文控制的方法的一个实施例流程图,该实施例从网络设备接 口板的可编程逻辑器件侧进行描写,包括了 W下步骤:
[0029] 步骤201 :从接口板的外部接口接收外部发送过来的报文。
[0030] 当对端发送报文时,路由器接口板上的外部接口接收外部发送过来的报文,并将 所述报文发送至内部的可编程逻辑器件。所述外部接口可W为POS接口,所述可编程逻辑 器件可W为FPGA忍片。
[0031] 步骤202 :判断所述报文是否为指定控制报文。
[0032] 所述可编程逻辑器件接收到所述报文后,对所述报文进行解析,并根据解析得到 的协议号判断所述报文是否为指定控制报文。
[0033] 在一个示例中,所述报文的格式可W如表1所示:
[0034]
[0035] 表 1
[0036] 表1中,假设协议号为0021,则可W判断所述报文为IP报文,即数据报文。此 时,所述报文不为指定控制报文;假设协议号为C021时,则可W判断所述报文为LCP化ink Control Protocol,链路控制协议)报文,即保活报文或协商报文。此时,所述报文为指定 控制报文。因此,可编程逻辑器件可W通过所述报文的协议号判断所述报文是否为指定控 制报文。
[0037] 在一个示例中,所述可编程逻辑器件上可W预先设置指定控制信息,所述指定控 制信息可W包括指定控制报文的协议号,所述指定控制信息可W如表2所示(表2中仅展 示出所述指定控制信息的部分信息):
[0038]
[0039] 表 2
[0040] 当通过对所述报文的解析获取的协议号可W从表2中查找到时,所述报文为指定 控制报文。所述可编程逻辑器件可W通过对所述指定控制信息的修改增加、减少或更新所 述指定控制报文的范围。
[0041] 步骤203 :当所述报文为指定控制报文时,控制所述报文经由交换忍片发送至主 控板W绕开所述业务板。
[0042] 当所述报文被判断为指定控制报文时,所述可编程逻辑器件控制报文通过交换忍 片上送主控板,从而绕开业务板。在一个例子中,可W将标识所述报文的板间封装(比如 HIGIG头)中去向字段设置为第一标识(比如设置为0),W使所述交换忍片根据所述第一 标识将所述报文转发至主控板。。
[0043] 在一个示例中,所述报文的HIGIG头可W如表3所示:
[00441
[0045] 表 3
[0046] 表3中,所述报文的HIGIG头为12个字节,其中1字节的dest_pod和dest_modid 可W决定所述报文的去向。因此,当所述报文被判断为指定控制报文时,所述报文HIGIG头 中的dest_po;rt和dest_modid可W均被设置为第一标识。第一标识即dest_po;rt和dest_ modid可W取值0。
[0047] 所述可编程逻辑器件在修改完所述报文中的去向字段后,将所述报文发送至交换 忍片。交换忍片接收到所述报文后,对所述报文进行解析,并在解析后获得标识所述报文去 向的字段。当所述字段为第一标识时,所述交换忍片可W将所述报文发送至主控板。当所 述第一标识为0即所述报文的HIGIG头中dest_poK和dest_modid均为0时,所述交换忍 片可W将所述报文发送至主控板。值得注意的是,利用HIGIG头运样的板间封装可W避免 对报文本身的修改,实施更加方便,且更容易被忍片厂商支持。HIGIG头是报文进入网络设 备之后在报文外层添加的一层封装,主要在内部处理使用,其通常只在网络设备内部有效, 罔开网络设备之自U,HIGIG头会被移除。
[0048] 步骤204 :当所述报文不是指定控制报文时,控制所述报文经由交换忍片发送至 所述业务板。
[0049] 当所述报文不为指定控制报文时,所述可编程逻辑器件将标识所述报文去向的字 段设置为第二标识,W使所述交换忍片根据所述第二标识将所述报文转发至业务板。此时, 所述报文HIGIG头中的dest_pcxrt和dest_modid可W均被设置为第二标识。所述第二标 识即dest_pod和dest_modid可W取值非0。所述交换忍片在识别出所述报文中标识报文 去向的字段为第二标识即所述报文的HIGIG头中dest_pcxrt和dest_modid均为非0时,所 述交换忍片可W将所述报文发送至业务板。
[0050] 由上述实施例可见,路由器接口板上的POS接口接收到报文后,将报文发送至可 编程逻辑器件,所述可编程逻辑器件对所述报文进行解析,并在识别出所述报文为指定控 制报文时修改所述报文中标识报文去向的字段,然后将所述报文发送至交换忍片,W使交 换忍片根据所述报文中标识报文去向的字段将所述报文发送至主控板。因为指定控制报文 的数量较少,因此交换忍片并不会像业务板的CPU那样对发送至主控板的指定控制报文启 动主控板CPU保护机制,即在交换忍片将指定控制报文发送至主控板的过程中所述报文不 需要进入到CPU保护队列,因此所述报文通常不会因主控板CPU保护机制而丢失。值得注 意的是,由于指定控制报文数量较少。比如上述实施例中,选择了保活报文W及协商报文, 因此其总量较低,并不会对主控板CPU造成冲击。大部分的控制报文由于不是指定的控制 报文,因此还是会被送往业务板,经过业务板上送到主控板CPU。因此,理论上来说剩下运些 经过业务板上送主控板的控制报文还是有可能因为CPU保护机制而丢失,但是其重要性不 如上述指定控制报文,因此所造成的负面影响轻微。而POS 口的协商报文W及保活报文则 是重要度较高的控制报文,一旦丢失,很可能引发路由震荡等严重问题。由此可见,本申请 对于控制报文进行了区别化处理,既考虑了对主控板CPU的保护,同时优化了 CPU保护可能 引发的严重甚至致命性的网络问题。
[0051] 与前述报文控制的方法的实施例相对应,本申请还提供了报文控制的装置的实施 例。
[0052] 本申请报文控制的装置的实施例可W应用在网络设备上。装置实施例可W通过软 件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为例,作为一个逻辑意义 上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到 内存中运行形成的。从硬件层面而言,如图3所示,为本申请报文控制的装置所在设备的一 种硬件结构图,除了图3所示的处理器、内存、网络接口、W及非易失性存储器之外,实施例 中装置所在的设备通常还可W包括其他硬件,如负责处理报文的转发忍片等等。
[0053] 请参考图4,为本申请报文控制的装置的一个实施例框图:
[0054] 该装置可W包括:接收单元410、判断单元420、第一发送单元430 W及第二发送单 元 440。 阳化日]接收单元410,用于从接口板的外部接口接收外部发送过来的报文;
[0056] 判断单元420,用于判断所述报文是否为指定控制报文;
[0057] 第一发送单元430,用于当所述报文为指定控制报文时,控制所述报文经由所述交 换忍片发送至所述主控板W绕开所述业务板;
[005引第二发送单元440,用于当所述报文不为指定控制报文时,控制所述报文经由所述 交换忍片发送至所述业务板。
[0059] 在一个可选的实现方式中,所述外部接口是POS接口,所述指定控制报文包括来 自邻居路由器的保活报文和协商报文。
[0060] 在一个可选的实现方式中,所述判断单元420可W包括(图4中未示出):
[0061] 获取子单元,用于通过对所述报文的解析获取所述报文的协议号;
[0062] 判断子单元,用于根据所述协议号判断所述报文是否为指定控制报文。
[0063] 在一个可选的实现方式中,所述第一发送单元430可W包括(图4中未示出):
[0064] 第一设置子单元,用于将标识所述报文的去向字段设置为第一标识,W使所述交 换忍片根据所述第一标识将所述报文转发至所述主控板; W65] 所述第二发送单元440可W包括(图4中未示出):
[0066] 第二设置子单元,用于将标识所述报文的去向字段设置为第二标识,W使所述交 换忍片根据所述第二标识将所述报文转发至所述业务板。
[0067] 在一个可选的实现方式中,所述去向字段位于所述报文的板间封装内。
[0068] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0069] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0070] 由上述实施例可见,路由器接口板上的POS接口接收到报文后,将报文发送至可 编程逻辑器件,所述可编程逻辑器件对所述报文进行解析,并在识别出所述报文为指定控 制报文时修改所述报文中标识报文去向的字段,然后将所述报文发送至交换忍片,W使交 换忍片根据所述报文中标识报文去向的字段将所述报文发送至主控板。因为指定控制报文 的数量较少,因此交换忍片并不会像业务板的CPU那样对发送至主控板的指定控制报文启 动主控板CPU保护机制,即在交换忍片将指定控制报文发送至主控板的过程中所述报文不 需要进入到CPU保护队列,因此所述报文通常不会因主控板CPU保护机制而丢失。值得注 意的是,由于指定控制报文数量较少。比如上述实施例中,选择了保活报文W及协商报文, 因此其总量较低,并不会对主控板CPU造成冲击。大部分的控制报文由于不是指定的控制 报文,因此还是会被送往业务板,经过业务板上送到主控板CPU。因此,理论上来说剩下运些 经过业务板上送主控板的控制报文还是有可能因为CPU保护机制而丢失,但是其重要性不 如上述指定控制报文,因此所造成的负面影响轻微。而POS 口的协商报文W及保活报文则 是重要度较高的控制报文,一旦丢失,很可能引发路由震荡等严重问题。由此可见,本申请 对于控制报文进行了区别化处理,既考虑了对主控板CPU的保护,同时优化了 CPU保护可能 引发的严重甚至致命性的网络问题。
[0071] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种报文控制的方法,其特征在于,所述方法应用于网络设备接口板的可编程逻辑 器件上,所述网络设备还包括业务板以及主控板;所述接口板包含交换芯片,所述可编程逻 辑器件与所述交换芯片相连,所述方法包括: 从接口板的外部接口接收外部发送过来的报文; 判断所述报文是否为指定控制报文; 当所述报文为指定控制报文时,控制所述报文经由所述交换芯片发送至所述主控板以 绕开所述业务板; 当所述报文不为指定控制报文时,控制所述报文经由所述交换芯片发送至所述业务 板。2. 根据权利要求1所述的方法,其特征在于,所述外部接口是POS接口,所述指定控制 报文包括来自邻居路由器的保活报文和协商报文。3. 根据权利要求1所述的方法,其特征在于,所述判断所述报文是否为指定控制报文, 包括: 通过对所述报文的解析获取所述报文的协议号; 根据所述协议号判断所述报文是否为指定控制报文。4. 根据权利要求1所述的方法,其特征在于,所述控制所述报文经由所述交换芯片发 送至所述主控板,包括: 将标识所述报文的去向字段设置为第一标识,以使所述交换芯片根据所述第一标识将 所述报文转发至所述主控板; 所述控制所述报文经由所述交换芯片发送至所述业务板,包括: 将标识所述报文的去向字段设置为第二标识,以使所述交换芯片根据所述第二标识将 所述报文转发至所述业务板。5. 根据权利要求4所述的方法,其特征在于,所述去向字段位于所述报文的板间封装 内。6. -种报文控制的装置,其特征在于,所述装置应用于网络设备接口板的可编程逻辑 器件上,所述网络设备还包括业务板以及主控板;所述接口板包含交换芯片,所述可编程逻 辑器件与所述交换芯片相连,所述装置包括: 接收单元,用于从接口板的外部接口接收外部发送过来的报文; 判断单元,用于判断所述报文是否为指定控制报文; 第一发送单元,用于当所述报文为指定控制报文时,控制所述报文经由所述交换芯片 发送至所述主控板以绕开所述业务板; 第二发送单元,用于当所述报文不为指定控制报文时,控制所述报文经由所述交换芯 片发送至所述业务板。7. 根据权利要求6所述的装置,其特征在于,所述外部接口是POS接口,所述指定控制 报文包括来自邻居路由器的保活报文和协商报文。8. 根据权利要求6所述的装置,其特征在于,所述判断单元包括: 获取子单元,用于通过对所述报文的解析获取所述报文的协议号; 判断子单元,用于根据所述协议号判断所述报文是否为指定控制报文。9. 根据权利要求6所述的装置,其特征在于,所述第一发送单元包括: 第一设置子单元,用于将标识所述报文的去向字段设置为第一标识,以使所述交换芯 片根据所述第一标识将所述报文转发至所述主控板; 所述第二发送单元包括: 第二设置子单元,用于将标识所述报文的去向字段设置为第二标识,以使所述交换芯 片根据所述第二标识将所述报文转发至所述业务板。10.根据权利要求9所述的装置,其特征在于,所述去向字段位于所述报文的板间封装 内。
【文档编号】H04L12/937GK105939294SQ201510559175
【公开日】2016年9月14日
【申请日】2015年9月6日
【发明人】肖海波
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1