WO2022028216A1 - 网络层可达信息传输方法、系统、装置以及网络设备 - Google Patents

网络层可达信息传输方法、系统、装置以及网络设备 Download PDF

Info

Publication number
WO2022028216A1
WO2022028216A1 PCT/CN2021/106048 CN2021106048W WO2022028216A1 WO 2022028216 A1 WO2022028216 A1 WO 2022028216A1 CN 2021106048 W CN2021106048 W CN 2021106048W WO 2022028216 A1 WO2022028216 A1 WO 2022028216A1
Authority
WO
WIPO (PCT)
Prior art keywords
field
length
information
address
store
Prior art date
Application number
PCT/CN2021/106048
Other languages
English (en)
French (fr)
Inventor
黄洋
王海波
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN202011299988.8A external-priority patent/CN114095416A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21854006.0A priority Critical patent/EP4187865A4/en
Publication of WO2022028216A1 publication Critical patent/WO2022028216A1/zh
Priority to US18/163,398 priority patent/US20230198885A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Abstract

一种网络层可达信息传输方法、系统、装置以及网络设备,属于通信技术领域。本方法中的发送设备可以按照规则生成用于通告多个目的端信息的多个网络层可达信息NLRI的第一部分和第二部分,该第一部分包括对应于该多个NLRI的一个公共信息字段,该公共信息字段包括该多个NLRI中的相同信息,该第二部分包括对应于该多个NLRI的多个专用信息字段,该多个专用信息字段中的每个专用信息字段包括与每个专用信息字段对应的NLRI中除该相同信息以外的信息。该第一部分和该第二部分可携带在通告报文中,以实现对用于通告该多个NLRI的信息的压缩发送,从而在不影响业务正常运行的基础上,提升发送设备发布路由的效率。

Description

