WO2022206405A1 - 一种BIERv6报文的处理方法、设备以及系统 - Google Patents

一种BIERv6报文的处理方法、设备以及系统 Download PDF

Info

Publication number
WO2022206405A1
WO2022206405A1 PCT/CN2022/081468 CN2022081468W WO2022206405A1 WO 2022206405 A1 WO2022206405 A1 WO 2022206405A1 CN 2022081468 W CN2022081468 W CN 2022081468W WO 2022206405 A1 WO2022206405 A1 WO 2022206405A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
identifier
evpn
bum
ipv6 address
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.)
Ceased
Application number
PCT/CN2022/081468
Other languages
English (en)
French (fr)
Inventor
段方红
谢经荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP22778588.8A priority Critical patent/EP4300914B1/en
Publication of WO2022206405A1 publication Critical patent/WO2022206405A1/zh
Priority to US18/476,354 priority patent/US12199862B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active 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
    • 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
    • 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
    • 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
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • 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
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • 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/668Internet protocol [IP] address subnets
    • 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/677Multiple interfaces, e.g. multihomed nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Definitions

  • the present application relates to the field of network communication, and more particularly, to a method for processing a BIERv6 message, a first network device, a second network device, and a system.
  • Multicast is an efficient way to send data at the same time by using a multicast address to multiple devices on a transmission control protocol (TCP)/Internet protocol (Internet Protocol, IP) network.
  • TCP transmission control protocol
  • IP Internet Protocol
  • an ingress replication (IR) tunnel is introduced into an Ethernet virtual private network (Ethernet virtual private network, EVPN), and the IR tunnel is used to carry broadcast, unknown unicast and multicast ( broadcast unknown unicast multicast, BUM) data stream.
  • BUM broadcast unknown unicast multicast
  • the BUM message is copied to all virtual extensible local area network tunnel endpoints (virtual extensible local area network) belonging to the same virtual extensible local area network identifier (VNI). tunnel endpoints, VTEP).
  • VNI virtual extensible local area network identifier
  • the present application provides a method, device and system for processing BIERv6 packets, which can reduce the waste of public network link bandwidth and improve the replication efficiency of BUM packets.
  • a first aspect provides a method for processing a BIERv6 message, the method being applied to an Ethernet virtual private network (Ethernet virtual private network, EVPN), comprising: a first network device receiving a BIERv6 message sent by a second network device , the BIERv6 message includes an IPv6 header and a BUM message, the source address SA of the IPv6 header is the first IPv6 address, and the first IPv6 address is used to identify the second network device.
  • Ethernet virtual private network Ethernet virtual private network
  • the first network device is the egress device of the BIER domain, so The second network device is an ingress device of the BIER domain; the first network device determines the first EVPN instance to which the BUM message belongs according to the first IPv6 address; the first network device forwards the BUM message according to the first EVPN instance.
  • an explicit replication (bit index explicit replication over internet protocol version 6, BIERv6) tunnel based on the bit index of the Internet Protocol Version 6 is introduced into the EVPN, and the BIERv6 tunnel is used to bear the BUM message in the EVPN.
  • BUM packets can be replicated on demand based on the bit string in the BIER header, which reduces the waste of public network link bandwidth and improves the replication efficiency of BUM packets.
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify on the second network device the BUM packet to which the BUM packet belongs.
  • the EVPN instance is the first EVPN instance.
  • the first network device determines the first EVPN instance according to the prefix of the first IPv6 address, the first identifier and the first correspondence,
  • the first correspondence is the correspondence between the prefix of the first IPv6 address, the first identifier and the first EVPN instance.
  • the method before the first network device receives the BIERv6 packet sent by the second network device, the method further includes: the first network device receives the The first EVPN route sent by the second network device, where the first EVPN route carries the prefix of the first IPv6 address and the first identifier; the first network device establishes the first EVPN route according to the first EVPN route. first correspondence.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the The multicast service identifier of the IMET route is identified in the MSID attribute field or the prefix segment identifier prefix SID attribute field.
  • the first IPv6 address further includes a second identifier, and the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • the method further includes: the first network device determining the first IPv6 address according to the prefix of the first IPv6 address, the second identifier and the second correspondence an interface, where the second correspondence is the correspondence between the prefix of the first IPv6 address, the second identifier, and the first interface, where the first interface is the first ES in the the interface corresponding to the first network device; the first network device forwarding the BUM packet according to the first EVPN instance includes: the first network device removes all the BUM packets from the interface corresponding to the first EVPN instance The other interface of the first interface forwards the BUM packet.
  • the method before the first network device receives the BIERv6 packet sent by the second network device, the method further includes: the first network device receives the The second EVPN route sent by the second network device, where the second EVPN route carries the second identifier; the first network device establishes the second identifier according to the second identifier, the prefix of the first IPv6 address, and the first interface the second corresponding relationship.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • a method for establishing a corresponding relationship is provided, the method is applied to the Ethernet virtual private network EVPN, and the method includes:
  • the first network device receives the first EVPN route sent by the second network device, where the first EVPN route carries the prefix of the first IPv6 address and the first identifier, and the first IPv6 address is used to identify the second network device , the first identification is used to identify the EVPN instance to which the broadcast, unknown unicast and multicast BUM messages belong to the first EVPN instance on the second network device; the first network device is based on the first EVPN
  • the route establishes a first correspondence, where the first correspondence is a correspondence between the prefix of the first IPv6 address, the first identifier and the first EVPN instance.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the The multicast service identifier of the IMET route is identified in the MSID attribute field or the prefix segment identifier prefix SID attribute field.
  • the method further includes: receiving, by the first network device, a BIERv6 packet sent by the second network device, where the BIERv6 packet includes an Internet Protocol No. Version 6 IPv6 header and the BUM message, the source address SA of the IPv6 header is the first IPv6 address, the first network device is the egress device of the BIER domain, and the second network device is the BIER the entry device of the domain; the first network device determines the first EVPN instance to which the BUM packet belongs according to the first IPv6 address; the first network device forwards the BUM according to the first EVPN instance message.
  • the BIERv6 packet includes an Internet Protocol No. Version 6 IPv6 header and the BUM message
  • the source address SA of the IPv6 header is the first IPv6 address
  • the first network device is the egress device of the BIER domain
  • the second network device is the BIER the entry device of the domain
  • the first network device determines the first EVPN instance to which the BUM packet belongs according to the first IPv6
  • the first IPv6 address includes the first identifier
  • the first network device uses the prefix of the first IPv6 address, the first identifier, and the The first correspondence determines the first EVPN instance.
  • the first IPv6 address further includes a second identifier, where the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • the method further includes: determining, by the first network device, the first network device according to the prefix of the first IPv6 address, the second identifier and the second correspondence an interface, where the second correspondence is the correspondence between the prefix of the first IPv6 address, the second identifier, and the first interface, where the first interface is the first ES in the the interface corresponding to the first network device; the first network device forwarding the BUM packet according to the first EVPN instance includes: the first network device removes all the BUM packets from the interface corresponding to the first EVPN instance The other interface of the first interface forwards the BUM packet.
  • the method before the first network device receives the BIERv6 packet sent by the second network device, the method further includes: receiving, by the first network device, the BIERv6 packet sent by the second network device.
  • the second EVPN route sent by the second network device, the second EVPN route carries the second identifier; the first network device uses the second identifier, the prefix of the first IPv6 address, and the first The interface establishes the second correspondence.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • a method for processing a BIERv6 packet is provided.
  • the method is applied to an Ethernet virtual private network (EVPN), and the method includes: a second network device receives broadcast, unknown unicast and multicast BUM packets, so The second network device is an entry device of the BIER domain; the second network device obtains a BIERv6 message according to the BUM message, and the BIERv6 message includes an Internet Protocol Version 6 IPv6 header, a BIER header and the BUM message
  • the source address SA of the IPv6 header is the first IPv6 address, the first IPv6 address is used to identify the second network device, the BIER header includes a bit string bitstring, and the bitstring indicates the BIER domain
  • the egress device that receives the BUM message in the BIER domain; the second network device sends the BIERv6 message to the first network device according to the bitstring, and the first network device is the egress device of the BIER domain.
  • the method further includes: the second network device determines, according to whether the Internet Group Management Protocol/Multicast Listener Discovery IGMP/MLD Snooping is enabled, the described bitstring.
  • the second network device does not enable IGMP/MLD Snooping, the second network device determines a first type of BUM member, and the first type of BUM member Including all egress devices of the BIER domain; the second network device determines the bitstring according to the bit forwarding router identification BFR ID of each device in the first type of BUM member.
  • the second network device enables IGMP/MLD Snooping, the second network device determines a first type of BUM members, and the first type of BUM members includes All egress devices in the BIER domain; the second network device determines the first bitstring according to the BFR ID of each device in the first type of BUM member, and the first bitstring indicates that broadcast and unknown unicast B are received in the BIER domain , U two types of egress devices for messages; the second network device determines a second type of BUM members, and the second class of BUM members includes egress devices in the BIER domain that receive multicast M-type messages, the The egress device does not enable IGMP/MLD Snooping, or enables IGMP/MLD Snooping and has sent multicast information to the second network device; the second network device is based on the BFR of each device in the second type of BUM member The ID determines a second bitstring, where the second bitstring indicates an e
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify on the second network device the BUM packet to which the BUM packet belongs. EVPN instance.
  • the first IPv6 address further includes a second identifier, and the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • a first network device is provided, the first network device is applied to an Ethernet virtual private network EVPN, and includes: a receiving module, a processing module, and a sending module,
  • a receiving module configured to receive a BIERv6 message sent by a second network device, where the BIERv6 message includes an Internet Protocol Version 6 IPv6 header and broadcast, unknown unicast and multicast BUM messages, and the source address SA of the IPv6 header is the first IPv6 address, the first IPv6 address is used to identify the second network device, the first network device is the egress device of the BIER domain, and the second network device is the ingress device of the BIER domain;
  • a processing module configured to determine the first EVPN instance to which the BUM message belongs according to the first IPv6 address
  • a sending module configured to forward the BUM packet according to the first EVPN instance.
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify on the second network device the BUM packet to which the BUM packet belongs.
  • the EVPN instance is the first EVPN instance.
  • the processing module is specifically configured to: determine the first EVPN according to the prefix of the first IPv6 address, the first identifier and the first correspondence Example, the first correspondence is the correspondence between the prefix of the first IPv6 address, the first identifier, and the first EVPN instance.
  • the receiving module is further configured to: receive a first EVPN route sent by the second network device, where the first EVPN route carries the first EVPN route The prefix of the IPv6 address and the first identifier; the processing module is further configured to: establish the first correspondence according to the first EVPN route.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the The multicast service identifier of the IMET route is identified in the MSID attribute field or the prefix segment identifier prefix SID attribute field.
  • the first IPv6 address further includes a second identifier, and the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • the processing module is further configured to: determine the first interface according to the prefix of the first IPv6 address, the second identifier and the second correspondence, so The second correspondence is the correspondence between the prefix of the first IPv6 address, the second identifier, and the first interface, where the first interface is the first ES on the first network device and the sending module is specifically configured to: forward the BUM packet to other interfaces except the first interface among the interfaces corresponding to the first EVPN instance.
  • the receiving module is further configured to: receive a second EVPN route sent by the second network device, where the second EVPN route carries the second identifier ; the processing module is further configured to: establish the second correspondence according to the second identifier, the prefix of the first IPv6 address and the first interface.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • a first network device is provided, the first network device is applied to the Ethernet virtual private network EVPN, and includes: a receiving module, a processing module,
  • a receiving module configured to receive a first EVPN route sent by a second network device, where the first EVPN route carries a prefix of a first IPv6 address and a first identifier, and the first IPv6 address is used to identify the second network equipment, wherein the first identifier is used to identify, on the second network device, the EVPN instance to which the broadcast, unknown unicast and multicast BUM messages belong as the first EVPN instance;
  • a processing module configured to establish a first correspondence according to the first EVPN route, where the first correspondence is the correspondence between the prefix of the first IPv6 address, the first identifier and the first EVPN instance relation.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the The multicast service identifier of the IMET route is identified in the MSID attribute field or the prefix segment identifier prefix SID attribute field.
  • the receiving module is further configured to: receive a BIERv6 packet sent by the second network device, where the BIERv6 packet includes an Internet Protocol Version 6 IPv6 header and the BUM message, the source address SA of the IPv6 header is the first IPv6 address, the first network device is the egress device of the BIER domain, and the second network device is the ingress device of the BIER domain ;
  • the processing module is further configured to: determine the first EVPN instance to which the BUM message belongs according to the first IPv6 address;
  • the first network device further includes: a sending module, configured to forward the BUM packet according to the first EVPN instance.
  • the first IPv6 address includes the first identifier
  • the processing module is specifically configured to: according to the prefix of the first IPv6 address, the first identifier and the first corresponding relationship to determine the first EVPN instance.
  • the first IPv6 address further includes a second identifier, and the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • the processing module is further configured to: determine the first interface according to the prefix of the first IPv6 address, the second identifier and the second correspondence, so The second correspondence is the correspondence between the prefix of the first IPv6 address, the second identifier, and the first interface, where the first interface is the first ES on the first network device and the sending module is specifically configured to: forward the BUM packet to other interfaces except the first interface among the interfaces corresponding to the first EVPN instance.
  • the receiving module is further configured to: receive a second EVPN route sent by the second network device, where the second EVPN route carries the second identifier ; the processing module is further configured to: establish the second correspondence according to the second identifier, the prefix of the first IPv6 address and the first interface.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • a second network device is provided, the second network device is applied in an Ethernet virtual private network EVPN, and includes: a receiving module, a processing module, and a sending module,
  • a receiving module configured to receive broadcast, unknown unicast and multicast BUM messages, and the second network device is an entry device of the BIER domain;
  • a processing module configured to obtain a BIERv6 message according to the BUM message, where the BIERv6 message includes an Internet Protocol Version 6 IPv6 header, a BIER header and the BUM message, and the source address SA of the IPv6 header is the first IPv6 address, the first IPv6 address is used to identify the second network device, the BIER header includes a bit string bitstring, and the bitstring indicates the egress device in the BIER domain that receives the BUM message;
  • a sending module configured to send the BIERv6 message to the first network device according to the bitstring, where the first network device is an egress device of the BIER domain.
  • the processing module is further configured to: determine the bitstring according to whether the Internet Group Management Protocol/Multicast Listener Discovery and IGMP/MLD Snooping is enabled.
  • the second network device does not enable IGMP/MLD Snooping
  • the processing module is specifically configured to: determine a first type of BUM member, the first type of BUM member.
  • the BUM members include all egress devices of the BIER domain; the bitstring is determined according to the bit forwarding router identification BFR ID of each device in the first type of BUM members.
  • the second network device enables IGMP/MLD Snooping
  • the processing module is specifically configured to: determine a first-type BUM member, and the first-type BUM
  • the members include all export devices in the BIER domain; the first bitstring is determined according to the BFR ID of each device in the first type of BUM member, and the first bitstring indicates that broadcast and unknown unicast B and U are received in the BIER domain.
  • the egress device of the type message determine the second type of BUM members, the second type of BUM members include the egress device in the BIER domain that receives the multicast M-type message, and the egress device is not enabled with IGMP/MLD Snooping, Or enable IGMP/MLD Snooping and send multicast information to the second network device; determine a second bitstring according to the BFR ID of each device in the second type of BUM member, and the second bitstring indicates the reception in the BIER domain
  • the egress device of the multicast M-type message determine the second type of BUM members, the second type of BUM members include the egress device in the BIER domain that receives the multicast M-type message, and the egress device is not enabled with IGMP/MLD Snooping, Or enable IGMP/MLD Snooping and send multicast information to the second network device; determine a second bitstring according to the BFR ID of each device in the second type of BUM member, and the second bitstring indicates the reception in
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify on the second network device the BUM packet to which the BUM packet belongs. EVPN instance.
  • the first IPv6 address further includes a second identifier, and the second identifier is allocated by the first network device for the first Ethernet segment ES identifier, the first ES is a dual-homing ES of the first network device and the second network device.
  • a first network device in a seventh aspect, has a function of implementing the behavior of the first network device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the first network device includes a processor and an interface, and the processor is configured to support the first network device to perform the corresponding functions in the above method.
  • the first network device may also include a memory for coupling with the processor and storing necessary program instructions and data for the first network device.
  • the first network device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the first network device is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor executes the first aspect or any possible implementation manner of the first aspect or the second aspect or the second aspect method in any possible implementation of .
  • a first network device in an eighth aspect, includes: a main control board and an interface board, and further, may also include a switching network board.
  • the first network device is configured to execute the first aspect or any possible implementation manner of the first aspect or the method in the second aspect or any possible implementation manner of the second aspect.
  • the first network device includes a module for executing the first aspect or any possible implementation manner of the first aspect or the second aspect or the method in any possible implementation manner of the second aspect.
  • a first network device in a ninth aspect, includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the eighth aspect, and further, may also perform the function of the switching network board in the eighth aspect.
  • the control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory and a bus. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the fourth aspect.
  • the first network device may include any number of interfaces, processors or memories.
  • a second network device has a function of implementing the behavior of the second network device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the second network device includes a processor and an interface, and the processor is configured to support the second network device to perform the corresponding functions in the above method.
  • the second network device may also include a memory for coupling with the processor that stores necessary program instructions and data for the second network device.
  • the second network device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the second network device is guided to enter a normal operation state. After the second network device enters the normal operating state, the application program and the operating system are run in the random access memory, so that the processor executes the third aspect or the method in any possible implementation manner of the third aspect.
  • a second network device includes: a main control board and an interface board, and may further include a switching network board.
  • the second network device is configured to execute the method in the third aspect or any possible implementation manner of the third aspect.
  • the second network device includes a module for executing the third aspect or the method in any possible implementation manner of the third aspect.
  • a twelfth aspect provides a second network device, where the second network device includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the eleventh aspect, and further, may also perform the function of the switching network board in the eleventh aspect.
  • the control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory and a bus. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the eleventh aspect.
  • the second network device may include any number of interfaces, processors or memories.
  • a thirteenth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer program code enables the computer to execute the first aspect or any one of the first aspects. method of execution.
  • a fourteenth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer program code enables the computer to execute the second aspect or any one of the second aspects. method of execution.
  • a fifteenth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is executed on a computer, the computer program code enables the computer to execute the third aspect or any one of the third aspects. method of execution.
  • a computer-readable medium stores program codes, when the computer program codes are executed on a computer, the computer is made to execute the first aspect or any one of the first aspects. possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • a seventeenth aspect provides a computer-readable medium, the computer-readable medium stores program code, when the computer program code is executed on a computer, the computer is made to execute any one of the second aspect or the second aspect possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • a computer-readable medium stores program codes, which, when the computer program codes are run on a computer, cause the computer to execute any one of the third aspect or the third aspect. possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • a nineteenth aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the first aspect or any possible implementation of the first aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (micro controller unit, MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (PLD) ) in the form of implementation.
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a twentieth aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the second aspect or any possible implementation of the second aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (micro controller unit, MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (PLD) ) in the form of implementation.
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a twenty-first aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the third aspect or any one of the possible options of the third aspect method in the implementation.
  • the chip can be a central processing unit (CPU), a microcontroller (micro controller unit, MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (PLD) ) in the form of implementation.
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a system in a twenty-second aspect, includes the above-mentioned first network device and second network device.
  • FIG. 1 is a schematic diagram of a multicast scenario applied to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a method for processing a BIERv6 packet provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for creating a BIERv6 tunnel in an EVPN provided by an embodiment of the present application.
  • FIG. 4 is a schematic block diagram of an MSID IPv6 address provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another method for processing a BIERv6 packet provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another method for processing a BIERv6 packet provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a first network device 700 provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of another first network device 800 provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a second network device 900 provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a hardware structure of another first network device 2000 according to an embodiment of the present application.
  • FIG. 11 is a schematic diagram of a hardware structure of another first network device 2100 according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a hardware structure of another second network device 2200 according to an embodiment of the present application.
  • FIG. 13 is a schematic diagram of a hardware structure of another second network device 2300 according to an embodiment of the present application.
  • the network architecture and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
  • the evolution of the architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • references in this specification to "one embodiment” or “some embodiments” and the like mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • At least one means one or more, and “plurality” means two or more.
  • And/or which describes the relationship of the associated objects, means that there can be three relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • Multicast is an efficient way to send data at the same time by using a multicast address to multiple devices on a transmission control protocol (TCP)/Internet protocol (Internet Protocol, IP) network.
  • TCP transmission control protocol
  • IP Internet Protocol
  • the multicast source sends the multicast stream to the members of the multicast group via the links in the network, and all the members of the multicast group in the multicast group can receive the multicast stream.
  • the multicast transmission mode realizes the point-to-multipoint data connection between the multicast source and the members of the multicast group. Since the multicast stream only needs to be transmitted once on each network link, and only when the link has a branch, the multicast will be replicated.
  • the multicast transmission method improves the efficiency of data transmission and reduces the possibility of congestion in the backbone network.
  • IP multicast technology realizes efficient point-to-multipoint data transmission in an IP network, which can effectively save network bandwidth and reduce network load. Therefore, it has a wide range of applications in real-time data transmission, multimedia conferences, data copying, internet protocol television (IPTV), games and simulations.
  • IPTV internet protocol television
  • FIG. 1 is a schematic diagram of a multicast scenario applied to an embodiment of the present application.
  • the bearer network between the sender's provider edge (PE1), P1, P2, PE2, and PE3 may be an Ethernet virtual private network (EVPN).
  • EVPN Ethernet virtual private network
  • User edge (customer edge, CE1) devices and CE2 devices can access the EVPN through the internet group management protocol (IGMP).
  • IGMP internet group management protocol
  • the CE1 device is connected to the EVPN through a link.
  • the CE1 device is connected to the EVPN through a link with PE1.
  • PE1 may also be called a single-homed PE.
  • CE2 connects to the EVPN through two links.
  • CE2 connects to the EVPN through a link with PE2 and a link with PE3.
  • PE2 and PE3 can also be called dual-homed PEs.
  • the two links between CE2 and PE2 and PE3 can form an Ethernet segment (Ethernet segment, ES).
  • CE2 in FIG. 1 may also access the EVPN through multiple links, and multiple PEs in the EVPN to which CE2 is respectively connected through multiple links may also be referred to as multi-homed PEs.
  • a dual-homing PE is used as an example for description in FIG. 1 .
  • an ingress replication (IR) tunnel is introduced into the EVPN, and the IR tunnel is used to carry broadcast, unknown unicast and multicast (broadcast unknown unicast multicast, BUM) data streams in the EVPN, and Replicates BUM packets at the headend (eg, the PE device of the EVPN ingress) to all virtual extensible local area network tunnel endpoints (virtual extensible local area network) belonging to the same virtual extensible local area network identifier (VNI). tunnel endpoints, VTEP).
  • VNI virtual extensible local area network identifier
  • an embodiment of the present application proposes a method for processing a BIERv6 message, and an explicit replication (bit index explicit replication over internet protocol version 6, BIERv6) tunnel based on the bit index of the Internet Protocol version 6 is introduced into the EVPN,
  • the BIERv6 tunnel is used to carry BUM packets in the EVPN.
  • BUM packets can be replicated on demand based on the bit string in the BIER header, which reduces the waste of public network link bandwidth and improves the replication efficiency of BUM packets.
  • BIERv6 is a combination of BIER technology and internet protocol version 6.
  • a router that supports BIER technology is called a Bit-forwarding router (BFR).
  • BFR Bit-forwarding router
  • BFIR bit forwarding ingress router
  • BFER bit forwarding egress router
  • a multicast forwarding domain composed of the above one or more BFIRs, one or more BFRs, and one or more BFERs is called a BIER domain (BIER domain).
  • BIER domain A multicast forwarding domain composed of the above one or more BFIRs, one or more BFRs, and one or more BFERs.
  • BIER domain BIER domain
  • BFIR is located at the entrance of the BIER domain
  • BFR is located in the middle of the BIER domain
  • BFER is located at the exit of the BIER domain.
  • BFIR and BFER in the BIER domain can also be referred to as edge BFRs in the BIER domain.
  • a BIERv6 tunnel for carrying BUM packets is introduced into the EVPN.
  • PE1, P1, P2, PE2 and PE3 can form a BIER domain.
  • PE1 may be the above-mentioned BFIR, responsible for performing BIER encapsulation on the BUM message obtained from CE1 to form a BIERv6 message.
  • P1 and P2 can be the above-mentioned BFRs, which are responsible for forwarding BIERv6 packets.
  • PE2 and PE3 may be the above-mentioned BFERs, and are responsible for decapsulating BIERv6 packets to obtain BUM packets, and sending the BUM packets to CE2.
  • BUM packets sent by CE2 will be load-balanced to PE2 or PE3.
  • PE2 as the BFIR above, is responsible for processing the BUM packets obtained from CE2.
  • BIER encapsulation is performed to form a BIERv6 message.
  • P1 and P2 can be the above-mentioned BFRs, which are responsible for forwarding BIERv6 packets.
  • PE1 and PE3 may be the above-mentioned BFERs, and are responsible for decapsulating BIERv6 packets to obtain BUM packets.
  • a globally unique bit position (bit position) identifier in the entire BIER sub-domain may be configured for the above-mentioned edge BFR.
  • a value is configured for each edge BFR as a BFR identifier (BFR identifier, BFRID).
  • a bit value of 1 indicates that the BIERv6 message is to be sent to the BFER represented by the BFRID
  • a bit value of 0 indicates that the BIERv6 message does not need to be sent to the BFER represented by the BFRID.
  • FIG. 2 is a schematic flowchart of a method for processing a BIERv6 packet provided by an embodiment of the present application. As shown in FIG. 2, the method may include steps 210-230, and the steps 210-230 will be described in detail below respectively.
  • Step 210 The first network device receives the BIERv6 packet sent by the second network device, where the BIERv6 packet includes an IPv6 header and a BUM packet, and the source address SA of the IPv6 header is the first IPv6 address.
  • the first network device is an egress device of the BIER domain
  • the second network device is an ingress device of the BIER domain.
  • the BIERv6 packet received by the first network device may include an IPv6 header and a BUM packet, wherein the source address SA of the IPv6 header is the first IPv6 address, and the first IPv6 address is used to identify the second network device. It should be understood that there are various implementations of the first IPv6 address.
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify the EVPN instance to which the BUM packet belongs on the second network device. the first EVPN instance.
  • the first IPv6 address includes a first identifier and a second identifier
  • the second identifier is an identifier allocated by the first network device to the first Ethernet segment ES
  • the first ES is the first network The dual-homing ES of the device and the second network device.
  • a BUM data stream may include a plurality of the foregoing BUM packets.
  • the first IPv6 address may be an existing IPv6 address, and which bits in the IPv6 address are divided into Describe the first identification.
  • the first IPv6 address may be a newly constructed IPv6 address, and which bits in the IPv6 address are designated as the first identifier.
  • Step 220 The first network device determines, according to the first IPv6 address, the first EVPN instance to which the BUM packet belongs.
  • the first network device may determine the first EVPN instance according to the prefix of the first IPv6 address, the first identifier and the first correspondence.
  • the first correspondence is the correspondence between the prefix of the first IPv6 address, the first identifier and the first EVPN instance.
  • the method further includes: the first network device receives the first EVPN route sent by the second network device, the first network device The prefix of the first IPv6 address and the first identifier are carried in the EVPN route; the first network device establishes the first correspondence according to the first EVPN route.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET
  • the prefix of the first IPv6 address and the first identifier are carried in the multicast service identifier MSID attribute field or prefix segment identifier of the IMET route. prefix SID attribute field.
  • the first network device may determine the first identifier according to the first IPv6 address, and determine the first identifier according to the first IPv6 address prefix, the first An identifier and a first correspondence determine the first EVPN instance.
  • the first network device may further determine the first interface according to the prefix of the first IPv6 address, the second identifier, and a second correspondence, and the second correspondence is the first IPv6 The correspondence between the prefix of the address, the second identifier, and the first interface, where the first interface is an interface corresponding to the first ES on the first network device.
  • the method further includes: the first network device receives the second EVPN route sent by the second network device, the second network device The EVPN route carries the second identifier; the first network device establishes the second correspondence according to the second identifier, the prefix of the first IPv6 address, and the first interface.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • Step 230 The first network device forwards the BUM packet according to the first EVPN instance.
  • the first network device may decapsulate the BIERv6 message to obtain a BUM message, and send the message to the connected user side corresponding to the first EVPN instance. interface to send the BUM packet.
  • the first network device determines the first EVPN instance and the first interface that needs to be pruned, it can delete all the interfaces corresponding to the first EVPN instance.
  • the other interface of the first interface forwards the BUM packet.
  • a BIERv6-based tunnel is introduced into the EVPN, and the BIERv6 tunnel is used to carry BUM packets in the EVPN.
  • BUM packets can be replicated on demand based on the bit string in the BIER header, which reduces the waste of public network link bandwidth and improves the replication efficiency of BUM packets.
  • FIG. 3 Taking the multicast scenario shown in FIG. 1 as an example, and in conjunction with FIG. 3 , a specific implementation manner of creating a BIERv6 tunnel in the EVPN will be described in detail below. It should be understood that the example in FIG. 3 is only for helping those skilled in the art to understand the embodiments of the present application, rather than limiting the embodiments of the present application to specific numerical values or specific scenarios exemplified. According to the example of FIG. 3 given below, those skilled in the art can obviously make various equivalent modifications or changes, and such modifications and changes also fall within the scope of the embodiments of the present application.
  • FIG. 3 is a schematic flowchart of a method for creating a BIERv6 tunnel in an EVPN provided by an embodiment of the present application. As shown in FIG. 3, the method may include steps 310-360, and the steps 310-360 will be described in detail below respectively.
  • Step 310 PE1 sends EVPN Type-3 routes to PE2 and PE3 respectively.
  • PE1 may send EVPN Type-3 routes to PE2 and PE3 respectively, and EVPN Type-3 routes may also be referred to as inclusive multicast Ethernet tag (IMET) routes.
  • the EVPN Type-3 route may carry a BIERv6 tunnel identifier related attribute and a multicast service identifier (multicast service identifier, MSID) attribute, and the two attributes are described in detail below.
  • the BIERv6 tunnel identifier related attributes can carry related information about the BIERv6 tunnel that carries the EVPN BUM message.
  • the relevant information of the BIERv6 tunnel may include, but is not limited to, the BIER sub-domain to which the PE device in the BIERv6 tunnel belongs, the BFR ID allocated to the PE, and the like.
  • the BIER sub-domain to which PE1, PE2, and PE3 belong is sub-domain 0, the BFR ID assigned to PE1 is 1, the BFR ID assigned to PE2 is 2, and the BFR ID assigned to PE3 is 3.
  • the MSID attribute is used in EVPN to identify the EVPN forwarding instance.
  • This attribute needs to contain at least one IPv6 address (for example, the first IPv6 address above, which may also be referred to as the MSID IPv6 address).
  • the MSID IPv6 address may include the following three fields: Prefix field, MSID field (corresponding to the first identifier above), and Arg. field (corresponding to the second identifier above).
  • the MSID attribute may further include a prefix length (Prefix length) field and an MSID length (MSID length) field.
  • the Prefix length field is used to indicate the prefix length of the above-mentioned MSID IPv6 address
  • the MSID length is used to indicate which bits in the above-mentioned MSID IPv6 address are used to identify the EVPN instance.
  • the MSID attribute may further include the originating router ID of the Type-3 route (also referred to as the EVPN Originator IP).
  • the EVPN Originator IP is the Originator IP of PE1.
  • the Originator IP of PE1 is 1::1
  • the corresponding EVPN forwarding instance of PE1 is evpn_inst1
  • the assigned MSIDIPv6 address is 11::1:
  • the Prefix Length is 64 bits
  • the MSID Length is 32 bits.
  • the Originator IP carried in the EVPN Type-3 route sent by PE1 to PE2 and PE3 is 1::1
  • the MSIDIPv6 address is 11::1:
  • the Prefix Length is 64 bits
  • the MSID Length is 32 bits.
  • Step 320 PE2 sends the EVPN Type-1 route and the EVPN Type-3 route to PE1 and PE3 respectively.
  • PE2 may send EVPN Type-1 routes and EVPN Type-3 routes to PE1 and PE3, respectively.
  • EVPN Type-1 routes can also be called ES AD routes.
  • the information carried in the EVPN Type-1 route and the EVPN Type-3 route are described in detail below.
  • Carrying the BIERv6 tunnel identification related attributes and MSID attributes please refer to the description in step 310 for specific description, which will not be repeated here.
  • the BIER sub-domain to which PE2 belongs is sub-domain 0
  • the BFR ID assigned to PE2 is 2
  • the Originator IP of PE2 is 2::2
  • the EVPN forwarding instance corresponding to PE2 is evpn_inst1
  • the assigned MSIDIPv6 address is 22 ::1:, where the Prefix Length is 64bits and the MSID Length is 32bits.
  • PE2 also sends an EVPN Type-1 route to other PEs.
  • the EVPN Type-1 route carries the Arg.FE2 PrefixSID attribute.
  • the EVPN Type-1 route carries the PrefixSID attribute, which is used to identify the Arg.FE2 SID of the ES to which the route belongs.
  • the ESI value of the dual-homed Ethernet segment of PE2 and PE3 is "0022.1002.1002.1002.1001”
  • the Arg.FE2 SID allocated by PE2 to the ES is ::1
  • the Arg.FE2 SID allocated by PE3 to the ES is also ::1.
  • the EVPN Type-1 route sent by PE2 to PE1 and PE3 carries the ESI value "0022.1002.1002.1002.1001”
  • the Arg.FE2 SID is ::1, and the next hop of the route is 3::3.
  • Step 330 PE3 sends the EVPN Type-1 route and the EVPN Type-3 route to PE1 and PE2 respectively.
  • PE3 may send EVPN Type-1 routes and EVPN Type-3 routes to PE1 and PE2, respectively.
  • the information carried in the EVPN Type-1 route and the EVPN Type-3 route are described in detail below.
  • BIERv6 tunnel identification related attributes and MSID attributes please refer to the description in step 310 for specific description, which will not be repeated here.
  • the BIER sub-domain to which PE3 belongs is sub-domain 0
  • the BFR ID assigned to PE3 is 3
  • the Originator IP of PE3 is 3::3
  • the EVPN forwarding instance corresponding to PE3 is evpn_inst1
  • the assigned MSIDIPv6 address is 33 ::1:, where the Prefix Length is 64bits and the MSID Length is 32bits.
  • each route carries a PrefixSID attribute to identify the Arg.FE2 SID of the ES to which the route belongs.
  • the ESI value of the dual-homed Ethernet segment of PE2 and PE3 is "0022.1002.1002.1002.1001”
  • the Arg.FE2 SID assigned by PE3 to the ES is ::1.
  • the EVPN Type-1 route sent by PE3 to PE1 and PE2 carries the ESI value of "0022.1002.1002.1002.1001”
  • the SID of Arg.FE2 is ::1, and the next hop of the route is 3::3.
  • Step 340 PE1 generates a corresponding relationship according to the received routing information, and determines the bit string that needs to be encapsulated when the BIERv6 message is forwarded.
  • PE1 will receive Type-3 routes sent by other PE devices (for example, PE2 and PE3), and these Type-3 routes will carry the BIERv6 tunnel identification attribute and the MSID attribute.
  • PE1 will also generate the correspondence between the IPv6 MSID address and the local EVPN instance according to the MSID attribute, so as to guide the BIERv6BUM packets received on the public network interface to the corresponding local EVPN forwarding instance for forwarding; on the other hand, PE1 calculates the bit string that needs to be encapsulated when BIERv6 packets are forwarded according to the BIERv6 tunnel identifier attribute.
  • PE1 generates the correspondence between the IPv6 MSID address and the local EVPN instance based on the Type-3 routes sent by other PE devices (for example, PE2 and PE3).
  • the EVPN forwarding instance corresponding to PE1 is evpn_inst1.
  • the MSIDIPv6 address in the EVPN Type-3 route received by PE1 from PE2 is 22::1:
  • the MSIDIPv6 address in the EVPN Type-3 route received by PE3 is 33::1:.
  • the correspondence between the IPv6 MSID address generated on PE1 and the local EVPN instance is: 22::1: ⁇ evpn_inst1; 33::1: ⁇ evpn_inst1.
  • PE1 generates the correspondence between the Originator IP and the MSIDPrefix based on the Type-3 routes sent by other PE devices (for example, PE2 and PE3).
  • PE1 can obtain the prefix of the MSID IPv6 address (also called MSID Prefix) based on the Prefix Length carried in the Type-3 route, and generate the correspondence between the MSID Prefix and the EVPN Originator IP.
  • MSID IPv6 address also called MSID Prefix
  • the MSIDIPv6 address is 22::1:
  • the Prefix Length is 64
  • the Originator IP is 2::2.
  • the MSID IPv6 address in the EVPN Type-3 route sent by PE1 to PE3 is 33::1:
  • the Prefix Length is 64
  • the Originator IP is 3::3.
  • PE1 determines the bit string that needs to be encapsulated when BIERv6 packets are forwarded.
  • PE1 can calculate the bit string that needs to be encapsulated when BIERv6 packets are forwarded based on the sub-domain and BFR ID in the Type-3 route sent by PE devices (for example, PE2 and EVPN-PE3).
  • PE1 can calculate the bit string that needs to be encapsulated according to whether IGMP/multicast listener discovery (multicast listener discovery, MLD) Snooping is enabled on the EVPN PE. It should be understood that whether the PE enables IGMP/MLDSnooping can be determined according to the Type-3 route sent by the PE. The method for determining the bit string in different situations is described in detail below.
  • PE1 does not enable IGMP/MLD Snooping.
  • PE1 can directly calculate the bit string based on the BFR IDs of remote BUM members (for example, PE2 and PE3, generated by Type-3 routes sent by PE2 and PE3). For example, if the BFR ID of PE2 is 2 and the BFR ID of PE3 is 3, the bit string of the generated BUM copy is 0110.
  • PE1 enables IGMP/MLD Snooping
  • PE2 and PE3 partially enable (or fully enable) IGMP/MLD Snooping.
  • PE1 does not receive multicast (S, G) or (*, G) Type-6 routes from other PEs (PE2 and PE3), nor does it Snooping to the corresponding (S, G) or ( *, G) IGMP/MLD Report.
  • PE1 can generate the BUM member according to the above method, and calculate the bit string (for example, the bit string is 0110).
  • this bit string is only used to instruct PE1 to forward two types of traffic: broadcast (broadcast) and unknown unicast (Unkown unicast).
  • PE1 For another example, for PE1 to forward multicast traffic, after PE1 receives the multicast stream (S, G) from the AC port, it will determine the route based on Type-3 sent by other PEs (PE2 and PE3). Which remote devices do not have IGMP/MLD Snooping enabled, and select the remote PE device that does not have IGMP/MLD Snooping enabled or the BFR-id of the remote PE that is enabled with IGMP/MLD Snooping and has sent Type-6 routes to participate in the calculation bit string.
  • PE2 receives the multicast stream (S1, G1) from the AC port. Since IGMP/MLD Snooping is enabled on PE3, PE3 has not sent the Type-6 route of (S1, G1) or (*, G1), indicating that PE3 does not Need to receive (S1, G1) traffic, only PE2 needs to receive (S1, G1) traffic.
  • the bit string calculated by PE1 is 0010, which is used to guide PE1 to forward multicast (S1, G1) traffic.
  • PE2 does not have IGMP/MLD Snooping enabled, but PE3 has IGMP/MLD Snooping enabled and has sent (S1, G1) or (*, G1) Type-6 routes.
  • PE1 receives the multicast stream (S1, G1) from the AC port.
  • PE3 Since PE3 has IGMP/MLD Snooping enabled and has sent (S1, G1) or (*, G1) Type-6 routes, it means that PE3 needs to receive (S1) , G1) traffic, therefore, both the BFR ID of PE2 and the BFR ID of PE3 need to participate in the bit string calculation.
  • the bit string calculated by PE1 is 0110, which is used to instruct PE1 to forward multicast (S1, G1) traffic.
  • Step 350 PE2 generates a corresponding relationship according to the received routing information, and determines the bit string that needs to be encapsulated when the BIERv6 message is forwarded.
  • PE2 will receive Type-3 routes and Type-1 routes sent by other PE devices (for example, PE1 and PE3), and perform the following processing:
  • PE2 generates the correspondence between the IPv6 MSID address and the local EVPN instance based on the Type-3 routes sent by other PE devices (for example, PE1 and PE3).
  • the EVPN forwarding instance corresponding to PE2 is evpn_inst1.
  • the MSIDIPv6 address in the EVPN Type-3 route received by PE2 from PE1 is 11::1:
  • the MSIDIPv6 address in the EVPN Type-3 route received by PE3 is 33::1:.
  • the correspondence between the IPv6 MSID address generated on PE2 and the local EVPN instance is: 11::1: ⁇ evpn_inst1; 33::1: ⁇ evpn_inst1.
  • PE2 generates the correspondence between the Originator IP and the MSIDPrefix based on the Type-3 routes sent by other PEs (for example, PE1 and PE3).
  • PE2 can obtain the prefix of the MSID IPv6 address (also called MSID Prefix) based on the Prefix Length carried in the Type-3 route, and generate the correspondence between the MSID Prefix and the EVPN Originator IP.
  • MSID IPv6 address also called MSID Prefix
  • the MSIDIPv6 address is 11::1:, the Prefix Length is 64, and the Originator IP is 1::1.
  • the MSIDIPv6 address is 33::1:, the Prefix Length is 64, and the Originator IP is 3::3.
  • PE2 generates a pruning relationship table of split horizon AC ports based on Type-1 routes.
  • PE2 determines whether the same ES exists locally based on the ES in the Type-1 route. If the same ES exists and the corresponding AC-side interface exists, PE2 obtains the Arg.FE2 SID from the Prefix SID attribute of the Type-1 route, and based on the Type-1 route The originator IP of the originating router of the -1 route looks up the MSID Prefix of the originating router, and uses "MSID Prefix+Arg.FE2 SID" as the index to generate the mapping relationship of "MSID Prefix+Arg.FE2 SID ⁇ AC interface". The mapping relationship is used for pruning the AC port of the same ES during horizontal split.
  • PE2 determines the corresponding The MSID Prefix is 33::, and PE2 can also obtain the Arg.FE2 SID of ::1 based on the Type-1 route sent from PE3.
  • the mapping relationship generated by PE2 with MSID Prefix+Arg.FE2 SID as the index is "33::1(MSID Prefix+Arg.FE2 SID) ⁇ Interface_Pe2toCe".
  • MSID Prefix+Arg.FE2 SID is equivalent to setting the MSID part in the MSID IPv6 address to 0 with respect to the MSID IPv6 address (MSID Prefix+MSID+Arg.FE2 SID).
  • PE2 determines the bit string that needs to be encapsulated when forwarding BIERv6 packets based on the Type-3 routes sent by other PE devices (for example, PE1 and PE3).
  • Step 360 PE3 generates a corresponding relationship according to the received routing information, and determines the bit string that needs to be encapsulated when the BIERv6 message is forwarded.
  • PE3 will receive Type-3 routes and Type-1 routes sent by other PEs (for example, PE1 and PE2), and perform the following processing:
  • PE3 generates the correspondence between the IPv6 MSID address and the local EVPN instance based on the Type-3 routes sent by other PEs (for example, PE1 and PE2).
  • the EVPN forwarding instance corresponding to PE3 is evpn_inst1.
  • the MSIDIPv6 address in the EVPN Type-3 route sent by PE1 is 11::1:
  • the MSIDIPv6 address in the EVPN Type-3 route sent by PE2 is 22::1:.
  • the correspondence between the IPv6 MSID address generated on PE3 and the local EVPN instance is: 11::1: ⁇ evpn_inst1; 22::1: ⁇ evpn_inst1.
  • PE3 generates the correspondence between the Originator IP and the MSIDPrefix based on the Type-3 routes sent by other PE devices (for example, PE1 and PE2).
  • PE3 can obtain the prefix of the MSID IPv6 address (also called MSID Prefix) based on the Prefix Length carried in the Type-3 route, and generate the correspondence between the MSID Prefix and the EVPN Originator IP.
  • MSID IPv6 address also called MSID Prefix
  • the MSIDIPv6 address is 11::1:, the Prefix Length is 64, and the Originator IP is 1::1.
  • the MSIDIPv6 address is 22::1:, the Prefix Length is 64, and the Originator IP is 2::2.
  • PE3 generates a pruning relationship table of split horizon AC ports based on Type-1 routes.
  • PE3 determines whether the same ES exists locally based on the ES in the Type-1 route. If the same ES exists and the corresponding AC-side interface exists, PE3 obtains the Arg.FE2 SID from the Prefix SID attribute of the Type-1 route, and based on the Type-1 route The originator IP of the originating router of the -1 route looks up the MSID Prefix of the originating router, and uses "MSID Prefix+Arg.FE2 SID" as the index to generate the mapping relationship of "MSID Prefix+Arg.FE2 SID ⁇ AC interface". The mapping relationship is used for pruning the AC port of the same ES when splitting horizontally.
  • PE3 determines the corresponding The MSID Prefix is 22::, and PE3 can also obtain the Arg.FE2 SID of ::1 based on the Type-1 route sent from PE2.
  • the mapping relationship generated by PE3 with MSID Prefix+Arg.FE2 SID as the index is "22::1(MSID Prefix+Arg.FE2 SID) ⁇ Interface_Pe3toCe".
  • PE3 determines the bit string that needs to be encapsulated when BIERv6 packets are forwarded based on the Type-3 routes sent by other PE devices (for example, PE1 and PE2).
  • the following takes the single-homed PE (for example, PE1) as the ingress device of the BIER domain in the multicast scenario shown in FIG. 1 as an example, and with reference to FIG. 5 , the specific implementation of a method for processing BIERv6 packets provided by the embodiment of the present application method is described in detail. It should be understood that the example in FIG. 5 is only for helping those skilled in the art to understand the embodiments of the present application, and is not intended to limit the embodiments of the present application to specific numerical values or specific scenarios exemplified. Those skilled in the art can obviously make various equivalent modifications or changes according to the example of FIG. 5 given below, and such modifications and changes also fall within the scope of the embodiments of the present application.
  • FIG. 5 is a schematic flowchart of another method for processing a BIERv6 packet provided by an embodiment of the present application. As shown in FIG. 5, the method may include steps 510-550, and the steps 510-550 will be described in detail below respectively.
  • Step 510 PE1 receives the BUM message sent by CE1, performs BIER encapsulation on the BUM message to obtain a BIERv6 message, and sends the BIERv6 message to P1.
  • a BUM data stream may include one or more BUM packets.
  • PE1 is responsible for performing BIER encapsulation on BUM packets received from CE1 to obtain BIERv6 packets.
  • the packet format under BIERv6 encapsulation is: IPv6 header+BIER header+BUM packet.
  • the BIER header can be included in the IPv6 extension header, and the BUM message is used as the payload of the outer IPv6 header.
  • the IPv6 header and the IPv6 extension header including the BIER header together constitute the outer layer header of the inner layer original multicast message, which may also be referred to as the BIERv6 header in this embodiment of the present application.
  • This embodiment of the present application does not specifically limit the IPv6 extension header including the BIER header.
  • the IPv6 extension header may be a destination option header (destination option header, DOH), and for another example, the IPv6 extension header may also be a routing header (routing header, RH).
  • the IPv6 header may include, but is not limited to, a source address (source address, SA) field, a destination address (destination address, DA) field, and the BIER header may include a bit string field.
  • SA source address
  • DA destination address
  • the BIER header may include a bit string field.
  • the SA in the IPv6 header encapsulated by PE1 is the MSID IPv6 address, for example, the MSID IPv6 address 11::1: allocated by PE1 to the EVPN instance evpn_inst1.
  • DA in the IPv6 header is the End.BIER address of P1.
  • the bit string in the BIER header can be determined according to the method in step 340. For example, both PE2 and PE3 need to receive BUM packets, and the bit string can be 0110.
  • End.BIER address is not a common IPv6 address, but a specific IPv6 address used for processing BIERv6 packets on the device. Take P1 as an example. After the End.BIER address is configured on P1, a forwarding entry with a 128-bit mask of the address is formed in the forwarding information base (FIB), and the forwarding entry identifies the address as End.BIER.
  • FIB forwarding information base
  • P1 receives a BIERv6 message, it first searches the FIB for the destination address DA. When the result of the FIB search is an End.BIER address, it will perform End.BIER-specific actions, that is, continue to process the IPv6 extension header. BIER header.
  • the result of the FIB lookup indicates that the packet is an IPv6 packet sent to the router with a destination option extension header, then the packet may be sent to the CPU Processing, it will not achieve the purpose of data plane processing.
  • PE1 may forward the BIERv6 message to P1.
  • each edge BFR in the BIER domain may flood the allocated BFRID in the BIER domain through the interior gateway protocol (IGP) or the border gateway protocol (BGP), so as to facilitate the BIER
  • IGP interior gateway protocol
  • BGP border gateway protocol
  • BIFT bit index forwarding table
  • PE1 it can obtain the BFRID of PE2 as 2 and the BFRID of PE3 as 3 by flooding.
  • Step 520 P1 obtains the BIERv6 message, and sends the BIERv6 message to P2.
  • Step 530 P2 obtains the BIERv6 packet, and sends the BIERv6 packet to PE2 and PE3, respectively.
  • Step 540 After receiving the BIERv6 message sent by P2, PE2 decapsulates the BUM message and prevents sending the BUM message to CE2.
  • PE2 After PE2 receives the BIERv6 message sent by P2, it can determine that it is the egress device of the BIER domain according to the bit string field of the BIER header being 0010 and the established BIFT.
  • the BFRID of PE2 is 2
  • the mark * means itself
  • the egress device in the BIER domain is responsible for decapsulating BIERv6 packets to obtain BUM packets.
  • PE2 determines the EVPN instance to which the BUM packet belongs according to the SA in the IPv6 header of the BIERv6 packet and the corresponding relationship between ⁇ IPv6 MSID address ⁇ local EVPN instance>.
  • the SA in the IPv6 header of the BIERv6 packet obtained by PE2 is the MSIDIPv6 address 11::1: allocated by PE1 to the EVPN instance evpn_inst1, and PE2 generates the corresponding relationship ⁇ 11::1: ⁇ evpn_inst1 according to 11::1: and PE2 > Make sure that the EVPN instance to which the BUM packet belongs is evpn_inst1.
  • PE2 determines whether to send the BUM packet on the corresponding AC link according to its active and standby roles in the dual-homing link. For example, assume that PE2 is the standby device, PE3 is the active device, and PE2 is the standby device that is blocked when sending BUM packets to the evpn_inst1 instance through the corresponding Interface_Pe2ToCe2 interface.
  • Step 550 After receiving the BIERv6 message sent by P2, PE3 decapsulates the BUM message to obtain the BUM message, and sends the BUM message to CE2.
  • PE3 determines the EVPN instance to which the BUM packet belongs according to the SA in the IPv6 header of the BIERv6 packet and the corresponding relationship between ⁇ IPv6 MSID address ⁇ local EVPN instance>.
  • the SA in the IPv6 header of the BIERv6 packet obtained by PE3 is the MSIDIPv6 address 11::1: assigned by PE1 to the EVPN instance evpn_inst1, and PE3 generates the corresponding relationship according to 11::1: and PE2 ⁇ 11::1: ⁇ evpn_inst1 > Make sure that the EVPN instance to which the BUM packet belongs is evpn_inst1.
  • PE3 determines whether to send the BUM packet on the corresponding AC link according to its active and standby roles in the dual-homing link. For example, assuming that PE2 is the standby device, PE3 is the master device, and PE3 is the master device, it is released when it sends a BUM packet to the evpn_inst1 instance through the corresponding Interface_Pe3ToCe2 interface. That is, PE3 sends the BUM packet to CE2 belonging to the evpn_inst1 instance through the Interface_Pe3ToCe2 interface.
  • the following takes the dual-homing PE (for example, PE2 or PE3) as the ingress device of the BIER domain in the multicast scenario shown in FIG. 1 as an example, and with reference to FIG. 6 , a method for processing BIERv6 packets provided by the embodiment of the present application
  • PE dual-homing PE
  • FIG. 6 is only for helping those skilled in the art to understand the embodiments of the present application, and is not intended to limit the embodiments of the present application to specific numerical values or specific scenarios exemplified.
  • Those skilled in the art can obviously make various equivalent modifications or changes according to the example of FIG. 6 given below, and such modifications and changes also fall within the scope of the embodiments of the present application.
  • FIG. 6 is a schematic flowchart of another method for processing a BIERv6 packet provided by an embodiment of the present application. As shown in FIG. 6, the method may include steps 610-650, and the steps 610-650 will be described in detail below respectively.
  • Step 610 PE2 receives the BUM message sent by CE2, performs BIER encapsulation on the BUM message to obtain a BIERv6 message, and sends the BIERv6 message to P2 and PE3 respectively.
  • the BUM packets sent by CE2 will be load-balanced to PE2 or PE3. Now take CE2 load-sharing of BUM packets to PE2 as an example.
  • PE2 receives the BUM packets sent by CE2. After that, it is responsible for BIER encapsulation of BUM packets to obtain BIERv6 packets.
  • the SA in the IPv6 header is the MSID IPv6 address allocated by PE2 for evpn_inst1 + the Arg.FE2 SID allocated by PE2 for ES1.
  • the MSIDIPv6 address assigned by PE2 to evpn_inst1 is 22::1:
  • the Arg.FE2 SID assigned by PE2 to ES1 is ::1
  • the SA in the IPv6 header is 22::1:1.
  • DA in the IPv6 header is the End.BIER address of P2.
  • the bit string in the BIER header can be determined according to the method in step 340. Assuming that both PE1 and PE3 need to receive BUM packets, the bit string can be 0101.
  • PE2 may forward the BIERv6 message to P2.
  • the above BIFT is used for Instruct PE2 to send the BIERv6 packet to P2. Therefore, PE2 can send the BIERv6 message to P2 according to the above BIFT.
  • Step 620 P2 obtains the BIERv6 message, and sends the BIERv6 message to PE3 and P1 respectively.
  • Step 630 P1 obtains the BIERv6 message, and sends the BIERv6 message to PE1.
  • P1 After receiving the BIERv6 packet sent by P2, P1 can send the BIERv6 packet to PE1 according to BIFT.
  • Step 640 After receiving the BIERv6 message sent by P1, PE1 decapsulates the BUM message and sends the BUM message to CE1.
  • Step 650 After receiving the BIERv6 message sent by P2, PE3 decapsulates the BUM message.
  • PE3 After PE3 obtains the above BUM message, since the SA of the BIERv6 message is the MSIDIPv6 address allocated by PE2 for evpn_inst1 + the Arg.FE2 SID allocated by PE2 for ES1, PE3 based on the MSID Length in the Type-3 route sent by PE2, converts the MSID IPv6 The MSID part of the address is set to 0, and the MSID Prefix+Arg.FE2 SID is obtained. Then, based on the corresponding relationship between the "MSID Prefix+Arg.FE2 SID" established by PE3 in Figure 3 and the AC interface, determine the AC interface that needs to be pruned, and send the BUM packet to other local except the AC interface that needs to be pruned. Broadcast in the AC port.
  • the SA of a BIERv6 packet is 22::1:1, the MSID Length is 32, and the MSID part of the MSID IPv6 address is set to 0, and the obtained MSID Prefix+Arg.FE2 SID is 22::1.
  • PE3 determines that the BUM packet needs to be imported into the evpn_inst1 instance on PE3, and the interface Interface_Pe3ToCe2 is pruned. PE3 will send the BUM packet on other local AC ports except the Interface_Pe3toCe interface.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
  • FIG. 7 is a schematic structural diagram of a first network device 700 provided by an embodiment of the present application.
  • the first network device 700 shown in FIG. 7 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 700 includes: a receiving module 710, a processing module 720, a sending module 730,
  • a receiving module 710 configured to receive a BIERv6 message sent by a second network device, where the BIERv6 message includes an Internet Protocol Version 6 IPv6 header and a broadcast, unknown unicast and multicast BUM message, and the source address of the IPv6 header SA is the first IPv6 address, the first IPv6 address is used to identify the second network device, the first network device is the egress device of the BIER domain, and the second network device is the ingress device of the BIER domain ;
  • a processing module 720 configured to determine the first EVPN instance to which the BUM packet belongs according to the first IPv6 address
  • a sending module 730 configured to forward the BUM packet according to the first EVPN instance.
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify on the second network device that the EVPN instance to which the BUM packet belongs is the first EVPN instance.
  • the processing module 720 is specifically configured to: determine the first EVPN instance according to the prefix of the first IPv6 address, the first identifier, and a first correspondence, where the first correspondence is the The correspondence between the prefix of the first IPv6 address, the first identifier, and the first EVPN instance.
  • the receiving module 710 is further configured to: receive a first EVPN route sent by the second network device, where the first EVPN route carries the prefix of the first IPv6 address and the first identifier;
  • the processing module 620 is further configured to: establish the first correspondence according to the first EVPN route.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the multicast service identifier MSID attribute field or prefix of the IMET route.
  • the segment identifier is in the prefix SID attribute field.
  • the first IPv6 address further includes a second identifier, where the second identifier is an identifier allocated by the first network device for the first Ethernet segment ES, and the first ES is the first The dual-homing ES of the network device and the second network device.
  • the processing module 720 is further configured to: determine a first interface according to the prefix of the first IPv6 address, the second identifier and a second correspondence, and the second correspondence is the first IPv6 The correspondence between the prefix of the address, the second identifier and the first interface, where the first interface is the interface corresponding to the first ES on the first network device; the sending module 730 specifically It is used for: forwarding the BUM packet to other interfaces except the first interface among the interfaces corresponding to the first EVPN instance.
  • the receiving module 710 is further configured to: receive a second EVPN route sent by the second network device, where the second EVPN route carries the second identifier; the processing module 720 is further configured to: according to the The second identification, the prefix of the first IPv6 address, and the first interface establish the second correspondence.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • FIG. 8 is a schematic structural diagram of another first network device 800 provided by an embodiment of the present application.
  • the first network device 800 shown in FIG. 8 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 800 includes: a receiving module 810, a processing module 820,
  • a receiving module 810 configured to receive a first EVPN route sent by a second network device, where the first EVPN route carries a prefix of a first IPv6 address and a first identifier, and the first IPv6 address is used to identify the second a network device, where the first identifier is used to identify, on the second network device, the EVPN instance to which the broadcast, unknown unicast and multicast BUM messages belong as the first EVPN instance;
  • the processing module 820 is configured to establish a first correspondence according to the first EVPN route, where the first correspondence is the prefix of the first IPv6 address, the first identifier and the first EVPN instance. Correspondence.
  • the first EVPN route is a route that includes a multicast Ethernet label IMET, and the prefix of the first IPv6 address and the first identifier are carried in the multicast service identifier MSID attribute field or prefix of the IMET route.
  • the segment identifier is in the prefix SID attribute field.
  • the receiving module 810 is further configured to: receive a BIERv6 packet sent by the second network device, where the BIERv6 packet includes an Internet Protocol Version 6 IPv6 header and the BUM packet, the IPv6 header
  • the source address SA is the first IPv6 address
  • the first network device is the egress device of the BIER domain
  • the second network device is the ingress device of the BIER domain
  • the processing module 720 is further configured to: according to The first IPv6 address determines the first EVPN instance to which the BUM packet belongs;
  • the first network device 800 further includes: a sending module 830, configured to forward the BUM packet according to the first EVPN instance.
  • the first IPv6 address includes the first identifier
  • the processing module 820 is specifically configured to: determine the first IPv6 address according to the prefix of the first IPv6 address, the first identifier, and the first correspondence.
  • An EVPN instance is specifically configured to: determine the first IPv6 address according to the prefix of the first IPv6 address, the first identifier, and the first correspondence.
  • the first IPv6 address further includes a second identifier, where the second identifier is an identifier allocated by the first network device for the first Ethernet segment ES, and the first ES is the first The dual-homing ES of the network device and the second network device.
  • the processing module 820 is further configured to: determine a first interface according to the prefix of the first IPv6 address, the second identifier and a second correspondence, and the second correspondence is the first IPv6 The correspondence between the prefix of the address, the second identifier, and the first interface, where the first interface is the interface corresponding to the first ES on the first network device; the sending module 830 specifically It is used for: forwarding the BUM packet to other interfaces except the first interface among the interfaces corresponding to the first EVPN instance.
  • the receiving module 810 is further configured to: receive a second EVPN route sent by the second network device, where the second EVPN route carries the second identifier; the processing module 820 is further configured to: according to the The second identification, the prefix of the first IPv6 address, and the first interface establish the second correspondence.
  • the second EVPN route is an Ethernet segment that automatically discovers an ESAD route
  • the second identifier is carried in the prefix SID attribute field of the ESAD route.
  • FIG. 9 is a schematic structural diagram of a second network device 900 provided by an embodiment of the present application.
  • the second network device 900 shown in FIG. 9 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 900 includes: a receiving module 910, a processing module 920, a sending module 930,
  • a receiving module 910 configured to receive broadcast, unknown unicast and multicast BUM messages, and the second network device is an entry device of the BIER domain;
  • the processing module 920 is configured to obtain a BIERv6 message according to the BUM message, where the BIERv6 message includes an Internet Protocol Version 6 IPv6 header, a BIER header and the BUM message, and the source address SA of the IPv6 header is the first an IPv6 address, where the first IPv6 address is used to identify the second network device, the BIER header includes a bit string bitstring, and the bitstring indicates the egress device in the BIER domain that receives the BUM message;
  • the sending module 930 is configured to send the BIERv6 message to the first network device according to the bitstring, where the first network device is an egress device of the BIER domain.
  • the processing module 920 is further configured to: determine the bitstring according to whether Internet Group Management Protocol/Multicast Listener Discovery IGMP/MLD Snooping is enabled.
  • the second network device is not enabled with IGMP/MLD Snooping, and the processing module 920 is specifically configured to: determine a first-type BUM member, where the first-type BUM member includes all egress devices of the BIER domain ; Determine the bitstring according to the bit forwarding router identification BFR ID of each device in the first type of BUM member.
  • the second network device is enabled with IGMP/MLD Snooping
  • the processing module 920 is specifically configured to: determine a first-type BUM member, where the first-type BUM member includes all egress devices of the BIER domain; Determine the first bitstring according to the BFR ID of each device in the BUM member of the first type, and the first bitstring indicates the egress device in the BIER domain that receives the broadcast and unknown unicast B, U two types of messages; determine the second type BUM members, the second type of BUM members include egress devices in the BIER domain that receive multicast M-type messages, the egress devices are not enabled with IGMP/MLD Snooping, or enable IGMP/MLD Snooping and send messages to the
  • the second network device has sent multicast information; the second bitstring is determined according to the BFR ID of each device in the second type of BUM member, and the second bitstring indicates the egress device in the BIER domain that receives the multicast M-type message .
  • the first IPv6 address includes a first identifier, and the first identifier is used to identify the EVPN instance to which the BUM packet belongs on the second network device.
  • the first IPv6 address further includes a second identifier, where the second identifier is an identifier allocated by the first network device for the first Ethernet segment ES, and the first ES is the first The dual-homing ES of the network device and the second network device.
  • FIG. 10 is a schematic diagram of a hardware structure of a first network device 2000 according to an embodiment of the present application.
  • the first network device 2000 shown in FIG. 10 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 2000 includes a processor 2001 , a memory 2002 , an interface 2003 and a bus 2004 .
  • the interface 2003 may be implemented in a wireless or wired manner, and may specifically be a network card.
  • the above-mentioned processor 2001 , memory 2002 and interface 2003 are connected through a bus 2004 .
  • the interface 2003 may specifically include a transmitter and a receiver, which are used by the first network device to implement the above-mentioned transceiving.
  • the processor 2001 is configured to execute the processing performed by the first network device in the foregoing embodiment.
  • the memory 2002 includes an operating system 20021 and an application program 20022 for storing programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the first network device in the method embodiment can be completed.
  • the memory 2002 may include read-only memory (ROM) and random access memory (RAM).
  • ROM read-only memory
  • RAM random access memory
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system
  • BIOS basic input/output system
  • the RAM includes an application program and an operating system.
  • the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system, and the first network device 2000 is guided into a normal operation state.
  • the application program and the operating system running in the RAM thus, the processing process involving the first network device 2000 in the method embodiment is completed.
  • FIG. 10 only shows a simplified design of the first network device 2000 .
  • the first network device may contain any number of interfaces, processors or memories.
  • FIG. 11 is a schematic diagram of a hardware structure of another first network device 2100 according to an embodiment of the present application.
  • the first network device 2100 shown in FIG. 11 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 2100 includes: a main control board 2110 , an interface board 2130 , a switching network board 2120 and an interface board 2140 .
  • the main control board 2110, the interface boards 2130 and 2140, and the switching network board 2120 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2110 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2120 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2130 and 2140 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2130 may include a central processing unit 2131 , a forwarding table entry memory 2134 , a physical interface card 2133 and a network processor 2132 .
  • the central processing unit 2131 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2134 is used to store entries.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • first network device 2100 in this embodiment may correspond to the functions and/or various steps performed by the foregoing method embodiments, and details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include the main main control board and the standby main control board.
  • the first network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the first network device in the distributed architecture are greater than those in the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • FIG. 12 is a schematic diagram of a hardware structure of a second network device 2200 according to an embodiment of the present application.
  • the second network device 2200 shown in FIG. 12 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 2200 includes a processor 2201 , a memory 2202 , an interface 2203 and a bus 2204 .
  • the interface 2203 may be implemented in a wireless or wired manner, and may specifically be a network card.
  • the above-mentioned processor 2201 , memory 2202 and interface 2203 are connected through a bus 2204 .
  • the interface 2203 may specifically include a transmitter and a receiver.
  • the processor 2201 is configured to perform the processing performed by the second network device in the foregoing embodiment.
  • the memory 2202 includes an operating system 22021 and an application program 22022 for storing programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the second network device in the method embodiment can be completed.
  • the memory 2202 may include read-only memory (ROM) and random access memory (RAM).
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system
  • the RAM includes an application program and an operating system.
  • the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system, and the second network device 2200 is guided to enter a normal operation state.
  • the application program and the operating system running in the RAM thus, the processing process involving the second network device 2200 in the method embodiment is completed.
  • FIG. 12 only shows a simplified design of the second network device 2200 .
  • the second network device may contain any number of interfaces, processors or memories.
  • FIG. 13 is a schematic diagram of a hardware structure of another second network device 2300 according to an embodiment of the present application.
  • the second network device 2300 shown in FIG. 13 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 2300 includes: a main control board 2310 , an interface board 2330 , a switching network board 2320 and an interface board 2340 .
  • the main control board 2310, the interface boards 2330 and 2340, and the switching network board 2320 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2310 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2320 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2330 and 2340 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2330 may include a central processing unit 2331 , a forwarding table entry memory 2334 , a physical interface card 2333 and a network processor 2332 .
  • the central processing unit 2331 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2334 is used to store entries.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include an active main control board and a backup main control board.
  • the second network device may not need a switching network board, and the interface board undertakes the processing function of the service data of the entire system.
  • the second network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the second network device in the distributed architecture are greater than those in the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer executes the method performed by the first network device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer executes the method performed by the second network device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • An embodiment of the present application further provides a chip system, which is applied to the first network device, the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for information between the chip system and the outside world interaction, the at least one memory, the interface circuit and the at least one processor are interconnected by a wire, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the above aspects The operation of the first network device in the method.
  • the chip can be a central processing unit (CPU), a microcontroller (micro controller unit, MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (PLD) ) in the form of implementation.
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • An embodiment of the present application further provides a chip system, which is applied to a second network device.
  • the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for information between the chip system and the outside world interaction, the at least one memory, the interface circuit and the at least one processor are interconnected by a wire, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the above aspects The operation of the second network device in the method.
  • the chip can be a central processing unit (CPU), a microcontroller (micro controller unit, MCU), a microprocessor (micro processing unit, MPU), a digital signal processor (digital signal processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (PLD) ) in the form of implementation.
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • Embodiments of the present application further provide a computer program product, which is applied to a first network device, where the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects. Operation of the first network device.
  • Embodiments of the present application further provide a computer program product, which is applied to a second network device, where the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects. Operation of the second network device.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种BIERv6报文的处理方法,该方法应用于EVPN中,该方法包括:第一网络设备接收第二网络设备发送的BIERv6报文,BIERv6报文包括IPv6头和BUM报文,IPv6头的源地址SA为第一IPv6地址,第一IPv6地址用于标识第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;第一网络设备根据第一IPv6地址确定BUM报文所属的第一EVPN实例;第一网络设备根据第一EVPN实例转发BUM报文。上述技术方案可以降低对于公网链路带宽的浪费,提高BUM报文的复制效率。

