WO2022227690A1 - 消息发送方法及装置、消息接收方法及装置、存储介质 - Google Patents

消息发送方法及装置、消息接收方法及装置、存储介质 Download PDF

Info

Publication number
WO2022227690A1
WO2022227690A1 PCT/CN2022/070343 CN2022070343W WO2022227690A1 WO 2022227690 A1 WO2022227690 A1 WO 2022227690A1 CN 2022070343 W CN2022070343 W CN 2022070343W WO 2022227690 A1 WO2022227690 A1 WO 2022227690A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
specified
tunnel encapsulation
information
traffic
Prior art date
Application number
PCT/CN2022/070343
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 中兴通讯股份有限公司
Publication of WO2022227690A1 publication Critical patent/WO2022227690A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation

Definitions

  • the present disclosure relates to the field of communications, and in particular, to a method and device for sending a message, a method and device for receiving a message, and a storage medium.
  • a network slice can be a virtual network with reserved resources, or a traffic engineering path with reserved resources. Between different slices, there can be strict hard resource isolation or soft isolation that approximates the effect of hard isolation.
  • the IP packet network has never been designed to support hard isolation. It supports statistical multiplexing, which is more economical than private networks or Time Division Multiplex (TDM) networks.
  • TDM Time Division Multiplex
  • IGP Interior Gateway Protocol
  • Some use the Interior Gateway Protocol (IGP) multi-topology technology (refer to The same physical network topology is divided into multiple logical sub-topologies, and each logical sub-topology has its own resources; algo-14, draft-ietf-lsr-ip-flexalgo-00), divide the same physical network topology into multiple Flex-algo planes, and use the corresponding algorithm in each Flex-algo plane to calculate the forwarding with constraints path; some directly create multiple end-to-end virtual topologies with different slice IDs (Slice IDs) in the network (refer to draft-peng-teas-network-slicing-04), and then create end-to-end virtual topologies in the slice virtual topology path to the end.
  • slice IDs slice IDs
  • ACL Access Control List
  • Traffic Class Traffic Class
  • Embodiments of the present disclosure provide a method and device for sending a message, a method and device for receiving a message, and a storage medium, so as to at least solve the problem of inflexibility caused by relying on manually configured slice traffic drainage in network operation and maintenance.
  • a method for sending a message includes: sending a BGP update message to an ingress node through an egress node to announce route reachability information to the ingress node, wherein the BGP update message includes: Tunnel encapsulation attributes, the tunnel encapsulation attributes include: one or more tunnel encapsulation information, the tunnel encapsulation information includes at least one of the following: a specified traffic classification feature value, and path information of a specified virtual network, the tunnel encapsulation information It is used to instruct the ingress node to map the traffic with the specified flow classification characteristic value sent to the egress node to the path of the specified virtual network.
  • a method for receiving a message including: receiving, through an ingress node, a BGP update message sent by an egress node to obtain route reachability information, wherein the BGP update message includes: tunnel encapsulation attribute, the tunnel encapsulation attribute includes: one or more tunnel encapsulation information, and the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, and the tunnel encapsulation information is used for The ingress node is instructed to map the traffic with the specified flow classification characteristic value sent to the egress node to the path of the specified virtual network.
  • a message sending apparatus including: a sending module configured to send a BGP update message to an ingress node, so as to advertise route reachability information to the ingress node, wherein the BGP
  • the update message includes: a tunnel encapsulation attribute, the tunnel encapsulation attribute includes: one or more tunnel encapsulation information, and the tunnel encapsulation information includes at least one of the following: a specified flow classification characteristic value, a specified virtual network path information, all
  • the tunnel encapsulation information is used to instruct the ingress node to map the traffic with the specified flow classification characteristic value sent to the egress node to the path of the specified virtual network.
  • a message receiving apparatus including: a receiving module configured to receive a BGP update message sent by an egress node to obtain route reachability information, wherein the BGP update message includes: Tunnel encapsulation attributes, the tunnel encapsulation attributes include: one or more tunnel encapsulation information, the tunnel encapsulation information includes at least one of the following: a specified traffic classification feature value, and path information of a specified virtual network, the tunnel encapsulation information It is used to instruct the ingress node to map the traffic with the specified flow classification characteristic value sent to the egress node to the path of the specified virtual network.
  • a computer-readable storage medium is also provided, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the above message sending method when running or the message receiving method.
  • an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the message through the computer program Send method or message receive method.
  • the egress node sends a BGP update message to the ingress node to advertise route reachability information to the ingress node, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more Tunnel encapsulation information, where the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, where the tunnel encapsulation information is used to indicate that the ingress node will send the egress node Traffic with the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, where the tunnel encapsulation information is used to indicate that the ingress node will send the egress node Traffic with the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the egress node sends a BGP update message containing the specified traffic classification characteristic value and the path information of the specified virtual network to the ingress node, so as to advertise the route reachability information to the ingress node, and then the ingress node can send the egress node A path that maps traffic with the specified traffic classification characteristic value to the specified virtual network.
  • the problem of inflexibility caused by relying on manually-configured slices to divert traffic is solved, and the BGP update message is sent to the ingress node through the egress node to advertise the route reachability information to the ingress node, making up for BGP
  • FIG. 1 is a block diagram of a hardware structure of a computer terminal of a message sending method or a message receiving method according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a message sending method according to an embodiment of the present disclosure
  • FIG. 3 is a flowchart of a message receiving method according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram of the format of the Flow Classification Sub-TLV according to an embodiment of the present disclosure
  • Fig. 5 is the format schematic diagram of the IP Differentiated Service sub-sub-TLV of the embodiment of the present disclosure
  • Fig. 6 is the format schematic diagram of IP Source Address Range sub-sub-TLV of the embodiment of the present disclosure.
  • Fig. 7 is the format schematic diagram of the IP Protocol Number sub-sub-TLV of the embodiment of the present disclosure.
  • Fig. 8 is the format schematic diagram of the Transport Source Port Range sub-sub-TLV of the embodiment of the present disclosure.
  • Fig. 9 is the format schematic diagram of the Virtual Network Sub-TLV of the embodiment of the present disclosure.
  • FIG. 10 is a schematic diagram of the format of an SR-BE Encapsulation Sub-TLV according to an embodiment of the present disclosure
  • FIG. 11 is a schematic diagram of deploying IGP Flex-algo in a backbone network according to an embodiment of the present disclosure
  • FIG. 12 is a structural block diagram of a message sending apparatus according to an embodiment of the present disclosure.
  • FIG. 13 is a structural block diagram of a message receiving apparatus according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram of a hardware structure of a computer terminal of a method for sending a message or a method for receiving a message according to an embodiment of the present disclosure.
  • the computer terminal may include one or more (only one is shown in FIG.
  • processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.
  • the above-mentioned computer terminal may also include a transmission device 106 and an input-output device 108 for communication functions.
  • the structure shown in FIG. 1 is only a schematic diagram, which does not limit the structure of the above-mentioned computer terminal.
  • the computer terminal may also include more or fewer components than those shown in FIG. 1 , or have a different configuration with equivalent or more functions than those shown in FIG. 1 .
  • the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer programs corresponding to the message sending method or the message receiving method in the embodiment of the present disclosure, the processor 102 runs the computer program stored in the memory 104 by running the computer program , so as to perform various functional applications and data processing, that is, to implement the above method.
  • Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • memory 104 may further include memory located remotely from processor 102, which may be connected to a computer terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission means 106 are used to receive or transmit data via a network.
  • the specific example of the above-mentioned network may include a wireless network provided by the communication provider of the computer terminal.
  • the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is used to communicate with the Internet in a wireless manner.
  • RF Radio Frequency
  • FIG. 2 is a flowchart of the message sending method according to the embodiment of the present disclosure, and the flow includes the following steps:
  • Step S202 sending a BGP update message to the ingress node through the egress node to announce the route reachability information to the ingress node, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more Tunnel encapsulation information, where the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, where the tunnel encapsulation information is used to indicate that the ingress node will send the egress node Traffic with the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, where the tunnel encapsulation information is used to indicate that the ingress node will send the egress node Traffic with the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the egress node sends a BGP update message containing the specified traffic classification characteristic value and the path information of the specified virtual network to the ingress node, so as to announce the route reachability information to the ingress node, and then the ingress node can send to the egress node A path that maps traffic with the specified traffic classification characteristic value to the specified virtual network.
  • the problem of inflexibility caused by relying on manually-configured slices to divert traffic is solved, and the BGP update message is sent to the ingress node through the egress node to advertise the route reachability information to the ingress node, making up for BGP
  • the flow classification feature value includes at least one of the following: the differentiated services DS field of the IP header, the source IP address of the IP header, the destination IP address, the source port number, the destination port number, the protocol number, the Ethernet frame header.
  • the Differentiated Services DS field of the IP header includes at least one of the following: the service type TOS field of the IPv4 header, and the traffic class TC field of the IPv6 header.
  • the flow classification characteristic value is mainly the Differentiated Services (Differentiated Services, DS) field of the IP header in the network slicing scenario, such as the service type (Type of Service) of the IPv4 header. Service (TOS for short) field or the Traffic Class (TC) field of the IPv6 header.
  • the traffic classification feature value can also be the source IP address and destination IP address of the IP header. , source port number, destination port number, one of the protocol numbers or any combination of them or any combination with the DS field, it can also be the source MAC, destination MAC, VLAN ID, Priority Code Point of the Ethernet frame header , referred to as PCP) or any combination of them.
  • PCP Priority Code Point of the Ethernet frame header
  • the path information of the specified virtual network includes at least one of the following: the path to the specified destination node in the specified IGP topology, the path to the specified destination node in the specified Flex-algo plane, the virtual topology corresponding to the specified Slice ID The path to the specified destination node and the path of the specified segment identifier SID.
  • FIG. 3 is a flowchart of the message receiving method according to the embodiment of the present disclosure, and the flowchart includes the following steps:
  • Step S302 receiving the BGP update message sent by the egress node through the ingress node to obtain route reachability information, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more tunnel encapsulation information,
  • the tunnel encapsulation information includes at least one of the following: a specified flow classification characteristic value, and path information of a specified virtual network, and the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node a flow with the specified flow.
  • the traffic of the classification characteristic value is mapped to the path of the specified virtual network.
  • the ingress node receives the BGP update message sent by the egress node including the specified traffic classification characteristic value and the path information of the specified virtual network, so as to obtain the route reachability information, and then the ingress node can send to the egress node the specified flow
  • the traffic of the classification characteristic value is mapped to the path of the specified virtual network. It solves the problem of inflexibility caused by relying on manually configured slices to divert traffic during network operation and maintenance, and then receives BGP update messages sent by egress nodes through ingress nodes to obtain route reachability information, which makes up for the inability to specify routes in BGP route advertisements. Defects of specific virtual networks, automatic slice drainage that does not depend on static configuration, has good flexibility.
  • the flow classification feature value includes at least one of the following: the differentiated services DS field of the IP header, the source IP address of the IP header, the destination IP address, the source port number, the destination port number, the protocol number, the Ethernet frame header source MAC address, destination MAC address, VLAN ID, and priority code point PCP.
  • the Differentiated Services DS field of the IP header includes at least one of the following: the service type TOS field of the IPv4 header, and the traffic class TC field of the IPv6 header.
  • the flow classification characteristic value is mainly the Differentiated Services (Differentiated Services, DS) field of the IP header in the network slicing scenario, such as the service type (Type of Service) of the IPv4 header. Service (TOS for short) field or the Traffic Class (TC) field of the IPv6 header.
  • the traffic classification feature value can also be the source IP address and destination IP address of the IP header. , source port number, destination port number, one of the protocol numbers or any combination of them or any combination with the DS field, it can also be the source MAC, destination MAC, VLAN ID, Priority Code Point of the Ethernet frame header , referred to as PCP) or any combination of them.
  • PCP Priority Code Point of the Ethernet frame header
  • the path information of the specified virtual network includes at least one of the following: the path to the specified destination node in the specified IGP topology, the path to the specified destination node in the specified Flex-algo plane, the virtual topology corresponding to the specified Slice ID The path to the specified destination node and the path of the specified segment identifier SID.
  • the method further includes: the ingress node creates the route reachability information according to the obtained route reachability information.
  • the entry node of the network after receiving the above-mentioned route reachability information, creates a routing table entry or label entry corresponding to the entry node, maintains the corresponding routing entry or label entry, and stores the routing entry or label entry in the routing entry or
  • the label table entry contains corresponding tunnel encapsulation attribute information.
  • the tunnel encapsulation attribute information maintained in a single routing entry or label entry can contain multiple tunnel encapsulation options, such as: ⁇ traffic classification feature value 1, tunnel 1>, ⁇ traffic classification feature value 2 , tunnel 2> and so on.
  • the method further includes: the ingress node determines that the traffic matches the In the case of the routing table entry or label table entry, the flow classification feature of the traffic is obtained, and the traffic is forwarded on the path information of the designated virtual network corresponding to the flow classification feature.
  • the network ingress node when the network ingress node receives traffic from the user side, if a routing table entry is matched and the routing table entry contains tunnel encapsulation attribute information, it will further classify the traffic according to the traffic classification characteristics of the received traffic. Directed to the forwarding path of the specified virtual network for forwarding.
  • the egress node of the network (or through a reflector) sends a BGP UPDATE message to the ingress node to advertise route reachability information, which can include tunnels in the message according to the mechanism defined in draft-ietf-idr-tunnel-encaps-22 Encapsulate properties.
  • the tunnel encapsulation attribute may include one or more tunnel encapsulation information, and each tunnel encapsulation information includes a specific flow classification characteristic value and path information of a specific virtual network to which the traffic is mapped.
  • the flow classification feature value is mainly the DS (Differentiated Services) field of the IP header in the network slicing scenario, such as the TOS (Type of Service) field of the IPv4 header or the TC (Traffic Class) field of the IPv6 header.
  • the path information of the specific virtual network can be the path to the specific destination node in the specific IGP topology, or the path to the specific destination node in the specific Flex-algo plane, or the path to the specific destination node in the virtual topology corresponding to the specific Slice ID. Path, or a path to a specific SID (Segment Identifier segment identifier, refer to RFC8402).
  • the flow classification feature value may also include the source IP address, destination IP address, source port number, destination port number, protocol number of the IP header, or any combination thereof or any combination with DS
  • the combination can also be one of the source MAC, destination MAC, VLAN ID, PCP of the Ethernet frame header, or any combination thereof.
  • the ingress node of the network maintains the corresponding routing table entry or label table entry after receiving the above-mentioned route reachability information advertisement including the tunnel encapsulation attribute, and includes the corresponding tunnel encapsulation attribute information in the routing table entry or the label table entry.
  • the tunnel encapsulation attribute information maintained in a single routing table entry or label entry can contain multiple tunnel encapsulation options, such as: ⁇ traffic classification characteristic value 1, tunnel 1>, ⁇ flow classification characteristic value 2, tunnel 2>, etc. Wait.
  • the network ingress node When the network ingress node receives traffic from the user side, if it matches a routing table entry or label table entry and the routing table entry or label table entry contains tunnel encapsulation attribute information, it is further classified according to the flow of the received traffic. feature to direct traffic to the forwarding path of a specific virtual network for forwarding.
  • FIG. 4 is a schematic diagram of the format of the Flow Classification Sub-TLV according to an embodiment of the present disclosure.
  • a new Flow Classification Sub-TLV is added to represent Traffic classification information. Only the traffic that matches the traffic classification information can be encapsulated by the tunnel specified in the Tunnel Encapsulation TLV.
  • the format of the Flow Classification Sub-TLV is shown in Figure 4, in which: Type: occupies 1 byte, and the value is to be allocated by the Internet Assigned Numbers Authority (IANA for short), indicating that the Sub-TLV is a Flow Classification Sub-TLV; Length: Occupies 1 byte, and the value is set according to the sub-sub-TLVs contained.
  • Type occupies 1 byte, and the value is to be allocated by the Internet Assigned Numbers Authority (IANA for short), indicating that the Sub-TLV is a Flow Classification Sub-TLV
  • Length Occupies 1 byte, and the value is set according to the sub-sub-TLVs contained.
  • sub-sub-TLVs are defined, and each sub-sub-TLV is optional and can exist alone or at the same time.
  • the specific sub-sub-TLVs are as follows:
  • FIG. 5 is a schematic diagram of the format of the IP Differentiated Service sub-sub-TLV according to the embodiment of the present disclosure, wherein: Type: occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub- sub-TLV is IP Differentiated Service sub-sub-TLV; Length: occupies 1 byte, the value is 2; DS Begin: occupies 1 byte, indicating the starting value of the traffic level range, and its value cannot exceed DS End; DS End: occupies 1 byte, indicating the end value of the traffic level range; when the DS of the IP traffic (such as the TOS field of the IPv4 header or the TC field of the IPv6 header) is within the above range, the IP traffic is allowed to use the Tunnel Encapsulation TLV The tunnel encapsulation specified in .
  • Type occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub- sub-TLV is IP Differentiated Service sub-sub-TLV
  • FIG. 6 is a schematic diagram of the format of the IP Source Address Range sub-sub-TLV of the embodiment of the present disclosure, wherein Type: occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub -sub-TLV is IP Source Address Range sub-sub-TLV; Length: 1 byte, the value is 6 or 18; Flags: 1 byte, including some flags.
  • Prefix Length occupies 1 byte, indicating the length of the prefix in the Prefix field; Prefix: IPv4 Prefix of 4 bytes, or IPv6 Prefix of 16 bytes; when the source address of IP traffic is within the range of Prefix, the IP traffic is allowed to be encapsulated by the tunnel specified in the Tunnel Encapsulation TLV.
  • IP Source Address Range sub-sub-TLV It is used to indicate the destination address range that traffic needs to match, in the same format as IP Source Address Range sub-sub-TLV.
  • FIG. 7 is a schematic diagram of the format of the IP Protocol Number sub-sub-TLV in the embodiment of the present disclosure, wherein Type: occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub- sub-TLV is IP Protocol Number sub-sub-TLV; Length: occupies 1 byte, the value is 2; Protocol Begin: occupies 1 byte, indicating the starting value of the protocol number range, and its value cannot exceed Protocol End; Protocol End: occupies 1 byte, indicating the end value of the protocol number range; when the protocol number of the IP traffic (such as the Protocol field of the IPv4 header or the Next Header field of the IPv6 header) is within the above range, the IP traffic is allowed to use Tunnel Encapsulation Tunnel encapsulation specified in TLV.
  • Type occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub- sub-TLV is IP Protocol Number sub-sub-TLV
  • Length occupies 1 byte, the value is 2
  • Figure 8 is a schematic diagram of the format of the Transport Source Port Range sub-sub-TLV in an embodiment of the present disclosure, wherein: Type: occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub-sub-TLV is the Transport Source Port Range sub-sub-TLV; Length: occupies 1 byte, the value is 6; Port Begin: occupies 1 byte, indicating the starting value of the source port number range, its value cannot be Exceeds Port End; Port End: occupies 1 byte, indicating the end value of the source port number range; when the source port number of the transport layer of the traffic (such as the source port of TCP or UDP) is within the above range, the IP traffic is allowed to use The tunnel encapsulation specified in the Tunnel Encapsulation TLV.
  • Type occupies 1 byte, and the value is to be allocated by IANA, indicating that the sub-sub-TLV is the Transport Source Port Range sub-sub-TLV
  • Length occupies 1 byte, the value is 6
  • the traffic matching conditions corresponding to the Ethernet frame can be defined, such as: source MAC range, destination MAC range, VLAN ID range, PCP range.
  • the principle is similar to the traffic matching conditions corresponding to IP packets, and will not be repeated here.
  • a new Virtual Network Sub-TLV is added, which is optional and used to represent a specific virtual network, that is, the tunnel encapsulation specified in the Tunnel Encapsulation TLV is related
  • a connected tunnel is a tunnel within a specific virtual network.
  • 9 is a schematic diagram of the format of a Virtual Network Sub-TLV according to an embodiment of the present disclosure, wherein: Type: occupies 1 byte, and the value is to be allocated by IANA, indicating that the Sub-TLV is a Virtual Network Sub-TLV; Length: occupies 1 byte , the value is 6; Flags: occupies 1 byte and defines some flags.
  • I-Flag is defined, which is only used when Slice ID is specified in Virtual Network Sub-TLV.
  • I-Flag is 1, it indicates that the tunnel header corresponding to the tunnel encapsulation attribute encapsulated in the service packets of the forwarding plane needs to carry the Slice ID, otherwise it does not need to be carried.
  • Algorithm occupies 1 byte, indicating a specific IGP algorithm. For the value, refer to the "IGP Algorithm Types" registry of IANA.
  • Multi-Topology ID Occupies 2 bytes, indicating a specific IGP topology. Refer to the MT ID in RFC5120 or the MT-ID in RFC4915 for the meaning.
  • Slice ID occupies 2 bytes, indicating a specific slice, that is, the IETF network slice defined in draft-ietf-teas-ietf-network-slices-01.
  • the Virtual Network Sub-TLV contained in the Tunnel Encapsulation TLV is used in conjunction with other Sub-TLVs to specify the tunnel encapsulation information corresponding to the tunnel in a specific virtual network.
  • the Tunnel Type of the Tunnel Encapsulation TLV is 7 (indicating IP in IP) and includes the Virtual Network Sub-TLV and the defined Tunnel Egress Endpoint Sub-TLV, it means that the service packets are encapsulated in the specified virtual network It is transmitted to the IP tunnel of the specified Tunnel Egress Endpoint.
  • Segment Routing can provide the best-effort forwarding path (referred to as SR-BE) based on Segment Routing, and the allocation of the SID itself can distinguish different virtual networks to allocate different SIDs. Therefore, including the specified SID in the tunnel encapsulation attribute can be used as another option, so that the service packet is encapsulated in the SR-BE tunnel of a specific virtual network.
  • Segment Routing is called SR-MPLS when it is applied to the MPLS data plane, and SRv6 when it is applied to the IPv6 data plane.
  • FIG. 10 is a schematic diagram of the format of the SR-BE Encapsulation Sub-TLV according to the embodiment of the present disclosure, wherein: Type: Occupies 1 byte, the value is 1.
  • the SID When the SID is an SR-MPLS SID, it is an index, and the SRGB (Segment Routing Global Block) offset of the downstream node needs to be used to get the outgoing label, which is the outgoing label of the SR-BE tunnel of SR-MPLS. Label.
  • the SID When the SID is an SRv6 SID, the SID is filled in the DA field of the IPv6 header corresponding to the SR-BE tunnel of SRv6.
  • Fig. 11 is a schematic diagram of deploying IGP Flex-algo in the backbone network according to an embodiment of the present disclosure. In the network shown in Fig.
  • Delay metric calculates the Flex-algo plane of the path, so that those traffic with higher traffic levels are forwarded along this Flex-algo plane, while ordinary traffic continues to be forwarded along the physical network.
  • the B2 node and the B1 node in this embodiment correspond to the exit node and the entry node of the foregoing solution, respectively.
  • the routing forwarding path to Loopback-B2 will be the forwarding path calculated by the minimum IGP metric in the physical network, and the routing forwarding path to Loopback-B200 will be the minimum Delay in the Flex-algo 128 plane.
  • the forwarding path calculated by the metric is the forwarding path calculated by the metric.
  • the node S of Metro 1 in Figure 11 needs to send IPv6 data packets to the node D of Metro 2, then the node S needs to learn the reachability information of the route to the node D.
  • the node S needs to learn the reachability information of the route to the node D.
  • a local route on node D marked as Prefix-D and advertised in Metro 2.
  • Node C can directly advertise Prefix-D or an aggregated prefix with a shorter prefix length to Node B2 through BGP.
  • Prefix-D is directly notified.
  • node B2 When node B2 receives the route advertisement corresponding to Prefix-D from outside the backbone domain, it continues to advertise it to the border node B1 in the backbone domain through BGP.
  • the B2 node does not pay attention to the difference of the advertised Prefix (that is, whether it is for Prefix-D or other Prefix-D), and only needs to configure a simple local policy to add the tunnel encapsulation attribute to the BGP UPDATE message that continues to advertise, including Two tunnel encapsulation options, including two Tunnel Encapsulation TLVs, are as follows:
  • the first Tunnel Encapsulation TLV is IP in IP, includes the Tunnel Egress Endpoint Sub-TLV, where the Address field is filled with Loopback-B2; it includes the Flow Classification Sub-TLV and the IP Differentiated Service sub-sub-TLV, where [ DS Begin, DS End] is assumed to be [0, 3] to represent low priority packets.
  • the second Tunnel Encapsulation TLV is IP in IP, includes the Tunnel Egress Endpoint Sub-TLV, where the Address field is filled with Loopback-B200; it includes the Flow Classification Sub-TLV and the IP Differentiated Service sub-sub-TLV, where [ DS Begin, DS End] is assumed to be [4, 8] to represent high-priority packets.
  • the B2 node When the B2 node continues to announce the BGP UPDATE message to the B1 node, it will change the BGP Next-hop in the message to itself. Generally, it is always set to the address where it establishes the BGP session with the B1 node, such as Loopback-B2. This has nothing to do with the Tunnel Egress Endpoint Sub-TLV in the tunnel encapsulation attribute carried in the BGP UPDATE message.
  • Node B1 After receiving the above routing advertisement, Node B1 will maintain the routing table entry to Prefix-D, and the routing table entry includes tunnel encapsulation attribute information and specifically includes the above two tunnel encapsulation options.
  • Node B1 continues to advertise to the border node A of Metro 1 through BGP, and also changes the BGP Next-hop in the BGP UPDATE message to itself. Note that in this embodiment, at this time, B1 needs to strip the tunnel encapsulation attribute in the BGP UPDATE message before notifying it to node A.
  • B1 may carry new tunnel encapsulation attributes when it continues to advertise BGP UPDATE messages to neighbor nodes to specify the tunnel from the neighbor node to B1 for packet forwarding.
  • tunnel encapsulation It's pieced together.
  • the B1 node can adopt a simple local policy. When it is changed to itself, the old tunnel encapsulation attribute is removed and then advertised.
  • node A continues to advertise Prefix-D to node S through IGP or BGP.
  • IP-D no special instructions are made, and the local addresses of other nodes are also marked with similar symbols.
  • IP-D no special instructions are made, and the local addresses of other nodes are also marked with similar symbols.
  • IPv6 Header IP-D
  • SA IP-S
  • Traffic Class 0
  • IPv6 Header IP-D
  • SA IP-S
  • Traffic Class 7
  • the above packet When the above packet reaches the border node B1 of the backbone network, it will hit the maintained routing table entry Prefix-D, and encapsulate the outer IP tunnel for the packet according to the tunnel encapsulation attribute information contained in the routing table entry.
  • the Traffic Class of Packet 1 is 0, the DA of the encapsulated outer IPv6 Header is Loopback-B2; and the Traffic Class of Packet 2 is 7, the DA of the encapsulated outer IPv6 Header is Loopback-B200.
  • IP Differentiated Service sub-sub-TLV contained in the Flow Classification Sub-TLV in this embodiment can be replaced with other sub-sub-TLVs, but the flow matching conditions are changed, and the processing process is similar.
  • the Flex-algo in this embodiment can be replaced with multiple IGP processes (that is, multiple IGP instances are deployed in the physical network, and each link only belongs to one IGP instance), that is, the above Loopback-B2 and Loopback-B200 are respectively associated For different IGP processes, the processing is similar.
  • This embodiment still takes FIG. 11 as an example, assuming that the backbone network has been upgraded to support SRv6, and describes a SRv6 SID that is mapped to the corresponding tunnel egress according to the traffic level.
  • Network administrators choose to deploy IGP Flex-algo in the backbone network that supports SRv6, create a Flex-algo plane that calculates paths based on a low-latency metric (Delay metric), and let those traffic with higher traffic levels travel along the Flex-algo plane forwarding, while normal traffic continues to be forwarded along the physical network.
  • Delay metric low-latency metric
  • the backbone network in this embodiment is an SRv6 network
  • the method described in draft-ietf-lsr-flex-algo-14 can be used to create the Flex-algo 128 plane shown in the figure.
  • nodes B1, P1, P2, B2 and their interconnected links are added to the Flex-algo 128 plane, and the entire backbone physical network can be regarded as the plane corresponding to algorithm 0.
  • the routing forwarding path to LOC-B2 will be the forwarding path calculated according to the minimum IGP metric in the physical network, and the routing forwarding path to LOC-B200 will be the minimum Delay in the Flex-algo 128 plane.
  • the forwarding path calculated by the metric may be END SIDs with USD (Ultimate Segment Decapsulation) flavor, or used to carry Global For the END.DT6 SID of IPv6 packets, refer to RFC8986 and draft-ietf-bess-srv6-services-07.
  • the node S of Metro 1 in Figure 11 needs to send IPv6 data packets to the node D of Metro 2, then the node S needs to learn the reachability information of the route to the node D.
  • Node C can directly advertise Prefix-D or an aggregated prefix with a shorter prefix length to Node B2 through BGP.
  • Prefix-D is advertised directly in this example.
  • node B2 When node B2 receives the route advertisement corresponding to Prefix-D from outside the backbone domain, it continues to advertise it to the border node B1 in the backbone domain through BGP.
  • the B2 node does not pay attention to the difference of the advertised Prefix (that is, whether it is for Prefix-D or other Prefix-D), and only needs to configure a simple local policy to add the tunnel encapsulation attribute to the BGP UPDATE message that continues to advertise, including Two tunnel encapsulation options, including two Tunnel Encapsulation TLVs, are as follows:
  • the first Tunnel Encapsulation TLV, Tunnel Type is SR-BE, includes SR-BE Encapsulation Sub-TLV, where D-Flag is set to 1, SID is SID-B2; includes Flow Classification Sub-TLV and IP Differentiated Service sub- sub-TLV, where [DS Begin, DS End] is assumed to be [0, 3] to represent low-priority packets.
  • the second Tunnel Encapsulation TLV, Tunnel Type is SR-BE, including SR-BE Encapsulation Sub-TLV, where D-Flag is set to 1, SID is SID-B200; includes Flow Classification Sub-TLV and IP Differentiated Service sub- sub-TLV, where [DS Begin, DS End] is assumed to be [4, 8] to represent high-priority packets.
  • the B2 node When the B2 node continues to announce the BGP UPDATE message to the B1 node, it will change the BGP Next-hop in the message to itself. Generally, it is always set to the address where it establishes the BGP session with the B1 node, such as Loopback-B2.
  • Node B1 After receiving the above route advertisement, Node B1 will maintain the Prefix-D routing table entry, and the routing table entry includes tunnel encapsulation attribute information and specifically includes the above two tunnel encapsulation options.
  • Node B1 continues to advertise to the border node A of Metro 1 through BGP, and also changes the BGP Next-hop in the BGP UPDATE message to itself. Note that in this embodiment, at this time, B1 needs to strip the tunnel encapsulation attribute in the BGP UPDATE message before notifying it to node A.
  • node A continues to advertise Prefix-D to node S through IGP or BGP.
  • Prefix-D to node S through IGP or BGP.
  • Packet 1 and Packet 2 sent by node S to node D (same as Embodiment 1):
  • IPv6 Header IP-D
  • SA IP-S
  • Traffic Class 0
  • IPv6 Header IP-D
  • SA IP-S
  • Traffic Class 7
  • the above message When the above message reaches the border node B1 of the backbone network, it will hit the maintained routing table entry Prefix-D, and encapsulate the outer IPv6 SR-BE tunnel for the message according to the tunnel encapsulation attribute information contained in the routing table entry.
  • the DA of the encapsulated outer IPv6 Header is SID-B2; and the Traffic Class of Packet2 is 7, the DA of the encapsulated outer IPv6 Header is SID-B200.
  • IP Differentiated Service sub-sub-TLV contained in the Flow Classification Sub-TLV in this embodiment can be replaced with other sub-sub-TLVs, but the flow matching conditions are changed, and the processing process is similar.
  • the SRv6 SID in this embodiment can be replaced with an SR-MPLS SID, and the processing process is similar, except that the encapsulated outer IPv6 Header is replaced with an MPLS label stack.
  • This embodiment still uses FIG. 11 as an example to describe a path mapped to a specified algorithm according to the traffic level.
  • the entry node needs to combine the specified algorithm with the BGP Next-hop of the BGP UPDATE message or the specified tunnel exit node, and indirectly determine The tunnel encapsulation to be used. In this way, the tunnel selection of the ingress node is more flexible, and the notification of BGP UPDATE is also more concise. Assume that the Flex-algo 128 plane is created in the backbone network for high-priority traffic as described above.
  • node B2 When node B2 receives the route advertisement corresponding to Prefix-D from outside the backbone domain, it continues to advertise it to the border node B1 in the backbone domain through BGP.
  • the B2 node does not pay attention to the difference of the advertised Prefix (that is, whether it is for Prefix-D or other Prefix-D), and only needs to configure a simple local policy to add the tunnel encapsulation attribute to the BGP UPDATE message that continues to advertise, including Two tunnel encapsulation options, including two Tunnel Encapsulation TLVs, are as follows:
  • the first Tunnel Encapsulation TLV whose Tunnel Type is Any-Encapsulation, includes Virtual Network Sub-TLV, where algorithm, Multi-Topology ID, and Slice ID are all set to 0; it includes Flow Classification Sub-TLV and IP Differentiated Service sub-sub -TLV, where [DS Begin, DS End] is assumed to be [0, 3] to represent low priority packets.
  • the second Tunnel Encapsulation TLV whose Tunnel Type is Any-Encapsulation, includes Virtual Network Sub-TLV, where algorithm is set to 128, Multi-Topology ID and Slice ID are both set to 0; it includes Flow Classification Sub-TLV and IP Differentiated Service sub-sub-TLV, where [DS Begin, DS End] is assumed to be [4, 8] to represent high-priority packets.
  • the B2 node When the B2 node continues to announce the BGP UPDATE message to the B1 node, it will change the BGP Next-hop in the message to itself. Generally, it is always set to the address where it establishes the BGP session with the B1 node, such as Loopback-B2.
  • Node B1 After receiving the above route advertisement, Node B1 will maintain the Prefix-D routing table entry, and the routing table entry includes tunnel encapsulation attribute information and specifically includes the above two tunnel encapsulation options. Since the Tunnel Type is Any-Encapsulation, the B1 node needs to select the corresponding tunnel according to the actual capabilities it perceives in the backbone network. For example, if the backbone network is an SR-MPLS network, it needs to look up the Prefix SID allocated by the B2 node for the corresponding algorithm in the link state database according to ⁇ algorithm, Loopback-B2> as the key value, and then obtain the Prefix SID according to the found Prefix SID.
  • the backbone network is an SR-MPLS network
  • the corresponding MPLS SR-BE forwarding information is used as the tunnel encapsulation information; for another example, if the backbone network is an SRv6 network, it needs to find the B2 node in the link state database according to the key value of ⁇ algorithm, Loopback-B2> and allocate it to the corresponding algorithm END SID, and then obtain the corresponding IPv6 SR-BE forwarding information as tunnel encapsulation information according to the found END SID.
  • the tunnel encapsulation described in this example is a path in the Flex-algo plane, in fact, if it is replaced by an IGP multi-topology or a Slice ID virtual topology, the processing process is similar. In particular, for the Slice ID virtual topology, there is an enhanced processing procedure, see Embodiment 4 for details.
  • this embodiment describes a path mapped to a specified Slice ID according to the traffic level.
  • the entry node needs to combine the specified Slice ID with the BGP Next-hop of the BGP UPDATE message or the specified tunnel exit node to indirectly determine The tunnel encapsulation to be used. In this way, the tunnel selection of the ingress node is more flexible, and the notification of BGP UPDATE is also more concise. It is assumed that a Slice ID 1 virtual topology is created in the backbone network for high-priority services.
  • node B2 When node B2 receives the route advertisement corresponding to Prefix-D from outside the backbone domain, it continues to advertise it to the border node B1 in the backbone domain through BGP.
  • the B2 node does not pay attention to the difference of the advertised Prefix (that is, whether it is for Prefix-D or other Prefix-D), and only needs to configure a simple local policy to add the tunnel encapsulation attribute to the BGP UPDATE message that continues to advertise, including Two tunnel encapsulation options, including two Tunnel Encapsulation TLVs, are as follows:
  • the first Tunnel Encapsulation TLV whose Tunnel Type is Any-Encapsulation, includes Virtual Network Sub-TLV, where algorithm, Multi-Topology ID, and Slice ID are all set to 0; it includes Flow Classification Sub-TLV and IP Differentiated Service sub-sub -TLV, where [DS Begin, DS End] is assumed to be [0, 3] to represent low priority packets.
  • the second Tunnel Encapsulation TLV whose Tunnel Type is Any-Encapsulation, includes Virtual Network Sub-TLV, where algorithm and Multi-Topology ID are set to 0, Slice ID is set to 1, and I-Flag is set to 1; including Flow Classification Sub-TLV and IP Differentiated Service sub-sub-TLV, where [DS Begin, DS End] is assumed to be [4,8] to represent high-priority packets.
  • the B2 node when the B2 node continues to announce the BGP UPDATE message to the B1 node, it will change the BGP Next-hop in the message to itself. Generally, it is always set to the address where it established the BGP session with the B1 node, such as Loopback-B2.
  • Node B1 After receiving the above route advertisement, Node B1 will maintain the Prefix-D routing table entry, and the routing table entry includes tunnel encapsulation attribute information and specifically includes the above two tunnel encapsulation options. Since the Tunnel Type is Any-Encapsulation, the B1 node needs to select the corresponding tunnel according to the actual capabilities it perceives in the backbone network.
  • the backbone network is an SR-MPLS network
  • the END SID assigned by the corresponding slice ID and then obtain the corresponding IPv6 SR-BE forwarding information as the tunnel encapsulation information according to the found END SID.
  • the forwarding information contained in the forwarding entries corresponding to these SR-MPLS Prefix SIDs or SRv6 END SIDs can be copied from the corresponding forwarding entries in the shared logical topology (for example, multiple slice IDs can share the same logical topology).
  • the slice ID needs to be inserted into the outer tunnel header of the encapsulation.
  • the method of inserting Slice ID in IPv6 Header please refer to draft-filsfils-spring-srv6-stateless-slice-id-02
  • the method of inserting Slice ID in MPLS label stack please refer to draft-decraene-mpls-slid-encoded -entropy-label-id-01.
  • the method defined in RFC8277 can be used to carry the MPLS Label when advertising Prefix-D, so the B1 node may create a corresponding label entry for Prefix-D.
  • Subsequent data packets sent from node S to node D may be label packets.
  • the packets arrive at node B1 they will match the corresponding label entries, and then encapsulate the packets according to the tunnel encapsulation attributes contained in the label entries.
  • Appropriate outer tunnel which is completely similar to the process of creating a routing table entry on the B1 node.
  • the above method can be applied to IPRAN/SPN, metropolitan area network/backbone, and makes up for the defect that a specific virtual network (especially network slicing) cannot be specified during BGP route advertisement.
  • a message sending apparatus is also provided, and the apparatus is used to implement the above-mentioned embodiments and preferred implementations, and what has been described will not be repeated.
  • the term "module” may be a combination of software and/or hardware that implements a predetermined function.
  • the devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware, are also possible and contemplated.
  • FIG. 12 is a structural block diagram of a message sending apparatus according to an embodiment of the present disclosure, and the apparatus includes:
  • the sending module 122 is configured to send a BGP update message to the entry node, so as to announce the route reachability information to the entry node, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more Tunnel encapsulation information, where the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network, where the tunnel encapsulation information is used to indicate that the ingress node will send the egress node Traffic with the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • a BGP update message containing the specified flow classification characteristic value and the path information of the specified virtual network is sent to the ingress node, so as to announce the route reachability information to the ingress node, and then the ingress node can send to the egress node a BGP update message with The traffic of the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the problem of inflexibility caused by relying on manually-configured slices to divert traffic is solved, and the BGP update message is sent to the ingress node through the egress node to advertise the route reachability information to the ingress node, making up for BGP
  • the flow classification feature value includes at least one of the following: the differentiated services DS field of the IP header, the source IP address of the IP header, the destination IP address, the source port number, the destination port number, the protocol number, the Ethernet frame header source MAC address, destination MAC address, VLAN ID, and priority code point PCP.
  • the Differentiated Services DS field of the IP header includes at least one of the following: the service type TOS field of the IPv4 header, and the traffic class TC field of the IPv6 header.
  • the flow classification characteristic value is mainly the Differentiated Services (Differentiated Services, DS) field of the IP header in the network slicing scenario, such as the service type (Type of Service) of the IPv4 header. Service (TOS for short) field or the Traffic Class (TC) field of the IPv6 header.
  • the traffic classification feature value can also be the source IP address and destination IP address of the IP header. , source port number, destination port number, one of the protocol numbers or any combination of them or any combination with the DS field, it can also be the source MAC, destination MAC, VLAN ID, Priority Code Point of the Ethernet frame header , referred to as PCP) or any combination of them.
  • PCP Priority Code Point of the Ethernet frame header
  • the path information of the specified virtual network includes at least one of the following: the path to the specified destination node in the specified IGP topology, the path to the specified destination node in the specified Flex-algo plane, the virtual topology corresponding to the specified Slice ID The path to the specified destination node and the path of the specified segment identifier SID.
  • a message receiving apparatus is also provided, and the apparatus is used to implement the above-mentioned embodiments and preferred implementations, and what has been described will not be repeated.
  • 13 is a structural block diagram of a message receiving apparatus according to an embodiment of the present disclosure, and the apparatus includes:
  • the receiving module 132 is configured to receive a BGP update message sent by the egress node to obtain route reachability information, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more tunnel encapsulation information,
  • the tunnel encapsulation information includes at least one of the following: a specified flow classification characteristic value, and path information of a specified virtual network, and the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node a flow with the specified flow.
  • the traffic of the classification characteristic value is mapped to the path of the specified virtual network.
  • the receiving node sends a BGP update message containing the specified flow classification feature value and the path information of the specified virtual network, so as to obtain the route reachability information, and then the ingress node can send the specified flow classification feature to the exit node.
  • the value of the traffic mapping path to the specified virtual network It solves the problem of inflexibility caused by relying on manually configured slices to divert traffic during network operation and maintenance, and then receives BGP update messages sent by egress nodes through ingress nodes to obtain route reachability information, which makes up for the inability to specify routes in BGP route advertisements. Defects of specific virtual networks, automatic slice drainage that does not depend on static configuration, has good flexibility.
  • the flow classification feature value includes at least one of the following: the differentiated services DS field of the IP header, the source IP address of the IP header, the destination IP address, the source port number, the destination port number, the protocol number, the Ethernet frame header source MAC address, destination MAC address, VLAN ID, and priority code point PCP.
  • the Differentiated Services DS field of the IP header includes at least one of the following: the service type TOS field of the IPv4 header, and the traffic class TC field of the IPv6 header.
  • the flow classification characteristic value is mainly the Differentiated Services (Differentiated Services, DS) field of the IP header in the network slicing scenario, such as the service type (Type of Service) of the IPv4 header. Service (TOS for short) field or the Traffic Class (TC) field of the IPv6 header.
  • the traffic classification feature value can also be the source IP address and destination IP address of the IP header. , source port number, destination port number, one of the protocol numbers or any combination of them or any combination with the DS field, it can also be the source MAC, destination MAC, VLAN ID, Priority Code Point of the Ethernet frame header , referred to as PCP) or any combination of them.
  • PCP Priority Code Point of the Ethernet frame header
  • the path information of the specified virtual network includes at least one of the following: the path to the specified destination node in the specified IGP topology, the path to the specified destination node in the specified Flex-algo plane, the virtual topology corresponding to the specified Slice ID The path to the specified destination node and the path of the specified segment identifier SID.
  • the receiving module 132 is further configured to create a routing table entry or label table entry corresponding to the ingress node according to the obtained route reachability information, wherein the routing table entry or label table entry Items include: the tunnel encapsulation attribute.
  • the entry node of the network after receiving the above-mentioned route reachability information, creates a routing table entry or label entry corresponding to the entry node, maintains the corresponding routing entry or label entry, and stores the routing entry or label entry in the routing entry or
  • the label table entry contains corresponding tunnel encapsulation attribute information.
  • the tunnel encapsulation attribute information maintained in a single routing entry or label entry can contain multiple tunnel encapsulation options, such as: ⁇ traffic classification feature value 1, tunnel 1>, ⁇ traffic classification feature value 2 , tunnel 2> and so on.
  • the receiving module 132 is further configured to obtain the flow classification feature of the flow when the ingress node determines that the flow matches the routing table entry or the label table entry, and put the flow in the flow. Forwarding on the path information of the specified virtual network corresponding to the classification feature.
  • the network ingress node when the network ingress node receives traffic from the user side, if a routing table entry or label table entry is matched and the routing table entry or label table entry contains tunnel encapsulation attribute information, it is further based on the received
  • the traffic classification feature guides the traffic to the forwarding path of the specified virtual network for forwarding.
  • Embodiments of the present disclosure also provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
  • the above-mentioned storage medium may be configured to store a computer program for executing the following steps:
  • the BGP update message includes: a tunnel encapsulation attribute
  • the tunnel encapsulation attribute includes: one or more tunnels Encapsulation information
  • the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network
  • the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node a
  • the traffic of the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the BGP update message sent by the egress node is received by the ingress node, so as to obtain route reachability information, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more tunnel encapsulation information, so
  • the tunnel encapsulation information includes at least one of the following: a specified flow classification feature value, and path information of a specified virtual network, and the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node the traffic with the specified flow classification Characteristic-valued traffic is mapped to the path of the specified virtual network.
  • the above-mentioned computer-readable storage medium may include, but is not limited to, a USB flash drive, a read-only memory (Read-Only Memory, referred to as ROM for short), and a random access memory (Random Access Memory, referred to as RAM for short) , mobile hard disk, magnetic disk or CD-ROM and other media that can store computer programs.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • An embodiment of the present disclosure also provides an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • the above-mentioned processor may be configured to execute the following steps through a computer program:
  • the BGP update message includes: a tunnel encapsulation attribute
  • the tunnel encapsulation attribute includes: one or more tunnels Encapsulation information
  • the tunnel encapsulation information includes at least one of the following: a specified traffic classification characteristic value, and path information of a specified virtual network
  • the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node a
  • the traffic of the specified traffic classification characteristic value is mapped to the path of the specified virtual network.
  • the BGP update message sent by the egress node is received by the ingress node to obtain route reachability information, wherein the BGP update message includes: a tunnel encapsulation attribute, and the tunnel encapsulation attribute includes: one or more tunnel encapsulation information, so
  • the tunnel encapsulation information includes at least one of the following: a specified flow classification characteristic value, and path information of a specified virtual network, and the tunnel encapsulation information is used to indicate that the ingress node will send to the egress node the specified flow classification Characteristic-valued traffic is mapped to the path of the specified virtual network.
  • the above-mentioned electronic device may further include a transmission device and an input-output device, wherein the transmission device is connected to the above-mentioned processor, and the input-output device is connected to the above-mentioned processor.
  • modules or steps of the present disclosure can be implemented by a general-purpose computing device, and they can be centralized on a single computing device or distributed in a network composed of multiple computing devices
  • they can be implemented in program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, can be performed in a different order than shown here.
  • the described steps, or they are respectively made into individual integrated circuit modules, or a plurality of modules or steps in them are made into a single integrated circuit module to realize.
  • the present disclosure is not limited to any specified combination of hardware and software.

Abstract

本公开实施例提供了一种消息发送方法及装置、消息接收方法及装置、存储介质,其中,上述消息发送包括:通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题。

Description

消息发送方法及装置、消息接收方法及装置、存储介质
本公开要求于2021年4月28日提交中国专利局、申请号为202110469912.3、发明名称“消息发送方法及装置、消息接收方法及装置、存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本公开涉及通信领域,具体而言,涉及一种消息发送方法及装置、消息接收方法及装置、存储介质。
背景技术
关于如何在运营商网络中部署网络切片,受到了业界的热烈讨论和高度关注,一些已有的控制面技术将被充分利用,以及一些新的技术被开发出来,去满足不同场景下的网络切片需求。一般来说,网络切片可以是一张预留了专属资源的虚拟网络,或一条预留了专属资源的流量工程路径。在不同切片间,可以是严格的资源硬隔离,也可以是达到近似硬隔离效果的软隔离。IP分组网络从来没有被设计成支持硬隔离,它支持的是统计复用,相比专网或时分复用(Time Division Multiplex,简称为TDM)网络更加经济。为了在IP分组网络中支持网络切片需求,当前业界提出了多种技术方案,比如,有的采用内部网关协议(Interior Gateway Protocol,简称为IGP)多拓扑技术(参考RFC5120、RFC4915、RFC5340),将同一张物理网络拓扑划分成多个逻辑子拓扑,每个逻辑子拓扑具有专属的资源;有的采用IGP灵活算法(Flexible Algorithm,记为Flex-algo)技术(参考draft-ietf-lsr-flex-algo-14、draft-ietf-lsr-ip-flexalgo-00),将同一张物理网络拓扑划分成多个Flex-algo平面,在每个Flex-algo平面内使用相应的算法去计算带约束的转发路径;还有的直接在网络中创建多个具有不同切片标识(Slice ID)的端到端的虚拟拓扑(参考draft-peng-teas-network-slicing-04),然后在切片虚拟拓扑中,建立端到端的路径。
当网络切片创建好后,一般需要在切片的入口节点上,配置相应的流量映射策略,将接收到的特定流量引导到特定的切片上进行转发。比如,在切片的入口节点上配置访问控制列表(Access Control List,简称为ACL)规则,匹配流量的五元组(源IP地址、目的IP地址、源端口号、目的端口号、协议号)或流量等级(Traffic Class)等特征值,将流量直接引导到特定的切片,或者先根据这些特征值映射得到某个Color(Color的定义参考draft-ietf-idr-tunnel-encaps-22)值,然后根据Color值去选择相应的切片。然而,这样的手工配置十分不灵活,特别是对于切片的入口节点并非是端到端业务落地节点的场景,此时不建议在切片入口节点上去大量配置与业务相关的策略。
针对相关技术中,在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题,目前尚未提出有效的解决方案。
发明内容
本公开实施例提供了一种消息发送方法及装置、消息接收方法及装置、存储介质,以至少解决在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题。
根据本公开实施例的一方面,提供一种消息发送方法,包括:通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
根据本公开实施例的又一方面,还提供一种消息接收方法,包括:通过入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
根据本公开实施例的又一方面,还提供一种消息发送装置,包括:发送模块,设置为向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
根据本公开实施例的又一方面,还提供一种消息接收装置,包括:接收模块,设置为接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
根据本公开实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述消息发送方法或消息接收方法。
根据本公开实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述消息发送方法或消息接收方法。
通过本公开,出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。也就是说,出口节点向入口节点发送包含指定的流分类特征值和指定的虚拟网络的路径信息的BGP更新消息,以向所述入口节点 通告路由可达信息,进而入口节点可以向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题,进而通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,弥补了BGP路由通告时无法指定特定虚拟网络的缺陷,不依赖静态配置的自动的切片引流,具有很好的灵活性。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示例性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是本公开实施例的消息发送方法或消息接收方法的计算机终端的硬件结构框图;
图2是本公开实施例的消息发送方法的流程图;
图3是本公开实施例的消息接收方法的流程图;
图4是本公开实施例的Flow Classification Sub-TLV的格式示意图;
图5是本公开实施例的IP Differentiated Service sub-sub-TLV的格式示意图;
图6是本公开实施例的IP Source Address Range sub-sub-TLV的格式示意图;
图7是本公开实施例的IP Protocol Number sub-sub-TLV的格式示意图;
图8是本公开实施例的Transport Source Port Range sub-sub-TLV的格式示意图;
图9是本公开实施例的Virtual Network Sub-TLV的格式示意图;
图10是本公开实施例的SR-BE Encapsulation Sub-TLV的格式示意图;
图11是本公开实施例的骨干网络中部署IGP Flex-algo的示意图;
图12是本公开实施例的消息发送装置的结构框图;
图13是本公开实施例的消息接收装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述指定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本公开实施例的消息发送方法或消息接收方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置) 和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的消息发送方法或消息接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
相关技术中,draft-ietf-idr-tunnel-encaps-22描述了边界网关协议(Border Gateway Protocol,简称为BGP)UPDATE消息中携带隧道封装属性(Tunnel Encapsulation attribute)的方法,以指定路由的隧道封装信息,本公开在此基础上讨论一种指定网络切片的转发路径的方法。本公开所述的方法也适用于非网络切片的其它应用场景。本实施提供一种消息发送方法,图2是本公开实施例的消息发送方法的流程图,该流程包括如下步骤:
步骤S202,通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
通过上述步骤,出口节点向入口节点发送包含指定的流分类特征值和指定的虚拟网络的路径信息的BGP更新消息,以向所述入口节点通告路由可达信息,进而入口节点可以向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题,进而通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,弥补了BGP路由通告时无法指定特定虚拟网络的缺陷,不依赖静态配置的自动的切片引流,具有很好的灵活性。
需要说明的是,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID(Virtual Local Area Network Identity Document,虚拟局域网标识)、优先级码点PCP。
进一步地,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
为了更好的理解,在本实施例中,所述流分类特征值,在网络切片场景中主要是IP报头的差分服务(Differentiated Services,简称为DS)字段,如IPv4报头的业务类型(Type of Service,简称为TOS)字段或IPv6报头的流量类别(Traffic Class,简称为TC)字段,除此之外,在其它场景中,流分类特征值也可以是IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号之一或它们的任意组合或与DS字段的任意组合,还可以是Ethernet帧头的源MAC、目的MAC、VLAN ID、优先级码点(Priority Code Point,简称为PCP)之一或它们的任意组合。
可选的,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
本实施提供一种消息接收方法,图3是本公开实施例的消息接收方法的流程图,该流程包括如下步骤:
步骤S302,通过入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
通过上述步骤,入口节点接收出口节点发送包含指定的流分类特征值和指定的虚拟网络的路径信息的BGP更新消息,以获取路由可达信息,进而入口节点可以向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题,进而通过入口节点接收出口节点发送BGP更新消息,以获得路由可达信息,弥补了BGP路由通告时无法指定特定虚拟网络的缺陷,不依赖静态配置的自动的切片引流,具有很好的灵活性。
需要说明的是,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID、优先级码点PCP。
进一步地,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
为了更好的理解,在本实施例中,所述流分类特征值,在网络切片场景中主要是IP报头的差分服务(Differentiated Services,简称为DS)字段,如IPv4报头的业务类型(Type of Service,简称为TOS)字段或IPv6报头的流量类别(Traffic Class,简称为TC)字段,除此之外,在其它场景中,流分类特征值也可以是IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号之一或它们的任意组合或与DS字段的任意组合,还可以是Ethernet帧头的源MAC、目的MAC、VLAN ID、优先级码点(Priority Code Point,简称为PCP)之一或它们的任意组合。
可选的,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
需要说明的是,通过所述入口节点接收出口节点发送的BGP更新消息,以获取路由可达 信息之后,所述方法还包括:所述入口节点根据获取到的所述路由可达信息创建所述入口节点对应的路由表项或标签表项,其中,所述路由表项或标签表项包括:所述隧道封装属性。
在本实施例中,网络的入口节点收到上述路由可达信息后,创建所述入口节点对应的路由表项或标签表项,维护相应的路由表项或标签表项,在路由表项或标签表项中包含相应的隧道封装属性信息。需要说明的是,单个路由表项或标签表项中维护的隧道封装属性信息中,可以包含多个隧道封装选项,形如:<流分类特征值1,隧道1>,<流分类特征值2,隧道2>等等。
进一步地,所述入口节点根据获取到的所述路由可达信息创建所述入口节点对应的路由表项或标签表项之后,所述方法还包括:所述入口节点确定所述流量匹配到所述路由表项或标签表项的情况下,获取所述流量的流分类特征,并将所述流量在所述流分类特征对应的所述指定的虚拟网络的路径信息上转发。
在本实施例中,网络入口节点从用户侧接收到流量时,若匹配到路由表项且该路由表项中包含有隧道封装属性信息,则进一步根据接收到的流量的流分类特征,将流量引导到指定的虚拟网络的转发路径上进行转发。
为了更好的理解上述方案,在一个可选的实施例中,消息发送和接收过程具体如下步骤:
1)网络的出口节点(或通过反射器)向入口节点发送BGP UPDATE消息以通告路由可达信息,可使用根据draft-ietf-idr-tunnel-encaps-22中定义的机制,在消息中包含隧道封装属性。隧道封装属性中可包括一个或多个隧道封装信息,每个隧道封装信息包含了特定的流分类特征值以及流量映射到的特定虚拟网络的路径信息。所述流分类特征值,在网络切片场景中主要是IP报头的DS(Differentiated Services差分服务)字段,如IPv4报头的TOS(Type of Service业务类型)字段或IPv6报头的TC(Traffic Class)字段。所述特定虚拟网络的路径信息,可以是特定IGP拓扑内至特定目的节点的路径,或特定Flex-algo平面内至特定目的节点的路径,或特定Slice ID对应的虚拟拓扑内至特定目的节点的路径,或至特定SID(Segment Identifier段标识,参考RFC8402)的路径。除此之外,在其它场景中,流分类特征值也可以包含IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号之一或它们的任意组合或与DS的任意组合,还可以是Ethernet帧头的源MAC、目的MAC、VLAN ID、PCP之一或它们的任意组合。
2)网络的入口节点收到上述包含有隧道封装属性的路由可达信息通告后,维护相应的路由表项或标签表项,在路由表项或标签表项中包含相应的隧道封装属性信息。单个路由表项或标签表项中维护的隧道封装属性信息中,可以包含多个隧道封装选项,形如:<流分类特征值1,隧道1>,<流分类特征值2,隧道2>等等。
3)网络入口节点从用户侧接收到流量时,若匹配到路由表项或标签表项且该路由表项或标签表项中包含有隧道封装属性信息,则进一步根据接收到的流量的流分类特征,将流量引导到特定虚拟网络的转发路径上进行转发。
进一步地,为了更好的理解上述隧道封装属性中包含的流分类特征值,以下具体介绍draft-ietf-idr-tunnel-encaps-22在隧道封装属性中包含流分类特征值的具体实施方式,如下所示:图4是本公开实施例的Flow Classification Sub-TLV的格式示意图,在draft-ietf-idr-tunnel-encaps-22定义的Tunnel Encapsulation TLV中,新增Flow Classification Sub-TLV,用于表示流分类信息,只有匹配了该流分类信息的流量,才能使 用Tunnel Encapsulation TLV中指定的隧道封装。Flow Classification Sub-TLV的格式如图4所示,其中:Type:占1字节,取值待互联网地址编码分配机构(Internet Assigned Numbers Authority,简称为IANA)分配,表明该Sub-TLV是Flow Classification Sub-TLV;Length:占1字节,取值根据所包含的sub-sub-TLVs进行设置。
需要说明的是,定义了众多sub-sub-TLVs,每个sub-sub-TLV都是可选的,可单独存在,也可同时存在,具体的sub-sub-TLV如下:
a)IP Differentiated Service sub-sub-TLV
用于表示流量需要匹配的流量等级范围,图5是本公开实施例的IP Differentiated Service sub-sub-TLV的格式示意图,其中:Type:占1字节,取值待IANA分配,表明该sub-sub-TLV是IP Differentiated Service sub-sub-TLV;Length:占1字节,取值为2;DS Begin:占1字节,表示流量等级范围的起始值,它的值不能超过DS End;DS End:占1字节,表示流量等级范围的终值;当IP流量的DS(如IPv4报头的TOS字段或IPv6报头的TC字段)处于上述范围内时,才允许该IP流量使用Tunnel Encapsulation TLV中指定的隧道封装。
b)IP Source Address Range sub-sub-TLV
用于表示流量需要匹配的源地址范围,图6是本公开实施例的IP Source Address Range sub-sub-TLV的格式示意图,其中,Type:占1字节,取值待IANA分配,表明该sub-sub-TLV是IP Source Address Range sub-sub-TLV;Length:占1字节,取值为6或18;Flags:占1字节,包含一些标志。当前仅定义V-Flag,0表示Prefix字段中是32比特的IPv4 Prefix,1表示Prefix字段中是128比特的IPv6 Prefix;Prefix Length:占1字节,表示Prefix字段中的前缀的长度;Prefix:占4字节的IPv4 Prefix,或占16字节的IPv6 Prefix;当IP流量的源地址处于Prefix的范围内时,才允许该IP流量使用Tunnel Encapsulation TLV中指定的隧道封装。
c)IP Destination Address Range sub-sub-TLV
用于表示流量需要匹配的目的地址范围,格式同IP Source Address Range sub-sub-TLV。
d)IP Protocol Number sub-sub-TLV
用于表示流量需要匹配的协议号范围,图7是本公开实施例的IP Protocol Number sub-sub-TLV的格式示意图,其中,Type:占1字节,取值待IANA分配,表明该sub-sub-TLV是IP Protocol Number sub-sub-TLV;Length:占1字节,取值为2;Protocol Begin:占1字节,表示协议号范围的起始值,它的值不能超过Protocol End;Protocol End:占1字节,表示协议号范围的终值;当IP流量的协议号(如IPv4报头的Protocol字段或IPv6报头的Next Header字段)处于上述范围内时,才允许该IP流量使用Tunnel Encapsulation TLV中指定的隧道封装。
e)Transport Source Port Range sub-sub-TLV
用于表示流量需要匹配的源端口号范围,图8是本公开实施例的Transport Source Port Range sub-sub-TLV的格式示意图,其中:Type:占1字节,取值待IANA分配,表明该sub-sub-TLV是Transport Source Port Range sub-sub-TLV;Length:占1字节,取值为6;Port Begin:占1字节,表示源端口号范围的起始值,它的值不能超过Port End;Port End:占1字节,表示源端口号范围的终值;当流量的传输层源端口号(如TCP或UDP的源端口) 处于上述范围内时,才允许该IP流量使用Tunnel Encapsulation TLV中指定的隧道封装。
f)Transport Destination Port Range sub-sub-TLV
用于表示流量需要匹配的目的端口号范围,格式同Transport Source Port Range sub-sub-TLV。
g)类似的,可以定义Ethernet帧对应的流量匹配条件,如:源MAC范围、目的MAC范围、VLAN ID范围、PCP范围。原理与IP报文对应的流量匹配条件是类似的,在此不再赘述。
为了更好的理解上述隧道封装属性中包含的特定虚拟网络的隧道封装,以下具体介绍draft-ietf-idr-tunnel-encaps-22在隧道封装属性中包含流分类特征值的具体实施方式,如下所示:
在draft-ietf-idr-tunnel-encaps-22定义的Tunnel Encapsulation TLV中,新增Virtual Network Sub-TLV,是可选的,用于表示特定的虚拟网络,即Tunnel Encapsulation TLV中指定的隧道封装相关联的隧道,是特定的虚拟网络内的隧道。图9是本公开实施例的Virtual Network Sub-TLV的格式示意图,其中:Type:占1字节,取值待IANA分配,表明该Sub-TLV是Virtual Network Sub-TLV;Length:占1字节,取值为6;Flags:占1字节,定义了一些标志。当前仅定义了I-Flag,仅用于Virtual Network Sub-TLV中指定了Slice ID的情况。当I-Flag为1时,表示转发平面的业务报文所封装的隧道封装属性对应的隧道头中,需要携带Slice ID,否则不需要携带。Algorithm:占1字节,表示特定的IGP算法。取值参考IANA的"IGP Algorithm Types"registry。比如,0表示Shortest Path First(SPF)algorithm based on link metric(基于链路metric的最短路径优先算法),1表示Strict Shortest Path First(SPF)algorithm based on link metric(基于链路metric的严格最短路径优先算法),128~255表示由用户自定义的Flexible Algorithms(灵活算法)。Multi-Topology ID:占2字节,表示特定的IGP拓扑,含义参考RFC5120中的MT ID或RFC4915中的MT-ID。Slice ID:占2字节,表示特定的切片,即draft-ietf-teas-ietf-network-slices-01中定义的IETF network slice。
大多数情况下,仅需设置Algorithm、Multi-Topology ID、Slice ID三者之一,少数情况下也可同时设置它们,未设置时的值为0。
Tunnel Encapsulation TLV中包含的Virtual Network Sub-TLV与其它Sub-TLV一起结合使用,将指定特定虚拟网络中的隧道对应的隧道封装信息。比如,当Tunnel Encapsulation TLV的Tunnel Type为7(表示IP in IP),且包含Virtual Network Sub-TLV与已定义的Tunnel Egress Endpoint Sub-TLV时,则表示将业务报文封装在指定的虚拟网络中的至指定Tunnel Egress Endpoint的IP tunnel中传输。
为了更好的理解上述隧道封装属性中包含的特定Segment Routing SID,以下具体介绍draft-ietf-idr-tunnel-encaps-22以在隧道封装属性中包含特定Segment Routing SID的隧道封装的具体实施方式,如下所示:
考虑到Segment Routing(参考RFC8402)的SID能提供基于Segment Routing的Best-effort转发路径(记为SR-BE),并且SID自身的分配时,能够区分不同的虚拟网络去分配不同的SID。因此在隧道封装属性中包含指定的SID可作为另外一种选项,使得业务报文被封装特定虚拟网络的SR-BE隧道中。业界将Segment Routing应用于MPLS数据平面时称为SR-MPLS,应用于IPv6数据平面时称为SRv6。
在本实施例在IANA的"BGP Tunnel Encapsulation Attribute Tunnel Types"Registry中,新增一种Tunnel Type=SR-BE,表示SR-BE隧道。为了描述SR-BE隧道自身的封装信息,需要在Tunnel Encapsulation TLV中新增SR-BE Encapsulation Sub-TLV,图10是本公开实施例的SR-BE Encapsulation Sub-TLV的格式示意图,其中:Type:占1字节,取值为1。draft-ietf-idr-tunnel-encaps-22规定所有Tunnel Type的隧道的Encapsulation Sub-TLV的Type取值都为1,需同时结合Tunnel Type去解读该Sub-TLV。Length:占1字节,取值为6。Flags:占1字节,定义了一些标志。当前仅定义D-Flag,表示SID的类型。当D-Flag为0时,表示SID字段中是4字节的SR-MPLS SID,是一个索引;为1时表示SID字段中是16字节的SRv6 SID。SID:4字节的SR-MPLS SID或16字节的SRv6 SID。当SID为SR-MPLS SID时,它是一个索引,需要使用下游节点的SRGB(Segment Routing Global Block分段路由全局块)偏移得到出标签,该出标签就是SR-MPLS的SR-BE隧道的标签。当SID为SRv6 SID时,SRv6的SR-BE隧道对应的IPv6报头的DA字段中填写的就是该SID。
显然,上述所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。为了更好的理解上述消息发送方法和消息接收方法,以下结合实施例对上述过程进行说明,但不用于限定本公开实施例的技术方案,可选地:
实施例1
本实施描述一种最简洁的网络切片部署方案,根据流量等级映射到相应的隧道出口IP地址。在一些运营商的骨干网络中,网络管理员并不希望在这个网络中去大量部署流量工程路径,但又希望能够根据业务报文的特征,自动的在网络中挑选合适的路径进行转发。图11是本公开实施例的骨干网络中部署IGP Flex-algo的示意图,如图11所示的网络中,网络管理员选择在纯IPv6的骨干网络中部署IGP Flex-algo,创建一个基于低时延度量(Delay metric)计算路径的Flex-algo平面,让那些流量等级较高的流量沿这个Flex-algo平面转发,而普通流量继续沿物理网络转发。
需要说明的是,本实施例中的B2节点与B1节点分别对应前述方案的出口节点与入口节点。
由于本实施例中的骨干网络是纯IPv6网络,没有部署Segment Routing。因此可采用draft-ietf-lsr-ip-flexalgo-00所述的方法去创建图中所示的Flex-algo 128平面。如图11所示,节点B1、P1、P2、B2以及它们相互连接的链路加入到了Flex-algo 128平面,而整个骨干物理网络可看做是algorithm 0对应的平面。此例中,假设节点B2上有两个Loopback路由,分别为Loopback-B2和Loopback-B200,且Loopback-B2与algorithm 0关联,Loopback-B200与algorithm 128关联。则B1节点上,至Loopback-B2的路由转发路径将是在物理网络中按最小IGP metric计算得到的转发路径,而至Loopback-B200的路由转发路径将是在Flex-algo 128平面中按最小Delay metric计算得到的转发路径。
为了支持跨城域的不同等级的业务相互访问,比如图11中Metro 1的节点S需要向Metro 2的节点D发送IPv6数据报文,则节点S需要学习到至节点D的路由可达信息。假设节点D上有一条本地路由记为Prefix-D,在Metro 2内通告。节点C可通过BGP向节点B2直接通告Prefix-D或者聚合后的某个前缀长度更短的前缀。为了描述简单,本实施例中假设直接通告Prefix-D。
B2节点从骨干域外收到Prefix-D对应的路由通告时,继续通过BGP向骨干域的边界节 点B1通告。B2节点并不关注所通告的Prefix的差异(即不管是针对Prefix-D还是其它的Prefix-D),仅需配置一个简单的本地策略,为继续通告的BGP UPDATE消息中添加隧道封装属性,包含两个隧道封装选项,即包含两个Tunnel Encapsulation TLV,具体如下:
第一个Tunnel Encapsulation TLV,Tunnel Type为IP in IP,包含Tunnel Egress Endpoint Sub-TLV,其中,Address字段填写Loopback-B2;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[0,3]以表示低优先级的报文。
第二个Tunnel Encapsulation TLV,Tunnel Type为IP in IP,包含Tunnel Egress Endpoint Sub-TLV,其中,Address字段填写Loopback-B200;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[4,8]以表示高优先级的报文。
B2节点继续向B1节点通告BGP UPDATE消息时会将消息中的BGP Next-hop改为自己,一般总是设置为它与B1节点建立BGP session的地址,如Loopback-B2。这与BGP UPDATE消息中携带的隧道封装属性中的Tunnel Egress Endpoint Sub-TLV无关。
节点B1收到上述路由通告后,将维护至Prefix-D的路由表项,在路由表项中包含隧道封装属性信息且具体包含上述两个隧道封装选项。
节点B1继续通过BGP向Metro 1的边界节点A通告,也将BGP UPDATE消息中的BGP Next-hop改为自己。注意在本实施例中,此时B1需要将BGP UPDATE消息中的隧道封装属性剥除后再向节点A通告。
需要说明的是,在有些场景中,也许B1在向邻居节点继续通告BGP UPDATE消息时会携带新的隧道封装属性以指定该邻居节点至B1的隧道用于报文转发,这样的场景中隧道封装是一段一段拼接起来的。本实施例中,由于仅需在骨干网中指定隧道,另外也希望B1节点上的配置尽量简单,因此B1节点上可以采取简单的本地策略,当继续通告的BGP UPDATE消息中的BGP Next-hop改为自己时,就将旧的隧道封装属性移除后再通告。
Metro 1中,节点A继续通过IGP或BGP将Prefix-D向节点S通告。
接下来观察节点S向节点D发送的数据报文,假设是两个IPv6报文,记为Packet 1和Packet 2。这两个报文的目的IP地址都是节点D上的某个本地地址,记为IP-D(未作特殊说明,其它节点的本地地址也采取类似记号),在网络中的各个节点上,都能匹配上述Prefix-D路由表项。假设Packet 1的IPv6 Header中的Traffic Class为0,Packet 2的IPv6 Header中的Traffic Class为7。即:
Packet1:
IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=0
Packet2:
IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=7
上述报文到达骨干网络的边界节点B1时,将命中维护的路由表项Prefix-D,并根据路由表项中包含的隧道封装属性信息,为报文封装外层IP tunnel。此时,由于Packet 1的Traffic Class为0,则封装的外层IPv6 Header的DA为Loopback-B2;而Packet 2的Traffic Class为7,则封装的外层IPv6 Header的DA为Loopback-B200。即:
Packet1:
外层IPv6 Header:DA=Loopback-B2,SA=IP-B1
内层IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=0
Packet2:
外层IPv6 Header:DA=Loopback-B200,SA=IP-B1
内层IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=7
则上述两个报文将分别沿物理拓扑和Flex-algo 128平面转发至目的节点B2,使得在骨干网中得到差异化的处理。B2节点最终将上述两个报文向Metro 2转发。
可以将本实施例中的Flow Classification Sub-TLV中包含的IP Differentiated Service sub-sub-TLV换成包含其它sub-sub-TLV,只是更改了流量匹配条件,处理过程是类似的。
可以将本实施例中的Flex-algo替换成多IGP进程(即物理网络中部署多个IGP实例,每条链路仅属于一个IGP实例)的方式,即上述Loopback-B2与Loopback-B200分别关联到不同的IGP进程,处理过程也是类似的。
实施例2
本实施例仍然以图11为例,假设骨干网络中已升级支持SRv6,描述一种根据流量等级映射到相应的隧道出口SRv6 SID。网络管理员选择在支持SRv6的骨干网络中部署IGP Flex-algo,创建一个基于低时延度量(Delay metric)计算路径的Flex-algo平面,让那些流量等级较高的流量沿这个Flex-algo平面转发,而普通流量继续沿物理网络转发。
由于此实施例中的骨干网络是SRv6网络,因此可采用draft-ietf-lsr-flex-algo-14所述的方法去创建图中所示的Flex-algo 128平面。如图11所示,节点B1、P1、P2、B2以及它们相互连接的链路加入到了Flex-algo 128平面,而整个骨干物理网络可看做是algorithm 0对应的平面。此例中,假设节点B2上有两个SRv6 Locator,分别为LOC-B2和LOC-B200,且LOC-B2与algorithm 0关联,LOC-B200与algorithm 128关联。则B1节点上,至LOC-B2的路由转发路径将是在物理网络中按最小IGP metric计算得到的转发路径,而至LOC-B200的路由转发路径将是在Flex-algo 128平面中按最小Delay metric计算得到的转发路径。另外,假设在LOC-B2中分配了一个SID-B2,在LOC-B200中分配了一个SID-B200,这两个SID可能是具有USD(Ultimate Segment Decapsulation)flavor的END SID,或用于承载Global IPv6报文的END.DT6 SID,参考RFC8986与draft-ietf-bess-srv6-services-07。
为了支持跨城域的不同等级的业务相互访问,比如图11中Metro 1的节点S需要向Metro 2的节点D发送IPv6数据报文,则节点S需要学习到至节点D的路由可达信息。假设节点D上有一条本地路由记为Prefix-D,在Metro 2内通告,节点C可通过BGP向节点B2直接通告Prefix-D或者聚合后的某个前缀长度更短的前缀。为了描述简单,本例中假设直接通告Prefix-D。
B2节点从骨干域外收到Prefix-D对应的路由通告时,继续通过BGP向骨干域的边界节点B1通告。B2节点并不关注所通告的Prefix的差异(即不管是针对Prefix-D还是其它的Prefix-D),仅需配置一个简单的本地策略,为继续通告的BGP UPDATE消息中添加隧道封装属性,包含两个隧道封装选项,即包含两个Tunnel Encapsulation TLV,具体如下:
第一个Tunnel Encapsulation TLV,Tunnel Type为SR-BE,包含SR-BE Encapsulation Sub-TLV,其中,D-Flag设置为1,SID为SID-B2;包含Flow Classification Sub-TLV以及 IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[0,3]以表示低优先级的报文。
第二个Tunnel Encapsulation TLV,Tunnel Type为SR-BE,包含SR-BE Encapsulation Sub-TLV,其中,D-Flag设置为1,SID为SID-B200;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[4,8]以表示高优先级的报文。
B2节点继续向B1节点通告BGP UPDATE消息时会将消息中的BGP Next-hop改为自己,一般总是设置为它与B1节点建立BGP session的地址,如Loopback-B2。
节点B1收到上述路由通告后,将维护至Prefix-D路由表项,在路由表项中包含隧道封装属性信息且具体包含上述两个隧道封装选项。
节点B1继续通过BGP向Metro 1的边界节点A通告,也将BGP UPDATE消息中的BGP Next-hop改为自己。注意在本实施例中,此时B1需要将BGP UPDATE消息中的隧道封装属性剥除后再向节点A通告。
Metro 1中,节点A继续通过IGP或BGP将Prefix-D向节点S通告。接下来观察节点S向节点D发送的两个IPv6数据报文Packet 1和Packet 2(与实施例1相同):
Packet1:
IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=0
Packet2:
IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=7
上述报文到达骨干网络的边界节点B1时,将命中维护的路由表项Prefix-D,并根据路由表项中包含的隧道封装属性信息,为报文封装外层IPv6 SR-BE tunnel。此时,由于Packet1的Traffic Class为0,则封装的外层IPv6 Header的DA为SID-B2;而Packet2的Traffic Class为7,则封装的外层IPv6 Header的DA为SID-B200。即:
Packet1:
外层IPv6 Header:DA=SID-B2,SA=IP-B1
内层IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=0
Packet2:
外层IPv6 Header:DA=SID-B200,SA=IP-B1
内层IPv6 Header:DA=IP-D,SA=IP-S,Traffic Class=7
则上述两个报文将分别沿物理拓扑和Flex-algo 128平面转发至目的节点B2,使得在骨干网中得到差异化的处理。B2节点最终将上述两个报文向Metro 2转发。
可以将本实施例中的Flow Classification Sub-TLV中包含的IP Differentiated Service sub-sub-TLV换成包含其它sub-sub-TLV,只是更改了流量匹配条件,处理过程是类似的。
可以将本实施例中的SRv6 SID换成SR-MPLS SID,处理过程是类似的,只不过是将封装的外层IPv6 Header替换成MPLS标签栈。
实施例3:
本实施例仍然以图11为例,描述一种根据流量等级映射到指定algorithm的路径,需要入口节点将指定的algorithm去结合BGP UPDATE消息的BGP Next-hop或者指定的隧道出口 节点,间接的确定需要采用的隧道封装。这种方式下,入口节点的隧道选择更加灵活,且BGP UPDATE的通告也更简洁。假设如上所述,在骨干网络中创建Flex-algo 128平面用于高优先级的业务。
B2节点从骨干域外收到Prefix-D对应的路由通告时,继续通过BGP向骨干域的边界节点B1通告。B2节点并不关注所通告的Prefix的差异(即不管是针对Prefix-D还是其它的Prefix-D),仅需配置一个简单的本地策略,为继续通告的BGP UPDATE消息中添加隧道封装属性,包含两个隧道封装选项,即包含两个Tunnel Encapsulation TLV,具体如下:
第一个Tunnel Encapsulation TLV,Tunnel Type为Any-Encapsulation,包含Virtual Network Sub-TLV,其中,algorithm、Multi-Topology ID、Slice ID均设置为0;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[0,3]以表示低优先级的报文。
第二个Tunnel Encapsulation TLV,Tunnel Type为Any-Encapsulation,包含Virtual Network Sub-TLV,其中,algorithm设置为128,Multi-Topology ID和Slice ID均设置为0;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[4,8]以表示高优先级的报文。
B2节点继续向B1节点通告BGP UPDATE消息时会将消息中的BGP Next-hop改为自己,一般总是设置为它与B1节点建立BGP session的地址,如Loopback-B2。
节点B1收到上述路由通告后,将维护至Prefix-D路由表项,在路由表项中包含隧道封装属性信息且具体包含上述两个隧道封装选项。由于Tunnel Type为Any-Encapsulation,则B1节点需要根据它感知到的骨干网络中具备的实际能力,去选择相应的隧道。比如,如果骨干网络是SR-MPLS网络,则它需要根据<algorithm,Loopback-B2>作为键值在链路状态数据库中查找B2节点为相应algorithm分配的Prefix SID,然后根据查找到的Prefix SID获取相应的MPLS SR-BE转发信息作为隧道封装信息;再比如,如果骨干网络是SRv6网络,则它需要根据<algorithm,Loopback-B2>作为键值在链路状态数据库中查找B2节点为相应algorithm分配的END SID,然后根据查找到的END SID获取相应的IPv6 SR-BE转发信息作为隧道封装信息。
其它过程与上述实施例1和实施例2类似,在此不进行赘述。
本实例中描述的隧道封装虽然是Flex-algo平面中的路径,实际上,换作是IGP多拓扑或Slice ID虚拟拓扑,处理过程也是类似的。特别是,对于Slice ID虚拟拓扑,还有增强的处理过程,具体见实施例4。
实施例4:
本实施例基于实施例3,描述一种根据流量等级映射到指定Slice ID的路径,需要入口节点将指定的Slice ID去结合BGP UPDATE消息的BGP Next-hop或者指定的隧道出口节点,间接的确定需要采用的隧道封装。这种方式下,入口节点的隧道选择更加灵活,且BGP UPDATE的通告也更简洁。假设在骨干网络中创建Slice ID 1虚拟拓扑用于高优先级的业务。
B2节点从骨干域外收到Prefix-D对应的路由通告时,继续通过BGP向骨干域的边界节点B1通告。B2节点并不关注所通告的Prefix的差异(即不管是针对Prefix-D还是其它的Prefix-D),仅需配置一个简单的本地策略,为继续通告的BGP UPDATE消息中添加隧道封装属性,包含两个隧道封装选项,即包含两个Tunnel Encapsulation TLV,具体如下:
第一个Tunnel Encapsulation TLV,Tunnel Type为Any-Encapsulation,包含Virtual Network Sub-TLV,其中,algorithm、Multi-Topology ID、Slice ID均设置为0;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[0,3]以表示低优先级的报文。
第二个Tunnel Encapsulation TLV,Tunnel Type为Any-Encapsulation,包含Virtual Network Sub-TLV,其中,algorithm和Multi-Topology ID设置为0,Slice ID设置为1,且I-Flag设置为1;包含Flow Classification Sub-TLV以及IP Differentiated Service sub-sub-TLV,其中,[DS Begin,DS End]假设为[4,8]以表示高优先级的报文。
注意B2节点继续向B1节点通告BGP UPDATE消息时会将消息中的BGP Next-hop改为自己,一般总是设置为它与B1节点建立BGP session的地址,如Loopback-B2。
节点B1收到上述路由通告后,将维护至Prefix-D路由表项,在路由表项中包含隧道封装属性信息且具体包含上述两个隧道封装选项。由于Tunnel Type为Any-Encapsulation,则B1节点需要根据它感知到的骨干网络中具备的实际能力,去选择相应的隧道。比如,如果骨干网络是SR-MPLS网络,则它需要根据<Slice ID,Loopback-B2>作为键值在链路状态数据库中查找B2节点为相应Slice ID分配的Prefix SID,然后根据查找到的Prefix SID获取相应的MPLS SR-BE转发信息作为隧道封装信息;再比如,如果骨干网络是SRv6网络,则它需要根据<Slice ID,Loopback-B2>作为键值在链路状态数据库中查找B2节点为相应Slice ID分配的END SID,然后根据查找到的END SID获取相应的IPv6 SR-BE转发信息作为隧道封装信息。这些SR-MPLS Prefix SID或SRv6 END SID对应的转发表项中包含的转发信息,可以拷贝自共享的逻辑拓扑(比如多个Slice ID可以共享同一逻辑拓扑)中对应的转发表项。
对于I-Flag被设置为1的隧道封装属性,当该隧道封装属性作用于业务报文时,需要将Slice ID插入到封装的外层隧道头中。关于在IPv6 Header中插入Slice ID的方法可参考draft-filsfils-spring-srv6-stateless-slice-id-02,关于在MPLS标签栈中插入Slice ID的方法可参考draft-decraene-mpls-slid-encoded-entropy-label-id-01。
需要说明的是,上述所有实施例中,可以使用RFC8277定义的方法在通告Prefix-D时携带MPLS Label,因此B1节点上可能会针对Prefix-D创建相应的标签表项。后续从节点S向节点D发送的数据报文可能是标签报文,报文在到达B1节点时将匹配到相应的标签表项,再根据标签表项中包含的隧道封装属性,为报文封装合适的外层隧道,这与B1节点上创建路由表项时的处理是完全类似的。
此外,上述方法可应用于IPRAN/SPN,城域网/骨干,弥补了BGP路由通告时无法指定特定虚拟网络(特别是网络切片)的缺陷。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
在本实施例中还提供了一种消息发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/ 或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图12是本公开实施例的消息发送装置的结构框图,该装置包括:
发送模块122,设置为向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
通过上述模块,向入口节点发送包含指定的流分类特征值和指定的虚拟网络的路径信息的BGP更新消息,以向所述入口节点通告路由可达信息,进而入口节点可以向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的切片引流所带来的不灵活等问题,进而通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,弥补了BGP路由通告时无法指定特定虚拟网络的缺陷,不依赖静态配置的自动的切片引流,具有很好的灵活性。
需要说明的是,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID、优先级码点PCP。
进一步地,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
为了更好的理解,在本实施例中,所述流分类特征值,在网络切片场景中主要是IP报头的差分服务(Differentiated Services,简称为DS)字段,如IPv4报头的业务类型(Type of Service,简称为TOS)字段或IPv6报头的流量类别(Traffic Class,简称为TC)字段,除此之外,在其它场景中,流分类特征值也可以是IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号之一或它们的任意组合或与DS字段的任意组合,还可以是Ethernet帧头的源MAC、目的MAC、VLAN ID、优先级码点(Priority Code Point,简称为PCP)之一或它们的任意组合。
可选的,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
在本实施例中还提供了一种消息接收装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。图13是本公开实施例的消息接收装置的结构框图,该装置包括:
接收模块132,设置为接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
通过上述模块,接收出口节点发送包含指定的流分类特征值和指定的虚拟网络的路径信息的BGP更新消息,以获取路由可达信息,进而入口节点可以向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。解决了在网络运维中,依赖手工配置的 切片引流所带来的不灵活等问题,进而通过入口节点接收出口节点发送BGP更新消息,以获得路由可达信息,弥补了BGP路由通告时无法指定特定虚拟网络的缺陷,不依赖静态配置的自动的切片引流,具有很好的灵活性。
需要说明的是,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID、优先级码点PCP。
进一步地,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
为了更好的理解,在本实施例中,所述流分类特征值,在网络切片场景中主要是IP报头的差分服务(Differentiated Services,简称为DS)字段,如IPv4报头的业务类型(Type of Service,简称为TOS)字段或IPv6报头的流量类别(Traffic Class,简称为TC)字段,除此之外,在其它场景中,流分类特征值也可以是IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号之一或它们的任意组合或与DS字段的任意组合,还可以是Ethernet帧头的源MAC、目的MAC、VLAN ID、优先级码点(Priority Code Point,简称为PCP)之一或它们的任意组合。
可选的,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
需要说明的是,接收模块132还设置为所述入口节点根据获取到的所述路由可达信息创建所述入口节点对应的路由表项或标签表项,其中,所述路由表项或标签表项包括:所述隧道封装属性。
在本实施例中,网络的入口节点收到上述路由可达信息后,创建所述入口节点对应的路由表项或标签表项,维护相应的路由表项或标签表项,在路由表项或标签表项中包含相应的隧道封装属性信息。需要说明的是,单个路由表项或标签表项中维护的隧道封装属性信息中,可以包含多个隧道封装选项,形如:<流分类特征值1,隧道1>,<流分类特征值2,隧道2>等等。
进一步地,接收模块132还设置为所述入口节点确定所述流量匹配到所述路由表项或标签表项的情况下,获取所述流量的流分类特征,并将所述流量在所述流分类特征对应的所述指定的虚拟网络的路径信息上转发。
在本实施例中,网络入口节点从用户侧接收到流量时,若匹配到路由表项或标签表项且该路由表项或标签表项中包含有隧道封装属性信息,则进一步根据接收到的流量的流分类特征,将流量引导到指定的虚拟网络的转发路径上进行转发。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路 径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
或者执行以下步骤的计算机程序:
S1,通过入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
或者被设置为通过计算机程序执行以下步骤:
S1,通过入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何指定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、 改进等,均应包含在本公开的保护范围之内。