网络层可达信息传输方法、系统、装置以及网络设备
本申请要求于2020年08月03日提交的申请号为202010768715.7、申请名称为“一种压缩路由长度的方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请要求于2020年11月18日提交的申请号为202011299988.8、发明名称为“网络层可达信息传输方法、系统、装置以及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种网络层可达信息传输方法、系统、装置以及网络设备。
背景技术
以太网虚拟私有网络(ethernet virtual private network,EVPN)是基于边界网关协议(border gateway protocol,BGP)的控制面协议技术,它能够通过网络层可达信息(network layer reachable information,NLRI),传递二层媒体接入控制(media access control,MAC)信息和三层互联网协议(internet protocol,IP)信息。
EVPN中的一些网络设备承载了数十万甚至数百万的路由,并且建立较多的BGP邻居,例如这些网络设备可以为自治系统边界路由器(autonomous system boundary router,ASBR)设备、路由反射器(route reflector,RR)设备。对于接收到的具有相同BGP属性的多个路由,这些网络设备可以将该多个路由分别打包为一个NLRI,封装为一个BGP报文,并向BGP邻居发送BGP报文,以实现路由交换。
图1给出了一种BGP EVPN业务场景下NLRI的封装格式示意图,该NLRI包括路由类型(route type)字段、长度(length)字段以及具体路由类型(route type specific)字段,其中,路由类型字段用于存储该NLRI所采用的路由类型的类型标识,占用1字节(byte)。例如,当类型标识为2时,路由类型为MAC/IP通告(advertisement)路由。作为可能的实现方式,关于MAC/IP通告路由的介绍也可参见互联网工程任务组(Internet Engineering Task Force,IETF)公开的请求注解(request for comments,RFC)7432中的描述。当类型标识为5时,路由类型为IP前缀(prefix)路由;长度字段用于存储具体路由类型字段的长度,占用1字节,具体路由类型字段用于存储路由信息,该具体路由类型字段的长度是可变的(variable),可以存储不同的路由信息。作为一种可能的示例,IETF公开的工作组草案(draft-ietf-bess-evpn-prefix-advertisement-11)中规定,EVPN场景下IPprefix路由的具体路由类型字段的数据格式如图1中的具体路由类型字段所示。若IP prefix型NLRI遵循互联网通信协议第四版(internet protocol version 4,IPv4),则具体路由类型字段包括路由标识(route distinguisher,RD)字段、以太网段标识(ethernet segment identifier,ESI)字段、以太网标签(ethernet tag)标识(identifier,ID)字段、IP前缀长度字段、IP前缀字段、网关(gateway,GW)IP地址字段、多协议标签交换(multi-protocol label switching,MPLS)标签字段,分别 占用8字节、10字节、4字节、1字节、4字节、4字节以及3字节,分别用于存储路由标识、以太网段标识、以太网标签标识(ethernet tag ID)、IP前缀掩码的长度、IP前缀、网关IP地址以及三层(layer 3,L3)的多协议标签交换标签,其中,RD可以用于指示一个虚拟专用网络(virtual private network,VPN)实例;以太网段标识可以用于指示一个接入接口;以太网标签标识可以用于指示一个接入的虚拟局域网(virtual local area network,VLAN)广播域;IP prefix的长度的取值范围为0-32比特(bit);网关IP地址为默认网关地址;多协议标签交换标签可以为虚拟扩展局域网网络标识(virtual extensible local area network network identifier,VNI),可见IP prefix型NLRI的总长度为1+1+8+10+4+1+4+4+3=36字节。
然而,三层(layer 3,L3)虚拟专用网络(virtual private network,VPN)业务场景下的传统NLRI的总长度则小于36字节。例如图2即示出了一种L3 VPN场景下传统的IP prefix型NLRI的封装格式示意图,以下简称传统NLRI。该传统NLRI包括占用1字节的长度字段、占用3字节的标签字段、占用8个字节的路由标识字段以及占用0-16字节的prefix字段。以传统NLRI遵循IPv4为例,传统NLRI的prefix字段占用4个字节,则此时传统NLRI的总长度为16字节。
从图1和图2可知,EVPN场景下的IP prefix型NLRI的长度为36字节,而传统NLRI在遵循IPv4情形下的长度则为16字节,若BGP报文的4000字节用于携带NLRI,则BGP报文最多只能够携带111个EVPN场景下的IP prefix型NLRI,而最多能够携带250个传统NLRI。因此,在EVPN业务场景下,BGP报文能够携带IP prefix型NLRI的个数较少,导致BGP报文传输IP prefix型NLRI的效率低,因此亟须一种能够提高该场景下NLRI传输效率的传输方法。
发明内容
本申请实施例提供了一种网络层可达信息传输方法、系统、装置以及网络设备,能够提高NLRI传输效率,节约网络运行资源。该技术方案如下:
第一方面,提供了一种网络层可达信息传输方法,由第一网络设备执行,所述方法包括:
生成通告报文,并向第二网络设备发送所述通告报文;
其中,所述通告报文用于通告多个目的端的多个NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共(common)信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用(private)信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息。
作为发送设备的第一网络设备,可以使用预定格式的第一部分和第二部分来通告多个目的端的多个NLRI,所述第二部分包括多个专用信息字段,且所述多个专用信息字段均关联的一个所述第一部分包括的公共信息字段,以实现对用于通告所述多个NLRI的信息的压缩及发送。而作为接收设备的第二网络设备可以基于压缩后的所述第一部分和所述第二部分,确定对应的所述多个NLRI的多个路由信息以用于支持业务。本方法可以在不影响业务正常运行的基础上,提升第一网络设备发布路由的效率,以及在网络中传输所述发布的路由的效率,并节约网络运行资源。
其中,所述目的端可以为报文所需到达的目的网络或目的设备,该报文可以是数据报文。 该目的设备可以是用户主机,还可以是网络设备,例如网关、交换机等。该目的网络可以由网络段地址标识,以指示报文根据该网络段地址标识到达属于该目的网络下的一个或多个用户主机或网络设备。
其中,所述第一部分和所述第二部分可以基于本地已生成的多个目的端的多个NLRI进行压缩而获得,也可以不在本地生成该多个目的端的多个NLRI,而直接根据对应于该多个目的端的路由信息生成该压缩格式的所述第一部分和所述第二部分以用于通告该多个目的端的多个路由信息。
可选地,第一网络设备能够获取多个目的端的路由信息,并存储多个目的端的路由信息以用于后续转发。当存储的多个目的端的路由信息满足设置条件,如到达一定数量或到达发送周期时,该第一网络设备基于多个目的端的路由信息,生成对应于该多个目的端的所述第一部分和所述第二部分,并基于所述第一部分和所述第二部分生成一个通告报文,发送给第二网络设备。
可选地,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个。所述路由标识字段可以用于存储对应于所述多个目的端中的一个的路由标识,所述以太网段标识字段可以用于存储对应于所述多个目的端中一个的以太网段标识,所述太网标签标识字段可以用于存储对应于所述多个目的端中一个的太网标签标识。例如,在一种可能的情形中,可以将同一个VPN实例下,同一个接口接入的VLAN所对应的某种路由类型的所述多个NLRI压缩为所述第一部分和所述第二部分,此时,所述多个NIRI的路由类型、以太网段标识以及以太网标签标识均相同。为了达到压缩的目的,发送设备可以将所述多个NIRI的路由类型的类型标识、以太网段标识以及以太网标签标识中的至少一个存储在所述公共信息字段,由所述多个专用信息字段所共享。
可选地,所述公共信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度。例如,当所述多个NLRI为MAC/IP通告路由时,所述多个NLRI均包括媒体访问控制MAC地址,由于MAC地址的长度是固定的,也即,所述多个目的端的多个MAC地址的长度均相同,为了便于读取所述通告报文中携带的多个目的端的MAC地址以及达到压缩的目的,则发送设备可以将MAC地址的长度存储在所述公共信息字段中的MAC地址长度字段,由所述多个专用信息字段所共享。
可选地,所述公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址。例如,当所述多个NLRI为IP前缀路由时,所述多个NLRI可以均包括相同的网关IP地址,为了达到压缩的目的,则发送设备可以将所述网关IP地址存储在所述公共信息字段中的网关IP地址字段,由所述多个专用信息字段所共享,另外,为了后续便于接收设备读取公共信息字段中存储的网关IP地址,发送设备还可以在所述公共信息字段中的网关IP地址长度字段存储所述网关IP地址的长度,以指示存储的所述网关IP地址。
可选地,所述公共信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度。例如,当所述多个NLRI为IP前缀路由时,所述多个NLRI均包括IP地址,则对于所述多个NLRI包括的IP地址类型均相同的情形,如均为互联网协议版本4(internet protocol version 4,IPv4)地址,或者均为互联网协议版本6(internet  protocol version 6,IPv6)地址,则IP地址的长度是固定的,为了便于读取所述通告报文中携带的多个目的端的IP地址以及达到压缩的目的,则发送设备可以将IP地址的长度存储在所述公共信息字段中的IP地址长度字段,由所述多个专用信息字段所共享。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。例如,在所述多个NLRI为IP前缀路由,且所述多个目的端的IP前缀掩码的长度均相同的情形下,为了便于读取所述通告报文中携带的多个目的端的IP前缀地址以及达到压缩的目的,则发送设备可以将IP前缀掩码的长度存储在所述公共信息字段中的IP前缀长度字段,由所述多个专用信息字段所共享。
可选地,所述公共信息字段还包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。或者,也可以认为所述路由类型字段用于指示所述通告报文中包括压缩类型的NLRI。所述通告报文中携带的所述压缩类型的NLRI即为由所述第一部分和所述第二部分构成的NLRI。可选地,所述路由类型字段用于存储所述多个NLRI所采用的路由类型的类型标识。例如,发送设备可以将指示所述多个NLRI的路由类型的类型标识存储在所述公共信息字段中的路由类型字段,以便接收到所述通告报文的网络设备知晓可以根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
可选地,所述路由类型包括MAC/IP通告路由或IP前缀路由。
可选地,所述公共信息字段还包括传输协议标识字段,所述传输协议标识字段用于存储所述多个NLRI所遵循的传输协议的协议标识。通过传输协议标识字段中存储的协议标识,来指示所述多个NLRI所遵循的传输协议,以便后续接收设备基于所述多个NLRI所遵循的传输协议下NLRI的封装格式,恢复出所述多个NLRI。
可选地,所述传输协议包括IPv4或IPv6。
可选地,所述公共信息字段还包括第一长度字段,所述第一长度字段可以用于存储所述公共信息字段和所述多个专用信息字段的总长度(当所述第一部分仅用于存储公共信息字段,而所述第二部分仅用于存储多个专用信息字段时,也可以理解为所述第一长度字段用于存储所述第一部分和所述第二部分所述NLRI字段的总长度),或者,所述第一长度字段用于存储所述公共信息字段的总长度。当所述第一长度字段中存储有所述公共信息字段和所述多个专用信息字段的总长度时,所述公共信息字段和所述多个专用信息字段的总长度能够指示以压缩格式生成的所述第一部分和所述第二部分的结束位置,以便后续接收设备解析所述第一部分和所述第二部分;当所述第一长度字段中存储有所述公共信息字段的总长度时,所述公共信息字段的总长度能够指示出所述公共信息字段的结束位置,以便后续接收设备解析所述公共信息字段。
可选地,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。例如,当所述第一字段用于存储所述公共信息字段的总长度时,还可以将所述多个专用信息字段的总长度存储在所述公共信息字段中的第二长度字段,以便后续接收设备根据所述第一长度字段和所述第二长度字段分别确定所述公共信息字段和所述多个专用信息字段的结束位置。此外,接收设备还可以将第一长度字段中存储的所述公共信息字段的总长度与所述第二长度字段中存储的所述多个专用信息字段的总长度之和,确定为所述公共信息字段和所述多个专用信息字段的总长度,并以此确定所述第一部分和所述第二部 分的结束位置。
可选地,所述一个专用信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度。例如,为了指示所述一个专用信息字段中是否存储有IP地址,则发送设备可以在所述一个专用信息字段中的IP地址长度字段存储IP地址的长度,若存储的IP地址长度为0,则说明所述一个专用信息字段中未存储IP地址,若存储的IP地址长度不为0,则说明所述一个专用信息字段中存储有IP地址,后续以便接收设备基于存储的IP地址长度读取所述一个专用信息字段中存储的IP地址。
可选地,所述一个专用信息字段包括IP地址字段,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址。该目的端的IP地址可以是目的设备的IP地址,也可以是目的网络的IP前缀地址。例如,所述多个目的端的IP地址不同,发送设备可以在每个目的端对应的专用信息字段的IP地址字段中存储对应目的端的IP地址,以便每个目的端的IP地址与每个目的端对应。
可选地,所述IP地址包括IPv4地址或IPv6地址中的一个。例如,所述多个NLRI所遵循的传输协议可能是IPv4也可能的是IPv6,当所述多个NLRI所遵循的传输协议为IPv4时,所述IP地址为IPv4地址,当所述多个NLRI所遵循的传输协议为IPv6时,所述IP地址为IPv6地址。
可选地,所述一个专用信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储一个所述专用信息字段所对应的目的端的IP前缀掩码的长度。例如,所述多个目的端的IP前缀掩码不同,发送设备可以在每个目的端对应的专用信息字段的IP前缀长度字段中存储对应目的端的IP前缀掩码的长度,以和每个目的端的IP前缀地址对应。
可选地,所述一个专用信息字段还包括至少一个MPLS标签字段,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。所述多个NLRI所包括的MPLS标签可以不同。例如,当所述多个NLRI为MAC/IP通告路由时,每个NLRI包括第一MPLS标签(MPLS Label1),且所述多个NLRI所包括的第一MPLS标签可以不同。在一些情形中,所述多个NLRI中的全部或部分NLRI还包括第二MPLS标签(MPLS Label2),且包括的第二MPLS标签可以不同。再例如,当所述多个NLRI为IP前缀路由时,每个NLRI包括MPLS标签,且所述多个NLRI所包括的MPLS标签可以不同。发送设备可以将每个NLRI所包括的MPLS标签分别存储在每个NLRI所对应的专用信息字段。
可选地,所述一个专用信息字段还包括MPLS指示字段,所述MPLS指示字段用于指示所述至少一个MPLS标签字段。为了便于接收设备读取所述一个专用信息字段中存储的至少一个MPLS标签,发送设备还可以在所述一个专用信息字段中的MPLS指示字段存储所述至少一个MPLS标签的指示信息,以指示所述一个专用信息字段中存储的所述至少一个MPLS标签字段。
可选地,所述一个专用信息字段还包括MAC地址字段,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址。例如,当所述多个NLRI为MAC/IP通告路由时,所述多个NLRI均包括MAC地址,且所述多个目的端的MAC地址不同,为了获取每个目的端对应的MAC地址,发送设备可以在每个目的端所对应的专用信息字段的MAC地址字段存储对应目的端的MAC地址。
可选地,所述一个专用信息字段还包括MAC地址长度字段,所述MAC地址长度字段用 于存储一个所述专用信息字段所对应的目的端的MAC地址的长度。例如,为了提高专用信息字段的易读性,MAC地址长度字段也可以不放置在公共信息字段,而是在多个NLRI的多个专用信息字段中分别设置MAC地址长度字段,以指示每个专用信息字段中存储的MAC地址。
可选地,所述一个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述一个专用信息字段的长度。例如,为了便于接收设备解析每个专用信息字段,发送设备可以将每个专用信息字段的总长度存储在对应的专用信息字段中,以指示对应的专用信息字段的结束位置。
可选地,所述方法还包括:
存储所述所述第一部分和所述第二部分,或者存储所述多个NLRI,以便后续查询或再发送。
可选地,所述通告报文为BGP报文,所述第一部分和所述第二部分可以位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分可以位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中,或者,所述第一部分和所述第二部分也可以位于所述BGP报文的其他位置。以上通过BGP报文发送压缩格式的所述第一部分和所述第二部分的方式,可以适用于EVPN网络中,此时,用于发送所述通告报文的发送设备和用于接收所述通告报文的接收设备均为EVPN网络中的设备。
可选地,所述第一网络设备和所述第二网络设备分别为运营商边缘(provider edge,PE)设备、RR或自治系统边界路由器中的一个。当第一网络设备为路由反射器时,所述第一网络设备可以同时具有路由反射功能和报文转发功能。
第二方面,提供了一种网络层可达信息传输方法,所述方法由第二网络设备执行,所述方法包括:
从第一网络设备接收通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
作为接收设备的第二网络设备,通过本方法基于压缩格式的所述第一部分和所述第二部分,确定对应于多个NLRI的多个目的端的路由信息以用于支持业务。由于压缩后的所述第一部分和所述第二部分中包括多个目的端的NLRI的信息,因此本方法可以在不影响业务正常运行的基础上,提升在网络中传输所述发布的路由的效率,并节约网络运行资源。
可选地,所述公共信息字段包括路由类型字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。所述路由类型字段可以用于指示所述通告报文中包括压缩类型的NLRI。所述通告报文中携带的所述压缩类型的NLRI即为由所述第一部分和所述第二部分构成的NLRI。
可选地,所述公共信息字段还包括第一长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:根据所述第一长度字段对所述第一部分公共信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,或者所述多个专用信息字段中的每个还包括对应的第三长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:根据所述第二长度字段或者根据多个所述第三长度字段对所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第三长度字段用于存储对应的所述专用信息字段的长度。
作为在通告报文中携带用于指示所述公共信息字段和所述多个专用信息字段长度的具体方案,在一种可能的实现方式中,所述公共信息字段包括所述第一长度字段和所述第二长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度。
在另一种可能的实现方式中,所述公共信息字段包括所述第一长度字段,所述多个专用信息字段中的每个还包括所述第三长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字段的长度。
可选地,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个,所述路由标识字段用于存储所述多个NLRI中的一个的路由标识,所述以太网段标识字段用于存储所述多个目的端中一个的以太网段标识,所述太网标签标识字段用于存储所述多个目的端中一个的太网标签标识。
可选地,所述公共信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度。
可选地,所述公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址。
可选地,所述公共信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
可选地,所述公共信息字段还包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息,可选地,所述路由类型字段用于存储所述多个NLRI所采用的路由类型的类型标识。
可选地,所述路由类型包括MAC/IP通告路由或IP前缀路由。
可选地,所述公共信息字段还包括传输协议标识字段,所述传输协议标识字段用于存储所述多个NLRI所遵循的传输协议的协议标识。
可选地,所述传输协议包括IPv4或IPv6。
可选地,所述一个专用信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度。
可选地,所述一个专用信息字段包括IP地址字段,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址。
可选地,所述IP地址为IPv4地址或IPv6地址。
可选地,所述一个专用信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储一个所述专用信息字段所对应的目的端的IP前缀掩码的长度。
可选地,所述一个专用信息字段还包括至少一个MPLS标签字段,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
可选地,所述一个专用信息字段还包括MPLS指示字段,所述MPLS指示字段用于指示所述至少一个MPLS标签字段。
可选地,所述一个专用信息字段还包括MAC地址字段,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址。
可选地,所述一个专用信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度。
可选地,所述一个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述一个专用信息字段的长度。
可选地,所述方法还包括:
存储所述第一部分和所述第二部分,或存储所述多个NLRI。
可选地,所述方法还包括:
在接收所述通告报文后,根据所述多个NLRI或者根据所述第一部分和所述第二部分,确定所述多个目的端的多个路由信息。
可选地,所述通告报文为BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文的其他位置。
可选地,所述第一网络设备和所述第二网络设备分别为PE设备、RR或自治系统边界路由器中的一个。
可选地,所述目的端为目的网络或目的设备。
第三方面,提供了一种网络层可达信息传输系统,所述系统可以包括如上述第一方面或第一方面的任一种可能的实现方式中的第一网络设备,以及包括如上述第二方面或第二方面的任一种可能的实现方式中的第二网络设备。
可选地,所述第一网络设备,用于生成通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;向第二网络设备发送所述通告报文;
所述第二网络设备,用于接收所述通告报文,并根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
可选地,所述公共信息字段包括路由类型字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
所述第二网络设备,用于根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。所述路由类型字段也可以理解为用于指示所述通告报文中包括压缩类型的NLRI。所述通告报文中携带的所述压缩类型的NLRI即为由所述第一部分和所述第二部分构成的NLRI。
可选地,所述公共信息字段还包括第一长度字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
所述第二网络设备,用于根据所述第一长度字段对所述第一部分公共信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,或者所述多个专用信息字段中的每个还包括对应的第三长度字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
所述第二网络设备,用于根据所述第二长度字段或者根据多个所述第三长度字段对所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第三长度字段用于存储对应的所述专用信息字段的长度。
所述第二网络设备根据所述通告报文中携带的用于指示所述公共信息字段和所述多个专用信息字段长度的长度信息,能够基于所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。作为一种可能的实现方式,所述第二网络设备用于根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度。
作为另一种可能的实现方式,所述公共信息字段包括所述第二长度字段,所述多个专用信息字段中的每个还包括所述第三长度字段,所述第二网络设备用于根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字 段的长度。
可选地,所述第二网络设备在接收所述通告报文后,还用于对所述通告报文中的所述第一部分和所述第二部分进行存储,或者先根据所述第一部分和所述第二部分获取所述多个NLRI,之后存储所述多个NLRI。存储的所述第一部分和所述第二部分或者所述多个NLRI可以用于供后续转发或通告路由等业务使用,其中,若以所述第一部分和所述第二部分的方式进行存储,可以节约本地存储空间,而若以多组所述第一部分和所述第二部分的方式进行存储,则可以提高后续业务的执行效率。
可选地,第二网络设备还可以向其他网络设备转发所述通告报文。例如,所述第二网络设备为RR,则可以向所述其他网络设备反射所述通告报文,以供所述其他网络设备使用。
可选地,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个,所述路由标识字段用于存储所述多个NLRI中的一个的路由标识,所述以太网段标识字段用于存储所述多个目的端中一个的以太网段标识,所述太网标签标识字段用于存储所述多个目的端中一个的太网标签标识。
可选地,所述公共信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度。
可选地,所述公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址。
可选地,所述公共信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
可选地,所述公共信息字段还包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息,可选地,所述路由类型字段用于存储所述多个NLRI所采用的路由类型的类型标识。
可选地,所述路由类型包括MAC/IP通告路由或IP前缀路由。
可选地,所述公共信息字段还包括传输协议标识字段,所述传输协议标识字段用于存储所述多个NLRI所遵循的传输协议的协议标识。
可选地,所述传输协议包括IPv4或IPv6。
可选地,所述公共信息字段还包括第一长度字段,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。
可选地,所述一个专用信息字段包括IP地址长度字段,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度。
可选地,所述一个专用信息字段包括IP地址字段,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址。
可选地,所述IP地址包括IPv4地址或IPv6地址中的一个。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
可选地,所述一个专用信息字段还包括至少一个MPLS标签字段,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
可选地,所述一个专用信息字段还包括MPLS指示字段,所述MPLS指示字段用于指示所述至少一个MPLS标签字段。
可选地,所述一个专用信息字段还包括MAC地址字段,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址。
可选地,所述一个专用信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度。
可选地,所述一个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述一个专用信息字段的长度。
可选地,所述通告报文为BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中。
可选地,所述第一网络设备和所述第二网络设备分别为PE设备、RR或自治系统边界路由器中的一个。
可选地,所述目的端为目的网络或目的设备。
可选地,所述第一网络设备还用于:
存储所述第一部分和所述第二部分,或者存储所述多个NLRI。
可选地,所述第二网络设备还用于:
存储所述第一部分和所述第二部分,或者存储所述多个NLRI。
第四方面,提供了一种网络层可达信息传输装置,所述装置可以包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的网络层可达信息传输方法的功能模块。
示例性地,所述装置可以包括:
生成模块,用于生成通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
发送模块,用于向第二网络设备发送所述通告报文。
可选地,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个,所述路由标识字段用于存储所述多个NLRI中的一个的路由标识,所述以太网段标识字段用于存储所述多个目的端中一个的以太网段标识,所述太网标签标识字段用于存储所述多个目的端中一个的太网标签标识。
可选地,所述公共信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度。
可选地,所述公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度, 所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址。
可选地,所述公共信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储一个目的端的IP地址的长度,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
可选地,所述公共信息字段还包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息,可选地,所述路由类型字段用于存储所述多个NLRI所采用的路由类型的类型标识。
可选地,所述路由类型包括MAC/IP通告路由或IP前缀路由。
可选地,所述公共信息字段还包括传输协议标识字段,所述传输协议标识字段用于存储所述多个NLRI所遵循的传输协议的协议标识。
可选地,所述传输协议包括IPv4或IPv6。
可选地,所述公共信息字段还包括第一长度字段,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。
可选地,所述一个专用信息字段包括IP地址长度字段,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度。
可选地,所述一个专用信息字段包括IP地址字段,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址。
可选地,所述IP地址包括IPv4地址或IPv6地址中的一个。
可选地,所述一个专用信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储一个所述专用信息字段所对应的目的端的IP前缀掩码的长度。
可选地,所述一个专用信息字段还包括至少一个MPLS标签字段,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
可选地,所述一个专用信息字段还包括MPLS指示字段,所述MPLS指示字段用于指示所述至少一个MPLS标签字段。
可选地,所述一个专用信息字段还包括MAC地址字段,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址。
可选地,所述一个专用信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度。
可选地,所述一个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述一个专用信息字段的长度。
可选地,所述装置还包括:
存储模块,用于存储所述第一部分和所述第二部分,或者存储所述多个NLRI。
可选地,所述通告报文为BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位 于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中。
可选地,所述装置和所述第二网络设备分别为PE设备、RR或自治系统边界路由器中的一个。
可选地,所述目的端为目的网络或目的设备。
第五方面,提供了一种网络层可达信息传输装置,所述装置可以包括用于执行上述第二方面或上述第二方面的任一种可选方式提供的网络层可达信息传输方法的功能模块。
示例性地,所述装置可以包括:
接收模块,用于从第一网络设备接收通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
获取模块,用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
可选地,所述公共信息字段包括路由类型字段;所述获取模块,用于根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。所述路由类型字段也可以理解为用于指示所述通告报文中包括压缩类型的NLRI。所述通告报文中携带的所述压缩类型的NLRI即为由所述第一部分和所述第二部分构成的NLRI。
可选地,所述公共信息字段还包括第一长度字段,所述获取模块,用于根据所述第一长度字段对所述第一部分公共信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,或者所述多个专用信息字段中的每个还包括对应的第三长度字段,所述获取模块,用于根据所述第二长度字段或者根据多个所述第三长度字段对所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第三长度字段用于存储对应的所述专用信息字段的长度。
作为一种具体的可能实现方式,所述公共信息字段还包括第一长度字段和第二长度字段,所述获取模块,用于根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度。
作为另一种具体的可能实现方式,所述公共信息字段还包括第一长度字段,所述多个专用信息字段中的每个还包括第三长度字段;所述获取模块,用于根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字 段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字段的长度。
可选地,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个,所述路由标识字段用于存储所述多个NLRI中的一个的路由标识,所述以太网段标识字段用于存储所述多个目的端中一个的以太网段标识,所述太网标签标识字段用于存储所述多个目的端中一个的太网标签标识。
可选地,所述公共信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度。
可选地,所述公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址。
可选地,所述公共信息字段还包括IP地址长度字段,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度。
可选地,所述公共信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
可选地,所述公共信息字段还包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息,可选地,所述路由类型字段用于存储所述多个NLRI所采用的路由类型的类型标识。
可选地,所述路由类型包括MAC/IP通告路由或IP前缀路由。
可选地,所述公共信息字段还包括传输协议标识字段,所述传输协议标识字段用于存储所述多个NLRI所遵循的传输协议的协议标识。
可选地,所述传输协议包括IPv4或IPv6。
可选地,所述公共信息字段还包括第一长度字段,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段的总长度。
可选地,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。
可选地,所述一个专用信息字段包括IP地址长度字段,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度。
可选地,所述一个专用信息字段包括IP地址字段,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址。
可选地,所述IP地址包括IPv4地址或IPv6地址中的一个。
可选地,所述一个专用信息字段还包括IP前缀长度字段,所述IP前缀长度字段用于存储一个所述专用信息字段所对应的目的端的IP前缀掩码的长度。
可选地,所述一个专用信息字段还包括至少一个MPLS标签字段,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
可选地,所述一个专用信息字段还包括MPLS指示字段,所述MPLS指示字段用于指示所述至少一个MPLS标签字段。
可选地,所述一个专用信息字段还包括MAC地址字段,所述MAC地址字段用于存储一 个所述专用信息字段所对应的目的端的MAC地址。
可选地,所述一个专用信息字段还包括MAC地址长度字段,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度。
可选地,所述一个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述一个专用信息字段的长度。
可选地,所述装置还包括:
存储模块,用于存储所述第一部分和所述第二部分,或者存储所述多个NLRI。
可选地,所述装置还包括:
确定模块,用于在接收所述通告报文后,根据所述多个NLRI或者根据所述第一部分和所述第二部分,确定所述多个目的端的多条路由。
可选地,所述通告报文为BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中。
可选地,所述装置和所述第一网络设备分别为PE设备、RR或自治系统边界路由器中的一个。
可选地,所述目的端为目的网络或目的设备。
第六方面,提供一种网络设备,该网络设备包括处理器,所述处理器调用程序指令,以使得该网络设备实现如上述第一方面或上述第一方面的任一种可选方式提供的网络层可达信息传输方法所执行的操作。该网络设备还可以包括存储器,存储器与处理器耦合,处理器调用的程序指令存储在该存储器中。该网络设备还可以包括通信接口,通信接口用于该设备与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。上述由所述处理器调用的程序指令也可以预先存储在外部存储器中,在使用前从互联网下载后存储在本地,本申请对于存储器中指令的来源不进行唯一方式的限定。
第七方面,提供一种网络设备,该网络设备包括处理器,所述处理器调用程序指令,以使得该网络设备实现如上述第二方面或上述第二方面的任一种可选方式提供的网络层可达信息传输方法所执行的操作。该网络设备还可以包括存储器,存储器与处理器耦合,处理器调用的程序指令存储在该存储器中。该网络设备还可以包括通信接口,通信接口用于该设备与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。上述由所述处理器调用的程序指令也可以预先存储在外部存储器中,在使用前从互联网下载后存储在本地,本申请对于存储器中指令的来源不进行唯一方式的限定。
第八方面,提供一种计算机可读存储介质,该存储介质中存储有程序代码,该程序代码由处理器加载并执行,以使得计算机实现如上述第一方面或上述第一方面的任一种可选方式提供的网络层可达信息传输方法所执行的操作。
第九方面,提供一种计算机可读存储介质,该存储介质中存储有程序代码,该程序代码由处理器加载并执行,以使得计算机实现如上述第二方面或上述第二方面的任一种可选方式提供的网络层可达信息传输方法所执行的操作。
第十方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,当其在网络设备上运行时,使得该网络设备执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。
第十一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,当其在网络设备上运行时,使得该网络设备执行上述第二方面或者第二方面的各种可选实现方式中提供的方法。
上述第一方面或上述第一方面的任一种可选方式提供的网络层可达信息传输方法可以由执行上述第二方面或上述第二方面的任一种可选方式提供的网络层可达信息传输方法的设备的对侧设备来执行,而上述第三方面至第十一方面提供的方案,能够用于实现上述第一方面或上述第一方面的任一种可选方式提供的网络层可达信息传输方法,或用于实现上述第二方面或上述第二方面的任一种可选方式提供的网络层可达信息传输方法,因此可以实现与第一方面或上述第一方面的任一种可选方式达到相同的有益效果,在此不再进行赘述。
附图说明
图1是相关技术提供的一种BGP EVPN业务场景下NLRI的封装格式示意图;
图2是相关技术提供的一种L3 VPN场景下传统的IP prefix型NLRI的封装格式示意图;
图3是相关技术提供的一种遵循IPv6的IP prefix型NLRI的封装格式示意图;
图4是相关技术提供的一种MAC/IP通告型NLRI的封装格式示意图;
图5是本申请实施例提供的一种遵循IPv4的IP prefix型通告NLRI的封装格式示意图;
图6是本申请实施例提供的一种遵循IPv6的IP prefix型通告NLRI的封装格式示意图;
图7是本申请实施例提供的一种MAC/IP通告型通告NLRI的封装格式示意图;
图8是本申请实施例提供的一种报文传输系统的示意图;
图9是本申请实施例提供的一种网络层可达信息传输方法的流程图;
图10是本申请实施例提供的一种网络层可达信息传输装置的结构示意图;
图11是本申请实施例提供的一种网络层可达信息传输装置的结构示意图;
图12是本申请实施例提供的一种网络设备的结构示意图;
图13是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在此先对现有的几种NLRI进行如下介绍。
1、遵循IPv6的IP prefix型NLRI。
目前EVPN中所使用的IP prefix型NLRI有的遵循IPV4,例如图1所示的NLRI,而有的IP prefix型NLRI遵循IPv6,例如图3所示的相关技术提供的一种遵循IPv6的IP prefix型NLRI的封装格式示意图,该遵循IPv6的IP prefix型NLRI包括占用1字节的路由类型字段、占用1字节的长度字段以及可变的具体路由类型字段,其中,具体路由类型字段包括路由标识字段、以太网段标识字段、以太网标签标识字段、IP前缀长度字段、IP前缀字段、网关IP地址字段以及MPLS标签字段,分别占用8字节、10字节、4字节、1字节、16字节、16字节以及3字节,分别用于存储路由标识、以太网段标识、以太网标签标识、IP前缀掩码的长度、IP前缀、网关IP地址以及三层的MPLS标签,其中,IP前缀掩码的长度的取值范围是0-128bit,通过解析该IP前缀长度字段和IP前缀字段中存储的内容,可以获取一个完整 的IP前缀地址,如以地址1.0.0.0/8为例,其中8即为IP前缀掩码,而1.0.0.0为IP前缀。该遵循IPv6的IP prefix型NLRI的长度为1+1+8+10+4+1+16+16+3=60字节。
2、MAC/IP通告型NLRI
目前EVPN中所使用的NLRI的路由类型除了包括IP prefix路由以外,还包括MAC/IP通告(advertisement)路由,MAC/IP通告路由的路由类型值为2,例如图4所示的相关技术提供的一种MAC/IP通告型NLRI的封装格式示意图。MAC/IP通告型NLRI是一种用于通告MAC/IP路由的NLRI。该MAC/IP通告型NLRI包括占用1字节的路由类型字段、占用1字节的长度字段以及具体路由类型字段,其中,具体路由类型字段包括路由标识字段、以太网段标识字段、以太网标签标识字段、MAC地址长度字段、MAC地址字段、IP地址长度字段、IP地址字段、第一MPLS标签(MPLS Label1)字段、第二MPLS标签(MPLS Label2)字段,分别占用8字节、10字节、4字节、1字节、6字节、1字节、第一字节数、3字节以及第二字节数,分别用于存储路由标识、以太网段标识、以太网标签标识、MAC地址的长度、MAC地址、IP地址的长度、IP地址、MPLS label1以及MPLS label2,其中,MPLS lable1为MAC地址对应的MPLS标签,也即是二层的MPLS标签;MPLS label2为IP地址对应的MPLS标签,也即是三层的MPLS标签;第一字节数为IP地址占用的字节数目,包括0字节、4字节或16字节;第二字节数为MPLS label2占用的字节数目,包括0字节或3字节。
MAC/IP通告型NLRI的具体路由字段中路由信息不固定,MAC/IP通告型NLRI至少存在下述5种情况A-E。
情况A、MAC路由(MAC-only route)
若MAC/IP通告型NLRI用于传递MAC信息,则IP地址占用0字节,且不携带MPLS label2,也即是第一字节数为0,第二字节数为0,此时MAC/IP通告型NLRI的长度为1+1+8+10+4+1+6+1+0+3+0=35字节。
情况B、未携带MPLS label2的MAC-IPv4路由
若MAC/IP通告型NLRI用于传递MAC信息和IP信息,且未携带MPLS label2,且遵循IPv4,则IP地址占用4字节,也即是第一字节数为4,第二字节数为0,此时MAC/IP通告型NLRI的长度为1+1+8+10+4+1+6+1+4+3+0=39字节。
情况C、携带MPLS label2的MAC-IPv4路由
若MAC/IP通告型NLRI用于传递MAC信息和IP信息,且携带MPLS label2,且遵循IPv4,则IP地址占用4字节,也即是第一字节数为4,第二字节数为3,此时MAC/IP通告型NLRI的长度为1+1+8+10+4+1+6+1+4+3+3=42字节。
情况D、未携带MPLS Label2的MAC-IPv6路由
若MAC/IP通告型NLRI用于传递MAC信息和IP信息,未携带MPLS label2,且遵循IPv6,则IP地址占用16字节,也即是第一字节数为16,第二字节数为0,此时MAC/IP通告型NLRI的长度为1+1+8+10+4+1+6+1+16+3+0=51字节。
情况E、携带MPLS Label2的MAC-IPv6路由
若MAC/IP通告型NLRI用于传递MAC信息和IP信息,携带MPLS label2,且遵循IPv6,则IP地址占用16字节,也即是第一字节数为16,第二字节数为3,此时MAC/IP通告型NLRI的长度为1+1+8+10+4+1+6+1+16+3+3=54字节。
在相关技术中,网络设备一般将多个NLRI(例如图1至图4中的至少一种NLRI)打包 为一个BGP报文,并向另一个网络设备发送该BGP报文,以实现NLRI的传递。但是在打包过程中,该网络设备将该多个NLRI的每个字段均打包进该BGP报文,并不会压缩该多个NLRI中的字段。这里所述的压缩是指按照某种规则或方式对该多个NLRI中的部分字段进行合并处理,以减少该多个NLRI在BGP报文中所占用的字段总长度。作为本申请实施例提供的一种合并处理方式的示例,由于在同一个VPN实例下,同一个接入接口接入的VLAN所对应的某种路由类型的多个NLRI所对应的路由标识、以太网段标识、以太网标签标识以及路由类型相同。该多个NLRI可以构成一个NLRI集合。网络设备在对该NLRI集合进行打包时,能够对该NLRI集合中的多个NLRI中的相同字段,即上述相同的路由标识、以太网段标识、以太网标签标识以及路由类型字段的信息进行合并。作为具体实现,在本申请实施例中,网络设备能够在将该NLRI集合中的多个NLRI打包成一个通告报文时,将该多个NLRI可以共用的、内容相同的路由标识字段、以太网段标识字段、以太网标签标识字段、路由类型字段作为公共信息字段,从而实现在通告报文中压缩多个NLRI的目的,提高了通告报文的发送效率和传输效率。
该多个NLRI可以包括分别对应于属于同一VLAN的多个目的端所需通告的可达信息,其中,压缩前的一个NLRI可以用于通告一个目的端的MAC信息和/或IP信息。该多个NLRI可以由接收方获取并获得对应于该多个NLRI的多个目的端的路由。
以上以多个NLRI的公共信息字段包括路由标识、以太网段标识、以太网标签标识以及路由类型作为示例。在其他可能的情形中,作为该多个NLRI的公共信息字段中的内容也可以结合场景或需求确定。
作为一种通用的描述,采用本发明实施例提供的方法,网络设备可以处理并生成一种具有特定格式的信息,为便于表述,以下将该具有特定格式的信息称为通告NLRI。该通告NLRI能够携带在通告报文中,并发送给其他网络设备以通告多个目的端的可达信息,从而使得该其他网络设备根据该通告NLRI获取该多个目的端的多个路由信息。该经过处理并生成的通告NLRI包括第一部分和第二部分,该第一部分包括对应于该多个NLRI的一个公共信息字段,该公共信息字段包括该多个NLRI中的相同信息,或者说,该公共信息字段用于存储该多个NLRI中的相同信息,其中,该公共信息字段中存储的相同信息也即是该多个NLRI所共有的信息,或称该多个NLRI的公共信息。该多个NLRI中的相同信息是指该多个NLRI的相同字段位置存储的相同信息,例如,该多个NLRI中A字段位置存储的内容均为a,则A字段可以构成该多个NLRI的公共信息字段中的组成字段,该组成字段的具体内容为a。该第二部分包括分别对应于该多个NLRI的多个专用信息字段,其中,该多个专用信息字段中的每个专用信息字段包括与该每个专用信息字段对应的NLRI中除该相同信息以外的信息,或者说,一个专用信息字段用于存储一个NLRI中除该相同信息以外的信息,也即是一个NLRI中除公共信息字段中的信息以外的信息,视为一个NLRI的专用信息。该通告NLRI可以携带在该通告报文中的各种可能的指定位置。根据携带方式的不同,该通告NLRI的第一部分和第二部分可以紧邻,也可以不紧邻,但能够采用某种方式进行关联以实现后续解析。
在一些可能的情形中,一个专用信息字段可以包括一个NLRI相较于多个NLRI中的其他NLRI所特有的信息,也即不同NLRI中相同字段位置包括的信息内容各不相同,如MAC地址字段或IP地址字段。在另一些可能的情形中,该专用信息字段可以包括一个NLRI相较于多个NLRI有所不同的信息,这里所谓的不同可以是基于特有性质的不同,也可以是非严 格意义上的不同,例如,对于MAC/IP通告路由中的MPLS Lable1或MPLS Label2字段,虽然通常情况下多个NLRI中包括的MPLS Lable1或MPLS Label2字段的内容各不相同,但在一些实现场景中,在不影响业务正常运行的前提下,也并不严格地禁止多个NLRI中包括的MPLS Lable1或MPLS Label2字段的内容存在相同,这导致该多个NLRI中的部分甚至全部的MPLS Lable1或MPLS Label2字段的内容相同。在另一些可能的情形中,处于易于解析或定义等原因的考虑,该专用信息字段也可以包括多个NLRI中相同字段位置包括的相同的信息内容,如MAC地址长度字段,即使对于多个NLRI而言,该MAC地址长度字段的取值实质上是完全相同的。
可选地,该多个专用信息字段依次位于该公共信息字段之后,使得每个专用信息字段均能够共用该公共信息字段,并且在编排结构上易于识别。可选地,该依序排列的公共信息字段和多个专用信息字段可以组成一段连续的NLRI字段。压缩生成的通告NLRI中的每个专用信息字段与该公共信息字段组成该多个NLRI中的一个NLRI,以便于接收该通告报文的网络设备能够根据该通告NLRI复原该多个NLRI的完整信息,以获取该多个NLRI对应的多个路由信息以用于开展业务。该通告NLRI因而也可以称为压缩路由NLRI。使用该通告NLRI能够达到压缩该多个NLRI的目的,从而当一个通告报文采用该通告NLRI传递该多个NLRI所携带的信息时,能够提高NLRI的发送效率和传输效率。
以下给出压缩生成的通告NLRI的几种可能的编排方式示例。在实际应用时,可以根据设计需要、场景需求和压缩前的原始NLRI格式等因素选择以下编排方式,或者自定义符合该通过一个公共信息字段和多个专用信息字段进行压缩编排的思想的其他可选编排方式。
公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个,该路由标识字段用于存储该多个NLRI中的一个的路由标识,该以太网段标识字段用于存储该多个目的端中一个的以太网段标识,该太网标签标识字段用于存储该多个目的端中一个的太网标签标识。可选地,该公共信息字段还包括路由类型字段,该路由类型字段可以用于指示采用压缩格式传输多个NLRI,从而使得接收该通告NLRI的设备能够根据该路由类型字段,确定可以根据该第一部分和所述第二部分获取对应于该多个NLRI的多个目的端的路由信息。该路由类型字段例如可以占用1字节,以用于存储该通告NLRI所对应的路由类型的类型标识。该存储的类型标识还可以进一步进行类型细分,以使用不同的类型标识区分采用压缩格式的通告NLRI所通告的是MAC/IP通告路由还是IP前缀路由。
可选地,该公共信息字段还包括MAC地址长度字段,可适用于诸如MAC/IP通告路由的编排,其中,该MAC地址长度字段用于存储该多个目的端中的一个的MAC地址的长度。可选地,该公共信息字段还包括网关IP地址长度字段以及网关IP地址字段,可适用于诸如IP前缀路由的编排,其中,该网关IP地址长度字段用于存储对应于该多个目的端中的一个的网关IP地址的长度,该网关IP地址字段用于存储对应于该多个目的端中的一个的网关IP地址。可选地,该公共信息字段还包括IP地址长度字段,可适用于诸如IP前缀路由的编排,其中,该IP地址长度字段用于存储该多个目的端中的一个的IP地址的长度。可选地,该公共信息字段还包括IP前缀长度字段,该IP前缀长度字段用于存储该多个目的端中的一个的IP前缀掩码的长度。可选地,该公共信息字段还包括第一长度字段,该第一长度字段用于存储该公共信息字段和该多个专用信息字段的总长度,也即,该第一长度字段用于指示该通告NLRI的总长度,此时该第一长度字段可以占用2字节;或者,该第一长度字段用于存储该公 共信息字段的总长度,此时该第一长度字段可以占用1字节。可选地,该公共信息字段还包括传输协议标识字段,该传输协议标识字段用于指示该多个NLRI所遵循的传输协议的协议标识,可以占用1字节,该传输协议包括IPv4或IPv6。例如,当该第一长度字段用于指示该公共信息字段的总长度时,为了便于接收网络设备确定一个专用信息字段的长度以对该通告NLRI进行解析,该公共信息字段可以包括传输协议标识字段。为了对该多个专用信息字段进行一个整体的描述,可选地,该公共信息字段还包括第二长度字段,该第二长度字段用于指示该多个专用信息字段的总长度,可以占用2个字节。该多个专用信息字段分别为该通告NLRI中的多个子NLRI(sub NLRI),则多个专用信息字段的总长度,也即是子NLRI的长度(sub NLRI length)。对于第一长度字段和第二长度字段,在一些情形下,若该公共信息字段包括第一长度字段,且该第一长度字段用于存储该公共信息字段的总长度,该公共信息字段不包括第二长度字段,如PE设备(也即是生成通告报文的网络设备)挂载的多个主机设备(也即是目的端)的多个专用信息字段的格式均相同,且该格式结构被接收端的PE设备预先知晓时,该公共信息字段不包括该第二长度字段。在另一些情形下,若该公共信息字段包括该第一长度字段,且该第一长度字段用于存储该公共信息字段的总长度,该公共信息字段还包括该第二长度字段,这至少可以适用于每个专用信息字段的格式均相同,但并不为接收端预先知晓的情形。在另一些情形下,该公共信息字段不包括第一长度字段,而包括第二长度字段,例如PE设备挂载的多个主机设备的公共信息字段的格式均相同,且该格式结构被接收端的PE设备预先知晓时,该公共信息字段不包括该第一长度字段。
一个专用信息字段包括IP地址字段,该IP地址字段用于存储一个该专用信息字段所对应的目的端的IP地址,也即是用于存储一个目的端的IP地址,其中,该IP地址可以包括IPv4地址或IPv6地址中的一个。可选地,若公共信息字段不包括IP地址长度字段,为了描述该IP地址字段,一个该专用信息字段还包括IP地址长度字段,该IP地址长度字段用于存储该多个目的端中的一个的IP地址的长度。可选地,若公共信息字段不包括IP前缀长度字段,为了描述以IP前缀形式呈现的IP地址的完整信息,一个专用信息字段还包括IP前缀长度字段,该IP前缀长度字段用于存储一个该专用信息字段所对应的目的端的IP前缀掩码的长度,该IP前缀长度字段占用1字节。由于在一些可能的情形下,该IP地址字段中存储的内容需要与诸如IP前缀长度字段共同表达IP地址的完整信息,如对于IP prefix类型的路由,则该IP地址字段也可称为IP前缀地址字段或者IP前缀字段,该IP前缀字段实际携带的IP地址可称为IP前缀。可选地,一个该专用信息字段还包括MAC地址字段,该MAC地址字段用于存储一个该专用信息字段所对应的目的端的MAC地址。可选地,若该多个NLRI均用于传输MAC信息,且公共信息字段不包括MAC地址长度字段,一个该专用信息字段还包括MAC地址长度字段,该MAC地址长度字段用于存储一个该专用信息字段所对应的目的端的MAC地址的长度。可选地,每个专用信息字段还包括第三长度字段,该第三长度字段用于存储所述每个专用信息字段的长度,也即是一个该专用信息字段还包括第三长度字段,该第三长度字段用于存储一个该专用信息字段的长度,占用1字节。作为可能的情形,若公共信息字段不包括第二长度字段,则一个专用信息字段包括第三长度字段,以记录该专用信息字段的长度。而在另一些情形下,若公共信息字段包括第二长度字段,专用信息字段可以不包括该第三长度字段,但可以包括IP地址或MAC地址的地址长度字段,以帮助解析一个专用信息字段中携带的IP地址或MAC地址。
以上描述以第一长度字段、第二长度字段和第三长度字段作为示例,在其他可能的情形中,也可以定义其他含义的长度字段并放置于公共信息字段或专用信息字段,只要通过通告NLRI中定义的一个或多个长度字段能够配合其他字段实现对该通告NLRI的正常解析即可。例如,作为一种可能的实现,在公共信息字段定义如上描述的第一长度字段和第二长度字段,其中,该第一长度字段用于存储公共信息字段的总长度,该第二长度字段用于存储多个专用信息字段的总长度,并且在该公共信息字段另定义一个第四长度字段,其中该第四长度字段用于存储多个专用信息字段中的每个专用信息字段的长度,如此,对于多个专用信息字段的长度均相同的情况,则可以根据该第二长度字段和该第四长度字段确定该通告NLRI中携带的该多个专用信息字段的个数,以此确定解析结束位置。
可选地,一个专用信息字段还包括至少一个多协议标签交换MPLS标签字段,该至少一个MPLS标签字段用于存储一个该专用信息字段所对应的目的端的至少一个MPLS标签,例如MAC/IP通告路由中的第一MPLS标签字段和第二MPLS标签字段中的至少一个,或者IP前缀路由中的MPLS标签字段。可选地,一个该专用信息字段还包括MPLS指示字段,该MPLS指示字段用于指示该至少一个MPLS标签字段。在一种可能的实现方式中,该MPLS指示字段用于存储该至少一个MPLS标签字段的总长度,通过该总长度来指示一个该专用信息字段中MPLS标签字段的个数。例如,若该MPLS指示字段的字段值(即是至少一个MPLS标签字段的总长度)为3,由于预先定义1个MPLS标签字段占用3字节,则该字段值为3的MPLS指示字段用于指示该专用信息字段中有1个MPLS标签字段,再例如,若该MPLS指示字段的字段值为6,则指示该专用信息字段中有2个MPLS标签字段。在另一种可能的实现方式中,使用该MPLS指示字段中的目标位指示该至少一个MPLS标签字段,可通过目标位的数值来具体指示该专用信息字段中MPLS标签字段的类型。若以MAC/IP通告路由作为示例,该MPLS指示字段中的目标位可以为该字段的前2位,若该MPLS指示字段的第1位为1,则指示该专用信息字段中有第一MPLS标签字段,若该MPLS指示字段的第2位为1,则指示该专用信息字段中有第二MPLS标签字段。若该MPLS指示字段占用1字节,该MPLS指示字段中除目标位以外的其他位作为预留位,能够用于指示除第一MPLS标签字段和第二MPLS标签字段以外的扩展MPLS标签字段。在另一种可能的实现方式中,该MPLS指示字段用于存储该至少一个MPLS标签字段的个数,例如,若该MPLS指示字段的字段值(即是至少一个MPLS标签字段的个数)为1,则指示该专用信息字段中有1个MPLS标签字段,再例如,若该MPLS指示字段的字段值为2,则指示该专用信息字段中有2个MPLS标签字段。在另一种可能的实现方式中,若该专用信息字段包括第三长度字段,且不包括MPLS指示字段,该网络设备在解析该专用信息字段时,依赖该第三长度字段进行解析的字段也即是MPLS标签字段。例如,该第三字段中存储的该专用信息字段的总长度为8字节,当解析该专用信息字段时,该网络设备已知该专用信息字段的前5字节为IP地址长度字段和IP地址字段,由于该专用信息字段的总长度为8字节,则该专用信息字段的后3字节为一个MPLS标签字段。
该通告NLRI是网络设备压缩多个NLRI所得到,该通告NLRI的路由类型和该多个NLRI的路由类型实质相同。所谓路由类型实质相同,是指通告NLRI和该多个NLRI作为同类型的路由,在可实现的路由功能方面是相同的,无论该通告NLRI的路由类型和该多个NLRI的路由类型的命名是否相同。在该多个NLRI遵循的传输协议均相同的情形下,该通告NLRI 所遵循的传输协议和该多个NLRI所遵循的传输协议也相同,如遵循IPv4或IPv6传输协议,只是封装格式有所不同。该多个NLRI的路由类型可能存在多种情况,例如,该多个NLRI均为遵循IPv4或遵循IPv6的IP prefix型NLRI(也即是图1和图3所示的NLRI)或均为MAC/IP通告型NLRI(也即是图4所示的NLRI)。对于上述任一种情况,该通告NLRI的路由类型与该多个NLRI的路由类型均一致,但是不同路由类型的通告NLRI的公共信息字段和/或专用信息字段所包括的内容可以有所不同。在此本申请实施例通过下述情况1-3,分别描述不同路由类型或遵循不同传输协议的通告NLRI。
情况1、遵循IPv4的IP prefix型通告NLRI
若N个NLRI均为图1所示的遵循IPv4的IP prefix型NLRI,网络设备采用遵循IPv4的IP prefix型通告NLRI来携带该N个NLRI中的信息,以实现利用通告NLRI来压缩该N个NLRI的目的,其中,N为大于1的整数。该通告NLRI可以称为Y类型(type Y)的路由,或称为IPv4prefix压缩路由(compressed route)。作为示例,通告NLRI中的公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段。可选地,若该N个NLRI中的网关IP地址均相同,如该网关IP地址作为到达该N个NLRI对应的N个目的端的下一跳,则公共信息字段还包括网关IP地址字段。为了对网关IP地址进行进一步的描述,可选地,该公共信息字段还包括网关IP地址长度字段。可选地,由于该网关IP地址为前缀地址,网关IP地址的长度的取值范围为0-32bit,则网关IP地址所占用的字节数和IP地址所占用的字节数一致,均可以为4字节。可选地,若该通告NLRI的接收端不知晓(也即是用于接收通告报文的网络设备)该N个NLRI的路由类型和/或该N个NLRI的所遵循的传输协议,则该公共信息字段还包括路由类型字段和/或传输协议标识字段。可选地,即使接收端不知晓该N个NLRI所遵循的传输协议,也不在该公共信息字段添加传输协议标识字段,该N个NLRI所遵循的传输协议可以由BGP路由的其他字段指示,或者可以由接收端根据确定的通告NLRI中的IP地址长度确定。可选地,该公共信息字段还包括第一长度字段和第二长度字段。
通告NLRI并未减少N个NLRI实际可表达的信息,而是更改了封装格式,并通过该更改后的封装格式达到减少需传输数据量的目的。在一种可能的实现方式中,通告NLRI包括第一部分和第二部分,可选地,第一部分和第二部分相邻,其中,第一部分的公共信息字段包括路由类型字段、第一长度字段、路由标识字段、以太网段标识字段、以太网标签标识字段、网关IP地址长度字段、网关IP地址字段以及第二长度字段,分别占用1字节、1字节、8字节、10字节、4字节、1字节、4字节以及2字节。其中,第一长度字段用于指示该公共信息字段的总长度。该第二部分包括N个专用信息字段,一个专用信息字段对应N个NLRI中的一个NLRI,一个专用信息字段包括该专用信息字段所对应的NLRI中除公共信息字段以外的字段。如一个专用信息字段包括IP前缀长度字段、IP地址字段以及MPLS标签字段,分别占用1字节、4字节以及3字节,可选地,该IP地址字段存储的IP地址为IP前缀地址,该IP前缀地址的IP前缀掩码的长度的取值范围是0-32bit。其中,公共信息字段和专用信息字段所包括的各个具体字段的含义可参见前述描述。
例如,图5所示的本申请实施例提供的一种遵循IPv4的IP prefix型通告NLRI的封装格式示意图。N个NLRI均为遵循IPv4的IP prefix型NLRI(如图1所示)。该通告NLRI中的N个专用信息字段依次位于公共信息字段之后,每个专用信息字段分别对应N个遵循IPv4的IP prefix型NLRI中的一个。从图5可知,遵循IPv4的IP prefix型通告NLRI的公共信息 字段的长度为1+1+8+10+4+1+4+2=31字节,每个专用信息字段的长度为1+4+3=8字节,则该通告NLRI的总长度为(31+8N)字节。从图1可知,如果按照压缩前的实现方案,1个遵循IPv4的IP prefix型NLRI的长度为36字节,则N个遵循IPv4的IP prefix型NLRI的总长度为36N字节。当N大于或等于2时,(31+8N)<36N,也即是当N大于或等于2时,该通告NLRI的总长度小于N个图1所示的NLRI的总长度,且该通告NLRI能够携带等同于N个图1所示的NLRI可提供的全部信息,因此,该通告NLRI能够达到压缩图1所示的NLRI的目的。
情况2、遵循IPv6的IP prefix型通告NLRI
若N个NLRI均为图3所示的遵循IPv6的IP prefix型NLRI,网络设备采用遵循IPv6的IP prefix型通告NLRI来携带该N个NLRI中的信息,以实现利用通告NLRI来压缩该N个NLRI的目的。与上述情况1的命名相同,该通告NLRI也可以称为Y类型的路由,或称为IPv6prefix压缩路由。作为示例,通告NLRI中的公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段。可选地,若该N个NLRI中的网关IP地址均相同,则公共信息字段还包括网关IP地址字段。为了对网关IP地址进行进一步的描述,可选地,该公共信息字段还包括网关IP地址长度字段,可选地,网关IP地址的长度的取值范围为0-128bit。可选地,若该通告NLRI的接收端不知晓该N个NLRI的路由类型和/或该N个NLRI的所遵循的传输协议,则该公共信息字段还包括路由类型字段和/或传输协议标识字段。可选地,该公共信息字段还包括第一长度字段和第二长度字段。
在一种可能的实现方式中,该通告NLRI包括第一部分和第二部分,可选地,第一部分和第二部分相邻,其中,第一部分的公共信息字段包括路由类型字段、第一长度字段、路由标识字段、以太网段标识字段、以太网标签标识字段、网关IP地址长度字段、网关IP地址字段以及第二长度字段,分别占用1字节、1字节、8字节、10字节、4字节、1字节以及16字节。其中,第一长度字段用于指示该公共信息字段的总长度。该第二部分包括N个专用信息字段,一个专用信息字段对应N个NLRI中的一个NLRI,一个专用信息字段包括IP前缀长度字段、IP地址字段以及MPLS标签字段,分别占用1字节、16字节以及3字节,其中,IP地址字段存储的IP地址为IP前缀地址,该IP前缀地址的IP前缀掩码的长度的取值范围是0-128bit。其中,公共信息字段和专用信息字段所包括的各个具体字段的含义可参见前述描述。
例如图6所示的本申请实施例提供的一种遵循IPv6的IP prefix型通告NLRI的封装格式示意图,N个NLRI均为遵循IPv6的IP prefix型NLRI(如图3所示)。该通告NLRI中的N个专用信息字段依次位于公共信息字段之后,每个专用信息字段分别对应N个遵循IPv6的IP prefix型NLRI中的一个。从图6可知,遵循IPv6的IP prefix型通告NLRI内的公共信息字段的长度为1+1+8+10+4+1+16+2=43字节,每个专用信息字段的长度为1+16+3=20字节,则该通告NLRI的总长度为(43+20N)字节。从图3可知,如果按照压缩前的实现方案,1个遵循IPv6的IP prefix型NLRI的总长度为60字节,则N个遵循IPv4的IP prefix型NLRI的总长度为60N字节。当N大于或等于2时,(43+20N)<60N,也即是当N大于或等于2时,该通告NLRI的长度小于N个图3所示的NLRI的总长度,且该通告NLRI能够携带等同于N个图3所示的NLRI可提供的全部信息,因此,该通告NLRI能够达到压缩图3所示的NLRI的目的。
需要说明的是,在一些特定的业务下,IP prefix型NLRI中的以太网段标识以及以太网标签标识是固定的,且网络设备均已知晓,则这些特定的业务下,上述情况1和2所示的IP prefix型通告NLRI中的公共信息字段也可以不包括以太网段标识字段以及以太网标签标识字段。
情况3、MAC/IP通告型通告NLRI
若N个NLRI均为图4所示的MAC/IP通告型NLRI,网络设备采用MAC/IP通告型通告NLRI来携带该N个NLRI中的信息,以实现利用通告NLRI来压缩该N个NLRI的目的。该通告NLRI可以称为X类型(typeX)的路由,或称为MAC/IP压缩路由。作为示例,通告NLRI中的公共信息字段包括路由标识字段、以太网段标识字段、以太网标签标识字段。若该通告NLRI的接收端不知晓该N个NLRI的路由类型,则该公共信息字段还包括路由类型字段。可选地,该公共信息字段还包括第一长度字段和第二长度字段。
在一种可能的实现方式中,该通告NLRI包括第一部分和第二部分,可选地,第一部分和第二部分相邻,其中,第一部分的公共信息字段包括路由类型字段、第一长度字段、路由标识字段、以太网段标识字段、以太网标签标识字段以及第二长度字段,分别占用1字节、1字节、8字节、10字节、4字节以及2字节。其中,第一长度字段用于指示该公共信息字段的总长度。该第二部分包括N个专用信息字段,一个专用信息字段对应N个NLRI中的一个NLRI,一个专用信息字段包括MAC地址字段、MAC地址长度字段、MPLS指示字段以及第一MPLS标签字段。由于图4中所示的MAC/IP通告型NLRI除了包括MAC信息以外,还包括IP信息,则该一个专用信息字段还包括IP地址长度字段、IP地址字段以及第二MPLS标签字段,也即是该一个专用信息字段包括MAC地址长度字段、MAC地址字段、IP地址长度字段、IP地址字段、MPLS指示字段、第一MPLS标签字段以及第二MPLS标签字段,分别占用1字节、6字节、1字节、第一字节数、1字节、3字节以及第二字节数。对于该MAC/IP通告型通告NLRI,其中,MPLS指示字段的设计方式可以参考前述描述中提及的该字段的四种可能的实现方式,或者,也可以分别为第一MPLS标签字段和第二MPLS标签字段分别设置相应的第一MPLS标签长度字段和第二MPLS标签长度字段,该第一MPLS标签长度字段和第二MPLS标签长度字段可分别占用1字节,以分别用于指示第一MPLS标签字段和第二MPLS标签字段所占的字节长度。其中,例如当第二MPLS标签长度字段的字段值为0时,说明当前专用信息字段中未携带第二MPLS标签字段。虽然采用这种设计方式,用于表达MPLS标签的信息部分的长度较压缩前的方案甚至有所增加,但结合其他压缩字段后,通告NLRI的整体长度较压缩前还是有所减少,能够达到最终的压缩目的。
例如图7所示的本申请实施例提供的一种MAC/IP通告型通告NLRI的封装格式示意图,N个NLRI均为MAC/IP通告型NLRI(如图4所示),该通告NLRI的中的N个专用信息字段依次位于公共信息字段之后,每个专用信息字段分别对应N个MAC/IP通告型NLRI中的一个。从图7所示的MAC/IP通告型通告NLRI可知,该公共信息字段的总长度为1+1+8+10+4+2=26字节。由于图4中的NLRI在不同情况下,所携带IP信息和MAC信息有所不同,图4中的NLRI的字段有所不同,因此当N个MAC/IP通告型NLRI满足不同的情况时,通告NLRI的字段也有所不同。下面针对N个MAC/IP通告型NLRI所符合的不同情况(如下述3.1-3.5所示),对MAC/IP通告型通告NLRI进行分情况说明。
3.1、N个MAC/IP通告型NLRI均满足前述情况A
若该N个NLRI均满足情况A,相应地,通告NLRI的每个专用信息字段均不包括第二 MPLS标签字段以及IP地址字段,也即是,第二MPLS标签字段以及IP地址字段均为0字节,则每个专用信息字段的长度为1+6+1+0+1+3+0=12字节,此时MAC/IP通告型通告NLRI的总长度为(26+12N)字节,其中,以MPLS指示字段占用1字节作为示例(同样适用于下述针对情况B-E的分析描述);从图4可知,情况A所示的NLRI的总长度为35字节,则N个情况A所示的NLRI的总长度为35N字节,若N大于或等于2,(26+12N)<35N。也即是该通告NLRI的长度小于N个情况A所示的NLRI的总长度,且该通告NLRI能够携带等同于N个情况A所示的NLRI的全部信息,因此,该通告NLRI能够达到压缩情况A所示的NLRI的目的。
3.2、N个MAC/IP通告型NLRI均满足前述情况B
若该N个NLRI均满足情况B,相应地,通告NLRI的每个专用信息字段均不包括第二MPLS标签字段,且均包括IP地址字段(占用4字节),则每个专用信息字段的长度为1+6+1+4+1+3+0=16字节,此时MAC/IP通告型通告NLRI的总长度为(26+16N)字节;从图4可知,情况B所示的NLRI的总长度为39字节,则N个情况B所示的NLRI的总长度为39N字节,当N大于或等于2时,(26+16N)<39N,也即是该通告NLRI的长度小于N个情况B所示的NLRI的总长度,且该通告NLRI能够携带等同于N个情况B所示的NLRI的全部信息,因此,该通告NLRI能够达到压缩情况B所示的NLRI的目的。
3.3、N个MAC/IP通告型NLRI均满足前述情况C
若该多个NLRI均满足情况C,相应地,通告NLRI的每个专用信息字段均包括第二MPLS标签字段和IP地址字段,分别占用3字节和4字节,则每个专用信息字段的长度为1+6+1+4+1+3+3=19字节,此时MAC/IP通告型通告NLRI的总长度为(26+19N)字节;而N个情况C所示的NLRI的总长度为42N字节,当N大于或等于2时,(26+19N)<42N,也即是该通告NLRI的长度小于N个情况C所示的NLRI的总长度,且该通告NLRI能够携带等同于N个情况C所示的NLRI的全部信息,因此,该通告NLRI能够达到压缩情况C所示的NLRI的目的。
3.4、N个MAC/IP通告型NLRI均满足前述情况D
若该多个NLRI均满足情况D,相应地,通告NLRI的每个专用信息字段均不包括第二MPLS标签字段,且均包括IP地址字段(占用16字节),则每个专用信息字段的长度为1+6+1+16+1+3+0=28字节,该MAC/IP通告型通告NLRI的总长度为(26+28N)字节;而N个情况D所示的NLRI的总长度为51N字节,当N大于或等于2时,(26+28N)<51N,也即是该通告NLRI的长度小于N个情况D所示的NLRI的总长度,且该通告NLRI能够携带等同于N个情况D所示的NLRI的全部信息,因此,该通告NLRI能够达到压缩情况D所示的NLRI的目的。
3.5、N个MAC/IP通告型NLRI均满足前述情况E
若该多个NLRI均满足情况E,相应地,通告NLRI的每个专用信息字段均包括第二MPLS标签字段以及IP地址字段,分别占用3字节和16字节,则每个专用信息字段的长度为1+6+1+16+1+3+3=31字节,MAC/IP通告型通告NLRI的总长度为(26+31N)字节;而N个情况3E所示的NLRI的总长度为54N字节,当N大于或等于2时,(26+31N)<54N,也即是该通告NLRI的长度小于N个情况E所示的NLRI的总长度,且该通告NLRI能够携带等同于N个情况E所示的NLRI的全部信息,因此,该通告NLRI能够达到压缩情况E所示的 NLRI的目的。
由于每种情况下的MAC/IP通告型NLRI中的MAC地址长度字段均占用1字节,在一些情形中,MAC/IP通告型通告NLRI中的公共信息字段还包括MAC地址字段,则此时专用信息字段不包括MAC地址字段。此外,以上情况3.1-3.5均以每个专用信息字段携带的字段格式均相同作为示例而进行了压缩效率的分析,但在实际应用中,该通告NLRI中的每个专用信息字段的字段格式也可以不同,例如,一部分专用信息字段符合情况A的格式,而另一部分专用信息字段符合情况B的格式。
作为判断一个专用信息字段是否解析完成的方式,在一种可能的实现中,由于专用信息字段中的MPLS指示字段用于指示该专用信息字段中的MPLS标签字段,而该MPLS标签字段位于该专用信息字段的最后,则可以使用该MPLS指示字段指示专用信息字段的结束位置,后续网络设备在解析该通告NLRI中的某一个专用信息字段时,能够根据该MPLS指示字段的指示确定该专用信息字段是否解析完成。在另一种可能的实现中,若一个专用信息字段不包括MPLS指示字段,但包括用于指示该专用信息字段的长度的第三长度字段,则使用该第三长度字段指示专用信息字段的结束位置,以便后续网络设备在解析该通告NLRI中的某一个专用信息字段时,能够根据第三长度字段的指示确定该专用信息字段是否解析完成。
在一些可能的情形中,如N个NLRI均为图4所示的MAC/IP通告型NLRI,压缩前的N个NLRI包括的IP地址所占用的字节长度不完全相同,如一部分NLRI携带IPv4地址(IP地址字段占用4字节),一部分NLRI携带IPv6地址(IP地址字段占用16字节),还有一部分NLRI不携带IP地址(IP地址字段占用0字节),则IP地址长度字段需置于该N个NLRI各自对应的专用信息字段,以指示对应的专用信息字段中携带的IP地址所占用的字节长度。在另一些可能的情形中,压缩前的N个NLRI包括的IP地址的IP前缀掩码的长度所占用的字节长度完全相同,例如,若N个NLRI均为图1所示的IPv4前缀型NLRI,且N个NLRI中的IP地址的IP前缀掩码的长度所占用的字节长度均相同(即N个NLRI中IP前缀长度字段存储的IP前缀掩码的长度相同),如均为8bit,则IPv4前缀型NLRI中的公共信息字段还可以包括IP前缀长度字段,而专用信息字段不包括IP前缀长度字段。该存在于公共信息字段的IP前缀长度字段可以用于指示根据长度解析与专用信息字段中的IP前缀地址所匹配的IP前缀掩码。在其他可能的设计中,也可以为了进一步表明通告NLRI遵循IPv4,则该公共信息字段还包括传输协议标识字段,此时该传输协议标识字段可以用于存储指示遵循IPv4协议的标识。
在上述情况1-3下,均是以公共信息字段包括第一长度字段和第二长度字段为例进行说明的,使得通告NLRI的总长度能够由所述第一长度字段和所述第二长度字段所指示的总长度来体现,而在另一种可能的实现方式中,对于上述情况1-3,公共信息字段包括用于指示公共信息字段长度的所述第一长度字段,但不包括所述第二长度字段,且专用信息字段包括用于指示该专用信息字段长度的第三长度字段,使得通告NLRI的总长度能够由所述第一长度字段和多个专用信息字段中第三长度字段所指示的总长度来体现。在另一种可能的实现方式中,对于上述情况1-3,公共信息字段包括用于指示该通告NLRI总长度的第五长度字段,还可以包括所述第一长度字段或所述第二长度字段。在其他可能的实现方式中,也可以根据需要选择其他字段长度标识方式,以能够实现对通告NLRI进行各个字段解析的目的。
下面结合具体的实施例对通过通告NLRI对传统方式实现的多个NLRI进行压缩的过程 进行介绍,图8是本申请实施例提供的一种报文传输系统的示意图,参见图8,该系统800可以包括第一网络设备801、多个第二网络设备802、多个第三网络设备803和多个用户主机804。在该系统800中,第一网络设备801和多个第二网络设备802可以是EVPN网络环境下的设备,多个第三网络设备803可以分别与第一网络设备801进行通信,并向第一网络设备801发送路由。根据不同的业务场景需求,第三网络设备803可以基于各种可能的协议向第一网络设备801发送路由,如IP协议、地址解析协议(address resolution protocol,ARP)协议或内部网关协议(internet gateway protocol,IGP)协议等。第三网络设备803发送的路由可以是用户侧设备的路由,如挂载在第一网络设备803下的用户主机804的路由,也可以是第三网络设备803自身的路由,或者第三网络设备803连接的用户侧网络设备或其他网络侧网络设备的路由。该发送的路由类型根据场景需求、业务配置或设备行为的不同,可以包括明细路由或聚合路由。所述明细路由用于通告路由可到达的目的设备,如某一用户主机。所述明细路由中可以携带目的设备的MAC或IP地址。所述聚合路由用于通告路由可到达的目的网络,通过该目的网络,业务报文可以最终到达一个或多个目的设备。所述聚合路由中可以携带IP网段地址。
该第一网络设备801,用于从多个第三网络设备803接收多个路由(例如包括明细路由和/或聚合路由),并根据接收到的该多个路由所携带的路由信息,更新本地路由表,以便后续该第一网络设备801根据本地路由表中记录的路由信息转发业务报文。在一种可能的实现方式中,对于接收到的多个路由中的多个明细路由,该第一网络设备801将该多个明细路由聚合成一个聚合路由,并根据聚合后得到的聚合路由中的路由信息,更新本地路由表。
该第一网络设备801,还用于将该多个路由存储在本地路由转发表,或者将根据该多个路由所获取的路由信息存储在本地路由转发表。该第一网络设备801可以按照本申请实施例提供的压缩NLRI的封装格式,对外发布该多个路由所携带的路由信息。在一种可能的实现方式中,对于该多个路由中的任一路由,该第一网络设备801基于该任一路由所携带的路由信息,生成对应于一个目的端的一个NLRI,并将该对应于一个目的端的一个NLRI存储在本地,该对应于一个目的端的一个NLRI可以是图1-图4所示的任一种NLRI,该一个目的端为该任一路由所携带的MAC或IP地址标识的目的设备,或者,该目的端为该任一路由所携带的IP网段地址标识的目的网络。第一网络设备801在生成对应于多个目的端的多个NLRI后,可以按照本申请实施例提供的压缩NLRI的封装格式向外部网络设备发送通告NLRI。在另一种可能的实现方式中,该第一网络设备801还可以直接按照本申请实施例提供的压缩规则生成通告NLRI,而无需首先生成多个路由对应的压缩前的多个NLRI之后,再根据该多个NLRI压缩生成通告NLRI。
在一种可能的实现方式中,该第一网络设备801将该多个路由中具有相同路由标识、以太网段标识、以太网标签标识以及路由类型的路由分别视为一类路由,对于任一类路由,该第一网络设备801根据该任一类路由中多个路由所携带的路由信息,直接生成对应于多个目的端的一个通告NLRI,并将该对应于多个目的端的一个通告NLRI存储在本地,该对应于多个目的端的一个通告NLRI可以是图5-图7所示的任一种通告NLRI,该多个目的端为该任一类路由中多个路由所携带的MAC或IP地址标识的目的设备,或者,所携带的IP网段地址标识的目的网络。在另一种可能的实现方式中,当该第一网络设备801根据接收到的该多个路由,生成多个NLRI后,该第一网络设备801将生成的多个NLRI中具有相同路由标识、以 太网段标识、以太网标签标识以及路由类型的路由分别视为一类NLRI,对于任一类NLRI,该第一网络设备801将该任一类NLRI中的多个NLRI,压缩为对应于多个目的端的一个通告NLRI,此时,该多个目的端也即是该任一类NLRI中的多个NLRI所对应的多个目的端。
该第一网络设备801,还用于将至少一个通告NLRI封装为一个通告报文,向一个或多个第二网络设备802发送该通告报文,以向第二网络设备802通告该通告报文中该至少一个通告NLRI中的每个所对应的多个目的端的路由信息。也即,一个通告报文中携带的压缩生成的通告NLRI的个数可以为一个,也可以为多个。可选地,该通告报文为BGP报文,该通告报文中的至少一个通告NLRI位于该BGP报文用于通告该多个目的端的MAC/IP地址的路由中,或者该至少一个通告NLRI位于该BGP报文用于通告该多个目的端的IP前缀地址的路由中。该通告报文除了包括通告NLRI以外,还可以包括BGP属性信息,例如自治系统-路径(autonomous system-path,AS-path)、下一跳(next hop)以及源头(origin)。
由于通告报文中的每个通告NLRI携带多个NLRI可提供的全部路由信息,也即通告NLRI并未减少多个NLRI实际可表达的信息,而是更改了封装格式,因此,第一网络设备801将通告报文发送给第二网络设备802,能够实现向第二网络设备802传达多个NLRI中可提供的全部路由信息,又因为通告报文中的每个通告NLRI均能够达到压缩多个NLRI的目的,因此通告报文相对于现有的BGP报文中的NLRI发布格式,能够携带更多的NLRI的路由信息,从而能够提高NLRI的发布效率和传输效率。
可选地,第一网络设备801和第二网络设备802分别是PE设备、路由反射器或自治系统边界路由器(autonomous system border router,ASBR)中的一个。第三网络设备803可以是用户边缘(customer edge,CE)设备。
每个第二网络设备802,用于从第一网络设备801接收通告报文。在一种可能的实现方式中,第二网络设备802从接收到的通告报文解析出通告NLRI,并直接存储该通告NLRI以备后续使用。在一种可能的实现方式中,第二网络设备802根据解析出的通告NLRI重新恢复并生成对应的多个NLRI,该多个NLRI也即第一网络设备802用于执行压缩操作以获取该通告NLRI时所使用的多个NLRI。之后,第二网络设备802对恢复的多个NLRI进行存储。或者,在另一种可能的实现方式中,第二网络设备802也可以在对通告报文进行解析阶段即直接确定并生成相应的该多个NLRI,而无需首先解析获取通告NLRI。在一种可能的实现方式中,第二网络设备802还可以根据该多个NLRI或该通告NLRI携带的路由信息,更新本地路由表,以便后续该第二网络设备802根据本地路由表中记录的路由信息转发业务报文。
第二网络设备802还可以将恢复的多个NLRI封装进报文中发送给邻居设备,如不支持对通告NLRI进行解析的邻居设备;或者,第二网络设备802按照本地的业务原则对该恢复的多个NLRI和其他一个或多个获取的NLRI一并进行处理,如直接进行封装,或按照前述实施例提供的方法压缩后进行封装,并携带在报文中发送给邻居设备;或者,第二网络设备802也可以不对第一网络设备801发送的通告报文执行任何操作,而是直接将该通告报文转发给邻居设备。
为了进一步说明第一网络设备将多个NLRI压缩为一个通告NLRI,并向第二网络设备传输通告NLRI的过程,参见图9所示的本申请实施例提供的一种网络层可达信息传输方法的流程图。
901、第一网络设备获取多个目的端的多个NLRI。
一个目的端可以为报文所需到达的目的网络或目的设备,该报文可以是数据报文。该目的设备可以是用户主机,还可以是网络设备,例如网关、交换机等。该目的网络可以由网络段地址标识,以指示报文根据该网络段地址标识到达属于该目的网络下的一个或多个用户主机或网络设备。其中,网络段地址可以是IP网段地址。该多个NLRI为图1-图4所示的任一种NLRI。在一种可能的实现方式中,本步骤901所示的过程可以由下述步骤S11-S13来实现。
步骤S11、该第一网络设备获取第三网络设备通告的R(R≥1)个路由携带的R个路由信息。
该R个路由可以来自同一个第三网络设备,也可以来自不同的第三网络设备。每个路由携带相应的路由信息。第三网络设备发送的路由中携带的路由信息格式可以根据第三网络设备承载的业务而有所不同。例如,当第三网络设备为EVPN网络中的路由反射器时,该第三网络设备向第一网络设备发送的R个路由可以是BGP路由,并且在路由中携带BGP属性信息作为路由信息的一部分。而当第三网络设备为用户用于接入网的用户侧网络设备时,该第三网络设备向第一网络设备发送的R个路由可以是IP路由,或遵从其他协议的路由,此时,若该R个路由为遵从其他协议的路由,该R个路由可以不携带BGP属性信息。其他协议的路由例如静态路由、直连路由、路由信息协议(routing information protocol,RIP)路由、开放最短路径优先(open shortest path first,OSPF)路由或间系统到中间系统(intermediate system-to-intermediate system,ISIS路由等非BGP路由。第三网络设备发送的路由可以用于通告目的设备或目的网络的地址信息。
步骤S12、该第一网络设备根据该R个路由信息,确定多个目的端的多个路由信息,一个目的端对应一个路由信息。
以该R个路由信息为BGP EVPN路由信息为例,则该R个路由信息包括R个BGP属性信息。当该R个BGP属性信息中的T个BGP属性信息相同时,该第一网络设备可以将该T个BGP属性信息所属的T个路由视为一类路由,并以具有相同的BGP属性信息为依据,将用于通告该T个路由的T个对应的NLRI进行压缩,以便后续基于该T个目的端的T个NLRI生成一个通告NLRI。此情形下,该T个目的端对应的T个NLRI即为901中描述的多个目的端的多个NLRI。BGP属性信息可以包括自治域(autonomous system,AS)、下一跳、扩展团体属性等。
为了进一步提高压缩效率,在一种可能的实现方式中,该第一网络设备在确定该具有相同BGP属性信息的T个路由后,还可以根据该T个路由携带的T个路由信息作进一步筛选。例如,该第一网络设备从该T个路由信息中确定出S(1≤S≤T)个路由信息,该S个路由信息具有相同的多个字段内容,例如将具有相同的路由标识、以太网段标识、以太网标签标识以及路由类型的S个路由信息确定为一类路由。此情形下,该S个目的端对应的S个NLRI即为901中描述的多个目的端的多个NLRI。
以上以R个路由信息为BGP EVPN路由信息为例,在其他可能的情形中,由于R个路由信息并不遵从BGP协议格式,导致该R个路由信息中可能并未包括诸如路由标识或以太网段标识等内容,此时,该第一网络设备可以先根据该R个路由信息包括的内容和NLRI生成格式,对NLRI中部分字段的内容进行填充,例如,对于R个路由信息中未包括路由标识和以太网段标识的情形,将NLRI中的路由标识字段和以太网段标识字段填充为默认值,以获取该R个路由信息对应的R个NLRI。如此,该R个NLRI由于部分字段具有相同的填充默认 值,而可以应用本申请实施例提供的压缩方案。
在一种可能的实现方式中,该第一网络设备可以基于业务的路由发布等级,对该R个路由信息进行筛选和归类。其中,路由发布等级至少可以包括第一等级和第二等级,该第一等级用于指示与业务对应的路由信息无须压缩而直接发送,例如,对于一些业务,目的端较少,或者目的端发布的路由信息较少,导致压缩效果受限但执行压缩的成本却较高,则这种业务的路由发布等级可以为第一等级。该第二等级用于指示对业务对应的路由信息进行压缩并发送,例如,对于一些业务,目的端较多,或者目的端发布的路由信息较多,采用不压缩方式直接发送会显著影响发包效率,则这种业务的路由发布等级可以为第二等级。之后,对于确定为第二等级的路由信息,该第一网络设备可以进一步结合其他筛选方法,如S12前述部分描述的规则,对该第二等级的路由信息进行压缩前的进一步筛选。
在一种可能的实现方式中,该第一网络设备可以先对接收的R个路由信息中的某几个路由信息进行整合,以获取一个整合路由信息,并以该整合路由信息作为一个对象,参与压缩前路由信息的分类和筛选。例如,该第一网络设备为具备聚合能力的网络设备,在该第一网络设备接收到多个路由后,发现该多个路由均来自同一作为用户侧网络设备的第三网络设备,则可以对该多个路由中携带的路由信息进行聚合,并生成一条聚合路由,以减少本地路由存储量和节约路由发布资源,此时,该条聚合路由实际对应于一个目的网络类型的目的端。
步骤S13、该第一网络设备根据该多个目的端的路由信息,获取该多个目的端对应的多个NLRI。
该第一网络设备通过执行S11和S12,从接收的R个路由信息中确定多个路由信息,分别对应于多个目的端(如目的网络或目的设备)。该多个路由信息即为该第一网络设备通过本地规则所确定的用于以NLRI格式打包入一个报文以进行路由通告时所使用的信息。该第一网络设备基于该多个路由信息,生成多个对应的NLRI。例如,该第一网络设备可以基于该多个路由信息,生成该多个目的端的IP prefix型NLRI,如图1或图3所示。再例如,该第一网络设备可以基于该多个路由信息,生成该多个目的端的MAC/IP通告型NLRI,如图4所示。
902、该第一网络设备基于该多个目的端的多个NLRI,生成通告NLRI,该通告NLRI包括第一部分和第二部分,该第一部分包括对应于该多个目的端的一个公共信息字段,该公共信息字段包括该多个NLRI中的相同信息,该第二部分包括分别对应于该多个目的端的多个专用信息字段,一个专用信息字段包括一个NLRI中除该相同信息以外的信息。
该第一网络设备基于该多个NLRI中具有相同内容的部分或全部字段,确定该通告NLRI中的公共信息字段,然后,再将每个NLRI中除公共信息字段内的信息以外的信息添加在一个专用信息字段。
其中,该第一网络设备基于该多个NLRI中具有相同内容的部分或全部字段,确定该通告NLRI中的公共信息字段的过程,示例性地可以包括:若该多个NLRI的路由类型为IP prefix型,则该第一网络设备将该多个NLRI所具有的相同的类型标识、路由标识、以太网段标识、以太网标签标识、网关IP地址分别添加至公共信息字段中的路由类型字段、路由标识字段、以太网段标识字段、以太网标签标识字段、网关IP地址字段,该第一网络设备将该网关IP地址所占用的字节长度添加至公共信息字段的网关IP地址长度字段;若该多个NLRI的路由类型为MAC/IP通告型,则该第一网络设备将该多个NLRI所具有的相同的类型标识、路由标识、以太网段标识、以太网标签标识分别添加至公共信息字段的路由类型字段、路由标识 字段、以太网段标识字段、以太网标签标识字段。
对于该多个NLRI中的一个NLRI,第一网络设备将一个NLRI中除公共信息字段内的信息以外的信息添加在一个专用信息字段的过程可以包括:若该一个NLRI的路由类型为IP prefix型,则该第一网络设备将该一个NLRI中的IP地址、第二MPLS标签分别添加至该专用信息字段的IP前缀地址字段以及MPLS标签字段,并在该专用信息字段的IP前缀长度字段添加与该IP前缀地址对应的IP前缀掩码的长度;若该一个NLRI的路由类型为MAC/IP通告型,则该第一网络设备将该一个NLRI中的MAC地址、第一MPLS标签分别添加至该专用信息字段的MAC地址字段以及第一MPLS标签字段,并在该专用信息字段的MAC地址长度字段添加该MAC地址的长度,若该一个NLRI中有IP地址,该第一网络设备将该IP地址添加至该专用信息字段的IP地址字段,并在该专用信息字段的IP地址长度字段添加该IP地址所占用的字节长度,若该一个NLRI还有第二MPLS标签,则该第一网络设备将该第二MPLS标签添加至该专用信息字段的第二MPLS标签字段,最后,该第一网络设备在该专用信息字段的MPLS指示字段添加指示信息(例如该专用信息字段中MPLS标签字段的个数),以指示该专用信息字段中的MPLS标签字段。
当该第一网络设备获取到该公共信息字段和多个专用信息字段后,该第一网络设备将该多个专用信息字段依次添加在该公共信息字段之后,得到该通告NLRI。之后,该第一网络设备可以统计该公共信息字段的总长度和多个专用信息字段的总长度。若该公共信息字段包括第一长度字段和第二长度字段,则该第一网络设备将该公共信息字段的总长度添加在该第一长度字段,将多个专用信息字段的总长度添加在公共信息字段中的第二长度字段。若该公共信息字段包括第一长度字段且不包括第二长度字段,则该第一网络设备将该公共信息字段的总长度与多个专用信息字段的总长度之间的和,确定为该通告NLRI的总长度,并将该通告NLRI的总长度添加在第一长度字段。
在一些可能的实现方式中,若该一个NLRI中路由类型为IP prefix型,每个专用信息字段可以不包括MPLS指示字段,而包括一个第三长度字段,则该第一网络设备在每个专用信息字段的第三长度字段添加该专用信息字段的长度。
例如,若该多个NLRI均为图1所示的遵循IPv4的IP prefix型NLRI,则该通告NLRI可以为如图5所示的通告NLRI;若该多个NLRI均为图3所示的遵循IPv6的IP prefix型NLRI,则该通告NLRI可以为如图6所示的通告NLRI;若该多个NLRI均为图4所示的MAC/IP通告型NLRI,且该多个NLRI为情况A-情况E中的任一情况,则该通告NLRI可以为上述3.1-3.5中该任一情况下所对应的通告NLRI。
在一种可能的实现方式中,当该第一网络设备获取到该通告NLRI后,该第一网络设备还可以存储该通告NLRI,以便后续该第一网络设备能够基于该通告NLRI中的公共信息字段以及一个专用信息字段恢复出一个目的端的一个NLRI。
在一种可能的实现方式中,该第一网络设备在存储该通告NLRI时,能够对该通告NLRI中的公共信息字段以及多个专用信息字段进行分级存储。可选地,该第一网络设备将该通告NLRI中的公共信息字段存储至第一级文件中,将多个专用信息字段存储至一个或多个第二级文件,每个第二级文件作为该第一级文件的子文件。可选地,该第一网络设备基于通告NLRI中的公共信息字段以及多个专用信息字段组成信息树,其中,该公共信息字段为该信息树的根节点,每个专用信息字段为该信息树的一个叶子节点。
在一种可能的实现方式中,该第一网络设备还能够直接存储该多个NLRI。
上述步骤901-902所描述的过程是以第一网络设备先获取多个目的端的多个NLRI,再将该多个NLRI压缩为一个通告NLRI的过程。而在另外一种可能的方式中,当第一网络设备获取到对应于多个目的端的多个路由信息(也即是步骤S12)后,该第一网络设备无须生成对应于多个目的端的多个NLRI(也即是无须执行步骤S13),而是直接根据该多个路由信息直接提取该通告NLRI的公共信息字段所需的公共信息,并将提取到的公共信息添加至公共信息字段中的对应字段。例如该第一网络设备从多个路由信息中提取类型标识,并将提取出的路由类型标识添加在公共信息字段的路由类型字段。该第一网络设备从每个目的端对应的路由信息中分别提取每个目的端的专用信息,将提取到的每个目的端的专用信息分别添加至每个目的端对应的专用信息字段中的对应字段,例如该第一网络设备从一个目的端的路由信息中提取MAC地址,并将提取到的MAC地址添加至该目的端对应的专用信息字段中的MAC地址字段。当该第一网络设备在公共信息字段中添加完对应的公共信息,且在每个目的端对应的专用信息字段添加完对应的专用信息后,该第一网络设备将每个目的端对应的专用信息字段依次添加在该公共信息字段之后,得到该通告NLRI。
903、该第一网络设备基于该通告NLRI,生成通告报文。
该通告报文可以为BGP报文,该通告NLRI可以位于该BGP报文用于通告该多个目的端的MAC/IP地址的MAC/IP通告路由中,或者,该通告NLRI可以位于该BGP报文用于通告该多个目的端的IP前缀地址的IP前缀路由中。
当该第一网络设备将该通告NLRI添加到BGP报文后,若该通告NLRI的数据总量未达到该BGP报文可携带的路由的最大数据量时,该第一网络设备还可以继续在BGP报文中添加其他通告NLRI,直至该BGP报文中添加的具有压缩格式的通告NLRI的数据总量达到或近似达到该BGP报文的路由的最大数据量,则停止在该BGP报文中添加其他的通告NLRI,并得到该通告报文,也即此情形下生成的通告报文中包括多个具有压缩格式的通告NLRI,其中,每个通告NLRI均可以由具有相同BGP属性的多个NLRI压缩而来。
904、该第一网络设备向第二网络设备发送该通告报文。
905、该第二网络设备接收该通告报文。
906、该第二网络设备根据该通告NLRI中的第一部分和第二部分,获取该多个NLRI。
当该第二网络设备接收到该通告报文后,可以去除该通告报文的报文头,解析获取该通告报文中包括的通告NLRI部分。
以该通告NLRI的路由类型为IPprefix型为例。该第一网络设备从该通告NLRI的起始位置开始读取第一个通告NLRI。该第一网络设备自该起始位置起算的1字节提取一个类型标识,并确定该类型标识指示该通告NLRI的路由类型为IPprefix型。该第一网络设备根据该通告NLRI中公共信息字段内各个字段的分布,以及该通告NLRI中公共信息字段内各个字段所占用的字节,从该路由类型标识字段之后依次读取第一长度字段中的长度、路由标识字段中的路由标识、以太网段标识字段中的以太网段标识、以太网段标签标识字段中的以太网段标签标识、网关IP地址长度字段中的网关IP地址长度,并根据该网关IP地址长度,读取网关IP地址长度字段后网关IP地址字段内的网关IP地址。当该第二网络设备读取完该网关IP地址后,该公共信息字段解析完成。
在一种可能的具体情形中,若该第一长度字段占用2字节,则该第一长度字段中存储的 长度为该通告NLRI的总长度。
在另一种可能的具体情形中,若该第一长度字段占用1字节,则第二网络设备从该网关IP地址字段后继续读取2字节,以获取第二长度字段内存储的该通告NLRI中专用信息字段的总长度,并将第二长度字段中的长度与第一长度字段中的长度之和,确定为该通告NLRI的总长度。若该第二长度字段的结束位置到该通告NLRI的起始位置所占用的字节为该第一长度字段中公共信息字段的总长度,则该第二长度字段的结束位置也即是公共信息字段的结束位置,该公共信息字段解析完成。
当公共信息字段解析完成后,该第二网络设备从公共信息字段的结束位置开始读取该通告NLRI中的第一个专用信息字段。例如,该第二网络设备从公共信息字段的结束位置后继续读取1字节,获取IP前缀长度字段中的IP地址的IP前缀掩码的长度,并根据读取到的IP前缀掩码的长度,从IP前缀长度字段后的IP地址字段读取IP地址。之后,从该IP地址字段后继续读取3字节,以获取MPLS标签字段内的MPLS标签,从而该第一个专用信息字段解析完成。若当前已解析出的专用信息字段与公共信息字段的总长度小于该通告NLRI的总长度,则说明该通告NLRI中还有其他专用信息字段未解析完成,则该第二网络设备继续解析下一个专用信息字段,直至解析出的专用信息字段与公共信息字段的总长度等于该通告NLRI的总长度,该通告NLRI解析完成。
上述在解析通告NLRI的过程中,第二网络设备根据该第一长度字段和该第二长度字段内存储的长度,确定通告NLRI中公共信息字段和各个专用信息字段是否解析完成的过程,也即是第二网络设备根据该第一长度字段和该第二长度字段,对该第一部分的该公共信息字段和该第二部分的该多个专用信息字段进行解析,以获取对应于该多个目的端的多个路由信息的过程。也即是第二网络设备根据该第一长度字段对该第一部分公共信息字段进行解析,以获取对应于该多个目的端的多个路由信息的过程。
在一些可能的实现方式中,该通告NLRI的公共信息字段不包括该第二长度字段,但该多个专用信息字段中的每个包括第三长度字段,当公共信息字段解析完成后,该第二网络设备从公共信息字段的结束位置开始读取该通告NLRI中的第一个专用信息字段,该第二网络设备从公共信息字段的结束位置后继续读取1字节,获取第三长度字段中的该第一个专用信息字段的长度,从该第三长度字段的起始位置至该第一个专用信息字段的长度所指示的位置,也即是该第一个专用信息字段结束位置。当第二网络设备将该第一个专用信息字段结束位置之前的数据读取完成后,该第一个专用信息字段解析完成。之后,第二网络设备可以参考第一个专用信息字段的解析过程,解析其他专用信息字段,也即是第二网络设备根据多个该第三长度字段对该多个专用信息字段进行解析,以获取对应于该多个目的端的多个路由信息的过程。若当前已解析出的专用信息字段与公共信息字段的总长度小于第一长度字段内该通告NLRI的总长度,则说明该通告NLRI中还有其他专用信息字段未解析完成,则该第二网络设备继续解析下一个专用信息字段,直至解析出的专用信息字段与公共信息字段的总长度等于第一长度字段内该通告NLRI的总长度,该通告NLRI解析完成。也即是第二网络设备根据该第一长度字段和多个该第三长度字段,对该第一部分的该公共信息字段和该第二部分的该多个专用信息字段进行解析,以获取对应于该多个目的端的多个路由信息的过程。
在第一个通告NLRI解析完成后,若第二网络设备确定载荷部分还有其他数据未解析,则说明该载荷部分还存在未解析的通告NLRI,则该第二网络设备按照上述解析第一个通告 NLRI的方式,继续解析第二个通告NLRI,直至通告报文中携带的多个通告NLRI全部解析完成。其中,一个通告报文中携带的多个通告NLRI所采用的压缩格式可以不同。
不同路由类型的通告NLRI的压缩格式可能有所不同,第二网络设备确定一个通告NLRI的路由类型字段内的类型标识后,可以根据该类型标识所指示的路由类型的通告NLRI的压缩格式,对该通告NLRI进行解析,以获取多个目的端的路由信息,也即是第二网络设备根据该通告报文包括的该路由类型字段,确定根据该第一部分和该第二部分获取对应于该多个目的端的多个路由信息的过程。
当该通告报文解析完成后,该第二网络设备可以对获取的该通告报文中的一个或多个通告NLRI进行存储,以便后续该第二网络设备能够基于该通告NLRI中的公共信息字段以及一个专用信息字段恢复出一个目的端的一个NLRI;或者,对于解析出的一个通告NLRI,该第二网络设备根据解析出的公共信息字段和多个专用信息字段,恢复出多个目的端所对应的多个完整的NLRI,并对该多个完整的NLRI进行本地存储。
以上以该第二网络设备先解析出通告NLRI,然后再根据该通告NLRI的公共信息部分和多个专用信息部分恢复出多个NLRI为例。在另一种可能的实现方式中,该第二网络设备也可以在解析阶段即直接根据依次解析获得的公共信息字段和多个专用信息字段,分别依次获取多个完整的NLRI,而无需先确定整个通告NLRI。
以上该第二网络设备解析通告NLRI的过程也即是第二网络设备根据该通告报文的该第一部分和该第二部分,获取对应于该多个目的端的多个路由信息的过程。
第一网络设备通过执行本申请实施例提供的方案可以提升发布路由的效率,以压缩前的多个NLRI的数目为N,用于发送NLRI的报文的长度为4096字节,其中,96字节用于承载非通告NLRI,4000字节用于承载通告NLRI为例,将采用本申请实施例方案发送报文与采用现有方式发送报文的传输效率作如下对比:
例如,若该N个NLRI均为图1所示的遵循IPv4的IP prefix型NLRI,且采用图5所示的通告NLRI格式对该N个NLRI进行压缩,则该通告NLRI中公共信息字段的长度为31字节,每个专用信息字段的长度为8字节,即该通告NLRI的总长度为(31+8N)字节。如此,采用通告NLRI格式发送报文,可以在报文中至多携带496(N=496)个NLRI的专用信息字段,也即相当于能够通告496个压缩前的NLRI可表达的路由信息,而如果采用现有方式则至多能够携带111个该遵循IPv4的IP prefix型NLRI。可见,采用本申请实施例提供的方案发送NLRI的传输效率大约为现有方式传输效率的5倍,则该第一网络设备通过传输通告报文能够提高NLRI的传输效率。
再例如,若该N个NLRI均为遵循MAC/IP通告型的NLRI,且满足前述情况A,而压缩后的通告NLRI为前述3.1所分析出的通告NLRI,则该通告NLRI中公共信息字段的长度为26字节,每个专用信息字段的长度为11字节,即该通告NLRI的总长度为(26+12N)字节。如此,采用通告NLRI格式发送报文,可以在报文中至多携带311(N=311)个NLRI的专用信息字段,也即相当于能够通告311个压缩前的NLRI可表达的路由信息,而如果采用现有方式则至多能够携带114个该遵循MAC/IP通告型的NLRI。可见,采用本申请实施例提供的方案发送NLRI的传输效率大约为现有方式传输效率的3倍,则该第一网络设备通过传输通告报文能够提高NLRI的传输效率。
在一种可能实现方式中,当压缩前的多个NLRI不满足预设的压缩条件,如除路由类型 外,该多个NLRI均不包括其他内容相同的公共字段,或者,在一些情形下而导致的压缩效率并不会明显提高,但发送方执行压缩及接收方执行解压缩却会因此而不可避免地消耗一定的资源,致使网络运行成本整体得不到明显提升等情况下,第一网络设备也可以不执行本申请实施例提供的压缩方案,而是直接将该多个NLRI添加在报文中进行发送。
作为发送设备的第一网络设备,可以使用预定格式的第一部分和第二部分来通告多个目的端的多个NLRI,所述第二部分包括多个专用信息字段,且所述多个专用信息字段均关联的一个所述第一部分包括的公共信息字段,以实现对用于通告所述多个NLRI的信息的压缩及发送。而作为接收设备可以基于压缩后的所述第一部分和所述第二部分,确定对应的所述多个NLRI以用于支持业务。本申请实施例提供的方法可以在不影响业务正常运行的基础上,提升第一网络设备发布路由的效率,以及在网络中传输所述发布的路由的效率,并节约网络运行资源。接收设备(也即是第二网络设备)可以基于该压缩后的通告NLRI,确定对应的该多个NLRI以用于支持业务。通过本申请实施例提供的方法,可以在不影响业务正常运行的基础上,提升发送设备发布路由的效率,并节约网络运行资源。
以上介绍了本申请实施例的方法,以下介绍本申请实施例的装置,应理解,以下介绍的装置具有上述方法中第一网络设备或第二网络设备的任意功能。
图10是本申请实施例提供的一种网络层可达信息传输装置的结构示意图,该装置1000包括:
生成模块1001,用于生成通告报文;
发送模块1002,可以用于执行上述步骤904。
可选地,所述生成模块1001,可以用于执行上述步骤902-903。
可选地,所述装置1000还包括:获取模块1003,可以用于执行上述步骤901。
可选地,所述装置1000还包括:存储模块1004,可以用于存储所述第一部分和所述第二部分,或者存储多个NLRI。
应理解,装置1000对应于上述方法实施例中的第一网络设备,装置1000中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的第一网络设备所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
应理解,装置1000在生成通告报文和传输通告报文时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置1000的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置1000与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
应理解,装置1000可以相当于系统800中的第一网络设备801,或者相当于第一网络设备801中的执行部件。
图11是本申请实施例提供的一种网络层可达信息传输装置的结构示意图,如图11所示,装置1100包括:接收模块1101,可以用于执行上述步骤905;获取模块1102,可以用于根据通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息的过程。
可选地,所述公共信息字段包括路由类型字段;所述获取模块1102,可以用于根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述 多个目的端的多个路由信息。
可选地,所述公共信息字段还包括第一长度字段和第二长度字段;所述获取模块,用于根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息1102。
可选地,所述公共信息字段还包括第一长度字段;所述获取模块1102,用于根据所述第一长度字段对所述第一部分公共信息字段进行解析,以获取对应于所述多个目的端的多个路由信息。
可选地,所述公共信息字段还包括第一长度字段,所述多个专用信息字段中的每个还包括第三长度字段;所述获取模块1102,用于根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息。
可选地,所述公共信息字段还包括第二长度字段,或者所述多个专用信息字段中的每个还包括对应的第三长度字段,所述获取模块,用于根据所述第二长度字段或者根据多个所述第三长度字段对所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第三长度字段用于存储对应的所述专用信息字段的长度
可选地,可选地,所述装置1100还包括:
存储模块1103,可以用于存储通告报文中通告NLRI,或者存储多个NLRI。
应理解,装置1100对应于上述方法实施例中的第二网络设备,装置1100中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的第二网络设备所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
应理解,装置1100在接收通告报文和确定多个NLRI时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置1100的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置1100与上述方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
应理解,装置1100可以相当于系统800中的第二网络设备802,或者相当于第二网络设备802中的执行部件。
与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
网络设备1200或网络设备1300对应于上述方法实施例中的第一网络设备或第二网络设备,网络设备1200或网络设备1300中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中的第一网络设备或第二网络设备所实施的各种步骤和方法,关于网络设备1200或网络设备1300如何生成通告报文或解析通告报文的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。其中,上文方法实施例的各步骤通过网络设备1200或网络设备1300处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器 或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述
网络设备1200或网络设备1300对应于上述虚拟装置实施例中的装置1000或装置1100,装置1000或装置1100中的每个功能模块采用网络设备1200或网络设备1300的软件实现。换句话说,装置1000或装置1100包括的功能模块可以为网络设备1200或网络设备1300的处理器读取存储器中存储的程序代码后生成的。
参见图12,图12是本申请实施例提供的一种网络设备的结构示意图,该网络设备1200可以配置为第一网络设备或第二网络设备。
网络设备1200包括至少一个处理器1201、通信总线1202、存储器1203以及至少一个物理接口1204。
处理器1201可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processor,NP)、微处理器或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线1202用于在上述组件之间传送信息。通信总线1202可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1203可以是独立存在,并通过通信总线1202与处理器1201相连接。存储器1203也可以和处理器1201集成在一起。
物理接口1204使用任何收发器一类的装置,用于与其它设备或通信网络通信。物理接口1204包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。物理接口1204也称物理口。
在具体实现中,作为一种实施例,处理器1201可以包括一个或多个CPU,如图12中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备1200可以包括多个处理器,如图12中所示的处理器1201和处理器1205。这些处理器中的每一个可以是一个单核处理器(single-CPU), 也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备1200还可以包括输出设备1206和输入设备1207。输出设备1206和处理器1201通信,可以以多种方式来显示信息。例如,输出设备1206可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备1207和处理器1201通信,可以以多种方式接收用户的输入。例如,输入设备1207可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器1203用于存储执行本申请方案的程序代码1210,处理器1201可以执行存储器1203中存储的程序代码1210以实现相应的功能。例如,程序代码1210中存储的程序可以被调用以实现装置1000中生成模块1001的功能,或实现装置1100中确定模块1102的功能。也即是,网络设备1200可以通过处理器1201以及存储器1203中的程序代码1210,来配合实现前述方法实施例提供的方法。
本申请实施例的网络设备1200可对应于上述各个方法实施例中的第一网络设备或第二网络设备,并且,该网络设备1200中的处理器1201、物理接口1204等可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
在一些实施例中,装置1000中的生成模块1001可以相当于网络设备1200中的处理器1201;装置1000中的发送模块1002和获取模块1003相当于网络设备1200中的物理接口1204;装置1000中的存储模块1004相当于网络设备1200中的存储器1203。
在一些实施例中,装置1100中的接收模块1101相当于网络设备1200中的物理接口1204;装置1100中的获取模块1102可以相当于网络设备1200中的处理器1201;装置1100中的存储模块1103可以相当于网络设备1200中的存储器1203。
参见图13,图13是本申请实施例提供的一种网络设备的结构示意图,网络设备1300可以配置为第一网络设备或第二网络设备。
网络设备1300包括:主控板1310和接口板1330。
主控板1310也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1310对网络设备1300中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1310包括:中央处理器1311和存储器1312。
接口板1330也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板1330用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1330包括:中央处理器1331、网络处理器1332、转发表项存储器1334和物理接口卡(ph13sical interface card,PIC)1333。
接口板1330上的中央处理器1331用于对接口板1330进行控制管理并与主控板1310上的中央处理器1311进行通信。
网络处理器1332用于实现报文的转发处理。网络处理器1332的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1333用于实现物理层的对接功能,原始的流量由此进入接口板1330,以及处理后的报文从该物理接口卡1333发出。物理接口卡1333包括至少一个物理接口,物理接口也称物理口。物理接口卡1333也称为子卡,可安装在接口板1330上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1332处理。在一些实施例中,接口板1303的中央处理器1331也可执行网络处理器1332的功能,比如基于通用CPU实现软件转发,从而物理接口卡1333中不需要网络处理器1332。
可选地,网络设备1300包括多个接口板,例如网络设备1300还包括接口板1340,接口板1340包括:中央处理器1341、网络处理器1342、转发表项存储器1344和物理接口卡1343。
可选地,网络设备1300还包括交换网板1320。交换网板1320也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板1330的情况下,交换网板1320用于完成各接口板之间的数据交换。例如,接口板1330和接口板1340之间可以通过交换网板1320通信。
主控板1310和接口板1330耦合。例如。主控板1310、接口板1330和接口板1340,以及交换网板1320之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1310和接口板1330之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1310和接口板1330之间通过IPC通道进行通信。
在逻辑上,网络设备1300包括控制面和转发面,控制面包括主控板1310和中央处理器1331,转发面包括执行转发的各个组件,比如转发表项存储器1334、物理接口卡1333和网络处理器1332。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1332基于控制面下发的转发表对物理接口卡1333收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1334中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备1300被配置为第一网络设备,中央处理器1311生成通告报文。网络处理器1332触发物理接口卡1333向第二网络设备发送通告报文。
如果网络设备1300被配置为第二网络设备,网络处理器1332从物理接口卡1333接收通告报文,并基于该通告报文中的通告NLRI,确定多个NLRI。
应理解,装置1000中的发送模块503相当于网络设备1300中的物理接口卡1333或物理接口卡1343;装置1000中的获取模块501和确定模块502可以相当于网络设备1300中的中央处理器1311或中央处理器1331。
应理解,装置1100中的接收模块1101相当于网络设备1300中的物理接口卡1333或物理接口卡1343;装置1100中的获取模块1102可以相当于网络设备1300中的中央处理器1311或中央处理器1331。
应理解,本申请实施例中接口板1340上的操作与接口板1330的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备1300可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备1300中的主控板1310、接口板1330和/或接口板1340可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主 控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备。此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法实施例中第一网络设备执行的方法。
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法实施例中第二网络设备执行的方法。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,可以用于执行上述应用于指令第一网络设备或第二网络设备执行网络层可达信息传输方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(digital signal  processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (40)

  1. 一种网络层可达信息传输方法,其特征在于,所述方法由第一网络设备执行,所述方法包括:
    生成通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
    向第二网络设备发送所述通告报文。
  2. 根据权利要求1所述的方法,其特征在于,所述公共信息字段还包括第一长度字段,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,用于存储所述公共信息字段的总长度。
  3. 根据权利要求1或2所述的方法,其特征在于,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述公共信息字段包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述公共信息字段还包括网关互联网协议IP地址长度字段、网关IP地址字段、媒体访问控制MAC地址长度字段、IP地址长度字段或IP前缀长度字段中的至少一个,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述多个专用信息字段中的一个或多个包括以下的至少一种:IP地址字段、MAC地址字段或至少一个多协议标签交换MPLS标签字段,其中,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS 标签。
  8. 根据权利要求7所述的方法,其特征在于,所述多个专用信息字段中的一个或多个还包括IP地址长度字段、MAC地址长度字段、MPLS指示字段或IP前缀长度字段中的至少一个,其中,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度,所述MPLS指示字段用于指示所述至少一个MPLS标签字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
  9. 根据权利要求7或8所述的方法,其特征在于,所述目的端的IP地址包括互联网协议第四版IPv4地址或互联网协议第六版IPv6地址中的一个。
  10. 根据权利要求1或2所述的方法,其特征在于,所述每个专用信息字段还包括第三长度字段,所述第三长度字段用于存储所述每个专用信息字段的长度。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述通告报文为边界网关协议BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中。
  12. 根据权利要求1-11任一项所述的方法,其特征在于,所述第一网络设备和所述第二网络设备分别为运营商边缘PE设备、路由反射器或自治系统边界路由器中的一个。
  13. 根据权利要求1-12任一项所述的方法,其特征在于,所述目的端为目的网络或目的设备。
  14. 一种网络层可达信息传输方法,其特征在于,所述方法由第二网络设备执行,所述方法包括:
    从第一网络设备接收通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
    根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
  15. 根据权利要求14所述的方法,其特征在于,所述公共信息字段包括路由类型字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
  16. 根据权利要求14或15所述的方法,其特征在于,所述公共信息字段还包括第一长度字段和第二长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度。
  17. 根据权利要求14或15所述的方法,其特征在于,所述公共信息字段还包括第一长度字段,所述多个专用信息字段中的每个还包括第三长度字段,所述根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字段的长度。
  18. 根据权利要求14-17任一项所述的方法,其特征在于,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个。
  19. 根据权利要求14-18任一项所述的方法,其特征在于,所述公共信息字段还包括网关互联网协议IP地址长度字段、网关IP地址字段、媒体访问控制MAC地址长度字段、IP地址长度字段或IP前缀长度字段中的至少一个,其中,所述网关IP地址长度字段用于存储对应于所述多个目的端中的一个的网关IP地址的长度,所述网关IP地址字段用于存储对应于所述多个目的端中的一个的网关IP地址,所述MAC地址长度字段用于存储所述多个目的端中的一个的MAC地址的长度,所述IP地址长度字段用于存储所述多个目的端中的一个的IP地址的长度,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
  20. 根据权利要求14-19任一项所述的方法,其特征在于,所述多个专用信息字段中的一个或多个包括以下的至少一种:IP地址字段、MAC地址字段或至少一个多协议标签交换MPLS标签字段,其中,所述IP地址字段用于存储所述目的端的IP地址,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
  21. 根据权利要求20所述的方法,其特征在于,所述多个专用信息字段中的一个或多个 还包括IP地址长度字段、MAC地址长度字段、MPLS指示字段或IP前缀长度字段中的至少一个,其中,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度,所述MAC地址长度字段用于存储所述一个所述专用信息字段所对应的目的端的MAC地址的长度,所述MPLS指示字段用于指示一个所述专用信息字段所对应的目的端的所述至少一个MPLS标签字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
  22. 根据权利要求14-21任一项所述的方法,其特征在于,所述通告报文为边界网关协议BGP报文,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的MAC/IP地址的路由中,或者,所述第一部分和所述第二部分位于所述BGP报文用于通告所述多个目的端的IP前缀地址的路由中。
  23. 根据权利要求14-22任一项所述的方法,其特征在于,所述目的端为目的网络或目的设备。
  24. 一种网络层可达信息传输系统,其特征在于,所述系统包括第一网络设备和第二网络设备;
    所述第一网络设备,用于生成通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;向第二网络设备发送所述通告报文;
    所述第二网络设备,用于接收所述通告报文,并根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
  25. 根据权利要求24所述的系统,其特征在于,所述公共信息字段包括路由类型字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    所述第二网络设备,用于根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
  26. 根据权利要求24或25所述的系统,其特征在于,所述公共信息字段还包括第一长度字段和第二长度字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    所述第二网络设备,用于根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用 于存储所述公共信息字段和所述多个专用信息字段的总长度。
  27. 据权利要求24至26任一项所述的系统,其特征在于,所述公共信息字段还包括第一长度字段,所述多个专用信息字段中的每个还包括第三长度字段,所述第二网络设备用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息,包括:
    所述第二网络设备,用于根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字段的长度。
  28. 根据权利要求24所述的系统,其特征在于,所述公共信息字段包括路由标识字段、以太网段标识字段以及以太网标签标识字段中的至少一个。
  29. 一种网络层可达信息传输装置,其特征在于,所述装置包括:
    生成模块,用于生成通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
    发送模块,用于向第二网络设备发送所述通告报文。
  30. 根据权利要求29所述的装置,其特征在于,所述公共信息字段还包括第一长度字段,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度,或者,用于存储所述公共信息字段的总长度。
  31. 根据权利要求29或30所述的装置,其特征在于,所述公共信息字段还包括第二长度字段,所述第二长度字段用于存储所述多个专用信息字段的总长度。
  32. 根据权利要求29-31任一项所述的装置,其特征在于,所述公共信息字段包括路由类型字段,所述路由类型字段指示接收到所述通告报文的网络设备根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
  33. 根据权利要求29-32任一项所述的装置,其特征在于,所述多个专用信息字段中的一个或多个包括以下的至少一种:IP地址字段、MAC地址字段或至少一个多协议标签交换MPLS标签字段,其中,所述IP地址字段用于存储一个所述专用信息字段所对应的目的端的IP地址,所述MAC地址字段用于存储一个所述专用信息字段所对应的目的端的MAC地址,所述至少一个MPLS标签字段用于存储一个所述专用信息字段所对应的目的端的至少一个MPLS标签。
  34. 根据权利要求33所述的装置,其特征在于,所述多个专用信息字段中的一个或多个还包括IP地址长度字段、MAC地址长度字段、MPLS指示字段或IP前缀长度字段中的至少一个,其中,所述IP地址长度字段用于存储一个所述专用信息字段所对应的目的端的IP地址的长度,所述MAC地址长度字段用于存储一个所述专用信息字段所对应的目的端的MAC地址的长度,所述MPLS指示字段用于指示所述至少一个MPLS标签字段,所述IP前缀长度字段用于存储所述多个目的端中的一个的IP前缀掩码的长度。
  35. 一种网络层可达信息传输装置,其特征在于,所述装置包括:
    接收模块,用于从第一网络设备接收通告报文,所述通告报文用于通告多个目的端的多个网络层可达信息NLRI,所述通告报文包括第一部分和第二部分,所述第一部分包括对应于所述多个NLRI的一个公共信息字段,所述公共信息字段包括所述多个NLRI中的相同信息,所述第二部分包括对应于所述多个NLRI的多个专用信息字段,其中,所述多个专用信息字段中的每个专用信息字段包括与所述每个专用信息字段对应的NLRI中除所述相同信息以外的信息;
    获取模块,用于根据所述通告报文的所述第一部分和所述第二部分,获取对应于所述多个目的端的多个路由信息。
  36. 根据权利要求35所述的装置,其特征在于,所述公共信息字段包括路由类型字段;
    所述获取模块,用于根据所述通告报文包括的所述路由类型字段,确定根据所述第一部分和所述第二部分获取对应于所述多个目的端的多个路由信息。
  37. 根据权利要求35或36所述的装置,其特征在于,所述公共信息字段还包括第一长度字段和第二长度字段;
    所述获取模块,用于根据所述第一长度字段和所述第二长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第二长度字段用于存储所述多个专用信息字段的总长度,所述第一长度字段用于存储所述公共信息字段的总长度,或者,所述第一长度字段用于存储所述公共信息字段和所述多个专用信息字段的总长度。
  38. 根据权利要求35或36所述的装置,其特征在于,所述公共信息字段还包括第一长度字段,所述多个专用信息字段中的每个还包括第三长度字段;
    所述获取模块,用于根据所述第一长度字段和多个所述第三长度字段,对所述第一部分的所述公共信息字段和所述第二部分的所述多个专用信息字段进行解析,以获取对应于所述多个目的端的多个路由信息,其中,所述第一长度字段用于存储所述公共信息字段的总长度,所述第三长度字段用于存储对应的专用信息字段的长度。
  39. 一种网络设备,其特征在于,所述网络设备包括处理器和存储器,所述存储器中存储有程序代码,所述程序代码由所述处理器加载并执行,以使得所述网络设备实现如权利要 求1至权利要求23任一项所述的网络层可达信息传输方法。
  40. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,当其在计算机上运行时,使得所述计算机执行如权利要求1至权利要求23任一项所述的网络层可达信息传输方法。
PCT/CN2021/106048 2020-08-03 2021-07-13 网络层可达信息传输方法、系统、装置以及网络设备 WO2022028216A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21854006.0A EP4187865A4 (en) 2020-08-03 2021-07-13 METHOD, SYSTEM AND DEVICE FOR TRANSMITTING REACHABLE INFORMATION ON THE NETWORK LAYER AND NETWORK DEVICE
US18/163,398 US20230198885A1 (en) 2020-08-03 2023-02-02 Network layer reachable information transmission method, system, and apparatus and network device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010768715.7 2020-08-03
CN202010768715 2020-08-03
CN202011299988.8A CN114095416A (zh) 2020-08-03 2020-11-18 网络层可达信息传输方法、系统、装置以及网络设备
CN202011299988.8 2020-11-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/163,398 Continuation US20230198885A1 (en) 2020-08-03 2023-02-02 Network layer reachable information transmission method, system, and apparatus and network device

Publications (1)

Publication Number Publication Date
WO2022028216A1 true WO2022028216A1 (zh) 2022-02-10

Family

ID=80116937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/106048 WO2022028216A1 (zh) 2020-08-03 2021-07-13 网络层可达信息传输方法、系统、装置以及网络设备

Country Status (3)

Country Link
US (1) US20230198885A1 (zh)
EP (1) EP4187865A4 (zh)
WO (1) WO2022028216A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321560A1 (en) * 2021-04-02 2022-10-06 Arista Networks, Inc. System for assigning and distributing device security segment identification
US20230308484A1 (en) * 2022-03-08 2023-09-28 Arista Networks, Inc. Fallback segmentation security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260746A1 (en) * 2006-05-08 2007-11-08 Sina Mirtorabi Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US8924508B1 (en) * 2011-12-30 2014-12-30 Juniper Networks, Inc. Advertising end-user reachability for content delivery across multiple autonomous systems
CN108574639A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 Evpn报文处理方法、设备及系统
CN108574616A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种处理路由的方法、设备及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8767731B2 (en) * 2010-05-19 2014-07-01 Alcatel Lucent Method and apparatus for MPLS label allocation for a BGP MAC-VPN
US9900250B2 (en) * 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260746A1 (en) * 2006-05-08 2007-11-08 Sina Mirtorabi Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US8924508B1 (en) * 2011-12-30 2014-12-30 Juniper Networks, Inc. Advertising end-user reachability for content delivery across multiple autonomous systems
CN108574639A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 Evpn报文处理方法、设备及系统
CN108574616A (zh) * 2017-03-14 2018-09-25 华为技术有限公司 一种处理路由的方法、设备及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. DRAKE ET AL.: "IP Prefix Advertisement in EVPN", DRAFT-IETF-BESS-PREFIX-ADVERTISEMENT-02, 17 March 2016 (2016-03-17), pages 1 - 24, XP055895802 *

Also Published As

Publication number Publication date
EP4187865A1 (en) 2023-05-31
US20230198885A1 (en) 2023-06-22
EP4187865A4 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
US20230078123A1 (en) Method for Forwarding Packet in SRV6 Service Function Chain and SF Device
EP3591912A1 (en) Evpn packet processing method, device and system
US20220078114A1 (en) Method and Apparatus for Providing Service for Traffic Flow
WO2018032961A1 (zh) 一种管理信息的方法,装置及系统
US20230198885A1 (en) Network layer reachable information transmission method, system, and apparatus and network device
US20230095244A1 (en) Packet sending method, device, and system
US20220255772A1 (en) Packet sending method, apparatus, and system
CN110855568B (zh) 报文转发方法及系统
EP4009596A1 (en) Message forwarding method, device, and system in sr network
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
WO2022007702A1 (zh) 一种报文处理方法及网络设备
US11588732B2 (en) Message generation method and apparatus, and message processing method and apparatus
US20230327986A1 (en) Route Advertisement Method, Apparatus, and System
WO2022188530A1 (zh) 一种路由处理方法及网络设备
WO2023016110A1 (zh) 传输网络层可达信息的方法、装置、设备、系统及介质
CN114095416A (zh) 网络层可达信息传输方法、系统、装置以及网络设备
CN114430393B (zh) 报文处理方法、装置及存储介质
WO2023213216A1 (zh) 一种报文处理的方法及相关设备
WO2023125774A1 (zh) 一种vxlan报文传输方法、网络设备及系统
WO2023169364A1 (zh) 路由生成方法、数据报文的转发方法及装置
EP4007236A2 (en) Communication method and apparatus
US20230269174A1 (en) Route Advertisement Method, Route Loop Check Method, and Device
CN114025025B (zh) SRv6 SID的发布方法及网络设备
WO2024011982A1 (zh) 报文转发方法、系统、网络设备、存储介质及程序产品
WO2023274083A1 (zh) 路由发布和转发报文的方法、装置、设备和存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021854006

Country of ref document: EP

Effective date: 20230222

NENP Non-entry into the national phase

Ref country code: DE