报文处理方法及装置与流程

文档序号:12376326阅读:282来源:国知局
报文处理方法及装置与流程

本发明涉及通信技术领域,尤其涉及报文处理方法及装置。



背景技术:

TRILL(Transparent Interconnection of lots of links,多链路透明互联)是IETF为实现数据中心大二层扩展制定的一个标准,它将应用于IP转发的思路应用到以太帧转发,通过拓展IS-IS协议实现二层路由,运行TRILL协议的以太网交换机被称为路由桥(Rrouting Bridge,RB),多台RB组成的网络集合称为TRILL网络。在TRILL网络中,每个RB使用Hello报文与链路上其他的RB进行交互。在同一链路的RB之间选举DRB,由DRB确定后续封装TRILL控制报文和数据报文的指定VLAN、为链路上的每个使能VLAN分配指定的唯一发送和接收端口作为该使能VLAN的指定报文转发端口(AVF)。作为AVF的RB端口负责将本地网络中的该VLAN相关的数据报文上送TRILL网络,使用指定VLAN进行TRILL封装后通过TRILL网络传送到远端的目的RB。在远端的目的RB将接收的TRILL数据报文解封转后,通过AVF端口转发到本地网络中。

和三层的路由协议一样,TRILL协议也是通过在链路上发送的Hello报文进行邻居发现及邻居关系维护。但是和三层路由协议不一样的是,TRILL协议运行于二层网络,所以协议规定,对于DRB来说,用于邻居发现的Hello报文需要在每一个使能VLAN中发送;对于非DRB来说,Hello报文需要在指定VLAN和作为AVF的VLAN内发送。

在实际组网中,TRILL网络的下行接入端口往往会使能大量业务VLAN。在与用户直连的只有一个用户接入RB(Ingress RB)时,该RB仍然要向每个业务VLAN发送Hello报文进行DRB的选举和AVF分配,导致RB处理资源以及带宽的浪费。



技术实现要素:

本发明的主要目的在于提供一种报文处理方法及配置,旨在提高配置数据推送的效率。

为实现上述目的,本发明提供一种报文处理方法,所述报文处理方法包括:

侦测路由桥RB端口接收的Hello报文;

当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。

优选地,所述侦测路由桥RB接收的Hello报文之后,还包括:

当所述RB的任一端口接收到Hello报文,且接收到Hello报文的端口当前未周期向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文。

优选地,所述当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文之后,还包括:

将所述RB选举为所述端口所在链路的指定路由桥DRB,并将所述端口指定为所述端口各使能虚拟局域网VLAN的指定报文转发端口AVF。

优选地,所述当所述RB的任一端口接收到Hello报文,且接收到Hello报文的端口当前未向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文之后,还包括:

根据所述端口接收到的Hello报文,进行所述端口所在链路DRB的选举。

优选地,所述根据所述端口接收到的Hello报文,进行所述端口所在链路DRB的选举之后,还包括:

若所述RB被选举为所述端口所在链路的DRB,则选定指定VLAN,并控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文,以及为所述链路上的各使能VLAN分别分配唯一的AVF;

若所述RB未被选举为所述端口所在链路的DRB,则根据所述端口接收的DRB发送的携带指定VLAN信息的Hello报文,控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文。

此外,为实现上述目的,本发明还提供一种报文处理装置,所述报文处理装置包括:

侦测模块,用于侦测路由桥RB端口接收的Hello报文;

控制模块,用于当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。

优选地,所述控制模块还用于当所述RB的任一端口接收到Hello报文,且接收到Hello报文的端口当前未周期向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文。

优选地,所述控制模块还用于将所述RB选举为所述端口所在链路的指定路由桥DRB,并将所述端口指定为所述端口各使能虚拟局域网VLAN的指定报文转发端口AVF。

优选地,所述报文处理装置还包括选举模块,用于根据所述端口接收到的Hello报文,进行所述端口所在链路DRB的选举。

优选地,所述控制模块还用于,

当所述RB被选举为所述端口所在链路的DRB时,选定指定VLAN,并控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文,以及为所述链路上的各使能VLAN分别分配唯一的AVF;

当所述RB未被选举为所述端口所在链路的DRB时,根据所述端口接收的DRB发送的携带指定VLAN信息的Hello报文,控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文。

