CN113395206A - 路由确定方法、装置和网络设备 - Google Patents
路由确定方法、装置和网络设备 Download PDFInfo
- Publication number
- CN113395206A CN113395206A CN202010177892.8A CN202010177892A CN113395206A CN 113395206 A CN113395206 A CN 113395206A CN 202010177892 A CN202010177892 A CN 202010177892A CN 113395206 A CN113395206 A CN 113395206A
- Authority
- CN
- China
- Prior art keywords
- node
- forwarding node
- indication information
- information
- forwarding
- 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.)
- Granted
Links
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/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/20—Hop count for routing purposes, e.g. TTL
-
- 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
-
- 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/12—Shortest path evaluation
-
- 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]
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- 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/34—Source routing
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
技术领域
本申请涉及通信技术领域,特别涉及一种路由确定方法、装置和网络设备。
背景技术
数据传输系统通常包括源节点、目的节点以及多个转发节点,且源节点可以通过该多个转发节点向目的节点传输报文。
为了实现报文由源节点向目的节点的传输,源节点以及作为该源节点的下一跳的转发节点需要学习相应的路由。目前,对于跨域传输报文的情形,通常各个转发节点之间建立有连接,每个转发节点能够通过建立的连接传输诸如边界网关协议标签单播(BorderGateway Protocol Labeled Unicast)报文,以建立一条报文传输路径或隧道。或者,转发节点通过从控制器接收的控制报文以确定至少一条传输路径或隧道。源节点连接的转发节点在转发源节点发往目的节点的报文时,需要根据目的节点的信息确定一条传输路径,或者根据学习到的目的节点的路由信息中携带的下一跳标识,在确定出的至少一条隧道中筛选出到达该下一跳标识所指示的转发节点的隧道。之后,该转发节点需要基于该传输路径或隧道向该转发节点转发报文,以便于该转发节点在接收到报文后将报文发送至目的节点。
但是,转发节点在转发报文前需要通过获取或传输专门的控制报文等以确定报文的转发路径,并由于控制报文的数量较多而使网络的整体负载较高。
发明内容
本申请提供了一种路由确定方法、装置和网络设备,可以解决转发节点在转发报文前确定隧道的过程较为繁琐的问题,所述技术方案如下:
第一方面,提供了一种路由确定方法,所述方法包括:第一转发节点先接收第二转发节点发送的路由信息,再根据所述路由信息向所述目的节点发送报文。其中,该路由信息包括目的节点的节点标识,以及至少一个指示信息,所述至少一个指示信息分别与至少一个第三转发节点一一对应,第二转发节点属于该至少一个第三转发节点;第一转发节点发送的报文包括该至少一个指示信息,所述至少一个指示信息用于指示所述报文沿所述至少一个第三转发节点转发。
由于在发布的对应于目的节点的路由中携带转发节点的指示信息,使得源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,由于转发节点的指示信息由转发节点确定并在发布路由时添加,避免了与源节点连接的转发节点通过较多的传输控制报文确定传输路径,因此减小了网络负载。
可选地,所述第一转发节点根据所述路由信息向所述目的节点发送报文,包括:所述第一转发节点根据所述路由信息,建立所述目的节点的节点标识与第一隧道信息的对应关系,之后再根据所述第一隧道信息向所述目的节点发送所述报文。其中,第一隧道信息包括所述至少一个指示信息。在其他情形中,第一转发节点也可以不根据路由信息生成隧道信息,而是直接根据接收的路由信息建立本地转发表项,这样在第一转发节点根据路由信息向目的节点发送报文时,由第一转发节点直接根据该路由信息中的至少一个指示信息,向目的节点发送报文。
可选地,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与所述第一转发节点之间的路由距离按序排布。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。通过段标识的引入,可以清楚地指示各相应转发节点,并且提高了本方法的协议兼容性。在其他可能的情形中,也可以结合具体网络应用场景,选择其他类型的信息指示或标识转发节点。
可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。转发节点的endpoint能够标识SID对应的转发节点,可以用于快速确定SID对应的转发节点,以便于用于校验、快速定位和节点维护。因此,在转发节点的指示信息包括endpoint时,基于转发节点的指示信息能够快速的确定相应的转发节点,并方便转发节点的维护。endpoint可以是环回地址等信息。
可选地,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述路由信息还包括下一跳标识,所述下一跳标识包括所述第四转发节点的节点标识。由于该路由信息中下一跳标识为第四转发节点的节点标识,因此第一转发节点根据该路由信息向目的节点转发报文时,能够将该报文先转发至第四转发节点,以便于第四转发节点将该报文转发给目的节点。该路由信息中包括的下一跳标识能够用于报文转发或隧道迭代等。
可选地,所述第一转发节点根据所述第一隧道信息向所述目的节点发送所述报文,包括:所述第一转发节点首先根据所述目的节点的节点标识,获取所述目的节点的节点标识对应的多个隧道信息,所述多个隧道信息对应多个隧道,所述多个隧道信息包括第一隧道信息;之后,所述第一转发节点可以根据隧道约束条件(比如传输时延条件、带宽条件等),从所述多个隧道信息中确定所述第一隧道信息,并根据确定的所述第一隧道信息向所述目的节点发送所述报文。当可选隧道包括多条时,结合隧道约束条件筛选可用隧道,能够提升网络传输的健壮性和易用性。
可选地,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点。第一转发节点接收到的路由信息中的至少一个指示信息包括第一指示信息,所述第一指示信息用于指示所述第四转发节点,所述第一指示信息的段标识类型为绑定段标识。在第一指示信息的段标识类型为绑定段标识时,说明该第四转发节点在转发路由信息的过程中,对路由信息中的下一跳标识进行了更改。当然,在第四转发节点对下一跳标识进行更改的情况下,该第一指示信息的段标识类型也可以不是绑定段标识,而是其他适合的标识类型。在该可选方案中,允许传输路径上的一个或多个转发节点修改下一跳信息,从而提高方案使用的灵活性。在诸如传输路径上包括的转发节点较多的场景下,通过采用修改下一跳的方案,能够适当减少网络中传输的路由信息的长度,从而节约网络传输资源。
第二方面,提供了一种路由确定方法,所述方法包括:第二转发节点在获取到路由信息之后,在所述路由信息中添加第一指示信息以获得更新的路由信息,并向第一转发节点发送所述更新的路由信息。其中,所述路由信息包括目的节点的节点标识以及至少一个指示信息,所述至少一个指示信息用于指示至少一个第三转发节点,所述第一指示信息用于指示所述第二转发节点。其中,第二转发节点获取路由信息的方式可以是本地获取(如发布的路由中包括的目的节点的地址为本地存储的环回地址的情形),也可以从其他网络设备接收。
本申请实施例提供的路由确定方法中,由于第二转发节点在路由信息中添加了第一指示信息,并将更新的路由信息发布出去。如此在源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,避免了源节点连接的转发节点通过频繁的控制报文传输方式确定传输路径,因此,减少了网络中传输的控制报文的数量,减小了网络负载。
可选地,所述第二转发节点获取的所述路由信息中还包括下一跳标识。
一方面,第二转发节点可以不对获取到的路由信息中的下一跳标识进行更改。此时,所述更新的路由信息包括所述第一指示信息和所述至少一个指示信息。
另一方面,第二转发节点也可以对获取到的路由信息中的下一跳标识进行更改。此时,所述第二转发节点在所述路由信息中添加第一指示信息以获得更新的路由信息,包括:所述第二转发节点将所述下一跳标识更新为所述第二转发节点的节点标识,并将所述至少一个指示信息替换为所述第一指示信息,以在所述路由信息中添加所述第一指示信息,以得到更新的路由信息;该更新的路由信息包括所述第二转发节点的节点标识和所述第一指示信息。此种情形下,第二转发节点可以保存所述第一指示信息(即第二转发节点的节点标识)和所述至少一个指示信息之间的对应关系,以便用于后续报文的顺利转发。
可选地,在第二转发节点不对获取到的路由信息中的下一跳标识进行更改的情况下,在所述第二转发节点发送所述更新的路由信息之后,所述方法还包括:所述第二转发节点接收向所述目的节点发送的报文,并向第四转发节点发送更新的报文。其中,第二转发节点接收到的所述报文包括所述第一指示信息和所述至少一个指示信息;所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。可见,在第二转发节点并未对接收到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会将报文中该第二转发节点的指示信息删除或替换,以得到更新后的报文。该删除或替换方式例如可以是指示信息出栈弹出、或更新包括指示信息的报文头等具体操作形式。
可选地,在第二转发节点对获取到的路由信息中的下一跳标识进行更改的情况下,在所述第二转发节点发送所述更新的路由信息之后,所述方法还包括:所述第二转发节点接收向所述目的节点发送的报文,并向第四转发节点发送更新的报文。其中,第二转发节点接收到的报文包括所述第一指示信息;所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。可见,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会对报文中的指示信息进行替换,即根据此前保存的所述第一指示信息和所述至少一个指示信息之间的对应关系,将所述第一指示信息替换为所述至少一个指示信息,以实现报文的后续顺利转发。
可选地,所述第二转发节点向第四转发节点发送更新的报文,包括:所述第二转发节点去除所述报文中的所述第一指示信息,并基于所述第一指示信息和所述至少一个指示信息之间的对应关系,在所述报文中添加所述至少一个指示信息,之后再向所述第四转发节点发送所述更新的报文。
可选地,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布,所述第一转发节点为向所述目的节点转发报文的第一个转发节点。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。
可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。转发节点的endpoint能够用于快速确定SID对应的转发节点,也便于转发节点的后期维护。endpoint可以是环回地址等信息。
可选地,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,所述第一指示信息包括所述第二转发节点的绑定段标识。在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,该第一指示信息也可以不包括第二转发节点的绑定段标识。
第三方面,提供了一种路由确定方法,所述方法包括:转发节点在获取到目的节点的第一路由信息后,根据所述第一路由信息生成第二路由信息,并发送所述第二路由信息。其中,所述第二路由信息包括所述目的节点的节点标识、下一跳标识以及指示信息,所述指示信息用于指示所述转发节点,所述下一跳标识为所述转发节点的节点标识。
本申请实施例提供的路由确定方法中,由于转发节点生成的第二路由信息包括转发节点的指示信息。在源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,由于用于确定传输路径的指示信息由各转发节点在发布的路由中直接添加,避免了源节点连接的转发节点通过接收控制报文确定传输路径,因此减少了网络中传输的控制报文,减小了网络负载。
可选地,所述转发节点的指示信息包括:所述转发节点的段标识。可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint),本申请对此不作限定。
可选地,所述转发节点发送所述第二路由信息后,所述方法还包括:所述转发节点接收报文,并根据所述目的节点的节点标识,将所述报文向所述目的节点转发或存储。其中,转发节点接收到的报文包括所述目的节点的节点标识和所述指示信息。
第四方面,提供了一种路由确定装置,所述路由确定装置包括:接收模块,用于接收第二转发节点发送的路由信息,所述路由信息包括目的节点的节点标识,以及至少一个指示信息,所述至少一个指示信息分别与至少一个第三转发节点一一对应,所述第二转发节点属于所述至少一个第三转发节点;发送模块,用于根据所述路由信息向所述目的节点发送报文,所述报文包括所述至少一个指示信息,所述至少一个指示信息用于指示所述报文沿所述至少一个第三转发节点转发。
由于在目的节点的路由信息中携带转发节点的指示信息,使得源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,由于指示信息均由各转发节点自行添加,避免了源节点连接的转发节点通过接收控制报文确定传输路径,因此,减少了网络中传输的控制报文的数量,减小了网络负载。
可选地,所述发送模块用于:根据所述路由信息,建立所述目的节点的节点标识与第一隧道信息的对应关系,所述第一隧道信息包括所述至少一个指示信息;根据所述第一隧道信息向所述目的节点发送所述报文。当然,第一转发节点也可以不根据路由信息建立该对应关系,相应地也并未得到该第一隧道信息,在第一转发节点根据路由信息向目的节点发送报文时,第一转发节点可以直接根据该路由信息中的至少一个指示信息,向目的节点发送报文。本申请对此不作限定。
可选地,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。
可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。
可选地,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述路由信息还包括下一跳标识,所述下一跳标识包括所述第四转发节点的节点标识。由于该路由信息中下一跳标识为第四转发节点的节点标识,因此第一转发节点根据该路由信息向目的节点转发报文时,能够将该报文先转发至第四转发节点,以便于第四转发节点将该报文转发给目的节点。
可选地,所述发送模块用于:根据所述目的节点的节点标识,获取所述目的节点的节点标识对应的多个隧道信息,所述多个隧道信息对应多个隧道,所述多个隧道信息包括第一隧道信息;根据隧道约束条件(比如传输时延条件、带宽条件等),从所述多个隧道信息中确定所述第一隧道信息;根据确定的所述第一隧道信息向所述目的节点发送所述报文。
可选地,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述至少一个指示信息包括第一指示信息,所述第一指示信息用于指示所述第四转发节点,所述第一指示信息的段标识类型为绑定段标识。在第一指示信息的段标识类型为绑定段标识时,说明该第四转发节点在转发路由信息的过程中,对路由信息中的下一跳标识进行了更改。在第四转发节点对下一跳标识进行更改的情况下,该第一指示信息的段标识类型也可以不是绑定段标识。
第五方面,提供了一种路由确定装置,所述路由确定装置包括:第一获取模块,用于获取路由信息,所述路由信息包括目的节点的节点标识以及至少一个指示信息,所述至少一个指示信息用于指示至少一个第三转发节点;处理模块,用于在所述路由信息中添加第一指示信息以获得更新的路由信息,所述第一指示信息用于指示第二转发节点;第一发送模块,用于向第一转发节点发送所述更新的路由信息。
可选地,所述第一获取模块获取的所述路由信息中还包括下一跳标识。
一方面,第二转发节点可以不对获取到的路由信息中的下一跳标识进行更改。此时,所述更新的路由信息包括所述第一指示信息和所述至少一个指示信息。
另一方面,第二转发节点也可以对获取到的路由信息中的下一跳标识进行更改。此时,所述处理模块用于:将所述下一跳标识更新为所述第二转发节点的节点标识;将所述至少一个指示信息替换为所述第一指示信息,以在所述路由信息中添加所述第一指示信息;所述更新的路由信息包括所述第二转发节点的节点标识和所述第一指示信息。
可选地,在第二转发节点不对获取到的路由信息中的下一跳标识进行更改的情况下,所述路由确定装置还包括:第二接收模块,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息和所述至少一个指示信息;第二发送模块,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。可见,在第二转发节点并未对接收到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会将报文中该第二转发节点的指示信息删除或替换,以得到更新后的报文。
可选地,在第二转发节点对获取到的路由信息中的下一跳标识进行更改的情况下,所述路由确定装置还包括:第三接收模块,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息;第三发送模块,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。可见,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会对报文中的指示信息进行替换。
可选地,所述第三发送模块用于:去除所述报文中的所述第一指示信息,基于所述第一指示信息和所述至少一个指示信息之间的对应关系,在所述报文中添加所述至少一个指示信息,并向所述第四转发节点发送所述更新的报文。
可选地,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布,所述第一转发节点为向所述目的节点转发报文的第一个转发节点。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。
可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。可选地,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,所述第一指示信息包括所述第二转发节点的绑定段标识。当然,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,该第一指示信息也可以不包括第二转发节点的绑定段标识,本申请对此不作限定。
第六方面,提供了一种路由确定装置,所述路由确定装置包括:第一获取模块,用于获取目的节点的第一路由信息;第一处理模块,用于根据所述第一路由信息生成第二路由信息,所述第二路由信息包括所述目的节点的节点标识、下一跳标识以及指示信息,所述指示信息用于指示转发节点,所述下一跳标识为所述转发节点的节点标识;第一发送模块,用于发送所述第二路由信息。
可选地,所述转发节点的指示信息包括:所述转发节点的段标识。可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。
可选地,所述路由确定装置还包括:第二接收模块,用于接收报文,所述报文包括所述目的节点的节点标识和所述指示信息;第二处理模块,用于根据所述目的节点的节点标识,将所述报文向所述目的节点转发或存储。
第七方面,提供了一种网络设备,所述网络设备包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于调用所述存储器中存储的程序,以使得所述网络设备执行如第一方面任一设计所述的路由确定方法。
第八方面,提供了一种网络设备,所述网络设备包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于调用所述存储器中存储的程序,以使得所述网络设备执行如第二方面任一设计所述的路由确定方法。
第九方面,提供了一种网络设备,所述网络设备包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于调用所述存储器中存储的程序,以使得所述网络设备执行如第三方面任一设计所述的路由确定方法。
第十方面,提供了一种网络设备,所述网络设备包括处理器,该处理器用于与存储器耦合,以调用该存储器中存储的计算机程序,用于执行如第一方面任一设计所述的路由确定方法。
第十一方面,提供了一种网络设备,所述网络设备包括处理器,该处理器用于与存储器耦合,以调用该存储器中存储的计算机程序,用于执行如第二方面任一设计所述的路由确定方法。
第十二方面,提供了一种网络设备,所述网络设备包括处理器,该处理器用于与存储器耦合,以调用该存储器中存储的计算机程序,用于执行如第三方面任一设计所述的路由确定方法。
第十三方面,提供了一种计算机存储介质,所述存储介质内存储有计算机程序,所述计算机程序用于执行如第一方面任一设计所述的路由确定方法。
第十四方面,提供了一种计算机存储介质,所述存储介质内存储有计算机程序,所述计算机程序用于执行如第二方面任一设计所述的路由确定方法。
第十五方面,提供了一种计算机存储介质,所述存储介质内存储有计算机程序,所述计算机程序用于执行如第三方面任一设计所述的路由确定方法。
第十六方面,提供了一种包含指令的计算机程序产品,当计算机程序产品在网络设备上运行时,使得网络设备执行如第一方面任一设计所述的路由确定方法。
第十七方面,提供了一种包含指令的计算机程序产品,当计算机程序产品在网络设备上运行时,使得网络设备执行如第二方面任一设计所述的路由确定方法。
第十八方面,提供了一种包含指令的计算机程序产品,当计算机程序产品在网络设备上运行时,使得网络设备执行如第三方面任一设计所述的路由确定方法。
第七方面至第十八方面中任一种设计方式所带来的技术效果可参见第一方面至第三方面中相应设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种路由确定方法的应用场景示意图;
图2为本申请实施例提供的一种路由确定方法的流程图;
图3为本申请实施例提供的一种路由消息的传输示意图;
图4为本申请实施例提供的一种报文的传输示意图;
图5为本申请实施例提供的另一种路由确定方法的流程图;
图6为本申请实施例提供的另一种路由消息的传输示意图;
图7为本申请实施例提供的另一种报文的传输示意图;
图8为本申请实施例提供的又一种路由消息的传输示意图;
图9为本申请实施例提供的又一种报文的传输示意图;
图10为本申请实施例提供的一种用于第一转发节点的路由确定方法的流程图;
图11为本申请实施例提供的一种用于第二转发节点的路由确定方法的流程图;
图12为本申请实施例提供的另一种用于第二转发节点的路由确定方法的流程图;
图13为本申请实施例提供的另一种用于第二转发节点的路由确定方法的流程图;
图14为本申请实施例提供的另一种用于第二转发节点的路由确定方法的流程图;
图15为本申请实施例提供的另一种路由确定方法的应用场景示意图;
图16为本申请实施例提供的一种路由确定装置的框图;
图17为本申请实施例提供的一种网络设备的结构示意图;
图18为本申请实施例提供的另一种网络设备的结构示意图;
图19为本申请实施例提供的另一种路由确定装置的框图;
图20为本申请实施例提供的另一种路由确定装置的框图;
图21为本申请实施例提供的另一种路由确定装置的框图;
图22为本申请实施例提供的另一种网络设备的结构示意图;
图23为本申请实施例提供的又一种网络设备的结构示意图;
图24为本申请实施例提供的另一种路由确定装置的框图;
图25为本申请实施例提供的另一种路由确定装置的框图;
图26为本申请实施例提供的又一种网络设备的结构示意图;
图27为本申请实施例提供的又一种网络设备的结构示意图。
具体实施方式
为使本申请的原理、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请实施例提供的一种路由确定方法的应用场景示意图。该应用场景包括多个节点,该多个节点中存在源节点、目的节点和多个转发节点。源节点和目的节点分别可以与上述多个转发节点中的一些转发节点连接,且该多个转发节点之间也存在一定的连接关系,由此可以组成一条从源节点到目的节点的报文传输路径。
示例地,图1中以该源节点为用户侧边缘(Customer Edge,CE)节点CE1,目的节点为CE2,且该多个转发节点包括:运营商边缘(Provider Edge,PE)节点PE1、PE2、网关(Gateway,GW)节点GW1和GW2为例。图1示出了一种跨域传输报文的网络应用场景,其中CE1与PE1连接,CE2与PE2连接,PE1、GW1、GW2和PE2依次连接。
上述多个转发节点可以位于一个或多个网域中,图1中以PE1和GW2位于网域1,GW2和PE2位于网域2为例。
需要说明的是,本申请实施例中的节点可以是独立的网络设备,也可以是网络设备中具有转发功能的模块(此时,该网络设备可以包括一个或多个具有转发功能的节点)。该网络设备可以是交换机或路由器等设备。
源节点可以通过该多个转发节点向目的节点转发报文。转发节点在转发报文之前,需要基于彼此之间已建立的连接关系确定至少一条隧道。与源节点(如CE1)连接的转发节点(如PE1)在转发源节点发往目的节点的报文时,需要根据目的节点(如CE2)发布的路由信息中的下一跳标识,从至少一条隧道中确定出到达该下一跳标识所指示的转发节点(如PE2)的隧道。之后,与源节点连接的转发节点需要基于该隧道向作为下一跳的转发节点转发报文,以便于该作为下一跳的转发节点在接收到报文后将报文发送至目的节点。
以图1示出的PE1和PE2之间建立隧道为例,在PE1和PE2之间建立隧道的传统方式例如可以是基于边界网关协议标签单播(Border Gateway Protocol Labeled Unicast,BGP-LU)协议建立。在这种方式下,PE2将CE2的路由向PE1发布的过程中,将PE2设置为CE2路由的下一跳,而GW1、GW2在接收到该路由时均不修改下一跳,这样,PE1在收到CE2的路由后,根据该路由中下一跳的信息为PE2,查找一条目的地址为PE2的隧道,由此建立PE1和PE2之间的隧道。或者,例如还可以是通过网络控制器的全局计算,为PE1确定一条目的地址为PE1的隧道并下发至PE1。
但是,转发节点在转发报文前采用上述传统方式确定隧道的过程较为繁琐,且确定隧道需要传输的控制协议报文较多,使网络的整体负载较高。
本申请实施例提供了一种路由确定方法,该路由确定方法中通过在路由消息中携带有至少一个转发节点的指示信息,能够快速建立一条转发隧道,并且由于避免了通过传输控制报文以确定隧道的方式,降低了隧道建立的实现复杂度,减轻了整网资源的负载。
示例地,图2为本申请实施例提供的一种路由确定方法的流程图,并且,该路由确定方法以图1所示的应用场景为例。如图2所示,该路由确定方法包括:
S201、CE2向PE2发送第一路由信息。
该第一路由信息是CE2发布的私网路由信息,以使得接收该路由信息的网络设备学习到CE2的路由。该私网路由信息中携带目的节点的节点标识,其他网络设备学习到该路由后,能够根据该路由向该目的节点发送报文。目的节点的节点标识可以携带于路由的源地址字段,或者其他指定字段。所述目的节点的节点标识例如可以是CE2设置的路由前缀。比如,CE2连接有多个用户主机,该第一路由信息中携带的路由前缀可以是覆盖该多个用户主机中的部分或全部的网段地址。所述目的节点的节点标识还可以是对应于某个具体网络设备的互联网协议(Internet Protocol,IP)地址等,所述某个具体网络设备例如可以是(如CE2、与CE2连接的用户设备、或与CE2连接的其他路由器等。上述S201以CE2向PE2发布第一路由信息为例,在此种情形中,CE2属于PE2管理的虚拟私有网络(Virtual PrivateNetwork,VPN)实例下的一个节点。在其他可能的情形中,PE2获取的第一路由信息也可以不通过CE2,而是PE2根据本地配置的一个VPN实例下的环回(loopback)地址而发布的路由信息等,此时该环回地址即为目的节点的节点标识。本申请实施例对获取第一路由信息的方式不做唯一限定。
S202、PE2根据第一路由信息生成第二路由信息,第二路由信息包括PE2的指示信息。
PE2在获取第一路由信息之后,可以根据该第一路由信息生成第二路由信息。该获取第一路由信息可以是从其他网络设备获取(如CE2),也可以是从本地获取(如本地存储的环回地址),或者是通过手动配置后获取。该第二路由信息在生成后例如可以通过基于边界网关协议(Border Gateway Protocol)的互联网协议第4版(Internet Protocol version4,IPv4)进行单播发布,或者也可以通过虚拟专用网络第4版(Virtual Private Networkversion 4,VPNv4),或以太网虚拟专用网(Ethernet Virtual Private Network,EVPN)地址族协议发布等。
这里以PE2接收CE2发布的第一路由信息,并根据该第一路由信息生成第二路由信息为例进行说明。如图3所示,此时PE2生成的第二路由信息中包括目的节点的节点标识、下一跳标识以及PE2的指示信息。具体的,目的节点的节点标识具体可以是CE2发布的路由中的前缀地址(图3中以CE2简写表示),下一跳标识为PE2的节点标识信息(如IP地址和相应接口信息,图3中以PE2表示)。这样,其他网络设备在学习到该条包括第二路由信息的路由后,可以通过PE2将报文发往CE2,之后再由CE2根据前缀地址将报文发送至其连接的一个或多个用户主机。该第二路由信息中还包括PE2添加的、用于指示PE2的指示信息。该指示信息例如可以包括PE2的段标识(Segment Identifier,SID),图3中以SID-PE2表示。
本申请实施例中的SID可以是任一种通信技术下的SID,比如多协议标签交换(Multi-Protocol Label Switching,MPLS)标签技术,或基于互联网协议第6版(InternetProtocol Version 6,IPv6)的段路由(Segment Routing,SR)技术(也称SRv6技术)。
可选地,转发节点的指示信息还可以包括转发节点的端点(endpoint)信息,图3中以转发节点的指示信息仅包括该转发节点的SID为例。
转发节点的endpoint能够标识SID对应的转发节点,可以用于快速确定SID对应的转发节点,以用于校验、快速定位和节点维护等操作。在转发节点的指示信息包括endpoint时,基于转发节点的指示信息能够快速的确定相应地转发节点。Endpoint信息具体可以是相应转发节点上的环回地址等。
该第二路由信息还可以包括除目的节点的节点标识、下一跳标识以及PE2的指示信息之外的其他信息,本申请实施例对此不作特别限定。比如,该第二路由信息还可以包括CE2所在的私网的标签,图3中以该私网的标签为L1为例。
作为该第二路由信息携带在PE2发布的路由中的一种具体示例,目的节点的节点标识可以位于路由的前缀属性部分(在图3中表示为前缀),下一跳标识可以位于下一跳属性部分(在图3中表示为下一跳),CE2所在的私网的标签可以位于私网标签属性部分(在图3中表示为私网标签)。而转发节点的指示信息(如PE2的指示信息)可以位于用于指示转发路径排布的相应属性字段(在图3中表示为路径属性)。上述各个属性例如可以直接携带在所发布路由(如IPv4单播发布)的各相应属性字段中,也可以携带在路由中指定属性字段的指定部分,所述指定属性字段例如可以是多协议可达-网络层可达信息字段(MultiprotocolReachable_Network Layer Reachable Information,MP-NLRI)。
图3中示出的各种属性在路由中的排布顺序仅作为一种可能的示例,在实际应用场景中,可以根据需要设置各属性的排布位置和方式。例如,各属性的排布可以是连续的,也可以是不连续的,可以置于路由中任意适合的位置等。相较于图3,路由中具体携带的各属性字段的内容也可以根据需要增加、删除或调整,但至少要包括用于指示转发路径上的一个或多个必要转发节点所对应的一个或多个指示信息,所述一个或多个指示信息的具体排布方式和呈现形式可以有所变化。
S203、PE2向GW2发送第二路由信息。
PE2在得到上述第二路由信息之后,便可以将该第二路由信息发送至一个或多个与PE2连接的节点,比如图1中的GW2。
图3中仅示出了与PE2连接的GW2这一个转发节点,在实际场景中,PE2还可以与其他的转发节点相连,并将该第二路由信息发送至该该其他的转发节点。
S204、GW2在第二路由信息中添加GW2的指示信息以获得第三路由信息。
GW2在接收到该第二路由信息后,会在第二路由信息中添加GW2的指示信息,以实现对该第二路由信息的更新,以得到第三路由信息。GW2的指示信息的解释可以参考S202中PE2的指示信息的解释,本申请实施例在此不做赘述。
由于GW2在第二路由信息中添加了GW2的指示信息,因此如图3所示,GW2得到的第三路由信息(也可以称为更新后的第二路由信息)可以包括:目的节点的节点标识(图中表示为CE2)、下一跳标识、PE2的指示信息(图中表示为SID-PE2)以及GW2的指示信息(图中表示为SID-GW2),且该下一跳标识为PE2的节点标识(图中表示为PE2)。
当路径属性字段包括多个转发节点的多个指示信息时,所述多个指示信息可以按照一定规律排序,作为一种具体的示例,例如可以根据接收包括多个指示信息的路由的转发节点与添加所述多个指示信息的多个转发节点之间的路由距离按序排布。仍以图3为例,如果PE1为接收路由的转发节点,此时所述路由中分别包括GW1、GW2和PE2分别添加的指示信息SID-PE2、SID-GW2和SID-GW1,此时,上述三个指示信息可以根据GW1、GW2和PE2分别与PE1之间的路由距离按序排列。
其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。例如,PE1可以通过路径PE1-GW1-GW2向PE2传输报文,即所述报文由PE1转发后先后需要经过2个节点GW1和GW2以到达PE2。此时,GW1距离PE1只有一跳,而GW2距离PE1具有两跳,因此,可以认为GW2与PE1的路由距离大于GW1与PE1的路由距离。
再举一例,如图3所示,第三路由信息中包括PE2的SID(表示为SID-PE2)以及GW2的SID(表示为SID-GW2),由于PE2与PE1的路由距离大于GW2与PE1的路由距离,因此,SID-GW2可以排在SID-PE2后。上述内容旨在基于路由距离描述各转发节点的SID在路由中可能的排列方式,在路由发布的实际执行过程中,GW2在第二路由信息中添加GW2的指示信息时,可以直接在第二路由信息中PE2的指示信息的尾部添加该GW2的指示信息,而无需实际计算路由距离。图3中的排列方式仅作为示例,多个指示信息的排列方式可以为正序,也可以为逆序,或者按照各个转发节点可以遵从的其他排列规则或排列方式排列,只要接收报文的当前转发节点能够根据报文中所携带的多个指示信息,确定(包括按照预设规则计算后确定的情形)与当前转发节点对应的指示信息的位置,以及下一跳转发节点对应的指示信息的位置即可,从而使得该当前转发节点能够确定其需要执行的操作,以及将报文转发至哪个转发节点。例如,各转发节点在发布的路由中添加SID时,可以一并添加指示该SID排序位置的指示位等。
S205、GW2向GW1发送第三路由信息。
GW2向GW1发送第三路由信息的过程,可以参考S203中PE2向GW2发送第二路由信息的过程,本申请实施例在此不做赘述。
S206、GW1在第三路由信息中添加GW1的指示信息以获得第四路由信息。
GW1在第三路由信息中添加GW1的指示信息以获得第四路由信息的过程,可以参考S204中GW2在第二路由信息中添加GW2的指示信息以获得第三路由信息的过程,本申请实施例在此不做赘述。
请继续参考图3,该第四路由信息包括:目的节点的节点标识(表示为CE2)、下一跳标识、PE2的指示信息(表示为SID-PE2)、GW2的指示信息(表示为SID-GW2)以及GW1的指示信息(表示为SID-GW1),且该下一跳标识为PE2的节点标识(表示为PE2)。
S207、GW1向PE1发送第四路由信息。
GW1向PE1发送第四路由信息的过程,可以参考S203中PE2向GW2发送第二路由信息的过程,本申请实施例在此不做赘述。
GW1向PE1发送第四路由信息之后,PE1能够接收到该第四路由信息。PE1在接收到GW1发送的包括该第四路由信息的路由后,可以将第四路由信息存储在本地的路由转发表中,以用于后续报文的转发。PE1还可以通过私网路由等方式向与其连接的CE1通告到达目的节点的路由。仍以图3为例,此时CE1接收的通告路由中可以包括CE2此前发布的前缀地址,以及下一跳的标识信息(如PE1的IP地址、PE1连接CE1的接口)。CE1在学习到CE2的路由后,即可实现CE1作为源节点,或者CE1连接的用户主机作为源节点的报文转发。
S208、CE1向PE1发送第一报文,该第一报文包括目的节点的节点标识。
当CE1需要向CE2发送第一报文时,CE1可以在该第一报文中携带CE2发布的目的节点的节点标识(即目的地址),并将该第一报文发送至PE1,以通过PE1将该第一报文转发至CE2。
S209、PE1对第一报文进行更新得到第二报文,第二报文包括目的节点的节点标识、PE2的指示信息、GW2的指示信息以及GW1的指示信息。
PE1在S208之前接收到了GW1发送的第四路由信息,该第四路由信息携带于GW1发布的CE2的更新路由中。PE1在接收到第四路由信息后,可以将该路由信息中包括的多个转发节点的指示信息、目的节点的节点标识和下一跳标识等信息关联地保存在本地的路由转发表中。这样,PE1在接收到第一报文之后,可以根据目的节点的节点标识在该路由转发表中确定对应的多个转发节点的指示信息,并在该第一报文中添加该多个转发节点的指示信息,从而对该第一报文进行更新以得到第二报文。示例地,该第二报文至少包括目的节点的节点标识,并且还包括PE1添加的PE2的指示信息、GW2的指示信息以及GW1的指示信息。这些指示信息用于指示报文沿GW1、GW2和PE2转发。
这些转发节点的指示信息在第二报文中的排布顺序,可以与这些转发节点的指示信息在第四路由信息中的排布顺序相关。比如,这些转发节点的指示信息在第二报文中的排布顺序,与这些转发节点的指示信息在第四路由信息中的排布顺序相反。例如,如图3所示,第四路由信息中PE2、GW2的指示信息(表示为SID-GW2)和GW1的指示信息(表示为SID-GW1)依次排布;而如图4所示,第二报文中PE2的指示信息(表示为SID-PE2)、GW2的指示信息(表示为SID-GW2)和GW1的指示信息(表示为SID-GW1)按照相反的顺序依次排布。这样,按照逆序排列的多个指示信息可以随着依次到达各相应节点而执行出栈弹出操作。在其他情形中,多个指示信息也可以按照其他规则排列。
可选地,该第二报文还包括除目的节点的节点标识、PE2的指示信息、GW2的指示信息以及GW1的指示信息之外的其他信息。比如,如图4所示,该第二报文还可以包括CE2所在私网的标签(表示为L1),该私网的标签可以是从第四路由信息中获取的,并且可以与包括指示信息在内的其他相关信息关联地存储于路由转发表中。第二报文中还包括下一跳标识(如PE2)。该第二报文还可以包括源节点的节点标识(如IP地址),该源节点为报文的初始发送方,如CE1或与CE1连接的用户主机等。源节点的节点标识和目的节点的节点标识均可以位于第二报文中的负载部分,该负载部分还可以包括CE1需要传输的数据(图4中未示出)。
S210、PE1向GW1发送第二报文。
PE1在得到第二报文之后,便可以根据该第二报文中排在第一位的转发节点的指示信息(如SID-GW1),向该指示信息所指示的转发节点GW1发送第二报文。
S211、GW1删除第二报文中GW1的指示信息得到第三报文。
GW1在接收到第二报文之后,发现指示信息列表中例如排在第一位置的指示信息与其自身的指示信息相匹配,则可以通过出栈弹出、或更新包括指示信息的报文头等方式将该第一位置的转发节点的指示信息(如SID-GW1)进行删除或替换,以实现对第二报文的更新,从而得到如图4所示的第三报文。该第三报文包括目的节点的节点标识(表示为CE2)、GW2的指示信息(表示为SID-GW2)、PE2的指示信息(表示为SID-PE2),但不包括GW1的指示信息SID-GW1。
S212、GW1向GW2发送第三报文。
GW1在得到第三报文之后,便可以根据该第三报文中排在第一位的转发节点的指示信息(如SID-GW2),向该转发节点GW2发送第三报文。
S213、GW2删除第三报文中GW2的指示信息得到第四报文。
GW2在接收到第三报文之后,发现指示信息列表中例如排在第一位置的指示信息与其自身的指示信息相匹配,则可以通过出栈弹出、更新包括指示信息的报文头,例如段路由扩展头(Segment Routing header,SRH)等方式将该第一位置的转发节点的指示信息(如SID-GW2)删除或替换,以实现对第三报文进行更新,得到如图4所示的第四报文。第四报文包括目的节点的节点标识(表示为CE2)、PE2的指示信息(表示为SID-PE2),但不包括GW1的指示信息SID-GW1以及GW2的指示信息SID-GW2。
S214、GW2向PE2发送第四报文。
GW2在得到第四报文之后,便可以根据该第四报文中排在第一位的转发节点的指示信息(如SID-PE2),向该转发节点PE2发送第四报文。
S215、PE2根据目的节点的节点标识,向CE2转发第四报文。
例如,PE2根据目的节点的节点标识为CE2发布的前缀地址,将接收到的该第四报文转发至CE2,以使得CE2在接收到该第四报文后,将该第四报文发送至该前缀地址覆盖的用户主机。
本申请实施例中以S201中PE2获取的第一路由信息来自CE2为例,此时,PE2在S215中需要根据目的节点的节点标识向CE2转发第四报文。当S201中PE2获取的第一路由信息不是来自CE2时,比如该第一路由信息是PE2根据本地配置的一个VPN实例下的环回地址而发布的路由信息时,该环回地址即为目的节点的节点标识。在S215中,PE2会根据目的节点的节点标识,对该第四报文进行存储。
综上所述,本申请实施例提供的路由确定方法中,在目的节点的路由信息中携带转发节点的指示信息,使得连接源节点的转发节点在接收到该路由信息后,能够根据该路由信息中与一个或多个转发节点对应的一个或多个指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。本方法避免了源节点连接的转发节点通过大量控制报文的传输确定传输路径,因而减小了网络负载。
示例地,图5为本申请实施例提供的另一种路由确定方法的流程图,并且,该路由确定方法以图1所示的应用场景为例。如图5所示,该路由确定方法包括:
S301、CE2向PE2发送第一路由信息。
S301可以参考S201,本申请实施例在此不做赘述。
S302、PE2根据第一路由信息生成第二路由信息,第二路由信息包括PE2的指示信息。
S302可以参考S202,本申请实施例在此不做赘述。
S303、PE2向GW2发送第二路由信息。
S303可以参考S203,本申请实施例在此不做赘述。
S304、GW2在第二路由信息中添加GW2的指示信息以获得第三路由信息。
S304可以参考S204,本申请实施例在此不做赘述。
S305、GW2向GW1发送第三路由信息。
S305可以参考S205,本申请实施例在此不做赘述。
S306、GW1将第三路由信息中的下一跳标识更新为GW1的节点标识,并将第三路由信息中至少一个转发节点的指示信息替换为GW1的指示信息,以获得第四路由信息。
在图2示出的实施例中,在PE2将下一跳属性信息设置为自身的标识信息后,路由发布路径上涉及的其他各转发节点均不再修改下一跳属性信息。但在本申请实施例中,多个转发节点中存在会更改下一跳标识的至少一个节点,并且本申请实施例以会更改下一跳标识的节点为GW1为例。
会更改下一跳标识的转发节点在接收到路由信息之后,会将该路由信息中的下一跳标识更改为自身的节点标识,比如参考图6,GW1将下一跳标识由PE2的节点标识(表示为PE2)更改为GW1的节点标识(表示为GW1)。并且,该会更改下一跳标识的节点还可以将该路由信息中的所有转发节点(包括至少一个转发节点)的指示信息替换为自身的指示信息,比如参考图6,GW1会将第三路由信息中PE2的指示信息(表示为SID-PE2)和GW2的指示信息(表示为SID-GW2)替换为GW1的指示信息。这样一来,GW1在S306中得到的第四路由信息包括:目的节点的节点标识(表示为CE2)、下一跳标识以及GW1的指示信息,且该下一跳标识为GW1的节点标识。
示例地,GW1在S306中添加至第三路由信息中的GW1的指示信息可以为任何适合类型的指示信息。作为一种可能的示例,GW1添加的指示信息包括GW1的绑定段标识(bindingsegment identifier,BSID)(即此时该指示信息的段标识类型为BSID)。在其他可能的情形中,GW1的BSID也可以替换为GW1的SID(此时该指示信息的段标识类型为SID),本申请实施例对此不作限定。
GW1在将第三路由信息中至少一个转发节点的指示信息替换为GW1的指示信息之后,GW1还可以记录GW1的指示信息与被替换的至少一个转发节点的指示信息的对应关系。例如,如表1所示,GW1可以记录GW1的指示信息(BSID1-GW1)与被替换的PE2的指示信息(表示为SID-PE2)和GW2的指示信息(表示为SID-GW2)之间的对应关系。另外,该对应关系中被替换的至少一个节点的指示信息的排布顺序,可以与这些指示信息在第三路由信息中的排布顺序相同。
表1
GW1的指示信息 | 至少一个转发节点的指示信息 |
BSID1-GW1 | SID-PE2、SID-GW2 |
BSID2-GW1 | SID-PE2、SID-GW2、SID-GW3 |
虽然上述描述以GW1接收到GW2接收到的第四路由信息为例,在实际应用场景中,GW1可能会接收到多个节点发送的路由信息。在GW1会接收到多个节点发送的路由信息的情况下,GW1会对每个路由信息进行更新(具体可参考S306),并且,GW1在不同路由信息中添加的GW1的指示信息并不相同。
比如继续参考表1,假设GW1在接收到节点GW3(附图中未示出)发送的路由信息(包括SID-GW3、SID-GW2和SID-PE2)后,会将GW3的指示信息(SID-GW3)、GW2的指示信息(SID-GW2)和PE2的指示信息(SID-PE2)替换为BSID2-GW1。BSID1-GW1和BSID2-GW1不同。
S307、GW1向PE1发送第四路由信息。
S307可以参考S207,本申请实施例在此不做赘述。
S308、CE1向PE1发送第一报文,该第一报文包括目的节点的节点标识。
S308可以参考S208,本申请实施例在此不做赘述。
S309、PE1更新第一报文以生成第二报文,第二报文包括目的节点的节点标识和GW1的指示信息。
可选地,该第二报文还可以包括源节点标识、私网标签等信息。S309可以参考S209,本申请实施例在此不做赘述。
S310、PE1向GW1发送第二报文。
S310可以参考S210,本申请实施例在此不做赘述。
S311、GW1将第二报文中GW1的指示信息替换为GW2的指示信息和PE2的指示信息,得到第三报文。
GW1在接收到第二报文后,可以通过出栈弹出等方式去除第二报文中的GW1的指示信息(该指示信息可以是BSID类型),并根据本地存储的GW1的指示信息和至少一个指示信息之间的对应关系,在第二报文中添加该至少一个指示信息,得到第三报文。请参考表1,当该第二报文中的GW1的指示信息为BSID1-GW1时,该至少一个指示信息包括:GW2的指示信息(表示为SID-GW2)和PE2的指示信息(表示为SID-PE2)。另外,GW1添加至第二报文中的该至少一个指示信息的排布顺序,可以与该对应关系中记录的这些指示信息的排布顺序相同或相反。
如图7所示,S311中GW1得到的第三报文包括:目的节点的节点标识(表示为CE2)、GW2的指示信息(表示为SID-GW2)、PE2的指示信息(表示为SID-PE2),但不包括GW1的指示信息BSID1-GW1。
S312、GW1向GW2发送第三报文。
S312可以参考S212,本申请实施例在此不做赘述。
S313、GW2删除第三报文中GW2的指示信息得到第四报文。
S313可以参考S213,本申请实施例在此不做赘述。
S314、GW2向PE2发送第四报文。
S314可以参考S214,本申请实施例在此不做赘述。
S315、PE2根据目的节点的节点标识,向CE2转发第四报文。
S315可以参考S215,本申请实施例在此不做赘述。
本申请实施例中以S301中PE2获取的第一路由信息来自CE2为例,此时,PE2在S315中需要根据目的节点的节点标识向CE2转发第四报文。当S301中PE2获取的第一路由信息不是来自CE2时,比如该第一路由信息是PE2根据本地配置的一个VPN实例下的环回地址而发布的路由信息时,该环回地址即为目的节点的节点标识。在S315中,PE2会根据目的节点的节点标识,对该第四报文进行存储。
综上所述,本申请实施例提供的路由确定方法中,在目的节点的路由信息中携带转发节点的指示信息,使得源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,避免了连接源节点的转发节点通过控制报文传输确定传输路径,因此减小了网络负载。允许发布路由过程中修改下一跳,也提高了建立路由的灵活性。
需要说明的是,图2和图5所示的实施例中PE1和PE2之间可能还有除GW1和GW2之外的其他转发节点。
当图2所示的实施例中还有该其他转发节点时(比如GW1和PE1之间,或者GW1和PE2之间,还存在其他转发节点),该转发节点在接收到路由信息之后,可以参考图2中GW2的执行方式对该路由信息进行更新,并将更新后得到的新的路由信息发送至连接的节点。该转发节点在接收到报文之后,可以参考图2中GW2的执行方式对该报文进行更新,并将更新后得到的新的报文发送至连接的节点。
当图5所示的实施例中还有该其他转发节点时(比如GW1和PE1之间,或者GW1和PE2之间,还存在其他转发节点),若该转发节点并不是会更改下一跳的节点,则该转发节点在接收到路由信息之后,可以参考图2中GW2的执行方式对该路由信息进行更新,并将更新后得到的新的路由信息发送至连接的节点。该转发节点在接收到报文之后,可以参考图2中GW2的执行方式对该报文进行更新,并将更新后得到的新的报文发送至连接的节点。
比如,图5所示的实施例中,GW1和PE1之间还存在其他转发节点,该转发节点在接收到第四路由信息后,会在第四路由信息中BSID1-GW1之后添加该转发节点的SID指示信息。该转发节点在接收到报文之后,会将该报文中该转发节点的指示信息删除或替换以得到新的报文,并将该新的报文发送至下一指示信息所指示的节点。
当图5所示的实施例中还有该其他转发节点时(比如GW1和PE1之间,或者GW1和PE2之间,还存在其他转发节点),若该转发节点是会更改下一跳的节点,则该转发节点在接收到路由信息之后,可以参考图5中GW1的执行方式对该路由信息进行更新,并将更新后得到的新的路由信息发送至连接的节点。该转发节点在接收到报文之后,可以参考图5中GW1的执行方式对该报文进行更新得到新的报文,并将新的报文发送至其中第一个指示信息所指示的节点。
在S209和S309中,PE1可以采用多种方式对第一报文进行更新以得到第二报文,本申请实施例至少提供以下两种方式。
1、在第一种方式中,PE1可以根据该第一报文需要发往的目的节点,在PE1存储的路由转发表中找到该目的节点对应的路由信息(也可称为路由表项或转发表项),该路由信息基于此前接收的GW1发布的路由获得。该路由信息可以包括该路由到达PE1之前经过的各个转发节点的指示信息,以及目的节点的节点标识之间的对应关系。此时,PE1可以直接根据第一报文中携带的目的节点的节点标识,从该路由信息中提取对应的该各个转发节点的指示信息(比如上述GW1、GW2和PE2的指示信息),并在该第一报文中增加这些指示信息,得到第二报文。该路由转发表中的路由信息还可以包括下一跳标识、私网标签等。
2、在第二种方式中,PE1在接收到GW1发布的包括路由信息的路由之后,可以根据该路由信息建立目的节点的节点标识与隧道信息的对应关系,该隧道信息包括该路由信息中各个转发节点的指示信息。示例地,上述每个隧道信息对应一个隧道,该隧道包括该隧道信息中各个指示信息所指示的转发节点。该隧道信息中这些转发节点的指示信息例如可以与这些转发节点的指示信息在路由信息中的排布顺序的相反,且这些转发节点在该隧道中按照这些转发节点的指示信息在该隧道信息中的排布顺序依次排布。PE1在转发报文时,可以根据报文中的目的节点的节点标识确定对应的路由信息,并根据路由信息中的下一跳信息进行隧道迭代,确定与该下一跳信息所指示的下一跳节点对应的隧道信息,该隧道信息对应的隧道的目的节点为该下一跳节点。
比如,以上述图2所示的实施例为例,如表2所示,PE1在接收到第四路由信息后(第四路由信息中的指示信息包括:SID-PE2、SID-GW2和SID-GW1),PE1可以建立目的节点的节点标识(图2中示意为CE2,表2中示意为目的节点的地址)与隧道信息1的对应关系,该隧道信息1包括第四路由信息中各个转发节点的指示信息(如图3中的SID-GW1、SID-GW2和SID-PE2)。表2中隧道信息1中SID-GW1、SID-GW2和SID-PE2依次排布,隧道信息1对应的隧道为GW1-GW2-PE2。该隧道的目的节点为PE2。
在图2所示的实施例中,若转发节点还包括图8中的GW3,且GW3分别与GW1和GW2连接,则GW2在S205中会将第三路由信息分别发送至GW1和GW3,且GW3在接收到该第三路由信息之后,会在该第三路由信息中添加GW3的指示信息(可以表示为SID-GW3)以获得第五路由信息。之后,GW3会将第五路由信息发送至GW1,GW1会在第五路由信息中添加GW1的指示信息以获得第六路由信息,并将第六路由信息发送至PE1。如此PE1不仅能够接收到第四路由信息,还能够接收到第六路由信息,且第六路由信息中的指示信息包括:SID-PE2、SID-GW2、SID-GW3和SID-GW1。PE1还可以根据该第六路由信息生成如表2所示的隧道信息2,包括:SID-GW1、SID-GW2、SID-GW3和SID-PE2,该隧道信息对应的目的节点的节点标识在表2中示意为目的节点的地址。该隧道信息对应的隧道的目的节点也为PE2,即对应于第六路由信息中的下一跳标识。
表2
节点标识 | 隧道信息 |
目的节点的地址 | 1,包括:SID-GW1、SID-GW2和SID-PE2 |
目的节点的地址 | 2,包括:SID-GW1、SID-GW2、SID-GW3和SID-PE2 |
又比如,以上述图5所示的实施例为例,如表3所示,PE1在接收到第四路由信息后(第四路由信息中的指示信息包括:BSID1-GW1),PE1可以建立目的节点的节点标识与隧道信息1的对应关系,该隧道信息1包括第四路由信息中各个转发节点的指示信息(如图6中的BSID1-GW1)。该隧道的目的节点为GW1,因为此种情形下,第四路由信息中的下一跳标识已在转发节点GW1处由PE2修改为GW1。此时,PE1查找隧道信息所根据的至少一种信息可以包括:第一报文携带的目的节点的节点标识。
在图5所示的实施例中,若转发节点还可以包括图9中的GW3,且GW3分别与GW1和GW2连接,则GW2在S305中会将第三路由信息分别发送至GW1和GW3,且GW3在接收到该第三路由信息之后,会在该第三路由信息中添加GW3的指示信息(可以表示为SID-GW3)以获得第五路由信息。之后,GW3会将第五路由信息发送至GW1,GW1会将第五路由信息中的所有指示信息(SID-PE2、SID-GW2和SID-GW3)替换为GW1的指示信息(如BISD2-GW1)以获得第六路由信息,并将第六路由信息发送至PE1。这样一来,PE1不仅能够接收到第四路由信息,还能够接收到第六路由信息,且第六路由信息中的指示信息包括:BISD2-GW1。PE1还可以根据该第六路由信息生成如表3所示的隧道信息2,包括:BISD2-GW1。该隧道信息对应的隧道的目的节点为GW1。
表3
节点标识 | 隧道信息 |
目的节点的地址 | 1,包括:BISD1-GW1 |
目的节点的地址 | 2,包括:BISD2-GW1 |
上述隧道可以是任一种隧道,比如端到端(end to end,E2E)隧道、段路由(Segment Routing,SR)隧道、段路由流量工程(segment routing traffic engineering,sr-te)隧道。
在该第二种方式中,PE1在对第一报文进行处理以得到第二报文的过程中,可以根据至少一种信息(如目的节点的节点标识)找到对应的隧道信息,并根据该隧道信息对第一报文进行处理得到第二报文,该隧道信息包括了转发路径上由各相应转发节点添加的标识信息。
上述第一报文中还可以携带有下一跳标识(比如图2所示实施例中的PE2的节点标识,或者图5所示实施例中GW1的节点标识),该下一跳标识之前携带于PE1学习到的与CE2对应的路由中。PE1在学习到该路由后,可以创建本地路由信息(即转发表项),该本地路由信息可以包括目的节点的节点标识、下一跳标识以及隧道的对应关系,所述对应关系中的隧道例如可以通过隧道标识表示。此时,PE1可以根据目的节点的节点标识和下一跳标识进行隧道查找和迭代,以将对应的隧道信息(即包括各转发节点的指示信息)添加至该本地路由信息,以实现报文根据该各转发节点的指示信息而进行的指定路径的转发。此时,PE1查找隧道信息所根据的至少一种信息还可以包括:第一报文携带的与目的节点对应的下一跳标识。
上述第一报文中还可以携带有CE2所在私网的标签(比如图2和图5所示实施例中的L1),此时路由转发表中包括目的节点的节点标识、下一跳标识、CE2所在私网的标签以及隧道(隧道标识)之间的对应关系。此时,PE1查找隧道信息所根据的至少一种信息还可以包括:第一报文携带的目的节点所在私网的标签。
需要说明的是,当PE1根据上述至少一种信息找到多个隧道信息(如表2和表3中的隧道信息1和2)时,PE1可以在多个隧道信息中采用任一种方式筛选一个隧道信息,并根据该隧道信息对第一报文进行处理。例如,PE1可以根据隧道约束条件(比如传输时延条件、带宽条件等),从与第一报文中携带的目的节点的节点标识对应的多个隧道信息中确定一个隧道信息,该隧道信息对应的隧道满足该隧道约束条件。上述图2所示的实施例中以筛选出的隧道信息为表2中的隧道信息1为例,上述图5所示的实施例中以筛选出的隧道信息为表3中的隧道信息1为例。
基于图2或图5所示的实施例中PE1所执行的操作,可以得知本申请实施例提供了一种用于第一转发节点的路由确定方法,该第一转发节点可以是图2或图5所示的实施例中的PE1。示例地,如图10所示,该方法可以包括:
S1001、第一转发节点接收第二转发节点发送的路由信息,路由信息包括目的节点的节点标识,以及至少一个指示信息,至少一个指示信息分别与至少一个第三转发节点一一对应,该第二转发节点属于该至少一个第三转发节点。
该路由信息可以是图2或图5所示实施例中的第四路由信息,目的节点可以是CE2或者与CE2连接的用户主机或路由器,或者是PE2的环回地址等,这里不做唯一限定。在图2所示的实施例中,该至少一个指示信息可以包括:PE2的指示信息、GW2的指示信息以及GW1的指示信息。在图5所示的实施例中,该至少一个指示信息可以包括:GW1的指示信息。
S1002、第一转发节点根据路由信息向目的节点发送报文,报文包括至少一个指示信息,至少一个指示信息用于指示报文沿至少一个第三转发节点转发。
该报文可以是图2或图5所示实施例中的第二报文。在图2所示的实施例中,该至少一个指示信息可以包括:PE2的指示信息、GW2的指示信息以及GW1的指示信息。在图5所示的实施例中,该至少一个指示信息可以包括:GW1的指示信息。
可选地,在S1002中,第一转发节点可以首先根据路由信息,建立目的节点的节点标识与第一隧道信息的对应关系,第一隧道信息包括该路由信息中的至少一个指示信息。之后,第一转发节点可以根据该第一隧道信息向目的节点发送报文。
可选地,第一转发节点在根据该第一隧道信息向目的节点发送报文时,第一转发节点可以首先根据目的节点的节点标识,获取目的节点的节点标识对应的多个隧道信息,其中,该多个隧道信息对应多个隧道,多个隧道信息包括上述第一隧道信息。之后,第一转发节点可以根据隧道约束条件,从该多个隧道信息中确定上述第一隧道信息,并根据确定的第一隧道信息向目的节点发送报文。
可选地,至少一个指示信息包括至少一个第三转发节点的SID,至少一个第三转发节点的SID根据该至少一个第三转发节点与第一转发节点之间的路由距离按序排布。或者,在其他情形中,该至少一个指示信息也可以不是SID,而是结合具体的网络应用场景而确定的其他类型的指示信息,只要该指示信息能够用于指示(或标识)相应的转发节点即可。在图2所示的实施例中,该至少一个第三转发节点可以包括:PE2、GW2以及GW1。在图5所示的实施例中,该至少一个第三转发节点可以包括:GW1。
可选地,该至少一个指示信息还包括:该至少一个第三转发节点的endpoint。
可选地,该至少一个第三转发节点包括第四转发节点,第四转发节点为该至少一个第三转发节点中与第一转发节点路由距离最大的节点。比如,在图2所示实施例中该第四转发节点为PE2,在图5所示的实施例中该第四转发节点为GW1。S1001中第一转发节点接收到的路由信息还可以包括下一跳标识,该下一跳标识包括第四转发节点的节点标识。
可选地,根据图5所示的实施例中PE1所执行的操作,可以得知该路由确定方法中,S1001中第一转发节点接收到的路由信息中的至少一个指示信息包括第一指示信息,第一指示信息用于指示上述第四转发节点,且第一指示信息的段标识类型为绑定段标识。
基于图2所示的实施例中GW1或GW2所执行的操作,或者图5所示的实施例中GW1或GW2所执行的操作,可以得知本申请实施例提供了一种用于第二转发节点的路由确定方法,该第二转发节点可以是图2或图5所示的实施例中的GW1,或者图2或图5所示的实施例中的GW2。示例地,如图11所示,该方法可以包括:
S1101、第二转发节点获取路由信息,路由信息包括目的节点的节点标识以及至少一个指示信息,至少一个指示信息用于指示至少一个第三转发节点。
当第二转发节点为图2或图5中的GW2时,该路由信息可以是图2或图5所示实施例中的第二路由信息,目的节点是CE2或者与CE2连接的用户主机或路由器,或者是PE2的环回地址等,这里不做唯一限定。该路由信息中的至少一个指示信息包括:PE2的指示信息,该至少一个指示信息所指示的至少一个第三转发节点包括:PE2。
当第二转发节点为图2或图5所示的实施例中的GW1时,该路由信息可以是图2所示实施例中的第三路由信息,目的节点是CE2或者与CE2连接的用户主机或路由器,或者是PE2的环回地址等,这里不做唯一限定。该路由信息中的至少一个指示信息包括:PE2的指示信息和GW2的指示信息,该至少一个指示信息所指示的至少一个第三转发节点包括:PE2和GW2。
可选地,该至少一个指示信息包括至少一个第三转发节点的SID,该至少一个第三转发节点的SID根据该至少一个第三转发节点与第一转发节点之间的路由距离按序排布,第一转发节点为向目的节点转发报文的第一个转发节点。
可选地,该至少一个指示信息还包括:该至少一个第三转发节点的endpoint,或者还可以包括其他所需的信息。上述endpoint信息和其他所需的信息与标识转发节点的SID之间具有对应关系。
S1102、第二转发节点在路由信息中添加第一指示信息以获得更新的路由信息,第一指示信息用于指示第二转发节点。
当第二转发节点为图2或图5中的GW2时,该第一指示信息可以是GW2的指示信息,该第一指示信息用于指示GW2,该更新的路由信息可以是第三路由信息。
当第二转发节点为图2或图5中的GW1时,该第一指示信息可以是GW1的指示信息,该第一指示信息用于指示GW1,该更新的路由信息可以是第四路由信息。
S1103、第二转发节点向第一转发节点发送更新的路由信息。
可选地,基于图2所示的实施例中GW1或GW2所执行的操作,或者图5所示的实施例中GW2所执行的操作,可以得知本申请实施例提供了一种用于第二转发节点的路由确定方法,该第二转发节点可以是图2或图5所示的实施例中的GW2,或者图2所示的实施例中的GW1。示例地,如图12所示,该方法可以包括:
S1201、第二转发节点获取路由信息,路由信息包括目的节点的节点标识以及至少一个指示信息,至少一个指示信息用于指示至少一个第三转发节点。
S1201可以参考S1101,本申请实施了在此不做赘述。
S1202、第二转发节点在路由信息中添加第一指示信息以获得更新的路由信息,第一指示信息用于指示第二转发节点。
S1202可以参考S1102,本申请实施了在此不做赘述。
S1203、第二转发节点向第一转发节点发送更新的路由信息。
该更新的路由信息包括第一指示信息和至少一个指示信息。
当第二转发节点为图2或图5中的GW2时,该第一指示信息可以是GW2的指示信息,该至少一个指示信息包括PE2的指示信息。
当第二转发节点为图2中的GW1时,该第一指示信息可以是GW1的指示信息,该至少一个指示信息包括PE2的指示信息和GW2的指示信息。
S1204、第二转发节点接收向目的节点发送的报文,报文包括第一指示信息和至少一个指示信息。
当第二转发节点为图2或图5中的GW2时,该报文可以是第三报文,该报文中的第一指示信息为GW2的指示信息,该报文中的至少一个指示信息包括PE2的指示信息。
当第二转发节点为图2中的GW1时,该报文可以是第二报文,该报文中的第一指示信息为GW1的指示信息,该报文中的至少一个指示信息包括PE2的指示信息和GW2的指示信息。
S1205、第二转发节点向第四转发节点发送更新的报文,更新的报文包括至少一个指示信息,不包括第一指示信息,第四转发节点属于至少一个第三转发节点。
当第二转发节点为图2或图5中的GW2时,该更新的报文可以是第四报文,该更新的报文中的至少一个指示信息包括PE2的指示信息,第四转发节点为PE2。
当第二转发节点为图2中的GW1时,该更新的报文可以是第三报文,该更新的报文中的至少一个指示信息包括GW2的指示信息和PE2的指示信息,第四转发节点为GW2。
基于图5所示的实施例中GW1所执行的操作,可以得知本申请实施例提供了一种用于第二转发节点的路由确定方法,该第二转发节点可以是图5所示的实施例中的GW1。示例地,如图13所示,该方法可以包括:
S1301、第二转发节点获取路由信息,路由信息包括目的节点的节点标识、至少一个指示信息以及下一跳标识,至少一个指示信息用于指示至少一个第三转发节点。
S1301可以参考S1101,本申请实施了在此不做赘述。
该下一跳标识可以是PE2的节点标识。
S1302、第二转发节点将下一跳标识更新为第二转发节点的节点标识,并将上述至少一个指示信息替换为第一指示信息,以获得更新的路由信息,该更新的路由信息包括第二转发节点的节点标识和第一指示信息,该第一指示信息用于指示第二转发节点。
该至少一个指示信息可以参考S1101中的至少一个指示信息,该第一指示信息可以参考S1102中的第一指示信息,可选地,第一指示信息包括第二转发节点的绑定段标识。该更新的路由信息可以是图5所示的实施例中的第四路由信息。
S1303、第二转发节点向第一转发节点发送更新的路由信息。
S1304、第二转发节点接收向目的节点发送的报文,报文包括第一指示信息。
该报文可以是图5所示实施例中的第二报文,目的节点为CE2或其他前述实施例提及情形下的目的节点,第一指示信息为GW1的指示信息,比如BSID1-GW1。
S1305、第二转发节点向第四转发节点发送更新的报文,更新的报文包括至少一个指示信息,不包括第一指示信息,第四转发节点属于至少一个第三转发节点。
该更新的报文可以是图5所示的实施例中的第三报文。该更新的报文中的至少一个指示信息包括:GW2的指示信息和PE2的指示信息,但不包括GW1的指示信息,该第四转发节点为GW2,该至少一个第三转发节点包括:GW2和PE2。
可选地,在S1305中,第二转发节点可以首先去除报文中的第一指示信息,并基于第一指示信息和该至少一个指示信息之间的对应关系,在报文中添加该至少一个指示信息,之后,再向第四转发节点发送更新的报文。
基于图2或图5所示的实施例中PE2所执行的操作,可以得知本申请实施例提供了一种用于转发节点的路由确定方法,该转发节点可以是图2或图5所示的实施例中的PE2。示例地,如图14所示,该方法可以包括:
S1401、转发节点获取目的节点的第一路由信息。
在图2或图5所示的实施例中,目的节点为CE2或其他前述实施例提及情形下的目的节点,第一路由信息也即是图2或图5所示的实施例中的第一路由信息。
S1402、转发节点根据第一路由信息生成第二路由信息,第二路由信息包括目的节点的节点标识、下一跳标识以及指示信息,指示信息用于指示转发节点,下一跳标识为转发节点的节点标识。
可选地,转发节点的指示信息包括:转发节点的段标识。
S1403、转发节点发送第二路由信息。
在图2或图5所示的实施例中,转发节点在生成第二路由信息之后,均可以向相连接的转发节点(比如GW2)发送该第二路由信息。
可选地,该方法还包括:
S1404、转发节点接收报文,报文包括目的节点的节点标识和上述指示信息。
在图2或图5所示的实施例中,该报文均为第四报文。
S1405、转发节点根据目的节点的节点标识,将报文向目的节点转发或存储。
本申请实施例以图1所示的软件定义广域网(software definition-wide areanetwork,SD-WAN)场景为例,当然,本申请实施例的应用场景也可以不限于SD-WAN场景。
比如,本申请实施例的应用场景也可以是如图15所示的网际互连协议广域网(IPRadio Access Network,IP-RAN)场景。请参考图15,该应用场景包括:终端、基站和多个转发节点和控制器。其中,该控制器可以是服务网关(Serving GateWay,SGW)或移动管理节点(Mobility Management Entity,MME)。多个转发节点可以包括:基站网关(Cell SiteGateway,CSG)-1、CSG-2、汇聚网关(Aggregation Site Gateway,ASG)1-1、ASG1-2、自治系统边界路由器(autonomous system boundary router,ASBR)1-1、ASBR1-2、ASBR2-1、ASBR2-2、移动汇聚侧网关(mobile aggregation site gateway,MASG)1和MASG2。图16中示出的网络结构仅作为示意,事实上,图16所示的应用场景还可以适用于其他类型的PE或GW类的转发节点,比如还包括:无线业务侧网关(Radio Service Gateway,RSG)、无线网络控制器侧网关(Radio Network Controller Site Gateway,RSG)、反射器(Routerreflector,RR)和移动边缘计算(Mobile Edge Computing,MEC)节点等。
仍以图16示出的网络场景作为示例,CSG-1、CSG-2、ASG1-1和ASG1-2位于网域1中,ASG1-1、ASG1-2、ASBR1-1和ASBR1-2位于网域2中,ASBR2-1、ASBR2-2、MASG1和MASG2位于网域3中。基站与CSG-1连接,终端与CSG-2连接,ASBR1-1与ASBR2-1连接,ASBR1-2与ASBR2-2连接,MASG1和MASG2均与SGW/MME连接。
在该应用场景中,基站可以为源节点,SGW/MME可以为目的节点。或者,终端可以为源节点,SGW/MME可以为目的节点。
在本申请实施例提供的路由确定方法中,源节点的操作可以参考图2或图5所示的实施例中CE1的操作,目的节点的操作可以参考图2或图5所示的实施例中CE2的操作,源节点连接的节点(如基站连接的CSG-1或终端连接的CSG-2)的操作可以参考图2或图5所示的实施例中PE1的操作,源节点连接的节点(如SGW/MME连接的MASG1或MASG2)的操作可以参考图2或图5所示的实施例中PE2的操作,多个转发节点中未与源节点或目的节点连接的任一节点的操作可以参考图2或图5所示的实施例中GW1或GW2的操作。
上文中结合图1至图15,详细描述了本申请所提供的路由确定方法,可以理解的是,上述各个转发节点为了实现上述各方法所描述的功能,其需包含执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各方法的执行步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法实施例对相应的转发节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,具体作为一种逻辑功能可能的划分方式,实际实现时可以有另外的划分方式。
当采用功能模块划分方式时,下面将结合图16至图21描述本申请所提供的路由确定装置。
图16为本申请实施例提供的一种路由确定装置的框图,该路由确定装置例如可以是前述图11中的第一转发节点。如图16所示,该路由确定装置包括:
获取模块1501,用于接收第二转发节点发送的路由信息,路由信息包括目的节点的节点标识,以及至少一个指示信息,至少一个指示信息分别与至少一个第三转发节点一一对应,所述第二转发节点属于所述至少一个第三转发节点。接收模块1501用于执行的操作可以参考图10所示的实施例中的S1001,本申请实施例在此不做赘述。
发送模块1502,用于根据路由信息向目的节点发送报文,报文包括至少一个指示信息,至少一个指示信息用于指示报文沿至少一个第三转发节点转发。发送模块1502用于执行的操作可以参考图10所示的实施例中的S1002,本申请实施例在此不做赘述。
由于在包括目的节点的节点标识的路由中携带转发节点的指示信息,使得源节点连接的转发节点在接收到该路由后,能够根据该路由中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,各转发节点的指示信息由各转发节点添加,避免了源节点连接的转发节点通过控制报文传输确定传输路径,因此,减少了网络中传输的报文,减小了网络负载。
可选地,发送模块1502用于:根据路由信息,建立目的节点的节点标识与第一隧道信息的对应关系,第一隧道信息包括至少一个指示信息;根据第一隧道信息向目的节点发送报文。在其他情形中,第一转发节点也可以不根据路由信息生成隧道信息,而是直接根据接收的路由信息建立本地转发表项,这样在第一转发节点根据路由信息向目的节点发送报文时,由第一转发节点直接根据该路由信息中的至少一个指示信息,向目的节点发送报文。
可选地,至少一个指示信息包括至少一个第三转发节点的段标识,至少一个第三转发节点的段标识根据至少一个第三转发节点与第一转发节点之间的路由距离按序排布。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。
可选地,至少一个指示信息还包括:至少一个第三转发节点的端点信息(endpoint)。转发节点的endpoint能够标识SID对应的转发节点,可以用于快速确定SID对应的转发节点,以便于用于校验、快速定位和节点维护。因此,在转发节点的指示信息包括endpoint时,基于转发节点的指示信息能够快速的确定相应的转发节点,并方便转发节点的维护。endpoint可以是环回地址等信息。
可选地,至少一个第三转发节点包括第四转发节点,第四转发节点为至少一个第三转发节点中与第一转发节点路由距离最大的节点,路由信息还包括下一跳标识,下一跳标识包括第四转发节点的节点标识。由于该路由信息中下一跳标识为第四转发节点的节点标识,因此第一转发节点根据该路由信息向目的节点转发报文时,能够将该报文先转发至第四转发节点,以便于第四转发节点将该报文转发给目的节点。
可选地,发送模块1502用于:根据目的节点的节点标识,获取目的节点的节点标识对应的多个隧道信息,多个隧道信息对应多个隧道,多个隧道信息包括第一隧道信息;根据隧道约束条件(比如传输时延条件、带宽条件等),从多个隧道信息中确定第一隧道信息;根据确定的第一隧道信息向目的节点发送报文。
可选地,至少一个第三转发节点包括第四转发节点,第四转发节点为至少一个第三转发节点中与第一转发节点路由距离最大的节点,至少一个指示信息包括第一指示信息,第一指示信息用于指示第四转发节点,第一指示信息的段标识类型为绑定段标识。在第一指示信息的段标识类型为绑定段标识时,说明该第四转发节点在转发路由信息的过程中,对路由信息中的下一跳标识进行了更改。当然,在第四转发节点对下一跳标识进行更改的情况下,该第一指示信息的段标识类型也可以不是绑定段标识,本申请对此不作唯一限定。
在采用集成的单元的情况下,本申请所提供的用于第一转发节点的路由确定装置可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对路由确定装置的动作进行控制管理,例如,可以用于支持路由确定装置执行上述S1001和S1002。存储模块可以用于支持路由确定装置执行存储程序代码和数据等。通信模块,可以用于支持路由确定装置与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器1602,存储模块为存储器1601,通信模块为通信接口1603时,本实施例所涉及的路由确定装置可以为具有图17所示结构的网络设备1600。可选地,该网络设备1600还可以包括总线1604,处理器1602、存储器1601和通信接口1603可以通过该总线1604连接。
在另一个实施例中,本实施例所涉及的路由确定装置可以为具有图18所示结构的网络设备1700。该网络设备1700包括主控板1701和接口板1702,其中,主控板1701包括:第一处理器17011和第一存储器17012,接口板1702包括第二处理器17021、第二存储器17022和接口卡17023。第一处理器17011用于调用第一存储器17012中的程序指令执行相应的处理功能,第二处理器17021用于调用第二存储器17022中的程序指令控制接口卡17023执行相应地接收和发送功能。该路由确定装置中的处理模块包括:图18中的第一处理器17011和第二处理器17021,存储模块包括第一存储器17011和第二存储器17022,通信模块包括接口卡17023。
图19为本申请实施例提供的另一种路由确定装置的框图,该路由过滤装置例如可以是前述图11中的第二转发节点。如图19所示,该路由确定装置包括:
第一获取模块1801,用于获取路由信息,路由信息包括目的节点的节点标识以及至少一个指示信息,至少一个指示信息用于指示至少一个第三转发节点。第一获取模块1801用于执行的操作可以参考图11所示的实施例中的S1101,本申请实施例在此不做赘述。
处理模块1802,用于在路由信息中添加第一指示信息以获得更新的路由信息,第一指示信息用于指示第二转发节点。处理模块1802用于执行的操作可以参考图11所示的实施例中的S1102,本申请实施例在此不做赘述。
第一发送模块1803,用于向第一转发节点发送更新的路由信息。第一发送模块1803用于执行的操作可以参考图11所示的实施例中的S1103,本申请实施例在此不做赘述。
由于第二转发节点在路由信息中添加了第一指示信息,并将更新的路由信息发送出去。这样一来,在源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,由于指示转发节点的指示信息均由各相应转发节点自行添加,避免了源节点连接的转发节点通过较多的控制报文传输确定传输路径,因此,减少了网络中传输的报文,减小了网络负载。
可选地,所述第二转发节点获取的所述路由信息中还包括下一跳标识。
一方面,第二转发节点可以不对获取到的路由信息中的下一跳标识进行更改。此时,该路由过滤装置例如可以是前述图12中的第二转发节点。所述更新的路由信息包括所述第一指示信息和所述至少一个指示信息。
另一方面,第二转发节点也可以对获取到的路由信息中的下一跳标识进行更改。此时,该路由过滤装置例如可以是前述图13中的第二转发节点。所述处理模块1802用于:将所述下一跳标识更新为所述第二转发节点的节点标识;将所述至少一个指示信息替换为所述第一指示信息,以在所述路由信息中添加所述第一指示信息;所述更新的路由信息包括所述第二转发节点的节点标识和所述第一指示信息。
可选地,在第二转发节点不对获取到的路由信息中的下一跳标识进行更改的情况下,如图20所示,在图19的基础上,该路由确定装置还包括:
第二接收模块1804,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息和所述至少一个指示信息。第二接收模块1804用于执行的操作可以参考图12所示的实施例中的S1204,本申请实施例在此不做赘述。
第二发送模块1805,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。第二发送模块1805用于执行的操作可以参考图12所示的实施例中的S1205,本申请实施例在此不做赘述。
可见,在第二转发节点不对获取到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会将报文中该第二转发节点的指示信息删除,以得到更新后的报文。
可选地,在第二转发节点对获取到的路由信息中的下一跳标识进行更改的情况下,如图21所示,在图19的基础上,所述路由确定装置还包括:
第三接收模块1806,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息;第三接收模块1806用于执行的操作可以参考图13所示的实施例中的S1304,本申请实施例在此不做赘述。
第三发送模块1807,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。第三发送模块1807用于执行的操作可以参考图13所示的实施例中的S1305,本申请实施例在此不做赘述。
可见,在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,第二转发节点在接收到报文后,会对报文中的指示信息进行替换。
可选地,所述第三发送模块1807用于:去除所述报文中的所述第一指示信息;所述第二转发节点基于所述第一指示信息和所述至少一个指示信息之间的对应关系,在所述报文中添加所述至少一个指示信息;所述第二转发节点向所述第四转发节点发送所述更新的报文。
可选地,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布,所述第一转发节点为向所述目的节点转发报文的第一个转发节点。比如,路由信息中各个转发节点的SID可以按照这些转发节点与PE1之间的路由距离由大到小或由小到大的顺序排布。其中,两个节点之间的路由距离可以通过:这两个节点之间传输报文所需经过的节点的数量表征。当两个节点之间传输报文所需经过的节点的较多时,说明这两个节点之间的路由距离较大;当两个节点之间传输报文所需经过的节点的较少时,说明这两个节点之间的路由距离较小。
可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint)。转发节点的endpoint能够标识SID对应的转发节点,可以用于快速确定SID对应的转发节点,以便于用于校验、快速定位和节点维护。endpoint可以是环回地址等信息。
可选地,在第二转发节点对获取到的路由信息中的下一跳标识进行更改的情况下,所述第一指示信息包括所述第二转发节点的绑定段标识。在第二转发节点对接收到的路由信息中的下一跳标识进行更改的情况下,该第一指示信息也可以不包括第二转发节点的绑定段标识,本申请对此不作唯一限定。
在采用集成的单元的情况下,本申请所提供的用于第二转发节点的路由确定装置可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对路由确定装置的动作进行控制管理,例如,可以用于支持路由确定装置执行图11、图12或图13中的动作。存储模块可以用于支持路由确定装置执行存储程序代码和数据等。通信模块,可以用于支持路由确定装置与其他设备的通信。
该处理模块、存储模块和通信模块,可以分别参考上述用于第一转发节点的路由确定装置中的处理模块、存储模块和通信模块,本申请实施例在此不做赘述。
在一个实施例中,当处理模块为处理器2002,存储模块为存储器2001,通信模块为通信接口2003时,本实施例所涉及的路由确定装置可以为具有图22所示结构的网络设备2000。可选地,该网络设备2000还可以包括总线2004,处理器2002、存储器2001和通信接口2003可以通过该总线2004连接。
在另一个实施例中,本实施例所涉及的路由确定装置可以为具有图23所示结构的网络设备2200。该网络设备2200包括主控板2201和接口板2202,其中,主控板2201包括:第一处理器22011和第一存储器22012,接口板2202包括第二处理器22021、第二存储器22022和接口卡22023。第一处理器22011用于调用第一存储器22012中的程序指令执行相应的处理功能,第二处理器22021用于调用第二存储器22022中的程序指令控制接口卡22023执行相应地接收和发送功能。该路由确定装置中的处理模块包括:图23中的第一处理器22011和第二处理器22021,存储模块包括第一存储器22011和第二存储器22022,通信模块包括接口卡22023。
图24为本申请实施例提供的另一种路由确定装置的框图,该路由过滤装置例如可以是前述图14中的转发节点。如图24所示,该路由确定装置包括:
第一获取模块2301,用于获取目的节点的第一路由信息;第一接收模块2301用于执行的操作可以参考图14所示的实施例中的S1401,本申请实施例在此不做赘述。
第一处理模块2302,用于根据第一路由信息生成第二路由信息,第二路由信息包括目的节点的节点标识、下一跳标识以及指示信息,指示信息用于指示该转发节点,下一跳标识为该转发节点的节点标识;第一处理模块2302用于执行的操作可以参考图14所示的实施例中的S1402,本申请实施例在此不做赘述。
第一发送模块2303,用于发送第二路由信息。第一发送模块2303用于执行的操作可以参考图14所示的实施例中的S1403,本申请实施例在此不做赘述。
由于转发节点生成的第二路由信息包括转发节点的指示信息。在源节点连接的转发节点在接收到该路由信息后,能够根据该路由信息中转发节点的指示信息,确定用于向目的节点发送报文的路由和传输路径,进而根据该路由和传输路径向目的节点转发报文。在该过程中,避免了源节点连接的转发节点通过接收控制报文确定传输路径,因此,减少了网络中传输的报文,减小了网络负载。
可选地,所述转发节点的指示信息包括:所述转发节点的段标识。可选地,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息(endpoint),本申请对此不作限定。
可选地,如图25所示,在图24的基础上,所述路由确定装置还包括:
第二接收模块2304,用于接收报文,所述报文包括所述目的节点的节点标识和所述指示信息;第二接收模块2304用于执行的操作可以参考图14所示的实施例中的S1404,本申请实施例在此不做赘述。
第二处理模块2305,用于根据所述目的节点的节点标识,将所述报文向所述目的节点转发或存储。第二发送模块2305用于执行的操作可以参考图14所示的实施例中的S1405,本申请实施例在此不做赘述。
在采用集成的单元的情况下,本申请所提供的用于转发节点的路由确定装置可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对路由确定装置的动作进行控制管理,例如,可以用于支持路由确定装置执行图14中的动作。存储模块可以用于支持路由确定装置执行存储程序代码和数据等。通信模块,可以用于支持路由确定装置与其他设备的通信。
该处理模块、存储模块和通信模块,可以分别参考上述用于第一转发节点的路由确定装置中的处理模块、存储模块和通信模块,本申请实施例在此不做赘述。
在一个实施例中,当处理模块为处理器2502,存储模块为存储器2501,通信模块为通信接口2503时,本实施例所涉及的路由确定装置可以为具有图26所示结构的网络设备2500。可选地,该网络设备2500还可以包括总线2504,处理器2502、存储器2501和通信接口2503可以通过该总线2504连接。
在另一个实施例中,本实施例所涉及的路由确定装置可以为具有图27所示结构的网络设备2600。该网络设备2600包括主控板2601和接口板2602,其中,主控板2601包括:第一处理器26011和第一存储器26012,接口板2602包括第二处理器26021、第二存储器26022和接口卡26023。第一处理器26011用于调用第一存储器26012中的程序指令执行相应的处理功能,第二处理器26021用于调用第二存储器26022中的程序指令控制接口卡26023执行相应地接收和发送功能。该路由确定装置中的处理模块包括:图27中的第一处理器26011和第二处理器26021,存储模块包括第一存储器26011和第二存储器26022,通信模块包括接口卡26023。
本申请实施例提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序用于执行本申请实施例提供的任一路由确定方法中任一转发节点用于执行的方法。
本申请实施例提供了一种包含指令的计算机程序产品,当计算机程序产品在网络设备上运行时,使得网络设备执行本申请实施例提供的任一路由确定方法中任一转发节点用于执行的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。
本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的系统、设备和装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备(例如终端设备)上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (40)
1.一种路由确定方法,其特征在于,所述方法包括:
第一转发节点接收第二转发节点发送的路由信息,所述路由信息包括目的节点的节点标识,以及至少一个指示信息,所述至少一个指示信息分别与至少一个第三转发节点一一对应,所述第二转发节点属于所述至少一个第三转发节点;
所述第一转发节点根据所述路由信息向所述目的节点发送报文,所述报文包括所述至少一个指示信息,所述至少一个指示信息用于指示所述报文沿所述至少一个第三转发节点转发。
2.根据权利要求1所述的方法,其特征在于,所述第一转发节点根据所述路由信息向所述目的节点发送报文,包括:
所述第一转发节点根据所述路由信息,建立所述目的节点的节点标识与第一隧道信息的对应关系,所述第一隧道信息包括所述至少一个指示信息;
所述第一转发节点根据所述第一隧道信息向所述目的节点发送所述报文。
3.根据权利要求1所述的方法,其特征在于,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与所述第一转发节点之间的路由距离按序排布。
4.根据权利要求3所述的方法,其特征在于,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息。
5.根据权利要求3或4所述的方法,其特征在于,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述路由信息还包括下一跳标识,所述下一跳标识包括所述第四转发节点的节点标识。
6.根据权利要求2所述的方法,其特征在于,所述第一转发节点根据所述第一隧道信息向所述目的节点发送所述报文,包括:
所述第一转发节点根据所述目的节点的节点标识,获取所述目的节点的节点标识对应的多个隧道信息,所述多个隧道信息对应多个隧道,所述多个隧道信息包括第一隧道信息;
所述第一转发节点根据隧道约束条件,从所述多个隧道信息中确定所述第一隧道信息;
所述第一转发节点根据确定的所述第一隧道信息向所述目的节点发送所述报文。
7.根据权利要求3或4所述的方法,其特征在于,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述至少一个指示信息包括第一指示信息,所述第一指示信息用于指示所述第四转发节点,所述第一指示信息的段标识类型为绑定段标识。
8.一种路由确定方法,其特征在于,所述方法包括:
第二转发节点获取路由信息,所述路由信息包括目的节点的节点标识以及至少一个指示信息,所述至少一个指示信息用于指示至少一个第三转发节点;
所述第二转发节点在所述路由信息中添加第一指示信息以获得更新的路由信息,所述第一指示信息用于指示所述第二转发节点;
所述第二转发节点向第一转发节点发送所述更新的路由信息。
9.根据权利要求8所述的方法,其特征在于,所述更新的路由信息包括所述第一指示信息和所述至少一个指示信息。
10.根据权利要求8所述的方法,其特征在于,所述第二转发节点获取的所述路由信息中还包括下一跳标识,所述第二转发节点在所述路由信息中添加第一指示信息以获得更新的路由信息,包括:
所述第二转发节点将所述下一跳标识更新为所述第二转发节点的节点标识;
所述第二转发节点将所述至少一个指示信息替换为所述第一指示信息,以在所述路由信息中添加所述第一指示信息;
所述更新的路由信息包括所述第二转发节点的节点标识和所述第一指示信息。
11.根据权利要求8或9所述的方法,其特征在于,在所述第二转发节点发送所述更新的路由信息之后,所述方法还包括:
所述第二转发节点接收向所述目的节点发送的报文,所述报文包括所述第一指示信息和所述至少一个指示信息;
所述第二转发节点向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。
12.根据权利要求8或10所述的方法,其特征在于,在所述第二转发节点发送所述更新的路由信息之后,所述方法还包括:
所述第二转发节点接收向所述目的节点发送的报文,所述报文包括所述第一指示信息;
所述第二转发节点向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。
13.根据权利要求12所述的方法,其特征在于,所述第二转发节点向第四转发节点发送更新的报文,包括:
所述第二转发节点去除所述报文中的所述第一指示信息;
所述第二转发节点基于所述第一指示信息和所述至少一个指示信息之间的对应关系,在所述报文中添加所述至少一个指示信息;
所述第二转发节点向所述第四转发节点发送所述更新的报文。
14.根据权利要求8至13任一所述的方法,其特征在于,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布,所述第一转发节点为向所述目的节点转发报文的第一个转发节点。
15.根据权利要求14所述的方法,其特征在于,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息。
16.根据权利要求8或10所述的方法,其特征在于,所述第一指示信息包括所述第二转发节点的绑定段标识。
17.一种路由确定方法,其特征在于,所述方法包括:
转发节点获取目的节点的第一路由信息;
所述转发节点根据所述第一路由信息生成第二路由信息,所述第二路由信息包括所述目的节点的节点标识、下一跳标识以及指示信息,所述指示信息用于指示所述转发节点,所述下一跳标识为所述转发节点的节点标识;
所述转发节点发送所述第二路由信息。
18.根据权利要求17所述的方法,其特征在于,所述转发节点的指示信息包括:所述转发节点的段标识。
19.根据权利要求17或18所述的方法,其特征在于,所述转发节点发送所述第二路由信息后,所述方法还包括:
所述转发节点接收报文,所述报文包括所述目的节点的节点标识和所述指示信息;
所述转发节点根据所述目的节点的节点标识,将所述报文向所述目的节点转发或存储。
20.一种路由确定装置,其特征在于,所述路由确定装置包括:
接收模块,用于接收第二转发节点发送的路由信息,所述路由信息包括目的节点的节点标识,以及至少一个指示信息,所述至少一个指示信息分别与至少一个第三转发节点一一对应,所述第二转发节点属于所述至少一个第三转发节点;
发送模块,用于根据所述路由信息向所述目的节点发送报文,所述报文包括所述至少一个指示信息,所述至少一个指示信息用于指示所述报文沿所述至少一个第三转发节点转发。
21.根据权利要求20所述的路由确定装置,其特征在于,所述发送模块用于:
根据所述路由信息,建立所述目的节点的节点标识与第一隧道信息的对应关系,所述第一隧道信息包括所述至少一个指示信息;
根据所述第一隧道信息向所述目的节点发送所述报文。
22.根据权利要求20所述的路由确定装置,其特征在于,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布。
23.根据权利要求22所述的路由确定装置,其特征在于,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息。
24.根据权利要求22或23所述的路由确定装置,其特征在于,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述路由信息还包括下一跳标识,所述下一跳标识包括所述第四转发节点的节点标识。
25.根据权利要求21所述的路由确定装置,其特征在于,所述发送模块用于:
根据所述目的节点的节点标识,获取所述目的节点的节点标识对应的多个隧道信息,所述多个隧道信息对应多个隧道,所述多个隧道信息包括第一隧道信息;
根据隧道约束条件,从所述多个隧道信息中确定所述第一隧道信息;
根据确定的所述第一隧道信息向所述目的节点发送所述报文。
26.根据权利要求22或23所述的路由确定装置,其特征在于,所述至少一个第三转发节点包括第四转发节点,所述第四转发节点为所述至少一个第三转发节点中与所述第一转发节点路由距离最大的节点,所述至少一个指示信息包括第一指示信息,所述第一指示信息用于指示所述第四转发节点,所述第一指示信息的段标识类型为绑定段标识。
27.一种路由确定装置,其特征在于,所述路由确定装置包括:
第一获取模块,用于获取路由信息,所述路由信息包括目的节点的节点标识以及至少一个指示信息,所述至少一个指示信息用于指示至少一个第三转发节点;
处理模块,用于在所述路由信息中添加第一指示信息以获得更新的路由信息,所述第一指示信息用于指示第二转发节点;
第一发送模块,用于向第一转发节点发送所述更新的路由信息。
28.根据权利要求27所述的路由确定装置,其特征在于,所述更新的路由信息包括所述第一指示信息和所述至少一个指示信息。
29.根据权利要求27所述的路由确定装置,其特征在于,所述第一获取模块获取的所述路由信息中还包括下一跳标识,所述处理模块用于:
将所述下一跳标识更新为所述第二转发节点的节点标识;
将所述至少一个指示信息替换为所述第一指示信息,以在所述路由信息中添加所述第一指示信息;
所述更新的路由信息包括所述第二转发节点的节点标识和所述第一指示信息。
30.根据权利要求27或28所述的路由确定装置,其特征在于,所述路由确定装置还包括:
第二接收模块,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息和所述至少一个指示信息;
第二发送模块,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。
31.根据权利要求27或29所述的路由确定装置,其特征在于,所述路由确定装置还包括:
第三接收模块,用于接收向所述目的节点发送的报文,所述报文包括所述第一指示信息;
第三发送模块,用于向第四转发节点发送更新的报文,所述更新的报文包括所述至少一个指示信息,不包括所述第一指示信息,所述第四转发节点属于所述至少一个第三转发节点。
32.根据权利要求31所述的路由确定装置,其特征在于,所述第三发送模块用于:
去除所述报文中的所述第一指示信息;
基于所述第一指示信息和所述至少一个指示信息之间的对应关系,在所述报文中添加所述至少一个指示信息;
向所述第四转发节点发送所述更新的报文。
33.根据权利要求27至32任一所述的路由确定装置,其特征在于,所述至少一个指示信息包括所述至少一个第三转发节点的段标识,所述至少一个第三转发节点的段标识根据所述至少一个第三转发节点与第一转发节点之间的路由距离按序排布,所述第一转发节点为向所述目的节点转发报文的第一个转发节点。
34.根据权利要求33所述的路由确定装置,其特征在于,所述至少一个指示信息还包括:所述至少一个第三转发节点的端点信息。
35.根据权利要求27或29所述的路由确定装置,其特征在于,所述第一指示信息包括所述第二转发节点的绑定段标识。
36.一种路由确定装置,其特征在于,所述路由确定装置包括:
第一获取模块,用于获取目的节点的第一路由信息;
第一处理模块,用于根据所述第一路由信息生成第二路由信息,所述第二路由信息包括所述目的节点的节点标识、下一跳标识以及指示信息,所述指示信息用于指示转发节点,所述下一跳标识为所述转发节点的节点标识;
第一发送模块,用于发送所述第二路由信息。
37.根据权利要求36所述的路由确定装置,其特征在于,所述转发节点的指示信息包括:所述转发节点的段标识。
38.根据权利要求36或37所述的路由确定装置,其特征在于,所述路由确定装置还包括:
第二接收模块,用于接收报文,所述报文包括所述目的节点的节点标识和所述指示信息;
第二处理模块,用于根据所述目的节点的节点标识,将所述报文向所述目的节点转发或存储。
39.一种网络设备,其特征在于,所述网络设备包括:处理器和存储器,所述存储器中存储有程序,所述处理器用于调用所述存储器中存储的程序,以使得所述网络设备执行如权利要求1至19任一项所述的路由确定方法。
40.一种计算机存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序用于执行权利要求1至19任一项所述的路由确定方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177892.8A CN113395206B (zh) | 2020-03-13 | 2020-03-13 | 路由确定方法、装置和网络设备 |
EP21767759.0A EP4113918A4 (en) | 2020-03-13 | 2021-03-01 | ROUTE DETERMINATION METHOD, APPARATUS AND NETWORK DEVICE |
JP2022554864A JP7475473B2 (ja) | 2020-03-13 | 2021-03-01 | ルート決定方法及び装置並びにネットワーク・デバイス |
PCT/CN2021/078532 WO2021179935A1 (zh) | 2020-03-13 | 2021-03-01 | 路由确定方法、装置和网络设备 |
US17/942,827 US20230006917A1 (en) | 2020-03-13 | 2022-09-12 | Route Determining Method and Apparatus and Network Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177892.8A CN113395206B (zh) | 2020-03-13 | 2020-03-13 | 路由确定方法、装置和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113395206A true CN113395206A (zh) | 2021-09-14 |
CN113395206B CN113395206B (zh) | 2023-06-02 |
Family
ID=77616407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010177892.8A Active CN113395206B (zh) | 2020-03-13 | 2020-03-13 | 路由确定方法、装置和网络设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230006917A1 (zh) |
EP (1) | EP4113918A4 (zh) |
JP (1) | JP7475473B2 (zh) |
CN (1) | CN113395206B (zh) |
WO (1) | WO2021179935A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114221891A (zh) * | 2021-12-13 | 2022-03-22 | 中国电信股份有限公司 | 绑定段标识拼接方法、路由反射器、自治域和跨域网络 |
CN116366518A (zh) * | 2021-12-27 | 2023-06-30 | 苏州盛科通信股份有限公司 | 一种路由信息编辑的方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052207A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 一种可移动虚拟专用网的实现方法及系统 |
CN102217378A (zh) * | 2011-05-27 | 2011-10-12 | 华为技术有限公司 | 探测路径信息的方法、设备及系统 |
CN103036786A (zh) * | 2011-09-30 | 2013-04-10 | 华为技术有限公司 | 基于性能的路由方法和设备 |
US20170150418A1 (en) * | 2015-11-23 | 2017-05-25 | Electronics And Telecommunications Research Institute | Mobile ad-hoc routing apparatus and method |
CN107342939A (zh) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | 传输数据的方法和装置 |
CN107509226A (zh) * | 2016-06-14 | 2017-12-22 | 屈银翔 | 一种有选择传输的路由寻址方法及装置 |
CN107925624A (zh) * | 2016-07-01 | 2018-04-17 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN108234317A (zh) * | 2017-12-14 | 2018-06-29 | 北京华为数字技术有限公司 | 一种隧道环回方法及其相关设备 |
CN109962850A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 实现分段路由的方法和控制器及计算机可读存储介质 |
CN110535812A (zh) * | 2018-05-25 | 2019-12-03 | 华为技术有限公司 | 报文传输方法、通信装置和系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001197196A (ja) | 2000-01-12 | 2001-07-19 | Sony Corp | 携帯端末および携帯端末の表示用情報管理方法 |
JP3676354B2 (ja) | 2002-09-10 | 2005-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | パケット通信システム、ノード、中継ノード、使用済みアドレスを削除可能な中継ノード、及びパケット通信方法 |
CN101090355B (zh) * | 2007-07-24 | 2010-09-22 | 杭州华三通信技术有限公司 | 虚拟专用网隧道的标签交换路径建立方法、系统和设备 |
JP5915454B2 (ja) | 2011-09-01 | 2016-05-11 | 富士通株式会社 | ネットワークシステム |
CN103368806A (zh) * | 2012-03-26 | 2013-10-23 | 华为技术有限公司 | 数据流的处理方法和系统以及设备 |
US8837300B2 (en) * | 2012-06-05 | 2014-09-16 | Cisco Technology, Inc. | Managing trace requests over tunneled links |
US10263881B2 (en) | 2016-05-26 | 2019-04-16 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
US10291434B2 (en) * | 2016-07-26 | 2019-05-14 | Avago Technologies International Sales Pte. Limited | Multi-destination packet forwarding for a multi-homed device in a virtual network |
US10454821B2 (en) * | 2016-10-14 | 2019-10-22 | Cisco Technology, Inc. | Creating and maintaining segment routed traffic engineering policies via border gateway protocol |
US10516610B2 (en) * | 2018-03-15 | 2019-12-24 | Cisco Technology, Inc. | Segment routing packet policies and functions providing processing signaling and packet forwarding efficiencies in a network |
-
2020
- 2020-03-13 CN CN202010177892.8A patent/CN113395206B/zh active Active
-
2021
- 2021-03-01 WO PCT/CN2021/078532 patent/WO2021179935A1/zh unknown
- 2021-03-01 EP EP21767759.0A patent/EP4113918A4/en active Pending
- 2021-03-01 JP JP2022554864A patent/JP7475473B2/ja active Active
-
2022
- 2022-09-12 US US17/942,827 patent/US20230006917A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052207A (zh) * | 2006-04-05 | 2007-10-10 | 华为技术有限公司 | 一种可移动虚拟专用网的实现方法及系统 |
CN102217378A (zh) * | 2011-05-27 | 2011-10-12 | 华为技术有限公司 | 探测路径信息的方法、设备及系统 |
CN103036786A (zh) * | 2011-09-30 | 2013-04-10 | 华为技术有限公司 | 基于性能的路由方法和设备 |
CN105577543A (zh) * | 2011-09-30 | 2016-05-11 | 华为技术有限公司 | 基于性能的路由方法和设备 |
US20170150418A1 (en) * | 2015-11-23 | 2017-05-25 | Electronics And Telecommunications Research Institute | Mobile ad-hoc routing apparatus and method |
CN107342939A (zh) * | 2016-04-29 | 2017-11-10 | 华为技术有限公司 | 传输数据的方法和装置 |
CN107509226A (zh) * | 2016-06-14 | 2017-12-22 | 屈银翔 | 一种有选择传输的路由寻址方法及装置 |
CN107925624A (zh) * | 2016-07-01 | 2018-04-17 | 华为技术有限公司 | 基于业务功能链sfc的报文转发方法、装置和系统 |
CN108234317A (zh) * | 2017-12-14 | 2018-06-29 | 北京华为数字技术有限公司 | 一种隧道环回方法及其相关设备 |
CN109962850A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 实现分段路由的方法和控制器及计算机可读存储介质 |
CN110535812A (zh) * | 2018-05-25 | 2019-12-03 | 华为技术有限公司 | 报文传输方法、通信装置和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114221891A (zh) * | 2021-12-13 | 2022-03-22 | 中国电信股份有限公司 | 绑定段标识拼接方法、路由反射器、自治域和跨域网络 |
CN114221891B (zh) * | 2021-12-13 | 2023-08-29 | 中国电信股份有限公司 | 绑定段标识拼接方法、路由反射器、自治域和跨域网络 |
CN116366518A (zh) * | 2021-12-27 | 2023-06-30 | 苏州盛科通信股份有限公司 | 一种路由信息编辑的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2023517248A (ja) | 2023-04-24 |
EP4113918A4 (en) | 2023-08-23 |
JP7475473B2 (ja) | 2024-04-26 |
CN113395206B (zh) | 2023-06-02 |
WO2021179935A1 (zh) | 2021-09-16 |
US20230006917A1 (en) | 2023-01-05 |
EP4113918A1 (en) | 2023-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020156105A1 (zh) | 数据转发方法及相关装置 | |
US10263808B2 (en) | Deployment of virtual extensible local area network | |
CN108429680B (zh) | 一种基于虚拟私有云的路由配置方法、系统、介质及设备 | |
CN106921572B (zh) | 一种传播QoS策略的方法、装置及系统 | |
CN112511444A (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
HU218402B (hu) | Eljárás és berendezés több hozzáférési ponttal rendelkező forrás átirányító kommunikációs hálózatban mobil egységekkel folytatott vezeték nélküli kommunikációra | |
CN112532563B (zh) | 报文的发送方法和装置 | |
CN110611616A (zh) | 一种基于Radius服务器的流量调度方法、系统、设备和介质 | |
US20230006917A1 (en) | Route Determining Method and Apparatus and Network Device | |
CN105814944A (zh) | 基于显式信令的拓扑发现 | |
US20190215191A1 (en) | Deployment Of Virtual Extensible Local Area Network | |
CN115102900A (zh) | 报文转发方法、系统、存储介质及电子装置 | |
CN117118886A (zh) | 报文转发方法、头端设备、控制器、设备及存储介质 | |
CN113904981B (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 | |
CN112787932B (zh) | 一种用于生成转发信息的方法、装置和系统 | |
WO2018010576A1 (zh) | 路径建立方法、装置及网络节点 | |
CN108768845B (zh) | 一种多归属主机路由同步方法及装置 | |
CN117527690A (zh) | 网络寻址方法、装置、通信设备和存储介质 | |
CN114079640B (zh) | 一种数据处理方法、用户面功能及装置 | |
CN112910771B (zh) | 连接建立方法、装置、设备和存储介质 | |
CN112838985B (zh) | 一种异构网络通信方法、系统和控制器 | |
CN104168186B (zh) | 一种基于网桥的报文转发方法及系统 | |
JP2017175522A (ja) | ネットワークシステム、制御装置、方法およびプログラム | |
CN115118544B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |