WO2022116895A1 - Bier报文转发的方法、设备以及系统 - Google Patents

Bier报文转发的方法、设备以及系统 Download PDF

Info

Publication number
WO2022116895A1
WO2022116895A1 PCT/CN2021/133370 CN2021133370W WO2022116895A1 WO 2022116895 A1 WO2022116895 A1 WO 2022116895A1 CN 2021133370 W CN2021133370 W CN 2021133370W WO 2022116895 A1 WO2022116895 A1 WO 2022116895A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
bier
vpn
identifier
global
Prior art date
Application number
PCT/CN2021/133370
Other languages
English (en)
French (fr)
Inventor
谢经荣
段方红
耿雪松
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21899927.4A priority Critical patent/EP4246918A4/en
Publication of WO2022116895A1 publication Critical patent/WO2022116895A1/zh
Priority to US18/327,541 priority patent/US20230318974A1/en

Links

Images

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
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Definitions

  • the present application relates to the field of network communication, and more particularly, to a method, device and system for forwarding BIER messages.
  • IP multicast technology realizes the efficient point-to-multipoint data transmission in the IP network, which can effectively save the network bandwidth and reduce the network load.
  • BIER bit indexed explicit replication
  • the BIER message needs to simultaneously identify the virtual private network (VPN) to which the source node of the inner layer data message of the BIER message belongs and the entry node information of the BIER domain, so that the BIER message can support multiple multicast deployments and application methods, for example, it supports popping the penultimate hop of the BIER header in the BIER packet, and supports that the entry node that sends the BIER packet in the BIER domain does not configure the bit-forwarding router identifier (BFR ID), etc.
  • VPN virtual private network
  • the BIER message also includes an IP header + a virtual extensible local area network (VXLAN) header/network virtualization generic routing encapsulation (NVGRE) header/general Network virtualization encapsulation (generic network virtualization encapsulation, GENEVE) header.
  • VXLAN virtual extensible local area network
  • NVGRE network virtualization generic routing encapsulation
  • GENEVE general Network virtualization encapsulation
  • the header encapsulation overhead of the BIER packet under this encapsulation is relatively high.
  • the present application provides a method, device and system for forwarding a BIER message, which can identify in the BIER message the VPN to which the source node of the inner layer data message belongs and the information of the entry node that sends the BIER message in the BIER domain, and also Reduce the encapsulation overhead of the BIER packet header.
  • a method for forwarding a BIER message comprising: a first network device receiving a BIER message sent by a second network device, where the BIER message includes a data message and a global virtual private network VPN identifier, so The global VPN identifier is used to uniquely identify the VPN to which the source device of the data packet belongs in the BIER domain, and the global VPN identifier includes the identifier of the second network device and the first identifier.
  • the identifier is used to identify the second network device in the BIER domain, the first identifier is used to identify the VPN to which the source device of the data packet belongs on the second network device, and the second network device
  • the device is an entry node of the BIER domain, and the first network device is an exit node of the BIER domain; the first network device determines a first VPN corresponding to the global VPN identifier according to the global VPN identifier, The first VPN is a VPN determined by the first network device and to which the destination device of the data packet belongs; the first network device sends the destination device of the data packet corresponding to the first VPN the data message.
  • the BIER message sent by the second network device to the first network device may include a global VPN identifier, and the global VPN identifier includes the identifier of the second network device and the source of the data message on the second network device.
  • the above BIER packet can simultaneously identify the VPN to which the source node of the inner layer data packet of the BIER packet belongs and the entry node information of the BIER domain only through the global VPN identification. Therefore, the source of the inner layer data packet can be identified in the BIER packet.
  • the VPN to which the node belongs and the information of the entry node for sending the BIER packet in the BIER domain can also reduce the encapsulation overhead of the BIER packet header.
  • the identifier of the second network device includes any one of the following: an Internet Protocol version 4 IPv4 address of the second network device, the second network device The IPv6 address of the Internet Protocol version 6 of the second network device, the prefix of the IPv6 address of the second network device, and the MAC address of the medium access control of the second network device.
  • the method further includes: the first network device receives a control packet, where the control packet includes the global VPN identifier and the second routing destination attribute; the first network device determines a first routing target attribute according to the control packet, and the first routing target attribute corresponds to the second routing target attribute; the first network device determines the first routing target attribute according to the first network
  • the correspondence between the first routing target attribute on the device and the first VPN determines the correspondence between the global VPN identifier and the first VPN.
  • the method further includes: the first network device determines, according to the protocol proto field in the BIER header of the BIER packet, that the BIER packet includes the global VPN identifier.
  • the global VPN identifier is located after the BIER header.
  • the first network device decapsulates the BIER packet to obtain the data packet;
  • the destination device of the data packet corresponding to the VPN sends the data packet.
  • a method for forwarding a BIER packet including: a second network device determining a correspondence between a global VPN identifier and a second routing target attribute, where the global VPN identifier is used to uniquely identify in the BIER domain
  • the VPN to which the source device of the data packet belongs, the global VPN identifier includes the identifier of the second network device and the first identifier, and the identifier of the second network device is used to identify the second network device in the BIER domain a network device, where the first identifier is used to identify, on the second network device, the VPN to which the source device of the data packet belongs, and the second network device is the entry node of the BIER domain; the second network device is an ingress node of the BIER domain;
  • the network device sends a control message to the first network device, where the control message includes the global VPN identifier and the second routing target attribute, and the first network device is the egress node of the BIER domain; the The second network device obtains the data packet, and the
  • the identifier of the second network device includes any one of the following: an Internet Protocol version 4 IPv4 address of the second network device, the second network device The Internet Protocol Version 6 IPv6 address of the device, the prefix of the IPv6 address of the second network device, and the media access control MAC address of the second network device.
  • the protocol proto field in the BIER header of the BIER packet is used to indicate that the BIER packet includes the global VPN identifier.
  • the global VPN identifier is located after the BIER header of the BIER packet.
  • a first network device including: a receiving module, a processing module, a sending module,
  • a receiving module configured to receive a BIER message sent by a second network device, where the BIER message includes a data message global virtual private network VPN identifier, and the global VPN identifier is used to uniquely identify the data message in the BIER domain
  • the VPN to which the source device belongs, the global VPN identifier includes the identifier of the second network device and the first identifier, and the identifier of the second network device is used to identify the second network device in the BIER domain,
  • the first identifier is used to identify the VPN to which the source device of the data packet belongs on the second network device, the second network device is the entry node of the BIER domain, and the first network device is the exit node of the BIER domain;
  • a processing module configured to determine, according to the global VPN identifier, a first VPN corresponding to the global VPN identifier, where the first VPN is a VPN determined by the first network device and to which the destination device of the data packet belongs ;
  • a sending module configured to send the data packet to the destination device of the data packet corresponding to the first VPN.
  • the identifier of the second network device includes any one of the following: an Internet Protocol version 4 IPv4 address of the second network device, the first The IPv6 address of the Internet Protocol version 6 of the second network device, the prefix of the IPv6 address of the second network device, and the MAC address of the medium access control of the second network device.
  • the receiving module is further configured to receive a control message, where the control message includes the global VPN identifier and the second routing target attribute; the a processing module, further configured to determine a first routing target attribute according to the control message, where the first routing target attribute corresponds to the second routing target attribute; according to the first routing target attribute on the first network device The correspondence between the target attribute and the first VPN determines the correspondence between the global VPN identifier and the first VPN.
  • the processing module is further configured to determine, according to the protocol proto field in the BIER header of the BIER packet, that the BIER packet includes the global VPN logo.
  • the global VPN identifier is located after the BIER header.
  • the processing module is further configured to decapsulate the BIER packet to obtain the data packet.
  • a second network device comprising: a processing module, a sending module, a receiving module,
  • a processing module configured to determine the correspondence between a global VPN identifier and a second routing target attribute, where the global VPN identifier is used to uniquely identify the VPN to which the source device of the data packet belongs in the BIER domain, and the global VPN identifier includes The identifier of the second network device and the first identifier, where the identifier of the second network device is used to identify the second network device in the BIER domain, and the first identifier is used to identify the second network device in the second network The device identifies the VPN to which the source device of the data packet belongs, and the second network device is the entry node of the BIER domain;
  • a sending module configured to send a control message to a first network device, where the control message includes the global VPN identifier and the second routing target attribute, and the first network device is the egress node of the BIER domain ;
  • a receiving module configured to acquire the data packet, where the VPN to which the source device of the data packet belongs corresponds to the second routing target attribute;
  • the processing module is further configured to obtain a BIER message according to the corresponding relationship, where the BIER message includes the data message and the global VPN identifier;
  • the sending module is further configured to send the BIER message to the first network device.
  • the identifier of the second network device includes any one of the following: an Internet Protocol version 4 IPv4 address of the second network device, the second network device The Internet Protocol Version 6 IPv6 address of the device, the prefix of the IPv6 address of the second network device, and the media access control MAC address of the second network device.
  • the protocol proto field in the BIER header of the BIER packet is used to indicate that the BIER packet includes the global VPN identifier.
  • the global VPN identifier is located after the BIER header of the BIER packet.
  • a first network device has a function of implementing the behavior of the first network device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the first network device includes a processor and an interface, and the processor is configured to support the first network device to perform corresponding functions in the above method.
  • the interface is configured to support the first network device to receive the BIER packet sent by the second network device, or to support sending the data packet to the destination device of the data packet corresponding to the first VPN.
  • the first network device may also include a memory for coupling with the processor and storing necessary program instructions and data for the first network device.
  • the first network device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the first network device is guided to enter a normal operation state. After the first network device enters the normal operation state, the application program and the operating system are run in the random access memory, so that the processor executes the method in the first aspect or any possible implementation manner of the first aspect.
  • a first network device in a sixth aspect, includes: a main control board and an interface board, and further, may also include a switching network board.
  • the first network device is configured to execute the method in the first aspect or any possible implementation manner of the first aspect.
  • the first network device includes a module for executing the method in the first aspect or any possible implementation manner of the first aspect.
  • a first network device in a seventh aspect, includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the sixth aspect, and further, may also perform the function of the switching network board in the sixth aspect.
  • the control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory and a bus. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the sixth aspect.
  • the first network device may include any number of interfaces, processors or memories.
  • a second network device is provided, and the controller has a function of implementing the behavior of the second network device in the above method.
  • the functions can be implemented based on hardware, and can also be implemented based on hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the second network device includes a processor and an interface, and the processor is configured to support the second network device to perform the corresponding functions in the above method.
  • the interface is used to support the second network device to obtain the data message, or to support the second network device to send the BIER message to the first network device, or to support the second network device to send the first network device to the BIER message.
  • the network device sends control packets.
  • the second network device may also include a memory for coupling with the processor that holds program instructions and data necessary for the controller.
  • the second network device includes: a processor, a transmitter, a receiver, a random access memory, a read only memory, and a bus.
  • the processor is respectively coupled to the transmitter, the receiver, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the second network device is guided to enter a normal operation state. After the second network device enters the normal operating state, the application program and the operating system are run in the random access memory, so that the processor executes the method of the second aspect or any possible implementation manner of the second aspect.
  • a second network device in a ninth aspect, includes: a main control board and an interface board, and further, may also include a switching network board.
  • the second network device is configured to perform the method in the second aspect or any possible implementation manner of the second aspect.
  • the second network device includes a module for performing the method in the second aspect or any possible implementation manner of the second aspect.
  • a tenth aspect provides a second network device, where the second network device includes a control module and a first forwarding sub-device.
  • the first forwarding sub-device includes: an interface board, and further, may also include a switching network board.
  • the first forwarding sub-device is configured to perform the function of the interface board in the ninth aspect, and further, can also perform the function of the switching network board in the ninth aspect.
  • the control module includes a receiver, a processor, a transmitter, a random access memory, a read-only memory and a bus. Wherein, the processor is respectively coupled to the receiver, the transmitter, the random access memory and the read only memory through the bus.
  • the basic input/output system solidified in the read-only memory or the bootloader in the embedded system is used to boot the system to start, and the control module is guided to enter a normal operation state.
  • the application program and the operating system are run in the random access memory, so that the processor performs the function of the main control board in the ninth aspect.
  • the second network device may include any number of interfaces, processors or memories.
  • a computer program product comprising: computer program code, when the computer program code is run on a computer, the computer can execute the first aspect or any one of the first aspects. method of execution.
  • a twelfth aspect provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer program code enables the computer to execute the second aspect or any one of the possibilities of the second aspect method of execution.
  • a computer-readable medium stores program codes, which, when the computer program codes are run on a computer, cause the computer to execute the first aspect or any one of the first aspects. possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • a computer-readable medium stores program codes, and when the computer program codes are executed on a computer, causes the computer to execute any one of the second aspect or the second aspect above possible methods.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • a fifteenth aspect provides a chip, the chip includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the first aspect or any possible implementation of the first aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (system on chip, SoC), application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • system on chip system on chip
  • SoC system on chip
  • application-specific integrated circuit application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a sixteenth aspect provides a chip, which includes a processor and a data interface, wherein the processor reads an instruction stored in a memory through the data interface to execute the second aspect or any possible implementation of the second aspect method in method.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (system on chip, SoC), application-specific integrated circuit (application-specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • system on chip system on chip
  • SoC system on chip
  • application-specific integrated circuit application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • a system in a seventeenth aspect, includes the above-mentioned first network device and the second network device.
  • FIG. 1 is a schematic networking diagram of a BIER domain.
  • FIG. 2 is a schematic diagram of one possible BIER header format.
  • FIG. 3 is a schematic diagram of another possible BIER header format.
  • FIG. 4 is a process of establishing a BIER forwarding table and forwarding a BIER message based on the BIER technology.
  • FIG. 5 is a schematic flowchart of a method for forwarding a BIER message provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a method for an egress node to establish a correspondence between a global VPN identifier and a local VPN identifier according to an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of another method for forwarding a BIER packet provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a first network device 800 provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a second network device 900 provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a hardware structure of a first network device 2000 according to an embodiment of the present application.
  • FIG. 11 is a schematic diagram of a hardware structure of another first network device 2100 according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a hardware structure of a second network device 2200 according to an embodiment of the present application.
  • FIG. 13 is a schematic diagram of a hardware structure of another second network device 2300 according to an embodiment of the present application.
  • the network architecture and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application.
  • the evolution of the architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • references in this specification to "one embodiment” or “some embodiments” and the like mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • At least one means one or more, and “plurality” means two or more.
  • And/or which describes the relationship of the associated objects, means that there can be three relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • Multicast is an efficient way to send data at the same time by using a multicast address to multiple devices on a transmission control protocol (TCP)/Internet protocol (Internet Protocol, IP) network.
  • TCP transmission control protocol
  • IP Internet Protocol
  • the multicast source sends the multicast stream to the members of the multicast group via the links in the network, and all the members of the multicast group in the multicast group can receive the multicast stream.
  • the multicast transmission mode realizes the point-to-multipoint data connection between the multicast source and the members of the multicast group. Since the multicast stream only needs to be transmitted once on each network link, and only when the link has a branch, the multicast will be replicated. Therefore, the multicast transmission method improves the data transmission efficiency and reduces the possibility of congestion in the backbone network.
  • IP multicast technology realizes the efficient point-to-multipoint data transmission in the IP network, which can effectively save the network bandwidth and reduce the network load. Therefore, it has a wide range of applications in real-time data transmission, multimedia conferences, data copying, internet protocol television (IPTV), games and simulations.
  • IP Internet Protocol
  • the multicast technology uses the multicast protocol to build a control plane multicast tree, and then uses the multicast tree to logically tree the network plane to realize multicast point-to-multipoint data forwarding. This kind of intermediate equipment with the construction of the distribution tree as the core needs to maintain the complex multicast forwarding information state. As the network scale is getting larger and larger and the traffic of multicast packets is increasing day by day, this multicast technology faces more and more challenges in terms of cost and operation and maintenance.
  • BIER bit index explicit replication
  • the multicast technical architecture of the broadcast distribution tree As shown in Figure 1, a router that supports BIER technology is called a Bit-forwarding router (BFR). The BFR that performs BIER encapsulation on data packets is called a bit forwarding ingress router (BFIR). The BFR that decapsulates the data packet from the BIER packet is called a bit forwarding egress router (BFER).
  • BIER domain The network domain that transmits BIER messages composed of the above-mentioned BFIR and one or more BFERs.
  • the BIER domain may also include one or more BFRs.
  • the BFIR is located at the entrance of the BIER domain, and the head node forwarding the BIER message is responsible for encapsulating the BIER message; the BFR is located in the middle of the BIER domain, and the intermediate forwarding node of the BIER message is responsible for forwarding the BIER message;
  • the BFER is located at the egress of the BIER domain, and is responsible for decapsulating BIER packets as the tail node of BIER packet forwarding. It should be understood that BFIR and BFER in the BIER domain can also be referred to as edge BFRs in the BIER domain.
  • the above BIER message may include a BIER header and a data message.
  • the data message may be an internet protocol version 6 (internet protocol version 6, IPv6) multicast message, or may also be an internet protocol version 4 (internet protocol version 4, IPv4) multicast message, or It is an Ethernet (ethernet) packet, which is not specifically limited in this application.
  • IPv6 internet protocol version 6, IPv6
  • IPv4 internet protocol version 4, IPv4
  • Ethernet Ethernet
  • BFR identifier BFR ID
  • BFR ID BFR ID
  • BFR ID BFR ID
  • BFR ID BFR ID
  • BFT bit index forwarding table
  • This embodiment of the present application does not specifically limit the format of the BIER header, as long as the BIER header includes a bit string field.
  • Two possible BIER header formats are described in detail below with reference to Figures 2 to 3 respectively.
  • FIG. 2 is a schematic block diagram of one possible BIER header format.
  • the BIER header may include, but is not limited to: a bit index forwarding table identifier (BIFT ID) with a length of 20 bits, a bit string length (BSL), a 64 bit (8 bytes) other fields, for example, the traffic type (traffic class, TC), stack (stack, S), time to live (time to live, TTL) field, entropy (entropy (entropy, TTL) field of the original multicast packet after the BIER header ) field, version number (version, Ver) field, nibble (nibble) field, protocol (protocol, proto) field, operation and maintenance management (operation administration and maintenance, OAM) field, reserve (reserve, Rsv) field, differential Service code points (differential service code points, DSCP) fields, etc.
  • a bit index forwarding table identifier (BIFT ID) with a length of 20 bits, a bit string length (BSL), a 64 bit
  • BIFT-id can include a combination of sub-domain (SD)/bit string length (BSL)/set identifier (SI), different BIFT IDs can correspond to different SD/BSL/SI combination. It should be understood that different BIFT IDs can be mapped to different SD/BSL/SI combinations.
  • a BIER domain can be divided and configured into different sub-domain SDs according to the requirements of actual business scenarios to support interior gateway protocol (interior gateway protocol, IGP) features such as multi-topology.
  • IGP interior gateway protocol
  • BSL is the length of the bit string included in the BIER header.
  • SI can be understood as a set of multiple edge BFRs or configured BFR IDs in the network.
  • SD/BSL/SI field is not directly included in the BIER header shown in Figure 2, SD/BSL/SI are three implicit fields, and the SD/BSL/SI value needs to be mapped out according to the BIFT ID field.
  • the forwarding entry on the forwarding plane is based on the bit string in the packet to determine which BFERs the packet is to be sent to.
  • the BFR in the BIER field receives the message containing the BIER header, it forwards the BIER message according to the bit string and BIFT ID carried in the BIER header.
  • bit value of 1 indicates that the packet is to be sent to the BFER device represented by the BFR-ID
  • bit value of 0 indicates that the packet does not need to be sent to the BFER device represented by the BFR-ID.
  • a value of 4 in the proto field indicates that the data packet following the BIER header is an IPv4 packet.
  • a value of 6 in the proto field indicates that the data packet following the BIER header is an IPv6 packet.
  • FIG. 3 is a schematic block diagram of another possible BIER header format.
  • the BIER header format shown in FIG. 3 does not include the BIFT-ID field, but shows that it includes three fields of SD/BSL/SI. That is to say, the BIER header format shown in FIG. 3 directly contains three fields of SD/BSL/SI, without the SD/BSL/SI value being mapped out by the BIFT ID field.
  • CE1, CE1b, CE2, CE2b, CE3, and CE3b belong to customer edge (customer edge, CE) devices, which may be routers or hosts on the CE side.
  • CE1, CE2, and CE3 may belong to a VPN.
  • CE1 may be used as an ingress node of the data packet
  • CE2 and CE3 may be used as an egress (egress) node of the data packet.
  • CE1b, CE2b, and CE3b may belong to a VPN.
  • CE1b may be used as an ingress node of the data packet
  • CE2b and CE3b may be used as egress nodes of the data packet. .
  • the network composed of device A to device F belongs to the bearer network, and the bearer network may be, for example, an operator network, or a data center network, or a campus network, etc., which is not specifically limited in this application.
  • Device A, device D, device E, and device F belong to service provider edge (provider edge, PE) devices, wherein, for the forwarding of the bearer network or BIER message, device A can be the ingress of the BIER domain (ingress)
  • the PE device is responsible for performing BIER encapsulation on the data message to obtain the BIER message, which corresponds to the BFIR in FIG. 1 .
  • Device D, device E, and device F are egress PE devices in the BIER domain, responsible for decapsulating original multicast packets from BIER packets, corresponding to BFER in FIG. 1 .
  • Device B and Device C belong to intermediate forwarding devices in the BIER domain, corresponding to the BFR in FIG. 1 .
  • a unique BFR-ID may be allocated to each edge BFR in the BIER domain.
  • the BFR-IDs configured for device A, device E, device D, and device F are 4, 1, 3, 2.
  • device B and device C do not assign BFR-IDs.
  • ID and id may sometimes be used interchangeably. It should be noted that, when the difference is not emphasized, the meanings to be expressed are the same.
  • the BFR-ID in this application may refer to the id in FIG. 4 .
  • device A After receiving the data packet, device A can encapsulate a BIER header on the data packet to form a BIER packet.
  • the bit string field of the BIER header marks all the destination devices of the BIER message. For example, the bit string corresponding to device E with BFR-ID 1 is 0001, the bit string corresponding to device F with BFR-ID 2 is 0010, the bit string corresponding to device D with BFR-ID 3 is 0100, and BFR- The bit string corresponding to device A with ID 4 is 1000.
  • the BFR-ID value allocated for each edge BFR in the BIER domain can be flooded to other BFRs in the BIER domain through routing protocols, so that devices in the BIER domain can establish BIFT based on the flooded BIER information. It is used to guide devices in the BIER domain to forward BIER packets.
  • the BIER message needs to be sent to the neighbor of device A (device B) first, and the BFR-ID is 4.
  • the BIFT indicates that when the bit string of the BIER message from right to left, the first bit, the second bit, and the third bit are 1, the BIER message will be sent to the neighbor of device A (device A).
  • B) Sending, Nbr B indicates that the neighbor of device A is device B.
  • the recipients of the data packets obtained by device A are destination device D with BFR-ID 3, destination device F with BFR-ID 2, and destination device E with BFR-ID 1, respectively.
  • the bit string of the BIER header encapsulated by device A is 0111, and the BIER packet is forwarded to neighbor device B according to the BIFT established by device A above.
  • device C can determine that the BIER message needs to be sent to device E and device F according to the bit string of the BIER message and the BIFT established by device C in Figure 4.
  • the bit string of the BIER message sent by device C to device E is 0001, and the bit string of the BIER message sent to device F is 0010.
  • Device E can determine that the neighbor of device E is itself according to the identifier * in the BIFT.
  • Device E as the BFER of the BIER domain egress, can decapsulate the data packets from the BIER packets, and use the information in the inner data packets according to the information in the data packets of the inner layer. (eg, the destination address in the datagram) forwards the datagram to the CE.
  • the forwarding process of the device F is similar to the forwarding process of the device E. For details, refer to the forwarding process of the device E, which will not be repeated here.
  • the BFER at the exit of the BIER domain such as device E, after receiving the BIER packet, it needs to determine the virtual private network (VPN) instance to which the data packet belongs, and determine the connection with the VPN instance according to the VPN instance.
  • the corresponding virtual route forwarding (virtual route forwarding, VRF) table and according to the information in the data packet (for example, the destination address in the data packet) and the VRF table, the data packet is forwarded to the next in the VRF table.
  • One hop eg, CE2 or CE2b. Therefore, as the BFIR of the BIER domain, device A needs to identify the VPN information corresponding to the data packet and the information of the source node (for example, device A) when encapsulating the BIER packet.
  • the BIER message also includes an IP header + a virtual extensible local area network (VXLAN) header/network virtualization generic routing encapsulation (NVGRE) header/general Network virtualization encapsulation (generic network virtualization encapsulation, GENEVE) header.
  • VXLAN virtual extensible local area network
  • NVGRE network virtualization generic routing encapsulation
  • GENEVE general Network virtualization encapsulation
  • the header encapsulation overhead of the BIER packet under this encapsulation is relatively high.
  • the embodiment of the present application provides a method for forwarding a BIER message, which can identify the VPN to which the source node of the inner data message belongs in the BIER message and the information of the entry node that sends the BIER message in the BIER domain at the same time. , and can also reduce the encapsulation overhead of the BIER packet header.
  • FIG. 5 is a schematic flowchart of a method for forwarding a BIER message provided by an embodiment of the present application.
  • the method may include steps 510-530, which will be described in detail below, respectively.
  • Step 510 The first network device receives a BIER message sent by the second network device, where the BIER message includes a data message and a global virtual private network VPN identifier.
  • the first network device may be an egress node of the BIER domain, corresponding to device A in FIG. 4 .
  • the second network device may be an entry node of the BIER domain, corresponding to device E in FIG. 4 .
  • the data message included in the above BIER message may be a multicast message, or may also be a broadcast, unicast, multicast (broadcast, unicast, multicast, BUM) message, which is not specifically limited in this application.
  • the global virtual private network VPN identifier included in the BIER packet may be used to uniquely identify the VPN to which the source device of the data packet belongs in the BIER domain.
  • the global VPN identification may include the identification of the second network device and the first identification, wherein the identification of the second network device is used to identify the second network device in the BIER domain, and the identification of the second network device may be Including but not limited to any one of the following: the IPv4 address of the Internet Protocol version 4 of the second network device, the IPv6 address of the Internet Protocol version 6 of the second network device, the prefix of the IPv6 address of the second network device and the second network device The media access control (MAC) address of the device.
  • MAC media access control
  • the first identifier is used to identify, on the second network device, the VPN to which the source device of the data packet belongs, that is, the first identifier is locally configured on the second network device and used for The VPN to which the source device of the data packet is identified on the network device.
  • the source device of the above data packet may be a CE device that communicates with the second network device. Taking the second network device as device A in FIG. 4 as an example, the source device of the data packet may be CE1 or CE1b that communicates with device A.
  • Step 520 The first network device determines, according to the global VPN identifier, a first VPN corresponding to the global VPN identifier.
  • the first network device may determine the first VPN corresponding to the global VPN identifier according to the global VPN identifier included in the BIER packet and the correspondence between the global VPN identifier and the first VPN.
  • the first VPN may be locally configured by the first network device and used to identify the VPN to which the destination device of the data packet belongs on the first network device.
  • the destination device of the above data packet may be a CE device that communicates with the first network device. Taking the first network device as the device E in FIG. 4 as an example, the destination device of the data packet may be CE2 or CE2b that communicates with the device E.
  • the first network device may further determine the correspondence between the global VPN identifier and the first VPN.
  • the first network device may receive a control packet sent by the second network device, where the control packet includes the global VPN identifier and the second routing target attribute.
  • the first network device may determine the first routing target attribute corresponding to the second routing target attribute according to the second routing target attribute, and according to the first routing target attribute locally configured on the first network device and the relationship between the first VPN The corresponding relationship is determined, and the corresponding relationship between the global VPN identifier and the first VPN is determined.
  • a route target (route target, RT) attribute can be used to control the distribution of routes between VPN sites, and the RT attribute can also be an RT community extension attribute.
  • the RT attribute may be carried in a BGP route (also referred to as a BGP message) sent by the second network device to the first network device.
  • BGP route also referred to as a BGP message
  • the first network device may install the BGP route into the VRF according to the RT attribute carried in the BGP route.
  • the RT attribute can also be understood as being used to identify a group of VRFs, for example, multiple VRFs are allowed to be configured with the same RT attribute, and the second network device can install the received BGP route into the multiple VRFs correspondingly.
  • one VRF is configured with one RT attribute, and different VRFs are configured with different RT attributes.
  • Step 530 The first network device sends the data packet to the destination device of the data packet corresponding to the first VPN.
  • the first network device may decapsulate the BIER message to obtain the data message. and send the data packet to the destination device of the data packet corresponding to the first VPN.
  • the first network device may send the data packet to CE2 through an interface connected to CE2.
  • the BIER message sent by the second network device to the first network device may include a global VPN identifier, and the global VPN identifier includes the identifier of the second network device and the source of the data message on the second network device.
  • the above BIER packet can simultaneously identify the VPN to which the source node of the inner layer data packet of the BIER packet belongs and the entry node information of the BIER domain only through the global VPN identification. Therefore, the source of the inner layer data packet can be identified in the BIER packet.
  • the VPN to which the node belongs and the information of the entry node for sending the BIER packet in the BIER domain can also reduce the encapsulation overhead of the BIER packet header.
  • FIG. 6 is a schematic flowchart of a method for an egress node to establish a correspondence between a global VPN identifier and a local VPN identifier according to an embodiment of the present application.
  • the method may include steps 610-630, and the steps 610-630 will be described in detail below, respectively.
  • Step 610 The ingress device (eg, device A) of the BIER domain configures different global VPN identifiers for different VPNs.
  • Device A can assign different global VPN IDs to different VPNs.
  • a global VPN ID can be used to uniquely identify the source device of a data packet in the BIER domain (for example, the CE that communicates with Device A ) belongs to the VPN. That is to say, the global VPN identifiers corresponding to different VPNs are different.
  • the above-mentioned global VPN identifier may be a value of not less than 6 bytes (that is, not less than 48 bits) and not greater than 20 bytes (that is, not greater than 160 bits).
  • the above-mentioned global VPN identifier may include the identifier of device A and an ID value locally configured by device A to identify the VPN to which the source device of the data packet belongs.
  • an ID value locally configured by device A to identify the VPN to which the source device of the data packet belongs.
  • a global VPN identity can be identified by including an IPv4 address and an ID value, where the IPv4 address is an IPv4 address on the entry device (eg, Device A) of the BIER domain, and the ID is the entry device (eg, Device A) of the BIER domain A)
  • a value including an IPv6 address (or a part of an IPv6 address) and an ID can also be used as a global VPN identifier, wherein the IPv6 address or a part of the IPv6 address is the entry device (for example, Device A) of the BIER domain.
  • the ingress device eg, device A
  • a value including a media access control (media access control, MAC) address and an ID can also be used as a global VPN identifier, wherein the MAC address uniquely identifies the entry device (for example, device A) of the BIER domain.
  • the global VPN identity includes an IPv4 address and a VPN-related ID on the entry device (eg, device A) of the BIER domain.
  • an IPv4 address on device A is 1.1.1.10, and the address 1.1.1.10 can uniquely identify device A in the bearer network.
  • the configuration on Device A looks like this:
  • Global-vpn-id 1.1.1.10:1234 indicates that the global VPN ID corresponding to VPN1 is 1.1.1.10:1234, and the global VPN ID consists of "1.1.1.10” and ":1234".
  • “1.1.1.10” represents an IPv4 address on device A
  • ":1234" represents an ID corresponding to VPN1 on device A.
  • the length of the global VPN identity may be 96 bits in length.
  • the global VPN identifier can be a 32-bit IPv4 address ⁇ 1.1.1.10>+32 bits filled with ⁇ all 0>+32 bits consisting of the ID value ⁇ 1234>.
  • the global VPN identifier may also be a 32-bit IPv4 address ⁇ 1.1.1.10>+32-bit ID value ⁇ 1234>+ 32-bit padding ⁇ all 0> composition.
  • the length of the global VPN identity may also be 80 bits in length.
  • the global VPN identifier can be a 32-bit IPv4 address ⁇ 1.1.1.10>+16-bit ID value ⁇ 1234>+16-bit Filled with ⁇ all 0> composition.
  • the global VPN identifier can also be filled with 32-bit IPv4 address ⁇ 1.1.1.10>++16-bit ⁇ all 0>+ 16-bit ID value ⁇ 1234>.
  • the global VPN identifier includes an IPv6 address (or a part of the IPv6 address) on the entry device (eg, device A) of the BIER domain and a VPN-related ID.
  • IPv6 address prefix on device A is 2001:db8:a:a, that is, all IPv6 addresses starting with 2001:db8:a:a belong to device A.
  • the configuration on Device A looks like this:
  • SRv6locator loc1 2001:db8:a:a::64static 64 means to define an address block loc1 on device A as 2001:db8:a:a, the mask is 64 bits, that is, an IPv6 address on device A The prefix is 2001:db8:a:a.
  • the length of the global VPN identity may be 128 bits in length.
  • the global VPN identifier can be a 64-bit IPv6 address prefixed by ⁇ 2001:db8:a:a>+ 64-bit ID value ⁇ ::1234>.
  • the global VPN identifier may also be prefixed with a 64-bit IPv6 address ⁇ 2001:db8:a:a >+32-bit ID value ⁇ ::1234>+32-bit padding ⁇ all 0>.
  • the length of the global VPN identity may also be 96 bits in length.
  • the global VPN identifier can be a 64-bit IPv6 address prefixed by ⁇ 2001:db8:a:a>+ 32-bit ID value ⁇ ::1234>.
  • the global VPN identifier includes a MAC address and a VPN-related ID on the entry device (eg, device A) of the BIER domain.
  • a MAC address on device A is 98-76-54-33-22-11, and the MAC address 98-76-54-33-22-11 can uniquely identify device A in the bearer network.
  • the configuration on Device A looks like this:
  • "Global-vpn-id 98-76-54-33-22-11:1234" indicates that the global VPN ID corresponding to VPN1 is 98-76-54-33-22-11:1234, and the global VPN ID is defined by " 98-76-54-33-22-11” and ":1234".
  • "98-76-54-33-22-11” represents a MAC address on device A
  • ":1234" represents an ID corresponding to VPN1 on device A.
  • the length of the global VPN identity may be 64 bits in length.
  • the global VPN identifier can be a 48-bit MAC address ⁇ 98-76-54-33 -22-11>+16-bit ID value ⁇ 1234>.
  • Step 620 The ingress device (eg, device A) of the BIER domain sends the global VPN identifier and the routing target attribute corresponding to the global VPN identifier to the egress device (eg, device E, device F) of the BIER domain.
  • Device A may publish the global VPN identifier and the routing target attribute corresponding to the global VPN identifier to egress devices (eg, device E, device F) in the BIER domain through a control plane message.
  • the control plane message may be a border gateway protocol (BGP) message, for example, a multicast virtual private network (multicast VPN, MVPN).
  • BGP border gateway protocol
  • this message published from the ingress device (eg, device A) of the BIER domain to the egress device (eg, device E, device F) of the BIER domain may be a multicast virtual private network containing Provider multicast service interface auto-discovery route (multicast VPN inclusive provider multicast service interface auto-discovery route, MVPN I-PMSI A-D) message or multicast VPN selective provider multicast service interface auto-discovery route (multicast VPN selective provider multicast service interface auto-discovery route, MVPN S-PMSI A-D) message.
  • Provider multicast service interface auto-discovery route multicast VPN inclusive provider multicast service interface auto-discovery route, MVPN I-PMSI A-D
  • MVPN S-PMSI A-D multicast VPN selective provider multicast service interface auto-discovery route
  • the I-PMSI A-D message may include the RT extended community attribute and the global VPN identifier.
  • the RT extended community attribute is the routing target attribute above
  • the global VPN identifier is the Global-vpn-id configured on the device A above.
  • the S-PMSI A-D message also carries the global VPN ID configured by device A and the routing target attribute corresponding to the global VPN ID. For details, please refer to the description of the I-PMSI A-D message, here No longer.
  • VPN-target The corresponding relationship between VPN and routing target attributes (also called VPN-target or target) is also configured on device A.
  • the configuration on Device A looks like this:
  • Ip vpn vpn1Vpn-target 1:1 indicates that the VPN-Target corresponding to VPN1 is ⁇ 1:1>.
  • Ip vpn vpn2 Vpn-target 2:2 indicates that the VPN-Target corresponding to VPN2 is ⁇ 2:2>.
  • Step 630 The egress devices (eg, device E, device F) of the BIER domain establish a correspondence between the global VPN identifier and the local VPN identifier.
  • the egress device (for example, device E, device F) of the BIER domain can locally configure the corresponding relationship between the VPN-Target and the local VPN identifier.
  • the configurations on Device E and Device F are as follows:
  • Ip vpn E_vpn1Vpn-target 1:1 indicates that the VPN-Target corresponding to the local VPN ID ⁇ E_vpn1> is ⁇ 1:1>.
  • Ip vpn E_vpn2Vpn-target 2:2 indicates that the VPN-Target corresponding to the local VPN ID ⁇ E_vpn2> is ⁇ 2:2>.
  • Ip vpn F_vpn1Vpn-target 1:1 indicates that the VPN-Target corresponding to the local VPN ID ⁇ F_vpn1> is ⁇ 1:1>.
  • Ip vpn F_vpn2Vpn-target 2:2 indicates that the VPN-Target corresponding to the local VPN ID ⁇ F_vpn 2> is ⁇ 2:2>.
  • the egress device (for example, device E, device F) of the BIER domain After the egress device (for example, device E, device F) of the BIER domain receives the global VPN identifier and VPN-Target sent by the ingress device (for example, device A) of the BIER domain, it can The corresponding relationship between the local VPN identifier and the local VPN identifier is determined, and the corresponding relationship between the local VPN identifier and the global VPN identifier of the egress device in the BIER domain is further established.
  • the message sent by device A to the egress devices (for example, device E, device F) of the BIER domain includes (Global-vpn-id ⁇ 1.1.1.10:1234>) and (VPN-target ⁇ 1:1>) as For example, the specific implementation manner of establishing the corresponding relationship on the device E and the device F will be described in detail.
  • device E after receiving the message sent by device A, device E can determine its local VPN identifier ⁇ E_vpn1> according to the VPN-target ⁇ 1:1> in the message and the local configuration of device E, and then determine (Global- Correspondence 1 between vpn-id ⁇ 1.1.1.10:1234>, local VPN ID ⁇ E_vpn1>).
  • device F after receiving the message sent by device A, device F can determine its local VPN identifier ⁇ F_vpn1> according to the VPN-target ⁇ 1:1> in the message and the local configuration of device F, and then determine (Global- Correspondence 2 between vpn-id ⁇ 1.1.1.10:1234>, local VPN ID ⁇ F_vpn1>).
  • the message sent by device A to the egress devices (for example, device E and device F) of the BIER domain includes (Global-vpn-id ⁇ 1.1.1.10:1235>) and (VPN-target ⁇ 2:2>) as For example, the specific implementation manner of establishing the corresponding relationship on the device E and the device F will be described in detail.
  • device E after receiving the message sent by device A, device E can determine its local VPN identifier ⁇ E_vpn2> according to the VPN-target ⁇ 2:2> in the message and the local configuration of device E, and then determine (Global- Correspondence between vpn-id ⁇ 1.1.1.10:1235>, local VPN ID ⁇ E_vpn2>) 3.
  • device F after receiving the message sent by device A, device F can determine its local VPN identifier ⁇ F_vpn2> according to the VPN-target ⁇ 2:2> in the message and the local configuration of device F, and then determine (Global- Correspondence 4 between vpn-id ⁇ 1.1.1.10:1235>, local VPN ID ⁇ F_vpn2>).
  • FIG. 7 is a schematic flowchart of another method for forwarding a BIER packet provided by an embodiment of the present application.
  • the method may include steps 710-730, and the steps 710-730 will be described in detail below, respectively. It should be understood that in FIG. 7 , the device A receives the data packet sent by CE1 as an example for illustration.
  • Step 710 Device A performs BIER encapsulation on the data packet received from CE1 to obtain a BIER packet.
  • Device A receives the data packet sent by CE1, determines the VPN part corresponding to the data packet, and encapsulates the VPN part and the BIER header in the data packet to obtain a BIER packet.
  • the VPN part is a global VPN identifier
  • the format of the BIER packet may be: BIER header+global VPN identifier+data packet.
  • the VPN part is global VPN identifier+proto field+reserved field
  • the format of the BIER message may be: BIER header+global VPN identifier+proto field+reserved field+data message.
  • the global VPN identifier corresponding to VPN1 may be ⁇ 1.1.1.10:1234>, and its length may be 96 bits or 80 bits.
  • the global VPN identifier corresponding to VPN1 may also be ⁇ 2001:db8:a:a::1234>, and its length may be 128 bits or 96 bits.
  • the global VPN identifier corresponding to VPN1 may also be ⁇ 98-76-54-33-22-11:1234>.
  • Step 720 Device A may also transmit the BIER packet to the egress device (eg, device E, device F) of the BIER domain through the bearer network.
  • the egress device eg, device E, device F
  • a possible path is that device A sends to device B, device B sends to device C, and device C sends to device E and device F.
  • Another possible path is that device A sends to device B, device B sends to device C through device D, and device C sends to device E and device F.
  • Step 730 The egress device (eg, device E, device F) of the BIER domain processes the BIER message.
  • device E After receiving the BIER packet, device E can determine whether to decapsulate the BIER packet according to the BIER header of the BIER packet. For example, if the BFR-id of device E is 1, and the first bit value of the bit string field in the BIER header from right to left is 1, then device E determines that it is the tail node of the BIER message, and device E can The BIER message is processed as follows.
  • Device E determines that the BIER packet includes the global VPN identifier.
  • the Proto field in the BIER header of the BIER packet may be used to indicate that the BIER header is followed by a global VPN identifier, and device E may also determine that the BIER packet includes the global VPN identifier according to the Proto field in the BIER header.
  • Device E determines the local VPN ID on device E according to the global VPN ID.
  • Device E can read the global VPN ID included in the BIER packet, and determine the local VPN ID on device E according to the correspondence between the global VPN ID and the local VPN ID on device E. Taking the global VPN ID included in the BIER packet as ⁇ 1.1.1.10:1234>, device E can determine the corresponding relationship between (Global-vpn-id ⁇ 1.1.1.10:1234>, local VPN ID ⁇ E_vpn1>) 1 Make sure the local VPN ID is ⁇ E_vpn1>. That is, device E can determine that the data packet in the inner layer of the BIER packet belongs to VPN1.
  • Device E decapsulates the BIER packet to obtain an inner data packet, and sends the data packet to the interface corresponding to VPN1.
  • Device E can decapsulate and remove the BIER header and global VPN identifier in the outer layer of the BIER packet to obtain the data packet. Since the data packet belongs to VPN1, device E can send the data packet to CE2 through the interface connected to CE2.
  • a method for forwarding a BIER message provided by an embodiment of the present application is described in detail above with reference to FIGS. 1 to 7 , and an embodiment of the apparatus of the present application will be described in detail below with reference to FIGS. 8 to 13 . It should be understood that the descriptions of the method embodiments correspond to the descriptions of the apparatus embodiments. Therefore, for the parts not described in detail, reference may be made to the foregoing method embodiments.
  • FIG. 8 is a schematic structural diagram of a first network device 800 provided by an embodiment of the present application.
  • the first network device 800 shown in FIG. 8 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 800 includes: a receiving module 810, a processing module 820, a sending module 830,
  • a receiving module 810 configured to receive a BIER message sent by a second network device, where the BIER message includes a data message global virtual private network VPN identifier, and the global VPN identifier is used to uniquely identify the datagram in the BIER domain
  • a processing module 820 configured to determine a first VPN corresponding to the global VPN identifier according to the global VPN identifier, where the first VPN is determined by the first network device and belongs to the destination device of the data packet VPN;
  • the sending module 830 is configured to send the data packet to the destination device of the data packet corresponding to the first VPN.
  • the identifier of the second network device includes any one of the following: the Internet Protocol version 4 IPv4 address of the second network device, the Internet Protocol version 6 IPv6 address of the second network device, The prefix of the IPv6 address of the second network device and the MAC address of the medium access control of the second network device.
  • the receiving module 810 is further configured to receive a control packet, where the control packet includes the global VPN identifier and the second target;
  • the processing module 820 is further configured to receive a control packet according to the control packet Determine a first target, which corresponds to the second target; determine the global VPN identifier according to the correspondence between the first target and the first VPN on the first network device and the corresponding relationship between the first VPN.
  • the processing module 820 is further configured to determine that the BIER packet includes the global VPN identifier according to the protocol proto field in the BIER header of the BIER packet.
  • the global VPN identifier is located after the BIER header.
  • processing module 820 is further configured to decapsulate the BIER packet to obtain the data packet.
  • FIG. 9 is a schematic structural diagram of a second network device 900 provided by an embodiment of the present application.
  • the second network device 900 shown in FIG. 9 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 900 includes: a processing module 910, a sending module 920, a receiving module 930,
  • the processing module 910 is configured to determine the correspondence between the global VPN identifier and the second target, where the global VPN identifier is used to uniquely identify the VPN to which the source device of the data packet belongs in the BIER domain, and the global VPN identifier includes all The identifier of the second network device and the first identifier, the identifier of the second network device is used to identify the second network device in the BIER domain, and the first identifier is used to identify the second network device in the BIER domain. The above identifies the VPN to which the source device of the data message belongs, and the second network device is the entry node of the BIER domain;
  • a sending module 920 configured to send a control message to a first network device, where the control message includes the global VPN identifier and the second target, and the first network device is the exit node of the BIER domain;
  • a receiving module 930 configured to obtain the data packet, where the VPN to which the source device of the data packet belongs corresponds to the second target;
  • the processing module 910 is further configured to obtain a BIER message according to the corresponding relationship, where the BIER message includes the data message and the global VPN identifier;
  • the sending module 920 is further configured to send the BIER message to the first network device.
  • the identifier of the second network device includes any one of the following: the Internet Protocol version 4 IPv4 address of the second network device, the Internet Protocol version 6 IPv6 address of the second network device, the The prefix of the IPv6 address of the second network device, the medium access control MAC address of the second network device.
  • the protocol proto field in the BIER header of the BIER packet is used to indicate that the BIER packet includes the global VPN identifier.
  • the global VPN identifier is located after the BIER header of the BIER packet.
  • FIG. 10 is a schematic diagram of a hardware structure of a first network device 2000 according to an embodiment of the present application.
  • the first network device 2000 shown in FIG. 10 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 2000 includes a processor 2001 , a memory 2002 , an interface 2003 and a bus 2004 .
  • the interface 2003 may be implemented in a wireless or wired manner, and may specifically be a network card.
  • the above-mentioned processor 2001 , memory 2002 and interface 2003 are connected through a bus 2004 .
  • the interface 2003 may specifically include a transmitter and a receiver, which are used by the first network device to implement the above-mentioned transceiving.
  • the interface 2003 is configured to receive the BIER packet sent by the second network device, or configured to send the data packet to the destination device of the data packet corresponding to the first VPN.
  • the processor 2001 is configured to execute the processing performed by the first network device in the foregoing embodiment. For example, for determining a first VPN corresponding to the global VPN identification based on the global VPN identification; and/or for other processes of the techniques described herein.
  • the memory 2002 includes an operating system 20021 and an application program 20022 for storing programs, codes or instructions. When the processor or hardware device executes these programs, codes or instructions, the processing process involving the first network device in the method embodiment can be completed.
  • the memory 2002 may include read-only memory (ROM) and random access memory (RAM).
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system
  • the RAM includes an application program and an operating system.
  • the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system, and the first network device 2000 is guided into a normal operation state.
  • the application program and the operating system running in the RAM thus, the processing process involving the first network device 2000 in the method embodiment is completed.
  • FIG. 10 only shows a simplified design of the first network device 2000 .
  • the first network device may contain any number of interfaces, processors or memories.
  • FIG. 11 is a schematic diagram of a hardware structure of another first network device 2100 according to an embodiment of the present application.
  • the first network device 2100 shown in FIG. 11 may perform the corresponding steps performed by the first network device in the methods of the foregoing embodiments.
  • the first network device 2100 includes: a main control board 2110 , an interface board 2130 , a switching network board 2120 and an interface board 2140 .
  • the main control board 2110, the interface boards 2130 and 2140, and the switching network board 2120 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2110 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2120 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2130 and 2140 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2130 may include a central processing unit 2131 , a forwarding table entry memory 2134 , a physical interface card 2133 and a network processor 2132 .
  • the central processing unit 2131 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2134 is used to store entries, eg, BIFT above.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • first network device 2100 in this embodiment may correspond to the functions and/or various steps performed by the foregoing method embodiments, and details are not described herein again.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include an active main control board and a backup main control board.
  • the first network device may not need to switch the network board, and the interface board undertakes the processing function of the service data of the entire system.
  • the first network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the first network device in the distributed architecture are greater than those in the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • FIG. 12 is a schematic diagram of a hardware structure of a second network device 2200 according to an embodiment of the present application.
  • the second network device 2200 shown in FIG. 12 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 2200 includes a processor 2201, a memory 2202, an interface 2203 and a bus 2204.
  • the interface 2203 may be implemented in a wireless or wired manner, and may specifically be a network card.
  • the above-mentioned processor 2201 , memory 2202 and interface 2203 are connected through a bus 2204 .
  • the interface 2203 may specifically include a transmitter and a receiver, for acquiring the data packet; sending a control packet to the first network device; and sending the BIER packet to the first network device.
  • the processor 2201 is configured to perform the processing performed by the second network device in the foregoing embodiment. For example, the processor 2201 is configured to determine the correspondence between the global VPN identifier and the second target; obtain a BIER message according to the correspondence, where the BIER message includes the data message and the global VPN identifier ; and/or other procedures for the techniques described herein.
  • the memory 2202 includes an operating system 22021 and an application program 22022 for storing programs, codes or instructions.
  • the memory 2202 may include read-only memory (ROM) and random access memory (RAM).
  • ROM read-only memory
  • RAM random access memory
  • the ROM includes a basic input/output system (basic input/output system, BIOS) or an embedded system
  • BIOS basic input/output system
  • the RAM includes an application program and an operating system.
  • BIOS basic input/output system
  • the second network device 2200 needs to be run, the system is booted through the BIOS solidified in the ROM or the bootloader in the embedded system, and the second network device 2200 is guided to enter a normal operation state. After the second network device 2200 enters the normal running state, the application program and the operating system running in the RAM, thus, the processing process involving the second network device 2200 in the method embodiment is completed.
  • FIG. 12 only shows a simplified design of the second network device 2200 .
  • the second network device may contain any number of interfaces, processors or memories.
  • FIG. 13 is a schematic diagram of a hardware structure of another second network device 2300 according to an embodiment of the present application.
  • the second network device 230 shown in FIG. 13 may perform the corresponding steps performed by the second network device in the methods of the foregoing embodiments.
  • the second network device 230 includes: a main control board 2310 , an interface board 2330 , a switching network board 2320 and an interface board 2340 .
  • the main control board 2310, the interface boards 2330 and 2340, and the switching network board 2320 are connected to the system backplane through the system bus to realize intercommunication.
  • the main control board 2310 is used to complete functions such as system management, equipment maintenance, and protocol processing.
  • the switch fabric board 2320 is used to complete data exchange between interface boards (interface boards are also called line cards or service boards).
  • the interface boards 2330 and 2340 are used to provide various service interfaces (eg, POS interface, GE interface, ATM interface, etc.), and realize data packet forwarding.
  • the interface board 2330 may include a central processing unit 2331 , a forwarding table entry memory 2334 , a physical interface card 2333 and a network processor 2332 .
  • the central processing unit 2331 is used to control and manage the interface board and communicate with the central processing unit on the main control board.
  • the forwarding entry storage 2334 is used to store entries, eg, BIFT above.
  • the physical interface card 2133 is used to receive and transmit traffic.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include an active main control board and a backup main control board.
  • the second network device may not need a switching network board, and the interface board undertakes the processing function of the service data of the entire system.
  • the second network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of the second network device in the distributed architecture are greater than those in the centralized architecture.
  • the specific architecture used depends on the specific networking deployment scenario, and there is no restriction here.
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer executes the method performed by the first network device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • Embodiments of the present application further provide a computer-readable medium, where program codes are stored in the computer-readable medium, and when the computer program codes are run on a computer, the computer executes the method performed by the second network device.
  • These computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (hard drive).
  • An embodiment of the present application further provides a chip system, which is applied to the first network device, the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for information between the chip system and the outside world interaction, the at least one memory, the interface circuit and the at least one processor are interconnected by a wire, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the above aspects The operation of the first network device in the method.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • the embodiment of the present application further provides another chip system, which is applied to a second network device, the chip system includes: at least one processor, at least one memory, and an interface circuit, where the interface circuit is responsible for the communication between the chip system and the outside world.
  • Information exchange, the at least one memory, the interface circuit and the at least one processor are interconnected by lines, and the at least one memory stores instructions; the instructions are executed by the at least one processor to perform the above Operations of the second network device in the method of the aspect.
  • the chip can be a central processing unit (CPU), a microcontroller (MCU), a microprocessor (microprocessing unit, MPU), a digital signal processor (digital signal processor) processing, DSP), system on chip (SoC), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or programmable logic device (programmable logic device) , PLD).
  • CPU central processing unit
  • MCU microcontroller
  • MPU microprocessor
  • DSP digital signal processor
  • SoC system on chip
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • Embodiments of the present application further provide a computer program product, which is applied to a first network device, where the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects. Operation of the first network device.
  • Embodiments of the present application further provide a computer program product, which is applied to a second network device, where the computer program product includes a series of instructions, when the instructions are executed, to perform the methods described in the above aspects. Operation of the second network device.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the embodiments of the present application. implementation constitutes any limitation.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution, and the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, removable hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

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

Abstract

本申请提供了一种BIER报文转发的方法和设备,该方法包括:第一网络设备接收第二网络设备发送的BIER报文,BIER报文包括数据报文和全局VPN标识,全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,全局VPN标识包括第二网络设备的标识和第一标识,第一标识用于在第二网络设备上标识数据报文的源设备所属的VPN;第一网络设备根据全局VPN标识确定与全局VPN标识对应的第一VPN,第一VPN是第一网络设备确定的、数据报文的目的设备所属的VPN;第一网络设备向第一VPN对应的数据报文的目的设备发送数据报文。上述技术方案可以减小BIER报文头部的封装开销。

Description

BIER报文转发的方法、设备以及系统
本申请要求于2020年12月2日提交中国专利局、申请号为202011393273.9、发明名称为“一种使用BIER的组播转发方法、设备及系统”的中国专利申请的优先权和于2020年12月22日提交中国专利局、申请号为202011525228.4、发明名称为“BIER报文转发的方法、设备以及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络通信领域,并且更具体地,涉及一种BIER报文转发的方法、设备和系统。
背景技术
互联网协议(internet protocol,IP)组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。为此,业界提出了一种新的用于构建组播报文转发路径的技术,称为基于位索引的显式复制(bit indexed explicit replication,BIER)技术,该技术提出了一种新的不需要构建组播分发树的组播技术架构。BIER报文中需要同时标识BIER报文内层数据报文的源节点所属的虚拟专用网(virtual private network,VPN)以及BIER域的入口节点信息,从而使得BIER报文能够支持多种组播部署和应用方式,例如,支持对BIER报文中BIER头的倒数第二跳弹出,支持BIER域中发送BIER报文的入口节点不配置位转发路由器标识(bit-forwarding router identifier,BFR ID)等。
一种相关的技术方案中,BIER报文中还包括IP头+虚拟扩展局域网(virtual extensible local area network,VXLAN)头/网络虚拟化通用路由封装(network virtualization generic routing encapsulation,NVGRE)头/通用的网络虚拟化封装(generic network virtualization encapsulation,GENEVE)头。其中,IP头+VXLAN/NVGRE/GENEVE用于标识BIER报文内层数据报文的源节点所属VPN的同时,还用于标识发送BIER域中发送BIER报文的入口节点信息。这种技术方案中,虽然可以同时标识BIER报文内层数据报文的源节点所属VPN以及BIER域的入口节点信息,但是这种封装下BIER报文的头部封装开销较大。
发明内容
本申请提供一种BIER报文转发的方法、设备和系统,可以在BIER报文中标识内层数据报文的源节点所属VPN以及BIER域中发送BIER报文的入口节点信息的同时,还可以减小BIER报文头部的封装开销。
第一方面,提供了一种BIER报文转发的方法,包括:第一网络设备接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文和全局虚拟专用网VPN标识,所述全局VPN标识用于在BIER域中唯一标识所述数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述 BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点,所述第一网络设备为所述BIER域的出口节点;所述第一网络设备根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN,所述第一VPN是所述第一网络设备确定的、所述数据报文的目的设备所属的VPN;所述第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
上述技术方案中,第二网络设备向第一网络设备发送的BIER报文中可以包括全局VPN标识,该全局VPN标识包括第二网络设备的标识和在第二网络设备上标识数据报文的源设备所属的VPN。上述BIER报文仅通过全局VPN标识就可以同时标识BIER报文内层数据报文的源节点所属VPN以及BIER域的入口节点信息,因此,可以在BIER报文中标识内层数据报文的源节点所属VPN以及BIER域中发送BIER报文的入口节点信息的同时,还可以减小BIER报文头部的封装开销。
结合第一方面,在第一方面的某些实现方式中,所述第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀和所述第二网络设备的介质访问控制MAC地址。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一网络设备接收控制报文,所述控制报文中包括所述全局VPN标识和第二路由目标属性;所述第一网络设备根据所述控制报文确定第一路由目标属性,所述第一路由目标属性和所述第二路由目标属性对应;所述第一网络设备根据所述第一网络设备上的所述第一路由目标属性和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一网络设备根据所述BIER报文的BIER头中的协议proto字段确定所述BIER报文中包括所述全局VPN标识。
结合第一方面,在第一方面的某些实现方式中,所述全局VPN标识位于所述BIER头之后。
结合第一方面,在第一方面的某些实现方式中,所述第一网络设备对所述BIER报文进行解封装,获得所述数据报文;所述第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
第二方面,提供了一种BIER报文转发的方法,包括:第二网络设备确定全局VPN标识和第二路由目标属性之间的对应关系,所述全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点;所述第二网络设备向第一网络设备发送控制报文,所述控制报文中包括所述全局VPN标识和所述第二路由目标属性,所述第一网络设备为所述BIER域的出口节点;所述第二网络设备获取所述数据报文,所述数据报文的源设备所属的VPN对应所述第二路由目标属性;所述第二网络设备根据所述对应关系获得BIER 报文,所述BIER报文包括所述数据报文和所述全局VPN标识;所述第二网络设备向所述第一网络设备发送所述BIER报文。
结合第二方面,在第二方面的某些实现方式中,第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀,所述第二网络设备的介质访问控制MAC地址。
结合第二方面,在第二方面的某些实现方式中,所述BIER报文的BIER头中的协议proto字段用于指示所述BIER报文中包括所述全局VPN标识。
结合第二方面,在第二方面的某些实现方式中,所述全局VPN标识位于所述BIER报文的BIER头之后。
第三方面,提供了一种第一网络设备,包括:接收模块,处理模块,发送模块,
接收模块,用于接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文全局虚拟专用网VPN标识,所述全局VPN标识用于在BIER域中唯一标识所述数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点,所述第一网络设备为所述BIER域的出口节点;
处理模块,用于根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN,所述第一VPN是所述第一网络设备确定的、所述数据报文的目的设备所属的VPN;
发送模块,用于向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
结合第三方面,在第三方面的某些实现方式中,所述第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀和所述第二网络设备的介质访问控制MAC地址。
结合第三方面,在第三方面的某些实现方式中,所述接收模块,还用于接收控制报文,所述控制报文中包括所述全局VPN标识和第二路由目标属性;所述处理模块,还用于根据所述控制报文确定第一路由目标属性,所述第一路由目标属性和所述第二路由目标属性对应;根据所述第一网络设备上的所述第一路由目标属性和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
结合第三方面,在第三方面的某些实现方式中,所述处理模块,还用于根据所述BIER报文的BIER头中的协议proto字段确定所述BIER报文中包括所述全局VPN标识。
结合第三方面,在第三方面的某些实现方式中,所述全局VPN标识位于所述BIER头之后。
结合第三方面,在第三方面的某些实现方式中,所述处理模块,还用于对所述BIER报文进行解封装,获得所述数据报文。
第四方面,提供了一种第二网络设备,包括:处理模块,发送模块,接收模块,
处理模块,用于确定全局VPN标识和第二路由目标属性之间的对应关系,所述全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域 中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点;
发送模块,用于向第一网络设备发送控制报文,所述控制报文中包括所述全局VPN标识和所述第二路由目标属性,所述第一网络设备为所述BIER域的出口节点;
接收模块,用于获取所述数据报文,所述数据报文的源设备所属的VPN对应所述第二路由目标属性;
所述处理模块,还用于根据所述对应关系获得BIER报文,所述BIER报文包括所述数据报文和所述全局VPN标识;
所述发送模块,还用于向所述第一网络设备发送所述BIER报文。
结合第四方面,在第四方面的某些实现方式中,第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀,所述第二网络设备的介质访问控制MAC地址。
结合第四方面,在第四方面的某些实现方式中,所述BIER报文的BIER头中的协议proto字段用于指示所述BIER报文中包括所述全局VPN标识。
结合第四方面,在第四方面的某些实现方式中,所述全局VPN标识位于所述BIER报文的BIER头之后。
第五方面,提供了一种第一网络设备,所述第一网络设备具有实现上述方法中第一网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第一网络设备的结构中包括处理器和接口,所述处理器被配置为支持第一网络设备执行上述方法中相应的功能。所述接口用于支持第一网络设备接收第二网络设备发送的BIER报文,或者用于支持向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
所述第一网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存第一网络设备必要的程序指令和数据。
在另一个可能的设计中,所述第一网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第一网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备进入正常运行状态。在第一网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供一种第一网络设备,所述第一网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第一网络设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述第一网络设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第七方面,提供一种第一网络设备,所述第一网络设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子 设备用于执行第六方面中的接口板的功能,进一步,还可以执行第六方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第六方面中主控板的功能。
可以理解的是,在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
第八方面,提供了一种第二网络设备,所述控制器具有实现上述方法中第二网络设备行为的功能。所述功能可以基于硬件实现,也可以基于硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,第二网络设备的结构中包括处理器和接口,所述处理器被配置为支持第二网络设备执行上述方法中相应的功能。所述接口用于支持第二网络设备获取数据报文,或者用于支持第二网络设备向所述第一网络设备发送所述BIER报文,或者用于支持第二网络设备向所述第一网络设备发送控制报文。
所述第二网络设备还可以包括存储器,所述存储器用于与处理器耦合,其保存控制器必要的程序指令和数据。
在另一个可能的设计中,所述第二网络设备包括:处理器、发送器、接收器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、接收器、随机存取存储器以及只读存储器。其中,当需要运行第二网络设备时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备进入正常运行状态。在第二网络设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,提供一种第二网络设备,所述第二网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述第二网络设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述第二网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第十方面,提供一种第二网络设备,所述第二网络设备包括控制模块和第一转发子设备。所述第一转发子设备包括:接口板,进一步,还可以包括交换网板。所述第一转发子设备用于执行第九方面中的接口板的功能,进一步,还可以执行第九方面中交换网板的功能。所述控制模块中包括接收器、处理器、发送器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接接收器、发送器、随机存取存储器以及只读存储器。其中,当需要运行控制模块时,通过固化在只读存储器中的基本输入/输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制模块进入正常运行状态。在控制模块进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第九方面中主控板的功能。
可以理解的是,在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者 存储器。
第十一方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。
第十二方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。
第十三方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
第十四方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面的任一种可能执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
第十五方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第一方面或第一方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第十六方面,提供一种芯片,该芯片包括处理器与数据接口,其中,处理器通过该数据接口读取存储器上存储的指令,以执行第二方面或第二方面任意一种可能的实现方式中的方法。在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
第十七方面,提供了一种系统,该系统包括上述第一网络设备和第二网络设备。
附图说明
图1是一种BIER域的示意性组网图。
图2是一种可能的BIER头格式的示意图。
图3是另一种可能的BIER头格式的示意图。
图4是一种基于BIER技术建立BIER转发表以及进行BIER报文转发的过程。
图5是本申请实施例提供的一种BIER报文转发的方法的示意性流程图。
图6是本申请实施例提供的一种出口节点建立全局VPN标识和本地VPN标识之间的对应关系的方法的示意性流程图。
图7是本申请实施例提供的另一种BIER报文转发的方法的示意性流程图。
图8是本申请实施例提供的一种第一网络设备800的示意性结构图。
图9是本申请实施例提供的一种第二网络设备900的示意性结构图。
图10是本申请实施例的第一网络设备2000的硬件结构示意图。
图11为本申请实施例的另一种第一网络设备2100的硬件结构示意图。
图12是本申请实施例的第二网络设备2200的硬件结构示意图。
图13为本申请实施例的另一种第二网络设备2300的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其 中a,b,c可以是单个,也可以是多个。
组播(multicast)是一种通过使用一个组播地址将数据在同一时间以高效的方式发往处于传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)网络上的多个接收者的数据传输方式。组播源经由网络中的链路向组播组中的组播组成员发送组播流,该组播组中的组播组成员均可以接收到该组播流。组播传输方式实现了组播源和组播组成员之间的点对多点的数据连接。由于组播流在每条网络链路上只需传递一次,且只有在链路出现支路时,该组播才会被复制。因此,组播传输方式提高了数据传输效率和减少了骨干网络出现拥塞的可能性。
互联网协议(internet protocol,IP)组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。因此,在实时数据传送、多媒体会议、数据拷贝、交互式网络电视(internet protocol television,IPTV)、游戏和仿真等诸多方面都有广泛的应用。该组播技术使用组播协议构建控制平面组播树,然后利用组播树将网络平面逻辑树状,以实现组播点到多点的数据转发。这种以构建分发树为核心的中间设备都需要维护复杂的组播转发信息状态。在网络规模越来越大,组播报文的流量与日俱增的情况下,这种组播技术面临越来越大的成本和运维方面的挑战。
为此,业界提出了一种新的用于构建组播报文转发路径的技术,称为位索引的显式复制(bit index explicit replication,BIER)技术,该技术提出了一种不需要构建组播分发树的组播技术架构。如图1所示,支持BIER技术的路由器称为位转发路由器(Bit-forwarding router,BFR)。对数据报文进行BIER封装的BFR称为位转发入口路由器(bit forwarding ingress router,BFIR)。对从BIER报文中解封装出数据报文的BFR称为位转发出口路由器(bit forwarding egress router,BFER)。由上述BFIR以及一个或多个BFER组成的传输BIER报文的网络域称为BIER域(BIER domain)。可选地,该BIER域还可以包括一个或多个BFR。其中,BFIR位于BIER域的入口位置,作为BIER报文转发的头节点负责对BIER报文进行封装;BFR位于BIER域的中间位置,作为BIER报文的中间转发节点负责对BIER报文进行转发;BFER位于BIER域的出口位置,作为BIER报文转发的尾节点负责对BIER报文进行解封装。应理解,BIER域中的BFIR和BFER也可以称为BIER域中的边缘BFR。
为了便于理解,下面先结合图2-图4,对BIER的相关技术进行详细描述。
上述BIER报文可以包括BIER头和数据报文。其中,数据报文可以是互联网协议第6版(internet protocol version 6,IPv6)组播报文,或者还可以是互联网协议第4版(internet protocol version 4,IPv4)组播报文,或者还可以是以太网(ethernet)报文,本申请不做具体限定。BIER头中通过位串(bit string)标注了该数据报文的所有目的设备。应理解,在BIER域中,可以对上述的边缘BFR配置一个在整个BIER子域(sub-domain,SD)中全局唯一的比特位置(bit position)标识。作为一个示例,为每一个边缘BFR配置一个值作为BFR标识(BFR identifier,BFR ID),BIER域中所有的BFR ID组成一个bit string。BIER域中的BFR可以根据位索引转发表(bit index forwarding table,BIFT)以及所述BIER头中携带的bit string进行转发。
本申请实施例对BIER头的格式不做具体限定,只要BIER头中包含bit string字段即可。下面分别结合图2-图3,对两种可能的BIER头格式进行详细描述。
图2是一种可能的BIER头格式的示意性框图。如图2所示,BIER头中可以包含但不限于:一个长度为20bit的位索引转发表标识(bit index forwarding table identifier,BIFT ID)、比特串长度(bit string length,BSL)、64bit(8个字节)的其他字段,例如,BIER头后面的原始组播报文的流量类型(traffic class,TC)、栈(stack,S)、生存时间(time to live,TTL)字段、熵(entropy)字段、版本号(version,Ver)字段、半字节(nibble)字段、协议(protocol,proto)字段、操作维护管理(operation administration and maintenance,OAM)字段、保留(reserve,Rsv)字段、差分服务代码点(differential service code points,DSCP)字段等。
(1)BIFT ID字段
可以是BIFT-id,可以包括子域(sub-domain,SD)/比特串长度(bit string length,BSL)/集合标识(set identifier,SI)的一个组合,不同的BIFT ID可以对应于不同的SD/BSL/SI组合。应理解,不同的BIFT ID可以映射出不同的SD/BSL/SI组合。其中,一个BIER域可以根据实际的业务场景的需求划分和配置为不同的子域SD,以支持内部网关协议(interior gateway protocol,IGP)多拓扑等特性。BSL为BIER头中包括的bit string的长度。SI可以理解为网络中的多个边缘BFR或配置的BFR ID组成的集合。
在图2所示的BIER头中不直接包含SD/BSL/SI字段,SD/BSL/SI为三个隐式字段,需要根据BIFT ID字段映射出SD/BSL/SI取值。
(2)比特串(bit string)字段
bit string中的每个bit用来标识边缘BFR,例如bit string的低位(最右)的一个bit用来标识BFR-ID=1的BFER。bit string中从右往左第2个Bit用来标识BFR-ID=2的BFER。转发面转发所依据的转发表项则是根据报文中的bit string决定该报文要往哪几个BFER发送。当BIER域中的BFR在接收到了包含有BIER头的报文时,根据BIER头中携带的bit string以及BIFT ID转发BIER报文。需要说明的是,bit位的值为1表示报文要往该BFR-ID所代表的BFER设备发送,bit位的值为0则表示报文不需要往该BFR-ID所代表的BFER设备发送。
(3)协议(protocol,proto)字段
用来标识BIER头后面的载荷(payload)格式。例如,proto字段的值为4代表BIER头后面的数据报文为IPv4报文。又如,proto字段的值为6代表BIER头后面的数据报文为IPv6报文。
图3是另一种可能的BIER头格式的示意性框图。相比较图2所示的BIER头格式而言,图3所示的BIER头格式中不包含BIFT-ID字段,而显示包含SD/BSL/SI三个字段。也就是说,图3所示的BIER头格式中直接包含SD/BSL/SI三个字段,而无需由BIFT ID字段映射出SD/BSL/SI取值。
下面以图4所示的BIER域为例,对基于BIER技术建立BIER转发表以及进行BIER报文转发的过程进行详细描述。
如图4所示,CE1、CE1b、CE2、CE2b、CE3、CE3b属于用户边缘(customer edge,CE)设备,可以是CE侧的路由器或主机。作为示例,CE1、CE2、CE3可以属于一个VPN,对于数据报文而言,CE1可以作为数据报文的入口(ingress)节点,CE2、CE3可以作为该数据报文的出口(egress)节点。作为另一个示例,CE1b、CE2b、CE3b可以属于一个 VPN,对于数据报文而言,CE1b可以作为数据报文的入口(ingress)节点,CE2b、CE3b可以作为该数据报文的出口(egress)节点。
参见图4,设备A至设备F组成的网络属于承载网络,该承载网络例如可以是运营商网络,或者还可以是数据中心网络,或者还可以是园区网络等,本申请对此不做具体限定。设备A、设备D、设备E、设备F属于服务提供商边缘(provider edge,PE)设备,其中,对于承载网络或BIER报文的转发而言,设备A可以是为BIER域的入口(ingress)PE设备,负责对数据报文进行BIER封装得到BIER报文,对应于图1中的BFIR。设备D、设备E、设备F为BIER域的出口(egress)PE设备,负责从BIER报文中解封装出原始组播报文,对应于图1中的BFER。设备B、设备C属于BIER域的中间转发设备,对应于图1中BFR。
本申请实施例中可以为每一个BIER域内的边缘BFR分配一个唯一的BFR-ID,例如,在图4中,为设备A、设备E、设备D、设备F配置的BFR-ID分别为4、1、3、2。中间转发的BFR,例如,设备B、设备C不分配BFR-ID。需要说明的是,本申请实施例中,“ID”和“id”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。其中,本申请中的BFR-ID可以指图4中的id。
当设备A接收到数据报文后,可以对该数据报文封装一个BIER头,形成BIER报文。其中,BIER头的bit string字段标注了该BIER报文的所有目的设备。例如,对于BFR-ID为1的设备E对应的bit string为0001,BFR-ID为2的设备F对应的bit string为0010,BFR-ID为3的设备D对应的bit string为0100,BFR-ID为4的设备A对应的bit string为1000。
应理解,为每一个BIER域内的边缘BFR分配的BFR-ID值可以通过路由协议向BIER域内的其他BFR进行泛洪,以便于BIER域内的设备可以根据泛洪的BIER信息建立BIFT,该BIFT用于指导BIER域内的设备对BIER报文的转发。
以设备A为例,如果需要将BIER报文发送至BFR-ID分别为1、2、3的BFER,该BIER报文需要先发送至设备A的邻居(设备B),BFR-ID为4的边缘BFR为其自己,因此,设备A建立的BIFT为:邻居(neighbor,Nbr)=B,转发位掩码(forwarding bit mask,FBM)=0111。该BIFT表示当有BIER报文的bit string从右往左第1个bit位、第2个bit位、第3个bit位任意一个为1时,该BIER报文会往设备A的邻居(设备B)发送,Nbr=B表示设备A的邻居为设备B。假设设备A获取的数据报文的接收者分别为BFR-ID为3的目的设备为D、BFR-ID为2的目的设备为F、BFR-ID为1的目的设备为E。设备A封装的BIER头的bit string为0111,并根据上述设备A建立的BIFT将BIER报文转发到邻居设备B。
设备B收到该BIER报文后,根据bit string为0111以及图4中设备B建立的BIFT确定需要将该BIER报文分别发送至设备C和设备D。例如,设备B将该BIER报文往设备C发送时,可以将BIER头的bit string(0111)以及BIFT表项里Nbr=C对应的FBM字段做AND操作,本申请实施例中AND的结果是0011,因此,设备B可以将BIER头的bit string修改为0011,并发送至设备C。又如,设备B将该BIER报文往设备D发送时,可以将BIER头的bit string修改为0100,并发送至设备D。
同样的,设备C可以根据BIER报文的bit string以及图4中设备C建立的BIFT确定 需要将该BIER报文分别发送至设备E和设备F。设备C发送给设备E的BIER报文的bit string为0001,发送给设备F的BIER报文的bit string为0010。
对于设备E而言,其建立的BIFT中的Nbr=*E*表示设备E的邻居设备为自己。设备E可以根据BIFT中的标识*确定设备E的邻居为自己,设备E作为BIER域出口的BFER,可以从BIER报文中解封装出数据报文,并根据内层的数据报文中的信息(例如,数据报文中的目的地址)将该数据报文转发至CE。设备F的转发过程和设备E的转发过程类似,具体的可以参考设备E的转发过程,此处不再赘述。
对于BIER域出口的BFER,例如设备E,在接收到BIER报文后,需要确定该数据报文所属的虚拟专用网(virtual private network,VPN)实例,根据所述VPN实例确定与所述VPN实例对应的虚拟路由转发(virtual route forwarding,VRF)表,并根据数据报文中的信息(例如,数据报文中的目的地址)以及VRF表,将所述数据报文转发至VRF表中的下一跳(例如,CE2或CE2b)。因此,设备A作为BIER域的BFIR,在封装BIER报文时需要标识数据报文对应的VPN信息以及源节点(例如,设备A)的信息。
一种相关的技术方案中,BIER报文中还包括IP头+虚拟扩展局域网(virtual extensible local area network,VXLAN)头/网络虚拟化通用路由封装(network virtualization generic routing encapsulation,NVGRE)头/通用的网络虚拟化封装(generic network virtualization encapsulation,GENEVE)头。其中,IP头+VXLAN/NVGRE/GENEVE用于标识BIER报文内层数据报文的源节点所属VPN的同时,还用于标识发送BIER域中发送BIER报文的入口节点信息。这种技术方案中,虽然可以同时标识BIER报文内层数据报文的源节点所属VPN以及BIER域的入口节点信息,但是这种封装下BIER报文的头部封装开销较大。
有鉴于此,本申请实施例提供了一种BIER报文转发的方法,可以在BIER报文中标识内层数据报文的源节点所属VPN以及BIER域中发送BIER报文的入口节点信息的同时,还可以减小BIER报文头部的封装开销。
图5是本申请实施例提供的一种BIER报文转发的方法的示意性流程图。参见图5,该方法可以包括步骤510-530,下面分别对步骤510-530进行详细描述。
步骤510:第一网络设备接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文和全局虚拟专用网VPN标识。
第一网络设备可以是BIER域的出口节点,对应于图4中的设备A。第二网络设备可以是BIER域的入口节点,对应于图4中的设备E。
上述BIER报文中包括的数据报文可以是组播报文,或者还可以是广播、单播、组播(broadcast,unicast,multicast,BUM)报文,本申请对不做具体限定。
BIER报文中包括的全局虚拟专用网VPN标识可以用于在BIER域中唯一标识所述数据报文的源设备所属的VPN。全局VPN标识可以包括第二网络设备的标识和第一标识,其中,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,该第二网络设备的标识可以包括但不限于以下中的任一种:第二网络设备的互联网协议第4版IPv4地址,第二网络设备的互联网协议第6版IPv6地址,第二网络设备的IPv6地址的前缀和第二网络设备的介质访问控制(media access control,MAC)地址。所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,也就是说,第一标识是在第二网络设备本地配置的,用于在第二网络设备上标识数据报文的源设备所属的VPN。 应理解,上述数据报文的源设备可以是与第二网络设备通信的CE设备。以第二网络设备为图4中的设备A为例,该数据报文的源设备可以是与设备A通信的CE1或CE1b。
步骤520:第一网络设备根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN。
第一网络设备在接收到BIER报文后,可以根据BIER报文中包括的全局VPN标识以及全局VPN标识和第一VPN之间的对应关系,确定与全局VPN标识对应的第一VPN。其中,第一VPN可以是第一网络设备本地配置的,用于在第一网络设备上标识数据报文的目的设备所属的VPN。应理解,上述数据报文的目的设备可以是与第一网络设备通信的CE设备。以第一网络设备为图4中的设备E为例,该数据报文的目的设备可以是与设备E通信的CE2或CE2b。
可选地,在步骤520之前,第一网络设备还可以确定全局VPN标识和第一VPN之间的对应关系。作为示例,第一网络设备可以接收第二网络设备发送的控制报文,所述控制报文中包括所述全局VPN标识和第二路由目标属性。第一网络设备可以根据第二路由目标属性确定与第二路由目标属性对应的第一路由目标属性,并根据第一网络设备上本地配置的第一路由目标属性和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
应理解,在上述第一路由目标属性和第二路由目标属性中,路由目标(route target,RT)属性可以用于控制VPN站点之间路由的分发,RT属性也可以是RT团体扩展属性。具体的,作为示例,RT属性可以携带在第二网络设备发送给第一网络设备的BGP路由(也可以称为BGP消息)中。第一网络设备接收到BGP路由后,可以根据BGP路由中携带的RT属性将该BGP路由安装到VRF中。RT属性也可以理解为用于标识一组VRF,例如,允许多个VRF配置同一个RT属性,第二网络设备可以将接收到的BGP路由对应安装到多个VRF中。又如,一个VRF配置一个RT属性,不同的VRF配置不同的RT属性,第二网络设备接收到一个BGP路由时只会安装到一个VRF中。
步骤530:第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
第一网络设备在确定与全局VPN标识对应的第一VPN后,可以对BIER报文进行解封装,获得所述数据报文。并向第一VPN对应的所述数据报文的目的设备发送所述数据报文。以第一网络设备为图4中的设备E,与第一VPN对应的数据报文的目的设备为CE2为例,第一网络设备可以通过连接CE2的接口将所述数据报文发送给CE2。
上述技术方案中,第二网络设备向第一网络设备发送的BIER报文中可以包括全局VPN标识,该全局VPN标识包括第二网络设备的标识和在第二网络设备上标识数据报文的源设备所属的VPN。上述BIER报文仅通过全局VPN标识就可以同时标识BIER报文内层数据报文的源节点所属VPN以及BIER域的入口节点信息,因此,可以在BIER报文中标识内层数据报文的源节点所属VPN以及BIER域中发送BIER报文的入口节点信息的同时,还可以减小BIER报文头部的封装开销。
下面以图4所示的BIER域为例,结合图6,对本申请实施例提供的一种出口节点建立全局VPN标识和本地VPN标识之间的对应关系的具体实现方式进行详细描述。应理解,图6的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制 于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图6是本申请实施例提供的一种出口节点建立全局VPN标识和本地VPN标识之间的对应关系的方法的示意性流程图。参见图6,该方法可以包括步骤610-630,下面分别对步骤610-630进行详细描述。
步骤610:BIER域的入口设备(例如,设备A)为不同的VPN配置不同的全局VPN标识。
设备A作为BIER域的入口设备,可以为不同的VPN分配不同的全局VPN标识,一个全局VPN标识可以用于在BIER域中唯一标识一个数据报文的源设备(例如,和设备A通信的CE)所属的VPN。也就是说,不同的VPN对应的全局VPN标识各不相同。作为示例,上述全局VPN标识可以为一个不小于6个字节(也就是说,不小于48位),且不大于20字节(也就是说,不大于160位)的值。
上述全局VPN标识可以包括设备A的的标识和设备A本地配置的用于标识数据报文的源设备所属的VPN的一个ID值。全局VPN标识的具体实现方式有多种,本申请实施例对此不做具体限定。例如,可以将包含一个IPv4地址和一个ID值作为全局VPN标识,其中,IPv4地址是BIER域的入口设备(例如,设备A)上的一个IPv4地址,ID是BIER域的入口设备(例如,设备A)上配置的与用于标识数据报文的源设备所属的VPN的值,不同的VPN对应不同的ID。又如,还可以将包含一个IPv6地址(或者IPv6地址的一部分)和一个ID的值作为全局VPN标识,其中,IPv6地址或者IPv6地址的一部分均是BIER域的入口设备(例如,设备A)的、能在承载网络中唯一标识BIER域的入口设备(例如,设备A)。又如,还可以将包含一个介质访问控制(media access control,MAC)地址和一个ID的值作为全局VPN标识,其中,MAC地址唯一标识BIER域的入口设备(例如,设备A)。下面结合具体的例子,分别对上述几种不同方式的具体实现过程进行详细描述。
一种可能的实现方式中,全局VPN标识包括BIER域的入口设备(例如,设备A)上的一个IPv4地址和一个与VPN相关的ID。例如,设备A上的一个IPv4地址为1.1.1.10,该地址1.1.1.10可以在承载网络中唯一标识设备A。设备A上的配置如下所示:
Figure PCTCN2021133370-appb-000001
其中,“Global-vpn-id 1.1.1.10:1234”表示VPN1对应的全局VPN标识为1.1.1.10:1234,该全局VPN标识由“1.1.1.10”和“:1234”组成。“1.1.1.10”表示设备A上的一个IPv4地址,“:1234”表示设备A上与VPN1对应的一个ID。
“Global-vpn-id 1.1.1.10:1235”表示VPN2对应的全局VPN标识为1.1.1.10:1235,该全局VPN标识由“1.1.1.10”和“:1235”组成,其中,“1.1.1.10”表示设备A上的一个IPv4地址,“:1235”表示设备A上与VPN2对应的一个ID。
上述配置中的全局VPN标识的长度可以有多种,本申请对此不做具体限定。作为一 个示例,该全局VPN标识的长度可以是96位的长度。例如,在本例中配置全局VPN标识为<1.1.1.10:1234>的情况下,该全局VPN标识可以是由32位的IPv4地址<1.1.1.10>+32位填充<全0>+32位的ID值<1234>组成。又如,在本例中配置全局VPN标识为<1.1.1.10:1234>的情况下,该全局VPN标识还可以是由32位IPv4地址<1.1.1.10>+32位的ID值<1234>+32位填充<全0>组成。作为另一个示例,该全局VPN标识的长度还可以是80位的长度。例如,在本例中配置全局VPN标识为<1.1.1.10:1234>的情况下,该全局VPN标识可以是由32位IPv4地址<1.1.1.10>+16位的ID值<1234>+16位填充<全0>组成。又如,在本例中配置全局VPN标识为<1.1.1.10:1234>的情况下,该全局VPN标识还可以是由32位IPv4地址<1.1.1.10>++16位填充<全0>+16位的ID值<1234>组成。
另一种可能的实现方式中,全局VPN标识包括BIER域的入口设备(例如,设备A)上的一个IPv6地址(或者IPv6地址的一部分)和一个与VPN相关的ID。例如,设备A上的一个IPv6地址前缀为2001:db8:a:a,即所有以2001:db8:a:a开头的IPv6地址都属于设备A。设备A上的配置如下所示:
Figure PCTCN2021133370-appb-000002
其中,“SRv6locator loc1 2001:db8:a:a::64static 64”表示在设备A上定义一个地址块loc1为2001:db8:a:a,掩码为64位,即设备A上的一个IPv6地址前缀为2001:db8:a:a。
“Global-vpn-id loc1::1234”表示VPN1对应的全局VPN标识由“loc1”和“::1234”组成,“loc1”表示在设备A上定义一个地址块2001:db8:a:a,“::1234”表示设备A上VPN1对应的一个ID。即VPN1对应的全局VPN标识为2001:db8:a:a::1234。
“Global-vpn-id loc1::1235”表示VPN2对应的全局VPN标识由“loc1”和“::1235”组成,“loc1”表示在设备A上定义一个地址块2001:db8:a:a,“::1235”表示设备A上VPN2对应的一个ID。即VPN2对应的全局VPN标识为2001:db8:a:a::1235。
上述配置中的全局VPN标识的长度可以有多种,本申请对此不做具体限定。作为一个示例,该全局VPN标识的长度可以是128位的长度。例如,在本例中配置全局VPN标识为<2001:db8:a:a::1234>的情况下,该全局VPN标识可以是由64位的IPv6地址前缀<2001:db8:a:a>+64位的ID值<::1234>组成。又如,在本例中配置全局VPN标识为<2001:db8:a:a::1234>的情况下,该全局VPN标识还可以是由64位的IPv6地址前缀<2001:db8:a:a>+32位的ID值<::1234>+32位填充<全0>组成。作为另一个示例,该全局VPN标识的长度还可以是96位的长度。例如,在本例中配置全局VPN标识为<2001:db8:a:a::1234>的情况下,该全局VPN标识可以是由64位的IPv6地址前缀<2001:db8:a:a>+32位的ID值<::1234>组成。
另一种可能的实现方式中,全局VPN标识包括BIER域的入口设备(例如,设备A)上的一个MAC地址和一个与VPN相关的ID。例如,设备A上的一个MAC地址为 98-76-54-33-22-11,该MAC地址98-76-54-33-22-11可以在承载网络中唯一标识设备A。设备A上的配置如下所示:
Figure PCTCN2021133370-appb-000003
其中,“Global-vpn-id 98-76-54-33-22-11:1234”表示VPN1对应的全局VPN标识为98-76-54-33-22-11:1234,该全局VPN标识由“98-76-54-33-22-11”和“:1234”组成。“98-76-54-33-22-11”表示设备A上的一个MAC地址,“:1234”表示设备A上与VPN1对应的一个ID。
“Global-vpn-id 98-76-54-33-22-11:1235”表示VPN2对应的全局VPN标识为98-76-54-33-22-11:1235,该全局VPN标识由“98-76-54-33-22-11”和“:1235”组成。“98-76-54-33-22-11”表示设备A上的一个MAC地址,“:1235”表示设备A上与VPN2对应的一个ID。
上述配置中的全局VPN标识的长度可以有多种,本申请对此不做具体限定。作为一个示例,该全局VPN标识的长度可以是64位的长度。例如,在本例中配置全局VPN标识为<98-76-54-33-22-11:1235>的情况下,该全局VPN标识可以是由48位的MAC地址<98-76-54-33-22-11>+16位的ID值<1234>组成。
步骤620:BIER域的入口设备(例如,设备A)向BIER域的出口设备(例如,设备E、设备F)发送全局VPN标识和与该全局VPN标识对应的路由目标属性。
设备A可以通过控制面消息将全局VPN标识和与该全局VPN标识对应的路由目标属性发布给BIER域的出口设备(例如,设备E、设备F)。本申请实施例对上述控制面消息的具体类型不做限定,一个示例,该控制面消息可以是网关边界协议(border gateway protocol,BGP)消息,例如,组播虚拟专用网(multicast VPN,MVPN)地址族的BGP消息(或简称BGP-MVPN消息),又如,以太VPN实例(ethernet VPN instance,EVPN)地址族的BGP消息(或简称BGP-EVPN消息)。作为示例,在使用BGP-MVPN消息时,这个从BIER域的入口设备(例如,设备A)发布给BIER域的出口设备(例如,设备E、设备F)的消息可以是组播虚拟专用网包含提供者组播服务接口自动发现路由(multicast VPN inclusive provider multicast service interface auto-discovery route,MVPN I-PMSI A-D)消息或者组播虚拟专用网选择性提供者组播服务接口自动发现路由(multicast VPN selective provider multicast service interface auto-discovery route,MVPN S-PMSI A-D)消息。
以设备A通过发布I-PMSI A-D消息携带全局VPN标识和与该全局VPN标识对应的路由目标属性为例,I-PMSI A-D消息可以包括RT扩展团体属性以及全局VPN标识。其中,RT扩展团体属性即上文中的路由目标属性,全局VPN标识即上文中设备A配置的Global-vpn-id。S-PMSI A-D消息和I-PMSI A-D消息类似,也会携带设备A配置的全局VPN标识和与该全局VPN标识对应的路由目标属性,具体的请参见对I-PMSI A-D消息的描述,此处不再赘述。
在设备A上还会配置VPN和路由目标属性(也可以称为VPN-target或target)之间的对应关系。作为示例,设备A上的配置如下所示:
Figure PCTCN2021133370-appb-000004
其中,“Ip vpn vpn1Vpn-target 1:1”表示VPN1对应的VPN-Target为<1:1>。“Ip vpn vpn2 Vpn-target 2:2”表示VPN2对应的VPN-Target为<2:2>。
步骤630:BIER域的出口设备(例如,设备E、设备F)建立全局VPN标识和本地VPN标识之间的对应关系。
BIER域的出口设备(例如,设备E、设备F)本地可以配置VPN-Target和本地VPN标识之间的对应关系。作为示例,设备E和设备F上的配置如下所示:
设备E:
Figure PCTCN2021133370-appb-000005
其中,“Ip vpn E_vpn1Vpn-target 1:1”表示本地VPN标识<E_vpn1>对应的VPN-Target为<1:1>。“Ip vpn E_vpn2Vpn-target 2:2”表示本地VPN标识<E_vpn2>对应的VPN-Target为<2:2>。
设备F:
Figure PCTCN2021133370-appb-000006
其中,“Ip vpn F_vpn1Vpn-target 1:1”表示本地VPN标识<F_vpn1>对应的VPN-Target为<1:1>。“Ip vpn F_vpn2Vpn-target 2:2”表示本地VPN标识<F_vpn 2>对应的VPN-Target为<2:2>。
BIER域的出口设备(例如,设备E、设备F)接收到BIER域的入口设备(例如,设备A)发送的全局VPN标识和VPN-Target后,可以根据VPN-Target、本地配置的VPN-Target和本地VPN标识之间的对应关系确定本地VPN标识,再进一步建立BIER域的出口设备的本地VPN标识和全局VPN标识之间的对应关系。
下面以设备A发送给BIER域的出口设备(例如,设备E、设备F)的消息中包括(Global-vpn-id<1.1.1.10:1234>)和(VPN-target<1:1>)为例,对设备E和设备F上建立对应关系的具体实现方式进行详细描述。
以设备E为例,设备E收到设备A发送的消息后,可以根据消息中的VPN-target<1:1>及设备E本地的配置确定其本地VPN标识<E_vpn1>,进而确定(Global-vpn-id<1.1.1.10:1234>,本地VPN标识<E_vpn1>)之间的对应关系1。
以设备F为例,设备F收到设备A发送的消息后,可以根据消息中的VPN-target<1:1> 及设备F本地的配置确定其本地VPN标识<F_vpn1>,进而确定(Global-vpn-id<1.1.1.10:1234>,本地VPN标识<F_vpn1>)之间的对应关系2。
下面以设备A发送给BIER域的出口设备(例如,设备E、设备F)的消息中包括(Global-vpn-id<1.1.1.10:1235>)和(VPN-target<2:2>)为例,对设备E和设备F上建立对应关系的具体实现方式进行详细描述。
以设备E为例,设备E收到设备A发送的消息后,可以根据消息中的VPN-target<2:2>及设备E本地的配置确定其本地VPN标识<E_vpn2>,进而确定(Global-vpn-id<1.1.1.10:1235>,本地VPN标识<E_vpn2>)之间的对应关系3。
以设备F为例,设备F收到设备A发送的消息后,可以根据消息中的VPN-target<2:2>及设备F本地的配置确定其本地VPN标识<F_vpn2>,进而确定(Global-vpn-id<1.1.1.10:1235>,本地VPN标识<F_vpn2>)之间的对应关系4。
下面以图4所示的BIER域为例,结合图7,对本申请实施例提供的一种BIER报文转发的方法的具体实现方式进行详细描述。应理解,图7的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图7的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图7是本申请实施例提供的另一种BIER报文转发的方法的示意性流程图。参见图7,该方法可以包括步骤710-730,下面分别对步骤710-730进行详细描述。应理解,图7中是以设备A接收到CE1发送的数据报文为例进行举例说明的。
步骤710:设备A对从CE1接收到的数据报文进行BIER封装,得到BIER报文。
设备A接收CE1发送的数据报文,确定该数据报文对应的VPN部分,并对数据报文封装VPN部分和BIER头,得到BIER报文。一种实现方式中,VPN部分为全局VPN标识,该BIER报文的格式可以是:BIER头+全局VPN标识+数据报文。一种实现方式中,VPN部分为全局VPN标识+proto字段+保留字段,该BIER报文的格式可以是:BIER头+全局VPN标识+proto字段+保留字段+数据报文。
具体的,由于CE1属于VPN1,设备A可以确定从CE1接收到的数据报文属于VPN1,设备A再进一步根据步骤610中的配置确定VPN1对应的全局VPN标识。例如,VPN1对应的全局VPN标识可以是<1.1.1.10:1234>,其长度可以是96位,或者还可以是80位,具体的格式请参见步骤610中的描述,此处不再赘述。又如,VPN1对应的全局VPN标识还可以是<2001:db8:a:a::1234>,其长度可以是128位,或者还可以是96位,具体的格式请参见步骤610中的描述,此处不再赘述。又如,VPN1对应的全局VPN标识还可以是<98-76-54-33-22-11:1234>。
步骤720:设备A还可以将BIER报文经过承载网络传输至BIER域的出口设备(例如,设备E、设备F)。
一种可能的路径是,设备A发送给设备B,设备B发送给设备C,设备C发送给设备E和设备F。另一种可能的路径是,设备A发送给设备B,设备B经过设备D发送给设备C,设备C发送给设备E和设备F。具体的转发BIER报文的过程请参考图4中的描述,此处不再赘述。
步骤730:BIER域的出口设备(例如,设备E、设备F)对BIER报文进行处理。
以设备E为例。设备E收到BIER报文后,可以根据BIER报文的BIER头确定是否需要对BIER报文进行解封装。例如,设备E的BFR-id为1,BIER头中bit string字段从右往左第1个bit位的值为1,则设备E确定自己是该BIER报文的尾节点,设备E可以对该BIER报文进行如下处理。
1、设备E确定BIER报文中包括全局VPN标识。
作为示例,BIER报文的BIER头中的Proto字段可以用于指示BIER头后面为全局VPN标识,设备E也可以根据BIER头中的Proto字段确定BIER报文中包括全局VPN标识。
2、设备E根据全局VPN标识确定设备E上的本地VPN标识。
设备E根可以读取BIER报文中包括的全局VPN标识,并根据全局VPN标识和设备E上的本地VPN标识之间的对应关系确定设备E上的本地VPN标识。以BIER报文中包括的全局VPN标识为<1.1.1.10:1234>,设备E可以根据(Global-vpn-id<1.1.1.10:1234>,本地VPN标识<E_vpn1>)之间的对应关系1确定本地VPN标识为<E_vpn1>。也就是说,设备E可以确定BIER报文内层数据报文属于VPN1。
3、设备E对BIER报文进行解封装,得到内层的数据报文,并将该数据报文发送给VPN1对应的接口。
设备E可以解封装去掉BIER报文外层的BIER头和全局VPN标识,得到数据报文。由于数据报文属于VPN1,设备E可以通过连接CE2的接口将所述数据报文发送给CE2。
设备F对BIER报文进行处理与设备E类似,具体的请参考设备E对BIER报文的处理过程,此处不再赘述。
上文结合图1至图7,详细描述了本申请实施例提供的一种BIER报文转发的方法,下面将结合图8至图13,详细描述本申请的装置的实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8是本申请实施例提供的一种第一网络设备800的示意性结构图。图8所示的该第一网络设备800可以执行上述实施例的方法中第一网络设备执行的相应步骤。如图8所示,所述第一网络设备800包括:接收模块810、处理模块820,发送模块830,
接收模块810,用于接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文全局虚拟专用网VPN标识,所述全局VPN标识用于在BIER域中唯一标识所述数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点,所述第一网络设备为所述BIER域的出口节点;
处理模块820,用于根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN,所述第一VPN是所述第一网络设备确定的、所述数据报文的目的设备所属的VPN;
发送模块830,用于向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
可选地,所述第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀和所述第二网络设备的介质访问控制MAC地址。
可选地,所述接收模块810,还用于接收控制报文,所述控制报文中包括所述全局VPN 标识和第二target;所述处理模块820,还用于根据所述控制报文确定第一target,所述第一target和所述第二target对应;根据所述第一网络设备上的所述第一target和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
可选地,所述处理模块820,还用于根据所述BIER报文的BIER头中的协议proto字段确定所述BIER报文中包括所述全局VPN标识。
可选地,所述全局VPN标识位于所述BIER头之后。
可选地,所述处理模块820,还用于对所述BIER报文进行解封装,获得所述数据报文。
图9是本申请实施例提供的一种第二网络设备900的示意性结构图。图9所示的该第二网络设备900可以执行上述实施例的方法中第二网络设备执行的相应步骤。如图9所示,所述第二网络设备900包括:处理模块910、发送模块920,接收模块930,
处理模块910,用于确定全局VPN标识和第二target之间的对应关系,所述全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点;
发送模块920,用于向第一网络设备发送控制报文,所述控制报文中包括所述全局VPN标识和所述第二target,所述第一网络设备为所述BIER域的出口节点;
接收模块930,用于获取所述数据报文,所述数据报文的源设备所属的VPN对应所述第二target;
所述处理模块910,还用于根据所述对应关系获得BIER报文,所述BIER报文包括所述数据报文和所述全局VPN标识;
所述发送模块920,还用于向所述第一网络设备发送所述BIER报文。
可选地,第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀,所述第二网络设备的介质访问控制MAC地址。
可选地,所述BIER报文的BIER头中的协议proto字段用于指示所述BIER报文中包括所述全局VPN标识。
可选地,所述全局VPN标识位于所述BIER报文的BIER头之后。
图10是本申请实施例的第一网络设备2000的硬件结构示意图。图10所示第一网络设备2000可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图10所示,所述第一网络设备2000包括处理器2001、存储器2002、接口2003和总线2004。其中接口2003可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2001、存储器2002和接口2003通过总线2004连接。
所述接口2003具体可以包括发送器和接收器,用于第一网络设备实现上述收发。例如,所述接口2003用于接收第二网络设备发送的BIER报文,或者用于向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
所述处理器2001用于执行上述实施例中由第一网络设备进行的处理。例如,用于根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN;和/或用于本文所描述 的技术的其他过程。存储器2002包括操作系统20021和应用程序20022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第一网络设备的处理过程。可选的,所述存储器2002可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第一网络设备2000时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第一网络设备2000进入正常运行状态。在第一网络设备2000进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备2000的处理过程。
可以理解的是,图10仅仅示出了第一网络设备2000的简化设计。在实际应用中,第一网络设备可以包含任意数量的接口,处理器或者存储器。
图11为本申请实施例的另一种第一网络设备2100的硬件结构示意图。图11所示的第一网络设备2100可以执行上述实施例的方法中第一网络设备执行的相应步骤。
如图11所述,第一网络设备2100包括:主控板2110、接口板2130、交换网板2120和接口板2140。主控板2110、接口板2130和2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。其中,主控板2110用于完成系统管理、设备维护、协议处理等功能。交换网板2120用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2130和2140用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2130可以包括中央处理器2131、转发表项存储器2134、物理接口卡2133和网络处理器2132。其中,中央处理器2131用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2134用于保存表项,例如,上文中的BIFT。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2140上的操作与所述接口板2130的操作一致,为了简洁,不再赘述。
应理解,本实施例的第一网络设备2100可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第一网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第一网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第一网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第一网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图12是本申请实施例的第二网络设备2200的硬件结构示意图。图12所示第二网络设备2200可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图12所示,所述第二网络设备2200包括处理器2201、存储器2202、接口2203和 总线2204。其中接口2203可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器2201、存储器2202和接口2203通过总线2204连接。
所述接口2203具体可以包括发送器和接收器,用于获取所述数据报文;向第一网络设备发送控制报文;向所述第一网络设备发送所述BIER报文。所述处理器2201用于执行上述实施例中由第二网络设备进行的处理。例如,所述处理器2201用于确定全局VPN标识和第二target之间的对应关系;根据所述对应关系获得BIER报文,所述BIER报文包括所述数据报文和所述全局VPN标识;和/或用于本文所描述的技术的其他过程。存储器2202包括操作系统22021和应用程序22022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及第二网络设备的处理过程。可选的,所述存储器2202可以包括只读存储器(read-only memory,ROM)和随机存取存储器(random access memory,RAM)。其中,所述ROM包括基本输入/输出系统(basic input/output system,BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行第二网络设备2200时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导第二网络设备2200进入正常运行状态。在第二网络设备2200进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第二网络设备2200的处理过程。
可以理解的是,图12仅仅示出了第二网络设备2200的简化设计。在实际应用中,第二网络设备可以包含任意数量的接口,处理器或者存储器。
图13为本申请实施例的另一种第二网络设备2300的硬件结构示意图。图13所示的第二网络设备230可以执行上述实施例的方法中第二网络设备执行的相应步骤。
如图13所述,第二网络设备230包括:主控板2310、接口板2330、交换网板2320和接口板2340。主控板2310、接口板2330和2340,以及交换网板2320之间通过系统总线与系统背板相连实现互通。其中,主控板2310用于完成系统管理、设备维护、协议处理等功能。交换网板2320用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板2330和2340用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现数据包的转发。
接口板2330可以包括中央处理器2331、转发表项存储器2334、物理接口卡2333和网络处理器2332。其中,中央处理器2331用于对接口板进行控制管理并与主控板上的中央处理器进行通信。转发表项存储器2334用于保存表项,例如,上文中的BIFT。物理接口卡2133用于完成流量的接收和发送。
应理解,本申请实施例中接口板2340上的操作与所述接口板2330的操作一致,为了简洁,不再赘述。应理解,本实施例的第二网络设备2300可对应于上述方法实施例所具有的功能和/或所实施的各种步骤,在此不再赘述。
此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,第二网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,第二网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,第二网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数 据交换,提供大容量的数据交换和处理能力。所以,分布式架构的第二网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二网络设备执行的方法。这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(hard drive)。
本申请实施例还提供了一种芯片系统,应用于第一网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了另一种芯片系统,应用于第二网络设备中,该芯片系统包括:至少一个处理器、至少一个存储器和接口电路,所述接口电路负责所述芯片系统与外界的信息交互,所述至少一个存储器、所述接口电路和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有指令;所述指令被所述至少一个处理器执行,以进行上述各个方面的所述的方法中所述第二网络设备的操作。
在具体实现过程中,该芯片可以以中央处理器(central processing unit,CPU)、微控制器(micro controller unit,MCU)、微处理器(micro processing unit,MPU)、数字信号处理器(digital signal processing,DSP)、片上系统(system on chip,SoC)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或可编辑逻辑器件(programmable logic device,PLD)的形式实现。
本申请实施例还提供了一种计算机程序产品,应用于第一网络设备中,所述计算机程序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第一网络设备的操作。
本申请实施例还提供了一种计算机程序产品,应用于第二网络设备中,所述计算机程 序产品包括一系列指令,当所述指令被运行时,以进行上述各个方面的所述的方法中所述第二网络设备的操作。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

  1. 一种基于位索引的显式复制BIER报文转发的方法,其特征在于,包括:
    第一网络设备接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文和全局虚拟专用网VPN标识,所述全局VPN标识用于在BIER域中唯一标识所述数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点,所述第一网络设备为所述BIER域的出口节点;
    所述第一网络设备根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN,所述第一VPN是所述第一网络设备确定的、所述数据报文的目的设备所属的VPN;
    所述第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
  2. 根据权利要求1所述的方法,其特征在于,所述第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀和所述第二网络设备的介质访问控制MAC地址。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备接收控制报文,所述控制报文中包括所述全局VPN标识和第二路由目标属性;
    所述第一网络设备根据所述控制报文确定第一路由目标属性,所述第一路由目标属性和所述第二路由目标属性对应;
    所述第一网络设备根据所述第一网络设备上的所述第一路由目标属性和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
    所述第一网络设备根据所述BIER报文的BIER头中的协议proto字段确定所述BIER报文中包括所述全局VPN标识。
  5. 根据权利要求4所述的方法,其特征在于,所述全局VPN标识位于所述BIER头之后。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文,包括:
    所述第一网络设备对所述BIER报文进行解封装,获得所述数据报文;
    所述第一网络设备向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
  7. 一种基于位索引的显式复制BIER报文转发的方法,其特征在于,包括:
    第二网络设备确定全局VPN标识和第二路由目标属性之间的对应关系,所述全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域 中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点;
    所述第二网络设备向第一网络设备发送控制报文,所述控制报文中包括所述全局VPN标识和所述第二路由目标属性,所述第一网络设备为所述BIER域的出口节点;
    所述第二网络设备获取所述数据报文,所述数据报文的源设备所属的VPN对应所述第二路由目标属性;
    所述第二网络设备根据所述对应关系获得BIER报文,所述BIER报文包括所述数据报文和所述全局VPN标识;
    所述第二网络设备向所述第一网络设备发送所述BIER报文。
  8. 根据权利要求7所述的方法,其特征在于,第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀,所述第二网络设备的介质访问控制MAC地址。
  9. 根据权利要求7或8所述的方法,其特征在于,所述BIER报文的BIER头中的协议proto字段用于指示所述BIER报文中包括所述全局VPN标识。
  10. 根据权利要求7至9中任一项所述的方法,其特征在于,所述全局VPN标识位于所述BIER报文的BIER头之后。
  11. 一种第一网络设备,其特征在于,包括:
    接收模块,用于接收第二网络设备发送的BIER报文,所述BIER报文包括数据报文全局虚拟专用网VPN标识,所述全局VPN标识用于在BIER域中唯一标识所述数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点,所述第一网络设备为所述BIER域的出口节点;
    处理模块,用于根据所述全局VPN标识确定与所述全局VPN标识对应的第一VPN,所述第一VPN是所述第一网络设备确定的、所述数据报文的目的设备所属的VPN;
    发送模块,用于向所述第一VPN对应的所述数据报文的目的设备发送所述数据报文。
  12. 根据权利要求11所述的第一网络设备,其特征在于,所述第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀和所述第二网络设备的介质访问控制MAC地址。
  13. 根据权利要求11或12所述的第一网络设备,其特征在于,
    所述接收模块,还用于接收控制报文,所述控制报文中包括所述全局VPN标识和第二路由目标属性;
    所述处理模块,还用于根据所述控制报文确定第一路由目标属性,所述第一路由目标属性和所述第二路由目标属性对应;
    所述处理模块,还用于根据所述第一网络设备上的所述第一路由目标属性和所述第一VPN之间的对应关系,确定所述全局VPN标识和所述第一VPN之间的对应关系。
  14. 根据权利要求11至13中任一项所述的第一网络设备,其特征在于,所述处理模 块,还用于根据所述BIER报文的BIER头中的协议proto字段确定所述BIER报文中包括所述全局VPN标识。
  15. 根据权利要求14所述的第一网络设备,其特征在于,所述全局VPN标识位于所述BIER头之后。
  16. 根据权利要求11至15中任一项所述的第一网络设备,其特征在于,
    所述处理模块,还用于对所述BIER报文进行解封装,获得所述数据报文。
  17. 一种第二网络设备,其特征在于,包括:
    处理模块,用于确定全局VPN标识和第二路由目标属性之间的对应关系,所述全局VPN标识用于在BIER域中唯一标识数据报文的源设备所属的VPN,所述全局VPN标识包括所述第二网络设备的标识和第一标识,所述第二网络设备的标识用于在所述BIER域中标识所述第二网络设备,所述第一标识用于在所述第二网络设备上标识所述数据报文的源设备所属的VPN,所述第二网络设备为所述BIER域的入口节点;
    发送模块,用于向第一网络设备发送控制报文,所述控制报文中包括所述全局VPN标识和所述第二路由目标属性,所述第一网络设备为所述BIER域的出口节点;
    接收模块,用于获取所述数据报文,所述数据报文的源设备所属的VPN对应所述第二路由目标属性;
    所述处理模块,还用于根据所述对应关系获得BIER报文,所述BIER报文包括所述数据报文和所述全局VPN标识;
    所述发送模块,还用于向所述第一网络设备发送所述BIER报文。
  18. 根据权利要求17所述的第二网络设备,其特征在于,第二网络设备的标识包括以下中的任一种:所述第二网络设备的互联网协议第4版IPv4地址,所述第二网络设备的互联网协议第6版IPv6地址,所述第二网络设备的IPv6地址的前缀,所述第二网络设备的介质访问控制MAC地址。
  19. 根据权利要求17或18所述的第二网络设备,其特征在于,所述BIER报文的BIER头中的协议proto字段用于指示所述BIER报文中包括所述全局VPN标识。
  20. 根据权利要求17至19中任一项所述的第二网络设备,其特征在于,所述全局VPN标识位于所述BIER报文的BIER头之后。
  21. 第一网络设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于从存储器中调用并运行所述程序以执行权利要求1至6中任一项所述的方法。
  22. 一种第二网络设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于从存储器中调用并运行所述程序以执行权利要求7至10中任一项所述的方法。
  23. 一种BIER报文转发的系统,包括如权利要求11至16中任一项所述的第一网络设备以及权利要求17至20中任一项所述的第二网络设备。
  24. 一种计算机可读存储介质,其特征在于,包括计算机程序或代码,当所述计算机程序或代码在计算机上运行时,使得所述计算机执行权利要求1至6中任一项所述的方法。
  25. 一种计算机可读存储介质,其特征在于,包括计算机程序或代码,当所述计算机程序或代码在计算机上运行时,使得所述计算机执行权利要求7至10中任一项所述的方 法。
PCT/CN2021/133370 2020-12-02 2021-11-26 Bier报文转发的方法、设备以及系统 WO2022116895A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21899927.4A EP4246918A4 (en) 2020-12-02 2021-11-26 METHOD, DEVICE AND SYSTEM FOR FORWARDING BEER PACKAGES
US18/327,541 US20230318974A1 (en) 2020-12-02 2023-06-01 BIER Packet Forwarding Method, Device, and System

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202011393273 2020-12-02
CN202011393273.9 2020-12-02
CN202011525228.4A CN114598644A (zh) 2020-12-02 2020-12-22 Bier报文转发的方法、设备以及系统
CN202011525228.4 2020-12-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/327,541 Continuation US20230318974A1 (en) 2020-12-02 2023-06-01 BIER Packet Forwarding Method, Device, and System

Publications (1)

Publication Number Publication Date
WO2022116895A1 true WO2022116895A1 (zh) 2022-06-09

Family

ID=81813341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/133370 WO2022116895A1 (zh) 2020-12-02 2021-11-26 Bier报文转发的方法、设备以及系统

Country Status (4)

Country Link
US (1) US20230318974A1 (zh)
EP (1) EP4246918A4 (zh)
CN (1) CN114598644A (zh)
WO (1) WO2022116895A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640753A (zh) * 2022-08-11 2024-03-01 华为技术有限公司 数据传输方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991302A (zh) * 2015-03-20 2016-10-05 瞻博网络公司 可靠传输上使用注册的多播流覆盖
US20180278522A1 (en) * 2017-03-24 2018-09-27 Cisco Technology, Inc. System and method to facilitate content forwarding using bit index explicit replication (bier) in an information-centric networking (icn) environment
CN109995634A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 一种组播虚拟专用网络的承载方法和设备
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595913B (zh) * 2018-11-02 2023-02-14 华为技术有限公司 报文转发的方法、发送报文的装置和接收报文的装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991302A (zh) * 2015-03-20 2016-10-05 瞻博网络公司 可靠传输上使用注册的多播流覆盖
US20180278522A1 (en) * 2017-03-24 2018-09-27 Cisco Technology, Inc. System and method to facilitate content forwarding using bit index explicit replication (bier) in an information-centric networking (icn) environment
CN109995634A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 一种组播虚拟专用网络的承载方法和设备
CN111669330A (zh) * 2019-03-08 2020-09-15 华为技术有限公司 一种bier报文的发送方法和装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
CN114598644A (zh) 2022-06-07
EP4246918A4 (en) 2024-04-17
EP4246918A1 (en) 2023-09-20
US20230318974A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
CN109218178B (zh) 一种报文处理方法及网络设备
US11991012B2 (en) Packet forwarding method, packet sending apparatus, and packet receiving apparatus
WO2022100554A1 (zh) Bier报文转发的方法、设备以及系统
JP6189942B2 (ja) 個別管理方式を使用する仮想転送インスタンスの遠端アドレスへのvlanタグ付きパケットのルーティング
CN111669330B (zh) 一种bier报文的发送方法和装置
US8098656B2 (en) Method and apparatus for implementing L2 VPNs on an IP network
WO2013145167A1 (ja) Lan多重化装置
CN113114576B (zh) 报文发送的方法、设备和系统
WO2021093463A1 (zh) 报文转发的方法、第一网络设备以及第一设备组
WO2022117018A1 (zh) 报文传输的方法和装置
WO2022116895A1 (zh) Bier报文转发的方法、设备以及系统
WO2021244108A1 (zh) Bier组播流量的统计方法、设备以及系统
WO2022206405A1 (zh) 一种BIERv6报文的处理方法、设备以及系统
US20220337521A1 (en) Packet Sending Method, Device and System
WO2021254454A1 (zh) Bier oam检测的方法、设备以及系统
WO2021208664A1 (zh) 报文检测的方法、设备以及系统
WO2021164245A1 (zh) 负载分担的方法、第一网络设备
CN114520762B (zh) BIERv6报文的发送方法以及第一网络设备
EP3913865A1 (en) Message decapsulation method and device, message encapsulation method and device, electronic device, and storage medium
CN112702251A (zh) 报文检测方法、连通性协商关系建立方法以及相关设备
WO2022012073A1 (zh) 报文转发的方法、设备以及系统
WO2022171014A1 (zh) 报文传输方法及装置
WO2023208056A1 (zh) 处理报文的方法、装置以及系统
WO2014110729A1 (zh) 一种trill oam报文实现方法,rb和trill网络

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021899927

Country of ref document: EP

Effective date: 20230612

NENP Non-entry into the national phase

Ref country code: DE