WO2024016869A1 - Multicast configuration method and apparatus - Google Patents

Multicast configuration method and apparatus Download PDF

Info

Publication number
WO2024016869A1
WO2024016869A1 PCT/CN2023/098480 CN2023098480W WO2024016869A1 WO 2024016869 A1 WO2024016869 A1 WO 2024016869A1 CN 2023098480 W CN2023098480 W CN 2023098480W WO 2024016869 A1 WO2024016869 A1 WO 2024016869A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
tunnel
vpn
bier
multicast
Prior art date
Application number
PCT/CN2023/098480
Other languages
French (fr)
Chinese (zh)
Inventor
谷丁云
王恒
段方红
谢经荣
盛成
庞东磊
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202211512828.6A external-priority patent/CN117478503A/en
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024016869A1 publication Critical patent/WO2024016869A1/en

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Definitions

  • the present application relates to the field of data communications, and in particular to a multicast configuration method and device.
  • SD-WAN Software-defined wide area network
  • the PIM protocol When multicast services are currently deployed in SD-WAN, the PIM protocol is usually deployed on the WAN interface of each network device in each site in SD-WAN. Each network device first transmits PIM control messages in the WAN based on the protocol independent multicast (PIM) protocol. Each network device establishes a multicast distribution tree for each multicast flow based on the PIM protocol, saves the status of the multicast flow, and forwards the multicast flow based on the multicast distribution tree and the status of the multicast flow. When a new multicast receiver joins, the network device delivers the join message hop by hop to the network device connected to the multicast source.
  • PIM protocol independent multicast
  • the network device as an intermediate node needs to establish a multicast distribution tree and save the status of the multicast flow, resulting in excessive resource usage.
  • This application provides a multicast configuration method and device, which can save resources occupied by forwarding multicast flows in SD-WAN scenarios.
  • the technical solution is as follows.
  • a multicast configuration method including: a first network device in a virtual private network VPN obtains a first parameter set, the first parameter set includes the bit forwarding router prefix BFR prefix of the first network device and Parameters used to identify the software-defined wide area network SD-WAN tunnel, the first network device is the endpoint of the SD-WAN tunnel; the first network device sends the first parameter set within the VPN.
  • the forwarding device can indicate the association between BIER and SD-WAN by advertising the BFR prefix and the parameters used to identify the SD-WAN tunnel in the VPN, that is, if it needs to reach a certain BFR prefix must go through the SD-WAN tunnel, so it helps forward data packets based on BIER in SD-WAN, so that the intermediate node in the SD-WAN network can implement reporting based on the bit string setting in the packet. Copy and forward messages without the need to sense the status of the multicast group or build a multicast distribution tree for each multicast data flow, thus saving the resources occupied by forwarding multicast flows in SD-WAN scenarios.
  • the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
  • the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
  • the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
  • the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information.
  • the first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel.
  • the first information is used to determine The SD-WAN tunnel.
  • the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
  • CPE ID client equipment identification
  • the first network device sends the first parameter set within the VPN, including:
  • the first network device sends the first parameter set to a second network device in the VPN, the second network device being the other endpoint of the SD-WAN tunnel; or,
  • the first network device sends the first parameter set to the route reflector RR, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the node of the SD-WAN tunnel. Another endpoint.
  • the first network device sends the first parameter set within the VPN, including: the first network device sends a first advertisement message within the VPN, and the first advertisement message includes a first address
  • the family identifier and the first parameter set, the first address family identifier is used to identify the Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or the Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
  • the method further includes: the first network device obtains a second parameter set, the second parameter set includes multicast source group information, the BFR prefix of the first network device and a second tunnel type, the The second tunnel type is used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel;
  • the first network device sends the second parameter set to the second network device.
  • the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
  • the first network device sends the second parameter set to the second network device, including: the first network device sends a second notification message to the second network device, and the second notification message Including a second address family identifier and the second parameter set, the second address family identifier is used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
  • the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute
  • the PTA attribute includes an MPLS label MPLS label field
  • the MPLS label field includes an identification of the VPN.
  • the method before the first network device obtains the second parameter set, the method further includes: the first network device receiving a join message from the multicast receiver in the VPN, the join message including the multicast source group information; or, the first network device receives a leave message from the multicast receiver in the VPN, where the leave message includes the multicast source group information.
  • the second aspect provides a method for processing multicast packets, including:
  • the first network device in the virtual private network VPN receives the first multicast data message; the first network device obtains the second multicast data message based on the first multicast data message and the first parameter set.
  • a parameter set includes the second The bit forwarding router prefix BFR prefix of the network device and the parameters used to identify the software-defined wide area network SD-WAN tunnel.
  • the second network device is the endpoint of the SD-WAN tunnel.
  • the second multicast data message includes the first message. header, a second packet header and a payload of the first multicast data packet.
  • the first packet header includes the IP address of the second network device obtained based on the parameter used to identify the SD-WAN tunnel.
  • the third The second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device; the first network device sends the second multicast data to the second network device through the SD-WAN tunnel. message.
  • the message forwarding method that combines SD-WAN and BIER multicast is realized, so that the multicast data encapsulated by BIER can be forwarded across the transmission network, and the intermediate nodes in the SD-WAN network can forward the message according to the content of the message.
  • the setting status of the bit string enables the copy and forwarding of messages without the need to sense the status of the multicast group and the need to build a multicast distribution tree for each multicast data flow, thus saving the time of forwarding multicast in the SD-WAN scenario.
  • the resources occupied by the stream are examples of the stream.
  • the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device.
  • the max-SI the max-SI, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
  • the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device.
  • the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel.
  • the tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
  • the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
  • the first message header includes a protocol type field
  • the protocol type field is used to identify the second message header carrying the BIER parameter.
  • the first packet header also includes the ID of the VPN.
  • a multicast configuration device located in the virtual private network (VPN) includes: a processing unit for obtaining a first parameter set, the first parameter set including the first network device.
  • the bit forwarding router prefix BFR prefix and the parameters used to identify the software-defined wide area network SD-WAN tunnel, the first network device is the endpoint of the SD-WAN tunnel; the sending unit is used to send the first parameter set within the VPN .
  • the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
  • the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
  • the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
  • the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information.
  • the first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel.
  • the first information is used to determine The SD-WAN tunnel.
  • the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
  • CPE ID client equipment identification
  • the sending unit is configured to send the first parameter set to a second network device in the VPN, which is another endpoint of the SD-WAN tunnel; or, to a route reflector.
  • the RR sends the first parameter set, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the other endpoint of the SD-WAN tunnel.
  • the sending unit is configured to send a first advertisement message within the VPN.
  • the first advertisement message includes a first address family identifier and the first parameter set.
  • the first address family identifier is used to Identifies Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
  • the processing unit is also used to obtain a second parameter set, which includes multicast source group information, the BFR prefix of the first network device, and a second tunnel type.
  • the second tunnel type Used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel; the sending unit is used to send the second parameter set to the second network device.
  • the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
  • the sending unit is configured to send a second notification message to the second network device.
  • the second notification message includes a second address family identifier and the second parameter set.
  • the second address family identifier Used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
  • the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute
  • the PTA attribute includes an MPLS label MPLS label field
  • the MPLS label field includes an identification of the VPN.
  • the device further includes: a receiving unit, configured to receive a join message from the intra-VPN multicast receiver, where the join message includes the multicast source group information; or, receive a join message from the intra-VPN multicast receiver.
  • the leave message includes the multicast source group information.
  • a device for processing multicast messages includes: a receiving unit for receiving the first multicast data message; and a processing unit for Based on the first multicast data message and the first parameter set, a second multicast data message is obtained.
  • the first parameter set includes the bit forwarding router prefix BFR prefix of the second network device in the VPN and the software definition used to identify it. Parameters of the wide area network SD-WAN tunnel.
  • the second network device is the endpoint of the SD-WAN tunnel.
  • the second multicast data packet includes a first packet header, a second packet header and the first multicast data packet.
  • the payload of the message, the first message header includes the IP address of the second network device obtained based on the parameters used to identify the SD-WAN tunnel, and the second message header includes the BFR prefix obtained based on the second network device a bit-based explicit copy BIER parameter; a sending unit configured to send the second multicast data message to the second network device through the SD-WAN tunnel.
  • the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device. max-SI, One or more of the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
  • the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device.
  • the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel.
  • the tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
  • the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
  • the first message header includes a protocol type field
  • the protocol type field is used to identify the second message header carrying the BIER parameter.
  • the first packet header also includes the ID of the VPN.
  • a network device in a fifth aspect, includes a processor and a network interface.
  • the network device executes the above-mentioned first aspect or any of the optional methods provided by the first aspect through the processor and the network interface. Methods.
  • a network device in a sixth aspect, includes a processor and a network interface.
  • the network device executes the above second aspect or any of the optional methods provided by the second aspect through the processor and the network interface. Methods.
  • a network system which system includes the device as in the third aspect or any one of the embodiments of the third aspect and the device as in the fourth aspect or any one of the embodiments of the fourth aspect.
  • a network system which system includes the device as in the fifth aspect and the device as in the sixth aspect.
  • a computer-readable storage medium stores at least one instruction.
  • the instruction When the instruction is run on a computer, it causes the computer to execute the above-mentioned first aspect or any of the optional methods of the first aspect. methods provided.
  • a computer-readable storage medium stores at least one instruction.
  • the instruction When the instruction is run on a computer, it causes the computer to execute the above-mentioned second aspect or any of the optional methods of the second aspect. methods provided.
  • a computer program product includes one or more computer program instructions.
  • the computer program instructions When the computer program instructions are loaded and run by a computer, they cause the computer to execute the above-mentioned first aspect or aspects. Any of the optional methods provided.
  • a computer program product includes one or more computer program instructions.
  • the computer program instructions When the computer program instructions are loaded and run by a computer, the computer is caused to execute the above second aspect or the second aspect. Any of the optional methods provided.
  • a chip in a thirteenth aspect, includes programmable logic circuits and/or program instructions. When the chip is run, it is used to implement the method provided by the above-mentioned first aspect or any alternative method of the first aspect. .
  • a chip in a fourteenth aspect, includes programmable logic circuits and/or program instructions. When the chip is run, it is used to implement the method provided in the above-mentioned second aspect or any of the optional modes of the second aspect. .
  • Figure 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of another application scenario provided by the embodiment of the present application.
  • Figure 3 is a schematic diagram of a network topology provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of a logical function architecture provided by an embodiment of the present application.
  • Figure 5 is a flow chart of a multicast configuration method provided by an embodiment of the present application.
  • Figure 6 is a flow chart of another multicast configuration method provided by an embodiment of the present application.
  • Figure 7 is a flow chart of a method for processing multicast data packets provided by this application.
  • Figure 8 is a schematic diagram of a BGP EVPN IP prefix routing NLRI format provided by the embodiment of this application;
  • FIG. 9 is a schematic diagram of a BGP BIER VPN prefix routing NLRI format provided by the embodiment of this application.
  • Figure 10 is a schematic diagram of the format of the BIER service encapsulation attribute field in the first notification message provided by the embodiment of the present application;
  • Figure 11 is a schematic diagram of SD-WAN encapsulated extended community attributes and color extended community attributes in a first notification message provided by an embodiment of the present application;
  • Figure 12 is a schematic diagram of the MVPN or EVPN routing VPN BIER PTA field format provided by the embodiment of the present application;
  • Figure 13 is a schematic diagram of the BGP EVPN S-PMSI A-D routing NLRI format provided by the embodiment of this application;
  • Figure 14 is a schematic diagram of the BGP EVPN leaf A-D routing NLRI format provided by the embodiment of this application;
  • Figure 15 is a schematic diagram of a BGP EVPN SMET routing NLRI format provided by the embodiment of this application;
  • Figure 16 is a schematic diagram of a message format used when announcing joining provided by an embodiment of the present application.
  • Figure 17 is a schematic diagram of another message format used when announcing joining provided by the embodiment of the present application.
  • Figure 18 is a schematic diagram of the encapsulation format of a multicast data message provided by an embodiment of the present application.
  • Figure 19 is a schematic diagram of the encapsulation format of a BIER header that meets the definition of RFC8296 provided by an embodiment of the present application;
  • Figure 20 is a schematic diagram of a BIERv6 encapsulation format provided by an embodiment of the present application.
  • FIG. 21 is a schematic diagram of another BIERv6 encapsulation format provided by the embodiment of the present application.
  • Figure 22 is a schematic diagram of the packaging format of BIERin6 provided by the embodiment of the present application.
  • FIG. 23 is a schematic diagram of another packaging format of BIERin6 provided by the embodiment of the present application.
  • Figure 24 is a schematic diagram of the encapsulation format of G-BIER provided by the embodiment of the present application.
  • Figure 25 is an encapsulation format of a GRE extension header provided by an embodiment of the present application.
  • Figure 26 is a schematic diagram of a general encapsulation format of an SD-WAN header provided by an embodiment of the present application.
  • Figure 27 is a schematic diagram of the encapsulation format of a VXLAN header provided by an embodiment of the present application.
  • Figure 28 is a schematic diagram of the encapsulation format of a VXLAN-GPE header provided by an embodiment of the present application.
  • Figure 29 is a schematic diagram of the packaging format of a GENEVE header provided by an embodiment of the present application.
  • Figure 30 is a schematic diagram of an IPsec header encapsulation format provided by an embodiment of the present application.
  • Figure 31 is a schematic diagram of an intra-site active and backup protection scenario provided by an embodiment of the present application.
  • Figure 32 is a schematic diagram of another active and backup protection scenario within a site provided by an embodiment of the present application.
  • Figure 33 is a schematic diagram of a network deployment scenario provided by an embodiment of the present application.
  • Figure 34 is a schematic diagram of another network deployment scenario provided by an embodiment of the present application.
  • Figure 35 is a schematic structural diagram of a multicast configuration device provided by an embodiment of the present application.
  • Figure 36 is a schematic structural diagram of a device for processing multicast messages provided by an embodiment of the present application.
  • Figure 37 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • SD-WAN is a virtual private network (VPN) technology that applies software defined networking (SDN) technology to WAN scenarios.
  • SD-WAN technology is designed to help users reduce WAN expenses, improve network connection flexibility, and provide safe and reliable interconnection services for enterprise networks and data center networks scattered over a wide geographical range.
  • the typical feature of SD-WAN is to establish an end-to-end Internet protocol overlay (IP overlay) tunnel between the edge devices of the site to achieve the independence of the SD-WAN underlay (basic) transmission network.
  • IP overlay Internet protocol overlay
  • the edge devices of each site use IP overlay tunnel technology or Layer 2 overlay tunnel technology to build an IP overlay tunnel based on the underlay transmission network.
  • the IP overlay tunnel is called an SD-WAN tunnel.
  • the source Internet Protocol (IP) address and destination IP address of the SD-WAN tunnel are the IP addresses of the CPEs of the two sites respectively, specifically the IP addresses configured for the WAN interface of the device.
  • IP Internet Protocol
  • An SD-WAN tunnel is established between CPE1 of site 1 and CPE2 of site 2.
  • CPE1 of site 1 and CPE2 of site 2 are the endpoints of this SD-WAN tunnel.
  • the source IP address of the SD-WAN tunnel is the IP address of the CPE at site 1, specifically the IP address configured for the WAN interface of the CPE at site 1.
  • the destination IP address of the SD-WAN tunnel is the IP address of the CPE at site 2, specifically the IP address configured for the WAN interface of the CPE at site 2. Therefore, the intermediate node in the transmission network publishes the route in the transmission network through the direct link with the edge device of the site, and the tunnel message can be routed and forwarded in the transmission network to the edge device of the destination site.
  • TN refers to the underlay network of SD-WAN (SD-WAN basic network).
  • SD-WAN SD-WAN basic network
  • TN is the wide area access network provided by operators, that is, the WAN side network.
  • TN is used to carry the overlay network of SD-WAN to realize interconnection between sites.
  • TN includes but is not limited to MPLS network, Internet, operator dedicated line network, long term evolution (LTE, 4G), 5G or enterprise-built network.
  • a transport network can be identified by a transport network identification (TN ID) or by the name of the transport network.
  • An SD-WAN tunnel refers to a logical channel between edge devices at two sites. Data packets are transmitted between different sites through SD-WAN tunnels to realize interconnection between different sites.
  • the physical outbound interface of the SD-WAN tunnel is the WAN interface on the device.
  • the TN to which the WAN interface belongs is in the same routing domain (RD). That is, the WAN interfaces at both ends of the SD-WAN tunnel can communicate at the underlay network level.
  • Two sites can be interconnected through multiple TNs of different operators, so multiple different SD-WAN tunnels can be established between the sites.
  • SD-WAN overlay network refers to the network composed of SD-WAN tunnels.
  • the SD-WAN overlay network is built based on the transport network.
  • CPE Customer premise equipment
  • CPE refers to the edge device of the site and is one of the main device roles in SD-WAN.
  • CPE is used to establish SD-WAN tunnels based on routing and tunnel information, and forward data packets through the SD-WAN tunnel.
  • TNP Transport network port
  • TNP is also called transport tunnel endpoint (TTE).
  • TNP refers to the WAN interface on the CPE that is connected to the transmission network, that is, the interface of the endpoint device of the SD-WAN tunnel.
  • TNP information mainly includes site ID, transmission network identification, IP address of WAN interface and tunnel encapsulation type, etc.
  • SD-WAN tunnels can be established between CPEs at two sites by publishing each other's TPN information. For example, after CPE1 at site 1 receives the TNP information published by CPE2 at site 2, CPE1 saves the TNP information of CPE2 into the SD-WAN tunnel forwarding table.
  • the entry in the SD-WAN tunnel forwarding table on CPE 1 contains the site ID field, the outbound interface field, and the next hop field.
  • the site ID field includes the TNP information sent by CPE2.
  • site ID which is the site ID of site 2.
  • the outgoing interface field is the WAN interface in the TNP information of CPE 1.
  • the next hop field includes the IP address in the TNP information of CPE2, that is, the IP address of the WAN interface of CPE2.
  • the CPE searches for the next hop field in the VPN BIER forwarding table (first correspondence) and finds the next hop in the VPN BIER forwarding table.
  • the content of the field is not the IP address of the direct next hop, but the site ID of site 2.
  • CPE1 uses the site ID of site 2 as an index and continues to search for other forwarding entries (the so-called iteration), then CPE1 finds that the site ID of site 2 matches the site ID field in the third correspondence, so it forwards the data packet based on the next hop field and outbound interface field in the third correspondence.
  • CPE1 encapsulates an IP header in the outer layer of the data packet.
  • the source IP address in the IP header is the IP address in the TNP information of CPE1, that is, the IP address of CPE1's WAN interface.
  • the destination IP address in the IP header is the TNP of CPE2.
  • the IP address in the information is the IP address of the WAN interface of CPE2, and then CPE1 sends the data packet through the WAN interface of CPE1.
  • site ID is used to identify a site in the SD-WAN network.
  • the site ID is usually a number or a series of numbers.
  • Site IDs are assigned, for example, based on the total number of sites in the SD-WAN network.
  • the site ID is uniformly assigned by the controller for each site in the SD-WAN.
  • the controller assigns site IDs to each site in ascending order. For example, if an SD-WAN network includes three sites, the site IDs assigned by the controller to the three sites are, for example, 1, 2, and 3 respectively, or 111, 222, and 333 respectively.
  • the site ID of each CPE within the same site is usually the same.
  • CPE ID Customer premise equipment identification
  • CPE ID also called SD-WAN device ID (SD-WAN device identification)
  • SD-WAN device ID is used to identify a CPE in the SD-WAN network.
  • the CPE ID is usually an IP address of the device.
  • the CPE ID is the IP address of a loopback interface on the device.
  • the CPE ID is an Internet Protocol version 4 (IPv4) address or an Internet Protocol version 6 (IPv6) address.
  • IPv4 Internet Protocol version 4
  • IPv6 Internet Protocol version 6
  • the CPE ID is uniformly assigned by the controller to each CPE in the SD-WAN.
  • the TNP ID is a set that includes the site ID, CPE ID, and WAN interface IP address.
  • TNP ID consists of site ID
  • the CPE ID is obtained by concatenating the WAN interface IP address.
  • the TNP ID is a hash value generated based on the site ID, CPE ID, and WAN interface IP address.
  • RR is used to reflect routing information and SD-WAN tunnel information between CPEs. RR can be used as a regional controller.
  • RD refers to an area composed of different transmission networks that are reachable by each other. For example, if the transmission network provided by operator A and the transmission network provided by operator B are reachable by each other, the two transmission networks are considered to be located in the same within RD. SDWAN tunnels can be established between CPEs located in the same RD or between CPEs and RRs.
  • VPN instances can be used to provide isolation functions for tenants.
  • the Ethernet virtual private network (EVPN) routes that interact between CPEs carry VN IDs to identify private network routes of different tenants.
  • Each VPN instance is independent of each other and has its own forwarding table and routing. surface.
  • Tenants access the network through CPE, and CPE identifies the VPN to which the tenant belongs through the VPN instance associated with the interface. Search the forwarding table of the VPN instance, add SDWAN encapsulation to tenant packets, and forward the packets to the remote CPE.
  • the SD-WAN encapsulation carries the VPN identifier, which is used to identify the VPN to which the tenant belongs.
  • the remote CPE receives the message, it can identify the VPN to which the message belongs based on the VPN identifier.
  • the remote CPE searches the forwarding table of the VPN instance and forwards the packet to the tenant.
  • BIER is a new type of multicast forwarding technology that encapsulates the set of destination nodes for multicast messages in the form of bit strings and sends them in the header of the message. This eliminates the need for intermediate nodes in the network to sense multicast services and maintain multicast flows. state.
  • the effects of BIER include but are not limited to: First, it has good multicast service scalability; BIFT established using BIER technology on BFR is a public forwarding table independent of specific multicast services, so that intermediate nodes in the network do not need to be aware of multicast services. , there is no need to maintain the multicast flow status of specific multicast services. Both public network multicast and private network multicast packets can be forwarded through BIFT, which has good multicast service scalability.
  • BFR refers to a device that supports BIER forwarding.
  • BFR product forms include but are not limited to routers, switches, firewalls or other network equipment.
  • BFR is divided into bit forwarding ingress router (BFIR), intermediate BFR (transit BFR) and bit forwarding egress router (BFER).
  • BFIR bit forwarding ingress router
  • TIR intermediate BFR
  • BFER bit forwarding egress router
  • a BIER network refers to a logical area that supports BIER forwarding.
  • a BIER network includes multiple BFRs.
  • a BIER network is a BIER domain, or a BIER network is a BIER subdomain.
  • a BIER domain refers to the collection of all BFRs in a routing domain or management domain.
  • a BIER domain can be divided into one or more BIER subdomains, and the BIER subdomain can also be referred to as SD.
  • Each BIER subdomain is identified by a unique subdomain ID.
  • BFIR is the node through which multicast data flows enter the BIER network.
  • BFIR is used to BIER encapsulate multicast data packets entering the BIER network to obtain BIER packets containing multicast data packets and BIER headers.
  • transit BFR is an intermediate node for forwarding multicast data packets in the BIER network. It is used to forward BIER packets based on bit strings.
  • transit BFR is an optional device deployed in the BIER network. In some embodiments, BFIR and BFER are deployed in the BIER network without transit BFR.
  • BFIR and BFER are physically directly connected; another example, BFIR and BFER are connected through an IP link, and BFER is the next hop of BFIR; another example, BFIR and BFER are connected through one or more hops that do not support BIER, and BFIR After sending the BIER message, the BIER message passes through the MPLS encapsulation or IPv6 unicast route in the outer layer of the BIER header and passes through the node that does not support BIER to reach the BFER.
  • the number of transit BFR deployed in a BIER network includes multiple situations. Two situations are given as examples below.
  • a transit BFR is deployed in a BIER network.
  • the transit BFR is located between the BFIR and the BFER in the BIER forwarding path.
  • BIER messages are forwarded from the BFIR to the BFER via the transit BFR.
  • two or more transit BFRs are deployed in a BIER network. There is an up-and-down hop relationship between different transit BFRs.
  • BIER messages are forwarded from BFIR to another transit BFR via one transit BFR. Then forward it from another transit BFR to BFER. For example, if BFIR, transit BFR 1, transit BFR 2 and BFER are deployed in the BIER network, the forwarding path of BIER packets is BFIR ⁇ transit BFR 1 ⁇ transit BFR 2 ⁇ BFER.
  • transit BFR is an optional device deployed in the BIER network.
  • BFIR and BFER are deployed in the BIER network without transit BFR.
  • BFER is the next hop of BFIR; another example, BFIR and BFER are connected through one or more hops that support BIER; another example, BFIR and BFER are connected through one or more hops that do not support BIER. nodes are connected.
  • the BIER message passes through the MPLS encapsulation or IPv6 unicast route in the outer layer of the BIER header and reaches BFER through the node that does not support BIER.
  • the number of transit BFR deployed in a BIER network includes multiple situations. Two situations are given as examples below.
  • a transit BFR is deployed in a BIER network.
  • the transit BFR is located between the BFIR and the BFER in the BIER forwarding path.
  • BIER messages are forwarded from the BFIR to the BFER via the transit BFR.
  • two or more transit BFRs are deployed in a BIER network. There is an up-and-down hop relationship between different transit BFRs. BIER messages are forwarded from BFIR to another transit BFR via one transit BFR. Then forward it from another transit BFR to BFER. For example, if BFIR, transit BFR 1, transit BFR 2, and BFER are deployed in the BIER network, the forwarding path of BIER packets is BFIR ⁇ transit BFR 1 ⁇ transit BFR 2 ⁇ BFER.
  • BFER is the node through which multicast data flows out of the BIER network. It is used to decapsulate BIER packets and forward the obtained multicast data packets to multicast receivers.
  • Edge BFR refers to the BFR located at the edge of the BIER network. Edge BFR is the collective name of BFIR and BFER.
  • BFR-ID is used to identify the BFR located at the edge of the BIER network in a BIER network (such as a BIER subdomain or a BIER domain).
  • BFR-ID is usually an integer, for example, a positive integer in the range of 1 to 65535.
  • one BFR-ID corresponds to one bit in the bit string.
  • BFR-ID is 1, which corresponds to the rightmost bit (or the lowest bit) in the bit string
  • BFR-ID is 2, which corresponds to the second bit from right to left (or the second lowest bit) in the bit string.
  • BFR-ID is i, corresponding to the i-th bit from right to left in the bit string, where i is a positive integer.
  • bit string carried by a message contains the BFR-ID of a device, or the bit position corresponding to the BFR-ID of the device is set, it means that the device is the destination BFER of the message.
  • BFR prefix refers to an IP address of BFR.
  • the BFR prefix is the IP address of a loopback interface on the BFR.
  • the BFR prefix is a reachable IP address in the BIER network.
  • BFR prefix is a 32-bit IPv4 address; another example, BFR prefix is a 128-bit IPv6 address.
  • BIERv4 scenario use an IPv4 address of the device as the BFR prefix
  • BIERv6 use an IPv6 address of the device as the BFR prefix.
  • SI refers to the identifier of the set to which the BFR-ID belongs.
  • the form of SI is usually one or a series of numbers.
  • a BIER network includes set 0 and set 1.
  • Set 0 includes BFRs with BFR-IDs from 1 to 256
  • set 1 includes BFRs with BFR-IDs from 257 to 512.
  • the SI of each BFR is 0, and the SI of each BFR in BFR-IDs 257 to 512 is 1.
  • max-SI refers to the maximum value of the set identifier (SI).
  • the bit string is used to identify the destination BFER set of the BIER message.
  • the bit string starts from the lowest bit (that is, the first bit from the right), and each bit corresponds to a BFR-ID. If the bit position is 1, it indicates that the BFER identified by the BFR-ID corresponding to this bit is the destination BFER of the multicast data message.
  • BSL refers to the length of the bit string. For example, if the BSL is 64, it means that the length of the bit string is 64 bits.
  • BIRT is used to indicate the BFR prefix of a BFER in a BIER network, the BFR-ID of the BFER and Correspondence between the next hops on the forwarding path that reach the BFER.
  • BIER BIER-ID
  • BIRT Correspondence between the next hops on the forwarding path that reach the BFER.
  • BIFT is based on the forwarding table generated by BIER. BIFT is used to represent each BFER node that can be reached through BFR neighbors, including Nbr (BFR Neighbor, BFR neighbor) and forwarding bit mask (forwarding bit mask, F-BM). Each BIFT is usually determined by a triplet (BSL, SD, SI). For example, BIFT is generated by BFR by merging different entries in BIRT entries that pass through the same neighbor. Optionally, each BIFT entry includes a BFR neighbor and the corresponding F-BM. In some embodiments of this application, each entry of BIFT also includes site ID or CPE ID.
  • BIFT-ID is used to identify a BIFT.
  • BIFT-ID is usually determined based on three parameters: BSL, SD and SI.
  • BIFT-ID is obtained by splicing three parameters: BSL, SD and SI.
  • BIFT-ID is the hash value obtained by hashing the three parameters BSL, SD and SI.
  • the BFR neighbor represents the next hop BFR.
  • the BFR neighbor is represented by the BFR prefix of the next hop BFR.
  • F-BM is used to indicate the set of BFERs in the BIER network that can be reached through the BFR neighbor when the BFR copies and sends multicast data packets to the BFR neighbor.
  • F-BM is, for example, BFR obtained by ORing the bit strings of all BFERs reachable by the BFR neighbor.
  • F-BM is represented by a bit string, and the length of the bit string used by F-BM and packet forwarding is the same. For example, the length of the bit string carried in the message is 256 bits, and the length of the F-BM is also 256 bits. During the message forwarding process, the bit string carried in the message will perform an AND operation with the F-BM.
  • bit strings In the BIER network, data packets are copied and forwarded based on bit strings. Specifically, when a BFR obtains a data message carrying a bit string, it performs a bitwise AND on the bit string and the F-BM in each row of entries in the BIFT, and decides the next action based on the result of the AND. For example, if there is a table entry in BIFT that the result of the AND of the F-BM and the bit string is non-zero, and the next hop corresponding to the F-BM is not itself, the datagram will be sent to the next hop corresponding to the F-BM. arts.
  • the datagram will be copied. message to obtain k copied data messages, and send the data message to the next hop corresponding to each F-BM among the k F-BMs.
  • the value of the bit string carried in the data packet may be updated.
  • the bit string carried in the data packet sent by a BFR to a next hop is the result of the AND of the bit string carried in the data packet received by the BFR and the F-BM corresponding to the next hop.
  • the first F-BM corresponds to the first next hop
  • the second F-BM corresponds to the second next hop.
  • the first BFR receives the data message 1, and the bit string carried in the data message 1 is non-zero after being ANDed with the first F-BM and the second F-BM.
  • the first BFR copies data packet 1 and obtains two copied data packets, namely data packet 2 and data packet 1.
  • the bit string in data packet 2 is the result of the AND of the bit string in data packet 1 and the first F-BM, which is equivalent to removing the BFR-ID corresponding to the second next hop in the bit string.
  • the first BFR sends data packet 2 to the first next hop.
  • the bit string in data packet 3 is the result of the AND of the bit string in data packet 1 and the second F-BM, which is equivalent to removing the BFR-ID corresponding to the first next hop in the bit string.
  • the first BFR sends data packet 3 to the second next hop.
  • BIERv6 defines a new type of SID called End.BIER address.
  • the End.BIER address serves as the IPv6 destination address and instructs the forwarding plane of the device to process the BIERv6 header in the packet.
  • each node receives and processes a BIERv6 message, it encapsulates the End.BIER SID of the next hop node into the IPv6 destination address in the outer layer of the BIERv6 header, and indicates the destination BFER set of the multicast message through the bit string in the BIERv6 header.
  • End.BIER SID can also make good use of the reachability of IPv6 unicast routing across IPv6 nodes that do not support BIERv6.
  • End.BIER SID usually consists of two parts: locator and other bits.
  • locator represents a BIERv6 forwarding node.
  • the locator has a positioning function. After a node is configured with a locator, the control plane device will generate a locator network segment route and spread it within the SRv6 domain through IGP. Other nodes in the network can locate this node through the locator network segment route. At the same time, all SRv6SIDs published by this node can also be reached through this locator network segment route.
  • End.BIER SID can guide the packet to the designated BFR. The BFR receives a multicast packet, recognizes that the destination address of the packet is the local End.BIER SID, and determines that it is forwarded according to the BIERv6 process.
  • a multicast group refers to a collection identified by an IP multicast address.
  • a multicast receiver such as a host or other device that needs to receive multicast data packets joins a multicast group, it becomes a member of the multicast group and can identify and receive multicast data sent to the multicast group. message.
  • One multicast source can send data to multiple multicast groups at the same time, and multiple multicast sources can also send packets to one multicast group at the same time.
  • Multicast group members refer to hosts or other devices that have joined the multicast group. Members in a multicast group are dynamic. For example, a host can join or leave the multicast group at any time.
  • Multicast router refers to a device with multicast forwarding function, such as a router or switch. Multicast routers are divided into root nodes, intermediate nodes and leaf nodes.
  • the root node is connected to the multicast source and is the first hop router in the forwarding path of multicast data packets.
  • the leaf node is connected to the multicast receiver, and the leaf node is the last hop router in the forwarding path of the multicast data packet.
  • the intermediate node is located between the root node and the leaf nodes and is used to forward multicast data packets from the root node to the leaf nodes.
  • the root node is BFIR
  • the intermediate node is intermediate BFR
  • the leaf node is BFER.
  • IGMP is the protocol responsible for IPv4 multicast member management in the TCP/IP protocol suite. IGMP is used to establish and maintain multicast group membership relationships between multicast receivers and their directly adjacent multicast routers. IGMP implements group member management functions by exchanging IGMP messages between multicast receivers and multicast routers. IGMP messages are encapsulated in IP messages. IGMP Messages include but are not limited to member report messages, member leave messages, general query messages, group-specific query messages, and source group-specific query messages. (group-and-source-specific query). The member report message refers to the report message sent by the multicast receiver to the querier, which is used to apply to join a certain multicast group or respond to the query message.
  • the member leave message is a message that a multicast receiver actively sends to the querier when it leaves a multicast group. It is used to announce that it has left a certain multicast group.
  • General group query messages are query messages sent by the querier to all hosts and routers on the shared network to learn which multicast groups have members.
  • a specific group query message refers to a query message sent by the querier to a specified multicast group in the shared network segment to query whether there are members in the multicast group.
  • the querier is usually a multicast router connected to the multicast receiver. The querier is used to send query messages and receive member report messages and member leave messages fed back by the host to learn about the network connected to the interface that receives the message. Which multicast groups have receivers (i.e. group members) on the segment.
  • the multicast routing table is usually divided into (S, G) routing table entries or (*, G) routing table entries.
  • S represents the multicast source.
  • G represents a multicast group (group).
  • G is usually represented by the multicast IP address of the multicast group. * means any.
  • the (S, G) routing table entry indicates that the multicast group and the multicast source are known.
  • (*, G) indicates that the multicast group is known but the multicast source entry is not known.
  • VPN refers to a virtual private network.
  • VPN is a private network, which can also be called user network, private network or user-side network.
  • VPNs in the embodiments of this application include, but are not limited to, Layer 3 VPN (L3VPN) or Layer 2 VPN (L2VPN).
  • L3VPN Layer 3 VPN
  • L2VPN Layer 2 VPN
  • the VPN identifier is used to identify a VPN.
  • the identifier of a VPN is a VPN identifier (virtual network identifier virtual network identifier, VN-ID) or a route identifier (route distinguisher, RD).
  • VPN BIER refers to a BIER network within a VPN.
  • VPN BIER is a BIER subdomain within a VPN.
  • a site refers to a logical area that contains at least one device with IP connectivity. IP connectivity between different devices within a site usually does not need to be implemented through the operator's network.
  • Company A has deployed its headquarters network in province VPN 1, deploy the headquarters network as site 1 of VPN 1, deploy the branch network as site 2 of VPN 1, site 1 and site 2 are in the same VPN, site 1 and site 2 can transmit data packets through the operator network .
  • the relationship between site and VPN can also be understood this way: for multiple sites connected to the same operator's network, they can be divided into different sets (sets) by formulating policies. Only sites belonging to the same set can communicate with each other through the operator. For mutual network access, this collection is a VPN.
  • one or more CPEs are deployed in the site.
  • the site IDs of different CPEs in the same site are the same. Sites are also part of the SD-WAN network.
  • next hop in the routing table entry There needs to be a directly connected next hop in the routing table entry before it can be used to guide forwarding.
  • the next hop in the routing table entry may not be directly connected. Therefore, it is necessary to calculate a directly connected next hop and the corresponding outbound interface. , this process is called routing iteration.
  • the next hop of a Border Gateway Protocol (BGP) route is generally the non-directly connected peer loopback address, which cannot guide forwarding and needs to be iterated, that is, based on the next hop learned by BGP as the destination address, the IP Search in the routing table.
  • tunnel iteration In order to pass private network traffic to the other end through the public network, a public network tunnel is required to carry private network traffic. Therefore, routing iteration needs to be performed based on the destination IP prefix to find a suitable tunnel.
  • the route is placed in the corresponding VPN instance routing table, the process of iterating routes to the corresponding tunnel is called tunnel iteration.
  • tunnel iteration For example, for BGP private network routing, a tunnel is required for forwarding. The next hop of the route is generally the loopback address of the edge device of the remote site. This cannot guide forwarding. Route iteration is also required, that is, finding the loopback address in the tunnel list. tunnel, fill the tunnel information into the routing table and generate the corresponding forwarding entry.
  • the tunnel iteration when the tunnel iteration is successful, the identity of the tunnel is retained.
  • the corresponding tunnel is found based on the tunnel identifier, and then sent out through the tunnel.
  • a tunnel generally refers to a virtual connection, or a virtual path, which enables data packets with the tunnel encapsulation format to be transmitted on the path.
  • the two endpoint devices of the tunnel encapsulate and decapsulate the tunnel header of the data packet respectively.
  • the ingress node of the tunnel encapsulates the tunnel header for the data packet
  • the egress node of the tunnel decapsulates the tunnel header and restores the original format of the data packet.
  • PMSI Provider multicast service interface
  • PTA is used to carry the information required to create PMSI.
  • next generation multicast VPN next generation MVPN, NG MVPN over BIER
  • NG MVPN over BIER next generation MVPN
  • a BIER type PTA can be used to carry the information required to establish a BIER forwarding path.
  • RFC8556 details of the PTA.
  • the multicast protocol routing table is an entry maintained by each protocol when running various multicast routing protocols. It is the basis for multicast routing and forwarding.
  • the multicast protocol routing table targeted by the embodiments of this application is, for example, a BIER routing table (BIRT) or a BIER forwarding table (BIFT).
  • the multicast routing table is used to store routing information selected from the routing information generated by multiple multicast protocols based on cost or other parameters when the device supports multiple multicast protocols.
  • the multicast forwarding table is an entry generated based on the multicast routing table to guide multicast data forwarding.
  • the loopback interface is a virtual interface on the forwarding device.
  • the loopback interface is created, unless it is closed manually interface, otherwise its physical layer is usually up.
  • the source interface that sends BGP messages can be configured as a loopback interface to ensure that the BGP session is not affected by physical interface failures.
  • the tunnel interface is a virtual interface on the forwarding device.
  • the devices at both ends of the tunnel use the tunnel to send packets, identify and process packets from the tunnel.
  • the parameters of the tunnel interface include the name of the tunnel interface, the IP address of the tunnel interface, the tunnel protocol of the tunnel interface, the source address of the tunnel, and the destination address of the tunnel.
  • NG MVPN is a new generation framework for IP multicast data traffic to traverse VPN.
  • MVPN multicast VPN
  • BGP BGP to implement automatic discovery and defines a new address family, the BGP-MVPN address family.
  • NG MVPN routing information is carried in BGP update messages.
  • NG MVPN delivers MVPN client multicast routes and establishes public network tunnels through control messages defined by BGP-MVPN.
  • BGP-MVPN defines 7 types of control messages. The 7 control messages represent 6 MVPN routing types. Types 6 and 7 are mainly used to initiate private network users to join and guide multicast data traffic delivery.
  • Types 1 to 5 are mainly used to Automatically discover MVPN members and assist MPLS in establishing P2MP tunnels.
  • Types 6 and 7 are called MVPN customers' multicast routing information (C-multicast routing, C stands for Customer), and types 1 to 5 are called leaf advertisement routes (leaf A-D routes).
  • leaf A-D route is used to respond to the Class 1 route whose flags field in the PMSI attribute is 1.
  • the autonomous system domain contains the operator multicast service interface automatic discovery route (intra autonomous system inclusive provider multicast service interface auto discovery route, Intra-AS I-PMSI A-D route) and responds to the type 3 route S-PMSI A-D route, indicating that there is a request to establish an S-PMSI tunnel at the leaf node, assisting the root node in completing tunnel information collection.
  • the address family identifier is a number used in MP-BGP to distinguish information from different network layers.
  • the form of the address family identifier is, for example, a number or a series of numbers.
  • the address family identifier includes, but is not limited to, one or more of an address family identifier (address family identifier, AFI) or a sub-address family identifier (subsequent address family identifier, SAFI).
  • AFI address family identifier
  • SAFI sub-address family identifier
  • the address family identifier includes an AFI with a value of 25 and a SAFI with a value of 70.
  • the AFI with a value of 25 and the SAFI with a value of 70 identify the Border Gateway Protocol Ethernet Virtual Private Network (BGP). EVPN).
  • the embodiments of this application are applied to the scenario of deploying multicast services in the SD-WAN network, and are specifically applied to the scenario of deploying multicast services in the same VPN in the SD-WAN network.
  • BIER is deployed within the VPN in the SD-WAN network, and multicast services are implemented based on BIER, thereby providing a VPN BIER mechanism based on SD-WAN, allowing multicast data flows from multicast sources in the VPN You can use BIER and SD-WAN tunnels to traverse the WAN to reach multicast receivers in the VPN.
  • the embodiments of this application are applicable to many networking scenarios.
  • the following is an example of two networking scenarios.
  • Networking Scenario 1 Deploy root nodes and leaf nodes, but do not deploy intermediate nodes.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • the application scenario shown in Figure 1 includes forwarding device A, forwarding device B and forwarding device C.
  • Forwarding device A, forwarding device B, and forwarding device C are located in the same BIER network (such as a BIER subdomain), and forwarding device A, forwarding device B, and forwarding device C are all located in VPN1.
  • Forwarding device A is located at site A within VPN 1, and forwarding device A is connected to the multicast source.
  • Forwarding device B and forwarding device C are both located at site B within VPN1.
  • Forwarding device B accesses multicast receiver A
  • forwarding device C accesses multicast receiver A and multicast receiver B.
  • the WAN interface 211 of forwarding device A and the WAN interface 212 of forwarding device B establish an SD-WAN tunnel 21. That is, the two endpoint devices of the SD-WAN tunnel 21 are forwarding device A and forwarding device B respectively.
  • the WAN interface 221 of forwarding device A and the WAN interface 222 of forwarding device C establish an SD-WAN tunnel 22. That is, the two endpoint devices of the SD-WAN tunnel 22 are forwarding device A and forwarding device C respectively.
  • an RR is also deployed, and the RR is connected to forwarding device A, forwarding device B, and forwarding device C through the network.
  • Networking scenario 2 Deploy root nodes, leaf nodes and intermediate nodes.
  • Figure 2 is a specific example of deploying root nodes, leaf nodes, and intermediate nodes.
  • Figure 2 is based on the scenario shown in Figure 1 and further includes a forwarding device D.
  • Forwarding device D is located in site C within VPN1.
  • the WAN interface 311 of forwarding device A and the WAN interface 312 of forwarding device D establish an SD-WAN tunnel 31.
  • the WAN interface 321 of forwarding device D and the WAN interface 322 of forwarding device B establish an SD-WAN tunnel 32.
  • the WAN interface 331 of forwarding device D and the WAN interface 332 of forwarding device B establish an SD-WAN tunnel 33.
  • the definition of device roles varies in different protocols.
  • the roles of devices are mainly divided into three types: BFIR, transit BFR and BFER.
  • forwarding device A is BFIR
  • forwarding device D is transit BFR
  • forwarding device B and forwarding device C are BFER.
  • the roles of devices are mainly divided into root nodes (or head nodes), intermediate nodes, and leaf nodes.
  • forwarding device A is the root node
  • forwarding device D is the intermediate node
  • forwarding device B and forwarding device C are leaf nodes.
  • the roles of devices are mainly divided into CPE and RR.
  • forwarding device A, forwarding device D, forwarding device B, and forwarding device C are all CPEs, or one of forwarding device A, forwarding device D, forwarding device B, and forwarding device C It is CPE and RR at the same time, and the other three devices are CPE.
  • FIG 4 is a schematic diagram of the logical functional architecture provided by the embodiment of this application.
  • the functional architecture includes an SD-WAN tunnel layer, a VPN BIER layer and a multicast private network layer.
  • the SD-WAN tunnel layer is the basis of the VPN BIER layer and is used to forward multicast data flows through SD-WAN forwarding.
  • the VPN BIER layer is used to forward multicast data packets within the VPN based on BIER.
  • the VPN BIER layer introduces the VPN BIER mechanism to allow multicast data traffic within the VPN to traverse the operator's network. For example, deploy the intra-VPN BIER function on the LAN side on the operator network backbone CPE and enterprise or user branch access network CPE to form a multi-tenant isolated SD-WAN overlay BIER topology, and deploy tenants' multicast services on top of the VPN BIER , realize the BIER multicast service of SD-WAN single-hop or multi-hop network service point (point of presence, POP).
  • point of presence, POP point of presence
  • the multicast private network layer is used for information exchange of multicast services on the control plane, such as through BGP MVPN or EVPN multicast channels.
  • One-hop joining means that the leaf node sends BGP signaling to the root node to join the multicast group through the BGP peer relationship with the root node, or the leaf node sends BGP signaling to the RR through the BGP peer relationship with the RR. , the RR then forwards BGP signaling to the root node through the BGP peer relationship with the root node to join the multicast group.
  • the leaf node Compared with PIM, the leaf node sends control signaling to the previous hop node of the leaf node, and then each hop node sends control signaling to the upstream hop by hop until the control signaling reaches the root node and joins the multicast group.
  • the BGP signaling indicating joining only needs to be sensed by leaf nodes and root nodes, or only leaf nodes, root nodes and RRs, and does not need to be sensed by every hop node in the forwarding path, one-hop joining is achieved, reducing the number of Forwarding is used to indicate the bandwidth occupied by the added BGP signaling.
  • VPN BIER tunnels are BIER forwarding paths established based on SD-WAN tunnels.
  • VPN BIER tunnel is a virtual tunnel.
  • a VPN BIER tunnel can pass through multiple SD-WAN tunnels.
  • SD-WAN tunnels are usually end-to-end tunnels between sites, and SD-WAN tunnels can pass through multiple nodes within the transmission network.
  • the VPN BIER tunnel refers to from forwarding device A through forwarding device D to forwarding device B.
  • the root node of the VPN BIER tunnel is forwarding device A, the intermediate node is forwarding device D, and the leaf node is forwarding device B.
  • VPN BIER tunnel is established based on SD-WAN tunnel 31 and SD-WAN tunnel 32.
  • the two endpoints of the SD-WAN tunnel 31 are forwarding device A and forwarding device D respectively.
  • the SD-WAN tunnel 31 passes through multi-hop nodes in the transmission network 1.
  • the two endpoints of the SD-WAN tunnel 32 are forwarding device B and forwarding device D respectively.
  • the SD-WAN tunnel 32 passes through multi-hop nodes in the transmission network 2.
  • Some embodiments of this application involve the control plane configuration process of different layers in the above three-layer logical architecture.
  • the parameter set related to the VPN BIER layer is called the first parameter set
  • the multicast private network is called the first parameter set.
  • the layer-related parameter set is called the second parameter set
  • the SD-WAN tunnel layer-related parameter set is called the third parameter set.
  • the configured parameters can be advertised within the VPN.
  • a forwarding device in the VPN receives the parameters related to any of the above three layers advertised by another forwarding device in the VPN, it can obtain the corresponding relationship of the corresponding layer based on the received parameters, so as to receive the multicast data. Multicast data packets are forwarded through this corresponding relationship.
  • the forwarding device saves the obtained correspondence in the form of a table entry.
  • a corresponding relationship is a row of entries or a collection of multiple rows of entries in a table on the forwarding device.
  • the tables on the forwarding device are usually divided into routing information base (RIB) and forwarding information base (FIB).
  • the specific form of the corresponding relationship may be an entry in the RIB table or an entry in the FIB table.
  • the embodiments of this application will later refer to the corresponding relationship related to the VPN BIER layer as the first corresponding relationship, the corresponding relationship related to the multicast private network layer as the second corresponding relationship, and the corresponding relationship to the multicast private network layer as the second corresponding relationship.
  • the correspondence relationship related to the SD-WAN tunnel layer is called the third correspondence relationship.
  • the forwarding device stores the above three corresponding relationships through different types of entries.
  • the above three correspondences are stored in three independent tables on the device.
  • the first correspondence is an entry in the BIER forwarding table (BIFT) or the BIER routing table (BIRT)
  • the second correspondence is an entry or group in the multicast routing table.
  • the third corresponding relationship is an entry in the SD-WAN tunnel forwarding table.
  • the forwarding device stores at least two of the above three correspondences through one type of table entry, that is, at least two of the above three correspondences are integrated into the same table. This embodiment does not limit whether the above three corresponding relationships are independent tables or integrated into one table.
  • a forwarding device can store the above three corresponding relationships at the same time, or can store only one or two corresponding relationships among the above three corresponding relationships. For example, for a forwarding device serving as an intermediate node, since the intermediate node usually does not need to maintain the status of the multicast service, the forwarding device serving as an intermediate node does not need to save the above-mentioned second corresponding relationship.
  • the forwarding device as the root node can store the first correspondence, the second correspondence and the third correspondence
  • the forwarding device as the leaf node can store the first correspondence, the second correspondence and the third correspondence.
  • routing iteration generally refers to the forwarding device querying one corresponding relationship. After obtaining the query result, the forwarding device can determine to query another corresponding relationship based on the query result.
  • the first correspondence includes the next hop that matches the parameters identifying the SD-WAN tunnel, thereby achieving pointing to SD-WAN at the VPN BIER layer, so that as the root node
  • the intermediate node or leaf node searches for the first correspondence based on the bit string, it can determine based on the next hop that the multicast data message is to be forwarded through the SD-WAN tunnel, and then further searches for the third correspondence to obtain the outbound interface and next hop.
  • the content of the next hop field or the outbound interface field in the above first correspondence is the site ID of the site where the peer device of the SD-WAN tunnel is located. Therefore, after searching for the first correspondence, the content of the next hop field or the egress interface field is the site ID of the peer device of the SD-WAN tunnel. The site ID of the site will further find the third corresponding relationship.
  • the above-mentioned second correspondence includes parameters identifying the VPN BIER tunnel, thereby achieving pointing to the VPN BIER at the multicast private network layer, so that the forwarding device serving as the root node receives To the multicast data packet, when searching for the second correspondence, it can be determined according to the next hop that the multicast data packet is to be forwarded through the VPN BIER tunnel, and then the first correspondence is further searched to obtain the outgoing interface and next hop.
  • the following is an example of the parameter configuration of the VPN BIER layer and the process of obtaining the corresponding relationship through the embodiment shown in Figure 5.
  • the embodiment of Figure 5 takes the process of advertising parameters in the VPN by the first forwarding device in the VPN as an example.
  • the first forwarding device covers a variety of situations.
  • the first forwarding device is the root node.
  • the first forwarding device is forwarding device A.
  • the first forwarding device is a leaf node.
  • the first forwarding device is forwarding device B or forwarding device C.
  • the first forwarding device is an intermediate node.
  • the first forwarding device is forwarding device D.
  • the first forwarding device is the endpoint of the SD-WAN tunnel.
  • the first forwarding device is forwarding device A
  • the first forwarding device is the entry node of the SD-WAN tunnel 31.
  • the first forwarding device is forwarding device D
  • the first forwarding device is an egress node of the SD-WAN tunnel 31 , an ingress node of the SD-WAN tunnel 32 , and an ingress node of the SD-WAN tunnel 33 .
  • the first forwarding device is forwarding device B, and the first forwarding device is the egress node of the SD-WAN tunnel 32 .
  • Figure 5 is a flow chart of a multicast configuration method provided by an embodiment of the present application. The method shown in Figure 5 includes the following steps S501 to step S504.
  • Step S501 The first forwarding device in the VPN obtains the first parameter set.
  • the first parameter set includes the BFR prefix of the first forwarding device and parameters used to identify the SD-WAN tunnel.
  • the first forwarding device can, firstly, identify the source of the first parameter set as the first forwarding device, so that the device that receives the first parameter set can know that the first parameter set belongs to the first forwarding device. Second, if the first forwarding device needs to send other parameters subsequently, taking the first parameter set as an example, by carrying the BFR prefix in the first parameter set, it can be indicated that the parameters in the first parameter set and the parameters in the first parameter set are The first forwarding device sends it, which is equivalent to implicitly indicating that the BFR prefix has a corresponding relationship with the parameters of the SD-WAN tunnel; third, the device that receives the BFR prefix can use the BFR prefix as the destination address and calculate the outbound interface to reach the BFR prefix.
  • the message encapsulation format for publishing BIER parameters proposed in the BIER standard protocol usually carries a reachability TLV (reachability prefix TLV) in the message, such as TLV 236 defined in RFC 5308 or TLV defined in RFC 5120 237), the BFR prefix is carried in the reachability TLV, and other parameters of BIER are carried in the sub-TLV of the reachability TLV (such as BIER info sub TLV).
  • a reachability TLV reachability prefix TLV
  • the BFR prefix can be carried in the reachability TLV in the message, and other parameters other than the BFR prefix can be carried in the sub-TLV in the reachability TLV, thereby multiplexing BIER when publishing parameters.
  • Existing message encapsulation format Existing message encapsulation format.
  • the BFR prefix of the first forwarding device is 1.1.1.1.
  • the first forwarding device advertises the BFR prefix: 1.1.1.1 and the parameters of the SD-WAN tunnel in the VPN, other BFRs in the VPN receive the parameters and can know when needed When forwarding data packets to a device with 1.1.1.1 as the destination prefix, the data packets need to be forwarded through the SD-WAN tunnel.
  • the BFR prefix of the first forwarding device in the first parameter set is the private IP address of the first forwarding device in the VPN. For example, configure VPN 1 on the first forwarding device, and configure the private IP address of VPN 1 as the BFR prefix of the first forwarding device.
  • the BFR prefix of the first forwarding device is the private IPv4 address of the first forwarding device within the VPN, or is the private IPv6 address of the first forwarding device within the VPN.
  • the private IP address in the VPN is configured as the BFR prefix of the first forwarding device, then when the first forwarding device sends a parameter set containing the BFR prefix, the BFR with routes reaching VPN 1 will receive the parameter set, and BFRs with unreachable routes to VPN 1 will not receive the parameter set.
  • the first forwarding device is a leaf node
  • the first parameter set further includes the BFR-ID of the first forwarding device as the leaf node.
  • the first forwarding device advertises its own BFR-ID.
  • the first forwarding device needs to receive a multicast data packet, it can instruct the multicast data packet by setting the bit string in the packet to the BFR-ID corresponding to the first forwarding device.
  • the message is to be forwarded to the first forwarding device. Therefore, the intermediate node in the SD-WAN network can copy and forward the message based on the bit string without Aware of the multicast group status, there is no need to build a multicast distribution tree for each multicast data flow, thus saving the storage resources of the intermediate nodes due to the multicast table entries needed to maintain the multicast distribution tree. , and also avoid the overhead caused by the establishment of a multicast distribution tree by intermediate nodes.
  • the forwarding path of the multicast data flow can be flexibly updated by updating the bit string without the need to perform undo and rebuild operations on a large number of multicast distribution trees, thereby improving network performance. scalability and flexibility.
  • the first parameter set also includes the BSL of the first network device, the max-SI of the first network device, the ID of the BIER subdomain where the first network device is located, the BIFT-ID of the first network device, and the VPN one or more of the identifiers.
  • the parameters used to identify SD-WAN tunnels come in many forms.
  • the above parameter used to identify the SD-WAN tunnel is in the form of a number or a series of numbers.
  • the above parameter used to identify the SD-WAN tunnel is 1, 2 or 3, or 111, 222 or 333.
  • the above-mentioned parameter used to identify the SD-WAN tunnel is the IP address of the first forwarding device.
  • the above-mentioned parameter used to identify the SD-WAN tunnel is an IPv4 address; or, the above-mentioned parameter used to identify the SD-WAN tunnel is IPv6 address.
  • the forwarding device is configured with a loopback interface bound to the SD-WAN tunnel.
  • the above parameter used to identify the SD-WAN tunnel is the IP address of the loopback interface bound to the SD-WAN tunnel.
  • the forwarding device is configured with a tunnel interface bound to the SD-WAN tunnel.
  • the above parameter used to identify the SD-WAN tunnel is the IP address of the tunnel interface bound to the SD-WAN tunnel.
  • the above parameter used to identify the SD-WAN tunnel is a string.
  • the above parameter used to identify the SD-WAN tunnel is the name of the tunnel interface bound to the SD-WAN tunnel, or the name of the tunnel interface bound to the SD-WAN tunnel.
  • the name of the specified tunneling protocol For another example, the above parameter used to identify the SD-WAN tunnel is the string "SD-WAN".
  • the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information.
  • the first tunnel type identifies the SD-WAN tunnel.
  • the first tunnel type is in the form of a number that represents the SD-WAN tunnel.
  • the first tunnel type is in the form of a string, such as "SD-WAN".
  • the first information is used to determine the SD-WAN tunnel.
  • the first information includes at least one of the identification of the site where the first forwarding device is located or the CPE ID of the first forwarding device.
  • the first information is other information capable of identifying the first forwarding device in the SD-WAN network, such as TNP information of the first forwarding device.
  • the first information is a label of the SD-WAN tunnel.
  • the label of an SD-WAN tunnel is used to identify an SD-WAN tunnel.
  • the label of the SD-WAN tunnel can be in the form of an MPLS label, an SRv6 SID, or a combination of the source site identifier, the source TNP identifier, the destination site identifier, and the destination TNP identifier.
  • the first forwarding device obtains the first parameter set
  • the following is an example of how the first forwarding device obtains the first parameter set through four methods.
  • the network administrator performs a configuration operation on the first forwarding device through a command line or a web interface, and inputs the above first parameter set.
  • the first forwarding device responds to the configuration operation of the network administrator and obtains the first parameter set input by the network administrator.
  • the controller allocates a first parameter set to the first forwarding device.
  • the controller sends the first parameter set to the first forwarding device.
  • the first forwarding device receives the first parameter set sent by the controller.
  • the protocols based on which the controller sends the first parameter set include, but are not limited to, network configuration protocol (NETCOF), simple network management protocol (SNMP), telemetry (telemetry), and the declarative state transfer principle ( representational state transfer, RESTful) or BGP link state (BGP link-state, BGP-LS), etc.
  • the root node allocates a corresponding parameter set to each leaf node to obtain the first parameter set of the first forwarding device serving as the leaf node.
  • the root node sends the first parameter set to the first forwarding device.
  • the first forwarding device receives the first parameter set sent by the controller.
  • Obtaining method 4 The first forwarding device automatically generates the local parameter set.
  • the first forwarding device generates the first parameter set according to a set rule or algorithm.
  • the above combines the four methods to comprehensively introduce the implementation method of how to obtain the first parameter set.
  • the following is an example of how to determine the parameters that may be included in the first parameter set.
  • the execution subject of determining the parameters described below can be the network management
  • the operator may also be a controller, a root node, or the first forwarding device itself. This embodiment does not limit the execution subject of determining parameters.
  • each BFER in a BIER network is assigned a corresponding BFR-ID, and different BFERs in the same BIER network have different BFR-IDs. For example, if a BIER network has three BFERs, the BFR-IDs assigned to the three BFERs are 1, 2, and 3 respectively.
  • transit BFR there is usually no need to assign a BFR-ID to the transit BFR.
  • assign the BFR-ID of the transit BFR to 0.
  • no corresponding BFR-ID is allocated to BFIR.
  • BFR-ID is assigned to a BFIR
  • the BFR-ID of the BFIR is different from the BFR-ID of each BFER in the same BIER network.
  • the BFR-ID is determined based on the number of BFERs in the BIER network. For example, if the number of BFERs in the BIER network is less than 64, each BFER is assigned a BFR-ID in the range of 1-64 in turn. If the number of BFERs in the BIER network is greater than 64 and less than 128, each BFER is assigned a BFR-ID in the range of 1-128 in turn.
  • a value is selected as the BSL from the reference values of the BSL specified in the BIER standard protocol.
  • the reference values of BSL in BIER's standard protocol include 64, 128, 512, 1028, 2048 and 4096.
  • the topology of the BIER network is collected, the number of BFERs is determined based on the topology of the BIER network, and a value greater than the number of BFERs is selected as the BSL. For example, from the reference values of BSL specified in the BIER standard protocol, select a value that is greater than the number of BFER and closest to the number of BFER as the BSL. For example, if the number of BFERs in the BIER network is less than 64, select 64 as the BSL; if the number of BFERs in the BIER network is greater than 64 and less than 128, select 128 as the BSL.
  • the IP address of a loopback interface is selected as the BFR prefix from the outbound interface of the first forwarding device.
  • Step S502 The first forwarding device sends the first parameter set within the VPN.
  • the effects that can be achieved include but are not limited to the following three aspects.
  • tenant isolation means that the forwarding tables of different VPNs are isolated from each other, and the device maintains an independent forwarding table for each VPN.
  • this embodiment sends the parameter set within the VPN. It helps to establish the BIER forwarding table corresponding to the VPN. Since the parameters of external VPN devices do not need to be considered when establishing the BIER forwarding table, the BIER forwarding tables of different VPNs are independent of each other and supports tenant-based BIER topology deployment.
  • the length of the BFR-ID and the bit string can be determined based on the number of devices in the VPN. Since the number of BFRs in a VPN is relatively small, the planning of the BFR-ID can More concentrated, the length of the bit string can be shorter, thus reducing message overhead and improving the forwarding performance of the device.
  • a user rents a VPN and deploys three sites. The multicast source is at site A, and the multicast receivers are distributed at site B and site C. In this scenario, you can configure a device in site A as BFIR, a device in site B as BFER, and a device in site C as BFER. Then there are only two BFERs in the VPN and BFR -ID can be configured as 1 and 2 respectively, and the length of the bit string can be the minimum value of BSL recommended by the protocol.
  • the sending range of the parameter set is limited to the VPN, when the VPN expands, for example, when a new site is added to the VPN, the parameter set of the new site does not need to be sent to the device outside the VPN. Instead, the parameters of the new site will be sent to the device outside the VPN. It only needs to be sent to the BFR deployed in the VPN, so it is easy to expand the network and the flexibility and scalability of the network are better.
  • the first forwarding device generates a first notification message, the first notification message includes the above-mentioned first parameter set, and the first forwarding device sends the first notification within the VPN message. That is, each parameter in the above-mentioned first parameter set is published into the VPN through a message.
  • the above-mentioned first advertisement message is a BGP message.
  • the above-mentioned first notification message is, for example, a BGP update message.
  • the first notification message includes a first address family identifier and a first parameter set.
  • the first address family identifier includes, but is not limited to, one or more of AFI or SAFI.
  • the first address family identifier is used to identify the BGP EVPN.
  • the first address family identifier is used to identify the BGP VPN BIER.
  • the parameter set In the scenario where parameter sets are advertised between endpoint devices of an SD-WAN tunnel, the parameter set needs to cross the transmission network on which the SD-WAN tunnel is based from one site to another site, and IGP or private protocols do not support cross-device establishment. In the peer relationship, when using the IGP flooding parameter set, the parameter set needs to be transmitted hop by hop within the transmission network, resulting in occupied network bandwidth.
  • BGP is used to advertise the first parameter set. Since BGP allows the establishment of peer relationships across devices, that is, two devices that are not directly connected at the IP layer can establish a peer relationship through TCP and then transfer parameters based on the peer relationship.
  • the parameter set can cross the transmission network from one site to another site, thereby reducing the bandwidth occupied by the notification parameters on the transmission network and improving performance.
  • path attributes can be used to implement functions such as receiving and sending control parameters, thereby adapting to richer scenarios.
  • BGP EVPN and BGP VPN BIER are used to support advertising information within the VPN or private network information.
  • BGP EVPN and BGP VPN are used BIER is used to notify the above first parameter set, which matches the purpose defined by the standard protocol for BGP EVPN and BGP VPN BIER, and has good compatibility.
  • the above-mentioned first notification message includes an NLRI field and one or more path attribute fields, and the NLRI field carries the BFR prefix and the VPN's Identifies one or more of them.
  • One or more path attribute fields carry one or more of BFR-ID, BSL, max-SI, BIER subdomain ID, BIFT-ID, and SD-WAN tunnel parameters. Multiple.
  • the above-mentioned path attribute is, for example, a BGP transitive path attribute (BGP transitive path attribute).
  • the above path attributes are, for example, BGP extended community attributes.
  • the above-mentioned first notification message includes a first extended community attribute field, a second extended community attribute field, and a third extended community attribute field.
  • the first extended community attribute field includes BFR-ID, BSL, max-SI, and subdomain-ID. and one or more BIFT-IDs
  • the second extended community attribute field includes the first tunnel type
  • the third extended community attribute field includes the first information.
  • the first extended community attribute field is, for example, a BIER service encapsulation attribute field.
  • the second extended community attribute field is, for example, an SD-WAN encapsulation attribute field.
  • the third extended community attribute field is, for example, the SD-WAN color attribute field.
  • the above step S502 illustrates how a forwarding device sends its own parameter set to another forwarding device in the VPN to which it belongs.
  • the forwarding device uses a flooding method to send parameters in the VPN. set.
  • the first forwarding device not only sends the first parameter set of its own device within the VPN, but if the first forwarding device receives parameter sets from other BFRs in the VPN, the first forwarding device also sends the parameter sets of other BFRs within the VPN.
  • the first forwarding device not only sends its first parameter set to the second forwarding device in the VPN, but also sends the first parameter set to all other BFRs in the VPN except the first forwarding device itself and the second forwarding device.
  • each BFR in the VPN can obtain the parameter sets of all BFRs in the VPN, so that the parameter sets of all BFRs in the VPN can obtain the topology of the BIER network in the VPN, which facilitates calculation from this node to the BIER network.
  • the BIER forwarding path of any BFR in the VPN can be used to calculate the BIER forwarding path within the VPN.
  • Step S503 The second forwarding device in the VPN receives the first parameter set in the VPN.
  • the first forwarding device and the second forwarding device are located in the same VPN.
  • the roles of the first forwarding device and the second forwarding device include various situations.
  • the first forwarding device is a root node
  • the second forwarding device is an intermediate node or a leaf node.
  • the first forwarding device is a leaf node
  • the second forwarding device is a root node or an intermediate node.
  • the first forwarding device and the second forwarding device are intermediate nodes with two different hops. This embodiment does not limit the roles of the first forwarding device and the second forwarding device.
  • Step S504 The second forwarding device obtains the first correspondence based on the first parameter set.
  • the first correspondence relationship is used to forward multicast data packets whose destination leaf nodes include the first forwarding device.
  • the first corresponding relationship is an entry in the BIFT in the second forwarding device.
  • the first corresponding relationship is an entry in the BIRT on the second forwarding device.
  • the first correspondence includes an F-BM matching the BFR-ID of the first forwarding device and a parameter identifying the SD-WAN tunnel.
  • the first corresponding relationship also includes a next hop that matches the BFR-prefix of the first forwarding device.
  • the form of the F-BM matched by the BFR-ID of the first forwarding device is, for example, a bit string.
  • the bit corresponding to the BFR-ID of the first forwarding device in the F-BM is set.
  • the data form of the next hop matching the BFR-prefix of the first forwarding device includes multiple implementation methods.
  • the next hop in the first correspondence that matches the BFR-prefix of the first forwarding device includes the identity of the site where the next hop is located, the CPE ID of the next hop, and the number of users who reach the next hop on the second forwarding device. Any one or a combination of the first outbound interface and the second outbound interface of the next hop.
  • the first outgoing interface is the next-hop communication interface on the second forwarding device that matches the BFR-prefix of the first forwarding device.
  • the first outgoing interface is, for example, an interface bound to the SD-WAN tunnel.
  • the first outbound interface is the loopback interface bound to the SD-WAN tunnel on the second forwarding device, or the tunnel interface bound to the SD-WAN tunnel on the second forwarding device.
  • the first outbound interface is the TNP corresponding to the SD-WAN tunnel on the second forwarding device.
  • the second outgoing interface is an interface that communicates with the second forwarding device on the next hop that matches the BFR-prefix of the first forwarding device.
  • the second outgoing interface is, for example, an interface bound to the SD-WAN tunnel.
  • the second outbound interface is the loopback interface bound to the SD-WAN tunnel on the next hop.
  • Another example is the tunnel interface bound to the SD-WAN tunnel on the next hop.
  • Another example is the tunnel interface bound to the SD-WAN tunnel on the next hop.
  • the field where the next hop matching the BFR-prefix of the first forwarding device is located in the first correspondence relationship includes multiple methods.
  • the first corresponding relationship includes a BFR-NBR field, and the BFR-NBR field includes the next hop matching the BFR-prefix of the first forwarding device.
  • the first correspondence relationship includes a BFR-NBR field and a first field.
  • the BFR-NBR field includes the BFR-prefix of the next hop that matches the BFR-prefix of the first forwarding device.
  • the first field includes the BFR-prefix of the next hop that matches the BFR-prefix of the first forwarding device.
  • the next hop matched by BFR-prefix For example, the first field has the field name Next Hop.
  • the BFR-ID of the first forwarding device is 2
  • the BFR prefix of the first forwarding device is 10.1.1.1
  • the value of the parameter identifying the SD-WAN tunnel is SD-WAN.
  • the second forwarding device subscribes to the route according to the BFR prefix of the first forwarding device and determines that the next hop to the first forwarding device is the third forwarding device.
  • the third forwarding device is located in site 3, and the site ID of site 3 is 333.
  • the CPE ID of the third forwarding device is 10.3.3.3.
  • the second forwarding device determines that the F-BM matching the BFR-ID of the first forwarding device is 0010.
  • the second forwarding device generates entries in BIFT including, for example, the entries shown in Table 1 below or Table 2 shows the entries.
  • Table 1 and Table 2 are both examples of the first correspondence relationship.
  • the meaning of Table 1 is that if the bit string in the received message is not all 0 after ANDing with F-BM (0010), it needs to pass SD -The WAN tunnel forwards the packet to the next hop with site ID 333.
  • the meaning of Table 2 is that if the bit string in the received message is not all 0 after being ANDed with F-BM (0010), it needs to be forwarded to the next hop with CPE ID 10.3.3.3 through the SD-WAN tunnel. message.
  • the length of F-BM in the above table is 4 for simplification.
  • the length of F-BM is usually equal to the length of the bit string.
  • the length of F-BM on the device shall be subject to actual conditions.
  • the first correspondence relationship also includes an identifier of the VPN where the first forwarding device is located.
  • the above-mentioned first parameter set also includes an identifier of the VPN where the first forwarding device is located, and the second forwarding device generates the above-mentioned first correspondence relationship according to the identifier of the VPN. For example, if the identifier of the VPN where the first forwarding device is located is 1, then the second forwarding device generates entries in BIFT including, for example, the entries shown in Table 3 below or the entries shown in Table 4 below. Tables 3 and 4 are examples of the first correspondence.
  • Table 3 The meaning of Table 3 is that if the received message includes the identifier of VPN 1 (1), and the bit string in the message is consistent with F-BM (0010 ) phase and is not all 0, then the packet needs to be forwarded to the next hop with site ID 333 through the SD-WAN tunnel.
  • Table 4 The meaning of Table 4 is that if the received message includes the identifier of VPN 1 (1), and the bit string is not all 0 after being ANDed with F-BM (0010), then it needs to be sent to the CPE with ID 10.3 through the SD-WAN tunnel. .3.3 forwards the packet to the next hop.
  • the second forwarding device does not add the identification of the VPN to the first corresponding relationship, but determines the inbound interface bound to the VPN on the second forwarding device, and adds the first corresponding relationship to the inbound interface bound to the VPN. in the corresponding routing table.
  • the first corresponding relationship also includes one of the BSL of the first forwarding device, the max-SI of the first forwarding device, the ID of the BIER subdomain where the first forwarding device is located, and the BIFT-ID of the first forwarding device, or Multiple.
  • the forwarding device can indicate the association between BIER and SD-WAN by advertising the BFR prefix and the parameters used to identify the SD-WAN tunnel in the VPN. That is, if a certain BFR prefix needs to be reached, , it has to go through the SD-WAN tunnel, so it is helpful to forward the data packet based on BIER in SD-WAN, so that the intermediate node in the SD-WAN network can realize the packet routing based on the bit string setting in the packet. Copy and forward without being aware of the multicast group status or building a multicast distribution tree for each multicast data flow.
  • VPN BIER layer has been described above through the embodiment of Figure 5.
  • the configuration of the multicast private network layer will be illustrated below with an example.
  • the configuration of the multicast private network layer involves the process of control plane interaction between the root node and leaf nodes.
  • the root node interacts with the leaf nodes to learn which destination leaf nodes the multicast data stream needs to be sent to.
  • the root node combines the BFR-IDs of the destination leaf nodes to obtain the bit string corresponding to the specified multicast source group information. Realize the establishment of VPN BIER tunnel.
  • the so-called establishment of a VPN BIER tunnel means that the root node obtains the correspondence between the multicast source group information, the tunnel type identifying the VPN BIER tunnel, and the bit string. After obtaining this correspondence, when receiving a multicast data message containing multicast source group information, the root node obtains the tunnel type and bit string that identifies the VPN BIER tunnel by looking up the correspondence.
  • the tunnel type of the VPN BIER tunnel determines that multicast data packets are to be forwarded on the path of the VPN BIER type. According to the bit string, the BIER forwarding process is executed to guide the multicast data packets to the VPN BIER tunnel.
  • the leaf node since the leaf node notifies the root node of the multicast source group information and BFR-ID together, the signaling interaction process between the leaf node and the root node is simplified, and the root node and the leaf node save time in processing and sending and receiving control plane messages. It also saves the network bandwidth occupied by transmitting control plane messages in the public network.
  • NG MVPN traditional multicast VPN technology
  • C-multicast routing will be exchanged between the leaf node and the root node, so that the root node
  • the node learns which destination leaf nodes the multicast data flow corresponding to the specified multicast source group information needs to be sent to.
  • the root node and the leaf node pass the BIER parameters (BFR-ID, BFR-prefix and subdomain identification) through the interaction Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route; after that, the root node passes the BIER parameter according to the leaf A-D route.
  • the BIER parameters in A-D route establish the BIER forwarding path.
  • C-multicast routes are required to carry multicast source group information but are not required to carry BIER parameters
  • leaf A-D routes are required to carry BIER parameters but usually do not carry multicast source group information.
  • C-multicast routing, Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route are implemented by transmitting BGP Update messages respectively in the public network.
  • the root node needs to exchange BGP Update messages carrying BIER parameters and BGP Update messages carrying multicast source group information with leaf nodes respectively in order to obtain the information required to establish a BIER forwarding path (multicast source group information and BIER parameters). , resulting in high overhead in processing and sending and receiving messages.
  • BGP Update messages carrying BIER parameters and BGP Update messages carrying multicast source group information must be transmitted successively, which also results in the occupied bandwidth resources being large.
  • the leaf node after receiving the join message, the leaf node transmits the multicast source group information and BIER parameters to the root node through the same notification message, which is equivalent to establishing the BIER forwarding path.
  • the required information are notified to the root node, so the root node and leaf nodes do not need to separately interact with Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route for transmission.
  • BIER parameters thereby saving signaling overhead and bandwidth resources caused by interacting with Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route.
  • the following is an example of the parameter configuration of the multicast private network layer and the process of obtaining the corresponding relationship through the embodiment shown in Figure 6.
  • the embodiment of Figure 6 takes the process of advertising parameters from the first forwarding device in the VPN to the second forwarding device in the VPN as an example. describe.
  • the first forwarding device is a leaf node
  • the second forwarding device is a root node
  • the first forwarding device and the second forwarding device are in the same VPN.
  • Figure 6 is a flow chart of a multicast configuration method provided by an embodiment of the present application. The method shown in Figure 6 includes the following steps S601 to S604.
  • Step S601 The first forwarding device in the VPN obtains the second parameter set.
  • the second parameter set includes multicast source group information, the BFR-ID of the first forwarding device, and the second tunnel type.
  • the multicast source group information is used to identify the multicast group corresponding to the multicast data flow, and optionally also identifies the multicast source of the multicast data flow.
  • the multicast source group information includes a multicast source address and an address of the multicast group.
  • the multicast source group information includes the address of the multicast rendezvous point (RP) and the address of the multicast group.
  • the first forwarding device receives a join message from a multicast receiver within the VPN.
  • the first forwarding device obtains the multicast source group information from the join message.
  • the join message includes multicast source group information.
  • the above-mentioned join message is, for example, an IGMP message, such as a member report message in IGMP, or a PIM message.
  • the first forwarding device receives a leave message from the intra-VPN multicast receiver, where the leave message includes multicast source group information.
  • the second tunnel type is used to identify the tunnel between the first forwarding device and the first forwarding device as a VPN BIER tunnel.
  • the second tunnel type is a string, such as "VPN BIER", or a number that identifies the VPN BIER tunnel.
  • the first forwarding device obtains the second tunnel type according to the control plane configuration.
  • the second parameter set also includes the BFR prefix of the first forwarding device.
  • the second parameter set also includes one or more of the max-SI of the first forwarding device, the ID of the BIER subdomain where the first forwarding device is located, and the BSL of the first forwarding device.
  • the second parameter set also includes an identifier of the VPN where the first forwarding device is located.
  • the second parameter set also includes the identity of the site where the second forwarding device as the root node is located or the CPE ID of the second forwarding device.
  • Step S602 The first forwarding device in the VPN sends the second parameter set to the second forwarding device in the VPN.
  • the first forwarding device generates a second notification message
  • the second notification message includes a second parameter set
  • the first forwarding device sends the second notification message to the second forwarding device.
  • the second advertisement message includes a second address family identifier and a second parameter set.
  • the second address family identifier is used to identify NG MVPN or BGP EVPN.
  • the second address family identifier includes, but is not limited to, one or more of AFI or SAFI.
  • the second address family identifier is used to identify the NG MVPN.
  • the second address family identifier is used to identify the BGP EVPN.
  • For the specific format of the second notification message please refer to the description of Figures 12 to 17 below.
  • the second advertisement message includes PTA attributes and virtual router forwarding router import VRI (virtual router forwarding router import, VRF router import, VRI) attributes.
  • the PTA attributes include the second tunnel type, the identity of the VPN where the first forwarding device is located, the BFR-ID of the first forwarding device, the max-SI of the first forwarding device, and the ID of the BIER subdomain where the first forwarding device is located. and the BSL of the first forwarding device.
  • VRI attributes include the identity of the VPN, the identity of the site where the second forwarding device is located, or the CPE ID of the second forwarding device.
  • the PTA attribute includes an MPLS label field, and the MPLS label field includes the identification of the VPN.
  • Step S603 The second forwarding device receives the second parameter set within the VPN.
  • Step S604 The second forwarding device obtains the second correspondence based on the second parameter set.
  • the second corresponding relationship includes multicast source group information, a second tunnel type, and a first bit string matching the BFR-ID of the first forwarding device.
  • the second correspondence relationship is shown in Table 5 below.
  • the second correspondence includes entries in two separate tables.
  • the second correspondence relationship includes a fourth correspondence relationship and a fifth correspondence relationship.
  • the fourth correspondence is an entry in the multicast forwarding table on the second forwarding device, and the fourth correspondence includes multicast source group information and the second outbound interface on the second forwarding device.
  • the second outbound interface is a virtual outbound interface.
  • the fifth corresponding relationship is the forwarding table bound to the second outbound interface.
  • the fifth corresponding relationship includes the second outbound interface, the second tunnel type, and the first bit string matching the BFR-ID of the first forwarding device.
  • Table 6 is a specific example of the fourth correspondence relationship
  • Table 7 is a specific example of the fifth correspondence relationship.
  • Table 6 The meaning of Table 6 is that when a multicast data packet is received, if the multicast source address in the multicast data packet is S1 and the multicast group address is G1, the multicast data packet must be forwarded through interface 1.
  • Interface 1 is a virtual outbound interface, and interface 1 is used to iterate to Table 7.
  • Table 7 The meaning of Table 7 is that when the outgoing interface is found to be interface 1, multicast data packets must be forwarded through the path with tunnel type VPN BIER based on bit string 0111.
  • leaf nodes carry BIER parameters when announcing joining or exiting, so that the root node can use BIER parameters to establish a VPN BIER tunnel.
  • the above has introduced the configuration of the control plane.
  • the following is an example of the process of processing data packets based on the above control plane configuration.
  • Figure 7 is a flow chart of a method for processing multicast data packets provided by this application.
  • the interactive subjects of the method shown in Figure 7 include multicast sources, root nodes, intermediate nodes, leaf nodes and multicast receivers.
  • the multicast source, root node, intermediate node, leaf node, and multicast receiver are located in the same VPN.
  • the root node is located at the first site within the VPN
  • the intermediate node is located at the second site within the VPN
  • the leaf node is located at the third site within the VPN.
  • the first SD-WAN tunnel exists between the root node and the intermediate nodes.
  • the 2 endpoints of the first SD-WAN tunnel are the root node and the intermediate node.
  • the 2 endpoints of the second SD-WAN tunnel are the intermediate node and the leaf node.
  • the method shown in Figure 7 includes the following steps S700 to S706.
  • Step S700 The multicast source sends the first multicast data message.
  • the multicast source is inside a VPN.
  • the multicast source is located on the public network, and the multicast source sends the first multicast data packet through the outbound interface bound to the VPN, so that the first multicast data packet reaches the BFIR.
  • Step S701 The BFIR in the first site in the VPN receives the first multicast data packet.
  • the first multicast data packet includes multicast source group information.
  • the source address in the first multicast data packet includes the multicast Source address
  • the destination address in the first multicast data packet includes the multicast group address.
  • Step S702 BFIR obtains the second multicast data packet based on the first multicast data packet.
  • the second multicast data packet is a data packet obtained by encapsulating the first multicast data packet through BIER encapsulation and SD-WAN tunnel encapsulation.
  • the second multicast data packet includes a first packet header, a second packet header and a payload of the first multicast data packet.
  • the first header refers to the header required to be carried in SD-WAN tunnel encapsulation.
  • the second header refers to the header required to be carried in BIER encapsulation.
  • the first packet header can be any type of IP overlay tunnel header.
  • the first packet header includes a tunnel header and an IP header.
  • the IP header is encapsulated in the outer layer of the tunnel header and is used for hop-by-hop forwarding within the transmission network on which the SD-WAN tunnel is based through IP routing.
  • the type of the first header includes various situations.
  • the first packet header includes a GRE extension header and an IP header.
  • the first message header includes a GRE header and an IP header.
  • the first packet header includes a VXLAN header and an IP header.
  • the first packet header includes a VXLAN-GPE header and an IP header.
  • the first packet header includes a GENEVE header and an IP header.
  • the part of the first packet header other than the IP header may also be called the SD-WAN header.
  • the format of the first header please refer to the description after the title "SD-WAN Header" in the following text.
  • the first message header includes SD-WAN related parameters.
  • the first header in the second multicast data packet contains the IP addresses of the two endpoint devices of the first SD-WAN tunnel, namely the IP address of the BFIR and the IP address of the transit BFR.
  • the first message header includes a source address field and a destination address field.
  • the source address field in the first packet header includes the IP address of the BFIR.
  • the destination address field in the first packet header includes the IP address of the transit BFR.
  • BFIR establishes a first SD-WAN tunnel through the first WAN interface and the second WAN interface of transit BFR.
  • the source address in the first packet header includes the IP address of the first WAN interface of the BFIR.
  • the destination address in the second packet header includes the IP address of the second WAN interface of the transit BFR.
  • the device in the transmission network is based on The IP address of the transit BFR uses IP routing to forward the second multicast data packet to the transit BFR hop by hop, allowing the second multicast data packet to traverse the transmission network.
  • the first header in the second multicast data packet contains the IPv4 addresses of the two endpoint devices of the first SD-WAN tunnel, for example.
  • the source address field in the first packet header includes the IPv4 address of the BFIR.
  • the destination address field in the first packet header includes the IPv4 address of the transit BFR.
  • the scenario where the transport network on which the first SD-WAN tunnel is based is supported is an IPv4 network, so that each IPv4 node in the transport network can be configured according to the transit BFR.
  • the IPv4 address can forward the second multicast data packet to the transit BFR.
  • the first header in the second multicast data packet contains the IPv6 addresses of the two endpoint devices of the first SD-WAN tunnel.
  • the source address field in the first packet header includes the IPv6 address of the BFIR.
  • the destination address field in the first packet header includes the IPv6 address of the transit BFR.
  • the endpoint of the SD-WAN tunnel is within the site.
  • the two endpoint devices of the first SD-WAN tunnel are the BFIR in site 1 and the transit BFR in site 2.
  • BFIR uses the parameters used to identify the first SD-WAN tunnel and the third Corresponding relationship, obtain the IP address of transit BFR. For example, BFIR uses the parameter used to identify the first SD-WAN tunnel as an index, queries the third correspondence relationship, and obtains the destination IP address corresponding to the parameter used to identify the first SD-WAN tunnel as the first packet header. Destination IP address.
  • the third correspondence saved by BFIR includes parameters used to identify the first SD-WAN tunnel and the IP address of the transit BFR.
  • the third corresponding relationship includes the site ID of the transit BFR and the IP address of the transit BFR.
  • the third corresponding relationship includes the CPE ID of the transit BFR and the IP address of the transit BFR.
  • the third corresponding relationship includes the label of the first SD-WAN tunnel and the IP address of the transit BFR.
  • the transit BFR is located at the second site, and the site ID of the second site is 2.
  • the third corresponding relationship is as shown in Table 8 below, BFIR According to the site ID of 2 and querying Table 8, the source IP address is 10.5.5.6 and the destination IP address is 10.1.1.1. Therefore, BFIR fills in the source IP address of 10.5.5.6 in the first packet header. Fill in the destination IP address in the header with 10.1.1.1.
  • BFIR obtains the IP address of the transit BFR based on the CPE ID of the transit BFR and the third corresponding relationship.
  • the CPE ID of transit BFR is 10.2.2.2
  • the third corresponding relationship is shown in Table 9 below.
  • the BFIR obtains the IP address of the transit BFR based on the label of the first SD-WAN tunnel and the third corresponding relationship.
  • the label of the first SD-WAN tunnel is 201
  • the third corresponding relationship is shown in Table 10 below.
  • the source IP address is 10.5.5.6, and the destination IP address is 10.5.5.6.
  • the IP address is 10.1.1.1, so BFIR fills in 10.5.5.6 as the source IP address in the first packet header, and fills in 10.1.1.1 as the destination IP address in the first packet header.
  • BFIR determines the first bit string matched based on the BFR-ID of BFER and The first corresponding relationship is to obtain parameters identifying the first SD-WAN tunnel. Based on the parameters identifying the first SD-WAN tunnel, BFIR determines that the multicast data packet is to be forwarded through the first SD-WAN tunnel, or that it is to be iterated to the first SD-WAN tunnel, so BFIR encapsulates the above-mentioned first packet header. and the steps of querying the third corresponding relationship.
  • BFIR uses the first bit string to query BIFT, and uses the first bit string to perform AND operations with the F-BM in each entry in BIFT. If the result of the AND operation between F-BM and the first bit string in an entry in BIFT is not all 0, that is, the first bit string hits an entry in BIFT, then BFIR continues to read F-BM in the entry. The outbound interface and next hop corresponding to the BM are obtained from the outbound interface or next hop corresponding to the F-BM, and the above parameters identifying the first SD-WAN tunnel are obtained.
  • the first bit string obtained by BFIR is 0110.
  • BFIR uses the first bit string to query Table 1 above and determines that the first bit string 0110 is not all 0 after the AND of F-BM0010 in Table 1. Then continue reading the table.
  • BFIR determines that the outbound interface is "SD-WAN" and the next hop is the site ID "333" of site 3. Then BFIR queries the third corresponding relationship based on the site ID "333" of site 3. .
  • the first packet header also includes an identifier of the VPN.
  • the first packet header carries the VPN identifier, firstly, it identifies which VPN the multicast data packet belongs to, so that BFER can find the multicast routing table in the corresponding VPN and forward the packet, which in turn helps tenant isolation; secondly, it identifies which VPN the multicast data packet belongs to. Second, there is no need to carry the upstream VPN label in the second packet header, thus avoiding the limitations caused by carrying VPN labels. For example, it is only applicable to MPLS networks due to carrying VPN labels.
  • BFIR obtains the identity of the VPN based on the multicast source group information and the second corresponding relationship.
  • the second correspondence not only includes multicast source group information, the second tunnel type, and the first bit string matching the BFR-ID of BFER, but also includes the identity of the VPN.
  • BFIR obtains the identity of the VPN by searching for the second correspondence. .
  • BFIR does not obtain the VPN identity by searching for the corresponding relationship, but establishes the binding relationship between the incoming interface and the VPN.
  • BFIR determines the identity of the VPN bound to the interface based on the interface that receives the first multicast data packet.
  • the second message header can be any message header carrying a bit string in BIER encapsulation.
  • the second message header includes, but is not limited to, any one of the BIER header, BIERv6 header, BIERin6 header and G-BIER header defined in RFC8296.
  • the second message header is encapsulated in the inner layer of the first message header.
  • the format of the second header please refer to the description after the title "BIER header" in the following text.
  • the second packet header in the second multicast data packet includes the first BIER parameter.
  • the first BIER parameter includes the second bit string corresponding to the BFR-ID of the BFER. Since the second packet header carries the bit string corresponding to the BFR-ID of the BFER, the transit BFR can determine to forward the packet to the BFER based on the setting of the bit string in the second packet header.
  • BFIR matches the first bit string and the first corresponding bit string based on the BFR-ID of BFER. relationship to obtain the second bit string.
  • the second bit string is obtained based on the first bit string and the F-BM in the first correspondence.
  • the second bit string is obtained by performing an AND operation based on the first bit string and the F-BM in the first corresponding relationship.
  • BFIR obtains the multicast source group information from the first multicast data message. BFIR obtains the first bit string based on the multicast source group information and the second corresponding relationship. The second corresponding relationship includes multicast source group information, a second tunnel type, and a first bit string matching the BFR-ID of the first forwarding device.
  • the process of obtaining the second bit string described above is implemented, for example, by two table lookups. For example, first search the multicast forwarding table to obtain the first bit string, and then search the BIFT to obtain the second bit string.
  • the multicast source address in the first multicast data packet is S1
  • the multicast group address is G1.
  • BFIR searches the multicast forwarding table based on the multicast source group information (S1, G1).
  • BFIR determines that (S1, G1) hits the entry in the multicast forwarding table as shown in Table 5. Therefore, BFIR further searches for the entry in BIFT based on the first bit string 0111 in Table 5.
  • BFIR is ANDed with the F-BM in BIFT based on the first bit string 0111 to obtain the second bit string.
  • querying BIFT and querying the multicast forwarding table on BFIR is simplified into one table lookup. For example, after finding the bit string corresponding to the multicast source group information based on the multicast source group information on BFIR, BFIR uses the bit string corresponding to the multicast source group information as the bit string to be encapsulated into the second packet header, omitting the bit string corresponding to the multicast source group information. Steps to search for BIFT in the bit string corresponding to the multicast source group information. Alternatively, BFIR does not obtain the bit string to be encapsulated into the second message header by looking up a table, but generates the bit string to be encapsulated into the second message header when receiving the multicast data message.
  • BFIR searches for the BFR-ID of each destination BFER in the destination BFER set based on the multicast source group information, generates a bit string based on the BFR-ID and bit string length of each destination BFER in the BFER set, and encapsulates the generated bit string. to the second message header.
  • a BFIR device may store parameters for multiple types of tunnels. For example, if the device enables multiple multicast protocols, the device may have both BIER-type tunnel parameters and PIM-type tunnel parameters. For another example, the device stores both public network BIER type tunnel parameters and VPN BIER type tunnel parameters. Regarding how to determine whether to forward multicast data packets through the VPN BIER tunnel, or how to determine whether to perform the BIER forwarding process, optionally, BFIR obtains the second tunnel type based on the multicast source group information and the second corresponding relationship. Based on the second tunnel type, BFIR determines that the tunnel type that the first multicast data packet needs to pass through is a VPN BIER tunnel, so BFIR performs the above steps of obtaining the second bit string and encapsulating the second packet header.
  • the first BIER parameter in the second message header also includes BIFT-ID.
  • the second header in the second multicast data packet contains the BIFT-ID of the transit BFR. Since the second message header carries the BIFT-ID of the transit BFR, the transit BFR can find the corresponding BIER forwarding table based on the BIFT-ID in the second message header, so that it can match the bit string with the BIFT-ID in the BIER forwarding table.
  • F-BM executes the BIER forwarding process.
  • BFIR obtains the multicast source group information from the first multicast data packet.
  • BFIR obtains the BIFT-ID of the transit BFR based on the multicast source group information and the second corresponding relationship.
  • the second correspondence includes not only the multicast source group information, the second tunnel type and the first bit string described above, but also the BIFT-ID of the transit BFR.
  • BFIR obtains the second tunnel type by searching for the second correspondence. and the first bit string, the BIFT-ID of the transit BFR is also obtained.
  • the second corresponding relationship not only includes
  • the multicast source group information, second tunnel type, and first bit string described above also include the BSL of the transit BFR, the SD of the transit BFR, and the SI of the transit BFR.
  • BFIR obtains the BSL of the transit BFR by searching for the second correspondence.
  • the SD of transit BFR and the SI of transit BFR BFIR determines the BIFT-ID of transit BFR based on BSL, SD and SI.
  • the first BIER parameter in the second message header also includes the End.BIER address.
  • the second header in the second multicast data packet contains the End.BIER address of the transit BFR. Since the second message header carries the End.BIER address of the transit BFR, and the End.BIER address is bound to the BIER forwarding instruction saved by the transit BFR, the transit BFR uses the End.BIER address in the second message header. It can be determined that the packet should be forwarded through BIER. In addition, since the End.BIER address is in the form of an IPv6 address, the reachability of IPv6 unicast routing can be used to span IPv6 nodes that do not support BIER forwarding.
  • BFIR obtains the multicast source group information from the first multicast data packet.
  • BFIR obtains the End.BIER address of the transit BFR based on the multicast source group information and the second corresponding relationship.
  • the second correspondence includes not only the multicast source group information, the second tunnel type and the first bit string described above, but also the End.BIER address of the transit BFR.
  • BFIR obtains the second tunnel by searching for the second correspondence. Type and the first bit string, the End.BIER address of the transit BFR is also obtained.
  • BFIR when BFIR receives the first multicast data packet, it first determines the VPN bound to the incoming interface that received the first multicast data packet and the multicast value in the first multicast data packet.
  • Source group information search the multicast forwarding table corresponding to the VPN (second correspondence), and obtain the tunnel type, BSL, SD, SI and first bit string corresponding to the multicast source group information from the multicast forwarding table.
  • BFIR determines that BIER forwarding is required based on the tunnel type being VPN BIER tunnel.
  • BFIR encapsulates a second header into the first multicast data packet based on the first bit string.
  • BFIR obtains BIFT-ID based on BSL, SD, and SI.
  • BFIR searches for the BIFT corresponding to the BIFT-ID based on the first bit string.
  • BFIR performs an AND operation on the first bit string and the first F-BM in BIFT.
  • BFIR determines to forward the message to the next hop corresponding to the first F-BM based on the AND of the first bit string and the first F-BM in the BIFT, and adds the bit string in the second message header.
  • the first bit string is updated to the result of the AND of the first bit string and the first F-BM in BIFT (the second bit string).
  • the BFIR determines that the packet is to be forwarded through the first SD-WAN tunnel based on the first F-BM corresponding to the parameter identifying the first SD-WAN tunnel in the BIFT.
  • BFIR searches the SD-WAN tunnel connection table (third correspondence) based on the site ID, CPE ID or label of the first SD-WAN tunnel of the next hop corresponding to the first F-BM in BIFT to obtain the WAN of BFIR
  • the IP address of the interface and the IP address of the next-hop WAN interface BFIR encapsulates the first packet header into the outer layer of the second packet header based on the obtained IP address and VPN identifier.
  • the source address in the first header is the IP address of the BFIR WAN interface
  • the destination address is the IP address of the next hop WAN interface
  • Step S703 BFIR sends the second multicast data message.
  • BFIR sends the second multicast data packet through the first SD-WAN tunnel.
  • BFIR sends the second multicast data packet through the WAN interface used to establish the first SD-WAN tunnel.
  • Step S704 The transit BFR of the second site in the VPN receives the second multicast data packet.
  • the second multicast data message includes a first bit string corresponding to the BFR-ID of the BFER.
  • the transit BFR receives the second multicast data packet through the first SD-WAN tunnel.
  • the transit BFR receives the second multicast data packet through the WAN interface used to establish the first SD-WAN tunnel.
  • Step S705 The transit BFR obtains the third multicast data message based on the second multicast data message and the first corresponding relationship.
  • the third multicast data packet includes a first packet header, a second packet header and a payload of the second multicast data packet.
  • the first header and the second header in the third multicast data message can refer to the above description of the second multicast data message.
  • the following focuses on the message header and the second header of the third multicast data message.
  • the first header in the third multicast data packet contains the IP addresses of the two endpoint devices of the second SD-WAN tunnel, namely the IP address of the transit BFR and the IP address of the BFER.
  • the first message header includes a source address field and a destination address field.
  • the source address field in the first packet header includes the IP address of the transit BFR.
  • the destination address field in the first packet header includes the IP address of the BFER.
  • the transit BFR establishes a second SD-WAN tunnel through the third WAN interface to the fourth WAN interface of the BFER.
  • the source address in the first header of the third multicast data packet includes the IP address of the third WAN interface of the transit BFR.
  • the destination address in the first header of the third multicast data packet includes the IP address of the fourth WAN interface of the BFER.
  • the destination address field of the first header in the third multicast data packet carries the IP address of BFER
  • the devices in the transmission network are based on BFER.
  • IP address using IP routing, can forward the second multicast data packet to the IP address of the BFER hop by hop, enabling the third multicast data packet to traverse the transmission network.
  • the source address and destination address in the first header of the third multicast data packet may be IPv4 addresses or IPv6 addresses.
  • the transit BFR decapsulates the first packet header in the second multicast data packet, generates a new first packet header based on the IP addresses of the two endpoint devices of the second SD-WAN tunnel, and encapsulates the generated first packet header.
  • a message header the transit BFR updates the source address and destination address of the first header in the second multicast data packet based on the IP addresses of the two endpoint devices of the second SD-WAN tunnel.
  • the transit BFR uses the parameters used to identify the second SD-WAN tunnel and The third correspondence is to obtain the IP address of BFER. For example, the transit BFR uses the parameters used to identify the second SD-WAN tunnel as an index, queries the third correspondence, and obtains the destination IP address corresponding to the parameters used to identify the second SD-WAN tunnel as the first packet header. The destination IP address.
  • the third correspondence saved by the transit BFR includes parameters used to identify the second SD-WAN tunnel and the IP address of the BFER.
  • the third corresponding relationship includes BFER's site ID and BFER's IP address.
  • the third corresponding relationship includes the CPE ID of BFER and the IP address of BFER.
  • the third corresponding relationship includes the label of the second SD-WAN tunnel and the IP address of the BFER.
  • Transit BFR is based on The site ID is 3, query Table 11, and obtain the source IP address as 10.2.2.2 and the destination IP address as 10.3.3.3. Therefore, the transit BFR updates the source IP address in the first packet header to 10.2.2.2 and changes the first packet to 10.2.2.2. The destination IP address in the header is updated to 10.3.3.3.
  • the second message header in the third multicast data message includes the second BIER parameter.
  • the second BIER parameter is obtained based on the first BIER parameter and the corresponding relationship saved by the transit BFR.
  • the transit BFR updates the BIER parameters originally carried in the second message header based on the BIER parameters obtained from the table lookup.
  • the second BIER parameter includes the third bit string corresponding to the BFR-ID of the BFER.
  • the third bit string is obtained based on the second bit string in the second header of the second multicast data message and the F-BM in the first correspondence.
  • transit BFR parses the second header in the second multicast data packet to obtain the second bit string; transit BFR searches for the first correspondence based on the second bit string, and compares the second bit string with the first correspondence.
  • F-BM performs an AND operation to obtain the third bit string.
  • the transit BFR obtains the identification of the second SD based on the second bit string matched by the BFR-ID of the BFER and the first corresponding relationship. - Parameters of the WAN tunnel.
  • the transit BFR determines to forward the multicast data packet through the second SD-WAN tunnel according to the parameters identifying the second SD-WAN tunnel, or to iterate to the second SD-WAN tunnel, so the transit BFR performs the third corresponding query. Relationship Steps. For example, transit BFR uses the second bit string to query BIFT, and performs AND operations based on the second bit string and the F-BM in each entry in BIFT.
  • the transit BFR continues to read F in the entry. -The outbound interface and next hop corresponding to BM, obtain the above-mentioned parameters identifying the second SD-WAN tunnel from the outbound interface or next hop corresponding to F-BM.
  • each forwarding table stores entries corresponding to the VPNs.
  • the transit BFR can obtain the VPN identifier from the first header in the second multicast data message, and obtain the above-mentioned third bit string based on the VPN identifier and the first correspondence.
  • the transit BFR when the transit BFR receives the second multicast data packet, it first decapsulates the first packet header in the second multicast data packet, obtains the VPN identifier in the first packet header, and then parses the second packet header. Broadcast the second header in the data packet and obtain the bit string and SD in the second packet header. Then the transit BFR searches for BIFT based on the VPN identifier, uses the bit string in the second packet header to perform an AND operation with the F-BM in BIFT, and forwards the packet if the result of the AND operation is not all 0s.
  • Step S706 the transit BFR sends the third multicast data message.
  • the transit BFR sends the third multicast data packet through the second SD-WAN tunnel.
  • the transit BFR sends the third multicast data packet through the WAN interface used to establish the second SD-WAN tunnel.
  • Step S707 The BFER of the third site in the VPN receives the third multicast data packet.
  • BFER sends the third multicast data packet through the second SD-WAN tunnel.
  • the BFER receives the third multicast data packet through the WAN interface used to establish the second SD-WAN tunnel.
  • Step S708 The BFER in the third site in the VPN obtains the fourth multicast data message based on the third multicast data message.
  • BFER decapsulates the first packet header and the second packet header in the third multicast data packet, and obtains the fourth multicast data packet.
  • BFER first decapsulates the first packet header and obtains the VPN identifier in the first packet header. Then BFER parses the second message header and obtains the third bit string in the second message header. BFER looks for BIFT based on the VPN's identifier, using The third bit string is ANDed with the F-BM in BIFT, and it is determined that the third bit string matches the bit string corresponding to the BFR-ID of the BFER node. Then the second message header is decapsulated, and the second message header is decapsulated according to the VPN identifier and group. The source group information searches the multicast forwarding table corresponding to the VPN, obtains the outbound interface corresponding to the multicast source group information, and sends the fourth multicast data message through the outbound interface.
  • Step S709 BFER sends the fourth multicast data message to the multicast receiver.
  • the method provided in this embodiment uses a message forwarding method that combines SD-WAN and BIER multicast, so that BIER-encapsulated multicast data can traverse the transmission network (public network Internet or MPLS network) without the need for the public network to support multicast. Forward.
  • the following is an example of the packet encapsulation format based on which the notification of the first parameter set is based.
  • the packet format described below is a specific example of the first notification packet format in the above embodiment.
  • Method 1 Use BGP EVPN IP prefix routing to advertise the first parameter set.
  • FIG. 8 is a schematic diagram of a BGP EVPN IP prefix routing NLRI format provided by the embodiment of this application.
  • the first notification message has, for example, the format shown in FIG. 8 .
  • the Route Distinguisher (RD) field includes the Route Distinguisher (RD) value configured on the L3VPN instance where BIER is deployed on the device that sends the first parameter set (that is, the VPN where the BIER network is located).
  • the Ethernet Segment Identifier is a unique identifier defined for the connection between a PE and a CE.
  • the IP prefix Length field includes the length of the BFR prefix configured under L3VPN.
  • the IP prefix field includes the BFR prefix configured under L3VPN.
  • the gateway IP address (GW IP Address) field includes the default gateway address.
  • the MPLS label field includes the VN-ID configured for the L3VPN instance where BIER is deployed.
  • Method 2 Use BGP BIER VPN address family routing to advertise the first parameter set.
  • FIG. 9 is a schematic diagram of a BGP BIER VPN prefix routing NLRI format provided by the embodiment of this application.
  • the first notification message has, for example, the format shown in FIG. 9 .
  • the route identifier (RD) field includes the route identifier (RD) value configured on the L3VPN instance where BIER is deployed on the device that sends the first parameter set (that is, the VPN where the BIER network is located).
  • the IP prefix Length field includes the length of the BFR prefix within the VPN. According to RFC 8279, this value is fixed to 32 (IPv4) or 128 (IPv6).
  • the IP prefix field includes the BFR prefix within the VPN.
  • Figure 10 is a specific example of the BIER service encapsulation attribute field in the first notification message.
  • the BIER service encapsulation attribute field includes a sub-TLV, and the value field in the sub-TLV includes BFR-ID and sub domain-ID.
  • the sub-TLV shown in (a) of FIG. 10 includes the sub-sub-TLV shown in (b) of FIG. 10 .
  • sub-sub-TLV includes BSL, max-SI and BIFT-ID.
  • (a) in Figure 11 is a specific example of the format of the SD-WAN encapsulated extended community attribute in the first notification message.
  • the SD-WAN encapsulation extended community attribute includes a tunnel type field, and the value of the tunnel type field identifies the SD-WAN tunnel.
  • (b) in Figure 11 is a specific example of the format of the color extended community attribute in the first notification message.
  • the color extended group attribute includes a color value field, and the value of the color value field is site ID or CPE ID.
  • the following is an example of the message encapsulation format based on which the notification of the second parameter set is based. Refer to the following methods one to three.
  • the message format described below is a specific example of the second notification message format in the above embodiment.
  • Method 1 Use standard NG MVPN to advertise the second parameter set.
  • Leaf nodes use MVPN C-multicast routing to advertise overlay multicast joins to the root node.
  • I-PMSI tunnel or S-PMSI tunnel iterates the BIER subdomain within the VPN.
  • MVPN x-PMSI AD routes and leaf A-D routes carry the PTA field, and leaf nodes use the BIER parameters within the VPN to fill the PTA field.
  • Figure 12 shows a schematic diagram of the MVPN or EVPN routing VPN BIER PTA field format.
  • the second notification message has, for example, the format shown in FIG. 12 .
  • the key information of the PTA field in Figure 12 is filled in as follows.
  • the flag field includes the route identifier (RD) value of the L3VPN instance configured with BIER deployed on the device that sends the second parameter set.
  • RD route identifier
  • tunnel type identifies the tunnel type as VPN BIER.
  • MPLS label VN-ID configured under L3VPN.
  • BIER subdomain identifier (sub-domain-id): Operator multicast service interface (inclusive provider multicast service interface, I-PMSI) tunnel or selective multicast service interface (selective provider multicast service interface, S-PMSI) tunnel association VPN BIER sub-domain.
  • I-PMSI provider multicast service interface
  • S-PMSI selective multicast service interface
  • VPN BIER BFR-ID VPN BIER BFR-ID associated with the I-PMSI or S-PMSI tunnel.
  • BFR-prefix The VPN BIER BFR-prefix address associated with the I-PMSI or S-PMSI tunnel.
  • Method 2 Use BGP EVPN to advertise the second parameter set.
  • BGP EVPN routing for Layer 3 join advertisement and tunnel establishment: x-PMSI AD routing, leaf A-D routing, or selective multicast ethernet tag route (SMET) routing.
  • the multicast source address and multicast group address in routing NLRI are used to carry multicast source group information, and the Originator address fills in the multicast identifier of the leaf node, such as MVPN-ID or EVPN source address (EVPN source).
  • BGP EVPN routes carry the PTA field, and the encapsulation is the same as method 1.
  • Figure 13 is a schematic diagram of the NLRI format of BGP EVPN S-PMSI A-D routing. Please refer to Figure 13 for the format of S-PMSI A-D routing.
  • Figure 14 is a schematic diagram of BGP EVPN leaf A-D routing NLRI format.
  • the format of leaf A-D can be referred to Figure 14.
  • the Route Key part in Figure 14 is SPMSI A-D.
  • Figure 15 is a schematic diagram of the NLRI format of BGP EVPN SMET routing. Please refer to Figure 15 for the format of SMET routing.
  • Method 3 Use the second parameter set of the new type of route advertisement extended by the NG MVPN address family.
  • NG MVPN address family extension adds a new type of route, which is used for C-Multicast route advertisement.
  • Leaf-AD routing is not required.
  • the key information of the new route is: (*,G) Keyword to add the route ) includes route identifier (RD), Source AS, RP, G and Originating Router Address; (S, G)
  • the keywords added to the route include route identifier (RD), Source AS, S, G and Originating Router Address.
  • FIG. 16 is a schematic diagram of the format of the NLRI for which (*, G) is added to the route
  • Figure 17 is a schematic diagram of the format of the NLRI for which (S, G) is added to the route.
  • Extended routing adds two extended community attributes.
  • VRI attribute The sent multicast route carries the VRI attribute.
  • the contents of the VRI attribute are site ID and VNID.
  • the value is the site ID carried by the extended community attribute of the multicast source or RP. This value does not change during BGP transmission.
  • VNID Mark private network.
  • the VRI attribute is used for route crossing. Only the site ID carried in the route is the same as the site ID of the upstream site. Only the upstream site can import routes into the routing table; it is used for verification when the upstream site imports routes into the multicast routing table.
  • the PTA field carries the subdomain identifier, BSL or BFR-ID, where the subdomain identifier, BSL or BFR-ID is used to calculate the bit string and guide the forwarding of data messages.
  • the following is an example of the encapsulation format of the multicast data packet in the embodiment of the present application.
  • the BIER header described below is a specific example of the second packet header, and the combination of the SD-WAN header and outer IP header described below is the first packet header. Specific examples of headers.
  • the root node in the BIER network adds the BIER header, SD-WAN header, and outer IP to the multicast data packet. head.
  • the leaf node decapsulates the BIER header, SD-WAN header, and outer IP header to obtain the multicast data packet.
  • the multicast data packet includes the original multicast data packet (payload), the BIER header encapsulated in the outer layer of the original multicast data packet, the SD-WAN header encapsulated in the outer layer of the BIER header, and IP header encapsulated in the outer layer of the SD-WAN header.
  • the following introduces each header in the multicast data packet respectively, and then gives an example of the optional parts in the multicast data packet.
  • the BIER header can be any packet header containing a bit string.
  • the encapsulation format of the BIER header includes multiple implementation methods.
  • the encapsulation format of the BIER header includes, but is not limited to, the BIER header that meets the encapsulation format defined by RFC8296, the BIER header in the BIERv6 encapsulation format, the BIER header in the BIERin6 encapsulation format, and the BIER header in the G-BIER encapsulation format.
  • the following are examples of the BIER headers of these four encapsulation formats.
  • BIER header encapsulation format 1 BIER header that meets the encapsulation format defined by RFC8296
  • FIG 19 shows a schematic diagram of the encapsulation format of the BIER header that meets the definition of RFC8296.
  • the BIER header shown in Figure 19 is a specific example of the BIER header in the multicast data packet shown in Figure 18.
  • the meaning of each field in the BIER header shown in Figure 19 is as follows.
  • MPLS label MPLS label
  • BIFT-ID non MPLS label, non-MPLS label
  • this field can include an MPLS label.
  • the MPLS label is, for example, BIER-MPLS Label.
  • BIER-MPLS Label refers to the label assigned based on BSL, sub-domain ID and SI, which is used to index the BIER forwarding table.
  • this field may include the BIFT-ID used to identify the BIFT.
  • BIFT-ID is determined based on BSL, sub-domain ID and SI.
  • the TC field is used for QoS.
  • the S field is a 1-bit label stack bottom identifier, which is the same as the S bit of MPLS encapsulation.
  • RFC3032 For the specific use of this field, please refer to RFC3032.
  • the TTL field is 8 bits and is used for TTL during MPLS encapsulation.
  • RFC3032 For the specific use of this field, please refer to RFC3032.
  • the Nibble field occupies 4 bits, and the legal value is 0101. If this field of the BIER message received by BFR is not 0101, the message can be discarded.
  • the version number field occupies 4 bits and can represent the version number.
  • the BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths.
  • the corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
  • bit string length is 128 bits.
  • bit string length is 256 bits.
  • bit string length is 512 bits.
  • bit string length is 1024 bits.
  • bit string length is 2048 bits.
  • bit string length is 4096 bits.
  • the length of the Entropy field is, for example, 20 bits.
  • the Entropy field is used to select a path when an equivalent path exists.
  • packets with the same bit string and entropy value choose the same path.
  • the length of the OAM field is, for example, 2 bits, and the default is 0. It can be used for the OAM function and does not affect forwarding and QoS.
  • the reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
  • the length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
  • the protocol type field is, for example, 6 bits, and is used to identify the packet type immediately following the BIER header.
  • the BFIR ID field occupies, for example, 16 bits, and the BFIR ID field includes the BFR-ID of the BFIR.
  • Each bit in the bit string corresponds to a BFR-ID of a BFER. For example, if the bit is set to 1, it means that the message should be forwarded to the corresponding BFER.
  • BIER header encapsulation format 2 BIER header in BIERv6 encapsulation format
  • the outer layer of the multicast data packet is encapsulated with an IPv6 basic header and an IPv6 extension header, and the BIER header is encapsulated inside the IPv6 extension header.
  • the IPv6 extension header containing the BIER header is also called the BIERv6 header or BIERv6 encapsulation.
  • the IPv6 extension header carrying the BIER header includes multiple implementation methods.
  • the BIER header is encapsulated inside DOH (Destination Options Header).
  • the BIER header is encapsulated inside other types of IPv6 extension headers other than DOH.
  • the BIER header is packaged inside SRH or HBH.
  • the BIER header is encapsulated in the options of the IPv6 extension header.
  • the BIER header is encapsulated in the DOH option.
  • DOH includes options.
  • the options include an option type field, an option length field, and an option data field.
  • the option data field includes a BIER header, and the option type field identifies the BIER.
  • Figure 20 is a schematic diagram of a BIERv6 encapsulation format provided by this application.
  • the BIERv6 header shown in Figure 20 is the one shown in Figure 18 A specific example of the BIER header in the multicast data packet is shown in Figure 20.
  • the IPv6 basic header shown in Figure 20 is encapsulated in the outer layer of the BIER header and the inner layer of the SD-WAN header.
  • the SA field in the IPv6 basic header is the source address of the VPN BIER tunnel, that is, the IP address of the BFIR within the VPN.
  • the DA field in the IPv6 basic header is the End.BIER SID used for BIER forwarding. This address is reachable within the BIER network.
  • the BIERv6 header is the next header of the IPv6 basic header, and the value of the next header field in the IPv6 basic header is 60.
  • 60 identifies DOH, that is, the DOH that contains the BIER header.
  • there are one or more IPv6 extension headers between the BIERv6 header and the IPv6 basic header and the value of the next header field in the previous IPv6 extension header of the BIERv6 header is 60.
  • the Next Header field occupies 8 bits and is used to identify the type of the next message header.
  • the Hdr Ext Len field occupies 8 bits and is used to identify the length of the IPv6 extension header, that is, the length of the BIERv6 header.
  • the Option Type field for example, occupies 8 bits and is used to identify the option type as BIERv6.
  • the BIFT-ID field occupies, for example, 20 bits and is used to uniquely identify a BIFT.
  • the TC field is used for QoS.
  • the S field occupies 1 bit and is a reserved field.
  • TTL occupies 8 bits, for example.
  • TTL indicates the number of hops for the packet to be forwarded by BIERv6. Each time it passes through a BIERv6 forwarding node, the TTL value is reduced by 1. When the TTL is 0, the packet is discarded.
  • Nibble occupies 4 bits for example.
  • the Nibble field is a reserved field, for example, filled with 0.
  • Version occupies 4 bits, for example, and identifies the version number of the BIERv6 message.
  • the BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths.
  • the corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
  • bit string length is 128 bits.
  • bit string length is 256 bits.
  • bit string length is 512 bits.
  • bit string length is 1024 bits.
  • bit string length is 2048 bits.
  • bit string length is 4096 bits.
  • the length of the Entropy field is, for example, 20 bits.
  • the Entropy field is used to select a path when an equivalent path exists.
  • packets with the same bit string and entropy value choose the same path.
  • the length of the OAM field is, for example, 2 bits, and the default is 0. It is optionally used for the OAM function.
  • the reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
  • the length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
  • the protocol type field is, for example, 6 bits, and is used to identify the packet type immediately following the BIERv6 header.
  • the BFIR ID field for example, occupies 16 bits and is the BFR-ID of the BFIR.
  • Each bit in the bit string corresponds to a BFR-ID of a BFER. For example, if the bit is set to 1, it means that the message should be forwarded to the corresponding BFER.
  • BIER header encapsulation format 3 BIER header in BIERin6 encapsulation format
  • the BIERin6 encapsulation format encapsulates the IP header outside the BIER header, and the SA field in the IPv6 basic header includes the IP address of the BFIR within the VPN.
  • the DA field in the IPv6 basic header includes the IPv6 link-local address of the next hop BFR, which is reachable within the BIER network.
  • Figure 22 and Figure 23 are both schematic diagrams of the packaging format of BIERin6.
  • the content of the IPv6 basic header in Figure 22 please refer to the description of BIERv6 above.
  • the BIER header is encapsulated in the inner layer of the IPv6 basic header. The value of the next header field in the IPv6 basic header indicates the BIER header.
  • BIER header encapsulation format 4 BIER header in G-BIER encapsulation format
  • G-BIER Generalized BIER, General Bit Index Explicit Replication
  • RFC Real-Time Transport Stream
  • Figure 24 is a schematic diagram of a G-BIER encapsulation format provided by an embodiment of the present application.
  • the outer layer of the multicast data message is encapsulated with an IPv6 basic header and an IPv6 extension header, and the BIER header is encapsulated inside the IPv6 extension header.
  • the source address in the IPv6 basic header is the multicast service source address of BFIR.
  • the source address is generated by the prefix address of BFIR and the multicast service ID value.
  • the prefix address of BFIR is used to identify the network location of BFIR, and the multicast service ID is used to identify different MVPN instances.
  • the source address remains unchanged.
  • the destination address in the IPv6 basic header is the MPRA (Multicast Policy Reserved Address) used for BIER forwarding. This address is reachable within the BIER network.
  • MPRA Multicast Policy Reserved Address
  • the Next Header field occupies 8 bits and is used to identify the type of the next header.
  • the Hdr Ext Len field occupies 8 bits and is used to identify the length of the IPv6 extension header.
  • the Option Type field for example, occupies 8 bits and is used to identify the option type as G-BIER.
  • the Option Length field for example, occupies 8 bits and is used to identify the option length.
  • the BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths.
  • the corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
  • bit string length is 128 bits.
  • bit string length is 256 bits.
  • bit string length is 512 bits.
  • bit string length is 1024 bits.
  • bit string length is 2048 bits.
  • bit string length is 4096 bits.
  • the SD field occupies, for example, 8 bits, and the value of the SD field is the ID of the BIER subfield.
  • the SI field occupies, for example, 8 bits, and the value of the SI field is the set identifier to which the BFR belongs.
  • the Rsv field is a reserved field.
  • the TTL field is 8 bits.
  • the TTL field has the same meaning as the TTL in the IP packet and can be used to prevent loops.
  • the Version field occupies 4 bits, for example.
  • the length of the Entropy field is, for example, 20 bits.
  • the Entropy field is used to select a path when an equivalent path exists.
  • packets with the same bit string and entropy value choose the same path.
  • the length of the OAM field is, for example, 2 bits, and the default is 0. It is optionally used for the OAM function.
  • the reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
  • the length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
  • Each bit in the bit string corresponds to a BFR-ID of a BFER.
  • the SD-WAN header can be any packet header that supports L3VPN tunnel establishment.
  • the SD-WAN header includes, but is not limited to, GRE extension header or GRE header.
  • the SD-WAN header can be any packet header that supports L2VPN tunnel establishment.
  • SD-WAN headers include but are not limited to Virtual Extensible Local Area Network (VXLAN) headers, headers based on VXLAN Generic Protocol Encapsulation (VXLAN-GPE) or Generic Network Virtualization Encapsulation (Generic Network Virtualization Encapsulation, GENEVE) head.
  • VXLAN Virtual Extensible Local Area Network
  • VXLAN-GPE VXLAN Generic Protocol Encapsulation
  • GENEVE Generic Network Virtualization Encapsulation
  • the SD-WAN header includes the identification of the VPN where the BFR is located (such as VN-ID).
  • VN-ID the identification of the VPN where the BFR is located
  • Figure 25 is a specific example of the encapsulation format when the SD-WAN header is a GRE extension header.
  • the GRE extension header includes the key field and the Protocol Type field.
  • the key field includes the VN-ID configured in the VPN bound to the SD-WAN tunnel, that is, the VN-ID of the VPN where the BFR is located.
  • the Protocol Type field is used to identify that the encapsulation format of the inner layer of the SD-WAN header is the BIER encapsulation format. For example, when the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Protocol Type in the GRE extension header identifies BIER.
  • the Protocol Type in the GRE extension header identifies BIERv6.
  • the Protocol Type in the GRE extension header identifies BIERin6.
  • the Protocol Type in the GRE extension header identifies G-BIER.
  • FIG. 26 is a schematic diagram of another general encapsulation format of an SD-WAN header provided by an embodiment of the present application.
  • the SD-WAN header includes the Type field, Length field, Protocol field and VN ID field.
  • the Type field indicates the type of message. For example, when the value of the Type field is 1, it indicates a control packet; when the value of the Type field is 2, it indicates a data packet.
  • the Protocol field indicates the type of data packet in the inner layer of the SDWAN header. For example, in the case where the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Protocol field identifies the BIER.
  • the Protocol field identifies BIERv6.
  • the Protocol field identifies BIERin6.
  • the Protocol field identifies G-BIER.
  • the Length field indicates the length of the SDWAN header.
  • the VN ID field indicates the ID of the VPN to which the data packet is bound, that is, the ID of the VPN where the BFR is located.
  • Figure 27 is a specific example of the encapsulation format when the SD-WAN header is a VXLAN header.
  • the VNI field in the VXLAN header includes the VPN identifier of the VPN to which the multicast data packet is bound, that is, the identifier of the VPN where the BFR is located.
  • BIER can be indicated using the Next header field in the IPv6 basic header encapsulated in the outer layer of the VXLAN header.
  • FIG. 28 is a specific example of the encapsulation format of the SD-WAN header as a VXLAN-GPE header.
  • the VNI field in the VXLAN-GPE header includes the VPN identifier of the VPN to which the multicast data packet is bound, that is, the identifier of the VPN where the BFR in the BIER network is located.
  • the next protocol field in the VXLAN-GPE header indicates the type of data packet in the inner layer of the VXLAN-GPE header. For example, in the case where the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Next protocol field identifies the BIER.
  • the Next protocol field identifies BIERv6.
  • the Next protocol field identifies BIERin6.
  • the Next protocol field identifies G-BIER.
  • the Length field indicates the length of the SDWAN header.
  • the VN ID field indicates the ID of the VPN to which the data packet is bound, that is, the ID of the VPN where the BFR is located.
  • Figure 29 is a specific example of the encapsulation format of the SD-WAN header as a GENEVE header.
  • the VNI field in the GENEVE header includes the ID of the VPN to which the multicast data packet is bound, that is, the ID of the VPN where the BFR in the BIER network is located.
  • the Protocol Type in the GENEVE header identifies BIER. For example, in the case where the BIER header is a BIER header in the BIERv6 encapsulation format, the Protocol Type in the GENEVE header identifies BIERv6.
  • the Protocol Type in the GENEVE header identifies BIERin6.
  • the Protocol Type in the GENEVE header identifies G-BIER.
  • the source address and destination address in the outer IP header of the SD-WAN header are the IP addresses used to establish the SD-WAN tunnel. For example, if the first BFR and the second BFR establish an SD-WAN tunnel, and the first BFR wants to forward the multicast data packet to the second BFR through the SD-WAN tunnel, the multicast data packet sent by the first BFR
  • the IP header source address of the middle and outer layers is the IP address of the WAN interface on the first BFR, that is, the IP address of the physical outgoing interface used by the first BFR when sending multicast data packets.
  • the destination address in the outer IP header of the outer SD-WAN header is the IP address of the WAN interface on the second BFR, that is, the IP address of the physical outgoing interface used by the second BFR when receiving multicast data packets.
  • the IP header in the outer layer of the SD-WAN header includes but is not limited to IPv4 header or IPv6 header.
  • the source address of the IPv4 header in the outer layer of the SD-WAN header is the IPv4 address of the WAN interface on the BFIR.
  • the destination address is the IPv4 address of the WAN interface on the BFER.
  • the source address in the outer IPv6 header of the SD-WAN header is the IPv6 address of the WAN interface on the BFIR
  • the source address in the outer IPv6 header of the SD-WAN header is The destination address is the IPv6 address of the WAN interface on the BFER.
  • the encapsulation format of data packets includes IP header, SD-WAN header, BIER header and multicast data packets.
  • the encapsulation format of the data packet includes an IP header, an SD-WAN header and an IPv6 packet, and the IPv6 packet includes an IPv6 header, a BIER header and a multicast data packet.
  • the IPsec header and IPsec trailer are optionally encapsulated parts of multicast data packets. For example, if you need to ensure the confidentiality and security of data transmitted through the SD-WAN tunnel, deploy SD-WAN over IPSec on BFIR and BFER. BFIR encapsulates the IPsec header in the outer layer of the SD-WAN header and adds it to the multicast datagram. The IPSec tail is encapsulated after the text. When SD-WAN over IPSec is not deployed on BFIR and BFER, BFIR does not need to encapsulate the IPsec header and IPSec trailer.
  • the IPsec header is an ESP header
  • the IPsec trailer is an ESP trailer.
  • the format of the IPsec header can be found in Figure 30.
  • the main and backup traffic protection within the site includes the following method 1 and method 2.
  • Method 1 Configure different BFR-IDs and BFR prefixes for the primary CPE and backup CPE in the site.
  • multicast receiver 1 is single-homed to CPE 6
  • multicast receiver 2 is dual-homed to CPE 5 and CPE 6, and the access side master and backup are configured.
  • CPE 5 and CPE 6 in site 3 are configured with different BFR-ID and BFR prefix.
  • CPE 5 in site 3 is configured with a BFR-ID of 5 and a BFR prefix of 10.5.5.5.
  • CPE 6 in site 3 is configured with a BFR-ID of 6 and a BFR prefix of 10.6.6.6.
  • Primary and secondary backup refers to the mutual backup of joining information between two devices in the same site.
  • CPE 5 obtains the joining information of multicast receiver 2
  • CPE 5 synchronizes the joining information of multicast receiver 2 to CPE 6, so that the joining information of multicast receiver 2 is saved on both CPE 5 and CPE 6.
  • the link between CPE 5 and CPE 6 deploys VPN BIER over IGP.
  • CPE 5 and CPE 6 are assigned the same BIFT-ID using SD, BSL, and SI splicing.
  • Method 1 includes the following steps 1 to 7.
  • Step 1 The multicast data packet sent to multicast receiver 1 reaches CPE 6 through the SD-WAN tunnel. After the upstream BFR in the same VPN as CPE 6 iterates the site ID, randomly select the right tunnel, or the upstream BFR in the same VPN as CPE 6 iterates the specific router ID (i.e. CPE ID), such as the loopback port of CPE 6 After receiving the IP address, the multicast data packet is sent to CPE 6. CPE 6 strips off the GRE header and BIER header, so that the multicast data packet is directly forwarded to receiver 1 after exiting the two-layer tunnel.
  • CPE ID the specific router ID
  • CPE 3 After CPE 3 receives the multicast data message in Figure 31, CPE 3 searches for BIFT based on the bit string in the multicast data message, and determines that the bit string hits the F-BM in an entry in BIFT, then CPE 3 reads The outbound interface or next hop corresponding to the F-BM in BIFT is used to obtain the site ID of site 3. After that, CPE 3 searches the SD-WAN tunnel forwarding table based on the site ID of site 3. CPE 3 hits the entry in the SD-WAN tunnel forwarding table based on the site ID of site 3, and reads the entries in the SD-WAN tunnel forwarding table that match site 3. The next hop corresponding to the site ID. site 3 The next hop corresponding to the site ID includes CPE 5 and CPE 6. CPE 3 randomly selects a next hop from CPE 5 and CPE 6, and selects CPE 6.
  • Step 2 The multicast data packet sent to multicast receiver 1 reaches CPE 5 through the SD-WAN tunnel. Specifically, the upstream BFR in the same VPN as CPE 5 randomly selects the left tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 5 iterates the specific router ID (i.e. CPE ID), such as the loopback port of CPE 5 After obtaining the IP address, the multicast data packet is sent to CPE 5. After CPE 5 strips off the GRE header, it iterates the next hop to CPE 6 based on the destination BFR-ID 6 of the BIER header, and forwards it to CPE 6 via the link between CPEs in the site. After stripping off the BIER header, it searches for the MVPN customer multicast route and forwards it to the group. broadcast receiver 1.
  • CPE ID the specific router ID
  • Step 3 The multicast data packet sent to multicast receiver 2 reaches CPE 5 through the SD-WAN tunnel.
  • the upstream BFR in the same VPN as CPE 5 randomly selects the left tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 5 iterates the router ID (i.e. CPE ID), such as the loopback port of CPE 5
  • the multicast data message is sent to CPE 5.
  • CPE 5 strips off the GRE header and BIER header, it is forwarded to multicast receiver 2 by the main link (for example, the LAN side link of CPE 5).
  • Step 4 The multicast data packet sent to multicast receiver 2 reaches CPE 6 through the SD-WAN tunnel.
  • the upstream BFR in the same VPN as CPE 6 randomly selects the right tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 6 iterates the specific router ID (i.e. CPE ID), such as the router ID of CPE 6, Send the multicast data message to CPE 6.
  • CPE ID the specific router ID
  • CPE 6 strips off the GRE header, it iterates the next hop to CPE 5 based on the destination BFR-ID 5 indicated by the bit string in the BIER header, and forwards it to CPE 5 via the link between CPEs in the site.
  • CPE 5 after stripping off the BIER header, searches for the MVPN client multicast route and forwards it to multicast receiver 2 via the main link.
  • Step 5 The multicast data packet sent to multicast receiver 2 contains the bit string corresponding to the BFR-ID 6 of this node according to the BIER header. After stripping off the GRE header and BIER header, the backup path is blocked on the CPE 6 LAN side. Will not be forwarded to multicast recipients.
  • Step 6 After the LAN-side link failure of CPE 5 as the master device, CPE 6 becomes the master, and CPE 6 is responsible for forwarding the multicast data packets to multicast receiver 2.
  • Step 7 After CPE 5 as the master device fails, all multicast data packets received by the SD-WAN tunnel side reach multicast receiver 2 through CPE 6.
  • BIERv6 The differences between BIERv6 and the above process types are: deploying different End.BIER addresses, and deploying private network BIERv6over IGP on the link between CPE 5 and CPE 6.
  • Method 2 The active and standby CPEs in the site are configured with the same BFR-ID and BFR prefix.
  • multicast receiver 1 is single-homed to CPE 6
  • multicast receiver 2 is dual-homed to CPE 5 and CPE 6, and the access side master and backup are configured.
  • the CPE in the site is configured with the same BFR-ID and BFR prefix.
  • the link between CPE 5 and CPE 6 does not deploy BIER within the VPN, but deploys traditional overlay multicast, such as PIM or IGMP/MLD.
  • Method 2 includes the following steps 1 to 3.
  • Step 1 Multicast data packets sent to single-homing or dual-homing receivers randomly arrive at either side of CPE 5 or CPE 6 through the upstream SD-WAN tunnel (same as method 1).
  • Step 2 The CPE that receives the multicast data message strips off the GRE header and BIER header and forwards it through overlay multicast. Give the peer CPE.
  • Step 3 The primary CPE or single-homed CPE is responsible for forwarding the multicast data packets to the LAN-side receiver.
  • BIERv6 is similar to the above process, except that the same End.BIER address is deployed on the primary CPE and backup CPE in the same site.
  • Figure 33 is a schematic diagram of the network deployment scenario of Example 1.
  • the multicast source is located in the network connected to the LAN side interface of CPE100 in site 5.
  • the multicast receiver is located in the network connected to the LAN side interface of CPE6 in site 3.
  • the primary CPE and backup CPE in site 3 are configured with different BFR-IDs, and the primary CPE and backup CPE are configured with different BFR prefixes;
  • VPN BIER over EVPN is used between sites to flood the BIER information of each BFR in the VPN; root node and leaf NG-MVPN implemented according to standard RFC is deployed between nodes.
  • the intra-VPN overlay multicast join information is transmitted through NG-MVPN.
  • Example 1 includes the following steps 1 to 4.
  • Step 1 Underlay SD-WAN tunnel is established.
  • Step 1 includes the following steps (1-1) to (1-3).
  • Step (1-1) Deploy the SD-WAN network across the Internet or MPLS network through SD-WAN EVPN.
  • the IP address of the WAN interface of CPE 5 in site 3 is configured as 10.33.33.33, and the CPE ID of CPE 5 in site 3 is configured as 33.33.33.33.
  • the IP address of the WAN interface of CPE 6 in site 3 is configured as 10.3.3.3, and the CPE ID of CPE 6 in site 3 is configured as 3.3.3.3.
  • the IP address of the WAN interface of CPE 4 in site 2 is configured as 10.2.2.2, and the CPE ID of CPE 4 in site 2 is configured as 2.2.2.2.
  • Step (1-2) Establish a DTLS management channel and a BGP control channel between the CPE and RR through the DTLS mechanism and the BGP SD-WAN address family.
  • Step (1-3) Establish an SD-WAN unicast service data channel (i.e. SD-WAN tunnel) between the CPE and RR through the BGP EVPN address family.
  • Deploy L3VPN in site 5 and site 3, configure the same VN ID; both the AC interface on the LAN side and the SD-WAN tunnel interface on the WAN side are bound to this VPN.
  • Step 2 Overlay VPN BIER tunnel is established.
  • Step 2 includes the following steps (2-1) to (2-3).
  • Step (2-1) Deploy intra-VPN BIER on each site, and configure the intra-VPN BFR prefix and intra-VPN BFR-ID respectively.
  • the configuration of CPE5 is as follows.
  • Step (2-2) Deploy VPN BIER over BGP EVPN on each CPE in the VPN, and advertise the BFR prefix through the BGP EVPN IP prefix route, carrying the BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute, and color extended community attribute.
  • the configuration of CPE5 is as follows.
  • Step (2-3) Each CPE uses RR to reflect the BGP EVPN BIER route to learn the BIER neighbors in the VPN, and calculate the BIER routing table with the site ID as the next hop based on the extended community attributes carried by the BGP EVPN BIER route.
  • the BIER routing table learned by CPE100 in site5 is shown in Table 12 below.
  • Step 3 Join the overlay multicast.
  • the CPEs at each site learn their respective BFR-IDs through NG-MVPN x-PMSI routes and leaf-AD routes carrying VPN BIER type PTA attributes. Based on the multicast join message received by the LAN side interface, CPE6 in site 3 obtains the MVPN C-Multicast route and reflects it to CPE100 in site 5 through RR. CPE 100 learns the BFR-ID of CPE6 as the leaf node of the VPN BIER tunnel. Configuration examples are as follows.
  • Step 4 Forward multicast data packets.
  • Step 4 includes the following steps (4-1) to (4-3).
  • Step (4-1) CPE100 receives the multicast data packet in the LAN-side VPN, obtains the bit string according to the BFR-ID of the leaf node set in the VPN, encapsulates the BIER header in the multicast data packet, and searches for the bit string in the VPN.
  • BIER forwarding table If the next hop corresponding to the bit string in the BIER forwarding table is the site ID, use the site ID as the index to further search the SD-WAN tunnel connection table. Or, if the next hop corresponding to the bit string in the BIER forwarding table is the CPE ID, use the CPE ID as the index to further search the SD-WAN tunnel connection table.
  • the GRE header, outer IP header and MAC header are continued to be encapsulated in the outer layer of the BIER header to further forward the multicast data message.
  • the key field in the GRE header includes the VNID configured under the VPN. If the next-hop site has a primary tunnel and a backup tunnel, one of the tunnels is randomly selected.
  • the SD-WAN tunnel connection table of CPE100 in Site 5 is shown in Table 13 below.
  • the source IP address in Table 13 is the IP address of the WAN interface in CPE 100, which is also the IP header encapsulated by CPE100 in the outer layer of the GRE header. Source IP address.
  • the destination IP address in Table 13 is the IP address of the WAN interface of the CPE in the remote site that establishes the SD-WAN tunnel with CPE 100. It is also the destination IP address of CPE 100 in the IP header encapsulated in the outer layer of the GRE header.
  • Step (4-2) The multicast data packet is forwarded hop by hop through IP routing according to the IP address in the outer IP header, such as IPv4 address or IPv6 address.
  • IPv4 address or IPv6 address When the multicast data packet reaches the CPE in a certain hop site, the CPE hits the corresponding SD-WAN tunnel and corresponding VPN according to the SD-WAN tunnel connection table, and further searches for the BIER forwarding table entry in the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it is determined that this node is an intermediate node. After updating the bit string in the BIER header, the next hop is iterated based on BIER forwarding.
  • Step (4-3) After the packet reaches the leaf site, decapsulate the SD-WAN header (such as the GRE header). If the BFR-ID of the node matches the F-BM in the forwarding entry, decapsulate the BIER header and perform further searches. MVPN client multicast routing table entry forwarding within the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding table, it will continue to forward the table according to the BIER in the VPN. The iterative next hop is the peer CPE in this site. After updating the bit string, GRE will no longer be encapsulated. header and forwarded directly to the peer CPE.
  • SD-WAN header such as the GRE header
  • Example 2 includes the following steps 1 to 4.
  • Step 1 Underlay SD-WAN tunnel establishment: Same as Example 1.
  • Step 2 Overlay BIER VPN tunnel is established.
  • BGP BIER VPN address family routing to advertise the BFR prefix, BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute, and color extended community attribute within the VPN.
  • Step 3 Overlay multicast join:
  • CPEs in each site learn their respective BFR-IDs through BGP EVPN IMET routing carrying PTA attributes. Based on the multicast join message received by the LAN side interface, CPE6 in site 3 obtains the BGP EVPN SMET route and reflects it to CPE100 in site 5 through RR. CPE100 learns CPE6 as the leaf node of the VPN BIER tunnel.
  • Step 4 Multicast data packet forwarding:
  • Traffic forwarding between non-leaf sites is the same as in Example 1.
  • a multicast data packet When a multicast data packet reaches a leaf site, it does not matter which of the two SD-WAN tunnels it reaches the leaf site from. Any CPE in the leaf site that receives the multicast data packet will strip off the GRE header and BIER header, which is equivalent to the multicast data packet going out of a two-layer tunnel. In addition, the CPE that receives the multicast data packet will forward a multicast data packet to the opposite CPE in the same site by overlaying traditional multicast.
  • the primary CPE or single-homed CPE forwards the multicast data packets to the multicast receivers on the LAN side.
  • Example 1 and Example 2 can be used as the method flow in the BIER-MPLS scenario.
  • the following is an example of the method flow in the BIERv6 scenario. See Example 3 and Example 4.
  • Figure 34 is a schematic diagram of the network deployment scenario of Example 3.
  • the multicast source is located in the network connected to the LAN side interface of CPE100 in site 5.
  • the multicast receiver is located in the network connected to the LAN side interface of CPE6 in site 3.
  • the active and backup CPEs in site 3 deploy different End.BIER addresses, BFR-IDs and BFR prefixes;
  • VPN BIERv6over EVPN is used to flood VPN BIERv6 topology information between sites; standard NG-MVPN is deployed between the root site and leaf sites to transmit private data Network overlay multicast join information.
  • Step 1 Establish underlay SD-WAN tunnel. Step 1 can refer to Example 1.
  • Step 2 Overlay BIERv6VPN tunnel is established.
  • Step 2 includes the following steps (2-1) to (2-3).
  • Step (2-1) Deploy BIERv6 in the VPN at each site, and configure the End.BIER address, BFR prefix and BFR-ID in the VPN respectively.
  • the configuration of CPE5 in site 3 is as follows.
  • Step (2-2) Deploy VPN BIERv6over BGP EVPN on each CPE in the VPN, and pass the BGP EVPN IP prefix route advertisement BFR prefix carries BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute and color extended community attribute.
  • CPE5 the configuration of CPE5 is as follows.
  • Step (2-3) Each CPE uses RR reflection BGP EVPN BIER routing to learn the BFR neighbors in the VPN, and calculates the BIER routing table with the site ID as the next hop (unicast routing) based on the extended community attributes carried by the route. Iterate to site ID as an example). For example, the BIER routing table learned by CPE100 in site 5 is shown in Table 14 below.
  • Step 3 Join the overlay multicast, the same as instance 1.
  • Step 4 Forward multicast data packets.
  • Step 4 includes the following steps (4-1) to (4-3).
  • Step (4-1) When CPE100 receives the multicast data packet of the LAN-side VPN, it obtains the bit string based on the BFR-ID of the leaf node set in the VPN, encapsulates the BIER header in the multicast data packet, and searches for the BIERv6 in the VPN. BIER forwarding table. If the next hop corresponding to the bit string in the BIER forwarding table is the site ID, use the site ID as the index to further search the SD-WAN tunnel connection table. Or, if the next hop corresponding to the bit string in the BIER forwarding table is the CPE ID, then use the CPE ID as the index to further search the SD-WAN tunnel connection table shown in Table 15.
  • the key field in the GRE header includes the VNID configured under the VPN. If there is a primary tunnel and a backup tunnel at the next hop site, one of the tunnels is randomly selected.
  • Step (4-2) The multicast data message is forwarded hop by hop based on the destination IP address in the outer IP header. After arriving at the CPE in a certain hop site, the multicast data message hits the corresponding SD-WAN decapsulation table. WAN tunnel and corresponding VPN, further search for the BIERv6 forwarding entry in the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it is determined that this node is an intermediate node, and the bit string in the BIER header is updated. Afterwards, the next hop is iterated based on BIER forwarding.
  • Step (4-3) After the packet reaches the leaf site, the CPE in the leaf site decapsulates the SD-WAN GRE header. If the BFR-ID of this node matches the F-BM in the forwarding entry, the BIER header is decapsulated and further searches for the MVPN customer multicast routing entry in the VPN for forwarding. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it will continue to forward the entry according to the BIERv6 in the VPN. The next hop of the iteration is the peer CPE in this site. After the bit string is updated, GRE will no longer be encapsulated. header and forwarded directly to the peer CPE.
  • Example 4 includes the following steps.
  • Step 1 Establish an underlay SD-WAN tunnel.
  • step 1 please refer to the description of Example 1.
  • Step 2 Establish overlay BIERv6VPN tunnel.
  • BGP BIER VPN address family routing to advertise the BFR prefix within the VPN, carrying BIER encapsulation extended community attributes, SD-WAN encapsulation extended community attributes, and color extended community attributes.
  • Step 3 Join the overlay multicast.
  • CPE6 in site 3 receives the multicast join message from the LAN side interface and obtains the BGP EVPN route.
  • the route carries PTA attributes and VRI attributes and is reflected to CPE100 in site 5 through RR.
  • CPE100 learns CPE6 as the leaf node of the VPN BIER tunnel, and calculates the bit string based on the BFR-ID carried by the PTA.
  • Step 4 Forward multicast data packets.
  • Multicast data packet forwarding between non-leaf sites is the same as Example 3.
  • the CPE in the leaf site that receives the multicast data packet will strip off the GRE header and BIER header, which is equivalent to the multicast datagram. Wend out a two-story tunnel.
  • the CPE that receives the multicast data packet will forward an original multicast data packet to the opposite CPE in the same site by overlaying traditional multicast.
  • the primary CPE or single-homed CPE is responsible for forwarding multicast data packets to multicast receivers on the LAN side.
  • Figure 35 is a schematic structural diagram of a multicast configuration device 700 provided by an embodiment of the present application.
  • the device 700 is installed on the first network device in the VPN and includes a processing unit 701 for obtaining a first parameter set.
  • the parameter set includes the bit forwarding router prefix BFR prefix of the first network device and the parameters used to identify the software-defined wide area network SD-WAN tunnel.
  • the first network device is the endpoint of the SD-WAN tunnel; the sending unit 702 is used to The first parameter set is sent within the VPN.
  • the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
  • the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
  • the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
  • the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information.
  • the first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel.
  • the first information is used to determine The SD-WAN tunnel.
  • the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
  • CPE ID client equipment identification
  • the sending unit 702 is configured to send the first parameter set to a second network device in the VPN, which is another endpoint of the SD-WAN tunnel; or, to route reflection
  • the server RR sends the first parameter set, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the other endpoint of the SD-WAN tunnel.
  • the sending unit 702 is configured to send a first notification message within the VPN.
  • the first notification message includes a first address family identifier and the first parameter set.
  • the first address family identifier is Bit-based explicit replication of BGP VPN BIER used to identify Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or Border Gateway Protocol Virtual Private Network.
  • the processing unit 701 is also used to obtain a second parameter set, which includes multicast source group information, the BFR prefix of the first network device, and a second tunnel type.
  • the second tunnel The type is used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel; the sending unit 702 is used to send the second parameter set to the second network device.
  • the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
  • the sending unit 702 is configured to send a second notification message to the second network device.
  • the second notification message includes a second address family identifier and the second parameter set.
  • the second address family The identifier is used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
  • the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute
  • the PTA attribute includes an MPLS label MPLS label field
  • the MPLS label field includes an identification of the VPN.
  • the device further includes:
  • a receiving unit configured to receive a join message from a multicast receiver in the VPN, where the join message includes the multicast source group information; or, to receive a leave message from a multicast receiver in the VPN, where the leave message includes the group information.
  • Source group information configured to receive a join message from a multicast receiver in the VPN, where the join message includes the multicast source group information; or, to receive a leave message from a multicast receiver in the VPN, where the leave message includes the group information.
  • the device embodiment described in Figure 35 is only illustrative.
  • the division of the above units is only a logical function division. In actual implementation, there may be other divisions.
  • multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
  • Each functional unit in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
  • Each unit in the device 700 is implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • processing unit 701 is implemented by a software functional unit generated by at least one processor 901 in FIG. 37 after reading the program code stored in the memory 902.
  • the above-mentioned units in Figure 35 are respectively implemented by different hardware in the network device.
  • the processing unit 701 is implemented by a part of the processing resources (such as multi-core) in at least one processor 901 in Figure 37 One core or two cores in the processor), or using programmable devices such as field-programmable gate array (FPGA) or co-processor.
  • the sending unit 702 is implemented by the network interface 903 in Figure 37.
  • FIG 36 is a schematic structural diagram of a device 800 for processing multicast messages provided by an embodiment of the present application.
  • the device 800 is installed on the first network device in the VPN and includes: a receiving unit 801 for receiving the first multicast data. message; the processing unit 802 is configured to obtain a second multicast data message based on the first multicast data message and a first parameter set, where the first parameter set includes the bit forwarding router of the second network device in the VPN The prefix BFR prefix and the parameters used to identify the software-defined wide area network SD-WAN tunnel.
  • the second network device is the endpoint of the SD-WAN tunnel.
  • the second multicast data message includes a first message header and a second message. header and the payload of the first multicast data message.
  • the first message header includes a base The IP address of the second network device obtained from the parameter used to identify the SD-WAN tunnel, the second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device;
  • the sending unit 803 is configured to send the second multicast data message to the second network device through the SD-WAN tunnel.
  • the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device.
  • the max-SI the max-SI, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
  • the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device.
  • the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel.
  • the tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
  • the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
  • the first message header includes a protocol type field
  • the protocol type field is used to identify the second message header carrying the BIER parameter.
  • the first packet header also includes the ID of the VPN.
  • the device embodiment described in Figure 36 is only illustrative.
  • the division of the above units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented.
  • Each functional unit in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
  • Each unit in the device 800 is implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • processing unit 802 is implemented by a software functional unit generated by at least one processor 901 in FIG. 37 after reading the program code stored in the memory 902.
  • the above-mentioned units in Figure 36 are respectively implemented by different hardware in the network device.
  • the processing unit 802 is implemented by a part of the processing resources (such as multi-core) in at least one processor 901 in Figure 37 One core or two cores in the processor), or using programmable devices such as field-programmable gate array (FPGA) or co-processor.
  • the receiving unit 801 and the sending unit 803 are implemented by the network interface 903 in Figure 37.
  • Figure 37 is a schematic structural diagram of a network device 900 provided by an embodiment of the present application.
  • Network device 900 includes at least one processor 901, memory 902, and at least one network interface 903.
  • the processor 901 is, for example, a general-purpose central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), or a neural-network processing unit (NPU). ), a data processing unit (DPU), a microprocessor, or a or A plurality of integrated circuits used to implement the solution of this application.
  • the processor 901 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof.
  • a PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
  • the memory 902 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (random access memory, RAM) or a device that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation.
  • the memory 902 exists independently and is connected to the processor 901 through an internal connection 904.
  • memory 902 and processor 901 may optionally be integrated together.
  • Network interface 903 uses any transceiver-like device for communicating with other devices or communications networks.
  • the network interface 903 includes, for example, at least one of a wired network interface or a wireless network interface.
  • the wired network interface is, for example, an Ethernet interface.
  • the Ethernet interface is, for example, an optical interface, an electrical interface or a combination thereof.
  • the wireless network interface is, for example, a wireless local area network (WLAN) interface, a cellular network network interface or a combination thereof.
  • WLAN wireless local area network
  • processor 901 includes one or more CPUs, such as CPU0 and CPU1 shown in Figure 37.
  • network device 900 optionally includes multiple processors, such as processor 901 and processor 905 shown in FIG. 37 .
  • processors are, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • Processor here optionally refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • network device 900 also includes internal connections 904.
  • the processor 901, the memory 902 and at least one network interface 903 are connected through an internal connection 904.
  • Internal connections 904 include pathways that carry information between the components described above.
  • internal connection 904 is a single board or bus.
  • the internal connections 904 are divided into address bus, data bus, control bus, etc.
  • network device 900 also includes an input and output interface 906.
  • Input/output interface 906 is connected to internal connection 904 .
  • the processor 901 implements the method in the above embodiment by reading the program code stored in the memory 902, or the processor 901 implements the method in the above embodiment by using the internally stored program code.
  • the memory 902 stores the program code 910 that implements the method provided by the embodiment of the present application.
  • A refers to B, which means that A is the same as B or that A is a simple transformation of B.
  • first and second in the description and claims of the embodiments of this application are used to distinguish different objects, rather than to describe a specific order of objects, and cannot be understood to indicate or imply relative importance. sex.
  • first parameter set and the second parameter set are used to distinguish different parameter sets rather than to describe a specific order of the parameter sets, nor can it be understood that the first parameter set is more important than the second parameter set.
  • “at least one” means one or more, and “plurality” means two or more.
  • multiple parameter sets refer to two or more parameter sets.
  • the above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present application are generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted over a wired connection from a website, computer, server, or data center (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website, computer, server or data center.
  • the computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.

Abstract

The present application relates to the field of data communications, and provides a multicast configuration method and apparatus. In the present application, a BFR prefix and parameters for identifying an SD-WAN tunnel are advertised in a VPN, so that the presence of an association relationship between a BIER and an SD-WAN can be indicated, that is, it is necessary to pass through the SD-WAN tunnel to reach a certain BFR prefix, thus facilitating forwarding a data packet in the SD-WAN on the basis of the BIER. In this way, an intermediate node in the SD-WAN can replicate and forward the packet according to a set situation of a bit string in the packet, without sensing the status of a multicast group, or establishing a multicast distribution tree for each multicast data stream. Thus, resources occupied by forwarding multicast streams in an SD-WAN scenario are saved.

Description

一种组播配置方法及装置A multicast configuration method and device
本申请要求于2022年11月28日提交的申请号为202211512828.6、发明名称为“一种组播配置方法及装置”的中国专利申请的优先权,以及于2022年7月21日提交的申请号为202210865496.3、发明名称为“一种配置组播的方法及装置”的中国专利申请的优先权。上述专利申请的全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application with application number 202211512828.6 and the invention title "A multicast configuration method and device" submitted on November 28, 2022, as well as the application number submitted on July 21, 2022 It is the priority of the Chinese patent application 202210865496.3 with the invention title "A method and device for configuring multicast". The entire contents of the aforementioned patent applications are incorporated by reference into this application.
技术领域Technical field
本申请涉及数据通信领域,特别涉及一种组播配置方法及装置。The present application relates to the field of data communications, and in particular to a multicast configuration method and device.
背景技术Background technique
软件定义广域网(software-defined wide area network,SD-WAN)是一种实现不同站点之间跨广域网进行数据通信的技术。Software-defined wide area network (SD-WAN) is a technology that enables data communication across wide area networks between different sites.
目前在SD-WAN中部署组播业务时,通常在SD-WAN中每个站点内每个网络设备的WAN接口上部署PIM协议。各个网络设备首先基于协议无关组播(protocol independent multicast,PIM)协议在WAN中传输PIM控制消息。各个网络设备基于PIM协议为每一个组播流建立组播分发树,并保存组播流的状态,基于组播分发树以及组播流的状态转发组播流。当有新的组播接收者加入时,则网络设备将加入消息逐跳传递给组播源连接的网络设备。When multicast services are currently deployed in SD-WAN, the PIM protocol is usually deployed on the WAN interface of each network device in each site in SD-WAN. Each network device first transmits PIM control messages in the WAN based on the protocol independent multicast (PIM) protocol. Each network device establishes a multicast distribution tree for each multicast flow based on the PIM protocol, saves the status of the multicast flow, and forwards the multicast flow based on the multicast distribution tree and the status of the multicast flow. When a new multicast receiver joins, the network device delivers the join message hop by hop to the network device connected to the multicast source.
在SD-WAN场景下采用上述方法来部署组播业务时,作为中间节点的网络设备需要建立组播分发树并保存组播流的状态,导致占用的资源过多。When using the above method to deploy multicast services in an SD-WAN scenario, the network device as an intermediate node needs to establish a multicast distribution tree and save the status of the multicast flow, resulting in excessive resource usage.
发明内容Contents of the invention
本申请提供了一种组播配置方法及装置,能够节省SD-WAN场景下转发组播流所占用的资源。该技术方案如下。This application provides a multicast configuration method and device, which can save resources occupied by forwarding multicast flows in SD-WAN scenarios. The technical solution is as follows.
第一方面,提供了一种组播配置方法,包括:虚拟专用网VPN内的第一网络设备获得第一参数集,该第一参数集包括该第一网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第一网络设备为该SD-WAN隧道的端点;该第一网络设备在该VPN内发送该第一参数集。In a first aspect, a multicast configuration method is provided, including: a first network device in a virtual private network VPN obtains a first parameter set, the first parameter set includes the bit forwarding router prefix BFR prefix of the first network device and Parameters used to identify the software-defined wide area network SD-WAN tunnel, the first network device is the endpoint of the SD-WAN tunnel; the first network device sends the first parameter set within the VPN.
上述第一方面提供的方法中,转发设备通过在VPN内通告BFR prefix以及用于标识SD-WAN隧道的参数,能够指示了BIER与SD-WAN之间具有关联关系,即,如果需要到达某个BFR prefix,则要经过SD-WAN隧道,因此有助于在SD-WAN中基于BIER转发数据报文,使得SD-WAN网络中的中间节点能够根据报文中比特串的置位情况,实现报文的复制转发,而无需感知组播组状态,也无需为每条组播数据流分别建立一个组播分发树,从而节省了SD-WAN场景下转发组播流所占用的资源。In the method provided in the first aspect above, the forwarding device can indicate the association between BIER and SD-WAN by advertising the BFR prefix and the parameters used to identify the SD-WAN tunnel in the VPN, that is, if it needs to reach a certain BFR prefix must go through the SD-WAN tunnel, so it helps forward data packets based on BIER in SD-WAN, so that the intermediate node in the SD-WAN network can implement reporting based on the bit string setting in the packet. Copy and forward messages without the need to sense the status of the multicast group or build a multicast distribution tree for each multicast data flow, thus saving the resources occupied by forwarding multicast flows in SD-WAN scenarios.
在一些实施方式中,该第一参数集还包括该第一网络设备的BIER转发路由器标识符BFR-ID。In some embodiments, the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
在一些实施方式中,该第一网络设备的BFR prefix为该第一网络设备在该VPN内的私网互联网协议IP地址。In some implementations, the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
通过将VPN内的私网IP地址作为BFR prefix,使得路由可达至该私网IP地址的设备才会接收到第一参数集,从而实现将参数集的发送范围限制为VPN内。 By using the private IP address in the VPN as the BFR prefix, only devices with routes that can reach the private IP address will receive the first parameter set, thereby limiting the sending range of the parameter set to the VPN.
在一些实施方式中,该第一参数集还包括该第一网络设备的比特串长度BSL、该第一网络设备的集合标识最大值max-SI、该第一网络设备所在的BIER子域的ID、该第一网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息,该第一隧道类型用于标识隧道的类型为SD-WAN隧道,该第一信息用于确定该SD-WAN隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information. The first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel. The first information is used to determine The SD-WAN tunnel.
在一些实施方式中,该第一信息包括该第一网络设备所处的站点的标识或者该第一网络设备的用户端设备标识CPE ID中至少一项。In some implementations, the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
在一些实施方式中,该第一网络设备在该VPN内发送该第一参数集,包括:In some implementations, the first network device sends the first parameter set within the VPN, including:
该第一网络设备向该VPN内的第二网络设备发送该第一参数集,该第二网络设备为该SD-WAN隧道的另一个端点;或者,The first network device sends the first parameter set to a second network device in the VPN, the second network device being the other endpoint of the SD-WAN tunnel; or,
该第一网络设备向路由反射器RR发送该第一参数集,以使该RR将该第一参数集反射至该VPN内的第二网络设备,该第二网络设备为该SD-WAN隧道的另一个端点。The first network device sends the first parameter set to the route reflector RR, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the node of the SD-WAN tunnel. Another endpoint.
在一些实施方式中,该第一网络设备在该VPN内发送该第一参数集,包括:该第一网络设备在该VPN内发送第一通告报文,该第一通告报文包括第一地址族标识以及该第一参数集,该第一地址族标识用于标识边界网关协议以太虚拟专用网络BGP EVPN或者边界网关协议虚拟专用网络基于比特位的显式复制BGP VPN BIER。In some implementations, the first network device sends the first parameter set within the VPN, including: the first network device sends a first advertisement message within the VPN, and the first advertisement message includes a first address The family identifier and the first parameter set, the first address family identifier is used to identify the Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or the Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
在一些实施方式中,该方法还包括:该第一网络设备获得第二参数集,该第二参数集包括组播源组信息、该第一网络设备的BFR prefix以及第二隧道类型,该第二隧道类型用于标识该第一网络设备与该VPN内第二网络设备之间的隧道为VPN BIER隧道;In some implementations, the method further includes: the first network device obtains a second parameter set, the second parameter set includes multicast source group information, the BFR prefix of the first network device and a second tunnel type, the The second tunnel type is used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel;
该第一网络设备向该第二网络设备发送该第二参数集。The first network device sends the second parameter set to the second network device.
在一些实施方式中,该第二参数集还包括该第一网络设备的比特转发路由器BFR-ID、该VPN的标识、该第二网络设备所处的站点的标识以及该第二网络设备的CPE ID中的一个或多个。In some embodiments, the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
在一些实施方式中,该第一网络设备向该第二网络设备发送该第二参数集,包括:该第一网络设备向该第二网络设备发送第二通告报文,该第二通告报文包括第二地址族标识以及该第二参数集,该第二地址族标识用于标识下一代组播虚拟专用网络NG MVPN或者BGP EVPN。In some implementations, the first network device sends the second parameter set to the second network device, including: the first network device sends a second notification message to the second network device, and the second notification message Including a second address family identifier and the second parameter set, the second address family identifier is used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
在一些实施方式中,该第二通告报文包括组播提供商服务接口隧道属性PTA属性,该PTA属性包括MPLS标签MPLS label字段,该MPLS label字段包括该VPN的标识。In some embodiments, the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute, the PTA attribute includes an MPLS label MPLS label field, and the MPLS label field includes an identification of the VPN.
在一些实施方式中,该第一网络设备获得第二参数集之前,该方法还包括:该第一网络设备接收来自该VPN内组播接收者的加入消息,该加入消息包括该组播源组信息;或者,该第一网络设备接收来自该VPN内组播接收者的离开消息,该离开消息包括该组播源组信息。In some implementations, before the first network device obtains the second parameter set, the method further includes: the first network device receiving a join message from the multicast receiver in the VPN, the join message including the multicast source group information; or, the first network device receives a leave message from the multicast receiver in the VPN, where the leave message includes the multicast source group information.
第二方面,提供了一种处理组播报文的方法,包括:The second aspect provides a method for processing multicast packets, including:
虚拟专用网VPN内的第一网络设备接收第一组播数据报文;该第一网络设备基于该第一组播数据报文和第一参数集,获得第二组播数据报文,该第一参数集包括该VPN内第二 网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第二网络设备为该SD-WAN隧道的端点,该第二组播数据报文包括第一报文头、第二报文头和该第一组播数据报文的载荷,该第一报文头包括基于该用于标识SD-WAN隧道的参数获得的该第二网络设备的IP地址,该第二报文头包括基于该第二网络设备的BFR prefix获取的基于比特位的显式复制BIER参数;该第一网络设备通过该SD-WAN隧道向该第二网络设备发送该第二组播数据报文。The first network device in the virtual private network VPN receives the first multicast data message; the first network device obtains the second multicast data message based on the first multicast data message and the first parameter set. A parameter set includes the second The bit forwarding router prefix BFR prefix of the network device and the parameters used to identify the software-defined wide area network SD-WAN tunnel. The second network device is the endpoint of the SD-WAN tunnel. The second multicast data message includes the first message. header, a second packet header and a payload of the first multicast data packet. The first packet header includes the IP address of the second network device obtained based on the parameter used to identify the SD-WAN tunnel. The third The second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device; the first network device sends the second multicast data to the second network device through the SD-WAN tunnel. message.
通过第二方面提供的方法,实现了SD-WAN和BIER组播结合的报文转发方式,使得BIER封装的组播数据可以穿越传输网络转发,SD-WAN网络中的中间节点能够根据报文中比特串的置位情况,实现报文的复制转发,而无需感知组播组状态,也无需为每条组播数据流分别建立一个组播分发树,从而节省了SD-WAN场景下转发组播流所占用的资源。Through the method provided in the second aspect, the message forwarding method that combines SD-WAN and BIER multicast is realized, so that the multicast data encapsulated by BIER can be forwarded across the transmission network, and the intermediate nodes in the SD-WAN network can forward the message according to the content of the message. The setting status of the bit string enables the copy and forwarding of messages without the need to sense the status of the multicast group and the need to build a multicast distribution tree for each multicast data flow, thus saving the time of forwarding multicast in the SD-WAN scenario. The resources occupied by the stream.
在一些实施方式中,该第一参数集还包括:该第二网络设备的BIER转发路由器标识符BFR-ID、该第二网络设备的比特串长度BSL、该第二网络设备的集合标识最大值max-SI、该第二网络设备所在的BIER子域的ID、该第二网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device. One or more of the max-SI, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
在一些实施方式中,该BIER参数包括与该第二网络设备的BFR prefix对应的比特串bitstring、与该第二网络设备的BFR prefix对应的BIER-MPLS标签、与该第二网络设备的BFR prefix对应的互联网协议第6版IPv6地址其中的一个或多个。In some implementations, the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device. One or more of the corresponding Internet Protocol version 6 IPv6 addresses.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括隧道类型以及用于确定该SD-WAN隧道的信息,该隧道类型用于标识隧道的类型为SD-WAN隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel. The tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
在一些实施方式中,该用于确定该SD-WAN隧道的信息包括该第二网络设备所处的站点的标识或者该第二网络设备的用户端设备标识CPE ID中至少一项。In some embodiments, the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
在一些实施方式中,该第一报文头包括协议类型字段,该协议类型字段用于标识携带该BIER参数的该第二报文头。In some implementations, the first message header includes a protocol type field, and the protocol type field is used to identify the second message header carrying the BIER parameter.
在一些实施方式中,该第一报文头还包括该VPN的ID。In some implementations, the first packet header also includes the ID of the VPN.
第三方面,提供了一种组播配置装置,设于虚拟专用网VPN内的第一网络设备,包括:处理单元,用于获得第一参数集,该第一参数集包括该第一网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第一网络设备为该SD-WAN隧道的端点;发送单元,用于在该VPN内发送该第一参数集。In a third aspect, a multicast configuration device is provided. The first network device located in the virtual private network (VPN) includes: a processing unit for obtaining a first parameter set, the first parameter set including the first network device. The bit forwarding router prefix BFR prefix and the parameters used to identify the software-defined wide area network SD-WAN tunnel, the first network device is the endpoint of the SD-WAN tunnel; the sending unit is used to send the first parameter set within the VPN .
在一些实施方式中,该第一参数集还包括该第一网络设备的BIER转发路由器标识符BFR-ID。In some embodiments, the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
在一些实施方式中,该第一网络设备的BFR prefix为该第一网络设备在该VPN内的私网互联网协议IP地址。In some implementations, the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
在一些实施方式中,该第一参数集还包括该第一网络设备的比特串长度BSL、该第一网络设备的集合标识最大值max-SI、该第一网络设备所在的BIER子域的ID、该第一网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息,该第一隧道类型用于标识隧道的类型为SD-WAN隧道,该第一信息用于确定该SD-WAN 隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information. The first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel. The first information is used to determine The SD-WAN tunnel.
在一些实施方式中,该第一信息包括该第一网络设备所处的站点的标识或者该第一网络设备的用户端设备标识CPE ID中至少一项。In some implementations, the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
在一些实施方式中,该发送单元,用于向该VPN内的第二网络设备发送该第一参数集,该第二网络设备为该SD-WAN隧道的另一个端点;或者,向路由反射器RR发送该第一参数集,以使该RR将该第一参数集反射至该VPN内的第二网络设备,该第二网络设备为该SD-WAN隧道的另一个端点。In some implementations, the sending unit is configured to send the first parameter set to a second network device in the VPN, which is another endpoint of the SD-WAN tunnel; or, to a route reflector. The RR sends the first parameter set, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the other endpoint of the SD-WAN tunnel.
在一些实施方式中,该发送单元,用于在该VPN内发送第一通告报文,该第一通告报文包括第一地址族标识以及该第一参数集,该第一地址族标识用于标识边界网关协议以太虚拟专用网络BGP EVPN或者边界网关协议虚拟专用网络基于比特位的显式复制BGP VPN BIER。In some implementations, the sending unit is configured to send a first advertisement message within the VPN. The first advertisement message includes a first address family identifier and the first parameter set. The first address family identifier is used to Identifies Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
在一些实施方式中,该处理单元,还用于获得第二参数集,该第二参数集包括组播源组信息、该第一网络设备的BFR prefix以及第二隧道类型,该第二隧道类型用于标识该第一网络设备与该VPN内第二网络设备之间的隧道为VPN BIER隧道;该发送单元,用于向该第二网络设备发送该第二参数集。In some embodiments, the processing unit is also used to obtain a second parameter set, which includes multicast source group information, the BFR prefix of the first network device, and a second tunnel type. The second tunnel type Used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel; the sending unit is used to send the second parameter set to the second network device.
在一些实施方式中,该第二参数集还包括该第一网络设备的比特转发路由器BFR-ID、该VPN的标识、该第二网络设备所处的站点的标识以及该第二网络设备的CPE ID中的一个或多个。In some embodiments, the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
在一些实施方式中,该发送单元,用于向该第二网络设备发送第二通告报文,该第二通告报文包括第二地址族标识以及该第二参数集,该第二地址族标识用于标识下一代组播虚拟专用网络NG MVPN或者BGP EVPN。In some implementations, the sending unit is configured to send a second notification message to the second network device. The second notification message includes a second address family identifier and the second parameter set. The second address family identifier Used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
在一些实施方式中,该第二通告报文包括组播提供商服务接口隧道属性PTA属性,该PTA属性包括MPLS标签MPLS label字段,该MPLS label字段包括该VPN的标识。In some embodiments, the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute, the PTA attribute includes an MPLS label MPLS label field, and the MPLS label field includes an identification of the VPN.
在一些实施方式中,该装置还包括:接收单元,用于接收来自该VPN内组播接收者的加入消息,该加入消息包括该组播源组信息;或者,接收来自该VPN内组播接收者的离开消息,该离开消息包括该组播源组信息。In some embodiments, the device further includes: a receiving unit, configured to receive a join message from the intra-VPN multicast receiver, where the join message includes the multicast source group information; or, receive a join message from the intra-VPN multicast receiver. The leave message includes the multicast source group information.
第四方面,提供了一种处理组播报文的装置,设于虚拟专用网VPN内的第一网络设备,包括:接收单元,用于接收第一组播数据报文;处理单元,用于基于该第一组播数据报文和第一参数集,获得第二组播数据报文,该第一参数集包括该VPN内第二网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第二网络设备为该SD-WAN隧道的端点,该第二组播数据报文包括第一报文头、第二报文头和该第一组播数据报文的载荷,该第一报文头包括基于该用于标识SD-WAN隧道的参数获得的该第二网络设备的IP地址,该第二报文头包括基于该第二网络设备的BFR prefix获取的基于比特位的显式复制BIER参数;发送单元,用于通过该SD-WAN隧道向该第二网络设备发送该第二组播数据报文。In the fourth aspect, a device for processing multicast messages is provided. The first network device located in the virtual private network VPN includes: a receiving unit for receiving the first multicast data message; and a processing unit for Based on the first multicast data message and the first parameter set, a second multicast data message is obtained. The first parameter set includes the bit forwarding router prefix BFR prefix of the second network device in the VPN and the software definition used to identify it. Parameters of the wide area network SD-WAN tunnel. The second network device is the endpoint of the SD-WAN tunnel. The second multicast data packet includes a first packet header, a second packet header and the first multicast data packet. The payload of the message, the first message header includes the IP address of the second network device obtained based on the parameters used to identify the SD-WAN tunnel, and the second message header includes the BFR prefix obtained based on the second network device a bit-based explicit copy BIER parameter; a sending unit configured to send the second multicast data message to the second network device through the SD-WAN tunnel.
在一些实施方式中,该第一参数集还包括:该第二网络设备的BIER转发路由器标识符BFR-ID、该第二网络设备的比特串长度BSL、该第二网络设备的集合标识最大值max-SI、 该第二网络设备所在的BIER子域的ID、该第二网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device. max-SI, One or more of the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
在一些实施方式中,该BIER参数包括与该第二网络设备的BFR prefix对应的比特串bitstring、与该第二网络设备的BFR prefix对应的BIER-MPLS标签、与该第二网络设备的BFR prefix对应的互联网协议第6版IPv6地址其中的一个或多个。In some implementations, the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device. One or more of the corresponding Internet Protocol version 6 IPv6 addresses.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括隧道类型以及用于确定该SD-WAN隧道的信息,该隧道类型用于标识隧道的类型为SD-WAN隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel. The tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
在一些实施方式中,该用于确定该SD-WAN隧道的信息包括该第二网络设备所处的站点的标识或者该第二网络设备的用户端设备标识CPE ID中至少一项。In some embodiments, the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
在一些实施方式中,该第一报文头包括协议类型字段,该协议类型字段用于标识携带该BIER参数的该第二报文头。In some implementations, the first message header includes a protocol type field, and the protocol type field is used to identify the second message header carrying the BIER parameter.
在一些实施方式中,该第一报文头还包括该VPN的ID。In some implementations, the first packet header also includes the ID of the VPN.
第五方面,提供了一种网络设备,该网络设备包括处理器和网络接口,该网络设备通过该处理器和该网络接口,执行上述第一方面或第一方面任一种可选方式所提供的方法。In a fifth aspect, a network device is provided. The network device includes a processor and a network interface. The network device executes the above-mentioned first aspect or any of the optional methods provided by the first aspect through the processor and the network interface. Methods.
第六方面,提供了一种网络设备,该网络设备包括处理器和网络接口,该网络设备通过该处理器和该网络接口,执行上述第二方面或第二方面任一种可选方式所提供的方法。In a sixth aspect, a network device is provided. The network device includes a processor and a network interface. The network device executes the above second aspect or any of the optional methods provided by the second aspect through the processor and the network interface. Methods.
第七方面,提供了一种网络系统,该系统包括如第三方面或者第三方面任一种实施方式中的装置以及如第四方面或者第四方面任一种实施方式中的装置。In a seventh aspect, a network system is provided, which system includes the device as in the third aspect or any one of the embodiments of the third aspect and the device as in the fourth aspect or any one of the embodiments of the fourth aspect.
第八方面,提供了一种网络系统,该系统包括如第五方面中的设备以及如第六方面中的设备。In an eighth aspect, a network system is provided, which system includes the device as in the fifth aspect and the device as in the sixth aspect.
第九方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在计算机上运行时,使得计算机执行如上述第一方面或第一方面任一种可选方式所提供的方法。In a ninth aspect, a computer-readable storage medium is provided. The storage medium stores at least one instruction. When the instruction is run on a computer, it causes the computer to execute the above-mentioned first aspect or any of the optional methods of the first aspect. methods provided.
第十方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令在计算机上运行时,使得计算机执行如上述第二方面或第二方面任一种可选方式所提供的方法。In a tenth aspect, a computer-readable storage medium is provided. The storage medium stores at least one instruction. When the instruction is run on a computer, it causes the computer to execute the above-mentioned second aspect or any of the optional methods of the second aspect. methods provided.
第十一方面,提供了一种计算机程序产品,该计算机程序产品包括一个或多个计算机程序指令,当该计算机程序指令被计算机加载并运行时,使得该计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。In an eleventh aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run by a computer, they cause the computer to execute the above-mentioned first aspect or aspects. Any of the optional methods provided.
第十二方面,提供了一种计算机程序产品,该计算机程序产品包括一个或多个计算机程序指令,当该计算机程序指令被计算机加载并运行时,使得该计算机执行上述第二方面或第二方面任一种可选方式所提供的方法。In a twelfth aspect, a computer program product is provided. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run by a computer, the computer is caused to execute the above second aspect or the second aspect. Any of the optional methods provided.
第十三方面,提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第一方面或第一方面的任一可选方式所提供的方法。In a thirteenth aspect, a chip is provided. The chip includes programmable logic circuits and/or program instructions. When the chip is run, it is used to implement the method provided by the above-mentioned first aspect or any alternative method of the first aspect. .
第十四方面,提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第二方面或第二方面任一种可选方式所提供的方法。In a fourteenth aspect, a chip is provided. The chip includes programmable logic circuits and/or program instructions. When the chip is run, it is used to implement the method provided in the above-mentioned second aspect or any of the optional modes of the second aspect. .
附图说明 Description of drawings
图1是本申请实施例提供的一种应用场景的示意图;Figure 1 is a schematic diagram of an application scenario provided by an embodiment of the present application;
图2是本申请实施例提供的另一种应用场景的示意图;Figure 2 is a schematic diagram of another application scenario provided by the embodiment of the present application;
图3是本申请实施例提供的一种网络拓扑的示意图;Figure 3 is a schematic diagram of a network topology provided by an embodiment of the present application;
图4是本申请实施例提供的一种逻辑功能架构示意图;Figure 4 is a schematic diagram of a logical function architecture provided by an embodiment of the present application;
图5是本申请实施例提供的一种组播配置方法的流程图;Figure 5 is a flow chart of a multicast configuration method provided by an embodiment of the present application;
图6是本申请实施例提供的另一种组播配置方法的流程图;Figure 6 is a flow chart of another multicast configuration method provided by an embodiment of the present application;
图7是本申请提供的一种处理组播数据报文的方法的流程图;Figure 7 is a flow chart of a method for processing multicast data packets provided by this application;
图8是本申请实施例提供的一种BGP EVPN IP prefix路由NLRI格式示意图;Figure 8 is a schematic diagram of a BGP EVPN IP prefix routing NLRI format provided by the embodiment of this application;
图9是本申请实施例提供的一种BGP BIER VPN prefix路由NLRI格式示意图;Figure 9 is a schematic diagram of a BGP BIER VPN prefix routing NLRI format provided by the embodiment of this application;
图10是本申请实施例提供的一种第一通告报文中BIER业务封装属性字段格式示意图;Figure 10 is a schematic diagram of the format of the BIER service encapsulation attribute field in the first notification message provided by the embodiment of the present application;
图11是本申请实施例提供的一种第一通告报文中SD-WAN封装扩展团体属性以及color扩展团体属性的示意图;Figure 11 is a schematic diagram of SD-WAN encapsulated extended community attributes and color extended community attributes in a first notification message provided by an embodiment of the present application;
图12是本申请实施例提供的一种MVPN或EVPN路由VPN BIER PTA字段格式示意图;Figure 12 is a schematic diagram of the MVPN or EVPN routing VPN BIER PTA field format provided by the embodiment of the present application;
图13是本申请实施例提供的一种BGP EVPN S-PMSI A-D路由NLRI格式示意图;Figure 13 is a schematic diagram of the BGP EVPN S-PMSI A-D routing NLRI format provided by the embodiment of this application;
图14是本申请实施例提供的一种BGP EVPN leaf A-D路由NLRI格式示意图;Figure 14 is a schematic diagram of the BGP EVPN leaf A-D routing NLRI format provided by the embodiment of this application;
图15是本申请实施例提供的一种BGP EVPN SMET路由NLRI格式示意图;Figure 15 is a schematic diagram of a BGP EVPN SMET routing NLRI format provided by the embodiment of this application;
图16是本申请实施例提供的一种通告加入时使用的报文格式示意图;Figure 16 is a schematic diagram of a message format used when announcing joining provided by an embodiment of the present application;
图17是本申请实施例提供的另一种通告加入时使用的报文格式示意图;Figure 17 is a schematic diagram of another message format used when announcing joining provided by the embodiment of the present application;
图18是本申请实施例提供的一种组播数据报文的封装格式示意图;Figure 18 is a schematic diagram of the encapsulation format of a multicast data message provided by an embodiment of the present application;
图19是本申请实施例提供的一种满足RFC8296定义的BIER头的封装格式示意图;Figure 19 is a schematic diagram of the encapsulation format of a BIER header that meets the definition of RFC8296 provided by an embodiment of the present application;
图20是本申请实施例提供的一种BIERv6封装格式示意图;Figure 20 is a schematic diagram of a BIERv6 encapsulation format provided by an embodiment of the present application;
图21是本申请实施例提供的另一种BIERv6封装格式示意图;Figure 21 is a schematic diagram of another BIERv6 encapsulation format provided by the embodiment of the present application;
图22是本申请实施例提供的一种BIERin6的封装格式示意图;Figure 22 is a schematic diagram of the packaging format of BIERin6 provided by the embodiment of the present application;
图23是本申请实施例提供的另一种BIERin6的封装格式示意图;Figure 23 is a schematic diagram of another packaging format of BIERin6 provided by the embodiment of the present application;
图24是本申请实施例提供的一种G-BIER的封装格式示意图;Figure 24 is a schematic diagram of the encapsulation format of G-BIER provided by the embodiment of the present application;
图25是本申请实施例提供的一种GRE扩展头的封装格式;Figure 25 is an encapsulation format of a GRE extension header provided by an embodiment of the present application;
图26是本申请实施例提供的一种SD-WAN头的通用的封装格式示意图;Figure 26 is a schematic diagram of a general encapsulation format of an SD-WAN header provided by an embodiment of the present application;
图27是本申请实施例提供的一种VXLAN头的封装格式示意图;Figure 27 is a schematic diagram of the encapsulation format of a VXLAN header provided by an embodiment of the present application;
图28是本申请实施例提供的一种VXLAN-GPE头的封装格式示意图;Figure 28 is a schematic diagram of the encapsulation format of a VXLAN-GPE header provided by an embodiment of the present application;
图29是本申请实施例提供的一种GENEVE头的封装格式示意图;Figure 29 is a schematic diagram of the packaging format of a GENEVE header provided by an embodiment of the present application;
图30是本申请实施例提供的一种IPsec头的封装格式示意图;Figure 30 is a schematic diagram of an IPsec header encapsulation format provided by an embodiment of the present application;
图31是本申请实施例提供的一种站点内主备保护的场景的示意图;Figure 31 is a schematic diagram of an intra-site active and backup protection scenario provided by an embodiment of the present application;
图32是本申请实施例提供的另一种站点内主备保护的场景的示意图;Figure 32 is a schematic diagram of another active and backup protection scenario within a site provided by an embodiment of the present application;
图33是本申请实施例提供的一种网络部署场景的示意图;Figure 33 is a schematic diagram of a network deployment scenario provided by an embodiment of the present application;
图34是本申请实施例提供的另一种网络部署场景的示意图;Figure 34 is a schematic diagram of another network deployment scenario provided by an embodiment of the present application;
图35是本申请实施例提供的一种组播配置装置的结构示意图; Figure 35 is a schematic structural diagram of a multicast configuration device provided by an embodiment of the present application;
图36是本申请实施例提供的一种处理组播报文的装置的结构示意图;Figure 36 is a schematic structural diagram of a device for processing multicast messages provided by an embodiment of the present application;
图37是本申请实施例提供的一种网络设备的结构示意图。Figure 37 is a schematic structural diagram of a network device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the drawings.
下面对本申请实施例涉及的一些术语概念做解释说明。Some terms and concepts involved in the embodiments of this application are explained below.
(1)SD-WAN(1)SD-WAN
SD-WAN是将软件定义网络(software defined networking,SDN)技术应用到WAN场景中的一种虚拟专用网络(virtual private network,VPN)技术。SD-WAN技术旨在帮助用户降低广域网的开支、提升网络连接的灵活性,为分散在广阔地理范围内的企业网络、数据中心网络等提供安全可靠的互联服务。SD-WAN的典型特征在于,在站点的边缘设备之间建立端到端的互联网协议覆盖(internet protocol overlay,IP overlay)隧道,实现SD-WAN underlay(基础)传输网络的独立性。具体地,各个站点的边缘设备通过IP overlay隧道技术或者二层overlay隧道技术,在underlay传输网络的基础上,构建IP overlay隧道,该IP overlay隧道称为SD-WAN隧道。SD-WAN隧道的源互联网协议(internet protocol,IP)地址和目的IP地址分别为两个站点的CPE的IP地址,具体为设备的WAN接口配置的IP地址。例如,站点1的CPE1与站点2的CPE2之间建立了一条SD-WAN隧道,站点1的CPE1与站点2的CPE2是这条SD-WAN隧道的端点。SD-WAN隧道的源IP地址是站点1的CPE的IP地址,具体是站点1的CPE的WAN接口配置的IP地址。SD-WAN隧道的目的IP地址是站点2的CPE的IP地址,具体是站点2的CPE的WAN接口配置的IP地址。因此传输网络内的中间节点通过和站点的边缘设备直连链路的路由在传输网络内发布,隧道报文即可在传输网络中路由转发直到目的站点的边缘设备。SD-WAN is a virtual private network (VPN) technology that applies software defined networking (SDN) technology to WAN scenarios. SD-WAN technology is designed to help users reduce WAN expenses, improve network connection flexibility, and provide safe and reliable interconnection services for enterprise networks and data center networks scattered over a wide geographical range. The typical feature of SD-WAN is to establish an end-to-end Internet protocol overlay (IP overlay) tunnel between the edge devices of the site to achieve the independence of the SD-WAN underlay (basic) transmission network. Specifically, the edge devices of each site use IP overlay tunnel technology or Layer 2 overlay tunnel technology to build an IP overlay tunnel based on the underlay transmission network. The IP overlay tunnel is called an SD-WAN tunnel. The source Internet Protocol (IP) address and destination IP address of the SD-WAN tunnel are the IP addresses of the CPEs of the two sites respectively, specifically the IP addresses configured for the WAN interface of the device. For example, an SD-WAN tunnel is established between CPE1 of site 1 and CPE2 of site 2. CPE1 of site 1 and CPE2 of site 2 are the endpoints of this SD-WAN tunnel. The source IP address of the SD-WAN tunnel is the IP address of the CPE at site 1, specifically the IP address configured for the WAN interface of the CPE at site 1. The destination IP address of the SD-WAN tunnel is the IP address of the CPE at site 2, specifically the IP address configured for the WAN interface of the CPE at site 2. Therefore, the intermediate node in the transmission network publishes the route in the transmission network through the direct link with the edge device of the site, and the tunnel message can be routed and forwarded in the transmission network to the edge device of the destination site.
(2)传输网络(transport network,TN)(2)Transport network (TN)
TN是指SD-WAN的underlay网络(SD-WAN基础网络)。TN是运营商提供的广域接入网络,即WAN侧网络。TN用于承载SD-WAN的overlay网络,实现站点之间的互联。TN包括而不限于MPLS网络、互联网(Internet)、运营商专线网络、长期演进(long term evolution,LTE,即4G)、5G或者企业自建网络。传输网络可以通过传输网络标识(TN ID)或传输网络的名称来标识。TN refers to the underlay network of SD-WAN (SD-WAN basic network). TN is the wide area access network provided by operators, that is, the WAN side network. TN is used to carry the overlay network of SD-WAN to realize interconnection between sites. TN includes but is not limited to MPLS network, Internet, operator dedicated line network, long term evolution (LTE, 4G), 5G or enterprise-built network. A transport network can be identified by a transport network identification (TN ID) or by the name of the transport network.
(3)SD-WAN隧道(3)SD-WAN tunnel
SD-WAN隧道是指两个站点的边缘设备之间的逻辑通道。不同站点之间通过SD-WAN隧道传输数据报文,实现不同站点之间的互联。SD-WAN隧道的物理出接口是设备上的WAN接口,该WAN接口所属的TN在同一个路由域(routing domain,RD)内,即SD-WAN隧道两端的WAN接口可以在underlay网络层面互通。两个站点可以通过多个不同运营商的TN进行互联,因此站点之间可以建立多个不同的SD-WAN隧道。An SD-WAN tunnel refers to a logical channel between edge devices at two sites. Data packets are transmitted between different sites through SD-WAN tunnels to realize interconnection between different sites. The physical outbound interface of the SD-WAN tunnel is the WAN interface on the device. The TN to which the WAN interface belongs is in the same routing domain (RD). That is, the WAN interfaces at both ends of the SD-WAN tunnel can communicate at the underlay network level. Two sites can be interconnected through multiple TNs of different operators, so multiple different SD-WAN tunnels can be established between the sites.
(4)SD-WAN overlay网络(4)SD-WAN overlay network
SD-WAN overlay网络是指SD-WAN隧道构成的网络。SD-WAN overlay网络是基于传输网络构建的。 SD-WAN overlay network refers to the network composed of SD-WAN tunnels. The SD-WAN overlay network is built based on the transport network.
(5)用户侧设备(customer premise equipment,CPE)(5)Customer premise equipment (CPE)
CPE是指站点的边缘设备,是SD-WAN中主要的设备角色之一。CPE用于根据路由以及隧道信息建立SD-WAN隧道,通过SD-WAN隧道转发数据报文。CPE refers to the edge device of the site and is one of the main device roles in SD-WAN. CPE is used to establish SD-WAN tunnels based on routing and tunnel information, and forward data packets through the SD-WAN tunnel.
(6)传输网络端口(transport network port,TNP)(6)Transport network port (TNP)
TNP也称为传输隧道端点(transport tunnel endpoint,TTE),TNP是指CPE上接入传输网络的WAN接口,即SD-WAN隧道的端点设备的接口。TNP信息主要包括site ID、传输网络标识、WAN接口的IP地址和隧道封装(tunnel encapsulation)类型等。两个站点的CPE之间通过发布彼此的TPN信息,可以建立SD-WAN隧道。例如,站点1的CPE1接收到站点2的CPE2发布的TNP信息后,CPE1将CPE2的TNP信息保存至SD-WAN隧道转发表中。例如,CPE 1上的SD-WAN隧道转发表的表项(即后文中第三对应关系)中包含site ID字段、出接口字段和下一跳字段,site ID字段包括CPE2发送的TNP信息中的site ID,即站点2的site ID。出接口字段为CPE 1本端的TNP信息中的WAN接口。下一跳字段包括CPE2的TNP信息中的IP地址,即CPE2的WAN接口的IP地址。在数据报文转发阶段,当CPE1需要向站点2的CPE2转发数据报文时,比如CPE查找VPN BIER转发表(第一对应关系)中的下一跳字段,发现VPN BIER转发表中下一跳字段的内容并不是直连下一跳的IP地址,而是站点2的site ID,为了获得下一跳的IP地址,CPE1以站点2的site ID为索引,继续查找其他转发表项(即所谓的迭代),然后CPE1发现站点2的site ID匹配到第三对应关系中的site ID字段,所以基于第三对应关系中的下一跳字段和出接口字段转发数据报文。例如,CPE1在数据报文外层封装IP头,IP头中的源IP地址为CPE1的TNP信息中的IP地址,即CPE1的WAN接口的IP地址,IP头中的目的IP地址为CPE2的TNP信息中的IP地址,即CPE2的WAN接口的IP地址,然后CPE1通过CPE1的WAN接口发送数据报文。TNP is also called transport tunnel endpoint (TTE). TNP refers to the WAN interface on the CPE that is connected to the transmission network, that is, the interface of the endpoint device of the SD-WAN tunnel. TNP information mainly includes site ID, transmission network identification, IP address of WAN interface and tunnel encapsulation type, etc. SD-WAN tunnels can be established between CPEs at two sites by publishing each other's TPN information. For example, after CPE1 at site 1 receives the TNP information published by CPE2 at site 2, CPE1 saves the TNP information of CPE2 into the SD-WAN tunnel forwarding table. For example, the entry in the SD-WAN tunnel forwarding table on CPE 1 (that is, the third correspondence in the following) contains the site ID field, the outbound interface field, and the next hop field. The site ID field includes the TNP information sent by CPE2. site ID, which is the site ID of site 2. The outgoing interface field is the WAN interface in the TNP information of CPE 1. The next hop field includes the IP address in the TNP information of CPE2, that is, the IP address of the WAN interface of CPE2. In the data packet forwarding phase, when CPE1 needs to forward a data packet to CPE2 in site 2, for example, the CPE searches for the next hop field in the VPN BIER forwarding table (first correspondence) and finds the next hop in the VPN BIER forwarding table. The content of the field is not the IP address of the direct next hop, but the site ID of site 2. In order to obtain the IP address of the next hop, CPE1 uses the site ID of site 2 as an index and continues to search for other forwarding entries (the so-called iteration), then CPE1 finds that the site ID of site 2 matches the site ID field in the third correspondence, so it forwards the data packet based on the next hop field and outbound interface field in the third correspondence. For example, CPE1 encapsulates an IP header in the outer layer of the data packet. The source IP address in the IP header is the IP address in the TNP information of CPE1, that is, the IP address of CPE1's WAN interface. The destination IP address in the IP header is the TNP of CPE2. The IP address in the information is the IP address of the WAN interface of CPE2, and then CPE1 sends the data packet through the WAN interface of CPE1.
(7)站点标识(site ID)(7) Site ID
site ID用于在SD-WAN网络中标识一个站点。site ID通常是一个数字或一串数字。site ID例如根据SD-WAN网络中站点的总数量分配。可选地,site ID由控制器为SD-WAN中每个站点统一分配。例如,控制器按照从小到大的顺序为每个站点分配site ID。例如,一个SD-WAN网络中包括三个站点,则控制器为三个站点分配的site ID例如分别为1、2和3,又如分别为111、222和333。在一个站点包括多个CPE的情况下,同一个站点内每个CPE的site ID通常是相同的。site ID is used to identify a site in the SD-WAN network. The site ID is usually a number or a series of numbers. Site IDs are assigned, for example, based on the total number of sites in the SD-WAN network. Optionally, the site ID is uniformly assigned by the controller for each site in the SD-WAN. For example, the controller assigns site IDs to each site in ascending order. For example, if an SD-WAN network includes three sites, the site IDs assigned by the controller to the three sites are, for example, 1, 2, and 3 respectively, or 111, 222, and 333 respectively. When a site includes multiple CPEs, the site ID of each CPE within the same site is usually the same.
(8)用户端设备标识(CPE ID)(8)Customer premise equipment identification (CPE ID)
CPE ID也称SD-WAN device ID(SD-WAN设备标识),用于在SD-WAN网络中标识一个CPE。CPE ID通常是设备的一个IP地址。例如,CPE ID是设备上一个环回(loopback)接口的IP地址。例如,CPE ID是一个互联网协议第4版(internet protocol version 4,IPv4)地址或者互联网协议第6版(internet protocol version 6,IPv6)地址。可选地,CPE ID由控制器为SD-WAN中每个CPE统一分配。CPE ID, also called SD-WAN device ID (SD-WAN device identification), is used to identify a CPE in the SD-WAN network. The CPE ID is usually an IP address of the device. For example, the CPE ID is the IP address of a loopback interface on the device. For example, the CPE ID is an Internet Protocol version 4 (IPv4) address or an Internet Protocol version 6 (IPv6) address. Optionally, the CPE ID is uniformly assigned by the controller to each CPE in the SD-WAN.
(9)传输网络端口标识(TNP ID)(9)Transmission network port identification (TNP ID)
TNP ID为包含site ID、CPE ID和WAN接口IP地址的集合。例如,TNP ID由site ID、 CPE ID和WAN接口IP地址拼接得到,又如,TNP ID为根据site ID、CPE ID和WAN接口IP地址生成的哈希值。The TNP ID is a set that includes the site ID, CPE ID, and WAN interface IP address. For example, TNP ID consists of site ID, The CPE ID is obtained by concatenating the WAN interface IP address. For another example, the TNP ID is a hash value generated based on the site ID, CPE ID, and WAN interface IP address.
(10)路由反射器(route reflector,RR)(10) Route reflector (RR)
RR用于在CPE之间反射路由信息以及SD-WAN隧道的信息。RR可作为区域控制器使用。RR is used to reflect routing information and SD-WAN tunnel information between CPEs. RR can be used as a regional controller.
(11)路由域(routing domain,RD)(11) Routing domain (RD)
RD是指彼此之间路由可达的不同传输网络构成的区域,例如运营商A提供的传输网络和运营商B提供的传输网络,彼此能够路由可达,则认为这2个传输网络位于同一个RD内。位于同一个RD内的CPE之间或CPE与RR之间可以建立SDWAN隧道。RD refers to an area composed of different transmission networks that are reachable by each other. For example, if the transmission network provided by operator A and the transmission network provided by operator B are reachable by each other, the two transmission networks are considered to be located in the same within RD. SDWAN tunnels can be established between CPEs located in the same RD or between CPEs and RRs.
(12)SD-WAN中的租户隔离(12)Tenant isolation in SD-WAN
在SD-WAN组网中,可以使用VPN实例为租户提供隔离功能。在控制平面,CPE之间交互的以太虚拟专用网络(ethernet virtual private network,EVPN)路由中携带VN ID标识不同租户的私网路由,每个VPN实例之间互相独立,拥有自己的转发表和路由表。在数据平面:租户通过CPE接入网络,CPE通过该接口上关联的VPN实例识别租户所属的VPN。查找该VPN实例的转发表,为租户报文添加SDWAN封装后,将报文转发到远端CPE。SD-WAN封装中携带VPN的标识,用来标识租户所属的VPN。当远端CPE收到报文后,可以根据VPN的标识识别出报文所属的VPN。远端CPE查找该VPN实例的转发表,将报文转发给租户。In SD-WAN networking, VPN instances can be used to provide isolation functions for tenants. On the control plane, the Ethernet virtual private network (EVPN) routes that interact between CPEs carry VN IDs to identify private network routes of different tenants. Each VPN instance is independent of each other and has its own forwarding table and routing. surface. On the data plane: Tenants access the network through CPE, and CPE identifies the VPN to which the tenant belongs through the VPN instance associated with the interface. Search the forwarding table of the VPN instance, add SDWAN encapsulation to tenant packets, and forward the packets to the remote CPE. The SD-WAN encapsulation carries the VPN identifier, which is used to identify the VPN to which the tenant belongs. When the remote CPE receives the message, it can identify the VPN to which the message belongs based on the VPN identifier. The remote CPE searches the forwarding table of the VPN instance and forwards the packet to the tenant.
(13)基于比特位的显式复制(bit indexed explicit replication,BIER)(13) Bit indexed explicit replication (BIER)
BIER是一种新型的组播转发技术,通过将组播报文要到达的目的节点集合以比特串的方式封装在报文头部发送,使得网络中间节点无需感知组播业务和维护组播流状态。BIER的效果包括而不限于:第一,具有良好的组播业务扩展性;BFR上采用BIER技术建立的BIFT是独立于具体的组播业务的公共转发表,使得网络中间节点无需感知组播业务,不需要维护特定组播业务的组播流状态。公网组播和私网组播报文均可通过BIFT转发,具有良好的组播业务扩展性。第二,简化业务部署和运维。由于网络中间节点不感知组播业务,因此部署组播业务通常不涉及中间节点,组播业务变化对中间节点的影响较小,简化了网络的部署和运维。第三,利于软件定义网络(software defined network,SDN)架构网络演进。具体的,部署组播业务不需要操作网络中间节点,只需在入口节点为组播报文添加上指示后续组播复制的BIER头。BIER头中携带标识组播出口节点的比特串,中间节点根据比特串实现组播复制和转发,从而有利于SDN架构网络的演进。BIER is a new type of multicast forwarding technology that encapsulates the set of destination nodes for multicast messages in the form of bit strings and sends them in the header of the message. This eliminates the need for intermediate nodes in the network to sense multicast services and maintain multicast flows. state. The effects of BIER include but are not limited to: First, it has good multicast service scalability; BIFT established using BIER technology on BFR is a public forwarding table independent of specific multicast services, so that intermediate nodes in the network do not need to be aware of multicast services. , there is no need to maintain the multicast flow status of specific multicast services. Both public network multicast and private network multicast packets can be forwarded through BIFT, which has good multicast service scalability. Second, simplify business deployment and operation and maintenance. Since the intermediate nodes of the network are not aware of multicast services, the deployment of multicast services usually does not involve intermediate nodes. Changes in multicast services have little impact on intermediate nodes, simplifying network deployment and operation and maintenance. Third, it is conducive to the evolution of software-defined network (SDN) architecture networks. Specifically, deploying multicast services does not require operating network intermediate nodes. You only need to add a BIER header to multicast packets at the entry node to indicate subsequent multicast replication. The BIER header carries a bit string that identifies the multicast outlet node. The intermediate node implements multicast replication and forwarding based on the bit string, which is beneficial to the evolution of SDN architecture networks.
(14)比特转发路由器(bit forwarding router,BFR)(14) bit forwarding router (BFR)
BFR是指支持BIER转发的设备。BFR的产品形态包括而不限于路由器、交换机、防火墙或者他网络设备。BFR分为比特转发入口路由器(bit forwarding ingress router,BFIR)、中间BFR(transit BFR)以及比特转发出口路由器(bit forwarding egress router,BFER)。BFR refers to a device that supports BIER forwarding. BFR product forms include but are not limited to routers, switches, firewalls or other network equipment. BFR is divided into bit forwarding ingress router (BFIR), intermediate BFR (transit BFR) and bit forwarding egress router (BFER).
(15)BIER网络(15)BIER Network
BIER网络是指支持BIER转发的逻辑区域,一个BIER网络包括多个BFR。可选地,一个BIER网络为一个BIER域,或者一个BIER网络为一个BIER子域。 A BIER network refers to a logical area that supports BIER forwarding. A BIER network includes multiple BFRs. Optionally, a BIER network is a BIER domain, or a BIER network is a BIER subdomain.
(16)BIER域(BIER domain)(16)BIER domain (BIER domain)
BIER域是指在一个路由域或者管理域内所有BFR的集合。A BIER domain refers to the collection of all BFRs in a routing domain or management domain.
(17)BIER子域(BIER sub-domain)。(17)BIER subdomain (BIER sub-domain).
一个BIER域可以划分为一个或者多个BIER子域,BIER子域BIER子域也可简称为SD。每个BIER子域通过一个唯一的子域标识(sub-domain ID)来标识。A BIER domain can be divided into one or more BIER subdomains, and the BIER subdomain can also be referred to as SD. Each BIER subdomain is identified by a unique subdomain ID.
(18)BFIR(18)BFIR
BFIR是组播数据流进入BIER网络所经过的节点。BFIR用于对进入BIER网络的组播数据报文进行BIER封装,得到包含组播数据报文以及BIER头的BIER报文。BFIR is the node through which multicast data flows enter the BIER network. BFIR is used to BIER encapsulate multicast data packets entering the BIER network to obtain BIER packets containing multicast data packets and BIER headers.
(19)transit BFR(19)transit BFR
transit BFR是组播数据报文在BIER网络中转发的中间节点,用于基于比特串对BIER报文进行转发。transit BFR是BIER网络中可选部署的设备。在一些实施例中,在BIER网络中部署BFIR和BFER,而不部署transit BFR。例如,BFIR和BFER物理直连;又如,BFIR和BFER通过一条IP链路相连,BFER是BFIR的下一跳;又如,BFIR和BFER通过一跳或多跳不支持BIER的节点相连,BFIR发送BIER报文后,BIER报文通过BIER头外层的MPLS封装或者IPv6单播路由,穿越不支持BIER的节点到达BFER。transit BFR is an intermediate node for forwarding multicast data packets in the BIER network. It is used to forward BIER packets based on bit strings. transit BFR is an optional device deployed in the BIER network. In some embodiments, BFIR and BFER are deployed in the BIER network without transit BFR. For example, BFIR and BFER are physically directly connected; another example, BFIR and BFER are connected through an IP link, and BFER is the next hop of BFIR; another example, BFIR and BFER are connected through one or more hops that do not support BIER, and BFIR After sending the BIER message, the BIER message passes through the MPLS encapsulation or IPv6 unicast route in the outer layer of the BIER header and passes through the node that does not support BIER to reach the BFER.
在部署transit BFR的实施例中,一个BIER网络中部署的transit BFR的数量包括多种情况,下面以两种情况举例说明。在一些实施例中,一个BIER网络中部署一个transit BFR,该transit BFR在BIER转发路径中位于BFIR与BFER之间,BIER报文从BFIR经由该transit BFR转发至BFER。在另一些实施例中,一个BIER网络中部署两个或两个以上的transit BFR,不同的transit BFR之间具有上下跳的关系,BIER报文从BFIR经由一个transit BFR转发至另一个transit BFR,再从另一个transit BFR转发至BFER。例如,在BIER网络中部署BFIR、transit BFR 1、transit BFR 2和BFER,BIER报文的转发路径为BFIR→transit BFR 1→transit BFR 2→BFER。In the embodiment of deploying transit BFR, the number of transit BFR deployed in a BIER network includes multiple situations. Two situations are given as examples below. In some embodiments, a transit BFR is deployed in a BIER network. The transit BFR is located between the BFIR and the BFER in the BIER forwarding path. BIER messages are forwarded from the BFIR to the BFER via the transit BFR. In other embodiments, two or more transit BFRs are deployed in a BIER network. There is an up-and-down hop relationship between different transit BFRs. BIER messages are forwarded from BFIR to another transit BFR via one transit BFR. Then forward it from another transit BFR to BFER. For example, if BFIR, transit BFR 1, transit BFR 2 and BFER are deployed in the BIER network, the forwarding path of BIER packets is BFIR→transit BFR 1→transit BFR 2→BFER.
transit BFR是BIER网络中可选部署的设备。在一些实施例中,在BIER网络中部署BFIR和BFER,而不部署transit BFR。例如,BFIR和BFER物理直连,BFER是BFIR的下一跳;又如,BFIR和BFER通过一跳或多跳支持BIER的节点相连;又如,BFIR和BFER通过一跳或多跳不支持BIER的节点相连,BFIR发送BIER报文后,BIER报文通过BIER头外层的MPLS封装或者IPv6单播路由,穿越不支持BIER的节点到达BFER。transit BFR is an optional device deployed in the BIER network. In some embodiments, BFIR and BFER are deployed in the BIER network without transit BFR. For example, BFIR and BFER are physically directly connected, and BFER is the next hop of BFIR; another example, BFIR and BFER are connected through one or more hops that support BIER; another example, BFIR and BFER are connected through one or more hops that do not support BIER. nodes are connected. After BFIR sends a BIER message, the BIER message passes through the MPLS encapsulation or IPv6 unicast route in the outer layer of the BIER header and reaches BFER through the node that does not support BIER.
在部署transit BFR的实施例中,一个BIER网络中部署的transit BFR的数量包括多种情况,下面以两种情况举例说明。In the embodiment of deploying transit BFR, the number of transit BFR deployed in a BIER network includes multiple situations. Two situations are given as examples below.
在一些实施例中,一个BIER网络中部署一个transit BFR,该transit BFR在BIER转发路径中位于BFIR与BFER之间,BIER报文从BFIR经由该transit BFR转发至BFER。In some embodiments, a transit BFR is deployed in a BIER network. The transit BFR is located between the BFIR and the BFER in the BIER forwarding path. BIER messages are forwarded from the BFIR to the BFER via the transit BFR.
在另一些实施例中,一个BIER网络中部署两个或两个以上的transit BFR,不同的transit BFR之间具有上下跳的关系,BIER报文从BFIR经由一个transit BFR转发至另一个transit BFR,再从另一个transit BFR转发至BFER。例如,在BIER网络中部署BFIR、transit BFR 1、transit BFR 2和BFER,BIER报文的转发路径为BFIR→transit BFR 1→transit BFR 2→BFER。 In other embodiments, two or more transit BFRs are deployed in a BIER network. There is an up-and-down hop relationship between different transit BFRs. BIER messages are forwarded from BFIR to another transit BFR via one transit BFR. Then forward it from another transit BFR to BFER. For example, if BFIR, transit BFR 1, transit BFR 2, and BFER are deployed in the BIER network, the forwarding path of BIER packets is BFIR→transit BFR 1→transit BFR 2→BFER.
(20)BFER(20)BFER
BFER是组播数据流出BIER网络所经过的节点,用于对BIER报文进行解封装,将得到的组播数据报文转发给组播接收者。BFER is the node through which multicast data flows out of the BIER network. It is used to decapsulate BIER packets and forward the obtained multicast data packets to multicast receivers.
(21)边缘BFR(21)Edge BFR
边缘BFR是指BIER网络中位于边缘的BFR,边缘BFR是BFIR和BFER的统称。Edge BFR refers to the BFR located at the edge of the BIER network. Edge BFR is the collective name of BFIR and BFER.
(22)比特转发路由器标识符(bit forwarding router identifier,BFR-ID)(22) bit forwarding router identifier (BFR-ID)
针对BFR-ID的作用,BFR-ID用于在一个BIER网络(如一个BIER子域或者一个BIER域)中标识位于该BIER网络边缘的BFR。Regarding the role of BFR-ID, BFR-ID is used to identify the BFR located at the edge of the BIER network in a BIER network (such as a BIER subdomain or a BIER domain).
针对BFR-ID的形式,BFR-ID通常是一个整数,例如是一个处于1到65535范围内的正整数。For the form of BFR-ID, BFR-ID is usually an integer, for example, a positive integer in the range of 1 to 65535.
针对BFR-ID与比特串的关系,在一些实施例中,一个BFR-ID对应于比特串中一个比特位。例如,BFR-ID为1,对应于比特串中最右一位(或者说最低位);BFR-ID为2,对应于比特串中从右往左数的第2位(或者说次低位);依次类推,BFR-ID为i,对应于比特串中从右往左数的第i位,其中i为正整数。Regarding the relationship between BFR-ID and bit string, in some embodiments, one BFR-ID corresponds to one bit in the bit string. For example, BFR-ID is 1, which corresponds to the rightmost bit (or the lowest bit) in the bit string; BFR-ID is 2, which corresponds to the second bit from right to left (or the second lowest bit) in the bit string. ; By analogy, BFR-ID is i, corresponding to the i-th bit from right to left in the bit string, where i is a positive integer.
针对BFR-ID的含义,如果一个报文携带的比特串中包含一个设备的BFR-ID,或者说该设备的BFR-ID对应的比特位置位,表示该设备是报文的目的BFER。Regarding the meaning of BFR-ID, if the bit string carried by a message contains the BFR-ID of a device, or the bit position corresponding to the BFR-ID of the device is set, it means that the device is the destination BFER of the message.
(23)BFR prefix(BFR前缀)(23)BFR prefix(BFR prefix)
BFR prefix是指BFR的一个IP地址。可选地,BFR prefix是BFR上一个loopback接口的IP地址。例如,BFR prefix是一个BIER网络中路由可达的IP地址。例如,BFR prefix是一个32位的IPv4地址;又如,BFR prefix是一个128位的IPv6地址。可选地,在BIERv4场景下,使用设备的一个IPv4地址作为BFR prefix;在BIERv6场景下,使用设备的一个IPv6地址作为BFR prefix。BFR prefix refers to an IP address of BFR. Optionally, the BFR prefix is the IP address of a loopback interface on the BFR. For example, the BFR prefix is a reachable IP address in the BIER network. For example, BFR prefix is a 32-bit IPv4 address; another example, BFR prefix is a 128-bit IPv6 address. Optionally, in the BIERv4 scenario, use an IPv4 address of the device as the BFR prefix; in the BIERv6 scenario, use an IPv6 address of the device as the BFR prefix.
(24)集合标识(Set Identifier,SI)(24) Set Identifier (SI)
SI是指BFR-ID所属的集合的标识。SI的形式通常是一个或一串数字。例如,一个BIER网络中包括集合0和集合1,集合0包括BFR-ID为1至256的BFR,集合1包括BFR-ID为257至512的BFR,则BFR-ID为1至256的BFR中每个BFR的SI为0,BFR-ID为257至512的BFR中每个BFR的SI为1。SI refers to the identifier of the set to which the BFR-ID belongs. The form of SI is usually one or a series of numbers. For example, a BIER network includes set 0 and set 1. Set 0 includes BFRs with BFR-IDs from 1 to 256, and set 1 includes BFRs with BFR-IDs from 257 to 512. Then, among the BFRs with BFR-IDs from 1 to 256, The SI of each BFR is 0, and the SI of each BFR in BFR-IDs 257 to 512 is 1.
(25)SI最大值(max SI,也称max-SI,MAX-SI或MAX SI)(25)SI maximum value (max SI, also called max-SI, MAX-SI or MAX SI)
max-SI是指集合标识(SI)的最大值。max-SI refers to the maximum value of the set identifier (SI).
(26)比特串(bit string)(26) bit string
比特串用于标识BIER报文的目的BFER集合。比特串从最低位(即右数第一位)开始,每一个比特位对应一个BFR-ID。比特位置1,表示该比特位对应的BFR-ID所标识的BFER为组播数据报文的目的BFER。The bit string is used to identify the destination BFER set of the BIER message. The bit string starts from the lowest bit (that is, the first bit from the right), and each bit corresponds to a BFR-ID. If the bit position is 1, it indicates that the BFER identified by the BFR-ID corresponding to this bit is the destination BFER of the multicast data message.
(27)比特串长度(bit string length,BSL)(27) Bit string length (BSL)
BSL是指比特串的长度。例如,如果BSL为64,表示比特串的长度是64个比特。BSL refers to the length of the bit string. For example, if the BSL is 64, it means that the length of the bit string is 64 bits.
(28)比特索引路由表(bit index routing table,BIRT)(28) bit index routing table (BIRT)
BIRT用于指示一个BIER网络中一个BFER的BFR prefix、该BFER的BFR-ID以及 转发路径上到达该BFER的下一跳之间的对应关系。BIRT的详细定义可参考RFC 8279中第6.3节的介绍。BIRT is used to indicate the BFR prefix of a BFER in a BIER network, the BFR-ID of the BFER and Correspondence between the next hops on the forwarding path that reach the BFER. For the detailed definition of BIRT, please refer to the introduction in Section 6.3 of RFC 8279.
(29)比特索引转发表(bit index forwarding table,BIFT)(29) bit index forwarding table (BIFT)
BIFT是基于BIER产生的转发表。BIFT用来表示通过BFR邻居能到达的各BFER节点,包括Nbr(BFR Neighbor,BFR邻居)和转发比特掩码(forwarding bit mask,F-BM)。每一张BIFT通常由三元组(BSL,SD,SI)确定。例如,BIFT是BFR将BIRT表项中经过相同邻居不同表项进行合并生成。可选地,BIFT的每条表项包括一个BFR邻居和对应的F-BM。在本申请的一些实施例中,BIFT的每条表项还包括site ID或者CPE ID。BIFT is based on the forwarding table generated by BIER. BIFT is used to represent each BFER node that can be reached through BFR neighbors, including Nbr (BFR Neighbor, BFR neighbor) and forwarding bit mask (forwarding bit mask, F-BM). Each BIFT is usually determined by a triplet (BSL, SD, SI). For example, BIFT is generated by BFR by merging different entries in BIRT entries that pass through the same neighbor. Optionally, each BIFT entry includes a BFR neighbor and the corresponding F-BM. In some embodiments of this application, each entry of BIFT also includes site ID or CPE ID.
(30)位索引转发表标识(BIFT-ID)(30-bit Indexed Forwarding Table Identifier (BIFT-ID)
BIFT-ID用于标识一个BIFT。BIFT-ID通常根据BSL、SD和SI这三个参数确定。例如,BIFT-ID由BSL、SD和SI这三个参数拼接得到。又如,BIFT-ID为对BSL、SD和SI这三个参数经过哈希计算得到的哈希值。BIFT-ID is used to identify a BIFT. BIFT-ID is usually determined based on three parameters: BSL, SD and SI. For example, BIFT-ID is obtained by splicing three parameters: BSL, SD and SI. For another example, BIFT-ID is the hash value obtained by hashing the three parameters BSL, SD and SI.
(31)BFR邻居(BFR neighbour,BFR Nbr)(31)BFR neighbor (BFR neighbor, BFR Nbr)
BFR邻居表示下一跳BFR。可选地,BFR邻居通过下一跳BFR的BFR prefix表示。The BFR neighbor represents the next hop BFR. Optionally, the BFR neighbor is represented by the BFR prefix of the next hop BFR.
(32)转发比特掩码(F-BM)(32) Forward bit mask (F-BM)
F-BM用于表示BFR向BFR邻居复制发送组播数据报文时,通过该BFR邻居能到达的BIER网络的BFER的集合。F-BM例如是BFR通过将该BFR邻居所能到达的所有BFER的比特串进行或操作得到。F-BM使用一个比特串来表示,并且F-BM和报文转发所使用的比特串长度相同。例如,报文中携带的比特串的长度为256比特,F-BM的长度也为256比特。在报文转发的过程中,报文中携带的比特串会和F-BM进行与(AND)操作。F-BM is used to indicate the set of BFERs in the BIER network that can be reached through the BFR neighbor when the BFR copies and sends multicast data packets to the BFR neighbor. F-BM is, for example, BFR obtained by ORing the bit strings of all BFERs reachable by the BFR neighbor. F-BM is represented by a bit string, and the length of the bit string used by F-BM and packet forwarding is the same. For example, the length of the bit string carried in the message is 256 bits, and the length of the F-BM is also 256 bits. During the message forwarding process, the bit string carried in the message will perform an AND operation with the F-BM.
(33)BIER转发方式(33)BIER forwarding method
在BIER网络中,数据报文是根据比特串进行复制和转发的。具体地,当一个BFR获得携带比特串的数据报文后,会对比特串与BIFT中每行表项中的F-BM按位相与,根据相与的结果决策下一步的动作。例如,如果BIFT中有一行表项中F-BM与比特串相与的结果非0,且该F-BM对应的下一跳不是自己,则会向F-BM对应的下一跳发送数据报文。如果BIFT中有k行表项中的F-BM与比特串相与的结果均非0,且k个F-BM中每个F-BM对应的下一跳均不是自己,则会复制数据报文,以获得复制后的k份数据报文,向k个F-BM中每个F-BM对应的下一跳发送数据报文。如果比特串与BIFT中一行表项中的F-BM相与的结果非0,且该F-BM对应的下一跳是自己,也即是比特串中只有自己的BFR-ID置位,这种情况表明本节点正是数据报文的BFER,则结束BIER转发,解封装数据报文中的BIER头,根据组播路由表将原始的数据报文发送给组播接收者。In the BIER network, data packets are copied and forwarded based on bit strings. Specifically, when a BFR obtains a data message carrying a bit string, it performs a bitwise AND on the bit string and the F-BM in each row of entries in the BIFT, and decides the next action based on the result of the AND. For example, if there is a table entry in BIFT that the result of the AND of the F-BM and the bit string is non-zero, and the next hop corresponding to the F-BM is not itself, the datagram will be sent to the next hop corresponding to the F-BM. arts. If there are k row entries in BIFT and the result of the AND of the F-BM and the bit string is not 0, and the next hop corresponding to each F-BM among the k F-BMs is not itself, the datagram will be copied. message to obtain k copied data messages, and send the data message to the next hop corresponding to each F-BM among the k F-BMs. If the AND result of the bit string and the F-BM in a row of entries in BIFT is non-zero, and the next hop corresponding to the F-BM is itself, that is, only its own BFR-ID is set in the bit string, this If this situation indicates that this node is the BFER of the data packet, then the BIER forwarding is terminated, the BIER header in the data packet is decapsulated, and the original data packet is sent to the multicast receiver according to the multicast routing table.
数据报文在BIER网络中转发的过程中,数据报文中携带的比特串的取值可能会发生更新。例如,一个BFR向一个下一跳发送的数据报文中携带的比特串,是该BFR接收到的数据报文中携带的比特串与该下一跳对应的F-BM相与后的结果。例如,第一BFR的BIFT中存在两个F-BM,第一F-BM对应第一下一跳,第二F-BM对应第二下一跳。第一BFR接收到数据报文1,数据报文1中携带的比特串与第一F-BM和第二F-BM相与后均非零。第一BFR复制数据报文1,获得两份复制后的数据报文,分别为数据报文2和数据 报文3。数据报文2中的比特串为数据报文1中的比特串与第一F-BM相与后的结果,相当于去掉了比特串中第二下一跳对应的BFR-ID。第一BFR将数据报文2发送至第一下一跳。数据报文3中的比特串为数据报文1中的比特串与第二F-BM相与后的结果,相当于去掉了比特串中第一下一跳对应的BFR-ID。第一BFR将数据报文3发送至第二下一跳。During the forwarding of data packets in the BIER network, the value of the bit string carried in the data packet may be updated. For example, the bit string carried in the data packet sent by a BFR to a next hop is the result of the AND of the bit string carried in the data packet received by the BFR and the F-BM corresponding to the next hop. For example, there are two F-BMs in the BIFT of the first BFR. The first F-BM corresponds to the first next hop, and the second F-BM corresponds to the second next hop. The first BFR receives the data message 1, and the bit string carried in the data message 1 is non-zero after being ANDed with the first F-BM and the second F-BM. The first BFR copies data packet 1 and obtains two copied data packets, namely data packet 2 and data packet 1. Message 3. The bit string in data packet 2 is the result of the AND of the bit string in data packet 1 and the first F-BM, which is equivalent to removing the BFR-ID corresponding to the second next hop in the bit string. The first BFR sends data packet 2 to the first next hop. The bit string in data packet 3 is the result of the AND of the bit string in data packet 1 and the second F-BM, which is equivalent to removing the BFR-ID corresponding to the first next hop in the bit string. The first BFR sends data packet 3 to the second next hop.
(34)End.BIER地址(34)End.BIER address
为了支持基于IPv6的报文转发,BIERv6中定义了一种新类型的SID,称为End.BIER地址。End.BIER地址作为IPv6目的地址,指示设备的转发平面处理报文中的BIERv6头。每个节点在接收并处理BIERv6报文时,将下一跳节点的End.BIER SID封装为BIERv6头外层的IPv6目的地址,并通过BIERv6头中的比特串指示组播报文目的BFER集合。End.BIER SID还能够很好地利用IPv6单播路由的可达性,跨越不支持BIERv6的IPv6节点。End.BIER SID通常包括两部分:定位(locator)和其他比特位。locator表示一个BIERv6转发节点。locator具有定位功能,节点配置locator之后,控制面设备会生成一条locator网段路由,并且通过IGP在SRv6域内扩散。网络里其他节点通过locator网段路由就可以定位到本节点,同时本节点发布的所有SRv6SID也都可以通过该条locator网段路由到达。End.BIER SID可以将报文引导到指定的BFR,BFR接收到一个组播报文,识别出报文目的地址为本地的End.BIER SID,判定为按BIERv6流程转发。In order to support IPv6-based packet forwarding, BIERv6 defines a new type of SID called End.BIER address. The End.BIER address serves as the IPv6 destination address and instructs the forwarding plane of the device to process the BIERv6 header in the packet. When each node receives and processes a BIERv6 message, it encapsulates the End.BIER SID of the next hop node into the IPv6 destination address in the outer layer of the BIERv6 header, and indicates the destination BFER set of the multicast message through the bit string in the BIERv6 header. End.BIER SID can also make good use of the reachability of IPv6 unicast routing across IPv6 nodes that do not support BIERv6. End.BIER SID usually consists of two parts: locator and other bits. locator represents a BIERv6 forwarding node. The locator has a positioning function. After a node is configured with a locator, the control plane device will generate a locator network segment route and spread it within the SRv6 domain through IGP. Other nodes in the network can locate this node through the locator network segment route. At the same time, all SRv6SIDs published by this node can also be reached through this locator network segment route. End.BIER SID can guide the packet to the designated BFR. The BFR receives a multicast packet, recognizes that the destination address of the packet is the local End.BIER SID, and determines that it is forwarded according to the BIERv6 process.
(35)组播组(35)Multicast group
组播组是指用IP组播地址进行标识的一个集合。当组播接收者(如主机或其他需要接收组播数据报文的设备),加入一个组播组,就成为了组播组的成员,可以识别并接收发往该组播组的组播数据报文。A multicast group refers to a collection identified by an IP multicast address. When a multicast receiver (such as a host or other device that needs to receive multicast data packets) joins a multicast group, it becomes a member of the multicast group and can identify and receive multicast data sent to the multicast group. message.
(36)组播源(36)Multicast source
一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。One multicast source can send data to multiple multicast groups at the same time, and multiple multicast sources can also send packets to one multicast group at the same time.
(37)组播组成员(37)Multicast group members
组播组成员是指加入了组播组的主机或者其他设备,组播组中的成员是动态的,例如,主机可以在任何时刻加入或离开组播组。Multicast group members refer to hosts or other devices that have joined the multicast group. Members in a multicast group are dynamic. For example, a host can join or leave the multicast group at any time.
(38)组播路由器(38)Multicast router
组播路由器是指组播转发功能的设备,如路由器或交换机。组播路由器分为根节点、中间节点和叶子节点。根节点与组播源相连,根节点为组播数据报文的转发路径中第一跳路由器。叶子节点与组播接收者相连,叶子节点为组播数据报文的转发路径中最后一跳路由器。中间节点位于根节点和叶子节点之间,用于将来自根节点的组播数据报文转发至叶子节点。在基于BIER实现组播转发的情况下,根节点为BFIR,中间节点为中间BFR,叶子节点为BFER。Multicast router refers to a device with multicast forwarding function, such as a router or switch. Multicast routers are divided into root nodes, intermediate nodes and leaf nodes. The root node is connected to the multicast source and is the first hop router in the forwarding path of multicast data packets. The leaf node is connected to the multicast receiver, and the leaf node is the last hop router in the forwarding path of the multicast data packet. The intermediate node is located between the root node and the leaf nodes and is used to forward multicast data packets from the root node to the leaf nodes. In the case of multicast forwarding based on BIER, the root node is BFIR, the intermediate node is intermediate BFR, and the leaf node is BFER.
(39)互联网组管理协议(internet group management protocol,IGMP)(39) Internet group management protocol (IGMP)
IGMP是TCP/IP协议族中负责IPv4组播成员管理的协议。IGMP用来在组播接收者和与其直接相邻的组播路由器之间建立和维护组播组成员关系。IGMP通过在组播接收者和组播路由器之间交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。IGMP 报文包括而不限于成员报告(report)报文、成员离开(leave)报文、普遍组查询报文(general query)、特定组查询报文(group-specific query)以及特定源组查询报文(group-and-source-specific query)。成员报告报文是指组播接收者向查询器发送的报告报文,用于申请加入某个组播组或者应答查询报文。成员离开报文为组播接收者离开组播组时主动向查询器发送的报文,用于宣告自己离开了某个组播组。普遍组查询报文是指查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。特定组查询报文是指查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。查询器通常是组播接收者连接的组播路由器,查询器用于发送查询报文,并接收主机反馈的成员报告报文和成员离开报文,以此来了解与接收报文的接口连接的网段上有哪些组播组存在接收者(即组成员)。IGMP is the protocol responsible for IPv4 multicast member management in the TCP/IP protocol suite. IGMP is used to establish and maintain multicast group membership relationships between multicast receivers and their directly adjacent multicast routers. IGMP implements group member management functions by exchanging IGMP messages between multicast receivers and multicast routers. IGMP messages are encapsulated in IP messages. IGMP Messages include but are not limited to member report messages, member leave messages, general query messages, group-specific query messages, and source group-specific query messages. (group-and-source-specific query). The member report message refers to the report message sent by the multicast receiver to the querier, which is used to apply to join a certain multicast group or respond to the query message. The member leave message is a message that a multicast receiver actively sends to the querier when it leaves a multicast group. It is used to announce that it has left a certain multicast group. General group query messages are query messages sent by the querier to all hosts and routers on the shared network to learn which multicast groups have members. A specific group query message refers to a query message sent by the querier to a specified multicast group in the shared network segment to query whether there are members in the multicast group. The querier is usually a multicast router connected to the multicast receiver. The querier is used to send query messages and receive member report messages and member leave messages fed back by the host to learn about the network connected to the interface that receives the message. Which multicast groups have receivers (i.e. group members) on the segment.
(40)(S,G)或(*,G)(40)(S,G) or (*,G)
组播路由表中通常分为(S,G)路由表项或(*,G)路由表项。S表示组播源(source)。在组播路由表中,S通常通过组播源的IP地址表示。G表示组播组(group),在组播路由表中,G通常通过组播组的组播IP地址表示。*表示任意。(S,G)路由表项表示知道组播组也知道组播源的表项。(*,G)表示知道组播组而不知道组播源的表项。The multicast routing table is usually divided into (S, G) routing table entries or (*, G) routing table entries. S represents the multicast source. In the multicast routing table, S is usually represented by the IP address of the multicast source. G represents a multicast group (group). In the multicast routing table, G is usually represented by the multicast IP address of the multicast group. * means any. The (S, G) routing table entry indicates that the multicast group and the multicast source are known. (*, G) indicates that the multicast group is known but the multicast source entry is not known.
(41)VPN(41)VPN
VPN是指一个虚拟的专用网络。VPN是一种私有网络,也可以称为用户网络、私网或者用户侧网络。本申请实施例中的VPN包括而不限于三层VPN(L3VPN)或者二层VPN(L2VPN)。VPN refers to a virtual private network. VPN is a private network, which can also be called user network, private network or user-side network. VPNs in the embodiments of this application include, but are not limited to, Layer 3 VPN (L3VPN) or Layer 2 VPN (L2VPN).
(42)VPN的标识(42)VPN logo
VPN的标识用于标识一个VPN。例如,VPN的标识为VPN标识符(virtual network identifier virtual network identifier,VN-ID)或者路由标识符(route distinguisher,RD)。The VPN identifier is used to identify a VPN. For example, the identifier of a VPN is a VPN identifier (virtual network identifier virtual network identifier, VN-ID) or a route identifier (route distinguisher, RD).
(43)VPN BIER(43)VPN BIER
VPN BIER是指一个VPN内的BIER网络。例如,VPN BIER是一个VPN内的BIER子域。VPN BIER refers to a BIER network within a VPN. For example, VPN BIER is a BIER subdomain within a VPN.
(44)站点(site)(44)site
站点是指包含具有IP连通性的至少一个设备的逻辑区域,站点内不同设备之间的IP连通性通常不需要通过运营商网络实现。例如,公司A的X省部署了总部网络,公司A在Y省部署了分支网络,公司A期望通过运营商网络使得了总部网络与分支网络互通,在这一场景下,可以构建一个VPN,如VPN 1,将总部网络部署为VPN 1的站点1,将分支网络部署为VPN 1的站点2,站点1与站点2处于同一个VPN内,站点1与站点2可以通过运营商网络传输数据报文。site与VPN的关系也可以这样理解:对于多个连接到同一运营商网络的site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的site之间才能通过运营商网络互访,这种集合就是VPN。A site refers to a logical area that contains at least one device with IP connectivity. IP connectivity between different devices within a site usually does not need to be implemented through the operator's network. For example, Company A has deployed its headquarters network in Province VPN 1, deploy the headquarters network as site 1 of VPN 1, deploy the branch network as site 2 of VPN 1, site 1 and site 2 are in the same VPN, site 1 and site 2 can transmit data packets through the operator network . The relationship between site and VPN can also be understood this way: for multiple sites connected to the same operator's network, they can be divided into different sets (sets) by formulating policies. Only sites belonging to the same set can communicate with each other through the operator. For mutual network access, this collection is a VPN.
在一些实施例中,在站点中部署有一个或多个CPE。在同一个站点中部署多个CPE的场景下,同一个站点中不同CPE的site ID相同。站点也是SD-WAN网络的组成部分。In some embodiments, one or more CPEs are deployed in the site. In the scenario where multiple CPEs are deployed in the same site, the site IDs of different CPEs in the same site are the same. Sites are also part of the SD-WAN network.
(45)路由迭代 (45)Routing iteration
路由表项中需要有直连的下一跳才能够用于指导转发,但是路由表项中的下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由迭代。例如,边界网关协议(border gateway protocol,BGP)路由的下一跳一般是非直连的对端loopback地址,不能指导转发,需要进行迭代,即根据以BGP学习到的下一跳为目的地址在IP路由表中查找,当找到一条具有直连的下一跳、出接口信息的路由后,将直连的下一跳、出接口填入至路由表中并生成对应的转发表项。There needs to be a directly connected next hop in the routing table entry before it can be used to guide forwarding. However, the next hop in the routing table entry may not be directly connected. Therefore, it is necessary to calculate a directly connected next hop and the corresponding outbound interface. , this process is called routing iteration. For example, the next hop of a Border Gateway Protocol (BGP) route is generally the non-directly connected peer loopback address, which cannot guide forwarding and needs to be iterated, that is, based on the next hop learned by BGP as the destination address, the IP Search in the routing table. When a route with directly connected next hop and outbound interface information is found, fill in the directly connected next hop and outbound interface into the routing table and generate the corresponding forwarding table entry.
(46)隧道迭代(46)Tunnel iteration
为了将私网流量通过公网传递到另一端,需要有一条公网隧道承载私网流量,因此需要根据目的IP前缀进行路由迭代,查找合适的隧道,当隧道迭代成功,将路由放入对应的VPN实例路由表,将路由迭代到相应的隧道的过程叫做隧道迭代。例如,对于BGP私网路由,需要隧道进行转发,路由的下一跳一般是远端站点的边缘设备的loopback地址,不能指导转发,也需要进行路由迭代,即在隧道列表中查找到达该loopback地址的隧道,将该隧道信息填入路由表中并生成对应的转发表项。在一种可能的实现中,当隧道迭代成功后,保留该隧道的标识。当转发VPN的报文时,根据隧道的标识查找对应的隧道,然后从隧道上发送出去。In order to pass private network traffic to the other end through the public network, a public network tunnel is required to carry private network traffic. Therefore, routing iteration needs to be performed based on the destination IP prefix to find a suitable tunnel. When the tunnel iteration is successful, the route is placed in the corresponding VPN instance routing table, the process of iterating routes to the corresponding tunnel is called tunnel iteration. For example, for BGP private network routing, a tunnel is required for forwarding. The next hop of the route is generally the loopback address of the edge device of the remote site. This cannot guide forwarding. Route iteration is also required, that is, finding the loopback address in the tunnel list. tunnel, fill the tunnel information into the routing table and generate the corresponding forwarding entry. In one possible implementation, when the tunnel iteration is successful, the identity of the tunnel is retained. When forwarding VPN packets, the corresponding tunnel is found based on the tunnel identifier, and then sent out through the tunnel.
(47)隧道(47)Tunnel
隧道泛指一个虚拟的连接,或者说一条虚拟的通路,使得具有该隧道封装格式的数据报文能够在该通路上传输。隧道的两个端点设备分别对数据报文封装隧道头并解封装隧道头。例如,对于GRE封装而言,隧道的入口节点对数据报文封装隧道头,隧道的出口节点解封装隧道头,恢复数据报文原始的格式。A tunnel generally refers to a virtual connection, or a virtual path, which enables data packets with the tunnel encapsulation format to be transmitted on the path. The two endpoint devices of the tunnel encapsulate and decapsulate the tunnel header of the data packet respectively. For example, for GRE encapsulation, the ingress node of the tunnel encapsulates the tunnel header for the data packet, and the egress node of the tunnel decapsulates the tunnel header and restores the original format of the data packet.
(48)运营商组播业务接口隧道属性(provider multicast service interface tunnel attribute,PTA)(48) Provider multicast service interface tunnel attribute (PTA)
运营商组播业务接口(provider multicast service interface,PMSI)是指运营商网络中用来传递私网组播数据报文的通道。PTA用于携带创建PMSI所需的信息。为了支持下一代组播VPN(next generation MVPN,NG MVPN over BIER),在BGP MVPN业务中,可以通过一个BIER类型的PTA携带建立BIER转发路径所需要的信息,PTA的细节可参考RFC8556。Provider multicast service interface (PMSI) refers to the channel used to transmit private network multicast data packets in the operator network. PTA is used to carry the information required to create PMSI. In order to support next generation multicast VPN (next generation MVPN, NG MVPN over BIER), in the BGP MVPN service, a BIER type PTA can be used to carry the information required to establish a BIER forwarding path. For details of the PTA, please refer to RFC8556.
(49)组播路由表和组播转发表(49)Multicast routing table and multicast forwarding table
组播网络中设备根据扮演的不同角色,可以维护不同类型的表项,例如组播协议路由表、组播路由表、组播转发表、IGMP组表项以及IGMP路由表。组播协议路由表是运行各种组播路由协议时由各个协议自己维护的表项,是组播路由和转发的基础。本申请实施例所针对的组播协议路由表例如为BIER路由表(BIRT)或者BIER转发表(BIFT)。组播路由表用于保存在设备支持多种组播协议的情况下,从多种组播协议生成的路由信息中根据开销或者其他参数选择出的路由信息。组播转发表是依据组播路由表生成的用于指导组播数据转发的表项。Devices in a multicast network can maintain different types of entries based on their different roles, such as multicast protocol routing tables, multicast routing tables, multicast forwarding tables, IGMP group entries, and IGMP routing tables. The multicast protocol routing table is an entry maintained by each protocol when running various multicast routing protocols. It is the basis for multicast routing and forwarding. The multicast protocol routing table targeted by the embodiments of this application is, for example, a BIER routing table (BIRT) or a BIER forwarding table (BIFT). The multicast routing table is used to store routing information selected from the routing information generated by multiple multicast protocols based on cost or other parameters when the device supports multiple multicast protocols. The multicast forwarding table is an entry generated based on the multicast routing table to guide multicast data forwarding.
(50)loopback(环回)接口(50)loopback interface
loopback接口是转发设备上一种虚拟接口。当loopback接口创建后,除非手工关闭该 接口,否则其物理层通常处于up状态。在BGP协议中,可以将发送BGP报文的源接口配置成loopback接口,从而保证BGP会话不受物理接口故障的影响。The loopback interface is a virtual interface on the forwarding device. When the loopback interface is created, unless it is closed manually interface, otherwise its physical layer is usually up. In the BGP protocol, the source interface that sends BGP messages can be configured as a loopback interface to ensure that the BGP session is not affected by physical interface failures.
(51)tunnel(隧道)接口(51)tunnel interface
tunnel接口是转发设备上一种虚拟接口。隧道两端的设备利用tunnel发送报文、识别并处理来自隧道的报文。Tunnel接口的参数包括tunnel接口的名称、tunnel接口的IP地址、tunnel接口的隧道协议、tunnel的源地址以及tunnel的目的地址等。The tunnel interface is a virtual interface on the forwarding device. The devices at both ends of the tunnel use the tunnel to send packets, identify and process packets from the tunnel. The parameters of the tunnel interface include the name of the tunnel interface, the IP address of the tunnel interface, the tunnel protocol of the tunnel interface, the source address of the tunnel, and the destination address of the tunnel.
(52)下一代组播虚拟专用网络(next generation multicast virtual private network,NG MVPN)(52) Next generation multicast virtual private network (NG MVPN)
NG MVPN是IP组播数据流量穿越VPN的新一代框架,为了使处于同一个组播VPN(multicast VPN,MVPN)的不同PE之间能够进行控制消息交互并创建私网组播数据通道,每个PE都需要发现属于同一MVPN的其他PE,NG MVPN采用BGP的方式实现自动发现,并定义了新的地址族,即BGP-MVPN地址族。NG MVPN路由信息是携带在BGP update消息中。NG MVPN进行MVPN客户组播路由的传递和公网隧道建立是通过BGP-MVPN定义的控制消息实现的。BGP-MVPN定义了7种类型的控制消息,7种控制消息代表6种MVPN路由类型,其中类型6和类型7主要是发起私网用户加入和指导组播数据流量传递,类型1到5主要是进行MVPN成员的自动发现和协助MPLS进行P2MP隧道的建立。类型6和类型7称之为MVPN客户组播路由(MVPN customers'multicast routing information,C-multicast路由,C表示Customer),类型1到5称之为叶子通告路由(leaf A-D route)。NG MVPN is a new generation framework for IP multicast data traffic to traverse VPN. In order to enable different PEs in the same multicast VPN (multicast VPN, MVPN) to interact with control messages and create private network multicast data channels, each PEs need to discover other PEs belonging to the same MVPN. NG MVPN uses BGP to implement automatic discovery and defines a new address family, the BGP-MVPN address family. NG MVPN routing information is carried in BGP update messages. NG MVPN delivers MVPN client multicast routes and establishes public network tunnels through control messages defined by BGP-MVPN. BGP-MVPN defines 7 types of control messages. The 7 control messages represent 6 MVPN routing types. Types 6 and 7 are mainly used to initiate private network users to join and guide multicast data traffic delivery. Types 1 to 5 are mainly used to Automatically discover MVPN members and assist MPLS in establishing P2MP tunnels. Types 6 and 7 are called MVPN customers' multicast routing information (C-multicast routing, C stands for Customer), and types 1 to 5 are called leaf advertisement routes (leaf A-D routes).
(53)叶子通告路由(leaf A-D route)(53) Leaf advertisement route (leaf A-D route)
leaf A-D route用来回应PMSI属性中flags字段为1的1类路由自治系统域内包含运营商组播业务接口自动发现路由(intra autonomous system inclusive provider multicast service interface auto discovery route,Intra-AS I-PMSI A-D route)和回应3类路由S-PMSI A-D route,表示在叶子节点存在建立S-PMSI隧道的请求,协助根节点完成隧道信息收集。leaf A-D route is used to respond to the Class 1 route whose flags field in the PMSI attribute is 1. The autonomous system domain contains the operator multicast service interface automatic discovery route (intra autonomous system inclusive provider multicast service interface auto discovery route, Intra-AS I-PMSI A-D route) and responds to the type 3 route S-PMSI A-D route, indicating that there is a request to establish an S-PMSI tunnel at the leaf node, assisting the root node in completing tunnel information collection.
(54)地址族(address family)标识(54)Address family identification
地址族标识是MP-BGP中用于区分不同网络层信息的编号。地址族标识的形式例如是一个数字或者一串数字。地址族标识包括而不限于地址族标识符(address family identifier,AFI)或者子地址族标识符(subsequent address family identifier,SAFI)其中的一个或多个。例如,地址族标识包括取值为25的AFI以及取值为70的SAFI,取值为25的AFI以及取值为70的SAFI标识边界网关协议以太虚拟专用网络(border gateway protocol virtual private network,BGP EVPN)。The address family identifier is a number used in MP-BGP to distinguish information from different network layers. The form of the address family identifier is, for example, a number or a series of numbers. The address family identifier includes, but is not limited to, one or more of an address family identifier (address family identifier, AFI) or a sub-address family identifier (subsequent address family identifier, SAFI). For example, the address family identifier includes an AFI with a value of 25 and a SAFI with a value of 70. The AFI with a value of 25 and the SAFI with a value of 70 identify the Border Gateway Protocol Ethernet Virtual Private Network (BGP). EVPN).
下面对本申请实施例的应用场景举例说明。The application scenarios of the embodiments of this application are illustrated below with examples.
本申请实施例应用于SD-WAN网络中部署组播业务的场景,具体应用于在SD-WAN网络中同一个VPN内部署组播业务的场景。根据本申请一些实施例,在SD-WAN网络中的VPN内部署BIER,基于BIER实现组播业务,从而提供了基于SD-WAN的VPN BIER机制,使得来自VPN内组播源的组播数据流可以通过BIER以及SD-WAN隧道,穿越广域网,到达该VPN内的组播接收者。The embodiments of this application are applied to the scenario of deploying multicast services in the SD-WAN network, and are specifically applied to the scenario of deploying multicast services in the same VPN in the SD-WAN network. According to some embodiments of the present application, BIER is deployed within the VPN in the SD-WAN network, and multicast services are implemented based on BIER, thereby providing a VPN BIER mechanism based on SD-WAN, allowing multicast data flows from multicast sources in the VPN You can use BIER and SD-WAN tunnels to traverse the WAN to reach multicast receivers in the VPN.
本申请实施例适用的组网场景包括很多种,下面结合两种组网场景举例说明。 The embodiments of this application are applicable to many networking scenarios. The following is an example of two networking scenarios.
组网场景一、部署根节点以及叶子节点,未部署中间节点。Networking Scenario 1: Deploy root nodes and leaf nodes, but do not deploy intermediate nodes.
图1是本申请实施例提供的一种应用场景的示意图,图1所示的应用场景包括转发设备A、转发设备B以及转发设备C。转发设备A、转发设备B以及转发设备C位于同一个BIER网络(如同一个BIER子域)中,并且,转发设备A、转发设备B以及转发设备C均位于VPN1中。转发设备A位于VPN 1内的站点A,转发设备A与组播源相连。转发设备B和转发设备C均位于VPN1内的站点B。转发设备B接入组播接收者A,转发设备C接入组播接收者A和组播接收者B。转发设备A的WAN接口211和转发设备B的WAN接口212建立了SD-WAN隧道21。也即是,SD-WAN隧道21的2个端点设备分别为转发设备A以及转发设备B。转发设备A的WAN接口221和转发设备C的WAN接口222建立了SD-WAN隧道22。也即是,SD-WAN隧道22的2个端点设备分别为转发设备A以及转发设备C。可选地,还部署RR,RR与转发设备A、转发设备B以及转发设备C通过网络相连。Figure 1 is a schematic diagram of an application scenario provided by an embodiment of the present application. The application scenario shown in Figure 1 includes forwarding device A, forwarding device B and forwarding device C. Forwarding device A, forwarding device B, and forwarding device C are located in the same BIER network (such as a BIER subdomain), and forwarding device A, forwarding device B, and forwarding device C are all located in VPN1. Forwarding device A is located at site A within VPN 1, and forwarding device A is connected to the multicast source. Forwarding device B and forwarding device C are both located at site B within VPN1. Forwarding device B accesses multicast receiver A, and forwarding device C accesses multicast receiver A and multicast receiver B. The WAN interface 211 of forwarding device A and the WAN interface 212 of forwarding device B establish an SD-WAN tunnel 21. That is, the two endpoint devices of the SD-WAN tunnel 21 are forwarding device A and forwarding device B respectively. The WAN interface 221 of forwarding device A and the WAN interface 222 of forwarding device C establish an SD-WAN tunnel 22. That is, the two endpoint devices of the SD-WAN tunnel 22 are forwarding device A and forwarding device C respectively. Optionally, an RR is also deployed, and the RR is connected to forwarding device A, forwarding device B, and forwarding device C through the network.
组网场景二、部署根节点、叶子节点以及中间节点。Networking scenario 2: Deploy root nodes, leaf nodes and intermediate nodes.
可选地,请参考图2,图2是对部署根节点、叶子节点和中间节点的具体示例。图2在图1所示的场景的基础上,进一步还包括转发设备D。转发设备D位于VPN1内的站点C中。转发设备A的WAN接口311和转发设备D的WAN接口312建立了SD-WAN隧道31。转发设备D的WAN接口321和转发设备B的WAN接口322建立了SD-WAN隧道32。转发设备D的WAN接口331和转发设备B的WAN接口332建立了SD-WAN隧道33。Optionally, please refer to Figure 2, which is a specific example of deploying root nodes, leaf nodes, and intermediate nodes. Figure 2 is based on the scenario shown in Figure 1 and further includes a forwarding device D. Forwarding device D is located in site C within VPN1. The WAN interface 311 of forwarding device A and the WAN interface 312 of forwarding device D establish an SD-WAN tunnel 31. The WAN interface 321 of forwarding device D and the WAN interface 322 of forwarding device B establish an SD-WAN tunnel 32. The WAN interface 331 of forwarding device D and the WAN interface 332 of forwarding device B establish an SD-WAN tunnel 33.
在不同协议中,设备角色的定义有所区别。在BIER协议中,设备的角色主要分为三种:BFIR、transit BFR以及BFER。例如,在图2所示的场景中,转发设备A为BFIR,转发设备D为transit BFR,转发设备B和转发设备C为BFER。在组播协议中,设备的角色主要分为根节点(或者称为头节点)、中间节点和叶子节点。例如,在图2所示的场景中,转发设备A为根节点,转发设备D为中间节点,转发设备B和转发设备C为叶子节点。在SD-WAN协议中,设备的角色主要分为CPE和RR。例如,在图2所示的场景中,转发设备A、转发设备D、转发设备B和转发设备C均为CPE,或者转发设备A、转发设备D、转发设备B和转发设备C其中的一个设备同时为CPE和RR,而其他的3个设备为CPE。The definition of device roles varies in different protocols. In the BIER protocol, the roles of devices are mainly divided into three types: BFIR, transit BFR and BFER. For example, in the scenario shown in Figure 2, forwarding device A is BFIR, forwarding device D is transit BFR, and forwarding device B and forwarding device C are BFER. In the multicast protocol, the roles of devices are mainly divided into root nodes (or head nodes), intermediate nodes, and leaf nodes. For example, in the scenario shown in Figure 2, forwarding device A is the root node, forwarding device D is the intermediate node, and forwarding device B and forwarding device C are leaf nodes. In the SD-WAN protocol, the roles of devices are mainly divided into CPE and RR. For example, in the scenario shown in Figure 2, forwarding device A, forwarding device D, forwarding device B, and forwarding device C are all CPEs, or one of forwarding device A, forwarding device D, forwarding device B, and forwarding device C It is CPE and RR at the same time, and the other three devices are CPE.
下面对本申请实施例提供的逻辑功能架构举例说明。The following is an example of the logical function architecture provided by the embodiment of the present application.
图4是本申请实施例提供的逻辑功能架构示意图,如图4所示,该功能架构包括SD-WAN隧道层、VPN BIER层以及组播私网层。Figure 4 is a schematic diagram of the logical functional architecture provided by the embodiment of this application. As shown in Figure 4, the functional architecture includes an SD-WAN tunnel layer, a VPN BIER layer and a multicast private network layer.
SD-WAN隧道层为VPN BIER层的基础,用于通过SD-WAN转发方式来转发组播数据流。The SD-WAN tunnel layer is the basis of the VPN BIER layer and is used to forward multicast data flows through SD-WAN forwarding.
VPN BIER层用于基于BIER转发VPN内的组播数据报文。具体地,VPN BIER层引入了VPN BIER机制,使得VPN内的组播数据流量穿越运营商网络。例如,在运营商网络骨干CPE和企业或用户分支接入网络CPE上LAN侧部署VPN内BIER功能,形成多租户隔离的SD-WAN overlay BIER拓扑,将租户的组播业务部署在VPN BIER之上,实现SD-WAN单跳或多跳网络服务点(point of presence,POP)的BIER组播业务。The VPN BIER layer is used to forward multicast data packets within the VPN based on BIER. Specifically, the VPN BIER layer introduces the VPN BIER mechanism to allow multicast data traffic within the VPN to traverse the operator's network. For example, deploy the intra-VPN BIER function on the LAN side on the operator network backbone CPE and enterprise or user branch access network CPE to form a multi-tenant isolated SD-WAN overlay BIER topology, and deploy tenants' multicast services on top of the VPN BIER , realize the BIER multicast service of SD-WAN single-hop or multi-hop network service point (point of presence, POP).
组播私网层用于组播业务在控制面的信息交互,例如通过BGP MVPN或EVPN组播路 由传递overlay组播加入信息以及退出信息,用于组播业务引流和组播VPN BIER隧道建立,实现组播用户一跳加入。一跳加入是指叶子节点通过与根节点之间的BGP peer关系,向根节点发送BGP信令从而加入组播组,或者叶子节点通过与RR之间的BGP peer关系,向RR发送BGP信令,RR再通过与根节点的BGP peer关系向根节点转发BGP信令从而加入组播组。相较于PIM中,叶子节点向叶子节点的上一跳节点发送控制信令,然后每一跳节点逐跳向上游发送控制信令,直至控制信令到达根节点从而加入组播组的方式而言,由于表示加入的BGP信令只需叶子节点以及根节点感知,或者只需叶子节点、根节点以及RR感知,而无需转发路径中每一跳节点感知,因此实现了一跳加入,减少了转发用于表示加入的BGP信令占用的带宽。The multicast private network layer is used for information exchange of multicast services on the control plane, such as through BGP MVPN or EVPN multicast channels. By transmitting overlay multicast joining information and exit information, it is used for multicast service traffic diversion and multicast VPN BIER tunnel establishment to realize one-hop joining of multicast users. One-hop joining means that the leaf node sends BGP signaling to the root node to join the multicast group through the BGP peer relationship with the root node, or the leaf node sends BGP signaling to the RR through the BGP peer relationship with the RR. , the RR then forwards BGP signaling to the root node through the BGP peer relationship with the root node to join the multicast group. Compared with PIM, the leaf node sends control signaling to the previous hop node of the leaf node, and then each hop node sends control signaling to the upstream hop by hop until the control signaling reaches the root node and joins the multicast group. In other words, since the BGP signaling indicating joining only needs to be sensed by leaf nodes and root nodes, or only leaf nodes, root nodes and RRs, and does not need to be sensed by every hop node in the forwarding path, one-hop joining is achieved, reducing the number of Forwarding is used to indicate the bandwidth occupied by the added BGP signaling.
针对SD-WAN隧道与VPN BIER隧道之间的关系,VPN BIER隧道是基于SD-WAN隧道建立的BIER转发路径。VPN BIER隧道是虚拟的隧道。一条VPN BIER隧道可以经过多条SD-WAN隧道。而SD-WAN隧道通常是站点之间端到端的隧道,SD-WAN隧道可以经过传输网络内的多个节点。例如,请参考图3,图3所示的场景中,VPN BIER隧道是指从转发设备A经过转发设备D到转发设备B。VPN BIER隧道的根节点为转发设备A,中间节点为转发设备D,叶子节点为转发设备B。Regarding the relationship between SD-WAN tunnels and VPN BIER tunnels, VPN BIER tunnels are BIER forwarding paths established based on SD-WAN tunnels. VPN BIER tunnel is a virtual tunnel. A VPN BIER tunnel can pass through multiple SD-WAN tunnels. SD-WAN tunnels are usually end-to-end tunnels between sites, and SD-WAN tunnels can pass through multiple nodes within the transmission network. For example, please refer to Figure 3. In the scenario shown in Figure 3, the VPN BIER tunnel refers to from forwarding device A through forwarding device D to forwarding device B. The root node of the VPN BIER tunnel is forwarding device A, the intermediate node is forwarding device D, and the leaf node is forwarding device B.
VPN BIER隧道是基于SD-WAN隧道31以及SD-WAN隧道32建立的。SD-WAN隧道31的2个端点分别是转发设备A与转发设备D,SD-WAN隧道31在传输网络1经过了多跳节点。SD-WAN隧道32的2个端点分别是转发设备B与转发设备D,SD-WAN隧道32在传输网络2经过了多跳节点。VPN BIER tunnel is established based on SD-WAN tunnel 31 and SD-WAN tunnel 32. The two endpoints of the SD-WAN tunnel 31 are forwarding device A and forwarding device D respectively. The SD-WAN tunnel 31 passes through multi-hop nodes in the transmission network 1. The two endpoints of the SD-WAN tunnel 32 are forwarding device B and forwarding device D respectively. The SD-WAN tunnel 32 passes through multi-hop nodes in the transmission network 2.
下面对本申请实施例的方法流程举例说明。The following is an example of the method flow of the embodiment of the present application.
本申请的一些实施例涉及如上三层逻辑架构中不同层的控制面配置过程,为了区分描述不同层相关的参数,将VPN BIER层相关的参数集合称为第一参数集,将组播私网层相关的参数集合称为第二参数集,将SD-WAN隧道层相关的参数集合称为第三参数集。Some embodiments of this application involve the control plane configuration process of different layers in the above three-layer logical architecture. In order to distinguish and describe parameters related to different layers, the parameter set related to the VPN BIER layer is called the first parameter set, and the multicast private network is called the first parameter set. The layer-related parameter set is called the second parameter set, and the SD-WAN tunnel layer-related parameter set is called the third parameter set.
当VPN内一个转发设备上配置上述三层中任意一层相关的参数后,可以在VPN内通告配置的参数。而当VPN内一个转发设备接收到该VPN内另一个转发设备通告的如上三层中任意一层相关的参数后,可以根据接收到的参数获得对应层的对应关系,以便在接收到组播数据报文时通过该对应关系转发组播数据报文。After parameters related to any of the above three layers are configured on a forwarding device in the VPN, the configured parameters can be advertised within the VPN. When a forwarding device in the VPN receives the parameters related to any of the above three layers advertised by another forwarding device in the VPN, it can obtain the corresponding relationship of the corresponding layer based on the received parameters, so as to receive the multicast data. Multicast data packets are forwarded through this corresponding relationship.
可选地,转发设备以表项的形式保存获得的对应关系。例如,一个对应关系是转发设备上一张表中的一行表项或者多行表项的集合。转发设备上的表通常分为路由信息库(routing information base,RIB)和转发信息库(forwarding information base,FIB)。对应关系具体形式可以是采用RIB表中的表项或者FIB表中表项。Optionally, the forwarding device saves the obtained correspondence in the form of a table entry. For example, a corresponding relationship is a row of entries or a collection of multiple rows of entries in a table on the forwarding device. The tables on the forwarding device are usually divided into routing information base (RIB) and forwarding information base (FIB). The specific form of the corresponding relationship may be an entry in the RIB table or an entry in the FIB table.
为了区分描述不同层使用的对应关系,本申请实施例后续将与VPN BIER层相关的对应关系称为第一对应关系,将与组播私网层相关的对应关系称为第二对应关系,将与SD-WAN隧道层相关的对应关系称为第三对应关系。In order to distinguish and describe the corresponding relationships used by different layers, the embodiments of this application will later refer to the corresponding relationship related to the VPN BIER layer as the first corresponding relationship, the corresponding relationship related to the multicast private network layer as the second corresponding relationship, and the corresponding relationship to the multicast private network layer as the second corresponding relationship. The correspondence relationship related to the SD-WAN tunnel layer is called the third correspondence relationship.
可选地,转发设备通过不同类型的表项分别保存如上三种对应关系。例如,以上三种对应关系保存在设备上三张独立的表中。例如,第一对应关系是BIER转发表(BIFT)或者BIER路由表(BIRT)中的一条表项,第二对应关系是组播路由表中的一条表项或者组 播转发表中一条表项,第三对应关系是SD-WAN隧道转发表中的一条表项。可替代地,转发设备通过一种类型的表项保存如上三种对应关系中的至少两种对应关系,也即是,如上三种对应关系中的至少两种对应关系集成为同一张表中。本实施例对如上三种对应关系是相互独立的不同表还是集成为一张表不做限定。Optionally, the forwarding device stores the above three corresponding relationships through different types of entries. For example, the above three correspondences are stored in three independent tables on the device. For example, the first correspondence is an entry in the BIER forwarding table (BIFT) or the BIER routing table (BIRT), and the second correspondence is an entry or group in the multicast routing table. There is an entry in the broadcast forwarding table, and the third corresponding relationship is an entry in the SD-WAN tunnel forwarding table. Alternatively, the forwarding device stores at least two of the above three correspondences through one type of table entry, that is, at least two of the above three correspondences are integrated into the same table. This embodiment does not limit whether the above three corresponding relationships are independent tables or integrated into one table.
一个转发设备可以同时保存如上三种对应关系,也可以仅保存如上三种对应关系中的一种对应关系或者两种对应关系。例如,对于作为中间节点的转发设备来说,由于中间节点通常无需维护组播业务的状态,因此作为中间节点的转发设备可以无需保存上述第二对应关系。作为根节点的转发设备可以保存第一对应关系、第二对应关系以及第三对应关系,作为叶子节点的转发设备可以保存第一对应关系、第二对应关系以及第三对应关系。A forwarding device can store the above three corresponding relationships at the same time, or can store only one or two corresponding relationships among the above three corresponding relationships. For example, for a forwarding device serving as an intermediate node, since the intermediate node usually does not need to maintain the status of the multicast service, the forwarding device serving as an intermediate node does not need to save the above-mentioned second corresponding relationship. The forwarding device as the root node can store the first correspondence, the second correspondence and the third correspondence, and the forwarding device as the leaf node can store the first correspondence, the second correspondence and the third correspondence.
在如上三种对应关系通过不同类型的表项保存的情况下,如上三种对应关系可以通过路由迭代的方式联系在一起。路由迭代的基本概念可参考上文概念解释部分的描述。本申请的一些实施例中,路由迭代泛指转发设备查询一种对应关系,以获得查询结果后,转发设备根据该查询结果能够确定去查询另一种对应关系。In the case where the above three corresponding relationships are saved through different types of entries, the above three corresponding relationships can be linked together through routing iteration. For the basic concept of routing iteration, please refer to the description in the concept explanation section above. In some embodiments of the present application, routing iteration generally refers to the forwarding device querying one corresponding relationship. After obtaining the query result, the forwarding device can determine to query another corresponding relationship based on the query result.
以从第一对应关系迭代至第三对应关系为例,上述第一对应关系包括与标识SD-WAN隧道的参数匹配的下一跳,从而实现在VPN BIER层指向SD-WAN,使得作为根节点、中间节点或者叶子节点在根据比特串查找第一对应关系时,根据下一跳能够确定要通过SD-WAN隧道转发组播数据报文,则进一步查找第三对应关系以获得出接口和下一跳。例如,上述第一对应关系中的下一跳字段或者出接口字段的内容为SD-WAN隧道的对端设备所处的站点的site ID,因此查找第一对应关系后,根据对端设备所处的站点的site ID会进一步查找到第三对应关系。Taking the iteration from the first correspondence to the third correspondence as an example, the first correspondence includes the next hop that matches the parameters identifying the SD-WAN tunnel, thereby achieving pointing to SD-WAN at the VPN BIER layer, so that as the root node When the intermediate node or leaf node searches for the first correspondence based on the bit string, it can determine based on the next hop that the multicast data message is to be forwarded through the SD-WAN tunnel, and then further searches for the third correspondence to obtain the outbound interface and next hop. Jump. For example, the content of the next hop field or the outbound interface field in the above first correspondence is the site ID of the site where the peer device of the SD-WAN tunnel is located. Therefore, after searching for the first correspondence, the content of the next hop field or the egress interface field is the site ID of the peer device of the SD-WAN tunnel. The site ID of the site will further find the third corresponding relationship.
以从第二对应关系迭代至第一对应关系为例,例如,上述第二对应关系包括标识VPN BIER隧道的参数,从而实现在组播私网层指向VPN BIER,使得作为根节点的转发设备接收到组播数据报文,查找第二对应关系时,根据下一跳能够确定要通过VPN BIER隧道转发组播数据报文,则进一步查找第一对应关系以获得出接口和下一跳。Taking the iteration from the second correspondence to the first correspondence as an example, for example, the above-mentioned second correspondence includes parameters identifying the VPN BIER tunnel, thereby achieving pointing to the VPN BIER at the multicast private network layer, so that the forwarding device serving as the root node receives To the multicast data packet, when searching for the second correspondence, it can be determined according to the next hop that the multicast data packet is to be forwarded through the VPN BIER tunnel, and then the first correspondence is further searched to obtain the outgoing interface and next hop.
下面通过图5所示实施例对VPN BIER层的参数配置以及获取对应关系的过程举例说明,图5实施例以VPN内第一转发设备在VPN内通告参数的流程为例描述。The following is an example of the parameter configuration of the VPN BIER layer and the process of obtaining the corresponding relationship through the embodiment shown in Figure 5. The embodiment of Figure 5 takes the process of advertising parameters in the VPN by the first forwarding device in the VPN as an example.
第一转发设备的角色包括多种情况。在一些实施例中,第一转发设备是根节点。例如,在图2所示场景中,第一转发设备是转发设备A。在另一些实施例中,第一转发设备是叶子节点。例如,在图2所示场景中,第一转发设备是转发设备B或者转发设备C。在另一些实施例中,第一转发设备是中间节点。例如,在图2所示场景中,第一转发设备是转发设备D。The role of the first forwarding device covers a variety of situations. In some embodiments, the first forwarding device is the root node. For example, in the scenario shown in Figure 2, the first forwarding device is forwarding device A. In other embodiments, the first forwarding device is a leaf node. For example, in the scenario shown in Figure 2, the first forwarding device is forwarding device B or forwarding device C. In other embodiments, the first forwarding device is an intermediate node. For example, in the scenario shown in Figure 2, the first forwarding device is forwarding device D.
第一转发设备为SD-WAN隧道的端点。例如,在图2所示场景中,第一转发设备是转发设备A,第一转发设备是SD-WAN隧道31的入口节点。或者,第一转发设备是转发设备D,第一转发设备是SD-WAN隧道31的出口节点,同时也是SD-WAN隧道32的入口节点,同时也是SD-WAN隧道33的入口节点。或者,第一转发设备是转发设备B,第一转发设备是SD-WAN隧道32的出口节点。The first forwarding device is the endpoint of the SD-WAN tunnel. For example, in the scenario shown in Figure 2, the first forwarding device is forwarding device A, and the first forwarding device is the entry node of the SD-WAN tunnel 31. Alternatively, the first forwarding device is forwarding device D, and the first forwarding device is an egress node of the SD-WAN tunnel 31 , an ingress node of the SD-WAN tunnel 32 , and an ingress node of the SD-WAN tunnel 33 . Alternatively, the first forwarding device is forwarding device B, and the first forwarding device is the egress node of the SD-WAN tunnel 32 .
图5是本申请实施例提供的一种组播配置方法的流程图。图5所示方法包括以下步骤 S501至步骤S504。Figure 5 is a flow chart of a multicast configuration method provided by an embodiment of the present application. The method shown in Figure 5 includes the following steps S501 to step S504.
步骤S501,VPN内的第一转发设备获得第一参数集。Step S501: The first forwarding device in the VPN obtains the first parameter set.
第一参数集包括第一转发设备的BFR prefix以及用于标识SD-WAN隧道的参数。The first parameter set includes the BFR prefix of the first forwarding device and parameters used to identify the SD-WAN tunnel.
第一转发设备通过通告自己的BFR prefix,第一,能够标识第一参数集的来源是第一转发设备,使得接收到第一参数集的设备能够知道第一参数集是属于第一转发设备的;第二,如果第一转发设备后续需要发送其他参数,以第一参数集为例,通过在第一参数集中携带BFR prefix,可以指示第一参数集中的参数与第一参数集中的参数都是第一转发设备发送的,相当于隐含指示了BFR prefix与SD-WAN隧道的参数具有对应关系;第三,接收到BFR prefix的设备可以将BFR prefix作为目的地址,计算到达BFR prefix的出接口和下一跳,从而生成到达该BFR prefix的路由,进而实现建立BIER网络内节点之间邻居关系以及节点之间的BIER转发路径。第四,这种方式与BIER的标准协议兼容,实现复杂度较低。具体的,BIER的标准协议中提出的发布BIER参数的报文封装格式中,通常会在报文中携带一个可达性TLV(reachability prefix TLV,如RFC 5308定义的TLV 236或者RFC 5120定义的TLV 237),在该可达性TLV中携带BFR prefix,在该可达性TLV的子TLV(如BIER info sub TLV)中携带BIER的其他参数。本申请的一些实施例中,可以在报文中的可达性TLV中携带BFR prefix,在可达性TLV中的子TLV中携带BFR prefix之外的其他参数,从而复用BIER在发布参数时已有的报文封装格式。By advertising its own BFR prefix, the first forwarding device can, firstly, identify the source of the first parameter set as the first forwarding device, so that the device that receives the first parameter set can know that the first parameter set belongs to the first forwarding device. Second, if the first forwarding device needs to send other parameters subsequently, taking the first parameter set as an example, by carrying the BFR prefix in the first parameter set, it can be indicated that the parameters in the first parameter set and the parameters in the first parameter set are The first forwarding device sends it, which is equivalent to implicitly indicating that the BFR prefix has a corresponding relationship with the parameters of the SD-WAN tunnel; third, the device that receives the BFR prefix can use the BFR prefix as the destination address and calculate the outbound interface to reach the BFR prefix. and next hop, thereby generating a route to the BFR prefix, thereby establishing neighbor relationships between nodes in the BIER network and BIER forwarding paths between nodes. Fourth, this method is compatible with BIER's standard protocol and has low implementation complexity. Specifically, the message encapsulation format for publishing BIER parameters proposed in the BIER standard protocol usually carries a reachability TLV (reachability prefix TLV) in the message, such as TLV 236 defined in RFC 5308 or TLV defined in RFC 5120 237), the BFR prefix is carried in the reachability TLV, and other parameters of BIER are carried in the sub-TLV of the reachability TLV (such as BIER info sub TLV). In some embodiments of this application, the BFR prefix can be carried in the reachability TLV in the message, and other parameters other than the BFR prefix can be carried in the sub-TLV in the reachability TLV, thereby multiplexing BIER when publishing parameters. Existing message encapsulation format.
由于将BFR prefix以及SD-WAN隧道的参数一起通告,能够指示了BIER与SD-WAN之间具有关联关系,即,如果需要到达某个BFR prefix,则要经过SD-WAN隧道,从而实现BIER与SD-WAN相结合。例如,第一转发设备的BFR prefix为1.1.1.1,第一转发设备在VPN内通告BFR prefix:1.1.1.1以及SD-WAN隧道的参数后,VPN内其他BFR接收到参数后,可以知道当需要将数据报文转发至以1.1.1.1为目的前缀的设备时,需要通过SD-WAN隧道转发数据报文。Since the BFR prefix and SD-WAN tunnel parameters are advertised together, it can indicate that there is an association between BIER and SD-WAN. That is, if you need to reach a certain BFR prefix, you must go through the SD-WAN tunnel, thereby realizing the relationship between BIER and SD-WAN. SD-WAN integration. For example, the BFR prefix of the first forwarding device is 1.1.1.1. After the first forwarding device advertises the BFR prefix: 1.1.1.1 and the parameters of the SD-WAN tunnel in the VPN, other BFRs in the VPN receive the parameters and can know when needed When forwarding data packets to a device with 1.1.1.1 as the destination prefix, the data packets need to be forwarded through the SD-WAN tunnel.
在一些实施方式中,上述第一参数集中的第一转发设备的BFR prefix为第一转发设备在VPN内的私网IP地址。例如,在第一转发设备上配置VPN 1,将VPN 1的私网IP地址配置为第一转发设备的BFR prefix。可选地,第一转发设备的BFR prefix为第一转发设备在VPN内的私网IPv4地址,或者为第一转发设备在VPN内的私网IPv6地址。In some implementations, the BFR prefix of the first forwarding device in the first parameter set is the private IP address of the first forwarding device in the VPN. For example, configure VPN 1 on the first forwarding device, and configure the private IP address of VPN 1 as the BFR prefix of the first forwarding device. Optionally, the BFR prefix of the first forwarding device is the private IPv4 address of the first forwarding device within the VPN, or is the private IPv6 address of the first forwarding device within the VPN.
通过将VPN内的私网IP地址作为BFR prefix,使得路由可达至该私网IP地址的设备才会接收到第一参数集,从而实现将参数集的发送范围限制为VPN内。例如,将VPN 1内的私网IP地址配置为第一转发设备的BFR prefix,那么第一转发设备发送包含该BFR prefix的参数集时,路由可达至VPN 1的BFR会接收参数集,而路由不可达至VPN 1的BFR不会接收到参数集。By using the private IP address in the VPN as the BFR prefix, only devices with routes that can reach the private IP address will receive the first parameter set, thus limiting the sending range of the parameter set to the VPN. For example, if the private IP address in VPN 1 is configured as the BFR prefix of the first forwarding device, then when the first forwarding device sends a parameter set containing the BFR prefix, the BFR with routes reaching VPN 1 will receive the parameter set, and BFRs with unreachable routes to VPN 1 will not receive the parameter set.
在一些实施例中,第一转发设备为叶子节点,第一参数集还包括作为叶子节点的第一转发设备的BFR-ID。In some embodiments, the first forwarding device is a leaf node, and the first parameter set further includes the BFR-ID of the first forwarding device as the leaf node.
第一转发设备通过通告自己的BFR-ID,当第一转发设备需要接收组播数据报文时,通过将报文中比特串与第一转发设备对应的BFR-ID置位,即可指示报文要转发至第一转发设备。因此,SD-WAN网络中的中间节点根据比特串,即可实现报文的复制转发,而无需 感知组播组状态,也无需为每条组播数据流分别建立一个组播分发树,从而节省中间节点由于维护组播分发树所需保存的组播表项,因此节省了中间节点的存储资源,也避免中间节点由于建立组播分发树而造成的开销。此外,当组播数据流的目的接收者发生变化时,可以通过更新比特串来灵活地更新组播数据流的转发路径,而无需对大量组播分发树执行撤销和重建操作,从而提高了网络的可扩展性和灵活性。The first forwarding device advertises its own BFR-ID. When the first forwarding device needs to receive a multicast data packet, it can instruct the multicast data packet by setting the bit string in the packet to the BFR-ID corresponding to the first forwarding device. The message is to be forwarded to the first forwarding device. Therefore, the intermediate node in the SD-WAN network can copy and forward the message based on the bit string without Aware of the multicast group status, there is no need to build a multicast distribution tree for each multicast data flow, thus saving the storage resources of the intermediate nodes due to the multicast table entries needed to maintain the multicast distribution tree. , and also avoid the overhead caused by the establishment of a multicast distribution tree by intermediate nodes. In addition, when the destination receiver of the multicast data flow changes, the forwarding path of the multicast data flow can be flexibly updated by updating the bit string without the need to perform undo and rebuild operations on a large number of multicast distribution trees, thereby improving network performance. scalability and flexibility.
在一些实施例中,第一参数集还包括第一网络设备的BSL、第一网络设备的max-SI、第一网络设备所在的BIER子域的ID、第一网络设备的BIFT-ID以及VPN的标识中的一个或多个。In some embodiments, the first parameter set also includes the BSL of the first network device, the max-SI of the first network device, the ID of the BIER subdomain where the first network device is located, the BIFT-ID of the first network device, and the VPN one or more of the identifiers.
用于标识SD-WAN隧道的参数包括很多种形式。例如,上述用于标识SD-WAN隧道的参数的形式是一个或一串数字组成的编号,比如上述用于标识SD-WAN隧道的参数是1、2或3,或者111、222或者333。又如,上述用于标识SD-WAN隧道的参数是第一转发设备的IP地址,例如上述用于标识SD-WAN隧道的参数是IPv4地址;或者,上述用于标识SD-WAN隧道的参数是IPv6地址。例如,转发设备上配置了与SD-WAN隧道绑定的loopback接口,上述用于标识SD-WAN隧道的参数是SD-WAN隧道绑定的loopback接口的IP地址。又如,转发设备上配置了与SD-WAN隧道绑定的tunnel接口,上述用于标识SD-WAN隧道的参数是SD-WAN隧道绑定的tunnel接口的IP地址。再如,上述用于标识SD-WAN隧道的参数是一个字符串,例如,上述用于标识SD-WAN隧道的参数为SD-WAN隧道绑定的tunnel接口的名称,或者为SD-WAN隧道绑定的隧道协议的名称。再如,上述用于标识SD-WAN隧道的参数为字符串“SD-WAN”。The parameters used to identify SD-WAN tunnels come in many forms. For example, the above parameter used to identify the SD-WAN tunnel is in the form of a number or a series of numbers. For example, the above parameter used to identify the SD-WAN tunnel is 1, 2 or 3, or 111, 222 or 333. For another example, the above-mentioned parameter used to identify the SD-WAN tunnel is the IP address of the first forwarding device. For example, the above-mentioned parameter used to identify the SD-WAN tunnel is an IPv4 address; or, the above-mentioned parameter used to identify the SD-WAN tunnel is IPv6 address. For example, the forwarding device is configured with a loopback interface bound to the SD-WAN tunnel. The above parameter used to identify the SD-WAN tunnel is the IP address of the loopback interface bound to the SD-WAN tunnel. For another example, the forwarding device is configured with a tunnel interface bound to the SD-WAN tunnel. The above parameter used to identify the SD-WAN tunnel is the IP address of the tunnel interface bound to the SD-WAN tunnel. For another example, the above parameter used to identify the SD-WAN tunnel is a string. For example, the above parameter used to identify the SD-WAN tunnel is the name of the tunnel interface bound to the SD-WAN tunnel, or the name of the tunnel interface bound to the SD-WAN tunnel. The name of the specified tunneling protocol. For another example, the above parameter used to identify the SD-WAN tunnel is the string "SD-WAN".
在一些实施例中,用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息。In some embodiments, the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information.
第一隧道类型标识SD-WAN隧道。例如,第一隧道类型的形式是一个数字,该数字表示SD-WAN隧道。又如,第一隧道类型的形式是一个字符串,比如为“SD-WAN”。第一转发设备通过通告第一隧道类型,使得第一参数集的接收端能够知道,当向第一转发设备转发数据报文时,要通过SD-WAN隧道发送数据报文。The first tunnel type identifies the SD-WAN tunnel. For example, the first tunnel type is in the form of a number that represents the SD-WAN tunnel. For another example, the first tunnel type is in the form of a string, such as "SD-WAN". By advertising the first tunnel type, the first forwarding device enables the receiving end of the first parameter set to know that when forwarding the data packet to the first forwarding device, the data packet must be sent through the SD-WAN tunnel.
第一信息用于确定SD-WAN隧道。例如,第一信息包括第一转发设备所处的站点的标识或者第一转发设备的CPE ID中至少一项。The first information is used to determine the SD-WAN tunnel. For example, the first information includes at least one of the identification of the site where the first forwarding device is located or the CPE ID of the first forwarding device.
可替代地,第一信息为能够在SD-WAN网络中标识第一转发设备的其他信息,例如为第一转发设备的TNP信息。可替代地,第一信息为SD-WAN隧道的标签。SD-WAN隧道的标签用于标识一条SD-WAN隧道。SD-WAN隧道的标签的形式可以是MPLS标签,也可以是SRv6SID,也可以是源站点的标识、源TNP的标识、目的站点的标识、目的TNP的标识的组合。Alternatively, the first information is other information capable of identifying the first forwarding device in the SD-WAN network, such as TNP information of the first forwarding device. Alternatively, the first information is a label of the SD-WAN tunnel. The label of an SD-WAN tunnel is used to identify an SD-WAN tunnel. The label of the SD-WAN tunnel can be in the form of an MPLS label, an SRv6 SID, or a combination of the source site identifier, the source TNP identifier, the destination site identifier, and the destination TNP identifier.
针对第一转发设备如何获得第一参数集,下面通过四种方式对第一转发设备获得第一参数集的方式举例说明。Regarding how the first forwarding device obtains the first parameter set, the following is an example of how the first forwarding device obtains the first parameter set through four methods.
获得方式一、静态配置Obtaining method 1. Static configuration
例如,网络管理员通过命令行或者web界面等方式,对第一转发设备执行配置操作,输入上述第一参数集。第一转发设备响应于网络管理员的配置操作,获得网络管理员输入的第一参数集。 For example, the network administrator performs a configuration operation on the first forwarding device through a command line or a web interface, and inputs the above first parameter set. The first forwarding device responds to the configuration operation of the network administrator and obtains the first parameter set input by the network administrator.
获得方式二、控制器下发Obtaining method 2: Controller delivery
例如,由控制器为第一转发设备分配第一参数集。控制器向第一转发设备发送第一参数集。第一转发设备接收控制器发送的第一参数集。控制器发送第一参数集所基于的协议包括而不限于网络配置协议(network configuration protocol,NETCOF)、简单网络管理协议(simple network management protocol,SNMP)、遥测(telemetry)、表述性状态转移原则(representational state transfer,RESTful)或者BGP链路状态(BGP link-state,BGP-LS)等。For example, the controller allocates a first parameter set to the first forwarding device. The controller sends the first parameter set to the first forwarding device. The first forwarding device receives the first parameter set sent by the controller. The protocols based on which the controller sends the first parameter set include, but are not limited to, network configuration protocol (NETCOF), simple network management protocol (SNMP), telemetry (telemetry), and the declarative state transfer principle ( representational state transfer, RESTful) or BGP link state (BGP link-state, BGP-LS), etc.
获得方式三、根节点分配Obtaining method three, root node allocation
例如,由根节点为每个叶子节点分配对应的参数集,获得作为叶子节点的第一转发设备的第一参数集。根节点向第一转发设备发送第一参数集。第一转发设备接收控制器发送的第一参数集。For example, the root node allocates a corresponding parameter set to each leaf node to obtain the first parameter set of the first forwarding device serving as the leaf node. The root node sends the first parameter set to the first forwarding device. The first forwarding device receives the first parameter set sent by the controller.
获得方式四、第一转发设备自动生成本端的参数集。Obtaining method 4: The first forwarding device automatically generates the local parameter set.
例如,由第一转发设备根据设定的规则或者算法生成第一参数集。For example, the first forwarding device generates the first parameter set according to a set rule or algorithm.
上文结合四种方式,整体性的介绍了如何获得第一参数集的实现方式,下面针对具体如何确定第一参数集可能包含的参数举例说明,下面描述的确定参数的执行主体可以是网络管理员,也可以是控制器,或者是根节点,或者是第一转发设备自己,本实施例对确定参数的执行主体不做限定。The above combines the four methods to comprehensively introduce the implementation method of how to obtain the first parameter set. The following is an example of how to determine the parameters that may be included in the first parameter set. The execution subject of determining the parameters described below can be the network management The operator may also be a controller, a root node, or the first forwarding device itself. This embodiment does not limit the execution subject of determining parameters.
针对确定BFR-ID的实现方式,在一些实施例中,为一个BIER网络中每个BFER分配一个对应的BFR-ID,同一个BIER网络中不同BFER的BFR-ID不同。例如,如果一个BIER网络有3个BFER,则为3个BFER分配的BFR-ID分别为1、2和3。对于transit BFR而言,通常无需为transit BFR分配BFR-ID。可替代地,将transit BFR的BFR-ID分配为0。对于BFIR而言,可选地,不为BFIR分配对应的BFR-ID。可替代地,将BFIR的BFR-ID配置为0。或者,不仅为BFER分配对应的BFR-ID,也为BFIR分配一个对应的BFR-ID。在为BFIR分配BFR-ID的情况下,BFIR的BFR-ID与同一个BIER网络中每个BFER的BFR-ID不同。在一些实施例中,BFR-ID是基于BIER网络中BFER的数量确定的。例如,如果BIER网络中BFER的数量小于64,则在1-64的范围内依次为每个BFER分配BFR-ID。如果BIER网络中BFER的数量大于64且小于128台,则在1-128的范围内依次为每个BFER分配BFR-ID。Regarding the implementation of determining the BFR-ID, in some embodiments, each BFER in a BIER network is assigned a corresponding BFR-ID, and different BFERs in the same BIER network have different BFR-IDs. For example, if a BIER network has three BFERs, the BFR-IDs assigned to the three BFERs are 1, 2, and 3 respectively. For transit BFR, there is usually no need to assign a BFR-ID to the transit BFR. Alternatively, assign the BFR-ID of the transit BFR to 0. For BFIR, optionally, no corresponding BFR-ID is allocated to BFIR. Alternatively, configure the BFR-ID of the BFIR to 0. Alternatively, not only BFER is assigned a corresponding BFR-ID, but also BFIR is assigned a corresponding BFR-ID. In the case where a BFR-ID is assigned to a BFIR, the BFR-ID of the BFIR is different from the BFR-ID of each BFER in the same BIER network. In some embodiments, the BFR-ID is determined based on the number of BFERs in the BIER network. For example, if the number of BFERs in the BIER network is less than 64, each BFER is assigned a BFR-ID in the range of 1-64 in turn. If the number of BFERs in the BIER network is greater than 64 and less than 128, each BFER is assigned a BFR-ID in the range of 1-128 in turn.
针对确定BSL的实现方式,在一些实施例中,从BIER的标准协议中规定的BSL的参考取值中,选择一个值作为BSL。目前,BIER的标准协议中BSL的参考取值包括64、128、512、1028、2048和4096中。在一些实施例中,收集BIER网络的拓扑,基于BIER网络的拓扑确定BFER的数量,选择一个大于BFER的数量的值,作为BSL。例如,从BIER的标准协议中规定的BSL的参考取值中,选择一个大于BFER的数量且与BFER数量最相近的值作为BSL。例如,如果BIER网络中BFER的数量小于64,则选择64作为BSL;如果BIER网络中BFER的数量大于64且小于128,则选择128作为BSL。Regarding the implementation method of determining the BSL, in some embodiments, a value is selected as the BSL from the reference values of the BSL specified in the BIER standard protocol. Currently, the reference values of BSL in BIER's standard protocol include 64, 128, 512, 1028, 2048 and 4096. In some embodiments, the topology of the BIER network is collected, the number of BFERs is determined based on the topology of the BIER network, and a value greater than the number of BFERs is selected as the BSL. For example, from the reference values of BSL specified in the BIER standard protocol, select a value that is greater than the number of BFER and closest to the number of BFER as the BSL. For example, if the number of BFERs in the BIER network is less than 64, select 64 as the BSL; if the number of BFERs in the BIER network is greater than 64 and less than 128, select 128 as the BSL.
针对确定BFR prefix的实现方式,在一些实施例中,从第一转发设备的出接口中,选择一个loopback接口的IP地址作为BFR prefix。 Regarding the implementation method of determining the BFR prefix, in some embodiments, the IP address of a loopback interface is selected as the BFR prefix from the outbound interface of the first forwarding device.
步骤S502、第一转发设备在VPN内发送第一参数集。Step S502: The first forwarding device sends the first parameter set within the VPN.
通过将第一转发设备部署在VPN内,第一参数集的发送范围限定在VPN内部,能够达到的效果包括而不限于以下三个方面。By deploying the first forwarding device within the VPN and limiting the sending range of the first parameter set within the VPN, the effects that can be achieved include but are not limited to the following three aspects.
第一,有助于实现租户隔离。First, it helps achieve tenant isolation.
在数据通信领域中,租户隔离是指不同VPN的转发表之间相互隔离,设备为每个VPN维护独立的转发表。相较于在公网发送参数集,导致参数集扩散至公网所有设备,进而造成要考虑公网内所有设备的参数建立BIER转发表而言,本实施例通过在VPN内发送参数集,有助于建立VPN对应的BIER转发表,由于建立BIER转发表时不需要考虑VPN外部设备的参数,从而实现不同VPN的BIER转发表相互独立,支持基于租户的BIER拓扑部署。In the field of data communications, tenant isolation means that the forwarding tables of different VPNs are isolated from each other, and the device maintains an independent forwarding table for each VPN. Compared with sending the parameter set on the public network, which causes the parameter set to spread to all devices on the public network, and then requires the parameters of all devices in the public network to be considered to establish a BIER forwarding table, this embodiment sends the parameter set within the VPN. It helps to establish the BIER forwarding table corresponding to the VPN. Since the parameters of external VPN devices do not need to be considered when establishing the BIER forwarding table, the BIER forwarding tables of different VPNs are independent of each other and supports tenant-based BIER topology deployment.
第二,有助于减少比特串的长度,提高转发性能。Second, it helps to reduce the length of the bit string and improve forwarding performance.
在公网内部署BIER网络时,由公网内的BFR在公网中泛洪BIER信息时,由于公网内需要转发各个用户的流量,公网中需要部署的设备数量很多,组网规模很大,导致需要为大量设备分配BFR-ID。并且,为了让比特串足以表示每个设备是否具有接收组播流量的需求,比特串也需要很长。而比特串过长,会导致报文开销较大,此外,由于BIER转发过程中,设备通常会使用比特串中的每一个比特与F-BM中的每一个比特按位相与,因此比特串过长也会影响设备的转发性能。When deploying a BIER network in the public network, when the BFR in the public network floods the BIER information in the public network, since the traffic of each user needs to be forwarded in the public network, a large number of devices need to be deployed in the public network, and the network scale is very large. Large, resulting in the need to assign BFR-IDs to a large number of devices. Also, in order for the bit string to be sufficient to indicate whether each device has the need to receive multicast traffic, the bit string needs to be very long. If the bit string is too long, the message overhead will be large. In addition, during the BIER forwarding process, the device usually uses each bit in the bit string to be bitwise ANDed with each bit in the F-BM. Therefore, the bit string is too long. Long will also affect the forwarding performance of the device.
而本实施例通过将BFR的部署位置限定在VPN内,可以根据VPN内的设备数量确定BFR-ID和比特串的长度,而由于一个VPN内BFR的数量比较少,因此BFR-ID的规划能够更集中,比特串的长度能够更短,所以减少了报文开销,提高设备的转发性能。例如,用户租用了一个VPN,部署了3个站点,组播源在站点A,组播接收者分布在站点B和站点C。在这一场景下,可以将站点A内一台设备配置为BFIR,将站点B内一台设备配置为BFER,站点C内一台设备配置为BFER,那么VPN内BFER的数量只有2个,BFR-ID分别配置为1和2即可,比特串的长度可以取协议推荐的BSL的最小值。In this embodiment, by limiting the deployment location of BFR to the VPN, the length of the BFR-ID and the bit string can be determined based on the number of devices in the VPN. Since the number of BFRs in a VPN is relatively small, the planning of the BFR-ID can More concentrated, the length of the bit string can be shorter, thus reducing message overhead and improving the forwarding performance of the device. For example, a user rents a VPN and deploys three sites. The multicast source is at site A, and the multicast receivers are distributed at site B and site C. In this scenario, you can configure a device in site A as BFIR, a device in site B as BFER, and a device in site C as BFER. Then there are only two BFERs in the VPN and BFR -ID can be configured as 1 and 2 respectively, and the length of the bit string can be the minimum value of BSL recommended by the protocol.
第三,可扩展性更好。Third, the scalability is better.
由于将参数集的发送范围限定在VPN内,当VPN发生扩容,比如VPN内新增一个站点时,不需要将新增站点的参数集发送给VPN外部的设备,而是将新增站点的参数集发送给VPN内部署的BFR即可,因此便于扩容,组网的灵活性和可扩展性更好。Since the sending range of the parameter set is limited to the VPN, when the VPN expands, for example, when a new site is added to the VPN, the parameter set of the new site does not need to be sent to the device outside the VPN. Instead, the parameters of the new site will be sent to the device outside the VPN. It only needs to be sent to the BFR deployed in the VPN, so it is easy to expand the network and the flexibility and scalability of the network are better.
针对发送第一参数集采用的方式,在一些实施例中,第一转发设备生成第一通告报文,第一通告报文包括上述第一参数集,第一转发设备在VPN内发送第一通告报文。也即是,将上述第一参数集中每个参数通过一个报文发布至VPN内。Regarding the method used to send the first parameter set, in some embodiments, the first forwarding device generates a first notification message, the first notification message includes the above-mentioned first parameter set, and the first forwarding device sends the first notification within the VPN message. That is, each parameter in the above-mentioned first parameter set is published into the VPN through a message.
针对发送第一参数集所基于的协议,即上述第一通告报文的协议类型,在一些实施例中,上述第一通告报文为BGP报文。进一步地,上述第一通告报文例如为BGP update报文。Regarding the protocol based on which the first parameter set is sent, that is, the protocol type of the above-mentioned first advertisement message, in some embodiments, the above-mentioned first advertisement message is a BGP message. Further, the above-mentioned first notification message is, for example, a BGP update message.
在一些实施例中,上述第一通告报文包括第一地址族标识以及第一参数集。第一地址族标识包括而不限于AFI或者SAFI其中的一个或多个。在一些实施例中,第一地址族标识用于标识BGP EVPN。在另一些实施例中,第一地址族标识用于标识BGP VPN BIER。 第一通告报文的具体格式可参考后文图8至图10的描述。In some embodiments, the first notification message includes a first address family identifier and a first parameter set. The first address family identifier includes, but is not limited to, one or more of AFI or SAFI. In some embodiments, the first address family identifier is used to identify the BGP EVPN. In other embodiments, the first address family identifier is used to identify the BGP VPN BIER. For the specific format of the first notification message, please refer to the description of Figures 8 to 10 below.
在SD-WAN隧道的端点设备之间通告参数集的场景下,由于参数集需要从一个站点跨越SD-WAN隧道所基于的传输网络到达另一个站点,而IGP或者私有协议由于不支持跨设备建立对等体(peer)关系,采用IGP泛洪参数集时,参数集需要在传输网络内部逐跳传输,导致占用网络带宽。而本实施例中,通过使用BGP来通告上述第一参数集,由于BGP允许跨设备建立peer关系,即两个IP层非直连的设备能够通过TCP建立peer关系,然后基于peer关系传递参数,因此参数集能够从一个站点跨越传输网络到达另一个站点,从而降低通告参数对传输网络的带宽占用,提高性能。此外,由于BGP提供了丰富的路径属性,本申请的一些可选的实施例中,可以利用路径属性实现控制参数的接收与发送等功能,从而适配更丰富的场景。In the scenario where parameter sets are advertised between endpoint devices of an SD-WAN tunnel, the parameter set needs to cross the transmission network on which the SD-WAN tunnel is based from one site to another site, and IGP or private protocols do not support cross-device establishment. In the peer relationship, when using the IGP flooding parameter set, the parameter set needs to be transmitted hop by hop within the transmission network, resulting in occupied network bandwidth. In this embodiment, BGP is used to advertise the first parameter set. Since BGP allows the establishment of peer relationships across devices, that is, two devices that are not directly connected at the IP layer can establish a peer relationship through TCP and then transfer parameters based on the peer relationship. Therefore, the parameter set can cross the transmission network from one site to another site, thereby reducing the bandwidth occupied by the notification parameters on the transmission network and improving performance. In addition, since BGP provides a wealth of path attributes, in some optional embodiments of this application, path attributes can be used to implement functions such as receiving and sending control parameters, thereby adapting to richer scenarios.
在VPN内的设备之间通告参数的场景下,由于BGP EVPN以及BGP VPN BIER这两种地址族,正是用来支持通告VPN内的信息或者说私网信息的,因此使用BGP EVPN以及BGP VPN BIER来通告上述第一参数集,与标准协议对BGP EVPN以及BGP VPN BIER定义的用途匹配,兼容性好。In the scenario of advertising parameters between devices in a VPN, since the two address families of BGP EVPN and BGP VPN BIER are used to support advertising information within the VPN or private network information, BGP EVPN and BGP VPN are used BIER is used to notify the above first parameter set, which matches the purpose defined by the standard protocol for BGP EVPN and BGP VPN BIER, and has good compatibility.
针对发送第一参数集所基于的报文封装格式,在一些实施例中,上述第一通告报文包括NLRI字段以及一个或多个路径属性(path attribute)字段,NLRI字段携带BFR prefix以及VPN的标识其中的一个或多个,一个或多个路径属性(path attribute)字段携带BFR-ID、BSL、max-SI、BIER子域的ID、BIFT-ID以及SD-WAN隧道的参数其中的一个或多个。进一步地,上述路径属性例如为BGP传递路径属性(BGP transitive path attribute)。进一步地,上述路径属性例如为BGP扩展团体属性。Regarding the packet encapsulation format based on which the first parameter set is sent, in some embodiments, the above-mentioned first notification message includes an NLRI field and one or more path attribute fields, and the NLRI field carries the BFR prefix and the VPN's Identifies one or more of them. One or more path attribute fields carry one or more of BFR-ID, BSL, max-SI, BIER subdomain ID, BIFT-ID, and SD-WAN tunnel parameters. Multiple. Further, the above-mentioned path attribute is, for example, a BGP transitive path attribute (BGP transitive path attribute). Further, the above path attributes are, for example, BGP extended community attributes.
在一些实施例中,通过不同的路径属性字段分别携带BIER相关的参数以及SD-WAN隧道的参数。例如,上述第一通告报文包括第一扩展团体属性字段、第二扩展团体属性字段以及第三扩展团体属性字段,第一扩展团体属性字段包括BFR-ID、BSL、max-SI、subdomain-ID以及BIFT-ID其中的一个或多个,第二扩展团体属性字段包括第一隧道类型,第三扩展团体属性字段包括第一信息。第一扩展团体属性字段例如是BIER业务封装属性字段。第二扩展团体属性字段例如是SD-WAN封装属性字段。第三扩展团体属性字段例如是SD-WAN color属性字段。In some embodiments, BIER-related parameters and SD-WAN tunnel parameters are respectively carried through different path attribute fields. For example, the above-mentioned first notification message includes a first extended community attribute field, a second extended community attribute field, and a third extended community attribute field. The first extended community attribute field includes BFR-ID, BSL, max-SI, and subdomain-ID. and one or more BIFT-IDs, the second extended community attribute field includes the first tunnel type, and the third extended community attribute field includes the first information. The first extended community attribute field is, for example, a BIER service encapsulation attribute field. The second extended community attribute field is, for example, an SD-WAN encapsulation attribute field. The third extended community attribute field is, for example, the SD-WAN color attribute field.
以上通过步骤S502,针对一个转发设备如何将自己的参数集发送至所属VPN内另一个转发设备进行了举例说明,在一些实施例中,转发设备采用泛洪(flood)的方式在VPN内发送参数集。例如,第一转发设备不仅在VPN内发送本设备的第一参数集,如果第一转发设备接收到来自于VPN内其他BFR的参数集,第一转发设备也在VPN内发送其他BFR的参数集。又如,第一转发设备不仅向VPN内第二转发设备发送自己的第一参数集,还向VPN内除了第一转发设备自己、第二转发设备之外的其他所有BFR发送第一参数集。通过采用泛洪的方式发送参数集,实现VPN内每个BFR获得该VPN内所有BFR的参数集,以便VPN内所有BFR的参数集获得VPN内BIER网络的拓扑,便于计算从本节点到BIER网络中任意一个BFR的BIER转发路径,实现VPN内BIER转发路径计算。The above step S502 illustrates how a forwarding device sends its own parameter set to another forwarding device in the VPN to which it belongs. In some embodiments, the forwarding device uses a flooding method to send parameters in the VPN. set. For example, the first forwarding device not only sends the first parameter set of its own device within the VPN, but if the first forwarding device receives parameter sets from other BFRs in the VPN, the first forwarding device also sends the parameter sets of other BFRs within the VPN. . For another example, the first forwarding device not only sends its first parameter set to the second forwarding device in the VPN, but also sends the first parameter set to all other BFRs in the VPN except the first forwarding device itself and the second forwarding device. By sending parameter sets by flooding, each BFR in the VPN can obtain the parameter sets of all BFRs in the VPN, so that the parameter sets of all BFRs in the VPN can obtain the topology of the BIER network in the VPN, which facilitates calculation from this node to the BIER network. The BIER forwarding path of any BFR in the VPN can be used to calculate the BIER forwarding path within the VPN.
步骤S503、VPN内的第二转发设备在VPN内接收第一参数集。 Step S503: The second forwarding device in the VPN receives the first parameter set in the VPN.
第一转发设备和第二转发设备位于同一个VPN内。第一转发设备和第二转发设备的角色包括多种情况。在一些实施例中,第一转发设备为根节点,第二转发设备为中间节点或者叶子节点。在另一些实施例中,第一转发设备为叶子节点,第二转发设备为根节点或者中间节点。在再一些实施例中,第一转发设备和第二转发设备为两跳不同的中间节点,本实施例对第一转发设备和第二转发设备的角色不做限定。The first forwarding device and the second forwarding device are located in the same VPN. The roles of the first forwarding device and the second forwarding device include various situations. In some embodiments, the first forwarding device is a root node, and the second forwarding device is an intermediate node or a leaf node. In other embodiments, the first forwarding device is a leaf node, and the second forwarding device is a root node or an intermediate node. In some embodiments, the first forwarding device and the second forwarding device are intermediate nodes with two different hops. This embodiment does not limit the roles of the first forwarding device and the second forwarding device.
步骤S504、第二转发设备基于第一参数集获得第一对应关系。Step S504: The second forwarding device obtains the first correspondence based on the first parameter set.
第一对应关系用于转发目的叶子节点包括第一转发设备的组播数据报文。例如,第一对应关系是第二转发设备中BIFT中的表项。又如,第一对应关系是第二转发设备上BIRT中的表项。The first correspondence relationship is used to forward multicast data packets whose destination leaf nodes include the first forwarding device. For example, the first corresponding relationship is an entry in the BIFT in the second forwarding device. For another example, the first corresponding relationship is an entry in the BIRT on the second forwarding device.
在一些实施例中,第一对应关系包括第一转发设备的BFR-ID匹配的F-BM以及标识SD-WAN隧道的参数。可选地,第一对应关系还包括与第一转发设备的BFR-prefix匹配的下一跳。In some embodiments, the first correspondence includes an F-BM matching the BFR-ID of the first forwarding device and a parameter identifying the SD-WAN tunnel. Optionally, the first corresponding relationship also includes a next hop that matches the BFR-prefix of the first forwarding device.
上述第一转发设备的BFR-ID匹配的F-BM的形式例如是一个比特串。例如,F-BM中第一转发设备的BFR-ID对应的比特位置位。The form of the F-BM matched by the BFR-ID of the first forwarding device is, for example, a bit string. For example, the bit corresponding to the BFR-ID of the first forwarding device in the F-BM is set.
上述与第一转发设备的BFR-prefix匹配的下一跳的数据形式包括多种实现方式。例如,第一对应关系中与第一转发设备的BFR-prefix匹配的下一跳包括下一跳所处的站点的标识、下一跳的CPE ID、第二转发设备上到达该下一跳的第一出接口、下一跳的第二出接口其中的任意一项或者多项的组合。The data form of the next hop matching the BFR-prefix of the first forwarding device includes multiple implementation methods. For example, the next hop in the first correspondence that matches the BFR-prefix of the first forwarding device includes the identity of the site where the next hop is located, the CPE ID of the next hop, and the number of users who reach the next hop on the second forwarding device. Any one or a combination of the first outbound interface and the second outbound interface of the next hop.
第一出接口是第二转发设备上与第一转发设备的BFR-prefix匹配的下一跳通信的接口。第一出接口例如是与SD-WAN隧道绑定的接口。例如,第一出接口是第二转发设备上与SD-WAN隧道绑定的loopback接口,又如是第二转发设备上与SD-WAN隧道绑定的tunnel接口。再如,第一出接口是第二转发设备上SD-WAN隧道对应的TNP。第二出接口是第一转发设备的BFR-prefix匹配的下一跳上与第二转发设备通信的接口。第二出接口例如是与SD-WAN隧道绑定的接口。例如,第二出接口是下一跳上与SD-WAN隧道绑定的loopback接口,又如是下一跳上与SD-WAN隧道绑定的tunnel接口,再如是下一跳上与SD-WAN隧道对应的TNP。The first outgoing interface is the next-hop communication interface on the second forwarding device that matches the BFR-prefix of the first forwarding device. The first outgoing interface is, for example, an interface bound to the SD-WAN tunnel. For example, the first outbound interface is the loopback interface bound to the SD-WAN tunnel on the second forwarding device, or the tunnel interface bound to the SD-WAN tunnel on the second forwarding device. For another example, the first outbound interface is the TNP corresponding to the SD-WAN tunnel on the second forwarding device. The second outgoing interface is an interface that communicates with the second forwarding device on the next hop that matches the BFR-prefix of the first forwarding device. The second outgoing interface is, for example, an interface bound to the SD-WAN tunnel. For example, the second outbound interface is the loopback interface bound to the SD-WAN tunnel on the next hop. Another example is the tunnel interface bound to the SD-WAN tunnel on the next hop. Another example is the tunnel interface bound to the SD-WAN tunnel on the next hop. Corresponding TNP.
上述与第一转发设备的BFR-prefix匹配的下一跳在第一对应关系中所处的字段包括多种方式。可选地,第一对应关系包括BFR-NBR字段,BFR-NBR字段包括上述与第一转发设备的BFR-prefix匹配的下一跳。或者,第一对应关系包括BFR-NBR字段和第一字段,BFR-NBR字段包括与第一转发设备的BFR-prefix匹配的下一跳的BFR-prefix,第一字段包括与第一转发设备的BFR-prefix匹配的下一跳。例如,第一字段的字段名为下一跳。The field where the next hop matching the BFR-prefix of the first forwarding device is located in the first correspondence relationship includes multiple methods. Optionally, the first corresponding relationship includes a BFR-NBR field, and the BFR-NBR field includes the next hop matching the BFR-prefix of the first forwarding device. Alternatively, the first correspondence relationship includes a BFR-NBR field and a first field. The BFR-NBR field includes the BFR-prefix of the next hop that matches the BFR-prefix of the first forwarding device. The first field includes the BFR-prefix of the next hop that matches the BFR-prefix of the first forwarding device. The next hop matched by BFR-prefix. For example, the first field has the field name Next Hop.
例如,第一转发设备的BFR-ID为2,第一转发设备的BFR prefix为10.1.1.1,标识SD-WAN隧道的参数的值为SD-WAN。第二转发设备根据第一转发设备的BFR prefix订阅路由,确定到达第一转发设备的下一跳为第三转发设备,第三转发设备位于site 3中,site 3的site ID为333。第三转发设备的CPE ID为10.3.3.3。此外,第二转发设备确定第一转发设备的BFR-ID匹配的F-BM为0010。For example, the BFR-ID of the first forwarding device is 2, the BFR prefix of the first forwarding device is 10.1.1.1, and the value of the parameter identifying the SD-WAN tunnel is SD-WAN. The second forwarding device subscribes to the route according to the BFR prefix of the first forwarding device and determines that the next hop to the first forwarding device is the third forwarding device. The third forwarding device is located in site 3, and the site ID of site 3 is 333. The CPE ID of the third forwarding device is 10.3.3.3. In addition, the second forwarding device determines that the F-BM matching the BFR-ID of the first forwarding device is 0010.
在这一示例下,第二转发设备在BIFT中生成了表项例如包括如下表1示出的条目或者 表2示出的条目。表1和表2均是对第一对应关系的举例说明,表1的含义是,如果接收到的报文中的比特串与F-BM(0010)相与后非全0,则需要通过SD-WAN隧道向site ID为333的下一跳转发报文。表2的含义是,如果接收到的报文中的比特串与F-BM(0010)相与后非全0,则需要通过SD-WAN隧道向CPE ID为10.3.3.3的下一跳转发报文。In this example, the second forwarding device generates entries in BIFT including, for example, the entries shown in Table 1 below or Table 2 shows the entries. Table 1 and Table 2 are both examples of the first correspondence relationship. The meaning of Table 1 is that if the bit string in the received message is not all 0 after ANDing with F-BM (0010), it needs to pass SD -The WAN tunnel forwards the packet to the next hop with site ID 333. The meaning of Table 2 is that if the bit string in the received message is not all 0 after being ANDed with F-BM (0010), it needs to be forwarded to the next hop with CPE ID 10.3.3.3 through the SD-WAN tunnel. message.
表1
Table 1
表2
Table 2
上表中F-BM的长度为4是简化示意,F-BM的长度通常和比特串长度相等,设备上F-BM的长度以实际为准。The length of F-BM in the above table is 4 for simplification. The length of F-BM is usually equal to the length of the bit string. The length of F-BM on the device shall be subject to actual conditions.
可选地,第一对应关系还包括第一转发设备所处的VPN的标识。例如,上述第一参数集还包括第一转发设备所处的VPN的标识,第二转发设备根据VPN的标识生成上述第一对应关系。例如,第一转发设备所处的VPN的标识为1,则第二转发设备在BIFT中生成了表项例如包括如下表3示出的条目或者表4示出的条目。表3和表4均是对第一对应关系的举例说明,表3的含义是,如果接收到的报文包括VPN 1的标识(1),且报文中的比特串与F-BM(0010)相与后非全0,则需要通过SD-WAN隧道向site ID为333的下一跳转发报文。表4的含义是,如果接收到的报文包括VPN 1的标识(1),且比特串与F-BM(0010)相与后非全0,则需要通过SD-WAN隧道向CPE ID为10.3.3.3的下一跳转发报文。可替代地,第二转发设备不是将VPN的标识添加至第一对应关系,而是确定第二转发设备上与VPN绑定的入接口,将第一对应关系添加至与VPN绑定的入接口对应的路由表中。Optionally, the first correspondence relationship also includes an identifier of the VPN where the first forwarding device is located. For example, the above-mentioned first parameter set also includes an identifier of the VPN where the first forwarding device is located, and the second forwarding device generates the above-mentioned first correspondence relationship according to the identifier of the VPN. For example, if the identifier of the VPN where the first forwarding device is located is 1, then the second forwarding device generates entries in BIFT including, for example, the entries shown in Table 3 below or the entries shown in Table 4 below. Tables 3 and 4 are examples of the first correspondence. The meaning of Table 3 is that if the received message includes the identifier of VPN 1 (1), and the bit string in the message is consistent with F-BM (0010 ) phase and is not all 0, then the packet needs to be forwarded to the next hop with site ID 333 through the SD-WAN tunnel. The meaning of Table 4 is that if the received message includes the identifier of VPN 1 (1), and the bit string is not all 0 after being ANDed with F-BM (0010), then it needs to be sent to the CPE with ID 10.3 through the SD-WAN tunnel. .3.3 forwards the packet to the next hop. Alternatively, the second forwarding device does not add the identification of the VPN to the first corresponding relationship, but determines the inbound interface bound to the VPN on the second forwarding device, and adds the first corresponding relationship to the inbound interface bound to the VPN. in the corresponding routing table.
表3
table 3
表4
Table 4
可选地,第一对应关系还包括第一转发设备的BSL、第一转发设备的max-SI、第一转发设备所在的BIER子域的ID以及第一转发设备的BIFT-ID中的一个或多个。Optionally, the first corresponding relationship also includes one of the BSL of the first forwarding device, the max-SI of the first forwarding device, the ID of the BIER subdomain where the first forwarding device is located, and the BIFT-ID of the first forwarding device, or Multiple.
本实施例提供的方法,转发设备通过在VPN内通告BFR prefix以及用于标识SD-WAN隧道的参数,能够指示了BIER与SD-WAN之间具有关联关系,即,如果需要到达某个BFR prefix,则要经过SD-WAN隧道,因此有助于在SD-WAN中基于BIER转发数据报文,使得SD-WAN网络中的中间节点能够根据报文中比特串的置位情况,实现报文的复制转发,而无需感知组播组状态,也无需为每条组播数据流分别建立一个组播分发树。In the method provided in this embodiment, the forwarding device can indicate the association between BIER and SD-WAN by advertising the BFR prefix and the parameters used to identify the SD-WAN tunnel in the VPN. That is, if a certain BFR prefix needs to be reached, , it has to go through the SD-WAN tunnel, so it is helpful to forward the data packet based on BIER in SD-WAN, so that the intermediate node in the SD-WAN network can realize the packet routing based on the bit string setting in the packet. Copy and forward without being aware of the multicast group status or building a multicast distribution tree for each multicast data flow.
以上通过图5实施例对VPN BIER层的配置进行了说明,下面对组播私网层的配置进行举例说明。 The configuration of the VPN BIER layer has been described above through the embodiment of Figure 5. The configuration of the multicast private network layer will be illustrated below with an example.
组播私网层的配置涉及根节点和叶子节点的控制面交互的流程。根节点通过与叶子节点进行交互,获知组播数据流需要发送给哪些目的叶子节点,根节点将目的叶子节点的BFR-ID合并,就获得了指定的组播源组信息对应的比特串,从而实现建立VPN BIER隧道。The configuration of the multicast private network layer involves the process of control plane interaction between the root node and leaf nodes. The root node interacts with the leaf nodes to learn which destination leaf nodes the multicast data stream needs to be sent to. The root node combines the BFR-IDs of the destination leaf nodes to obtain the bit string corresponding to the specified multicast source group information. Realize the establishment of VPN BIER tunnel.
所谓建立VPN BIER隧道,是指根节点获得了组播源组信息、标识VPN BIER隧道的隧道类型以及比特串之间的对应关系。通过获得这种对应关系后,当接收到包含组播源组信息的组播数据报文时,根节点通过查找该对应关系,获得了标识VPN BIER隧道的隧道类型以及比特串,根节点根据标识VPN BIER隧道的隧道类型,确定要在VPN BIER类型的路径上转发组播数据报文,则根据比特串,执行BIER转发流程,实现组播数据报文引导至VPN BIER隧道。The so-called establishment of a VPN BIER tunnel means that the root node obtains the correspondence between the multicast source group information, the tunnel type identifying the VPN BIER tunnel, and the bit string. After obtaining this correspondence, when receiving a multicast data message containing multicast source group information, the root node obtains the tunnel type and bit string that identifies the VPN BIER tunnel by looking up the correspondence. The tunnel type of the VPN BIER tunnel determines that multicast data packets are to be forwarded on the path of the VPN BIER type. According to the bit string, the BIER forwarding process is executed to guide the multicast data packets to the VPN BIER tunnel.
进一步地,由于叶子节点将组播源组信息以及BFR-ID一起通告给根节点,简化了叶子节点和根节点的信令交互流程,节省了根节点和叶子节点处理和收发控制面报文的开销,也节省了公网中传递控制面报文占用的网络带宽。Furthermore, since the leaf node notifies the root node of the multicast source group information and BFR-ID together, the signaling interaction process between the leaf node and the root node is simplified, and the root node and the leaf node save time in processing and sending and receiving control plane messages. It also saves the network bandwidth occupied by transmitting control plane messages in the public network.
具体地,在传统的组播VPN技术(如NG MVPN)中,当叶子节点接收到来自组播接收者的加入消息时,首先,叶子节点和根节点之间会交互C-multicast路由,使得根节点获知指定组播源组信息对应组播数据流需要发送给哪些目的叶子节点。之后,根节点和叶子节点通过交互Intra-AS I-PMSI A-D route、S-PMSI A-D route以及leaf A-D route传递BIER参数(BFR-ID、BFR-prefix以及子域标识);之后,根节点根据leaf A-D route中的BIER参数建立BIER转发路径。Specifically, in traditional multicast VPN technology (such as NG MVPN), when a leaf node receives a join message from a multicast receiver, first, C-multicast routing will be exchanged between the leaf node and the root node, so that the root node The node learns which destination leaf nodes the multicast data flow corresponding to the specified multicast source group information needs to be sent to. After that, the root node and the leaf node pass the BIER parameters (BFR-ID, BFR-prefix and subdomain identification) through the interaction Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route; after that, the root node passes the BIER parameter according to the leaf A-D route. The BIER parameters in A-D route establish the BIER forwarding path.
对这种信令交互流程分析可见,C-multicast路由要求携带组播源组信息而不要求携带BIER参数,leaf A-D route要求携带BIER参数而通常不携带组播源组信息。由于C-multicast路由、Intra-AS I-PMSI A-D route、S-PMSI A-D route以及leaf A-D route是通过在公网中分别传递BGP Update报文实现的。根节点需要和叶子节点分别交互传递携带BIER参数的BGP Update报文以及携带组播源组信息的BGP Update报文,才能获得建立BIER转发路径所需的信息(组播源组信息和BIER参数),导致处理和收发报文的开销大。公网中要先后分别传递携带BIER参数的BGP Update报文以及携带组播源组信息的BGP Update报文,也导致占用的带宽资源较大。而本申请的一些可选实施例中,由于叶子节点在接收到加入消息后,将组播源组信息和BIER参数通过同一个通告报文一起传递给根节点,相当于将建立BIER转发路径所需的信息(组播源组信息和BIER参数)都告诉给了根节点,因此根节点和叶子节点后续无需单独交互Intra-AS I-PMSI A-D route、S-PMSI A-D route以及leaf A-D route来传递BIER参数,从而节省交互Intra-AS I-PMSI A-D route、S-PMSI A-D route以及leaf A-D route带来的信令开销和带宽资源。Analysis of this signaling interaction process shows that C-multicast routes are required to carry multicast source group information but are not required to carry BIER parameters, and leaf A-D routes are required to carry BIER parameters but usually do not carry multicast source group information. Because C-multicast routing, Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route are implemented by transmitting BGP Update messages respectively in the public network. The root node needs to exchange BGP Update messages carrying BIER parameters and BGP Update messages carrying multicast source group information with leaf nodes respectively in order to obtain the information required to establish a BIER forwarding path (multicast source group information and BIER parameters). , resulting in high overhead in processing and sending and receiving messages. In the public network, BGP Update messages carrying BIER parameters and BGP Update messages carrying multicast source group information must be transmitted successively, which also results in the occupied bandwidth resources being large. In some optional embodiments of this application, after receiving the join message, the leaf node transmits the multicast source group information and BIER parameters to the root node through the same notification message, which is equivalent to establishing the BIER forwarding path. The required information (multicast source group information and BIER parameters) are notified to the root node, so the root node and leaf nodes do not need to separately interact with Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route for transmission. BIER parameters, thereby saving signaling overhead and bandwidth resources caused by interacting with Intra-AS I-PMSI A-D route, S-PMSI A-D route and leaf A-D route.
下面通过图6所示实施例对组播私网层的参数配置以及获取对应关系的过程举例说明,图6实施例以VPN内第一转发设备向VPN内第二转发设备通告参数的流程为例描述。图6所示实施例中,第一转发设备是叶子节点,第二转发设备是根节点,第一转发设备和第二转发设备处于同一个VPN内。The following is an example of the parameter configuration of the multicast private network layer and the process of obtaining the corresponding relationship through the embodiment shown in Figure 6. The embodiment of Figure 6 takes the process of advertising parameters from the first forwarding device in the VPN to the second forwarding device in the VPN as an example. describe. In the embodiment shown in Figure 6, the first forwarding device is a leaf node, the second forwarding device is a root node, and the first forwarding device and the second forwarding device are in the same VPN.
图6是本申请实施例提供的一种组播配置方法的流程图。图6所示方法包括以下步骤S601至步骤S604。 Figure 6 is a flow chart of a multicast configuration method provided by an embodiment of the present application. The method shown in Figure 6 includes the following steps S601 to S604.
步骤S601,VPN内的第一转发设备获得第二参数集。Step S601: The first forwarding device in the VPN obtains the second parameter set.
第二参数集包括组播源组信息、第一转发设备的BFR-ID以及第二隧道类型。The second parameter set includes multicast source group information, the BFR-ID of the first forwarding device, and the second tunnel type.
组播源组信息用于标识组播数据流对应的组播组,可选地还标识组播数据流的组播源。在一些实施例中,组播源组信息包括组播源地址和组播组的地址。在另一些实施例中,组播源组信息包括组播汇聚点(RP)的地址和组播组的地址。The multicast source group information is used to identify the multicast group corresponding to the multicast data flow, and optionally also identifies the multicast source of the multicast data flow. In some embodiments, the multicast source group information includes a multicast source address and an address of the multicast group. In other embodiments, the multicast source group information includes the address of the multicast rendezvous point (RP) and the address of the multicast group.
针对获得组播源组信息的方式,在一些实施例中,第一转发设备接收来自VPN内组播接收者的加入消息。第一转发设备从加入消息中获得组播源组信息。加入消息包括组播源组信息。上述加入消息例如是IGMP报文,比如是IGMP中的成员报告报文,又如是PIM报文。在另一些实施例中,第一转发设备接收来自VPN内组播接收者的离开消息,离开消息包括组播源组信息。Regarding the method of obtaining multicast source group information, in some embodiments, the first forwarding device receives a join message from a multicast receiver within the VPN. The first forwarding device obtains the multicast source group information from the join message. The join message includes multicast source group information. The above-mentioned join message is, for example, an IGMP message, such as a member report message in IGMP, or a PIM message. In some other embodiments, the first forwarding device receives a leave message from the intra-VPN multicast receiver, where the leave message includes multicast source group information.
第二隧道类型用于标识第一转发设备与第一转发设备之间的隧道为VPN BIER隧道。例如,第二隧道类型为一个字符串,比如是“VPN BIER”,或者是一个标识VPN BIER隧道的数字。可选地,第一转发设备根据控制面配置获得第二隧道类型。The second tunnel type is used to identify the tunnel between the first forwarding device and the first forwarding device as a VPN BIER tunnel. For example, the second tunnel type is a string, such as "VPN BIER", or a number that identifies the VPN BIER tunnel. Optionally, the first forwarding device obtains the second tunnel type according to the control plane configuration.
可选地,第二参数集还包括第一转发设备的BFR prefix。Optionally, the second parameter set also includes the BFR prefix of the first forwarding device.
可选地,第二参数集还包括第一转发设备的max-SI、第一转发设备所处的BIER子域的ID以及第一转发设备的BSL其中的一个或多个。Optionally, the second parameter set also includes one or more of the max-SI of the first forwarding device, the ID of the BIER subdomain where the first forwarding device is located, and the BSL of the first forwarding device.
可选地,第二参数集还包括第一转发设备所处的VPN的标识。Optionally, the second parameter set also includes an identifier of the VPN where the first forwarding device is located.
可选地,第二参数集还包括作为根节点的第二转发设备所处的站点的标识或者第二转发设备的CPE ID。Optionally, the second parameter set also includes the identity of the site where the second forwarding device as the root node is located or the CPE ID of the second forwarding device.
步骤S602,VPN内的第一转发设备向VPN内第二转发设备发送第二参数集。Step S602: The first forwarding device in the VPN sends the second parameter set to the second forwarding device in the VPN.
在一些实施例中,第一转发设备生成第二通告报文,第二通告报文包括第二参数集,第一转发设备向第二转发设备发送第二通告报文。第二通告报文包括第二地址族标识以及第二参数集,第二地址族标识用于标识NG MVPN或者BGP EVPN。第二地址族标识包括而不限于AFI或者SAFI其中的一个或多个。在一些实施例中第二地址族标识用于标识NG MVPN。在另一些实施例中,第二地址族标识用于标识BGP EVPN。第二通告报文的具体格式可参考后文图12至图17的描述。In some embodiments, the first forwarding device generates a second notification message, the second notification message includes a second parameter set, and the first forwarding device sends the second notification message to the second forwarding device. The second advertisement message includes a second address family identifier and a second parameter set. The second address family identifier is used to identify NG MVPN or BGP EVPN. The second address family identifier includes, but is not limited to, one or more of AFI or SAFI. In some embodiments, the second address family identifier is used to identify the NG MVPN. In other embodiments, the second address family identifier is used to identify the BGP EVPN. For the specific format of the second notification message, please refer to the description of Figures 12 to 17 below.
例如,第二通告报文包括PTA属性以及虚拟路由转发路由器入口VRI(virtual router forwarding router import,VRF router import,VRI)属性。PTA属性中包括第二隧道类型、第一转发设备所处的VPN的标识、第一转发设备的BFR-ID、第一转发设备的max-SI、第一转发设备所处的BIER子域的ID以及第一转发设备的BSL。VRI属性包括VPN的标识,以及第二转发设备所处的站点的标识或者第二转发设备的CPE ID。可选地,PTA属性包括MPLS标签(MPLS label)字段,MPLS label字段包括VPN的标识。For example, the second advertisement message includes PTA attributes and virtual router forwarding router import VRI (virtual router forwarding router import, VRF router import, VRI) attributes. The PTA attributes include the second tunnel type, the identity of the VPN where the first forwarding device is located, the BFR-ID of the first forwarding device, the max-SI of the first forwarding device, and the ID of the BIER subdomain where the first forwarding device is located. and the BSL of the first forwarding device. VRI attributes include the identity of the VPN, the identity of the site where the second forwarding device is located, or the CPE ID of the second forwarding device. Optionally, the PTA attribute includes an MPLS label field, and the MPLS label field includes the identification of the VPN.
步骤S603,第二转发设备在VPN内接收第二参数集。Step S603: The second forwarding device receives the second parameter set within the VPN.
步骤S604,第二转发设备基于第二参数集获得第二对应关系。Step S604: The second forwarding device obtains the second correspondence based on the second parameter set.
在一些实施例中,第二对应关系包括组播源组信息、第二隧道类型以及与第一转发设备的BFR-ID匹配的第一比特串。例如,第二对应关系如下表5所示。 In some embodiments, the second corresponding relationship includes multicast source group information, a second tunnel type, and a first bit string matching the BFR-ID of the first forwarding device. For example, the second correspondence relationship is shown in Table 5 below.
表5
table 5
在一些实施例中,第二对应关系包括两张独立的表中的条目。例如,第二对应关系包括第四对应关系和第五对应关系。第四对应关系是第二转发设备上组播转发表中的表项,第四对应关系包括组播源组信息和第二转发设备上第二出接口。第二出接口是虚拟出接口。第五对应关系是第二出接口绑定的转发表。第五对应关系包括第二出接口、第二隧道类型以及与第一转发设备的BFR-ID匹配的第一比特串。例如,请参考下表6和表7,表6是对第四对应关系的具体示例,表7是第五对应关系的具体示例。表6的含义是,当接收到组播数据报文时,如果组播数据报文中的组播源地址为S1且组播组地址为G1,则要通过接口1转发组播数据报文。接口1为一个虚拟的出接口,接口1用于迭代至表7。表7的含义是,当发现出接口为接口1时,要基于比特串0111,通过隧道类型为VPN BIER的路径转发组播数据报文。In some embodiments, the second correspondence includes entries in two separate tables. For example, the second correspondence relationship includes a fourth correspondence relationship and a fifth correspondence relationship. The fourth correspondence is an entry in the multicast forwarding table on the second forwarding device, and the fourth correspondence includes multicast source group information and the second outbound interface on the second forwarding device. The second outbound interface is a virtual outbound interface. The fifth corresponding relationship is the forwarding table bound to the second outbound interface. The fifth corresponding relationship includes the second outbound interface, the second tunnel type, and the first bit string matching the BFR-ID of the first forwarding device. For example, please refer to Table 6 and Table 7 below. Table 6 is a specific example of the fourth correspondence relationship, and Table 7 is a specific example of the fifth correspondence relationship. The meaning of Table 6 is that when a multicast data packet is received, if the multicast source address in the multicast data packet is S1 and the multicast group address is G1, the multicast data packet must be forwarded through interface 1. Interface 1 is a virtual outbound interface, and interface 1 is used to iterate to Table 7. The meaning of Table 7 is that when the outgoing interface is found to be interface 1, multicast data packets must be forwarded through the path with tunnel type VPN BIER based on bit string 0111.
表6
Table 6
表7
Table 7
本实施例提供的方法,叶子节点通过在通告加入或者退出时携带BIER参数,以便根节点使用BIER参数实现建立VPN BIER隧道。In the method provided by this embodiment, leaf nodes carry BIER parameters when announcing joining or exiting, so that the root node can use BIER parameters to establish a VPN BIER tunnel.
以上对控制面的配置进行了介绍,下面对基于上述控制面的配置处理数据报文的流程举例说明。The above has introduced the configuration of the control plane. The following is an example of the process of processing data packets based on the above control plane configuration.
图7是本申请提供的一种处理组播数据报文的方法的流程图。图7所示方法的交互主体包括组播源、根节点、中间节点、叶子节点以及组播接收者。组播源、根节点、中间节点、叶子节点以及组播接收者位于同一个VPN内。根节点位于VPN内的第一站点,中间节点位于VPN内的第二站点,叶子节点位于VPN内的第三站点。根节点和中间节点之间存在第一SD-WAN隧道。中间节点和叶子节点之间存在第二SD-WAN隧道。换句话说,第一SD-WAN隧道的2个端点是根节点和中间节点。第二SD-WAN隧道的2个端点是中间节点和叶子节点。Figure 7 is a flow chart of a method for processing multicast data packets provided by this application. The interactive subjects of the method shown in Figure 7 include multicast sources, root nodes, intermediate nodes, leaf nodes and multicast receivers. The multicast source, root node, intermediate node, leaf node, and multicast receiver are located in the same VPN. The root node is located at the first site within the VPN, the intermediate node is located at the second site within the VPN, and the leaf node is located at the third site within the VPN. The first SD-WAN tunnel exists between the root node and the intermediate nodes. There is a second SD-WAN tunnel between the intermediate node and the leaf node. In other words, the 2 endpoints of the first SD-WAN tunnel are the root node and the intermediate node. The 2 endpoints of the second SD-WAN tunnel are the intermediate node and the leaf node.
图7所示方法包括以下步骤S700至步骤S706。The method shown in Figure 7 includes the following steps S700 to S706.
步骤S700,组播源发送第一组播数据报文。Step S700: The multicast source sends the first multicast data message.
例如,组播源位于VPN内。又如,组播源位于公网,组播源通过与VPN绑定的出接口发送第一组播数据报文,使得第一组播数据报文到达BFIR。For example, the multicast source is inside a VPN. For another example, the multicast source is located on the public network, and the multicast source sends the first multicast data packet through the outbound interface bound to the VPN, so that the first multicast data packet reaches the BFIR.
步骤S701,VPN内第一站点内的BFIR接收第一组播数据报文。Step S701: The BFIR in the first site in the VPN receives the first multicast data packet.
第一组播数据报文包括组播源组信息。例如,第一组播数据报文中的源地址包括组播 源地址,第一组播数据报文中的目的地址包括组播组地址。The first multicast data packet includes multicast source group information. For example, the source address in the first multicast data packet includes the multicast Source address, the destination address in the first multicast data packet includes the multicast group address.
步骤S702,BFIR基于第一组播数据报文,获得第二组播数据报文。Step S702: BFIR obtains the second multicast data packet based on the first multicast data packet.
第二组播数据报文是由第一组播数据报文经过BIER封装和SD-WAN隧道封装后得到的数据报文。The second multicast data packet is a data packet obtained by encapsulating the first multicast data packet through BIER encapsulation and SD-WAN tunnel encapsulation.
第二组播数据报文包括第一报文头、第二报文头和第一组播数据报文的载荷。第一报文头是指SD-WAN隧道封装中要求携带的报文头。第二报文头是指BIER封装中要求携带的报文头。通过封装第一报文头,使得组播数据报文能够从SD-WAN隧道的一个端点穿越传输网络转发至SD-WAN隧道的另一个端点。通过封装第二报文头,使得组播数据报文能够从一跳BFR到达下一跳BFR。由于既携带第一报文头,又携带第二报文头,相当于给组播数据报文添加了两层隧道封装,因此组播数据报文能够从作为SD-WAN隧道一端的BFR穿越传输网络,到达作为SD-WAN隧道另一个端点的BFR。The second multicast data packet includes a first packet header, a second packet header and a payload of the first multicast data packet. The first header refers to the header required to be carried in SD-WAN tunnel encapsulation. The second header refers to the header required to be carried in BIER encapsulation. By encapsulating the first packet header, the multicast data packet can be forwarded from one endpoint of the SD-WAN tunnel across the transmission network to the other endpoint of the SD-WAN tunnel. By encapsulating the second packet header, the multicast data packet can reach the next hop BFR from one hop BFR. Since it carries both the first header and the second header, it is equivalent to adding two layers of tunnel encapsulation to the multicast data packet. Therefore, the multicast data packet can be transmitted through the BFR as one end of the SD-WAN tunnel. network, reaching the BFR as the other endpoint of the SD-WAN tunnel.
下面对第二组播数据报文中第一报文头和第二报文头举例说明,第二组播数据报文的封装格式的实施细节可参考后文标题“组播数据报文的封装格式”后的描述。The following is an example of the first header and the second header in the second multicast data message. For implementation details of the encapsulation format of the second multicast data message, please refer to the following title "Multicast Data Message" Description after "Packaging Format".
一、第一报文头1. The first message header
第一报文头可以是任意一种IP overlay隧道头。例如,第一报文头包括一个隧道头以及一个IP头。IP头封装于隧道头的外层,用于通过IP路由的方式在SD-WAN隧道所基于的传输网络内逐跳转发。The first packet header can be any type of IP overlay tunnel header. For example, the first packet header includes a tunnel header and an IP header. The IP header is encapsulated in the outer layer of the tunnel header and is used for hop-by-hop forwarding within the transmission network on which the SD-WAN tunnel is based through IP routing.
第一报文头的类型包括多种情况。例如,第一报文头包括GRE扩展头以及IP头。又如,第一报文头包括GRE头以及IP头。例如,第一报文头包括VXLAN头以及IP头。例如,第一报文头包括VXLAN-GPE头以及IP头。例如,第一报文头包括GENEVE头以及IP头。第一报文头中IP头之外的部分也可以称为SD-WAN头。第一报文头的格式的更多细节可参考后文中标题“SD-WAN头”后的描述。The type of the first header includes various situations. For example, the first packet header includes a GRE extension header and an IP header. For another example, the first message header includes a GRE header and an IP header. For example, the first packet header includes a VXLAN header and an IP header. For example, the first packet header includes a VXLAN-GPE header and an IP header. For example, the first packet header includes a GENEVE header and an IP header. The part of the first packet header other than the IP header may also be called the SD-WAN header. For more details on the format of the first header, please refer to the description after the title "SD-WAN Header" in the following text.
第一报文头包括SD-WAN相关的参数。例如,第二组播数据报文中的第一报文头包含第一SD-WAN隧道的2个端点设备的IP地址,即BFIR的IP地址以及transit BFR的IP地址。例如,第一报文头包括源地址字段和目的地址字段。第一报文头中的源地址字段包括BFIR的IP地址。第一报文头中的目的地址字段包括transit BFR的IP地址。例如,BFIR通过第一WAN接口与transit BFR的第二WAN接口建立第一SD-WAN隧道。第一报文头中的源地址包括BFIR的第一WAN接口的IP地址。第二报文头中的目的地址包括transit BFR的第二WAN接口的IP地址。The first message header includes SD-WAN related parameters. For example, the first header in the second multicast data packet contains the IP addresses of the two endpoint devices of the first SD-WAN tunnel, namely the IP address of the BFIR and the IP address of the transit BFR. For example, the first message header includes a source address field and a destination address field. The source address field in the first packet header includes the IP address of the BFIR. The destination address field in the first packet header includes the IP address of the transit BFR. For example, BFIR establishes a first SD-WAN tunnel through the first WAN interface and the second WAN interface of transit BFR. The source address in the first packet header includes the IP address of the first WAN interface of the BFIR. The destination address in the second packet header includes the IP address of the second WAN interface of the transit BFR.
由于第二组播数据报文中第一报文头的目的地址字段携带transit BFR的IP地址,因此报文在第一SD-WAN隧道所基于的传输网络内传输时,传输网络内的设备基于transit BFR的IP地址,采用IP路由的方式,能够将第二组播数据报文逐跳转发至transit BFR,实现第二组播数据报文穿越传输网络。Since the destination address field of the first header in the second multicast data packet carries the IP address of the transit BFR, when the packet is transmitted within the transmission network based on the first SD-WAN tunnel, the device in the transmission network is based on The IP address of the transit BFR uses IP routing to forward the second multicast data packet to the transit BFR hop by hop, allowing the second multicast data packet to traverse the transmission network.
在一些实施例中,第二组播数据报文中的第一报文头包含第一SD-WAN隧道的2个端点设备的IPv4地址,例如。第一报文头中的源地址字段包括BFIR的IPv4地址。第一报文头中的目的地址字段包括transit BFR的IPv4地址。通过这种方式,支持第一SD-WAN隧道所基于的传输网络为IPv4网络的场景,使得传输网络中的各个IPv4节点根据transit BFR 的IPv4地址,能够将第二组播数据报文转发至transit BFR。In some embodiments, the first header in the second multicast data packet contains the IPv4 addresses of the two endpoint devices of the first SD-WAN tunnel, for example. The source address field in the first packet header includes the IPv4 address of the BFIR. The destination address field in the first packet header includes the IPv4 address of the transit BFR. In this way, the scenario where the transport network on which the first SD-WAN tunnel is based is supported is an IPv4 network, so that each IPv4 node in the transport network can be configured according to the transit BFR. The IPv4 address can forward the second multicast data packet to the transit BFR.
在一些实施例中,第二组播数据报文中的第一报文头包含第一SD-WAN隧道的2个端点设备的IPv6地址。例如。第一报文头中的源地址字段包括BFIR的IPv6地址。第一报文头中的目的地址字段包括transit BFR的IPv6地址。通过这种方式,支持第一SD-WAN隧道所基于的传输网络为IPv6网络的场景,使得传输网络中的各个IPv6节点根据transit BFR的IPv6地址,能够将第二组播数据报文转发至transit BFR。SD-WAN隧道的端点位于站点内。例如,第一SD-WAN隧道的2个端点设备为站点1内的BFIR以及站点2内的transit BFR。In some embodiments, the first header in the second multicast data packet contains the IPv6 addresses of the two endpoint devices of the first SD-WAN tunnel. For example. The source address field in the first packet header includes the IPv6 address of the BFIR. The destination address field in the first packet header includes the IPv6 address of the transit BFR. In this way, the scenario where the transmission network based on the first SD-WAN tunnel is an IPv6 network is supported, so that each IPv6 node in the transmission network can forward the second multicast data packet to the transit based on the IPv6 address of the transit BFR. BFR. The endpoint of the SD-WAN tunnel is within the site. For example, the two endpoint devices of the first SD-WAN tunnel are the BFIR in site 1 and the transit BFR in site 2.
针对BFIR封装第一报文头时,BFIR如何获得第一报文头所需携带的transit BFR的IP地址,在一些实施例中,BFIR根据用于标识第一SD-WAN隧道的参数以及第三对应关系,获得transit BFR的IP地址。例如,BFIR以用于标识第一SD-WAN隧道的参数为索引,查询第三对应关系,获得用于标识第一SD-WAN隧道的参数对应的目的IP地址,作为第一报文头中的目的IP地址。When encapsulating the first packet header for BFIR, how does BFIR obtain the IP address of the transit BFR that the first packet header needs to carry? In some embodiments, BFIR uses the parameters used to identify the first SD-WAN tunnel and the third Corresponding relationship, obtain the IP address of transit BFR. For example, BFIR uses the parameter used to identify the first SD-WAN tunnel as an index, queries the third correspondence relationship, and obtains the destination IP address corresponding to the parameter used to identify the first SD-WAN tunnel as the first packet header. Destination IP address.
BFIR保存的第三对应关系包括用于标识第一SD-WAN隧道的参数以及transit BFR的IP地址。例如,第三对应关系包括transit BFR的site ID以及transit BFR的IP地址。又如,第三对应关系包括transit BFR的CPE ID以及transit BFR的IP地址。又如,第三对应关系包括第一SD-WAN隧道的标签以及transit BFR的IP地址。The third correspondence saved by BFIR includes parameters used to identify the first SD-WAN tunnel and the IP address of the transit BFR. For example, the third corresponding relationship includes the site ID of the transit BFR and the IP address of the transit BFR. For another example, the third corresponding relationship includes the CPE ID of the transit BFR and the IP address of the transit BFR. For another example, the third corresponding relationship includes the label of the first SD-WAN tunnel and the IP address of the transit BFR.
以用于标识第一SD-WAN隧道的参数为transit BFR的site ID为例,例如,transit BFR位于第二站点,第二站点的site ID为2,第三对应关系如下表8所示,BFIR根据site ID为2,查询表8,得到源IP地址为10.5.5.6,目的IP地址为10.1.1.1,因此BFIR在第一报文头中的源IP地址填10.5.5.6,在第一报文头中的目的IP地址填10.1.1.1。Take the parameter used to identify the first SD-WAN tunnel as the site ID of the transit BFR as an example. For example, the transit BFR is located at the second site, and the site ID of the second site is 2. The third corresponding relationship is as shown in Table 8 below, BFIR According to the site ID of 2 and querying Table 8, the source IP address is 10.5.5.6 and the destination IP address is 10.1.1.1. Therefore, BFIR fills in the source IP address of 10.5.5.6 in the first packet header. Fill in the destination IP address in the header with 10.1.1.1.
表8
Table 8
以用于标识第一SD-WAN隧道的参数为transit BFR的CPE ID为例,例如,BFIR根据transit BFR的CPE ID以及第三对应关系,获得transit BFR的IP地址。例如,transit BFR的CPE ID为10.2.2.2,第三对应关系如下表9所示,BFIR根据CPE ID为10.2.2.2,查询表9,得到源IP地址为10.5.5.6,目的IP地址为10.1.1.1,因此BFIR在第一报文头中的源IP地址填10.5.5.6,在第一报文头中的目的IP地址填10.1.1.1。Take the parameter used to identify the first SD-WAN tunnel as the CPE ID of the transit BFR as an example. For example, BFIR obtains the IP address of the transit BFR based on the CPE ID of the transit BFR and the third corresponding relationship. For example, the CPE ID of transit BFR is 10.2.2.2, and the third corresponding relationship is shown in Table 9 below. Based on the CPE ID of 10.2.2.2, BFIR queries Table 9 and obtains the source IP address as 10.5.5.6 and the destination IP address as 10.1. 1.1, so BFIR fills in 10.5.5.6 as the source IP address in the first packet header, and fills in 10.1.1.1 as the destination IP address in the first packet header.
表9
Table 9
以用于标识第一SD-WAN隧道的参数为第一SD-WAN隧道的标签为例,例如,BFIR根据第一SD-WAN隧道的标签以及第三对应关系,获得transit BFR的IP地址。例如第一SD-WAN隧道的标签为201,第三对应关系如下表10所示,BFIR根据如第一SD-WAN隧道的标签为201,查询表10,得到源IP地址为10.5.5.6,目的IP地址为10.1.1.1,因此BFIR在第一报文头中的源IP地址填10.5.5.6,在第一报文头中的目的IP地址填10.1.1.1。 Taking the parameter used to identify the first SD-WAN tunnel as the label of the first SD-WAN tunnel as an example, for example, the BFIR obtains the IP address of the transit BFR based on the label of the first SD-WAN tunnel and the third corresponding relationship. For example, the label of the first SD-WAN tunnel is 201, and the third corresponding relationship is shown in Table 10 below. According to BFIR, if the label of the first SD-WAN tunnel is 201, and query Table 10, the source IP address is 10.5.5.6, and the destination IP address is 10.5.5.6. The IP address is 10.1.1.1, so BFIR fills in 10.5.5.6 as the source IP address in the first packet header, and fills in 10.1.1.1 as the destination IP address in the first packet header.
表10
Table 10
针对BFIR如何确定要封装第一报文头,或者说如何确定要通过SD-WAN隧道转发接收到的组播数据报文,可选地,BFIR根据BFER的BFR-ID匹配的第一比特串以及第一对应关系,获得标识第一SD-WAN隧道的参数。BFIR根据标识第一SD-WAN隧道的参数,确定要通过第一SD-WAN隧道转发组播数据报文,或者说要迭代至第一SD-WAN隧道,因此BFIR执行封装上述第一报文头以及查询第三对应关系的步骤。例如,BFIR使用第一比特串查询BIFT,使用第一比特串与BIFT中每条表项中的F-BM分别进行与操作。如果BIFT中一条表项中的F-BM与第一比特串与操作的结果非全0,也即是第一比特串命中了BIFT中一条表项,则BFIR继续读取该表项中F-BM对应的出接口和下一跳,从F-BM对应的出接口或者下一跳中获得上述标识第一SD-WAN隧道的参数。Regarding how BFIR determines to encapsulate the first packet header, or how to determine to forward the received multicast data packet through the SD-WAN tunnel, optionally, BFIR determines the first bit string matched based on the BFR-ID of BFER and The first corresponding relationship is to obtain parameters identifying the first SD-WAN tunnel. Based on the parameters identifying the first SD-WAN tunnel, BFIR determines that the multicast data packet is to be forwarded through the first SD-WAN tunnel, or that it is to be iterated to the first SD-WAN tunnel, so BFIR encapsulates the above-mentioned first packet header. and the steps of querying the third corresponding relationship. For example, BFIR uses the first bit string to query BIFT, and uses the first bit string to perform AND operations with the F-BM in each entry in BIFT. If the result of the AND operation between F-BM and the first bit string in an entry in BIFT is not all 0, that is, the first bit string hits an entry in BIFT, then BFIR continues to read F-BM in the entry. The outbound interface and next hop corresponding to the BM are obtained from the outbound interface or next hop corresponding to the F-BM, and the above parameters identifying the first SD-WAN tunnel are obtained.
例如,BFIR获得的第一比特串为0110,BFIR使用第一比特串查询上文中的表1,确定第一比特串0110与表1中F-BM0010相与后非全0,则继续读取表1中的出接口和下一跳,BFIR确定出接口为“SD-WAN”,下一跳为site 3的site ID“333”,则BFIR根据site 3的site ID“333”查询第三对应关系。For example, the first bit string obtained by BFIR is 0110. BFIR uses the first bit string to query Table 1 above and determines that the first bit string 0110 is not all 0 after the AND of F-BM0010 in Table 1. Then continue reading the table. For the outbound interface and next hop in 1, BFIR determines that the outbound interface is "SD-WAN" and the next hop is the site ID "333" of site 3. Then BFIR queries the third corresponding relationship based on the site ID "333" of site 3. .
BFIR如何获得BFER的BFR-ID匹配的第一比特串可参考后文的描述。How BFIR obtains the first bit string matching the BFR-ID of BFER can be referred to the description below.
在一些实施例中,第一报文头还包括VPN的标识。第一报文头如何携带VPN的标识可参考后文标题“SD-WAN头”后的描述。由于第一报文头中携带了VPN的标识,第一,标识组播数据报文属于哪个VPN,以便BFER在对应的VPN内查找组播路由表转发报文,进而有助于租户隔离;第二,第二报文头中无需携带上游的VPN标签,因此避免了携带VPN标签带来的局限性,例如避免由于携带VPN标签导致仅适用于MPLS网络。In some embodiments, the first packet header also includes an identifier of the VPN. For how the first packet header carries the VPN identifier, please refer to the description after the title "SD-WAN Header" below. Since the first packet header carries the VPN identifier, firstly, it identifies which VPN the multicast data packet belongs to, so that BFER can find the multicast routing table in the corresponding VPN and forward the packet, which in turn helps tenant isolation; secondly, it identifies which VPN the multicast data packet belongs to. Second, there is no need to carry the upstream VPN label in the second packet header, thus avoiding the limitations caused by carrying VPN labels. For example, it is only applicable to MPLS networks due to carrying VPN labels.
针对BFIR如何获得VPN的标识,在一些实施例中,BFIR基于组播源组信息以及第二对应关系,获得VPN的标识。例如,第二对应关系不仅包括组播源组信息、第二隧道类型以及与BFER的BFR-ID匹配的第一比特串,还包括VPN的标识,BFIR通过查找第二对应关系,获得VPN的标识。可替代地,BFIR不是通过查找对应关系的方式获得VPN的标识,而是建立入接口与VPN之间的绑定关系。BFIR根据接收到第一组播数据报文的接口,确定该接口绑定的VPN的标识。Regarding how BFIR obtains the identity of the VPN, in some embodiments, BFIR obtains the identity of the VPN based on the multicast source group information and the second corresponding relationship. For example, the second correspondence not only includes multicast source group information, the second tunnel type, and the first bit string matching the BFR-ID of BFER, but also includes the identity of the VPN. BFIR obtains the identity of the VPN by searching for the second correspondence. . Alternatively, BFIR does not obtain the VPN identity by searching for the corresponding relationship, but establishes the binding relationship between the incoming interface and the VPN. BFIR determines the identity of the VPN bound to the interface based on the interface that receives the first multicast data packet.
二、第二报文头2. The second message header
第二报文头可以是任意一种BIER封装中携带比特串的报文头。例如,第二报文头包括而不限于RFC8296定义的BIER头、BIERv6头、BIERin6头以及G-BIER头其中任一项。第二报文头封装于第一报文头的内层。第二报文头的格式的更多细节可参考后文中标题“BIER头”后的描述。The second message header can be any message header carrying a bit string in BIER encapsulation. For example, the second message header includes, but is not limited to, any one of the BIER header, BIERv6 header, BIERin6 header and G-BIER header defined in RFC8296. The second message header is encapsulated in the inner layer of the first message header. For more details on the format of the second header, please refer to the description after the title "BIER header" in the following text.
第二组播数据报文中的第二报文头包括第一BIER参数。例如,第一BIER参数包括BFER的BFR-ID对应的第二比特串。由于第二报文头中携带了BFER的BFR-ID对应的比特串,因此transit BFR根据第二报文头中比特串的置位情况,能够确定要将报文转发至BFER。 The second packet header in the second multicast data packet includes the first BIER parameter. For example, the first BIER parameter includes the second bit string corresponding to the BFR-ID of the BFER. Since the second packet header carries the bit string corresponding to the BFR-ID of the BFER, the transit BFR can determine to forward the packet to the BFER based on the setting of the bit string in the second packet header.
针对BFIR封装第二报文头时,BFIR如何获得第二报文头所需携带的第二比特串,在一些实施例中,BFIR根据BFER的BFR-ID匹配的第一比特串以及第一对应关系,获得第二比特串。第二比特串是基于第一比特串以及第一对应关系中的F-BM获得的。例如,第二比特串是基于第一比特串与第一对应关系中的F-BM进行与操作获得的。When encapsulating the second packet header for BFIR, how does BFIR obtain the second bit string that the second packet header needs to carry? In some embodiments, BFIR matches the first bit string and the first corresponding bit string based on the BFR-ID of BFER. relationship to obtain the second bit string. The second bit string is obtained based on the first bit string and the F-BM in the first correspondence. For example, the second bit string is obtained by performing an AND operation based on the first bit string and the F-BM in the first corresponding relationship.
针对BFIR如何获得BFER的BFR-ID匹配的第一比特串,在一些实施例中,BFIR从第一组播数据报文中获得组播源组信息。BFIR基于组播源组信息以及第二对应关系,获得第一比特串。第二对应关系包括组播源组信息、第二隧道类型以及与第一转发设备的BFR-ID匹配的第一比特串。Regarding how BFIR obtains the first bit string matching the BFR-ID of BFER, in some embodiments, BFIR obtains the multicast source group information from the first multicast data message. BFIR obtains the first bit string based on the multicast source group information and the second corresponding relationship. The second corresponding relationship includes multicast source group information, a second tunnel type, and a first bit string matching the BFR-ID of the first forwarding device.
以上描述的获得第二比特串的过程例如通过两次查表实现。例如,先查找组播转发表,获得第一比特串,再查找BIFT,获得第二比特串。作为示例,第一组播数据报文中的组播源地址为S1,组播组地址为G1。BFIR根据组播源组信息(S1,G1),查找组播转发表。BFIR确定(S1,G1)命中组播转发表了如表5所示的条目,因此BFIR根据表5中的第一比特串0111,进一步查找BIFT中的表项。BFIR根据第一比特串0111与BIFT中的F-BM相与,获得第二比特串。The process of obtaining the second bit string described above is implemented, for example, by two table lookups. For example, first search the multicast forwarding table to obtain the first bit string, and then search the BIFT to obtain the second bit string. As an example, the multicast source address in the first multicast data packet is S1, and the multicast group address is G1. BFIR searches the multicast forwarding table based on the multicast source group information (S1, G1). BFIR determines that (S1, G1) hits the entry in the multicast forwarding table as shown in Table 5. Therefore, BFIR further searches for the entry in BIFT based on the first bit string 0111 in Table 5. BFIR is ANDed with the F-BM in BIFT based on the first bit string 0111 to obtain the second bit string.
可替代地,将BFIR上查询BIFT以及查询组播转发表简化为一次查表。例如,BFIR上根据组播源组信息,查找到组播源组信息对应的比特串后,BFIR将组播源组信息对应的比特串作为要封装至第二报文头的比特串,省略根据组播源组信息对应的比特串查找BIFT的步骤。或者,BFIR不是通过查表的方式获得要封装至第二报文头的比特串,而是在接收到组播数据报文时,生成要封装至第二报文头的比特串。例如,BFIR根据组播源组信息,查找目的BFER集合中每个目的BFER的BFR-ID,根据BFER集合中每个目的BFER的BFR-ID以及比特串长度生成比特串,将生成的比特串封装至第二报文头中。Alternatively, querying BIFT and querying the multicast forwarding table on BFIR is simplified into one table lookup. For example, after finding the bit string corresponding to the multicast source group information based on the multicast source group information on BFIR, BFIR uses the bit string corresponding to the multicast source group information as the bit string to be encapsulated into the second packet header, omitting the bit string corresponding to the multicast source group information. Steps to search for BIFT in the bit string corresponding to the multicast source group information. Alternatively, BFIR does not obtain the bit string to be encapsulated into the second message header by looking up a table, but generates the bit string to be encapsulated into the second message header when receiving the multicast data message. For example, BFIR searches for the BFR-ID of each destination BFER in the destination BFER set based on the multicast source group information, generates a bit string based on the BFR-ID and bit string length of each destination BFER in the BFER set, and encapsulates the generated bit string. to the second message header.
作为BFIR的设备可能保存有多种类型的隧道的参数,比如,设备使能了多种组播协议,设备上既有BIER类型的隧道参数,也有PIM类型的隧道参数。又如,设备上既保存了公网BIER类型的隧道参数,也有VPN BIER类型的隧道参数。针对如何确定要通过VPN BIER隧道转发组播数据报文,或者说如何确定需要执行BIER转发流程,可选地,BFIR基于组播源组信息以及第二对应关系,获得第二隧道类型。BFIR根据第二隧道类型,确定第一组播数据报文所需经过的隧道类型为VPN BIER隧道,因此BFIR执行上述获得第二比特串以及封装第二报文头的步骤。A BFIR device may store parameters for multiple types of tunnels. For example, if the device enables multiple multicast protocols, the device may have both BIER-type tunnel parameters and PIM-type tunnel parameters. For another example, the device stores both public network BIER type tunnel parameters and VPN BIER type tunnel parameters. Regarding how to determine whether to forward multicast data packets through the VPN BIER tunnel, or how to determine whether to perform the BIER forwarding process, optionally, BFIR obtains the second tunnel type based on the multicast source group information and the second corresponding relationship. Based on the second tunnel type, BFIR determines that the tunnel type that the first multicast data packet needs to pass through is a VPN BIER tunnel, so BFIR performs the above steps of obtaining the second bit string and encapsulating the second packet header.
在一些实施例中,第二报文头中的第一BIER参数还包括BIFT-ID。例如,第二组播数据报文中的第二报文头包含transit BFR的BIFT-ID。由于第二报文头中携带了transit BFR的BIFT-ID,因此transit BFR根据第二报文头中的BIFT-ID,能够找到对应的BIER转发表,以便根据比特串与该BIER转发表中的F-BM执行BIER转发流程。In some embodiments, the first BIER parameter in the second message header also includes BIFT-ID. For example, the second header in the second multicast data packet contains the BIFT-ID of the transit BFR. Since the second message header carries the BIFT-ID of the transit BFR, the transit BFR can find the corresponding BIER forwarding table based on the BIFT-ID in the second message header, so that it can match the bit string with the BIFT-ID in the BIER forwarding table. F-BM executes the BIER forwarding process.
针对BFIR如何获得transit BFR的BIFT-ID,在一些实施例中,BFIR从第一组播数据报文中获得组播源组信息。BFIR基于组播源组信息以及第二对应关系,获得transit BFR的BIFT-ID。例如,第二对应关系不仅包括以上描述的组播源组信息、第二隧道类型以及第一比特串,还包括transit BFR的BIFT-ID,BFIR通过查找第二对应关系,在获得第二隧道类型以及第一比特串时,也获得了transit BFR的BIFT-ID。又如,第二对应关系不仅包括以 上描述的组播源组信息、第二隧道类型以及第一比特串,还包括transit BFR的BSL、transit BFR的SD和transit BFR的SI,BFIR根据通过查找第二对应关系,获得transit BFR的BSL、transit BFR的SD和transit BFR的SI,BFIR根据BSL、SD和SI确定transit BFR的BIFT-ID。Regarding how BFIR obtains the BIFT-ID of the transit BFR, in some embodiments, BFIR obtains the multicast source group information from the first multicast data packet. BFIR obtains the BIFT-ID of the transit BFR based on the multicast source group information and the second corresponding relationship. For example, the second correspondence includes not only the multicast source group information, the second tunnel type and the first bit string described above, but also the BIFT-ID of the transit BFR. BFIR obtains the second tunnel type by searching for the second correspondence. and the first bit string, the BIFT-ID of the transit BFR is also obtained. For another example, the second corresponding relationship not only includes The multicast source group information, second tunnel type, and first bit string described above also include the BSL of the transit BFR, the SD of the transit BFR, and the SI of the transit BFR. BFIR obtains the BSL of the transit BFR by searching for the second correspondence. , the SD of transit BFR and the SI of transit BFR, BFIR determines the BIFT-ID of transit BFR based on BSL, SD and SI.
在一些实施例中,第二报文头中的第一BIER参数还包括End.BIER地址。又如,第二组播数据报文中的第二报文头包含transit BFR的End.BIER地址。由于第二报文头中携带了transit BFR的End.BIER地址,而End.BIER地址与transit BFR保存的BIER转发的指令绑定,因此transit BFR根据第二报文头中的End.BIER地址,能够确定要通过BIER方式转发报文。此外,由于End.BIER地址的形式是IPv6地址,因此利用IPv6单播路由的可达性,能够跨越不支持BIER转发的IPv6节点。In some embodiments, the first BIER parameter in the second message header also includes the End.BIER address. For another example, the second header in the second multicast data packet contains the End.BIER address of the transit BFR. Since the second message header carries the End.BIER address of the transit BFR, and the End.BIER address is bound to the BIER forwarding instruction saved by the transit BFR, the transit BFR uses the End.BIER address in the second message header. It can be determined that the packet should be forwarded through BIER. In addition, since the End.BIER address is in the form of an IPv6 address, the reachability of IPv6 unicast routing can be used to span IPv6 nodes that do not support BIER forwarding.
针对BFIR如何获得transit BFR的End.BIER地址,在一些实施例中,BFIR从第一组播数据报文中获得组播源组信息。BFIR基于组播源组信息以及第二对应关系,获得transit BFR的End.BIER地址。例如,第二对应关系不仅包括以上描述的组播源组信息、第二隧道类型以及第一比特串,还包括transit BFR的End.BIER地址,BFIR通过查找第二对应关系,在获得第二隧道类型以及第一比特串时,也获得了transit BFR的End.BIER地址。Regarding how BFIR obtains the End.BIER address of the transit BFR, in some embodiments, BFIR obtains the multicast source group information from the first multicast data packet. BFIR obtains the End.BIER address of the transit BFR based on the multicast source group information and the second corresponding relationship. For example, the second correspondence includes not only the multicast source group information, the second tunnel type and the first bit string described above, but also the End.BIER address of the transit BFR. BFIR obtains the second tunnel by searching for the second correspondence. Type and the first bit string, the End.BIER address of the transit BFR is also obtained.
以上描述的获得第二组播数据报文的特征可以任意结合。作为一种结合方式的示例,BFIR接收到第一组播数据报文时,首先根据接收到第一组播数据报文的入接口绑定的VPN以及第一组播数据报文中的组播源组信息,查找该VPN对应的组播转发表(第二对应关系),从组播转发表中获得组播源组信息对应的隧道类型、BSL、SD、SI以及第一比特串。BFIR根据隧道类型为VPN BIER隧道,确定要走BIER转发。BFIR根据第一比特串,向第一组播数据报文封装第二报文头。之后,BFIR根据BSL、SD、SI,获得BIFT-ID。BFIR根据第一比特串,查找BIFT-ID对应的BIFT。BFIR根据第一比特串与BIFT中的第一F-BM进行与操作。BFIR根据第一比特串与BIFT中的第一F-BM相与非全0,确定要向第一F-BM对应的下一跳转发报文,并将第二报文头中的比特串从第一比特串更新为第一比特串与BIFT中的第一F-BM相与的结果(第二比特串)。BFIR根据BIFT中第一F-BM对应于标识第一SD-WAN隧道的参数,确定要通过第一SD-WAN隧道转发报文。BFIR根据BIFT中第一F-BM对应的下一跳所处的站点标识、CPE ID或者第一SD-WAN隧道的标签,查找SD-WAN隧道连接表(第三对应关系),获得BFIR的WAN接口的IP地址以及下一跳的WAN接口的IP地址。BFIR根据获得的IP地址以及VPN的标识,向第二报文头外层封装第一报文头。第一报文头中源地址为BFIR的WAN接口的IP地址,目的地址为下一跳的WAN接口的IP地址,并携带VPN的标识。The features of obtaining the second multicast data message described above can be combined arbitrarily. As an example of a combination method, when BFIR receives the first multicast data packet, it first determines the VPN bound to the incoming interface that received the first multicast data packet and the multicast value in the first multicast data packet. Source group information, search the multicast forwarding table corresponding to the VPN (second correspondence), and obtain the tunnel type, BSL, SD, SI and first bit string corresponding to the multicast source group information from the multicast forwarding table. BFIR determines that BIER forwarding is required based on the tunnel type being VPN BIER tunnel. BFIR encapsulates a second header into the first multicast data packet based on the first bit string. After that, BFIR obtains BIFT-ID based on BSL, SD, and SI. BFIR searches for the BIFT corresponding to the BIFT-ID based on the first bit string. BFIR performs an AND operation on the first bit string and the first F-BM in BIFT. BFIR determines to forward the message to the next hop corresponding to the first F-BM based on the AND of the first bit string and the first F-BM in the BIFT, and adds the bit string in the second message header. The first bit string is updated to the result of the AND of the first bit string and the first F-BM in BIFT (the second bit string). The BFIR determines that the packet is to be forwarded through the first SD-WAN tunnel based on the first F-BM corresponding to the parameter identifying the first SD-WAN tunnel in the BIFT. BFIR searches the SD-WAN tunnel connection table (third correspondence) based on the site ID, CPE ID or label of the first SD-WAN tunnel of the next hop corresponding to the first F-BM in BIFT to obtain the WAN of BFIR The IP address of the interface and the IP address of the next-hop WAN interface. BFIR encapsulates the first packet header into the outer layer of the second packet header based on the obtained IP address and VPN identifier. The source address in the first header is the IP address of the BFIR WAN interface, the destination address is the IP address of the next hop WAN interface, and carries the VPN identifier.
步骤S703,BFIR发送第二组播数据报文。Step S703: BFIR sends the second multicast data message.
例如,BFIR通过第一SD-WAN隧道发送第二组播数据报文。例如,BFIR通过用于建立第一SD-WAN隧道的WAN接口发送第二组播数据报文。For example, BFIR sends the second multicast data packet through the first SD-WAN tunnel. For example, BFIR sends the second multicast data packet through the WAN interface used to establish the first SD-WAN tunnel.
步骤S704,VPN内第二站点的transit BFR接收第二组播数据报文。第二组播数据报文包括与BFER的BFR-ID对应的第一比特串。Step S704: The transit BFR of the second site in the VPN receives the second multicast data packet. The second multicast data message includes a first bit string corresponding to the BFR-ID of the BFER.
例如,transit BFR通过第一SD-WAN隧道接收第二组播数据报文。例如,transit BFR通过用于建立第一SD-WAN隧道的WAN接口接收第二组播数据报文。 For example, the transit BFR receives the second multicast data packet through the first SD-WAN tunnel. For example, the transit BFR receives the second multicast data packet through the WAN interface used to establish the first SD-WAN tunnel.
步骤S705,transit BFR基于第二组播数据报文和第一对应关系,获得第三组播数据报文。Step S705: The transit BFR obtains the third multicast data message based on the second multicast data message and the first corresponding relationship.
第三组播数据报文包括第一报文头、第二报文头和第二组播数据报文的载荷。The third multicast data packet includes a first packet header, a second packet header and a payload of the second multicast data packet.
第三组播数据报文中第一报文头和第二报文头可参考上文对第二组播数据报文的描述,下面重点说明第三组播数据报文的报文头与第二组播数据报文的报文头携带的参数的区别。The first header and the second header in the third multicast data message can refer to the above description of the second multicast data message. The following focuses on the message header and the second header of the third multicast data message. The difference between the parameters carried in the header of the two multicast data packets.
第三组播数据报文中的第一报文头包含第二SD-WAN隧道的2个端点设备的IP地址,即transit BFR的IP地址以及BFER的IP地址。例如,第一报文头包括源地址字段和目的地址字段。第一报文头中的源地址字段包括transit BFR的IP地址。第一报文头中的目的地址字段包括BFER的IP地址。例如,transit BFR通过第三WAN接口与BFER的第四WAN接口建立第二SD-WAN隧道。第三组播数据报文中的第一报文头中的源地址包括transit BFR的第三WAN接口的IP地址。第三组播数据报文中的第一报文头中的目的地址包括BFER的第四WAN接口的IP地址。The first header in the third multicast data packet contains the IP addresses of the two endpoint devices of the second SD-WAN tunnel, namely the IP address of the transit BFR and the IP address of the BFER. For example, the first message header includes a source address field and a destination address field. The source address field in the first packet header includes the IP address of the transit BFR. The destination address field in the first packet header includes the IP address of the BFER. For example, the transit BFR establishes a second SD-WAN tunnel through the third WAN interface to the fourth WAN interface of the BFER. The source address in the first header of the third multicast data packet includes the IP address of the third WAN interface of the transit BFR. The destination address in the first header of the third multicast data packet includes the IP address of the fourth WAN interface of the BFER.
由于第三组播数据报文中第一报文头的目的地址字段携带BFER的IP地址,因此报文在第二SD-WAN隧道所基于的传输网络内传输时,传输网络内的设备基于BFER的IP地址,采用IP路由的方式,能够将第二组播数据报文逐跳转发至BFER的IP地址,实现第三组播数据报文穿越传输网络。Since the destination address field of the first header in the third multicast data packet carries the IP address of BFER, when the packet is transmitted within the transmission network on which the second SD-WAN tunnel is based, the devices in the transmission network are based on BFER. IP address, using IP routing, can forward the second multicast data packet to the IP address of the BFER hop by hop, enabling the third multicast data packet to traverse the transmission network.
第三组播数据报文中第一报文头中的源地址和目的地址可以是IPv4地址,也可以是IPv6地址。The source address and destination address in the first header of the third multicast data packet may be IPv4 addresses or IPv6 addresses.
可选地,transit BFR解封装第二组播数据报文中第一报文头,根据第二SD-WAN隧道的2个端点设备的IP地址生成新的第一报文头,封装生成的第一报文头。或者,transit BFR根据第二SD-WAN隧道的2个端点设备的IP地址,更新第二组播数据报文中第一报文头的源地址和目的地址。Optionally, the transit BFR decapsulates the first packet header in the second multicast data packet, generates a new first packet header based on the IP addresses of the two endpoint devices of the second SD-WAN tunnel, and encapsulates the generated first packet header. A message header. Alternatively, the transit BFR updates the source address and destination address of the first header in the second multicast data packet based on the IP addresses of the two endpoint devices of the second SD-WAN tunnel.
针对transit BFR封装第一报文头时,transit BFR如何获得第一报文头所需携带的BFER的IP地址,在一些实施例中,transit BFR根据用于标识第二SD-WAN隧道的参数以及第三对应关系,获得BFER的IP地址。例如,transit BFR以用于标识第二SD-WAN隧道的参数为索引,查询第三对应关系,获得用于标识第二SD-WAN隧道的参数对应的目的IP地址,作为第一报文头中的目的IP地址。When the transit BFR encapsulates the first packet header, how does the transit BFR obtain the IP address of the BFER that the first packet header needs to carry? In some embodiments, the transit BFR uses the parameters used to identify the second SD-WAN tunnel and The third correspondence is to obtain the IP address of BFER. For example, the transit BFR uses the parameters used to identify the second SD-WAN tunnel as an index, queries the third correspondence, and obtains the destination IP address corresponding to the parameters used to identify the second SD-WAN tunnel as the first packet header. The destination IP address.
transit BFR保存的第三对应关系包括用于标识第二SD-WAN隧道的参数以及BFER的IP地址。例如,第三对应关系包括BFER的site ID以及BFER的IP地址。又如,第三对应关系包括BFER的CPE ID以及BFER的IP地址。又如,第三对应关系包括第二SD-WAN隧道的标签以及BFER的IP地址。The third correspondence saved by the transit BFR includes parameters used to identify the second SD-WAN tunnel and the IP address of the BFER. For example, the third corresponding relationship includes BFER's site ID and BFER's IP address. For another example, the third corresponding relationship includes the CPE ID of BFER and the IP address of BFER. For another example, the third corresponding relationship includes the label of the second SD-WAN tunnel and the IP address of the BFER.
以用于标识第二SD-WAN隧道的参数为BFER的site ID为例,例如,BFER位于第三站点,第三站点的site ID为3,第三对应关系如下表11所示,transit BFR根据site ID为3,查询表11,得到源IP地址为10.2.2.2,目的IP地址为10.3.3.3,因此transit BFR将第一报文头中的源IP地址更新为10.2.2.2,将第一报文头中的目的IP地址更新为10.3.3.3。Take the parameter used to identify the second SD-WAN tunnel as the site ID of BFER as an example. For example, BFER is located at the third site, and the site ID of the third site is 3. The third corresponding relationship is as shown in Table 11 below. Transit BFR is based on The site ID is 3, query Table 11, and obtain the source IP address as 10.2.2.2 and the destination IP address as 10.3.3.3. Therefore, the transit BFR updates the source IP address in the first packet header to 10.2.2.2 and changes the first packet to 10.2.2.2. The destination IP address in the header is updated to 10.3.3.3.
表11

Table 11

第三组播数据报文中的第二报文头包括第二BIER参数。在一些实施例中,第二BIER参数是基于第一BIER参数以及transit BFR保存的对应关系获得的。例如,transit BFR根据查表获得的BIER参数,更新第二报文头原本携带的BIER参数。The second message header in the third multicast data message includes the second BIER parameter. In some embodiments, the second BIER parameter is obtained based on the first BIER parameter and the corresponding relationship saved by the transit BFR. For example, the transit BFR updates the BIER parameters originally carried in the second message header based on the BIER parameters obtained from the table lookup.
例如,第二BIER参数包括BFER的BFR-ID对应的第三比特串。第三比特串是基于第二组播数据报文中第二报文头中的第二比特串以及第一对应关系中的F-BM获得的。例如,transit BFR解析第二组播数据报文中第二报文头,获得第二比特串;transit BFR基于第二比特串查找第一对应关系,对第二比特串与第一对应关系中的F-BM进行与操作,获得第三比特串。For example, the second BIER parameter includes the third bit string corresponding to the BFR-ID of the BFER. The third bit string is obtained based on the second bit string in the second header of the second multicast data message and the F-BM in the first correspondence. For example, transit BFR parses the second header in the second multicast data packet to obtain the second bit string; transit BFR searches for the first correspondence based on the second bit string, and compares the second bit string with the first correspondence. F-BM performs an AND operation to obtain the third bit string.
针对transit BFR如何确定要通过SD-WAN隧道转发接收到的组播数据报文,可选地,transit BFR根据BFER的BFR-ID匹配的第二比特串以及第一对应关系,获得标识第二SD-WAN隧道的参数。transit BFR根据标识第二SD-WAN隧道的参数,确定要通过第二SD-WAN隧道转发组播数据报文,或者说要迭代至第二SD-WAN隧道,因此transit BFR执行封查询第三对应关系的步骤。例如,transit BFR使用第二比特串查询BIFT,基于第二比特串与BIFT中每条表项中的F-BM分别进行与操作。如果BIFT中一条表项中的F-BM与第二比特串与操作的结果非全0,也即是第二比特串命中了BIFT中一条表项,则transit BFR继续读取该表项中F-BM对应的出接口和下一跳,从F-BM对应的出接口或者下一跳中获得上述标识第二SD-WAN隧道的参数。Regarding how the transit BFR determines to forward the received multicast data packet through the SD-WAN tunnel, optionally, the transit BFR obtains the identification of the second SD based on the second bit string matched by the BFR-ID of the BFER and the first corresponding relationship. - Parameters of the WAN tunnel. The transit BFR determines to forward the multicast data packet through the second SD-WAN tunnel according to the parameters identifying the second SD-WAN tunnel, or to iterate to the second SD-WAN tunnel, so the transit BFR performs the third corresponding query. Relationship Steps. For example, transit BFR uses the second bit string to query BIFT, and performs AND operations based on the second bit string and the F-BM in each entry in BIFT. If the result of the AND operation between F-BM in an entry in BIFT and the second bit string is not all 0, that is, the second bit string hits an entry in BIFT, then the transit BFR continues to read F in the entry. -The outbound interface and next hop corresponding to BM, obtain the above-mentioned parameters identifying the second SD-WAN tunnel from the outbound interface or next hop corresponding to F-BM.
为了实现租户隔离,transit BFR上可能存在多个VPN的转发表,每个转发表保存对应VPN的表项。针对这一场景,transit BFR可以从第二组播数据报文中的第一报文头获得VPN的标识,基于VPN的标识以及第一对应关系,获得上述第三比特串。In order to achieve tenant isolation, there may be multiple VPN forwarding tables on the transit BFR, and each forwarding table stores entries corresponding to the VPNs. For this scenario, the transit BFR can obtain the VPN identifier from the first header in the second multicast data message, and obtain the above-mentioned third bit string based on the VPN identifier and the first correspondence.
作为示例,transit BFR接收到第二组播数据报文时,首先解封装第二组播数据报文中的第一报文头,获得第一报文头中VPN的标识,然后解析第二组播数据报文中的第二报文头,获得第二报文头中的比特串以及SD。然后transit BFR根据VPN的标识查找BIFT,使用第二报文头中的比特串与BIFT中的F-BM进行与操作,如果与操作的结果非全0则转发报文。As an example, when the transit BFR receives the second multicast data packet, it first decapsulates the first packet header in the second multicast data packet, obtains the VPN identifier in the first packet header, and then parses the second packet header. Broadcast the second header in the data packet and obtain the bit string and SD in the second packet header. Then the transit BFR searches for BIFT based on the VPN identifier, uses the bit string in the second packet header to perform an AND operation with the F-BM in BIFT, and forwards the packet if the result of the AND operation is not all 0s.
步骤S706,transit BFR发送第三组播数据报文。Step S706, the transit BFR sends the third multicast data message.
例如,transit BFR通过第二SD-WAN隧道发送第三组播数据报文。例如,transit BFR通过用于建立第二SD-WAN隧道的WAN接口发送第三组播数据报文。For example, the transit BFR sends the third multicast data packet through the second SD-WAN tunnel. For example, the transit BFR sends the third multicast data packet through the WAN interface used to establish the second SD-WAN tunnel.
步骤S707,VPN内第三站点的BFER接收第三组播数据报文。Step S707: The BFER of the third site in the VPN receives the third multicast data packet.
例如,BFER通过第二SD-WAN隧道发送第三组播数据报文。例如,BFER通过用于建立第二SD-WAN隧道的WAN接口接收第三组播数据报文。For example, BFER sends the third multicast data packet through the second SD-WAN tunnel. For example, the BFER receives the third multicast data packet through the WAN interface used to establish the second SD-WAN tunnel.
步骤S708,VPN内第三站点内BFER基于第三组播数据报文,获得第四组播数据报文。Step S708: The BFER in the third site in the VPN obtains the fourth multicast data message based on the third multicast data message.
例如,BFER解封装第三组播数据报文中的第一报文头以及第二报文头,获得第四组播数据报文。For example, BFER decapsulates the first packet header and the second packet header in the third multicast data packet, and obtains the fourth multicast data packet.
例如,BFER首先解封装第一报文头,获得第一报文头中VPN的标识。然后BFER解析第二报文头,获得第二报文头中的第三比特串。BFER根据VPN的标识查找BIFT,使用 第三比特串与BIFT中的F-BM进行与操作,确定第三比特串与BFER本节点的BFR-ID对应的比特串匹配,则解封装第二报文头,并根据VPN的标识以及组播源组信息查找VPN对应的组播转发表,获得组播源组信息对应的出接口,通过该出接口发送第四组播数据报文。For example, BFER first decapsulates the first packet header and obtains the VPN identifier in the first packet header. Then BFER parses the second message header and obtains the third bit string in the second message header. BFER looks for BIFT based on the VPN's identifier, using The third bit string is ANDed with the F-BM in BIFT, and it is determined that the third bit string matches the bit string corresponding to the BFR-ID of the BFER node. Then the second message header is decapsulated, and the second message header is decapsulated according to the VPN identifier and group. The source group information searches the multicast forwarding table corresponding to the VPN, obtains the outbound interface corresponding to the multicast source group information, and sends the fourth multicast data message through the outbound interface.
步骤S709,BFER向组播接收者发送第四组播数据报文。Step S709: BFER sends the fourth multicast data message to the multicast receiver.
本实施例提供的方法,通过使用SD-WAN和BIER组播结合的报文转发方式,使得BIER封装的组播数据可以穿越传输网络(公网Internet或MPLS网络),不需要公网支持组播转发。The method provided in this embodiment uses a message forwarding method that combines SD-WAN and BIER multicast, so that BIER-encapsulated multicast data can traverse the transmission network (public network Internet or MPLS network) without the need for the public network to support multicast. Forward.
控制面报文的封装格式Encapsulation format of control plane messages
下面对通告第一参数集所基于的报文封装格式举例说明,以下描述的报文格式是上述实施例中第一通告报文格式的具体示例。The following is an example of the packet encapsulation format based on which the notification of the first parameter set is based. The packet format described below is a specific example of the first notification packet format in the above embodiment.
方式一、使用BGP EVPN IP prefix路由通告第一参数集。Method 1: Use BGP EVPN IP prefix routing to advertise the first parameter set.
图8是本申请实施例提供的一种BGP EVPN IP prefix路由NLRI格式示意图。第一通告报文例如具有图8所示的格式。图8所示的NLRI中,路由标识符(Route Distinguisher,RD)字段包括发送第一参数集的设备上部署BIER的L3VPN实例(即BIER网络所在的VPN)配置的路由标识符(RD)值。以太网分段标识(Ethernet Segment Identifier)为PE与某一CE的连接定义的唯一标识。IP prefix Length字段包括L3VPN下配置的BFR prefix的长度。IP prefix字段包括L3VPN下配置的BFR prefix。网关IP地址(gateway IP address,GW IP Address)字段包括默认网关地址。MPLS label字段包括部署BIER的L3VPN实例配置的VN-ID。Figure 8 is a schematic diagram of a BGP EVPN IP prefix routing NLRI format provided by the embodiment of this application. The first notification message has, for example, the format shown in FIG. 8 . In the NLRI shown in Figure 8, the Route Distinguisher (RD) field includes the Route Distinguisher (RD) value configured on the L3VPN instance where BIER is deployed on the device that sends the first parameter set (that is, the VPN where the BIER network is located). The Ethernet Segment Identifier is a unique identifier defined for the connection between a PE and a CE. The IP prefix Length field includes the length of the BFR prefix configured under L3VPN. The IP prefix field includes the BFR prefix configured under L3VPN. The gateway IP address (GW IP Address) field includes the default gateway address. The MPLS label field includes the VN-ID configured for the L3VPN instance where BIER is deployed.
方式二:使用BGP BIER VPN地址族路由通告第一参数集。Method 2: Use BGP BIER VPN address family routing to advertise the first parameter set.
图9是本申请实施例提供的一种BGP BIER VPN prefix路由NLRI格式示意图。第一通告报文例如具有图9所示的格式。图9所示的NLRI字段中,路由标识符(RD)字段包括发送第一参数集的设备上部署BIER的L3VPN实例(即BIER网络所在的VPN)配置的路由标识符(RD)值。IP prefix Length字段包括VPN内BFR prefix的长度,根据RFC 8279,该值固定为32(IPv4)或128(IPv6)。IP prefix字段包括VPN内的BFR prefix。Figure 9 is a schematic diagram of a BGP BIER VPN prefix routing NLRI format provided by the embodiment of this application. The first notification message has, for example, the format shown in FIG. 9 . In the NLRI field shown in Figure 9, the route identifier (RD) field includes the route identifier (RD) value configured on the L3VPN instance where BIER is deployed on the device that sends the first parameter set (that is, the VPN where the BIER network is located). The IP prefix Length field includes the length of the BFR prefix within the VPN. According to RFC 8279, this value is fixed to 32 (IPv4) or 128 (IPv6). The IP prefix field includes the BFR prefix within the VPN.
图10是对上述第一通告报文中BIER业务封装属性字段的具体示例。如图10中(a)所示,BIER业务封装属性字段包括一个sub-TLV,sub-TLV中的value字段包括BFR-ID以及sub domain-ID。图10中(a)所示的sub-TLV包含图10中(b)示出的sub-sub-TLV。sub-sub-TLV包含BSL、max-SI以及BIFT-ID。Figure 10 is a specific example of the BIER service encapsulation attribute field in the first notification message. As shown in (a) of Figure 10, the BIER service encapsulation attribute field includes a sub-TLV, and the value field in the sub-TLV includes BFR-ID and sub domain-ID. The sub-TLV shown in (a) of FIG. 10 includes the sub-sub-TLV shown in (b) of FIG. 10 . sub-sub-TLV includes BSL, max-SI and BIFT-ID.
图11中(a)是对第一通告报文中SD-WAN封装扩展团体属性的格式的具体示例。如图11中(a)所示,SD-WAN封装扩展团体属性包括隧道类型(tunnel type)字段,隧道类型字段的取值标识SD-WAN隧道。图11中(b)是对第一通告报文中color扩展团体属性的格式的具体示例。如图11中(b)所示,color扩展团体属性包括颜色值(color value)字段,颜色值字段的取值为site ID或者CPE ID。(a) in Figure 11 is a specific example of the format of the SD-WAN encapsulated extended community attribute in the first notification message. As shown in (a) of Figure 11, the SD-WAN encapsulation extended community attribute includes a tunnel type field, and the value of the tunnel type field identifies the SD-WAN tunnel. (b) in Figure 11 is a specific example of the format of the color extended community attribute in the first notification message. As shown in (b) of Figure 11, the color extended group attribute includes a color value field, and the value of the color value field is site ID or CPE ID.
下面对通告第二参数集所基于的报文封装格式举例说明,参见下述方式一至方式三,以下描述的报文格式是上述实施例中第二通告报文格式的具体示例。 The following is an example of the message encapsulation format based on which the notification of the second parameter set is based. Refer to the following methods one to three. The message format described below is a specific example of the second notification message format in the above embodiment.
方式一、使用标准的NG MVPN通告第二参数集。Method 1: Use standard NG MVPN to advertise the second parameter set.
VPN内部署标准的NG MVPN。叶子节点使用MVPN C-multicast路由向根节点通告overlay组播加入。I-PMSI隧道或S-PMSI隧道迭代VPN内BIER子域。MVPN x-PMSI AD路由和leaf A-D路由携带PTA字段,叶子节点使用VPN内BIER参数填充PTA字段。Deploy standard NG MVPN within the VPN. Leaf nodes use MVPN C-multicast routing to advertise overlay multicast joins to the root node. I-PMSI tunnel or S-PMSI tunnel iterates the BIER subdomain within the VPN. MVPN x-PMSI AD routes and leaf A-D routes carry the PTA field, and leaf nodes use the BIER parameters within the VPN to fill the PTA field.
例如,请参考图12,图12示出了MVPN或EVPN路由VPN BIER PTA字段格式示意图。第二通告报文例如具有图12示出的格式。图12中PTA字段的关键信息填充如下。For example, please refer to Figure 12, which shows a schematic diagram of the MVPN or EVPN routing VPN BIER PTA field format. The second notification message has, for example, the format shown in FIG. 12 . The key information of the PTA field in Figure 12 is filled in as follows.
flag字段包括发送第二参数集的设备上部署BIER的L3VPN实例配置的路由标识符(RD)值。The flag field includes the route identifier (RD) value of the L3VPN instance configured with BIER deployed on the device that sends the second parameter set.
tunnel type:标识隧道类型为VPN BIER。tunnel type: identifies the tunnel type as VPN BIER.
MPLS label:L3VPN下配置的VN-ID。MPLS label: VN-ID configured under L3VPN.
BIER子域标识(sub-domain-id):运营商组播业务接口(inclusive provider multicast service interface,I-PMSI)隧道或选择性组播业务接口(selective provider multicast service interface,S-PMSI)隧道关联的VPN BIER sub-domain。BIER subdomain identifier (sub-domain-id): Operator multicast service interface (inclusive provider multicast service interface, I-PMSI) tunnel or selective multicast service interface (selective provider multicast service interface, S-PMSI) tunnel association VPN BIER sub-domain.
BFR-ID:I-PMSI或S-PMSI隧道关联的VPN BIER BFR-ID。BFR-ID: VPN BIER BFR-ID associated with the I-PMSI or S-PMSI tunnel.
BFR-prefix:I-PMSI或S-PMSI隧道关联的VPN BIER BFR-prefix地址。BFR-prefix: The VPN BIER BFR-prefix address associated with the I-PMSI or S-PMSI tunnel.
方式二、使用BGP EVPN通告第二参数集。Method 2: Use BGP EVPN to advertise the second parameter set.
使用扩展的BGP EVPN路由,用于三层加入通告和隧道建立:x-PMSI AD路由、leaf A-D路由或选择性组播以太网标签路由(selective multicast ethernet tag route,SMET)路由。路由NLRI中的组播源地址和组播组地址用于承载组播源组信息,Originator地址填充叶子节点的组播标识,如MVPN-ID或EVPN源地址(EVPN source)。BGP EVPN路由携带PTA字段,封装同方式一。Use extended BGP EVPN routing for Layer 3 join advertisement and tunnel establishment: x-PMSI AD routing, leaf A-D routing, or selective multicast ethernet tag route (SMET) routing. The multicast source address and multicast group address in routing NLRI are used to carry multicast source group information, and the Originator address fills in the multicast identifier of the leaf node, such as MVPN-ID or EVPN source address (EVPN source). BGP EVPN routes carry the PTA field, and the encapsulation is the same as method 1.
图13是BGP EVPN S-PMSI A-D路由NLRI格式示意图,S-PMSI A-D路由的格式可参考图13。Figure 13 is a schematic diagram of the NLRI format of BGP EVPN S-PMSI A-D routing. Please refer to Figure 13 for the format of S-PMSI A-D routing.
图14是BGP EVPN leaf A-D路由NLRI格式示意图。leaf A-D的格式可参考图14,图14中Route Key部分为SPMSI A-D。Figure 14 is a schematic diagram of BGP EVPN leaf A-D routing NLRI format. The format of leaf A-D can be referred to Figure 14. The Route Key part in Figure 14 is SPMSI A-D.
图15是BGP EVPN SMET路由NLRI格式示意图,SMET路由的格式可参考图15。Figure 15 is a schematic diagram of the NLRI format of BGP EVPN SMET routing. Please refer to Figure 15 for the format of SMET routing.
方式三、使用NG MVPN地址族扩展的新类型路由通告第二参数集。Method 3: Use the second parameter set of the new type of route advertisement extended by the NG MVPN address family.
NG MVPN地址族扩展新增一种类型(type)路由,用于C-Multicast路由的通告,不需要leaf-AD路由,新增路由关键信息为:(*,G)加入路由的关键字(key)包括路由标识符(RD)、Source AS、RP、G和Originating Router Address;(S,G)加入路由的关键字包括路由标识符(RD)、Source AS、S、G和Originating Router Address。NG MVPN address family extension adds a new type of route, which is used for C-Multicast route advertisement. Leaf-AD routing is not required. The key information of the new route is: (*,G) Keyword to add the route ) includes route identifier (RD), Source AS, RP, G and Originating Router Address; (S, G) The keywords added to the route include route identifier (RD), Source AS, S, G and Originating Router Address.
不管(*,G)还是(S,G)都需要携带VRI属性和PTA(PMSI tunnel attribute)属性。扩展路由的格式例如图16或者图17所示。图16是(*,G)加入路由的NLRI的格式示意图,图17是(S,G)加入路由的NLRI的格式示意图。扩展路由新增两个扩展团体属性。Regardless of (*,G) or (S,G), both VRI attributes and PTA (PMSI tunnel attribute) attributes need to be carried. The format of the extended route is as shown in Figure 16 or Figure 17, for example. Figure 16 is a schematic diagram of the format of the NLRI for which (*, G) is added to the route, and Figure 17 is a schematic diagram of the format of the NLRI for which (S, G) is added to the route. Extended routing adds two extended community attributes.
VRI属性:发送的组播路由中携带VRI属性,VRI属性的内容为site ID和VNID,取值为组播源或者RP的扩展团体属性携带的site ID,BGP传递过程中该值不改变,VNID标示私网。VRI属性用于路由交叉,只有路由中携带的site ID和上游站点的site ID一样, 上游站点才能将路由导入到路由表中;用于上游站点将路由导入到组播路由表中的校验。VRI attribute: The sent multicast route carries the VRI attribute. The contents of the VRI attribute are site ID and VNID. The value is the site ID carried by the extended community attribute of the multicast source or RP. This value does not change during BGP transmission. VNID Mark private network. The VRI attribute is used for route crossing. Only the site ID carried in the route is the same as the site ID of the upstream site. Only the upstream site can import routes into the routing table; it is used for verification when the upstream site imports routes into the multicast routing table.
PTA字段承载子域标识、BSL或者BFR-ID,其中子域标识、BSL或者BFR-ID用于计算比特串,用于指导数据报文转发。The PTA field carries the subdomain identifier, BSL or BFR-ID, where the subdomain identifier, BSL or BFR-ID is used to calculate the bit string and guide the forwarding of data messages.
组播数据报文的封装格式Encapsulation format of multicast data packets
下面对本申请实施例中组播数据报文的封装格式举例说明,以下描述的BIER头是第二报文头的具体示例,以下描述的SD-WAN头以及外层IP头的组合是第一报文头的具体示例。The following is an example of the encapsulation format of the multicast data packet in the embodiment of the present application. The BIER header described below is a specific example of the second packet header, and the combination of the SD-WAN header and outer IP header described below is the first packet header. Specific examples of headers.
在一些实施例中,当组播源发送的组播数据报文进入VPN内的BIER网络时,由BIER网络中的根节点向组播数据报文添加BIER头、SD-WAN头以及外层IP头。当组播数据报文到达该VPN内的BIER网络中的BFER时,由叶子节点解封装BIER头、SD-WAN头以及外层IP头,得到组播数据报文。In some embodiments, when the multicast data packet sent by the multicast source enters the BIER network in the VPN, the root node in the BIER network adds the BIER header, SD-WAN header, and outer IP to the multicast data packet. head. When the multicast data packet reaches the BFER in the BIER network within the VPN, the leaf node decapsulates the BIER header, SD-WAN header, and outer IP header to obtain the multicast data packet.
例如,请参考图18,图18是组播数据报文整体的封装格式的具体示例。如图18所示,组播数据报文包括原始的组播数据报文(载荷)、封装于原始的组播数据报文外层的BIER头、封装于BIER头外层的SD-WAN头以及封装于SD-WAN头外层的IP头。下面对组播数据报文中的各个头分别介绍,再对组播数据报文中可选部分举例说明。For example, please refer to Figure 18, which is a specific example of the encapsulation format of the entire multicast data message. As shown in Figure 18, the multicast data packet includes the original multicast data packet (payload), the BIER header encapsulated in the outer layer of the original multicast data packet, the SD-WAN header encapsulated in the outer layer of the BIER header, and IP header encapsulated in the outer layer of the SD-WAN header. The following introduces each header in the multicast data packet respectively, and then gives an example of the optional parts in the multicast data packet.
一、BIER头1. BIER header
本申请实施例提供的数据报文封装格式中,BIER头可以是任一种包含比特串的报文头。BIER头的封装格式包括多种实现方式。例如,BIER头的封装格式包括而不限于满足RFC8296定义的封装格式的BIER头、BIERv6封装格式中的BIER头、BIERin6封装格式中的BIER头以及G-BIER封装格式中的BIER头。下面对这四种封装格式的BIER头分别进行举例说明。In the data packet encapsulation format provided by the embodiment of the present application, the BIER header can be any packet header containing a bit string. The encapsulation format of the BIER header includes multiple implementation methods. For example, the encapsulation format of the BIER header includes, but is not limited to, the BIER header that meets the encapsulation format defined by RFC8296, the BIER header in the BIERv6 encapsulation format, the BIER header in the BIERin6 encapsulation format, and the BIER header in the G-BIER encapsulation format. The following are examples of the BIER headers of these four encapsulation formats.
BIER头的封装格式1:满足RFC8296定义的封装格式的BIER头BIER header encapsulation format 1: BIER header that meets the encapsulation format defined by RFC8296
图19示出了一种满足RFC8296定义的BIER头的封装格式示意图。图19所示的BIER头是图18所示的组播数据报文中的BIER头的具体示例。图19所示的BIER头中各个字段的含义如下所示。Figure 19 shows a schematic diagram of the encapsulation format of the BIER header that meets the definition of RFC8296. The BIER header shown in Figure 19 is a specific example of the BIER header in the multicast data packet shown in Figure 18. The meaning of each field in the BIER header shown in Figure 19 is as follows.
(1)MPLS标签(MPLS label)或者BIFT-ID(non MPLS label,非MPLS label)字段(1)MPLS label (MPLS label) or BIFT-ID (non MPLS label, non-MPLS label) field
当BIER所基于的underlay协议为MPLS时,该字段可以包括MPLS标签。该MPLS标签例如是BIER-MPLS Label。BIER-MPLS Label是指根据BSL、sub-domain ID和SI分配的标签,用于索引BIER转发表。When the underlying protocol that BIER is based on is MPLS, this field can include an MPLS label. The MPLS label is, for example, BIER-MPLS Label. BIER-MPLS Label refers to the label assigned based on BSL, sub-domain ID and SI, which is used to index the BIER forwarding table.
当BIER所基于的underlay协议为MPLS之外的其他协议时,该字段可以包括用于标识BIFT的BIFT-ID。BIFT-ID根据BSL、sub-domain ID和SI确定。When the underlay protocol on which BIER is based is a protocol other than MPLS, this field may include the BIFT-ID used to identify the BIFT. BIFT-ID is determined based on BSL, sub-domain ID and SI.
(2)流量等级(Traffic Class,TC)(2)Traffic Class (TC)
TC字段用于QoS。The TC field is used for QoS.
(3)标签栈底标识(S)(3) Label stack bottom mark (S)
S字段是1比特的标签栈底标识,同MPLS封装的S比特,该字段的具体使用可参考RFC3032。The S field is a 1-bit label stack bottom identifier, which is the same as the S bit of MPLS encapsulation. For the specific use of this field, please refer to RFC3032.
(4)TTL (4)TTL
TTL字段为8比特,在MPLS封装时作TTL使用,该字段的具体使用可参考RFC3032。The TTL field is 8 bits and is used for TTL during MPLS encapsulation. For the specific use of this field, please refer to RFC3032.
(5)Nibble(5)Nibble
Nibble字段占4比特,合法取值为0101。如果BFR收到的BIER报文的这个字段不是0101,可以丢弃报文。The Nibble field occupies 4 bits, and the legal value is 0101. If this field of the BIER message received by BFR is not 0101, the message can be discarded.
(6)版本(ver)(6)Version (ver)
版本号字段占4比特,可以表示版本号。The version number field occupies 4 bits and can represent the version number.
(7)BSL(7)BSL
BSL字段占4比特,BSL字段的取值例如为1~7来代表不同比特串长度。BSL字段的取值与比特串长度的对应关系例如如下。The BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths. The corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
当BSL字段的取值为1时,表示比特串长度为64比特。When the value of the BSL field is 1, it indicates that the bit string length is 64 bits.
当BSL字段的取值为2时,表示比特串长度为128比特。When the value of the BSL field is 2, it means that the bit string length is 128 bits.
当BSL字段的取值为3时,表示比特串长度为256比特。When the value of the BSL field is 3, it means that the bit string length is 256 bits.
当BSL字段的取值为4时,表示比特串长度为512比特。When the value of the BSL field is 4, it means that the bit string length is 512 bits.
当BSL字段的取值为5时,表示比特串长度为1024比特。When the value of the BSL field is 5, it means that the bit string length is 1024 bits.
当BSL字段的取值为6时,表示比特串长度为2048比特。When the value of the BSL field is 6, it means that the bit string length is 2048 bits.
当BSL字段的取值为7时,表示比特串长度为4096比特。When the value of the BSL field is 7, it means that the bit string length is 4096 bits.
(8)Entropy(8)Entropy
Entropy字段的长度例如为20比特。可选地,Entropy字段用来在存在等价路径时,进行路径的选择。可选地,拥有相同比特串和Entropy值的报文,选择同一条路径。The length of the Entropy field is, for example, 20 bits. Optionally, the Entropy field is used to select a path when an equivalent path exists. Optionally, packets with the same bit string and entropy value choose the same path.
(9)OAM(9)OAM
OAM字段的长度例如为2比特,缺省为0,可用于OAM功能,不影响转发和QoS。The length of the OAM field is, for example, 2 bits, and the default is 0. It can be used for the OAM function and does not affect forwarding and QoS.
(10)保留(Rsv)字段(10) Reserved (Rsv) field
保留字段例如为2比特,缺省时保留字段的取值为0。The reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
(11)DSCP(11)DSCP
DSCP的长度例如为6比特,可选地表示报文自身的优先等级,可选地用于决定报文传输的优先程度。The length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
(12)协议类型(proto)(12)Protocol type (proto)
协议类型字段例如是6比特,用于标识BIER头后面紧跟的报文类型。The protocol type field is, for example, 6 bits, and is used to identify the packet type immediately following the BIER header.
(13)BFIR ID字段(13)BFIR ID field
BFIR ID字段例如占16比特,BFIR ID字段包括BFIR的BFR-ID。The BFIR ID field occupies, for example, 16 bits, and the BFIR ID field includes the BFR-ID of the BFIR.
(14)比特串(14)Bit string
比特串中每一个比特位与一个BFER的BFR-ID对应。例如,如果比特位设置为1,则表示报文要转发给对应的BFER。Each bit in the bit string corresponds to a BFR-ID of a BFER. For example, if the bit is set to 1, it means that the message should be forwarded to the corresponding BFER.
BIER头的封装格式2:BIERv6封装格式中的BIER头BIER header encapsulation format 2: BIER header in BIERv6 encapsulation format
在BIERv6封装格式中,组播数据报文的外层封装有IPv6基本头以及IPv6扩展头,BIER头封装于该IPv6扩展头的内部。包含BIER头的IPv6扩展头也称为BIERv6头或者BIERv6封装。 In the BIERv6 encapsulation format, the outer layer of the multicast data packet is encapsulated with an IPv6 basic header and an IPv6 extension header, and the BIER header is encapsulated inside the IPv6 extension header. The IPv6 extension header containing the BIER header is also called the BIERv6 header or BIERv6 encapsulation.
携带BIER头的IPv6扩展头包括多种实现方式。可选地,BIER头封装于DOH(Destination Options Header,目的选项头)的内部。可替代地,BIER头封装于DOH之外其他类型的IPv6扩展头内部。例如,BIER头封装于SRH或者HBH的内部。The IPv6 extension header carrying the BIER header includes multiple implementation methods. Optionally, the BIER header is encapsulated inside DOH (Destination Options Header). Alternatively, the BIER header is encapsulated inside other types of IPv6 extension headers other than DOH. For example, the BIER header is packaged inside SRH or HBH.
BIER头在IPv6扩展头中的携带位置包括多种方式。可选地,BIER头封装于IPv6扩展头的选项中。例如,BIER头封装于DOH的选项中。例如,DOH包括选项,选项包括选项类型字段、选项长度字段以及选项数据字段,选项数据字段包括BIER头,选项类型字段标识BIER。There are many ways to carry the BIER header in the IPv6 extension header. Optionally, the BIER header is encapsulated in the options of the IPv6 extension header. For example, the BIER header is encapsulated in the DOH option. For example, DOH includes options. The options include an option type field, an option length field, and an option data field. The option data field includes a BIER header, and the option type field identifies the BIER.
以BIER头封装于DOH,将包含BIER头的DOH称为BIERv6头为例,请参考图20,图20是本申请提供的一种BIERv6封装格式示意图,图20所示的BIERv6头是图18所示的组播数据报文中的BIER头的具体示例,图20所示的IPv6基本头封装于BIER头外层、SD-WAN头内层。Taking the BIER header encapsulated in DOH and calling the DOH containing the BIER header a BIERv6 header as an example, please refer to Figure 20. Figure 20 is a schematic diagram of a BIERv6 encapsulation format provided by this application. The BIERv6 header shown in Figure 20 is the one shown in Figure 18 A specific example of the BIER header in the multicast data packet is shown in Figure 20. The IPv6 basic header shown in Figure 20 is encapsulated in the outer layer of the BIER header and the inner layer of the SD-WAN header.
针对BIERv6封装格式中IPv6基本头的内容,IPv6基本头中SA字段为VPN BIER隧道的源地址,即VPN内BFIR的IP地址。在组播数据报文在传输网络中转发的过程中,IPv6基本头中SA字段可选地保持不变。IPv6基本头中DA字段为用于BIER转发的End.BIER SID,该地址在BIER网络内路由可达。在一些实施例中,BIERv6头为该IPv6基本头的下一个头,IPv6基本头中下一个头(next header)字段的值为60,60标识DOH,即包含BIER头的DOH。在另一些实施例中,如图21所示,BIERv6头与IPv6基本头之间还存在一个或多个IPv6扩展头,BIERv6头的上一个IPv6扩展头中next header字段的值为60。Regarding the content of the IPv6 basic header in the BIERv6 encapsulation format, the SA field in the IPv6 basic header is the source address of the VPN BIER tunnel, that is, the IP address of the BFIR within the VPN. During the forwarding of multicast data packets in the transmission network, the SA field in the IPv6 basic header optionally remains unchanged. The DA field in the IPv6 basic header is the End.BIER SID used for BIER forwarding. This address is reachable within the BIER network. In some embodiments, the BIERv6 header is the next header of the IPv6 basic header, and the value of the next header field in the IPv6 basic header is 60. 60 identifies DOH, that is, the DOH that contains the BIER header. In other embodiments, as shown in Figure 21, there are one or more IPv6 extension headers between the BIERv6 header and the IPv6 basic header, and the value of the next header field in the previous IPv6 extension header of the BIERv6 header is 60.
图20或者图21所示的BIERv6头中各个字段的含义如下所示。The meaning of each field in the BIERv6 header shown in Figure 20 or Figure 21 is as follows.
(1)Next Header(1)Next Header
Next Header字段例如占8比特,用来标识下一个报文头的类型。The Next Header field, for example, occupies 8 bits and is used to identify the type of the next message header.
(2)Hdr Ext Len(2)Hdr Ext Len
Hdr Ext Len字段例如占8比特,用来标识IPv6扩展头的长度,即BIERv6头的长度。The Hdr Ext Len field, for example, occupies 8 bits and is used to identify the length of the IPv6 extension header, that is, the length of the BIERv6 header.
(3)Option Type(3)Option Type
Option Type字段例如占8比特,用来标识选项类型为BIERv6。The Option Type field, for example, occupies 8 bits and is used to identify the option type as BIERv6.
(4)BIFT-ID(4)BIFT-ID
BIFT-ID字段例如占20比特,用于标识唯一标识一张BIFT。The BIFT-ID field occupies, for example, 20 bits and is used to uniquely identify a BIFT.
(5)流量等级(Traffic Class,TC)(5)Traffic Class (TC)
TC字段用于QoS。The TC field is used for QoS.
(6)S(6)S
S字段占1比特,S字段为保留字段。The S field occupies 1 bit and is a reserved field.
(7)TTL(7)TTL
TTL例如占8比特。TTL表示报文经过BIERv6转发处理的跳数。每经过一个BIERv6转发节点后,TTL值减1。当TTL为0时,报文被丢弃。TTL occupies 8 bits, for example. TTL indicates the number of hops for the packet to be forwarded by BIERv6. Each time it passes through a BIERv6 forwarding node, the TTL value is reduced by 1. When the TTL is 0, the packet is discarded.
(8)Nibble(8)Nibble
Nibble例如占4比特。Nibble字段例如是保留字段,例如填0。Nibble occupies 4 bits for example. The Nibble field is a reserved field, for example, filled with 0.
(9)Version (9)Version
Version例如占4比特,例如标识BIERv6报文的版本号。Version occupies 4 bits, for example, and identifies the version number of the BIERv6 message.
(10)BSL(10)BSL
BSL字段占4比特,BSL字段的取值例如为1~7来代表不同比特串长度。BSL字段的取值与比特串长度的对应关系例如如下。The BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths. The corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
当BSL字段的取值为1时,表示比特串长度为64比特。When the value of the BSL field is 1, it indicates that the bit string length is 64 bits.
当BSL字段的取值为2时,表示比特串长度为128比特。When the value of the BSL field is 2, it means that the bit string length is 128 bits.
当BSL字段的取值为3时,表示比特串长度为256比特。When the value of the BSL field is 3, it means that the bit string length is 256 bits.
当BSL字段的取值为4时,表示比特串长度为512比特。When the value of the BSL field is 4, it means that the bit string length is 512 bits.
当BSL字段的取值为5时,表示比特串长度为1024比特。When the value of the BSL field is 5, it means that the bit string length is 1024 bits.
当BSL字段的取值为6时,表示比特串长度为2048比特。When the value of the BSL field is 6, it means that the bit string length is 2048 bits.
当BSL字段的取值为7时,表示比特串长度为4096比特。When the value of the BSL field is 7, it means that the bit string length is 4096 bits.
(11)Entropy(11)Entropy
Entropy字段的长度例如为20比特。可选地,Entropy字段用来在存在等价路径时,进行路径的选择。可选地,拥有相同比特串和Entropy值的报文,选择同一条路径。The length of the Entropy field is, for example, 20 bits. Optionally, the Entropy field is used to select a path when an equivalent path exists. Optionally, packets with the same bit string and entropy value choose the same path.
(12)OAM(12)OAM
OAM字段的长度例如为2比特,缺省为0,可选地,用于OAM功能。The length of the OAM field is, for example, 2 bits, and the default is 0. It is optionally used for the OAM function.
(13)保留(Rsv)字段(13) Reserved (Rsv) field
保留字段例如为2比特,缺省时保留字段的取值为0。The reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
(14)DSCP(14)DSCP
DSCP的长度例如为6比特,可选地表示报文自身的优先等级,可选地用于决定报文传输的优先程度。The length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
(15)协议类型(proto)(15)Protocol type (proto)
协议类型字段例如是6比特,用于标识BIERv6头后面紧跟的报文类型。The protocol type field is, for example, 6 bits, and is used to identify the packet type immediately following the BIERv6 header.
(16)BFIR ID字段(16)BFIR ID field
BFIR ID字段例如占16比特,为BFIR的BFR-ID。The BFIR ID field, for example, occupies 16 bits and is the BFR-ID of the BFIR.
(17)比特串(17)Bit string
比特串中每一个比特位与一个BFER的BFR-ID对应。例如,如果比特位设置为1,则表示报文要转发给对应的BFER。Each bit in the bit string corresponds to a BFR-ID of a BFER. For example, if the bit is set to 1, it means that the message should be forwarded to the corresponding BFER.
BIER头的封装格式3:BIERin6封装格式中的BIER头BIER header encapsulation format 3: BIER header in BIERin6 encapsulation format
BIERin6的封装格式在BIER头外封装IP头,IPv6基本头中SA字段包括VPN内BFIR的IP地址。IPv6基本头中DA字段包括下一跳BFR的IPv6链路本地地址(link-local address),该地址在BIER网络内路由可达。The BIERin6 encapsulation format encapsulates the IP header outside the BIER header, and the SA field in the IPv6 basic header includes the IP address of the BFIR within the VPN. The DA field in the IPv6 basic header includes the IPv6 link-local address of the next hop BFR, which is reachable within the BIER network.
例如,请参考图22或图23,图22和图23均是BIERin6的封装格式示意图。图22中IPv6基本头的内容可参考上文对BIERv6的描述。图22中BIER头封装于IPv6基本头的内层。IPv6基本头中下一个头(next header)字段的值指示BIER头。For example, please refer to Figure 22 or Figure 23. Figure 22 and Figure 23 are both schematic diagrams of the packaging format of BIERin6. For the content of the IPv6 basic header in Figure 22, please refer to the description of BIERv6 above. In Figure 22, the BIER header is encapsulated in the inner layer of the IPv6 basic header. The value of the next header field in the IPv6 basic header indicates the BIER header.
BIER头的封装格式4:G-BIER封装格式中的BIER头BIER header encapsulation format 4: BIER header in G-BIER encapsulation format
G-BIER(Generalized BIER,通用位索引显式复制)是一种适用于IPv6网络的通用BIER 封装方案,它根据IPv6网络的特点对RFC定义的标准的BIER头进行适配性修改,与IPv6实现了更好的融合。G-BIER (Generalized BIER, General Bit Index Explicit Replication) is a general BIER suitable for IPv6 networks The encapsulation scheme makes adaptive modifications to the standard BIER header defined by RFC according to the characteristics of the IPv6 network, achieving better integration with IPv6.
图24是本申请实施例提供的一种G-BIER封装格式示意图。Figure 24 is a schematic diagram of a G-BIER encapsulation format provided by an embodiment of the present application.
如图24所示,在G-BIER封装格式中,组播数据报文的外层封装有IPv6基本头以及IPv6扩展头,BIER头封装于该IPv6扩展头的内部。As shown in Figure 24, in the G-BIER encapsulation format, the outer layer of the multicast data message is encapsulated with an IPv6 basic header and an IPv6 extension header, and the BIER header is encapsulated inside the IPv6 extension header.
G-BIER封装格式中,IPv6基本头中源地址为BFIR的组播服务源地址,该源地址由BFIR的前缀地址和组播服务ID值共同生成。BFIR的前缀地址用来标识BFIR的网络位置,组播服务ID用来标识不同的MVPN实例。组播报文在转发过程中,该源地址保持不变。In the G-BIER encapsulation format, the source address in the IPv6 basic header is the multicast service source address of BFIR. The source address is generated by the prefix address of BFIR and the multicast service ID value. The prefix address of BFIR is used to identify the network location of BFIR, and the multicast service ID is used to identify different MVPN instances. During the forwarding process of multicast packets, the source address remains unchanged.
IPv6基本头中目的地址为用于BIER转发的MPRA(Multicast Policy Reserved Address,组播策略保留地址),该地址在BIER网络内路由可达。当BFR收到IPv6报文中的目的地址为本地配置MPRA,则表示需要对该报文采用BIER方式转发。The destination address in the IPv6 basic header is the MPRA (Multicast Policy Reserved Address) used for BIER forwarding. This address is reachable within the BIER network. When the BFR receives an IPv6 packet whose destination address is the locally configured MPRA, it indicates that the packet needs to be forwarded in BIER mode.
图24所示的G-BIER封装格式中的BIER头中各个字段的含义如下所示。The meaning of each field in the BIER header in the G-BIER encapsulation format shown in Figure 24 is as follows.
(1)Next Header(1)Next Header
Next Header字段例如占8比特,用来标识下一个报文头的类型。The Next Header field, for example, occupies 8 bits and is used to identify the type of the next header.
(2)Hdr Ext Len(2)Hdr Ext Len
Hdr Ext Len字段例如占8比特,用来标识IPv6扩展头的长度。The Hdr Ext Len field, for example, occupies 8 bits and is used to identify the length of the IPv6 extension header.
(3)Option Type(3)Option Type
Option Type字段例如占8比特,用来标识选项类型为G-BIER。The Option Type field, for example, occupies 8 bits and is used to identify the option type as G-BIER.
(4)Option Length(4)Option Length
Option Length字段例如占8比特,用来标识选项长度。The Option Length field, for example, occupies 8 bits and is used to identify the option length.
(5)BSL(5)BSL
BSL字段占4比特,BSL字段的取值例如为1~7来代表不同比特串长度。BSL字段的取值与比特串长度的对应关系例如如下。The BSL field occupies 4 bits, and the value of the BSL field is, for example, 1 to 7 to represent different bit string lengths. The corresponding relationship between the value of the BSL field and the length of the bit string is as follows, for example.
当BSL字段的取值为1时,表示比特串长度为64比特。When the value of the BSL field is 1, it indicates that the bit string length is 64 bits.
当BSL字段的取值为2时,表示比特串长度为128比特。When the value of the BSL field is 2, it means that the bit string length is 128 bits.
当BSL字段的取值为3时,表示比特串长度为256比特。When the value of the BSL field is 3, it means that the bit string length is 256 bits.
当BSL字段的取值为4时,表示比特串长度为512比特。When the value of the BSL field is 4, it means that the bit string length is 512 bits.
当BSL字段的取值为5时,表示比特串长度为1024比特。When the value of the BSL field is 5, it means that the bit string length is 1024 bits.
当BSL字段的取值为6时,表示比特串长度为2048比特。When the value of the BSL field is 6, it means that the bit string length is 2048 bits.
当BSL字段的取值为7时,表示比特串长度为4096比特。When the value of the BSL field is 7, it means that the bit string length is 4096 bits.
(6)SD(6)SD
SD字段例如占8比特,SD字段的值为BIER子域的ID。The SD field occupies, for example, 8 bits, and the value of the SD field is the ID of the BIER subfield.
(7)SI(7)SI
SI字段例如占8比特,SI字段的值为BFR所属的集合标识。The SI field occupies, for example, 8 bits, and the value of the SI field is the set identifier to which the BFR belongs.
(8)Rsv(8)Rsv
Rsv字段为保留字段。 The Rsv field is a reserved field.
(9)TTL(9)TTL
TTL字段为8比特,TTL字段和IP报文中的TTL意义相同,可以用来防止环路。The TTL field is 8 bits. The TTL field has the same meaning as the TTL in the IP packet and can be used to prevent loops.
(10)版本号(version)(10) Version number (version)
Version字段例如占4比特。The Version field occupies 4 bits, for example.
(11)Entropy(11)Entropy
Entropy字段的长度例如为20比特。可选地,Entropy字段用来在存在等价路径时,进行路径的选择。可选地,拥有相同比特串和Entropy值的报文,选择同一条路径。The length of the Entropy field is, for example, 20 bits. Optionally, the Entropy field is used to select a path when an equivalent path exists. Optionally, packets with the same bit string and entropy value choose the same path.
(12)OAM(12)OAM
OAM字段的长度例如为2比特,缺省为0,可选地,用于OAM功能。The length of the OAM field is, for example, 2 bits, and the default is 0. It is optionally used for the OAM function.
(13)保留(Rsv)字段(13) Reserved (Rsv) field
保留字段例如为2比特,缺省时保留字段的取值为0。The reserved field is, for example, 2 bits, and the value of the reserved field is 0 by default.
(14)DSCP(14)DSCP
DSCP的长度例如为6比特,可选地表示报文自身的优先等级,可选地用于决定报文传输的优先程度。The length of the DSCP is, for example, 6 bits, optionally indicating the priority level of the packet itself, and optionally used to determine the priority level of packet transmission.
(15)比特串(15)bit string
比特串中每一个比特位与一个BFER的BFR-ID对应。Each bit in the bit string corresponds to a BFR-ID of a BFER.
二、SD-WAN头2. SD-WAN header
本申请实施例提供的数据报文封装格式中,SD-WAN头可以是任意一种支持L3VPN隧道建立的报文头。例如,SD-WAN头包括而不限于GRE扩展头或者GRE头。或者,SD-WAN头可以是任意一种支持L2VPN隧道建立的报文头。例如,SD-WAN头包括而不限于虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)头、基于VXLAN通用协议(VXLAN Generic Protocol Encapsulation,VXLAN-GPE)或者通用网络虚拟化封装(Generic Network Virtualization Encapsulation,GENEVE)头。In the data packet encapsulation format provided by the embodiment of this application, the SD-WAN header can be any packet header that supports L3VPN tunnel establishment. For example, the SD-WAN header includes, but is not limited to, GRE extension header or GRE header. Alternatively, the SD-WAN header can be any packet header that supports L2VPN tunnel establishment. For example, SD-WAN headers include but are not limited to Virtual Extensible Local Area Network (VXLAN) headers, headers based on VXLAN Generic Protocol Encapsulation (VXLAN-GPE) or Generic Network Virtualization Encapsulation (Generic Network Virtualization Encapsulation, GENEVE) head.
在一些实施例中,SD-WAN头包括BFR所处的VPN的标识(如VN-ID),在采用这种封装格式的情况下,BIER头之后(或者说BIER头的内层、组播数据报文的外层)不需要封装上游分配的VPN标签,因为SD-WAN头中携带的VPN的标识已经可以标识VPN,从而有助于节省报文开销。In some embodiments, the SD-WAN header includes the identification of the VPN where the BFR is located (such as VN-ID). In the case of this encapsulation format, after the BIER header (or the inner layer of the BIER header, the multicast data The outer layer of the message does not need to encapsulate the VPN label assigned by the upstream, because the VPN identifier carried in the SD-WAN header can already identify the VPN, thus helping to save message overhead.
以SD-WAN头为GRE扩展头为例,请参考图25,图25是对SD-WAN头为GRE扩展头时的封装格式的具体示例。GRE扩展头包括key字段和Protocol Type字段。key字段包括SD-WAN隧道绑定的VPN所配置的VN-ID,即BFR所处的VPN的VN-ID。Protocol Type字段用于标识SD-WAN头内层的封装格式为BIER封装格式。例如,在BIER头为满足RFC8296定义的封装格式的BIER头的情况下,GRE扩展头中Protocol Type标识BIER。例如,在BIER头为BIERv6封装格式中的BIER头的情况下,GRE扩展头中Protocol Type标识BIERv6。例如,在BIER头为BIERin6封装格式中的BIER头的情况下,GRE扩展头中Protocol Type标识BIERin6。例如,在BIER头为G-BIER封装格式中的BIER头的情况下,GRE扩展头中Protocol Type标识G-BIER。Taking the SD-WAN header as a GRE extension header as an example, please refer to Figure 25. Figure 25 is a specific example of the encapsulation format when the SD-WAN header is a GRE extension header. The GRE extension header includes the key field and the Protocol Type field. The key field includes the VN-ID configured in the VPN bound to the SD-WAN tunnel, that is, the VN-ID of the VPN where the BFR is located. The Protocol Type field is used to identify that the encapsulation format of the inner layer of the SD-WAN header is the BIER encapsulation format. For example, when the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Protocol Type in the GRE extension header identifies BIER. For example, when the BIER header is a BIER header in the BIERv6 encapsulation format, the Protocol Type in the GRE extension header identifies BIERv6. For example, in the case where the BIER header is a BIER header in the BIERin6 encapsulation format, the Protocol Type in the GRE extension header identifies BIERin6. For example, in the case where the BIER header is the BIER header in the G-BIER encapsulation format, the Protocol Type in the GRE extension header identifies G-BIER.
图26是本申请实施例提供的另一种SD-WAN头的通用的封装格式示意图。图26所示 的SD-WAN头包括Type字段、Length字段、Protocol字段以及VN ID字段。Type字段表示报文的类型。例如,Type字段取值为1时,表示控制报文;Type字段取值为2时,表示数据报文。Protocol字段表示SDWAN头内层的数据报文的类型。例如,在BIER头为满足RFC8296定义的封装格式的BIER头的情况下,Protocol字段标识BIER。例如,在BIER头为BIERv6封装格式中的BIER头的情况下,Protocol字段标识BIERv6。例如,在BIER头为BIERin6封装格式中的BIER头的情况下,Protocol字段标识BIERin6。例如,在BIER头为G-BIER封装格式中的BIER头的情况下,Protocol字段标识G-BIER。Length字段表示SDWAN头的长度。VN ID字段表示数据报文绑定的VPN的VPN的标识,即BFR所在的VPN的标识。Figure 26 is a schematic diagram of another general encapsulation format of an SD-WAN header provided by an embodiment of the present application. As shown in Figure 26 The SD-WAN header includes the Type field, Length field, Protocol field and VN ID field. The Type field indicates the type of message. For example, when the value of the Type field is 1, it indicates a control packet; when the value of the Type field is 2, it indicates a data packet. The Protocol field indicates the type of data packet in the inner layer of the SDWAN header. For example, in the case where the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Protocol field identifies the BIER. For example, in the case where the BIER header is a BIER header in the BIERv6 encapsulation format, the Protocol field identifies BIERv6. For example, in the case where the BIER header is a BIER header in the BIERin6 encapsulation format, the Protocol field identifies BIERin6. For example, in the case where the BIER header is a BIER header in the G-BIER encapsulation format, the Protocol field identifies G-BIER. The Length field indicates the length of the SDWAN header. The VN ID field indicates the ID of the VPN to which the data packet is bound, that is, the ID of the VPN where the BFR is located.
以SD-WAN头为VXLAN头为例,请参考图27,图27是对SD-WAN头为VXLAN头时的封装格式的具体示例。VXLAN头中VNI字段包括组播数据报文绑定的VPN的VPN的标识,即BFR所在的VPN的标识。可以使用VXLAN头外层封装的IPv6基本头中Next header字段指示BIER。Taking the SD-WAN header as a VXLAN header as an example, please refer to Figure 27. Figure 27 is a specific example of the encapsulation format when the SD-WAN header is a VXLAN header. The VNI field in the VXLAN header includes the VPN identifier of the VPN to which the multicast data packet is bound, that is, the identifier of the VPN where the BFR is located. BIER can be indicated using the Next header field in the IPv6 basic header encapsulated in the outer layer of the VXLAN header.
以SD-WAN头为VXLAN-GPE头为例,请参考图28,图28是对SD-WAN头为VXLAN-GPE头的封装格式的具体示例。VXLAN-GPE头中VNI字段包括组播数据报文绑定的VPN的VPN的标识,即BIER网络中的BFR所在的VPN的标识。VXLAN-GPE头中next protocol字段表示VXLAN-GPE头内层的数据报文的类型。例如,在BIER头为满足RFC8296定义的封装格式的BIER头的情况下,Next protocol字段标识BIER。例如,在BIER头为BIERv6封装格式中的BIER头的情况下,Next protocol字段标识BIERv6。例如,在BIER头为BIERin6封装格式中的BIER头的情况下,Next protocol字段标识BIERin6。例如,在BIER头为G-BIER封装格式中的BIER头的情况下,Next protocol字段标识G-BIER。Length字段表示SDWAN头的长度。VN ID字段表示数据报文绑定的VPN的VPN的标识,即BFR所在的VPN的标识。Taking the SD-WAN header as a VXLAN-GPE header as an example, please refer to Figure 28. Figure 28 is a specific example of the encapsulation format of the SD-WAN header as a VXLAN-GPE header. The VNI field in the VXLAN-GPE header includes the VPN identifier of the VPN to which the multicast data packet is bound, that is, the identifier of the VPN where the BFR in the BIER network is located. The next protocol field in the VXLAN-GPE header indicates the type of data packet in the inner layer of the VXLAN-GPE header. For example, in the case where the BIER header is a BIER header that meets the encapsulation format defined by RFC8296, the Next protocol field identifies the BIER. For example, in the case where the BIER header is a BIER header in the BIERv6 encapsulation format, the Next protocol field identifies BIERv6. For example, in the case where the BIER header is a BIER header in the BIERin6 encapsulation format, the Next protocol field identifies BIERin6. For example, in the case where the BIER header is a BIER header in the G-BIER encapsulation format, the Next protocol field identifies G-BIER. The Length field indicates the length of the SDWAN header. The VN ID field indicates the ID of the VPN to which the data packet is bound, that is, the ID of the VPN where the BFR is located.
以SD-WAN头为GENEVE头为例,请参考图29,图29是对SD-WAN头为GENEVE头的封装格式的具体示例。GENEVE头中VNI字段包括组播数据报文绑定的VPN的VPN的标识,即BIER网络中的BFR所在的VPN的标识。GENEVE头中Protocol Type标识BIER。例如,在BIER头为BIERv6封装格式中的BIER头的情况下,GENEVE头中Protocol Type标识BIERv6。例如,在BIER头为BIERin6封装格式中的BIER头的情况下,GENEVE头中Protocol Type标识BIERin6。例如,在BIER头为G-BIER封装格式中的BIER头的情况下,GENEVE头中Protocol Type标识G-BIER。Taking the SD-WAN header as a GENEVE header as an example, please refer to Figure 29. Figure 29 is a specific example of the encapsulation format of the SD-WAN header as a GENEVE header. The VNI field in the GENEVE header includes the ID of the VPN to which the multicast data packet is bound, that is, the ID of the VPN where the BFR in the BIER network is located. The Protocol Type in the GENEVE header identifies BIER. For example, in the case where the BIER header is a BIER header in the BIERv6 encapsulation format, the Protocol Type in the GENEVE header identifies BIERv6. For example, in the case where the BIER header is a BIER header in the BIERin6 encapsulation format, the Protocol Type in the GENEVE header identifies BIERin6. For example, in the case where the BIER header is the BIER header in the G-BIER encapsulation format, the Protocol Type in the GENEVE header identifies G-BIER.
三、SD-WAN头外层的IP头3. The outer IP header of the SD-WAN header
SD-WAN头外层的IP头中源地址和目的地址是用于建立SD-WAN隧道所使用的IP地址。例如,如果第一BFR与第二BFR建立了一条SD-WAN隧道,第一BFR要通过该SD-WAN隧道向第二BFR转发组播数据报文时,第一BFR发送的组播数据报文中外层的IP头源地址为第一BFR上WAN接口的IP地址,即第一BFR发送组播数据报文时使用的物理出接口的IP地址。外层SD-WAN头外层的IP头中目的地址为第二BFR上WAN接口的IP地址,即第二BFR接收组播数据报文时使用的物理出接口的IP地址。 The source address and destination address in the outer IP header of the SD-WAN header are the IP addresses used to establish the SD-WAN tunnel. For example, if the first BFR and the second BFR establish an SD-WAN tunnel, and the first BFR wants to forward the multicast data packet to the second BFR through the SD-WAN tunnel, the multicast data packet sent by the first BFR The IP header source address of the middle and outer layers is the IP address of the WAN interface on the first BFR, that is, the IP address of the physical outgoing interface used by the first BFR when sending multicast data packets. The destination address in the outer IP header of the outer SD-WAN header is the IP address of the WAN interface on the second BFR, that is, the IP address of the physical outgoing interface used by the second BFR when receiving multicast data packets.
SD-WAN头外层的IP头包括而不限于IPv4头或者IPv6头。具体地,在SD-WAN头外层的IP头为IPv4头的情况下,SD-WAN头外层的IPv4头源地址为BFIR上WAN接口的IPv4地址,SD-WAN头外层的IPv4头中目的地址为BFER上WAN接口的IPv4地址。在SD-WAN头外层的IP头为IPv6头的情况下,SD-WAN头外层的IPv6头中的源地址为BFIR上WAN接口的IPv6地址,SD-WAN头外层的IPv6头中的目的地址为BFER上WAN接口的IPv6地址。The IP header in the outer layer of the SD-WAN header includes but is not limited to IPv4 header or IPv6 header. Specifically, when the IP header in the outer layer of the SD-WAN header is an IPv4 header, the source address of the IPv4 header in the outer layer of the SD-WAN header is the IPv4 address of the WAN interface on the BFIR. The destination address is the IPv4 address of the WAN interface on the BFER. When the outer IP header of the SD-WAN header is an IPv6 header, the source address in the outer IPv6 header of the SD-WAN header is the IPv6 address of the WAN interface on the BFIR, and the source address in the outer IPv6 header of the SD-WAN header is The destination address is the IPv6 address of the WAN interface on the BFER.
例如,数据报文的封装格式包括IP头、SD-WAN头、BIER头和组播数据报文。又如,数据报文的封装格式包括IP头、SD-WAN头和IPv6报文,该IPv6报文包括IPv6头、BIER头和组播数据报文。For example, the encapsulation format of data packets includes IP header, SD-WAN header, BIER header and multicast data packets. For another example, the encapsulation format of the data packet includes an IP header, an SD-WAN header and an IPv6 packet, and the IPv6 packet includes an IPv6 header, a BIER header and a multicast data packet.
四、IPsec头和IPsec尾4. IPsec header and IPsec trailer
IPsec头和IPsec尾是组播数据报文中可选封装的部分。例如,如果需要保障SD-WAN隧道传输的数据的机密性和安全性,则在BFIR和BFER上部署SD-WAN over IPSec,BFIR在SD-WAN头的外层封装IPsec头,在组播数据报文后封装IPSec尾。在BFIR和BFER上没有部署SD-WAN over IPSec的情况下,BFIR可以无需封装IPsec头和IPSec尾。可选地,上述IPsec头为ESP头,上述IPsec尾为ESP尾。IPsec头的格式可参考图30。The IPsec header and IPsec trailer are optionally encapsulated parts of multicast data packets. For example, if you need to ensure the confidentiality and security of data transmitted through the SD-WAN tunnel, deploy SD-WAN over IPSec on BFIR and BFER. BFIR encapsulates the IPsec header in the outer layer of the SD-WAN header and adds it to the multicast datagram. The IPSec tail is encapsulated after the text. When SD-WAN over IPSec is not deployed on BFIR and BFER, BFIR does not need to encapsulate the IPsec header and IPSec trailer. Optionally, the IPsec header is an ESP header, and the IPsec trailer is an ESP trailer. The format of the IPsec header can be found in Figure 30.
本申请的一些实施例中,还提供了站点内site内主备流量保护的方式,下面进行具体说明。In some embodiments of this application, methods for protecting primary and secondary traffic within the site are also provided, which will be described in detail below.
site内主备流量保护包括下述方式一和方式二。The main and backup traffic protection within the site includes the following method 1 and method 2.
方式一、site内主CPE和备CPE配置不同的BFR-ID和BFR prefix。Method 1: Configure different BFR-IDs and BFR prefixes for the primary CPE and backup CPE in the site.
如图31所示,组播接收者1单归接入CPE 6,组播接收者2双归接入CPE 5和CPE 6,配置接入侧主备备份。站点3内CPE 5和CPE 6配置不同的BFR-ID和BFR prefix。例如,站点3内CPE 5配置了BFR-ID为5,并配置了BFR prefix为10.5.5.5。站点3内CPE 6配置了BFR-ID为6,并配置了BFR prefix为10.6.6.6。主备备份是指同一个站点内两台设备之间互相备份加入信息。比如,CPE 5获得了组播接收者2的加入信息后,CPE 5将组播接收者2的加入信息同步至CPE 6,使得CPE 5和CPE 6上都保存了组播接收者2的加入信息。CPE 5和CPE 6之间的链路部署VPN BIER over IGP。CPE 5和CPE 6使用SD、BSL、SI拼接的方式分配到相同的BIFT-ID。As shown in Figure 31, multicast receiver 1 is single-homed to CPE 6, multicast receiver 2 is dual-homed to CPE 5 and CPE 6, and the access side master and backup are configured. CPE 5 and CPE 6 in site 3 are configured with different BFR-ID and BFR prefix. For example, CPE 5 in site 3 is configured with a BFR-ID of 5 and a BFR prefix of 10.5.5.5. CPE 6 in site 3 is configured with a BFR-ID of 6 and a BFR prefix of 10.6.6.6. Primary and secondary backup refers to the mutual backup of joining information between two devices in the same site. For example, after CPE 5 obtains the joining information of multicast receiver 2, CPE 5 synchronizes the joining information of multicast receiver 2 to CPE 6, so that the joining information of multicast receiver 2 is saved on both CPE 5 and CPE 6. . The link between CPE 5 and CPE 6 deploys VPN BIER over IGP. CPE 5 and CPE 6 are assigned the same BIFT-ID using SD, BSL, and SI splicing.
方式1包括以下步骤1至步骤7。Method 1 includes the following steps 1 to 7.
步骤1,发往组播接收者1的组播数据报文经SD-WAN隧道到达CPE 6。与CPE 6处于同一个VPN的上游BFR迭代site ID后,随机选择右侧隧道,或者,与CPE 6处于同一个VPN的上游BFR迭代具体router ID(即CPE ID),比如CPE 6的loopback口的IP地址后,将组播数据报文发送给CPE 6,CPE 6剥离GRE头和BIER头,使得组播数据报文出两层隧道后直接转发给接收者1。例如,图31中CPE 3接收到组播数据报文后,CPE 3基于组播数据报文中比特串查找BIFT,确定比特串命中BIFT中一条表项中的F-BM,则CPE 3读取BIFT中与该F-BM对应的出接口或者下一跳,从而获得site 3的site ID。之后,CPE 3根据site 3的site ID查找SD-WAN隧道转发表,CPE 3根据site 3的site ID命中SD-WAN隧道转发表的表项,读取SD-WAN隧道转发表中与site 3的site ID对应的下一跳。site 3 的site ID对应的下一跳包括CPE 5和CPE 6,CPE 3从CPE 5和CPE 6中随机选一个下一跳,选中CPE 6。Step 1: The multicast data packet sent to multicast receiver 1 reaches CPE 6 through the SD-WAN tunnel. After the upstream BFR in the same VPN as CPE 6 iterates the site ID, randomly select the right tunnel, or the upstream BFR in the same VPN as CPE 6 iterates the specific router ID (i.e. CPE ID), such as the loopback port of CPE 6 After receiving the IP address, the multicast data packet is sent to CPE 6. CPE 6 strips off the GRE header and BIER header, so that the multicast data packet is directly forwarded to receiver 1 after exiting the two-layer tunnel. For example, after CPE 3 receives the multicast data message in Figure 31, CPE 3 searches for BIFT based on the bit string in the multicast data message, and determines that the bit string hits the F-BM in an entry in BIFT, then CPE 3 reads The outbound interface or next hop corresponding to the F-BM in BIFT is used to obtain the site ID of site 3. After that, CPE 3 searches the SD-WAN tunnel forwarding table based on the site ID of site 3. CPE 3 hits the entry in the SD-WAN tunnel forwarding table based on the site ID of site 3, and reads the entries in the SD-WAN tunnel forwarding table that match site 3. The next hop corresponding to the site ID. site 3 The next hop corresponding to the site ID includes CPE 5 and CPE 6. CPE 3 randomly selects a next hop from CPE 5 and CPE 6, and selects CPE 6.
步骤2,发往组播接收者1的组播数据报文经SD-WAN隧道到达CPE 5。具体的,与CPE 5处于同一个VPN的上游BFR迭代site ID后随机选择左侧隧道,或者与CPE 5处于同一个VPN的上游BFR迭代具体router ID(即CPE ID),比如CPE 5的loopback口的IP地址后,将组播数据报文发送给CPE 5。CPE 5剥离GRE头后根据BIER头的目的BFR-ID 6迭代下一跳为CPE 6,经site内CPE之间的链路转发给CPE 6,剥离BIER头后查找MVPN客户组播路由转发给组播接收者1。Step 2: The multicast data packet sent to multicast receiver 1 reaches CPE 5 through the SD-WAN tunnel. Specifically, the upstream BFR in the same VPN as CPE 5 randomly selects the left tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 5 iterates the specific router ID (i.e. CPE ID), such as the loopback port of CPE 5 After obtaining the IP address, the multicast data packet is sent to CPE 5. After CPE 5 strips off the GRE header, it iterates the next hop to CPE 6 based on the destination BFR-ID 6 of the BIER header, and forwards it to CPE 6 via the link between CPEs in the site. After stripping off the BIER header, it searches for the MVPN customer multicast route and forwards it to the group. broadcast receiver 1.
步骤3,发往组播接收者2的组播数据报文经SD-WAN隧道到达CPE 5。具体的,与CPE 5处于同一个VPN的上游BFR迭代site ID后随机选择左侧隧道,或者与CPE 5处于同一个VPN的上游BFR迭代router ID(即CPE ID),比如CPE 5的loopback口的IP地址后,将组播数据报文发送给CPE 5。CPE 5剥离GRE头和BIER头后,由主链路(例如为CPE 5的LAN侧链路)转发给组播接收者2。Step 3: The multicast data packet sent to multicast receiver 2 reaches CPE 5 through the SD-WAN tunnel. Specifically, the upstream BFR in the same VPN as CPE 5 randomly selects the left tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 5 iterates the router ID (i.e. CPE ID), such as the loopback port of CPE 5 After the IP address, the multicast data message is sent to CPE 5. After CPE 5 strips off the GRE header and BIER header, it is forwarded to multicast receiver 2 by the main link (for example, the LAN side link of CPE 5).
步骤4,发往组播接收者2的组播数据报文经SD-WAN隧道到达CPE 6。与CPE 6处于同一个VPN的上游BFR迭代site ID后随机选择右侧隧道,或者与CPE 6处于同一个VPN的上游BFR迭代具体router ID((即CPE ID),比如CPE 6的router ID后,将组播数据报文发送给CPE 6,CPE 6剥离GRE头后,根据BIER头中比特串指示的目的BFR-ID 5迭代下一跳为CPE 5,经site内CPE之间的链路转发给CPE 5,剥离BIER头后查找MVPN客户组播路由,由主链路转发给组播接收者2。Step 4: The multicast data packet sent to multicast receiver 2 reaches CPE 6 through the SD-WAN tunnel. The upstream BFR in the same VPN as CPE 6 randomly selects the right tunnel after iterating the site ID, or the upstream BFR in the same VPN as CPE 6 iterates the specific router ID (i.e. CPE ID), such as the router ID of CPE 6, Send the multicast data message to CPE 6. After CPE 6 strips off the GRE header, it iterates the next hop to CPE 5 based on the destination BFR-ID 5 indicated by the bit string in the BIER header, and forwards it to CPE 5 via the link between CPEs in the site. CPE 5, after stripping off the BIER header, searches for the MVPN client multicast route and forwards it to multicast receiver 2 via the main link.
步骤5,发往组播接收者2的组播数据报文根据BIER头中包含本节点的BFR-ID 6对应的比特串,剥离GRE头和BIER头后,在CPE 6 LAN侧备份路径阻塞,不会转发给组播接收者。Step 5: The multicast data packet sent to multicast receiver 2 contains the bit string corresponding to the BFR-ID 6 of this node according to the BIER header. After stripping off the GRE header and BIER header, the backup path is blocked on the CPE 6 LAN side. Will not be forwarded to multicast recipients.
步骤6,作为主设备的CPE 5 LAN侧链路故障后,CPE 6升主,CPE 6负责将组播数据报文转发给组播接收者2。Step 6: After the LAN-side link failure of CPE 5 as the master device, CPE 6 becomes the master, and CPE 6 is responsible for forwarding the multicast data packets to multicast receiver 2.
步骤7,作为主设备的CPE 5故障后,SD-WAN隧道侧接收的组播数据报文全部通过CPE 6到达组播接收者2。Step 7: After CPE 5 as the master device fails, all multicast data packets received by the SD-WAN tunnel side reach multicast receiver 2 through CPE 6.
回切流程类似,不再详述。The switchback process is similar and will not be described in detail.
BIERv6和上述流程类型,不同点为:部署不同的End.BIER地址,CPE 5和CPE 6之间的链路部署私网BIERv6over IGP。The differences between BIERv6 and the above process types are: deploying different End.BIER addresses, and deploying private network BIERv6over IGP on the link between CPE 5 and CPE 6.
方式2:site内主备CPE配置相同的BFR-ID和BFR prefix。Method 2: The active and standby CPEs in the site are configured with the same BFR-ID and BFR prefix.
如图32所示,组播接收者1单归接入CPE 6,组播接收者2双归接入CPE 5和CPE 6,配置接入侧主备备份。site内CPE配置相同的BFR-ID和BFR prefix。CPE 5和CPE 6之间的链路不部署VPN内的BIER,部署传统overlay组播,如PIM或IGMP/MLD。方式2包括以下步骤1至步骤3。As shown in Figure 32, multicast receiver 1 is single-homed to CPE 6, multicast receiver 2 is dual-homed to CPE 5 and CPE 6, and the access side master and backup are configured. The CPE in the site is configured with the same BFR-ID and BFR prefix. The link between CPE 5 and CPE 6 does not deploy BIER within the VPN, but deploys traditional overlay multicast, such as PIM or IGMP/MLD. Method 2 includes the following steps 1 to 3.
步骤1,发往单归或双归接入接收者的组播数据报文,经上游SD-WAN隧道随机到达CPE 5或CPE 6任意一侧(同方式1)。Step 1. Multicast data packets sent to single-homing or dual-homing receivers randomly arrive at either side of CPE 5 or CPE 6 through the upstream SD-WAN tunnel (same as method 1).
步骤2,接收到组播数据报文的CPE剥离GRE头和BIER头,通过overlay组播转发 给对端CPE。Step 2. The CPE that receives the multicast data message strips off the GRE header and BIER header and forwards it through overlay multicast. Give the peer CPE.
步骤3,主CPE或者单归CPE负责将组播数据报文转发给LAN侧接收者。Step 3: The primary CPE or single-homed CPE is responsible for forwarding the multicast data packets to the LAN-side receiver.
BIERv6和上述流程类似,不同点为,还会在同一个site内主CPE和备CPE上部署相同的End.BIER地址。BIERv6 is similar to the above process, except that the same End.BIER address is deployed on the primary CPE and backup CPE in the same site.
下面结合四个实例举例说明。The following is an example of four examples.
实例1Example 1
图33是实例1的网络部署场景的示意图,如图33所示,组播源位于站点5内CPE100所在LAN侧接口接入的网络。组播接收者位于站点3内CPE6所在LAN侧接口接入的网络。站点3内主CPE与备CPE配置不同的BFR-ID,并且主CPE与备CPE配置不同的BFR prefix;site之间使用VPN BIER over EVPN泛洪VPN内每个BFR的BIER信息;根节点和叶子节点之间通过部署根据标准RFC实现的NG-MVPN,当接收到加入消息时,通过NG-MVPN传递VPN内overlay组播加入信息。实例1包括以下步骤1至步骤4。Figure 33 is a schematic diagram of the network deployment scenario of Example 1. As shown in Figure 33, the multicast source is located in the network connected to the LAN side interface of CPE100 in site 5. The multicast receiver is located in the network connected to the LAN side interface of CPE6 in site 3. The primary CPE and backup CPE in site 3 are configured with different BFR-IDs, and the primary CPE and backup CPE are configured with different BFR prefixes; VPN BIER over EVPN is used between sites to flood the BIER information of each BFR in the VPN; root node and leaf NG-MVPN implemented according to standard RFC is deployed between nodes. When a join message is received, the intra-VPN overlay multicast join information is transmitted through NG-MVPN. Example 1 includes the following steps 1 to 4.
步骤1:underlay SD-WAN隧道建立。Step 1: Underlay SD-WAN tunnel is established.
步骤1包括以下步骤(1-1)至步骤(1-3)。Step 1 includes the following steps (1-1) to (1-3).
步骤(1-1)通过SD-WAN EVPN方式部署跨internet或MPLS网络的SD-WAN网络。分别为各site中每个CPE的WAN接口配置IP地址,同时将公网loopback口的IP地址配置为CPE ID,使用CPE ID建立BGP SD-WAN peer和BGP EVPN peer。Step (1-1) Deploy the SD-WAN network across the Internet or MPLS network through SD-WAN EVPN. Configure IP addresses for the WAN interfaces of each CPE in each site, and configure the IP address of the public network loopback port as the CPE ID. Use the CPE ID to establish BGP SD-WAN peers and BGP EVPN peers.
例如,站点3中CPE 5的WAN接口的IP地址配置为10.33.33.33,站点3中CPE 5的CPE ID配置为33.33.33.33。站点3中CPE 6的WAN接口的IP地址配置为10.3.3.3,站点3中CPE 6的CPE ID配置为3.3.3.3。site 2中CPE 4的WAN接口的IP地址配置为10.2.2.2,site 2中CPE 4的CPE ID配置为2.2.2.2。For example, the IP address of the WAN interface of CPE 5 in site 3 is configured as 10.33.33.33, and the CPE ID of CPE 5 in site 3 is configured as 33.33.33.33. The IP address of the WAN interface of CPE 6 in site 3 is configured as 10.3.3.3, and the CPE ID of CPE 6 in site 3 is configured as 3.3.3.3. The IP address of the WAN interface of CPE 4 in site 2 is configured as 10.2.2.2, and the CPE ID of CPE 4 in site 2 is configured as 2.2.2.2.
步骤(1-2)CPE和RR之间通过DTLS机制和BGP SD-WAN地址族,建立DTLS管理通道和BGP控制通道。Step (1-2) Establish a DTLS management channel and a BGP control channel between the CPE and RR through the DTLS mechanism and the BGP SD-WAN address family.
步骤(1-3)CPE和RR之间通过BGP EVPN地址族建立SD-WAN单播业务数据通道(即SD-WAN隧道)。站点5和站点3中部署L3VPN,配置相同的VN ID;LAN侧AC接口和WAN侧SD-WAN隧道接口均绑定此VPN。Step (1-3) Establish an SD-WAN unicast service data channel (i.e. SD-WAN tunnel) between the CPE and RR through the BGP EVPN address family. Deploy L3VPN in site 5 and site 3, configure the same VN ID; both the AC interface on the LAN side and the SD-WAN tunnel interface on the WAN side are bound to this VPN.
步骤2:overlay VPN BIER隧道建立。Step 2: Overlay VPN BIER tunnel is established.
步骤2包括以下步骤(2-1)至步骤(2-3)。Step 2 includes the following steps (2-1) to (2-3).
步骤(2-1)各个site部署VPN内BIER,分别配置VPN内BFR prefix和VPN内的BFR-ID,例如,CPE5的配置如下所示。

Step (2-1) Deploy intra-VPN BIER on each site, and configure the intra-VPN BFR prefix and intra-VPN BFR-ID respectively. For example, the configuration of CPE5 is as follows.

步骤(2-2)VPN内各个CPE上部署VPN BIER over BGP EVPN,通过BGP EVPN IP prefix路由通告BFR prefix,携带BIER封装扩展团体属性、SD-WAN封装扩展团体属性和color扩展团体属性。例如,CPE5的配置如下所示。
Step (2-2) Deploy VPN BIER over BGP EVPN on each CPE in the VPN, and advertise the BFR prefix through the BGP EVPN IP prefix route, carrying the BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute, and color extended community attribute. For example, the configuration of CPE5 is as follows.
步骤(2-3)各CPE之间通过RR反射BGP EVPN BIER路由学习VPN内BIER邻居,并根据BGP EVPN BIER路由携带的扩展团体属性,计算出以site ID为下一跳的BIER路由表。例如,site5中CPE100学习到的BIER路由表如下表12所示。Step (2-3) Each CPE uses RR to reflect the BGP EVPN BIER route to learn the BIER neighbors in the VPN, and calculate the BIER routing table with the site ID as the next hop based on the extended community attributes carried by the BGP EVPN BIER route. For example, the BIER routing table learned by CPE100 in site5 is shown in Table 12 below.
表12

Table 12

步骤3:overlay组播加入。Step 3: Join the overlay multicast.
各site的CPE之间通过NG-MVPN x-PMSI路由和leaf-AD路由携带VPN BIER类型的PTA属性,学习到各自的BFR-ID。站点3中CPE6基于LAN侧接口接收到的组播加入消息,获得MVPN C-Multicast路由,通过RR反射给站点5中CPE100。CPE 100将CPE6的BFR-ID学习为VPN BIER隧道的叶子节点。配置示例如下。
The CPEs at each site learn their respective BFR-IDs through NG-MVPN x-PMSI routes and leaf-AD routes carrying VPN BIER type PTA attributes. Based on the multicast join message received by the LAN side interface, CPE6 in site 3 obtains the MVPN C-Multicast route and reflects it to CPE100 in site 5 through RR. CPE 100 learns the BFR-ID of CPE6 as the leaf node of the VPN BIER tunnel. Configuration examples are as follows.
步骤4:组播数据报文转发。Step 4: Forward multicast data packets.
步骤4包括以下步骤(4-1)至步骤(4-3)。Step 4 includes the following steps (4-1) to (4-3).
步骤(4-1)CPE100接收LAN侧VPN内的组播数据报文,根据VPN内叶子节点集合的BFR-ID,获得比特串,向组播数据报文封装BIER头,根据比特串查找VPN内BIER转发表。若BIER转发表中比特串对应的下一跳为site ID,则以site ID为索引,进一步查找SD-WAN隧道连接表。或者,若BIER转发表中比特串对应的下一跳为CPE ID,则以CPE ID为索引,进一步查找SD-WAN隧道连接表。之后,在BIER头外层,继续封装GRE头和外层IP头以及MAC头,进一步转发组播数据报文。GRE头部中key字段包括VPN下配置的VNID。对于下一跳站点site存在主隧道和备隧道的情况,随机选择其中一条隧道。Step (4-1) CPE100 receives the multicast data packet in the LAN-side VPN, obtains the bit string according to the BFR-ID of the leaf node set in the VPN, encapsulates the BIER header in the multicast data packet, and searches for the bit string in the VPN. BIER forwarding table. If the next hop corresponding to the bit string in the BIER forwarding table is the site ID, use the site ID as the index to further search the SD-WAN tunnel connection table. Or, if the next hop corresponding to the bit string in the BIER forwarding table is the CPE ID, use the CPE ID as the index to further search the SD-WAN tunnel connection table. After that, the GRE header, outer IP header and MAC header are continued to be encapsulated in the outer layer of the BIER header to further forward the multicast data message. The key field in the GRE header includes the VNID configured under the VPN. If the next-hop site has a primary tunnel and a backup tunnel, one of the tunnels is randomly selected.
例如,站点5中CPE100的SD-WAN隧道连接表例如下表13所示,表13中的源IP地址为CPE 100中WAN接口的IP地址,也是CPE100在GRE头外层封装的IP头中的源IP地址。表13中的目的IP地址为与CPE 100建立SD-WAN隧道的远端site中CPE的WAN接口的IP地址,也是CPE100在GRE头外层封装的IP头中的目的IP地址。For example, the SD-WAN tunnel connection table of CPE100 in Site 5 is shown in Table 13 below. The source IP address in Table 13 is the IP address of the WAN interface in CPE 100, which is also the IP header encapsulated by CPE100 in the outer layer of the GRE header. Source IP address. The destination IP address in Table 13 is the IP address of the WAN interface of the CPE in the remote site that establishes the SD-WAN tunnel with CPE 100. It is also the destination IP address of CPE 100 in the IP header encapsulated in the outer layer of the GRE header.
表13
Table 13
步骤(4-2)组播数据报文根据外层IP头中的IP地址,如IPv4地址或者IPv6地址,通过IP路由逐跳转发。当组播数据报文到达某一跳site中的CPE后,CPE根据SD-WAN隧道连接表,命中对应的SD-WAN隧道和对应的VPN,进一步查找VPN内BIER转发表项。如果本节点的BFR-ID与转发表项中的F-BM不匹配,则确定本节点是中间节点,更新BIER头中的比特串后,再根据BIER转发迭代下一跳。Step (4-2) The multicast data packet is forwarded hop by hop through IP routing according to the IP address in the outer IP header, such as IPv4 address or IPv6 address. When the multicast data packet reaches the CPE in a certain hop site, the CPE hits the corresponding SD-WAN tunnel and corresponding VPN according to the SD-WAN tunnel connection table, and further searches for the BIER forwarding table entry in the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it is determined that this node is an intermediate node. After updating the bit string in the BIER header, the next hop is iterated based on BIER forwarding.
步骤(4-3)报文到达叶子站点后,解封装SD-WAN头(如GRE头),如果本节点的BFR-ID与转发表项中的F-BM匹配,解封装BIER头,进一步查找VPN内MVPN客户组播路由表项转发。如果本节点的BFR-ID与转发表项中的F-BM不匹配,则继续根据VPN内BIER转发表项,迭代下一跳是本site内对端CPE,更新比特串后,不再封装GRE头,直接转发给对端CPE。Step (4-3) After the packet reaches the leaf site, decapsulate the SD-WAN header (such as the GRE header). If the BFR-ID of the node matches the F-BM in the forwarding entry, decapsulate the BIER header and perform further searches. MVPN client multicast routing table entry forwarding within the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding table, it will continue to forward the table according to the BIER in the VPN. The iterative next hop is the peer CPE in this site. After updating the bit string, GRE will no longer be encapsulated. header and forwarded directly to the peer CPE.
实例2Example 2
实例2的网络部署场景可参考图33,实例2包括以下步骤1至步骤4。Refer to Figure 33 for the network deployment scenario of Example 2. Example 2 includes the following steps 1 to 4.
步骤1:underlay SD-WAN隧道建立:同实例1。Step 1: Underlay SD-WAN tunnel establishment: Same as Example 1.
步骤2:overlay BIER VPN隧道建立。Step 2: Overlay BIER VPN tunnel is established.
使用BGP BIER VPN地址族路由发布VPN内BFR prefix、BIER封装扩展团体属性、SD-WAN封装扩展团体属性和color扩展团体属性。
Use BGP BIER VPN address family routing to advertise the BFR prefix, BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute, and color extended community attribute within the VPN.
步骤3:overlay组播加入:Step 3: Overlay multicast join:
各站点内CPE之间通过BGP EVPN IMET路由携带PTA属性学到各自的BFR-ID。站点3中CPE6基于LAN侧接口接收到的组播加入消息,获得BGP EVPN SMET路由,通过RR反射给site5中CPE100。CPE100将CPE6学习为VPN BIER隧道的叶子节点。CPEs in each site learn their respective BFR-IDs through BGP EVPN IMET routing carrying PTA attributes. Based on the multicast join message received by the LAN side interface, CPE6 in site 3 obtains the BGP EVPN SMET route and reflects it to CPE100 in site 5 through RR. CPE100 learns CPE6 as the leaf node of the VPN BIER tunnel.
步骤4:组播数据报文转发:Step 4: Multicast data packet forwarding:
非叶子站点之间的流量转发同实例1。Traffic forwarding between non-leaf sites is the same as in Example 1.
当组播数据报文到达叶子站点时,无论从两个SD-WAN隧道中的哪一个到达叶子站点 中任意一个CPE,叶子站点内接收到组播数据报文的CPE都会剥离GRE头和BIER头,相当于组播数据报文出两层隧道。并且,接收到组播数据报文的CPE会通过overlay传统组播的方式,转发一份组播数据报文给同站点内对端CPE。When a multicast data packet reaches a leaf site, it does not matter which of the two SD-WAN tunnels it reaches the leaf site from. Any CPE in the leaf site that receives the multicast data packet will strip off the GRE header and BIER header, which is equivalent to the multicast data packet going out of a two-layer tunnel. In addition, the CPE that receives the multicast data packet will forward a multicast data packet to the opposite CPE in the same site by overlaying traditional multicast.
主CPE或者单归CPE将组播数据报文转发给LAN侧的组播接收者。The primary CPE or single-homed CPE forwards the multicast data packets to the multicast receivers on the LAN side.
上述实例1和实例2可以作为BIER-MPLS场景下的方法流程,下面对BIERv6的场景下的方法流程举例说明,参见实例3和实例4。The above Example 1 and Example 2 can be used as the method flow in the BIER-MPLS scenario. The following is an example of the method flow in the BIERv6 scenario. See Example 3 and Example 4.
实例3Example 3
图34是实例3的网络部署场景的示意图,如图34所示,组播源位于站点5内CPE100所在LAN侧接口接入的网络。组播接收者位于站点3内CPE6所在LAN侧接口接入的网络。站点3内主备CPE部署不同的End.BIER地址、BFR-ID和BFR prefix;站点之间使用VPN BIERv6over EVPN泛洪VPN BIERv6拓扑信息;根站点和叶子站点之间通过部署标准NG-MVPN传递私网overlay组播加入信息。Figure 34 is a schematic diagram of the network deployment scenario of Example 3. As shown in Figure 34, the multicast source is located in the network connected to the LAN side interface of CPE100 in site 5. The multicast receiver is located in the network connected to the LAN side interface of CPE6 in site 3. The active and backup CPEs in site 3 deploy different End.BIER addresses, BFR-IDs and BFR prefixes; VPN BIERv6over EVPN is used to flood VPN BIERv6 topology information between sites; standard NG-MVPN is deployed between the root site and leaf sites to transmit private data Network overlay multicast join information.
步骤1:建立underlay SD-WAN隧道。步骤1可参考实例1。Step 1: Establish underlay SD-WAN tunnel. Step 1 can refer to Example 1.
步骤2:overlay BIERv6VPN隧道建立。Step 2: Overlay BIERv6VPN tunnel is established.
步骤2包括以下步骤(2-1)至步骤(2-3)。Step 2 includes the following steps (2-1) to (2-3).
步骤(2-1)各个站点部署VPN内BIERv6,分别配置VPN内End.BIER地址、BFR prefix和BFR-ID。例如,站点3内CPE5的配置如下所示。
Step (2-1) Deploy BIERv6 in the VPN at each site, and configure the End.BIER address, BFR prefix and BFR-ID in the VPN respectively. For example, the configuration of CPE5 in site 3 is as follows.
步骤(2-2)在VPN内各个CPE上部署VPN BIERv6over BGP EVPN,CPE之间通过 BGP EVPN IP prefix路由通告BFR prefix,携带BIER封装扩展团体属性、SD-WAN封装扩展团体属性和color扩展团体属性。Step (2-2) Deploy VPN BIERv6over BGP EVPN on each CPE in the VPN, and pass the BGP EVPN IP prefix route advertisement BFR prefix carries BIER encapsulation extended community attribute, SD-WAN encapsulation extended community attribute and color extended community attribute.
例如,CPE5的配置如下所示。
For example, the configuration of CPE5 is as follows.
步骤(2-3)各CPE之间通过RR反射BGP EVPN BIER路由学习VPN内BFR邻居,并根据路由携带的扩展团体属性,计算出以site ID为下一跳的BIER路由表(以单播路由迭代到site ID为例)。例如站点5中CPE100学习到的BIER路由表如下表14所示。Step (2-3) Each CPE uses RR reflection BGP EVPN BIER routing to learn the BFR neighbors in the VPN, and calculates the BIER routing table with the site ID as the next hop (unicast routing) based on the extended community attributes carried by the route. Iterate to site ID as an example). For example, the BIER routing table learned by CPE100 in site 5 is shown in Table 14 below.
表14
Table 14
步骤3:overlay组播加入,同实例1。Step 3: Join the overlay multicast, the same as instance 1.
步骤4:组播数据报文转发。Step 4: Forward multicast data packets.
步骤4包括以下步骤(4-1)至步骤(4-3)。Step 4 includes the following steps (4-1) to (4-3).
步骤(4-1)CPE100接收到LAN侧VPN的组播数据报文时,根据VPN内叶子节点集合的BFR-ID,获得比特串,向组播数据报文封装BIER头,查找VPN内BIERv6的BIER转发表。若BIER转发表中比特串对应的下一跳为site ID,则以site ID为索引,进一步查找SD-WAN隧道连接表。或者,若BIER转发表中比特串对应的下一跳为CPE ID,则以CPE ID为索引,进一步查找表15示出的SD-WAN隧道连接表。之后,在BIERv6头外层, 继续封装GRE头和外层IP头以及MAC头,进一步转发组播数据报文。其中,GRE头中key字段包括VPN下配置的VNID。对于下一跳站点存在主隧道和备隧道的情况,随机选择其中一条隧道。Step (4-1) When CPE100 receives the multicast data packet of the LAN-side VPN, it obtains the bit string based on the BFR-ID of the leaf node set in the VPN, encapsulates the BIER header in the multicast data packet, and searches for the BIERv6 in the VPN. BIER forwarding table. If the next hop corresponding to the bit string in the BIER forwarding table is the site ID, use the site ID as the index to further search the SD-WAN tunnel connection table. Or, if the next hop corresponding to the bit string in the BIER forwarding table is the CPE ID, then use the CPE ID as the index to further search the SD-WAN tunnel connection table shown in Table 15. After that, in the outer layer of the BIERv6 header, Continue to encapsulate the GRE header, outer IP header, and MAC header to further forward the multicast data packet. Among them, the key field in the GRE header includes the VNID configured under the VPN. If there is a primary tunnel and a backup tunnel at the next hop site, one of the tunnels is randomly selected.
表15
Table 15
步骤(4-2)组播数据报文根据外层IP头中的目的IP地址,路由逐跳转发,到达某一跳site中的CPE后,根据SD-WAN解封装表命中对应的SD-WAN隧道和对应的VPN,进一步查找VPN内BIERv6转发表项,如果本节点的BFR-ID与转发表项中的F-BM不匹配,则确定本节点是中间节点,更新BIER头中的比特串后,再根据BIER转发迭代下一跳。Step (4-2) The multicast data message is forwarded hop by hop based on the destination IP address in the outer IP header. After arriving at the CPE in a certain hop site, the multicast data message hits the corresponding SD-WAN decapsulation table. WAN tunnel and corresponding VPN, further search for the BIERv6 forwarding entry in the VPN. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it is determined that this node is an intermediate node, and the bit string in the BIER header is updated. Afterwards, the next hop is iterated based on BIER forwarding.
步骤(4-3)报文到达叶子站点后,叶子站点中的CPE解封装SD-WAN GRE头。如果本节点的BFR-ID与转发表项中的F-BM匹配,则解封装BIER头,进一步查找VPN内MVPN客户组播路由表项转发。如果本节点的BFR-ID与转发表项中的F-BM不匹配,则继续根据VPN内BIERv6转发表项,迭代下一跳是本site内对端CPE,更新比特串后,不再封装GRE头,直接转发给对端CPE。Step (4-3) After the packet reaches the leaf site, the CPE in the leaf site decapsulates the SD-WAN GRE header. If the BFR-ID of this node matches the F-BM in the forwarding entry, the BIER header is decapsulated and further searches for the MVPN customer multicast routing entry in the VPN for forwarding. If the BFR-ID of this node does not match the F-BM in the forwarding entry, it will continue to forward the entry according to the BIERv6 in the VPN. The next hop of the iteration is the peer CPE in this site. After the bit string is updated, GRE will no longer be encapsulated. header and forwarded directly to the peer CPE.
实例4Example 4
实例4的网络部署场景可参考图34,实例4包括以下步骤。For the network deployment scenario of Example 4, please refer to Figure 34. Example 4 includes the following steps.
步骤1:建立underlay SD-WAN隧道,步骤1可参考实例1的描述。Step 1: Establish an underlay SD-WAN tunnel. For step 1, please refer to the description of Example 1.
步骤2:建立overlay BIERv6VPN隧道。Step 2: Establish overlay BIERv6VPN tunnel.
使用BGP BIER VPN地址族路由发布VPN内BFR prefix,携带BIER封装扩展团体属性、SD-WAN封装扩展团体属性和color扩展团体属性。

Use BGP BIER VPN address family routing to advertise the BFR prefix within the VPN, carrying BIER encapsulation extended community attributes, SD-WAN encapsulation extended community attributes, and color extended community attributes.

步骤3:overlay组播加入。Step 3: Join the overlay multicast.
站点3中CPE6接收LAN侧接口的组播加入消息,获得BGP EVPN路由,路由携带PTA属性和VRI属性,通过RR反射给site5中CPE100。CPE100将CPE6学习为VPN BIER隧道的叶子节点,并根据PTA携带的BFR-ID计算出比特串。CPE6 in site 3 receives the multicast join message from the LAN side interface and obtains the BGP EVPN route. The route carries PTA attributes and VRI attributes and is reflected to CPE100 in site 5 through RR. CPE100 learns CPE6 as the leaf node of the VPN BIER tunnel, and calculates the bit string based on the BFR-ID carried by the PTA.
步骤4:组播数据报文转发。Step 4: Forward multicast data packets.
非叶子站点之间的组播数据报文转发同实例3。Multicast data packet forwarding between non-leaf sites is the same as Example 3.
组播数据报文到达叶子站点时,无论从两个隧道中的哪一个到达任意一个CPE,叶子站点内接收到组播数据报文的CPE都会剥离GRE头和BIER头,相当于组播数据报文出两层隧道。并且,接收到组播数据报文的CPE会通过overlay传统组播的方式,转发一份原始组播数据报文至同site内对端CPE。主CPE或者单归CPE负责将组播数据报文转发给LAN侧的组播接收者。When a multicast data packet reaches a leaf site, no matter which of the two tunnels it reaches any CPE, the CPE in the leaf site that receives the multicast data packet will strip off the GRE header and BIER header, which is equivalent to the multicast datagram. Wend out a two-story tunnel. In addition, the CPE that receives the multicast data packet will forward an original multicast data packet to the opposite CPE in the same site by overlaying traditional multicast. The primary CPE or single-homed CPE is responsible for forwarding multicast data packets to multicast receivers on the LAN side.
附图35是本申请实施例提供的一种组播配置装置700的结构示意图,装置700设于VPN内的第一网络设备,包括:处理单元701,用于获得第一参数集,该第一参数集包括该第一网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第一网络设备为该SD-WAN隧道的端点;发送单元702,用于在该VPN内发送该第一参数集。Figure 35 is a schematic structural diagram of a multicast configuration device 700 provided by an embodiment of the present application. The device 700 is installed on the first network device in the VPN and includes a processing unit 701 for obtaining a first parameter set. The parameter set includes the bit forwarding router prefix BFR prefix of the first network device and the parameters used to identify the software-defined wide area network SD-WAN tunnel. The first network device is the endpoint of the SD-WAN tunnel; the sending unit 702 is used to The first parameter set is sent within the VPN.
在一些实施方式中,该第一参数集还包括该第一网络设备的BIER转发路由器标识符BFR-ID。In some embodiments, the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
在一些实施方式中,该第一网络设备的BFR prefix为该第一网络设备在该VPN内的私网互联网协议IP地址。In some implementations, the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
在一些实施方式中,该第一参数集还包括该第一网络设备的比特串长度BSL、该第一网络设备的集合标识最大值max-SI、该第一网络设备所在的BIER子域的ID、该第一网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set also includes the bit string length BSL of the first network device, the maximum set identifier max-SI of the first network device, and the ID of the BIER subdomain where the first network device is located. , one or more of the bit index forwarding table identifier BIFT-ID of the first network device and the identifier of the VPN.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息,该第一隧道类型用于标识隧道的类型为SD-WAN隧道,该第一信息用于确定该SD-WAN隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information. The first tunnel type is used to identify the type of tunnel as an SD-WAN tunnel. The first information is used to determine The SD-WAN tunnel.
在一些实施方式中,该第一信息包括该第一网络设备所处的站点的标识或者该第一网络设备的用户端设备标识CPE ID中至少一项。In some implementations, the first information includes at least one of the identity of the site where the first network device is located or the client equipment identification (CPE ID) of the first network device.
在一些实施方式中,该发送单元702,用于向该VPN内的第二网络设备发送该第一参数集,该第二网络设备为该SD-WAN隧道的另一个端点;或者,向路由反射器RR发送该第一参数集,以使该RR将该第一参数集反射至该VPN内的第二网络设备,该第二网络设备为该SD-WAN隧道的另一个端点。In some implementations, the sending unit 702 is configured to send the first parameter set to a second network device in the VPN, which is another endpoint of the SD-WAN tunnel; or, to route reflection The server RR sends the first parameter set, so that the RR reflects the first parameter set to the second network device in the VPN, and the second network device is the other endpoint of the SD-WAN tunnel.
在一些实施方式中,该发送单元702,用于在该VPN内发送第一通告报文,该第一通告报文包括第一地址族标识以及该第一参数集,该第一地址族标识用于标识边界网关协议以太虚拟专用网络BGP EVPN或者边界网关协议虚拟专用网络基于比特位的显式复制BGP VPN BIER。 In some embodiments, the sending unit 702 is configured to send a first notification message within the VPN. The first notification message includes a first address family identifier and the first parameter set. The first address family identifier is Bit-based explicit replication of BGP VPN BIER used to identify Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or Border Gateway Protocol Virtual Private Network.
在一些实施方式中,该处理单元701,还用于获得第二参数集,该第二参数集包括组播源组信息、该第一网络设备的BFR prefix以及第二隧道类型,该第二隧道类型用于标识该第一网络设备与该VPN内第二网络设备之间的隧道为VPN BIER隧道;该发送单元702,用于向该第二网络设备发送该第二参数集。In some implementations, the processing unit 701 is also used to obtain a second parameter set, which includes multicast source group information, the BFR prefix of the first network device, and a second tunnel type. The second tunnel The type is used to identify the tunnel between the first network device and the second network device in the VPN as a VPN BIER tunnel; the sending unit 702 is used to send the second parameter set to the second network device.
在一些实施方式中,该第二参数集还包括该第一网络设备的比特转发路由器BFR-ID、该VPN的标识、该第二网络设备所处的站点的标识以及该第二网络设备的CPE ID中的一个或多个。In some embodiments, the second parameter set also includes the bit forwarding router BFR-ID of the first network device, the identity of the VPN, the identity of the site where the second network device is located, and the CPE of the second network device. One or more of the IDs.
在一些实施方式中,该发送单元702,用于向该第二网络设备发送第二通告报文,该第二通告报文包括第二地址族标识以及该第二参数集,该第二地址族标识用于标识下一代组播虚拟专用网络NG MVPN或者BGP EVPN。In some implementations, the sending unit 702 is configured to send a second notification message to the second network device. The second notification message includes a second address family identifier and the second parameter set. The second address family The identifier is used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
在一些实施方式中,该第二通告报文包括组播提供商服务接口隧道属性PTA属性,该PTA属性包括MPLS标签MPLS label字段,该MPLS label字段包括该VPN的标识。In some embodiments, the second advertisement message includes a multicast provider service interface tunnel attribute PTA attribute, the PTA attribute includes an MPLS label MPLS label field, and the MPLS label field includes an identification of the VPN.
在一些实施方式中,该装置还包括:In some embodiments, the device further includes:
接收单元,用于接收来自该VPN内组播接收者的加入消息,该加入消息包括该组播源组信息;或者,接收来自该VPN内组播接收者的离开消息,该离开消息包括该组播源组信息。A receiving unit configured to receive a join message from a multicast receiver in the VPN, where the join message includes the multicast source group information; or, to receive a leave message from a multicast receiver in the VPN, where the leave message includes the group information. Source group information.
附图35所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。The device embodiment described in Figure 35 is only illustrative. For example, the division of the above units is only a logical function division. In actual implementation, there may be other divisions. For example, multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented. Each functional unit in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
装置700中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。Each unit in the device 700 is implemented in whole or in part by software, hardware, firmware, or any combination thereof.
下面结合后文描述的网络设备900,描述使用硬件或软件来实现装置700中的各个功能单元的一些可能实现方式。Some possible implementations of using hardware or software to implement each functional unit in the device 700 are described below in conjunction with the network device 900 described below.
在采用软件实现的情况下,例如,上述处理单元701是由附图37中的至少一个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。In the case of software implementation, for example, the above-mentioned processing unit 701 is implemented by a software functional unit generated by at least one processor 901 in FIG. 37 after reading the program code stored in the memory 902.
在采用硬件实现的情况下,例如,附图35中上述各个单元由网络设备中的不同硬件分别实现,例如处理单元701由附图37中的至少一个处理器901中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。发送单元702由附图37中的网络接口903实现。In the case of hardware implementation, for example, the above-mentioned units in Figure 35 are respectively implemented by different hardware in the network device. For example, the processing unit 701 is implemented by a part of the processing resources (such as multi-core) in at least one processor 901 in Figure 37 One core or two cores in the processor), or using programmable devices such as field-programmable gate array (FPGA) or co-processor. The sending unit 702 is implemented by the network interface 903 in Figure 37.
附图36是本申请实施例提供的一种处理组播报文的装置800的结构示意图,装置800设于VPN内的第一网络设备,包括:接收单元801,用于接收第一组播数据报文;处理单元802,用于基于该第一组播数据报文和第一参数集,获得第二组播数据报文,该第一参数集包括该VPN内第二网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,该第二网络设备为该SD-WAN隧道的端点,该第二组播数据报文包括第一报文头、第二报文头和该第一组播数据报文的载荷,该第一报文头包括基 于该用于标识SD-WAN隧道的参数获得的该第二网络设备的IP地址,该第二报文头包括基于该第二网络设备的BFR prefix获取的基于比特位的显式复制BIER参数;Figure 36 is a schematic structural diagram of a device 800 for processing multicast messages provided by an embodiment of the present application. The device 800 is installed on the first network device in the VPN and includes: a receiving unit 801 for receiving the first multicast data. message; the processing unit 802 is configured to obtain a second multicast data message based on the first multicast data message and a first parameter set, where the first parameter set includes the bit forwarding router of the second network device in the VPN The prefix BFR prefix and the parameters used to identify the software-defined wide area network SD-WAN tunnel. The second network device is the endpoint of the SD-WAN tunnel. The second multicast data message includes a first message header and a second message. header and the payload of the first multicast data message. The first message header includes a base The IP address of the second network device obtained from the parameter used to identify the SD-WAN tunnel, the second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device;
发送单元803,用于通过该SD-WAN隧道向该第二网络设备发送该第二组播数据报文。The sending unit 803 is configured to send the second multicast data message to the second network device through the SD-WAN tunnel.
在一些实施方式中,该第一参数集还包括:该第二网络设备的BIER转发路由器标识符BFR-ID、该第二网络设备的比特串长度BSL、该第二网络设备的集合标识最大值max-SI、该第二网络设备所在的BIER子域的ID、该第二网络设备的比特索引转发表标识BIFT-ID以及该VPN的标识中的一个或多个。In some embodiments, the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, and the maximum set identifier of the second network device. One or more of the max-SI, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device, and the identifier of the VPN.
在一些实施方式中,该BIER参数包括与该第二网络设备的BFR prefix对应的比特串bitstring、与该第二网络设备的BFR prefix对应的BIER-MPLS标签、与该第二网络设备的BFR prefix对应的互联网协议第6版IPv6地址其中的一个或多个。In some implementations, the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, a BIER-MPLS label corresponding to the BFR prefix of the second network device, and a BFR prefix corresponding to the second network device. One or more of the corresponding Internet Protocol version 6 IPv6 addresses.
在一些实施方式中,该用于标识SD-WAN隧道的参数包括隧道类型以及用于确定该SD-WAN隧道的信息,该隧道类型用于标识隧道的类型为SD-WAN隧道。In some embodiments, the parameters used to identify the SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel. The tunnel type is used to identify the type of the tunnel as an SD-WAN tunnel.
在一些实施方式中,该用于确定该SD-WAN隧道的信息包括该第二网络设备所处的站点的标识或者该第二网络设备的用户端设备标识CPE ID中至少一项。In some embodiments, the information used to determine the SD-WAN tunnel includes at least one of the identity of the site where the second network device is located or the CPE ID of the second network device.
在一些实施方式中,该第一报文头包括协议类型字段,该协议类型字段用于标识携带该BIER参数的该第二报文头。In some implementations, the first message header includes a protocol type field, and the protocol type field is used to identify the second message header carrying the BIER parameter.
在一些实施方式中,该第一报文头还包括该VPN的ID。In some implementations, the first packet header also includes the ID of the VPN.
附图36所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。The device embodiment described in Figure 36 is only illustrative. For example, the division of the above units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or may be Integrated into another system, or some features can be ignored, or not implemented. Each functional unit in various embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
装置800中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。Each unit in the device 800 is implemented in whole or in part by software, hardware, firmware, or any combination thereof.
下面结合后文描述的网络设备900,描述使用硬件或软件来实现装置800中的各个功能单元的一些可能实现方式。Some possible implementations of using hardware or software to implement each functional unit in the device 800 are described below in conjunction with the network device 900 described below.
在采用软件实现的情况下,例如,上述处理单元802是由附图37中的至少一个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。In the case of software implementation, for example, the above-mentioned processing unit 802 is implemented by a software functional unit generated by at least one processor 901 in FIG. 37 after reading the program code stored in the memory 902.
在采用硬件实现的情况下,例如,附图36中上述各个单元由网络设备中的不同硬件分别实现,例如处理单元802由附图37中的至少一个处理器901中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。接收单元801和发送单元803由附图37中的网络接口903实现。In the case of hardware implementation, for example, the above-mentioned units in Figure 36 are respectively implemented by different hardware in the network device. For example, the processing unit 802 is implemented by a part of the processing resources (such as multi-core) in at least one processor 901 in Figure 37 One core or two cores in the processor), or using programmable devices such as field-programmable gate array (FPGA) or co-processor. The receiving unit 801 and the sending unit 803 are implemented by the network interface 903 in Figure 37.
附图37是本申请实施例提供的一种网络设备900的结构示意图。Figure 37 is a schematic structural diagram of a network device 900 provided by an embodiment of the present application.
网络设备900包括至少一个处理器901、存储器902以及至少一个网络接口903。Network device 900 includes at least one processor 901, memory 902, and at least one network interface 903.
处理器901例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或 多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 901 is, for example, a general-purpose central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), or a neural-network processing unit (NPU). ), a data processing unit (DPU), a microprocessor, or a or A plurality of integrated circuits used to implement the solution of this application. For example, the processor 901 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. A PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (GAL), or any combination thereof.
存储器902例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器902独立存在,并通过内部连接904与处理器901相连接。或者,可选地存储器902和处理器901集成在一起。The memory 902 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, or a random access memory (random access memory, RAM) or a device that can store information and instructions. Other types of dynamic storage devices, such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, optical discs Storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can Any other media accessed by a computer, without limitation. Optionally, the memory 902 exists independently and is connected to the processor 901 through an internal connection 904. Alternatively, memory 902 and processor 901 may optionally be integrated together.
网络接口903使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口903例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。Network interface 903 uses any transceiver-like device for communicating with other devices or communications networks. The network interface 903 includes, for example, at least one of a wired network interface or a wireless network interface. The wired network interface is, for example, an Ethernet interface. The Ethernet interface is, for example, an optical interface, an electrical interface or a combination thereof. The wireless network interface is, for example, a wireless local area network (WLAN) interface, a cellular network network interface or a combination thereof.
在一些实施例中,处理器901包括一个或多个CPU,如附图37中所示的CPU0和CPU1。In some embodiments, processor 901 includes one or more CPUs, such as CPU0 and CPU1 shown in Figure 37.
在一些实施例中,网络设备900可选地包括多个处理器,如附图37中所示的处理器901和处理器905。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。In some embodiments, network device 900 optionally includes multiple processors, such as processor 901 and processor 905 shown in FIG. 37 . Each of these processors is, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU). Processor here optionally refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
在一些实施例中,网络设备900还包括内部连接904。处理器901、存储器902以及至少一个网络接口903通过内部连接904连接。内部连接904包括通路,在上述组件之间传送信息。可选地,内部连接904是单板或总线。可选地,内部连接904分为地址总线、数据总线、控制总线等。In some embodiments, network device 900 also includes internal connections 904. The processor 901, the memory 902 and at least one network interface 903 are connected through an internal connection 904. Internal connections 904 include pathways that carry information between the components described above. Optionally, internal connection 904 is a single board or bus. Optionally, the internal connections 904 are divided into address bus, data bus, control bus, etc.
在一些实施例中,网络设备900还包括输入输出接口906。输入输出接口906连接到内部连接904上。In some embodiments, network device 900 also includes an input and output interface 906. Input/output interface 906 is connected to internal connection 904 .
可选地,处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法,或者,处理器901通过内部存储的程序代码实现上述实施例中的方法。在处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法的情况下,存储器902中保存实现本申请实施例提供的方法的程序代码910。Optionally, the processor 901 implements the method in the above embodiment by reading the program code stored in the memory 902, or the processor 901 implements the method in the above embodiment by using the internally stored program code. In the case where the processor 901 implements the method in the above embodiment by reading the program code stored in the memory 902, the memory 902 stores the program code 910 that implements the method provided by the embodiment of the present application.
处理器901实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。For more details on how the processor 901 implements the above functions, please refer to the descriptions in the previous method embodiments, which will not be repeated here.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可互相参考,每个实施例重点说明的都是与其他实施例的不同之处。 Each embodiment in this specification is described in a progressive manner. The same and similar parts between the various embodiments can be referred to each other. Each embodiment focuses on its differences from other embodiments.
A参考B,指的是A与B相同或者A为B的简单变形。A refers to B, which means that A is the same as B or that A is a simple transformation of B.
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,也不能理解为指示或暗示相对重要性。例如,第一参数集和第二参数集用于区别不同的参数集,而不是用于描述参数集的特定顺序,也不能理解为第一参数集比第二参数集更重要。The terms "first" and "second" in the description and claims of the embodiments of this application are used to distinguish different objects, rather than to describe a specific order of objects, and cannot be understood to indicate or imply relative importance. sex. For example, the first parameter set and the second parameter set are used to distinguish different parameter sets rather than to describe a specific order of the parameter sets, nor can it be understood that the first parameter set is more important than the second parameter set.
本申请实施例,除非另有说明,“至少一个”的含义是指一个或多个,“多个”的含义是指两个或两个以上。例如,多个参数集是指两个或两个以上的参数集。In the embodiments of this application, unless otherwise stated, “at least one” means one or more, and “plurality” means two or more. For example, multiple parameter sets refer to two or more parameter sets.
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with the embodiments of the present application are generated in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted over a wired connection from a website, computer, server, or data center (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website, computer, server or data center. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media. The available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。 The above embodiments are only used to illustrate the technical solutions of the present application, but are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments. Modifications may be made to the recorded technical solutions, or equivalent substitutions may be made to some of the technical features; however, these modifications or substitutions do not cause the essence of the corresponding technical solutions to depart from the scope of the technical solutions of the embodiments of the present application.

Claims (44)

  1. 一种组播配置方法,其特征在于,包括:A multicast configuration method, characterized by including:
    虚拟专用网VPN内的第一网络设备获得第一参数集,所述第一参数集包括所述第一网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,所述第一网络设备为所述SD-WAN隧道的端点;The first network device in the virtual private network VPN obtains a first parameter set, the first parameter set includes the bit forwarding router prefix BFR prefix of the first network device and parameters used to identify the software-defined wide area network SD-WAN tunnel, The first network device is an endpoint of the SD-WAN tunnel;
    所述第一网络设备在所述VPN内发送所述第一参数集。The first network device sends the first parameter set within the VPN.
  2. 根据权利要求1所述的方法,其特征在于,所述第一参数集还包括所述第一网络设备的BIER转发路由器标识符BFR-ID。The method according to claim 1, characterized in that the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一网络设备的BFR prefix为所述第一网络设备在所述VPN内的私网互联网协议IP地址。The method according to claim 1 or 2, characterized in that the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述第一参数集还包括所述第一网络设备的比特串长度BSL、所述第一网络设备的集合标识最大值max-SI、所述第一网络设备所在的BIER子域的ID、所述第一网络设备的比特索引转发表标识BIFT-ID以及所述VPN的标识中的一个或多个。The method according to any one of claims 1 to 3, characterized in that the first parameter set further includes the bit string length BSL of the first network device and the maximum set identifier of the first network device. One or more of max-SI, the ID of the BIER subdomain where the first network device is located, the bit index forwarding table identifier BIFT-ID of the first network device, and the identifier of the VPN.
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息,所述第一隧道类型用于标识隧道的类型为SD-WAN隧道,所述第一信息用于确定所述SD-WAN隧道。The method according to any one of claims 1 to 4, characterized in that the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information, the first tunnel type is used to identify the tunnel The type is an SD-WAN tunnel, and the first information is used to determine the SD-WAN tunnel.
  6. 根据权利要求5所述的方法,其特征在于,所述第一信息包括所述第一网络设备所处的站点的标识或者所述第一网络设备的用户端设备标识CPE ID中至少一项。The method of claim 5, wherein the first information includes at least one of an identifier of the site where the first network device is located or a CPE ID of the first network device.
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述第一网络设备在所述VPN内发送所述第一参数集,包括:The method according to any one of claims 1 to 6, characterized in that the first network device sends the first parameter set within the VPN, including:
    所述第一网络设备向所述VPN内的第二网络设备发送所述第一参数集,所述第二网络设备为所述SD-WAN隧道的另一个端点;或者,The first network device sends the first parameter set to a second network device in the VPN, and the second network device is the other endpoint of the SD-WAN tunnel; or,
    所述第一网络设备向路由反射器RR发送所述第一参数集,以使所述RR将所述第一参数集反射至所述VPN内的第二网络设备,所述第二网络设备为所述SD-WAN隧道的另一个端点。The first network device sends the first parameter set to a route reflector RR, so that the RR reflects the first parameter set to a second network device in the VPN, and the second network device is The other endpoint of the SD-WAN tunnel.
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述第一网络设备在所述VPN内发送所述第一参数集,包括:The method according to any one of claims 1 to 7, characterized in that the first network device sends the first parameter set within the VPN, including:
    所述第一网络设备在所述VPN内发送第一通告报文,所述第一通告报文包括第一地址族标识以及所述第一参数集,所述第一地址族标识用于标识边界网关协议以太虚拟专用网络BGP EVPN或者边界网关协议虚拟专用网络基于比特位的显式复制BGP VPN BIER。The first network device sends a first advertisement message within the VPN. The first advertisement message includes a first address family identifier and the first parameter set. The first address family identifier is used to identify a boundary. Gateway Protocol Ethernet Virtual Private Network BGP EVPN or Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
  9. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    所述第一网络设备获得第二参数集,所述第二参数集包括组播源组信息、所述第一网络设备的BFR prefix以及第二隧道类型,所述第二隧道类型用于标识所述第一网络设备与所述VPN内第二网络设备之间的隧道为VPN BIER隧道;The first network device obtains a second parameter set. The second parameter set includes multicast source group information, the BFR prefix of the first network device, and a second tunnel type. The second tunnel type is used to identify all The tunnel between the first network device and the second network device in the VPN is a VPN BIER tunnel;
    所述第一网络设备向所述第二网络设备发送所述第二参数集。The first network device sends the second parameter set to the second network device.
  10. 根据权利要求9所述的方法,其特征在于,所述第二参数集还包括所述第一网络设 备的比特转发路由器BFR-ID、所述VPN的标识、所述第二网络设备所处的站点的标识以及所述第二网络设备的CPE ID中的一个或多个。The method according to claim 9, characterized in that the second parameter set further includes the first network device One or more of the BFR-ID of the bit forwarding router of the device, the identifier of the VPN, the identifier of the site where the second network device is located, and the CPE ID of the second network device.
  11. 根据权利要求9或10所述的方法,其特征在于,所述第一网络设备向所述第二网络设备发送所述第二参数集,包括:The method according to claim 9 or 10, characterized in that the first network device sends the second parameter set to the second network device, including:
    所述第一网络设备向所述第二网络设备发送第二通告报文,所述第二通告报文包括第二地址族标识以及所述第二参数集,所述第二地址族标识用于标识下一代组播虚拟专用网络NG MVPN或者BGP EVPN。The first network device sends a second notification message to the second network device. The second notification message includes a second address family identifier and the second parameter set. The second address family identifier is used to Identifies the next generation multicast virtual private network NG MVPN or BGP EVPN.
  12. 根据权利要求11所述的方法,其特征在于,所述第二通告报文包括组播提供商服务接口隧道属性PTA属性,所述PTA属性包括MPLS标签MPLS label字段,所述MPLS label字段包括所述VPN的标识。The method according to claim 11, characterized in that the second notification message includes a multicast provider service interface tunnel attribute PTA attribute, the PTA attribute includes an MPLS label MPLS label field, and the MPLS label field includes the The identifier of the VPN.
  13. 根据权利要求9至12中任一项所述的方法,其特征在于,所述第一网络设备获得第二参数集之前,所述方法还包括:The method according to any one of claims 9 to 12, characterized in that before the first network device obtains the second parameter set, the method further includes:
    所述第一网络设备接收来自所述VPN内组播接收者的加入消息,所述加入消息包括所述组播源组信息;或者,The first network device receives a join message from the intra-VPN multicast receiver, where the join message includes the multicast source group information; or,
    所述第一网络设备接收来自所述VPN内组播接收者的离开消息,所述离开消息包括所述组播源组信息。The first network device receives a leave message from the intra-VPN multicast receiver, where the leave message includes the multicast source group information.
  14. 一种处理组播报文的方法,其特征在于,包括:A method for processing multicast messages, which is characterized by including:
    虚拟专用网VPN内的第一网络设备接收第一组播数据报文;The first network device in the virtual private network VPN receives the first multicast data message;
    所述第一网络设备基于所述第一组播数据报文和第一参数集,获得第二组播数据报文,所述第一参数集包括所述VPN内第二网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,所述第二网络设备为所述SD-WAN隧道的端点,所述第二组播数据报文包括第一报文头、第二报文头和所述第一组播数据报文的载荷,所述第一报文头包括基于所述用于标识SD-WAN隧道的参数获得的所述第二网络设备的IP地址,所述第二报文头包括基于所述第二网络设备的BFR prefix获取的基于比特位的显式复制BIER参数;The first network device obtains a second multicast data message based on the first multicast data message and a first parameter set, where the first parameter set includes a bit forwarding router of the second network device in the VPN The prefix BFR prefix and the parameters used to identify the software-defined wide area network SD-WAN tunnel, the second network device is the endpoint of the SD-WAN tunnel, and the second multicast data message includes a first message header, a third Two message headers and a payload of the first multicast data message, where the first message header includes the IP address of the second network device obtained based on the parameter used to identify the SD-WAN tunnel, so The second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device;
    所述第一网络设备通过所述SD-WAN隧道向所述第二网络设备发送所述第二组播数据报文。The first network device sends the second multicast data message to the second network device through the SD-WAN tunnel.
  15. 根据权利要求14所述的方法,其特征在于,所述第一参数集还包括:所述第二网络设备的BIER转发路由器标识符BFR-ID、所述第二网络设备的比特串长度BSL、所述第二网络设备的集合标识最大值max-SI、所述第二网络设备所在的BIER子域的ID、所述第二网络设备的比特索引转发表标识BIFT-ID以及所述VPN的标识中的一个或多个。The method according to claim 14, characterized in that the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, The maximum set identifier max-SI of the second network device, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device and the identifier of the VPN one or more of.
  16. 根据权利要求14或15所述的方法,其特征在于,所述BIER参数包括与所述第二网络设备的BFR prefix对应的比特串bitstring、与所述第二网络设备的BFR prefix对应的BIER-MPLS标签、与所述第二网络设备的BFR prefix对应的互联网协议第6版IPv6地址其中的一个或多个。The method according to claim 14 or 15, characterized in that the BIER parameter includes a bit string corresponding to the BFR prefix of the second network device, and a BIER- corresponding to the BFR prefix of the second network device. One or more of the MPLS label and the Internet Protocol version 6 IPv6 address corresponding to the BFR prefix of the second network device.
  17. 根据权利要求14至16中任一项所述的方法,其特征在于,所述用于标识SD-WAN隧道的参数包括隧道类型以及用于确定所述SD-WAN隧道的信息,所述隧道类型用于标识 隧道的类型为SD-WAN隧道。The method according to any one of claims 14 to 16, characterized in that the parameters used to identify an SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel, the tunnel type for identification The type of tunnel is SD-WAN tunnel.
  18. 根据权利要求17所述的方法,其特征在于,所述用于确定所述SD-WAN隧道的信息包括所述第二网络设备所处的站点的标识或者所述第二网络设备的用户端设备标识CPE ID中至少一项。The method of claim 17, wherein the information used to determine the SD-WAN tunnel includes an identification of a site where the second network device is located or a client device of the second network device. Identifies at least one of the CPE IDs.
  19. 根据权利要求14至18中任一所述的方法,其特征在于,所述第一报文头包括协议类型字段,所述协议类型字段用于标识携带所述BIER参数的所述第二报文头。The method according to any one of claims 14 to 18, characterized in that the first message header includes a protocol type field, and the protocol type field is used to identify the second message carrying the BIER parameter. head.
  20. 根据权利要求15所述的方法,其特征在于,所述第一报文头还包括所述VPN的ID。The method according to claim 15, characterized in that the first message header further includes the ID of the VPN.
  21. 一种组播配置装置,其特征在于,设于虚拟专用网VPN内的第一网络设备,包括:A multicast configuration device, characterized in that the first network device provided in a virtual private network (VPN) includes:
    处理单元,用于获得第一参数集,所述第一参数集包括所述第一网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,所述第一网络设备为所述SD-WAN隧道的端点;A processing unit configured to obtain a first parameter set, the first parameter set including the bit forwarding router prefix BFR prefix of the first network device and parameters used to identify the software-defined wide area network SD-WAN tunnel, the first network The device is the endpoint of the SD-WAN tunnel;
    发送单元,用于在所述VPN内发送所述第一参数集。A sending unit, configured to send the first parameter set within the VPN.
  22. 根据权利要求21所述的装置,其特征在于,所述第一参数集还包括所述第一网络设备的BIER转发路由器标识符BFR-ID。The apparatus according to claim 21, wherein the first parameter set further includes a BIER forwarding router identifier BFR-ID of the first network device.
  23. 根据权利要求21或22所述的装置,其特征在于,所述第一网络设备的BFR prefix为所述第一网络设备在所述VPN内的私网互联网协议IP地址。The device according to claim 21 or 22, wherein the BFR prefix of the first network device is the private Internet Protocol IP address of the first network device in the VPN.
  24. 根据权利要求21至23中任一项所述的装置,其特征在于,所述第一参数集还包括所述第一网络设备的比特串长度BSL、所述第一网络设备的集合标识最大值max-SI、所述第一网络设备所在的BIER子域的ID、所述第一网络设备的比特索引转发表标识BIFT-ID以及所述VPN的标识中的一个或多个。The apparatus according to any one of claims 21 to 23, wherein the first parameter set further includes the bit string length BSL of the first network device and the maximum set identifier of the first network device. One or more of max-SI, the ID of the BIER subdomain where the first network device is located, the bit index forwarding table identifier BIFT-ID of the first network device, and the identifier of the VPN.
  25. 根据权利要求21至24中任一项所述的装置,其特征在于,所述用于标识SD-WAN隧道的参数包括第一隧道类型以及第一信息,所述第一隧道类型用于标识隧道的类型为SD-WAN隧道,所述第一信息用于确定所述SD-WAN隧道。The device according to any one of claims 21 to 24, characterized in that the parameters used to identify the SD-WAN tunnel include a first tunnel type and first information, the first tunnel type is used to identify the tunnel The type is an SD-WAN tunnel, and the first information is used to determine the SD-WAN tunnel.
  26. 根据权利要求25所述的装置,其特征在于,所述第一信息包括所述第一网络设备所处的站点的标识或者所述第一网络设备的用户端设备标识CPE ID中至少一项。The apparatus according to claim 25, wherein the first information includes at least one of an identifier of the site where the first network device is located or a CPE ID of the first network device.
  27. 根据权利要求21至26中任一项所述的装置,其特征在于,所述发送单元,用于向所述VPN内的第二网络设备发送所述第一参数集,所述第二网络设备为所述SD-WAN隧道的另一个端点;或者,向路由反射器RR发送所述第一参数集,以使所述RR将所述第一参数集反射至所述VPN内的第二网络设备,所述第二网络设备为所述SD-WAN隧道的另一个端点。The device according to any one of claims 21 to 26, characterized in that the sending unit is configured to send the first parameter set to a second network device in the VPN, and the second network device be another endpoint of the SD-WAN tunnel; or, send the first parameter set to the route reflector RR, so that the RR reflects the first parameter set to the second network device in the VPN , the second network device is the other endpoint of the SD-WAN tunnel.
  28. 根据权利要求21至27中任一项所述的装置,其特征在于,所述发送单元,用于在所述VPN内发送第一通告报文,所述第一通告报文包括第一地址族标识以及所述第一参数集,所述第一地址族标识用于标识边界网关协议以太虚拟专用网络BGP EVPN或者边界网关协议虚拟专用网络基于比特位的显式复制BGP VPN BIER。The device according to any one of claims 21 to 27, characterized in that the sending unit is configured to send a first notification message within the VPN, and the first notification message includes a first address family The identifier and the first parameter set, the first address family identifier is used to identify the Border Gateway Protocol Ethernet Virtual Private Network BGP EVPN or the Border Gateway Protocol Virtual Private Network bit-based explicit replication BGP VPN BIER.
  29. 根据权利要求21所述的装置,其特征在于,所述处理单元,还用于获得第二参数集,所述第二参数集包括组播源组信息、所述第一网络设备的BFR prefix以及第二隧道类型,所述第二隧道类型用于标识所述第一网络设备与所述VPN内第二网络设备之间的隧道 为VPN BIER隧道;所述发送单元,用于向所述第二网络设备发送所述第二参数集。The device according to claim 21, characterized in that the processing unit is further configured to obtain a second parameter set, the second parameter set includes multicast source group information, the BFR prefix of the first network device and A second tunnel type, the second tunnel type is used to identify the tunnel between the first network device and the second network device in the VPN It is a VPN BIER tunnel; the sending unit is configured to send the second parameter set to the second network device.
  30. 根据权利要求29所述的装置,其特征在于,所述第二参数集还包括所述第一网络设备的比特转发路由器BFR-ID、所述VPN的标识、所述第二网络设备所处的站点的标识以及所述第二网络设备的CPE ID中的一个或多个。The apparatus according to claim 29, characterized in that the second parameter set further includes a bit forwarding router BFR-ID of the first network device, an identifier of the VPN, and a location where the second network device is located. One or more of the identity of the site and the CPE ID of the second network device.
  31. 根据权利要求29或30所述的装置,其特征在于,所述发送单元,用于向所述第二网络设备发送第二通告报文,所述第二通告报文包括第二地址族标识以及所述第二参数集,所述第二地址族标识用于标识下一代组播虚拟专用网络NG MVPN或者BGP EVPN。The apparatus according to claim 29 or 30, wherein the sending unit is configured to send a second notification message to the second network device, the second notification message including a second address family identifier and The second parameter set and the second address family identifier are used to identify the next generation multicast virtual private network NG MVPN or BGP EVPN.
  32. 根据权利要求31所述的装置,其特征在于,所述第二通告报文包括组播提供商服务接口隧道属性PTA属性,所述PTA属性包括MPLS标签MPLS label字段,所述MPLS label字段包括所述VPN的标识。The device according to claim 31, wherein the second notification message includes a multicast provider service interface tunnel attribute PTA attribute, the PTA attribute includes an MPLS label MPLS label field, and the MPLS label field includes the The identifier of the VPN.
  33. 根据权利要求29至32中任一项所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 29 to 32, characterized in that the device further includes:
    接收单元,用于接收来自所述VPN内组播接收者的加入消息,所述加入消息包括所述组播源组信息;或者,接收来自所述VPN内组播接收者的离开消息,所述离开消息包括所述组播源组信息。A receiving unit configured to receive a join message from the intra-VPN multicast receiver, where the join message includes the multicast source group information; or, to receive a leave message from the intra-VPN multicast receiver, the The leave message includes the multicast source group information.
  34. 一种处理组播报文的装置,其特征在于,设于虚拟专用网VPN内的第一网络设备,包括:A device for processing multicast messages, characterized in that the first network device located in a virtual private network (VPN) includes:
    接收单元,用于接收第一组播数据报文;The receiving unit is used to receive the first multicast data message;
    处理单元,用于基于所述第一组播数据报文和第一参数集,获得第二组播数据报文,所述第一参数集包括所述VPN内第二网络设备的比特转发路由器前缀BFR prefix以及用于标识软件定义广域网SD-WAN隧道的参数,所述第二网络设备为所述SD-WAN隧道的端点,所述第二组播数据报文包括第一报文头、第二报文头和所述第一组播数据报文的载荷,所述第一报文头包括基于所述用于标识SD-WAN隧道的参数获得的所述第二网络设备的IP地址,所述第二报文头包括基于所述第二网络设备的BFR prefix获取的基于比特位的显式复制BIER参数;A processing unit configured to obtain a second multicast data message based on the first multicast data message and a first parameter set, where the first parameter set includes the bit forwarding router prefix of the second network device in the VPN BFR prefix and parameters used to identify the software-defined wide area network SD-WAN tunnel. The second network device is the endpoint of the SD-WAN tunnel. The second multicast data message includes a first message header, a second The message header and the payload of the first multicast data message, the first message header includes the IP address of the second network device obtained based on the parameter used to identify the SD-WAN tunnel, the The second message header includes a bit-based explicit copy BIER parameter obtained based on the BFR prefix of the second network device;
    发送单元,用于通过所述SD-WAN隧道向所述第二网络设备发送所述第二组播数据报文。A sending unit, configured to send the second multicast data message to the second network device through the SD-WAN tunnel.
  35. 根据权利要求34所述的装置,其特征在于,所述第一参数集还包括:所述第二网络设备的BIER转发路由器标识符BFR-ID、所述第二网络设备的比特串长度BSL、所述第二网络设备的集合标识最大值max-SI、所述第二网络设备所在的BIER子域的ID、所述第二网络设备的比特索引转发表标识BIFT-ID以及所述VPN的标识中的一个或多个。The apparatus according to claim 34, wherein the first parameter set further includes: the BIER forwarding router identifier BFR-ID of the second network device, the bit string length BSL of the second network device, The maximum set identifier max-SI of the second network device, the ID of the BIER subdomain where the second network device is located, the bit index forwarding table identifier BIFT-ID of the second network device and the identifier of the VPN one or more of.
  36. 根据权利要求34或35所述的装置,其特征在于,所述BIER参数包括与所述第二网络设备的BFR prefix对应的比特串bitstring、与所述第二网络设备的BFR prefix对应的BIER-MPLS标签、与所述第二网络设备的BFR prefix对应的互联网协议第6版IPv6地址其中的一个或多个。The device according to claim 34 or 35, wherein the BIER parameter includes a bitstring corresponding to the BFR prefix of the second network device, and a BIER-bitstring corresponding to the BFR prefix of the second network device. One or more of the MPLS label and the Internet Protocol version 6 IPv6 address corresponding to the BFR prefix of the second network device.
  37. 根据权利要求34至36中任一项所述的装置,其特征在于,所述用于标识SD-WAN隧道的参数包括隧道类型以及用于确定所述SD-WAN隧道的信息,所述隧道类型用于标识隧道的类型为SD-WAN隧道。 The device according to any one of claims 34 to 36, wherein the parameters used to identify an SD-WAN tunnel include a tunnel type and information used to determine the SD-WAN tunnel, the tunnel type The type used to identify the tunnel is SD-WAN tunnel.
  38. 根据权利要求37所述的装置,其特征在于,所述用于确定所述SD-WAN隧道的信息包括所述第二网络设备所处的站点的标识或者所述第二网络设备的用户端设备标识CPE ID中至少一项。The apparatus according to claim 37, wherein the information used to determine the SD-WAN tunnel includes an identification of a site where the second network device is located or a client device of the second network device. Identifies at least one of the CPE IDs.
  39. 根据权利要求34至38中任一所述的装置,其特征在于,所述第一报文头包括协议类型字段,所述协议类型字段用于标识携带所述BIER参数的所述第二报文头。The device according to any one of claims 34 to 38, characterized in that the first message header includes a protocol type field, and the protocol type field is used to identify the second message carrying the BIER parameter. head.
  40. 根据权利要求35所述的装置,其特征在于,所述第一报文头还包括所述VPN的ID。The device according to claim 35, wherein the first message header further includes the ID of the VPN.
  41. 一种网络设备,其特征在于,所述网络设备包括处理器和网络接口,所述网络设备通过所述处理器和所述网络接口,执行如权利要求1至权利要求20中任一项由第一网络设备执行的方法。A network device, characterized in that the network device includes a processor and a network interface, and the network device executes any one of claims 1 to 20 by using the processor and the network interface. A method performed by a network device.
  42. 一种网络系统,其特征在于,所述系统包括如权利要求21至33中任一项所述的装置以及如权利要求34至40中任一项所述的装置。A network system, characterized in that the system includes the device according to any one of claims 21 to 33 and the device according to any one of claims 34 to 40.
  43. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行如权利要求1-20中任一项所述的方法。A computer-readable storage medium, characterized in that at least one instruction is stored in the storage medium, and when the instruction is run on a computer, it causes the computer to execute the method according to any one of claims 1-20.
  44. 一种计算机程序产品,其特征在于,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行权利要求1-20中任一项所述的方法。 A computer program product, characterized in that the computer program product includes one or more computer program instructions. When the computer program instructions are loaded and run by a computer, they cause the computer to execute any one of claims 1-20. method described in the item.
PCT/CN2023/098480 2022-07-21 2023-06-06 Multicast configuration method and apparatus WO2024016869A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210865496.3 2022-07-21
CN202210865496 2022-07-21
CN202211512828.6A CN117478503A (en) 2022-07-21 2022-11-28 Multicast configuration method and device
CN202211512828.6 2022-11-28

Publications (1)

Publication Number Publication Date
WO2024016869A1 true WO2024016869A1 (en) 2024-01-25

Family

ID=89616961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/098480 WO2024016869A1 (en) 2022-07-21 2023-06-06 Multicast configuration method and apparatus

Country Status (1)

Country Link
WO (1) WO2024016869A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995634A (en) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 A kind of bearing method and equipment of multicasting virtual private network network
CN111147383A (en) * 2018-11-02 2020-05-12 华为技术有限公司 Message forwarding method, message sending device and message receiving device
US20200245206A1 (en) * 2017-03-06 2020-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Bit indexed explicit replication based multicast for locator identifier separation protocol
CN111917622A (en) * 2019-09-23 2020-11-10 华为技术有限公司 Reverse Path Forwarding (RPF) checking method and device
CN114095305A (en) * 2020-07-21 2022-02-25 华为技术有限公司 BIER message forwarding method, equipment and system
CN114465920A (en) * 2020-11-09 2022-05-10 华为技术有限公司 Method, device and system for determining corresponding relation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200245206A1 (en) * 2017-03-06 2020-07-30 Telefonaktiebolaget Lm Ericsson (Publ) Bit indexed explicit replication based multicast for locator identifier separation protocol
CN109995634A (en) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 A kind of bearing method and equipment of multicasting virtual private network network
CN111147383A (en) * 2018-11-02 2020-05-12 华为技术有限公司 Message forwarding method, message sending device and message receiving device
CN111917622A (en) * 2019-09-23 2020-11-10 华为技术有限公司 Reverse Path Forwarding (RPF) checking method and device
CN114095305A (en) * 2020-07-21 2022-02-25 华为技术有限公司 BIER message forwarding method, equipment and system
CN114465920A (en) * 2020-11-09 2022-05-10 华为技术有限公司 Method, device and system for determining corresponding relation

Similar Documents

Publication Publication Date Title
JP7208386B2 (en) Packet transfer method, packet transmitter, and packet receiver
CN109218178B (en) Message processing method and network equipment
WO2021063232A1 (en) Method, apparatus and system for establishing bier forwarding table entry
US10135627B2 (en) System for avoiding traffic flooding due to asymmetric MAC learning and achieving predictable convergence for PBB-EVPN active-active redundancy
CN108574630B (en) EVPN message processing method, device and system
WO2020182086A1 (en) Bier packet sending method and apparatus
WO2019105462A1 (en) Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node
US9148300B2 (en) Method and system for telecommunications including self-organizing scalable Ethernet using IS-IS hierarchy
US8717934B2 (en) Multicast source move detection for layer-2 interconnect solutions
CN103139037B (en) For realizing the method and apparatus of VLAN flexibly
US8553581B2 (en) Method and apparatus for provisioning a network element
US20230155932A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
CN107612808B (en) Tunnel establishment method and device
CN106572021B (en) Method for realizing network virtualization superposition and network virtualization edge node
CN108964940A (en) Message method and device, storage medium
CN113132235B (en) Data message processing method based on virtual circuit and construction method of forwarding table item
US11362954B2 (en) Tunneling inter-domain stateless internet protocol multicast packets
WO2018058639A1 (en) Pseudo wire load sharing method and apparatus
WO2020098611A1 (en) Method and apparatus for acquiring routing information
WO2022117018A1 (en) Packet transmission method and apparatus
CN113037883B (en) Method and device for updating MAC address table entries
US20210126812A1 (en) Anycast address configuration for extended local area networks
WO2024016869A1 (en) Multicast configuration method and apparatus
WO2021103744A1 (en) Heterogeneous network communication method and system, and controller
WO2021129023A1 (en) Message sending method, device and system

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: 23841936

Country of ref document: EP

Kind code of ref document: A1