Claims (14)

  1. 一种消息发送方法,包括:
    通过出口节点向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
  2. 根据权利要求1所述的方法,其中,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID、优先级码点PCP。
  3. 根据权利要求2所述的方法,其中,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
  4. 根据权利要求1所述的方法,其中,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
  5. 一种消息接收方法,包括:
    通过入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值,指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
  6. 根据权利要求5所述的方法,其中,所述流分类特征值包括以下至少之一:IP报头的差分服务DS字段、IP报头的源IP地址、目的IP地址、源端口号、目的端口号、协议号、Ethernet帧头的源MAC、目的MAC地址、VLAN ID、优先级码点PCP。
  7. 根据权利要求6所述的方法,其中,所述IP报头的差分服务DS字段至少包括以下之一:IPv4报头的业务类型TOS字段、IPv6报头的流量类别TC字段。
  8. 根据权利要求5所述的方法,其中,所述指定的虚拟网络的路径信息包括以下至少之一:指定IGP拓扑内至指定目的节点的路径、指定Flex-algo平面内至指定目的节点的路径、指定Slice ID对应的虚拟拓扑内至指定目的节点的路径、指定段标识SID的路径。
  9. 根据权利要求5所述的方法,其中,通过所述入口节点接收出口节点发送的BGP更新消息,以获取路由可达信息之后,所述方法还包括:
    所述入口节点根据获取到的所述路由可达信息创建所述入口节点对应的路由表项或标签表项,其中,所述路由表项或所述标签表项包括:所述隧道封装属性。
  10. 根据权利要求9所述的方法,其中,所述入口节点根据获取到的所述路由可达信息创建 所述入口节点对应的路由表项或所述标签表项之后,所述方法还包括:
    所述入口节点确定所述流量匹配到所述路由表项或所述标签表项的情况下,获取所述流量的流分类特征,并将所述流量在所述流分类特征对应的所述指定的虚拟网络的路径信息上转发。
  11. 一种消息发送装置,包括:
    发送模块,设置为向入口节点发送BGP更新消息,以向所述入口节点通告路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示所述入口节点将向出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
  12. 一种消息接收装置,包括:
    接收模块,设置为接收出口节点发送的BGP更新消息,以获取路由可达信息,其中,所述BGP更新消息包括:隧道封装属性,所述隧道封装属性包括:一个或多个隧道封装信息,所述隧道封装信息至少包括以下之一:指定的流分类特征值、指定的虚拟网络的路径信息,所述隧道封装信息用于指示入口节点将向所述出口节点发送的具有指定的流分类特征值的流量映射到指定的虚拟网络的路径。
  13. 一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至4任一项中所述的方法,或权利要求5-10任一项所述的方法。
  14. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至4任一项中所述的方法,或权利要求5-10任一项所述的方法。
PCT/CN2022/070343 2021-04-28 2022-01-05 消息发送方法及装置、消息接收方法及装置、存储介质 WO2022227690A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110469912.3A CN115250262A (zh) 2021-04-28 2021-04-28 消息发送方法及装置、消息接收方法及装置、存储介质
CN202110469912.3 2021-04-28

Publications (1)

Publication Number Publication Date
WO2022227690A1 true WO2022227690A1 (zh) 2022-11-03

Family

ID=83696992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/070343 WO2022227690A1 (zh) 2021-04-28 2022-01-05 消息发送方法及装置、消息接收方法及装置、存储介质

Country Status (2)

Country Link
CN (1) CN115250262A (zh)
WO (1) WO2022227690A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170578A1 (en) * 2007-01-17 2008-07-17 Nortel Networks Limited Border Gateway Protocol Procedures for Multi-Protocol Label Switching and Layer-2 Virtual Private Networks Using Ethernet-Based Tunnels
US20150381493A1 (en) * 2014-06-30 2015-12-31 Juniper Networks, Inc. Service chaining across multiple networks
CN107872392A (zh) * 2016-09-26 2018-04-03 丛林网络公司 在网络中分配服务功能链数据和服务功能实例数据
CN112291147A (zh) * 2020-10-15 2021-01-29 北京直真科技股份有限公司 一种5g业务动态智能sr隧道应用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170578A1 (en) * 2007-01-17 2008-07-17 Nortel Networks Limited Border Gateway Protocol Procedures for Multi-Protocol Label Switching and Layer-2 Virtual Private Networks Using Ethernet-Based Tunnels
US20150381493A1 (en) * 2014-06-30 2015-12-31 Juniper Networks, Inc. Service chaining across multiple networks
CN107872392A (zh) * 2016-09-26 2018-04-03 丛林网络公司 在网络中分配服务功能链数据和服务功能实例数据
CN112291147A (zh) * 2020-10-15 2021-01-29 北京直真科技股份有限公司 一种5g业务动态智能sr隧道应用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. VAIRAVAKKALAI N. VENKATARAMAN B. RAJAGOPALAN JUNIPER NETWORKS, INC.: "BGP Classful Transport Planes; draft-kaliraj-idr-bgp-classful-transport-planes-00.txt", BGP CLASSFUL TRANSPORT PLANES; DRAFT-KALIRAJ-IDR-BGP-CLASSFUL-TRANSPORT-PLANES-00.TXT, no. 00, 8 May 2020 (2020-05-08), pages 1 - 14, XP015139479 *

Also Published As

Publication number Publication date
CN115250262A (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
CN110912795B (zh) 一种传输控制方法、节点、网络系统及存储介质
US10757008B2 (en) Flow specification protocol-based communications method, device, and system
EP3836490B1 (en) Vpn cross-domain implementation method, device, and border node
US10003531B2 (en) Method for establishing tunnel, method for allocating label, device and network system
US8761043B2 (en) Setting up a virtual private network
WO2016198015A1 (zh) 一种报文传输的方法、装置和系统
US7693047B2 (en) System and method for PE-node protection
WO2019105462A1 (zh) 报文的发送、处理方法及装置,pe节点,节点
WO2016115823A1 (zh) 标签构造以及标签报文转发方法及装置
US20170118043A1 (en) Method for implementing communication between nvo3 network and mpls network, and apparatus
US7440438B2 (en) Refresh and filtering mechanisms for LDP based VPLS and L2VPN solutions
CN107968750B (zh) 报文传输方法、装置及节点
EP3886382A1 (en) Information management method, apparatus, and system
US20110032843A1 (en) Setting up a virtual private network using virtual lan identifiers
US11671352B2 (en) Message sending method, binding relationship advertising method, apparatus, and storage medium
WO2007102965A2 (en) Technique for preventing routing loops by disseminating bgp attribute information in an ospf-configured network
US20200274739A1 (en) Methods, Nodes and Computer Readable Media for Tunnel Establishment Per Slice
CN108270673A (zh) 报文发送方法、装置以及系统
CN112491706A (zh) 数据报文的处理方法及装置、存储介质、电子装置
CN111865795A (zh) 控制方法及装置
WO2022227690A1 (zh) 消息发送方法及装置、消息接收方法及装置、存储介质
WO2022042610A1 (zh) 信息处理方法、网络控制器、节点及计算机可读存储介质
CN116805930A (zh) Bgp路由的发送方法、装置、存储介质及电子装置

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18286801

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22794174

Country of ref document: EP

Kind code of ref document: A1