本发明通过侦测路由桥RB端口接收的Hello报文;当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。相较于现有技术,本发明根据RB端口接收Hello报文的情况实时切换相应端口的发送状态,在长时间未接收到其他RB发送的Hello报文时,识别所述RB为链路内唯一RB,控制相应端口停止向外发送Hello报文,以避免RB处理资源以及带宽的浪费。

附图说明

图1为本发明报文处理方法较佳实施例的流程示意图;

图2为本发明报文处理方法应用的场景示意图;

图3为本发明报文处理装置较佳实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种报文处理方法,参照图1,在本发明报文处理方法的较佳实施例中,所述报文处理方法包括:

S10,侦测路由桥RB端口接收的Hello报文;

需要说明的是,在TRILL网络中,TRILL报文包括控制报文和数据报文。Hello报文属于控制报文,其采用802.1Q格式封装,目的地址为固定的组播地址0180-C200-0041,其内容直接封装在数据链路层的帧中。各RB之间通过周期性通告Hello报文以建立并维持邻居关系,在形成邻居关系的RB之间扩散LSP(Link-State Packet,链路状态包),最终在全网RB上形成相同的LSDB(Link State DataBase,链路状态数据库)。各RB在LSDB的基础上使用SPF(Shortest Path First,最短路径优先)算法生成从自己到其他RB的路由转发表项,用以指导数据报文的转发。

本实施例中,可以侦测所述RB当前已开启TRILL功能的某端口,或者某几个端口,或者已开启TRILL功能的所有端口;优选地,侦测所述RB当前已开启TRILL功能的所有端口接收的Hello报文,其中,所述Hello报文是相应端口所在链路的其它RB发送的。例如,现有技术中,指定路由桥DRB每间隔3秒向外发送一次Hello报文,非DRB每间隔10S向外发送一次Hello报文。

S20,当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。

本实施例并不限定所述预设时间段的设置,具体根据实际需要进行设置, 例如,可以设置为60秒。容易理解的是,当所述RB的任一端口在预设时间段内未接收到Hello报文时,说明所述RB为未接收到所述Hello报文的端口所在链路的唯一RB,若未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文,控制所述端口停止发送Hello报文,以避免所述RB处理资源以及带宽的浪费。

进一步地,所述当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文之后,还包括:

将所述RB选举为所述端口所在链路的指定路由桥DRB,并将所述端口指定为所述端口各使能虚拟局域网VLAN的指定报文转发端口AVF。

需要说明的是,DRB同其所在链路的其他RB建立一种星型的邻接关系,这种邻接关系用来交换各个RB的LSP,从而同步LSDB,DRB在RB的LSDB同步中起到核心的作用。各RB在LSDB的基础上使用SPF(Shortest Path First,最短路径优先)算法生成从自己到其他RB的路由转发表项,用以指导数据报文的转发。

在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。一个VLAN就是一个广播域,它具有以下优点:网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。根据实际需要,RB的端口可同时使能多个VLAN。但是,每个使能VLAN有且仅有一个AVF,并通过其AVF进行报文的发送和接收。

进一步地,所述侦测路由桥RB端口接收的Hello报文之后,还包括:

当所述RB的任一端口接收到Hello报文,且接收到Hello报文的端口当前未周期向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文。

容易理解的是,当所述RB的任一端口接收到Hello报文,说明接收到所述Hello报文的端口所在链路上还存在其他RB,若接收到Hello报文的端 口当前未周期向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文,以与该链路的其他RB进行交互,建立邻居关系;在建立所述RB与其他RB的邻居关系后,进行所述端口所在链路DRB的选举。

具体地,在链路DRB的选举完成之后,若所述RB被选举为所述端口所在链路的DRB,则选定指定VLAN,并控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文,以及为所述链路上的各使能VLAN分别分配唯一的AVF;

若所述RB未被选举为所述端口所在链路的DRB,则根据所述端口接收的DRB发送的携带指定VLAN信息的Hello报文,控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文。

例如,参照图2,图2所示的路由桥RB1为用户侧接入RB,为其端口Port1所在链路的唯一RB。所述RB1在使能Port1的TRILL功能的同时,Port1立即周期性的主动向其所在链路发送Hello报文,同时,若Port1在预设时间段内接收到了相同链路内其他RB发送的Hello报文,则Port1继续以一定的周期持续发送Hello报文,与相同链路内其他RB的相应端口进行Hello报文交互,进行DRB的选举和AVF的分配。

若Port1在60秒内未接收到Hello报文,控制Port1停止发送Hello报文。显而易见的,Port1所在的链路上,用户终端User1并不会发送Hello报文,即端口Port1在任何时间都不会在其所在的链路上接收到Hello报文,控制Port1停止发送Hello报文,并将RB1选举为Port1所在链路的指定路由桥DRB,以及将Port1指定为Port1各使能虚拟局域网VLAN的指定报文转发端口AVF。

若Port1重新接收到了Hello报文(该链路有其他RB接入),且Port1当前未周期向其所在链路发送Hello报文时,控制Port1重新开始周期性的主动发送Hello报文,并重新进行DRB的选举和AVF的分配。具体地,在非指定VLAN内接收到新加入网络的其他RB发送的Hello报文时,控制Port1在对应的VLAN内发送应答Hello报文,并根据所述其他RB发送的Hello报文重新进行DRB选举:

若由于新加入的其他RB优先级较高等原因,DRB发生变化(RB1未被选举为DRB),则接收DRB发送的携带指定VLAN信息的Hello报文,如 果其中的指定VLAN变化,则控制Port1通过变化后的指定VLAN周期向新加入的其他RB发送Hello报文。需要说明的是,若新加入的其他RB的使能VLAN中包括之前的指定VLAN,则尽可能保持指定VLAN不变,仍使用之前的指定VLAN,避免指定VLAN频繁变化导致网络不稳定。其中,指定VLAN的选定应该从各RB的使能VLAN的交集中指定。

若被选举为DRB,优选地,保持指定VLAN不变,仍使用之前的指定VLAN,并为该链路上各使能VLAN分别分配唯一的AVF,例如,将Port1设置为其所在链路各使能VLAN的AVF。

本实施例提出的报文处理方法,侦测路由桥RB端口接收的Hello报文;当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。相较于现有技术,本发明根据RB端口接收Hello报文的情况实时切换相应端口的发送状态,在长时间未接收到其他RB发送的Hello报文时,识别所述RB为链路内唯一RB,控制相应端口停止向外发送Hello报文,以避免RB处理资源以及带宽的浪费。

本发明还提供一种报文处理装置,参照图3,在本发明报文处理装置的较佳实施例中,所述报文处理装置包括:

侦测模块10,用于侦测路由桥RB端口接收的Hello报文;

需要说明的是,在TRILL网络中,TRILL报文包括控制报文和数据报文。Hello报文属于控制报文,其采用802.1Q格式封装,目的地址为固定的组播地址0180-C200-0041,其内容直接封装在数据链路层的帧中。各RB之间通过周期性通告Hello报文以建立并维持邻居关系,在形成邻居关系的RB之间扩散LSP(Link-State Packet,链路状态包),最终在全网RB上形成相同的LSDB(Link State DataBase,链路状态数据库)。各RB在LSDB的基础上使用SPF(Shortest Path First,最短路径优先)算法生成从自己到其他RB的路由转发表项,用以指导数据报文的转发。

本实施例中,侦测模块10可以侦测所述RB当前已开启TRILL功能的某端口,或者某几个端口,或者已开启TRILL功能的所有端口;优选地,侦测模块10侦测所述RB当前已开启TRILL功能的所有端口接收的Hello报文, 其中,所述Hello报文是相应端口所在链路的其它RB发送的。例如,现有技术中,指定路由桥DRB每间隔3秒向外发送一次Hello报文,非DRB每间隔10S向外发送一次Hello报文。

控制模块20,用于当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。

本实施例并不限定所述预设时间段的设置,具体根据实际需要进行设置,例如,可以设置为60秒。容易理解的是,当所述RB的任一端口在预设时间段内未接收到Hello报文时,说明所述RB为未接收到所述Hello报文的端口所在链路的唯一RB,若未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文,控制模块20控制所述端口停止发送Hello报文,以避免所述RB处理资源以及带宽的浪费。

进一步地,当控制所述端口停止发送Hello报文之后,所述控制模块20还用于将所述RB选举为所述端口所在链路的指定路由桥DRB,并将所述端口指定为所述端口各使能虚拟局域网VLAN的指定报文转发端口AVF。

需要说明的是,DRB同其所在链路的其他RB建立一种星型的邻接关系,这种邻接关系用来交换各个RB的LSP,从而同步LSDB,DRB在RB的LSDB同步中起到核心的作用。各RB在LSDB的基础上使用SPF(Shortest Path First,最短路径优先)算法生成从自己到其他RB的路由转发表项,用以指导数据报文的转发。

