WO2023109398A1 - 一种报文传输方法及装置 - Google Patents

一种报文传输方法及装置 Download PDF

Info

Publication number
WO2023109398A1
WO2023109398A1 PCT/CN2022/131753 CN2022131753W WO2023109398A1 WO 2023109398 A1 WO2023109398 A1 WO 2023109398A1 CN 2022131753 W CN2022131753 W CN 2022131753W WO 2023109398 A1 WO2023109398 A1 WO 2023109398A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
route
network
service
sid
Prior art date
Application number
PCT/CN2022/131753
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 WO2023109398A1 publication Critical patent/WO2023109398A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present application relates to the field of communication technologies, and in particular to a message transmission method and device.
  • Segment routing internet protocol version 6 is a new Internet protocol (internet protocol, IP) bearer technology, SRv6 can provide high service level (Service Level Agreement, SLA) guarantee, and has high reliability capabilities And sufficient network programming ability.
  • SLA Service Level Agreement
  • Ethernet virtual private network EVPN
  • SRv6+EVPN Ethernet virtual private network
  • legacy networks such as networks supporting multi-protocol label switching-label distribution protocol (multi protocol label switching-label distribution protocol, MPLS-LDP), or networks supporting segment routing-multi-protocol label Switching (segment routing-multi protocol label switching, SR-MPLS) network.
  • MPLS-LDP multi protocol label switching-label distribution protocol
  • SR-MPLS segment routing-multi-protocol label Switching
  • legacy networks do not support SRv6 and EVPN.
  • the present application provides a message transmission method and device.
  • the method realizes that when a service message is transmitted through a first network supporting SRv6 and a second network supporting MPLS-LDP or SR-MPLS,
  • the nodes can normally parse the service message.
  • the present application provides a message transmission method, the method is applied to a first node at a network boundary of a first network, and the first network supports SRv6.
  • the method includes: receiving a first message. Determine a first segment identifier (segment identifier, SID) used to indicate the service label of the first packet according to the first packet. Generate a second packet according to the first packet and the first SID. Forward the second packet to the second node.
  • the segment identifier list (segment identifier list, SID list) of the second message includes the first SID
  • the second node is located at the network boundary between the first network and the second network, and the second network supports MPLS-LDP or SR-MPLS .
  • the method provided by this application when the destination address of the first message to the first message needs to go through the first network and the second network, the method provided by this application is generated based on the first message
  • the SID list of the second message carries the first SID corresponding to the service label of the first message, so that the second message does not need to carry the service label of the service message between the SID list and the message payload.
  • the format of the second message transmitted by the first network is the standard format of the message transmitted through SRv6.
  • the VAS node in the first network can normally parse the second message, so that the VAS node can provide value-added services for the second message, such as providing security check service, network address translation (network address translation, NAT) service, depth report Text detection (deep packet inspection, DPI) service, etc.
  • value-added services such as providing security check service, network address translation (network address translation, NAT) service, depth report Text detection (deep packet inspection, DPI) service, etc.
  • the service label of the above-mentioned first packet is used to indicate L3 virtual private network (layer 3 virtual private network, L3VPN) service, L2 multipoint service (layer 2 multipoint service), or L2 point Any of the point-to-point services (layer 2 point-to-point services).
  • L3 virtual private network layer 3 virtual private network, L3VPN
  • L2 multipoint service layer 2 multipoint service
  • L2 point Any of the point-to-point services layer 2 point-to-point services.
  • multiple table entries are configured on the upper-layer operator edge (super provider edge, SPE) node at the network boundary between the first network and the second network to implement different processes, thereby making the service
  • SPE super provider edge
  • the message transmission method provided in this application does not limit the type of the first message to be transmitted, so the application scope of the method provided in this application is wider.
  • the method provided by the present application does not need to configure multiple entries on the SPE to realize the transmission of different types of service packets, thereby effectively reducing the load of the SPE.
  • the above-mentioned determining the first SID according to the first message includes: determining the first route according to the destination address in the first message, and determining the first SID in the first route.
  • the first route is a service route to the destination address of the first packet.
  • next hop indicated by the first route is a third node located at the boundary of the second network
  • generating the second message according to the first message and the first SID includes: The next hop address in one route determines the second route.
  • the second SID is the SID of the third node
  • the second route is the public network route to the third node
  • the SID list of the second message includes the second SID.
  • the first node generates the first SID corresponding to the service label of the first message based on the search of the two-layer route (ie, the first route and the second route), and the The next hop node of the destination address of the first packet, that is, the second packet of the second SID corresponding to the address of the third node.
  • the second message is transmitted in the first network. Since the second packet does not carry the service label of the first packet, the second packet can be parsed normally by the nodes in the first network supporting SRv6, so that the nodes in the first network can provide value-added for the second packet Serve.
  • the first node has obtained in advance the first route including the first SID corresponding to the first message service label, and the second route including the second SID corresponding to the address of the third node. Therefore, when the first node transmits the message, it can directly determine the first SID in the first route for transmitting the first message, and determine the second SID in the second route.
  • the above method before receiving the first message, further includes: acquiring the first route.
  • the acquiring the first route includes: receiving a service route to the destination address of the first packet published by the third node. Allocating the first SID to the service label in the service route to generate the first route.
  • the first node can generate the first route including the first SID corresponding to the service label of the first message according to the service route to the destination address of the first message sent by the third node.
  • the first node needs to transmit the packet payload of the first packet, it can generate the second packet including the first SID based on the first packet and the first route, and transmit the second packet.
  • the second packet does not need to carry the service label of the first packet. Therefore, when the second packet is transmitted in the first network supporting SRv6, the nodes in the first network can normally parse the second packet, thereby Nodes in the first network can provide value-added services for the second message.
  • the first route is generated by modifying the relevant configuration of the first node in the first network, so that the second network is not aware of the SRv6-oriented evolution process provided by this application.
  • the acquiring the first route includes: receiving the first route sent by the route reflector.
  • the first route is a route generated by the route reflector based on the service route to the destination address of the first message published by the third node and the first SID assigned to the service label in the service route.
  • the first node can directly receive the first route sent by the route reflector to the destination address of the first message and including the first SID corresponding to the service label of the first message.
  • the first node when the first node needs to transmit the packet payload of the first packet, it can generate the second packet including the first SID based on the first packet and the first route, and transmit the second packet.
  • the second packet does not need to carry the service label of the first packet. Therefore, when the second packet is transmitted in the first network supporting SRv6, the nodes in the first network can normally parse the second packet, thereby Nodes in the first network can provide value-added services for the second message.
  • the first route is generated by modifying the relevant configuration of the route reflector communicating with the first network, so that the second network is not aware of the SRv6-oriented evolution process provided by this application.
  • the route reflector executes "according to the service route sent by the third node to the destination address of the first message, generate the first message including the first SID corresponding to the service label of the first message.
  • One-routing" algorithm so the solution provided by this possible design saves the computing resources of the first node.
  • the first node directly receives the first route from the route reflector, there is no need to establish a BGP neighbor relationship between the first node and the third node for the first node to receive the service route advertised by the third node. Therefore, this possible
  • the solution provided by the design saves the BGP connection of the first node, that is, saves the communication resource of the first node.
  • receiving the service route to the destination address of the first packet published by the third node includes: obtaining the second route. Establish a neighbor relationship with the third node according to the second route. Based on the neighbor relationship, a service route published by the third node is received.
  • acquiring the second route includes: receiving the second route sent by the second node.
  • the second route is a route generated by the second node based on the public network route published by the third node and the second ID assigned to the destination address of the public network route of the third node.
  • the acquiring the second route includes: receiving the second route sent by the controller of the first network.
  • the second route is a route generated by the controller based on the public network route published by the third node and the second ID assigned to the destination address of the public network route of the third node.
  • the second route may be generated by the second node or by the controller of the first network.
  • the second route is generated by the controller of the first network, computing resources of the second node can be saved.
  • the above method further includes: publishing the IPv4 public network route of the first node and the service route of the first node to the third node through the second node.
  • the first network supporting SRv6 is configured through IPv6, and the second network supporting MPLS-LDP or SR-MPLS is configured through IPv4. Therefore, when the public network route published by the first node in the first network is an IPv4 public network route, the transmission of packets through the first network configured with IPv6 and the second network through IPv4 can be realized, that is, the technical downward compatible. Moreover, the first network only needs to configure IPv4 on the first node, and the intermediate nodes of the first network do not need to configure IPv4, that is to say, the method provided by this application can save limited IPv4 resources.
  • the present application provides a packet transmission method, which is applied to a second node at a network boundary between a first network and a second network.
  • the first network supports SRv6, and the second network supports MPLS-LDP or SR-MPLS.
  • the method includes: receiving the second message sent by the first node.
  • the first node is located at the network boundary of the first network, and the SID list of the second message includes the first SID and the second SID, and the first SID and the second SID are obtained by the first node according to the first message received.
  • the corresponding service label is determined according to the first SID, and the corresponding public network label is determined according to the second SID.
  • the service label corresponding to the first SID is the service label of the second message
  • the public network label corresponding to the second SID is used to forward the message to the third node
  • the third node is located at the network boundary of the second network.
  • the present application provides a method by carrying the SID list of the second message generated based on the first message with the first message
  • the service label of the service message is carried between the message payloads.
  • the format of the second message transmitted by the first network is the standard format of the message transmitted through SRv6. Therefore, the VAS node in the first network can normally parse the message, so that the VAS node can provide value-added services for the service message, such as security detection service, NAT service, DPI service and so on.
  • the service label of the second packet is used to indicate any one of the L3VPN service, the L2 multipoint service, or the L2 point-to-point service.
  • the foregoing determination of the corresponding service label according to the first SID includes: determining the service label based on the first SID.
  • the service tag is a value obtained by removing the first preset prefix of the first SID.
  • determining the corresponding service label according to the first SID includes: determining the service label according to the first SID and the first correspondence. Wherein, the first correspondence is used to indicate the correspondence between the first SID and the service label.
  • the second node can convert the first SID in the second packet into the service label of the second packet.
  • determining the corresponding public network label according to the second SID includes: determining the address of the third node corresponding to the second SID based on the second SID.
  • the address of the third node is a value obtained by removing the second preset prefix of the second SID. Based on the address of the third node and the public network route to the third node, determine the public network label of the next hop node to the third node.
  • determining the corresponding public network label according to the second SID includes: determining the public network label of the next-hop node to the third node according to the second SID and the second correspondence.
  • the second correspondence is used to indicate the correspondence between the second SID and the public network label of the third node.
  • the second node can convert the second SID in the second packet into a public network label for transmitting the third packet in the second network.
  • the above method before receiving the second message sent by the first node, further includes: publishing the IPv4 public network route of the first node and the service route of the first node to the third node.
  • the first network supporting SRv6 is configured through IPv6, and the second network supporting MPLS-LDP or SR-MPLS is configured through IPv4. Therefore, when the public network route published by the first node in the first network is an IPv4 public network route, the transmission of packets through the first network configured with IPv6 and the second network through IPv4 can be realized, that is, the technical downward compatible. Moreover, the first network only needs to configure IPv4 on the first node, and the intermediate nodes of the first network do not need to configure IPv4, that is to say, the method provided by this application can save limited IPv4 resources.
  • the above method before receiving the second message sent by the first node, further includes: receiving a public network route published by the third node.
  • the second SID is assigned to the destination address of the public network route published by the third node, so as to generate the public network route to the third node.
  • a public network route destined for the third node is sent to the first node.
  • the second node can generate the public network route including the second SID according to the public network route to the third node. That is to say, the second node in the first network needs to modify the relevant configuration to generate the second route, so that the second network is not aware of the SRv6-oriented evolution process provided by this application.
  • the above method further includes: receiving a fourth packet from the third node, where the fourth packet includes the IPv4 public network label of the first node and the service label of the fourth packet. Determine the IPv6 address of the first node according to the IPv4 public network label of the first node, and determine the corresponding third SID according to the service label of the fourth packet. Forward the fifth packet to the first node.
  • the SID list of the fifth message includes the IPv6 address of the first node and the third SID.
  • the format of the fifth message carrying the message load is a standard format, that is, the VAS node in the first network can Packets are parsed normally, so that value-added services can be provided for them.
  • the present application provides a message transmission device, the message transmission device is applied to a first node at a network boundary of a first network, and the first network supports segment routing SRv6 based on version 6 of the Internet Protocol.
  • the device for message transmission is configured to execute any one of the methods provided in the foregoing first aspect.
  • the present application may divide the message transmission device into functional modules according to any one of the methods provided in the first aspect above. For example, different functional modules may be divided to perform corresponding functions respectively, or two or more functions may be integrated into one processing module.
  • the present application may divide the message transmission device into a receiving unit, a determining unit, a generating unit, and a sending unit according to functions.
  • the receiving unit is used for receiving the first message.
  • the determining unit is configured to determine the first SID according to the first message.
  • the generating unit is configured to generate the second message according to the first message and the first SID.
  • the sending unit is configured to forward the second message to the second node.
  • the first SID is used to indicate the service label of the first message
  • the SID list of the second message includes the first SID
  • the second node is located at the network boundary between the first network and the second network
  • the second network supports MPLS- LDP or SR-MPLS.
  • the message transmission device includes: one or more processors and a transmission interface, the one or more processors receive or send data through the transmission interface, and the one or more processors are It is configured to invoke program instructions stored in the memory, so that the message transmission device executes any method provided in the first aspect and any possible design manner thereof.
  • the present application provides a message transmission device, where the message transmission device is applied to a second node at a network boundary between a first network and a second network.
  • the first network supports SRv6, and the second network supports MPLS-LDP or SR-MPLS.
  • the device for message transmission is configured to execute any one of the methods provided in the second aspect above.
  • the present application may divide the message transmission device into functional modules according to any one of the methods provided in the second aspect above. For example, different functional modules may be divided to perform corresponding functions respectively, or two or more functions may be integrated into one processing module.
  • the present application may divide the message transmission device into a receiving unit, a determining unit, and a sending unit according to functions. Wherein, the receiving unit is configured to receive the second message sent by the first node.
  • the first node is located at the network boundary of the first network
  • the SID list of the second message includes the first SID and the second SID
  • the first SID and the second SID are obtained by the first node according to the first message received.
  • the determining unit is configured to determine a corresponding service label according to the first SID, and determine a corresponding public network label according to the second SID.
  • the service label corresponding to the first SID is the service label of the second message
  • the public network label corresponding to the second SID is used to forward the message to the third node.
  • the third node is located at a network boundary of the second network.
  • the sending unit is configured to send a third packet including the aforementioned service label and the aforementioned public network label to the third node.
  • the message transmission device includes: one or more processors and a transmission interface, the one or more processors receive or send data through the transmission interface, and the one or more processors are It is configured to invoke program instructions stored in the memory, so that the message transmission device executes any method provided in the second aspect and any possible design manner thereof.
  • the present application provides a first network, the first network supports SRv6, and the first network includes a first node and a second node.
  • the first node is located at a network boundary of the first network, and is configured to execute any method provided in any possible implementation manner in the first aspect.
  • the second node is located at a network boundary between the first network and the second network, and is configured to execute any method provided in any possible implementation manner of the second aspect, where the second network supports MPLS-LDP or SR-MPLS.
  • the present application provides a computer-readable storage medium, the computer-readable storage medium includes program instructions, and when the program instructions are run on a computer or processor, the computer or processor executes the computer or processor in the first aspect or the first aspect. Any method provided by any possible implementation in the two aspects.
  • the present application provides a computer program product, which, when running on a message transmission device, enables any method provided in any possible implementation manner in the first aspect or the second aspect to be executed implement.
  • the present application provides a chip system, including: a processor and a memory, the processor is used to call and run the computer program stored in the memory from the memory, and execute the computer program in the first aspect or in the second aspect. Either method provided by the implementation.
  • any device, computer storage medium, computer program product, or chip system provided above can be applied to the corresponding method provided above. Therefore, the beneficial effects that it can achieve can refer to the corresponding The beneficial effects in the method will not be repeated here.
  • FIG. 1 is a schematic structural diagram of message 2
  • FIG. 2 is a schematic structural diagram of a first network provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a hardware structure of a message transmission device provided in an embodiment of the present application.
  • FIG. 4 is a schematic flow diagram of mutual learning of service routes between a first node and a third node provided in an embodiment of the present application;
  • FIG. 5 is a schematic flow diagram of a first node learning a service route of a third node provided by an embodiment of the present application
  • FIG. 6 is a schematic flow diagram of a third node learning the service route of the first node provided by the embodiment of the present application.
  • FIG. 7 is a schematic flow diagram of a first node learning a public network route to a third node provided by an embodiment of the present application.
  • FIG. 8 is another schematic flow diagram of a first node learning a public network route to a third node provided by an embodiment of the present application.
  • FIG. 9 is a schematic flow diagram of a third node learning a public network route to the first node provided by an embodiment of the present application.
  • FIG. 10 is a schematic flow diagram of another third node learning a public network route to the first node provided by the embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a message transmission method provided by an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of the second message provided in the embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of the third message provided in the embodiment of the present application.
  • FIG. 14 is a schematic flowchart of another message transmission method provided by the embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of a message transmission device 150 provided in an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of a message transmission device 160 provided in an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of a chip system provided by an embodiment of the present application.
  • service data is often transmitted through service packets.
  • Different types of service messages can usually be identified by the label of the service message (hereinafter, the label of the service message is referred to as the service label for short).
  • the service type to which the service packet belongs may be, for example, a VPN service.
  • the VPN service may include L3 virtual private network (layer 3 virtual private network, L3VPN) service, L2 multipoint service (layer 2 multipoint service), or L2 point-to-point service (layer 2 point-to-point service), etc.
  • L3 virtual private network layer 3 virtual private network, L3VPN
  • L2 multipoint service layer 2 multipoint service
  • L2 point-to-point service layer 2 point-to-point service
  • the route used to transmit the service message may be referred to as the service route of the service message.
  • the service label of the service packet is generally included.
  • service packets are forwarded through service routes, they are transmitted based on public network routes.
  • public network routing is used to provide reachable paths.
  • any node configured with an IP address in the network it may also be configured with a public network label for globally identifying the node in the public network. The same node on paths in different directions has different public network labels.
  • the node can be configured with an IPv4 public network label.
  • the node can be configured with an IPv6 public network label.
  • words such as “exemplary” or “for example” are used as examples, illustrations or illustrations. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
  • the terms “first” and “second” are used for description purposes only, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, a feature defined as “first” and “second” may explicitly or implicitly include one or more of these features.
  • plural means two or more.
  • the term “and/or” refers to and encompasses any and all possible combinations of one or more of the associated listed items.
  • the term “and/or” is an association relationship describing associated objects, which means that there may be three kinds of relationships, for example, A and/or B can mean: A exists alone, A and B exist simultaneously, and B exists independently. situation.
  • the character "/" in this application generally indicates that the contextual objects are an "or” relationship.
  • the size of the serial number of each process does not mean the order of execution, the execution order of each process should be determined by its function and internal logic, and should not constitute any limited. Determining B from A does not mean determining B from A alone, B can also be determined from A and/or other information.
  • SRv6 is a segment routing technology.
  • IPv6 Internet Protocol Version 6
  • packets are typically transmitted via SRv6.
  • IPv4 Internet Protocol Version 4
  • packets are mainly transmitted through MPLS-LDP or SR-MPLS.
  • networks configured through IPv4 generally do not support SRv6 technology.
  • the network that transmits packets through SRv6 is called the first network
  • the legacy network that transmits packets through MPLS-LDP or SR-MPLS is called the second network.
  • the first network When the path of service packet transmission includes nodes in the first network and nodes in the second network, in order to ensure the successful transmission of the service packet, the first network usually transmits the service packet
  • the service label of the service message is carried between the segment routing header (segment routing header, SRH) of the service message and the three-layer message load (or called message load).
  • packet 1 needs to pass through the first network and the second network in order to reach the destination address.
  • the edge node of the first network when the edge node of the first network receives message 1, it will query the service routing table based on the destination address of message 1, and re-encapsulate the payload of message 1 based on the queried service route.
  • the structure of message 2 obtained after the packet payload of 1 is re-encapsulated is shown in FIG. 1 .
  • FIG. 1 shows a schematic structural diagram of a message 2 .
  • packet 2 includes an IPv6 packet header, SRv6SRH, and packet payload.
  • the IPv6 message header includes a start address and an end address of the message 2 transmitted in the first network.
  • the start address is equivalent to the source address of the message 2 when it is transmitted in the first network
  • the end address is equivalent to the destination address of the message 2 when it is transmitted in the first network.
  • the SRv6 SRH includes a segment identifier list (segment identifier list, SID list) of nodes through which the message 2 is transmitted in the first network.
  • the service label indicates the service label of the message 1.
  • the service route queried based on the destination address of the message 1 includes the label.
  • the packet payload includes the source address, destination address and data payload of the first packet.
  • the structure of the message 2 shown in Figure 1 only shows the main structural part of the message 2 by way of example, and does not limit the message 2 to only include the structure shown in Figure 1, for example, the message 2 is in the IPv6 message header
  • the external may also include a media access control address (Media Access Control Address, MAC), which will not be described in detail.
  • MAC Media Access Control Address
  • the message format of the service message does not conform to the standard message format of the message transmitted through SRv6.
  • the standard value-added service (value added service, VAS) in the first network cannot parse the service message according to the SRv6 standard protocol, that is, cannot provide corresponding services for the service message.
  • the VAS is, for example, a security inspection service for a firewall, a network address translation (network address translation, NAT) service, a deep packet inspection (deep packet inspection, DPI) service, and the like.
  • the current technology of jointly transmitting service packets through the first network and the second network affects the deployment of service chains in the first network.
  • the first network also needs to configure multiple table entries on the upper layer operator edge (super provider edge, SPE) node located at the network boundary between the first network and the second network based on different types of service packets Different processes are implemented, so that service packets can be successfully transmitted in the first network and the second network.
  • the different types of service packets are, for example, L3VPN service types, L2 multipoint service types, or L2 point-to-point service types.
  • the SPE will be easily overloaded, thus affecting the transmission efficiency of the SPE when transmitting service packets between the first network and the second network.
  • an embodiment of the present application provides a packet transmission method, the method is applied to the first network, and the first network can communicate with the second network.
  • the method carries the first SID corresponding to the service label of the service message in the SID list of the service message, without needing to place a link between the SID list and the message load Carry the service label of the service message.
  • the format of the service message transmitted by the first network is the standard format of the message transmitted through SRv6. Therefore, the VAS node in the first network can normally parse the message, so that the VAS node can provide value-added services for the service message.
  • different types of service packets can be transmitted through the methods provided in the embodiments of the present application.
  • the SPE node located at the network boundary between the first network and the second network does not need to configure multiple entries for different types of service messages to realize the transmission of the different types of service messages, that is, the method provided in the embodiment of this application
  • the load of the SPE node can be reduced, thereby improving the transmission efficiency of the SPE when transmitting service packets between the first network and the second network.
  • the embodiment of the present application further provides a first network, and the packet transmission method provided in the embodiment of the present application can be applied to the first network.
  • the first network may include multiple service edge (provider edge, PE) nodes, multiple provider routing (provider, P) nodes, and SPE nodes, and the PE nodes, P nodes, and SPE nodes all have routing functions.
  • the PE node and the SPE node may be a gateway node with a routing function, or a routing node such as a router or a switch
  • a P node may be a routing node (also called an intermediate node) such as a router or a switch. This is not limited.
  • the P node is located inside the first network, and is used for forwarding messages inside the first network.
  • the PE node is located at the border of the first network, and is used to forward the received message to the P node, or to receive the message from the P node and forward it to the outside of the first network.
  • the SPE node is located at the network boundary between the first network and other networks, and can be used to forward packets between the first network and the other networks.
  • the SPE node is located at a network boundary between the first network and the second network, and is used to forward packets between the first network and the second network.
  • the second network also includes the SPE node.
  • the second network may also include multiple PE nodes and multiple P nodes.
  • the difference between the first network and the second network is only that: the first network is based on IPv6 configuration, and mainly transmits packets through SRv6; the second network is configured through IPv4, and mainly transmits packets through MPLS-LDP or SR-MPLS message.
  • FIG. 2 shows a schematic structural diagram of a first network provided by an embodiment of the present application, and a schematic structural diagram of a second network communicating with the first network.
  • the first network may include four PE nodes, namely PE 11, PE 12, PE 13, and PE 14.
  • the first network also includes SPE 1 located at the boundary of the first network and the second network.
  • packets can be forwarded through P 11 and P 12.
  • the second network may include 3 PE nodes, namely PE 21, PE 22 and PE 23.
  • the second network also includes SPE 1 located at the boundary between the first network and the second network, and between PE 21 and SPE1, packets can be forwarded through P21.
  • the embodiment of the present application also provides a message transmission device.
  • the message transmission device may be any device or functional module with a routing function, and is used to implement the message transmission method provided in the embodiment of the present application.
  • the message transmission device may be PE 11 or SPE 1 in the first network shown in Figure 2, or, the message transmission device may be PE 11 or SPE 1 in the first network shown in Figure 2 A functional module, which is not limited in this embodiment of the present application.
  • FIG. 3 shows a schematic diagram of a hardware structure of a message transmission device provided by an embodiment of the present application.
  • the message transmission device 30 includes a processor 31 , a memory 32 , a network interface 33 and a bus 34 .
  • the processor 31 , the memory 32 and the network interface 33 are connected through a bus 34 .
  • the processor 31 is the control center of the message transmission device 30, and may be a general-purpose central processing unit (central processing unit, CPU), and the processor 31 may also be other general-purpose processors, digital signal processing (digital signal processing, DSP) , application-specific integrated circuit (ASIC), field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, graphics processors ( graphics processing unit (GPU), neural network processing unit (neural processing unit, NPU), tensor processing unit (tensor processing unit, TPU) or artificial intelligence (artificial intelligent) chip, data processor (data processing unit, DPU), etc. .
  • processor 31 may include one or more CPUs, such as CPU 0 and CPU 1 shown in FIG. 3 .
  • the present application does not limit the number of processor cores in each processor.
  • the memory 32 is used to store program instructions or data to be accessed by the application process, and the processor 31 can execute the program instructions in the memory 32 to implement the message transmission method provided in the embodiment of the present application.
  • Memory 32 includes volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory.
  • the volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable In addition to programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • non-volatile memory may be storage class memory (storage class memory, SCM), solid state drive (solid state drive, SSD), mechanical hard disk (hard disk drive, HDD), etc.
  • the storage class memory may be, for example, non-volatile memory (non-volatile memory, NVM), phase-change memory (phase-change memory, PCM), persistent memory, and the like.
  • the memory 32 exists independently of the processor 31 .
  • the memory 32 is connected to the processor 31 through the bus 34 and is used for storing data, instructions or program codes.
  • the processor 31 invokes and executes the instructions or program codes stored in the memory 32, the message transmission method provided by the embodiment of the present application can be implemented.
  • the memory 32 and the processor 31 are integrated together.
  • the network interface 33 is used to connect the message transmission device 30 with other nodes (such as other routing nodes, etc.) through a communication network, and the communication network can be Ethernet, radio access network (radio access network, RAN), wireless local area network ( wireless local area networks, WLAN), etc.
  • the network interface 33 includes a receiving unit for receiving data/messages, and a sending unit for sending data/messages.
  • the bus 34 can be an industry standard architecture (industry standard architecture, ISA) bus, a peripheral component interconnect (PCI) bus, a high-speed serial computer expansion bus (peripheral component interconnect express, PCIe), a computing fast link (compute express link, CXL) or extended industry standard architecture (extended industry standard architecture, EISA) bus, etc.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 3 , but it does not mean that there is only one bus or one type of bus.
  • the structure shown in FIG. 3 does not constitute a limitation to the message transmission device 30. Except for the components shown in FIG. 3, the message transmission device 30 includes more or less than those shown in FIG. components, or combinations of certain components, or different arrangements of components.
  • the packet transmission method provided in the embodiment of the present application can be applied to the first network shown in FIG. 2 , and specifically realizes the transmission of service packets in the first network and the second network in a standard encapsulation format. More specifically, before the service packet transmission in this embodiment of the application, the PE nodes in the first network need to learn the service routes of the PE nodes in the second network, and the PE nodes in the second network need the service routes of the PE nodes in the first network. routing. In this way, after receiving the service message, the PE node of the first network can re-encapsulate and forward the message based on the learned service route.
  • both the PE nodes and the SPE nodes in the first network are configured with IPv4, that is, both the PE nodes and the SPE nodes in the first network are configured with IPv4 addresses and IPv4 public network labels.
  • IPv4 address may eg be the loopback address of the node.
  • FIG. 4 shows a schematic flowchart of a message transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the third node sends the first service route to the first node.
  • the first service route is a route in the service table of the third node.
  • the third node may send the first service route to the first node through a BGP message based on a border gateway protocol (border gateway protocol, BGP) neighbor relationship with the first node.
  • BGP border gateway protocol
  • the transmission channel used to carry the BGP message of the first service route may be, for example, as shown in FIG. 4 Third node ⁇ P21 ⁇ second node ⁇ P12 ⁇ P11 ⁇ first node.
  • the BGP neighbor relationship between the third node and the first node is established based on the public network route from the first node to the third node and the public network route from the third node to the first node.
  • the detailed description of the first node learning the public network route to the third node can refer to the relevant description in Figure 7 or Figure 8 below, and the detailed description of the third node learning the public network route to the first node can refer to the following figure 9 or FIG. 10, the relevant description will not be repeated here.
  • the IPv4 address of the third node is 3.3.3.3
  • the service route 1 included in the service routing table of the third node is shown in Table 1.
  • Service route 1 is a service route to the destination address (destination address) 10.1.1.2, and the next-hop node to the destination address 10.1.1.2 is the third node, and the service label of the service packet transmitted through service route 1 It is 40002. Then the third node may send the service route 1 to the first node through the BGP neighbor relationship with the first node.
  • the first node receives the first service route, and generates the first route according to the first service route.
  • the first node receives the first service route sent by the third node.
  • the first node may allocate a first SID to the service label in the first service route, and replace the service label in the first service route with the first SID, so as to generate the first route.
  • the first SID uniquely corresponds to the service label in the first service route, and the first route is also a service route to the destination address in the first service route.
  • the first node may add a first preset prefix to the service label in the first service route based on the first preset policy, so as to obtain the first SID uniquely corresponding to the service label.
  • the next hop in the first service route is a node in the second network (that is, the third node)
  • it is located at the network boundary between the first network and the second network, and is used to communicate between the first network and the second network.
  • a second preset policy corresponding to the first preset policy is preset in the second nodes that forward packets between the second networks.
  • the second preset policy is used to instruct the second node to remove the first preset prefix of the SID in the SID list of the received message to be forwarded, so as to obtain the corresponding service label.
  • the first preset prefix may be "FFFE::” or "FFFF::”.
  • F and E can take arbitrary hexadecimal numbers.
  • F takes a value of 15
  • the first preset prefix is "FFFF::”
  • the first preset prefix is "15151515::”.
  • the first SID is "15151515::service label in the first service route”.
  • the first service route received by the first node is service route 1 as shown in Table 1
  • the first preset prefix is "FFFE::”
  • the first SID is "FFFE::40002" .
  • the first route generated by the first node is as shown in Table 2:
  • the first node may also allocate any SID to the service label in the first service route, and use the arbitrary SID as the first SID uniquely corresponding to the service label in the first service route.
  • the arbitrary SID may be any SID that does not include the service label in the first service route.
  • the first node assigns the first SID to the service label in the first service route, it sends the first SID and the service label to the network boundary between the first network and the second network, and is used in The second node that forwards the message between the first network and the second network, so that the second node records the first correspondence between the first SID and the service label.
  • the first correspondence is used to instruct the second node to determine a uniquely corresponding service label for the SID in the received message SID list to be forwarded.
  • the first node may obtain the first service routing entry based on the first route, where the first routing entry is an entry in the service routing table.
  • the first service routing table entry may also include information such as the port number when the first node forwards the message through the first route, which will not be described again. In this way, the first node has learned the service route of the third node.
  • the first node sends the second service route to the third node.
  • the second service route is a standard service route.
  • the detailed description of the first node sending the second service route to the third node may refer to the description of the first service route sent by the third node to the first node in S101 , which will not be repeated here.
  • the transmission channel used to carry the BGP message of the second service route may be, for example, as shown in FIG. 4 First node ⁇ P11 ⁇ P12 ⁇ second node ⁇ P21 ⁇ third node.
  • the third node receives the second service route.
  • the third node receives the second service route sent by the first node.
  • the first node obtains an entry in the service route table based on the second service route.
  • the IPv4 address of the first node is 1.1.1.1
  • the service routing table of the first node includes service route 2 as shown in Table 3.
  • Service route 2 is a service route to the destination address 10.1.1.1
  • the next-hop node to the destination address 10.1.1.1 is the first node
  • the service label of the service packet transmitted through service route 2 is 40001.
  • the first node may send the service route 2 to the third node through the BGP neighbor relationship with the third node.
  • the third node receives the service route 2, and obtains the second service route entry based on the service route 2, that is, obtains the second service route entry in the service route table.
  • the second service routing table entry may also include information such as the port number when the third node forwards the message through the second service route, which will not be described again. In this way, the third node has learned the service route of the first node.
  • the embodiment of the present application does not limit the execution order of S101-S102 and S103-S104.
  • S101-S102 may be executed first, and then S103-S104 may be executed.
  • S103-S104 may be executed first, and then S101-S102 may be executed.
  • S101-S102 and S103-S104 may be executed simultaneously.
  • the first node learns the service route of the third node based on S101-S102, it needs to translate the service label, that is, assign a unique corresponding first SID to the service label in the service route of the third node.
  • FIG. 5 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the third node sends the first service route to the route reflector.
  • the route reflector is used to forward the learned routes between the PEs of the first network and the PEs of the second network.
  • the route reflector may forward the service route learned from the third node in the second network to the first node in the first network.
  • the route reflector may forward the service route learned from the first node in the first network to the third node in the second network.
  • the route reflector implements route transmission between the PEs of the first network and the PEs of the second network.
  • the PEs in the first network and the PEs in the second network do not need to establish a BGP neighbor relationship to transmit routes, thereby saving BGP connections between PEs in the first network and the second network.
  • the route reflector may communicate with the PEs in the first network and communicate with the PEs in the second network respectively. In this way, based on the communication between the third node and the route reflector in the second network, the third node sends the first service route to the route reflector, for example, sends service route 1 shown in Table 1 to the route reflector.
  • the route reflector receives the first service route, and generates the first route according to the first service route.
  • the route reflector receives a first service route.
  • the route reflector After receiving the first service route, the route reflector generates the first route according to the first service route.
  • the route reflector After receiving the first service route, the route reflector generates the first route according to the first service route.
  • the route reflector is used to forward the learned routes between the PEs of the first network supporting SRv6 and the PEs of the second network as legacy networks.
  • the route reflector When receiving the service route from the PE in the second network, first generate a route including the SID uniquely corresponding to the service label in the service route according to the service route, and then send the generated route to the PE in the first network.
  • the route reflector sends the first route to the first node.
  • the route reflector will send the generated first route to the first node.
  • the first node receives the first route.
  • the first node receives the first route sent by the route reflector. After receiving the first route, the first node obtains a service routing table based on the first route. So far, the first node has learned the service route of the third node.
  • the first node learns the service route of the third node based on the method described in S101-S102, between the first node and the third node No need to establish a BGP connection.
  • the first node does not need to execute the algorithm for generating the first route based on the first service route. That is to say, the method described in S201-S204 saves communication resources and computing resources of the first node.
  • the third node can learn the service route of the first node through the method shown in FIG. 6 .
  • FIG. 6 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the first node sends the second service route to the route reflector.
  • the first node may send the second service route to the route reflector based on the communication between the first node and the route reflector, for example, send service route 2 as described in Table 3.
  • route reflector and the second service route reference may be made to the above description, and details are not repeated here.
  • the route reflector receives the second service route, and forwards the second service route to the third node.
  • the route reflector receives the second service route, and based on the communication with the third node, directly sends the received second service route to the third node.
  • the third node receives the second service route.
  • the third node receives the second service route forwarded by the route reflector. After receiving the second service route, the third node obtains an entry in the service route table based on the second service route. So far, the third node has learned the service route of the first node. Compared with the third node learning the service route of the first node based on the method described in S103-S104, when the third node learns the service route of the first node based on the method described in S301-S303, between the third node and the first node No need to establish a BGP connection. That is to say, the method described in S301-S303 saves the communication resource of the third node.
  • the first node learns the service route of the third node based on S101-S102 or S201-204, it needs to translate the service label, that is, assign a uniquely corresponding first SID to the service label in the service route of the third node.
  • the above is the description of mutual learning of service routes between the PEs of the first network and the PEs of the second network in the embodiment of the present application.
  • the following describes the learning of the public network route to the third node by the first node.
  • the method shown in FIG. 7 can be used to enable the first node to learn the public network route to the third node.
  • the second network supports MPLS-LDP.
  • FIG. 7 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the third node publishes its own public network route, so that the second node learns the public network route to the third node.
  • the third node is located in the second network configured with IPv4, therefore, the public network route released by the third node is the IPv4 public network route, and the public network label of any node in the second network is the IPv4 public network label.
  • the public network route in the embodiment of the present application refers to the IPv4 public network route by default
  • the public network label refers to the IPv4 public network label by default.
  • the third node may publish its own public network route based on an interior gateway protocol (interior gateway protocol, IGP) or a label distribution protocol (Label Distribution Protocol, LDP).
  • IGP interior gateway protocol
  • LDP Label Distribution Protocol
  • the public network route to the third node learned by the second node includes: the third node IPv4 address (i.e. the destination address), the P21 IPv4 address (i.e. the next hop address to the destination address), the public network label of the P21 ( That is, the public network label of the next-hop node to the destination address).
  • the third node publishes Its own public network route is: destination address 3.3.3.3, next hop address 3.3.3.3, public network label 41003.
  • P21 as a neighbor node of the third node, can receive its own public network route published by the third node.
  • P21 modifies the next hop address in the public network route to its own address, and modifies the public network label in the public network route to its own public network label, and then P21 publishes the Public network route to the third node: destination address 3.3.3.3, next hop address 4.4.4.4, public network label 41004.
  • the second node as a neighbor node of P21 can receive the public network route to the third node announced by P21, that is, the second node has learned the public network route to the third node.
  • the second node generates a second route according to the learned public network route to the third node.
  • the second node assigns a uniquely corresponding second SID to the destination address (that is, the IPv4 address of the third node) in the learned public network route to the third node, and sends the learned route to the third node Change the next-hop address in the public network route to its own IPv6 address to generate a second route.
  • the second route includes the IPv4 address of the third node, the second SID and the IPv6 address of the second node (that is, the next-hop address).
  • the second route is the public network route to the third node to be advertised by the second node.
  • the second node may add a second preset prefix to the destination address (that is, the third node) in the public network route learned to the third node based on the third preset strategy, so as to obtain the same destination address The only corresponding second SID.
  • the second preset prefix may be "FFFE::” or "FFFF::”.
  • F and E can take arbitrary hexadecimal numbers. Exemplarily, if F takes a value of 0, and the second preset prefix is "FFFF::”, then the second preset prefix is "0000::”. Further, the second SID is "0000::IPv4 address of the third node”.
  • the second preset prefix is different from the first preset prefix described above, so as to distinguish whether the SID including the preset prefix corresponds to the first SID corresponding to the service label, or corresponds to the IPv4 address of the third node the second SID.
  • the second default prefix is "FFFE::”
  • the first default prefix is "FFFF::”.
  • the second preset prefix is "FFFF::”
  • the first preset prefix is "FFFE::”.
  • the public network route to the third node learned by the second node is destination address 3.3.3.3, next hop address 5.5.5.5, public network label 41003, and the second preset prefix is "FFFF::” , and the value of F is 0, then the second SID is "0000::3.3.3.3". If the IPv6 address of the second node is 0000::2.2.2.2, the second route generated by the second node is: destination address 3.3.3.3, 0000::3.3.3.3, 0000:2.2.2.2.
  • the second node can also assign any SID to the destination address (that is, the third IPv4 address) in the learned public network route to the third node, and use the arbitrary SID as the unique corresponding to the destination address.
  • the second SID may be any SID that does not include the destination address.
  • the second node records the learned destination address in the public network route to the third node and the second corresponding relationship between the second SID uniquely corresponding to the destination address. In this way, the second node can determine the destination address uniquely corresponding to the SID based on the SID in the SID list of the received message to be forwarded and the pre-recorded second correspondence.
  • the second node when the second node determines the unique corresponding destination address based on the SID in the SID list of the received message to be forwarded, it can also query the destination address learned by the second node to the third node based on the destination address. , and further determine the public network label in the public network route (that is, the public network label of the next hop P21 to the third node).
  • the second node sends the second route to the first node.
  • Both the second node and the first node are located in the first network configured with IPv6, therefore, an IPv6 tunnel from the second node to the first node may be pre-established between the second node and the first node.
  • the second node can send the second route to the first node based on the IPv6 tunnel from the second node to the first node.
  • the second node can establish an IPv6 tunnel from the second node to the first node by configuring the source address and the destination address in advance.
  • the IPv6 address of the second node is 0000::2.2.2.2 and the IPv6 address of the first node is 0000::1.1.1.1
  • you can pre- The second node is configured with a source address of 0000::2.2.2.2 and a destination address of 0000::1.1.1.1. In this way, the IPv6 tunnel from the second node to the first node is established.
  • the second node transmits the public network route to the third node through the IPv6 tunnel from the second node to the first node. For P11 and P12 located between the second node and the first node, only the message for carrying the public network route can be forwarded.
  • the IPv6 tunnel from the second node to the first node can also be used to transmit service packets.
  • the first node receives the second route.
  • the first node receives the second route. After receiving the second route, the first node obtains an entry in the public network routing table based on the second route. In this way, the first node learns the public network route to the third node.
  • FIG. 8 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the third node publishes its own public network route, so that the second node learns the public network route to the third node.
  • the second node publishes the public network route to the third node, so that the controller of the first network learns the public network route to the third node.
  • the public network route to the third node published by the second node is a route obtained by modifying the next-hop address in the public network route to the third node learned by the second node to its own IPv6 address .
  • the second node modifies the next hop address of the public network route to 0000::2.2.2.2, thereby obtaining the public network route to the third node for publishing: destination address 3.3.3.3, next hop address 0000 ::2.2.2.2, public network label 41004.
  • the controller of the first network can learn the public network route.
  • the controller of the first network can plan a packet forwarding path with high transmission efficiency between PEs of the first network based on a global perspective, and can send the planned packet forwarding path to related PEs, so that related The PE transmits packets based on the packet forwarding path.
  • the controller may plan between the first node and the second node a first path from the first node to the second node via the least number of nodes, or the controller may plan between the first node and the second node The first path with the least traffic transmission volume from the first node to the second node.
  • the controller sends the first path to the first node, the first node can forward the message to the second node based on the first path, thereby improving the transmission efficiency of the message.
  • the controller can plan a second path from the second node to the first node via the least number of nodes between the first node and the second node, or the controller can be between the first node and the second node A second path with the least amount of service transmission from the second node to the first node is planned.
  • the controller sends the second path to the second node, the second node can forward the message to the first node based on the second path, thereby improving the transmission efficiency of the message.
  • the controller of the first network can communicate with the PEs of the first network.
  • the controller of the first network generates a second route according to the public network route destined for the third node received from the second node.
  • the controller of the first network assigns a uniquely corresponding second SID to the destination address in the public network route to the third node received from the second node (ie, the IPv4 address of the third node), so as to generate the second route.
  • the controller of the first network assigns a uniquely corresponding second SID to the destination address received from the second node in the public network route to the third node, you can refer to the above S402 where the second node is The description of assigning the second SID to the destination address in the public network route to the third node will not be repeated here.
  • the controller of the first network assigns a uniquely corresponding second SID to the destination address in the public network route to the third node received from the second node
  • the second SID and the unique The corresponding destination address is sent to the second node, so that the second node records the second corresponding relationship.
  • the controller of the first network can not only plan a packet forwarding path with high transmission efficiency between PEs, but also can transfer packets to PEs in the second network based on the public information learned from the PEs.
  • the controller of the first network sends the second route to the first node.
  • the controller of the first network may send the second route to the first node based on the communication with the first node.
  • the controller of the first network may also send information about the first path to the first node, and send information about the second path to the second node.
  • the controller of the first network may also send information about the first path to the first node, and send information about the second path to the second node.
  • the first node receives the second route.
  • the first node receives the second route. After receiving the second route, the first node obtains an entry in the routing table of the IPv4 public network based on the second route. In this way, the first node learns the public network route to the third node.
  • the second node of the first network does not need to execute
  • the algorithm for assigning the second SID to the destination address in the public network route is executed by the controller of the first network. In this way, computing resources of the second node can be saved.
  • the method shown in FIG. 9 may be used to enable the third node to learn the public network route to the first node.
  • the second network supports MPLS-LDP.
  • FIG. 9 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the first node sends its own public network route to the second node.
  • the public network route advertised by the first node is an IPv4 public network route. Only in this way can the packet be transmitted through the first network configured with IPv6 and through the second network configured with IPv4, that is, technical backward compatibility can be realized.
  • the first node is configured with IPv4, that is, the first node on the first network is configured with an IPv4 address. Therefore, the public network route of the first node is: the destination address is the IPv4 address of the first node, the IPv6 address of the first node, and the IPv6 address of the next hop (ie, the first node).
  • IPv4 address of the first node is 1.1.1.1
  • IPv6 address of the first node is
  • the public network route of the first node is: the destination address 1.1.1.1, the IPv6 address of the destination address 0000::1.1.1.1.1, and the next hop address 0000::1.1.1.1. 1.
  • An IPv6 tunnel from the first node to the second node may be pre-established between the first node and the second node. In this way, the first node can send its own public network route to the second node based on the IPv6 tunnel from the first node to the second node.
  • the first node may establish an IPv6 tunnel by configuring the source address and the destination address in advance.
  • the IPv6 address of the first node is 0000::1.1.1.1
  • the IPv6 address of the second node is 0000::2.2.2.2
  • the The first node is configured with a source address of 0000::1.1.1.1 and a destination address of 0000::2.2.2.2. In this way, the IPv6 tunnel from the first node to the second node is established.
  • the first node transmits the public network route of the first node through the IPv6 tunnel from the first node to the second node, for P11 and P12 located between the first node and the second node, only for carrying the public network route Routed packets can be forwarded.
  • the IPv6 tunnel from the first node to the second node can also be used to transmit service packets.
  • the second node generates and publishes a public network route to the first node according to the received public network route of the first node.
  • the second node After receiving the public network route of the first node, the second node distributes the public network label for the first node, and establishes the public network label and the IPv6 address of the first node (in the public network route of the first node received by the second node Including the third correspondence between the IPv6 addresses of the first nodes).
  • the second node determines that the public network label in the received message is the public network label assigned by the second node to the first node
  • the second node can further base on the public network label of the first node and the third corresponding relationship to determine the IPv6 address of the first node.
  • the public network label allocated by the second node to the first node is an IPv4 public network label.
  • the second node also modifies the next-hop address in the received public network route of the first node to its own IPv4 address, and adds the public network label assigned by the second node to the first node in the route, thereby obtaining The public network route of the first node.
  • the second node may advertise the public network route to the first node.
  • the second node on the second network may advertise the public network route to the first node based on IGP or LDP.
  • the public network route of the first node received by the second node is: the destination address 1.1.1.1, the IPv6 address of the destination address
  • the next hop address is 0000::1.1.1.1.1. If the IPv4 address of the second node is 2.2.2.2, and the IPv4 public network label assigned by the second node to the first node is 41001, then the public network route to the first node published by the second node is: destination address 1.1.1.1 , the next hop address is 2.2.2.2, and the IPv4 public network label is 41001.
  • the third node learns the public network route to the first node from the second node.
  • the third node may learn the public network route to the first node advertised by the second node.
  • the public network route to the first node advertised by the second node is: destination address 1.1.1.1, next hop address 2.2.2.2, IPv4 public network label 41001.
  • the IPv4 address of P21 which is a neighbor node of the second node, is 4.4.4.4, and the public network label is 41004.
  • P21 can receive the public network route to the first node advertised by the second node. After P21 receives the public network route to the first node published by the second node, it modifies the next-hop address in the public network route to its own IPv4 address, and modifies the public network label in the IPv4 route to own public label.
  • P21 publishes the public network route to the first node: the destination address is 1.1.1.1, the next hop address is 4.4.4.4, and the public network label is 41004.
  • the third node which is a neighbor node of P21, can receive the public network route to the first node published by P21, and thus, the third node has learned the public network route to the first node.
  • the third node may obtain an entry in the public network routing table based on the learned public network route to the first node.
  • the third node can learn the public network route to the first node through the method shown in FIG. 10 .
  • the second network supports SR-MPLS.
  • FIG. 10 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application. The method may include the following steps.
  • the first node sends its own public network route to the second node.
  • the second node generates and publishes a public network route to the first node according to the received public network route of the first node.
  • the controller of the second network receives the public network route to the first node advertised by the second node.
  • the controller of the second network communicating with the second node may receive the route to the IPv4 public network published by the second node.
  • the controller of the second network can plan a packet forwarding path with high transmission efficiency between the PEs of the second network from a global perspective, and can send the planned packet forwarding path to the relevant PE, so that the relevant PE is based on the
  • the message forwarding path transmits the message.
  • the controller may plan between the third node and the second node a third path from the third node to the second node via the least number of nodes, or the controller may plan between the third node and the second node A third path with the least traffic transmission volume from the third node to the second node.
  • the controller sends the third path to the third node, the third node can forward the message to the second node based on the third path, thereby improving the transmission efficiency of the message.
  • the controller can plan a fourth path from the second node to the third node via the least number of nodes between the third node and the second node, or the controller can be between the third node and the second node A fourth path with the least amount of service transmission from the second node to the third node is planned.
  • the controller sends the fourth path to the second node
  • the second node can forward the message to the third node based on the fourth path, thereby improving the transmission efficiency of the message.
  • the controller of the second network sends the received public network route to the first node to the third node.
  • the controller of the second network may also send the information of the third path to the third node, and send the information of the fourth path to the second node.
  • the description of the third path and the fourth path can refer to the above, and details are not repeated here.
  • the controller of the second network also sends the planned fourth path to the fourth node, which will not be repeated here.
  • the third node receives the public network route destined for the first node.
  • the third node receives a public network route to the first node. After receiving the public network route to the first node, the third node obtains an entry in the public network routing table based on the public network route. So far, the first node can learn the public network route to the third node through the method shown in Figure 7 or Figure 8, and the third node can learn the IPv4 route to the first node through the method shown in Figure 9 or Figure 10.
  • Public network routing That is to say, through the method shown in Figure 7 or Figure 8, and Figure 9 or Figure 10, the PE (such as the first node) in the first network supporting SRv6 and the second network supporting MPLS-LDP/SR-MPLS are connected.
  • a message transmission channel between PEs for example, a third node. In this way, based on the message transmission channel between the first node and the third node, the first node can forward the service message to the third node, and the third node can also forward the service message to the first node.
  • a BGP neighbor relationship may also be established between the first node and the third node based on the opened packet transmission channel.
  • the first node can learn the service route of the third node through the BGP neighbor relationship
  • the third node can also learn the service route of the first node through the BGP neighbor relationship.
  • the first node and the third node may implement the packet transmission method described in FIG. 1 based on the established BGP neighbor relationship.
  • the service message here can be a service message of the L3 service type, or a service message of the L2 multipoint service type, or a service message of the L2 point-to-point service type. Not limited.
  • FIG. 11 shows a schematic flowchart of a message transmission method provided by an embodiment of the present application.
  • the method can be applied to the first network described above, and the second network connected to the first network.
  • the nodes in the first network for example, the first node and the second node
  • the nodes in the second network for example, the third node
  • the method may include the following steps.
  • the first node receives a first packet.
  • the first packet is a service packet from outside the first network.
  • the first message in the embodiment of the present application may be a message for carrying service data, or may be a control message, which is not limited in the embodiment of the present application.
  • the first message may be a service message of the L3 service type, or a service message of the L2 multipoint service type, or a service message of the L2 point-to-point service type, and this embodiment of the application does not make any limited.
  • the first node determines the first SID according to the first packet.
  • the first node may determine a route to the destination address according to the destination address of the first packet, and determine the SID in the route as the first SID. Specifically, the first node may query the service routing table of the first node according to the destination address of the first packet to determine the route to the destination address, and determine the SID in the route as used to indicate the first packet The SID of the service label. As an example, assuming that the destination address in the first packet is 10.1.1.2, the first node queries the service routing table of the first node based on 10.1.1.2, so as to determine that the service route 1 shown in Table 2 is used to forward the first The routing of the message. In this way, the first node determines the SID in the service route 1 as the SID used to indicate the service label of the first packet.
  • the first route is the route to the destination address of the first packet. That is to say, the destination address of the first route is the destination address of the first packet.
  • the next hop address of the first route is the IPv4 address of the third node, and the first route also includes the first SID uniquely corresponding to the service label of the service message transmitted through the first route.
  • the first SID in the first route is used to indicate the service label of the first message.
  • the first node generates a second packet according to the first packet and the first SID.
  • the first node may query the public network routing table based on the next-hop address in the first route (ie, the IPv4 address of the third node), so as to determine the second route indicating to the third node.
  • the second route is a public network route to the third node
  • the second route includes the IPv4 address of the third node (ie, the destination address), and the second SID uniquely corresponding to the IPv4 address of the third node, And the IPv6 address (that is, the next hop address) of the second node.
  • the first node can generate the second packet based on the first route and the second route.
  • the packet payload of the second packet is the same as the packet payload of the first packet.
  • the first node After the first node determines the next hop address to the third node (that is, the next hop in the first route) according to the second route, it can generate the second node based on the next hop address to the third node. IPv6 packet header of the packet.
  • the destination address in the IPv6 message header of the second message is the next hop address (i.e. the IPv6 address of the second node) to the third node, and the source address in the IPv6 message header of the second message is IPv6 address of the first node.
  • the first node may generate the second SID according to the first SID in the first route and the second SID in the second route uniquely corresponding to the next hop address of the first route (ie, the IPv4 address of the third node).
  • the SID list of the packet includes the first SID and the second SID.
  • the SID list in the second message is used to determine the MPLS message header when the message payload of the second message is transmitted in the second network.
  • the first route is service route 1 shown in Table 2 above: destination address 10.1.1.2, next hop address 3.3.3.3 (IPv4 address of the third node), first SID FFFE::40002.
  • the second route determined by the first node according to the next hop address 3.3.3.3 of the first route is: the destination address 3.3.3.3 (the IPv4 address of the third node), the IPv6 address 0000::3.3.3.3 of the destination address (the second SID), the IPv6 address 0000::2.2.2.2 of the next hop node (that is, the second node).
  • the IPv6 packet header of the second packet can be generated: source address 0000::1.1.1.1, destination address 0000::2.2.2.2.
  • the first node can uniquely correspond to the second SID 0000::3.3 in the second route according to the first SID FFFE::40002 of the service label in the first route and the next-hop IPv4 address 3.3.3.3 of the first route. 3.3.
  • FIG. 12 shows a schematic structural diagram of the second packet in the embodiment of the present application.
  • the second packet is the standard packet transmission format of the current SRv6.
  • the first node sends the second packet to the second node.
  • the first node may send the second packet to the second node through the IPv6 tunnel from the first node to the second node.
  • an IPv6 tunnel from the first node to the second node may be pre-established between the first node and the second node.
  • the path of the IPv6 tunnel between the first node and the second node may be, for example, the first path planned by the controller in the first network as described above, and will not be repeated here.
  • the second node receives the second packet, and generates a third packet according to the second packet.
  • the second node receives the second packet.
  • the second node may generate a third message according to the second message.
  • the packet payload of the second packet is the same as the packet payload of the third packet.
  • the second node can first determine the service label of the second message and the public network label used to forward the message to the next-hop node of the destination address in the message load of the second message according to the SID list of the second message .
  • the second node generates a third message according to the service label, the public network label, and the second message.
  • the second node determines, according to the SID list of the second message, that the service label and the public network label are the MPLS message header of the third message.
  • the second preset policy mentioned above is preset in the second node.
  • the second node can remove the first preset prefix of the first SID in the second message SID list based on the indication of the second preset policy, so as to obtain the service label uniquely corresponding to the first SID.
  • the service label is the service label of the first/second/third message.
  • the second node determines The SID "FFFE::40002" is the first SID, and the first preset prefix of the first SID can be removed to obtain the service label uniquely corresponding to the first SID: 40002.
  • the first correspondence described in S102 above is preset in the second node.
  • the second node can determine a uniquely corresponding service label for the first SID in the received second message SID list according to the indication of the first correspondence.
  • the second node determines the SID "FFFE::40002 " is the first SID, and 40002 can be determined as the service label uniquely corresponding to the first SID.
  • the second node may also determine the IPv4 address of the third node uniquely corresponding to the second SID according to the second SID in the SID list of the second message. Further, the second node determines a public network label for forwarding the packet to the third node according to the determined IPv4 address of the third node.
  • the third preset policy mentioned above is preset in the second node.
  • the second node can determine the second SID in the second packet SID list based on the second preset prefix indicated by the third preset policy. Then, the second node removes the second preset prefix of the second SID, that is, obtains the IPv4 address of the third node uniquely corresponding to the second SID. In this way, the second node can determine the public network route to the third node learned by the second node in advance according to the determined IPv4 address of the third node. In this way, the second node can determine the public network label in the public network route as the public network label for forwarding the packet to the third node.
  • the second node will 0000::3.3.3.3 is determined as the second SID, and the second preset prefix in the second SID is removed, so as to obtain the IPv4 address 3.3.3.3 of the third node uniquely corresponding to the second SID. Further, the second node determines a public network route to the determined IPv4 address 3.3.3.3: the destination address 3.3.3.3, the next hop address 4.4.4.4, and the public network label 41004. In this way, the second node can determine the public network label in the public network route as the public network label for forwarding the message to the third node.
  • the second node may also determine the IPv4 address of the third node uniquely corresponding to the second SID in the SID list of the second packet according to the second correspondence described in S402 above. In this way, the second node can determine the public network route to the third node learned by the second node in advance according to the determined IPv4 address of the third node. In this way, the second node can determine the public network label in the public network route as the public network label for forwarding the packet to the third node.
  • the SID list of the second message is: FFFE::40002, 0000::3.3.3.3
  • the second correspondence is: the IPv4 address corresponding to the IPv6 address 0000::3.3.3.3 is 3.3.3.3
  • the second node determines 0000::3.3.3.3 as the second SID, and determines 3.3.3.3 as the IPv4 address of the third node that has a unique correspondence with the second SID.
  • the second node determines a public network route to the determined IPv4 address 3.3.3.3: the destination address 3.3.3.3, the next hop address 4.4.4.4, and the public network label 41004. In this way, the second node can determine the public network label in the public network route as the public network label for forwarding the message to the third node.
  • the second node can generate the third message based on the determined service label, public network label, and message load of the second message.
  • FIG. 13 shows a schematic structural diagram of the third message in the embodiment of the present application.
  • the third packet is a standard packet transmission format of the current MPLS.
  • the second node sends a third packet to the third node.
  • the second node can send the third message to the third node through MPLS-LDP or SR-MPLS, and the specific process of the second node sending the third message to the third node through MPLS-LDP or SR-MPLS, the embodiment of this application This will not be detailed.
  • the third node determines a next-hop address according to the service label in the received third message, and sends a service message including a message payload of the third message to the next-hop address.
  • the third node receives the third packet. After receiving the third message, the third node determines the next-hop address according to the service label in the third message and the destination address in the message payload of the third message. Next, the third node sends a service message including the message payload of the third message to the next-hop address.
  • the smooth transmission when the destination address of the first message needs to go through the first network and the second network is realized.
  • the format of the second packet carrying the packet payload is a standard format, that is, the VAS node in the first network can The text can be parsed normally, so that value-added services can be provided for it.
  • FIG. 14 shows a schematic flowchart of another packet transmission method provided by an embodiment of the present application.
  • the method can be applied to the first network described above, and the second network connected to the first network.
  • the nodes in the first network for example, the first node and the second node
  • the nodes in the second network for example, the third node
  • the method may include the following steps.
  • the third node receives the service packet.
  • the service packets received by the third node are from service packets outside the second network.
  • the service message here may be a message for carrying service data, or may be a control message, which is not limited in this embodiment of the present application.
  • the service message received by the third node may be a service message of the L3 service type, or a service message of the L2 multipoint service type, or a service message of the L2 point-to-point service type. The embodiment does not limit this.
  • the third node generates a fourth message according to the received service message.
  • the third node may determine a route to the destination address of the received service message according to the destination address, and generate a fourth message based on the route. Specifically, the third node may query the service routing table of the third node according to the destination address of the received service message, so as to determine the route to the destination address. Then, the third node generates a fourth message based on the route. As an example, assuming that the destination address in the received service message of the third node is 10.1.1.1, the third node queries the service routing table of the third node based on the destination address, thereby determining the service route 2 shown in Table 3 It is the route used to forward the service packet. In this way, the third node generates the fourth message according to the service route 2 and the message load of the received service message.
  • the destination address of the service packet received by the third node is the destination address in the above-mentioned second service route.
  • the route to the destination address is the above-mentioned second service route.
  • the third node may generate the fourth message based on the second service route and the message load of the service message.
  • the third node may first determine the service label in the second service route as the service label of the fourth message, and determine the public network label for forwarding the fourth message according to the next-hop address in the second service route.
  • the specific process for the third node to determine the public network label for forwarding the fourth message according to the next-hop address in the second service route may include: the third node queries the public network label according to the next-hop address in the second service route The network routing table determines the public network route to the next hop address. Then, the third node may determine the public network label in the public network route as the public network label for forwarding the fourth packet.
  • the third node can Determine the service label 40001 in service route 2 as the service label of the fourth packet. And, the third node queries the public network routing table according to the next hop address 1.1.1.1 in the service route 2, and determines that the public network route to the next hop address 1.1.1.1 is: destination address 1.1.1.1 (the first node IPv4 address), the next hop (P21) address is 4.4.4.4, and the public network label is 41004 (the public network label of P21). In this case, the third node determines the IPv4 public network label 41004 in the public network route as the public network label for forwarding the fourth packet.
  • the third node generates the fourth message based on the determined service label, the public network label, and the load of the received service message.
  • the service label and the public network label determined by the third node are used as the MPLS packet header of the fourth packet.
  • the public network label 41004 and the service label 40001 determined in the above example in the MPLS packet header of the fourth packet are used as the MPLS packet header of the fourth packet.
  • the third node sends a fourth packet to the second node.
  • the third node may transmit the fourth packet on the second network by using the public network label in the fourth packet, so as to send the fourth packet to the second node.
  • the third node may send the fourth packet to P21.
  • P21 can determine that the public network label corresponding to P21's public network label 41004 is the public network label 41001 allocated by the second node to the first node by querying the routing table (the routing table of P21 includes the third node through P21 Routing information when learning public network routes of PEs (for example, the first node) in other networks). Therefore, P21 may replace the public network label in the fourth packet with the public network label 41001 allocated by the second node to the first node, and send the fourth packet after replacing the public network label to the second node.
  • the second node receives the fourth packet, and generates a fifth packet based on the fourth packet.
  • the second node receives the fourth packet.
  • the second node After receiving the fourth message, the second node generates a fifth message according to the fourth message. Specifically, the second node may determine, according to the received public network label in the fourth message, that the public network label is a public network label previously allocated by the second node to the first node, then the second node may assign the first node Determine as the destination node receiving the fifth message. In this way, the second node can determine the IPv6 address of the first node according to the public network label of the first node and the third corresponding relationship described above. Further, the second node may generate the IPv6 packet header of the fifth packet according to the IPv6 address of the first node and the IPv6 address of the second node.
  • the second node determines the first node is the destination node receiving the fifth packet.
  • the second node determines 0000::1.1.1.1 of the IPv6 address of the first node according to the public network label 41001 of the first node and the third correspondence described above, assuming that the IPv6 address of the second node is 0000: :2.2.2.2, then the second node can determine 0000::1.1.1.1 of the IPv6 address of the first node as the destination address of the IPv6 header of the fifth message, and the IPv6 address of the second node is 0000: : 2.2.2.2 is determined as the source address of the IPv6 packet header of the fifth packet.
  • the second node can also generate the SID list of the fifth message according to the IPv6 address of the first node and the service label in the received fourth message. Specifically, the second node may determine the third SID corresponding to the service label in the fourth message based on the received service label in the fourth message and the preset fourth correspondence relationship. Wherein, the fourth correspondence is used to indicate the correspondence between the service label and the third SID. Further, the second node may determine the IPv6 address of the first node and the determined third SID as the SID list of the fifth message, that is, the SID list of the fifth message includes the IPv6 address of the first node and the third SID Three SIDs.
  • the third node when the third node learns the second service route of the first node, when the second node forwards the second service route of the first node to the third node, the service in the second service route
  • the tag allocates a corresponding third SID, and establishes a fourth corresponding relationship indicating the corresponding relationship between the service tag and the third SID.
  • the second node also sends the fourth correspondence to the first node, so that the first node determines the service label corresponding to the third SID in the received message according to the fourth correspondence.
  • the first node may assign a corresponding third SID to the service label in its second service route, and establish a link indicating the service label and the third SID A fourth correspondence of correspondences.
  • the first node also sends the fourth correspondence to the second node, so that the second node determines the third SID corresponding to the service label in the received message according to the fourth correspondence.
  • the second node/first node allocates the corresponding third SID for the service label in the second service route
  • the second node may determine that the third SID corresponding to the service label of 40001 is FFFE::40001 based on the fourth correspondence.
  • the second node can set the IPv6 address of the first node as 0000::1.1.1.1 and the third SID FFFE::40001 is determined as the SID list of the fifth message. That is, the SID list of the fifth message includes: the IPv6 address of the first node is
  • the second node generates the fifth packet according to the determined IPv6 packet header of the fifth packet, the SID list of the fifth packet, and the packet load of the fourth packet.
  • the second node sends the fifth packet to the first node.
  • the second node sends the fifth message to the first node through the IPv6 tunnel from the second node to the first node based on the destination address in the IPv6 message header of the fifth message.
  • the IPv6 tunnel from the second node to the first node can be pre-established between the first node and the second node. Specifically, reference can be made to the relevant description of establishing the IPv6 tunnel from the second node to the first node above, and will not be repeated here.
  • the path of the IPv6 tunnel between the second node and the first node may be, for example, the second path planned by the controller in the first network as described above, and will not be repeated here.
  • the first node receives the fifth packet, determines a next-hop node based on the service label of the fifth packet, and forwards the service packet including the packet payload of the fifth packet to the next-hop node.
  • the first node receives the fifth message.
  • the first node may determine the service label corresponding to the third SID according to the third SID and the fourth correspondence in the fifth message. Next, the first node may determine the next-hop address according to the service label and the destination address in the packet payload of the fifth packet. Then, the first node sends the service packet including the packet payload of the fifth packet to the next-hop address.
  • the smooth transmission of the service message when the destination address of the service message needs to go through the first network and the second network is realized.
  • the message load of the service message is transmitted in the first network supporting SRv6
  • the format of the fifth message carrying the message load is a standard format, that is, the VAS node in the first network can
  • the text can be parsed normally, so that value-added services can be provided for it.
  • FIG. 15 shows a schematic structural diagram of a message transmission device 150 provided by an embodiment of the present application.
  • the message transmission device 150 is applied to the above-mentioned first node, and the message transmission device 150 is used to execute the above-mentioned message transmission method, for example, it is used to perform the message transmission method in FIG.
  • the packet transmission device 150 may include a receiving unit 151 , a determining unit 152 , a generating unit 153 and a sending unit 154 .
  • the receiving unit 151 is configured to receive the first packet.
  • the determining unit 152 is configured to determine, according to the first message, the first SID used to indicate the service label of the first message.
  • a generating unit 153 configured to generate a second packet according to the first packet and the first SID.
  • a sending unit 154 configured to forward the second message to the second node.
  • the SID list of the second message includes the first SID, the second node is located at the network boundary between the first network and the second network, and the second network supports MPLS-LDP or SR-MPLS.
  • the receiving unit 151 may be used to perform S801
  • the determining unit 152 may be used to perform S802
  • the generating unit 153 may be used to perform S803
  • the sending unit 154 may be used to perform S804.
  • the service label of the above-mentioned first packet is used to indicate any one of L3VPN service, L2 multipoint service or L2 point-to-point service.
  • the determining unit 152 is specifically configured to: determine the first route according to the destination address in the first packet, and determine the first SID in the first route.
  • the first route is a service route to the destination address of the first packet.
  • the determining unit 152 may be used to execute S802.
  • the determining unit 152 is further configured to determine the second route according to the next hop address in the first route.
  • the generating unit 153 is specifically configured to use the first packet, the first SID, and the second SID in the second route.
  • a second message is generated, wherein the second route is a public network route to the third node, the second SID is the SID of the third node, and the SID list of the second message includes the second SID.
  • the determining unit 152 and the generating unit 153 may be used to execute S803.
  • the packet transmission device 150 before the receiving unit 151 receives the first packet, the packet transmission device 150 further includes: an obtaining unit 155, configured to obtain the first route.
  • the acquiring unit 155 may be used to execute S102.
  • the acquiring unit 155 may be configured to execute S204.
  • the receiving unit 151 is also configured to receive the first route sent by the route reflector, where the first route is the service route to the destination address of the first message published by the route reflector based on the third node and the service route for the service The route is generated based on the first SID assigned by the service label in the route.
  • the receiving unit 151 may be configured to execute S204.
  • the receiving unit 151 is further configured to receive a service route to the destination address of the first message published by the third node.
  • the generating unit 153 is specifically configured to assign a first SID to the service label in the service route, so as to generate the first route.
  • the receiving unit 151 and the generating unit 153 may be used to execute S102.
  • the acquiring unit 155 is also configured to acquire the second route.
  • the packet transmission device 150 further includes an establishing unit 156, configured to establish a neighbor relationship with the third node according to the second route.
  • the receiving unit 151 is specifically configured to receive the service route published by the third node based on the neighbor relationship.
  • the acquiring unit 155 may be used to execute S404.
  • the obtaining unit 155 may be configured to execute S505.
  • the receiving unit 151 may be configured to execute S102.
  • the receiving unit 151 is also configured to receive the second route sent by the second node.
  • the second route is a route generated by the second node based on the public network route published by the third node and the second ID assigned to the destination address of the public network route of the third node.
  • the receiving unit 151 may be configured to execute S404.
  • the receiving unit 151 is further configured to receive the second route sent by the controller of the first network.
  • the second route is a route generated by the controller based on the public network route published by the third node and the second ID assigned to the destination address of the public network route of the third node.
  • the receiving unit 151 may be configured to execute S505.
  • the sending unit 154 is further configured to publish the IPv4 public network route of the first node and the service route of the first node to the third node through the second node.
  • the sending unit 154 may be configured to execute S601.
  • the sending unit 154 may be configured to execute S701.
  • the sending unit 154 may be configured to execute S103.
  • the functions implemented by the determining unit 152, the generating unit 153, and the establishing unit 156 in the message transmission device 150 can be implemented by the processor 31 in FIG. 3 executing the program code in the memory 32 in FIG. 3 .
  • the functions implemented by the receiving unit 151 , the sending unit 154 and the acquiring unit 155 can be implemented through the network interface 33 in FIG. 3 .
  • FIG. 16 shows a schematic structural diagram of a message transmission device 160 provided in an embodiment of the present application.
  • the message transmission device 160 is applied to the above-mentioned second node, and the message transmission device 160 is used to implement the above-mentioned message transmission method, for example, it is used to perform the message transmission method in FIG. 4, FIG. 5, FIG. The method shown in Figure 9, Figure 10, Figure 11 or Figure 14.
  • the packet transmission device 160 may include a receiving unit 161 , a determining unit 162 and a sending unit 163 .
  • the receiving unit 161 is configured to receive the second message sent by the first node, and the SID list of the second message includes the first SID and the second SID.
  • the determining unit 162 is configured to determine a corresponding service label according to the first SID, and determine a corresponding public network label according to the second SID.
  • a sending unit 163, configured to send a third packet including the service label and the public network label to a third node.
  • the first node is located at a network boundary of the first network, and the first SID and the second SID are determined by the first node according to the received first message.
  • the service label determined by the determining unit 162 according to the first SID is the service label of the second packet
  • the public network label determined by the determining unit 162 according to the second SID is used to forward the packet to the third node, where the third node is located at The network boundary of the second network.
  • the receiving unit 161 and the determining unit 162 may be used to perform S805, and the sending unit 163 may be used to perform S806.
  • the service label of the above second packet is used to indicate any one of L3VPN service, L2 multipoint service or L2 point-to-point service.
  • the determining unit 162 is specifically configured to determine a service tag based on the first SID, where the service tag is a value obtained by removing a first preset prefix of the first SID.
  • the determining unit 162 may be used to execute S805.
  • the determining unit 162 is specifically configured to determine the service tag according to the first SID and the first correspondence.
  • the first correspondence is used to indicate the correspondence between the first SID and the service label.
  • the determining unit 162 may be used to execute S805.
  • the determining unit 162 is further specifically configured to: determine an address of a third node corresponding to the second SID based on the second SID, where the address of the third node is a value obtained by removing a second preset prefix of the second SID. And, based on the address of the third node and the public network route to the third node, determine the public network label of the next-hop node to the third node.
  • the determining unit 162 may be used to execute S805.
  • the determining unit 162 is further specifically configured to determine the public network label of the next hop node to the third node according to the second SID and the second correspondence relationship.
  • the second correspondence is used to indicate the correspondence between the second SID and the public network label of the third node.
  • the determining unit 162 may be used to execute S805.
  • the sending unit 163 is further configured to: publish the IPv4 public network route of the first node and the service route of the first node to the third node.
  • the sending unit 163 may be configured to execute S602.
  • the sending unit 163 may be configured to execute S702.
  • the receiving unit 161 before the receiving unit 161 receives the second message sent by the first node, the receiving unit 161 is also configured to receive the public network route published by the third node.
  • the packet transmission device 160 further includes a generating unit 164, configured to assign a second SID to the destination address of the public network route published by the third node, so as to generate a public network route to the third node.
  • the sending unit 163 is further configured to send the public network route to the third node to the first node.
  • the receiving unit 161 and the generating unit 164 may be used to perform S402, and the sending unit 163 may be used to perform S403.
  • the receiving unit 161 is also configured to receive a fourth message from the third node, where the fourth message includes the IPv4 public network label of the first node and the service label of the fourth message.
  • the determining unit 162 is further configured to determine the IPv6 address of the first node according to the IPv4 public network label of the first node; and determine the corresponding third SID according to the service label of the fourth packet.
  • the sending unit 163 is further configured to forward the fifth packet to the first node, wherein the SID list of the fifth packet includes the IPv6 address of the first node and the third SID.
  • the receiving unit 161 and the determining unit 162 may be used to perform S904, and the sending unit 163 may be used to perform S905.
  • the functions implemented by the determining unit 162 and the generating unit 164 in the message transmission device 160 may be implemented by the processor 31 in FIG. 3 executing program codes in the memory 32 in FIG. 3 .
  • the functions implemented by the receiving unit 161 and the sending unit 163 can be implemented through the network interface 33 in FIG. 3 .
  • FIG. 15 or FIG. 16 is schematic and is only a logical function division, and there may be other division methods in actual implementation. For example, two or more functions can also be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
  • the embodiment of the present application also provides a first network, where the first network supports SRv6, and the first network includes a first node and a second node.
  • the first node is located at the network boundary of the first network, and is used to perform the message transmission method described in FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG. 8, FIG. 9, FIG. 10, FIG. 11 or FIG. 14
  • the second node is located at the network boundary of the first network and the second network, and is used to execute the report described in FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG. 8, FIG. 9, FIG.
  • the second network supports MPLS-LDP or SR-MPLS.
  • the embodiment of the present application further provides a chip system 170, as shown in FIG. 17, the chip system 170 includes at least one processor and at least one interface circuit.
  • the processor may be the processor 171 shown in the solid line box in FIG. 17 (or the processor 171 shown in the dotted line box)
  • the one interface circuit may be the interface circuit 172 shown in the solid line box in FIG. 17 (or the interface circuit 172 shown in the dotted line box).
  • the two processors include the processor 171 shown in the solid line box and the processor 171 shown in the dotted line box in FIG.
  • the circuit includes the interface circuit 172 shown in the solid line box and the interface circuit 172 shown in the dotted line box in FIG. 17 . There is no limit to this.
  • the processor 171 and the interface circuit 172 may be interconnected by wires.
  • the interface circuit 172 may be used to receive signals (eg, receive first/second service routes, etc.).
  • the interface circuit 172 may be used to send signals to other devices (such as the processor 171).
  • the interface circuit 172 can read instructions stored in the memory, and send the instructions to the processor 171 .
  • the message transmission device can be made to execute various steps in the above-mentioned embodiments.
  • the chip system 170 may also include other discrete devices, which is not specifically limited in this embodiment of the present application.
  • Embodiments of the present application also provide a computer program product and a computer-readable storage medium for storing the computer program product.
  • the computer program product may include one or more program instructions that, when executed by one or more processors, may provide the 9.
  • the functions or partial functions described in FIG. 10 , FIG. 11 or FIG. 14 Therefore, for example, one or more features referring to S801-S807 in FIG. 11 may be undertaken by one or more instructions in the computer program product.
  • a messaging device such as that described with respect to FIG. 15 or FIG. 16 may be configured to provide various operations, functions, or actions in response to one or more program instructions stored on a computer-readable storage medium. .
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • a software program When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the processes or functions according to the embodiments of the present application are generated in whole or in part when the computer executes the instructions on the computer.
  • a computer can be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or may contain one or more data storage devices such as servers and data centers that can be integrated with the medium.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (solid state disk, SSD)), etc.

Landscapes

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

Abstract

本申请公开了一种报文传输方法及装置,涉及通信技术领域。该方法应用于支持SRv6的第一网络的网络边界处的第一节点,并实现了当业务报文通过第一网络和支持MPLS-LDP或SR-MPLS的第二网路中传输时,第一网络中的节点可以正常解析该该业务报文。该方法包括:接收第一报文。根据第一报文确定用于指示第一报文的业务标签的第一SID。根据第一报文和第一SID生成第二报文。向第二节点转发第二报文。其中,第二报文的段标识列表中包括第一SID,第二节点位于第一网络和第二网络的网络边界。

Description

一种报文传输方法及装置
本申请要求于2021年12月13日提交国家知识产权局、申请号为202111513686.0、申请名称为“一种报文传输方法及装置”的中国专利申请、以及要求于2022年2月28日提交国家知识产权局、申请号为202210192475.X、申请名称为“一种报文传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法及装置。
背景技术
段路由v6(segment routing internet protocol version 6,SRv6)是一种新的互联网协议(internet protocol,IP)承载技术,SRv6能够提供高服务等级(Service Level Agreement,SLA)保障,以及具有高可靠性能力和足够的网络编程能力。同时,以太虚拟专用网(Ethernet virtual private network,EVPN)相比传统的VPN具有高可控能力、高可靠性以及高扩展性。因此,面向未来,运营商通常会选择SRv6+EVPN来传输业务数据。
然而,当前现网还存在大量的传统(legacy)网络,例如支持多协议标签交换-标签分发协议(multi protocol label switching-label distribution protocol,MPLS-LDP)的网络,或者支持段路由-多协议标签交换(segment routing-multi protocol label switching,SR-MPLS)的网络。通常,legacy网络并不支持SRv6和EVPN。这种情况下,为保证业务报文能够通过支持SRv6和EVPN的网络和legacy网络共同传输,在支持SRv6和EVPN的网络侧,现有的报文传输技术会导致业务报文无法被解析,进而影响了在支持SRv6和EVPN的网络侧配置增值服务。
发明内容
本申请提供了一种报文传输方法及装置,该方法实现了当业务报文通过支持SRv6的第一网络和支持MPLS-LDP或SR-MPLS的第二网路中传输时,第一网络中的节点可以正常解析该该业务报文。
为达上述目的,本申请提供如下技术方案:
第一方面,本申请提供了一种报文传输方法,该方法应用于第一网络的网络边界处的第一节点,第一网络支持SRv6。该方法包括:接收第一报文。根据第一报文确定用于指示第一报文的业务标签的第一段标识(segment identifier,SID)。根据第一报文和第一SID生成第二报文。向第二节点转发第二报文。其中,第二报文的段标识列表(segment identifier list,SID list)中包括第一SID,第二节点位于第一网络和第二网络的网络边界,第二网络支持MPLS-LDP或SR-MPLS。
通过本申请提供的报文传输方法,当第一报文去往该第一报文的目的地址需要经过第一网络和第二网路时,本申请提供方法通过在基于第一报文生成的第二报文的 SID list中携带与该第一报文的业务标签对应的第一SID,从而第二报文无须在SID list和报文负载之间携带该业务报文的业务标签。这样,第一网络传输的第二报文的格式即为通过SRv6传输报文的标准格式。因此,第一网络中的VAS节点可以正常解析第二报文,从而VAS节点可以为第二报文提供增值服务,例如提供安全检查服务、网络地址转换(network address translation,NAT)服务,深度报文检测(deep packet inspection,DPI)服务等。
在一种可能的设计方式中,上述第一报文的业务标签用于指示L3虚拟专用网(layer 3 virtual private network,L3VPN)业务、L2多点业务(layer 2多点业务)、或L2点到点业务(layer 2点到点业务)中的任一种。
相比需要基于业务报文的不同类型,在位于第一网络和第二网络的网络边界的上层运营商边缘(super provider edge,SPE)节点配置多个表项来实现不同的流程,进而使业务报文能够成功在第一网络和第二网络中传输的技术,本申请提供的报文传输方法对于待传输的第一报文的类型不作限定,因此本申请提供的方法应用范围更为广泛。并且,本申请提供的方法在SPE上无需配置多个表项来实现不同类型业务报文的传输,从而有效减轻了SPE的负载。
在另一种可能的设计方式中,上述根据第一报文确定第一SID包括:根据第一报文中的目的地址确定第一路由,并在第一路由中确定第一SID。其中,第一路由是去往第一报文的目的地址的业务路由。
在另一种可能的设计方式中,若第一路由指示的下一跳是位于第二网络边界的第三节点,则上述根据第一报文和第一SID生成第二报文包括:根据第一路由中的下一跳地址确定第二路由。根据第一报文、第一SID以及第二路由中的第二SID,生成第二报文。其中,第二SID是第三节点的SID,第二路由是去往第三节点的公网路由,第二报文的SID list中包括第二SID。
通过该两种可能的设计,第一节点基于两层路由(即第一路由和第二路由)的查找,即生成了包括有与第一报文业务标签对应的第一SID,以及与去往第一报文目的地址的下一跳节点,即第三节点的地址对应的第二SID的第二报文。且第二报文在第一网络中传输。由于第二报文中未携带第一报文的业务标签,因此第二报文可以被支持SRv6的第一网络中的节点正常解析,从而第一网络中的节点可以为第二报文提供增值服务。
并且,由于第一节点预先获取到了包括有与第一报文业务标签对应的第一SID的第一路由,以及包括有与第三节点地址对应的第二SID的第二路由。因此,第一节点在传输报文时,可以直接在用于传输第一报文的第一路由中确定第一SID,以及在第二路由中确定第二SID。
在另一种可能的设计方式中,在上述的接收第一报文之前,上述方法还包括:获取第一路由。
在另一种可能的设计方式中,上述获取第一路由包括:接收第三节点发布的去往第一报文的目的地址的业务路由。为该业务路由中的业务标签分配第一SID,以生成第一路由。
通过该可能的设计,第一节点可以根据第三节点发送的去往第一报文目的地址的 业务路由,生成包括有与第一报文业务标签对应的第一SID的第一路由。这样,当第一节点需要传输第一报文的报文负载时,可以基于第一报文和第一路由生成包括第一SID的第二报文,并传输第二报文。而第二报文中则不必再携带第一报文的业务标签,因此,第二报文在支持SRv6的第一网络中传输时,第一网络中的节点可以正常解析第二报文,从而第一网络中的节点可以为第二报文提供增值服务。并且,通过修改第一网络中第一节点的相关配置来生成第一路由,可以使得本申请提供的面向SRv6演进过程中,第二网络无感知。
在另一种可能的设计方式中上述获取第一路由包括:接收路由反射器发送的第一路由。其中,第一路由是路由反射器基于第三节点发布的去往第一报文目的地址的业务路由以及为业务路由中的业务标签分配的第一SID而生成的路由。
通过该可能的设计,第一节点可以直接接收到路由反射器发送的去往第一报文目的地址、且包括有与第一报文业务标签对应的第一SID的第一路由。这样,当第一节点需要传输第一报文的报文负载时,可以基于第一报文和第一路由生成包括第一SID的第二报文,并传输第二报文。而第二报文中则不必再携带第一报文的业务标签,因此,第二报文在支持SRv6的第一网络中传输时,第一网络中的节点可以正常解析第二报文,从而第一网络中的节点可以为第二报文提供增值服务。并且,通过修改与第一网络通信的路由反射器的相关配置来生成第一路由,可以使得本申请提供的面向SRv6演进过程中,第二网络无感知。
此外,相比第一节点“根据第三节点发送的去往第一报文目的地址的业务路由,生成包括与第一报文业务标签对应的第一SID的第一路由”的方案相比,该可能的设计所提供的方案中,由路由反射器执行“根据第三节点发送的去往第一报文目的地址的业务路由,生成包括与第一报文业务标签对应的第一SID的第一路由”的算法,因此该可能的设计所提供的方案节省了第一节点的计算资源。并且,第一节点直接从路由反射器接收第一路由的话,第一节点和第三节点之间无需建立用于第一节点接收第三节点发布的业务路由的BGP邻居关系,从而,该可能的设计所提供的方案节省了第一节点的BGP连接,也即节省了第一节点的通信资源。
在另一种可能的设计方式中,上述接收第三节点发布的去往第一报文目的地址的业务路由包括:获取第二路由。根据第二路由建立与第三节点之间的邻居关系。基于该邻居关系,接收第三节点发布的业务路由。
在另一种可能的设计方式中,当第二网络支持MPLS-LDP时,上述获取第二路由包括:接收第二节点发送的第二路由。其中,第二路由为第二节点基于第三节点发布的公网路由以及为第三节点的公网路由的目的地址分配的第二ID而生成的路由。
在另一种可能的设计方式中,当第二网络支持SR-MPLS时,上述获取第二路由包括:接收第一网络的控制器发送的第二路由。其中,第二路由为控制器基于第三节点发布的公网路由以及为第三节点的公网路由的目的地址分配的第二ID而生成的路由。
通过该两种可能的设计方式,第二路由可以由第二节点生成,也可以由第一网络的控制器生成。当第二路由是由第一网络的控制器生成时,可以节省第二节点的计算资源。
在另一种可能的设计方式中,上述方法还包括:通过第二节点,向第三节点发布第一节点的IPv4公网路由和第一节点的业务路由。
由于支持SRv6的第一网络是通过IPv6配置的,而支持MPLS-LDP或SR-MPLS的第二网络是通过IPv4配置的。因此,当第一网络中的第一节点发布的公网路由是IPv4公网路由时,可以实现报文通过IPv6配置的第一网络和通过IPv4的第二网络传输,即实现技术上的向下兼容。并且,第一网络只需要在第一节点上配置IPv4即可,而第一网络的中间节点则无需配置IPv4,也就是说,本申请提供的方法能够节省有限的IPv4资源。
第二方面,本申请提供了一种报文传输方法,该方法应用于第一网络和第二网络的网络边界处的第二节点。其中,第一网络支持SRv6,第二网络MPLS-LDP或SR-MPLS。该方法包括:接收第一节点发送的第二报文。其中,第一节点位于第一网络的网络边界,第二报文的SID list中包括第一SID和第二SID,且第一SID和第二SID是第一节点根据接收到的第一报文确定的。根据第一SID确定对应的业务标签,以及,根据第二SID确定对应的公网标签。其中,第一SID对应的业务标签是第二报文的业务标签,第二SID对应的公网标签用于向第三节点转发报文,第三节点位于第二网络的网络边界。向第三节点发送包括前述业务标签和前述公网标签第三报文。
当去往该第一报文的目的地址需要经过第一网络和第二网路时,本申请提供方法通过在基于第一报文生成的第二报文的SID list中携带与该第一报文的业务标签对应的第一SID,以及携带与去往第一报文目的地址的下一跳节点(即第三节点)地址对应的第二SID,从而第二报文无须在SID list和报文负载之间携带该业务报文的业务标签。这样,第一网络传输的第二报文的格式即为通过SRv6传输报文的标准格式。因此,第一网络中的VAS节点可以正常解析该报文,从而VAS节点可以为该业务报文提供增值服务,例如安全检测服务、NAT服务,DPI服务等。
在一种可能的设计方式中,上述第二报文的业务标签用于指示L3VPN业务、L2多点业务或L2点到点业务中的任一种。
在另一种可能的设计方式中,上述根据第一SID确定对应的业务标签包括:基于第一SID确定业务标签。其中,该业务标签为去除第一SID的第一预设前缀而获得的值。
在另一种可能的设计方式中,上述根据第一SID确定对应的业务标签包括:根据第一SID和第一对应关系,确定业务标签。其中,第一对应关系用于指示第一SID和业务标签的对应关系。
通过该两种可能的设计方式,第二节点可以将第二报文中的第一SID转化为第二报文的业务标签。
在另一种可能的设计方式中,上述根据第二SID确定对应的公网标签包括:基于第二SID确定与第二SID对应的第三节点的地址。其中,第三节点的地址为去除第二SID的第二预设前缀而获得的值。基于第三节点的地址和去往第三节点的公网路由,确定去往第三节点的下一跳节点的公网标签。
在另一种可能的设计方式中,上述根据第二SID确定对应的公网标签包括:根据第二SID和第二对应关系,确定去往第三节点的下一跳节点的公网标签。其中,第二 对应关系用于指示第二SID和第三节点公网标签的对应关系。
通过该两种可能的设计方式,第二节点可以将第二报文中的第二SID转化为用于在第二网络中传输第三报文的公网标签。
在另一种可能的设计方式中,在上述接收第一节点发送的第二报文之前,上述方法还包括:向第三节点发布第一节点的IPv4公网路由和第一节点的业务路由。
由于支持SRv6的第一网络是通过IPv6配置的,而支持MPLS-LDP或SR-MPLS的第二网络是通过IPv4配置的。因此,当第一网络中的第一节点发布的公网路由是IPv4公网路由时,可以实现报文通过IPv6配置的第一网络和通过IPv4的第二网络传输,即实现技术上的向下兼容。并且,第一网络只需要在第一节点上配置IPv4即可,而第一网络的中间节点则无需配置IPv4,也就是说,本申请提供的方法能够节省有限的IPv4资源。
在另一种可能的设计方式中,在上述接收第一节点发送的第二报文之前,上述方法还包括:接收第三节点发布的公网路由。为第三节点发布的公网路由的目的地址分配第二SID,以生成去往第三节点的公网路由。向第一节点发送去往第三节点的公网路由。
通过该可能的设计方式,第二节点根据去往第三节点的公网路由可以生成包括第二SID的公网路由。也就是说,第一网络中的第二节点需要修改相关配置来生成第二路由,进而使得本申请提供的面向SRv6演进过程中,第二网络无感知。
在另一种可能的设计方式中,上述方法还包括:接收来自第三节点的第四报文,第四报文包括第一节点的IPv4公网标签和第四报文的业务标签。根据第一节点的IPv4公网标签确定第一节点的IPv6地址,以及,根据第四报文的业务标签确定对应的第三SID。向第一节点转发第五报文。其中,第五报文的SID list中包括第一节点的IPv6地址和第三SID。
通过该可能的设计,实现了当业务报文去往第四报文的目的地址需要经过第一网络和第二网路时的顺利传输。并且,该第四报文的报文负载在支持SRv6的第一网络中传输时,承载该报文负载的第五报文的格式为标准格式,即第一网络中的VAS节点可以对第五报文进行正常解析,从而可以为其提供增值服务。
第三方面,本申请提供了一种报文传输装置,该报文传输装置应用于第一网络的网络边界处的第一节点,第一网络支持基于互联网协议第6版的段路由SRv6。
在一种可能的设计方式中,该报文传输装置用于执行上述第一方面提供的任一种方法。本申请可以根据上述第一方面提供的任一种方法,对该报文传输装置进行功能模块的划分。例如,可以划分不同功能模块分别执行对应的各个功能,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本申请可以按照功能将该报文传输装置划分为接收单元、确定单元、生成单元以及发送单元等。其中,接收单元用于接收第一报文。确定单元用于根据第一报文确定第一SID。生成单元用于根据第一报文和第一SID生成第二报文。发送单元用于向第二节点转发第二报文。其中,第一SID用于指示第一报文的业务标签,第二报文的SID list中包括第一SID,第二节点位于第一网络和第二网络的网络边界,第二网络支持MPLS-LDP或SR-MPLS。
上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上 述第一方面或其相应的可能的设计提供的技术方案,此处不再赘述。
在另一种可能的设计中,该报文传输装置包括:一个或多个处理器和传输接口,该一个或多个处理器通过该传输接口接收或发送数据,该一个或多个处理器被配置为调用存储在存储器中的程序指令,以使得该报文传输装置执行如第一方面及其任一种可能的设计方式提供的任一种方法。
第四方面,本申请提供了一种报文传输装置,该报文传输装置应用于第一网络和第二网络的网络边界处的第二节点。其中,第一网络支持SRv6,第二网络支持MPLS-LDP或SR-MPLS。
在一种可能的设计方式中,该报文传输装置用于执行上述第二方面提供的任一种方法。本申请可以根据上述第二方面提供的任一种方法,对该报文传输装置进行功能模块的划分。例如,可以划分不同功能模块分别执行对应的各个功能,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本申请可以按照功能将该报文传输装置划分为接收单元、确定单元以及发送单元等。其中,接收单元用于接收第一节点发送的第二报文。其中,第一节点位于第一网络的网络边界,第二报文的SID list中包括第一SID和第二SID,且第一SID和第二SID是第一节点根据接收到的第一报文确定的。确定单元用于根据第一SID确定对应的业务标签,以及,根据第二SID确定对应的公网标签。其中,与第一SID对应的业务标签是第二报文的业务标签,与第二SID对应的公网标签用于向第三节点转发报文。第三节点位于第二网络的网络边界。发送单元用于向第三节点发送包括前述业务标签和前述公网标签第三报文。
上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第二方面或其相应的可能的设计提供的技术方案,此处不再赘述。
在另一种可能的设计中,该报文传输装置包括:一个或多个处理器和传输接口,该一个或多个处理器通过该传输接口接收或发送数据,该一个或多个处理器被配置为调用存储在存储器中的程序指令,以使得该报文传输装置执行如第二方面及其任一种可能的设计方式提供的任一种方法。
第五方面,本申请提供了一种第一网络,第一网络支持SRv6,第一网络包括第一节点和第二节点。其中,第一节点位于第一网络的网络边界,并用于执行第一方面中中的任一种可能的实现方式提供的任一种方法。第二节点位于第一网络和第二网络的网络边界,并用于执行第二方面中的任一种可能的实现方式提供的任一种方法,第二网络支持MPLS-LDP或SR-MPLS。
第六方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算机或处理器上运行时,使得计算机或处理器执行第一方面中或第二方面中的任一种可能的实现方式提供的任一种方法。
第七方面,本申请提供了一种计算机程序产品,当其在报文传输装置上运行时,使得第一方面中或第二方面中的任一种可能的实现方式提供的任一种方法被执行。
第八方面,本申请提供了一种芯片系统,包括:处理器和存储器,该处理器用于从该存储器中调用并运行该存储器中存储的计算机程序,执行第一方面中或第二方面中的实现方式提供的任一种方法。
可以理解的是,上述提供的任一种装置、计算机存储介质、计算机程序产品或芯 片系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
在本申请中,上述报文传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为报文2的结构示意图;
图2为本申请实施例提供的一种第一网络的架构示意图;
图3为本申请实施例提供的一种报文传输装置的硬件结构示意图;
图4为本申请实施例提供的一种第一节点和第三节点之间互相学习业务路由的流程示意图;
图5为本申请实施例提供的一种第一节点学习第三节点的业务路由的流程示意图;
图6为本申请实施例提供的一种第三节点学习第一节点的业务路由的流程示意图;
图7为本申请实施例提供的一种第一节点学习去往第三节点的公网路由的流程示意图;
图8为本申请实施例提供的另一种第一节点学习去往第三节点的公网路由的流程示意图;
图9为本申请实施例提供的一种第三节点学习去往第一节点的公网路由的流程示意图;
图10为本申请实施例提供的另一种第三节点学习去往第一节点的公网路由的流程示意图;
图11为本申请实施例提供的一种报文传输方法的流程示意图;
图12为本申请实施例提供中所述第二报文的结构示意图;
图13为本申请实施例提供中所述第三报文的结构示意图;
图14为本申请实施例提供的另一种报文传输方法的流程示意图;
图15为本申请实施例提供的一种报文传输装置150的结构示意图;
图16为本申请实施例提供的一种报文传输装置160的结构示意图;
图17为本申请实施例提供的芯片系统的结构示意图。
具体实施方式
为了更清楚的理解本申请实施例,下面对本申请实施例中涉及的部分术语或技术进行说明:
1)、业务标签、业务路由、公网路由以及公网标签
在互联网中,往往通过业务报文来传输业务数据。
不同类型的业务报文,通常可以通过该业务报文的标签(下文中将业务报文的标签简称业务标签)来标识。
作为示例,业务报文所属的业务类型例如可以是VPN业务。其中,VPN业务可以包括L3虚拟专用网(layer 3 virtual private network,L3VPN)业务、L2多点业务(layer  2多点业务)、或L2点到点业务(layer 2点到点业务)等。这样的话,不同的VPN业务则可以通过不同的VPN标签来标识。
用于传输业务报文的路由,可以称该业务报文的业务路由。在业务路由中,一般都包括该业务报文的业务标签。举例说明,业务报文通过业务路由转发时,具体是基于公网路由来传输的。在互联网中,公网路由用于提供可到达的路径。对于网络中的任一个配置有IP地址的节点,其还可以配置用于在公网中的全局标识该节点的公网标签。同一个节点在不同方向的路径上,对应的公网标签是不同的。其中,对于通过IPv4配置的节点而言,该节点的可以配置IPv4公网标签。类似的,对于通过IPv6配置的节点而言,该节点的可以配置IPv6公网标签。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在本申请的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
SRv6是一种段路由技术。在通过互联网协议第6版(internet protocol version 6,IPv6)配置的网络中,一般通过SRv6传输报文。相对而言,在通过互联网协议第4版(internet protocol version 4,IPv4)配置的legacy网络中,主要通过MPLS-LDP或SR-MPLS传输报文。并且,通过IPv4配置的网络一般不支持SRv6技术。为方便描述,本申请实施例中将通过SRv6传输报文的网络称为第一网络,将通过MPLS-LDP或SR-MPLS传输报文的legacy网络称为第二网络。
当业务报文传输的路径上包括第一网络中的节点和第二网络中的节点时,为保证业务报文的成功传输,第一网络在传输业务报文时,通常会将该业务报文的业务标签携带在该业务报文的段路由头(segment routing header,SRH)和三层报文负载(或称为报文负载)之间。
作为示例,假设报文1要到达目的地址,需要依次经过第一网络和第二网络。这种情况下,当第一网络的边缘节点接收到报文1后,会基于报文1的目的地址查询业务路由表,并基于查询到的业务路由对报文1的payload重新封装,报文1的报文负载重新封装后得到的报文2的结构具体如图1所示。
参考图1,图1示出了报文2的结构示意图。如图1所示,报文2包括IPv6报文 头、SRv6SRH以及报文负载。其中,IPv6报文头包括报文2在第一网络中传输的起始地址和结束地址。这里,起始地址相当于报文2在第一网络中传输时的源地址,结束地址相当于是报文2在第一网络中传输时的目的地址。SRv6 SRH包括报文2在第一网络中传输所经过的节点的段标识列表(segment identifier list,SID list)。业务标签表示报文1的业务标签,一般第一网络的边缘节点接收到报文1后,基于报文1的目的地址查询到的业务路由即包括该标签。报文负载则包括第一报文的源地址、目的地址以及数据载荷。图1所示的报文2的结构仅示例性的示出了报文2的主要结构部分,并不限定报文2仅包括图1所示结构,例如,报文2在IPv6报文头的外部还可以包括媒体存取控制地址(Media Access Control Address,MAC),对此不做赘述。
然而,当业务报文的业务标签携带在业务报文的SRv6SRH和报文负载之间时,业务报文的报文格式即不符合通过SRv6传输报文的标准报文格式。这样的话,第一网络中标准的增值服务(value added service,VAS)即不能按照SRv6标准协议解析该业务报文,即不能为该业务报文提供相应服务。其中,VAS例如是供防火墙的安全检测服务、网络地址转换(network address translation,NAT)服务,深度报文检测(deep packet inspection,DPI)服务等。进而,当前通过第一网络和第二网络共同传输业务报文的技术,影响了第一网络中业务链的部署。
此外,在当前技术中,第一网络还需要基于业务报文的不同类型,在位于第一网络和第二网络的网络边界的上层运营商边缘(super provider edge,SPE)节点配置多个表项来实现不同的流程,进而才能使业务报文能够成功在第一网络和第二网络中传输。其中,业务报文的不同类型例如是L3VPN)业务类型、L2多点业务类型、或L2点到点业务类型等。这样的话,SPE将容易超负载运行,从而影响了SPE在第一网络和第二网络之间传输业务报文时的传输效率。
基于此,本申请实施例提供了一种报文传输方法,该方法应用于第一网络,且第一网络可以和第二网络通信。当业务报文在第一网络中传输时,该方法通过在该业务报文的SID list中携带与该业务报文的业务标签对应的第一SID,而无须在SID list和报文负载之间携带该业务报文的业务标签。这样,第一网络所传输业务报文的格式即为通过SRv6传输报文的标准格式。因此,第一网络中的VAS节点可以正常解析该报文,从而VAS节点可以为该业务报文提供增值服务。
此外,不同类型的业务报文均可以通过本申请实施例提供的方法进行传输。这样,位于第一网络和第二网络的网络边界的SPE节点则无需针对不同类型的业务报文配置多个表项以实现该不同类型的业务报文的传输,即本申请实施例提供的方法能够减轻SPE节点的负荷,从而可以提高SPE在第一网络和第二网络之间传输业务报文时的传输效率。
本申请实施例还提供一种第一网络,本申请实施例提供的报文传输方法即可以应用于第一网络。其中,第一网络可以包括有多个服务边缘(provider edge,PE)节点、多个供应商路由(provider,P)节点以及SPE节点,PE节点、P节点以及SPE节点均具有路由功能。作为示例,PE节点和SPE节点可以是具有路由功能的网关节点,或者是路由器或交换机等路由节点,P节点可以是路由器或交换机等路由节点(也可称为中间节点),本申请实施例对此不作限定。其中,P节点位于第一网络的内部,并用 于在第一网络内部转发报文。PE节点位于第一网络的边界,并用于将接收到的报文转发至P节点,或者用于从P节点接收报文并转发至第一网络外部。SPE节点位于第一网络和其他网络的网络边界,并可以用于在第一网络和该其他网络之间转发报文。例如,SPE节点位于第一网络和第二网络的网络边界,并用于在第一网络和第二网络之间转发报文。这种情况下,第二网络也包括该SPE节点。
举例说明,第二网络还可以包括多个PE节点和多个P节点。第一网络和第二网络的区别仅在于:第一网络是是基于IPv6配置的网络,主要通过SRv6传输报文;第二网络是通过IPv4配置的网络,主要通过MPLS-LDP或SR-MPLS传输报文。
示例性的,参考图2,图2示出了本申请实施例提供的一种第一网络的架构示意图,以及示出了与第一网络通信的第二网络的架构示意图。如图2所示,第一网络可以包括4个PE节点,分别为PE 11、PE 12、PE 13以及PE 14。第一网络还包括位于第一网络和第二网络边界的SPE 1。并且,在PE 11和SPE 1之间,可以通过P 11和P 12转发报文。类似的,第二网络可以包括3个PE节点,分别为PE 21、PE 22以及PE 23。第二网络还包括位于第一网络和第二网络边界的SPE 1,并且,在PE 21和SPE1之间,可以通过P21转发报文。
本申请实施例还提供了一种报文传输装置,该报文传输装置可以是任意具有路由功能的设备或功能模块,并用于执行本申请实施例所提供的报文传输方法。作为示例,该报文传输装置可以是图2所示第一网络中的PE 11或SPE 1,或者,该报文传输装置可以是图2所示第一网络中的PE 11或SPE 1中的一个功能模块,本申请实施例对此不作限定。
参考图3,图3示出了本申请实施例提供的一种报文传输装置的硬件结构示意图。如图3所示,报文传输装置30包括处理器31、存储器32、网络接口33以及总线34。其中,处理器31、存储器32、网络接口33之间通过总线34连接。
处理器31是报文传输装置30的控制中心,可以是一个通用中央处理器(central processing unit,CPU),处理器31还可能是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、图形处理器(graphics processing unit,GPU)、神经网络处理单元(neural processing unit,NPU)、张量处理器(tensor processing unit,TPU)或人工智能(artificial intelligent)芯片、数据处理器(data processing unit,DPU)等。作为一个示例,处理器31可以包括一个或多个CPU,例如图3中所示的CPU 0和CPU 1。此外,本申请并不限定每个处理器中处理器核的个数。
存储器32用于存储程序指令或应用进程所要访问的数据,处理器31可以通过执行存储器32中的程序指令,以实现本申请实施例提供的报文传输方法。存储器32包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通 过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。非易失性存储器可以是储存级内存(storage class memory,SCM)、固态硬盘(solid state drive,SSD)、机械硬盘(hard disk drive,HDD)等。其中,储存级内存例如可以是非易失性内存(non-volatile memory,NVM)、相变化内存(phase-change memory,PCM)、持久化内存等。
在一种可能的实现方式中,存储器32独立于处理器31存在。存储器32通过总线34与处理器31相连接,用于存储数据、指令或者程序代码。处理器31调用并执行存储器32中存储的指令或程序代码时,能够实现本申请实施例提供的报文传输方法。在另一种可能的实现方式中,存储器32和处理器31集成在一起。
网络接口33,用于报文传输装置30与其他节点(如其他路由节点等)通过通信网络连接,所述通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。网络接口33包括用于接收数据/报文的接收单元,以及用于发送数据/报文的发送单元。
总线34,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线、高速串行计算机扩展总线(peripheral component interconnect express,PCIe)、计算快速链路(compute express link,CXL)或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图3中示出的结构并不构成对报文传输装置30的限定,除图3所示部件之外,该报文传输装置30包括比图3所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图,对本申请实施例提供的报文传输方法进行详细描述。
具体的,本申请实施例提供的报文传输方法可以应用于图2所示的第一网络,并具体实现了业务报文以标准封装格式在第一网络和第二网络中传输。更具体的,在本申请实施例中的业务报文传输之前,第一网络的PE节点需要学习第二网络中PE节点业务路由,第二网络中的PE节点需要第一网络中PE节点的业务路由。这样,当第一网络的PE节点接收业务报文后,即可基于学习到的业务路由对报文进行重封装及转发。
举例说明,在本申请实施例中,第一网络中的PE节点和SPE节点均配置IPv4,也即,第一网络中的PE节点和SPE节点均配置有IPv4地址和IPv4公网标签。作为示例,IPv4地址例如可以是节点的回环(loopback)地址。
下面结合附图2,以附图2所示第一网络中的PE 11是第一节点、SPE 1是第二节点为例,以及以附图2所示第二网络中的PE 21是第三节点为例,对第一网络和第二网络的PE节点之间互相学习业务路由的过程进行说明。其中,第一节点和第二节点 配置IPv4,即第一节点和第二节点均配置有IPv4地址和IPv4公网标签。
在一些实施例中,本申请实施例可以通过图4所示的方法实现第一节点和第三节点之间互相学习业务路由。参考图4,图4示出了本申请实施例提供的一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S101、第三节点向第一节点发送第一业务路由。
其中,第一业务路由是第三节点业务表中的路由。
可选的,第三节点可以基于与第一节点之间的边界网关协议(border gateway protocol,BGP)邻居关系,通过BGP报文向第一节点发送第一业务路由。作为示例,第三节点通过与第一节点之间的BGP邻居关系向第一节点发送第一业务路由时,用于承载第一业务路由的BGP报文的传输通道例如可以是图4所示的第三节点→P21→第二节点→P12→P11→第一节点。
举例说明,第三节点和第一节点之间的BGP邻居关系是基于第一节点去往第三节点的公网路由和第三节点去往第一节点的公网路由建立的。其中,第一节点学习去往第三节点的公网路由的详细说明可以参考下文图7或图8的相关描述,第三节点学习去往第一节点的公网路由的详细说明可以参考下文图9或图10的相关描述,这里不作赘述。作为示例,假设第三节点的IPv4地址是3.3.3.3,且第三节点的业务路由表中包括的业务路由1如表1所示。业务路由1是去往目的地址(destination address)10.1.1.2的业务路由,且去往目的地址10.1.1.2的下一跳节点是第三节点,并且通过业务路由1传输的业务报文的业务标签是40002。则第三节点可以通过与第一节点之间的BGP邻居关系,将业务路由1发送至第一节点。
表1
目的地址 10.1.1.2
下一跳地址 3.3.3.3
业务标签 40002
S102、第一节点接收第一业务路由,并根据第一业务路由生成第一路由。
响应于S101,第一节点接收到第三节点发送的第一业务路由。第一节点可以为第一业务路由中的业务标签分配第一SID,并通过第一SID替换第一业务路由中的业务标签,以生成第一路由。第一SID与第一业务路由中的业务标签唯一对应,第一路由也是去往第一业务路由中目的地址的业务路由。
可选的,第一节点可以基于第一预设策略为第一业务路由中的业务标签增加第一预设前缀,以得到与该业务标签唯一对应的第一SID。这种情况下,由于第一业务路由中的下一跳是第二网络中的节点(即第三节点),因此位于第一网络和第二网络的网络边界、且用于在第一网络和第二网络之间转发报文的第二节点中预置有与第一预设策略对应的第二预设策略。第二预设策略用于指示第二节点去除接收到的待转发报文的SID list中SID的第一预设前缀,以得到对应的业务标签。
可选的,第一预设前缀可以是“FFFE::”,或者是“FFFF::”。其中,F和E可以取任意的十六进制数。示例性的,若F取值15,且第一预设前缀是“FFFF::”,则第一预设前缀为“15151515::”。进一步的,第一SID即为“15151515::第一业务路由中的业务标签”。作为示例,假设第一节点接收到的第一业务路由是如表1所示的业务路由1,且第一 预设前缀是“FFFE::”,则第一SID即为“FFFE::40002”。这样的话,第一节点生成的第一路由即如表2所示:
表2
目的地址 10.1.1.2
下一跳地址 3.3.3.3
业务标签 FFFE::40002
可选的,第一节点还可以为第一业务路由中的业务标签分配任意SID,并以该任意SID作为与第一业务路由中的业务标签唯一对应的第一SID。例如,该任意SID可以是不包括第一业务路由中业务标签的任意SID。这种情况下,第一节点在为第一业务路由中的业务标签分配第一SID后,将第一SID和该业务标签发送至位于第一网络和第二网络的网络边界、且用于在第一网络和第二网络之间转发报文的第二节点,以便第二节点记录第一SID和该业务标签之间的第一对应关系。第一对应关系用于指示第二节点为接收到的待转发报文SID list中的SID确定唯一对应的业务标签。
第一节点可以基于第一路由获得第一业务路由表项,其中,第一路由表项为业务路由表中的一条表项。可选的,第一业务路由表项还可以包括第一节点通过第一路由转发报文时的端口号等信息,不再赘述。这样,第一节点即学到了第三节点的业务路由。
S103、第一节点向第三节点发送第二业务路由。
其中,由于第一节点配置IPv4,因此第二业务路由是标准的业务路由。其中,第一节点向第三节点发送第二业务路由的详细说明可以参考S101中第三节点向第一节点发送的第一业务路由的描述,这里不再赘述。作为示例,第一节点通过与第三节点之间的BGP邻居关系向第三节点发送第二业务路由时,用于承载第二业务路由的BGP报文的传输通道例如可以是图4所示的第一节点→P11→P12→第二节点→P21→第三节点。
S104、第三节点接收第二业务路由。
响应于S103,第三节点接收到第一节点发送的第二业务路由。第一节点在接收到第二业务路由后,基于第二业务路由获得业务路由表中的一条表项。作为示例,假设第一节点的IPv4地址是1.1.1.1,且第一节点的业务路由表中包括如表3所示的业务路由2。业务路由2是去往目的地址10.1.1.1的业务路由,且去往目的地址10.1.1.1的下一跳节点是第一节点,并且通过业务路由2传输的业务报文的业务标签是40001。则第一节点可以通过与第三节点之间的BGP邻居关系,将业务路由2发送至第三节点。作为响应,第三节点即接收到业务路由2,基于业务路由2获得第二业务路由表项,即获得业务路由表中的第二业务路由表项。可选的,第二业务路由表项还可以包括第三节点通过第二业务路由转发报文时的端口号等信息,不再赘述。这样,第三节点即学到了第一节点的业务路由。
表3
目的地址 10.1.1.1
下一跳地址 1.1.1.1
业务标签 40001
举例说明,本申请实施例对S101-S102和S103-S104的执行顺序不作限定。例如,本申请实施例可以先执行S101-S102,再执行S103-S104。或者,本申请实施例可以先执行S103-S104,再执行S101-S102。又或者,本申请实施例可以同时执行S101-S102和S103-S104。
可以看出,第一节点基于S101-S102学习第三节点的业务路由时需要进行业务标签的翻译,即为第三节点的业务路由中的业务标签分配唯一对应的第一SID。
在另一些实施例中,本申请实施例可以通过图5所示的方法实现第一节点学习第三节点的业务路由。参考图5,图5示出了本申请实施例提供的另一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S201、第三节点向路由反射器发送第一业务路由。
其中,第一业务路由详细说明可以参考上文中的相关描述,这里不作赘述。
其中,路由反射器用于在第一网络的PE和第二网络的PE之间转发学到的路由。例如,路由反射器可以将从第二网络中第三节点学到的业务路由转发至第一网络的第一节点。或者,路由反射器可以将从第一网络中第一节点学到的业务路由转发至第二网络的第三节点。这样,路由反射器即实现了在第一网络的PE和第二网络的PE之间传输路由。这种情况下,第一网络的PE和第二网络的PE则无需通过建立BGP邻居关系来传输路由,从而节省了第一网络和第二网络中PE的BGP连接。具体的,路由反射器可以与第一网络中的PE分别通信,以及与第二网络中的PE分别通信。这样,基于第二网络中第三节点和路由反射器之间的通信,第三节点向路由反射器发送第一业务路由,例如向路由反射器发送如表1所示的业务路由1。
S202、路由反射器接收第一业务路由,并根据第一业务路由生成第一路由。
响应于S201,路由反射器接收到第一业务路由。
路由反射器接收到第一业务路由后,根据第一业务路由生成第一路由。这里,路由反射器根据第一业务路由生成第一路由的详细说明,可以参考上文S102中第一节点根据第一业务路由生成第一路由的描述,这里不再赘述。
举例说明,在本申请实施例中,路由反射器用于在支持SRv6的第一网络的PE和作为legacy网络的第二网络的PE之间转发学习到的路由,这种情况下,当路由反射器接收到来自第二网络中PE的业务路由时,先根据该业务路由生成包括与该业务路由中的业务标签唯一对应的SID的路由,再将生成的路由发送至第一网络的PE。
S203、路由反射器向第一节点发送第一路由。
路由反射器基于和第一节点之间的通信,将向第一节点发送生成的第一路由。
S204、第一节点接收第一路由。
响应于S203,第一节点接收到路由反射器发送的第一路由。第一节点接收到第一路由后,基于第一路由获得业务路由表。至此,第一节点即学到了第三节点的业务路由。
相比第一节点基于S101-S102所述的方法学习第三节点的业务路由,第一节点基于S201-S204所述的方法学习第三节点的业务路由时,第一节点和第三节点之间无需建立BGP连接。并且,第一节点无需执行基于第一业务路由生成第一路由的算法。也就是说,S201-S204所述的方法节省了第一节点的通信资源和计算资源。
在又一些实施例中,本申请实施例可以通过图6所示的方法实现第三节点学习第一节点的业务路由。参考图6,图6示出了本申请实施例提供的又一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S301、第一节点向路由反射器发送第二业务路由。
第一节点可以基于第一节点和路由反射器之间的通信,向路由反射器发送第二业务路由,例如发送如表3所述的业务路由2。其中,路由反射器和第二业务路由的详细说明可以参考上文描述,这里不做赘述。
S302、路由反射器接收第二业务路由,并向第三节点转发第二业务路由。
响应于S301,路由反射器接收到第二业务路由,并基于和第三节点之间的通信,直接向第三节点发送接收到的第二业务路由。
S303、第三节点接收第二业务路由。
响应于S302,第三节点接收到路由反射器转发的第二业务路由。第三节点在接收到第二业务路由后,基于第二业务路由获得业务路由表中的一条表项。至此,第三节点学到了第一节点的业务路由。相比第三节点基于S103-S104所述的方法学习第一节点的业务路由,第三节点基于S301-S303所述的方法学习第一节点的业务路由时,第三节点和第一节点之间无需建立BGP连接。也就是说,S301-S303所述的方法节省了第三节点的通信资源。
另外,第一节点基于S101-S102或S201-204学习第三节点的业务路由时需要进行业务标签的翻译,即为第三节点业务路由中的业务标签分配唯一对应的第一SID。
以上为本申请实施例中第一网络的PE和第二网络的PE互相学习业务路由的说明,下面对上述第一节点学习去往上述第三节点的公网路由进行说明。
在一些实施例中,本申请实施例可以通过图7所示的方法实现第一节点学习去往第三节点的公网路由。在图7所述的方法中,第二网络支持MPLS-LDP。参考图7,图7示出了本申请实施例提供的又一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S401、第三节点发布自身的公网路由,以使第二节点学到去往第三节点的公网路由。
第三节点位于以IPv4配置的第二网络中,因此,第三节点发布放公网路由即为IPv4公网路由,第二网络内任意节点的公网标签即为IPv4公网标签。为简单描述,本申请实施例中的公网路由默认指代IPv4公网路由,公网标签默认指代IPv4公网标签。
可选的,第三节点可以基于内部网关协议(interior gateway protocol,IGP)或标签分发协议(Label Distribution Protocol,LDP)发布自身的公网路由。这样,通过第二节点和第三节点的之间的P21,第二节点可以学到去往第三节点的公网路由。第二节点学到的去往第三节点的公网路由包括:第三节点IPv4地址(即目的地址),P21 IPv4地址(即去往目的地址的下一跳地址),P21的公网标签(即去往目的地址的下一跳节点的公网标签)。
作为示例,假设第三节点的IPv4地址是3.3.3.3,第三节点的公网标签为41003,P 21的IPv4地址是4.4.4.4,P 21的公网标签为41004,则第三节点发布的自身的公网路由为:目的地址3.3.3.3,下一跳地址3.3.3.3,公网标签41003。这样,P21作为第 三节点的邻居节点即可接收到第三节点发布的自身的公网路由。P21在接收到该公网路由后,将该公网路由中的下一跳地址修改为自己的地址,并将该公网路由中的公网标签修改为自己的公网标签,然后P21发布去往第三节点的公网路由:目的地址3.3.3.3,下一跳地址4.4.4.4,公网标签41004。这样,作为P21邻居节点的第二节点即能接收到P21发布的去往第三节点的公网路由,也即,第二节点学习到了去往第三节点的公网路由。
S402、第二节点根据学到的去往第三节点的公网路由生成第二路由。
具体的,第二节点为学到的去往第三节点的公网路由中的目的地址(即第三节点的IPv4地址)分配唯一对应的第二SID,并将学到的去往第三节点的公网路由中的下一跳地址修改为自己的IPv6地址,以生成第二路由。其中,第二路由包括第三节点的IPv4地址,第二SID以及第二节点的IPv6地址(即下一跳地址)。第二路由即为第二节点要发布的去往第三节点的公网路由。
可选的,第二节点可以基于第三预设策略为学到的去往第三节点的公网路由中的目的地址(即地三节点)增加第二预设前缀,以得到与该目的地址唯一对应的第二SID。
可选的,第二预设前缀可以是“FFFE::”,或者是“FFFF::”。其中,F和E可以取任意的十六进制数。示例性的,若F取值0,且第二预设前缀是“FFFF::”,则第二预设前缀为“0000::”。进一步的,第二SID即为“0000::第三节点的IPv4地址”。
举例说明,第二预设前缀和上文所述的第一预设前缀不同,从而用以区分包括预设前缀的SID是与业务标签对应的第一SID,还是与第三节点的IPv4地址对应的第二SID。换句话说,当第二预设前缀是“FFFE::”,则第一预设前缀是“FFFF::”。或者,当第二预设前缀是“FFFF::”,则第一预设前缀是“FFFE::”。
作为示例,假设第二节点学到的去往第三节点的公网路由是目的地址3.3.3.3,下一跳地址5.5.5.5,公网标签41003,第二预设前缀是“FFFF::”,且F取值是0,则第二SID即为“0000::3.3.3.3”。如果第二节点的IPv6地址是0000::2.2.2.2,则第二节点生成的第二路由为:目的地址3.3.3.3,0000::3.3.3.3,0000::2.2.2.2。
可选的,第二节点还可以为学到的去往第三节点的公网路由中的目的地址(即第三的IPv4地址)分配任意SID,并以该任意SID作为与该目的地址唯一对应的第二SID。例如,该任意SID可以是不包括该目的地址的任意SID。在这种情况下,第二节点中记录学到的去往第三节点的公网路由中的目的地址、以及与该目的地址唯一对应的第二SID的第二对应关系。这样,第二节点可以基于接收到的待转发报文的SID list中的SID和预先记录的第二对应关系,确定与该SID唯一对应的目的地址。这样的话,当第二节点在基于接收到的待转发报文的SID list中的SID确定出唯一对应的目的地址后,还可以基于该目的地址查询到第二节点学到的去往第三节点的公网路由,并进一步确定出该公网路由中的公网标签(即去往第三节点的下一跳P21的公网标签)。
S403、第二节点向第一节点发送第二路由。
第二节点和第一节点均位于以IPv6配置的第一网络中,因此,第二节点和第一节点之间可以预先建立有第二节点至第一节点的IPv6隧道。这样,第二节点即可基于第二节点至第一节点的IPv6隧道,向第一节点发送第二路由。
可选的,第二节点可以预先通过配置源地址和目的地址来建立第二节点至第一节 点的IPv6隧道。作为示例,假设第二节点的IPv6地址是0000::2.2.2.2,第一节点的IPv6地址是0000::1.1.1.1,则当需要建立第二节点至第一节点的IPv6隧道时,可以预先为第二节点配置源地址0000::2.2.2.2,以及均配置目的地址0000::1.1.1.1。这样,即建立了第二节点至第一节点的IPv6隧道。
第二节点通过第二节点至第一节点的IPv6隧道来传递去往第三节点的公网路由。对于位于第二节点和第一节点之间的P11和P12,只对用于承载该公网路由的报文进行转发即可。
第二节点至第一节点的IPv6隧道还可以用于传输业务报文。
S404、第一节点接收第二路由。
响应于S402,第一节点接收到第二路由。第一节点在接收到第二路由后,基于第二路由获得公网路由表中的一条表项。这样,第一节点即学到了去往第三节点的公网路由。
在另一些实施例中,本申请实施例可以通过图8所示的方法实现第一节点学习去往第三节点的公网路由。参考图8,图8示出了本申请实施例提供的又一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S501、第三节点发布自身的公网路由,以使第二节点学到去往第三节点的公网路由。
这里,S501的详细说明可以参考上文S401的描述,不再赘述。
S502、第二节点发布去往第三节点的公网路由,以使第一网络的控制器学到该去往第三节点的公网路由。
其中,第二节点发布的去往第三节点的公网路由,是将第二节点学到的去往第三节点的公网路由中的下一跳地址修改为自己的IPv6地址后得到的路由。
作为示例,假设第二节点的IPv6地址是0000::2.2.2.2,且第二节点学到的去往第三节点的公网路由是:目的地址3.3.3.3,下一跳地址4.4.4.4(P21的IPv4地址),公网标签41004(P21的公网标签)。则第二节点将该公网路由的下一跳地址修改为0000::2.2.2.2,从而得到用于发布的去往第三节点的公网路由:目的地址3.3.3.3,下一跳地址0000::2.2.2.2,公网标签41004。这样,当第二节点将该公网路由发布出去,第一网络的控制器则可以学到该公网路由。
举例说明,第一网络的控制器可以基于全局角度在第一网络的PE之间规划传输效率较高的报文转发路径,并可以将规划的报文转发路径发送至相关的PE,从而使得相关的PE基于该报文转发路径传输报文。
例如,该控制器可以在第一节点和第二节点之间规划从第一节点至第二节点途经最少节点的第一路径,或者,该控制器可以在第一节点和第二节点之间规划从第一节点至第二节点的业务传输量最少的第一路径。当然不限于此。这样,当该控制器将第一路径发送至第一节点,第一节点即可基于第一路径向第二节点转发报文,从而提高了报文的传输效率。
类似的,该控制器可以在第一节点和第二节点之间规划从第二节点至第一节点途经最少节点的第二路径,或者,该控制器可以在第一节点和第二节点之间规划从第二节点至第一节点的业务传输量最少的第二路径。当然不限于此。这样,当控制器将第 二路径发送至第二节点,第二节点即可基于第二路径向第一节点转发报文,从而提高了报文的传输效率。
第一网络的控制器能够与第一网络的PE之间通信。
S503、第一网络的控制器根据从第二节点接收到的去往第三节点的公网路由生成第二路由。
第一网络的控制器为从第二节点接收到的去往第三节点的公网路由中的目的地址(即第三节点的IPv4地址)分配唯一对应的第二SID,以生成第二路由。其中,第一网络的控制器为从第二节点接收到的去往第三节点的公网路由中的目的地址分配唯一对应的第二SID的详细说明,可以参考上文S402中第二节点为去往第三节点的公网路由中的目的地址分配第二SID的描述,不再赘述。
举例说明,第一网络的控制器为从第二节点接收到的去往第三节点的公网路由中的目的地址分配唯一对应的第二SID后,可以将第二SID以及与第二SID唯一对应的目的地址发送至第二节点,以使第二节点记录第二对应关系。第二对应关系的详细说明可以参考上文,不再赘述。
在本申请实施例中,第一网络的控制器不仅可以在PE之间规划传输效率较高的报文转发路径,该控制器还可以根据从PE学到的去往第二网络中PE的公网路由,生成包括与该公网路由中目的地址唯一对应的SID的公网路由。
S504、第一网络的控制器向第一节点发送第二路由。
第一网络的控制器可以基于与第一节点之间的通信,向第一节点发送第二路由。
可选的,第一网络的控制器还可以向第一节点发送第一路径的信息,以及向第二节点发送第二路径的信息。其中,第一路径和第二路径的说明可以参考上文对第一路径的描述,这里不予赘述。
S505、第一节点接收第二路由。
响应于S504,第一节点接收到第二路由。第一节点在接收到第二路由后,基于第二路由获得IPv4公网路由表中的一条表项。这样,第一节点即学到了去往第三节点的公网路由。
相比第一节点通过S401-S404学到去往第三节点的公网路由,第一节点通过S501-S505学习去往第三节点的公网路由时,第一网络的第二节点无需执行为该公网路由中的目的地址分配第二SID的算法,该算法由第一网络的控制器执行。这样的话,可以节省第二节点的计算资源。
在又一些实施例中,本申请实施例可以通过图9所示的方法实现第三节点学习去往第一节点的公网路由。在图9所述的方法中,第二网络支持MPLS-LDP。参考图9,图9示出了本申请实施例提供的又一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S601、第一节点向第二节点发送自身的公网路由。
在本申请实施例中,第一节点发布的公网路由是IPv4公网路由。这样才能实现报文通过IPv6配置的第一网络和通过IPv4的第二网络传输,即实现技术上的向下兼容。
具体的,第一节点配置有IPv4,即位于第一网络的第一节点配置有IPv4地址。因此第一节点的公网路由为:目的地址为第一节点的IPv4地址,第一节点的IPv6地址, 以及下一跳(即第一节点)的IPv6地址。
作为示例,假设第一节点的IPv4地址为1.1.1.1,且该第一节点的IPv6为
0000::1.1.1.1.1,则第一节点的公网路由为:目的地址1.1.1.1,目的地址的IPv6地址0000::1.1.1.1.1,下一跳地址0000::1.1.1.1.1。
第一节点和第二节点之间可以预先建立有第一节点至第二节点的IPv6隧道。这样,第一节点即可基于第一节点至第二节点的IPv6隧道,向第二节点发送自身的公网路由。
可选的,第一节点可以预先通过配置源地址和目的地址来建立IPv6隧道。作为示例,假设第一节点的IPv6地址是0000::1.1.1.1,第二节点的IPv6地址是0000::2.2.2.2,则当需要建立第一节点至第二节点的IPv6隧道时,可以预先为第一节点均配置源地址0000::1.1.1.1,以及均配置目的地址0000::2.2.2.2。这样,即建立了第一节点至第二节点的IPv6隧道。
在第一节点通过第一节点至第二节点的IPv6隧道来传递第一节点的公网路由时,对于位于第一节点和第二节点之间的P11和P12,只对用于承载该公网路由的报文进行转发即可。
第一节点至第二节点的IPv6隧道还可以用于传输业务报文。
S602、第二节点根据接收到的第一节点的公网路由,生成并发布去往第一节点的公网路由。
第二节点在接收到第一节点公网路由后,为第一节点分配公网标签,以及建立该公网标签和第一节点IPv6地址(第二节点接收到的第一节点的公网路由中包括第一节点的IPv6地址)之间的第三对应关系。这样,当第二节点确定接收到的报文中的公网标签是第二节点为第一节点分配的公网标签时,则第二节点可以进一步根据第一节点的公网标签和第三对应关系,确定出第一节点的IPv6地址。其中,第二节点为第一节点分配的公网标签为IPv4公网标签。
第二节点还将接收到的第一节点的公网路由中的下一跳地址修改为自己的IPv4地址,并在路由中添加第二节点为第一节点分配的公网标签,从而得到去往第一节点的公网路由。
然后,第二节点可以发布该去往第一节点的公网路由。例如,位于第二网络的第二节点可以基于IGP或LDP来发布该去往第一节点的公网路由。作为示例,假设第二节点接收到的第一节点的公网路由为:目的地址1.1.1.1,目的地址的IPv6地址
0000::1.1.1.1.1,下一跳地址0000::1.1.1.1.1。如果第二节点的IPv4地址为2.2.2.2,第二节点为第一节点分配的IPv4公网标签为41001,则第二节点发布的去往第一节点的公网路由为:目的地址1.1.1.1,下一跳地址2.2.2.2,IPv4公网标签41001。
S603、第三节点从第二节点学到去往第一节点的公网路由。
响应于S602,第三节点可以学到第二节点发布的去往第一节点的公网路由。
作为示例,假设第二节点发布的去往第一节点的公网路由为:目的地址1.1.1.1,下一跳地址2.2.2.2,IPv4公网标签41001。且作为第二节点邻居节点的P21的IPv4地址是4.4.4.4,公网标签是41004。则P21可以接收到第二节点发布的去往第一节点的公网路由。P21在接收到第二节点发布的去往第一节点的公网路由后,将该公网路由中的下一跳地址修改为自己的IPv4地址,并将该IPv4路由中的公网标签修改为自己 的公网标签。然后,P21发布去往第一节点的公网路由:目的地址1.1.1.1,下一跳地址4.4.4.4,公网标签41004。这样,作为P21邻居节点的第三节点即可系接收到P21发布的去往第一节点的公网路由,从而,第三节点即学到了去往第一节点的公网路由。
然后,第三节点可以基于学到的去往第一节点的公网路由获得公网路由表中的一条表项。
在又一些实施例中,本申请实施例可以通过图10所示的方法实现第三节点学习去往第一节点的公网路由。举例说明,在图10所述的方法中,第二网络支持SR-MPLS。参考图10,图10示出了本申请实施例提供的又一种报文传输方法的流程示意图。该方法可以包括以下步骤。
S701、第一节点向第二节点发送自身的公网路由。
S701的详细说明可以参考上文S601的描述,不再赘述。
S702、第二节点根据接收到的第一节点的公网路由,生成并发布去往第一节点的公网路由。
S702的详细说明可以参考上文S602的描述,不再赘述。
S703、第二网络的控制器接收第二节点发布的去往第一节点的公网路由。
作为响应,与第二节点通信的第二网络的控制器可以接收到第二节点发布的去往IPv4公网路由。
第二网络的控制器可以基于全局角度在第二网络的PE之间规划传输效率较高的报文转发路径,并可以将规划的报文转发路径发送至相关的PE,从而使得相关的PE基于该报文转发路径传输报文。例如,该控制器可以在第三节点和第二节点之间规划从第三节点至第二节点途经最少节点的第三路径,或者,该控制器可以在第三节点和第二节点之间规划从第三节点至第二节点的业务传输量最少的第三路径。当然不限于此。这样,当该控制器将第三路径发送至第三节点,第三节点即可基于第三路径向第二节点转发报文,从而提高了报文的传输效率。
类似的,该控制器可以在第三节点和第二节点之间规划从第二节点至第三节点途经最少节点的第四路径,或者,该控制器可以在第三节点和第二节点之间规划从第二节点至第三节点的业务传输量最少的第四路径。当然不限于此。这样,当该控制器将第四路径发送至第二节点,第二节点即可基于第四路径向第三节点转发报文,从而提高了报文的传输效率。
S704、第二网络的控制器向第三节点发送接收到的去往第一节点的公网路由。
可选的,第二网络的控制器还可以向第三节点发送第三路径的信息,以及向第二节点发送第四路径的信息。这里,第三路径和第四路径的说明可以参考上文,这里不做赘述。第二网络的控制器还将规划的第四路径发送至第四节点,不再赘述。
S705、第三节点接收去往第一节点的公网路由。
响应于S704,第三节点接收到去往第一节点的公网路由。第三节点接收到去往第一节点的公网路由后,基于该公网路由获得公网路由表中的一条表项。至此,第一节点可以通过图7或图8所示的方法学到去往第三节点的公网路由,第三节点则可以通过图9或图10的方法学到去往第一节点的IPv4公网路由。也就是说,通过图7或图8,以及图9或图10的方法,打通了支持SRv6的第一网络中PE(例如第一节点)和 支持MPLS-LDP/SR-MPLS的第二网络中PE(例如第三节点)之间的报文传输通道。这样,基于第一节点和第三节点之间的报文传输通道,第一节点可以向第三节点转发业务报文,第三节点也可以向第一节点转发业务报文。
当然,第一节点和第三节点之间也可以基于打通的报文传输通道来建立BGP邻居关系。这样,第一节点可以通过该BGP邻居关系学到第三节点的业务路由,而第三节点也可以通过该BGP邻居关系学到第一节点的业务路由。例如,第一节点和第三节点可以基于建立的BGP邻居关系实现图1所述的报文传输方法。
下面,基于第一节点和第三节点学习到的业务路由来实现业务报文的转发。举例说明,这里的业务报文可以是L3业务类型的业务报文,或者是L2多点业务类型的业务报文,还可以是L2点到点业务类型的业务报文,本申请实施例对此不作限定。
参考图11,图11示出了本申请实施例提供的一种报文传输方法的流程示意图。该方法可以应用于上文所述的第一网络,以及与第一网络连接的第二网络。可选的,执行本申请实施例方法的第一网络中的节点(例如第一节点和第二节点)和第二网络中的节点(例如第三节点)具有如图3所示的硬件结构。该方法可以包括以下步骤。
S801、第一节点接收第一报文。
其中,第一报文是来自第一网络之外的业务报文。举例说明,本申请实施例中的第一报文可以是用于承载业务数据的报文,也可以是控制类报文,本申请实施例对此不作限定。
作为示例,第一报文可以是L3业务类型的业务报文,或者是L2多点业务类型的业务报文,还可以是L2点到点业务类型的业务报文,本申请实施例对此不作限定。
S802、第一节点根据第一报文确定第一SID。
第一节点可以根据第一报文的目的地址确定去往该目的地址的路由,并将该路由中的SID确定为第一SID。具体的,第一节点可以根据第一报文的目的地址查询第一节点的业务路由表,以确定去往该目的地址的路由,并将该路由中的SID确定为用于指示第一报文的业务标签的SID。作为示例,假设第一报文中的目的地址是10.1.1.2,则第一节点基于10.1.1.2查询第一节点的业务路由表,从而确定表2所示的业务路由1是用于转发第一报文的路由。这样,第一节点则将业务路由1中的SID确定为用于指示第一报文业务标签的SID。
下文中以第一报文的目的地址是上文中所述第一路由中的目的地址为例进行说明。
当第一报文的目的地址是上文中所述第一路由中的目的地址,则第一路由即为去往第一报文目的地址的路由。也就是说,第一路由的目的地址即为第一报文的目的地址。并且由上文可知,第一路由的下一跳地址为第三节点的IPv4地址,以及第一路由中还包括通过第一路由传输的业务报文的业务标签唯一对应的第一SID。换句话说,当第一节点根据第一报文确定的路由是第一路由,则第一路由中第一SID即用于指示第一报文的业务标签。
S803、第一节点根据第一报文和第一SID,生成第二报文。
第一节点可以基于第一路由中的下一跳地址(即第三节点的IPv4地址)查询公网路由表,从而确定用于指示去往第三节点的第二路由。
基于上文所述,第二路由为去往第三节点的公网路由,第二路由包括第三节点的 IPv4地址(即目的地址)、与第三节点的IPv4地址唯一对应的第二SID,以及第二节点的IPv6地址(即下一跳地址)。
这样的话,第一节点可以基于第一路由和第二路由生成第二报文。可选的,第二报文的报文负载和第一报文的报文负载相同。
具体的,第一节点可以在根据第二路由确定去往第三节点(即第一路由中下一跳)的下一跳地址后,即基于去往第三节点的下一跳地址生成第二报文的IPv6报文头。第二报文的IPv6报文头中的目的地址即为去往第三节点的下一跳地址(即第二节点的IPv6地址),第二报文的IPv6报文头中的源地址即为第一节点的IPv6地址。以及,第一节点可以根据第一路由中的第一SID、以及与第一路由的下一跳地址(即第三节点的IPv4地址)唯一对应的第二路由中的第二SID,生成第二报文的SID list。第二报文的SID list中包括第一SID和第二SID。举例说明,在申请实施例中,第二报文中的SID list用于确定第二报文的报文负载在第二网络中传输时的MPLS报文头。
作为示例,假设第一路由是上文表2所示的业务路由1:目的地址10.1.1.2,下一跳地址3.3.3.3(第三节点的IPv4地址),第一SID FFFE::40002。第一节点根据第一路由的下一跳地址3.3.3.3确定的第二路由为:目的地址3.3.3.3(第三节点的IPv4地址),目的地址的IPv6地址0000::3.3.3.3(第二SID),下一跳节点(即第二节点)的IPv6地址0000::2.2.2.2。并且,假设第一节点的IPv6地址为0000::1.1.1.1,则第一节点根据去往第三节点的下一跳节点的IPv6地址0000::2.2.2.2以及第一节点的IPv6地址0000::1.1.1.1,可以生成第二报文的IPv6报文头:源地址0000::1.1.1.1、目的地址0000::2.2.2.2。以及,第一节点可以根据第一路由中的业务标签第一SID FFFE::40002和第一路由的下一跳IPv4地址3.3.3.3唯一对应的第二路由中的第二SID 0000::3.3.3.3,生成第二报文的SID list:FFFE::40002、0000::3.3.3.3。这样,第一节点可以根据上述生成的IPv6报文头、SID list以及第一报文的报文负载,生成第二报文。
结合上文所述,如图12所示,图12示出了本申请实施例中所述第二报文的结构示意图。第二报文是当前SRv6的标准报文传输格式。
这样的话,相比图1所示的报文结构,在第二报文中的SID list和报文负载之间,无需插入去往第一报文的业务标签。这样,第一网络在传输第二报文时,可以对第二报文按照当前SRv6的标准来解析第二报文,从而可以为其提供增值服务。
S804、第一节点向第二节点发送第二报文。
第一节点可以通过第一节点至第二节点的IPv6隧道,向第二节点发送第二报文。其中,第一节点和第二节点之间可以预先建立第一节点至第二节点的IPv6隧道,具体可以参考上文中建立第一节点至第二节点的IPv6隧道的相关描述,这里不再赘述。
可选的,第一节点至第二节点之间的IPv6隧道途经的路径,例如可以上文所述的由第一网络中控制器规划的第一路径,不再赘述。
S805、第二节点接收第二报文,并根据第二报文生成第三报文。
响应于S804,第二节点接收到第二报文。第二节点接收到第二报文后,可以根据第二报文生成第三报文。可选的,第二报文的报文负载和第三报文的报文负载相同。第二节点可以先根据第二报文的SID list确定第二报文的业务标签和用于向去往第二报文的报文负载中目的地址的下一跳节点转发报文的公网标签。然后,第二节点根据 该业务标签、公网标签以及第二报文,生成第三报文。第二节点根据第二报文的SID list确定业务标签和公网标签即为第三报文的MPLS报文头。
可选的,第二节点中预置有上文所述的第二预设策略。这样,第二节点可以基于第二预设策略的指示,去除第二报文SID list中第一SID的第一预设前缀,以得到与第一SID唯一对应的业务标签。基于上文所述,该业务标签即为第一/二/三报文的业务标签。
作为示例,假设第二报文的SID list为:FFFE::40002、0000::3.3.3.3,且第二预设策略指示的第一预设前缀是“FFFE::”,则第二节点确定SID“FFFE::40002”是第一SID,并可以将第一SID的第一预设前缀去除,以得到与第一SID唯一对应的业务标签:40002。
可选的,第二节点中预置有上文S102所述的第一对应关系。这样,第二节点可以根据第一对应关系的指示,为接收到的第二报文SID list中的第一SID确定唯一对应的业务标签。
作为示例,假设第二报文的SID list为:FFFE::40002、0000::3.3.3.3,且第一对应关系为:FFFE::40002对应40002,则第二节点确定SID“FFFE::40002”是第一SID,并可以将40002确定为与第一SID唯一对应的业务标签。
此外,第二节点还可以根据第二报文SID list中的第二SID,确定与第二SID唯一对应的第三节点的IPv4地址。进一步的,第二节点根据确定出的第三节点的IPv4地址,确定用于向第三节点转发报文的公网标签。
可选的,第二节点中预置有上文所述的第三预设策略。这样,第二节点可以基于第三预设策略的指示第二预设前缀,确定第二报文SID list中的第二SID。然后,第二节点去除第二SID的第二预设前缀,即得到与第二SID唯一对应的第三节点的IPv4地址。这样,第二节点可以根据确定出的第三节点的IPv4地址,确定出第二节点预先学到的去往第三节点的公网路由。这样,第二节点可以将该公网路由中的公网标签,确定为用于向第三节点转发报文的公网标签。
作为示例,假设第二报文的SID list为:FFFE::40002、0000::3.3.3.3,且第三预设策略指示的第二预设前缀是“0000::”,则第二节点将0000::3.3.3.3确定为第二SID,并将第二SID中的第二预设前缀去除,从而得到与第二SID唯一对应的第三节点的IPv4地址3.3.3.3。进一步的,第二节点根据确定的IPv4地址3.3.3.3确定出去往该地址的公网路由:目的地址3.3.3.3,下一跳地址4.4.4.4,公网标签41004。这样,第二节点即可将该公网路由中的公网标签确定为用于向第三节点转发报文的公网标签。
可选的,第二节点还可以根据上文S402所述的第二对应关系,确定与第二报文SID list中第二SID唯一对应的第三节点的IPv4地址。这样,第二节点可以根据确定出的第三节点的IPv4地址,确定出第二节点预先学到的去往第三节点的公网路由。这样,第二节点可以将该公网路由中的公网标签,确定为用于向第三节点转发报文的公网标签。
作为示例,假设第二报文的SID list为:FFFE::40002、0000::3.3.3.3,且第二对应关系为:IPv6地址0000::3.3.3.3对应的IPv4地址为3.3.3.3,则第二节点将0000::3.3.3.3确定为第二SID,并将3.3.3.3确定为与第二SID具有唯一对应关系的第三节点的IPv4 地址。进一步的,第二节点根据确定的IPv4地址3.3.3.3确定出去往该地址的公网路由:目的地址3.3.3.3,下一跳地址4.4.4.4,公网标签41004。这样,第二节点即可将该公网路由中的公网标签确定为用于向第三节点转发报文的公网标签。
这样的话,第二节点即可基于确定出的业务标签、公网标签以及第二报文的报文负载,生成第三报文。
结合上文所述,如图13所示,图13示出了本申请实施例中所述第三报文的结构示意图。第三报文是当前MPLS的标准报文传输格式。
S806、第二节点向第三节点发送第三报文。
第二节点可以通过MPLS-LDP或SR-MPLS向第三节点发送第三报文、第二节点通过MPLS-LDP或SR-MPLS向第三节点发送第三报文的具体过程,本申请实施例对此不作详述。
S807、第三节点根据接收到的第三报文中的业务标签,确定下一跳地址,以及向该下一跳地址发送包括第三报文的报文负载的业务报文。
响应于S806,第三节点接收到第三报文。第三节点在接收到第三报文后,根据第三报文中的业务标签,以及第三报文的报文负载中的目的地址,确定下一跳地址。接着,第三节点向该下一跳地址发送包括第三报文的报文负载的业务报文。
这样,通过S801-S807所述的方法,实现了当第一报文去往该第一报文的目的地址需要经过第一网络和第二网路时的顺利传输。并且,第一报文的报文负载在支持SRv6的第一网络中传输时,承载该报文负载的第二报文的格式为标准格式,即第一网络中的VAS节点可以对第二报文进行正常解析,从而可以为其提供增值服务。
此外,为实现S801-S807所述的方法,第一网络的PE预先学习第二网络PE公网路由以及业务路由时,只需对第一网络侧的PE进行相关修改和配置。换句话说,本申请提供的面向SRv6演进过程中,第二网络是无感知的。并且,第一网络仅需在PE和SPE上配置IPv4即可,而第一网络的P节点则无需配置IPv4,也就是说,本申请提供的方法能够节省有限的IPv4资源。
参考图14,图14示出了本申请实施例提供的另一种报文传输方法的流程示意图。该方法可以应用于上文所述的第一网络,以及与第一网络连接的第二网络。可选的,执行本申请实施例方法的第一网络中的节点(例如第一节点和第二节点)和第二网络中的节点(例如第三节点)具有如图3所示的硬件结构。该方法可以包括以下步骤。
S901、第三节点接收业务报文。
第三节点所接收的业务报文来自第二网络之外的业务报文。举例说明,这里的业务报文可以是用于承载业务数据的报文,也可以是控制类报文,本申请实施例对此不作限定。作为示例,第三节点所接收的业务报文可以是L3业务类型的业务报文,或者是L2多点业务类型的业务报文,还可以是L2点到点业务类型的业务报文,本申请实施例对此不作限定。
S902、第三节点根据接收到的业务报文生成第四报文。
第三节点可以根据接收到的业务报文的目的地址确定去往该目的地址的路由,并基于该路由生成第四报文。具体的,第三节点可以根据接收到的业务报文的目的地址查询第三节点的业务路由表,以确定去往该目的地址的路由。然后,第三节点基于该 路由生成第四报文。作为示例,假设第三节点根据接收到的业务报文中的目的地址是10.1.1.1,则第三节点基于该目的地址查询第三节点的业务路由表,从而确定表3所示的业务路由2是用于转发该业务报文的路由。这样,第三节点则根据业务路由2和接收到的业务报文的报文负载,生成第四报文。
下文中以第三节点所接收到的业务报文的目的地址是上文中所述第二业务路由中的目的地址为例进行说明。当第三节点所接收到的业务报文的目的地址是上文中所述第二业务路由中的目的地址,则去往该目的地址的路由即为上文所述的第二业务路由。这样的话,第三节点可以基于第二业务路由和该业务报文的报文负载,生成第四报文。
第三节点可以先将第二业务路由中的业务标签确定为第四报文的业务标签,以及根据第二业务路由中的下一跳地址确定用于转发第四报文的公网标签。
其中,第三节点根据第二业务路由中的下一跳地址确定用于转发第四报文的公网标签的具体过程可以包括:第三节点根据第二业务路由中的下一跳地址查询公网路由表,确定去往该下一跳地址的公网路由。然后,第三节点可以将该公网路由中的公网标签,确定为用于转发第四报文的公网标签。
作为示例,假设第二业务路由是表3所示的业务路由2:目的地址10.1.1.1,下一跳地址1.1.1.1(即第一节点的IPv4地址),业务标签40001,则第三节点可以将业务路由2中的业务标签40001确定为第四报文的业务标签。并且,第三节点根据业务路由2中的下一跳地址1.1.1.1查询公网路由表,确定去往该下一跳地址1.1.1.1的公网路由为:目的地址1.1.1.1(第一节点的IPv4地址),下一跳(P21)地址4.4.4.4,公网标签41004(P21的公网标签)。这种情况下,第三节点则将该公网路由中的IPv4公网标签41004确定为用于转发第四报文的公网标签。
这样,第三节点基于确定的业务标签、公网标签以及接收到的业务报文的负载,生成第四报文。其中,第三节点所确定的业务标签和公网标签即作为第四报文的MPLS报文头。例如,第四报文的MPLS报文头上述示例中确定的公网标签41004和业务标签40001。
S903、第三节点向第二节点发送第四报文。
第三节点可以通过第四报文中的公网标签,在第二网络中传输第四报文,从而将第四报文发送至第二节点。
作为示例,以第三节点生成的第四报文中的公网标签是第二网络中P21的公网标签41004为例,则第三节点可以将第四报文发送至P21。接着,P21通过查询路由表,可以确定与P21的公网标签41004对应的公网标签是第二节点为第一节点分配的公网标签41001(P21的路由表中,包括有第三节点通过P21学习其他网络中PE(例如第一节点)的公网路由时的路由信息)。因此,P21可以将第四报文中的公网标签替换为第二节点为第一节点分配的公网标签41001,并将替换公网标签后的第四报文发送至第二节点。
S904、第二节点接收到第四报文,并基于第四报文生成第五报文。
响应与于S903,第二节点接收到第四报文。第二节点接收到第四报文后,根据第四报文生成第五报文。具体的,第二节点可以根据接收到的第四报文中的公网标签,确定该公网标签是第二节点预先为第一节点分配的公网标签,则第二节点可以将第一 节点确定为接收第五报文的目的节点。这样,第二节点可以根据第一节点的公网标签和上文所述的第三对应关系,确定第一节点的IPv6地址。进一步的,第二节点可以根据第一节点的IPv6地址和第二节点的IPv6地址,生成第五报文的IPv6报文头。
作为示例,假设第二节点接收到的P21发送的第四报文的公网标签为41001,且第二节点预先为第一节点分配的公网标签也是41001,则第二节点将第一节点确定为接收第五报文的目的节点。然后,第二节点根据第一节点的公网标签41001和上文所述的第三对应关系,确定第一节点的IPv6地址的0000::1.1.1.1,假设第二节点的IPv6地址是0000::2.2.2.2,则第二节点可以将第一节点的IPv6地址的0000::1.1.1.1确定为第五报文的IPv6报文头的目的地址,并将第二节点的IPv6地址是0000::2.2.2.2确定为第五报文的IPv6报文头的源地址。
此外,第二节点还可以根据第一节点的IPv6地址和接收到的第四报文中的业务标签,生成第五报文的SID list。具体的,第二节点可以基于接收到的第四报文中的业务标签和预置的第四对应关系,确定与第四报文中的业务标签对应的第三SID。其中,第四对应关系用于指示该业务标签和第三SID的对应关系。进一步的,第二节点可以将第一节点的IPv6地址和确定出的第三SID确定为第五报文的SID list,也即,第五报文的SID list包括第一节点的IPv6地址和第三SID。
举例说明,在S901之前,当第三节点学习第一节点的第二业务路由时,第二节点可以在向第三节点转发第一节点的第二业务路由时,为第二业务路由中的业务标签分配对应的第三SID,并建立指示该业务标签和第三SID对应关系的第四对应关系。并且,第二节点还将第四对应关系发送至第一节点,以便第一节点根据第四对应关系,确定与所接收到的报文中的第三SID对应的业务标签。
或者,在S901之前,第三节点学习第一节点的业务路由时,第一节点可以为自己的第二业务路由中的业务标签分配对应的第三SID,并建立指示该业务标签和第三SID对应关系的第四对应关系。并且,第一节点还将第四对应关系发送至第二节点,以便第二节点根据第四对应关系,确定与所接收到的报文中的业务标签对应的第三SID。
其中,第二节点/第一节点为第二业务路由中的业务标签分配对应的第三SID的详细说明,可以参考第一节点为第一业务路由中的业务标签分配第一SID的描述,不再赘述。
作为示例,假设第二节点接收到的第四报文的业务标签为40001,则第二节点可以基于第四对应关系,确定与业务标签为40001对应的第三SID是FFFE::40001。这样的话,假设第二节点根据第四报文确定的第一节点的IPv6地址是0000::1.1.1.1,则第二节点可以将第一节点的IPv6地址是0000::1.1.1.1和第三SID FFFE::40001确定为第五报文的SID list。也即,第五报文的SID list包括:第一节点的IPv6地址是
0000::1.1.1.1和第三SID FFFE::40001。
这样,第二节点根据确定出的第五报文的IPv6报文头、第五报文的SID list以及第四报文的报文负载,生成第五报文。
S905、第二节点向第一节点发送第五报文。
第二节点基于第五报文的IPv6报文头中的目的地址,通过第二节点至第一节点的IPv6隧道,向第一节点发送第五报文。其中,第一节点和第二节点之间可以预先建立 第二节点至第一节点的IPv6隧道,具体可以参考上文中建立第二节点至第一节点的IPv6隧道的相关描述,这里不再赘述。
可选的,第二节点至第一节点之间的IPv6隧道途经的路径,例如可以上文所述的由第一网络中控制器规划的第二路径,不再赘述。
S906、第一节点接收到第五报文,并基于第五报文的业务标签确定下一跳节点,以及向该下一跳节点转发包括第五报文的报文负载的业务报文。
响应于S905,第一节点接收到第五报文。
第一节点在接收到第五报文后,根据第五报文中的第三SID和第四对应关系,可以确定与第三SID对应的业务标签。接着,第一节点可以根据该业务标签和第五报文的报文负载中的目的地址,确定下一跳地址。然后,第一节点向该下一跳地址发送包括第五报文的报文负载的业务报文。
这样,通过S901-S906所述的方法,实现了当业务报文去往该业务报文的目的地址需要经过第一网络和第二网路时的顺利传输。并且,该业务报文的报文负载在支持SRv6的第一网络中传输时,承载该报文负载的第五报文的格式为标准格式,即第一网络中的VAS节点可以对第五报文进行正常解析,从而可以为其提供增值服务。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。
为了实现上述功能,如图15所示,图15示出了本申请实施例提供的一种报文传输装置150的结构示意图。报文传输装置150应用于上文所述的第一节点,报文传输装置150用于执行上述的报文传输方法,例如用于执行图4、图5、图6、图7、图8、图9、图10、图11或图14所示的方法。其中,报文传输装置150可以包括接收单元151、确定单元152、生成单元153以及发送单元154。
接收单元151,用于接收第一报文。确定单元152,用于根据第一报文确定用于指示第一报文的业务标签的第一SID。生成单元153,用于根据第一报文和第一SID生成第二报文。发送单元154,用于向第二节点转发第二报文。其中,第二报文的SID list中包括第一SID,第二节点位于第一网络和第二网络的网络边界,第二网络支持MPLS-LDP或SR-MPLS。
作为示例,结合图11,接收单元151可以用于执行S801,确定单元152可以用于执行S802,生成单元153可以用于执行S803,发送单元154可以用于执行S804。
可选的,上述第一报文的业务标签用于指示L3VPN业务、L2多点业务或L2点到点业务中的任一种。
可选的,确定单元152具体用于:根据上述第一报文中的目的地址确定第一路由,并在第一路由中确定第一SID。其中,第一路由是去往第一报文目的地址的业务路由。
作为示例,结合图11,确定单元152可以用于执行S802。
可选的,若第一路由指示的下一跳是位于第二网络边界的第三节点,则确定单元152还用于根据第一路由中的下一跳地址确定第二路由。生成单元153具体用于根据第一报文、第一SID以及第二路由中的第二SID。生成第二报文,其中,第二路由是去往第三节点的公网路由,第二SID是第三节点的SID,第二报文的SID list中包括第二SID。
作为示例,结合图11,确定单元152和生成单元153可以用于执行S803。
可选的,在接收单元151接收第一报文之前,报文传输装置150还包括:获取单元155,用于获取第一路由。
作为示例,结合图4,获取单元155可以用于执行S102。结合图5,获取单元155可以用于执行S204。
可选的,接收单元151,还用于接收路由反射器发送的第一路由,其中,第一路由是路由反射器基于第三节点发布的去往第一报文目的地址的业务路由以及为业务路由中的业务标签分配的第一SID而生成的路由。
作为示例,结合图5,接收单元151可以用于执行S204。
可选的,接收单元151,还用于接收第三节点发布的去往第一报文目的地址的业务路由。生成单元153,具体用于为该业务路由中的业务标签分配第一SID,以生成第一路由。
作为示例,结合图4,接收单元151和生成单元153可以用于执行S102。
可选的,获取单元155,还用于获取第二路由。报文传输装置150还包括建立单元156,用于根据第二路由建立与第三节点之间的邻居关系。接收单元151,具体用于基于该邻居关系,接收第三节点发布的业务路由。
作为示例,结合图7,获取单元155可以用于执行S404。结合图8,获取单元155可以用于执行S505。结合图4,接收单元151可以用于执行S102。
可选的,上述的第二网络支持MPLS-LDP时,接收单元151还用于接收第二节点发送的第二路由。其中,第二路由为第二节点基于第三节点发布的公网路由以及为第三节点的公网路由的目的地址分配的第二ID而生成的路由。
作为示例,结合图7,接收单元151可以用于执行S404。
可选的,上述的第二网络支持SR-MPLS时,接收单元151还用于接收第一网络的控制器发送的第二路由。其中。第二路由为控制器基于第三节点发布的公网路由以及为第三节点的公网路由的目的地址分配的第二ID而生成的路由。
作为示例,结合图8,接收单元151可以用于执行S505。
可选的,发送单元154,还用于通过第二节点,向第三节点发布第一节点的IPv4公网路由和第一节点的业务路由。
作为示例,结合图9,发送单元154可以用于执行S601。结合图10,发送单元154可以用于执行S701。结合图4,发送单元154可以用于执行S103。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种报文传输装置150的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图3,报文传输装置150中的确定单元152、生成单元153、建立单元156所实现的功能可以通过图3中的处理器31执行图3中的存储器32中的程序代码实现。接收单元151、发送单元154以及获取单元155所实现的功能可以通过图3中的网络接口33实现。
如图16所示,图16示出了本申请实施例提供的一种报文传输装置160的结构示意图。报文传输装置160应用于上文所述的第二节点,报文传输装置160用于执行上述的报文传输方法,例如用于执行图4、图5、图6、图7、图8、图9、图10、图11 或图14所示的方法。其中,报文传输装置160可以包括接收单元161、确定单元162以及发送单元163。
接收单元161,用于接收第一节点发送的第二报文,第二报文的SID list中包括第一SID和第二SID。确定单元162,用于根据第一SID确定对应的业务标签,以及,根据第二SID确定对应的公网标签。发送单元163,用于向第三节点发送包括该业务标签和该公网标签第三报文。其中,第一节点位于第一网络的网络边界,第一SID和第二SID是第一节点根据接收到的第一报文确定的。并且,确定单元162根据第一SID确定的业务标签是第二报文的业务标签,确定单元162根据第二SID确定的公网标签用于向第三节点转发报文,其中,第三节点位于第二网络的网络边界。
作为示例,结合图11,接收单元161和确定单元162可以用于执行S805,发送单元163可以用于执行S806。
可选的,上述的第二报文的业务标签用于指示L3VPN业务、L2多点业务或L2点到点业务中的任一种。
可选的,确定单元162,具体用于基于第一SID确定业务标签,该业务标签为去除第一SID的第一预设前缀而获得的值。
作为示例,结合图11,确定单元162可以用于执行S805。
可选的,确定单元162,具体用于根据第一SID和第一对应关系,确定业务标签。其中,第一对应关系用于指示第一SID和业务标签的对应关系。
作为示例,结合图11,确定单元162可以用于执行S805。
可选的,确定单元162还具体用于:基于第二SID确定与第二SID对应的第三节点的地址,第三节点的地址为去除第二SID的第二预设前缀而获得的值。以及,基于第三节点的地址和去往第三节点的公网路由,确定去往第三节点的下一跳节点的公网标签。
作为示例,结合图11,确定单元162可以用于执行S805。
可选的,确定单元162,还具体用于根据第二SID和第二对应关系,确定去往第三节点的下一跳节点的公网标签。其中,第二对应关系用于指示第二SID和第三节点公网标签的对应关系。
作为示例,结合图11,确定单元162可以用于执行S805。
可选的,在接收单元161接收第一节点发送的第二报文之前,发送单元163还用于:向第三节点发布第一节点的IPv4公网路由和第一节点的业务路由。
作为示例,结合图9,发送单元163可以用于执行S602。结合图10,发送单元163可以用于执行S702。
可选的,在接收单元161接收第一节点发送的第二报文之前,接收单元161还用于接收第三节点发布的公网路由。报文传输装置160还包括生成单元164,用于为第三节点发布的公网路由的目的地址分配第二SID,以生成去往第三节点的公网路由。发送单元163还用于向第一节点发送去往第三节点的公网路由。
作为示例,结合图7,接收单元161和生成单元164可以用于执行S402,发送单元163可以用于执行S403。
可选的,接收单元161,还用于接收来自第三节点的第四报文,其中,第四报文 包括第一节点的IPv4公网标签和第四报文的业务标签。确定单元162,还用于根据第一节点的IPv4公网标签确定第一节点的IPv6地址;以及,根据第四报文的业务标签确定对应的第三SID。发送单元163,还用于向第一节点转发第五报文,其中,第五报文的SID list中包括第一节点的IPv6地址和第三SID。
作为示例,结合图14,接收单元161和确定单元162可以用于执行S904,发送单元163可以用于执行S905。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种报文传输装置160的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图3,报文传输装置160中的确定单元162和生成单元164所实现的功能可以通过图3中的处理器31执行图3中的存储器32中的程序代码实现。接收单元161和发送单元163所实现的功能可以通过图3中的网络接口33实现。
本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
需要说明的是,图15或图16中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,还可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例还提供了一种第一网络,其中,第一网络支持SRv6,第一网络包括第一节点和第二节点。第一节点位于第一网络的网络边界,并用于执行上文图4、图5、图6、图7、图8、图9、图10、图11或图14所述的报文传输方法中由第一节点执行的部分。第二节点位于第一网络和第二网络的网络边界,并用于执行上文图4、图5、图6、图7、图8、图9、图10、图11或图14所述的报文传输方法中由第二节点执行的部分。其中,第二网络支持MPLS-LDP或SR-MPLS。
本申请实施例还提供一种芯片系统170,如图17所示,该芯片系统170包括至少一个处理器和至少一个接口电路。作为示例,当该芯片系统170包括一个处理器和一个接口电路时,则该一个处理器可以是图17中实线框所示的处理器171(或者是虚线框所示的处理器171),该一个接口电路可以是图17中实线框所示的接口电路172(或者是虚线框所示的接口电路172)。当该芯片系统170包括两个处理器和两个接口电路时,则该两个处理器包括图17中实线框所示的处理器171和虚线框所示的处理器171,该两个接口电路包括图17中实线框所示的接口电路172和虚线框所示的接口电路172。对此不作限定。
处理器171和接口电路172可通过线路互联。例如,接口电路172可用于接收信号(例如接收第一/第二业务路由等)。又例如,接口电路172可用于向其它装置(例如处理器171)发送信号。示例性的,接口电路172可读取存储器中存储的指令,并将该指令发送给处理器171。当该指令被处理器171执行时,可使得报文传输装置执 行上述实施例中的各个步骤。当然,该芯片系统170还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机程序产品,以及用于存储该计算机程序产品的计算机可读存储介质。该计算机程序产品可以包括一个或多个程序指令,当该一个或多个程序指令被一个或多个处理器运行时可以提供以上针对图4、图5、图6、图7、图8、图9、图10、图11或图14描述的功能或者部分功能。因此,例如,参考图11中S801~S807的一个或多个特征可以由该计算机程序产品中的一个或多个指令来承担。
在一些示例中,诸如针对图15或图16描述的报文传输装置可以被配置为,响应于通过计算机可读存储介质中存储的一个或多个程序指令,提供各种操作、功能、或者动作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (43)

  1. 一种报文传输方法,其特征在于,应用于第一网络的网络边界处的第一节点,所述第一网络支持基于互联网协议第6版的段路由SRv6,所述方法包括:
    接收第一报文;
    根据所述第一报文确定第一段标识SID,所述第一SID用于指示所述第一报文的业务标签;
    根据所述第一报文和所述第一SID生成第二报文,所述第二报文的段标识列表中包括所述第一SID;
    向第二节点转发所述第二报文,所述第二节点位于所述第一网络和第二网络的网络边界,所述第二网络支持多协议标签交换-标签分发协议MPLS-LDP或段路由-多协议标签交换SR-MPLS。
  2. 根据权利要求1所述的方法,其特征在于,所述第一报文的业务标签用于指示3层虚拟专用网L3VPN业务、2层L2多点业务或2层L2点到点业务中的任一种。
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述第一报文确定第一段标识SID包括:
    根据所述第一报文中的目的地址确定第一路由,所述第一路由是去往所述目的地址的业务路由;
    在所述第一路由中确定所述第一SID。
  4. 根据权利要求3所述的方法,其特征在于,若所述第一路由指示的下一跳是位于所述第二网络边界的第三节点,则所述根据所述第一报文和所述第一SID生成第二报文包括:
    根据所述第一路由中的下一跳地址确定第二路由,所述第二路由是去往所述第三节点的公网路由;
    根据所述第一报文、所述第一SID以及所述第二路由中的第二SID,生成所述第二报文,所述第二SID是所述第三节点的SID,所述第二报文的段标识列表中包括所述第二SID。
  5. 根据权利要求4所述的方法,其特征在于,在所述接收第一报文之前,所述方法还包括:
    获取所述第一路由。
  6. 根据权利要求5述的方法,其特征在于,所述获取所述第一路由包括:
    接收路由反射器发送的所述第一路由,所述第一路由是所述路由反射器基于所述第三节点发布的去往所述目的地址的业务路由以及为所述业务路由中的业务标签分配的所述第一SID而生成的路由。
  7. 根据权利要求5所述的方法,其特征在于,所述获取所述第一路由包括:
    接收所述第三节点发布的去往所述目的地址的业务路由;
    为所述业务路由中的业务标签分配所述第一SID,以生成所述第一路由。
  8. 根据权利要求7所述的方法,其特征在于,所述接收所述第三节点发布的去往所述目的地址的业务路由包括:
    获取所述第二路由;
    根据所述第二路由建立与所述第三节点之间的邻居关系;
    基于所述邻居关系,接收所述第三节点发布的所述业务路由。
  9. 根据权利要求8所述的方法,其特征在于,所述第二网络支持MPLS-LDP,所述获取所述第二路由包括:
    接收所述第二节点发送的所述第二路由,所述第二路由为所述第二节点基于所述第三节点发布的公网路由以及为所述第三节点的公网路由的目的地址分配的所述第二ID而生成的路由。
  10. 根据权利要求8所述的方法,其特征在于,所述第二网络支持SR-MPLS,所述获取所述第二路由包括:
    接收所述第一网络的控制器发送的所述第二路由,所述第二路由为所述控制器基于所述第三节点发布的公网路由以及为所述第三节点的公网路由的目的地址分配的所述第二ID而生成的路由。
  11. 根据权利要求8-10中任一项所述的方法,其特征在于,所述方法还包括:
    通过所述第二节点,向所述第三节点发布所述第一节点的IPv4公网路由和所述第一节点的业务路由。
  12. 一种报文传输方法,其特征在于,应用于第一网络和第二网络的网络边界处的第二节点,所述第一网络支持基于互联网协议第6版的段路由SRv6,所述第二网络支持多协议标签交换-标签分发协议MPLS-LDP或段路由-多协议标签交换SR-MPLS;所述方法包括:
    接收第一节点发送的第二报文,所述第一节点位于所述第一网络的网络边界,所述第二报文的段标识列表中包括第一段标识SID和第二SID,所述第一SID和所述第二SID是所述第一节点根据接收到的第一报文确定的;
    根据所述第一SID确定对应的业务标签,所述业务标签是所述第二报文的业务标签;
    根据所述第二SID确定对应的公网标签,所述公网标签用于向所述第三节点转发报文,所述第三节点位于所述第二网络的网络边界;
    向所述第三节点发送第三报文,所述第三报文包括所述业务标签和所述公网标签。
  13. 根据权利要求12所述的方法,其特征在于,所述第二报文的业务标签用于指示3层虚拟专用网L3VPN业务、2层L2多点业务或2层L2点到点业务中的任一种。
  14. 根据权利要求12或13所述的方法,其特征在于,所述根据所述第一SID确定对应的业务标签,包括:
    基于所述第一SID确定所述业务标签,所述业务标签为去除所述第一SID的第一预设前缀而获得的值。
  15. 根据权利要求12或13所述的方法,其特征在于,所述根据所述第一SID确定对应的业务标签,包括:
    根据所述第一SID和第一对应关系,确定所述业务标签;所述第一对应关系用于指示所述第一SID和所述业务标签的对应关系。
  16. 根据权利要求12-15中任一项所述的方法,其特征在于,所述根据所述第二SID确定对应的公网标签包括:
    基于所述第二SID确定与所述第二SID对应的第三节点的地址,所述第三节点的地址为去除所述第二SID的第二预设前缀而获得的值;
    基于所述第三节点的地址和去往所述第三节点的公网路由,确定去往所述第三节点的下一跳节点的公网标签。
  17. 根据权利要求12-15中任一项所述的方法,其特征在于,所述根据所述第二SID确定对应的公网标签包括:
    根据所述第二SID和第二对应关系,确定去往所述第三节点的下一跳节点的公网标签,所述第二对应关系用于指示所述第二SID和所述第三节点公网标签的对应关系。
  18. 根据权利要求12-17中任一项所述的方法,其特征在于,在所述接收第一节点发送的所述第二报文之前,所方法还包括:
    向所述第三节点发布所述第一节点的IPv4公网路由和所述第一节点的业务路由。
  19. 根据权利要求12-18中任一项所述的方法,其特征在于,在所述接收第一节点发送的所述第二报文之前,所述方法还包括:
    接收所述第三节点发布的公网路由;
    为所述第三节点发布的公网路由的目的地址分配所述第二SID,以生成去往所述第三节点的公网路由;
    向所述第一节点发送所述去往第三节点的公网路由。
  20. 根据权利要求12-19中任一项所述的方法,其特征在于,所述方法还包括:
    接收来自所述第三节点的第四报文,所述第四报文包括所述第一节点的IPv4公网标签和所述第四报文的业务标签;
    根据所述第一节点的IPv4公网标签确定所述第一节点的IPv6地址;
    根据所述第四报文的业务标签确定对应的第三SID;
    向所述第一节点转发第五报文,所述第五报文的段标识列表中包括所述第一节点的IPv6地址和所述第三SID。
  21. 一种报文传输装置,其特征在于,应用于第一网络的网络边界处的第一节点,所述第一网络支持基于互联网协议第6版的段路由SRv6,所述装置包括:
    接收单元,用于接收第一报文;
    确定单元,用于根据所述第一报文确定第一段标识SID,所述第一SID用于指示所述第一报文的业务标签;
    生成单元,用于根据所述第一报文和所述第一SID生成第二报文,所述第二报文的段标识列表中包括所述第一SID;
    发送单元,用于向第二节点转发所述第二报文,所述第二节点位于所述第一网络和第二网络的网络边界,所述第二网络支持多协议标签交换-标签分发协议MPLS-LDP或段路由-多协议标签交换SR-MPLS。
  22. 根据权利要求21所述的装置,其特征在于,所述第一报文的业务标签用于指示3层虚拟专用网L3VPN业务、2层L2多点业务或2层L2点到点业务中的任一种。
  23. 根据权利要求21或22所述的装置,其特征在于,所述确定单元具体用于:
    根据所述第一报文中的目的地址确定第一路由,所述第一路由是去往所述目的地址的业务路由;
    在所述第一路由中确定所述第一SID。
  24. 根据权利要求23所述的装置,其特征在于,若所述第一路由指示的下一跳是位于所述第二网络边界的第三节点,则
    所述确定单元,还用于根据所述第一路由中的下一跳地址确定第二路由,所述第二路由是去往所述第三节点的公网路由;
    所述生成单元,具体用于根据所述第一报文、所述第一SID以及所述第二路由中的第二SID,生成所述第二报文,所述第二SID是所述第三节点的SID,所述第二报文的段标识列表中包括所述第二SID。
  25. 根据权利要求24所述的装置,其特征在于,在所述接收单元接收第一报文之前,所述装置还包括:
    获取单元,用于获取所述第一路由。
  26. 根据权利要求25所述的装置,其特征在于,
    所述接收单元,还用于接收路由反射器发送的所述第一路由,所述第一路由是所述路由反射器基于所述第三节点发布的去往所述目的地址的业务路由以及为所述业务路由中的业务标签分配的所述第一SID而生成的路由。
  27. 根据权利要求25所述的装置,其特征在于,
    所述接收单元,还用于接收所述第三节点发布的去往所述目的地址的业务路由;
    所述生成单元,具体用于为所述业务路由中的业务标签分配所述第一SID,以生成所述第一路由。
  28. 根据权利要求27所述的装置,其特征在于,
    所述获取单元,还用于获取所述第二路由;
    所述装置还包括建立单元,用于根据所述第二路由建立与所述第三节点之间的邻居关系;
    所述接收单元,具体用于基于所述邻居关系,接收所述第三节点发布的所述业务路由。
  29. 根据权利要求28所述的装置,其特征在于,所述第二网络支持MPLS-LDP,
    所述接收单元,还用于接收所述第二节点发送的所述第二路由,所述第二路由为所述第二节点基于所述第三节点发布的公网路由以及为所述第三节点的公网路由的目的地址分配的所述第二ID而生成的路由。
  30. 根据权利要求28所述的装置,其特征在于,所述第二网络支持SR-MPLS,
    所述接收单元,还用于接收所述第一网络的控制器发送的所述第二路由,所述第二路由为所述控制器基于所述第三节点发布的公网路由以及为所述第三节点的公网路由的目的地址分配的所述第二ID而生成的路由。
  31. 根据权利要求28-30中任一项所述的装置,其特征在于,
    所述发送单元,还用于通过所述第二节点,向所述第三节点发布所述第一节点的IPv4公网路由和所述第一节点的业务路由。
  32. 一种报文传输装置,其特征在于,应用于第一网络和第二网络的网络边界处的第二节点,所述第一网络支持基于互联网协议第6版的段路由SRv6,所述第二网络支持多协议标签交换-标签分发协议MPLS-LDP或段路由-多协议标签交换SR-MPLS; 所述装置包括:
    接收单元,用于接收第一节点发送的第二报文,所述第一节点位于所述第一网络的网络边界,所述第二报文的段标识列表中包括第一段标识SID和第二SID,所述第一SID和所述第二SID是所述第一节点根据接收到的第一报文确定的;
    确定单元,用于根据所述第一SID确定对应的业务标签,所述业务标签是所述第二报文的业务标签;以及,根据所述第二SID确定对应的公网标签,所述公网标签用于向所述第三节点转发报文,所述第三节点位于所述第二网络的网络边界;
    发送单元,用于向所述第三节点发送第三报文,所述第三报文包括所述业务标签和所述公网标签。
  33. 根据权利要求32所述的装置,其特征在于,所述第二报文的业务标签用于指示3层虚拟专用网L3VPN业务、2层L2多点业务或2层L2点到点业务中的任一种。
  34. 根据权利要求32或33所述的装置,其特征在于,
    所述确定单元,具体用于基于所述第一SID确定所述业务标签,所述业务标签为去除所述第一SID的第一预设前缀而获得的值。
  35. 根据权利要求32或33所述的装置,其特征在于,
    所述确定单元,具体用于根据所述第一SID和第一对应关系,确定所述业务标签;所述第一对应关系用于指示所述第一SID和所述业务标签的对应关系。
  36. 根据权利要求32-35中任一项所述的装置,其特征在于,所述确定单元还具体用于:
    基于所述第二SID确定与所述第二SID对应的第三节点的地址,所述第三节点的地址为去除所述第二SID的第二预设前缀而获得的值;
    基于所述第三节点的地址和去往所述第三节点的公网路由,确定去往所述第三节点的下一跳节点的公网标签。
  37. 根据权利要求32-35中任一项所述的装置,其特征在于,
    所述确定单元,还具体用于根据所述第二SID和第二对应关系,确定去往所述第三节点的下一跳节点的公网标签,所述第二对应关系用于指示所述第二SID和所述第三节点公网标签的对应关系。
  38. 根据权利要求32-37中任一项所述的装置,其特征在于,在所述接收单元接收第一节点发送的所述第二报文之前,所述发送单元还用于:
    向所述第三节点发布所述第一节点的IPv4公网路由和所述第一节点的业务路由。
  39. 根据权利要求32-38中任一项所述的装置,其特征在于,在所述接收单元接收第一节点发送的所述第二报文之前,
    所述接收单元,还用于接收所述第三节点发布的公网路由;
    所述装置还包括生成单元,用于为所述第三节点发布的公网路由的目的地址分配所述第二SID,以生成去往所述第三节点的公网路由;
    所述发送单元,还用于向所述第一节点发送所述去往第三节点的公网路由。
  40. 根据权利要求32-39中任一项所述的装置,其特征在于,
    所述接收单元,还用于接收来自所述第三节点的第四报文,所述第四报文包括所述第一节点的IPv4公网标签和所述第四报文的业务标签;
    所述确定单元,还用于根据所述第一节点的IPv4公网标签确定所述第一节点的IPv6地址;以及,根据所述第四报文的业务标签确定对应的第三SID;
    所述发送单元,还用于向所述第一节点转发第五报文,所述第五报文的段标识列表中包括所述第一节点的IPv6地址和所述第三SID。
  41. 一种报文传输装置,其特征在于,包括:存储器、网络接口和一个或多个处理器,所述一个或多个处理器通过所述网络接口接收或发送数据,所述一个或多个处理器被配置为读取存储在所述存储器中的程序指令,以执行如权利要求1-11或12-20中任一项所述的方法。
  42. 一种第一网络,其特征在于,所述第一网络支持基于互联网协议第6版的段路由SRv6,所述第一网络包括第一节点和第二节点,其中,
    所述第一节点位于所述第一网络的网络边界,并用于执行如权利要求1-11中任一项所述的方法;
    所述第二节点位于所述第一网络和第二网络的网络边界,并用于执行如权利要求12-20中任一项所述的方法;所述第二网络支持多协议标签交换-标签分发协议MPLS-LDP或段路由-多协议标签交换SR-MPLS。
  43. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序指令,当所述程序指令在计算机或处理器上运行时,使得所述计算机或所述处理器执行权利要求1-11或12-20中任一项所述的方法。
PCT/CN2022/131753 2021-12-13 2022-11-14 一种报文传输方法及装置 WO2023109398A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111513686.0 2021-12-13
CN202111513686 2021-12-13
CN202210192475.X 2022-02-28
CN202210192475.XA CN116264589A (zh) 2021-12-13 2022-02-28 一种报文传输方法及装置

Publications (1)

Publication Number Publication Date
WO2023109398A1 true WO2023109398A1 (zh) 2023-06-22

Family

ID=86722789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/131753 WO2023109398A1 (zh) 2021-12-13 2022-11-14 一种报文传输方法及装置

Country Status (2)

Country Link
CN (1) CN116264589A (zh)
WO (1) WO2023109398A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266592A (zh) * 2019-06-21 2019-09-20 Ut斯达康通讯有限公司 Srv6网络与ip mpls网络的通信方法及装置
CN110830352A (zh) * 2018-08-07 2020-02-21 中兴通讯股份有限公司 一种vpn跨域的实现方法、装置和边界节点
CN111713079A (zh) * 2018-10-22 2020-09-25 思科技术公司 包括段路由的分组网络互通
US20200358698A1 (en) * 2018-09-05 2020-11-12 Huawei Technologies Co., Ltd. Segment routing in mpls network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830352A (zh) * 2018-08-07 2020-02-21 中兴通讯股份有限公司 一种vpn跨域的实现方法、装置和边界节点
US20200358698A1 (en) * 2018-09-05 2020-11-12 Huawei Technologies Co., Ltd. Segment routing in mpls network
CN111713079A (zh) * 2018-10-22 2020-09-25 思科技术公司 包括段路由的分组网络互通
CN110266592A (zh) * 2019-06-21 2019-09-20 Ut斯达康通讯有限公司 Srv6网络与ip mpls网络的通信方法及装置

Also Published As

Publication number Publication date
CN116264589A (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN111742525B (zh) 多云vpc路由和注册
EP2600573B1 (en) Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing
CN113411243B (zh) 数据传输方法及装置
US20230078123A1 (en) Method for Forwarding Packet in SRV6 Service Function Chain and SF Device
CN110912796B (zh) 一种通信方法、设备和系统
WO2021196717A1 (zh) 组播流量传输方法、装置、通信节点及存储介质
CN112087386B (zh) 一种报文处理的方法、设备和系统
WO2020134139A1 (zh) 一种业务数据的转发方法、网络设备及网络系统
WO2015192501A1 (zh) 地址信息的发布方法及装置
US9749239B2 (en) Transparent Rbridge
US20230300070A1 (en) Packet Sending Method, Device, and System
WO2021047320A1 (zh) 一种转发路径的确定方法及装置
WO2019165888A1 (zh) 一种利用统一sr标签栈进行报文处理的方法及装置
CN104660508A (zh) 一种报文转发方法及装置
CN108718269B (zh) 报文处理方法及装置
WO2022110535A1 (zh) 一种报文发送方法、设备及系统
KR20230101903A (ko) Bier 패킷 포워딩 방법, 디바이스 및 시스템
WO2021143279A1 (zh) 段路由业务处理方法和装置、路由设备及存储介质
WO2022121466A1 (zh) 以太虚拟专用网的数据处理方法、设备及存储介质
WO2023274083A1 (zh) 路由发布和转发报文的方法、装置、设备和存储介质
WO2022237291A1 (zh) 报文传输方法、装置、相关设备及存储介质
US8929366B2 (en) Method and apparatus for transporting packets with specific traffic flows having strict packet ordering requirements over a network using multipath techniques
WO2021073357A1 (zh) 报文处理方法、装置、系统、设备及存储介质
CN115865769A (zh) 报文处理方法、网络设备及系统
CN113630316B (zh) 一种数据传输方法及通信装置

Legal Events

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

Ref document number: 22906150

Country of ref document: EP

Kind code of ref document: A1