CN116648885A - 一种路由传输方法及装置 - Google Patents
一种路由传输方法及装置 Download PDFInfo
- Publication number
- CN116648885A CN116648885A CN202080107543.7A CN202080107543A CN116648885A CN 116648885 A CN116648885 A CN 116648885A CN 202080107543 A CN202080107543 A CN 202080107543A CN 116648885 A CN116648885 A CN 116648885A
- Authority
- CN
- China
- Prior art keywords
- network device
- bgp route
- route
- node
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/16—Multipoint 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/22—Alternate 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
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
本申请实施例公开了一种报文传输方法及装置,当第一网络设备获取到第一BGP路由时,可以不对第一BGP路由进行迭代操作,直接将第一BGP路由发送给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代操作,在第一BGP路由迭代失败时,第一网络设备仍向第二网络设备发送第一BGP路由。也就是,无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。
Description
本申请涉及通信技术领域,具体涉及一种路由传输方法及装置。
在数据传输过程中,为保证内部边界网关协议(internal border gateway protocol,IBGP)对等体(peer)之间的连通性,需要在IBGP对等体之间建立全连接。如图1a所示,在一个自治域(AS)中包括4个路由器(IBGP对等体),为保证路由器之间的联通性,需要建立6条IBGP连接。当AS包括较多的路由器时,需要建立的IBGP连接数较大,对网络资源和控制器资源的消耗非常大。为解决上述问题,提出利用路由反射方案。具体为,在一个AS内,将其中一个路由器作为路由反射器(router reflector,RR),其它路由器作为客户机分别与RR建立IBGP连接,客户机之间无需建立IBGP连接,RR向各个客户机传递路由信息,或称反射路由信息。如图1b所示,将R0作为RR,分别与R1、R2和R3之间建立IBGP连接。
在实际应用中,按照当前BGP协议标准,一台网络设备在接收到路由后,需要通过路由中携带的下一跳信息,校验该路由下一跳的可达性,只有确认路由下一跳可达时,才对该路由进行转发。如此,对于支持BGP协议的RR而言,RR在接收到路由后,也需对路由下一跳的可达性进行校验,仅当确定下一跳路由可达时对该路由进行反射。例如,图1b所示,RR接收到R1发送的路由信息后,需要校验RR到达R1的路由是否处于活跃状态。当RR到达R1的路由处于活跃状态时,RR将R1发送的路由信息反射给R2和R3。然而,在一些应用场景中,RR仅提供路由反射功能,无需对数据报文进行转发,RR执行校验的操作影响路由发布效率。此外,在一些可能的应用场景中,如利用基于互联网协议版本6的段路由协议(segment routing on internet protocol version 6,SRv6)公网传输互联网协议版本4(internet protocol version 4,IPv4)的数据的场景下,网络设备通过段标识(segment identity,SID)属性检验路由的可达性。然而,RR通常没有位置(locator)信息,导致RR无法通过SID迭代路由。为保证路由信息的正常反射,需要为RR配置缺省路由,以便在确定缺省路由处于活跃状态时,RR再将接收的路由反射出去。这样,增加额外部署业务的工作量。
发明内容
有鉴于此,本申请实施例提供一种路由传输方法及装置,无需校验下一跳可达性,减少额外业务的部署。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,提供了一种报文传输方法,该方法包括:第一网络设备获取第一边界网关协议BGP路由;第一网络设备不对第一BGP路由进行迭代,直接将第一BGP路由转发给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代,在迭代失败时,第一网络设备仍向第二网络设备转发第一BGP路由。也就是,在该实现方案中,第一网络设备可以为网络中的任意网络设备,当需要广播第一BGP路由时,第一网络设备在获取第一BGP路由后,可以根据本地配置的策略决定是否对第一BGP路由进行 迭代。无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。例如,第一网络设备为路由反射器,在路由反射器不参与后续报文转发的情况下,可以不对第一BGP路由进行迭代,直接将该第一BGP路由转发给第二网络设备。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代成功时,所述方法还包括:第一网络设备根据第一BGP路由知道流量转发。在该实现方式中,在第一网络设备参与后续报文转发时,其对第一BGP路由迭代成功后,可以将第一BGP路由下发至转发面,以便在接收到流量时,可以根据第一BGP路由转发流量。
在一种具体的实施方式中,第一网络设备具有路由反射功能。例如,第一网络设备为路由反射器,其在接收到第一BGP路由后,可以不对第一BGP路由进行迭代,直接将接收到第一BGP路由反射给第二网络设备。
在一种具体的实施方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。在该实现方式中,对于SRv6网络,由于各网络设备是根据段标识转发报文,因此,在广播第一BGP路由时,该第一BGP路由将包括指示目的网络设备的第一段标识SID,以使得其它网络设备可以根据该第一段标识SID将报文转发至目的网络设备。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代失败时,所述第一网络设备仍向第二网络设备转发第一BGP路由,包括:第一网络设备根据本地未存储第一SID,确定第一BGP路由迭代失败;第一网络设备向第二网络设备转发第一BGP路由。也就是,在SRv6网络中,如果第一网络设备未存储第一SID,其不具备感知SID的能力,无法根据SID进行路由迭代,则确定第一BGP路由迭代失败。
在一种具体的实施方式中,在第一网络设备对第一BGP路由迭代成功时,所述方法还包括:第一网络设备使用第二SID替换第一BGP路由中的第一SID,以获取更新的第一BGP路由;所述第一网络设备向第二网络设备发送更新的第一BGP路由。在该实现方式中,在第一网络设备对第一BGP路由迭代成功时,表明第一网络设备具有感知SID的能力,如果第一网络设备分配由对应的第二SID,则将第一BGP路由中的第一SID替换为第二SID,更新第一BGP路由,从而使得第二网络设备可以学习到达第一网络设备的路由。
在一种具体的实施方式中,所述第一网络设备获取第一BGP路由,包括:所述第一网络设备从第三网络设备获取所述第一BGP路由;所述第一网络设备根据所述第一BGP路由指导流量转发,包括:所述第一网络设备根据所述第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
在一种具体的实施方式中,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种具体的实施方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
在一种具体的实施方式中,所述第一网络设备与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述第一网络设备与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种具体的实施方式中,所述第一网络设备为第一路由反射器RR。
在一种具体的实施方式中,所述第一网络设备为一级RR或二级RR。
在一种具体的实施方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
在一种具体的实施方式中,所述第一网络设备和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
第二方面,本申请实施例提供了一种报文传输装置,其特征在于,所述装置包括:获取单元,用户获取第一边界网关协议BGP路由;发送单元,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由;所述发送单元,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
在一种具体的实施方式中,在对所述第一BGP路由迭代成功时,所述发送单元,还用于根据所述第一BGP路由指导流量转发。
在一种具体的实施方式中,所述装置具有路由反射功能。
在一种具体的实施方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
在一种具体的实施方式中,在对所述第一BGP路由迭代失败时,所述发送单元,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
在一种具体的实施方式中,在对所述第一BGP路由迭代成功时,所述装置还包括:处理单元,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述发送单元,用于向所述第二网络设备发送更新的第一BGP路由。
在一种具体的实施方式中,所述获取单元,具体用于从第三网络设备获取所述第一BGP路由;所述发送单元,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
在一种具体的实施方式中,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种具体的实施方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互 联网协议的段路由流量工程SRv6-TE隧道。
在一种具体的实施方式中,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种具体的实施方式中,所述装置为第一路由反射器RR。
在一种具体的实施方式中,所述装置为一级RR或二级RR。
在一种具体的实施方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
在一种具体的实施方式中,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
第三方面,提供了一种通信设备,包括:处理器,存储器;所述存储器,用于存储计算机可读指令或者计算机程序;所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述通信设备实现第一方面所述的报文传输方法。
第四方面,提供了一种计算机可读存储介质包括指令或计算机程序,当其在计算机上运行时,使得计算机执行第一方面所述的报文传输方法。
根据本申请实施例提供的技术方案,当第一网络设备获取到第一BGP路由时,可以不对第一BGP路由进行迭代操作,直接将第一BGP路由发送给第二网络设备。或者,第一网络设备对第一BGP路由进行迭代操作,在第一BGP路由迭代失败时,第一网络设备仍向第二网络设备发送第一BGP路由。也就是,无论第一网络设备是否进行迭代,或者在迭代失败的情况下,第一网络设备均可以将所接收的第一BGP路由转发给第二网络设备,以使得第二网络设备可以学习第一BGP路由,无需部署额外业务,提高第一网络设备发布第一BGP路由的效率。
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为一种BGP网络架构中全连接示意图;
图1b为一种BGP网络架构中路由反射示意图;
图2a为本申请实施例提供的一种应用场景示意图;
图2b为本申请实施例提供的另一种应用场景示意图;
图3为本申请实施例提供的一种路由传输流程图;
图4为本申请实施例提供的另一种路由传输流程图;
图5为本申请实施例提供的一种报文传输装置结构图;
图6为本申请实施例提供的一种通信设备结构图;
图7为本申请实施例提供的另一种通信设备结构图。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附 图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
为便于理解本申请的具体实现,下面将先对本申请涉及的网元和技术名称进行说明。
段路由(segment routing,SR)协议是一种源路由协议,由源节点为应用报文指定路径,并将路径转换成一个有序的段(Segment)列表封装到报文头中,路径上的中间节点只需要根据报文头中指定的路径进行转发。SR的基本理念是把网络分为不同的段(Segment),通过将这些段拼接起来指导报文按指定的路径转发,具体利用段标识(segment identifier,SID)来标识一个段。当SR部署在IPv6数据平面上时,可称为SRv6技术。
在SRv6应用中,转发路径信息由包含段标识列表(SID list)的段路由头(segment routing header,SRH)携带。SID list包括依次排列的多个段标识(SID),分别表示多个段,每个段为处理报文的指令或指令集合。每个SID可以包括位置(locator)字段和功能(function)字段。其中,locator字段的内容也可以简称为locator,是在网络拓扑中分配给一个网络节点的标识,用于在网络拓扑中标识该网络节点。function字段的内容也可以简称为function,用于表示处理报文的指令或指令集合,相当于计算机指令的操作码。当function所表示的指令或指令集合在网络节点上被执行时,将使得网络节点执行相应的转发行为(behavior)。
组播虚拟专用网(multicast virtual private network,MVPN),是指在边界网关协议(BGP)/多协议标签交换(multi-protocol label switching,MPLS)网络的虚拟专用网(VPN)中实现组播业务。在MVPN网络中,提供了基于BGP或隧道的信令传递模式和独立组播稀疏模式(protocol independent multicast-sparse mode,PIM-SM)、独立组播-源特定组播(protocol independent multicast-source specific multicast,PIM-SSM)、组播标签分发协议(multicast label distribution protocol,MLDP)等多种数据承载模式。
路由迭代(route recursion),是指由于BGP协议本身的特殊性,它产生的路由的下一跳可能不是当前路由器直接相连的网络设备。常见的一个原因是:对于任意两个相邻的路由器,在其为内部边界网关协议(Internal BGP,IBGP)邻居时,发布路由信息时不改变下一跳。这种情况下为了能够将报文正确转发出去,路由器必须先找到一个直接可达的地址,通过这个地址到达路由转发表中指示的下一跳所对应的网络设备。在上述过程中,去往直接可达地址的路由被称为依赖路由,BGP路由依赖这些路由指导报文转发,根据下一跳地址找到依赖路由的过程即可称为路由迭代。
参见图2a所示的一种应用场景示意图,在该网络系统中,以包括一级路由反射设备为例进行说明。具体包括,路由反射设备RR1、网络设备PE1和网络设备PE2和网络设备P,其中,网络设备PE1和网络设备PE2作为路由反射设备RR1对应的客户机,PE1与PE2互为peer,网络设备P为网络设备PE1与网络设备PE2之间的转发设备,例如可以是服务提供商网络中的骨干设备。其中,RR1、PE1与PE2可以为基于IPv6的段路由尽力而为而为(segment routing best-effort,SRv6-BE)隧道上的网络设备;或者,RR1、PE1和PE2可以为基于IPv6的段路由流量工程((segment routing traffic engineering SRv6-TE)隧道上的网络设备。
在一种可能的情况下,路由反射设备RR1具备路由反射功能,但不具备流量转发功能, 则在该情况下,RR1将从PE1接收的BGP路由反射给PE2,但并不指导后续流量转发。或者,在另一种可能的情况下,RR1同时具有路由反射功能和转发功能,在该情况下,RR1不仅将从PE1接收的BGP路由发送给PE2,还要建立到达PE1的路由,以便指导后续流量转发。该情况下,RR1实际可作为PE1与PE2之间的转发节点,例如,图2a中的RR1和P设备在此情况下可以为同一网络设备,该P设备因此同时具有实现路由反射功能和流量转发功能的部件。
再例如图2b所示的另一种应用场景示意图,在该网络系统中以包括两级路由反射设备为例进行说明。具体地,该网络系统包括一级路由反射设备RR1和二级路由反射设备RR2。其中,一级路由反射设备RR1分别与PE1、RR2连接,此时PE1和RR2相对于RR1也可以称为RR1的客户机,PE1与RR2互为peer。二级路由反射设备RR2分别与PE2和PE3连接,此时PE2和PE3相对于RR2为执行客户机角色的网络设备,PE2与PE3互为peer。其中,PE1、RR1、RR2以及PE2可以为一条SRv6-BE隧道上的网络设备;PE1、RR1、RR2以及PE3可以为另一条SRv6-BE隧道上的网络设备。或者,PE1、RR1、RR2以及PE2可以为一条SRv6-TE隧道上的网络设备;PE1、RR1、RR2以及PE3可以为另一条SRv6-TE隧道上的网络设备。
其中,图2a和图2b示出的系统所包括的各个网络设备也可以称为节点,为网络系统中具有路由反射功能和/或报文转发功能的设备,例如,可以为路由器、交换机、转发器、反射器或者标签交换路由器(label switching router,LSR)等,具体可以根据实际应用场景和需求设置各个节点可实现的功能。在图2a所示的应用场景下,存在一条路由传输路径PE1-RR-PE2。在图2b所示的应用场景下,存在两条路由传输路径,即PE1-RR1-RR2-PE2和PE1-RR1-RR2-PE3。
为便于理解,下面将结合图2b所示的网络系统结构为例进行说明,例如,PE1为第一节点201、RR1为第二节点202、RR2为第三节点203、PE2或PE3为第四节点204。下述实施例中命名的第一节点201、第二节点202、第三节点203和第四节点204角色主要用于区分描述发布BGP路由的过程中不同角色的网络设备可以执行的相应功能,而不同角色的网络设备在网络拓扑中所处的位置及个数可以结合不同的业务场景具体确定,其中,在一些可能的场景下,承担某种角色的网络设备在传输路径上的个数可以为0。
参见图3,该图为本申请实施例提供的一种路由传输方法的流程图,如图3所示,该方法可以包括:
S301:第一节点201获取第一BGP路由。
本实施例中,在第一节点201为报文传输时对应的出口设备时,第一节点201可以生成第一BGP路由,该第一BGP路由中可以携带第一节点201的设备标识,该设备标识可以唯一地标识第一节点201,如第一节点201的接口互联网协议(Internet protocol,IP)地址或环回(loopback)地址。作为发布路由的第一节点201,第一BGP路由中的私网路由还可以携带第一节点201分配的业务标识,如VPN标识,以使得网络中的邻居节点可以学习到达第一节点201的私网路由,并可以在向第一节点201发送的该业务的报文中携带该业务标识,如携带在诸如目的地址(destination address,DA)字段,以指示该第一节点201接收并转发该报文。
在一种示例中,当第一节点201位于MVPN网络时,第一BGP路由中的下一跳属性字段 所携带的设备标识可以为第一节点201的接口地址、或环回loopback地址等。例如,以图2b为例,第一节点201为网络设备PE1,该网络设备PE1对应的loopback地址为1::1\128,则第一BGP路由中的下一跳字段为1::1\128。
在另一种示例中,当第一节点201位于SRv6网络时,设备标识可以为指示网络设备的段标识SID,即第一节点201对应的段标识SID。例如,以图2b为例,第一节点201为网络设备PE1,该网络设备PE1的段标识SID为1001::1,则第一BGP路由中的第一段标识SID为1001::1。进一步地,当第一节点201为SRv6-BE隧道上的网络设备时,第一节点201在发布第一BGP路由时,该第一BGP路由中目的地址DA字段所对应的段标识SID保持不变,均指示第一节点201,以使得网络中各个节点均可以学习到达第一节点201的路由。当第一节点201为SRv6-TE隧道上的网络设备时,第一节点201在发布第一BGP路由的过程中,第一BGP路由中目的地址DA字段所对应的段标识是在不断变化的,位于网络中的各个节点在接收到其邻居节点发送的BGP路由时,当中间节点存在对应的段标识时,中间节点可以更新第一BGP路由中的DA字段,以使得DA字段所对应的段标识为当前节点的段标识,进而使得该中间节点对应的邻居节点接收到该中间节点发送的BGP路由时,可以学习到达该中间节点的路由。
S302:第一节点201向第二节点202发送第一BGP路由。
在第一节点201获得自身对应的第一BGP路由,则根据BGP路由协议向网络中的其他邻居节点发布第一BGP路由,以使得其他邻居节点可以学习到达第一节点201的路由,进而建立到达第一节点201的转发路径。其中,第一节点201与第二节点202可以为外部边界网关协议(external BGP,EBGP)邻居,即第一节点201与第二节点202分别属于不同的自治系统(autonomous system,AS),例如,第一节点201位于AS1域,第二节点202位于AS2域。或者,第一节点201与第二节点202也可以为IBGP邻居,即第一节点201与第二节点202属于同一AS域。
S303:第二节点202确定是否对第一BGP路由进行迭代,如果是,执行S304,否则,执行S306。
本实施例中,为解决第二节点202仅在迭代成功时,将所接收的第一BGP路由转发给其他节点,导致在一些可能的应用场景下路由反射效率低下的问题,可以预先在第二节点202配置针对该第一BGP路由的转发策略,例如,将第二节点202配置为在接收到第一BGP路由时,不对第一BGP路由进行迭代操作;或者,将第二节点202配置为在接收到第一BGP路由时,对第一BGP路由进行迭代操作,当迭代失败时,也仍向其他节点转发所接收的第一BGP路由。
在一种示例中,当第二节点202仅具备路由反射功能时,例如,第二节点202为路由反射器,可以在第二节点202配置不对第一BGP路由进行迭代操作。
在另一种示例中,当第二节点202既具备路由反射功能以及转发功能时,例如,第二节点202为图2b中具有路由反射功能的RR1且RR1也同时作为网络中的报文转发节点,则在该第二节点202配置对第一BGP路由进行迭代操作。在该情况下,为保证路由的正常转发,还可进一步地配置,在第二节点202对第一BGP路由进行迭代操作时,即使迭代失败,第二 节点202也执行S306,根据第一BGP路由获得第二BGP路由。
以上示例仅作为一种实现方式,在其他可能的应用场景或设计方式中,用户可以根据实际应用情况,对第二节点202进行不同的配置,例如,在第二节点202接收到第一节点201发送的第一BGP路由时,第二节点202默认该第一BGP路由的状态为活跃状态,无需进行迭代操作,直接执行S306,获得第二BGP路由。
在第二节点202在获取第一BGP路由时,可以根据自身的配置确定是否对第一BGP路由进行迭代操作。在第二节点202确定需要对第一BGP路由进行迭代操作,执行S304;如果不需要对第一BGP路由进行迭代操作,则执行S306。其中,迭代第一BGP路由包括,第二节点202根据第一BGP路由从路由转发表中查找是否存在到达第一节点201的出端口。例如,在MVPN网络中,第二节点202根据第一BGP路由中的下一跳信息查找是否存在到达第一节点201的出端口;或者,在SRv6网络中,第二节点202根据第一BGP路由中的第一段标识SID查找是否存在到达第一节点201的出端口。
S304:第二节点202对第一BGP路由进行迭代,在迭代结果为迭代失败时,执行S306;在迭代结果为迭代成功时,执行S305。
本实施例中,当第二节点202需要对第一BGP路由进行迭代时,第二节点202根据第一BGP路由中的设备标识从路由转发表中查找是否存在到达下一跳节点(第一节点201)的出端口。如果第二节点202的路由转发表中不存在到达第一节点201的出端口,则第二节点202迭代第一BGP路由失败,第二节点202执行S306;如果第二节点202的路由转发表中存在到达第一节点201的出端口,则第二节点202迭代第一BGP路由成功,第二节点202执行S305。
其中,迭代路由失败,可以包括以下示例:
一种示例,在SRv6网络中,网络中各个节点基于报文所携带的SID指导报文转发,并非基于下一跳信息指导报文转发。因此,在路由发布过程中,SRv6网络中的节点基于SID迭代路由。而对于SRv6网络中的一些节点,例如只执行路由反射的节点,其不具备感知SID的能力,无法根据SID进行路由迭代。也就是,对于该类节点,其在根据SID迭代路由时,将迭代失败。基于此,第二节点202迭代第一BGP路由失败,可以为第二节点202根据本地未存储第一SID,则确定迭代第一BGP路由失败。也就是,第二节点202从第一BGP路由中获取第一SID,并从自身对应的路由转发表中查找与该第一SID所对应的出端口,如果路由转发表中未存储包括该第一SID的表项,则无法命中该路由转发表,因而路由迭代失败。如果路由转发表的表项中存在第一SID时,则可以查找确定到达第一SID所对应网络设备的出端口,迭代成功,以使得第二节点202后续可以根据该出端口指导流量向第一节点201转发。
在另一种示例中,在MVPN网络中,第二节点202迭代第一BGP路由失败可以为,第二节点202根据第一BGP路由中携带的下一跳信息迭代路由失败。
S305:第二节点202根据第一BGP路由指导流量转发。
本实施例中,当第二节点202迭代第一BGP路由成功且第二节点202还具有转发功能时,第二节点202将到达第一节点201的转发路由下发至转发面,以便转发面根据下发的路由向第一节点201发送流量。
S306:第二节点202根据第一BGP路由获得第二BGP路由。
在本实施例中,如果第二节点202不对第一BGP路由进行迭代,则直接根据第一BGP路由获得第二BGP路由;或者,第二节点202对第一BGP路由迭代失败时,也可以根据第一BGP路由获得第二BGP路由;或者第二节点202对第一BGP路由迭代成功时,可以根据第一BGP路由获得第二BGP路由。
其中,对于第二节点202根据第一BGP路由获取第二BGP路由,可以分为以下应用场景:
在一种示例中,当第二节点202不对第一BGP路由进行迭代,直接根据第一BGP路由获得第二BGP路由,或者第二节点202对第一BGP路由迭代失败时,第二节点202仅修改第一BGP路由中BGP属性的内容,例如在BGP属性中添加第二节点202的路由器标识(router identifier)或其他标识信息到BGP簇列表(cluster list)属性中,该簇列表可以用于避免环路。在该示例中,第二节点202不修改第一BGP路由中的下一跳信息或段标识,以获得第二BGP路由。在该示例中,第二节点202可以只具有路由反射功能,或者也可以基于其他需求设置第二节点202不对BGP路由进行迭代,或者迭代失败时仍转发。
在另一种示例中,当第二节点202对第一BGP路由迭代成功时,第二节点202可以通过以下方式获得第二BGP路由。在一种可能的情形中,第二节点202可以修改第一BGP路由中的下一跳信息或段标识,以获得第二BGP路由。具体地可以包括以下场景,第二节点202同时具有路由反射功能和转发功能,当第二节点202与第三节点203为EBGP邻居时,第二节点202将第一BGP路由发送给第三节点203之前,将第一BGP路由中的下一跳信息或段标识由第一节点201修改为第二节点202。例如,第二节点202为MVPN网络中的节点时,第二节点202可以将第一BGP路由中的下一跳信息修改为第二节点202对应的设备标识,该设备标识可以为第二节点202的接口地址或loopback地址等。或者,当第二节点202为SRv6网络中的节点且第二节点202存在对应的第二段标识SID时,第二节点202使用第二SID替换第一BGP路由中的第一SID,以获取更新的第一BGP路由,即第二BGP路由。在另一种可能的情形中,第二节点202可以仅修改第一BGP路由中BGP属性的内容,例如修改关于转发BGP路由的信息,而不修改第一BGP路由中的下一跳信息或段标识,从而获得第二BGP路由。其中,不修改第一BGP路由中的下一跳信息或段标识可以包括以下应用场景:第二节点202与第一节点201分别属于不同的BGP域,即为EBGP邻居,第二节点202与第三节点203属于同一BGP域,即二者为IBGP邻居,也就是,第二节点202将从EBGP邻居学习到的路由发送给IBGP邻居时,第二节点202不修改第一BGP路由中的下一跳信息或段标识。例如,第一节点201属于自治域AS65022,第二节点202和第三节点203属于自治域AS65300,则第二节点202可以不修改第一BGP路由中的下一跳信息或段标识,该第一BGP路由中的下一跳仍为第一节点201。
在MVPN网络中,第二节点202通常情况下不修改第一BGP路由中的下一跳信息,即使第二节点202和第三节点203为EBGP邻居。
S307:第二节点202向第三节点203发送第二BGP路由。
在第二节点202获得第二BGP路由后,根据BGP路由协议向EBGP邻居或IBGP邻居发布第二BGP路由,以使得其他节点可以学习到达第一节点201的路由或者到达第二节点202的路由。具体地,当第二BGP路由中的下一跳为第一节点201时,第三节点203可以学习到达 第一节点201的路由;当第二BGP路由中的下一跳节点为第二节点202时,第三节点203可以学习到达第二节点202的路由。
S308:第三节点203确定是否迭代第二BGP路由,如果是,执行S309;否则,执行S311。
本实施例中,第三节点203在获取到第二BGP路由时,可以根据自身的配置确定是否对第二BGP路由进行迭代操作。例如,当第三节点203仅具备路由反射功能时,可以将第三节点203配置为不对第二BGP路由迭代。当第三节点203同时具备路由反射功能和转发功能时,可以将第三节点203配置为对第二BGP路由迭代。其中,关于第三节点203配置迭代操作的具体实现可以参见S303的相关描述。
S309:第三节点203对第二BGP路由进行迭代,在迭代结果为迭代失败时,执行S311;在迭代结果为迭代成功时,执行S310。
本实施例中,当第三节点203需要对第二BGP路由进行迭代时,第三节点203可以根据第二BGP路由中的下一跳信息或段标识从路由转发表中查找是否存在到达下一跳节点(第一节点201或第二节点202)的出端口。如果第三节点203的路由转发表中不存在到达下一跳节点的出端口,则第三节点203迭代第二BGP路由失败,则第三节点203执行S310。如果第三节点202的路由转发表中存在到达下一跳节点的出端口,则第三节点迭代第二BGP路由成功,则第三节点203执行S309。在SRv6网络中,第三节点203也可以根据SID信息进行迭代,迭代第二BGP路由失败,可以为第三节点203根据本地未存储第一SID或第二SID,确定第二BGP路由迭代失败。关于第三节点203迭代第二BGP路由失败的具体实现可以参见S304的相关描述。
S310:第三节点203根据第二BGP路由指导流量转发。
本实施例中,当第三节点203对第二BGP路由迭代成功且第三节点203还用于流量转发时,第三节点203将到达第一节点201的转发路径下发至转发面或者将到达第二节点202的转发路径下发至转发面,以便转发面根据路径信息向第一节点201或第二节点202发送流量。
S311:第三节点203根据第二BGP路由获得第三BGP路由。
在本实施例中,如果第三节点203不对第二BGP路由迭代,则直接根据第二BGP路由获得第三BGP路由;或者,第三节点203对第二BGP路由进行迭代,迭代失败时,第三节点203可以根据第二BGP路由获得第三BGP路由;或者,第三节点203对第二BGP路由迭代成功时,可以根据第二BGP路由获得第三BGP路由。
其中,第三节点203根据第二BGP路由获取第三BGP路由。该根据第二BGP路由获取第三BGP路由的过程可以参考S306中关于第二节点202根据第一BGP路由获取第二BGP路由的相关描述。
S312:第三节点203向第四节点204发送第三BGP路由。
在本实施例中,第四节点204接收到第三BGP路由后,可以执行以下操作:第四节点204在接收到第三BGP路由后不再进行转发。例如,当第四节点204为与用户设备连接的网络设备时,如图2b中的PE2或PE3。该情况下,第四节点204可以迭代第三BGP路由,在迭代成功时,可以建立到达第三节点203的路由,并将该路由的相关信息下发至转发面,以便转发面向第三节点203发送流量。
可以理解的,上述情形仅作为示例,第四节点204对第三BGP路由进行的处理操作可结合具体应用场景确定。
本实施例以图2b所示的网络系统为例进行说明。当实际应用场景为图2a所示的网络系统架构时,作为第一节点201的PE1在获取到第一BGP路由后,将第一BGP路由发送给作为第二节点202的RR1,其中图2a中的RR1为仅具有路由反射功能的路由反射器。第二节点202可以不对第一BGP路由进行迭代,而直接根据第一BGP路由获取第二BGP路由后,并将第二BGP路由发送给第四节点204,具体实现可以参见S301-S305和S311中的相关描述。或者,本实施例提供的方法也可以应用在可能的网络系统架构中,如网络系统中包括三级以上的RR,其中每一级RR均可利用本实施例可提供的相应的方法向下一级网络设备发送BGP路由,该下一级网络设备例如可以是具有路由反射功能的RR,也可以是不具有路由反射功能的客户机。
为便于理解本申请实施例提供的技术方案,参见图4,该图为本申请实施例提供的另一种路由传输方法流程图,如图4所示,该方法可以包括:
S401:第一网络设备获取第一BGP路由。
本实施中,第一网络设备可以为前述实施例中描述的第一节点201、第二节点202或第三节点203。
当第一网络设备为第一节点201时,第一网络设备获取第一BGP路由可以为,第一网络设备生成第一BGP路由,或者从控制器获取。关于第一网络设备获取第一BGP路由的具体实现可以参见S301。
当第一网络设备为第二节点202时,第一网络设备可以从作为上一级邻居节点的第三网络设备接收其发送的BGP路由。例如,第一网络设备为第二节点202、该上一级邻居节点为第一节点201,第一节点201在生成第一BGP路由后,将该第一BGP路由发送给第一网络设备。其中,关于第一网络设备获取第一BGP路由的具体实现可以参见S302。
当第一网络设备为第三节点203时,第一网络设备可以从作为上一级邻居节点的第三网络设备接收其发送的BGP路由。例如,第一网络设备为第三节点203、上一级邻居节点为第二节点202,第二节点202在获取第二BGP路由后,将第二BGP路由发送给第一网络设备。其中,关于第一网络设备获取第一BGP路由的具体实现可以参见S306。
在一种具体的实现方式中,当第一BGP路由应用于SRv6网络时,第一BGP路由包括用于指示目的网络设备的第一段标识SID。
S402:第一网络设备不对第一BGP路由进行迭代,直接向第二网络设备转发第一BGP路由。
本实施例中,在第一网络设备不需要对第一BGP路由迭代时,可以直接将第一BGP路由转发给第二网络设备。例如,第一网络设备仅具有路由反射功能。其中,关于第一网络设备直接向第二网络设备转发第一BGP路由的具体实现可以参见S306或S311。
S403:第一网络设备对第一BGP路由迭代失败时,第一网络设备仍向第二网络设备转发第一BGP路由。
本实施例中,当第一网络设备需要对第一BGP路由迭代且迭代失败时,为保证第一BGP 路由仍可以向其他邻居节点发布,在该情况下,第一网络设备继续向第二网络设备转发第一BGP路由。其中,第一网络设备继续向第二网络设备转发第一BGP路由的具体实现可以参见或S306或S311。
在一种具体的实现方式中,第一网络设备对第一BGP路由失败迭代时,第一网络设备仍向第二网络设备转发第一BGP路由,包括:第一网络设备根据本地未存储第一SID,确定第一BGP路由迭代失败;则第一网络设备向第二网络设备转发第一BGP路由。或者,在一些可能的应用场景中,如MVPN网络中,第一网络设备也可以根据第一BGP路由中携带的下一跳信息进行路由迭代,并确定第一BGP路由迭代失败。
在一种具体的实现方式中,当第一网络设备对第一BGP路由迭代成功时,第一网络设备可以根据第一BGP路由指导流量转发。例如,第一网络设备根据第一BGP路由查找到达第一BGP路由中下一跳的出端口,并将到达下一跳的出端口信息下发至转发面,以便后续进行流量转发。
在一种具体的实现方式中,当第一网络设备为中间节点时,第一网络设备从第三网络设备获取第一BGP路由;则第一网络设备根据第一BGP路由指导流量转发可以为,第一网络设备根据第一BGP路由确定用于到达第三网络设备的出端口,以根据该出端口指导发往第三网络设备的流量的转发。例如,第一网络设备为第三节点203时,第一网络设备可以从第二节点202获取第二BGP路由,第一网络设备根据第二BGP路由确定到达第二节点202的出端口。
其中,第三网络设备和第二网络设备之间建立基于SRv6-BE隧道;或者,第三网络设备和第二网络设备之间建立基于SRv6-TE隧道。例如,第三网络设备为图2b中的PE1,第二网络设备为图2b中的PE2或PE3,PE1与PE2之间建立SRv6-BE隧道、PE1与PE3之间建立SRv6-TE隧道。
在一种具体的实现方式中,当第一网络设备对第一BGP路由迭代成功且第一网络设备存在对应的段标识,即第二SID时,第一网络设备在向第二网络设备转发第一BGP路由之前,第一网络设备使用第二SID替换第一BGP路由中的第一SID,以获得更新的第一BGP路由,进而向第二网络设备转发更新后的第一BGP路由。关于获得更新后的第一BGP路由的实现可以参见S306或S310的相关描述。
在一种具体的实现方式中,第一网络设备和第二网络设备为基于SRv6-BE隧道上的网络设备;或者,第一网络设备和第二网络设备为基于SRv6-TE隧道上的网络设备。
在一种具体的实现方式中,第一网络设备和第二网络设备为EBGP邻居,或者,第一网络设备和第二网络设备为IBGP邻居。
在一种具体的实现方式中,第一网络设备可以为第一路由反射器RR。例如第一网络设备为图2a中的RR1或图2b中的RR1或RR2。
在一种具体的实现方式中,第一网络设备为一级RR或二级RR。例如,第一网络设备为图2b中的RR1或RR2。
在一种具体的实现方式中,第三网络设备可以为第一运营商边缘(provider equipment,PE)设备,第二网络设备可以为第二RR或第二PE设备。例如,第三网络设备可以为图2a 中的PE1,第二网络设备可以为图2a中的RR1或者PE2。
在一种具体的实现方式中,第一网络设备和第二网络设备应用于组播虚拟专用网MVPN场景的网络设备。
基于上述各方法实施例,本申请实施例提供了一种报文传输装置,下面将结合附图进行说明。
参见图5,该图为本申请实施例提供的一种报文传输装置结构图,该装置500能够应用于第一网络设备,执行图4所示实施例中的第一网络设备的功能,该装置500可以包括:获取单元501、发送单元502。
获取单元501,用户获取第一边界网关协议BGP路由。
当装置500所应用的第一网络设备为第一节点201时,获取单元201获取第一BGP路由的具体实现可以参见图3所述实施例中的S301。当装置500所应用的第一网络设备为第二节点202、第三节点203或第四节点204时,获取单元501获取第一BGP路由的具体实现可以参见S302、S307或S312。
发送单元502,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由。
所述发送单元502,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
其中,关于发送单元502的具体实现可以参见S306-S307或S311-S312的相关描述。
在一种可能的实现方式中,在对所述第一BGP路由迭代成功时,所述发送单元502,还用于根据所述第一BGP路由指导流量转发。
其中,关于发送单元502根据第一BGP路由指导流量转发的具体实现可以参见S305或S310的相关描述。
在一种可能的实现方式中,所述装置具有路由反射功能。
装置500所应用的第一网络设备可以具有路由反射功能,例如,第一网络设备为第二节点202或第三节点203。
在一种可能的实现方式中,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
在一种可能的实现方式中,在对所述第一BGP路由迭代失败时,所述发送单元502,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
其中,关于发送单元502的具体实现可以参见S304或S309的相关描述。
在一种可能的实现方式中,在对所述第一BGP路由迭代成功时,所述装置还包括:处理单元503,该处理单元503,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述发送单元502,用于向所述第二网络设备发送更新的第一BGP路由。
其中,关于处理单元503和发送单元502的具体实现可以参见S306或S311的相关描述。
在一种可能的实现方式中,所述获取单元501,具体用于从第三网络设备获取所述第 一BGP路由;所述发送单元502,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
其中,关于获取单元501的具体实现可以参见S307或S312的相关描述,关于发送单元502的具体实现可以参见S305或S310的相关描述。
在一种可能的实现方式中,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
在一种可能的实现方式中,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
在一种可能的实现方式中,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
在一种可能的实现方式中,所述装置为第一路由反射器RR。
其中,装置500所应用的第一网络设备为第一路由反射器RR时,例如为第二节点202或第三节点203。
在一种可能的实现方式中,所述装置为一级RR或二级RR。
其中,装置500所应用的第一网络设备为一级RR或二级RR,例如第一网络设备为第二节点202或为第三节点203。
在一种可能的实现方式中,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。例如,第三网络设备为第一节点201、第二网络设备为第二节点202或第三节点203。
在一种可能的实现方式中,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
其中,装置500所应用的第一网络设备和第二网络设备可以为MVPN网络中的网络设备。
关于报文传输装置500具体可执行的功能和实现,可以参见图4所示实施例中关于第一网络设备的相应描述,此处不再赘述。
图6为本申请实施例提供的一种通信设备的结构示意图,该通信设备例如可以是图3所示实施例中的第一节点201、第二节点202、第三节点203或第四节点204,或者也可以是图4所示实施例中的第一网络设备、第二网络设备或第三网络设备,或者也可以是图5所示实施例中的报文传输装置500的设备实现。
请参阅图6所示,通信设备600至少包括处理器610。通信设备600还可以包括通信接口620和存储器630。其中通信设备600中的处理器610的数量可以一个或多个,图6中以一个处理器为例。本申请实施例中,处理器610、通信接口620和存储器630可通过总线系统或其它方式连接,其中,图6中以通过总线系统640连接为例。
处理器610可以是CPU、NP、或者CPU和NP的组合。处理器610还可以进一步包括硬 件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
当通信设备为第一网络设备时,处理器610可以执行上述方法实施例中获取第一BGP路由以及对第一BGP路由进行迭代等的相关功能。
通信接口620用于接收和发送报文,具体地,通信接口620可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口620的个数可以为一个或多个。
存储器630可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器630也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器630还可以包括上述种类的存储器的组合。存储器630例如可以存储前文第一BGP路由。
可选地,存储器630存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器610可以读取存储器630中的程序,实现本申请实施例提供的报文传输方法。
其中,存储器630可以为通信设备600中的存储器件,也可以为独立于通信设备600的存储装置。
总线系统640可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图7是本申请实施例提供的另一种通信设备700的结构示意图,通信设备700可以配置为前述实施例中的第一节点201、第二节点202、第三节点203或第四节点204,或者也可以是前述实施例中的第一网络设备、第二网络设备或第三网络设备,或图5所示实施例中的报文传输装置500的设备实现。
通信设备700包括:主控板710和接口板730。
主控板710也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板710对通信设备700中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板710包括:中央处理器711和存储器712。
接口板730也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板730用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板730包括:中央处理器731、网络处理器732、 转发表项存储器734和物理接口卡(ph8sical interface card,PIC)733。
接口板730上的中央处理器731用于对接口板730进行控制管理并与主控板710上的中央处理器711进行通信。
网络处理器732用于实现报文的转发处理。网络处理器732的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡733用于实现物理层的对接功能,原始的流量由此进入接口板730,以及处理后的报文从该物理接口卡733发出。物理接口卡733包括至少一个物理接口,物理接口也称物理口,物理接口卡733对应于系统架构200中的FlexE物理接口204。物理接口卡733也称为子卡,可安装在接口板730上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器732处理。在一些实施例中,接口板730的中央处理器731也可执行网络处理器732的功能,比如基于通用CPU实现软件转发,从而物理接口卡733中不需要网络处理器732。
可选地,通信设备700包括多个接口板,例如通信设备700还包括接口板740,接口板740包括:中央处理器741、网络处理器742、转发表项存储器744和物理接口卡743。
可选地,通信设备700还包括交换网板720。交换网板720也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板730的情况下,交换网板720用于完成各接口板之间的数据交换。例如,接口板730和接口板740之间可以通过交换网板720通信。
主控板710和接口板730耦合。例如。主控板710、接口板730和接口板740,以及交换网板720之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板710和接口板730之间建立进程间通信协议(inter-process communication,IPC)通道,主控板710和接口板730之间通过IPC通道进行通信。
在逻辑上,通信设备700包括控制面和转发面,控制面包括主控板710和中央处理器731,转发面包括执行转发的各个组件,比如转发表项存储器734、物理接口卡733和网络处理器732。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器732基于控制面下发的转发表对物理接口卡733收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器734中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果通信设备700被配置为第一网络设备,中央处理器711可以获取第一BGP路由,以及对第一BGP路由进行迭代。网络处理器732可以触发物理接口卡733向第二网络设备转发第一BGP路由。
应理解,报文传输装置500中的发送单元502等可以相当于通信设备700中的物理接口卡733或物理接口卡743;报文传输装置700中的获取单元501和处理单元503等可以相当于通信设备700中的中央处理器711或中央处理器731。
应理解,本申请实施例中接口板740上的操作与接口板730的操作一致,为了简洁,不再赘述。应理解,本实施例的通信设备700可对应于上述各个方法实施例中的第一网络设备、第二网络设备或第三网络设备,该通信设备700中的主控板710、接口板730和/或接口板740 可以实现上述各个方法实施例中的第一网络设备、第二网络设备或第三网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景。
在一些可能的实施例中,上述第一网络设备、第二网络设备或第三网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备、第二网络设备或第三网络设备。第一网络设备、第二网络设备或第三网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备、第二网络设备或第三网络设备,此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备、第二网络设备或第三网络设备的任意功能,此处不再赘述。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图5示出的报文传输装置500的一种具体实现形式,可以用于执行上述报文传输的方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (30)
- 一种报文传输方法,其特征在于,所述方法包括:第一网络设备获取第一边界网关协议BGP路由;所述第一网络设备不对所述第一BGP路由进行迭代,而直接向第二网络设备转发所述第一BGP路由;或者,在所述第一网络设备对所述第一BGP路由迭代失败时,所述第一网络设备仍向所述第二网络设备转发所述第一BGP路由。
- 根据权利要求1所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代成功时,所述方法还包括:第一网络设备根据所述第一BGP路由指导流量转发。
- 根据权利要求1或2所述的方法,其特征在于,所述第一网络设备具有路由反射功能。
- 根据权利要求1-3任一项所述的方法,其特征在于,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
- 根据权利要求4所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代失败时,所述第一网络设备仍向所述第二网络设备转发所述第一BGP路由,包括:所述第一网络设备根据本地未存储所述第一SID,确定所述第一BGP路由迭代失败;所述第一网络设备向所述第二网络设备转发所述第一BGP路由。
- 根据权利要求4或5所述的方法,其特征在于,在所述第一网络设备对所述第一BGP路由迭代成功时,所述方法还包括:所述第一网络设备使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述第一网络设备向所述第二网络设备发送所述更新的第一BGP路由。
- 根据权利要求3所述的方法,其特征在于,所述第一网络设备获取第一BGP路由,包括:所述第一网络设备从第三网络设备获取所述第一BGP路由;所述第一网络设备根据所述第一BGP路由指导流量转发,包括:所述第一网络设备根据所述第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
- 根据权利要求2-7任一项所述的方法,其特征在于,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述第一网络设备和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
- 根据权利要求1所述的方法,其特征在于,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
- 根据权利要求1-9任一项所述的方法,其特征在于,所述第一网络设备与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述第一网络设备与所述第二网络设备为内部边界网关协议IBGP邻居。
- 根据权利要求1-10任一项所述的方法,其特征在于,所述第一网络设备为第一路由反射器RR。
- 根据权利要求11所述的方法,其特征在于,所述第一网络设备为一级RR或二级RR。
- 根据权利要求7-11任一项所述的方法,其特征在于,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
- 根据权利要求1所述的方法,其特征在于,所述第一网络设备和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
- 一种报文传输装置,其特征在于,所述装置包括:获取单元,用户获取第一边界网关协议BGP路由;发送单元,用于在不对所述第一BGP路由进行迭代,直接向第二网络设备转发所述第一BGP路由;所述发送单元,还用于在对所述第一BGP路由迭代失败时,仍向第二网络设备转发所述第一BGP路由。
- 根据权利要求15所述的装置,其特征在于,在对所述第一BGP路由迭代成功时,所述发送单元,还用于根据所述第一BGP路由指导流量转发。
- 根据权利要求15或16所述的装置,其特征在于,所述装置具有路由反射功能。
- 根据权利要求15-17任一项所述的装置,其特征在于,所述第一BGP路由应用于基于第六版互联网协议的段路由SRv6网络,所述第一BGP路由包括用于指示目的网络设备的第一段标识SID。
- 根据权利要求18所述的装置,其特征在于,在对所述第一BGP路由迭代失败时,所述发送单元,具体用于根据本地未存储所述第一SID,确定第一BGP路由迭代失败;向所述第二网络设备转发所述第一BGP路由。
- 根据权利要求18或19所述的装置,其特征在于,在对所述第一BGP路由迭代成功时,所述装置还包括:处理单元,用于使用第二SID替换所述第一BGP路由中的所述第一SID,以获取更新的第一BGP路由;所述发送单元,用于向所述第二网络设备发送更新的第一BGP路由。
- 根据权利要求17所述的装置,其特征在于,所述获取单元,具体用于从第三网络设备获取所述第一BGP路由;所述发送单元,具体用于根据第一BGP路由确定用于到达所述第三网络设备的出端口,以指导发往所述第三网络设备的流量的转发。
- 根据权利要求16-21任一项所述的装置,其特征在于,所述装置和所述第二网络设备为基于第六版互联网协议的段路由尽力而为SRv6-BE隧道上的网络设备;或者,所述装 置和所述第二网络设备为基于第六版互联网协议的段路由流量工程SRv6-TE隧道上的网络设备。
- 根据权利要求15所述的装置,其特征在于,所述第一BGP路由是从第三网络设备接收的,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由尽力而为SRv6-BE隧道;或者,所述第三网络设备和所述第二网络设备之间建立基于第六版互联网协议的段路由流量工程SRv6-TE隧道。
- 根据权利要求15-23任一项所述的装置,其特征在于,所述装置与所述第二网络设备为外部边界网关协议EBGP邻居,或者所述装置与所述第二网络设备为内部边界网关协议IBGP邻居。
- 根据权利要求15-24任一项所述的装置,其特征在于,所述装置为第一路由反射器RR。
- 根据权利要求25所述的装置,其特征在于,所述装置为一级RR或二级RR。
- 根据权利要求21-25任一项所述的装置,其特征在于,所述第三网络设备为第一运营商边缘PE设备,所述第二网络设备为第二RR或第二PE设备。
- 根据权利要求15所述的装置,其特征在于,所述装置和所述第二网络设备为应用于组播虚拟专用网MVPN场景的网络设备。
- 一种通信设备,其特征在于,包括:处理器,存储器;所述存储器,用于存储计算机可读指令或者计算机程序;所述处理器,用于读取所述计算机可读指令或所述计算机程序,以使得所述通信设备实现如权利要求1-14中任意一项所述的报文传输方法。
- 一种计算机可读存储介质包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上权利要求1-14任意一项所述的报文传输方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/137999 WO2022133646A1 (zh) | 2020-12-21 | 2020-12-21 | 一种路由传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116648885A true CN116648885A (zh) | 2023-08-25 |
Family
ID=82157087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080107543.7A Pending CN116648885A (zh) | 2020-12-21 | 2020-12-21 | 一种路由传输方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230336458A1 (zh) |
EP (1) | EP4254881A4 (zh) |
JP (1) | JP2024500907A (zh) |
CN (1) | CN116648885A (zh) |
MX (1) | MX2023007422A (zh) |
WO (1) | WO2022133646A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9178797B2 (en) * | 2012-06-30 | 2015-11-03 | Juniper Networks, Inc. | Selective BGP graceful restart in redundant router deployments |
CN102752205B (zh) * | 2012-07-04 | 2016-06-01 | 杭州华三通信技术有限公司 | 一种路由迭代的方法和装置 |
CN106911549B (zh) * | 2017-02-28 | 2020-10-30 | 新华三技术有限公司 | 一种数据报文处理方法及装置 |
CN111385204B (zh) * | 2018-12-27 | 2022-03-29 | 中国移动通信集团贵州有限公司 | 业务传输方法、装置、设备及介质 |
CN114500369A (zh) * | 2019-01-07 | 2022-05-13 | 华为技术有限公司 | 控制路由迭代的方法、设备和系统 |
CN113273156B (zh) * | 2019-01-07 | 2022-12-30 | 华为技术有限公司 | 路由发布的方法、设备和系统 |
CN110971516B (zh) * | 2019-10-25 | 2021-01-15 | 华为技术有限公司 | 路由信息的处理方法和装置 |
-
2020
- 2020-12-21 MX MX2023007422A patent/MX2023007422A/es unknown
- 2020-12-21 JP JP2023538138A patent/JP2024500907A/ja active Pending
- 2020-12-21 EP EP20966227.9A patent/EP4254881A4/en active Pending
- 2020-12-21 CN CN202080107543.7A patent/CN116648885A/zh active Pending
- 2020-12-21 WO PCT/CN2020/137999 patent/WO2022133646A1/zh active Application Filing
-
2023
- 2023-06-21 US US18/338,820 patent/US20230336458A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230336458A1 (en) | 2023-10-19 |
EP4254881A4 (en) | 2024-01-17 |
EP4254881A1 (en) | 2023-10-04 |
MX2023007422A (es) | 2023-08-25 |
WO2022133646A1 (zh) | 2022-06-30 |
JP2024500907A (ja) | 2024-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108574639B (zh) | Evpn报文处理方法、设备及系统 | |
US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
CN108574616B (zh) | 一种处理路由的方法、设备及系统 | |
US9858163B2 (en) | Dual adjacency between edge devices at a network site | |
CN109076018B (zh) | 利用is-is协议实现分段路由网络中网元的方法和设备 | |
RU2704714C1 (ru) | Технологии для предоставления максимальной глубины идентификатора сегмента узла и/или линии связи, использующие ospf | |
US20130176843A1 (en) | Routing protocols for accommodating nodes with redundant routing facilities | |
KR20130109141A (ko) | 계층적 라벨 적층을 이용하여 ldp 컨버전스를 개선하기 위한 방법 및 장치 | |
CN111064596B (zh) | 对于用于多宿主节点故障的bum流量的节点保护 | |
CN114531395B (zh) | 一种通告网络设备处理能力的方法、设备和系统 | |
EP3641240B1 (en) | Node protection for bum traffic for multi-homed node failure | |
US20230291682A1 (en) | Method and device for processing data packet, storage medium, and electronic device | |
WO2022007702A1 (zh) | 一种报文处理方法及网络设备 | |
EP4325777A1 (en) | Method and device for electing designated forwarder (df) | |
CN114760244B (zh) | 一种传输绑定段标识bsid的方法、装置和网络设备 | |
CN113872843B (zh) | 一种路由生成方法、路由处理方法及装置 | |
CN116648885A (zh) | 一种路由传输方法及装置 | |
CN115550252A (zh) | 路由发布和转发报文的方法、装置、设备和存储介质 | |
EP4210290A1 (en) | Packet transmission method and apparatus | |
WO2024093306A1 (zh) | 通信方法及装置 | |
WO2024007762A1 (zh) | 一种路由发布方法、通信方法及装置 | |
CN113132220B (zh) | 一种路由信息的处理方法及装置 | |
US20240163192A1 (en) | Fault detection method, apparatus, and system | |
CN117692384A (zh) | 一种实现虚拟专用网vpn本地互访的方法以及相关装置 | |
CN115460107A (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 |