在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。一个VLAN就是一个广播域,它具有以下优点:网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。根据实际需要,RB的端口可同时使能多个VLAN。但是,每个使能VLAN有且仅有一个AVF,并通过其AVF进行报文的发送和接收。

进一步地,所述控制模块20还用于当所述RB的任一端口接收到Hello 报文,且接收到Hello报文的端口当前未周期向其所在链路发送Hello报文时,控制所述端口周期向其所在链路发送Hello报文。

需要说明的是,所述报文处理装置还包括选举模块,用于根据所述端口接收到的Hello报文,进行所述端口所在链路DRB的选举。容易理解的是,当所述RB的任一端口接收到Hello报文,说明接收到所述Hello报文的端口所在链路上还存在其他RB,若接收到Hello报文的端口当前未周期向其所在链路发送Hello报文时,控制模块20控制所述端口周期向其所在链路发送Hello报文,以与该链路的其他RB进行交互,建立邻居关系;在建立所述RB与其他RB的邻居关系后,选举模块进行所述端口所在链路DRB的选举。

具体地,在链路DRB的选举完成之后,所述控制模块还用于,

当所述RB被选举为所述端口所在链路的DRB时,选定指定VLAN,并控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文,以及为所述链路上的各使能VLAN分别分配唯一的AVF;

当所述RB未被选举为所述端口所在链路的DRB时,根据所述端口接收的DRB发送的携带指定VLAN信息的Hello报文,控制所述端口通过所述指定VLAN周期向其所在链路发送Hello报文。

例如,参照图2,图2所示的路由桥RB1为用户侧接入RB,为其端口Port1所在链路的唯一RB,本实施例提供的报文处理装置内置于RB1运行。所述RB1在使能Port1的TRILL功能的同时,Port1立即周期性的主动向其所在链路发送Hello报文,同时,若Port1在预设时间段内接收到了相同链路内其他RB发送的Hello报文,则Port1继续以一定的周期持续发送Hello报文,与相同链路内其他RB的相应端口进行Hello报文交互,进行DRB的选举和AVF的分配。

若Port1在60秒内未接收到Hello报文,控制Port1停止发送Hello报文。显而易见的,Port1所在的链路上,用户终端User1并不会发送Hello报文,即端口Port1在任何时间都不会在其所在的链路上接收到Hello报文,控制Port1停止发送Hello报文,并将RB1选举为Port1所在链路的指定路由桥DRB,以及将Port1指定为Port1各使能虚拟局域网VLAN的指定报文转发端口AVF。

若Port1重新接收到了Hello报文(该链路有其他RB接入),且Port1 当前未周期向其所在链路发送Hello报文时,控制Port1重新开始周期性的主动发送Hello报文,并重新进行DRB的选举和AVF的分配。具体地,在非指定VLAN内接收到新加入网络的其他RB发送的Hello报文时,控制Port1在对应的VLAN内发送应答Hello报文,并根据所述其他RB发送的Hello报文重新进行DRB选举:

若由于新加入的其他RB优先级较高等原因,DRB发生变化(RB1未被选举为DRB),则接收DRB发送的携带指定VLAN信息的Hello报文,如果其中的指定VLAN变化,则控制Port1通过变化后的指定VLAN周期向新加入的其他RB发送Hello报文。需要说明的是,若新加入的其他RB的使能VLAN中包括之前的指定VLAN,则尽可能保持指定VLAN不变,仍使用之前的指定VLAN,避免指定VLAN频繁变化导致网络不稳定。其中,指定VLAN的选定应该从各RB的使能VLAN的交集中指定。

若被选举为DRB,优选地,保持指定VLAN不变,仍使用之前的指定VLAN,并为该链路上各使能VLAN分别分配唯一的AVF,例如,将Port1设置为其所在链路各使能VLAN的AVF。

本实施例提出的报文处理装置,侦测路由桥RB端口接收的Hello报文;当所述RB的任一端口在预设时间段内未接收到Hello报文,且未接到所述Hello报文的端口当前周期向其所在链路发送Hello报文时,控制所述端口停止发送Hello报文。相较于现有技术,本发明根据RB端口接收Hello报文的情况实时切换相应端口的发送状态,在长时间未接收到其他RB发送的Hello报文时,识别所述RB为链路内唯一RB,控制相应端口停止向外发送Hello报文,以避免RB处理资源以及带宽的浪费。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1