CN115150329A - 发送报文、生成路由的方法、装置、存储介质及系统 - Google Patents
发送报文、生成路由的方法、装置、存储介质及系统 Download PDFInfo
- Publication number
- CN115150329A CN115150329A CN202110351687.3A CN202110351687A CN115150329A CN 115150329 A CN115150329 A CN 115150329A CN 202110351687 A CN202110351687 A CN 202110351687A CN 115150329 A CN115150329 A CN 115150329A
- Authority
- CN
- China
- Prior art keywords
- information
- next hop
- network topology
- address prefix
- indication information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000004891 communication Methods 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims description 76
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 239000004744 fabric Substances 0.000 description 2
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种发送报文、生成路由的方法、装置、存储介质及系统,属于通信领域。所述方法包括:获取第一报文,第一报文包括第一地址前缀和第一指示信息,第一指示信息用于指示第一网络拓扑,第一地址前缀用于在多个网络拓扑中标识第一设备,第一网络拓扑是多个网络拓扑中的一个;基于第一地址前缀和第一指示信息获取第一下一跳信息,第一下一跳信息对应的设备属于第一网络拓扑,第一下一跳信息包括在目标路由信息中,目标路由信息包括第一地址前缀,目标路由信息还包括第二下一跳信息,第二下一跳信息对应的设备属于多个网络拓扑中的第二网络拓扑;基于第一下一跳信息发送第一报文。本申请能够减小路由表的容量,使路由表能够快速收敛。
Description
技术领域
本申请涉及通信领域,特别涉及一种发送报文、生成路由的方法、装置、存储介质及系统。
背景技术
目前可以在通信网络中划分出多个网络拓扑,对于通信网络中的任一个设备,为了便于说明将该设备称为第一设备,第一设备可以与多个网络拓扑相关联,也称为第一设备位于该多个网络拓扑中。为了在不同的网络拓扑中标识第一设备,可以为第一设备配置多个地址前缀,该多个地址前缀与该多个网络拓扑一一对应。对于任一个地址前缀对应的网络拓扑,该地址前缀在该网络拓扑中标识第一设备。为了在通信网络中指导报文的转发过程,需要在路由表中保存地址前缀与下一跳信息的对应关系,不同的地址前缀对应不同的下一跳信息,构成一条路由表项。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
当通信网络的网络拓扑的数目较多且通信网络的规模较大时,通信网络中的每个设备的路由表中的路由表项数目会成倍增加,给路由表的容量和收敛带来巨大挑战。
发明内容
本申请提供了一种发送报文、生成路由的方法、装置、存储介质及系统,以减小路由表的容量,使路由表能够快速收敛。所述技术方案如下:
第一方面,本申请提供了一种发送报文的方法,在所述方法中,获取第一报文,第一报文包括第一地址前缀和第一指示信息,第一指示信息用于指示第一网络拓扑,第一地址前缀指示第一报文的目的地址,第一地址前缀用于在多个网络拓扑中标识第一设备,第一网络拓扑是该多个网络拓扑中的一个。基于第一地址前缀和第一指示信息获取第一下一跳信息,第一下一跳信息对应的设备属于第一网络拓扑,第一下一跳信息包括在目标路由信息中,目标路由信息包括第一地址前缀,目标路由信息还包括能够到达所述第一设备的第二下一跳信息,所述第二下一跳信息对应的设备属于所述多个网络拓扑中的第二网络拓扑,所述第二网络拓扑与所述第一网络拓扑不同。基于第一下一跳信息发送第一报文。
其中,第一报文包括第一地址前缀和第一指示信息,由于第一地址前缀用于在多个网络拓扑中标识第一设备,以及第一指示信息用于指示多个网络拓扑中的第一网络拓扑,同时在目标路由信息中包括第一地址前缀,以及与第一网络拓扑对应的第一下一跳信息和与第二网络拓扑对应的第二下一跳信息,在此情况下,网络设备基于报文中的第一地址前缀和第一指示信息,获取到在第一网络拓扑中能够到达第一设备的第一下一跳信息,基于第一下一跳信息发送第一报文。从而可以使一条路由信息包括一个地址前缀和与多个网络拓扑相对应的多个下一跳信息,大幅减少路由信息的数目,以减小路由表的容量,使路由表能够快速收敛。
在一种可能的实现方式中,目标路由信息包括第一下一跳信息与第一指示信息的对应关系。基于第一地址前缀确定目标路由信息,基于第一指示信息在目标路由信息中确定第一下一跳信息。从而使得一条路由信息包括一个地址前缀和多个下一跳信息,即形成多拓扑路由表项。通过在多拓扑路由表项中同时包括多个分别对应不同拓扑的不同下一跳信息,减少多拓扑数量引起的路由表项数量的增长,多个拓扑的转发表项可以复用,仅下发一个前缀即可,以减小路由信息的数目,减小路由表的容量,并且使路由表能够快速收敛。
在另一种可能的实现方式中,第一指示信息包括第一网络拓扑对应的柔性算法的标识信息。由于使用第一网络拓扑对应的柔性算法的标识信息作为第一指示信息,从而不用设计新的用于指示网络拓扑的信息,简化了方法的实现难度。
在另一种可能的实现方式中,第一指示信息包括第一网络拓扑对应的位图。由于第一指标信息是位图,这样可以减小基于第一指示信息获取第一下跳信息的运算量。
在另一种可能的实现方式中,目标路由信息包括多个下一跳信息。将第一指示信息与目标路由信息中的每个下一跳信息对应的指示信息分别进行与运算,得到每个下一跳信息对应的运算结果。选择运算结果为非0的下一跳信息作为第一下一跳信息。由于第一指标信息是位图,这样通过将第一指示信息与目标路由信息中的每个下一跳信息对应的指示信息进行与运算就可以得到第一下一跳信息,而与运算的运算量较小,可以减小获取第一下跳信息的运算量,以减小对计算资源的占用。
在另一种可能的实现方式中,获取第二报文,第二报文包括第一地址前缀和第二指示信息,第二指示信息用于指示第二网络拓扑。基于第一地址前缀和第二指示信息获取第二下一跳信息。基于第二下一跳信息发送第二报文。这样对于发送给第一设备的业务,将该业务的不同报文包括不同网络拓扑对应的指示信息,即在数据报文中携带指示信息以标识不同的网络拓扑,从而可以通过不同的网络拓扑向第一设备发送该业务的不同报文,可以实现负载均衡。
在另一种可能的实现方式中,第一报文的目标字段携带第一指示信息,目标字段包括第一报文的互联网协议第六版逐跳选项头HBH、流标签Flow label或目的地址字段。
第二方面,本申请提供了一种生成路由的方法,在所述方法中,获得包括第一地址前缀的目标路由信息,第一地址前缀用于在多个网络拓扑中标识第一设备,目标路由信息还包括能够达到第一设备的第一下一跳信息和第二下一跳信息,第一下跳信息对应的设备属于第一网络拓扑,第二下一跳信息对应的设备属于第二网络拓扑,第一网络拓扑和第二网络拓扑是该多个网络拓扑中的两个不同的网络拓扑。由于第一地址前缀在多个网络拓扑中标识第一设备,这样使获取的目标路由信息包括一个地址前缀,与第一网络拓扑对应的第一下一跳信息和与第二网络拓扑对应的第二下一跳信息,即形成多拓扑路由表项。通过在多拓扑路由表项中同时包括多个分别对应不同拓扑的不同下一跳信息,减少多拓扑数量引起的路由表项数量的增长,多个拓扑的转发表项可以复用,仅下发一个前缀即可,大幅减少路由信息的数目,从而减小路由表的容量,使路由表能够快速收敛。
在一种可能的实现方式中,基于第一地址前缀,分别计算在第一网络拓扑中能够到达第一设备的第一下一跳信息,以及,在第二网络拓扑中能够到达第一设备的第二下一跳信息。由于基于第一地址前缀分别计算在第一网络拓扑中的第一下一跳信息和在第二网络拓扑中的第二下一跳信息,从而可以将第一地址前缀、第一下跳信息和第二下跳信息合并为一条路由信息,以减少路由信息的数目。
在另一种可能的实现方式中,目标路由信息还包括第一下一跳信息对应的第一指示信息和第二下一跳信息对应的第二指示信息,第一指示信息用于指示第一网络拓扑,第二指示信息用于指示第二网络拓扑。这样在发送报文时,基于目标路由信息中的每个下一跳信息对应的指示信息,可以确定用于发送报文的下一跳信息。
在另一种可能的实现方式中,第一指示信息包括第一网络拓扑对应的柔性算法的标识信息,和/或,第二指示信息包括第二网络拓扑对应的柔性算法的标识信息。由于使用网络拓扑对应的柔性算法的标识信息作为指示信息,从而不用设计新的用于指示网络拓扑的信息,简化了方法的实现难度。
在另一种可能的实现方式中,第一指示信息包括第一网络拓扑对应的位图,和/或,第二指示信息包括第二网络拓扑对应的位图。由于指标信息是位图,这样在发送报文时,基于目标路由信息中的每个网络拓扑对应的位图,减小获取下一跳信息的运算量。
在另一种可能的实现方式中,基于第一地址前缀和通信网络包括的设备的链路状态信息,生成目标路由信息,对于通信网络包括的设备,该设备的链路状态信息包括该设备的地址前缀、与该设备通信的邻居设备的地址前缀和该设备所在的网络拓扑的指示信息。由于链路状态信息包括该设备所在的网络拓扑的指示信息,从而保证生成的路由信息中包括每个下一跳信息对应的指示信息。
第三方面,本申请提供了一种发送报文的装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
第四方面,本申请提供了一种生成路由的装置,用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
第五方面,本申请提供了一种发送报文的装置,所述装置包括处理器和存储器。其中,所述处理器以及所述存储器之间可以通过内部连接相连。所述存储器用于存储程序,所述处理器用于执行所述存储器中的程序,使得所述装置完成第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,本申请提供了一种生成路由的装置,所述装置包括处理器和存储器。其中,所述处理器以及所述存储器之间可以通过内部连接相连。所述存储器用于存储程序,所述处理器用于执行所述存储器中的程序,使得所述装置完成第二方面或第二方面的任意可能的实现方式中的方法。
第七方面,本申请提供了一种网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。
第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:获取第一报文,所述第一报文包括第一地址前缀和第一指示信息,所述第一指示信息用于指示第一网络拓扑,所述第一地址前缀指示所述第一报文的目的地址,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述第一网络拓扑是所述多个网络拓扑中的一个;基于所述第一地址前缀和所述第一指示信息获取第一下一跳信息,所述第一下一跳信息对应的设备属于所述第一网络拓扑,所述第一下一跳信息包括在目标路由信息中,所述目标路由信息包括所述第一地址前缀,所述目标路由信息还包括能够到达所述第一设备的第二下一跳信息,所述第二下一跳信息对应的设备属于所述多个网络拓扑中的第二网络拓扑,所述第二网络拓扑与所述第一网络拓扑不同。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行如下操作:基于所述第一下一跳信息发送所述第一报文。
第八方面,本申请提供了一种网络设备,该网络设备包括:主控板和接口板。主控板包括:第一处理器和第一存储器。接口板包括:第二处理器、第二存储器和接口卡。主控板和接口板耦合。
第一存储器可以用于存储程序代码,第一处理器用于调用第一存储器中的程序代码执行如下操作:获得包括第一地址前缀的目标路由信息,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述目标路由信息还包括能够达到所述第一设备的第一下一跳信息和第二下一跳信息,所述第一下跳信息对应的设备属于第一网络拓扑,所述第二下一跳信息对应的设备属于第二网络拓扑,所述第一网络拓扑和所述第二网络拓扑是所述多个网络拓扑中的两个不同的网络拓扑。
第二存储器可以用于存储程序代码,第二处理器用于调用第二存储器中的程序代码,触发接口卡执行相关操作。
在一种可能的实现方式中,主控板和接口板之间建立进程间通信协议(inter-process communication,IPC)通道,主控板和接口板之间通过IPC通道进行通信。
第九方面,本申请提供了一种网络系统,该网络系统包括前述第三方面提供的装置或第四方面提供的装置,或者该网络系统包括前述第五方面提供的装置或第六方面提供的装置,或者该网络系统包括前述第七方面提供的网络设备或第八方面提供的网络设备。
第十方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过处理器进行加载来实现上述第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式的方法。
第十一方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式的方法。
第十二方面,本申请提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式的方法。
附图说明
图1是本申请实施例提供的一种通信网络的结构示意图;
图2是本申请实施例提供的一种生成路由的方法流程图;
图3是本申请实施例提供的一种到达第一设备的多条路径的示意图;
图4是本申请实施例提供的一种发送报文的方法流程图;
图5是本申请实施例提供的一种发生报文的装置结构示意图;
图6是本申请实施例提供的一种生成路由的装置结构示意图;
图7是本申请实施例提供的另一种发生报文的装置结构示意图;
图8是本申请实施例提供的另一种生成路由的装置结构示意图;
图9是本申请实施例提供的一种设备结构示意图;
图10是本申请实施例提供的另一种设备结构示意图;
图11是本申请实施例提供的一种网络系统结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1,本申请实施例提供了一种通信网络10,包括:
多个设备,该多个设备中的任意相邻两个设备可能通信。例如,该相邻两个设备之间可能存在链路相连,以实现该相邻两个设备通信。当然,还有其他实现该相邻两个设备通信的方式,在此不再一一说明。
在一些实施例中,该多个设备包括网络设备等,网络设备包括路由器、交换机和/或网关等设备。
通信网络10可以被划分成多个网络拓扑,对于通信网络10中的任一个设备,为了便于说明,将该设备称为第一设备,第一设备可能与一个或多个网络拓扑关联,也可以称为:第一设备可能位于一个或多个网络拓扑。在第一设备位于的每个网络拓扑中,使用相同的地址前缀来标识,也就是说,使用一个地址前缀在该每个网络拓扑中标识第一设备。
例如,参见图1,通信网络10包括设备101、设备102、设备103、设备104、设备105和设备106。设备101与设备102之间通过链路201通信,设备101与设备104之间通过链路202通信。设备102与设备103之间通过链路203通信,设备102与设备105之间通过链路204通信,设备102与设备104之间通过链路205通信。设备104与设备105之间通过链路206通信,设备103与设备106之间通过链路207通信,设备105与设备106之间通过链路208通信。
图1所示的通信网络10被划分成三个网络拓扑,分别为网络拓扑1、网络拓扑2和网络拓扑3。网络拓扑1包括设备101、设备102、设备103和设备106。网络拓扑2包括设备101、设备102、设备105和设备106。网络拓扑3包括设备101、设备102、设备104、设备105和设备106。
对于设备102,设备102属于网络拓扑1、网络拓扑2和网络拓扑3,假设设备102的地址前缀为“IP102”,“IP102”用于在网络拓扑1、网络拓扑2和网络拓扑3中标识设备102。对于设备106,设备106属于网络拓扑1、网络拓扑2和网络拓扑3,假设设备106的地址前缀为“IP106”,“IP106”用于在网络拓扑1、网络拓扑2和网络拓扑3中标识设备106。对于设备101、设备103、设备104和设备105,就不再一一列举说明。
对于上述通信网络10包括的多个网络拓扑,该多个网络拓扑与多个柔性算法一一对应,(Flexible Algorithm)。该多个网络拓扑是通过该多个柔性算法在上述通信网络10中生成的,每个网络拓扑是一个逻辑网络。
该多个网络拓扑与多个指示信息一一对应,即每个指示信息用于指示一个网络拓扑。针对该多个网络拓扑中的每个网络拓扑,为了便于说明,将该网络拓扑称为第一网络拓扑,将第一网络拓扑对应的指示信息称为第一指示信息,第一指示信息用于指示第一网络拓扑。
在一些实施例中,第一指示信息包括第一网络拓扑对应的柔性算法的标识信息,或者,第一网络拓扑对应的位图等。
在一些实施例中,第一网络拓扑对应的柔性算法的标识信息是大于或等于128且小于或等于255的一个整数。例如,第一网络拓扑对应的柔性算法的标识信息可以为128、129或130等整数值。
在一些实施例中,第一网络拓扑对应的位图至少包括M个比特,M为该多个网络拓扑的数目。第一网络拓扑与该位图中的第i个比特相对应,第i个比特的值为第一比特值,该位图除第i个比特之外的其他每个比特的值为第二比特值,i是第一网络拓扑的序号。第一比特值为0,第二比特值为1;或者,第一比特值为1,第二比特值为0。
例如,仍以图1所示通信网络10包括的网络拓扑1、网络拓扑2和网络拓扑3为例,网络拓扑1、网络拓扑2和网络拓扑3分别与指标信息1、指示信息2和指示信息3对应。指示信息1包括网络拓扑1对应的柔性算法的标识信息“128”,或者,网络拓扑1对应的位图1。指示信息2包括网络拓扑2对应的柔性算法的标识信息“129”,或者,网络拓扑2对应的位图2。指示信息3包括网络拓扑3对应的柔性算法的标识信息“130”,或者,网络拓扑3对应的位图3。
假设第一比特值为1,第二比特值为0。网络拓扑1对应的位图1包括三个比特,网络拓扑2对应的位图2包括三个比特,以及网络拓扑3对应的位图3也包括三个比特。还假设网络排拓扑1的序号、网络拓扑2的序号和网络拓扑3的序号分别为1、2和3,则网络拓扑1对应的位图1为“100”,网络拓扑2对应的位图2为“010”,网络拓扑3对应的位图3为“001”。
参见图2,本申请提供了一种生成路由的方法20,所述方法20可以应用于图1所示的通信网络10,所述方法20的执行主体为所述通信网络10中的任一设备,为了便于说明,将该设备称为第二设备,包括:
步骤201:第二设备获取通信网络中的设备的链路状态信息,该设备的链路状态信息包括该设备的地址前缀,与该设备通信的邻居设备的地址前缀和该设备所在的网络拓扑的指示信息。
通信网络中的设备包括第二设备和除第二设备之外的其他设备。第二设备获取的链路状态信息包括除第二设备之外的其他设备的链路状态信息。
第二设备获取的链路状态信息还可以包括第二设备的链路状态信息。
在步骤201中,对于第二设备的链路状态信息,第二设备生成其自身的链路状态信息。对于该其他设备的链路状态信息,第二设备接收该其他设备的链路状态信息。
第二设备是图1所示通信网络中的任一设备,对于通信网络中除第二设备之外的任一其他设备,为了便于说明将该其他设备称为第一设备,与第一设备通信的邻居设备可能包括第二设备,也可能不包括第二设备。第一设备生成其自身的链路状态信息,向通信网络中发送该链路状态信息,以使第二设备接收到第一设备的链路状态信息。
在实现时,第一设备获取与自身直接通信的各邻居设备的地址前缀以及自身所属于的各网络拓扑的指示信息,向与自身直接通信的各邻居设备发送链路状态信息,该链路状态信息包括第一设备的地址前缀、第一设备的各邻居设备的地址前缀以及第一设备所属于的各网络拓扑的指示信息。
对于第一设备的每个邻居设备,为了便于说明,将该邻居设备称为第三设备。第三设备接收该链路状态信息,保存该链路状态信息,从第三设备的邻居设备中去除第一设备,向剩下的各邻居设备发送该链路状态信息。其中,该通信网络是一个路由泛洪区域,使得该通信网络中除第一设备之外的设备在接收到该链路状态信息时,执行与第三设备相同的操作,如此使得该链路状态信息能够被发送到该通信网络中除第一设备之外的设备,使得通信网络中除第一设备之外的设备均接收到该链路状态信息。其中,通信网络中除第一设备之外的设备包括第二设备,所以第二设备也能够接收到该链路状态信息,并保存该链路状态信息。
在一些实施例中,第一设备发送链路状态信息的操作为:第一设备发送链路状态包(link-state packet,LSP),该LSP包括该第一设备的链路状态信息。
在一些实施例中,对于第一设备的每个邻居设备,第一设备的链路状态信息还包括第一设备与该邻居设备之间的链路的类型和/或该链路的至少一个服务级别协议(service level agreement,SLA)参数值等。该至少一个参数包括该链路的时延、丢包率和带宽等中的一个或多个,该至少一个参数值包括该链路的时延参数值、丢包率参数值和带宽参数值等中的一个或多个。
其中,第一设备与某个邻居设备之间的链路状态发生变化时,第一设备重新获取自身的链路状态信息,并向通信网络中的其他每个设备发送该链路状态信息。通信网络中的除第一设备之外的其他每个设备接收该链路状态信息,将保存的第一设备的链路状态信息更新为接收的链路状态信息。
第一设备与该邻居设备之间的链路可能断开,或者,断开后可能恢复,导致第一设备与该邻居设备之间的链路状态发生变化。
在一些实施例中,第一设备与该邻居设备通过周期性地互相发送心跳数据,来检测二者之间的链路状态。该心跳数据可以包括问候(hello)数据包等。
接下来以图1所示的通信网络为例,此时,第二设备可以是图1所示的设备101,对于设备101,设备101获取自身的链路状态信息,该链路状态信息包括设备101的地址前缀“IP101”,与设备101通信的邻居设备102的地址前缀“IP102”,与设备101通信的邻居设备104的地址前缀“IP104”,以及,设备101所属于的网络拓扑1的指示信息1,网络拓扑2的指示信息2和网络拓扑3的指示信息3。设备101向其邻居设备102和邻居设备104发送该链路状态信息。
邻居设备102接收该链路状态信息,保存该链路状态信息,向与设备102通信的邻居设备103、邻居设备104和邻居设备105发送该链路状态信息。设备103接收该链路状态信息,保存该链路状态信息,向与设备103通信的设备106发送该链路状态信息。对于设备104、设备105和设备106接收该链路状态信息后,也执行与上述设备102和设备103相同的操作,就不再一一列举说明。
从上述过程可以得出,设备101发送的链路状态信息可以被通信网络中的其他各设备接收到。同样,通信网络中的设备102、设备103、设备104、设备105和设备106均同设备101一样,获取自身的链路状态信息,并向通信网络中的其他设备发送自身的链路状态信息。从而对于通信网络中的任一个设备,该设备包括设备101的链路状态信息、设备102的链路状态信息、设备103的链路状态信息、设备104的链路状态信息、设备105的链路状态信息和设备106的链路状态信息。
步骤202:第二设备基于通信网络中的设备的链路状态信息获取包括第一地址前缀的路由信息,第一地址前缀用于在多个网络拓扑中标识第一设备,第一设备是通信网络中除第二设备之外的设备。
在步骤202中,第二设备从通信网络中除自身之外的设备中选择一个设备作为第一设备,从第一设备的链路状态信息中获取第一设备的地址前缀作为第一地址前缀。基于第一地址前缀和通信网络中的设备的链路状态信息,获取包括第一地址前缀的路由信息。该路由信息能够到达第一设备。
该路由信息还包括能够达到第一设备的多个下一跳信息,以及每个下一跳信息对应的指示信息。每个下一跳信息对应一个网络拓扑,第一设备位于该多个网络拓扑中,该多个网络拓扑包括每个下一跳信息对应的网络拓扑。
对于该每个下一跳信息,该下一跳信息对应的网络拓扑包括该下一跳信息对应的设备。该下一跳信息对应的设备是第二设备的下一跳设备。对于该下一跳信息对应的指示信息,该指示信息用于指示该下一跳信息对应的网络拓扑。
例如,该多个下一跳信息包括第一下一跳信息和第二下一跳信息。也就是说:该路由信息还包括能够达到第一设备的第一下一跳信息和第二下一跳信息,第一下跳信息对应的设备属于第一网络拓扑,第二下一跳信息对应的设备属于第二网络拓扑中。第一网络拓扑和第二网络拓扑是该多个网络拓扑中的两个不同的网络拓扑,第一网络拓扑和第二网络拓扑是第一设备属于的两个网络拓扑。该路由信息还包括第一指示信息和第二指示信息,第一指示信息是第一网络拓扑的指示信息,用于指示第一网络拓扑,第二指示信息是第二网络拓扑的指示信息,用于指示第二网络拓扑。
第一下一跳信息对应的设备是第一网络拓扑中的第二设备的下一跳设备,第二下一跳信息对应的设备是第二网络拓扑中的第二设备的下一跳设备。
在一些实施例中,该路由信息的形式为:该路由信息包括第一地址前缀,以及下一跳信息与指示信息的对应关系。该下一跳信息与指示信息的对应关系中的每条记录包括一个下一跳信息和该下一跳信息对应的网络拓扑的指示信息。
仍以该多个下一跳信息包括第一下一跳信息和第二下一跳信息为例,该对应关系包括第一记录和第二记录,第一记录包括第一下一跳信息和第一指示信息,第二记录包括第二下一跳信息和第二指示信息。这样将到达第一设备的路由合并为一条路由信息,一条路由信息包括一个地址前缀(为第一地址前缀)、与多个网络拓扑对应的多个下一跳信息和每个下一跳信息对应的指示信息。这样大幅减小了到达第一设备的路由信息的数目,即大幅减小了在第二设备中的路由表中保存的路由信息数目,减小了路由表的容量,使路由表能够快速收敛。
在一些实施例中,第一设备的链路状态信息包括第一设备的地址前缀(为第一地址前缀),第一设备的邻居设备的地址前缀和第一设备属于的每个网络拓扑的指示信息。第二设备获取包括第一地址前缀的路由信息的操作为:
第二设备基于第一设备属于的每个网络拓扑的指示信息,确定第一设备属于的每个网络拓扑,基于第一地址前缀和通信网络中的设备的链路状态信息,分别计算在每个网络拓扑中能够到达第一设备的下一跳信息,得到每个网络拓扑对应的下一跳信息。将每个网络拓扑对应的下一跳信息和每个网络拓扑的指示信息对应保存,得到下一跳信息与指示信息对应关系。将第一地址前缀和该下一跳信息与指示信息对应关系组成一条路由信息,并保存在路由表中。
例如,以第一设备属于的网络拓扑包括第一网络拓扑和第二网络拓扑为例,第二设备基于第一地址前缀,分别计算在第一网络拓扑中能够到达第一设备的第一下一跳信息,以及,在第二网络拓扑中能够到达第一设备的第二下一跳信息。将第一下一跳信息与第一指示信息对应保存,以及将第二下一跳信息与第二指示信息对应保存,得到下一跳信息与指示信息的对应关系。也就是说:该对应关系包括第一记录和第二记录,第一记录包括第一下一跳信息和第一指示信息,第二记录包括第二下一跳信息和第二指示信息。将第一地址前缀和该下一跳信息与指示信息对应关系组成一条路由信息,并保存在路由表中。
对于通信网络中除第二设备之外的各设备,第二设备重复上述过程,获取到达各设备的路由信息,并保存在路由表中。
在一些实施例中,对于第二设备获取的下一跳信息,该下一跳信息包括该下一跳信息对应的设备的标识,和/或,第二设备上的接口的标识,该接口与该下一跳信息对应的设备通信。
接下来列举一个例子对步骤202进行详细说明,仍以图1所示的通信网络为例,此时,第二设备可以是图1所示的设备102,第一设备可以是图1所示的设备106,对于通信网络中的设备102,设备102需要分别获取能够到达设备101、设备103、设备104、设备105和设备106的路由信息。以设备106为例,设备106属于网络拓扑1、网络拓扑2和网络拓扑3。设备102基于设备106的地址前缀“IP106”和通信网络中的每个设备的链路状态信息,计算在网络拓扑1中能够到达设备106的下一跳信息1,下一跳信息1对应的设备为设备103,下一跳信息1包括设备103的地址前缀“IP103”;从设备106的链路状态信息中获取网络拓扑1的指示信息1(为网络拓扑1对应的柔性算法的标识信息“128”或位图1“100”),将下一跳信息1和指示信息1对应保存,得到记录1,即记录1包括下一跳信息1(为设备103的地址前缀“IP103”),以及,网络拓扑1的指示信息1(为标识信息“128”或位图1“100”)。
设备102基于设备106的地址前缀“IP106”和通信网络中的每个设备的链路状态信息,计算在网络拓扑2中能够到达设备106的下一跳信息2,下一跳信息2对应的设备为设备105,下一跳信息2包括设备105的地址前缀“IP105”;从设备106的链路状态信息中获取网络拓扑2的指示信息2(为网络拓扑2对应的柔性算法的标识信息“129”或位图2“010”),将下一跳信息2和指示信息2对应保存,得到记录2,即记录2包括下一跳信息2(为设备105的地址前缀“IP105”),以及,网络拓扑2的指示信息2(为标识信息“129”或位图2“010”)。
设备102基于设备106的地址前缀“IP106”和通信网络中的每个设备的链路状态信息,计算在网络拓扑3中能够到达设备106的下一跳信息3,下一跳信息3对应的设备为设备104,下一跳信息3包括设备104的地址前缀“IP104”;从设备106的链路状态信息中获取网络拓扑3的指示信息3(为网络拓扑3对应的柔性算法的标识信息“130”或位图3“001”),将下一跳信息3和指示信息3对应保存,得到记录3,即记录3包括下一跳信息3(为设备104的地址前缀“IP104”),以及,网络拓扑3的指示信息3(为标识信息“130”或位图3“001”)。
参见下表1,此时下一跳信息与指示信息的对应关系中包括三条记录,分别为上述记录1、记录2和记录3,将设备106的地址前缀“IP106”和如表1所示的对应关系组成路由信息,得到到达设备106的路由信息,并保存在如表2所示的路由表中。
表1
下一跳信息 | 指示信息 |
下一跳信息1(IP103) | 指示信息1(128,或,100) |
下一跳信息2(IP105) | 指示信息2(129,或,010) |
下一跳信息3(IP104) | 指示信息3(130,或,001) |
表2
在一些实施例中,第二设备向路由表保存路由信息的操作为:第一设备配置一个索引,该索引用于标识该路由信息中的下一跳信息与指示信息的对应关系,将该路由信息包括的第一地址前缀和该索引的对应关系保存在路由表中。由于索引的数据量较小,从而可以大幅减小路由表的容量。
例如,对于到达设备106的路由信息,第二设备配置一个索引1,索引1用于标识如表1所示的下一跳信息与指示信息的对应关系,将该路由信息包括的第一地址前缀“IP106”和该索引1对应保存在如下表3所示的路由表中。
表3
地址前缀 | 索引 |
IP106 | 索引1 |
…… | …… |
对于第二设备获取的包括第一地址前缀的路由信息,该路由信息中的每个下一跳信息对应一条到达第一设备的路径。对于每个下一跳信息,该下一跳信息对应的路径是在该下一跳信息对应的网络拓扑中的第二设备与第一设备之间的路径。
例如,以上述表2所示的路由信息为例,该路由信息是设备102获取的到达设备106的路由信息,参见图3,该路由信息包括的下一跳信息1,下一跳信息2和下一跳信息3分别与路径1,路径2和路径3对应。路径1是在下一跳信息1对应的网络拓扑1中的设备102与设备106之间的路径。路径2是在下一跳信息2对应的网络拓扑2中的设备102与设备106之间的路径。路径3是在下一跳信息3对应的网络拓扑3中的设备102与设备106之间的路径。
对于通信网络中除第一设备和第二设备之外的其他设备,第二设备继续按步骤202的操作,获取到达其他设备的路由信息。
在本申请实施例中,对于第一设备的第一地址前缀,第一设备可能属于多个网络拓扑,第一地址前缀用于在该多个网络拓扑中标识第一设备。基于通信网络中的每个设备的链路状态信息和第一地址前缀,分别计算在每个网络拓扑中能够到达第一设备的下一跳信息和该下一跳信息对应的指示信息。如此得到与该多个网络拓扑相对应的多个下一跳信息,每个下一跳信息对应的指示信息分别用于指示每个下一跳信息对应的网络拓扑。此时向路由表中保存一条路由信息,该路由信息包括第一地址前缀、下一跳信息与指示信息的对应关系,该对应关系包括该每个下一跳信息和该每个下一跳信息对应的指示信息。因此,虽然第一设备属于多个网络拓扑,但向路由表中保存的路由信息只有一条,大幅减少了路由信息数目,减小路由表的容量,使路由表能够快速收敛。
参见图4,本申请实施例提供了一种发送报文的方法40,所述方法40可以应用于图1所示的通信网络10,所述方法40的执行主体为所述通信网络10中的任一设备,为了便于说明,将该设备称为第二设备,包括:
步骤401:第二设备获取第一报文,第一报文包括第一地址前缀和第一指示信息,第一指示信息用于指示第一网络拓扑,第一地址前缀指示第一报文的目的地址,第一地址前缀用于在多个网络拓扑中标识第一设备,第一网络拓扑是该多个网络拓扑中的一个。
在步骤401中,第二设备可以通过如下两种方式获取第一报文。当然还有其他获取第一报文的方式,在此不一一列举。该两种方式分别为:
方式一,第二设备生成第一报文。
在方式一中,第二设备在需要通过第一网络拓扑向第一设备发送报文时,生成第一报文。
在方式一中,第二设备可以为头节点。
例如,参见图3,此时,第二设备可以是图3所示的设备102,第一设备可以是图3所示的设备106,假设设备102需要通过网络拓扑1向设备106发送报文,即第二设备为设备102,第一设备为设备106,第一地址前缀为设备6的地址前缀“IP106”,第一网络拓扑为网络拓扑1,第一指示信息为网络拓扑1的指示信息1,即第一指示信息1包括网络拓扑1对应的柔性算法的标识信息“128”或位图1“100”。设备102生成第一报文,第一报文包括地址前缀“IP106”和指示信息1。
方式二,第二设备接收第一报文。
在方式二中,第二设备是第一网络拓扑中的设备,第二设备接收上游设备发送的第一报文,第一报文是需要发送给第一设备的报文。
例如,参见图3,假设第二设备为设备102,第一设备为设备106,第一地址前缀为设备6的地址前缀“IP106”,第一网络拓扑为网络拓扑1,第一指示信息为网络拓扑1的指示信息1。设备101为设备102的上游设备,设备102接收设备101发送的第一报文,第一报文包括地址前缀“IP106”和指示信息1。其中,第一报文可能是设备101生成的,或者,可能是设备101接收的。
在一些实施例中,第一报文的目标字段携带第一指示信息,目标字段包括第一报文的互联网协议第六版逐跳选项头(internet protocol version 6hop by hop optionheader,HBH)、流标签(Flow label)或目的地址字段等。
步骤402:第二设备基于第一地址前缀和第一指示信息,获取第一下一跳信息,第一下一跳信息对应的设备属于第一网络拓扑。
在步骤402中,第二设备可以通过如下4021至4022的操作,获取第一下一跳信息。该4021至4022的操作分别为:
4021:第二设备基于第一地址前缀确定目标路由信息。
第二设备基于第一地址前缀和路由表,获取包括第一址前缀的路由信息作为目标路由信息。
在一些实施例中,路由表中的每条路由信息包括一个地址前缀,下一跳信息与指示信息的对应关系。在4021中,第二设备从该路由表中查询包括第一地址前缀的路由信息作为目标路由信息。
例如,路由表为上述表2所示的路由表,对于设备102,设备102在获取到第一报文后,第一报文包括的第一地址前缀为“IP106”和第一指示信息为指示信息1,基于第一地址前缀“IP106”,从如表2所示的路由表中获取包括第一地址前缀“IP106”的目标路由信息。目标路由信息如下表4所示,包括第一地址前缀“IP106”,下一跳信息与指示信息的对应关系,如下表4所示。
表4
在一些实施例中,路由表中的每条路由信息包括一个地址前缀和索引,该索引用于标识下一跳信息与指示信息的对应关系。在4021中,第二设备从该路由表中查询包括第一地址前缀的路由信息,基于该路由信息包括的索引,获取该索引标识的下一跳信息与指示信息的对应关系,得到目标路由信息,目标路由信息包括第一地址前缀,该下一跳信息与指示信息的对应关系。
例如,路由表为上述表3所示的路由表,对于设备102,设备102在获取到第一报文后,第一报文包括的第一地址前缀为“IP106”和第一指示信息为指示信息1,基于第一地址前缀“IP106”,从如表3所示的路由表中获取包括第一地址前缀“IP106”的路由信息。该路由信息包括第一地址前缀“IP106”和索引1,获取索引1标识的如表1所示的下一跳信息与指示信息的对应关系,得到目标路由信息,目标路由信息包括第一地址前缀“IP106”,如表1所示的该下一跳信息与指示信息的对应关系。
4022:第二设备基于第一指示信息在目标路由信息中确定第一下一跳信息。
在一些实施例中,第一指示信息可能是第一网络拓扑对应的柔性算法的标识信息,目标路由信息包括多个下一跳信息和每个下一跳信息对应的指示信息,每个下一跳信息对应的指示信息也分别是标识信息。因此第二设备从目标路由信息获取第一指示信息对应的下一跳信息作为第一下一跳信息。
例如,假设第一报文包括的第一指示信息为网络拓扑1对应的柔性算法的标识信息“128”,对于如表4所示目标路由信息中的下一跳信息与指示信息的对应关系,该对应关系中的每个下一跳信息对应的指示信息也为柔性算法的标识信息。其中,该对应关系包括三条记录,分别为记录1、记录2和记录3,记录1包括下一跳信息1和标识信息“128”,记录2包括下一跳信息2和标识信息“129”,记录3包括下一跳信息3和标识信息“130”。这样第二设备基于第一指示信息“128”,获取对应的下一跳信息1作为第一下一跳信息。
在一些实施例中,第一指示信息可能是第一网络拓扑对应的位图,目标路由信息包括多个下一跳信息和每个下一跳信息对应的指示信息,每个下一跳信息对应的指示信息也均是位图。因此第二设备将第一指示信息与目标路由信息中的每个下一跳信息对应的指示信息分别进行与运算,得到每个下一跳信息对应的运算结果;选择运算结果为非0的下一跳信息作为第一下一跳信息。
例如,假设第一报文包括的第一指示信息为网络拓扑1对应的位图1“100”,对于如表4所示目标路由信息中的下一跳信息与指示信息的对应关系,该对应关系中的每个下一跳信息对应的指示信息也为位图。其中,该对应关系包括三条记录,分别为记录1、记录2和记录3,记录1包括下一跳信息1和位图1“100”,记录2包括下一跳信息2和位图2“010”,记录3包括下一跳信息3和位图3“001”。
这样第二设备将第一指示信息“100”与下一跳信息1对应的指示信息“100”进行与运算,得到下一跳信息1对应的运算结果为“1”;将第一指示信息“100”与下一跳信息2对应的指示信息“010”进行与运算,得到下一跳信息2对应的运算结果为“0”;将第一指示信息“100”与下一跳信息3对应的指示信息“001”进行与运算,得到下一跳信息3对应的运算结果为“0”;选择运算结果为非0的下一跳信息1作为第一下一跳信息。
步骤403:第二设备基于第一下一跳信息发送第一报文。
即第二设备基于第一下一跳信息,向第一下一跳信息对应的设备发送第一报文。
如果第一下一跳信息对应的设备不是第一设备,则第一下一跳信息对应的设备同第二设备一样,执行上述401-403的流程继续发送第一报文。如果第一下一跳信息对应的设备是第一设备,第一设备接收第一报文,结束操作。
第二设备还可能继续获取报文,并按上述步骤401-403的流程发送该报文。例如,第二设备获取第二报文,第二报文包括第一地址前缀和第二指示信息,第二指示信息用于指示第二网络拓扑。基于第一地址前缀和第二指示信息获取第二下一跳信息,第二下一跳信息对应的设备属于第二网络拓扑;基于第二下一跳信息发送第二报文。
在本申请实施例中,由于第一报文包括第一设备的第一地址前缀和第一指示信息,第一指示信息用于指示第一设备属于的第一网络拓扑。这样第二设备基于第一地址前缀从路由表中获取包括第一地址前缀的目标路由信息,基于第一指示信息和目标路由信息获取第一下一跳信息。如此使得目标路由信息包括一个第一地址前缀,一个下一跳信息与指示信息的对应关系,该对应关系包括第一设备属于的每个网络拓扑的下一跳信息和指示信息;也就是说,不管第一设备属于的网络拓扑有多少个,可以生成到达第一设备的一条路由信息,即形成一个多拓扑路由表项。通过在多拓扑路由表项中同时包括多个分别对应不同拓扑的不同下一跳信息,减少多拓扑数量引起的路由表项数量的增长,多个拓扑的转发表项可以复用,仅下发一个前缀即可,大幅减少了路由信息数目,减小路由表的容量,使路由表能够快速收敛。
参见图5,本申请实施例提供了一种发送报文的装置500,所述装置500可以部署在图1或图3所述通信网络10中的任一设备上或图4所示方法40中的第二设备上,包括:
获取单元501,用于获取第一报文,第一报文包括第一地址前缀和第一指示信息,第一指示信息用于指示第一网络拓扑,第一地址前缀指示第一报文的目的地址,第一地址前缀用于在多个网络拓扑中标识第一设备,第一网络拓扑是该多个网络拓扑中的一个;
处理单元502,用于基于第一地址前缀和第一指示信息获取第一下一跳信息,第一下一跳信息对应的设备属于第一网络拓扑,第一下一跳信息包括在目标路由信息中,目标路由信息包括第一地址前缀,目标路由信息还包括能够到达第一设备的第二下一跳信息,第二下一跳信息对应的设备属于该多个网络拓扑中的第二网络拓扑,第二网络拓扑与第一网络拓扑不同;
发送单元503,用于基于第一下一跳信息发送第一报文。
可选的,获取单元501获取第一报文的详细实现过程,参见上述图4所示方法40的步骤401中的相关内容,在此不再详细说明。
可选的,获取单元501采用所述步骤401中的方式一获取第一报文,即获取单元501生成第一报文,在方式一中获取单元501和处理单元502可以为同一单元。或者,获取单元501采用所述步骤401中的方式二获取第一报文,即获取单元501接收第一报文,在方式二中获取单元501可以为接收单元。
可选的,处理单元502获取第一下一跳信息的详细实现过程,参见上述图4所示方法40的步骤402中的相关内容,在此不再详细说明。
可选的,处理单元502获取第一下一跳信息的详细实现过程,参见上述图4所示方法40的步骤403中的相关内容,在此不再详细说明。
可选的,目标路由信息包括第一下一跳信息与第一指示信息的对应关系,处理单元502,用于:
基于第一地址前缀确定目标路由信息;
基于第一指示信息在目标路由信息中确定第一下一跳信息。
可选的,处理单元502确定目标路由信息以及确定第一下跳信息的详细实现过程,参见上述图4所示方法40的4021和4022中的相关内容,在此不再详细说明。
可选的,第一指示信息包括第一网络拓扑对应的柔性算法的标识信息。
可选的,第一指示信息包括第一网络拓扑对应的位图。
可选的,目标路由信息包括多个下一跳信息,处理单元502,用于:
将第一指示信息与目标路由信息中的每个下一跳信息对应的指示信息分别进行与运算,得到每个下一跳信息对应的运算结果;
选择运算结果为非0的下一跳信息作为第一下一跳信息。
可选的,处理单元502与运算的详细实现过程,参见上述图4所示方法40的4022中的相关内容,在此不再详细说明。
可选的,获取单元501,还用于获取第二报文,第二报文包括第一地址前缀和第二指示信息,第二指示信息用于指示第二网络拓扑;
处理单元502,还用于基于第一地址前缀和第二指示信息获取第二下一跳信息;
发送单元503,还用于基于第二下一跳信息发送第二报文。
可选的,获取单元501获取第二报文以的详细实现过程,参见上述图4所示方法40的步骤401中的相关内容,在此不再详细说明。
可选的,处理单元获取第二下一跳信息的详细实现过程,参见上述图4所示方法40的步骤402中的相关内容,在此不再详细说明。
可选的,发送单元503发送第二报文的详细实现过程,参见上述图4所示方法40的步骤403中的相关内容,在此不再详细说明。
可选的,第一报文的目标字段携带第一指示信息,目标字段包括第一报文的逐跳HBH选项可扩展头、流标签Flow label或目的地址字段。
在本申请实施例中,获取单元获取的第一报文包括第一地址前缀和第一指示信息,由于第一地址前缀用于在多个网络拓扑中标识第一设备,以及第一指示信息用于指示该多个网络拓扑中的第一网络拓扑,同时在目标路由信息包括第一地址前缀,以及与第一网络拓扑对应的第一下一跳信息和与第二网络拓扑对应的第二下一跳信息。因此在此情况下,处理单元基于第一地址前缀和第一指示信息,也能获取到在第一网络拓扑中能够到达第一设备的第一下一跳信息,发送单元基于第一下一跳信息发送第一报文。从而可以使一条路由信息包括一个地址前缀和与多个网络拓扑相对应的多个下一跳信息,大幅减少路由信息的数目,以减小路由表的容量,使路由表能够快速收敛。
参见图6,本申请实施例提供了一种生成路由的装置600,所述装置600可以部署在图1或图3所述通信网络10中的任一设备上或图2所示方法20中的第二设备上,包括:
处理单元601,用于获得包括第一地址前缀的目标路由信息,第一地址前缀用于在多个网络拓扑中标识第一设备,目标路由信息还包括能够达到所述第一设备的第一下一跳信息和第二下一跳信息,第一下跳信息对应的设备属于第一网络拓扑,第二下一跳信息对应的设备属于第二网络拓扑,第一网络拓扑和第二网络拓扑是该多个网络拓扑中的两个不同的网络拓扑。
可选的,处理单元601获得目标路由信息的详细实现过程,参见上述图2所示方法20的步骤202中的相关内容,在此不再详细说明。
可选的,处理单元601,用于:
基于第一地址前缀,分别计算在第一网络拓扑中能够到达第一设备的第一下一跳信息,以及,在第二网络拓扑中能够到达第一设备的第二下一跳信息。
可选的,处理单元601计算第一下一跳信息和第二下一跳信息的详细实现过程,参见上述图2所示方法20的步骤202中的相关内容,在此不再详细说明。
可选的,目标路由信息还包括第一下一跳信息对应的第一指示信息和第二下一跳信息对应的第二指示信息,第一指示信息用于指示第一网络拓扑,第二指示信息用于指示第二网络拓扑。
可选的,第一指示信息包括第一网络拓扑对应的柔性算法的标识信息,和/或,第二指示信息包括第二网络拓扑对应的柔性算法的标识信息。
可选的,第一指示信息包括第一网络拓扑对应的位图,和/或,第二指示信息包括第二网络拓扑对应的位图。
可选的,处理单元601,用于:
基于第一地址前缀和通信网络包括的设备的链路状态信息,生成目标路由信息,对于通信网络包括的设备,该设备的链路状态信息包括该设备的地址前缀、与该设备通信的邻居设备的地址前缀和该设备所在的网络拓扑的指示信息。
可选的,处理单元601生成目标路由信息的详细实现过程,参见上述图2所示方法20的步骤202中的相关内容,在此不再详细说明。
在本申请实施例中,处理单元获得包括第一地址前缀的目标路由信息,第一地址前缀用于在多个网络拓扑中标识第一设备,目标路由信息还包括能够达到第一设备的第一下一跳信息和第二下一跳信息,第一下跳信息对应的设备属于第一网络拓扑,第二下一跳信息对应的设备属于第二网络拓扑,第一网络拓扑和第二网络拓扑是该多个网络拓扑中的两个不同的网络拓扑。由于第一地址前缀在多个网络拓扑中标识第一设备,这样使处理单元获取的目标路由信息包括一个地址前缀,与第一网络拓扑对应的第一下一跳信息和与第二网络拓扑对应的第二下一跳信息,即形成多拓扑路由表项。通过在多拓扑路由表项中同时包括多个分别对应不同拓扑的不同下一跳信息,减少多拓扑数量引起的路由表项数量的增长,多个拓扑的转发表项可以复用,仅下发一个前缀即可,大幅减少路由信息的数目,从而减小路由表的容量,使路由表能够快速收敛。
参见图7,本申请实施例提供了一种发送报文的装置700示意图。所述装置700可以是上述任意实施例提供的设备,例如,可以是图1或图3所示的通信网络10中的任一设备或图4所示方法40中的设备。所述装置700包括至少一个处理器701,内部连接702,存储器703以及至少一个收发器704。
所述装置700是一种硬件结构的装置,可以用于实现图5所述的装置500中的功能模块。例如,本领域技术人员可以想到图5所示的装置500中的获取单元501和处理单元502可以通过该至少一个处理器701调用存储器703中的代码来实现,图5所示的装置500中的发送单元503可以通过该至少一个收发器704来实现。
所述装置700还可以用于实现上述任一实施例中的设备的功能。
上述处理器701可以是一个通用中央处理器(central processing unit,CPU),网络处理器(network processor,NP),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述内部连接702可包括一通路,在上述组件之间传送信息。内部连接702可以为单板或总线等。
上述至少一个收发器704,用于与其他设备或通信网络通信。
上述存储器703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器703用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,以及配合至少一个收发器704,从而使得所述装置700实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,所述装置700可以包括多个处理器,例如图7中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
参见图8,本申请实施例提供了一种生成路由的装置800示意图。所述装置800可以是上述任意实施例提供的设备,例如,可以是图1或图3所示的通信网络10中的任一设备或图2所示方法20中的第二设备。所述装置800包括至少一个处理器801,内部连接802,存储器803以及至少一个收发器804。
所述装置800是一种硬件结构的装置,可以用于实现图6所述的装置600中的功能模块。例如,本领域技术人员可以想到图6所示的装置600中的处理单元601可以通过该至少一个处理器801调用存储器803中的代码来实现。
所述装置800还可以用于实现上述任一实施例中的设备的功能。
上述处理器801可以是一个通用中央处理器(central processing unit,CPU),网络处理器(network processor,NP),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
上述内部连接802可包括一通路,在上述组件之间传送信息。内部连接802可以为单板或总线等。
上述至少一个收发器804,用于与其他设备或通信网络通信。
上述存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以及配合至少一个收发器804,从而使得所述装置800实现本专利方法中的功能。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,所述装置800可以包括多个处理器,例如图8中的处理器801和处理器807。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
参见图9,图9示出了本申请一个示例性实施例提供的设备900的结构示意图,可选地,该设备900配置为上述图4所示方法40中的第二设备。换句话说,上述图4所示的方法40中的第二设备可以通过设备900实现。
该设备900例如是网络设备,比如说设备900是交换机、路由器等。如图9所示,设备900包括:主控板901和接口板902。
主控板901也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板901用于对设备900中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板901包括:中央处理器9011和存储器9012。
接口板902也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板902用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板902包括:中央处理器9021、网络处理器9022、转发表项存储器9023和物理接口卡(ph10sical interface card,PIC)9024。
接口板902上的中央处理器9021用于对接口板902进行控制管理并与主控板901上的中央处理器9011进行通信。
网络处理器9022用于实现报文的转发处理。网络处理器9022的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器9022用于基于转发表项存储器9023保存的转发表转发接收到的报文,如果报文的目的地址为设备900的地址,则将该报文上送至CPU(如中央处理器9021)处理;如果报文的目的地址不是设备900的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡9023用于实现物理层的对接功能,原始的流量由此进入接口板902,以及处理后的报文从该物理接口卡902发出。物理接口卡9023也称为子卡,可安装在接口板902上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器9022处理。在一些实施例中,中央处理器也可执行网络处理器9022的功能,比如基于通用CPU实现软件转发,从而物理接口卡9023中不需要网络处理器9022。
可选地,设备900包括多个接口板,例如设备900还包括接口板903,接口板903包括:中央处理器9031、网络处理器9032、转发表项存储器9033和物理接口卡9034。接口板903中各部件的功能和实现方式与接口板902相同或相似,在此不再赘述。
可选地,设备900还包括交换网板904。交换网板904也可以称为交换网板单元(switch fabric unit,SFU)。在设备900有多个接口板的情况下,交换网板904用于完成各接口板之间的数据交换。例如,接口板902和接口板903之间可以通过交换网板904通信。
主控板901和接口板902耦合。例如。主控板901、接口板902和接口板903,以及交换网板904之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板901和接口板902之间建立进程间通信协议(inter-process communication,IPC)通道,主控板901和接口板902之间通过IPC通道进行通信。
在逻辑上,设备900包括控制面和转发面,控制面包括主控板901和中央处理器,转发面包括执行转发的各个组件,比如转发表项存储器9023、物理接口卡9024和网络处理器9022。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器9022基于控制面下发的转发表对物理接口卡9024收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器9023中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
值得说明的是,主控板901可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,设备900的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板904可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,设备900可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,设备900可以有至少一块交换网板904,通过交换网板904实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的设备900的数据接入和处理能力要大于集中式架构的设备。可选地,设备900的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
参见图10,图10示出了本申请一个示例性实施例提供的设备1000的结构示意图,可选地,该设备1000配置为上述图2所示方法20中的第二设备。换句话说,上述图2所示的方法20中的第二设备可以通过设备1000实现。
该设备1000例如是网络设备,比如说设备1000是交换机、路由器等。如图10所示,设备1000包括:主控板1001和接口板1002。
主控板1001也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1001用于对设备1000中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1001包括:中央处理器10011和存储器10012。
接口板1002也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板1002用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1002包括:中央处理器10021、网络处理器10022、转发表项存储器10023和物理接口卡(ph10sical interfacecard,PIC)10024。
接口板1002上的中央处理器10021用于对接口板1002进行控制管理并与主控板1001上的中央处理器10011进行通信。
网络处理器10022用于实现报文的转发处理。网络处理器10022的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器10022用于基于转发表项存储器10023保存的转发表转发接收到的报文,如果报文的目的地址为设备1000的地址,则将该报文上送至CPU(如中央处理器10021)处理;如果报文的目的地址不是设备1000的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡10023用于实现物理层的对接功能,原始的流量由此进入接口板1002,以及处理后的报文从该物理接口卡1002发出。物理接口卡10023也称为子卡,可安装在接口板1002上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器10022处理。在一些实施例中,中央处理器也可执行网络处理器10022的功能,比如基于通用CPU实现软件转发,从而物理接口卡10023中不需要网络处理器10022。
可选地,设备1000包括多个接口板,例如设备1000还包括接口板1003,接口板1003包括:中央处理器10031、网络处理器10032、转发表项存储器10033和物理接口卡10034。接口板1003中各部件的功能和实现方式与接口板1002相同或相似,在此不再赘述。
可选地,设备1000还包括交换网板1004。交换网板1004也可以称为交换网板单元(switch fabric unit,SFU)。在设备1000有多个接口板的情况下,交换网板1004用于完成各接口板之间的数据交换。例如,接口板1002和接口板1003之间可以通过交换网板1004通信。
主控板1001和接口板1002耦合。例如。主控板1001、接口板1002和接口板1003,以及交换网板1004之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1001和接口板1002之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1001和接口板1002之间通过IPC通道进行通信。
在逻辑上,设备1000包括控制面和转发面,控制面包括主控板1001和中央处理器,转发面包括执行转发的各个组件,比如转发表项存储器10023、物理接口卡10024和网络处理器10022。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器10022基于控制面下发的转发表对物理接口卡10024收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器10023中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
值得说明的是,主控板1001可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,设备1000的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板1004可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,设备1000可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,设备1000可以有至少一块交换网板1004,通过交换网板1004实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的设备1000的数据接入和处理能力要大于集中式架构的设备。可选地,设备1000的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
参见图11,本申请实施例提供了一种网络系统1100,所述网络系统包括发送报文的装置1101和生成路由的装置1102,所述发送报文的装置1101可以包括如图5所示的装置500、如图7所示的装置700或如图9所示的设备900,所述生成路由的装置1102可以包括如图6所示的装置600、如图8所示的装置800或如图10所述的设备1000。并且,在某些实施例中,所述发送报文的装置与所述生成路由的装置可以是相同的装置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种发送报文的方法,其特征在于,所述方法包括:
获取第一报文,所述第一报文包括第一地址前缀和第一指示信息,所述第一指示信息用于指示第一网络拓扑,所述第一地址前缀指示所述第一报文的目的地址,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述第一网络拓扑是所述多个网络拓扑中的一个;
基于所述第一地址前缀和所述第一指示信息获取第一下一跳信息,所述第一下一跳信息对应的设备属于所述第一网络拓扑,所述第一下一跳信息包括在目标路由信息中,所述目标路由信息包括所述第一地址前缀,所述目标路由信息还包括能够到达所述第一设备的第二下一跳信息,所述第二下一跳信息对应的设备属于所述多个网络拓扑中的第二网络拓扑,所述第二网络拓扑与所述第一网络拓扑不同;
基于所述第一下一跳信息发送所述第一报文。
2.如权利要求1所述的方法,其特征在于,所述目标路由信息包括所述第一下一跳信息与所述第一指示信息的对应关系,所述基于所述第一地址前缀和所述第一指示信息获取下一跳信息,包括:
基于所述第一地址前缀确定所述目标路由信息;
基于所述第一指示信息在所述目标路由信息中确定所述第一下一跳信息。
3.如权利要求1或2所述的方法,其特征在于,所述第一指示信息包括所述第一网络拓扑对应的柔性算法的标识信息。
4.如权利要求1或2所述的方法,其特征在于,所述第一指示信息包括所述第一网络拓扑对应的位图。
5.如权利要求4所述的方法,其特征在于,所述目标路由信息包括多个下一跳信息,所述基于所述第一地址前缀和所述第一指示信息获取所述第一下一跳信息,包括:
将所述第一指示信息与所述目标路由信息中的每个下一跳信息对应的指示信息分别进行与运算,得到所述每个下一跳信息对应的运算结果;
选择运算结果为非0的下一跳信息作为所述第一下一跳信息。
6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
获取第二报文,所述第二报文包括第一地址前缀和第二指示信息,所述第二指示信息用于指示所述第二网络拓扑;
基于所述第一地址前缀和所述第二指示信息获取所述第二下一跳信息;
基于所述第二下一跳信息发送所述第二报文。
7.如权利要求1至6任一项所述的方法,其特征在于,所述第一报文的目标字段携带所述第一指示信息,所述目标字段包括所述第一报文的互联网协议第六版逐跳选项头HBH、流标签Flow label或目的地址字段。
8.一种生成路由的方法,其特征在于,所述方法包括:
获得包括第一地址前缀的目标路由信息,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述目标路由信息还包括能够达到所述第一设备的第一下一跳信息和第二下一跳信息,所述第一下跳信息对应的设备属于第一网络拓扑,所述第二下一跳信息对应的设备属于第二网络拓扑,所述第一网络拓扑和所述第二网络拓扑是所述多个网络拓扑中的两个不同的网络拓扑。
9.如权利要求8所述的方法,其特征在于,所述获得包括第一地址前缀的目标路由信息,包括:
基于所述第一地址前缀,分别计算在所述第一网络拓扑中能够到达所述第一设备的第一下一跳信息,以及,在所述第二网络拓扑中能够到达所述第一设备的第二下一跳信息。
10.如权利要求8或9所述的方法,其特征在于,所述目标路由信息还包括所述第一下一跳信息对应的第一指示信息和所述第二下一跳信息对应的第二指示信息,所述第一指示信息用于指示所述第一网络拓扑,所述第二指示信息用于指示所述第二网络拓扑。
11.如权利要求10所述的方法,其特征在于,所述第一指示信息包括所述第一网络拓扑对应的柔性算法的标识信息,和/或,所述第二指示信息包括所述第二网络拓扑对应的柔性算法的标识信息。
12.如权利要求10所述的方法,其特征在于,所述第一指示信息包括所述第一网络拓扑对应的位图,和/或,所述第二指示信息包括所述第二网络拓扑对应的位图。
13.如权利要求8所述的方法,其特征在于,所述获得包括第一地址前缀的目标路由信息,包括:
基于所述第一地址前缀和通信网络包括的设备的链路状态信息,生成所述目标路由信息,对于所述通信网络包括的设备,所述设备的链路状态信息包括所述设备的地址前缀、与所述设备通信的邻居设备的地址前缀和所述设备所在的网络拓扑的指示信息。
14.一种发送报文的装置,其特征在于,所述装置包括:
获取单元,用于获取第一报文,所述第一报文包括第一地址前缀和第一指示信息,所述第一指示信息用于指示第一网络拓扑,所述第一地址前缀指示所述第一报文的目的地址,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述第一网络拓扑是所述多个网络拓扑中的一个;
处理单元,用于基于所述第一地址前缀和所述第一指示信息获取第一下一跳信息,所述第一下一跳信息对应的设备属于所述第一网络拓扑,所述第一下一跳信息包括在目标路由信息中,所述目标路由信息包括所述第一地址前缀,所述目标路由信息还包括能够到达所述第一设备的第二下一跳信息,所述第二下一跳信息对应的设备属于所述多个网络拓扑中的第二网络拓扑,所述第二网络拓扑与所述第一网络拓扑不同;
发送单元,用于基于所述第一下一跳信息发送所述第一报文。
15.如权利要求14所述的装置,其特征在于,所述目标路由信息包括所述第一下一跳信息与所述第一指示信息的对应关系,所述处理单元,用于:
基于所述第一地址前缀确定所述目标路由信息;
基于所述第一指示信息在所述目标路由信息中确定所述第一下一跳信息。
16.如权利要求14或15所述的装置,其特征在于,所述第一指示信息包括所述第一网络拓扑对应的位图。
17.如权利要求16所述的装置,其特征在于,所述目标路由信息包括多个下一跳信息,所述处理单元,用于:
将所述第一指示信息与所述目标路由信息中的每个下一跳信息对应的指示信息分别进行与运算,得到所述每个下一跳信息对应的运算结果;
选择运算结果为非0的下一跳信息作为所述第一下一跳信息。
18.如权利要求14至17任一项所述的装置,其特征在于,所述获取单元,还用于获取第二报文,所述第二报文包括第一地址前缀和第二指示信息,所述第二指示信息用于指示所述第二网络拓扑;
所述处理单元,还用于基于所述第一地址前缀和所述第二指示信息获取所述第二下一跳信息;
所述发送单元,还用于基于所述第二下一跳信息发送所述第二报文。
19.一种生成路由的装置,其特征在于,所述装置包括:
处理单元,用于获得包括第一地址前缀的目标路由信息,所述第一地址前缀用于在多个网络拓扑中标识第一设备,所述目标路由信息还包括能够达到所述第一设备的第一下一跳信息和第二下一跳信息,所述第一下跳信息对应的设备属于第一网络拓扑,所述第二下一跳信息对应的设备属于第二网络拓扑,所述第一网络拓扑和所述第二网络拓扑是所述多个网络拓扑中的两个不同的网络拓扑。
20.如权利要求19所述的装置,其特征在于,所述处理单元,用于:
基于所述第一地址前缀,分别计算在所述第一网络拓扑中能够到达所述第一设备的第一下一跳信息,以及,在所述第二网络拓扑中能够到达所述第一设备的第二下一跳信息。
21.如权利要求19所述的装置,其特征在于,所述处理单元,用于:
基于所述第一地址前缀和通信网络包括的设备的链路状态信息,生成所述目标路由信息,对于所述通信网络包括的设备,所述设备的链路状态信息包括所述设备的地址前缀、与所述设备通信的邻居设备的地址前缀和所述设备所在的网络拓扑的指示信息。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机执行时,实现如权利要求1-13任一项所述的方法。
23.一种网络系统,其特征在于,所述系统包括如权利要求14-18任一项所述的装置和如权利要求19-21任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110351687.3A CN115150329A (zh) | 2021-03-31 | 2021-03-31 | 发送报文、生成路由的方法、装置、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110351687.3A CN115150329A (zh) | 2021-03-31 | 2021-03-31 | 发送报文、生成路由的方法、装置、存储介质及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150329A true CN115150329A (zh) | 2022-10-04 |
Family
ID=83404365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110351687.3A Pending CN115150329A (zh) | 2021-03-31 | 2021-03-31 | 发送报文、生成路由的方法、装置、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150329A (zh) |
-
2021
- 2021-03-31 CN CN202110351687.3A patent/CN115150329A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5953312A (en) | Method and apparatus for determining alternate routes in a network using a connection-oriented protocol | |
US6888797B1 (en) | Hashing-based network load balancing | |
US7796511B2 (en) | Self-routed layer 4 packet network system and method | |
CN113411834B (zh) | 报文处理方法、装置、设备及存储介质 | |
CN115552861B (zh) | 生成转发表项的方法、发送报文的方法、网络设备及系统 | |
CN102055665B (zh) | 广播上或nbma上的ospf点到多点模式 | |
CN113839870B (zh) | 路径创建方法、装置及系统 | |
US8472313B2 (en) | System and method for optical bypass routing and switching | |
CN110401599B (zh) | 数据包的处理方法及装置、存储介质、电子装置 | |
WO2002065306A1 (en) | System and method for fault notification in a data communication network | |
CN114024969B (zh) | 一种负载均衡方法、装置和系统 | |
WO2022194023A1 (zh) | 报文处理的方法、网络设备及控制器 | |
EP3295623B1 (en) | Transport software defined networking (sdn) zero configuration adjacency via packet snooping | |
CN107770061B (zh) | 转发报文的方法及转发设备 | |
WO2022127698A1 (zh) | 拥塞控制方法及网络设备 | |
CN116094987A (zh) | 转发路径的确定方法及装置 | |
CN115134282A (zh) | 一种路由处理方法及网络设备 | |
KR101259298B1 (ko) | 루팅 장치, 통신 시스템, 및 루팅 방법 | |
CN114157600A (zh) | 一种转发报文的方法、设备和系统 | |
CN115150313A (zh) | 发送报文、生成路由的方法、装置、存储介质及系统 | |
EP4325800A1 (en) | Packet forwarding method and apparatus | |
WO2022142932A1 (zh) | 一种路由处理方法、相关装置以及网络系统 | |
CN115150329A (zh) | 发送报文、生成路由的方法、装置、存储介质及系统 | |
WO2022012287A1 (zh) | 路由优化方法、物理网络设备及计算机可读存储介质 | |
CN115208829A (zh) | 报文处理的方法及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |