CN113923165A - 发送、接收接口标识消息的方法、相关网络设备及系统 - Google Patents
发送、接收接口标识消息的方法、相关网络设备及系统 Download PDFInfo
- Publication number
- CN113923165A CN113923165A CN202010648463.4A CN202010648463A CN113923165A CN 113923165 A CN113923165 A CN 113923165A CN 202010648463 A CN202010648463 A CN 202010648463A CN 113923165 A CN113923165 A CN 113923165A
- Authority
- CN
- China
- Prior art keywords
- interface
- network device
- message
- network
- identifier
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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]
Abstract
一种发送和接收接口标识消息的方法、相关网络设备及系统,属于通信技术领域。在该方法中,第一网络设备发送携带有目的设备的地址和至少一个接口标识的消息。该至少一个接口标识的个数与第一网络设备用于与第二网络设备通信的至少一个接口的个数相同,因而该至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数。如此,接收到该消息的其他网络设备可以实现以第一网络设备与第二网络设备之间的可用链路个数为依据,对发往目的设备的报文进行负载分担。这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种发送、接收接口标识消息的方法、相关网络设备及系统。
背景技术
虚拟私有网络(Virtual Private Network,VPN)技术在各大运营商的网络设计中被广泛使用。VPN中包括多个运营商边缘(Provider Edge,PE)设备,该多个PE设备互相连接。用户边缘(Customer Edge,CE)设备可以连接该VPN内的PE设备,以接入该VPN。
目前,为了提升可靠性,可以使用双归双活方案。具体地,如图1所示,CE1设备双归属连接到PE1设备和PE2设备。PE3设备是PE1设备和PE2设备的邻居设备,CE2设备连接到PE3设备。PE1设备和PE2设备以负载分担的方式向CE2设备转发CE1设备的上行流量,且以负载分担的方式向CE1设备转发CE2设备的下行流量。
然而,上述双归双活方案中,PE3设备向CE1设备转发CE2设备的下行流量时,只能将CE2设备的下行流量在PE1设备和PE2设备之间进行1:1的等值负载分担。但是PE1设备与CE1设备之间的链路带宽和PE2设备与CE1设备之间的链路带宽可能是不同的,这种直接进行等值负载分担的方式无法灵活使用PE1设备、PE2设备与CE1设备之间的链路带宽。
发明内容
本申请提供了一种发送、接收接口标识消息的方法、相关网络设备及系统,可以基于链路个数进行负载分担。
第一方面,提供了一种发送接口标识消息的方法。在该方法中,第一网络设备确定用于与第二网络设备通信的至少一个接口的个数,然后生成至少一个接口标识,该至少一个接口标识的个数与该至少一个接口的个数相同。之后,第一网络设备发送消息,该消息包括目的设备的地址和该至少一个接口标识,目的设备为第二网络设备或者为与第二网络设备连接的设备。
该至少一个接口标识的类型可以为SID或MPLS标签。该消息用于通告目的设备的路由。例如,该消息可以为BGP路由。该至少一个接口标识可以携带于该BGP路由中的tlv信息中。进一步地,还可以将该至少一个接口标识的个数也携带在该tlv信息中。可选地,该至少一个接口标识也可以携带在多条消息中进行通告。
在本申请中,第一网络设备发送携带有目的设备的地址和至少一个接口标识的消息。由于该至少一个接口标识的个数与第一网络设备用于与第二网络设备通信的至少一个接口的个数相同,所以该至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数。如此,接收到该消息的其他网络设备可以实现以第一网络设备与第二网络设备之间的可用链路个数为依据,对发往目的设备的报文进行负载分担。并且,由于多数情形下,为一条链路分配的链路带宽是相同的,所以通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
第一种可能的实现方式中,第一网络设备通过聚合接口连接到第二网络设备,第一网络设备确定用于与第二网络设备通信的至少一个接口的个数的操作可以为:第一网络设备确定该聚合接口包括的至少一个成员接口,然后根据该至少一个成员接口,确定用于与第二网络设备通信的至少一个接口的个数。
第一网络设备可以通过由多个物理接口聚合而成的逻辑接口与第二网络设备通信,所述逻辑接口可以称为聚合接口,也称为LAG。这个逻辑接口中的物理接口可以称为这个逻辑接口的成员接口。
由于第一网络设备通过该聚合接口连接到第二网络设备,所以第一网络设备可以通过该聚合接口中的部分或全部成员接口来与第二网络设备进行通信。因而第一网络设备可以根据该聚合接口包括的成员接口的个数,确定用于与第二网络设备通信的至少一个接口的个数。
可选地,第一网络设备将该至少一个成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
在业务流量较大,第一网络设备满负载运行的情况下,第一网络设备可以通过该聚合接口中的所有成员接口来向第二网络设备转发流量,因而第一网络设备可以将该至少一个成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
可选地,第一网络设备将该至少一个成员接口中为选中使用的成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
链路聚合可以基于LACP实现,属于聚合接口的各成员接口可以通过使用LACP通告信息。该聚合接口中的成员接口的状态包括选中使用和备用两种状态。选中使用的成员接口是当前进行流量转发的成员接口。备用的成员接口暂不进行流量转发,其可以在选中使用的成员接口失效时将状态变更为选中使用后进行流量转发。也就是说,该聚合接口中为选中使用的成员接口是第一网络设备当前与第二网络设备进行通信的成员接口,因而第一网络设备可以将该至少一个成员接口中为选中使用的成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
可选地,第一网络设备从该至少一个成员接口接收多个LLDP报文,根据该多个LLDP报文,从该至少一个成员接口中确定与第二网络设备通信的至少一个接口的个数。
该多个LLDP报文包括与第一网络设备连接的多个网络设备的设备信息,该多个网络设备包括第二网络设备。该设备信息包括aggregation port ID和chassis ID,chassisID用于标识网络设备,aggregation port ID用于标识该网络设备的聚合接口。
其中,第一网络设备根据该多个LLDP报文,从该至少一个成员接口中确定与第二网络设备通信的至少一个接口的个数的操作可以为:第一网络设备根据该多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为第二网络设备的标识、且aggregation port ID为连接第二网络设备与第一网络设备的聚合接口的标识的LLDP报文的第一个数;将第一个数作为与第二网络设备通信的至少一个接口的个数。
对于第一网络设备从该至少一个成员接口接收到的多个LLDP报文中的任意一个LLDP报文,如果这个LLDP报文中的chassis ID为第二网络设备的标识、且aggregationport ID为连接第二网络设备与第一网络设备的聚合接口的标识,则确定发送这个LLDP报文的网络设备就是第二网络设备,也就可以确定接收到这个LLDP报文的成员接口是用于与第二网络设备通信的接口。因而第一网络设备可以将chassis ID为第二网络设备的标识、且aggregation port ID为连接第二网络设备与第一网络设备的聚合接口的标识的LLDP报文的个数(即第一个数)作为与第二网络设备通信的至少一个接口的个数。
第二种可能的实现方式中,第一网络设备确定用于与第二网络设备通信的至少一个接口的个数的操作可以为:第一网络设备确定第一网络设备到目的设备的至少一个下一跳地址的个数,然后将该至少一个下一跳地址的个数作为与第二网络设备通信的至少一个接口的个数。
第一网络设备到目的设备的下一跳地址是第一网络设备到目的设备的出接口的地址,如可以是第一网络设备到目的设备的出接口的IP地址等。第一网络设备到目的设备有几个出接口,就会有几个下一跳地址。而由于目的设备为第二网络设备或为与第二网络设备连接的设备,所以第一网络设备到目的设备的出接口也是第一网络设备与第二网络设备通信的接口。因而第一网络设备可以将第一网络设备到目的设备的至少一个下一跳地址的个数作为与第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,第一网络设备可以是第二网络设备的多归属网络设备中的一个,即第二网络设备多归属连接到第一网络设备和其他一个或多个网络设备。
在一种可能的实现方式中,第一网络设备发送消息时,第一网络设备可以向第三网络设备发送该消息。之后,第一网络设备可以接收第三网络设备发往目的设备的报文,该报文携带该至少一个接口标识中的第一接口标识;第一网络设备根据第一接口标识,将该报文转发给第二网络设备。
其中,第一网络设备根据第一接口标识,将该报文转发给第二网络设备的操作可以为:第一网络设备获取第一接口标识对应的接口信息,然后根据该接口信息所标识的接口将该报文转发给第二网络设备。
在二层接入场景下,第一接口标识对应的接口信息可以是聚合接口信息。这种情况下,第一网络设备可以确定第一接口标识对应的聚合接口信息,通过该聚合接口信息所标识的聚合接口将该报文转发给第二网络设备。或者,第一网络设备可以根据第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过第一接口信息所标识的第一接口将该报文转发给第二网络设备。
在三层接入场景下,第一接口标识对应的接口信息可以是出接口信息。这种情况下,第一网络通过第一接口标识所标识的出接口将该报文转发给第二网络设备。
第二方面,提供了一种第一网络设备,所述第一网络设备具有实现上述第一方面或第一方面任一实现方式中发送接口标识消息的方法行为的功能。所述第一网络设备包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的发送接口标识消息的方法。
在一种可能的实现方式中,所述第一网络设备包括:确定模块,用于确定用于与第二网络设备通信的至少一个接口的个数;生成模块,用于生成至少一个接口标识,所述至少一个接口标识的个数与所述至少一个接口的个数相同;发送模块,用于发送消息,所述消息包括目的设备的地址和所述至少一个接口标识,所述目的设备为所述第二网络设备或者为与所述第二网络设备连接的设备。
在一种可能的实现方式中,所述发送模块用于:向第三网络设备发送所述消息。所述第一网络设备还包括:接收模块,用于接收所述第三网络设备发往所述目的设备的报文,所述报文携带所述至少一个接口标识中的第一接口标识;所述发送模块,还用于根据所述第一接口标识,将所述报文转发给所述第二网络设备。
在一种可能的实现方式中,所述发送模块还用于:获取所述第一接口标识对应的接口信息;根据所述接口信息所标识的接口将所述报文转发给所述第二网络设备。
在一种可能的实现方式中,所述发送模块还用于:根据所述第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过所述第一接口信息所标识的第一接口将所述报文转发给所述第二网络设备;或者,确定所述第一接口标识对应的聚合接口信息,通过所述聚合接口信息所标识的聚合接口将所述报文转发给所述第二网络设备。
在一种可能的实现方式中,所述第一网络设备通过聚合接口连接到所述第二网络设备,所述确定模块用于:确定所述聚合接口包括的至少一个成员接口;根据所述至少一个成员接口,确定用于与所述第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,所述确定模块用于:将所述至少一个成员接口的个数作为与所述第二网络设备通信的至少一个接口的个数;或者将所述至少一个成员接口中为选中使用的成员接口的个数作为与所述第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,所述确定模块用于:从所述至少一个成员接口接收多个链路层发现协议LLDP报文,所述多个LLDP报文包括与所述第一网络设备连接的多个网络设备的设备信息,所述多个网络设备包括所述第二网络设备;根据所述多个LLDP报文,从所述至少一个成员接口中确定与所述第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,所述设备信息包括聚合接口标识aggregation portID和设备标识chassis ID,所述chassis ID用于标识网络设备,所述aggregation port ID用于标识所述网络设备的聚合接口,所述确定模块用于:根据所述多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为所述第二网络设备的标识、且aggregation port ID为连接所述第二网络设备与所述第一网络设备的聚合接口的标识的LLDP报文的第一个数;将所述第一个数作为与所述第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,所述确定模块用于:确定所述第一网络设备到所述目的设备的至少一个下一跳地址的个数;将所述至少一个下一跳地址的个数作为与所述第二网络设备通信的至少一个接口的个数。
在一种可能的实现方式中,所述至少一个接口标识均为段标识SID或多协议标签交换MPLS标签。
在一种可能的实现方式中,所述消息为边界网关协议BGP路由,所述至少一个接口标识携带于所述BGP路由中的类型长度值tlv信息中。
第三方面,提供了一种第一网络设备,所述第一网络设备的结构中包括处理器和存储器,所述存储器用于存储支持第一网络设备执行上述第一方面或第一方面任一可能的实现方式中所提供的发送接口标识消息的方法的程序,以及存储用于实现上述第一方面所述的发送接口标识消息的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序以实现上述第一方面或第一方面任一可能的实现方式中所涉及的方法。所述第一网络设备还可以包括收发器,所述收发器用于接收和/或发送上述第一方面或第一方面任一可能的实现方式中所涉及的数据。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可能的实现方式中所述的发送接口标识消息的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可能的实现方式中所述的发送接口标识消息的方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
第六方面,提供了一种接收接口标识消息的方法。在该方法中,第三网络设备从第一网络设备接收第一消息,第一消息包括目的设备的地址和至少一个接口标识,该至少一个接口标识的个数与至少一个接口的个数相同,该至少一个接口为第一网络设备用于与第二网络设备通信的接口,该至少一个接口标识包括第一接口标识,目的设备为第二网络设备或者为与第二网络设备连接的设备。之后,第三网络设备向第一网络设备发送第一报文,第一报文的目的地址为目的设备的地址,第一报文包括第一接口标识。
该至少一个接口标识的类型可以为SID或MPLS标签。该消息用于通告目的设备的路由。例如,该消息可以为BGP路由。该至少一个接口标识可以携带于该BGP路由中的tlv信息中。进一步地,还可以将该至少一个接口标识的个数也携带在该tlv信息中。可选地,该至少一个接口标识也可以携带在多条消息中进行通告。
在本申请中,第三网络设备从第一网络设备接收携带有目的设备的地址和至少一个接口标识的第一消息。由于该至少一个接口标识的个数与第一网络设备用于与第二网络设备通信的至少一个接口的个数相同,所以该至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数。如此,第三网络设备可以实现以第一网络设备与第二网络设备之间的可用链路个数为依据,对发往目的设备的报文进行负载分担。并且,由于多数情形下,为一条链路分配的链路带宽是相同的,所以通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
其中,第三网络设备向第一网络设备发送第一报文的操作可以为:第三网络设备根据第一消息保存第一接口标识和目的设备的地址之间的对应关系,然后确定第一报文的目的地址为目的设备的地址,根据该对应关系确定第一报文中的第一接口标识,之后向第一网络设备发送第一报文。
第三网络设备从第一网络设备接收到携带有目的设备的地址和第一接口标识的消息后,可以保存第一接口标识与目的设备的地址之间的对应关系。这种情况下,第三网络设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第一接口标识,然后将获取到的第一接口标识添加到该报文中,得到第一报文,然后将第一报文发送给第一网络设备。
在一种可能的实现方式中,第一消息还包括下一跳信息,该下一跳信息包括第二网络设备的地址。第三网络设备向第一网络设备发送第一报文时,第三网络设备可以获取目的设备的地址对应的下一跳信息,该下一跳信息中包括第二网络设备的地址,然后根据该下一跳信息中的第二网络设备的地址迭代隧道,并确定隧道信息,之后根据该隧道信息向第一网络设备发送第一报文。
进一步地,该至少一个接口标识还包括第二接口标识,第三网络设备还可以向第一网络设备发送第二报文,第二报文的目的地址为目的设备的地址,第二报文包括第二接口标识。
本申请中,第三网络设备在向第一网络设备发送报文时,可以根据目的设备的地址对应的该至少一个接口标识,将报文发送到第一网络设备。例如,当该至少一个接口标识包括第一接口标识和第二接口标识时,第三网络设备可以根据第一接口标识向第一网络设备发送第一报文,且根据第二接口标识向第一网络设备发送第二报文。其中,第一报文和第二报文可以属于同一业务流。
在一种可能的实现方式中,第一网络设备为第二网络设备的多归属网络设备中的一个,第四网络设备为第二网络设备的另一多归属网络设备。
这种情况下,第三网络设备还可以从第四网络设备接收第二消息,第二消息包括目的设备的地址以及第四网络设备与第二网络设备通信的第三接口标识。之后,第三网络设备向第四网络设备发送第三报文。第三报文包括目的设备的地址和第三接口标识。例如,第三报文的目的地址字段可以为目的设备的地址。第三报文可以也属于所述业务流。
本申请实施例中,第三网络设备可以根据第一网络设备发送的接口标识和第四网络设备发送的接口标识,分别向第一网络设备和第四网络设备转发报文。由于第一网络设备发送的接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数,第四网络设备发送的接口标识的个数可以指示第四网络设备与第二网络设备之间可用的链路个数,所以第三网络设备可以实现以第一网络设备、第四网络设备与第二网络设备之间的可用链路个数为依据,将发往目的设备的报文在第一网络设备和第四网络设备之间进行负载分担。并且由于多数情形下,第一网络设备和第四网络设备为一条链路分配的链路带宽相同,因而通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
第七方面,提供了一种第三网络设备,所述第三网络设备具有实现上述第六方面或第六方面任一可能的实现方式中接收接口标识消息的方法行为的功能。所述第三网络设备包括至少一个模块,所述至少一个模块用于实现上述第六方面所提供的接收接口标识消息的方法。
在一种可能的实现方式中,所述至少一个接口标识还包括第二接口标识,所述发送模块还用于:向所述第一网络设备发送第二报文,所述第二报文的目的地址为所述目的设备的地址,所述第二报文包括所述第二接口标识。
在一种可能的实现方式中,所述发送模块用于:根据所述第一消息保存所述第一接口标识和所述目的设备的地址之间的对应关系;确定所述第一报文的目的地址为所述目的设备的地址,根据所述对应关系确定所述第一报文中的所述第一接口标识;向所述第一网络设备发送所述第一报文。
在一种可能的实现方式中,所述至少一个接口标识均为段标识SID或多协议标签交换MPLS标签。
在一种可能的实现方式中,所述消息为边界网关协议BGP路由,所述至少一个接口标识携带于所述BGP路由中的类型长度值tlv信息中。
在一种可能的实现方式中,所述第一网络设备为所述第二网络设备的多归属网络设备中的一个。
在一种可能的实现方式中,所述接收模块还用于从第四网络设备接收第二消息,所述第二消息包括所述目的设备的地址以及所述第四网络设备与所述第二网络设备通信的第三接口标识,所述第四网络设备为所述第二网络设备的另一多归属网络设备;所述发送模块,还向所述第四网络设备发送第三报文,所述第三报文包括所述目的设备的地址和所述第三接口标识。
在一种可能的实现方式中,所述第一报文、所述第二报文和所述第三报文属于同一业务流。
在一种可能的实现方式中,所述第一消息还包括下一跳信息,所述下一跳信息包括所述第二网络设备的地址,所述发送模块用于:根据所述下一跳信息中的所述第二网络设备的地址迭代隧道,并确定隧道信息;根据所述隧道信息向所述第一网络设备发送所述第一报文。
第八方面,提供了一种第三网络设备,所述第三网络设备的结构中包括处理器和存储器,所述存储器用于存储支持第三网络设备执行上述第六方面或第六方面任一可能的实现方式中所提供的接收接口标识消息的方法的程序,以及存储用于实现上述第六方面所述的接收接口标识消息的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序以执行上述第六方面或第六方面任一可能的实现方式中涉及的方法。所述第三网络设备还可以包括收发器,所述收发器用于接收和/或发送上述第六方面或第六方面任一可能的实现方式中所涉及的数据。
第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第六方面或第六方面任一可能的实现方式中所述的接收接口标识消息的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第六方面或第六方面任一可能的实现方式中所述的接收接口标识消息的方法。
上述第七方面、第八方面、第九方面和第十方面所获得的技术效果与上述第六方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
第十一方面,提供了一种收发接口标识消息的系统。该系统包括第一网络设备,和第三网络设备,其中,所述第一网络设备可以是上述第二方面、第二方面任一可能的实现方式、第三方面、或第三方面任一可能的实现方式中的第一网络设备,所述第三网络设备可以是上述第七方面、第七方面任一可能的实现方式、第八方面、或第八方面任一可能的实现方式中的第三网络设备。
在一种可能的实现方式中,第一网络设备,用于确定用于与第二网络设备通信的至少一个接口的个数,生成至少一个接口标识,该至少一个接口标识的个数与该至少一个接口的个数相同,并向第三网络设备发送消息,该消息包括目的设备的地址和该至少一个接口标识,该至少一个接口标识包括第一接口标识,目的设备为第二网络设备或者为与第二网络设备连接的设备;
第三网络设备,用于接收该消息,根据该消息向第一网络设备发送第一报文,第一报文的目的地址为目的设备的地址,第一报文包括第一接口标识。
可选地,该至少一个接口标识还包括第二接口标识;
在一种可能的实现方式中,第三网络设备,还用于向第一网络设备发送第二报文,第二报文的目的地址为目的设备的地址,第二报文包括第二接口标识。
上述十一方面所获得的技术效果与上述第一方面和第六方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种网络系统的示意图;
图2是本申请实施例提供的一种消息收发过程的流程图;
图3是本申请实施例提供的一种报文转发过程的流程图;
图4是本申请实施例提供的一种发送接口标识消息的方法的流程图;
图5是本申请实施例提供的一种接收接口标识消息的方法的流程图;
图6是本申请实施例提供的一种网络设备的结构示意图;
图7是本申请实施例提供的一种第一网络设备的结构示意图;
图8是本申请实施例提供的一种第三网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行详细地解释说明之前,对本申请实施例涉及的应用场景予以说明。
本申请实施例涉及的网络系统包括分别与目的设备连接的第一网络设备和第四网络设备。目的设备为通过第一网络设备和第四网络设备接收业务流量的设备。目的设备可以直接与第一网络设备和第四网络设备连接,此时目的设备可以称为第二网络设备,例如,第二网络设备可以是CE设备,CE设备双归属连接到作为PE设备的第一网络设备和第四网络设备。目的设备也可以非直连到第一网络设备和第四网络设备,例如,目的设备为与作为CE设备的第二网络设备连接的用户设备,发往用户设备的流量可以通过第一网络设备或第四网络设备发送给CE设备,并由CE设备转发至用户设备。该网络系统还可以包括第三网络设备,第三网络设备与第一网络设备和第四网络设备连接,例如,第三网络设备也可以是PE设备,并作为第一网络设备和第四网络设备的边界网关协议(Border GatewayProtocol,BGP)邻居设备。
第一网络设备、第二网络设备和第三网络设备均可以是具备数据转发功能的设备,如可以是交换机、路由器等。目的设备可以是具备数据转发功能的设备,也可以是用户侧网络设备、用户主机等。目的设备、第一网络设备、第二网络设备和第三网络设备的设备类型可以相同也可以不同。
仍以图1示出的网络系统示意图为例,且以目的设备为CE1设备连接的用户设备、第一网络设备为PE1设备、第四网络设备为PE2设备、第三网络设备为PE3设备为例来进行说明,其中,PE3设备通过CE1设备向所述用户设备转发流量。
图1示出的网络系统可以作为本申请实施例的一种应用场景。参见图1,该网络系统包括分别与CE1设备连接的PE1设备和PE2设备。也即,CE1设备双归属连接到PE1设备和PE2设备。PE1设备和PE2设备互为BGP邻居设备。该网络系统还包括PE3设备,PE3设备是PE1设备和PE2设备的远端BGP邻居设备。其他CE设备(如图1中所示的CE2设备)可以连接到PE3设备。
目前,在双归双活场景下,对于CE1设备发送至CE2设备上行流量,PE1设备和PE2设备以负载分担的方式向CE2设备转发CE1设备的上行流量。对于CE2设备发送至CE1设备的用户设备的下行流量,PE3设备以负载分担的方式向CE1设备转发CE2设备的下行流量,具体地,PE3设备将CE2设备的下行流量在PE1设备和PE2设备之间进行1:1的等值负载分担。然而,PE1设备与CE1设备之间的链路带宽和PE2设备与CE1设备之间的链路带宽可能是不同的,如图1所示,CE1设备与PE1设备之间有两根连线,CE1设备与PE2设备之间有一根连线,此时CE1设备与PE1设备之间的链路带宽大于CE1设备与PE2设备之间的链路带宽。上述情形下,虽然CE1设备与PE1设备之间的链路带宽比较大,但由于使用等值方式进行负载分担,由此导致部分带宽资源的浪费,也不利于提高流量转发效率。
为此,本申请实施例提供发送接口标识消息的方法和接收接口标识消息的方法,相应方法可以应用于图1所示的网络系统中,以解决多台设备之间无法灵活地进行负载分担,由此导致资源浪费的问题。
下面对发送接口标识消息的方法和接收接口标识消息的方法中的消息收发过程进行说明:
图2是本申请实施例提供的一种消息收发过程的流程图。参见图2,该方法包括:
201:PE1设备确定用于与CE1设备通信的至少一个接口的个数。
CE1设备是与PE1设备连接的网络设备。一种可能的情况中,PE1设备可以是CE1设备的多归属网络设备中的一个,即CE1设备多归属连接到PE1设备和其他一个或多个网络设备。
PE1设备连接到CE1设备时,具有用来与CE1设备通信的至少一个接口,该至少一个接口可以是物理接口。
在二层接入场景下,PE1设备可以通过聚合接口连接到CE1设备。或者,在三层接入场景下,PE1设备可以直接通过物理接口连接到CE1设备。
PE1设备连接到CE1设备的方式不同时,操作201会有所不同。在二层接入场景下,操作201可以通过如下第一种可能的实现方式实现;在三层接入场景下,操作201可以通过如下第二种可能的实现方式实现。
第一种可能的实现方式:PE1设备通过聚合接口连接到CE1设备。PE1设备确定该聚合接口包括的至少一个成员接口;PE1设备根据该至少一个成员接口,确定用于与CE1设备通信的至少一个接口的个数。
PE1设备可以通过由多个物理接口聚合而成的逻辑接口与CE1设备通信,所述逻辑接口可以称为聚合接口,也可称为链路聚合组(Link Aggregation Group,LAG)。这个逻辑接口中的物理接口可以称为这个逻辑接口的成员接口。
由于PE1设备通过该聚合接口连接到CE1设备,所以PE1设备可以通过该聚合接口中的部分或全部成员接口来与CE1设备进行通信。因而PE1设备可以根据该聚合接口包括的成员接口的个数,确定用于与CE1设备通信的至少一个接口的个数。具体操作可以包括如下三种方式:
方式1、PE1设备将该至少一个成员接口的个数作为与CE1设备通信的至少一个接口的个数。
在业务流量较大,PE1设备满负载运行的情况下,PE1设备可以通过该聚合接口中的所有成员接口来向CE1设备转发流量,因而PE1设备可以将该至少一个成员接口的个数作为与CE1设备通信的至少一个接口的个数。
方式2、PE1设备将该至少一个成员接口中为选中使用的成员接口的个数作为与CE1设备通信的至少一个接口的个数。
链路聚合可以基于链路聚合控制协议(Link Aggregation Control Protocol,LACP)实现,属于聚合接口的各成员接口可以通过使用LACP通告信息。该聚合接口中的成员接口的状态包括选中使用(Selected)和备用(Standby)两种状态。选中使用的成员接口是当前进行流量转发的成员接口。备用的成员接口暂不进行流量转发,其可以在选中使用的成员接口失效时将状态变更为选中使用后进行流量转发。也就是说,该聚合接口中为选中使用的成员接口是PE1设备当前与CE1设备进行通信的成员接口,因而PE1设备可以将该至少一个成员接口中为选中使用的成员接口的个数作为与CE1设备通信的至少一个接口的个数。
方式3、PE1设备从该至少一个成员接口接收多个链路层发现协议(Link LayerDiscovery Protocol,LLDP)报文,根据该多个LLDP报文,从该至少一个成员接口中确定与CE1设备通信的至少一个接口的个数。
该多个LLDP报文包括与PE1设备连接的多个网络设备的设备信息,该多个网络设备包括CE1设备。对于该至少一个成员接口中的任意一个成员接口,如果某个网络设备通过这个成员接口与PE1设备连接,则这个网络设备可以将携带有自身的设备信息的LLDP报文发送到这个成员接口,PE1设备可以通过这个成员接口接收到该LLDP报文,并根据该LLDP报文确定这个成员接口是否是与CE1设备通信的接口。
该设备信息包括聚合接口标识(aggregation port ID)和设备标识(chassisID),chassis ID用于标识网络设备,aggregation port ID用于标识网络设备的聚合接口。也就是说,对于某个网络设备,这个网络设备发送到PE1设备中的一个成员接口的LLDP报文中包括用于标识这个网络设备的chassis ID以及用于标识这个网络设备的聚合接口的aggregation port ID。
这种情况下,PE1设备根据该多个LLDP报文,从该至少一个成员接口中确定与CE1设备通信的至少一个接口的个数的操作可以为:PE1设备根据该多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为CE1设备的标识、且aggregation port ID为连接CE1设备与PE1设备的聚合接口的标识的LLDP报文的第一个数;PE1设备将第一个数作为与CE1设备通信的至少一个接口的个数。
对于PE1设备从该至少一个成员接口接收到的多个LLDP报文中的任意一个LLDP报文,如果这个LLDP报文中的chassis ID为CE1设备的标识、且aggregation port ID为连接CE1设备与PE1设备的聚合接口的标识,则确定发送这个LLDP报文的网络设备就是CE1设备,也就可以确定接收到这个LLDP报文的成员接口是用于与CE1设备通信的接口。因而PE1设备可以将chassis ID为CE1设备的标识、且aggregation port ID为连接CE1设备与PE1设备的聚合接口的标识的LLDP报文的个数(即第一个数)作为与CE1设备通信的至少一个接口的个数。
在某些情形下,例如PE1设备和CE1设备连接的聚合接口中虽然包括两个成员接口,但其中一个成员接口实际属于误接的情况,则该情形下如采用上述方式1确定PE1设备与CE1设备通信的至少一个接口的个数可能并不足够准确,因为该误接的成员接口可能实际无法用于CE1流量的转发。然而,如采用上述方式3,从误接的成员接口获取的LLDP报文中的Aggregation port ID取值为空,则PE1设备可以根据取值为空的Aggregation port ID并不是连接CE1设备与PE1设备的聚合接口的Aggregation port ID,而不将所述误接的成员接口统计在内,从而提高了识别的准确性。
可以理解地,上述方式1至方式3在某些情形下也可以相互配合使用。
第二种可能的实现方式:PE1设备确定PE1设备到目的设备的至少一个下一跳地址的个数;PE1设备将该至少一个下一跳地址的个数作为与CE1设备通信的至少一个接口的个数。
目的设备为CE1设备。或者,目的设备为与CE1设备连接的设备,如目的设备可以为用户侧网络设备、用户主机等。
这种情况下,PE1设备到目的设备的下一跳地址是PE1设备到目的设备的出接口的地址,如可以是PE1设备到目的设备的出接口的互联网协议(Internet Protocol,IP)地址等。PE1设备到目的设备有几个出接口,就会有几个下一跳地址。而由于目的设备为CE1设备或为与CE1设备连接的设备,所以PE1设备到目的设备的出接口也是PE1设备与CE1设备通信的接口。因而PE1设备可以将PE1设备到目的设备的至少一个下一跳地址的个数作为与CE1设备通信的至少一个接口的个数。
202:PE1设备生成至少一个接口标识,该至少一个接口标识的个数与该至少一个接口的个数相同。
由于该接口标识主要用于远端邻居PE3设备根据接口标识确定负载分担比例,例如对于图1所示的系统,当PE3设备从PE1设备接收到两个接口标识,而从PE2设备接收到一个接口标识时,PE3设备向PE1设备和PE2设备转发流量的比例为2:1,此时PE3设备只需知晓接收的各个接口标识和目的设备地址之间的对应关系,从而根据该对应关系完成向PE设备的按比例流量转发即可,而无需关注各个接口标识与PE设备上的某个具体接口之间是否具有对应关系。
并且,在某些可能的情形中,PE1设备或PE2设备也可以无需关注分配的至少一个接口标识和至少一个接口之间的一一对应关系。例如,PE1设备在根据聚合接口包括的成员接口个数分配接口标识的方式中,PE1设备可以在为该聚合接口的多个成员接口分配对应的多个接口标识之后,保存该聚合接口和该多个接口标识之间的对应关系即可,而无需关注该多个成员接口和该多个接口标识之间是否具有一一对应关系。如此,PE1设备在接收报文时,可以基于报文中携带的接口标识属于该多个接口标识,以及该聚合接口和该多个接口标识之间的对应关系,确定该聚合接口用于转发所述报文。
因此,在诸如二层接入场景下,PE1设备分配的该至少一个接口标识与该至少一个接口可以不对应,只需该至少一个接口标识的个数与该至少一个接口的个数相同即可。而在诸如三层接入场景下,PE1设备分配的该至少一个接口标识可以分别对应于该至少一个接口,也即,该至少一个接口标识可以一一标识该至少一个接口,以便于PE1设备在接收包括该至少一个接口标识中的一个接口标识的报文时,能够根据本地保存的该接口标识和接口之间的一一对应关系,直接通过相应的接口转发所述报文。
该至少一个接口标识的类型可以为段标识(Segment Identifier,SID)、多协议标签交换(Multi-Protocol Label Switching,MPLS)标签等,本申请实施例对此不作唯一限定。
203:PE1设备发送消息,该消息包括目的设备的地址和该至少一个接口标识。
目的设备的地址可以为目的设备的IP地址、介质访问控制(media accesscontrol,MAC)地址等。目的设备的地址可以携带于该消息中的目的地址字段。此外,该消息中还可以包括下一跳信息,可以将CE1设备的地址携带于该消息中的下一跳信息中。
PE1设备发送的该消息用于通告目的设备的路由。例如,该消息可以为BGP路由(如MAC路由、以太自动发现路由(Ethernet Auto-Discovery Route)等)。该至少一个接口标识可以携带于该BGP路由中的类型长度值(type length value,tlv)信息中。进一步地,还可以将该至少一个接口标识的个数也携带在该tlv信息中。可选地,该至少一个接口标识也可以携带在多条消息中进行通告。
其中,PE1设备发送消息时,可以向PE3设备发送该消息。PE3设备与PE1设备连接,是PE1设备的BGP邻居设备。
204:PE3设备从PE1设备接收该消息。
PE3设备从PE1设备接收该消息后,可以根据该消息保存该至少一个接口标识与目的设备的地址之间的对应关系,其中,该至少一个接口标识为PE1设备根据PE1设备与CE1设备通信的接口的个数分配的,以便后续可以根据该对应关系转发发往目的设备的报文。此外,若该消息中还包括下一跳信息,且该下一跳信息包括CE1设备的地址,则还可以保存CE1设备的地址与目的设备的地址之间的对应关系。
进一步地,若PE1设备是CE1设备的多归属网络设备中的一个,则CE1设备的多归属网络设备中除PE1设备之外的其他网络设备也可以向PE3设备发送消息。
例如,PE2设备作为CE1设备的另一多归属网络设备,PE2设备可以向PE3设备发送消息,此消息中可以携带目的设备的标识以及PE2设备与CE1设备通信的至少一个接口标识。PE3设备从PE2设备接收该消息后,可以根据该消息保存目的设备的地址和至少一个接口标识之间的对应关系,其中,该至少一个接口标识为PE2设备根据PE2设备与CE1设备通信的接口的个数分配的,以便后续可以根据该对应关系转发发往目的设备的报文。
下面对发送接口标识消息的方法和接收接口标识消息的方法中的报文转发过程进行说明:
图3是本申请实施例提供的一种报文转发过程的流程图。参见图3,该方法包括:
301:PE3设备向PE1设备发送第一报文,第一报文的目的地址为目的设备的地址,第一报文包括第一接口标识。
为便于后续阐述,这里以PE1设备向PE3设备发送的接口标识的个数为两个,分别称为第一接口标识和第二接口标识,并以PE2设备向PE3设备发送的接口标识的个数为一个,称为第三接口标识为例。
PE3设备从PE1设备接收到携带有目的设备的地址、第一接口标识和第二接口标识的消息后,可以保存这两个接口标识与目的设备的地址之间的对应关系。所述对应关系可以保存为第一接口标识、第二接口标识和目的设备地址三者之间的对应关系,也可以分别保存为第一接口标识和目的设备地址之间的对应关系,以及第二接口标识和目的设备地址之间的对应关系,或者保存为其他可以确定出所述对应关系的形式。
这种情况下,PE3设备在向PE1设备发送第一报文时,可以在确定第一报文的目的地址为目的设备的地址时,根据该对应关系确定第一报文中的第一接口标识,然后向PE1设备发送第一报文。第一报文中的第一接口标识用于指示PE1设备根据第一接口标识转发第一报文。
也就是说,PE3设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第一接口标识,然后将获取到的第一接口标识添加到该报文中,得到第一报文,然后将第一报文发送给PE1设备。
在一种可能的情形中,PE3设备向PE1设备发送第一报文时,PE3设备还可以获取目的设备的地址对应的下一跳信息,该下一跳信息中包括CE1设备的地址;PE3设备根据该下一跳信息中的CE1设备的地址迭代隧道,并确定隧道信息,然后根据该隧道信息向PE1设备发送第一报文。
进一步地,PE3设备还可以向PE1设备发送第二报文,第二报文的目的地址为目的设备的地址,第二报文包括第二接口标识。
这种情况下,PE3设备在向PE1设备发送第二报文时,可以在确定第二报文的目的地址为目的设备的地址时,根据该对应关系确定第二报文中的第二接口标识,然后向PE1设备发送第二报文。第二报文中的第二接口标识用于指示PE1设备根据第二接口标识转发第二报文。
也就是说,PE3设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第二接口标识,然后将获取到的第二接口标识添加到该报文中,得到第二报文,然后将第二报文发送给PE1设备。
其中,PE3设备向PE1设备发送第二报文的方式与PE3设备向PE1设备发送第一报文的方式类似,本申请实施例对此不再赘述。
本申请实施例中,PE3设备在向PE1设备发送报文时,可以根据目的设备的地址对应的该至少一个接口标识,将报文发送到PE1设备。例如,当该至少一个接口标识包括第一接口标识和第二接口标识时,PE3设备可以根据第一接口标识向PE1设备发送第一报文,且根据第二接口标识向PE1设备发送第二报文。其中,所述第一报文和所述第二报文可以属于同一业务流,如均可以属于图1中的CE2设备发往CE1设备的业务流量。
PE3设备还可以向PE2设备发送第三报文,第三报文包括目的设备的地址和第三接口标识。例如,第三报文的目的地址字段可以为目的设备的地址。所述第三报文可以也属于所述业务流。
PE3设备从PE2设备接收到携带有目的设备的地址和第三接口标识的消息后,可以保存第三接口标识与目的设备的地址之间的对应关系。这种情况下,PE3设备在向PE2设备发送第三报文时,可以在确定第三报文的目的地址为目的设备的地址时,根据该对应关系确定第三报文中的第三接口标识,然后向PE2设备发送第三报文。第三报文中的第三接口标识用于指示PE2设备根据第三接口标识转发第三报文。
也就是说,PE3设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第三接口标识,然后将获取到的第三接口标识添加到该报文中,得到第三报文,然后将第三报文发送给PE1设备。
其中,PE3设备向PE2设备发送第三报文的方式与PE3设备向PE1设备发送第一报文的方式类似,本申请实施例对此不再赘述。
本申请实施例中,PE3设备可以根据PE1设备发送的至少一个接口标识和PE2设备发送的至少一个接口标识,分别向PE1设备和PE2设备转发报文。由于PE1设备发送的至少一个接口标识的个数可以指示PE1设备与CE1设备之间可用的链路个数,PE2设备发送的至少一个接口标识的个数可以指示PE2设备与CE1设备之间可用的链路个数,所以PE3设备可以实现以PE1设备、PE2设备与CE1设备之间的可用链路个数为依据,将发往目的设备的报文在PE1设备和PE2设备之间进行负载分担。并且由于多数情形下,PE1设备和PE2设备为一条链路分配的链路带宽相同,因而通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
302:PE1设备从PE3设备接收到发往目的设备的第一报文时,根据第一报文中的第一接口标识,将第一报文转发给CE1设备。
具体地,PE1设备获取第一接口标识对应的接口信息,根据该接口信息所标识的接口将第一报文转发给CE1设备。
在二层接入场景下,第一接口标识对应的接口信息可以是聚合接口信息,此时操作302可以通过如下第一种方式或第二种方式实现。可选地,对于某个接口标识,可以为这个接口标识设置一个对应的接口标识类型;当该接口标识类型为第一类型时,可以通过第一种方式转发报文;当该接口标识类型为第二类型时,可以通过第二种方式转发报文。
在三层接入场景下,第一接口标识对应的接口信息可以是出接口信息,此时操作302可以通过如下第三种方式实现。
第一种方式:PE1设备确定第一接口标识对应的聚合接口信息,通过该聚合接口信息所标识的聚合接口将第一报文转发给CE1设备。
PE1设备在生成该至少一个接口标识时,可以保存该至少一个接口标识与连接PE1设备与CE1设备的聚合接口的信息之间的对应关系。如此,PE1设备在接收到携带有第一接口标识的第一报文时,就可以从此对应关系中获取第一接口标识对应的聚合接口信息。
PE1设备通过该聚合接口信息所标识的聚合接口将第一报文转发给CE1设备时,PE1设备可以将第一报文发送到该聚合接口,由该聚合接口下的成员接口将第一报文转发到CE1设备。
采用该第一种方式,该至少一个接口标识例如可以是End.DT2U类型的段标识。
第二种方式:PE1设备根据第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过第一接口信息所标识的第一接口将第一报文转发给CE1设备。
PE1设备在生成该至少一个接口标识时,可以建立该至少一个接口标识与用于与CE1设备通信的至少一个接口的信息之间的映射关系表。如此,PE1设备在接收到携带有第一接口标识的第一报文时,就可以从此映射关系中获取第一接口标识对应的第一接口信息,然后直接通过第一接口信息所标识的第一接口将第一报文转发给CE1设备。
一种可能的情况中,此映射关系表可以是一张表,这张表中包括该至少一个接口标识和该至少一个接口的信息,每个接口标识与一个接口信息对应。例如,此映射关系表可以如下表1所示。
表1
接口标识 | 接口信息 |
接口标识1 | 接口信息1 |
接口标识2 | 接口信息2 |
接口标识3 | 接口信息3 |
…… | …… |
本申请实施例中仅以上表1为例来对接口标识与接口信息之间的映射关系表进行说明,上表1并不对本申请实施例构成唯一限定。
另一种可能的情况中,此映射关系表可以包括两张表,一张表中包括该至少一个接口标识和至少一个接口索引,另一张表中包括该至少一个接口索引和该至少一个接口的信息。例如,该映射关系表可以包括如下表2和表3。可以根据表2中每个接口标识对应的接口索引,从表2中查找对应的接口信息。表2中除了包括接口信息外,还可以包括例如目的设备的MAC地址、目的设备所属虚拟局域网(virtual local area network,VLAN)信息等。
表2
表3
本申请实施例中仅以上表2和表3为例来对接口标识与接口信息之间的映射关系表进行说明,上表2-表3并不对本申请实施例构成唯一限定。
采用该第二种方式,该至少一个接口标识例如可以定义为一种二层转发可用的段标识类型。
第三种方式:PE1通过第一接口标识所标识的出接口将第一报文转发给CE1设备。
在三层接入场景下,该至少一个接口标识分别用于标识至少一个出接口,该多个出接口是PE1设备到目的设备的出接口。因而PE1可以直接通过第一接口标识所标识的出接口将第一报文转发给CE1设备。
采用该第三种方式,该至少一个接口标识例如可以是END.DX4类型的段标识。
进一步地,PE1设备还可以接收PE3设备发往目的设备的第二报文,根据第二报文中的第二接口标识将第二报文转发给CE1设备。具体操作与操作302类似,本申请实施例对此不再赘述。
本申请实施例提供的发送接口标识消息的方法和接收接口标识消息的方法应用于网络系统,该网络系统包括分别与第二网络设备连接的第一网络设备和第四网络设备,以及可以包括第三网络设备。
下面对第一网络设备发送接口标识消息的过程进行说明:
图4是本申请实施例提供的一种发送接口标识消息的方法的流程图,该方法可以由第一网络设备执行,第一网络设备例如可以是图1中的PE1设备。参见图4,该方法包括:
401:第一网络设备确定用于与第二网络设备通信的至少一个接口的个数。
第二网络设备是与第一网络设备连接的网络设备。一种可能的情况中,第一网络设备可以是第二网络设备的多归属网络设备中的一个,即第二网络设备多归属连接到第一网络设备和其他一个或多个网络设备。
第一网络设备连接到第二网络设备时,具有用来与第二网络设备通信的至少一个接口,该至少一个接口可以是物理接口。
第一网络设备连接到第二网络设备的方式不同时,操作401会有所不同。在二层接入场景下,操作401可以通过如下第一种可能的实现方式实现;在三层接入场景下,操作401可以通过如下第二种可能的实现方式实现。
第一种可能的实现方式:第一网络设备通过聚合接口连接到第二网络设备。第一网络设备确定该聚合接口包括的至少一个成员接口;第一网络设备根据该至少一个成员接口,确定用于与第二网络设备通信的至少一个接口的个数。
第一网络设备可以通过由多个物理接口聚合而成的逻辑接口与第二网络设备通信,所述逻辑接口可以称为聚合接口,也称为LAG。这个逻辑接口中的物理接口可以称为这个逻辑接口的成员接口。
由于第一网络设备通过该聚合接口连接到第二网络设备,所以第一网络设备可以通过该聚合接口中的部分或全部成员接口来与第二网络设备进行通信。因而第一网络设备可以根据该聚合接口包括的成员接口的个数,确定用于与第二网络设备通信的至少一个接口的个数。具体操作可以包括如下三种方式:
方式1、第一网络设备将该至少一个成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
在业务流量较大,第一网络设备满负载运行的情况下,第一网络设备可以通过该聚合接口中的所有成员接口来向第二网络设备转发流量,因而第一网络设备可以将该至少一个成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
方式2、第一网络设备将该至少一个成员接口中为选中使用的成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
链路聚合可以基于LACP实现,属于聚合接口的各成员接口可以通过使用LACP通告信息。该聚合接口中的成员接口的状态包括选中使用和备用两种状态。选中使用的成员接口是当前进行流量转发的成员接口。备用的成员接口暂不进行流量转发,其可以在选中使用的成员接口失效时将状态变更为选中使用后进行流量转发。也就是说,该聚合接口中为选中使用的成员接口是第一网络设备当前与第二网络设备进行通信的成员接口,因而第一网络设备可以将该至少一个成员接口中为选中使用的成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
方式3、第一网络设备从该至少一个成员接口接收多个LLDP报文,根据该多个LLDP报文,从该至少一个成员接口中确定与第二网络设备通信的至少一个接口的个数。
该多个LLDP报文包括与第一网络设备连接的多个网络设备的设备信息,该多个网络设备包括第二网络设备。对于该至少一个成员接口中的任意一个成员接口,如果某个网络设备通过这个成员接口与第一网络设备连接,则这个网络设备可以将携带有自身的设备信息的LLDP报文发送到这个成员接口,第一网络设备可以通过这个成员接口接收到该LLDP报文,并根据该LLDP报文确定这个成员接口是否是与第二网络设备通信的接口。
该设备信息包括aggregation port ID和chassis ID,chassis ID用于标识网络设备,aggregation port ID用于标识网络设备的聚合接口。也就是说,对于某个网络设备,这个网络设备发送到第一网络设备中的一个成员接口的LLDP报文中包括用于标识这个网络设备的chassis ID以及用于标识这个网络设备的聚合接口的aggregation port ID。
这种情况下,第一网络设备根据该多个LLDP报文,从该至少一个成员接口中确定与第二网络设备通信的至少一个接口的个数的操作可以为:第一网络设备根据该多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为第二网络设备的标识、且aggregation port ID为连接第二网络设备与第一网络设备的聚合接口的标识的LLDP报文的第一个数;第一网络设备将第一个数作为与第二网络设备通信的至少一个接口的个数。
对于第一网络设备从该至少一个成员接口接收到的多个LLDP报文中的任意一个LLDP报文,如果这个LLDP报文中的chassis ID为第二网络设备的标识、且aggregationport ID为连接第二网络设备与第一网络设备的聚合接口的标识,则确定发送这个LLDP报文的网络设备就是第二网络设备,也就可以确定接收到这个LLDP报文的成员接口是用于与第二网络设备通信的接口。因而第一网络设备可以将chassis ID为第二网络设备的标识、且aggregation port ID为连接第二网络设备与第一网络设备的聚合接口的标识的LLDP报文的个数(即第一个数)作为与第二网络设备通信的至少一个接口的个数。
在某些情形下,例如第一网络设备和第二网络设备连接的聚合接口中虽然包括两个成员接口,但其中一个成员接口实际属于误接的情况,则该情形下如采用上述方式1确定第一网络设备与第二网络设备通信的至少一个接口的个数可能并不足够准确,因为该误接的成员接口可能实际无法用于第二网络流量的转发。然而,如采用上述方式3,从误接的成员接口获取的LLDP报文中的Aggregation port ID取值为空,则第一网络设备可以根据取值为空的Aggregation port ID并不是连接第二网络设备与第一网络设备的聚合接口的Aggregation port ID,而不将所述误接的成员接口统计在内,从而提高了识别的准确性。
可以理解地,上述方式1至方式3在某些情形下也可以相互配合使用。
第二种可能的实现方式:第一网络设备确定第一网络设备到目的设备的至少一个下一跳地址的个数;第一网络设备将该至少一个下一跳地址的个数作为与第二网络设备通信的至少一个接口的个数。
目的设备为第二网络设备。或者,目的设备为与第二网络设备连接的设备,如目的设备可以为用户侧网络设备、用户主机等。
这种情况下,第一网络设备到目的设备的下一跳地址是第一网络设备到目的设备的出接口的地址,如可以是第一网络设备到目的设备的出接口的IP地址等。第一网络设备到目的设备有几个出接口,就会有几个下一跳地址。而由于目的设备为第二网络设备或为与第二网络设备连接的设备,所以第一网络设备到目的设备的出接口也是第一网络设备与第二网络设备通信的接口。因而第一网络设备可以将第一网络设备到目的设备的至少一个下一跳地址的个数作为与第二网络设备通信的至少一个接口的个数。
402:第一网络设备生成至少一个接口标识,该至少一个接口标识的个数与该至少一个接口的个数相同。
由于该接口标识主要用于第三网络设备根据接口标识确定负载分担比例,因而第三网络设备只需知晓接收的各个接口标识和目的设备地址之间的对应关系,从而根据该对应关系完成向第一网络设备和第四网络设备的按比例流量转发即可,而无需关注各个接口标识与第一网络设备或第四网络设备上的某个具体接口之间是否具有对应关系。
并且,在某些可能的情形中,第一网络设备或第四网络设备也可以无需关注分配的至少一个接口标识和至少一个接口之间的一一对应关系。例如,第一网络设备在根据聚合接口包括的成员接口个数分配接口标识的方式中,第一网络设备可以在为该聚合接口的多个成员接口分配对应的多个接口标识之后,保存该聚合接口和该多个接口标识之间的对应关系即可,而无需关注该多个成员接口和该多个接口标识之间是否具有一一对应关系。如此,第一网络设备在接收报文时,可以基于报文中携带的接口标识属于该多个接口标识,以及该聚合接口和该多个接口标识之间的对应关系,确定该聚合接口用于转发所述报文。
因此,在诸如二层接入场景下,第一网络设备分配的该至少一个接口标识与该至少一个接口可以不对应,只需该至少一个接口标识的个数与该至少一个接口的个数相同即可。而在诸如三层接入场景下,第一网络设备分配的该至少一个接口标识可以分别对应于该至少一个接口,也即,该至少一个接口标识可以一一标识该至少一个接口,以便于第一网络设备在接收包括该至少一个接口标识中的一个接口标识的报文时,能够根据本地保存的该接口标识和接口之间的一一对应关系,直接通过相应的接口转发所述报文。
该至少一个接口标识的类型可以为SID、MPLS标签等,本申请实施例对此不作唯一限定。
403:第一网络设备发送消息,该消息包括目的设备的地址和至少一个接口标识。
目的设备的地址可以为目的设备的IP地址、MAC地址等。目的设备的地址可以携带于该消息中的目的地址字段。此外,该消息中还可以包括下一跳信息,可以将第二网络设备的地址携带于该消息中的下一跳信息中。
第一网络设备发送的该消息用于通告目的设备的路由。例如,该消息可以为BGP路由。该至少一个接口标识可以携带于该BGP路由中的tlv信息中。进一步地,还可以将该至少一个接口标识的个数也携带在该tlv信息中。可选地,该至少一个接口标识也可以携带在多条消息中进行通告。
其中,第一网络设备发送消息时,可以向第三网络设备发送该消息。
进一步地,第一网络设备可以接收第三网络设备发往目的设备的报文,该报文携带该至少一个接口标识中的第一接口标识。第一网络设备可以根据第一接口标识,将该报文转发给第二网络设备。
具体地,第一网络设备获取第一接口标识对应的接口信息,根据该接口信息所标识的接口将该报文转发给第二网络设备。
在二层接入场景下,第一接口标识对应的接口信息可以是聚合接口信息,此时操作403可以通过如下第一种方式或第二种方式实现。可选地,对于某个接口标识,可以为这个接口标识设置一个对应的接口标识类型;当该接口标识类型为第一类型时,可以通过第一种方式转发报文;当该接口标识类型为第二类型时,可以通过第二种方式转发报文。
在三层接入场景下,第一接口标识对应的接口信息可以是出接口信息,此时操作403可以通过如下第三种方式实现。
第一种方式:第一网络设备确定第一接口标识对应的聚合接口信息,通过该聚合接口信息所标识的聚合接口将该报文转发给第二网络设备。
第一网络设备在生成该至少一个接口标识时,可以保存该至少一个接口标识与连接第一网络设备与第二网络设备的聚合接口的信息之间的对应关系。如此,第一网络设备在接收到携带有第一接口标识的该报文时,就可以从此对应关系中获取第一接口标识对应的聚合接口信息。
第一网络设备通过该聚合接口信息所标识的聚合接口将该报文转发给第二网络设备时,第一网络设备可以将该报文发送到该聚合接口,由该聚合接口下的成员接口将该报文转发到第二网络设备。
采用该第一种方式,该至少一个接口标识例如可以是End.DT2U类型的段标识。
第二种方式:第一网络设备根据第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过第一接口信息所标识的第一接口将该报文转发给第二网络设备。
第一网络设备在生成该至少一个接口标识时,可以建立该至少一个接口标识与用于与第二网络设备通信的至少一个接口的信息之间的映射关系表。如此,第一网络设备在接收到携带有第一接口标识的该报文时,就可以从此映射关系中获取第一接口标识对应的第一接口信息,然后直接通过第一接口信息所标识的第一接口将该报文转发给第二网络设备。
采用该第二种方式,该至少一个接口标识例如可以定义为一种二层转发可用的段标识类型。
第三种方式:第一网络通过第一接口标识所标识的出接口将该报文转发给第二网络设备。
在三层接入场景下,该至少一个接口标识分别用于标识至少一个出接口,该多个出接口是第一网络设备到目的设备的出接口。因而第一网络可以直接通过第一接口标识所标识的出接口将该报文转发给第二网络设备。
采用该第三种方式,该至少一个接口标识例如可以是END.DX4类型的段标识。
下面对第三网络设备发送接口标识消息的过程进行说明:
图5是本申请实施例提供的一种接收接口标识消息的方法的流程图,该方法可以由第三网络设备执行,第三网络设备例如可以是图1中的PE3设备。参见图5,该方法包括:
501:第三网络设备从第一网络设备接收第一消息,第一消息包括目的设备的地址和至少一个接口标识。
第一消息即为上述操作403中第一网络设备发送的消息。第三网络设备从第一网络设备接收第一消息后,可以根据第一消息保存该至少一个接口标识与目的设备的地址之间的对应关系,其中,该至少一个接口标识为第一网络设备根据第一网络设备与第二网络设备通信的接口的个数分配的,以便后续可以根据该对应关系转发发往目的设备的报文。此外,若第一消息中还包括下一跳信息,且该下一跳信息包括第二网络设备的地址,则还可以保存第二网络设备的地址与目的设备的地址之间的对应关系。
进一步地,若第一网络设备是第二网络设备的多归属网络设备中的一个,则第二网络设备的多归属网络设备中除第一网络设备之外的其他网络设备也可以向第三网络设备发送消息。
例如,第四网络设备作为第二网络设备的另一多归属网络设备,第四网络设备可以向第三网络设备发送第二消息,第二消息中可以携带目的设备的标识以及第四网络设备与第二网络设备通信的至少一个接口标识。第三网络设备从第四网络设备接收第二消息后,可以根据第二消息保存目的设备的地址和至少一个接口标识之间的对应关系,其中,该至少一个接口标识为第四网络设备根据第四网络设备与第二网络设备通信的接口的个数分配的,以便后续可以根据该对应关系转发发往目的设备的报文。
502:第三网络设备向第一网络设备发送第一报文,第一报文的目的地址为目的设备的地址,第一报文包括第一接口标识。
为便于后续阐述,这里以第一网络设备向第三网络设备发送的接口标识的个数为两个,分别称为第一接口标识和第二接口标识,并以第四网络设备向第三网络设备发送的接口标识的个数为一个,称为第三接口标识为例。
第三网络设备从第一网络设备接收到携带有目的设备的地址、第一接口标识和第二接口标识的消息后,可以保存这两个接口标识与目的设备的地址之间的对应关系。所述对应关系可以保存为第一接口标识、第二接口标识和目的设备地址三者之间的对应关系,也可以分别保存为第一接口标识和目的设备地址之间的对应关系,以及第二接口标识和目的设备地址之间的对应关系,或者保存为其他可以确定出所述对应关系的形式。
这种情况下,第三网络设备在向第一网络设备发送第一报文时,可以在确定第一报文的目的地址为目的设备的地址时,根据该对应关系确定第一报文中的第一接口标识,然后向第一网络设备发送第一报文。第一报文中的第一接口标识用于指示第一网络设备根据第一接口标识转发第一报文。
也就是说,第三网络设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第一接口标识,然后将获取到的第一接口标识添加到该报文中,得到第一报文,然后将第一报文发送给第一网络设备。
在一种可能的情形中,第三网络设备向第一网络设备发送第一报文时,第三网络设备还可以获取目的设备的地址对应的下一跳信息,该下一跳信息中包括第二网络设备的地址;第三网络设备根据该下一跳信息中的第二网络设备的地址迭代隧道,并确定隧道信息,然后根据该隧道信息向第一网络设备发送第一报文。
进一步地,第三网络设备还可以向第一网络设备发送第二报文,第二报文的目的地址为目的设备的地址,第二报文包括第二接口标识。
这种情况下,第三网络设备在向第一网络设备发送第二报文时,可以在确定第二报文的目的地址为目的设备的地址时,根据该对应关系确定第二报文中的第二接口标识,然后向第一网络设备发送第二报文。第二报文中的第二接口标识用于指示第一网络设备根据第二接口标识转发第二报文。
也就是说,第三网络设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第二接口标识,然后将获取到的第二接口标识添加到该报文中,得到第二报文,然后将第二报文发送给第一网络设备。
其中,第三网络设备向第一网络设备发送第二报文的方式与第三网络设备向第一网络设备发送第一报文的方式类似,本申请实施例对此不再赘述。
本申请实施例中,第三网络设备在向第一网络设备发送报文时,可以根据目的设备的地址对应的该至少一个接口标识,将报文发送到第一网络设备。例如,当该至少一个接口标识包括第一接口标识和第二接口标识时,第三网络设备可以根据第一接口标识向第一网络设备发送第一报文,且根据第二接口标识向第一网络设备发送第二报文。其中,所述第一报文和所述第二报文可以属于同一业务流。
第三网络设备还可以向第四网络设备发送第三报文,第三报文包括目的设备的地址和第三接口标识。例如,第三报文的目的地址字段可以为目的设备的地址。所述第三报文可以也属于所述业务流。
第三网络设备从第四网络设备接收到携带有目的设备的地址和第三接口标识的消息后,可以保存第三接口标识与目的设备的地址之间的对应关系。这种情况下,第三网络设备在向第四网络设备发送第三报文时,可以在确定第三报文的目的地址为目的设备的地址时,根据该对应关系确定第三报文中的第三接口标识,然后向第四网络设备发送第三报文。第三报文中的第三接口标识用于指示第四网络设备根据第三接口标识转发第三报文。
也就是说,第三网络设备在接收到需要发往目的设备的报文时,可以根据该报文中的目的地址(即目的设备的地址)从该对应关系中获取第三接口标识,然后将获取到的第三接口标识添加到该报文中,得到第三报文,然后将第三报文发送给第一网络设备。
其中,第三网络设备向第四网络设备发送第三报文的方式与第三网络设备向第一网络设备发送第一报文的方式类似,本申请实施例对此不再赘述。
本申请实施例中,第三网络设备可以根据第一网络设备发送的至少一个接口标识和第四网络设备发送的至少一个接口标识,分别向第一网络设备和第四网络设备转发报文。由于第一网络设备发送的至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数,第四网络设备发送的至少一个接口标识的个数可以指示第四网络设备与第二网络设备之间可用的链路个数,所以第三网络设备可以实现以第一网络设备、第四网络设备与第二网络设备之间的可用链路个数为依据,将发往目的设备的报文在第一网络设备和第四网络设备之间进行负载分担。并且由于多数情形下,第一网络设备和第四网络设备为一条链路分配的链路带宽相同,因而通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
图6是本申请实施例提供的一种网络设备的结构示意图。该网络设备可以是图1中所示的PE1设备、PE2设备或PE3设备,也可以是上述图4-图6实施例中所述的第一网络设备、第四网络设备或第三网络设备。参见图6,该网络设备可以包括至少一个处理器601以及至少一个通信接口604。该网络设备还可以包括通信总线602、存储器603。
处理器601可以是微处理器(包括中央处理器(central processing unit,CPU)等)、特定应用集成电路(application-specific integrated circuit,ASIC),或者可以是一个或多个用于控制本申请方案程序执行的集成电路。
通信接口604使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网、无线接入网(radio access network,RAN)、无线局域网(wireless local areanetwork,WLAN)等。通信接口604可以用于接收或发送与其他设备之间进行通信的数据,如接收其他设备发送的报文,或向其他设备发送网络设备生成的接口标识等。
存储器603可以是只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、电可擦可编程只读存储器(electrically erasable programmableread-Only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器603可以是独立存在,并通过通信总线602与处理器601相连接。存储器603也可以和处理器601集成在一起。
通信总线602可包括一通路,用于在上述组件之间传送信息。
在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,如图6中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,如图6中所示的处理器601和处理器605。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备还可以包括输出设备606和输入设备607。输出设备606和处理器601通信,可以以多种方式来显示信息。例如,输出设备606可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备607和处理器601通信,可以以多种方式接收用户的输入。例如,输入设备607可以是鼠标、键盘、触摸屏设备或传感设备等。
上述网络设备例如可以是路由器、交换机、PE设备、网络服务器、交换机或台式机,也可以是其他类型的通信设备或嵌入式设备等,本申请实施例不特别限定网络设备的类型。
当网络设备包括存储器603时,该存储器603用于存储执行本申请方案的程序代码610,处理器601用于执行存储器603中存储的程序代码610。该网络设备可以通过处理器601以及存储器603中的程序代码610,以实现上述实施例中由第一网络设备、第四网络设备或第三网络设备执行的操作。在其他实现形式中,存储器也可以独立于网络设备存在,网络设备运行时可以调用该存储器中存储的程序代码,以实现上述实施例中由第一网络设备、第四网络设备或第三网络设备执行的操作。
图7是本申请实施例提供的一种第一网络设备的结构示意图,第一网络设备可以由软件、硬件或者两者的结合实现,第一网络设备可以为图6所示的网络设备。参见图7,第一网络设备包括:确定模块701、生成模块702和发送模块703。
确定模块701,用于确定用于与第二网络设备通信的至少一个接口的个数;
生成模块702,用于生成至少一个接口标识,至少一个接口标识的个数与至少一个接口的个数相同;
发送模块703,用于发送消息,消息包括目的设备的地址和至少一个接口标识,目的设备为第二网络设备或者为与第二网络设备连接的设备。
可选地,发送模块703用于:
向第三网络设备发送消息;
第一网络设备还包括:
接收模块,用于接收第三网络设备发往目的设备的报文,报文携带至少一个接口标识中的第一接口标识;
发送模块703,还用于根据第一接口标识,将报文转发给第二网络设备。
可选地,发送模块703还用于:
获取第一接口标识对应的接口信息;
根据接口信息所标识的接口将报文转发给第二网络设备。
可选地,发送模块703还用于:
根据第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过第一接口信息所标识的第一接口将报文转发给第二网络设备;或者,
确定第一接口标识对应的聚合接口信息,通过聚合接口信息所标识的聚合接口将报文转发给第二网络设备。
可选地,第一网络设备通过聚合接口连接到第二网络设备,确定模块701用于:
确定聚合接口包括的至少一个成员接口;
根据至少一个成员接口,确定用于与第二网络设备通信的至少一个接口的个数。
可选地,确定模块701用于:
将至少一个成员接口的个数作为与第二网络设备通信的至少一个接口的个数;或者
将至少一个成员接口中为选中使用的成员接口的个数作为与第二网络设备通信的至少一个接口的个数。
可选地,确定模块701用于:
从至少一个成员接口接收多个LLDP报文,多个LLDP报文包括与第一网络设备连接的多个网络设备的设备信息,多个网络设备包括第二网络设备;
根据多个LLDP报文,从至少一个成员接口中确定与第二网络设备通信的至少一个接口的个数。
可选地,设备信息包括aggregation port ID和chassis ID,chassis ID用于标识网络设备,aggregation port ID用于标识网络设备的聚合接口,确定模块701用于:
根据多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为第二网络设备的标识、且aggregation port ID为连接第二网络设备与第一网络设备的聚合接口的标识的LLDP报文的第一个数;
将第一个数作为与第二网络设备通信的至少一个接口的个数。
可选地,确定模块701用于:
确定第一网络设备到目的设备的至少一个下一跳地址的个数;
将至少一个下一跳地址的个数作为与第二网络设备通信的至少一个接口的个数。
可选地,至少一个接口标识均为SID或MPLS标签。
可选地,消息为BGP路由,至少一个接口标识携带于BGP路由中的tlv信息中。
在本申请实施例中,第一网络设备发送携带有目的设备的地址和至少一个接口标识的消息。由于该至少一个接口标识的个数与第一网络设备用于与第二网络设备通信的至少一个接口的个数相同,所以该至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数。如此,接收到该消息的其他网络设备可以实现以第一网络设备与第二网络设备之间的可用链路个数为依据,对发往目的设备的报文进行负载分担。并且,由于多数情形下,为一条链路分配的链路带宽是相同的,所以通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
需要说明的是:上述实施例提供的第一网络设备在发送接口标识消息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一网络设备与发送接口标识消息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例提供的一种第三网络设备的结构示意图,第三网络设备可以由软件、硬件或者两者的结合实现,第三网络设备可以为图6所示的网络设备。参见图8,第三网络设备包括:接收模块801和发送模块802。
接收模块801,用于从第一网络设备接收第一消息,第一消息包括目的设备的地址和至少一个接口标识,至少一个接口标识的个数与至少一个接口的个数相同,至少一个接口为第一网络设备用于与第二网络设备通信的接口,至少一个接口标识包括第一接口标识,目的设备为第二网络设备或者为与第二网络设备连接的设备;
发送模块802,用于向第一网络设备发送第一报文,第一报文的目的地址为目的设备的地址,第一报文包括第一接口标识。
可选地,至少一个接口标识还包括第二接口标识,发送模块802还用于:
向第一网络设备发送第二报文,第二报文的目的地址为目的设备的地址,第二报文包括第二接口标识。
可选地,发送模块802用于:
根据第一消息保存第一接口标识和目的设备的地址之间的对应关系;
确定第一报文的目的地址为目的设备的地址,根据对应关系确定第一报文中的第一接口标识;
向第一网络设备发送第一报文。
可选地,至少一个接口标识均为SID或MPLS标签。
可选地,消息为BGP路由,至少一个接口标识携带于BGP路由中的tlv信息中。
可选地,第一网络设备为第二网络设备的多归属网络设备中的一个。
可选地,
接收模块801,还用于从第四网络设备接收第二消息,第二消息包括目的设备的地址以及第四网络设备与第二网络设备通信的第三接口标识,第四网络设备为第二网络设备的另一多归属网络设备;
发送模块802,还向第四网络设备发送第三报文,第三报文包括目的设备的地址和第三接口标识。
可选地,第一报文、第二报文和第三报文属于同一业务流。
可选地,第一消息还包括下一跳信息,下一跳信息包括第二网络设备的地址,发送模块802用于:
根据下一跳信息中的第二网络设备的地址迭代隧道,并确定隧道信息;
根据隧道信息向第一网络设备发送第一报文。
在本申请实施例中,第三网络设备从第一网络设备接收携带有目的设备的地址和至少一个接口标识的第一消息。由于该至少一个接口标识的个数与第一网络设备用于与第二网络设备通信的至少一个接口的个数相同,所以该至少一个接口标识的个数可以指示第一网络设备与第二网络设备之间可用的链路个数。如此,第三网络设备可以实现以第一网络设备与第二网络设备之间的可用链路个数为依据,对发往目的设备的报文进行负载分担。并且,由于多数情形下,为一条链路分配的链路带宽是相同的,所以通过这种基于链路个数进行负载分担的方式可以提高链路带宽利用率,继而可以提高报文转发效率和业务效率。
需要说明的是:上述实施例提供的第三网络设备在接收接口标识消息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第三网络设备与接收接口标识消息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种发送接口标识消息的方法,其特征在于,所述方法包括:
第一网络设备确定用于与第二网络设备通信的至少一个接口的个数;
所述第一网络设备生成至少一个接口标识,所述至少一个接口标识的个数与所述至少一个接口的个数相同;
所述第一网络设备发送消息,所述消息包括目的设备的地址和所述至少一个接口标识,所述目的设备为所述第二网络设备或者为与所述第二网络设备连接的设备。
2.如权利要求1所述的方法,其特征在于,所述第一网络设备发送消息,包括:
所述第一网络设备向第三网络设备发送所述消息;
所述第一网络设备向第三网络设备发送所述消息之后,还包括:
所述第一网络设备接收所述第三网络设备发往所述目的设备的报文,所述报文携带所述至少一个接口标识中的第一接口标识;
所述第一网络设备根据所述第一接口标识,将所述报文转发给所述第二网络设备。
3.如权利要求1或2所述的方法,其特征在于,所述第一网络设备根据所述第一接口标识,将所述报文转发给所述第二网络设备,包括:
所述第一网络设备获取所述第一接口标识对应的接口信息;
所述第一网络设备根据所述接口信息所标识的接口将所述报文转发给所述第二网络设备。
4.如权利要求3所述的方法,其特征在于,所述第一网络设备获取所述第一接口标识对应的接口信息,所述第一网络设备根据所述接口信息所标识的接口将所述报文转发给所述第二网络设备,包括:
所述第一网络设备根据所述第一接口标识,从接口标识与接口信息之间的映射关系表中获取第一接口信息,通过所述第一接口信息所标识的第一接口将所述报文转发给所述第二网络设备;或者,
所述第一网络设备确定所述第一接口标识对应的聚合接口信息,通过所述聚合接口信息所标识的聚合接口将所述报文转发给所述第二网络设备。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第一网络设备通过聚合接口连接到所述第二网络设备,所述第一网络设备确定用于与第二网络设备通信的至少一个接口的个数,包括:
所述第一网络设备确定所述聚合接口包括的至少一个成员接口;
所述第一网络设备根据所述至少一个成员接口,确定用于与所述第二网络设备通信的至少一个接口的个数。
6.如权利要求5所述的方法,其特征在于,所述第一网络设备根据所述至少一个成员接口,确定用于与所述第二网络设备通信的至少一个接口的个数,包括:
所述第一网络设备将所述至少一个成员接口的个数作为与所述第二网络设备通信的至少一个接口的个数;或者
所述第一网络设备将所述至少一个成员接口中为选中使用的成员接口的个数作为与所述第二网络设备通信的至少一个接口的个数。
7.如权利要求5所述的方法,其特征在于,所述第一网络设备根据所述至少一个成员接口,确定用于与所述第二网络设备通信的至少一个接口的个数,包括:
所述第一网络设备从所述至少一个成员接口接收多个链路层发现协议LLDP报文,所述多个LLDP报文包括与所述第一网络设备连接的多个网络设备的设备信息,所述多个网络设备包括所述第二网络设备;
所述第一网络设备根据所述多个LLDP报文,从所述至少一个成员接口中确定与所述第二网络设备通信的至少一个接口的个数。
8.如权利要求7所述的方法,其特征在于,所述设备信息包括聚合接口标识aggregation port ID和设备标识chassis ID,所述chassis ID用于标识网络设备,所述aggregation port ID用于标识所述网络设备的聚合接口,所述第一网络设备根据所述多个LLDP报文,从所述至少一个成员接口中确定与所述第二网络设备通信的至少一个接口的个数,包括:
所述第一网络设备根据所述多个LLDP报文中包括的多个chassis ID和多个aggregation port ID,确定chassis ID为所述第二网络设备的标识、且aggregation portID为连接所述第二网络设备与所述第一网络设备的聚合接口的标识的LLDP报文的第一个数;
所述第一网络设备将所述第一个数作为与所述第二网络设备通信的至少一个接口的个数。
9.如权利要求1-4任一项所述的方法,其特征在于,所述第一网络设备确定用于与所述第二网络设备通信的至少一个接口的个数,包括:
所述第一网络设备确定所述第一网络设备到所述目的设备的至少一个下一跳地址的个数;
所述第一网络设备将所述至少一个下一跳地址的个数作为与所述第二网络设备通信的至少一个接口的个数。
10.一种接收接口标识消息的方法,其特征在于,所述方法包括:
第三网络设备从第一网络设备接收第一消息,所述第一消息包括目的设备的地址和至少一个接口标识,所述至少一个接口标识的个数与至少一个接口的个数相同,所述至少一个接口为所述第一网络设备用于与第二网络设备通信的接口,所述至少一个接口标识包括第一接口标识,所述目的设备为所述第二网络设备或者为与所述第二网络设备连接的设备;
所述第三网络设备向所述第一网络设备发送第一报文,所述第一报文的目的地址为所述目的设备的地址,所述第一报文包括所述第一接口标识。
11.根据权利要求10所述的方法,其特征在于,所述至少一个接口标识还包括第二接口标识,所述方法还包括:
所述第三网络设备向所述第一网络设备发送第二报文,所述第二报文的目的地址为所述目的设备的地址,所述第二报文包括所述第二接口标识。
12.根据权利要求10或11所述的方法,其特征在于,所述第三网络设备向所述第一网络设备发送第一报文,包括:
所述第三网络设备根据所述第一消息保存所述第一接口标识和所述目的设备的地址之间的对应关系;
所述第三网络设备确定所述第一报文的目的地址为所述目的设备的地址,根据所述对应关系确定所述第一报文中的所述第一接口标识;
所述第三网络设备向所述第一网络设备发送所述第一报文。
13.如权利要求1-12任一项所述的方法,其特征在于,所述至少一个接口标识均为段标识SID或多协议标签交换MPLS标签。
14.如权利要求1-13任一项所述的方法,其特征在于,所述消息为边界网关协议BGP路由,所述至少一个接口标识携带于所述BGP路由中的类型长度值tlv信息中。
15.如权利要求1-14任一项所述的方法,其特征在于,所述第一网络设备为所述第二网络设备的多归属网络设备中的一个。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
所述第三网络设备从第四网络设备接收第二消息,所述第二消息包括所述目的设备的地址以及所述第四网络设备与所述第二网络设备通信的第三接口标识,所述第四网络设备为所述第二网络设备的另一多归属网络设备;
所述第三网络设备向所述第四网络设备发送第三报文,所述第三报文包括所述目的设备的地址和所述第三接口标识。
17.根据权利要求16所述的方法,其特征在于,所述第一报文、所述第二报文和所述第三报文属于同一业务流。
18.根据权利要求1-17任一项所述的方法,其特征在于,所述第一消息还包括下一跳信息,所述下一跳信息包括所述第二网络设备的地址,所述第三网络设备向所述第一网络设备发送第一报文,包括:
所述第三网络设备根据所述下一跳信息中的所述第二网络设备的地址迭代隧道,并确定隧道信息;
所述第三网络设备根据所述隧道信息向所述第一网络设备发送所述第一报文。
19.一种第一网络设备,其特征在于,所述第一网络设备包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序,以使得所述第一网络设备执行如权利要求1-9任一项所述的方法。
20.一种第三网络设备,其特征在于,其特征在于,所述第三网络设备包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序,以使得所述第三网络设备执行如权利要求10-18任一项所述的方法。
21.一种收发接口标识消息的系统,其特征在于,所述系统包括如权利要求19所述的第一网络设备,和如权利要求20所述的第三网络设备,其中,
所述第一网络设备,用于确定用于与第二网络设备通信的至少一个接口的个数,生成至少一个接口标识,所述至少一个接口标识的个数与所述至少一个接口的个数相同,并向所述第三网络设备发送消息,所述消息包括所述目的设备的地址和所述至少一个接口标识,所述至少一个接口标识包括第一接口标识,所述目的设备为所述第二网络设备或者为与所述第二网络设备连接的设备;
所述第三网络设备,用于接收所述消息,根据所述消息向所述第一网络设备发送第一报文,所述第一报文的目的地址为所述目的设备的地址,所述第一报文包括所述第一接口标识。
22.如权利要求21所述的系统,其特征在于,所述至少一个接口标识还包括第二接口标识;
所述第三网络设备,还用于向所述第一网络设备发送第二报文,所述第二报文的目的地址为所述目的设备的地址,所述第二报文包括所述第二接口标识。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-18任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010648463.4A CN113923165A (zh) | 2020-07-07 | 2020-07-07 | 发送、接收接口标识消息的方法、相关网络设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010648463.4A CN113923165A (zh) | 2020-07-07 | 2020-07-07 | 发送、接收接口标识消息的方法、相关网络设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113923165A true CN113923165A (zh) | 2022-01-11 |
Family
ID=79231687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010648463.4A Pending CN113923165A (zh) | 2020-07-07 | 2020-07-07 | 发送、接收接口标识消息的方法、相关网络设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113923165A (zh) |
-
2020
- 2020-07-07 CN CN202010648463.4A patent/CN113923165A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111510379B (zh) | Evpn报文处理方法、设备及系统 | |
CN114915585A (zh) | 报文处理方法、装置、设备及系统 | |
US9722923B2 (en) | Method operating in a fixed access network and UEs | |
CN112448900A (zh) | 一种数据传输方法及装置 | |
US20220255862A1 (en) | Packet forwarding method, device, storage medium, and system | |
EP3883286A1 (en) | Data processing method, controller and forwarding device | |
WO2018058639A1 (zh) | 伪线负载分担的方法和设备 | |
US20230208751A1 (en) | Packet forwarding method, device, and system | |
WO2020062268A1 (zh) | 在网络中的负载均衡和报文重排序方法及装置 | |
US8675658B2 (en) | Using multiple IGMP queriers in a layer 2 network | |
CN105472486A (zh) | 一种pon接入系统防止路由环路的处理方法 | |
US20230198885A1 (en) | Network layer reachable information transmission method, system, and apparatus and network device | |
US20230216786A1 (en) | Method for forwarding service packet, method for sending sr policy, device, and system | |
WO2023011149A1 (zh) | 一种基于第6版互联网协议的段路由SRv6的通信方法 | |
CN104734930B (zh) | Vlan接入vf网络的实现方法及装置、fcf | |
US11929851B2 (en) | Gateway selection method, device, and system | |
CN113660164A (zh) | 一种报文转发方法及网络设备 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
CN110380966B (zh) | 一种发现转发路径的方法及其相关设备 | |
WO2021057530A1 (zh) | 确定路由前缀与分段标识间映射关系的方法、装置及系统 | |
CN114760165A (zh) | 报文传输方法、设备及系统 | |
US8817648B2 (en) | Pseudowire extended group messaging in a packet switched network | |
WO2022166465A1 (zh) | 一种报文处理方法及相关装置 | |
CN116234063A (zh) | 一种数据传输方法和装置 | |
CN113923165A (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 |