CN113098770B - 报文发送方法、路由表项的生成方法、装置及存储介质 - Google Patents
报文发送方法、路由表项的生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113098770B CN113098770B CN202010019657.8A CN202010019657A CN113098770B CN 113098770 B CN113098770 B CN 113098770B CN 202010019657 A CN202010019657 A CN 202010019657A CN 113098770 B CN113098770 B CN 113098770B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- network device
- site
- network
- station
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000006854 communication Effects 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims description 55
- 238000001514 detection method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 6
- 238000013507 mapping Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000005538 encapsulation Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 239000000523 sample Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000006855 networking Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/54—Organization of routing tables
-
- 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
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种报文发送方法、装置及存储介质,属于通信技术领域。在本申请中,第一网络设备接收第一数据报文,并根据第一数据报文携带的目的地址,从存储的路由表中确定目标路由表项。其中,第一数据报文携带的目的地址匹配目标路由表项包括的站点前缀,目标路由表项包括的站点标识用于标识第二站点。之后,第一网络设备可以向第二站点内部署的网络设备发送第一数据报文。也即是,第一网络设备可以按照第二站点的站点标识发送数据报文给第二站点,无需确定数据报文具体是发给第二站点内的哪个网络设备的哪个接口,而且针对一个站点可以只存储一个路由表项,避免了路由表项的重复,也避免了因网络设备的状态发生改变而导致路由表的更新。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种报文发送方法、路由表项的生成方法、装置及存储介质。
背景技术
软件定义广域网(Software Defined WAN,SD-WAN)是软件定义网络(softwaredefined networking,SDN)的重要实践。在SD-WAN中,通常可以通过叠加(Overlay)技术在两个网络设备之间建立隧道,进而通过隧道发送报文。但是,在Overlay技术中,通常因公私网的地址转换等因素无法与下一跳设备进行联通,导致无法按照下一跳设备的地址来发送报文。因此,在SD-WAN中如何发送报文成为目前亟待解决的问题。
在相关技术中,可以使用下一跳设备的接口来实现。也即是,可以将下一跳设备所在的站点的站点前缀和下一跳设备的接口标识作为一个路由表项存储在路由表中,将下一跳设备的接口标识,以及通过该接口与下一跳设备之间建立的隧道的隧道标识作为一个隧道表项存储在隧道表中。这样,当接收到数据报文时,可以将数据报文携带的目的地址与路由表中的路由表项进行匹配。如果该数据报文的目的地址匹配路由表中的某个路由表项,那么可以按照这个路由表项包括的接口标识,从隧道表中匹配对应的隧道表项。如果这个路由表项包括的接口标识匹配隧道表中的某个隧道表项,那么可以按照这个隧道表项包括的隧道标识所标识的隧道发送该数据报文。
由于一个网络设备通常包括多个接口,因此,按照上述方法,路由表中可以存储关于该网络设备的多个路由表项。这样,就会存在大量的重复路由表项。而且,当网络设备的状态发生变化之后,将会引起路由表的更新,进而会影响网络性能。
发明内容
本申请提供了一种报文发送方法、装置及存储介质,可以解决相关技术中存在大量的重复路由表项,且当网络设备的状态发生变化后会引起路由表的更新的问题,进而减轻对网络性能的影响。所述技术方案如下:
第一方面,提供了一种报文发送方法,所述第一网络设备中存储有路由表,所述路由表包括多个路由表项,所述多个路由表项中的每个路由表项包括一个站点前缀和对应的站点标识。在这种情况下,所述第一网络设备接收第一数据报文;所述第一网络设备根据所述目的地址,从所述路由表中确定目标路由表项,所述目的地址匹配所述目标路由表项包括的站点前缀,所述目标路由表项包括的站点标识用于标识第二站点;所述第一网络设备向所述第二站点内部署的网络设备发送所述第一数据报文。
其中,所述第一数据报文携带目的地址,所述第一网络设备是指第一站点内部署的一个网络设备。
在本申请中,由于第一站点内的第一网络设备存储的路由表中的每个路由表项包括一个站点前缀和对应的站点标识,因此,当第一网络设备接收到第一数据报文时,可以从路由表中确定目标路由表项。由于目标路由表项中的站点标识用于标识第二站点,因此,第一网络设备可以直接根据目标路由表项中的站点标识,向第二站点发送第一数据报文。也即是,对于第一站点发往第二站点的数据报文,第一网络设备可以直接按照第二站点的站点标识发送给第二站点,无需确定数据报文具体是发给第二站点内的哪个网络设备的哪个接口,而且,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。
可选地,所述第一网络设备向所述第二站点内部署的网络设备发送所述第一数据报文时,所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项,所述一个或多个隧道表项是指所述第一站点与所述第二站点之间建立的隧道对应的隧道表项;所述第一网络设备从所述一个或多个隧道表项中选择一个隧道表项作为目标隧道表项;所述第一网络设备通过所述目标隧道表项对应的隧道发送所述第一数据报文。
可选地,所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项时,所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道标识,所述一个或多个隧道标识是指所述第一站点与所述第二站点之间建立的隧道的标识;所述第一网络设备根据所述一个或多个隧道标识,从所述隧道表中确定所述一个或多个隧道表项。
其中,所述第一网络设备中存储有一个隧道表,所述隧道表中的每个隧道表项包括一个隧道标识和对应的隧道属性信息,所述隧道表用于存储多个站点对应的隧道表项,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点。
在这种情况下,第一网络设备可以根据目标路由表项包括的站点标识,确定一个或多个隧道标识,该一个或多个隧道标识是指第一站点与第二站点之间建立的隧道的标识。之后,第一网络设备可以根据该一个或多个隧道标识,从该隧道表中确定一个或多个隧道表项。
需要说明的是,每个隧道表项包括的隧道属性信息可以包括隧道封装方式、隧道的源地址和目的地址、隧道的带宽以及隧道的时延等。而且,在一些情况下,第一网络设备中可以存储站点标识与隧道标识的第一映射关系,也即是,第一映射关系中存储有与第一站点建立有隧道的各个站点的标识,以及各个站点与第一站点之间建立的隧道的标识。这样,第一网络设备可以根据目标路由表项包括的站点标识,从第一映射关系中,确定一个或多个隧道标识。之后,第一网络设备可以从隧道表中确定包括的隧道标识与这一个或多个隧道标识相同的隧道表项,从而得到一个或多个隧道表项。
可选地,所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项时,所述第一网络设备根据所述目标路由表项包括的站点标识,确定目标隧道表的标识,所述目标隧道表是指所述多个隧道表中与所述第二站点对应的隧道表;所述第一网络设备根据所述目标隧道表的标识,从所述多个隧道表中确定所述目标隧道表,将所述目标隧道表中存储的隧道表项确定为所述一个或多个隧道表项。
其中,所述第一网络设备中存储有多个隧道表,所述多个隧道表与多个站点一一对应,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点。
在这种情况下,第一网络设备可以根据目标路由表项包括的站点标识,确定目标隧道表的标识,目标隧道表是指该多个隧道表中与第二站点对应的隧道表。之后,第一网络设备可以根据目标隧道表的标识,从该多个隧道表中确定目标隧道表,将目标隧道表中存储的隧道表项确定为一个或多个隧道表项。
由于第一网络设备中针对不同的站点存储不同的隧道表,且第一网络设备可以存储站点标识与隧道表标识的第二映射关系,也即是,第二映射关系中存储有与第一站点建立有隧道的各个站点的标识,以及各个站点对应的隧道表的标识。这样,第一网络设备可以根据目标路由表项包括的站点标识,从第二映射关系中,确定目标隧道表的标识。之后,可以根据目标隧道表的标识,从该多个隧道表中确定目标隧道表,进而将目标隧道表中的隧道表项确定为上述的一个或多个隧道表项。
第一网络设备根据目标路由表项包括的站点标识,确定一个或多个隧道表项后,可以根据隧道选择策略,从该一个或多个隧道表项中选择一个隧道表项作为目标隧道表项。
需要说明的是,当该一个或多个隧道表项中不存在满足隧道选择策略的隧道表项时,也即是,第一网络设备根据隧道选择策略在该一个或多个隧道表项中无法选择出目标隧道表项,此时,第一网络设备可以将第一数据报文丢弃。或者,第一网络设备可以通过哈希算法在一个或多个隧道表项中选择一个隧道表项作为目标隧道表项。
可选地,所述一个或多个隧道表项中的每个隧道表项还包括一个联通标识,所述联通标识用于指示对应的隧道是否联通,在此基础上,所述第一网络设备从所述一个或多个隧道表项中选择一个隧道表项作为目标隧道表项时,所述第一网络设备从所述一个或多个隧道表项中筛选出联通标识有效的隧道表项;所述第一网络设备从筛选出的隧道表项中选择一个隧道表项作为所述目标隧道表项。
第一网络设备选择目标隧道表项之后,可以获取目标隧道表项包括的隧道标识,将该隧道标识所标识的隧道作为目标隧道,进而通过目标隧道发送第一数据报文。
需要说明的是,由于隧道表包括第一站点内的网络设备与第二站点内的网络设备之间建立的所有隧道,因此,第一网络设备确定的目标隧道可能是第一网络设备与第二站点内的网络设备之间建立的隧道,也可能是第二网络设备与第二站点内的网络设备之间建立的隧道,第二网络设备为第一站点内除第一网络设备外的一个网络设备。
在一些可能的情况下,如果目标隧道为第一网络设备与第二站点内的网络设备之间建立的隧道,则第一网络设备可以直接从自身存储的目标隧道表项中获取目标隧道的隧道属性信息,进而按照获取的隧道属性信息,对第一数据报文进行隧道封装,得到第二数据报文,并通过目标隧道发送第二数据报文。
在另一些可能的情况下,如果目标隧道为第二网络设备与第二站点内的网络设备之间建立的隧道,则第一网络设备可以在第一数据报文中添加目标隧道的隧道标识,得到第三数据报文,通过与第二网络设备之间的物理链路将第三数据报文发送至第二网络设备。当第二网络设备接收到第三数据报文之后,第二网络设备可以从第三数据报文中解析出目标隧道的隧道标识和第一数据报文。之后,第二网络设备可以根据目标隧道的隧道标识,从第二网络设备存储的目标隧道表项中获取目标隧道的隧道属性信息,进而按照获取的隧道属性信息,对第一数据报文进行隧道封装,得到第二数据报文,并通过目标隧道发送第二数据报文。
第二方面,提供了一种路由表项的生成方法,所述方法适用于第一网络设备,所述第一网络设备部署在第一站点内。这样,所述第一网络设备获取站点前缀和站点标识,所述站点标识用于标识第二站点,第二网络设备的网络地址匹配所述站点前缀;所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项,所述第一路由表项包括所述站点前缀和所述站点标识,所述第一路由表项用于向所述第二网络设备发送数据报文。
在本申请中,由于第一网络设备获取到的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取到的站点前缀,也即是,通过第一网络设备获取到的站点前缀和站点标识即可向第二网络设备发送数据报文。因此,第一网络设备可以将获取到的站点前缀以及站点标识作为第一路由表项添加在存储的路由表中,这样,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。
需要说明的是,第二网络设备可以部署在第二站点内,也可以部署在第三站点内,而且,第一网络设备与第二网络设备之间可以直接通信,也可以通过其他网络设备的中转进行通信。因此,接下来将分为三种情况进行说明。
第一种情况、所述第二网络设备部署在所述第二站点内,所述第一网络设备与所述第二网络设备接入相同的一种或多个传输网络。
在这种情况下,由于第二网络设备位于第二站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀和站点标识为第二站点的站点前缀和站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第一网络设备,也即是,第二网络设备与第一网络设备可以通信,因此,控制设备可以将第二站点的站点前缀和站点标识发送给第一网络设备。
可选地,在所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,所述第一网络设备获取所述第二网络设备的一个或多个传输网络端口TNP信息,所述一个或多个TNP信息与所述一种或多种传输网络一一对应;所述第一网络设备根据所述一个或多个TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道;所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
在本申请中,第二网络设备在向控制设备发送第二站点的站点前缀和站点标识时,还会发送第二网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点前缀和站点标识时,还可以接收到第二网络设备的一个或多个TNP信息,该一个或多个TNP信息与一种或多种传输网络一一对应。也即是,该一个或多个TNP信息为第一网络设备与第二网络设备接入的相同的一种或多种传输网络中每个传输网络对应的TNP信息。
其中,TNP信息用于指示外部可访问的一个物理接口或逻辑接口,以及通讯过程中所需要参数。比如,TNP信息可以包括网络运营商标识、加密模式、是否有网络地址转换、对应的传输网络的路由域等。
第一网络设备接收到第二网络设备的一个或多个TNP信息后,可以将自身的TNP信息与该一个或多个TNP信息进行匹配。如果第一网络设备的一个TNP信息和第二网络设备的一个TNP信息能够匹配成功,那么,第一网络设备与第二网络设备可以通过匹配成功的这一对TNP信息建立第一网络设备与第二网络设备之间的隧道。
在本申请中,第一网络设备的TNP信息与第二网络设备的TNP信息是通过匹配条件确定是否能够匹配成功的。也即是,当第一网络设备的一个TNP信息和第二网络设备的一个TNP信息满足匹配条件时,可以确定第一网络设备的这个TNP信息和第二网络设备的这个TNP信息能够匹配成功。
其中,匹配条件可以根据实际情况进行设置。作为一种示例,匹配条件可以是指两个TNP信息包括的部分数据相同,比如,两个TNP信息包括的网络运营商标识相同、或者,两个TNP信息对应的传输网络的路由域相同。作为另一种示例,匹配条件可以是指两个TNP信息包括的所有信息均相同。
需要说明的是,当第一网络设备的TNP信息与第二网络设备的TNP信息能够匹配成功多对TNP信息时,第一网络设备与第二网络设备之间可以建立有多个隧道。
在一种可能的情况下,当通过上述步骤建立第一网络设备与第二网络设备之间的隧道之后,第一网络设备可以直接将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
由前述可知,第一网络设备中可以存储一个隧道表,也可以存储多个隧道表。当第一网络设备中存储有一个隧道表时,第一网络设备与第二网络设备之间建立隧道后,第一网络设备可以将每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在该隧道表中,并存储第二站点的站点标识与隧道标识的第一映射关系。当第一网络设备中存储有多个隧道表时,第一网络设备可以根据第二站点的站点标识,在站点标识与隧道表标识的第二映射关系中查找第二站点对应的隧道表标识。如果查找到第二站点对应的隧道表标识,第一网络设备可以将当前建立的每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在第二站点对应的隧道表中。如果未查找到第二站点对应的隧道表标识,第一网络设备可以创建一个隧道表,将当前建立的每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在创建的隧道表中,并存储第二站点的站点标识与该隧道表的隧道表标识的第二映射关系。
可选地,第一站点内还部署有一个或多个第三网络设备,该一个或多个第三网络设备中的每个第三网络设备均与第二站点内的网络设备建立有隧道,且该一个或多个第三网络设备中的每个第三网络设备还与第一网络设备建立有物理链路。这样,第一网络设备还可以通过与每个第三网络设备之间的物理链路,从相应第三网络设备中获取相应第三网络设备与第二站点内的网络设备之间的隧道对应的隧道表项,将获取的隧道表项进行存储。
可选地,当第一网络设备与多个第三网络设备之间的距离较远,或无法通过物理链路连接时,可以通过网络隧道连接第一网络设备与第三网络设备,该网络隧道可以包括通用路由封装(Generic Routing Encapsulation,GRE)隧道。当然,该网络隧道也可以为其他的隧道。
另外,第一网络设备与每个第三网络设备之间的物理链路或网络隧道主要是用于同步站点内的隧道表项、以及站点内的数据报文的传输,无需发布到站点外部的网络,因此,第一站点内的网络设备上用于建立物理链路的接口上的网络地址均可以设置为私网地址,甚至不同站点都可以采用相同的地址空间,可以节约SD-WAN网络对运营商网络地址资源的消耗。
第二种情况、所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备与所述第四网络设备接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
在这种情况下,由于第二网络设备位于第三站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀为第三站点的站点前缀,第一网络设备获取的站点标识为第二站点的站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第四网络设备,且第二网络设备与第四网络设备之间建立有隧道,第四网络设备与第一网络设备接入相同的传输网络,但是第一网络设备与第二网络设备没有接入相同的传输网络。也即是,第二网络设备可以与第四网络设备通信,第四网络设备可以与第一网络设备通信,但是,第一网络设备与第二网络设备不能直接通信,因此,控制设备可以将第二站点的站点标识和第三站点的站点前缀发送给第一网络设备。
可选地,在所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,所述第一网络设备获取所述第四网络设备的TNP信息,所述第四网络设备的TNP信息与所述第一传输网络对应;所述第一网络设备根据所述第四网络设备的TNP信息,建立所述第一网络设备与所述第四网络设备之间的隧道;所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
在本申请中,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀时,还会发送第四网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点标识和第三站点的站点前缀时,还可以接收到第四网络设备的TNP信息,该TNP信息与第一传输网络对应。
第三种情况、所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备、所述第二网络设备和所述第四网络设备均接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
在这种情况下,由于第二网络设备位于第三站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀为第三站点的站点前缀,第一网络设备获取的站点标识为第二站点的站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第一网络设备和第四网络设备,且第二网络设备与第四网络设备之间建立有隧道,第四网络设备与第一网络设备接入相同的传输网络。也即是,第一网络设备可以与第二网络设备通信,第一网络设备也可以与第四网络设备通信,第四网络设备可以与第二网络设备通信,因此,控制设备可以将第二站点的站点标识和第三站点的站点前缀发送给第一网络设备。
可选地,在所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,所述第一网络设备获取所述第三站点的站点标识;所述第一网络设备在所述第一网络设备的路由表中添加第二路由表项,所述第二路由表项包括所述站点前缀和所述第三站点的站点标识,所述第二路由表项用于向所述第二网络设备发送数据报文。
由于本申请中第一网络设备可以与第二网络设备通信,因此,基于高可靠性考虑,第一网络设备除了获取第二站点的站点标识和第三站点的站点前缀之外,第一网络设备还可以获取第三站点的站点标识。
需要说明的是,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀的同时,可以向第一网络设备发送第三站点的站点标识。当然,控制设备也可以先向第一网络设备发送第二站点的站点标识和第三站点的站点前缀,然后再向第一网络设备发送第三站点的站点标识。
可选地,在所述第一网络设备在所述第一网络设备的路由表中添加第二路由表项之后,所述第一网络设备获取所述第二网络设备的TNP信息和所述第四网络设备的TNP信息;所述第一网络设备根据所述第二网络设备的TNP信息和所述第四网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道,以及所述第一网络设备与所述第四网络设备之间的隧道;所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
在本申请中,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀时,还会发送第四网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点标识和第三站点的站点前缀时,还可以接收到第四网络设备的TNP信息,该TNP信息与第一传输网络对应。同理,控制设备向第一网络设备发送第三站点的站点标识时,还会发送第二网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第三站点的站点标识时,还可以接收到第二网络设备的TNP信息。
第一网络设备接收到第二网络设备的TNP信息和第四网络设备的TNP信息之后,可以直接根据第二网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道,根据第四网络设备的TNP信息,建立第一网络设备与第四网络设备之间的隧道。
可选地,第一网络设备可以获取第二站点的优先级和第三站点的优先级。如果第三站点的优先级高于第二站点的优先级,则第一网络设备可以根据第二网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道。之后,第一网络设备对第一网络设备与第二网络设备之间的隧道的联通性进行探测。如果探测失败,则第一网络设备可以根据第四网络设备的TNP,建立第一网络设备与第四网络设备之间的隧道。如果探测成功,那么第一网络设备可以暂时先不建立第一网络设备与第四网络设备之间的隧道,直到第一网络设备与第二网络设备之间的隧道出现故障而不能联通时,再建立第一网络设备与第四网络设备之间的隧道。
需要说明的是,第二站点的优先级和第三站点的优先级可以是控制设备在发送上述的站点标识和站点前缀的同时发送给第一网络设备的,当然,也可以是先发送上述的站点标识和站点前缀,再发送第二站点的优先级和第三站点的优先级。
本申请是为了实现第一网络设备与第二网络设备之间传输数据报文,而生成路由表项以及建立隧道。因此,控制设备通常会将第三站点的优先级设置的比较高一点,也即是,第三站点的优先级高于第二站点的优先级,这样,第一网络设备就会优先建立第一网络设备与第二网络设备之间的隧道。之后,第一网络设备与第二网络设备之间传输的数据报文就会优先通过这两个设备之间直连的隧道进行传输,而无需通过第四网络设备进行转发,从而降低网络开销,提高报文传输效率。
可选地,对于上述三种情况,当通过上述步骤建立第一网络设备与第二网络设备之间的隧道之后,有的隧道可能能够联通,有的隧道可能不能联通,因此,在本申请中,在所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储时,所述第一网络设备对建立的每条隧道的联通性进行探测;所述第一网络设备将联通性探测成功的每条隧道的隧道标识、对应的隧道属性信息、以及置为有效的联通标识作为一个隧道表项进行存储;和/或,所述第一网络设备将联通性探测失败的每条隧道的隧道标识、对应的隧道属性信息、以及置为无效的联通标识作为一个隧道表项进行存储。
由于第一网络设备对建立的每条隧道的联通性进行探测的实现方式相同,因此,以其中的一条隧道为例,在建立该隧道之后,第一网络设备可以通过该隧道向第二网络设备发送探测消息,该探测消息用于探测该隧道当前是否可用。如果接收到第二网络设备针对该探测消息返回的响应消息,则可以确定该隧道可用,也即是,该隧道能够联通。如果未接收到第二网络设备针对该探测消息返回的响应消息,则可以确定该隧道不可用,也即是,该隧道不能联通。
需要说明的是,该探测信息不仅可以探测隧道当前是否可用,还可以用来探测隧道的带宽以及时延等信息。另外,第一网络设备可以周期性地发送探测信号进行探测,本申请对此不作限定。
第三方面,提供了一种报文发送装置,所述报文发送装置具有实现上述第一方面中报文发送方法行为的功能。所述报文发送装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的报文发送方法。
第四方面,提供了一种路由表项的生成装置,所述路由表项的生成装置具有实现上述第二方面中路由表项的生成方法行为的功能。所述路由表项的生成装置包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的路由表项的生成方法。
第五方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的报文发送方法的程序或第二方面所提供的路由表项的生成方法的程序,以及存储用于实现上述第一方面所提供的报文发送方法或第二方面所提供的路由表项的生成方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的报文发送方法或第二方面所提供的路由表项的生成方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的报文发送方法或第二方面所提供的路由表项的生成方法。
上述第三方面、第四方面、第五方面、第六方面和第七方面所获得的技术效果与第一方面或第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案至少可以带来以下有益效果:
在本申请中,由于第一站点内的第一网络设备存储的路由表中的每个路由表项包括一个站点前缀和对应的站点标识,因此,当第一网络设备接收到第一数据报文时,可以从路由表中确定目标路由表项。由于目标路由表项中的站点标识用于标识第二站点,因此,第一网络设备可以直接根据目标路由表项中的站点标识,向第二站点发送第一数据报文。也即是,对于第一站点发往第二站点的数据报文,第一网络设备可以直接按照第二站点的站点标识发送给第二站点,无需确定数据报文具体是发给第二站点内的哪个网络设备的哪个接口,而且,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。
附图说明
图1是本申请实施例提供的一种报文发送方法所涉及的***架构图;
图2是本申请实施例提供的一种报文发送方法的流程图;
图3是本申请实施例提供的一种隧道索引字段的示意图;
图4是本申请实施例提供的一种路由表项的生成方法所涉及的***架构图;
图5是本申请实施例提供的另一种路由表项的生成方法所涉及的***架构图;
图6是本申请实施例提供的一种路由表项的生成方法的流程图;
图7是本申请实施例提供的又一种路由表项的生成方法所涉及的***架构图;
图8是本申请实施例提供的另一种路由表项的生成方法的流程图;
图9是本申请实施例提供的再一种路由表项的生成方法所涉及的***架构图;
图10是本申请实施例提供的又一种路由表项的生成方法的流程图;
图11是本申请实施例提供的一种报文发送装置的结构示意图;
图12是本申请实施例提供的一种路由表项的生成装置的结构示意图;
图13是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种报文发送方法所涉及的***架构图。如图1所示,该***包括网络设备101、网络设备102、网络设备103以及控制设备104。其中,网络设备101和网络设备102是部署在第一站点内的网络设备,网络设备103是部署在第二站点内的网络设备。网络设备101、网络设备102、网络设备103可以与控制设备104之间通过无线或有线方式连接以进行通信。
对于第一站点内的网络设备和第二站点内的网络设备,这些网络设备上电后,可以向控制设备104进行注册,之后,属于不同站点的两个网络设备之间可以通过控制设备104建立隧道,而且,同一站点内的每两个网络设备之间还可以建立有物理链路。示例地,如图1所示,网络设备101与网络设备103之间通过长期演进(Long Term Evolution,LTE)网络建立有隧道1,网络设备102与网络设备103通过多协议标签交换(Multi-Protocol LabelSwitching,MPLS)网络建立有隧道2,网络设备101与网络设备102之间建立有物理链路。
另外,网络设备101和网络设备102还可以接收控制设备104发送的第二站点的站点前缀和站点标识,并将第二站点的站点前缀和站点标识作为一个路由表项添加在存储的路由表中,也即是,网络设备101可以将第二站点的站点前缀和站点标识作为一个路由表项添加在网络设备101存储的路由表中,网络设备102也可以将第二站点的站点前缀和站点标识作为一个路由表项添加在网络设备102存储的路由表中。同理,网络设备103还可以接收控制设备104发送的第一站点的站点前缀和站点标识,并将第一站点的站点前缀和站点标识作为一个路由表项添加在网络设备103存储的路由表中。
再者,在第一站点内的网络设备与第二站点内的网络设备通过控制设备104建立隧道之后,这些网络设备中还可以存储建立的每条隧道对应的隧道表项。也即是,网络设备101、网络设备102和网络设备103中都可以存储隧道1以及隧道2对应的隧道表项,隧道表项包括隧道标识以及隧道属性信息。
当第一站点内的网络设备和第二站点内的网络设备通过上述方法建立隧道、存储路由表项以及隧道表项之后,第一站点内的网络设备和第二站点内的网络设备,可以根据存储的路由表以及隧道表项,通过建立的隧道传输数据报文。具体详见下述图2所示的实施例,在此不展开说明。
需要说明的是,在图1所示的***架构中,第一站点内的网络设备和第二站点内的网络设备可以通过控制设备104来建立隧道,以及获取对端站点的站点前缀和站点标识。但是,在另一些实施例中,该***中也可以不包括控制设备104,在这种情况下,第一站点内的网络设备可以广播第一站点的站点前缀和站点标识,这样,第二站点内的网络设备可以接收第一站点的站点前缀和站点标识,从而将第一站点的站点前缀和站点标识作为一个路由表项进行存储。同理,第二站点内的网络设备可以广播第二站点的站点前缀和站点标识,这样,第一站点内的网络设备可以接收第二站点的站点前缀和站点标识,从而将第二站点的站点前缀和站点标识作为一个路由表项进行存储。之后,第一站点内的网络设备和第二站点内的网络设备可以建立隧道。当然,还可以通过其他方法来实现,本申请实施例在此不做限定。
值得注意的是,关于同一隧道,隧道两端的网络设备中存储的隧道属性信息中的源端信息和对端信息是相反的。比如,对于隧道1来说,网络设备101和网络设备102中存储的隧道属性信息中的源端信息为网络设备103中存储的隧道属性信息的目的端信息,网络设备101和网络设备102中存储的隧道属性信息中的目的端信息为网络设备103中存储的隧道属性信息的源端信息。其中,隧道的源端信息可以包括隧道的源网络地址,隧道的目的端信息可以包括隧道的目的网络地址。
可选地,图1所示的***中是以第一站点内部署有两台网络设备、第二站点内部署有一台网络设备进行举例说明。当然,在其他可能的情况下,第一站点内也可以部署有一台网络设备,或者两台以上的网络设备,第二站点内也可以部署有两台或两台以上的网络设备,且第一站点内部署的网络设备的数量可以与第二站点内部署的网络设备的数量相同或者不同。
图2是本申请实施例提供的一种报文发送方法的流程图,该方法适用于第一网络设备,该第一网络设备可以为第一站点内的任一网络设备,示例地,第一网络设备可以为图1所示的网络设备101或者网络设备102。在本申请实施例中,第一网络设备中存储有路由表,路由表包括多个路由表项,该多个路由表项中的每个路由表项包括一个站点前缀和对应的站点标识。请参考图2,该方法包括如下步骤。
步骤201:第一网络设备接收第一数据报文,第一数据报文携带目的地址,第一网络设备是指第一站点内部署的一个网络设备。
在本申请实施例中,第一数据报文可以为第一站点内的用户端发送给第一网络设备的数据报文,也可以为其他站点内的网络设备发送给第一网络设备的数据报文。
当第一数据报文为第一站点内的用户端发送给第一网络设备的数据报文时,由于第一站点内包括多个网络设备,因此,第一站点内的用户端在发送第一数据报文之前,需要从第一站点内的多个网络设备中选择一个网络设备作为第一网络设备,进而将第一数据报文发送给第一网络设备。
作为一种示例,第一站点内的用户端可以根据第一站点的组网方式,从第一站点内的多个网络设备中选择一个网络设备作为第一网络设备。
需要说明的是,用户端中可以存储组网方式与设备标识之间的对应关系,当用户端需要发送数据报文时,可以根据自身所在站点的组网方式,以及组网方式与设备标识之间的对应关系,确定一个网络设备来发送数据报文。示例地,对于第一站点内的用户端来说,该用户端可以根据第一站点的组网方式,从存储的组网方式与设备标识之间的对应关系中,获取对应的设备标识,进而将该设备标识所标识的网络设备确定为第一网络设备。
步骤202:第一网络设备根据第一数据报文携带的目的地址,从存储的路由表中确定目标路由表项,其中,第一数据报文携带的目的地址匹配目标路由表项包括的站点前缀,目标路由表项包括的站点标识用于标识第二站点。
由于站点前缀是指站点对应的网段,因此,可以将第一数据报文携带的目的地址与路由表中每个路由表项包括的站点前缀进行匹配,从而可以从路由表中确定目标路由表项。
需要说明的是,由于第一数据报文携带的目标地址匹配目标路由表项包括的站点前缀,目标路由表项包括的站点标识用于标识第二站点,因此,可以确定第一数据报文携带的目的地址为第二站点内的用户端的地址,进而可以确定目标路由表项包括的站点前缀为第二站点的站点前缀,目标路由表项包括的站点标识为第二站点的标识。
步骤203:第一网络设备向第二站点内部署的网络设备发送第一数据报文。
在本申请实施例,第一网络设备可以通过下述步骤(1)-(3)向第二站点内部署的网络设备发送第一数据报文。
(1)、第一网络设备根据目标路由表项包括的站点标识,确定一个或多个隧道表项,一个或多个隧道表项是指第一站点与第二站点之间建立的隧道对应的隧道表项。
在一些实施例中,第一网络设备中存储有一个隧道表,该隧道表中的每个隧道表项包括一个隧道标识和对应的隧道属性信息,该隧道表用于存储多个站点对应的隧道表项,该多个站点是指与第一站点之间建立有隧道的站点,且该多个站点包括第二站点。这样,第一网络设备可以根据目标路由表项包括的站点标识,确定一个或多个隧道标识,该一个或多个隧道标识是指第一站点与第二站点之间建立的隧道的标识。之后,第一网络设备可以根据该一个或多个隧道标识,从该隧道表中确定一个或多个隧道表项。
需要说明的是,每个隧道表项包括的隧道属性信息可以包括隧道封装方式、隧道的源地址和目的地址、隧道的带宽以及隧道的时延等。而且,在一些实施例中,第一网络设备中可以存储站点标识与隧道标识的第一映射关系,也即是,第一映射关系中存储有与第一站点建立有隧道的各个站点的标识,以及各个站点与第一站点之间建立的隧道的标识。这样,第一网络设备可以根据目标路由表项包括的站点标识,从第一映射关系中,确定一个或多个隧道标识。之后,第一网络设备可以从隧道表中确定包括的隧道标识与这一个或多个隧道标识相同的隧道表项,从而得到一个或多个隧道表项。
在另一些实施例中,第一网络设备中存储有多个隧道表,该多个隧道表与多个站点一一对应,该多个站点是指与所述第一站点之间建立有隧道的站点,且该多个站点包括第二站点。这样,第一网络设备可以根据目标路由表项包括的站点标识,确定目标隧道表的标识,目标隧道表是指该多个隧道表中与第二站点对应的隧道表。之后,第一网络设备可以根据目标隧道表的标识,从该多个隧道表中确定目标隧道表,将目标隧道表中存储的隧道表项确定为一个或多个隧道表项。
由于第一网络设备中针对不同的站点存储不同的隧道表,且第一网络设备可以存储站点标识与隧道表标识的第二映射关系,也即是,第二映射关系中存储有与第一站点建立有隧道的各个站点的标识,以及各个站点对应的隧道表的标识。这样,第一网络设备可以根据目标路由表项包括的站点标识,从第二映射关系中,确定目标隧道表的标识。之后,可以根据目标隧道表的标识,从该多个隧道表中确定目标隧道表,进而将目标隧道表中的隧道表项确定为上述的一个或多个隧道表项。
(2)、第一网络设备从该一个或多个隧道表项中选择一个隧道表项作为目标隧道表项。
在一些实施例中,第一网络设备可以根据隧道选择策略,从该一个或多个隧道表项中选择一个隧道表项作为目标隧道表项。
示例性地,第一网络设备存储的隧道选择策略为:选择带宽最大的隧道。这样,第一网络设备可以获取该一个或多个隧道表项中包括的隧道属性信息,并从隧道属性信息中获取隧道的带宽。之后,第一网络设备可以根据隧道的带宽,从该一个或多个隧道表项中选择带宽最大的一个隧道表项作为目标隧道表项。
示例性地,第一网络设备存储的隧道选择策略为:选择带宽大于1M的隧道。这样,第一网络设备可以获取该一个或多个隧道表项中包括的隧道属性信息,并从隧道属性信息中获取隧道的带宽,然而一个或多个隧道的带宽均小于1M,此时,第一网络设备可以将第一数据报文丢弃。
需要说明的是,当该一个或多个隧道表项中不存在满足隧道选择策略的隧道表项时,也即是,第一网络设备根据隧道选择策略在该一个或多个隧道表项中无法选择出目标隧道表项,此时,第一网络设备可以将第一数据报文丢弃。或者,第一网络设备可以通过哈希算法在一个或多个隧道表项中选择一个隧道表项作为目标隧道表项。
示例性地,在隧道标识通过数值来表示的情况下,第一网络设备可以对第一数据报文携带的元组信息进行运算,从而得到一个数值,并确定第一站点与第二站点的隧道数量,进而将运算得到的数值与该隧道数量之间取余,并将得到的余数作为隧道标识,之后,可以将包括该隧道标识的隧道表项作为目标隧道表项。假设,第一数据报文携带的目的地址为10.1.1.1,可以将该目的地址相加,得到数值10+1+1+1=13。且第一站点与第二站点之间的隧道数量为10个,从而可以根据数值13以及隧道数量10计算得到余数3,这样,可以将包括的隧道标识为3的隧道表项作为目标隧道表项。
可选地,该一个或多个隧道表项中的每个隧道表项还包括一个联通标识,该联通标识用于指示对应的隧道是否联通。在这种情况下,当第一网络设备确定该一个或多个隧道表项后,第一网络设备可以从该一个或多个隧道表项中筛选出联通标识有效的隧道表项,之后,第一网络设备可以从筛选出的隧道表项中选择一个隧道表项作为目标隧道表项。其中,选择目标隧道的方法与前述介绍的方法相同,在此不做赘述。
(3)、第一网络设备通过目标隧道表项对应的隧道发送第一数据报文。
第一网络设备选择目标隧道表项之后,可以获取目标隧道表项包括的隧道标识,将该隧道标识所标识的隧道作为目标隧道,进而通过目标隧道发送第一数据报文。
需要说明的是,由于隧道表包括第一站点内的网络设备与第二站点内的网络设备之间建立的所有隧道,因此,第一网络设备确定的目标隧道可能是第一网络设备与第二站点内的网络设备之间建立的隧道,也可能是第二网络设备与第二站点内的网络设备之间建立的隧道,第二网络设备为第一站点内除第一网络设备外的一个网络设备。
在一些实施例中,如果目标隧道为第一网络设备与第二站点内的网络设备之间建立的隧道,则第一网络设备可以直接从自身存储的目标隧道表项中获取目标隧道的隧道属性信息,进而按照获取的隧道属性信息,对第一数据报文进行隧道封装,得到第二数据报文,并通过目标隧道发送第二数据报文。
在另一些实施例中,如果目标隧道为第二网络设备与第二站点内的网络设备之间建立的隧道,则第一网络设备可以在第一数据报文中添加目标隧道的隧道标识,得到第三数据报文,通过与第二网络设备之间的物理链路将第三数据报文发送至第二网络设备。当第二网络设备接收到第三数据报文之后,第二网络设备可以从第三数据报文中解析出目标隧道的隧道标识和第一数据报文。之后,第二网络设备可以根据目标隧道的隧道标识,从第二网络设备存储的目标隧道表项中获取目标隧道的隧道属性信息,进而按照获取的隧道属性信息,对第一数据报文进行隧道封装,得到第二数据报文,并通过目标隧道发送第二数据报文。
在一种可能的实现方式下,第一网络设备可以在第一数据报文中添加一个隧道索引字段,该隧道索引字段中可以包括目标隧道的隧道标识,从而得到第三数据报文。之后,可以通过与第二网络设备之间的物理链路将第三数据报文发送至第二网络设备。
示例性地,如图3所示,隧道索引字段可以包括隧道标识,该隧道标识可以为目标隧道的隧道标识。可选地,隧道索引字段还可以包括封装方式、标签、版本号、协议类型等。其中,封装方式为隧道标识对应的隧道的类型,标签为标志位,可以用于指示数据报文是用户侧发往隧道侧,或者是从隧道侧接收的,版本号为所使用的隧道索引字段的版本号,协议类型为第一数据报文的协议类型。
需要说明的是,由于隧道索引字段不仅包括目标隧道的隧道标识,还包括隧道索引字段的封装方式、标签、版本号、协议类型等,因此,第二网络设备可以按照封装方式、标签、版本号、协议类型这些信息,从第三数据报文中解析出第一数据报文,同时,还可以获取到目标隧道的隧道标识。
第二网络设备解析出第一数据报文后,由于第二网络设备中也存储有目标隧道表项,因此,第二网络设备可以根据目标隧道的隧道标识,从目标隧道表项中获取目标隧道的隧道属性信息,进而按照获取的隧道属性信息,对第一数据报文进行隧道封装,得到第二数据报文,并通过目标隧道发送第二数据报文。
需要说明的是,第二站点内的网络设备接收到第二数据报文后,可以对第二数据报文进行隧道解封装,从而得到第一数据报文。
需要说明的是,上述步骤201-203是第一站点内的网络设备向第二站点内的网络设备发送数据报文的情况。应当理解的是,第二站点内的网络设备也可以向第一站点内的网络设备发送数据报文,且第二站点内的网络设备向第一站点内的网络设备发送数据报文的实现过程可以参考上述步骤201-203,在此不再赘述。
在本申请实施例中,由于第一站点内的第一网络设备存储的路由表中的每个路由表项包括一个站点前缀和对应的站点标识,因此,当第一网络设备接收到第一数据报文时,可以从路由表中确定目标路由表项。由于目标路由表项中的站点标识用于标识第二站点,因此,第一网络设备可以直接根据目标路由表项中的站点标识,向第二站点发送第一数据报文。也即是,对于第一站点发往第二站点的数据报文,第一网络设备可以直接按照第二站点的站点标识发送给第二站点,无需确定数据报文具体是发给第二站点内的哪个网络设备的哪个接口,而且,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。并且,第一网络设备向第二站点发送数据报文时,也可以通过第一站点内的其他网络设备与第二站点建立的隧道发送数据报文,从而无需创建更多的隧道,节省了资源,提高了隧道的利用率。
在上述实施例中,第一站点内的网络设备可以基于存储的路由表,与第二站点内的网络设备传输数据报文。因此,在两个站点内的网络设备传输数据报文之前,网络设备需要生成并存储路由表项。由于不同的***架构下,网络设备生成路由表项的方式有所不同,因此,接下来将分为多个实施例进行说明。
图4是本申请实施例提供的一种路由表项的生成方法所涉及的***架构图。如图4所示,该***包括网络设备401、网络设备402、网络设备403、网络设备404以及控制设备405。其中,网络设备401和网络设备402是部署在第一站点内的网络设备,网络设备403和网络设备404是部署在第二站点内的网络设备。网络设备401、网络设备402、网络设备403和网络设备404可以与控制设备405之间通过无线或有线方式连接以进行通信。
其中,网络设备401与网络设备402之间建立有物理链路,网络设备403与网络设备404之间建立有物理链路。网络设备401和网络设备403接入同一传输网络,即,LTE网络。网络设备402和网络设备404接入同一传输网络,即,MPLS网络。这样,网络设备401与网络设备403之间可以通过LTE网络建立隧道1,网络设备402与网络设备404之间可以通过MPLS网络建立隧道2,且这些网络设备可以生成路由表项,具体的实现方式可以参考下述图5实施例中的相关描述,此处不展开说明。
需要说明的是,参考上述图1中的相关描述,图4所示的***架构中也可以不包括控制设备405,本申请实施例在此不做限定。
可选地,图4所示的***中是以第一站点内部署有两台网络设备、第二站点内部署有两台网络设备进行举例说明。当然,在其他可能的情况下,第一站点内也可以部署有一台网络设备,或者两台以上的网络设备,第二站点内也可以部署有一台或两台以上的网络设备,且第一站点内部署的网络设备的数量可以与第二站点内部署的网络设备的数量相同或者不同。
示例地,参见图5,第一站点内部署一台网络设备501,第二站点内部署一台网络设备502,网络设备501和网络设备502可以与控制设备503之间通过无线或有线方式连接以进行通信。网络设备501和网络设备502可以接入相同的多个传输网络,即,网络设备501和网络设备502均接入LTE网络和MPLS网络,并且这两个网络设备可以通过该多个传输网络建立多条隧道。
在图4和图5的***架构的基础上,本申请实施例提供了一种路由表项的生成方法,该方法适用于第一网络设备。本申请实施例中,第一网络设备部署在第一站点内,第二网络设备部署在第二站点内,第一网络设备与第二网络设备接入相同的一种或多个传输网络。示例地,第一网络设备可以为图4所示的网络设备401或者网络设备402,又或者为图5所示的网络设备501,第二网络设备可以为图4所示的网络设备403或者网络设备404,又或者为图5所示的网络设备502。请参考图6,该方法包括如下步骤。
基于上述描述,由于第一站点内的网络设备和第二站点内的网络设备可以通过控制设备来建立隧道,以及获取对端站点的站点前缀和站点标识,也可以不通过控制设备来实现。不管是否通过控制设备,第一网络设备生成路由表项的方法类似。因此,接下来以通过控制设备来实现为例,对路由表项的生成方法进行介绍。
步骤601:第一网络设备获取站点前缀和站点标识,该站点标识用于标识第二站点,第二网络设备的网络地址匹配该站点前缀。
由于第二网络设备位于第二站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀和站点标识为第二站点的站点前缀和站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第一网络设备,也即是,第二网络设备与第一网络设备可以通信,因此,控制设备可以将第二站点的站点前缀和站点标识发送给第一网络设备。
步骤602:第一网络设备在第一网络设备的路由表中添加第一路由表项,第一路由表项包括该站点前缀和该站点标识,第一路由表项用于向第二网络设备发送数据报文。
当第一网络设备通过上述步骤601-602生成并存储路由表项之后,还可以通过下述步骤603-605生成并存储隧道表项。
步骤603:第一网络设备获取第二网络设备的一个或多个TNP信息,该一个或多个TNP信息与一种或多种传输网络一一对应。
在本申请实施例中,第二网络设备在向控制设备发送第二站点的站点前缀和站点标识时,还会发送第二网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点前缀和站点标识时,还可以接收到第二网络设备的一个或多个TNP信息,该一个或多个TNP信息与一种或多种传输网络一一对应。也即是,该一个或多个TNP信息为第一网络设备与第二网络设备接入的相同的一种或多种传输网络中每个传输网络对应的TNP信息。
其中,TNP信息用于指示外部可访问的一个物理接口或逻辑接口,以及通讯过程中所需要参数。比如,TNP信息可以包括网络运营商标识、加密模式、是否有网络地址转换、对应的传输网络的路由域等。
步骤604:第一网络设备根据第二网络设备的一个或多个TNP信息,建立第一网络设备与第二网络设备之间的隧道。
第一网络设备接收到第二网络设备的一个或多个TNP信息后,可以将自身的TNP信息与该一个或多个TNP信息进行匹配。如果第一网络设备的一个TNP信息和第二网络设备的一个TNP信息能够匹配成功,那么,第一网络设备与第二网络设备可以通过匹配成功的这一对TNP信息建立第一网络设备与第二网络设备之间的隧道。
在本申请实施例中,第一网络设备的TNP信息与第二网络设备的TNP信息是通过匹配条件确定是否能够匹配成功的。也即是,当第一网络设备的一个TNP信息和第二网络设备的一个TNP信息满足匹配条件时,可以确定第一网络设备的这个TNP信息和第二网络设备的这个TNP信息能够匹配成功。
其中,匹配条件可以根据实际情况进行设置。作为一种示例,匹配条件可以是指两个TNP信息包括的部分数据相同,比如,两个TNP信息包括的网络运营商标识相同、或者,两个TNP信息对应的传输网络的路由域相同。作为另一种示例,匹配条件可以是指两个TNP信息包括的所有信息均相同。
需要说明的是,当第一网络设备的TNP信息与第二网络设备的TNP信息能够匹配成功多对TNP信息时,第一网络设备与第二网络设备之间可以建立有多个隧道。
步骤605:第一网络设备将与第二网络设备之间建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
在一些实施例中,当通过上述步骤建立第一网络设备与第二网络设备之间的隧道之后,第一网络设备可以直接将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
在另一些实施例中,当通过上述步骤建立第一网络设备与第二网络设备之间的隧道之后,有的隧道可能能够联通,有的隧道可能不能联通,因此,在本申请实施例中,建立第一网络设备与第二网络设备之间的隧道后,第一网络设备可以对建立的每条隧道的联通性进行探测。之后,第一网络设备可以将联通性探测成功的每条隧道的隧道标识、对应的隧道属性信息、以及置为有效的联通标识作为一个隧道表项进行存储;和/或,第一网络设备可以将联通性探测失败的每条隧道的隧道标识、对应的隧道属性信息、以及置为无效的联通标识作为一个隧道表项进行存储。
由于第一网络设备对建立的每条隧道的联通性进行探测的实现方式相同,因此,以其中的一条隧道为例,在建立该隧道之后,第一网络设备可以通过该隧道向第二网络设备发送探测消息,该探测消息用于探测该隧道当前是否可用。如果接收到第二网络设备针对该探测消息返回的响应消息,则可以确定该隧道可用,也即是,该隧道能够联通。如果未接收到第二网络设备针对该探测消息返回的响应消息,则可以确定该隧道不可用,也即是,该隧道不能联通。
需要说明的是,该探测信息不仅可以探测隧道当前是否可用,还可以用来探测隧道的带宽以及时延等信息。另外,第一网络设备可以周期性地发送探测信号进行探测,本申请实施例对此不作限定。
由前述可知,第一网络设备中可以存储一个隧道表,也可以存储多个隧道表。当第一网络设备中存储有一个隧道表时,第一网络设备与第二网络设备之间建立隧道后,第一网络设备可以将每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在该隧道表中,并存储第二站点的站点标识与隧道标识的第一映射关系。当第一网络设备中存储有多个隧道表时,第一网络设备可以根据第二站点的站点标识,在站点标识与隧道表标识的第二映射关系中查找第二站点对应的隧道表标识。如果查找到第二站点对应的隧道表标识,第一网络设备可以将当前建立的每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在第二站点对应的隧道表中。如果未查找到第二站点对应的隧道表标识,第一网络设备可以创建一个隧道表,将当前建立的每条隧道的隧道标识以及对应的隧道属性信息作为一个隧道表项添加在创建的隧道表中,并存储第二站点的站点标识与该隧道表的隧道表标识的第二映射关系。
可选地,第一站点内还部署有一个或多个第三网络设备,该一个或多个第三网络设备中的每个第三网络设备均与第二站点内的网络设备建立有隧道,且该一个或多个第三网络设备中的每个第三网络设备还与第一网络设备建立有物理链路。这样,第一网络设备还可以通过与每个第三网络设备之间的物理链路,从相应第三网络设备中获取相应第三网络设备与第二站点内的网络设备之间的隧道对应的隧道表项,将获取的隧道表项进行存储。
需要说明的是,第一网络设备将从第三网络设备中获取的隧道表项进行存储的方法可以与前述方法相同,在此不再赘述。
可选地,当第一网络设备与多个第三网络设备之间的距离较远,或无法通过物理链路连接时,可以通过网络隧道连接第一网络设备与第三网络设备,该网络隧道可以包括通用路由封装(Generic Routing Encapsulation,GRE)隧道。当然,该网络隧道也可以为其他的隧道。
另外,第一网络设备与每个第三网络设备之间的物理链路或网络隧道主要是用于同步站点内的隧道表项、以及站点内的数据报文的传输,无需发布到站点外部的网络,因此,第一站点内的网络设备上用于建立物理链路的接口上的网络地址均可以设置为私网地址,甚至不同站点都可以采用相同的地址空间,可以节约SD-WAN网络对运营商网络地址资源的消耗。
在本申请实施例中,第一网络设备获取到第二站点的站点前缀和站点标识之后,可以将第二站点的站点前缀以及站点标识作为第一路由表项添加在存储的路由表中,这样,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。同时,第一网络设备还可以将与第二站点建立的隧道的隧道标识以及隧道属性信息作为隧道表项存储在隧道表中,而且,还可以将第一站点内的其他网络设备与第二站点建立的隧道的隧道表项存储在隧道表中。这样,第一网络设备后续可以通过第一站点内的其他网络设备与第二站点之间的隧道向第二站点发送数据报文,而无需创建更多的隧道,节省了资源,提高了隧道的利用率。
图7是本申请实施例提供的一种路由表项的生成方法所涉及的***架构图。如图7所示,该***包括网络设备701、网络设备702、网络设备703以及控制设备704。其中,网络设备701是部署在第一站点内的网络设备,网络设备702是部署在第三站点内的网络设备,网络设备703是部署在第二站点内的网络设备。网络设备701、网络设备702、网络设备703可以与控制设备704之间通过无线或有线方式连接以进行通信。
其中,网络设备701和网络设备703接入同一传输网络,即,LTE网络。网络设备702和网络设备703接入同一传输网络,即,MPLS网络。这样,网络设备701与网络设备703之间可以通过LTE网络建立有隧道1,网络设备702与网络设备703之间可以通过MPLS网络建立有隧道2,且这些网络设备可以生成路由表项,具体的实现方式可以参考下述图8实施例中的相关描述,此处不展开说明。
需要说明的是,参考上述图1中的相关描述,图7所示的***架构中也可以不包括控制设备704,本申请实施例在此不做限定。
可选地,图7所示的***中是以第一站点、第二站点以及第三站点内均部署有一台网络设备进行举例说明。当然,在其他可能的情况下,第一站点内、第二站点以及第三站点内也可以部署有两台以上的网络设备,且第一站点、第二站点、第三站点内部署的网络设备的数量可以相同或者不同。
在图7的***架构的基础上,本申请实施例提供了一种路由表项的生成方法,该方法适用于第一网络设备中。在本申请实施例中,第一网络设备部署在第一站点内,第二网络设备部署在第三站点内,第四网络设备部署在第二站点内,第一网络设备与第四网络设备接入第一传输网络,第二网络设备与第四网络设备接入第二传输网络且建立有隧道。示例地,第一网络设备可以为图7所示的网络设备701,第二网络设备可以为图7所示的网络设备702,第四网络设备可以为图7所示的网络设备703。请参考图8,该方法包括如下步骤。
基于上述描述,由于第一站点内的网络设备和第二站点内的网络设备可以通过控制设备来建立隧道,以及获取对端站点的站点前缀和站点标识,第二站点内的网络设备和第三站点内的网络设备可以通过控制设备来建立隧道,以及获取对端站点的站点前缀和站点标识,但是也可以不通过控制设备来实现。不管是否通过控制设备,第一网络设备生成路由表项的方法类似。因此,接下来以通过控制设备来实现为例,对路由表项的生成方法进行介绍。
步骤801:第一网络设备获取站点前缀和站点标识,该站点标识用于标识第二站点,第二网络设备的网络地址匹配该站点前缀。
由于第二网络设备位于第三站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀为第三站点的站点前缀,第一网络设备获取的站点标识为第二站点的站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第四网络设备,且第二网络设备与第四网络设备之间建立有隧道,第四网络设备与第一网络设备接入相同的传输网络,但是第一网络设备与第二网络设备没有接入相同的传输网络。也即是,第二网络设备可以与第四网络设备通信,第四网络设备可以与第一网络设备通信,但是,第一网络设备与第二网络设备不能直接通信,因此,控制设备可以将第二站点的站点标识和第三站点的站点前缀发送给第一网络设备。
步骤802:第一网络设备在第一网络设备的路由表中添加第一路由表项,第一路由表项包括该站点前缀和该站点标识,第一路由表项用于向第二网络设备发送数据报文。
当第一网络设备通过上述步骤801-802生成并存储路由表项之后,还可以通过下述步骤803-805生成并存储隧道表项。
步骤803:第一网络设备获取第四网络设备的TNP信息,第四网络设备的TNP信息与第一传输网络对应。
在本申请实施例中,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀时,还会发送第四网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点标识和第三站点的站点前缀时,还可以接收到第四网络设备的TNP信息,该TNP信息与第一传输网络对应。
其中,TNP信息的相关解释可以参考前述实施例中步骤603中的相关解释,在此不再赘述。
步骤804:第一网络设备根据第四网络设备的TNP信息,建立第一网络设备与第四网络设备之间的隧道。
由于第一网络设备建立自身与其他网络设备之间的隧道的实现过程基本相同,因此,本申请实施例对步骤804不做详细阐述,步骤804中相关解释可以参考前述实施例中步骤604中的相关解释。
步骤805:第一网络设备将自身与第四网络设备之间建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
由于第一网络设备将自身与其他网络设备之间建立的隧道对应的隧道表项进行存储的实现过程基本相同,因此,本申请实施例对步骤805不做详细阐述,步骤805中的相关解释可以参考前述实施例中步骤605中的相关解释。
在本申请实施例中,由于第一网络设备与第二网络设备之间无法建立隧道,也即是,第一网络设备与第二网络设备之间无法通过隧道通信,而第一网络设备和第二网络设备均与第四网络设备之间建立有隧道,在这种情况下,第一网络设备与第二网络设备之间的数据报文可以通过第四网络设备进行转发。因此,第一网络设备可以将第三站点的站点前缀,以及第二站点的站点标识作为一个路由表项添加在存储的路由表中。这样,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。同时,当第一网络设备向第二网络设备发送数据报文时,第一网络设备可以根据该路由表项将数据报文通过与第四网络设备之间的隧道发送至第四网络设备,进而由第四网络设备将数据报文通过与第二网络设备之间的隧道发送至第二网络设备,解决了由于第一网络设备与第二网络设备之间无法建立隧道,而导致第一网络设备无法向第二网络设备发送数据报文的问题。
图9是本申请实施例提供的一种路由表项的生成方法所涉及的***架构图。如图9所示,该***包括网络设备901、网络设备902、网络设备903以及控制设备904。其中,网络设备901是部署在第一站点内的网络设备,网络设备902是部署在第三站点内的网络设备,网络设备903是部署在第二站点内的网络设备。网络设备901、网络设备902、网络设备903可以与控制设备904之间通过无线或有线方式连接以进行通信。
其中,网络设备901、网络设备902和网络设备903接入同一传输网络,即,LTE网络。网络设备902和网络设备903接入同一传输网络,即,MPLS网络。这样,网络设备901与网络设备903之间可以通过LTE网络建立有隧道1,网络设备901与网络设备902之间可以通过LTE网络建立有隧道2,网络设备902与网络设备903之间可以通过MPLS网络建立有隧道3,且这些网络设备可以生成路由表项,具体的实现方式可以参考下述图10实施例中的相关描述,此处不展开说明。
需要说明的是,参考上述图1中的相关描述,图9所示的***架构也可以不包括控制设备904,本申请实施例在此不做限定。
可选地,图9所示的***中是以第一站点、第二站点以及第三站点内均部署有一台网络设备进行举例说明。当然,在其他可能的情况下,第一站点内、第二站点以及第三站点内也可以部署有两台以上的网络设备,且第一站点、第二站点、第三站点内部署的网络设备的数量可以相同或者不同。
在图9的***架构的基础上,本申请实施例提供了一种路由表项的生成方法,该方法适用于第一网络设备。在本申请实施例中,第一网络设备部署在第一站点内,第二网络设备部署在第三站点内,第四网络设备部署在第二站点内,第一网络设备、第二网络设备和第四网络设备均接入第一传输网络,第二网络设备与第四网络设备接入第二传输网络且建立有隧道。示例地,第一网络设备可以为图9所示的网络设备901,第二网络设备可以为图9所示的网络设备902,第四网络设备可以为图9所示的网络设备903。请参考图10,该方法包括如下步骤。
基于上述描述,由于第一站点内的网络设备、第二站点内的网络设备和第三站点内的网络设备可以通过控制设备来建立隧道,以及获取对端站点的站点前缀和站点标识,但是也可以不通过控制设备来实现。不管是否通过控制设备,第一网络设备生成路由表项的方法类似。因此,接下来以通过控制设备来实现为例,对路由表项的生成方法进行介绍。
步骤1001:第一网络设备获取站点前缀和站点标识,该站点标识用于标识第二站点,第二网络设备的网络地址匹配该站点前缀。
由于第二网络设备位于第三站点内,第一网络设备获取的站点标识用于标识第二站点,第二网络设备的网络地址匹配第一网络设备获取的站点前缀,因此,可以确定第一网络设备获取的站点前缀为第三站点的站点前缀,第一网络设备获取的站点标识为第二站点的站点标识。
需要说明的是,第二网络设备上电后可以向控制设备进行注册,以从控制设备中获取第二网络设备的配置信息,该配置信息可以包括第二站点的站点标识和站点前缀、第二网络设备的TNP信息等。之后,第二网络设备可以将第二站点的站点前缀以及站点标识发送至控制设备。控制设备接收到第二网络设备发送的第二站点的站点前缀和站点标识之后,可以根据网络拓扑结构,确定与第二网络设备接入相同传输网络的网络设备包括第一网络设备和第四网络设备,且第二网络设备与第四网络设备之间建立有隧道,第四网络设备与第一网络设备接入相同的传输网络。也即是,第一网络设备可以与第二网络设备通信,第一网络设备也可以与第四网络设备通信,第四网络设备可以与第二网络设备通信,因此,控制设备可以将第二站点的站点标识和第三站点的站点前缀发送给第一网络设备。
步骤1002:第一网络设备在第一网络设备的路由表中添加第一路由表项,第一路由表项包括该站点前缀和该站点标识,第一路由表项用于向第二网络设备发送数据报文。
步骤1003:第一网络设备获取第三站点的站点标识。
由于本申请实施例中第一网络设备可以与第二网络设备通信,因此,基于高可靠性考虑,第一网络设备除了获取第二站点的站点标识和第三站点的站点前缀之外,第一网络设备还可以获取第三站点的站点标识。
需要说明的是,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀的同时,可以向第一网络设备发送第三站点的站点标识。当然,控制设备也可以先向第一网络设备发送第二站点的站点标识和第三站点的站点前缀,然后再向第一网络设备发送第三站点的站点标识。
步骤1004:第一网络设备在第一网络设备的路由表中添加第二路由表项,第二路由表项包括第三站点的站点前缀和第三站点的站点标识,第二路由表项用于向第二网络设备发送数据报文。
当第一网络设备通过上述步骤1001-1004生成并存储路由表项之后,还可以通过下述步骤1005-1007生成并存储隧道表项。
步骤1005:第一网络设备获取第二网络设备的TNP信息和第四网络设备的TNP信息。
在本申请实施例中,控制设备向第一网络设备发送第二站点的站点标识和第三站点的站点前缀时,还会发送第四网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第二站点的站点标识和第三站点的站点前缀时,还可以接收到第四网络设备的TNP信息,该TNP信息与第一传输网络对应。同理,控制设备向第一网络设备发送第三站点的站点标识时,还会发送第二网络设备的TNP信息。这样,第一网络设备在接收到控制设备发送的第三站点的站点标识时,还可以接收到第二网络设备的TNP信息。
其中,TNP信息的相关解释可以参考前述实施例中步骤503中的相关解释,在此不再赘述。
步骤1006:第一网络设备根据第二网络设备的TNP信息和第四网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道,以及第一网络设备与第四网络设备之间的隧道。
在一些实施例中,第一网络设备可以直接根据第二网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道,根据第四网络设备的TNP信息,建立第一网络设备与第四网络设备之间的隧道。
在另一些实施例中,第一网络设备可以获取第二站点的优先级和第三站点的优先级。如果第三站点的优先级高于第二站点的优先级,则第一网络设备可以根据第二网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道。之后,第一网络设备对第一网络设备与第二网络设备之间的隧道的联通性进行探测。如果探测失败,则第一网络设备可以根据第四网络设备的TNP,建立第一网络设备与第四网络设备之间的隧道。如果探测成功,那么第一网络设备可以暂时先不建立第一网络设备与第四网络设备之间的隧道,直到第一网络设备与第二网络设备之间的隧道出现故障而不能联通时,再建立第一网络设备与第四网络设备之间的隧道。
需要说明的是,第二站点的优先级和第三站点的优先级可以是控制设备在发送上述的站点标识和站点前缀的同时发送给第一网络设备的,当然,也可以是先发送上述的站点标识和站点前缀,再发送第二站点的优先级和第三站点的优先级。
本申请实施例是为了实现第一网络设备与第二网络设备之间传输数据报文,而生成路由表项以及建立隧道。因此,控制设备通常会将第三站点的优先级设置的比较高一点,也即是,第三站点的优先级高于第二站点的优先级,这样,第一网络设备就会优先建立第一网络设备与第二网络设备之间的隧道。之后,第一网络设备与第二网络设备之间传输的数据报文就会优先通过这两个设备之间直连的隧道进行传输,而无需通过第四网络设备进行转发,从而降低网络开销,提高报文传输效率。
由于第一网络设备建立自身与其他网络设备之间的隧道的实现过程基本相同,因此,本申请实施例对步骤1006不做详细阐述,步骤1006中的相关解释可以参考前述实施例中步骤604中的相关解释。而且,第一网络设备对第一网络设备与第二网络设备之间的隧道的联通性进行探测的实现过程可以参考前述实施例中步骤605中的相关解释。
步骤1007:第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
由于第一网络设备将自身与其他网络设备之间建立的隧道对应的隧道表项进行存储的实现过程基本相同,因此,本申请实施例对步骤1007不做详细阐述,步骤1007中的相关解释可以参考前述实施例中步骤605中的相关解释。
在本申请实施例中,第一网络设备可以将第三站点的站点前缀以及第二站点的站点标识作为第一路由表项添加在存储的路由表中,将第三站点的站点前缀以及站点标识作为第二路由表项添加在存储的路由表中。这样,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。另外,第一网络设备可以优先建立第一网络设备与第二网络设备之间的隧道,当第一网络设备与第二网络设备之间的隧道不可用时,第一网络设备可以建立第一网络设备与第四网络设备之间的隧道,进而通过第四网络设备,将发往第二网络设备的数据报文转发至第二网络设备,提高了数据报文发送的可靠性。
图11是本申请实施例提供的一种报文发送装置的结构示意图,该报文发送装置可以由软件、硬件或者两者的结合实现成为第一网络设备的部分或者全部,其中,第一网络设备是指第一站点内部署的一个网络设备,第一网络设备中存储有路由表,路由表包括多个路由表项,多个路由表项中的每个路由表项包括一个站点前缀和对应的站点标识。参见图11,该装置包括:接收模块1101、确定模块1102和发送模块1103。
接收模块1101,用于接收第一数据报文,第一数据报文携带目的地址,第一网络设备是指第一站点内部署的一个网络设备。也即是,用于执行图2实施例中的步骤201的操作;
确定模块1102,用于根据第一数据报文携带的目的地址,从路由表中确定目标路由表项,第一数据报文携带的目的地址匹配目标路由表项包括的站点前缀,目标路由表项包括的站点标识用于标识第二站点。也即是,用于执行图2实施例中的步骤202的操作;
发送模块1103,用于向第二站点内部署的网络设备发送第一数据报文。也即是,用于执行图2实施例中的步骤203的操作。
可选地,发送模块1103包括:
确定子模块,用于根据目标路由表项包括的站点标识,确定一个或多个隧道表项,该一个或多个隧道表项是指第一站点与第二站点之间建立的隧道对应的隧道表项;
选择子模块,用于从该一个或多个隧道表项中选择一个隧道表项作为目标隧道表项;
发送子模块,用于通过目标隧道表项对应的隧道发送第一数据报文。
可选地,第一网络设备中存储有一个隧道表,该隧道表中的每个隧道表项包括一个隧道标识和对应的隧道属性信息,该隧道表用于存储多个站点对应的隧道表项,该多个站点是指与第一站点之间建立有隧道的站点,且该多个站点包括第二站点;
确定子模块主要用于:
根据目标路由表项包括的站点标识,确定一个或多个隧道标识,该一个或多个隧道标识是指第一站点与第二站点之间建立的隧道的标识;
根据该一个或多个隧道标识,从该隧道表中确定该一个或多个隧道表项。
可选地,第一网络设备中存储有多个隧道表,该多个隧道表与多个站点一一对应,该多个站点是指与第一站点之间建立有隧道的站点,且该多个站点包括第二站点;
确定子模块主要用于:
根据目标路由表项包括的站点标识,确定目标隧道表的标识,目标隧道表是指该多个隧道表中与第二站点对应的隧道表;
根据目标隧道表的标识,从该多个隧道表中确定目标隧道表,将目标隧道表中存储的隧道表项确定为该一个或多个隧道表项。
可选地,该一个或多个隧道表项中的每个隧道表项还包括一个联通标识,该联通标识用于指示对应的隧道是否联通;
选择子模块主要用于:
从该一个或多个隧道表项中筛选出联通标识有效的隧道表项;
从筛选出的隧道表项中选择一个隧道表项作为目标隧道表项。
在本申请中,由于第一站点内的第一网络设备存储的路由表中的每个路由表项包括一个站点前缀和对应的站点标识,因此,当第一网络设备接收到第一数据报文时,可以从路由表中确定目标路由表项。由于目标路由表项中的站点标识用于标识第二站点,因此,第一网络设备可以直接根据目标路由表项中的站点标识,向第二站点发送第一数据报文。也即是,对于第一站点发往第二站点的数据报文,第一网络设备可以直接按照第二站点的站点标识发送给第二站点,无需确定数据报文具体是发给第二站点内的哪个网络设备的哪个接口,而且,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。
需要说明的是:上述实施例提供的报文发送装置在发送报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的报文发送装置与报文发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请实施例提供的一种路由表项的生成装置的结构示意图,该报文发送装置可以由软件、硬件或者两者的结合实现成为第一网络设备的部分或者全部,其中,第一网络设备部署在第一站点内。参见图12,该装置包括:第一获取模块1201和第一添加模块1202。
第一获取模块1201,用于获取站点前缀和站点标识,该站点标识用于标识第二站点,第二网络设备的网络地址匹配该站点前缀;也即是,用于执行图6实施例中的步骤601、图8实施例中的步骤801或图10实施例中的步骤1001的操作;
第一添加模块1202,用于在第一网络设备的路由表中添加第一路由表项,第一路由表项包括该站点前缀和该站点标识,第一路由表项用于向第二网络设备发送数据报文。也即是,用于执行图6实施例中的步骤602、图8实施例中的步骤802或图10实施例中的步骤1002的操作;
可选地,第二网络设备部署在第二站点内,第一网络设备与第二网络设备接入相同的一种或多个传输网络。
可选地,该装置还包括:
第二获取模块,用于获取第二网络设备的一个或多个传输网络端口TNP信息,该一个或多个TNP信息与该一种或多种传输网络一一对应;
第一建立模块,用于根据该一个或多个TNP信息,建立第一网络设备与第二网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
可选地,第一站点内还部署有一个或多个第三网络设备,该一个或多个第三网络设备中的每个第三网络设备均与第二站点内的网络设备建立有隧道,且该一个或多个第三网络设备中的每个第三网络设备还与第一网络设备建立有物理链路;
该装置还包括:
第三获取模块,用于通过与每个第三网络设备之间的物理链路,从相应第三网络设备中获取相应第三网络设备与第二站点内的网络设备之间的隧道对应的隧道表项,将获取的隧道表项进行存储。
可选地,第二网络设备部署在第三站点内,第四网络设备部署在第二站点内,第一网络设备与第四网络设备接入第一传输网络,第二网络设备与第四网络设备接入第二传输网络且建立有隧道。
可选地,该装置还包括:
第四获取模块,用于获取第四网络设备的TNP信息,第四网络设备的TNP信息与第一传输网络对应;
第二建立模块,用于根据第四网络设备的TNP信息,建立第一网络设备与第四网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
可选地,第二网络设备部署在第三站点内,第四网络设备部署在第二站点内,第一网络设备、第二网络设备和第四网络设备均接入第一传输网络,第二网络设备与第四网络设备接入第二传输网络且建立有隧道。
可选地,该装置还包括:
第五获取模块,用于获取第三站点的站点标识;
第二添加模块,用于在第一网络设备的路由表中添加第二路由表项,第二路由表项包括该站点前缀和第三站点的站点标识,第二路由表项用于向第二网络设备发送数据报文。
可选地,该装置还包括:
第六获取模块,用于获取第二网络设备的TNP信息和第四网络设备的TNP信息;
第三建立模块,用于根据第二网络设备的TNP信息和第四网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道,以及第一网络设备与第四网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
可选地,第三建立模块主要用于:
获取第二站点的优先级和第三站点的优先级;
如果第三站点的优先级高于第二站点的优先级,则根据第二网络设备的TNP信息,建立第一网络设备与第二网络设备之间的隧道;
对第一网络设备与第二网络设备之间的隧道的联通性进行探测;
如果探测失败,则根据第四网络设备的TNP,建立第一网络设备与第四网络设备之间的隧道。
可选地,存储模块主要用于:
对建立的每条隧道的联通性进行探测;
将联通性探测成功的每条隧道的隧道标识、对应的隧道属性信息、以及置为有效的联通标识作为一个隧道表项进行存储;和/或,将联通性探测失败的每条隧道的隧道标识、对应的隧道属性信息、以及置为无效的联通标识作为一个隧道表项进行存储。
在本申请实施例中,在本申请实施例中,第一网络设备获取到第二站点的站点前缀和站点标识之后,可以将第二站点的站点前缀以及站点标识作为第一路由表项添加在存储的路由表中,这样,对于一个站点来说,第一网络设备可以只存储一个路由表项,避免了大量的重复路由表项,并且也可以避免由于网络设备的状态发生改变,而导致路由表的更新。同时,第一网络设备还可以将与第二站点建立的隧道的隧道标识以及隧道属性信息作为隧道表项存储在隧道表中,而且,还可以将第一站点内的其他网络设备与第二站点建立的隧道的隧道表项存储在隧道表中。这样,第一网络设备后续可以通过第一站点内的其他网络设备与第二站点之间的隧道向第二站点发送数据报文,而无需创建更多的隧道,节省了资源,提高了隧道的利用率。
需要说明的是:上述实施例提供的报路由表项的生成装置在生成路由表项时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的路由表项的生成装置与路由表项的生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图13,图13是根据本申请实施例示出的一种网络设备的结构示意图,该网络设备可以是图1、图4、图5、图7或图9中所示的任一网络设备。该网络设备包括至少一个处理器1301、通信总线1302、存储器1303以及至少一个通信接口1304。
处理器1301可以是一个微处理器(包括中央处理器(central processing unit,CPU)等)、网络处理器(NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线1302用于在上述组件之间传送信息。通信总线1302可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1303可以是只读存储器(read-only memory,ROM),也可以是随机存取存储器(random access memory,RAM),也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、光盘(包括只读光盘(compact discread-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1303可以是独立存在,并通过通信总线1302与处理器1301相连接。存储器1303也可以和处理器1301集成在一起。
通信接口1304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1304包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(Wireless Local Area Networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器1301可以包括一个或多个CPU,如图13中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,如图13中所示的处理器1301和处理器1305。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施例中,存储器1303用于存储执行本申请方案的程序代码1310,处理器1301可以执行存储器1303中存储的程序代码1310。也即是,该网络设备可以通过处理器1301以及存储器1303中的程序代码1310,来实现上述图2实施例提供的报文发送方法,以及上述图6、图8和图10实施例提供的路由表项的生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“***”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
Claims (33)
1.一种报文发送方法,所述方法适用于第一网络设备,其特征在于,所述第一网络设备中存储有路由表,所述路由表包括多个路由表项,所述多个路由表项中的每个路由表项包括一个站点前缀和对应的站点标识,所述站点前缀是指站点对应的网段;所述方法包括:
所述第一网络设备接收第一数据报文,所述第一数据报文携带目的地址,所述第一网络设备是指第一站点内部署的一个网络设备;
所述第一网络设备根据所述目的地址,从所述路由表中确定目标路由表项,所述目的地址匹配所述目标路由表项包括的站点前缀,所述目标路由表项包括的站点标识用于标识第二站点;
所述第一网络设备通过所述第一站点与所述第二站点之间建立的隧道向所述第二站点内部署的网络设备发送所述第一数据报文。
2.如权利要求1所述的方法,其特征在于,所述第一网络设备通过所述第一站点与所述第二站点之间建立的隧道向所述第二站点内部署的网络设备发送所述第一数据报文,包括:
所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项,所述一个或多个隧道表项是指所述第一站点与所述第二站点之间建立的隧道对应的隧道表项;
所述第一网络设备从所述一个或多个隧道表项中选择一个隧道表项作为目标隧道表项;
所述第一网络设备通过所述目标隧道表项对应的隧道发送所述第一数据报文。
3.如权利要求2所述的方法,其特征在于,所述第一网络设备中存储有一个隧道表,所述隧道表中的每个隧道表项包括一个隧道标识和对应的隧道属性信息,所述隧道表用于存储多个站点对应的隧道表项,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点;
所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项,包括:
所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道标识,所述一个或多个隧道标识是指所述第一站点与所述第二站点之间建立的隧道的标识;
所述第一网络设备根据所述一个或多个隧道标识,从所述隧道表中确定所述一个或多个隧道表项。
4.如权利要求2所述的方法,其特征在于,所述第一网络设备中存储有多个隧道表,所述多个隧道表与多个站点一一对应,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点;
所述第一网络设备根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项,包括:
所述第一网络设备根据所述目标路由表项包括的站点标识,确定目标隧道表的标识,所述目标隧道表是指所述多个隧道表中与所述第二站点对应的隧道表;
所述第一网络设备根据所述目标隧道表的标识,从所述多个隧道表中确定所述目标隧道表,将所述目标隧道表中存储的隧道表项确定为所述一个或多个隧道表项。
5.如权利要求2-4任一所述的方法,其特征在于,所述一个或多个隧道表项中的每个隧道表项还包括一个联通标识,所述联通标识用于指示对应的隧道是否联通;
所述第一网络设备从所述一个或多个隧道表项中选择一个隧道表项作为目标隧道表项,包括:
所述第一网络设备从所述一个或多个隧道表项中筛选出联通标识有效的隧道表项;
所述第一网络设备从筛选出的隧道表项中选择一个隧道表项作为所述目标隧道表项。
6.一种路由表项的生成方法,所述方法适用于第一网络设备,其特征在于,所述第一网络设备部署在第一站点内;所述方法包括:
所述第一网络设备获取站点前缀和站点标识,所述站点标识用于标识第二站点,第二网络设备的网络地址匹配所述站点前缀,所述站点前缀是指站点对应的网段,所述第一网络设备与所述第二网络设备之间通过所述第一站点与所述第二站点之间建立的隧道传输数据报文;
所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项,所述第一路由表项包括所述站点前缀和所述站点标识,所述第一路由表项用于向所述第二网络设备发送数据报文。
7.如权利要求6所述的方法,其特征在于,所述第二网络设备部署在所述第二站点内,所述第一网络设备与所述第二网络设备接入相同的一种或多个传输网络。
8.如权利要求7所述的方法,其特征在于,所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,还包括:
所述第一网络设备获取所述第二网络设备的一个或多个传输网络端口TNP信息,所述一个或多个TNP信息与所述一种或多种传输网络一一对应;
所述第一网络设备根据所述一个或多个TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道;
所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
9.如权利要求7所述的方法,其特征在于,所述第一站点内还部署有一个或多个第三网络设备,所述一个或多个第三网络设备中的每个第三网络设备均与所述第二站点内的网络设备建立有隧道,且所述一个或多个第三网络设备中的每个第三网络设备还与所述第一网络设备建立有物理链路;
所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储之后,还包括:
所述第一网络设备通过与每个第三网络设备之间的物理链路,从相应第三网络设备中获取相应第三网络设备与所述第二站点内的网络设备之间的隧道对应的隧道表项,将获取的隧道表项进行存储。
10.如权利要求6所述的方法,其特征在于,所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备与所述第四网络设备接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
11.如权利要求10所述的方法,其特征在于,所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,所述方法还包括:
所述第一网络设备获取所述第四网络设备的TNP信息,所述第四网络设备的TNP信息与所述第一传输网络对应;
所述第一网络设备根据所述第四网络设备的TNP信息,建立所述第一网络设备与所述第四网络设备之间的隧道;
所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
12.如权利要求6所述的方法,其特征在于,所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备、所述第二网络设备和所述第四网络设备均接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
13.如权利要求12所述的方法,其特征在于,所述第一网络设备在所述第一网络设备的路由表中添加第一路由表项之后,还包括:
所述第一网络设备获取所述第三站点的站点标识;
所述第一网络设备在所述第一网络设备的路由表中添加第二路由表项,所述第二路由表项包括所述站点前缀和所述第三站点的站点标识,所述第二路由表项用于向所述第二网络设备发送数据报文。
14.如权利要求12所述的方法,其特征在于,所述第一网络设备在所述第一网络设备的路由表中添加第二路由表项之后,还包括:
所述第一网络设备获取所述第二网络设备的TNP信息和所述第四网络设备的TNP信息;
所述第一网络设备根据所述第二网络设备的TNP信息和所述第四网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道,以及所述第一网络设备与所述第四网络设备之间的隧道;
所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
15.如权利要求14所述的方法,其特征在于,所述第一网络设备根据所述第二网络设备的TNP信息和所述第四网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道,以及所述第一网络设备与所述第四网络设备之间的隧道,包括:
所述第一网络设备获取所述第二站点的优先级和所述第三站点的优先级;
如果所述第三站点的优先级高于所述第二站点的优先级,则所述第一网络设备根据所述第二网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道;
所述第一网络设备对所述第一网络设备与所述第二网络设备之间的隧道的联通性进行探测;
如果探测失败,则所述第一网络设备根据所述第四网络设备的TNP,建立所述第一网络设备与所述第四网络设备之间的隧道。
16.如权利要求8、11或14所述的方法,其特征在于,所述第一网络设备将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储,包括:
所述第一网络设备对建立的每条隧道的联通性进行探测;
所述第一网络设备将联通性探测成功的每条隧道的隧道标识、对应的隧道属性信息、以及置为有效的联通标识作为一个隧道表项进行存储;和/或,所述第一网络设备将联通性探测失败的每条隧道的隧道标识、对应的隧道属性信息、以及置为无效的联通标识作为一个隧道表项进行存储。
17.一种报文发送装置,应用于第一网络设备,其特征在于,所述第一网络设备中存储有路由表,所述路由表包括多个路由表项,所述多个路由表项中的每个路由表项包括一个站点前缀和对应的站点标识,所述站点前缀是指站点对应的网段;所述装置包括:
接收模块,用于接收第一数据报文,所述第一数据报文携带目的地址,所述第一网络设备是指第一站点内部署的一个网络设备;
确定模块,用于根据所述目的地址,从所述路由表中确定目标路由表项,所述目的地址匹配所述目标路由表项包括的站点前缀,所述目标路由表项包括的站点标识用于标识第二站点;
发送模块,用于通过所述第一站点与所述第二站点之间建立的隧道向所述第二站点内部署的网络设备发送所述第一数据报文。
18.如权利要求17所述的装置,其特征在于,所述发送模块包括:
确定子模块,用于根据所述目标路由表项包括的站点标识,确定一个或多个隧道表项,所述一个或多个隧道表项是指所述第一站点与所述第二站点之间建立的隧道对应的隧道表项;
选择子模块,用于从所述一个或多个隧道表项中选择一个隧道表项作为目标隧道表项;
发送子模块,用于通过所述目标隧道表项对应的隧道发送所述第一数据报文。
19.如权利要求18所述的装置,其特征在于,所述第一网络设备中存储有一个隧道表,所述隧道表中的每个隧道表项包括一个隧道标识和对应的隧道属性信息,所述隧道表用于存储多个站点对应的隧道表项,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点;
所述确定子模块主要用于:
根据所述目标路由表项包括的站点标识,确定一个或多个隧道标识,所述一个或多个隧道标识是指所述第一站点与所述第二站点之间建立的隧道的标识;
根据所述一个或多个隧道标识,从所述隧道表中确定所述一个或多个隧道表项。
20.如权利要求18所述的装置,其特征在于,所述第一网络设备中存储有多个隧道表,所述多个隧道表与多个站点一一对应,所述多个站点是指与所述第一站点之间建立有隧道的站点,且所述多个站点包括所述第二站点;
所述确定子模块主要用于:
根据所述目标路由表项包括的站点标识,确定目标隧道表的标识,所述目标隧道表是指所述多个隧道表中与所述第二站点对应的隧道表;
根据所述目标隧道表的标识,从所述多个隧道表中确定所述目标隧道表,将所述目标隧道表中存储的隧道表项确定为所述一个或多个隧道表项。
21.如权利要求18-20任一所述的装置,其特征在于,所述一个或多个隧道表项中的每个隧道表项还包括一个联通标识,所述联通标识用于指示对应的隧道是否联通;
所述选择子模块主要用于:
从所述一个或多个隧道表项中筛选出联通标识有效的隧道表项;
从筛选出的隧道表项中选择一个隧道表项作为所述目标隧道表项。
22.一种路由表项的生成装置,应用于第一网络设备,其特征在于,所述第一网络设备部署在第一站点内;所述装置包括:
第一获取模块,用于获取站点前缀和站点标识,所述站点标识用于标识第二站点,第二网络设备的网络地址匹配所述站点前缀,所述站点前缀是指站点对应的网段,所述第一网络设备与所述第二网络设备之间通过所述第一站点与所述第二站点之间建立的隧道传输数据报文;
第一添加模块,用于在所述第一网络设备的路由表中添加第一路由表项,所述第一路由表项包括所述站点前缀和所述站点标识,所述第一路由表项用于向所述第二网络设备发送数据报文。
23.如权利要求22所述的装置,其特征在于,所述第二网络设备部署在所述第二站点内,所述第一网络设备与所述第二网络设备接入相同的一种或多个传输网络。
24.如权利要求23所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述第二网络设备的一个或多个传输网络端口TNP信息,所述一个或多个TNP信息与所述一种或多种传输网络一一对应;
第一建立模块,用于根据所述一个或多个TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
25.如权利要求23所述的装置,其特征在于,所述第一站点内还部署有一个或多个第三网络设备,所述一个或多个第三网络设备中的每个第三网络设备均与所述第二站点内的网络设备建立有隧道,且所述一个或多个第三网络设备中的每个第三网络设备还与所述第一网络设备建立有物理链路;
所述装置还包括:
第三获取模块,用于通过与每个第三网络设备之间的物理链路,从相应第三网络设备中获取相应第三网络设备与所述第二站点内的网络设备之间的隧道对应的隧道表项,将获取的隧道表项进行存储。
26.如权利要求22所述的装置,其特征在于,所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备与所述第四网络设备接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
27.如权利要求26所述的装置,其特征在于,所述装置还包括:
第四获取模块,用于获取所述第四网络设备的TNP信息,所述第四网络设备的TNP信息与所述第一传输网络对应;
第二建立模块,用于根据所述第四网络设备的TNP信息,建立所述第一网络设备与所述第四网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
28.如权利要求22所述的装置,其特征在于,所述第二网络设备部署在第三站点内,第四网络设备部署在所述第二站点内,所述第一网络设备、所述第二网络设备和所述第四网络设备均接入第一传输网络,所述第二网络设备与所述第四网络设备接入第二传输网络且建立有隧道。
29.如权利要求28所述的装置,其特征在于,所述装置还包括:
第五获取模块,用于获取所述第三站点的站点标识;
第二添加模块,用于在所述第一网络设备的路由表中添加第二路由表项,所述第二路由表项包括所述站点前缀和所述第三站点的站点标识,所述第二路由表项用于向所述第二网络设备发送数据报文。
30.如权利要求28所述的装置,其特征在于,所述装置还包括:
第六获取模块,用于获取所述第二网络设备的TNP信息和所述第四网络设备的TNP信息;
第三建立模块,用于根据所述第二网络设备的TNP信息和所述第四网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道,以及所述第一网络设备与所述第四网络设备之间的隧道;
存储模块,用于将建立的每条隧道的隧道标识与对应的隧道属性信息作为一个隧道表项进行存储。
31.如权利要求30所述的装置,其特征在于,所述第三建立模块主要用于:
获取所述第二站点的优先级和所述第三站点的优先级;
如果所述第三站点的优先级高于所述第二站点的优先级,则根据所述第二网络设备的TNP信息,建立所述第一网络设备与所述第二网络设备之间的隧道;
对所述第一网络设备与所述第二网络设备之间的隧道的联通性进行探测;
如果探测失败,则根据所述第四网络设备的TNP,建立所述第一网络设备与所述第四网络设备之间的隧道。
32.如权利要求24、27或30所述的装置,其特征在于,所述存储模块主要用于:
对建立的每条隧道的联通性进行探测;
将联通性探测成功的每条隧道的隧道标识、对应的隧道属性信息、以及置为有效的联通标识作为一个隧道表项进行存储;和/或,将联通性探测失败的每条隧道的隧道标识、对应的隧道属性信息、以及置为无效的联通标识作为一个隧道表项进行存储。
33.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法的步骤,或者实现权利要求6-16所述的方法的步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010019657.8A CN113098770B (zh) | 2020-01-08 | 2020-01-08 | 报文发送方法、路由表项的生成方法、装置及存储介质 |
EP20912260.5A EP4068704A4 (en) | 2020-01-08 | 2020-10-12 | PACKET TRANSMISSION METHOD, ROUTING TABLE ENTRY GENERATION METHOD, DEVICE AND STORAGE MEDIA |
JP2022542047A JP7469479B2 (ja) | 2020-01-08 | 2020-10-12 | パケット送信方法、ルーティング・エントリ生成方法、装置及び記憶媒体 |
PCT/CN2020/120460 WO2021139289A1 (zh) | 2020-01-08 | 2020-10-12 | 报文发送方法、路由表项的生成方法、装置及存储介质 |
US17/859,335 US20220345404A1 (en) | 2020-01-08 | 2022-07-07 | Packet sending method, routing entry generation method, apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010019657.8A CN113098770B (zh) | 2020-01-08 | 2020-01-08 | 报文发送方法、路由表项的生成方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098770A CN113098770A (zh) | 2021-07-09 |
CN113098770B true CN113098770B (zh) | 2024-04-16 |
Family
ID=76663432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010019657.8A Active CN113098770B (zh) | 2020-01-08 | 2020-01-08 | 报文发送方法、路由表项的生成方法、装置及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220345404A1 (zh) |
EP (1) | EP4068704A4 (zh) |
JP (1) | JP7469479B2 (zh) |
CN (1) | CN113098770B (zh) |
WO (1) | WO2021139289A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794644B (zh) * | 2021-10-12 | 2023-05-26 | 新华三信息安全技术有限公司 | 一种路由表项删除方法及装置 |
CN116669132A (zh) * | 2022-02-18 | 2023-08-29 | 华为技术有限公司 | 数据传输的方法、网络设备和用户设备 |
CN115426314B (zh) * | 2022-08-08 | 2024-05-14 | 中国电信股份有限公司 | 一种通信方法、装置、网络设备及处理器可读存储介质 |
JP7362974B1 (ja) * | 2023-03-03 | 2023-10-17 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信制御システム |
JP7362973B1 (ja) | 2023-03-03 | 2023-10-17 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 情報提供システム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114971A (zh) * | 2006-07-27 | 2008-01-30 | 华为技术有限公司 | 基于IPv6地址结构实现虚拟专用网的方法 |
CN102355402A (zh) * | 2011-08-03 | 2012-02-15 | 华为技术有限公司 | 一种基于vpn路由建立lsp的方法、***和路由器 |
KR20140122889A (ko) * | 2013-04-11 | 2014-10-21 | 한국해양과학기술원 | 선박 애드 혹 네트워크(sanet)를 위한 네트워크 계층에서의 패킷 처리 방법 |
CN108737262A (zh) * | 2013-07-05 | 2018-11-02 | 柏思科技有限公司 | 传输数据包的方法以及通信路由器 |
CN110661711A (zh) * | 2018-06-29 | 2020-01-07 | 华为技术有限公司 | 生成标签转发表的方法、报文发送方法、装置及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002335274A (ja) | 2001-03-06 | 2002-11-22 | Fujitsu Ltd | パケット中継装置およびパケット中継方法 |
US7779461B1 (en) * | 2004-11-16 | 2010-08-17 | Juniper Networks, Inc. | Point-to-multi-point/non-broadcasting multi-access VPN tunnels |
WO2006081206A1 (en) * | 2005-01-25 | 2006-08-03 | Sipco, Llc | Wireless network protocol systems and methods |
CN101668324A (zh) | 2008-09-04 | 2010-03-10 | 华为技术有限公司 | 中继网络的路由方法、装置及*** |
US9680750B2 (en) * | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
JP5288506B2 (ja) | 2011-06-29 | 2013-09-11 | Necインフロンティア株式会社 | ネットワーク機器、ネットワーク及びそれらに用いる経路情報設定方法 |
JP2017069657A (ja) | 2015-09-29 | 2017-04-06 | アラクサラネットワークス株式会社 | 通信システムまたは通信装置 |
CN112383478B (zh) * | 2017-04-10 | 2022-05-24 | 华为技术有限公司 | 报文广播方法及设备 |
CN110166361B (zh) * | 2019-05-30 | 2021-07-23 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN110461018B (zh) * | 2019-08-16 | 2021-03-19 | 东北大学秦皇岛分校 | 基于可计算ap的机会网络路由转发方法 |
-
2020
- 2020-01-08 CN CN202010019657.8A patent/CN113098770B/zh active Active
- 2020-10-12 JP JP2022542047A patent/JP7469479B2/ja active Active
- 2020-10-12 EP EP20912260.5A patent/EP4068704A4/en active Pending
- 2020-10-12 WO PCT/CN2020/120460 patent/WO2021139289A1/zh unknown
-
2022
- 2022-07-07 US US17/859,335 patent/US20220345404A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114971A (zh) * | 2006-07-27 | 2008-01-30 | 华为技术有限公司 | 基于IPv6地址结构实现虚拟专用网的方法 |
CN102355402A (zh) * | 2011-08-03 | 2012-02-15 | 华为技术有限公司 | 一种基于vpn路由建立lsp的方法、***和路由器 |
KR20140122889A (ko) * | 2013-04-11 | 2014-10-21 | 한국해양과학기술원 | 선박 애드 혹 네트워크(sanet)를 위한 네트워크 계층에서의 패킷 처리 방법 |
CN108737262A (zh) * | 2013-07-05 | 2018-11-02 | 柏思科技有限公司 | 传输数据包的方法以及通信路由器 |
CN110661711A (zh) * | 2018-06-29 | 2020-01-07 | 华为技术有限公司 | 生成标签转发表的方法、报文发送方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
基于NAI和可变传输层标识的移动IPv6方案;张宇,侯自强;计算机工程与应用(第27期) * |
Also Published As
Publication number | Publication date |
---|---|
EP4068704A1 (en) | 2022-10-05 |
CN113098770A (zh) | 2021-07-09 |
EP4068704A4 (en) | 2023-02-08 |
WO2021139289A1 (zh) | 2021-07-15 |
JP7469479B2 (ja) | 2024-04-16 |
JP2023509532A (ja) | 2023-03-08 |
US20220345404A1 (en) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098770B (zh) | 报文发送方法、路由表项的生成方法、装置及存储介质 | |
CN107078963B (zh) | 虚拟可扩展局域网中的路由追踪 | |
WO2016101646A1 (zh) | 以太虚拟网络的接入方法及装置 | |
US10461958B2 (en) | Packet transmission method and apparatus | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
CN112583690B (zh) | 隧道配置方法、装置、***、设备及存储介质 | |
US20220345400A1 (en) | Packet sending method and apparatus, and storage medium | |
CN111614505B (zh) | 报文处理的方法和网关设备 | |
CN113973082A (zh) | 一种报文处理方法及网络设备 | |
US8811158B1 (en) | Fast reroute for common network routes | |
CN113872868A (zh) | 通知消息传输方法、装置及***、存储介质 | |
WO2022007702A1 (zh) | 一种报文处理方法及网络设备 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 | |
CN114615179A (zh) | 报文传输方法、设备及*** | |
CN112583736A (zh) | 一种信令报文分流方法、装置、设备及介质 | |
CN113810274A (zh) | 一种路由处理方法及相关设备 | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
CN108768845B (zh) | 一种多归属主机路由同步方法及装置 | |
CN113872843B (zh) | 一种路由生成方法、路由处理方法及装置 | |
CN116192721A (zh) | 路径感知方法、装置及*** | |
CN114629834B (zh) | 通信方法及装置 | |
CN116319514B (zh) | 一种数据处理方法和相关装置 | |
WO2023016110A1 (zh) | 传输网络层可达信息的方法、装置、设备、***及介质 | |
CN114257473B (zh) | 资源池中多个透明桥的实现方法、装置、设备和介质 | |
CN111565141B (zh) | 数据传输方法、第一pe和第二pe |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |