报文发送方法及其装置的制作方法

文档序号:7967845阅读:182来源:国知局
专利名称:报文发送方法及其装置的制作方法
技术领域
本发明涉及数据通信领域,具体地涉及报文发送方法及其装置。
背景技术
在数据通信网络中,路由信息通常是通过边界网关协议(boundary GatewayProtocol,BGP)或内部网关协议(Interior Gateway Protocol,IGP)协议来收集、分发的。其中,开放式最短路径优先(Open Shortest Path First,OSPF)协议是当前主要的IGP协议中应用最广泛的一种。OSPF属于链路状态协议,收集当前设备在网络中的拓扑信息与路由信息,以链路状态通告(Link StateAdvertisement,LSA)的方式表达出来,这些LSA信息通过OSPF的同步与扩散机制被发送到整个网络中的每一台网络设备上,所有这些信息组成了OSPF的链路状态数据库(Link State Database,LSDB),最后,整个网络中的OSPF设备上均拥有的完全相同的LSDB。
在OSPF协议中,一个重要的工作就是将LSDB的更新情况扩散到整个网络。如图1所示,其基本的报文流程如下OSPF中,当一台网络设备RTA从其他网络设备收到了一条LSA更新报文1时,该网络设备会把这一变化通知给与其连接的其它所有的邻居网络设备RTB、RTC、RTD,如图中所示的报文2,而对于该网络设备的邻居网络设备,在接收到新的LSA后,也对这条LSA进行应答操作,在RTA收到邻居网络设备的应答之前,该路由器会把该新的LSA加进对应邻居网络设备的重传链表,以一个固定的频率对LSA进行重传,直到接收到了邻居网络设备的应答报文3。
如今,随着网络规模的不断扩大,通过多条并行链路来提高两台网络设备之间的通讯能力是非常常见的事情。当两台网络设备之间存在多条并行链路时,现有LSA更新报文的扩散方法会导致很多无用的报文。如图2所示,在两台邻居网络设备RTA、RTB之间存在多条链路,在这些链路上,OSPF已经建立了邻接关系,LSDB的同步已经完成。当RTA收到或发起一条LSA更新报文时,它将在与RTB连接的所有并行链路上向RTB转发这条报文,同时将该报文加入到每条链路对应RTB的重传链表中。而实际上这些报文是重复的,只需要在并行链路中的一条链路上向RTB转发该报文就可达到通知RTB的目的。
再如图3所示,当RTB在并行链路上的任一条链路上收到了该报文之后,它都会将该报文在其它的链路上向RTA转发。而实际上,RTA已经有这条报文了,因此这些报文完全是没有必要的。
由于并行链路所造成的无用报文除了上述这些还包括由它们而引起的应答报文。在实际的网络情况中,由于大量报文的情况下可能存在的丢包,OSPF所要处理的无用报文要更多。大量无用报文的存在导致系统压力上升,不但降低了整个系统的收敛速度,而且对整个系统的稳定性带来很大影响。

发明内容
本发明所要解决的技术问题在于,提供一种报文发送方法及其发送装置,来消除在扩散链路状态通告更新报文时由于并行链路的存在而引起的大量重复报文及其应答报文;同时还提供一种报文发送方法及其发送装置,用于避免由于在并行链路上向网络设备回发该报文而造成的大量不必要报文及其应答报文。
为了解决上述技术问题,本发明提出了一种报文发送方法,用于在网络设备间扩散链路状态通告更新报文,其包括以下步骤(a)网络设备在发起或收到链路状态通告更新报文时,查询链路状态数据库,并判断所述网络设备与其邻居网络设备之间是否存在扩散等价链路组,如果判断结果为是,则执行下一步;(b)所述网络设备仅通过扩散等价链路组的主扩散链路将所述链路状态通告更新报文发送给所述邻居网络设备。
其中,在步骤(a)之前还包括以下步骤(a1)网络设备分析链路状态数据库中的链路状态通告,并判断所述网络设备与其邻居网络设备之间是否存在并行链路,如果判断结果为是,则执行下一步;(a2)所述网络设备在链路状态数据库中对每一组并行链路创建一个扩散等价链路组,并在每一组并行链路中选择一条链路作为每个所述扩散等价链路组的主扩散链路。
在步骤(a2)之后还包括以下步骤当需要将主扩散链路从扩散等价链路组中移除时,网络设备重新从所述扩散等价链路组中选择一条链路作为新的主扩散链路,并将原有主扩散链路对应邻居网络设备的重传链表复制到新的主扩散链路的对应邻居网络设备的重传链表中;或者当需要将除主扩散链路外的其它任一链路从扩散等价链路组中移除时,网络设备将主扩散链路的对应邻居网络设备的重传链表复制到所要移除的链路的对应邻居网络设备的重传链表中。
其中,步骤(a1)中网络设备判断与邻居网络设备之间是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
本发明还提供另一种报文发送方法,用于在网络设备间扩散链路状态通告更新报文,其包括以下步骤(A)网络设备通过链路接收其邻居网络设备所发送的链路状态通告更新报文;(B)所述网络设备查询链路状态数据库,判断该链路是否属于扩散等价链路组,如果判断结果为是,执行下一步;(C)所述网络设备不再通过该扩散等价链路组中的链路向所述邻居网络设备发送所述链路状态通告更新报文,执行下一步;(D)所述网络设备向其它邻居网络设备发送所述链路状态通告更新报文。其中,在步骤(A)之前还包括以下步骤(A1)网络设备分析链路状态数据库中的链路状态通告,并判断所述网络设备与其邻居网络设备之间是否存在并行链路,如果判断结果为是,则执行下一步;(A2)所述网络设备在链路状态数据库中对每一组并行链路创建一个扩散等价链路组。
其中,步骤(A1)中网络设备判断与邻居网络设备之间是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
相应地,本发明还提供一种报文发送装置,其位于网络设备上,用于发送链路状态通告更新报文,其包括查询单元,用于在网络设备发起或收到链路状态通告更新报文时查询所述网络设备与其邻居设备间的扩散等价链路组信息,并将查询结果发送给控制单元;控制单元,用于当查询结果为所述网络设备与所述邻居设备间存在扩散等价链路组时,生成发送命令,并下发给发送单元;发送单元,用于按照所述控制单元生成的发送命令,仅通过所述扩散等价链路组的主扩散链路向所述邻居网络设备发送所述报文。
其中,该报文发送装置还包括有并行链路分析单元,用于判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元,且按照控制单元的命令在存在并行链路时建立对应于并行链路的扩散等价链路组,同时选择一条链路作为所述扩散等价链路组的主扩散链路。
其中,所述并行链路分析单元判断是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
本发明还提供另一种报文发送装置,其位于网络设备上,用于发送链路状态通告更新报文,其包括查询单元,用于在网络设备通过链路收到一邻居网络设备发送的链路状态通告更新报文时查询所述链路的扩散等价链路组信息,并将查询结果发送给控制单元;控制单元,用于当查询结果为所述链路属于扩散等价链路组时,生成发送命令,并下发给发送单元;发送单元,用于按照所述发送命令禁止将所述链路状态通告更新报文通过该扩散等价链路组向所述邻居网络设备发送,而将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送。
其中,该报文发送装置还包括有并行链路分析单元,用于分析链路状态数据库中的链路状态通告,以判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元,按照控制单元的命令在存在并行链路时建立对应于并行链路的扩散等价链路组。
其中,所述并行链路分析单元判断是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
其中,所述发送单元将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送为当所述网络设备与其它邻居网络设备间存在扩散等价链路组时,则在所述扩散等价链路组的主扩散链路上向所述其它邻居网络设备发送所述链路状态通告更新报文。
实施本发明,具有如下有益效果本发明通过一种报文发送方法及其发送装置,在收到或发起链路状态通告更新报文时首先判断与邻居设备间是否存在扩散等价链路组,如果存在则只在主扩散链路上转发所述报文,从而避免了由于并行链路引起的重复报文,同时避免了其应答报文,提高了整个网络系统的性能;另外,本发明还通过一种报文发送方法及其发送装置,在通过链路收到链路状态通告更新报文时,网络设备判断该链路是否属于扩散等价链路组,如果属于则不再在该扩散等价链路组的链路上转发该报文,从而避免了由于并行链路的存在而引起的不必要的报文,同时避免了其应答报文,提高了整个网络系统的性能。


图1是现有技术中LSA更新报文的扩散流程示意图;图2是现有技术中在并行链路上向邻居设备发送LSA更新报文的示意图;图3是现有技术中邻居设备在并行链路上回发LSA更新报文的示意图;图4是本发明中网络设备判断与邻居网络设备间是否存在并行链路的流程示意图;图5是本发明中网络设备判断是否存在并行链路的第一实施例网络示意图;
图6是本发明中网络设备判断是否存在并行链路的第二实施例网络示意图;图7是本发明中消除重复报文的LSA更新报文发送方法流程示意图;图8是图7中所示方法的实施效果示意图;图9是本发明中避免不必要报文的LSA更新报文发送方法流程示意图;图10是图9中所示方法的实施效果示意图;图11是本发明中消除重复报文的报文发送装置的功能模块组成图;图12是本发明中避免不必要报文的报文发送装置的功能模块组成图。
具体实施例方式
如前面所述,由于造成大量无用报文的原因是由于并行链路的存在,因此,如果判断出两台网络设备间存在并行链路,需要采取措施以消除无用报文。如图4所示,是本发明中网络设备判断与邻居网络设备间是否存在并行链路的流程示意图。下面对图4中的步骤进行详细说明。
步骤S4001网络设备分析链路状态数据库中的链路状态通告,并判断所述网络设备与其邻居网络设备之间是否存在并行链路。
当网络中所有的设备都完成了链路状态数据库的同步后,我们发现通过路由类链路状态通告(Router LSA)或Router LSA及网络类链路状态通告(NetworkLSA),就可以完全描述出这个网络完整的网络拓扑。最短路径优先(Shortest PathFirst,SPF)协议使用这些信息来计算出无环路的路由,在报文处理中,也完全可以通过这些信息来计算出两台设备间的并行链路。
网络设备间的链路类型一般有两种点到点型(P2P)和广播型(Transit)。通过分析链路状态数据库中对应于网络设备及其邻居网络设备的路由类链路状态通告(Router LSA)及相关的网络类链路状态通告(Network LSA),可以知道它们之间是否存在这些类型的链路。如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定该网络设备与该邻居网络设备之间存在并行链路。
对于点到点型链路的判断,可以通过分析路由类链路状态通告来判定,如果网络设备及其一邻居网络设备的路由类链路状态通告中分别有一条到达对方的点到点型链路信息,且相关路由类链路状态通告信息表明所述两条链路信息描述的为同一链路,则判定二者之间存在一条点到点型链路。
对于广播型链路的判断,不但要分析路由类链路状态通告,还要分析相关的网络类链路状态通告,如果网络设备及其一邻居网络设备的路由类链路状态通告中分别有一条到达同一伪节点的广播型链路信息,且所述伪节点所描述网段的网络类链路状态通告中的信息表明二者都在所述网段内,则判定二者之间存在一条广播型链路。
下面结合图5详细解释如何判断两台网络设备之间存在并行链路。如图5所示,网络设备RTA和RTB为相邻的网络设备,RTA的端口10.0.0.1与RTB的端口10.0.0.2之间的链路为链路I,RTA的端口11.0.0.1与RTB的端口11.0.0.2之间的链路为链路II。当RTA、RTB的链路状态数据库同步之后,其Router LSA中存在如下信息RTA1.到2.2.2.2可达,其下一跳是10.0.0.2,链路类型是P2P。
2.到10.0.0.0/8可达。
3.到2.2.2.2可达,其下一跳是11.0.0.2,链路类型是P2P。
4.到11.0.0.0/8可达。
RTB1.到1.1.1.1可达,其下一跳是10.0.0.1,链路类型是P2P。
2.到10.0.0.0/8可达。
3.到1.1.1.1可达,其下一跳是11.0.0.1,链路类型是P2P。
4.到11.0.0.0/8可达。
在RTA的Router LSA中,第1条链路信息表明RTA到RTB有一条点到点型的链路,其中“其下一跳是10.0.0.2”表明该条链路为图5中所示的链路I;在RTB的Router LSA中,第1条链路信息表明RTA到RTB有一条点到点型的链路,其中“其下一跳是10.0.0.1”表明该条链路为图5中所示的链路I;因此,可以判断出RTA与RTB之间存在一条点到点型的链路I。
同样,在RTA的Router LSA中,第3条链路信息表明RTA到RTB有一条点到点型的链路,其中“其下一跳是11.0.0.2”表明该条链路为图中所示的链路II;在RTB的Router LSA中,第3条链路信息表明RTA到RTB有一条点到点型的链路,其中“其下一跳是11.0.0.1”表明该条链路为图中所示的链路II;因此,可以判断出RTA与RTB之间存在一条点到点型的链路II。
通过上述分析,可以知道RTA与RTB之间存在两条点到点型链路I和II,因此,判定RTA和RTB之间存在并行链路。
再结合图6说明,如图6所示,RTA与RTB为相邻网络设备,当RTA、RTB的链路状态数据库同步之后,其Router LSA中存在如下信息RTA1.到Transit Node 10.0.0.2可达,链路类型是Transit。
2.到Transit Node 11.0.0.2可达,链路类型是Transit。
RTB1.到Transit Node 10.0.0.2可达,链路类型是Transit。
2.到Transit Node 11.0.0.2可达,链路类型是Transit。
另外,相关的网络类链路状态通告为Network LSA(10.0.0.0/8网段)中存在以下信息在该网段上有两台设备1. 1.1.1.1(RTA)/2.2.2.2(RTB)Network LSA(11.0.0.0/8网段)中存在以下信息在该网段上有两台设备1. 1.1.1.1(RTA)/2.2.2.2(RTB)RTA的Router LSA中的第1条信息和RTB的Router LSA中的第1条信息表明RTA和RTB到伪节点10.0.0.2分别有一条广播型(transit)链路;另外,通过分析伪节点10.0.0.2所描述的网段10.0.0.0/8的Network LSA信息,可以知道RTA和RTB都位于10.0.0.0/8网段内。因此,RTA和RTB之间存在一条广播型链路,如图6所示的链路I。
同样,可以分析出RTA和RTB之间存在一条广播型链路II。
因此,可以判断出RTA和RTB之间存在并行链路。
以上所述为两台相邻设备间存在两条或两条以上的点到点型链路或广播型链路的情况,对于两台相邻设备间存在两条或两条以上的点到点型链路和广播型链路的组合的情况,例如存在一条点到点型链路和一条广播型链路,则同样可以判定它们之间存在并行链路。其点到点型链路和广播型链路的判断方式与上述过程相同,此处不再赘述。
再请回到图4,网络设备在判定与其邻居设备之间存在并行链路后,将执行下一步。
步骤S4002所述网络设备在链路状态数据库中对每一组并行链路创建一个扩散等价链路组,并在每一组并行链路中选择一条链路作为每个所述扩散等价链路组的主扩散链路。
扩散等价链路组为对应于网络上两个相邻网络设备间的一组并行链路,在LSA更新报文扩散过程中,这些链路的作用是等价的,所以称之为“扩散等价”。作为建立扩散等价链路组的一种实施方式,网络设备可以在链路状态数据库中建立网络设备及其邻居网络设备与扩散等价链路组的对应关系表,记录其中各条成员链路的信息,并标注主扩散链路,以供查询。当然,网络设备还可以以其它的实施方式建立扩散等价链路组,记录相关的信息,此处不再赘述。
在建立了扩散等价链路组并选择了主扩散链路后,LSA更新报文的发送方法有了改进,其流程示意图如图7所示,包括步骤S7001网络设备在发起或收到链路状态通告更新报文时,查询链路状态数据库,并判断所述网络设备与其邻居网络设备之间是否存在扩散等价链路组,如果判断结果为是,则执行下一步。
步骤S7002所述网络设备仅通过扩散等价链路组的主扩散链路将所述报文发送给所述邻居网络设备。
这里结合图8说明,如图8所示,RTA和RTB之间存在两条链路,当RTA发起或收到LSA更新报文1时,RTA判断与RTB之间存在扩散等价链路组,则不再像现有技术中那样在两条链路上都转发该报文2、3,而只是在该扩散等价链路组中已选择好的主扩散链路上发送该报文2给RTB,从而消除了重复报文3。
需要注意的是,在建立了等价扩散链路组以后,当需要将主扩散链路从扩散等价链路组中移除时,网络设备重新从所述扩散等价链路组中选择一条链路作为新的主扩散链路,并将原有主扩散链路对应邻居网络设备的重传链表复制到新的主扩散链路的对应邻居网络设备的重传链表中。当需要将除主扩散链路外的其它任一链路从扩散等价链路组中移除时,网络设备将主扩散链路的对应邻居网络设备的重传链表复制到所要移除的链路的对应邻居网络设备的重传链表中。
另外,为避免由于在并行链路上回发报文而引起的不必要报文,本发明提供的另一种报文发送方法的流程如图9所示,包括
步骤S9001网络设备通过链路接收其邻居网络设备所发送的链路状态通告更新报文。
步骤S9002所述网络设备判断该链路是否属于扩散等价链路组,如果判断结果为是,则执行下一步。
步骤S9003所述网络设备不再通过该扩散等价链路组中的链路向所述邻居网络设备发送所述链路状态通告更新报文,执行下一步。
步骤S9004所述网络设备向其它邻居网络设备发送所述链路状态通告更新报文。
这里结合图10说明,如图10所示,RTA通过扩散等价链路组收到了一条LSA更新报文,则它不再在扩散等价链路组中的另一条链路上回发该报文4。
当然,上述步骤之前同样需要判断是否存在并行链路并建立扩散等价链路组,其步骤与图4所示的流程相同。需要说明的是,这里建立扩散等价链路组时可以不指定主扩散链路。
很显然,如果把上述两种方法结合起来,则可以同时消除重复报文和不必要报文及其应答报文。即,在发起或通过链路收到LSA更新报文时,网络设备判断与其邻居网络设备间是否存在扩散等价链路组,同时判断该链路是否属于某一扩散等价链路组,如果与邻居网络设备间存在扩散等价链路组且上述链路是属于某一扩散等价链路组的,则网络设备只在主扩散链路上发送该报文,且不再在上述链路所属于的扩散等价链路组的其它链路上回发该报文。
相应地,本发明还提供一种报文转发装置,它位于网络设备中,用于在发送链路状态通告更新报文时消除重复的报文。其功能模块组成如图11所示,包括查询单元111、控制单元112和转发执行单元113。查询单元111用于在网络设备发起或收到链路状态通告更新报文时查询所述网络设备与其邻居设备间的扩散等价链路组信息,并将查询结果发送给控制单元112;控制单元112用于当查询结果为所述网络设备与所述邻居设备间存在扩散等价链路组时,生成发送命令,并下发给发送单元113;发送单元113用于按照所述控制单元112生成的发送命令,仅通过所述扩散等价链路组的主扩散链路向所述邻居网络设备发送所述链路状态通告更新报文。
当然,所述转发装置还包括有并行链路分析单元114,用于分析链路状态数据库中的链路状态通告,以判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元112,且按照控制单元112的命令在存在并行链路时建立对应于并行链路的扩散等价链路组,同时选择一条链路作为所述扩散等价链路组的主扩散链路。其判断是否存在并行链路的方式包括网络设备通过分析链路状态数据库中对应于该网络设备及其邻居网络设备的路由类链路状态通告来判断二者之间是否存在并行链路,如果该网络设备和同一邻居网络设备间的点到点链路有两条或两条以上,则判定该网络设备与所述邻居网络设备之间存在并行链路;或者,网络设备通过分析链路状态数据库中对应于该网络设备及其邻居网络设备的路由类链路状态通告及网络类链路状态通告来判断二者之间是否存在并行链路,如果网络设备及其邻居网络设备同时属于两个或两个以上的网段,且二者与描述所述网段的伪节点间存在广播型链路,则判定所述网络设备与所述邻居网络设备之间存在并行链路。
相应地,本发明还提供一种避免不必要报文的报文发送装置,它位于网络设备中,用于发送链路状态通告更新报文。其功能模块组成如图12所示,包括查询单元121、控制单元122和转发执行单元123。查询单元121用于在网络设备通过链路收到一邻居网络设备发送的链路状态通告更新报文时查询所述链路的扩散等价链路组信息,并将查询结果发送给控制单元122;控制单元122用于当查询结果为所述链路属于扩散等价链路组时,生成发送命令,并下发给发送单元123;发送单元123用于按照所述发送命令,禁止将所述链路状态通告更新报文通过该扩散等价链路组向所述邻居网络设备发送,而将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送。
当然,所述转发装置还包括有并行链路分析单元124,用于分析链路状态数据库中的链路状态通告,以判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元122,按照控制单元122的命令在存在并行链路时建立对应于并行链路的扩散等价链路组,同时选择一条链路作为所述扩散等价链路组的主扩散链路。其判断是否存在并行链路的方式包括网络设备通过分析链路状态数据库中对应于该网络设备及其邻居网络设备的路由类链路状态通告来判断二者之间是否存在并行链路,如果该网络设备和同一邻居网络设备间的点到点链路有两条或两条以上,则判定该网络设备与所述邻居网络设备之间存在并行链路;或者,网络设备通过分析链路状态数据库中对应于该网络设备及其邻居网络设备的路由类链路状态通告及网络类链路状态通告来判断二者之间是否存在并行链路,如果网络设备及其邻居网络设备同时属于两个或两个以上的网段,且二者与描述所述网段的伪节点间存在广播型链路,则判定所述网络设备与所述邻居网络设备之间存在并行链路。
同样,如果把上述两种报文发送装置组合起来使用,则可以同时消除上面所述重复报文和不必要报文及其应答报文。即,所述发送单元将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送时,如果所述网络设备与其它邻居网络设备间存在扩散等价链路组,则在所述扩散等价链路组的主扩散链路上向所述其它邻居网络设备发送所述链路状态通告更新报文。因此,网络设备在发送LSA更新报文时,其报文发送装置的查询单元不但查询该网络设备与其邻居网络设备间的扩散等价链路组信息,而且,如果网络设备是通过某一链路收到该LSA更新报文的,则查询单元还查询该链路是否属于某一个扩散等价链路组;当网络设备与其邻居网络设备间存在扩散等价链路组,控制单元向发送单元下发发送命令,发送单元只在主扩散链路上向该邻居网络设备发送该报文;同时,如果查询单元发现上面提到的那条链路属于一个扩散等价链路组,则控制单元向发送单元下发的发送命令还包括取消在该扩散等价链路组的其它链路上发送该报文。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种报文发送方法,用于在网络设备间扩散链路状态通告更新报文,其特征在于,包括以下步骤(a)网络设备在发起或收到链路状态通告更新报文时,查询链路状态数据库,并判断所述网络设备与其邻居网络设备之间是否存在扩散等价链路组,如果判断结果为是,则执行下一步;(b)所述网络设备仅通过扩散等价链路组的主扩散链路将所述链路状态通告更新报文发送给所述邻居网络设备。
2.如权利要求1所述的报文发送方法,其特征在于,在步骤(a)之前还包括以下步骤(a1)网络设备分析链路状态数据库中的链路状态通告,并判断所述网络设备与其邻居网络设备之间是否存在并行链路,如果判断结果为是,则执行下一步;(a2)所述网络设备在链路状态数据库中对每一组并行链路创建一个扩散等价链路组,并在每一组并行链路中选择一条链路作为每个所述扩散等价链路组的主扩散链路。
3.如权利要求2所述的报文发送方法,其特征在于,在步骤(a2)之后还包括以下步骤当需要将主扩散链路从扩散等价链路组中移除时,网络设备重新从所述扩散等价链路组中选择一条链路作为新的主扩散链路,并将原有主扩散链路对应邻居网络设备的重传链表复制到新的主扩散链路的对应邻居网络设备的重传链表中;或者当需要将除主扩散链路外的其它任一链路从扩散等价链路组中移除时,网络设备将主扩散链路的对应邻居网络设备的重传链表复制到所要移除的链路的对应邻居网络设备的重传链表中。
4.如权利要求2所述的报文发送方法,其特征在于,步骤(a1)中网络设备判断与邻居网络设备之间是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
5.一种报文发送方法,用于在网络设备间扩散链路状态通告更新报文,其特征在于,包括以下步骤(A)网络设备通过链路接收其邻居网络设备所发送的链路状态通告更新报文;(B)所述网络设备查询链路状态数据库,判断该链路是否属于扩散等价链路组,如果判断结果为是,执行下一步;(C)所述网络设备不再通过该扩散等价链路组中的链路向所述邻居网络设备发送所述链路状态通告更新报文,执行下一步;(D)所述网络设备向其它邻居网络设备发送所述链路状态通告更新报文。
6.如权利要求5所述的报文发送方法,其特征在于,在步骤(A)之前还包括以下步骤(A1)网络设备分析链路状态数据库中的链路状态通告,判断所述网络设备与其邻居网络设备之间是否存在并行链路,如果判断结果为是,则执行下一步;(A2)所述网络设备在链路状态数据库中对每一组并行链路创建一个扩散等价链路组。
7.如权利要求6所述的报文发送方法,其特征在于,步骤(A1)中网络设备判断与邻居网络设备之间是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
8.一种报文发送装置,其位于网络设备上,用于发送链路状态通告更新报文,其特征在于,包括查询单元,用于在网络设备发起或收到链路状态通告更新报文时查询所述网络设备与其邻居设备间的扩散等价链路组信息,并将查询结果发送给控制单元;控制单元,用于当查询结果为所述网络设备与所述邻居设备间存在扩散等价链路组时,生成发送命令,并下发给发送单元;发送单元,用于按照所述控制单元生成的发送命令,仅通过所述扩散等价链路组的主扩散链路向所述邻居网络设备发送所述链路状态通告更新报文。
9.如权利要求8所述的报文发送装置,其特征在于,还包括有并行链路分析单元,用于分析链路状态数据库中的链路状态通告,以判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元,且按照控制单元的命令在存在并行链路时建立对应于并行链路的扩散等价链路组,同时选择一条链路作为所述扩散等价链路组的主扩散链路。
10.如权利要求9所述的报文发送装置,其特征在于,所述并行链路分析单元判断是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
11.一种报文发送装置,其位于网络设备上,用于发送链路状态通告更新报文,其特征在于,包括查询单元,用于在网络设备通过链路收到一邻居网络设备发送的链路状态通告更新报文时查询所述链路的扩散等价链路组信息,并将查询结果发送给控制单元;控制单元,用于当查询结果为所述链路属于扩散等价链路组时,生成发送命令,并下发给发送单元;发送单元,用于按照所述发送命令禁止将所述链路状态通告更新报文通过该扩散等价链路组向所述邻居网络设备发送,而将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送。
12.如权利要求11所述的报文发送装置,其特征在于,还包括有并行链路分析单元,用于分析链路状态数据库中的链路状态通告,以判断网络设备与其邻居网络设备间是否存在并行链路,并把判断结果发送给控制单元,按照控制单元的命令在存在并行链路时建立对应于并行链路的扩散等价链路组,同时选择一条链路作为所述扩散等价链路组的主扩散链路。
13.如权利要求12所述的报文发送装置,其特征在于,所述并行链路分析单元判断是否存在并行链路的方式为如果网络设备与其一邻居网络设备间存在两条或两条以上的点到点型链路、广播型链路,或者两条或两条以上的所述两种类型链路的组合,则判定为所述网络设备与其所述邻居设备间存在并行链路。
14.如权利要求11至13任一项所述的报文发送装置,其特征在于,所述发送单元将所述链路状态通告更新报文向与所述网络设备连接的其它邻居网络设备发送为当所述网络设备与其它邻居网络设备间存在扩散等价链路组时,则在所述扩散等价链路组的主扩散链路上向所述其它邻居网络设备发送所述链路状态通告更新报文。
全文摘要
本发明公开了一种报文发送方法,该方法包括在收到或发起LSA更新报文时首先判断与邻居设备间是否存在扩散等价链路组,如果存在则仅通过其主扩散链路发送所述报文。本发明还公开了一种报文发送装置,该装置包括查询单元,用于在网络设备发送LSA更新报文时查询所述网络设备与其邻居设备间的扩散等价链路组信息;控制单元,用于当查询结果为网络设备与其邻居设备间存在扩散等价链路组时,生成发送命令下发给发送单元;发送单元,用于按照所述发送命令,只在所述扩散等价链路组的主扩散链路上向邻居网络设备发送所述LSA更新报文。本发明通过上述报文发送方法及其装置避免了由于并行链路引起的重复报文及其应答报文,提高了整个网络系统的性能。
文档编号H04L12/46GK1921432SQ200610122189
公开日2007年2月28日 申请日期2006年9月15日 优先权日2006年9月15日
发明者闫刚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1