Description

一种BIERv6报文的处理方法、设备以及系统
本申请要求于2021年03月29日提交中国专利局、申请号为202110332339.1、申请名称为“一种BIERv6报文的处理方法、设备以及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种BIERv6报文的处理方法、第一网络设备、第二网络设备以及系统。
背景技术
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。
相关的技术方案中,在以太虚拟专用网(Ethernet virtual private network,EVPN)中引入头端复制(ingress replication,IR)隧道,该IR隧道用于承载EVPN中的广播、未知单播和组播(broadcast unknown unicast multicast,BUM)数据流。并在头端(例如,EVPN的入口设备)将BUM报文复制给属于同一个虚拟扩展局域网标识符(virtual extensible local area network identifier,VNI)中的所有虚拟扩展局域网隧道端点(virtual extensible local area network tunnel endpoints,VTEP)。这样,当EVPN中设备的数量规模较大时,对于公网链路带宽占用较大,存在较大的带宽浪费,并且BUM报文的复制效率较低。
发明内容
本申请提供一种BIERv6报文的处理方法、设备以及系统,可以降低对于公网链路带宽的浪费,提高BUM报文的复制效率。
第一方面,提供了一种BIERv6报文的处理方法,所述方法应用于以太虚拟专用网(Ethernet virtual private network,EVPN)中,包括:第一网络设备接收第二网络设备发送的BIERv6报文,BIERv6报文包括IPv6头和BUM报文,IPv6头的源地址SA为第一IPv6地址,第一IPv6地址用于标识第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;第一网络设备根据第一IPv6地址确定BUM报文所属的第一EVPN实例;第一网络设备根据第一EVPN实例转发BUM报文。
上述技术方案中,在EVPN中引入基于互联网协议第6版的位索引的显式复制(bit index explicit replication overinternet protocol version 6,BIERv6)隧道,该BIERv6隧道用于承载EVPN中的BUM报文。BUM报文可以基于BIER头中的位串(bit string)进行按需复制,降低了对于公网链路带宽的浪费,提高了BUM报文的复制效率。
结合第一方面,在第一方面的某些实现方式中,所述第一IPv6地址包括第一标识, 所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。
结合第一方面,在第一方面的某些实现方式中,所述第一网络设备根据所述第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
结合第一方面,在第一方面的某些实现方式中,在所述第一网络设备接收第二网络设备发送的BIERv6报文之前,所述方法还包括:所述第一网络设备接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带所述第一IPv6地址的前缀和所述第一标识;所述第一网络设备根据所述第一EVPN路由建立所述第一对应关系。
结合第一方面,在第一方面的某些实现方式中,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
结合第一方面,在第一方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一网络设备根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述第一网络设备根据所述第一EVPN实例转发所述BUM报文,包括:所述第一网络设备向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
结合第一方面,在第一方面的某些实现方式中,在所述第一网络设备接收第二网络设备发送的BIERv6报文之前,所述方法还包括:所述第一网络设备接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述第一网络设备根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
结合第一方面,在第一方面的某些实现方式中,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
第二方面,提供了一种建立对应关系的方法,所述方法应用于以太虚拟专用网EVPN中,所述方法包括:
第一网络设备接收第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带第一IPv6地址的前缀和第一标识,所述第一IPv6地址用于标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识广播、未知单播和组播BUM报文所属的EVPN实例为第一EVPN实例;所述第一网络设备根据所述第一EVPN路由建立第一对应关系,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
结合第二方面,在第二方面的某些实现方式中,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述第一网络设备 接收所述第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和所述BUM报文,所述IPv6头的源地址SA为所述第一IPv6地址,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;所述第一网络设备根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例;所述第一网络设备根据所述第一EVPN实例转发所述BUM报文。
结合第二方面,在第二方面的某些实现方式中,第一IPv6地址包括所述第一标识,所述第一网络设备根据所述第一IPv6地址的前缀、所述第一标识和所述第一对应关系确定所述第一EVPN实例。
结合第二方面,在第二方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
结合第二方面,在第二方面的某些实现方式中,所述方法还包括:所述第一网络设备根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述第一网络设备根据所述第一EVPN实例转发所述BUM报文,包括:所述第一网络设备向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
结合第二方面,在第二方面的某些实现方式中,在所述第一网络设备接收所述第二网络设备发送的BIERv6报文之前,所述方法还包括:所述第一网络设备接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述第一网络设备根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
结合第二方面,在第二方面的某些实现方式中,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
第三方面,提供了一种BIERv6报文的处理方法,所述方法应用于以太虚拟专用网EVPN中,所述方法包括:第二网络设备接收广播、未知单播和组播BUM报文,所述第二网络设备为BIER域的入口设备;所述第二网络设备根据所述BUM报文获得BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头、BIER头和所述BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述BIER头中包括比特串bitstring,所述bitstring指示所述BIER域中接收所述BUM报文的出口设备;所述第二网络设备根据所述bitstring向所述第一网络设备发送所述BIERv6报文,所述第一网络设备为所述BIER域的出口设备。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:所述第二网络设备根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring。
结合第三方面,在第三方面的某些实现方式中,所述第二网络设备未使能IGMP/MLD Snooping,所述第二网络设备确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;所述第二网络设备根据所述第一类BUM成员中各个设备的位转发路由器标识BFR ID确定所述bitstring。
结合第三方面,在第三方面的某些实现方式中,所述第二网络设备使能IGMP/MLD  Snooping,所述第二网络设备确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;所述第二网络设备根据所述第一类BUM成员中各个设备的BFR ID确定第一bitstring,所述第一bitstring指示BIER域中接收广播和未知单播B,U两种类型报文的出口设备;所述第二网络设备确定第二类BUM成员,所述第二类BUM成员包括所述BIER域中接收组播M类型报文的出口设备,所述出口设备未使能IGMP/MLD Snooping,或使能IGMP/MLD Snooping且向所述第二网络设备发送过组播信息;所述第二网络设备根据所述第二类BUM成员中各个设备的BFR ID确定第二bitstring,所述第二bitstring指示BIER域中接收所述组播M类型报文的出口设备。
结合第三方面,在第三方面的某些实现方式中,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例。
结合第三方面,在第三方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
第四方面,提供了一种第一网络设备,所述第一网络设备应用于以太虚拟专用网EVPN中,包括:接收模块,处理模块,发送模块,
接收模块,用于接收第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和广播、未知单播和组播BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
处理模块,用于根据所述第一IPv6地址确定所述BUM报文所属的第一EVPN实例;
发送模块,用于根据所述第一EVPN实例转发所述BUM报文。
结合第四方面,在第四方面的某些实现方式中,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。
结合第四方面,在第四方面的某些实现方式中,所述处理模块具体用于:根据所述第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
结合第四方面,在第四方面的某些实现方式中,所述接收模块还用于:接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带所述第一IPv6地址的前缀和所述第一标识;所述处理模块还用于:根据所述第一EVPN路由建立所述第一对应关系。
结合第四方面,在第四方面的某些实现方式中,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
结合第四方面,在第四方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
结合第四方面,在第四方面的某些实现方式中,所述处理模块还用于:根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述 第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述发送模块具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
结合第四方面,在第四方面的某些实现方式中,所述接收模块还用于:接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述处理模块还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
结合第四方面,在第四方面的某些实现方式中,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
第五方面,提供了一种第一网络设备,所述第一网络设备应用于以太虚拟专用网EVPN中,包括:接收模块,处理模块,
接收模块,用于接收第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带第一IPv6地址的前缀和第一标识,所述第一IPv6地址用于标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识广播、未知单播和组播BUM报文所属的EVPN实例为第一EVPN实例;
处理模块,用于根据所述第一EVPN路由建立第一对应关系,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
结合第五方面,在第五方面的某些实现方式中,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
结合第五方面,在第五方面的某些实现方式中,所述接收模块还用于:接收所述第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和所述BUM报文,所述IPv6头的源地址SA为所述第一IPv6地址,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;所述处理模块还用于:根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例;
所述第一网络设备还包括:发送模块,用于根据所述第一EVPN实例转发所述BUM报文。
结合第五方面,在第五方面的某些实现方式中,第一IPv6地址包括所述第一标识,所述处理模块具体用于:根据所述第一IPv6地址的前缀、所述第一标识和所述第一对应关系确定所述第一EVPN实例。
结合第五方面,在第五方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
结合第五方面,在第五方面的某些实现方式中,所述处理模块还用于:根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述发送模块具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
结合第五方面,在第五方面的某些实现方式中,所述接收模块还用于:接收所述第二 网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述处理模块还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
结合第五方面,在第五方面的某些实现方式中,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
第六方面,提供了一种第二网络设备,所述第二网络设备应用于以太虚拟专用网EVPN中,包括:接收模块,处理模块,发送模块,
接收模块,用于接收广播、未知单播和组播BUM报文,所述第二网络设备为BIER域的入口设备;
处理模块,用于根据所述BUM报文获得BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头、BIER头和所述BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述BIER头中包括比特串bitstring,所述bitstring指示所述BIER域中接收所述BUM报文的出口设备;
发送模块,用于根据所述bitstring向所述第一网络设备发送所述BIERv6报文,所述第一网络设备为所述BIER域的出口设备。
结合第六方面,在第六方面的某些实现方式中,所述处理模块还用于:根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring。
结合第六方面,在第六方面的某些实现方式中,所述第二网络设备未使能IGMP/MLD Snooping,所述处理模块具体用于:确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;根据所述第一类BUM成员中各个设备的位转发路由器标识BFR ID确定所述bitstring。
结合第六方面,在第六方面的某些实现方式中,所述第二网络设备使能IGMP/MLD Snooping,所述处理模块具体用于:确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;根据所述第一类BUM成员中各个设备的BFR ID确定第一bitstring,所述第一bitstring指示BIER域中接收广播和未知单播B,U两种类型报文的出口设备;确定第二类BUM成员,所述第二类BUM成员包括所述BIER域中接收组播M类型报文的出口设备,所述出口设备未使能IGMP/MLD Snooping,或使能IGMP/MLD Snooping且向所述第二网络设备发送过组播信息;根据所述第二类BUM成员中各个设备的BFR ID确定第二bitstring,所述第二bitstring指示BIER域中接收所述组播M类型报文的出口设备。
结合第六方面,在第六方面的某些实现方式中,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例。
结合第六方面,在第六方面的某些实现方式中,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
第七方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置 为支持第一网络设备执行上述方法中相应的功能。
所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式或第二方面或第二方面的任意可能的实现方式中的方法。
第八方面,提供了一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式或第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式或第二方面或第二方面的任意可能的实现方式中的方法的模块。
第九方面,提供一种第一网络设备,所述第一网络设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第八方面中的接口板的功能,进一步,还可以执行第八方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第四方面中主控板的功能。
可以理解的是,在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
第十方面,提供一种第二网络设备,所述第二网络设备具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第二网络设备的结构中包括处理器和接口,所述处理器被配置为支持第二网络设备执行上述方法中相应的功能。
所述第二网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第二网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第二网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第二网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备进入正常运行状态。在第二网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第三方面或第三方面的任意可能的实现方式中的 方法。
第十一方面,提供一种第二网络设备,所述第二网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第二网络设备用于执行第三方面或第三方面的任意可能的实现方式中的方法。具体地,所述第二网络设备包括用于执行第三方面或第三方面的任意可能的实现方式中的方法的模块。
第十二方面,提供一种第二网络设备,所述第二网络设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第十一方面中的接口板的功能,进一步,还可以执行第十一方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第十一方面中主控板的功能。
可以理解的是,在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
第十三方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第十四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。
第十五方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第三方面或第三方面的任一种可能执行的方法。
第十六方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十七方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十八方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第三方面或第三方面的任一种可 能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
第十九方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(centralprocessingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第二十方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第二方面或第二方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(centralprocessingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第二十一方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第三方面或第三方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(centralprocessingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第二十二方面,提供了一种系统,该系统包括上述第一网络设备和第二网络设备。
附图说明
图1是应用于本申请实施例的一种组播场景示意图。
图2是本申请实施例提供的一种BIERv6报文的处理方法的示意性流程图。
图3是本申请实施例提供的一种在EVPN中创建BIERv6隧道的方法的示意性流程图。
图4是本申请实施例提供的一种MSID IPv6地址的示意性框图。
图5是本申请实施例提供的另一种BIERv6报文的处理方法的示意性流程图。
图6是本申请实施例提供的另一种BIERv6报文的处理方法的示意性流程图。
图7是本申请实施例提供的一种第一网络设备700的示意性结构图。
图8是本申请实施例提供的另一种第一网络设备800的示意性结构图。
图9是本申请实施例提供的一种第二网络设备900的示意性结构图。
图10是本申请实施例的另一种第一网络设备2000的硬件结构示意图。
图11为本申请实施例的另一种第一网络设备2100的硬件结构示意图。
图12是本申请实施例的另一种第二网络设备2200的硬件结构示意图。
图13为本申请实施例的另一种第二网络设备2300的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传 输效率和减少了骨干网络出现拥塞的可能性。IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。
图1是应用于本申请实施例的一种组播场景示意图。如图1所示,发送端运营商边缘(provider edge,PE1)、P1、P2、PE2以及PE3之间的承载网络可以是以太虚拟专用网(Ethernet virtual private network,EVPN)。用户边缘(customer edge,CE1)设备和CE2设备可以通过互联网组管理协议(internet group management protocol,IGMP)接入到EVPN。
作为示例,CE1设备通过一条链路接入到EVPN,例如,CE1设备通过和PE1之间的一条链路接入到EVPN,PE1也可以称为单归PE。CE2设备通过两条链路接入到EVPN,例如,CE2设备通过和PE2之间的一条链路以及和PE3之间的一条链路接入到EVPN,PE2和PE3也可以称为双归PE。CE2和PE2、PE3之间的两条链路可以形成一个以太网段(Ethernet segment,ES)。
应理解,图1中的CE2也可以通过多条链路接入到EVPN,CE2通过多条链路分别连接的EVPN中的多个PE也可以称为多归PE。为了便于描述,图1中以双归PE为例进行说明。
相关的技术方案中,在EVPN中引入头端复制(ingress replication,IR)隧道,该IR隧道用于承载EVPN中的广播、未知单播和组播(broadcast unknown unicast multicast,BUM)数据流,并在头端(例如,EVPN入口的PE设备)将BUM报文复制给属于同一个虚拟扩展局域网标识符(virtual extensible local area network identifier,VNI)中的所有虚拟扩展局域网隧道端点(virtual extensible local area network tunnel endpoints,VTEP)。这样,当EVPN中PE设备的数量规模较大时,对于公网链路带宽占用较大,存在较大的带宽浪费,并且BUM报文的复制效率较低。
有鉴于此,本申请实施例提出了一种BIERv6报文的处理方法,在EVPN中引入基于互联网协议第6版的位索引的显式复制(bit index explicit replication overinternet protocol version 6,BIERv6)隧道,该BIERv6隧道用于承载EVPN中的BUM报文。BUM报文可以基于BIER头中的位串(bit string)进行按需复制,降低了对于公网链路带宽的浪费,提高了BUM报文的复制效率。
应理解,BIERv6是BIER技术和互联网协议第6版(internet protocol version 6)的结合。在BIERv6网络中,支持BIER技术的路由器称为位转发路由器(Bit-forwarding router,BFR)。其中,对用户报文进行BIER封装形成BIERv6报文的BFR称为位转发入口路由器(bit forwarding ingress router,BFIR);对从BIERv6报文中解封装出用户报文的BFR称为位转发出口路由器(bit forwarding egress router,BFER)。
由上述一个或多个BFIR、一个或多个BFR以及一个或多个BFER组成的一个组播转发域称为BIER域(BIER domain)。其中,BFIR位于BIER域的入口位置,BFR位于BIER域的中间位置,BFER位于BIER域的出口位置。应理解,BIER域中的BFIR和BFER也可以称为BIER域中的边缘BFR。
作为示例,如图1所述的组播场景中,在EVPN中引入用于承载BUM报文的BIERv6隧道。在该BIERv6隧道中,PE1、P1、P2、PE2和PE3可以组成一个BIER域。一个示 例,PE1可以是上述的BFIR,负责对从CE1获取的BUM报文进行BIER封装形成BIERv6报文。P1和P2可以是上述BFR,负责对BIERv6报文进行转发。PE2和PE3可以是上述的BFER,负责对BIERv6报文进行解封装,得到BUM报文,并将BUM报文发送给CE2。另一个示例,CE2发送的BUM报文会被负载分担到PE2或PE3上,现以CE2把BUM报文负载分担到PE2上为例,PE2作为上述的BFIR,负责对从CE2获取的BUM报文进行BIER封装形成BIERv6报文。P1和P2可以是上述BFR,负责对BIERv6报文进行转发。PE1和PE3可以是上述的BFER,负责对BIERv6报文进行解封装,得到BUM报文。
在BIER域中,可以对上述的边缘BFR配置一个在整个BIER子域(sub-domain,SD)中全局唯一的比特位置(bit position)标识。作为一个示例,为每一个边缘BFR配置一个值作为BFR标识(BFR identifier,BFRID)。例如,BFRID可以是一个1-256之间的数值。BIER域中所有的BFR ID组成一个位串(bit string)。bit string中的每个bit用来标识边缘BFR,例如bit string的低位(最右)的一个bit用来标识BFRID=1的BFER,bit string中从右往左第2个Bit用来标识BFRID=2的BFER等。举例说明,bit位的值为1表示BIERv6报文要往该BFRID所代表的BFER发送,bit位的值为0则表示BIERv6报文不需要往该BFRID所代表的BFER发送。
下面结合图2,对本申请实施例提供的一种BIERv6报文的处理方法进行详细描述。
图2是本申请实施例提供的一种BIERv6报文的处理方法的示意性流程图。如图2所示,该方法可以包括步骤210-230,下面分别对步骤210-230进行详细描述。
步骤210:第一网络设备接收第二网络设备发送的BIERv6报文,BIERv6报文包括IPv6头和BUM报文,IPv6头的源地址SA为第一IPv6地址。
作为示例,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备。
第一网络设备接收到的BIERv6报文可以包括IPv6头和BUM报文,其中,IPv6头的源地址SA为第一IPv6地址,第一IPv6地址用于标识第二网络设备。应理解,第一IPv6地址的实现方式有多种,一个示例,第一IPv6地址包括第一标识,第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。另一个示例,第一IPv6地址包括第一标识和第二标识,第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。还应理解,一个BUM数据流中可以包括多个上述BUM报文。
需要说明的是,以第一IPv6地址包括第一标识为例,一种可能的实现方式中,第一IPv6地址可以是现有的一个IPv6地址,并划分所述IPv6地址中的哪些bit为所述第一标识。另一种可能的实现方式中,第一IPv6地址可以是新构造的一个IPv6地址,并指定所述IPv6地址中的哪些bit为所述第一标识。
步骤220:第一网络设备根据第一IPv6地址确定BUM报文所属的第一EVPN实例。
一个示例,以第一IPv6地址包括第一标识为例,第一网络设备可以根据第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例。所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
应理解,在所述第一网络设备接收第二网络设备发送的BIERv6报文之前,所述方法还包括:第一网络设备接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路 由中携带所述第一IPv6地址的前缀和所述第一标识;所述第一网络设备根据所述第一EVPN路由建立所述第一对应关系。
举例说明,该第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
另一个示例,以第一IPv6地址包括第一标识和第二标识为例,第一网络设备可以根据该第一IPv6地址确定所述第一标识,并根据第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例。在这种实现方式中,第一网络设备还可以根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口。
应理解,在所述第一网络设备接收第二网络设备发送的BIERv6报文之前,所述方法还包括:第一网络设备接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述第一网络设备根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
举例说明,该第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
步骤230:第一网络设备根据第一EVPN实例转发BUM报文。
以第一IPv6地址包括第一标识为例,第一网络设备在确定第一EVPN实例后,可以对BIERv6报文解封装,得到BUM报文,并向所述第一EVPN实例对应的连接用户侧的接口发送所述BUM报文。
以第一IPv6地址包括第一标识和第二标识为例,第一网络设备在确定第一EVPN实例以及需要剪枝的第一接口候,可以向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
上述技术方案中,在EVPN中引入基于BIERv6隧道,该BIERv6隧道用于承载EVPN中的BUM报文。BUM报文可以基于BIER头中的位串(bit string)进行按需复制,降低了对于公网链路带宽的浪费,提高了BUM报文的复制效率。
下面以图1所示的组播场景为例,结合图3,对在EVPN中创建BIERv6隧道的一种具体实现方式进行详细描述。应理解,图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图3是本申请实施例提供的一种在EVPN中创建BIERv6隧道的方法的示意性流程图。如图3所示,该方法可以包括步骤310-360,下面分别对步骤310-360进行详细描述。
步骤310:PE1分别向PE2、PE3发送EVPN Type-3路由。
作为示例,PE1可以分别向PE2、PE3发送EVPN Type-3路由,EVPN Type-3路由也可以称为包含组播以太网标记(inclusive multicast Ethernet tag,IMET)路由。该EVPN Type-3路由中可以携带BIERv6隧道标识相关属性以及组播业务标识(multicast service identifier,MSID)属性,下面分别对这两种属性进行详细描述。
BIERv6隧道标识相关属性中可以携带承载EVPN BUM报文的BIERv6隧道的相关信息。该BIERv6隧道的相关信息例如可以包括但不限于:BIERv6隧道中PE设备所属的BIER sub-domain以及为该PE分配的BFR ID等。
举例说明,假设PE1、PE2以及PE3所属的BIER sub-domain为sub-domain 0,为PE1分配的BFR ID为1,为PE2分配的BFR ID为2,为PE3分配的BFR ID为3。PE1向PE2、PE3发送的EVPN Type-3路由中携带的BIERv6隧道标识的相关信息包括:sub-domain 0,BFR ID=1。
MSID属性在EVPN中用于标识EVPN转发实例。该属性中至少需要包含一个IPv6地址(例如,上文中的第一IPv6地址,也可以称为MSID IPv6地址)。如图4所述,该MSID IPv6地址中可以包括以下三个字段:Prefix字段、MSID字段(对应于上文中的第一标识)、Arg.字段(对应于上文中的第二标识)。可选地,该MSID属性中还可以包括一个前缀长度(Prefix length)字段和一个MSID长度(MSID length)字段。其中,Prefix length字段用于指示上述MSID IPv6地址的前缀长度,MSID length用于指示上述MSID IPv6地址中哪些bits用于标识EVPN实例。Arg.长度(Arg.length)可以基于MSID Length和Prefix Length计算获得,例如,Arg.length=128-MSID Length-Prefix Length。可选地,该MSID属性中还可以包括Type-3路由的始发路由器ID(也可以称为EVPN Originator IP),在本示例中,该EVPN Originator IP为PE1的Originator IP。
举例说明,假设PE1的Originator IP为1::1,PE1对应EVPN转发实例为evpn_inst1,分配的MSIDIPv6地址为11::1:,其中Prefix Length为64bits,MSID Length为32bits。PE1向PE2、PE3发送的EVPN Type-3路由中携带的Originator IP为1::1,MSIDIPv6地址为11::1:,Prefix Length64bits,MSID Length为32bits。
步骤320:PE2分别向PE1、PE3发送EVPN Type-1路由和EVPN Type-3路由。
作为示例,PE2可以分别向PE1、PE3发送EVPN Type-1路由和EVPN Type-3路由。其中,EVPN Type-1路由也可以称为ES AD路由。下面分别对EVPN Type-1路由和EVPN Type-3路由中携带的信息进行详细描述。
1、EVPN Type-3路由
携带BIERv6隧道标识相关属性以及MSID属性,具体的说明请参见步骤310中的描述,此处不再赘述。举例说明,假设PE2所属的BIER sub-domain为sub-domain 0,为PE2分配的BFR ID为2,PE2的Originator IP为2::2,PE2对应EVPN转发实例为evpn_inst1,分配的MSIDIPv6地址为22::1:,其中Prefix Length为64bits,MSID Length为32bits。PE2向PE1、PE3发送的EVPN Type-3路由中携带的BIERv6隧道标识的相关信息包括:sub-domain 0,BFR ID=2;携带的Originator IP为2::2,MSIDIPv6地址为22::1:,Prefix Length64bits,MSID Length为32bits。
2、EVPN Type-1路由
PE2作为双归PE,其还会向其他PE发送EVPN Type-1路由,该EVPN Type-1路由中携带Arg.FE2 PrefixSID属性。具体的,EVPN Type-1路由中携带PrefixSID属性,该属性用于标识该路由所属ES的Arg.FE2 SID。举例说明,PE2和PE3的双归以太段的ESI值为“0022.1002.1002.1002.1001”,PE2为该ES分配的Arg.FE2 SID为::1,PE3为该ES分配的Arg.FE2 SID也为::1。PE2向PE1、PE3发送的EVPN Type-1路由中携带的ESI值 为“0022.1002.1002.1002.1001”,Arg.FE2 SID为::1,路由的下一跳为3::3。
步骤330:PE3分别向PE1、PE2发送EVPN Type-1路由和EVPN Type-3路由。
作为示例,PE3可以分别向PE1、PE2发送EVPN Type-1路由和EVPN Type-3路由。下面分别对EVPN Type-1路由和EVPN Type-3路由中携带的信息进行详细描述。
1、EVPN Type-3路由
携带BIERv6隧道标识相关属性以及MSID属性,具体的说明请参见步骤310中的描述,此处不再赘述。举例说明,假设PE3所属的BIER sub-domain为sub-domain 0,为PE3分配的BFR ID为3,PE3的Originator IP为3::3,PE3对应EVPN转发实例为evpn_inst1,分配的MSIDIPv6地址为33::1:,其中Prefix Length为64bits,MSID Length为32bits。PE3向PE1、PE2发送的EVPN Type-3路由中携带的BIERv6隧道标识的相关信息包括:sub-domain 0,BFR ID=3;携带的Originator IP为3::3,MSIDIPv6地址为33::1:,Prefix Length64bits,MSID Length为32bits。
2、EVPN Type-1路由
携带Arg.FE2 PrefixSID属性,每条路由中携带一个该PrefixSID属性用于标识该路由所属ES的Arg.FE2 SID。举例说明,PE2和PE3的双归以太段的ESI值为“0022.1002.1002.1002.1001”,PE3为该ES分配的Arg.FE2 SID为::1。PE3向PE1、PE2发送的EVPN Type-1路由中携带的ESI值为“0022.1002.1002.1002.1001”,Arg.FE2 SID为::1,路由的下一跳为3::3。
步骤340:PE1根据接收到的路由信息生成对应关系,并确定BIERv6报文转发时需要封装的bit string。
PE1会收到其它PE设备(例如,PE2和PE3)发送的Type-3路由,这些Type-3路由中会携带BIERv6隧道标识属性和MSID属性。一方面,PE1还会根据MSID属性生成IPv6MSID地址到本地EVPN实例的对应关系,以便于将对公网接口上收到的BIERv6BUM报文引导到对应的本地EVPN转发实例中进行转发;另一方面,PE1会根据BIERv6隧道标识属性计算BIERv6报文转发时需要封装的bit string。
1、PE1基于其它PE设备(例如,PE2和PE3)发送的Type-3路由生成IPv6 MSID地址和本地EVPN实例之间的对应关系。
举例说明,PE1对应EVPN转发实例为evpn_inst1。PE1收到PE2发送的EVPN Type-3路由中的MSIDIPv6地址为22::1:,接收到PE3发送的EVPN Type-3路由中的MSIDIPv6地址为33::1:。PE1上生成的IPv6 MSID地址和本地EVPN实例之间的对应关系为:22::1:→evpn_inst1;33::1:→evpn_inst1。
2、PE1基于其它PE设备(例如,PE2和PE3)发送的Type-3路由生成Originator IP和MSIDPrefix之间的对应关系。
PE1可以基于Type-3路由中携带的Prefix Length得到MSID IPv6地址的Prefix(也可以称为MSID Prefix),并生成MSID Prefix与EVPN Originator IP之间的对应关系。
举例说明,PE1收到PE2发送的EVPN Type-3路由中的MSIDIPv6地址为22::1:,Prefix Length为64,Originator IP为2::2。PE1收到PE3发送的EVPN Type-3路由中的MSIDIPv6地址为33::1:,Prefix Length为64,Originator IP为3::3。PE1上生成的Originator IP和MSIDPrefix之间的对应关系:2::2→22::/64,3::3→33::/64。
3、PE1基于其它PE设备(例如,PE2和PE3)发送的Type-3路由确定BIERv6报文转发时需要封装的bit string。
具体的,PE1可以基于PE设备(例如,PE2和EVPN-PE3)发送的Type-3路由中的sub-domain、BFR ID计算BIERv6报文转发时需要封装的bit string。作为示例,PE1可以根据EVPN PE上是否使能IGMP/组播监听者发现(multicast listener discovery,MLD)Snooping计算需要封装的bit string。应理解,PE是否使能IGMP/MLDSnooping可以根据该PE发送的Type-3路由确定。下面对不同情况下确定bit string的方法进行详细说明。
一种可能的实现方式中,PE1没有使能IGMP/MLD Snooping。PE1可以直接基于远端BUM成员(例如,PE2和PE3,通过PE2和PE3发送的Type-3路由生成)的BFR ID计算bit string。例如,假设PE2的BFR ID为2,PE3的BFR ID为3,则生成的BUM复制的bit string为0110。
另一种可能的实现方式中,PE1使能IGMP/MLD Snooping,其它PE(PE2和PE3)部分使能(或全部使能)IGMP/MLD Snooping。
一个示例,PE1没有收到其它PE(PE2和PE3)的组播(S,G)或(*,G)的Type-6路由,也没有在本地AC口上Snooping到对应(S,G)或(*,G)的IGMP/MLD Report。PE1可以按照上述方法生成BUM成员,并计算bit string(例如,bit string为0110)。但由于PE1使能IGMP/MLD Snooping,该bit string仅用于指导PE1转发广播(broadcast)、未知单播(Unkown unicast)两种类型流量的转发。
另一个示例,对于PE1转发组播(multicast)类型流量的情况,PE1从AC口收到的组播流(S,G)之后,会基于其它PE(PE2和PE3)发送的Type-3路由确定哪些远端设备没有使能IGMP/MLD Snooping,并选择没有使能IGMP/MLD Snooping的远端PE设备或使能IGMP/MLD Snooping且发送过Type-6路由的远端PE的BFR-id参与计算bit string。例如,假设PE2的BFR ID为2,PE3的BFR ID为3,PE2没有使能IGMP/MLD Snooping,PE3使能了IGMP/MLD Snooping,但没有发送过(S1,G1)或(*,G1)的Type-6路由。PE1从AC口上收到组播流(S1,G1),由于PE3使能了IGMP/MLD Snooping,但是PE3没有发送过(S1,G1)或(*,G1)的Type-6路由,说明PE3不需要接收(S1,G1)流量,只有PE2需要接收(S1,G1)流量。因此,PE2的BFR ID参与bit string的计算,PE3的BFR ID不参与bit string的计算,PE1计算的bit string为0010,该bit string用于指导PE1对组播(S1,G1)流量的转发。又如,PE2没有使能IGMP/MLD Snooping,PE3使能了IGMP/MLD Snooping且发送过(S1,G1)或(*,G1)的Type-6路由。PE1从AC口上收到组播流(S1,G1),由于PE3使能了IGMP/MLD Snooping且发送过(S1,G1)或(*,G1)的Type-6路由,说明PE3需要接收(S1,G1)流量,因此,PE2的BFR ID和PE3的BFR ID均需要参与bit string的计算。PE1计算的bit string为0110,该bit string用于指导PE1对组播(S1,G1)流量的转发。
步骤350:PE2根据接收到的路由信息生成对应关系,并确定BIERv6报文转发时需要封装的bit string。
PE2会收到其它PE设备(例如,PE1和PE3)发送的Type-3路由和Type-1路由,并进行如下处理:
1、PE2基于其它PE设备(例如,PE1和PE3)发送的Type-3路由生成IPv6 MSID 地址和本地EVPN实例之间的对应关系。
举例说明,PE2对应EVPN转发实例为evpn_inst1。PE2收到PE1发送的EVPN Type-3路由中的MSIDIPv6地址为11::1:,接收到PE3发送的EVPN Type-3路由中的MSIDIPv6地址为33::1:。PE2上生成的IPv6 MSID地址和本地EVPN实例之间的对应关系为:11::1:→evpn_inst1;33::1:→evpn_inst1。
2、PE2基于其它PE(例如,PE1和PE3)发送的Type-3路由生成Originator IP和MSIDPrefix之间的对应关系。
PE2可以基于Type-3路由中携带的Prefix Length得到MSID IPv6地址的Prefix(也可以称为MSID Prefix),并生成MSID Prefix与EVPN Originator IP之间的对应关系。
举例说明,PE2收到PE1发送的EVPN Type-3路由中的MSIDIPv6地址为11::1:,Prefix Length为64,Originator IP为1::1。PE2收到PE3发送的EVPN Type-3路由中的MSIDIPv6地址为33::1:,Prefix Length为64,Originator IP为3::3。PE2上生成的Originator IP和MSIDPrefix之间的对应关系:1::1→11::/64,3::3→33::/64。
3、PE2基于Type-1路由生成水平分割AC口的剪枝关系表。
PE2基于Type-1路由中的ES确定本地是否存在相同的ES,若存在相同的ES且存在对应的AC侧接口,PE2从Type-1路由的Prefix SID属性中获得Arg.FE2 SID,并基于Type-1路由的始发路由器的Originator IP查找此始发路由器的MSID Prefix,并使用“MSID Prefix+Arg.FE2 SID”作为索引生成“MSID Prefix+Arg.FE2 SID→AC接口”的映射关系,该映射关系用于水平分割时相同ES的AC口剪枝。
举例说明,假设PE2和PE3的双归ES为ES1,该ES1在PE2上的AC接口为Interface_Pe2toCe,在PE3上的AC接口为Interface_Pe3toCe。PE2基于PE3发送的Type-1路由中的下一跳为3::3,以及PE2建立的Originator IP和MSIDPrefix之间的对应关系(“3::3→33::/64”)确定对应的MSID Prefix为33::,PE2还可以基于从PE3发送的Type-1路由中获得Arg.FE2 SID为::1。PE2以MSID Prefix+Arg.FE2 SID为索引生成的映射关系为“33::1(MSID Prefix+Arg.FE2 SID)→Interface_Pe2toCe”。
应理解,上述MSID Prefix+Arg.FE2 SID相对于MSID IPv6地址(MSID Prefix+MSID+Arg.FE2 SID)而言,相当于是将MSID IPv6地址中的MSID部分置为0。
4、PE2基于其它PE设备(例如,PE1和PE3)发送的Type-3路由确定BIERv6报文转发时需要封装的bit string。
与PE1确定bit string的方法类似,具体的请参考步骤340中PE1确定bit string的方法,此处不再赘述。
步骤360:PE3根据接收到的路由信息生成对应关系,并确定BIERv6报文转发时需要封装的bit string。
PE3作为双归PE,其会收到其它PE(例如,PE1和PE2)发送的Type-3路由和Type-1路由,并进行如下处理:
1、PE3基于其它PE(例如,PE1和PE2)发送的Type-3路由生成IPv6 MSID地址和本地EVPN实例之间的对应关系。
举例说明,PE3对应EVPN转发实例为evpn_inst1。PE3收到PE1发送的EVPN Type-3路由中的MSIDIPv6地址为11::1:,接收到PE2发送的EVPN Type-3路由中的MSIDIPv6 地址为22::1:。PE3上生成的IPv6 MSID地址和本地EVPN实例之间的对应关系为:11::1:→evpn_inst1;22::1:→evpn_inst1。
2、PE3基于其它PE设备(例如,PE1和PE2)发送的Type-3路由生成Originator IP和MSIDPrefix之间的对应关系。
PE3可以基于Type-3路由中携带的Prefix Length得到MSID IPv6地址的Prefix(也可以称为MSID Prefix),并生成MSID Prefix与EVPN Originator IP之间的对应关系。
举例说明,PE3收到PE1发送的EVPN Type-3路由中的MSIDIPv6地址为11::1:,Prefix Length为64,Originator IP为1::1。PE3收到PE2发送的EVPN Type-3路由中的MSIDIPv6地址为22::1:,Prefix Length为64,Originator IP为2::2。PE3上生成的Originator IP和MSIDPrefix之间的对应关系:1::1→11::/64,2::2→22::/64。
3、PE3基于Type-1路由生成水平分割AC口的剪枝关系表。
PE3基于Type-1路由中的ES确定本地是否存在相同的ES,若存在相同的ES且存在对应的AC侧接口,PE3从Type-1路由的Prefix SID属性中获得Arg.FE2 SID,并基于Type-1路由的始发路由器的Originator IP查找此始发路由器的MSID Prefix,并使用“MSID Prefix+Arg.FE2 SID”作为索引生成“MSID Prefix+Arg.FE2 SID→AC接口”的映射关系,该映射关系用于水平分割时的相同ES的AC口剪枝。
举例说明,假设PE2和PE3的双归ES为ES1,该ES1在PE2上的AC接口为Interface_Pe2toCe,在PE3上的AC接口为Interface_Pe3toCe。PE3基于PE2发送的Type-1路由中的下一跳为2::2,以及PE3建立的Originator IP和MSIDPrefix之间的对应关系(“2::2→22::/64”)确定对应的MSID Prefix为22::,PE3还可以基于从PE2发送的Type-1路由中获得Arg.FE2 SID为::1。PE3以MSID Prefix+Arg.FE2 SID为索引生成的映射关系为“22::1(MSID Prefix+Arg.FE2 SID)→Interface_Pe3toCe”。
4、PE3基于其它PE设备(例如,PE1和PE2)发送的Type-3路由确定BIERv6报文转发时需要封装的bit string。
与PE1确定bit string的方法类似,具体的请参考步骤340中PE1确定bit string的方法,此处不再赘述。
下面以图1所示的组播场景中的单归PE(例如,PE1)作为BIER域的入口设备为例,结合图5,对本申请实施例提供的一种BIERv6报文的处理方法的具体实现方式进行详细描述。应理解,图5的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图5的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图5是本申请实施例提供的另一种BIERv6报文的处理方法的示意性流程图。如图5所示,该方法可以包括步骤510-550,下面分别对步骤510-550进行详细描述。
步骤510:PE1接收CE1发送的BUM报文,对该BUM报文进行BIER封装,得到BIERv6报文,并将BIERv6报文发送给P1。
应理解,一个BUM数据流中可以包括一个或多个BUM报文。
PE1作为BIER域的入口(ingress)设备,负责对从CE1接收的BUM报文进行BIER封装得到BIERv6报文。一个示例,BIERv6封装下的报文格式为:IPv6头+BIER头+BUM 报文。其中,BIER头可以包含在IPv6扩展头中,而BUM报文作为外层IPv6头的负荷(payload)。在这种封装下,IPv6头和包含BIER头的IPv6扩展头共同构成了内层原始组播报文的外层报文头,本申请实施例中也可以称之为BIERv6头。本申请实施例对包含BIER头的IPv6扩展头不做具体限定。例如,该IPv6扩展头可以是目的选项头(destination option header,DOH),又如,该IPv6扩展头还可以是路由头(routing header,RH)。
在BIERv6报文中,IPv6头可以包括但不限于:源地址(source address,SA)字段、目的地址(destination address,DA)字段,BIER头中可以包括bit string字段。举例说明,PE1封装的IPv6头中的SA为MSID IPv6地址,例如,PE1为EVPN实例evpn_inst1分配的MSIDIPv6地址11::1:。IPv6头中的DA为P1的End.BIER地址。BIER头中的bit string可以根据步骤340中的方法确定,例如PE2和PE3均需要接收BUM报文,bit string可以是0110。
应理解,End.BIER地址不是一个普通的IPv6地址,而是设备上用于BIERv6报文处理的一个特定的IPv6地址。以P1为例。P1上配置此End.BIER地址后,在转发信息库(forwarding information base,FIB)里形成一个该地址的128位掩码的转发表项,并且转发表项标识该地址是End.BIER。当P1收到BIERv6报文时,首先对目的地址DA查找FIB,当FIB查找的结果是一个End.BIER的地址时,会执行特定于End.BIER的动作,即继续处理IPv6扩展报文头中的BIER头。否则,如果是一个普通的IPv6目的地址,那么FIB查找的结果指示该报文是一个发送给本路由器的、含有目的选项扩展报文头的IPv6报文,那么该报文可能会被送到CPU进行处理,就达不到数据面处理的目的了。
PE1在获得上述BIERv6报文后,可以将该BIERv6报文转发至P1。具体的,作为示例,BIER域中的各个边缘BFR可以将分配的BFRID通过内部网关协议(interior gateway protocol,IGP)或者外部网关协议(border gateway protocol,BGP)在BIER域中泛洪,以便于BIER域内的其他边缘BFR可以根据泛洪的信息建立位索引转发表标识(bit index forwarding table,BIFT)。例如,对于PE1而言,其可以通过泛洪的方式获取PE2的BFRID为2,PE3的BFRID为3。如果PE1需要将BIERv6报文分别发送至BFRID为2的PE2以及BFRID为3的PE3,且PE1到PE2、PE3的下一跳设备均为P1,PE1建立的BIFT为:邻居(neighbor,Nbr)=P1,转发位掩码(forwarding bit mask,FBM)=0110。其中,Nbr=P1表示PE1的邻居为P1,FBM=0110表示当有BIERv6报文的bit string从右往左第2个bit位、第3个bit位中任意一个为1时,上述BIFT用于指导PE1将该BIERv6报文发送给P1。因此,PE1可以根据上述BIFT将该BIERv6报文发送给P1。
步骤520:P1获取BIERv6报文,并将该BIERv6报文发送至P2。
P1接收到PE1发送的BIERv6报文之后,可以根据BIFT将BIERv6报文转发至P2。作为示例,对于P1而言,其可以通过泛洪的方式获取PE2的BFRID为2,PE3的BFRID为3。如果P1需要将BIERv6报文分别发送至BFRID为2的PE2以及BFRID为3的PE3,且P1到PE2、PE3的下一跳设备均为P2,P1建立的BIFT为:邻居(neighbor,Nbr)=P2,转发位掩码(forwarding bit mask,FBM)=0110。其中,Nbr=P2表示P1的邻居为P2,FBM=0110表示当有BIERv6报文的bit string从右往左第2个bit位、第3个bit位中任意一个为1时,上述BIFT用于指导P1将该BIERv6报文发送给P2。因此,P1可以根据上述BIFT将该BIERv6报文发送给P2。
具体的,P1将该BIERv6报文往P2发送时,可以将BIER头的bit string(0110)以及BIFT表项里Nbr=P2对应的FBM字段(0110)做AND操作,本申请实施例中AND的结果是0110。因此,P1向P2发送的BIERv6报文中,BIER头中的bit string为0110,IPv6头中的DA为P2的End.BIER地址。
步骤530:P2获取BIERv6报文,并将该BIERv6报文分别发送给PE2和PE3。
P2接收到P1发送的BIERv6报文之后,可以根据BIFT将BIERv6报文分别发送给PE2和PE3。作为示例,对于P2而言,其可以通过泛洪的方式获取PE2的BFRID为2,PE3的BFRID为3。如果P2需要将BIERv6报文分别发送至BFRID为2的PE2以及BFRID为3的PE3,且P2到PE2下一跳设备为PE2,到PE3下一跳设备为PE3,P2建立的BIFT为:Nbr=PE2,FBM=0010;Nbr=PE3,FBM=0100。其中,Nbr=PE2表示P2的邻居为PE2,FBM=0010表示当有BIERv6报文的bit string从右往左第2个bit位为1时,上述BIFT用于指导P2将该BIERv6报文发送给PE2。Nbr=PE3表示P2的邻居为PE3,FBM=0100表示当有BIERv6报文的bit string从右往左第3个bit位为1时,上述BIFT用于指导P2将该BIERv6报文发送给PE3。
具体的,P2将该BIERv6报文往PE2发送时,可以将BIER头的bit string(0110)以及BIFT表项里Nbr=PE2对应的FBM字段(0010)做AND操作,本申请实施例中AND的结果是0010。因此,P2向PE2发送的BIERv6报文中,BIER头中的bit string为0010,IPv6头中的DA为PE2的End.BIER地址。P2将该BIERv6报文往PE3发送时,可以将BIER头的bit string(0110)以及BIFT表项里Nbr=PE3对应的FBM字段(0100)做AND操作,本申请实施例中AND的结果是0100。因此,P2向PE3发送的BIERv6报文中,BIER头中的bit string为0100,IPv6头中的DA为PE3的End.BIER地址。
步骤540:PE2接收到P2发送的BIERv6报文后,解封装得到BUM报文,并阻止向CE2发送该BUM报文。
PE2接收到P2发送的BIERv6报文后,可以根据BIER头的bit string字段为0010以及建立的BIFT确定自己为BIER域的出口(egress)设备。具体的,作为示例,PE2的BFRID为2,PE2建立的BIFT为:Nbr=*PE2*,FBM=0010。其中,标识*表示自己,Nbr=*PE2*表示PE2的下一跳设备为自己,FBM=0010表示当有BIERv6报文的bit string从右往左第2个bit位为1时,PE2确定自己为BIER域的egress设备,负责对BIERv6报文进行解封装,得到BUM报文。
PE2获得上述BUM报文后,根据BIERv6报文的IPv6头中的SA以及<IPv6 MSID地址→本地EVPN实例>之间的对应关系确定BUM报文所属的EVPN实例。例如,PE2获得的BIERv6报文的IPv6头中的SA为PE1为EVPN实例evpn_inst1分配的MSIDIPv6地址11::1:,PE2根据11::1:以及PE2生成对应关系<11::1:→evpn_inst1>确定该BUM报文所属的EVPN实例为evpn_inst1。由于PE2和PE3作为双归PE,PE2根据其在双归链路中的主备角色确定是否在对应AC链路上发送所述BUM报文。例如,假设PE2为备设备,PE3为主设备,PE2作为备选设备通过对应的Interface_Pe2ToCe2接口向evpn_inst1实例发送BUM报文时被阻断。
步骤550:PE3接收到P2发送的BIERv6报文后,解封装得到BUM报文,并向CE2发送该BUM报文。
PE3接收到P2发送的BIERv6报文后,可以根据BIER头的bit string字段为0100以及建立的BIFT确定自己为BIER域的出口(egress)设备。具体的,作为示例,PE3的BFRID为3,PE3建立的BIFT为:Nbr=*PE3*,FBM=0100。其中,标识*表示自己,Nbr=*PE3*表示PE3的下一跳设备为自己,FBM=0100表示当有BIERv6报文的bit string从右往左第3个bit位为1时,PE3确定自己为BIER域的egress设备,负责对BIERv6报文进行解封装,得到BUM报文。
PE3获得上述BUM报文后,根据BIERv6报文的IPv6头中的SA以及<IPv6 MSID地址→本地EVPN实例>之间的对应关系确定BUM报文所属的EVPN实例。例如,PE3获得的BIERv6报文的IPv6头中的SA为PE1为EVPN实例evpn_inst1分配的MSIDIPv6地址11::1:,PE3根据11::1:以及PE2生成对应关系<11::1:→evpn_inst1>确定该BUM报文所属的EVPN实例为evpn_inst1。由于PE2和PE3作为双归PE,PE3根据其在双归链路中的主备角色确定是否在对应AC链路上发送所述BUM报文。例如,假设PE2为备设备,PE3为主设备,PE3作为主设备,其通过对应的Interface_Pe3ToCe2接口向evpn_inst1实例发送BUM报文时被放行。也就是说,PE3通过Interface_Pe3ToCe2接口向属于所述evpn_inst1实例的CE2发送所述BUM报文。
下面以图1所示的组播场景中的双归PE(例如,PE2或PE3)作为BIER域的入口设备为例,结合图6,对本申请实施例提供的BIERv6报文的处理方法的一种具体实现方式进行详细描述。应理解,图6的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图6是本申请实施例提供的另一种BIERv6报文的处理方法的示意性流程图。如图6所示,该方法可以包括步骤610-650,下面分别对步骤610-650进行详细描述。
步骤610:PE2接收CE2发送的BUM报文,对该BUM报文进行BIER封装,得到BIERv6报文,并将BIERv6报文分别发送给P2和PE3。
CE2发送的BUM报文会被负载分担到PE2或PE3上,现以CE2把BUM报文负载分担到PE2上为例,PE2作为BIER域的入口(ingress)设备,在接收CE2发送的BUM报文后,负责对BUM报文进行BIER封装得到BIERv6报文。
由于PE2和PE3的双归ES为ES1,PE2通过接口Interface_Pe2ToCe2接收到CE2发送的BUM报文,因此,IPv6头中的SA为PE2为evpn_inst1分配的MSIDIPv6地址+PE2为ES1分配的Arg.FE2 SID。例如,PE2为evpn_inst1分配的MSIDIPv6地址为22::1:,PE2为ES1分配的Arg.FE2 SID为::1,IPv6头中的SA为22::1:1。IPv6头中的DA为P2的End.BIER地址。BIER头中的bit string可以根据步骤340中的方法确定,假设PE1和PE3均需要接收BUM报文,bit string可以是0101。
PE2在获得上述BIERv6报文后,可以将该BIERv6报文转发至P2。具体的,作为示例,PE2可以通过泛洪的方式获取PE1的BFRID为1,PE3的BFRID为3。如果PE2需要将BIERv6报文分别发送至BFRID为1的PE1以及BFRID为3的PE3,且PE2到PE1、PE3的下一跳设备均为P2,PE2建立的BIFT为:Nbr=P2,FBM=0101。其中,Nbr=P2表示PE2的邻居为P2,FBM=0101表示当有BIERv6报文的bit string从右往左第1个bit位、 第3个bit位中任意一个为1时,上述BIFT用于指导PE2将该BIERv6报文发送给P2。因此,PE2可以根据上述BIFT将该BIERv6报文发送给P2。
步骤620:P2获取BIERv6报文,并将该BIERv6报文分别发送给PE3和P1。
P2接收到PE2发送的BIERv6报文之后,可以根据BIFT将BIERv6报文分别发送给PE3和P1。作为示例,对于P2而言,其可以通过泛洪的方式获取PE1的BFRID为1,PE3的BFRID为3。如果P2需要将BIERv6报文分别发送至BFRID为1的PE1以及BFRID为3的PE3,且P2到PE3下一跳设备为PE3,到PE1下一跳设备为P1,P2建立的BIFT为:Nbr=PE3,FBM=0100;Nbr=P1,FBM=0001。其中,Nbr=PE3表示P2的邻居为PE3,FBM=0100表示当有BIERv6报文的bit string从右往左第3个bit位为1时,上述BIFT用于指导P2将该BIERv6报文发送给PE3。Nbr=P1表示P2的邻居为P1,FBM=0001表示当有BIERv6报文的bit string从右往左第1个bit位为1时,上述BIFT用于指导P2将该BIERv6报文发送给P1。
具体的,P2将该BIERv6报文往PE3发送时,可以将BIER头的bit string(0101)以及BIFT表项里Nbr=PE3对应的FBM字段(0100)做AND操作,本申请实施例中AND的结果是0100。因此,P2向PE3发送的BIERv6报文中,BIER头中的bit string为0100,IPv6头中的DA为PE3的End.BIER地址。P2将该BIERv6报文往P1发送时,可以将BIER头的bit string(0101)以及BIFT表项里Nbr=P1对应的FBM字段(0001)做AND操作,本申请实施例中AND的结果是0001。因此,P2向P1发送的BIERv6报文中,BIER头中的bit string为0001,IPv6头中的DA为P1的End.BIER地址。
步骤630:P1获取BIERv6报文,并将该BIERv6报文送给PE1。
P1接收到P2发送的BIERv6报文之后,可以根据BIFT将BIERv6报文发送给PE1。作为示例,对于P1而言,其可以通过泛洪的方式获取PE1的BFRID为1。如果P1需要将BIERv6报文分别发送至BFRID为1的PE1,且P1到PE1下一跳设备为PE1,P1建立的BIFT为:Nbr=PE1,FBM=0001。其中,Nbr=PE1表示P1的邻居为PE1,FBM=0001表示当有BIERv6报文的bit string从右往左第1个bit位为1时,上述BIFT用于指导P1将该BIERv6报文发送给PE1。
具体的,P1将该BIERv6报文往PE1发送时,可以将BIER头的bit string(0001)以及BIFT表项里Nbr=PE1对应的FBM字段(0001)做AND操作,本申请实施例中AND的结果是0001。因此,P1向PE1发送的BIERv6报文中,BIER头中的bit string为0001,IPv6头中的DA为PE1的End.BIER地址。
步骤640:PE1接收到P1发送的BIERv6报文后,解封装得到BUM报文,并向CE1发送该BUM报文。
PE1接收到P1发送的BIERv6报文后,可以根据BIER头的bit string字段为0001以及建立的BIFT确定自己为BIER域的出口(egress)设备。具体的,作为示例,PE1的BFRID为1,PE1建立的BIFT为:Nbr=*PE1*,FBM=0001。其中,标识*表示自己,Nbr=*PE1*表示PE1的下一跳设备为自己,FBM=0001表示当有BIERv6报文的bit string从右往左第1个bit位为1时,PE1确定自己为BIER域的egress设备,负责对BIERv6报文进行解封装,得到BUM报文。
由于PE1为单归,因此BUM报文导入evpn_inst1实例之后被允许在接口 Interface_Pe1ToCe1上发送,无需剪枝。
步骤650:PE3接收到P2发送的BIERv6报文后,解封装得到BUM报文。
PE3接收到P2发送的BIERv6报文后,可以根据BIER头的bit string字段为0100以及建立的BIFT确定自己为BIER域的出口(egress)设备。具体的,作为示例,PE3的BFRID为3,PE3建立的BIFT为:Nbr=*PE3*,FBM=0100。其中,标识*表示自己,Nbr=*PE3*表示PE3的下一跳设备为自己,FBM=0100表示当有BIERv6报文的bit string从右往左第3个bit位为1时,PE3确定自己为BIER域的egress设备,负责对BIERv6报文进行解封装,得到BUM报文。
PE3获得上述BUM报文后,由于BIERv6报文的SA为PE2为evpn_inst1分配的MSIDIPv6地址+PE2为ES1分配的Arg.FE2 SID,PE3基于PE2发送的Type-3路由中的MSID Length,将MSID IPv6地址中的MSID部分置为0,得到MSID Prefix+Arg.FE2 SID。再基于图3中PE3建立的“MSID Prefix+Arg.FE2 SID”和AC接口的对应关系确定需要做剪枝的AC接口,并将BUM报文在除需要做剪枝的AC接口以外的其它本地AC口内进行广播。举例说明,BIERv6报文的SA为22::1:1,MSID Length为32,将MSID IPv6地址中的MSID部分置为0,得到的MSID Prefix+Arg.FE2 SID为22::1。PE3基于22::1以及对应关系“22::1(MSID Prefix+Arg.FE2 SID)→Interface_Pe3toCe”确定需要该BUM报文在PE3上导入evpn_inst1实例之后,接口Interface_Pe3ToCe2被剪枝。PE3会将该BUM报文在除Interface_Pe3toCe接口以外的其它本地AC口内进行发送。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图6,详细描述了本申请实施例提供的一种BIERv6报文的处理方法,下面将结合图7至图13,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图7是本申请实施例提供的一种第一网络设备700的示意性结构图。图7所示的该第一网络设备700可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图7所示,所述第一网络设备700包括:接收模块710,处理模块720,发送模块730,
接收模块710,用于接收第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和广播、未知单播和组播BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
处理模块720,用于根据所述第一IPv6地址确定所述BUM报文所属的第一EVPN实例;
发送模块730,用于根据所述第一EVPN实例转发所述BUM报文。
可选地,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。
可选地,所述处理模块720具体用于:根据所述第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
可选地,所述接收模块710还用于:接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带所述第一IPv6地址的前缀和所述第一标识;所述处理模块620还用于:根据所述第一EVPN路由建立所述第一对应关系。
可选地,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
可选地,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
可选地,所述处理模块720还用于:根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述发送模块730具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
可选地,所述接收模块710还用于:接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述处理模块720还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
可选地,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
图8是本申请实施例提供的另一种第一网络设备800的示意性结构图。图8所示的该第一网络设备800可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图8所示,所述第一网络设备800包括:接收模块810,处理模块820,
接收模块810,用于接收第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带第一IPv6地址的前缀和第一标识,所述第一IPv6地址用于标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识广播、未知单播和组播BUM报文所属的EVPN实例为第一EVPN实例;
处理模块820,用于根据所述第一EVPN路由建立第一对应关系,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
可选地,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
可选地,所述接收模块810还用于:接收所述第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和所述BUM报文,所述IPv6头的源地址SA为所述第一IPv6地址,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;所述处理模块720还用于:根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例;
所述第一网络设备800还包括:发送模块830,用于根据所述第一EVPN实例转发所述BUM报文。
可选地,第一IPv6地址包括所述第一标识,所述处理模块820具体用于:根据所述 第一IPv6地址的前缀、所述第一标识和所述第一对应关系确定所述第一EVPN实例。
可选地,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
可选地,所述处理模块820还用于:根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;所述发送模块830具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
可选地,所述接收模块810还用于:接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;所述处理模块820还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
可选地,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
图9是本申请实施例提供的一种第二网络设备900的示意性结构图。图9所示的该第二网络设备900可以执行上述实施例的方法中第二网络设备执行的相应步骤。如图9所示,所述第二网络设备900包括:接收模块910,处理模块920,发送模块930,
接收模块910,用于接收广播、未知单播和组播BUM报文,所述第二网络设备为BIER域的入口设备;
处理模块920,用于根据所述BUM报文获得BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头、BIER头和所述BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述BIER头中包括比特串bitstring,所述bitstring指示所述BIER域中接收所述BUM报文的出口设备;
发送模块930,用于根据所述bitstring向所述第一网络设备发送所述BIERv6报文,所述第一网络设备为所述BIER域的出口设备。
可选地,所述处理模块920还用于:根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring。
可选地,所述第二网络设备未使能IGMP/MLD Snooping,所述处理模块920具体用于:确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;根据所述第一类BUM成员中各个设备的位转发路由器标识BFR ID确定所述bitstring。
可选地,所述第二网络设备使能IGMP/MLD Snooping,所述处理模块920具体用于:确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;根据所述第一类BUM成员中各个设备的BFR ID确定第一bitstring,所述第一bitstring指示BIER域中接收广播和未知单播B,U两种类型报文的出口设备;确定第二类BUM成员,所述第二类BUM成员包括所述BIER域中接收组播M类型报文的出口设备,所述出口设备未使能IGMP/MLD Snooping,或使能IGMP/MLD Snooping且向所述第二网络设备发送过组播信息;根据所述第二类BUM成员中各个设备的BFR ID确定第二bitstring,所述第二bitstring指示BIER域中接收所述组播M类型报文的出口设备。
可选地,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备 上标识所述BUM报文所属的EVPN实例。
可选地,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
图10是本申请实施例的第一网络设备2000的硬件结构示意图。图10所示第一网络设备2000可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图10所示,所述第一网络设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一网络设备实现上述收发。
所述处理器2001用于执行上述实施例中由第一网络设备进行的处理。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2000进入正常运行状态。在第一网络设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备2000的处理过程。
可以理解的是,图10仅仅示出了第一网络设备2000的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图11为本申请实施例的另一种第一网络设备2100的硬件结构示意图。图11所示的第一网络设备2100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图11所述,第一网络设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。
应理解,本实施例的第一网络设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板 和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图12是本申请实施例的第二网络设备2200的硬件结构示意图。图12所示第二网络设备2200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图12所示,所述第二网络设备2200包括处理器2201、存储器2202、接口2203和总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2201、存储器2202和接口2203通过总线2204连接。
所述接口2203具体可以包括发送器和接收器。所述处理器2201用于执行上述实施例中由第二网络设备进行的处理。存储器2202包括操作系统22021和应用程序22022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选的,所述存储器2202可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第二网络设备2200时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备2200进入正常运行状态。在第二网络设备2200进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第二网络设备2200的处理过程。
可以理解的是,图12仅仅示出了第二网络设备2200的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
图13为本申请实施例的另一种第二网络设备2300的硬件结构示意图。图13所示的第二网络设备2300可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图13所述,第二网络设备2300包括:主控板2310、接口板2330、交换网板2320和接口板2340。主控板2310、接口板2330和2340,以及交换网板2320之间通过系统总线与系统背板相连实现互通。其中,主控板2310用于完成系统管理、设备维护、协议处理等功能。交换网板2320用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2330和2340用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2330可以包括中央处理器2331、转发表项存储器2334、物理接口卡2333和网络处理器2332。其中,中央处理器2331用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2334用于保存表项。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2340上的操作与所述接口板2330的操作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备2300可对应于上述方法实施例所具 有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
本申请实施例还提供了一种芯片系统,应用于第一网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(centralprocessingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种芯片系统,应用于第二网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第二网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(centralprocessingunit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信 号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一网络设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
本申请实施例还提供了一种计算机程序产品,应用于第二网络设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第二网络设备的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (47)

  1. 一种基于互联网协议第六版的位索引显式复制BIERv6报文的处理方法,其特征在于,所述方法应用于以太虚拟专用网EVPN中,所述方法包括:
    第一网络设备接收第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和广播、未知单播和组播BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
    所述第一网络设备根据所述第一IPv6地址确定所述BUM报文所属的第一EVPN实例;
    所述第一网络设备根据所述第一EVPN实例转发所述BUM报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。
  3. 根据权利要求2所述的方法,其特征在于,所述第一网络设备根据所述第一IPv6地址确定所述BUM报文所属的第一EVPN实例,包括:
    所述第一网络设备根据所述第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
  4. 根据权利要求3所述的方法,其特征在于,在所述第一网络设备接收第二网络设备发送的BIERv6报文之前,所述方法还包括:
    所述第一网络设备接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带所述第一IPv6地址的前缀和所述第一标识;
    所述第一网络设备根据所述第一EVPN路由建立所述第一对应关系。
  5. 根据权利要求4所述的方法,其特征在于,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
  6. 根据权利要求2至5中任一项所述的方法,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;
    所述第一网络设备根据所述第一EVPN实例转发所述BUM报文,包括:
    所述第一网络设备向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
  8. 根据权利要求7所述的方法,其特征在于,在所述第一网络设备接收第二网络设 备发送的BIERv6报文之前,所述方法还包括:
    所述第一网络设备接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;
    所述第一网络设备根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
  9. 根据权利要求8所述的方法,其特征在于,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
  10. 一种建立对应关系的方法,其特征在于,所述方法应用于以太虚拟专用网EVPN中,所述方法包括:
    第一网络设备接收第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带第一IPv6地址的前缀和第一标识,所述第一IPv6地址用于标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识广播、未知单播和组播BUM报文所属的EVPN实例为第一EVPN实例;
    所述第一网络设备根据所述第一EVPN路由建立第一对应关系,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
  11. 根据权利要求10所述的方法,其特征在于,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
  12. 根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备接收所述第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和所述BUM报文,所述IPv6头的源地址SA为所述第一IPv6地址,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
    所述第一网络设备根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例;
    所述第一网络设备根据所述第一EVPN实例转发所述BUM报文。
  13. 根据权利要求12所述的方法,其特征在于,第一IPv6地址包括所述第一标识,
    所述第一网络设备根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例,包括:
    所述第一网络设备根据所述第一IPv6地址的前缀、所述第一标识和所述第一对应关系确定所述第一EVPN实例。
  14. 根据权利要求12或13所述的方法,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  15. 根据权利要求14所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;
    所述第一网络设备根据所述第一EVPN实例转发所述BUM报文,包括:
    所述第一网络设备向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
  16. 根据权利要求15所述的方法,其特征在于,在所述第一网络设备接收所述第二网络设备发送的BIERv6报文之前,所述方法还包括:
    所述第一网络设备接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;
    所述第一网络设备根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
  17. 根据权利要求16所述的方法,其特征在于,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
  18. 一种基于互联网协议第六版的位索引显式复制BIERv6报文的处理方法,其特征在于,所述方法应用于以太虚拟专用网EVPN中,所述方法包括:
    第二网络设备接收广播、未知单播和组播BUM报文,所述第二网络设备为BIER域的入口设备;
    所述第二网络设备根据所述BUM报文获得BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头、BIER头和所述BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述BIER头中包括比特串bitstring,所述bitstring指示所述BIER域中接收所述BUM报文的出口设备;
    所述第二网络设备根据所述bitstring向所述第一网络设备发送所述BIERv6报文,所述第一网络设备为所述BIER域的出口设备。
  19. 根据权利要求18所述的方法,其特征在于,所述方法还包括:
    所述第二网络设备根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring。
  20. 根据权利要求19所述的方法,其特征在于,所述第二网络设备未使能IGMP/MLD Snooping,
    所述第二网络设备根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring,包括:
    所述第二网络设备确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;
    所述第二网络设备根据所述第一类BUM成员中各个设备的位转发路由器标识BFR ID确定所述bitstring。
  21. 根据权利要求19所述的方法,其特征在于,所述第二网络设备使能IGMP/MLD Snooping,
    所述第二网络设备根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring,包括:
    所述第二网络设备确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;
    所述第二网络设备根据所述第一类BUM成员中各个设备的BFR ID确定第一bitstring,所述第一bitstring指示BIER域中接收广播和未知单播B,U两种类型报文的出口设备;
    所述第二网络设备确定第二类BUM成员,所述第二类BUM成员包括所述BIER域中接收组播M类型报文的出口设备,所述出口设备未使能IGMP/MLD Snooping,或使能IGMP/MLD Snooping且向所述第二网络设备发送过组播信息;
    所述第二网络设备根据所述第二类BUM成员中各个设备的BFR ID确定第二bitstring,所述第二bitstring指示BIER域中接收所述组播M类型报文的出口设备。
  22. 根据权利要求18至21中任一项所述的方法,其特征在于,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例。
  23. 根据权利要求22所述的方法,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  24. 一种第一网络设备,其特征在于,所述第一网络设备应用于以太虚拟专用网EVPN中,包括:
    接收模块,用于接收第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和广播、未知单播和组播BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
    处理模块,用于根据所述第一IPv6地址确定所述BUM报文所属的第一EVPN实例;
    发送模块,用于根据所述第一EVPN实例转发所述BUM报文。
  25. 根据权利要求24所述的第一网络设备,其特征在于,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例为所述第一EVPN实例。
  26. 根据权利要求25所述的第一网络设备,其特征在于,所述处理模块具体用于:
    根据所述第一IPv6地址的前缀、所述第一标识和第一对应关系确定所述第一EVPN实例,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
  27. 根据权利要求26所述的第一网络设备,其特征在于,所述接收模块还用于:
    接收所述第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带所述第一IPv6地址的前缀和所述第一标识;
    所述处理模块还用于:根据所述第一EVPN路由建立所述第一对应关系。
  28. 根据权利要求27所述的第一网络设备,其特征在于,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
  29. 根据权利要求25至28中任一项所述的第一网络设备,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  30. 根据权利要求29所述的第一网络设备,其特征在于,所述处理模块还用于:
    根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关 系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;
    所述发送模块具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
  31. 根据权利要求30所述的第一网络设备,其特征在于,所述接收模块还用于:
    接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;
    所述处理模块还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
  32. 根据权利要求31所述的第一网络设备,其特征在于,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
  33. 一种第一网络设备,其特征在于,所述第一网络设备应用于以太虚拟专用网EVPN中,包括:
    接收模块,用于接收第二网络设备发送的第一EVPN路由,所述第一EVPN路由中携带第一IPv6地址的前缀和第一标识,所述第一IPv6地址用于标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识广播、未知单播和组播BUM报文所属的EVPN实例为第一EVPN实例;
    处理模块,用于根据所述第一EVPN路由建立第一对应关系,所述第一对应关系为所述第一IPv6地址的前缀、所述第一标识和所述第一EVPN实例之间的对应关系。
  34. 根据权利要求33所述的第一网络设备,其特征在于,所述第一EVPN路由为包含多播以太网标签IMET路由,所述第一IPv6地址的前缀和所述第一标识携带在所述IMET路由的组播业务标识MSID属性字段或前缀段标识prefix SID属性字段中。
  35. 根据权利要求33或34所述的第一网络设备,其特征在于,所述接收模块还用于:
    接收所述第二网络设备发送的BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头和所述BUM报文,所述IPv6头的源地址SA为所述第一IPv6地址,所述第一网络设备为BIER域的出口设备,所述第二网络设备为所述BIER域的入口设备;
    所述处理模块还用于:根据所述第一IPv6地址确定所述BUM报文所属的所述第一EVPN实例;
    所述第一网络设备还包括:
    发送模块,用于根据所述第一EVPN实例转发所述BUM报文。
  36. 根据权利要求35所述的第一网络设备,其特征在于,第一IPv6地址包括所述第一标识,
    所述处理模块具体用于:根据所述第一IPv6地址的前缀、所述第一标识和所述第一对应关系确定所述第一EVPN实例。
  37. 根据权利要求35或36所述的第一网络设备,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  38. 根据权利要求37所述的第一网络设备,其特征在于,所述处理模块还用于:
    根据所述第一IPv6地址的前缀、所述第二标识和第二对应关系确定第一接口,所述 第二对应关系为所述第一IPv6地址的前缀、所述第二标识和所述第一接口之间的对应关系,所述第一接口为所述第一ES在所述第一网络设备上对应的接口;
    所述发送模块具体用于:向所述第一EVPN实例对应的接口中除所述第一接口的其他接口转发所述BUM报文。
  39. 根据权利要求38所述的第一网络设备,其特征在于,所述接收模块还用于:
    接收所述第二网络设备发送的第二EVPN路由,所述第二EVPN路由携带所述第二标识;
    所述处理模块还用于:根据所述第二标识、第一IPv6地址的前缀以及所述第一接口建立所述第二对应关系。
  40. 根据权利要求39所述的第一网络设备,其特征在于,所述第二EVPN路由为太网分段自动发现ESAD路由,所述第二标识携带在所述ESAD路由的prefix SID属性字段中。
  41. 一种第二网络设备,其特征在于,所述第二网络设备应用于以太虚拟专用网EVPN中,包括:
    接收模块,用于接收广播、未知单播和组播BUM报文,所述第二网络设备为BIER域的入口设备;
    处理模块,用于根据所述BUM报文获得BIERv6报文,所述BIERv6报文包括互联网协议第六版IPv6头、BIER头和所述BUM报文,所述IPv6头的源地址SA为第一IPv6地址,所述第一IPv6地址用于标识所述第二网络设备,所述BIER头中包括比特串bitstring,所述bitstring指示所述BIER域中接收所述BUM报文的出口设备;
    发送模块,用于根据所述bitstring向所述第一网络设备发送所述BIERv6报文,所述第一网络设备为所述BIER域的出口设备。
  42. 根据权利要求41所述的第二网络设备,其特征在于,所述处理模块还用于:
    根据是否使能互联网组管理协议/组播监听者发现侦听IGMP/MLD Snooping确定所述bitstring。
  43. 根据权利要求42所述的第二网络设备,其特征在于,所述第二网络设备未使能IGMP/MLD Snooping,所述处理模块具体用于:
    确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;
    根据所述第一类BUM成员中各个设备的位转发路由器标识BFR ID确定所述bitstring。
  44. 根据权利要求42所述的第二网络设备,其特征在于,所述第二网络设备使能IGMP/MLD Snooping,
    所述处理模块具体用于:
    确定第一类BUM成员,所述第一类BUM成员包括所述BIER域的所有出口设备;
    根据所述第一类BUM成员中各个设备的BFR ID确定第一bitstring,所述第一bitstring指示BIER域中接收广播和未知单播B,U两种类型报文的出口设备;
    确定第二类BUM成员,所述第二类BUM成员包括所述BIER域中接收组播M类型报文的出口设备,所述出口设备未使能IGMP/MLD Snooping,或使能IGMP/MLD Snooping且向所述第二网络设备发送过组播信息;
    根据所述第二类BUM成员中各个设备的BFR ID确定第二bitstring,所述第二bitstring 指示BIER域中接收所述组播M类型报文的出口设备。
  45. 根据权利要求41至44中任一项所述的第二网络设备,其特征在于,所述第一IPv6地址包括第一标识,所述第一标识用于在所述第二网络设备上标识所述BUM报文所属的EVPN实例。
  46. 根据权利要求45所述的第二网络设备,其特征在于,所述第一IPv6地址还包括第二标识,所述第二标识为所述第一网络设备为第一太网分段ES分配的标识,所述第一ES为所述第一网络设备和所述第二网络设备的双归ES。
  47. 一种系统,其特征在于,包括如权利要求24至32或33至40中任一项所述的第一网络设备以及如权利要求41至46中任一项所述的第二网络设备。
PCT/CN2022/081468 2021-03-29 2022-03-17 一种BIERv6报文的处理方法、设备以及系统 Ceased WO2022206405A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22778588.8A EP4300914B1 (en) 2021-03-29 2022-03-17 Bierv6 message processing method, and device and system
US18/476,354 US12199862B2 (en) 2021-03-29 2023-09-28 BIERv6 packet processing method, device, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110332339.1 2021-03-29
CN202110332339.1A CN115134297A (zh) 2021-03-29 2021-03-29 一种BIERv6报文的处理方法、设备以及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/476,354 Continuation US12199862B2 (en) 2021-03-29 2023-09-28 BIERv6 packet processing method, device, and system

Publications (1)

Publication Number Publication Date
WO2022206405A1 true WO2022206405A1 (zh) 2022-10-06

Family

ID=83375214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/081468 Ceased WO2022206405A1 (zh) 2021-03-29 2022-03-17 一种BIERv6报文的处理方法、设备以及系统

Country Status (4)

Country Link
US (1) US12199862B2 (zh)
EP (1) EP4300914B1 (zh)
CN (1) CN115134297A (zh)
WO (1) WO2022206405A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846840A (zh) * 2023-05-16 2023-10-03 中国电信股份有限公司北京研究院 多域纯IPv6网络中业务流量的交互方法、装置、设备和介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866470A (zh) * 2021-02-03 2022-08-05 华为技术有限公司 发送报文的方法、装置、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016198022A1 (zh) * 2015-10-09 2016-12-15 中兴通讯股份有限公司 一种实现虚拟化网络叠加的方法与网络虚拟化边缘节点
US10841216B1 (en) * 2017-03-29 2020-11-17 Juniper Networks, Inc. Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN
US20200389385A1 (en) * 2019-06-05 2020-12-10 Cisco Technology, Inc. Failure Detections in Point-to-Multipoint Packet-Forwarding Networks
CN112511319A (zh) * 2020-07-03 2021-03-16 中兴通讯股份有限公司 信息通告、报文转发、报文消除方法、装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190394059A1 (en) * 2018-06-20 2019-12-26 Juniper Networks, Inc. Bit index explicit replication (bier) penultimate hop popping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016198022A1 (zh) * 2015-10-09 2016-12-15 中兴通讯股份有限公司 一种实现虚拟化网络叠加的方法与网络虚拟化边缘节点
US10841216B1 (en) * 2017-03-29 2020-11-17 Juniper Networks, Inc. Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN
US20200389385A1 (en) * 2019-06-05 2020-12-10 Cisco Technology, Inc. Failure Detections in Point-to-Multipoint Packet-Forwarding Networks
CN112511319A (zh) * 2020-07-03 2021-03-16 中兴通讯股份有限公司 信息通告、报文转发、报文消除方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4300914A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116846840A (zh) * 2023-05-16 2023-10-03 中国电信股份有限公司北京研究院 多域纯IPv6网络中业务流量的交互方法、装置、设备和介质

Also Published As

Publication number Publication date
US12199862B2 (en) 2025-01-14
CN115134297A (zh) 2022-09-30
EP4300914A4 (en) 2024-05-22
EP4300914A1 (en) 2024-01-03
US20240022508A1 (en) 2024-01-18
EP4300914B1 (en) 2025-12-03

Similar Documents

Publication Publication Date Title
US11991012B2 (en) Packet forwarding method, packet sending apparatus, and packet receiving apparatus
CN110784411B (zh) 建立bier转发表项的方法、装置和系统
WO2022100554A1 (zh) Bier报文转发的方法、设备以及系统
CN111669330A (zh) 一种bier报文的发送方法和装置
CN114465946B (zh) 获取转发表项的方法、装置以及系统
CN113285878B (zh) 负载分担的方法、第一网络设备
CN112532563B (zh) 报文的发送方法和装置
CN106656524A (zh) 一种bier控制信息的传输方法、装置和系统
CN113114576B (zh) 报文发送的方法、设备和系统
US12587477B2 (en) BIER packet forwarding method, device, and system
US12170618B2 (en) Packet sending method, device and system
WO2022117018A1 (zh) 报文传输的方法和装置
WO2021093463A1 (zh) 报文转发的方法、第一网络设备以及第一设备组
US12199862B2 (en) BIERv6 packet processing method, device, and system
KR102568754B1 (ko) Bierv6 패킷 전달 방법, 장치 및 시스템
WO2021254454A1 (zh) Bier oam检测的方法、设备以及系统
JP7273125B2 (ja) BIERv6パケットを送信するための方法および第1のネットワークデバイス
WO2022171014A1 (zh) 报文传输方法及装置
WO2022012073A1 (zh) 报文转发的方法、设备以及系统
CN114006780A (zh) 报文转发的方法、设备以及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22778588

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022778588

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022778588

Country of ref document: EP

Effective date: 20230926

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 2022778588

Country of ref document: EP