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

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

Info

Publication number
WO2022048381A1
WO2022048381A1 PCT/CN2021/110416 CN2021110416W WO2022048381A1 WO 2022048381 A1 WO2022048381 A1 WO 2022048381A1 CN 2021110416 W CN2021110416 W CN 2021110416W WO 2022048381 A1 WO2022048381 A1 WO 2022048381A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
tunnel
identification information
packet
forwarding
Prior art date
Application number
PCT/CN2021/110416
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 WO2022048381A1 publication Critical patent/WO2022048381A1/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
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/38Flow based routing

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a message transmission method and device.
  • network slicing technology provides an isolated network environment for different application scenarios, so that different application scenarios can customize functions and features according to their own requirements.
  • the network device serving as the head node can specify that a virtual private network (virtual private network, VPN) service will be transmitted to the next network device through a certain flexible Ethernet (flex Ethernet, flexE) interface.
  • VPN virtual private network
  • flex Ethernet flex Ethernet
  • an IPRAN network includes a cell site gateway (CSG), an aggregation site gateway (ASG), and a radio service gateway (RSG), and a VPN can be specified on the CSG.
  • CSG cell site gateway
  • ASG aggregation site gateway
  • RSG radio service gateway
  • the ASG may forward the packet through any tunnel, and the arbitrary tunnel may not have the network fragmentation resources required for forwarding the packet, which makes it difficult to guarantee the quality of the packet transmission service.
  • the embodiments of the present application provide a message transmission method and device, which can implement the network fragmentation function for the entire network without modifying the existing network.
  • a packet transmission method may include: a first network device obtains identification information, where the identification information is used to indicate a tunnel corresponding to a forwarded packet.
  • the first network device can use the first tunnel to send a message including identification information to the second network device, so that after receiving the message, the second network device The second tunnel through which the device forwards packets.
  • the second network device may send the packet to the third network device by using the second tunnel.
  • any network device on the end-to-end transmission path when a certain service traffic needs to be transmitted, for the network device that receives the service traffic, it can obtain the information used to indicate the tunnel corresponding to the forwarding service traffic.
  • next-hop network device sends a packet including the identification information to the next-hop network device, so that the next-hop network device can determine the tunnel used to forward the packet according to the identification information, and the tunnel satisfies the network distribution required for packet forwarding. fragment resources, and then use this tunnel to forward packets to ensure the quality of packet transmission.
  • the first network device may determine the first tunnel before using the first tunnel to send the packet to the second network device.
  • the manner in which the first network device determines the first tunnel may include the following two ways: one is that the first network device determines the first tunnel according to the identification information. That is, after acquiring the identification information, the first network device may determine the first tunnel according to the identification information. Another way is that the first network device determines the first tunnel according to the virtual private network identifier. That is, after receiving the packet, the first network device may determine the virtual private network to which the packet belongs, and then determine the tunnel configured for forwarding the virtual private network as the first tunnel.
  • the first network device may determine the first tunnel according to the identification information and the stored correspondence table.
  • the correspondence table includes the correspondence between the identification information and the first tunnel. That is, the first network device may pre-store the corresponding relationship between the identification information and the first tunnel, and after acquiring the identification information, the first network device may determine the first tunnel corresponding to the identification information according to the identification information and the corresponding relationship.
  • the first network device when the first network device is a head node, the first network device may obtain identification information according to local configuration information, or obtain identification information from a next-hop network device (eg, a second network device).
  • a next-hop network device eg, a second network device
  • the first network device may determine identification information according to relevant information in a packet received from a previous-hop network device (eg, a fourth network device).
  • the specific implementation may be that the first network device acquires available resource information from the second network device, and the available resource information is used to indicate Available resources of each tunnel corresponding to the second network device.
  • the first network device determines, according to the available resource information, identification information corresponding to the second tunnel, where the second tunnel satisfies the resources required for forwarding the message. That is, when the first network device can learn the available resources of each tunnel corresponding to the second network device, it can determine the tunnel that satisfies the packet forwarding requirement as the second tunnel, and simultaneously obtain the identifier corresponding to the second tunnel. information.
  • the first network device determines the identification information according to the relevant information in the packet received from the fourth network device, it may specifically include two implementation manners.
  • the first network device receives A message sent by the fourth network device, where the message includes identification information before the update, and the identification information before the update enables the fourth network device to determine the third tunnel.
  • the first network device acquires the identification information according to the identification information before updating. That is, the first network device determines the updated identification information according to the identification information before the update.
  • the first network device may determine the available resource information of the tunnel corresponding to the identification information before the update according to the identification information before the update, and then determine the tunnel corresponding to forwarding the packet according to the available resource information, and then obtain the information about the available resources. ID information corresponding to the tunnel.
  • Another way is that the first network device receives a packet sent by the fourth network device, where the packet includes identification information.
  • the identification information may include a first identification and a second identification, and the first identification is used to indicate that the packet includes the first identification.
  • Second identifier where the second identifier is used to indicate the tunnel corresponding to the forwarding packet. That is, after any network device receives the message, it obtains the first identifier and the second identifier by parsing the message.
  • the first network device uses the first tunnel to transparently transmit the data to the second network device through the forwarding network device. That is, the forwarding network device directly forwards the packet without parsing the packet.
  • the first network device when the first network device sends a packet to the second network device by using the first tunnel, it actually sends the packet to the second network device through an egress port corresponding to the first tunnel.
  • the tunnel type corresponding to the first tunnel and the tunnel type corresponding to the second tunnel may be the same, for example, both are SR-TE tunnels, or may be different, for example, the first tunnel is an SR-TE tunnel, and the first tunnel is an SR-TE tunnel.
  • the second tunnel is an RSVP-TE tunnel.
  • a method for transmitting a packet includes: a second network device receives a packet sent by a first network device, where the packet includes identification information, where the identification information is used to indicate forwarding The tunnel used by the packet.
  • the second network device determines a second tunnel according to the identification information, and sends a packet to the third network device by using the second tunnel.
  • the second network device and the third network device are end devices of the second tunnel.
  • determining, by the second network device, the second tunnel according to the identification information includes: determining, by the second network device, the second tunnel according to the identification information and the stored correspondence table, where the The correspondence table includes the correspondence between the identification information and the second tunnel. That is, the second network device may pre-store the corresponding relationship between the identification information and the second tunnel, and after acquiring the identification information, the second network device may determine the second tunnel corresponding to the identification information according to the identification information and the corresponding relationship.
  • the second network device uses the second tunnel to send the message to the third network device. Specifically, the second network device determines the updated identification information according to the identification information in the message, and the updated identification information The latter identification information is used to determine the tunnel used for instructing to forward the packet; the second network device sends a packet to the third network device by using the second tunnel, and the packet includes the updated identification information. That is, before the second network device forwards the message to the third network device, in order to enable the third network device to recognize the identification information in the message, it may obtain the updated identification information according to the current identification information, and use the updated identification information. The identification information is added to the message, so as to forward the message including the updated identification information to the third network device.
  • the identification information includes a first identification and a second identification
  • the first identification is used to indicate that the packet includes the second identification
  • the second identification is used to indicate forwarding The tunnel used by the packet.
  • the second network device uses the second tunnel to send the data to the third network device.
  • the message includes: the second network device transparently transmits the message to the third network device through the forwarding network device by using the second tunnel.
  • the second network device using the second tunnel to send the packet to the third network device includes: the second network device using the egress port corresponding to the second tunnel Send the message to the third network device.
  • a tunnel type corresponding to the second tunnel is different from a tunnel type of the first tunnel, and the first tunnel is a tunnel between the first network device and the second network device .
  • a message transmission system includes: a first network device and a second network device.
  • a first network device configured to acquire identification information, where the identification information is used to indicate a tunnel corresponding to a forwarding packet.
  • the first network device is further configured to use the first tunnel to send a packet including the identification information to the second network device, where the first network device and the second network device are the first tunnel end device.
  • the second network device is configured to determine a second tunnel according to the identification information in the packet, and use the second tunnel to forward the packet to a third network device, the second network device and the
  • the third network device is an end device of the second tunnel.
  • a device for transmitting a message includes: an acquiring unit, configured to acquire identification information, where the identification information is used to indicate a tunnel corresponding to a forwarding message; a sending unit, is configured to use the first tunnel to send the packet including the identification information to the second network device, so that the second network device determines to forward the packet to the third network device according to the identification information in the packet.
  • the second tunnel of the document, the first network device and the second network device are end devices of the first tunnel, and the second network device and the third network device are the end devices of the second tunnel equipment.
  • the apparatus before the first network device sends the packet to the second network device by using the first tunnel, the apparatus further includes: a determining unit, configured to, before executing the sending unit, The identification information is used to determine the first tunnel; or, the first tunnel is determined according to the virtual private network identification.
  • the determining unit is specifically configured to determine the first tunnel according to the identification information and a stored correspondence table, where the correspondence table includes the difference between the identification information and the first tunnel. Correspondence between.
  • the identification information is obtained by the first network device according to local configuration information, or the identification information is obtained by the first network device from the second network device, or The identification information is determined by the first network device according to relevant information in the packet received from the fourth network device, and the first network device and the fourth network device are end devices of the third tunnel .
  • the acquiring unit is specifically configured to acquire available resource information from the second network device; determine the identification information corresponding to the second tunnel according to the available resource information, and the The second tunnel satisfies the resources required for forwarding the packet.
  • the determining unit is specifically configured to receive the message sent by the fourth network device, where the message includes pre-update identification information, and the pre-update identification information makes The fourth network device determines the third tunnel; obtains the identification information according to the identification information before the update; or receives the message sent by the fourth network device, where the message includes the identification information.
  • the identification information includes a first identification and a second identification
  • the first identification is used to indicate that the packet includes the second identification
  • the second identification is used to indicate forwarding The tunnel corresponding to the packet.
  • the sending unit when a forwarding network device exists between the packet transmission apparatus and the second network device, the sending unit is specifically configured to use the first tunnel to pass through the forwarding network The device transparently transmits to the second network device.
  • the sending unit is specifically configured to send a packet to the second network device by using the egress port corresponding to the first tunnel.
  • the tunnel type corresponding to the first tunnel and the tunnel type corresponding to the second tunnel are different.
  • a message transmission apparatus includes: a receiving unit configured to receive a message sent by a first network device, the message including identification information, the identification information is used to indicate the tunnel used for forwarding the message; the determining unit is used to determine the second tunnel according to the identification information; the sending unit is used to send the message to the third network device by using the second tunnel, the The second network device and the third network device are end devices of the second tunnel.
  • the determining unit is specifically configured to determine the second tunnel according to the identification information and a stored correspondence table, where the correspondence table includes the difference between the identification information and the second tunnel. Correspondence between.
  • the sending unit is specifically configured to determine the updated identification information according to the identification information, and the updated identification information is used to determine the tunnel used to indicate the forwarding of the message; Send the message to the third network device by using the second tunnel, where the message includes the updated identification information.
  • the identification information includes a first identification and a second identification
  • the first identification is used to indicate that the packet includes the second identification
  • the second identification is used to indicate forwarding The tunnel used by the packet.
  • the sending unit when a forwarding network device exists between the packet transmission apparatus and the third network device, the sending unit is specifically configured to use the second tunnel to pass through the forwarding network The device transparently transmits to the third network device.
  • the sending unit is specifically configured to send the packet to the third network device by using the egress port corresponding to the second tunnel.
  • a tunnel type corresponding to the second tunnel is different from a tunnel type of the first tunnel, and the first tunnel is a tunnel between the first network device and the second network device .
  • a communication device in a sixth aspect of an embodiment of the present application, includes: a processor and a memory; the memory is used to store instructions; the processor is used to execute the The instructions cause the communication device to perform the method of the first aspect or the second aspect.
  • a computer-readable storage medium including instructions, which, when executed on a computer, cause the computer to execute the method described in the first aspect or the second aspect.
  • the first network device before forwarding the packet, obtains in advance the identification information used to indicate the tunnel corresponding to the forwarding packet.
  • the first network device uses the first tunnel to send a message including identification information to the second network device, and when the second network device receives the message, it can determine, according to the identification information in the message, to send the message to the third network device.
  • a second tunnel used for forwarding the message, and the second network device forwards the message to the third network device by using the second tunnel.
  • the first network device and the second network device are end devices of the first tunnel, and the second network device and the third network device are end devices of the second tunnel.
  • the network devices send packets including identification information to indicate the tunnel used for forwarding packets, so that any one of the end-to-end paths can be used as the tunnel end.
  • the network device of the device receives the packet, it can determine the tunnel used for forwarding according to the identification information in the packet, so that the network fragmentation function can be used in the entire network.
  • FIG. 1 is a schematic diagram of an application scenario
  • FIG. 2 is a schematic diagram of a scenario provided by an embodiment of the present application.
  • FIG. 3 is a flowchart of a message transmission method provided by an embodiment of the present application.
  • 4a is a schematic diagram of a message structure provided by an embodiment of the present application.
  • FIG. 4b is a schematic diagram of another message structure provided by an embodiment of the present application.
  • FIG. 5 is a flowchart of another message transmission method provided by an embodiment of the present application.
  • FIG. 6 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application.
  • FIG. 7 is a structural diagram of another message transmission apparatus provided by an embodiment of the present application.
  • FIG. 8 is a structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 9 is another structural diagram of a network device provided by an embodiment of the present application.
  • the base station side gateway CSG is used to access various service packets of the base station, and then forward them to the aggregation layer after processing.
  • the aggregation layer gateway ASG is used to aggregate the service packets processed by the base station side gateway and forward the service packets.
  • the wireless service side gateway RSG is connected to the base station controller (radio network controller, RNC), and is used to receive the packets forwarded by the convergence layer gateway.
  • RNC radio network controller
  • a tunnel refers to a forwarding path between two network devices, allowing service packets to be transmitted on it.
  • a network device may include multiple tunnels, and the multiple tunnels respectively correspond to multiple egress ports on the network device. Different tunnels may correspond to different network fragmentation resources respectively.
  • it can be divided into different tunnel types according to the protocol used to establish the tunnel, for example, multi-protocol label switching traffic engineering (MPLS TE) tunnel, segment routing traffic engineering (segment routing traffic engineering) traffic engineering, SR-TE) tunnel, resource reservation based on traffic engineering extension (resorce reservation protocol traffic engineering, RSVP-TE) tunnel, etc.
  • MPLS TE multi-protocol label switching traffic engineering
  • segment routing traffic engineering segment routing traffic engineering
  • SR-TE resource reservation based on traffic engineering extension
  • RSVP-TE resource reservation protocol traffic engineering
  • the network system includes 6 network devices as an example for description. Specifically, it includes a network device CSG, a network device ASG1, a network device ASG2, a forwarding network device P, a network device RSG1, and a network device RSG2.
  • a tunnel may exist between the CSG and ASG1, which are end devices of the tunnel.
  • a tunnel can exist between CSG and ASG2, and the two are end devices of the tunnel.
  • a tunnel can exist between ASG2 and RSG2, and both are end devices of the tunnel.
  • the first network device may be any other network device except the forwarding network device P.
  • Each of the above-mentioned network devices may be independent network devices, or may be functional modules with packet forwarding capability in a certain network device.
  • each network device may also be referred to as a node, which is a device with a packet forwarding function in a network system, for example, may be a router, a switch, a repeater, or a label switching router (LSR), etc.
  • LSR label switching router
  • the tunnel may refer to a tunnel from CSG to ASG1 or to ASG2, or may refer to a tunnel used for packet forwarding between ASG1 to ASG2, ASG2 to RSG2, or RSG2 to RSG1.
  • a tunnel between any two adjacent end network devices can be called a segmented tunnel.
  • the tunnel between the two end devices from CSG to ASG2 is a segmented tunnel.
  • Each segment tunnel corresponds to an egress port of the segment tunnel sender device.
  • Each sender device may have multiple egress ports corresponding to multiple tunnels respectively.
  • One or more tunnels can exist between any two adjacent network devices.
  • one or more tunnels can be selected as forwarding tunnels for packet forwarding. For example, in Figure 2, there are two tunnels between CSG and ASG2, namely tunnel 1 and tunnel 2, then tunnel 1 can be used to forward one type of service packet to ASG2, and tunnel 2 can be used to forward another type of service packet. The packet is forwarded to ASG2.
  • the forwarding path from CSG to RSG1 can be CSG-ASG1-ASG2-P-RSG2-RSG1 or CSG-ASG2-P-RSG2-RSG1.
  • P-RSG2-RSG1 is taken as an example for description.
  • the CSG is the head node 201
  • the ASG2 and the RSG2 are intermediate nodes, which are respectively referred to as the first node 202 and the second node 203
  • the RSG1 is the tail node 204 .
  • the head node in a possible situation, it may be the node that generates the packet, that is, the head node may be the node indicated by the source address in the packet.
  • the head node is the first node on the end-to-end transmission path of the packet, and the head node adds identification information when generating the packet.
  • the source node on the end-to-end transmission path of the packet is another node, and the head node is connected to the source node.
  • the identification information used to indicate the tunnel corresponding to which the packet is forwarded is added in the text.
  • the head node may be the first tunnel end device on the end-to-end transmission path, or it may be the first device on the end-to-end transmission path capable of acquiring and adding identification information, and adding the identification information to The tunnel end device of the packet, or it may be the first tunnel end device on the end-to-end transmission path that needs to acquire and add identification information to the packet.
  • the tail node in one possible situation, it can be the node indicated by the destination address in the message; in another situation, it is the node connected to the node indicated by the destination address; in another situation, it can also be It can be the receiving end device of the last segmented tunnel on the end-to-end transmission path, or, although it is not the receiving end device of the last segmented tunnel, it is the last sending end that needs to determine the outgoing port of the tunnel according to the identification information in the packet.
  • the receiving end device corresponding to the device is, for example, a network device at the domain boundary. In this case, the device outside the domain does not need to perform the operation of determining the tunnel with the corresponding forwarding resource according to the identification information.
  • the intermediate node is the end device corresponding to the tunnel between the head node and the tail node during packet forwarding.
  • FIG. 3 is a message provided by this embodiment of the application.
  • the flow chart of the transmission method, as shown in Figure 3 includes:
  • the head node 201 obtains identification information.
  • the head node 201 first obtains the identification information for indicating the corresponding tunnel when forwarding the message, and may add the obtained identification information to the message to be forwarded.
  • the head node 201 may be, for example, the CSG shown in FIG. 2 .
  • the head node 201 may acquire the identification information in various ways. One is that the head node 201 may obtain the identification information from local configuration information, and the local configuration information may be the service packets sent by the user according to needs. 201 is manually configured, or it can be read by the head node from the locally pre-stored configuration information. The head node 201 can send the required resources according to the required packets and the resources of the tunnel stored in the configuration information table are different from the resources. The corresponding relationship between the identification information determines the identification information corresponding to the forwarding message.
  • the head node 201 obtains the identification information from the first intermediate node 202, specifically, the head node 201 obtains available resource information from the first intermediate node 202, and the available resource information is used to indicate the first intermediate node 202 to the second intermediate node 202.
  • the available resources corresponding to each tunnel in the multiple tunnels existing in the intermediate node 203 specifically such as available network fragmentation resources; the head node 201 determines the identification information corresponding to the second tunnel according to the available resource information, wherein the second tunnel satisfies Resources required for forwarding packets.
  • the head node 201 obtains from the first intermediate node 202 all or part of the resources of the tunnel between the first intermediate node 202 and the second intermediate node 203, and the head node 201 determines according to the resources of all or part of the tunnel
  • the tunnel satisfying the resources required for forwarding the message, that is, the second tunnel, and the identification information corresponding to the second tunnel is determined.
  • the fragmented resources possessed by each tunnel may be bandwidth, time slot, service quality queue, port, and the like.
  • the packet may belong to a certain service flow.
  • the resources required for forwarding a message can be determined according to the service type to which the message belongs.
  • the service type can include video, audio, or text, etc., and can also be determined according to the user to which the message belongs.
  • the head node 201 determines the added identification information according to the relevant information in the packet received from the previous hop network device, wherein the head node 201 and the previous hop network device may be end devices of the tunnel, that is, the previous hop network device.
  • the hop network device forwards the packet to the head node 201 by using the tunnel, or the previous hop network device is a non-tunnel end device.
  • the head node 201 receives a packet sent by the previous hop network device, the packet includes pre-update identification information, and the pre-update identification information enables the previous hop network device to determine the use of the packet to forward the packet to the head node 201.
  • the head node 201 obtains the identification information according to the identification information before the update.
  • the head node 201 can determine the resources required for forwarding the message according to the identification information before the update, and determine the tunnels that meet the requirements according to the required resources and the resources of each tunnel in the first intermediate node 202, so as to obtain The identification information corresponding to the tunnel that meets the requirements.
  • the head node 201 receives a packet sent by the previous-hop network device, where the packet includes instruction information instructing the head node 201 to add identification information.
  • the identification information enables the first intermediate node 202 to determine the second tunnel.
  • the head node 201 sends a packet including identification information to the first intermediate node 202 by using the first tunnel.
  • the head node 201 After adding the acquired identification information to the packet, the head node 201 forwards the packet to the first intermediate node 202 by using the first tunnel.
  • the first tunnel may be obtained in the following manner.
  • the head node 201 determines the first tunnel according to a virtual private network (Virtual Private Network, VPN) identifier, where the VPN identifier is used to uniquely identify a VPN instance. That is, when the head node 201 receives the message to be forwarded, it can obtain the corresponding virtual network identifier according to the virtual private network to which the message belongs, and then determine the tunnel used when forwarding the virtual private network message according to the virtual network identifier.
  • VPN Virtual Private Network
  • the head node 201 corresponds to three virtual private networks, namely VPN1, VPN2, and VPN3, wherein tunnel 1 is used to forward service packets of VPN1, and tunnel 2 is used to forward service packets of VPN2 and VPN3.
  • tunnel 1 is used to forward service packets of VPN1
  • tunnel 2 is used to forward service packets of VPN2 and VPN3.
  • the tunnel 1 is determined according to the VPN1, so that the tunnel 1 is used to forward the packet to the first node 202.
  • the head node 201 determines the first tunnel according to the identification information. That is, after acquiring the identification information, the head node 201 can determine the first tunnel used for forwarding the packet to the first node 202 according to the identification information. Specifically, the head node 201 determines the first tunnel according to the identification information and the stored correspondence table, wherein the correspondence table includes the correspondence between the identification information and the first tunnel. That is, the head node 201 searches for the tunnel corresponding to the identification information, that is, the first tunnel, according to the acquired identification information and the pre-stored correspondence table.
  • the correspondence table may be a direct relationship correspondence table between identification information and tunnel information (such as tunnel egress ports), that is, directly using the content in the identification information as an index to determine the corresponding tunnel information; it may also be a non-direct relationship correspondence table,
  • the identification information is used to indicate required network fragmentation resources, and the head node 201 searches and determines tunnel information that can provide the resources according to the required network fragmentation resources.
  • the head node 201 configures the above two strategies for determining the first tunnel at the same time, if the first tunnel determined by the head node 201 using the virtual network identifier and the first tunnel determined using the identification information are the same tunnel, the head node 201 uses the The first tunnel forwards the packet to the first node 202 . If the first tunnel determined by the head node 201 by using the virtual network identifier and the first tunnel determined by using the identification information are different tunnels, the head node 201 can determine the tunnel used for forwarding the packet according to the pre-configured priority .
  • the head node 201 forwards the packet to the first node 202 by using the first tunnel determined by the virtual network identifier.
  • the resources required by the tunnel to forward packets refer to the resources required by the egress port corresponding to the tunnel to forward packets, that is, the head node 201 uses the egress port corresponding to the first tunnel to send the first node 202 Forward the packet.
  • the head node 201 and the first intermediate node 202 may be directly connected, or may be forwarded through any number of forwarding existing between the two nodes. Network device connection.
  • each intermediate forwarding network device may only implement the forwarding function, and transparently transmit the packet to the first intermediate node 202 without parsing the identifier in the packet information.
  • the first intermediate node 202 determines the second tunnel according to the identification information in the packet.
  • the first intermediate node 202 after the first intermediate node 202 receives the packet sent by the head node 201 through the ingress port corresponding to the first tunnel, it acquires identification information from the packet, so as to determine the second intermediate node according to the identification information in the packet. tunnel.
  • the specific implementation of determining the second tunnel by the first intermediate node 202 according to the identification information may refer to the implementation manner of determining the first tunnel by the head node 201 in S302.
  • the first intermediate node 202 may be, for example, ASG1 or ASG2.
  • both the head node 201 and the first intermediate node 202 may determine the tunnel according to the identification information, and the identification information based on the two may be the same identification information or different identification information.
  • the head node 201 and the first intermediate node 202 use the same identification information to determine the tunnel, after the head node 201 obtains the identification information, the head node 201 can directly add the obtained identification information to a message and send it to the first intermediate node 202 .
  • the head node 201 and the first intermediate node 202 may use the same identification information to determine the tunnel, at different nodes, the same identification information may correspond to different tunnels.
  • the same identification information used by the head node 201 and the first intermediate node 202 is 100, and the identification information 100 is used to indicate the 1G bandwidth.
  • the bandwidth corresponding to the tunnel 1 is 1G, and the identification information corresponds to the tunnel 1 ;
  • the bandwidth corresponding to the tunnel 2 is 1G, and the identification information corresponds to the tunnel 2.
  • the bandwidth resources provided by tunnel 1 and tunnel 2 can be 1G or greater than 1G, and the bandwidth provided by tunnel 1 and tunnel 2 can be the same or different. .
  • the head node 201 and the first intermediate node 202 use different identification information to determine the tunnel, before forwarding the packet to the first intermediate node 202, the head node 201 determines the updated identification information according to the acquired identification information.
  • the identification information is used to enable the first intermediate node 202 to determine the tunnel used for forwarding the packet. That is, the identification information included in the message is the updated identification information, and the first intermediate node 202 uses the updated identification information to determine the second tunnel.
  • the identification information 100 is used to indicate the 1G bandwidth, and the bandwidth corresponding to the tunnel 1 is 1G, then the identification information 100 corresponds to the tunnel 1, that is, the identification information 100 is used to instruct the head node 201 to determine that the tunnel 1 carries the 1G bandwidth network fragmentation resources; in the first intermediate node 202, the identification information 200 is used to indicate the 1G bandwidth, then the head node 201 replaces the identification information 100 with the identification information 200 when sending a message to the first intermediate node 202 , so that the first intermediate node 202 can determine, according to the identified identification information 200, a tunnel of 1G bandwidth that needs to be used for forwarding the packet.
  • the identification information in this embodiment may include a first identification and a second identification, where the first identification is used to indicate that the packet includes a second identification, and the second identification is used to indicate that the packet is forwarded.
  • the tunnel corresponding to the packet For a node that receives a packet including identification information, it can quickly determine that the packet also includes a second identification by identifying the first identification, so as to use the second identification to determine the tunnel corresponding to the forwarding packet.
  • the specific representation form of the identification information may be a point label, wherein the first identification is an outer layer label of the point label, and the second identification is an inner layer label of the point label.
  • the head node 201 when the head node 201 receives a packet, it encapsulates the point label between the VPN label and the MPLS label of the packet, and the outer label of the point label can be set to Set as the first label value, for example, 6 or 12, and set the inner label as the second label value (set according to actual needs).
  • the packet format shown in Figure 4a including IP header, VPN label information MPLS time to live (time to live, TTL) 255 (255 represents the default value), the outer label of the point label MPLS (6) TTL 0 , the inner label point of the point label Point_MPLS TTL 255, MPLS label information MPLS TTL 255.
  • the first intermediate node 202 After receiving the message sent by the head node 201 through the first tunnel, the first intermediate node 202 determines that there is a point label by parsing the message and the value of the outer label of the point label is equal to the value of the first label, then parses the inner label. The inner label value determines the second tunnel.
  • first tunnel and the second tunnel may be the same type of tunnel, for example, both are SR-TE tunnels, or may be different types of tunnels, for example, the first tunnel is an SR-TE tunnel, and the second tunnel is an RSVP tunnel -TE tunnel.
  • the CSG shown in FIG. 2 is used as the head node 201 as an example to directly send the message carrying the identification information to the ASG2 as the first intermediate node 202 through the first tunnel.
  • the CSG may also send a message carrying the identification information to ASG1 first, and then ASG1 transparently transmits the message to ASG2.
  • ASG1 When ASG1 and ASG2 are also connected through a tunnel, ASG1 can transparently transmit packets through the tunnel, or, if network slicing is also deployed between ASG1 and ASG2, CSG sends a packet carrying identification information to ASG1 in a certain In some cases, ASG1 can also parse, so that ASG1 determines the tunnel used when forwarding the packet to ASG2 according to the identification information obtained after parsing, and the tunnel determined by ASG1 has network fragmentation resources required for packet forwarding.
  • S304 The first intermediate node 202 forwards the packet to the second intermediate node 203 by using the second tunnel.
  • the first intermediate node 202 uses the second tunnel to forward the packet to the second intermediate node 203, and the packet includes an identifier information. Specifically, when the identification information used by the first intermediate node 202 and the second intermediate node 203 to indicate the tunnel corresponding to the forwarding packet is different, before the first intermediate node 202 forwards the packet to the second intermediate node 203, the first intermediate node 203 The node 202 determines the updated identification information according to the identification information in the packet received from the head node 201, and the updated identification information enables the second intermediate node 203 to determine the tunnel used for forwarding the packet; the first intermediate node 202 uses the The second tunnel sends the packet including the updated identification information to the second intermediate node 203 .
  • the first intermediate node 202 sends a packet including the updated identification information to the second intermediate node 203 by using the egress port corresponding to the second tunnel.
  • the second intermediate node 203 may be, for example, the RSG2 shown in FIG. 2 .
  • the packet sent by the head node 201 to the first intermediate node 202 and the packet sent by the first intermediate node 202 to the second intermediate node 203 are referred to as packets, but understandably, there may be differences in actual application scenarios between the packet sent by the head node 201 to the first intermediate node 202 and the packet sent by the first intermediate node 202 to the second intermediate node 203 .
  • the first intermediate node 202 forwards the packet from the head node 201 to the second intermediate node 203, it may actually modify some necessary information for the The updated message.
  • the message sent by the head node 201 and the updated message sent by the first intermediate node 202 may carry the same payload (payload) and identification information for indicating a tunnel with corresponding available resources.
  • the subsequent message sent by the second intermediate node 203 to the tail node 204 has a similar meaning, and may also be an updated message in essence.
  • any number of forwarding network devices may exist between the first intermediate node 202 and the second intermediate node 203, such as the P device shown in FIG. 2 .
  • each intermediate forwarding network device may only implement the forwarding function, and transparently transmit the packet to the second intermediate node 203, without processing the packet. Parse and identify.
  • S305 The second intermediate node 203 determines the third tunnel according to the identification information in the packet.
  • the second intermediate node 203 After receiving the packet sent by the first intermediate node 202 through the ingress port corresponding to the second tunnel, the second intermediate node 203 obtains identification information from the packet to determine the third tunnel according to the identification information in the packet. Wherein, for the specific implementation of determining the third tunnel by the second intermediate node 203 according to the identification information, reference may be made to the implementation manner of determining the second tunnel by the first intermediate node 202 in S303.
  • the second tunnel and the third tunnel may be of the same type, for example, both are SR-TE tunnels, or may be different types of tunnels, for example, the first tunnel is an SR-TE tunnel, and the second tunnel is an RSVP-TE tunnel .
  • S306 The second intermediate node 203 forwards the packet to the tail node 204 by using the third tunnel.
  • the second intermediate node 203 determines the third tunnel corresponding to forwarding the packet to the tail node 204
  • the second intermediate node 203 forwards the packet to the tail node 204 by using the third tunnel, and the packet includes identification information.
  • the specific implementation of the second intermediate node 203 forwarding the packet to the tail node 204 by using the third tunnel may refer to S303, which will not be repeated in this embodiment.
  • the tail node 203 may be, for example, RSG1 in FIG. 2 .
  • the tail node 204 may perform different processing in different application scenarios. Specifically, it can include the following operations:
  • the tail node 204 no longer forwards the packet after receiving the packet. For example, when the tail node 204 is the destination node of the packet, the tail node 204 may only receive the packet without forwarding, and it is not necessary to determine the forwarding tunnel according to the identification information.
  • the destination node is the user equipment connected to the tail node 204
  • the identification information in the packet is ejected, and the packet that does not include the identification information is ejected. forwarded to the user device.
  • the pop-up operation may be to eject the entire extension header.
  • Fig. 4b shows a schematic diagram of the structure of a message after being popped up.
  • different network domains can set different identification information to indicate the tunnel, that is, in this case, the tail node 204 is within the scope of the current network domain. Defined tail node.
  • the tail node 204 obtains the identification information carried in the packet and used in the current network domain. Corresponding identification information used in another network domain, and the corresponding identification information used in the other network domain may become the updated identification information.
  • the identification information before the update is applied to the network domain to which the head node 201, the first intermediate node 202, the second intermediate node 203 and the tail node 204 belong, and the updated identification information is applied to the network domain to which the next hop node belongs.
  • the tail node 204 replaces the identification information in the message with the updated identification information, and sends the message carrying the updated identification information to the next-hop node, thereby ensuring that the next-hop node can identify the updated identification information in the message and completes the corresponding forwarding resource reservation.
  • the next-hop node outside the network domain does not need to perform the operation of determining the tunnel according to the identification information, and the tail node 204 can also add new identification information after stripping the identification information in the packet, but will not include the identification information.
  • Information packets are forwarded to the next-hop node outside the domain.
  • the network domain may be an autonomous system (autonomous system, AS) domain, an interior gateway protocol (interior gateway protocol, IGP) domain, or a management domain.
  • the management domain may include multiple AS domains, and the multiple AS domains are uniformly managed by the controller.
  • S304 and S305 take RSG2 as the second intermediate node 203 and RSG1 as the tail node 204 as an example. Understandably, in an actual application scenario, network fragmentation may not be deployed between RSG1 and RSG2 that are nodes of the same type, but message forwarding is directly completed according to the message transmission path. Then in this case, the pop-up operation of the identification information can be performed at RSG2, and the packet forwarded by RSG2 to RSG1 will no longer include the identification information used to determine the tunnel, even in some cases, RSG2 can still pass through. The packet is forwarded to RSG1 by means of a tunnel.
  • the one or more intermediate nodes between the head node 201 and the tail node 204 serving as tunnel end devices may only forward the message according to the conventional mechanism.
  • the processing operation performed by the tail node 204 on the packet may be determined in combination with a specific application scenario.
  • the tunnel end node used to forward the packet can indicate to the end node on the other side of the tunnel the egress port corresponding to the next segment of the tunnel used to forward the packet, and the next segment of the tunnel has
  • the network fragment resources that can carry the packet forwarding can ensure that the packet can always be forwarded using the required available resources on the transmission path, and the network service quality is improved.
  • FIG. 5 is a flowchart of another message transmission method provided by the embodiments of the present application. As shown in FIG. 5 , the method may include:
  • S501 The first network device acquires identification information.
  • the first network device may be a head node, an intermediate node, or a tail node described in the foregoing embodiments.
  • the first network device may obtain the identification information according to the local configuration information or obtain the identification information from the second network device, specifically, the first network device obtains available resource information from the second network device; A network device determines identification information corresponding to the second tunnel according to the available resource information.
  • the second tunnel satisfies the resources required for forwarding the message, and the specific implementation may refer to S301.
  • the first network device is determined according to relevant information in a packet sent from a previous-hop network device (a fourth network device).
  • the first network device and the fourth network device are end devices of the third tunnel.
  • the first network device receives a message sent by the fourth network device, the message includes identification information before the update, and the identification information before the update enables the fourth network device to determine the third tunnel; the first network device according to the update
  • the previous identification information obtains identification information.
  • the identification information obtained by the first network device according to the identification information before updating may be applied to the second network device, so that the second network device determines the second tunnel according to the identification information.
  • S302 refer to S302.
  • the representation form of the identification information may be that the identification information includes a first identification and a second identification, the first identification is used to indicate that the packet includes the second identification, and the second identification is used to indicate the tunnel corresponding to forwarding the packet.
  • the expression form of the first identification and the second identification is that when the identification information is a point label, the first identification information is an outer label of the point label, and the second identification is an inner label of the point label.
  • the first network device sends a packet including identification information to the second network device by using the first tunnel.
  • a specific implementation manner for the first network device to determine the first tunnel may include: one is to determine according to identification information. Specifically, the first network device determines the first tunnel according to the identification information and a stored correspondence table, wherein the correspondence table includes a correspondence between the identification information and the first tunnel. The other is determined according to the virtual private network identification.
  • the correspondence table includes a correspondence between the identification information and the first tunnel. The other is determined according to the virtual private network identification.
  • the implementation of sending the packet by the first network device to the second network device may refer to S302.
  • the implementation of the first network device sending the packet to the second network device may refer to S304 and S306.
  • the first network device may use the first tunnel to transparently transmit the data to the second network device through the intermediate forwarding network device. That is, the forwarding network device directly transmits the forwarded packet to the second network device without parsing and identifying it. Specifically, when the first network device uses the first tunnel to transmit the packet, it actually sends the packet to the second network device by using the egress port corresponding to the first tunnel.
  • the second network device determines a second tunnel for forwarding to the third network device according to the identification information in the packet.
  • the second network device when it receives the packet including the identification information sent by the first network device, it may determine the second tunnel for forwarding to the third network device according to the identification information in the packet.
  • the second network device determining the second tunnel according to the identification information in the message may include: the second network device determining the second tunnel according to the identification information and a stored correspondence table, wherein the correspondence table includes the identification information and the second tunnel
  • the correspondence table includes the identification information and the second tunnel
  • S504 The second network device forwards the packet including the identification information to the third network device by using the second tunnel.
  • the second network device may use the second tunnel to forward the packet including the identification information to the third network device.
  • the second network device may determine the updated identification information according to the identification information when receiving the packet, and the updated identification information is used for Determine the tunnel used to indicate the forwarding of the message; the second network device sends the message to the third network device by using the second tunnel, where the message includes the updated identification information.
  • the second network device may use the second tunnel to forward the packet including the identification information to the third network device.
  • the second network device may determine the updated identification information according to the identification information when receiving the packet, and the updated identification information is used for Determine the tunnel used to indicate the forwarding of the message; the second network device sends the message to the third network device by using the second tunnel, where the message includes the updated identification information.
  • S304 refer to S304.
  • the second network device when the second network device is a tail node, for a specific implementation after receiving the packet, reference may be made to the relevant description of S306, and details are not described herein again in this embodiment.
  • the second network device and the third network device use different identification information to indicate the tunnel
  • the second network device when the second network device forwards the packet to the third network device using the second tunnel, the second network device uses the identification information of the received packet according to the identification information of the received packet.
  • the updated identification information is determined, and the updated identification information is used by the third network device to determine the tunnel used for forwarding the packet.
  • the second network device replaces the identification information in the packet with the updated identification information, and sends the packet including the updated identification information to the third network device by using the second tunnel.
  • the apparatus 600 can be applied to a first network device to perform the function of the first network device in the embodiment shown in FIG. 5 , the device 600 may include: an obtaining unit 601 and a sending unit 602 .
  • the obtaining unit 601 is configured to obtain identification information, where the identification information is used to indicate the tunnel corresponding to the forwarding message.
  • the specific implementation of the acquisition unit 601 acquiring the identification information may refer to S301 in the embodiment described in FIG. 3 .
  • the obtaining unit 601 may obtain the identification information from the message. For details, see S303 and S305.
  • the sending unit 602 is configured to use the first tunnel to send a packet including identification information to the second network device, so that the second network device determines a second network device for forwarding the packet to the third network device according to the identification information in the packet. tunnel.
  • the first network device and the second network device applied by the apparatus 600 are end devices of the first tunnel, and the second network device and the third network device are end devices of the second tunnel.
  • the specific implementation of the sending unit 602 may refer to S302.
  • the apparatus may further include:
  • the determining unit is configured to determine the first tunnel according to the identification information before executing the sending unit; or, determine the first tunnel according to the virtual private network identification.
  • the specific implementation of determining the first tunnel by the determining unit may refer to S302.
  • the determining unit is specifically configured to determine the first tunnel according to the identification information and a stored correspondence table, where the correspondence table includes a correspondence between the identification information and the first tunnel.
  • the specific implementation of the determining unit determining the first tunnel according to the identification information and the corresponding relationship table may refer to S302.
  • the identification information is obtained by the obtaining unit according to local configuration information, or the identification information is obtained by the obtaining unit from the second network device, or the identification information is obtained by the obtaining unit according to the second network device.
  • the relevant information in the packet received by the fourth network device is determined, wherein the network device applied by the apparatus 600 and the fourth network device are end devices of the third tunnel.
  • the obtaining unit obtains the identification information according to the local configuration information, or obtains it from the next-hop network device.
  • the network device is the first intermediate node 202, the second intermediate node 203 or the tail node 204
  • the obtaining unit may obtain it from a packet sent by the previous-hop network device.
  • the acquiring unit is specifically configured to acquire available resource information from the second network device; determine the identification information corresponding to the second tunnel according to the available resource information, wherein the second tunnel satisfies the forwarding of the message resources needed for the text.
  • the specific implementation of the obtaining unit determining the identification information corresponding to the second tunnel according to obtaining the available resource information from the second network device may refer to S301.
  • the determining unit is specifically configured to receive a message sent by the fourth network device, where the message includes pre-update identification information, and the pre-update identification information enables the fourth network device to determine the first Three tunnels; obtaining the identification information according to the identification information before updating; or, receiving a message sent by the fourth network device, where the message includes the identification information.
  • the identification information includes a first identification and a second identification
  • the first identification is used to indicate that the packet includes the second identification
  • the second identification is used to indicate the tunnel corresponding to the forwarding packet.
  • the sending unit when a forwarding network device exists between the packet transmission apparatus and the second network device, the sending unit is specifically configured to transparently transmit the message to the second network device through the forwarding network device using the first tunnel.
  • the sending unit uses the first tunnel to transparently transmit the packet to the second network device through the forwarding network device, and the forwarding network device does not transmit the packet to the second network device. Parse and identify. For specific implementation, refer to S302.
  • the sending unit is specifically configured to send a packet to the second network device by using the egress port corresponding to the first tunnel.
  • the sending unit sending the packet to the second network device by using the egress port corresponding to the first tunnel, reference may be made to S302.
  • the tunnel type corresponding to the first tunnel and the tunnel type corresponding to the second tunnel are different.
  • the apparatus 700 can be applied to a second network device to perform the functions of the second network device in the embodiment shown in FIG. 5
  • the device 700 may include: a receiving unit 701 , a determining unit 702 and a sending unit 703 .
  • the receiving unit 701 is configured to receive a packet sent by a first network device, where the packet includes identification information, where the identification information is used to indicate a tunnel used for forwarding the packet.
  • the network device applied by the apparatus 700 may be the first intermediate node 202, the second intermediate node 203 or the tail node 204.
  • the receiving unit 701 receiving the message refer to S302, S304, and S306.
  • the determining unit 702 is configured to determine the second tunnel according to the identification information.
  • the specific implementation of the determining unit 702 determining the second tunnel according to the identification information may refer to S302, S303 or S305.
  • the sending unit 703 is configured to use the second tunnel to send a packet to a third network device, where the network device and the third network device applied by the apparatus 700 are end devices of the second tunnel.
  • the implementation of the sending unit 703 sending the packet to the third network device by using the second tunnel may refer to S304 and S306.
  • the determining unit is specifically configured to determine the second tunnel according to the identification information and a stored correspondence table, wherein the correspondence table includes a correspondence between the identification information and the second tunnel.
  • determination unit determining the second tunnel according to the identification information and the corresponding relationship table reference may be made to S302, S303 or S305.
  • the sending unit is specifically configured to determine the updated identification information according to the identification information, and the updated identification information is used to determine the tunnel used to indicate the forwarding of the message;
  • the network device sends a message, and the message includes the updated identification information.
  • the identification information includes a first identification and a second identification, where the first identification is used to indicate that the packet includes a second identification, and the second identification is used to indicate a tunnel used for forwarding the packet.
  • the sending unit when a forwarding network device exists between the packet transmission apparatus and the third network device, the sending unit is specifically configured to transparently transmit the message to the third network device through the forwarding network device using the second tunnel.
  • the forwarding network device When a forwarding network device exists between the network device to which the apparatus 700 is applied and the third network device, the forwarding network device will transparently transmit the received message to the third network device.
  • the forwarding network device For specific implementation, refer to S302, S304 or S306.
  • the sending unit is specifically configured to send the packet to the third network device by using the egress port corresponding to the second tunnel.
  • the tunnel type corresponding to the second tunnel is different from the tunnel type of the first tunnel, where the first tunnel is a tunnel between the first network device and the packet transmission apparatus.
  • FIG. 8 is a schematic structural diagram of a network device according to an embodiment of the present application, and the network device may be, for example, the first network device or the second network device in the embodiment shown in FIG. 2 or FIG. 5 , or may also be the first network device in FIG. 6 .
  • the network device 800 includes: a processor 810 , a communication interface 820 and a memory 830 .
  • the number of processors 810 in the packet forwarding device 800 may be one or more, and one processor is taken as an example in FIG. 8 .
  • the processor 810, the communication interface 820, and the memory 830 may be connected through a bus system or in other manners, wherein the connection through the bus system 840 is taken as an example in FIG. 8 .
  • Processor 810 may be a CPU, NP, or a combination of CPU and NP.
  • the processor 810 may further include hardware chips.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general-purpose array logic (generic array logic, GAL) or any combination thereof.
  • the processor 810 may perform the related functions of acquiring identification information and determining a tunnel according to the identification information in the foregoing method embodiments.
  • the processor 810 may perform the related functions of determining the tunnel according to the identification information in the above method example.
  • the communication interface 820 is used for receiving and sending messages.
  • the communication interface 820 may include a receiving interface and a sending interface.
  • the receiving interface may be used to receive packets, and the sending interface may be used to send packets.
  • the number of communication interfaces 820 may be one or more.
  • the memory 830 may include a volatile memory (English: volatile memory), such as random-access memory (RAM); the memory 830 may also include a non-volatile memory (English: non-volatile memory), such as a fast memory A flash memory (English: flash memory), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 830 may also include a combination of the above-mentioned types of memory.
  • the memory 830 may, for example, store the aforementioned correspondence between the identification information and the tunnels.
  • the memory 830 stores an operating system and programs, executable modules or data structures, or their subsets, or their extended sets, wherein the programs may include various operation instructions for implementing various operations.
  • the operating system may include various system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 810 may read the program in the memory 830 to implement the message transmission method provided by the embodiment of the present application.
  • the memory 830 may be a storage device in the network device 800 , or may be a storage device independent of the network device 800 .
  • the bus system 840 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus system 840 can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 8, but it does not mean that there is only one bus or one type of bus.
  • FIG. 9 is a schematic structural diagram of another network device 900 provided by an embodiment of the present application.
  • the network device 900 may be configured as the first network device or the second network device in the foregoing embodiments, or the network device in the embodiment shown in FIG. 6 .
  • the network device 900 includes: a main control board 910 and an interface board 930 .
  • the main control board 910 is also called a main processing unit (main processing unit, MPU) or a route processing card (route processor card).
  • the main control board 910 controls and manages each component in the network device 900 Equipment maintenance, protocol processing functions.
  • the main control board 910 includes: a central processing unit 911 and a memory 912 .
  • the interface board 930 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 930 is used to provide various service interfaces and realize data packet forwarding.
  • the service interface includes, but is not limited to, an Ethernet interface, a POS (Packet over SONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (Flexible Ethernet Clients, FlexE Clients).
  • the interface board 930 includes: a central processing unit 931 , a network processor 932 , a forwarding table entry storage 934 and a physical interface card (ph8sical interface card, PIC) 933 .
  • the central processing unit 931 on the interface board 930 is used to control and manage the interface board 930 and communicate with the central processing unit 911 on the main control board 910 .
  • the network processor 932 is used to implement packet forwarding processing.
  • the network processor 932 may be in the form of a forwarding chip.
  • the processing of the uplink packet includes: processing of the incoming interface of the packet, and searching of the forwarding table; processing of the downlink packet: searching of the forwarding table, and so on.
  • the physical interface card 933 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 930 through this, and the processed packets are sent from the physical interface card 933 .
  • the physical interface card 933 includes at least one physical interface, and the physical interface is also called a physical port.
  • the physical interface card 933 corresponds to the FlexE physical interface 204 in the system architecture 200 .
  • the physical interface card 933 is also called a daughter card, which can be installed on the interface board 930 and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 932 for processing.
  • the central processor 931 of the interface board 903 can also perform the functions of the network processor 932 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 932 is not required in the physical interface card 933 .
  • the network device 900 includes multiple interface boards.
  • the network device 900 further includes an interface board 940 .
  • the interface board 940 includes a central processing unit 941 , a network processor 942 , a forwarding table entry storage 944 and a physical interface card 943 .
  • the network device 900 further includes a switch fabric board 920 .
  • the switch fabric 920 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 920 is used to complete data exchange between the interface boards.
  • the interface board 930 and the interface board 940 can communicate through the switch fabric board 920 .
  • the main control board 910 and the interface board 930 are coupled.
  • the main control board 910 , the interface board 930 , the interface board 940 , and the switching network board 920 are connected to the system backplane through a system bus to achieve intercommunication.
  • an inter-process communication (inter-process communication, IPC) channel is established between the main control board 910 and the interface board 930, and the main control board 910 and the interface board 930 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 900 includes a control plane and a forwarding plane
  • the control plane includes the main control board 910 and the central processing unit 931
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry storage 934, the physical interface card 933 and the network processing device 932.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, and configuring and maintaining the status of devices.
  • the control plane delivers the generated forwarding tables to the forwarding plane.
  • the network processor 932 based on the The delivered forwarding table forwards the packets received by the physical interface card 933 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 934 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the central processor 911 may obtain identification information; determine the first tunnel.
  • the network processor 932 may trigger the physical interface card 933 to send a packet including the identification information to the second network device according to the determined first tunnel.
  • the central processor 911 may determine the second tunnel according to the identification information in the packet.
  • the network processor 932 may trigger the physical interface card 933 to send a packet to the third network device according to the determined second tunnel.
  • the sending unit 602 and the like in the message transmission apparatus 600 may be equivalent to the physical interface card 933 or the physical interface card 943 in the network device 900; the obtaining unit 601 and the determining unit and the like in the message transmission apparatus 600 may be equivalent to the network Central processing unit 911 or central processing unit 931 in device 900 .
  • the receiving unit 701, the sending unit 703, etc. in the message transmission apparatus 700 may be equivalent to the physical interface card 933 or the physical interface card 943 in the network device 900; the determining unit 702, etc. in the message transmission apparatus 700 may be equivalent to the network device 900 The central processing unit 911 or the central processing unit 931 in the .
  • the operations on the interface board 940 in the embodiments of the present application are the same as the operations on the interface board 930, and for brevity, details are not repeated here.
  • the network device 900 in this embodiment may correspond to the first network device or the second network device in each of the foregoing method embodiments, and the main control board 910 , the interface board 930 and/or the interface board 940 in the network device 900
  • the functions and/or various steps performed by the first network device or the second network device in the foregoing method embodiments can be implemented, which are not repeated here for brevity.
  • main control boards there may be one or more main control boards, and when there are more than one main control board, it may include an active main control board and a backup main control board.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on this board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario.
  • the above-mentioned first network device or second network device may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • the virtual machine can be configured as a first network device or a second network device.
  • the first network device or the second network device may be implemented based on a general-purpose physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology.
  • Network Functions Virtualization Network Functions Virtualization
  • the first network device or the second network device is a virtual host, a virtual router or a virtual switch.
  • Those skilled in the art can virtualize a first network device or a second network device having the above functions on a general physical server in combination with the NFV technology by reading this application, and details are not described herein again.
  • network devices in the above-mentioned various product forms respectively have any functions of the first network device or the second network device in the above method embodiments, and details are not described herein again.
  • An embodiment of the present application further provides a chip, including a processor and an interface circuit, where the interface circuit is used to receive instructions and transmit them to the processor; the processor, for example, may be one of the message transmission apparatuses 600 shown in FIG. 6 .
  • the specific implementation form can be used to execute the above method for message transmission.
  • the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the chip system enables the method in any of the foregoing method embodiments.
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the system-on-chip may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), It can also be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller).
  • controller unit, MCU it can also be a programmable logic device (PLD) or other integrated chips.
  • Embodiments of the present application also provide a computer-readable storage medium, including instructions or computer programs, which, when executed on a computer, cause the computer to execute the message transmission method provided by the above embodiments.
  • the embodiments of the present application also provide a computer program product including an instruction or a computer program, which, when running on a computer, enables the computer to execute the message transmission method provided by the above embodiments.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of units is only a logical business division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each service unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of a software business unit.
  • the integrated unit if implemented as a software business unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
  • the services described in the present invention may be implemented by hardware, software, firmware or any combination thereof.
  • the services may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.

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

本申请实施例公开了一种报文传输方法及装置,具体为,第一网络设备在转发报文之前,预先获取用于指示转发报文所对应隧道的标识信息。第一网络设备利用第一隧道向第二网络设备发送包括标识信息的报文,第二网络设备在接收到该报文时,根据该报文中的标识信息确定用于向第三网络设备转发该报文所使用的第二隧道,第二网络设备利用该第二隧道向第三网络设备转发报文。可见,通过本申请实施例提供的报文传输方法,网络设备之间通过发送包括标识信息的报文方式来指示转发报文所使用的隧道,从而使得任一网络设备在接收到该报文时,可以根据该报文中的标识信息确定转发所使用的隧道,实现网络分片功能在全网使用。

Description

一种报文传输方法及装置
本申请要求于2020年9月2日提交的申请号为202010910288.1、申请名称为“一种报文传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种报文传输方法及装置。
背景技术
在5G网络应用下,网络分片技术为不同的应用场景提供隔离的网络环境,使不同的应用场景可以根据自身要求定制功能与特性。在实际应用中,作为头节点的网络设备可以指定虚拟专用网络(virtual private network,VPN)业务将通过某一灵活以太网(flex Ethernet,flexE)接口传输给下一网络设备。
目前存在大量的分层VPN(hierarchy of VPN,HVPN)和无缝(Seamless)场景下的无线接入网IP化(IP radio access network,IPRAN)网络,该IPRAN网络主要包括接入层、汇聚层和核心层等多个分段网络。如果使用网络分片功能时,只能在每一段网络使用,无法在全网使用,限制网络分片功能的应用。例如,图1所示,IPRAN网络中包括基站侧网关(cell site gateway,CSG)、汇聚层网关(aggregation site gateway,ASG)和无线业务网关(radio service gateway,RSG),在CSG上可以指定VPN业务通过哪个隧道对应的接口到达ASG,但是无法指定接下来ASG通过哪个隧道对应的接口到达RSG。ASG因此可能通过任意隧道转发报文,而该任意隧道有可能并不具备转发该报文所需的网络分片资源,由此导致报文传输服务质量难以保证。
发明内容
本申请实施例提供了一种报文传输方法及装置,可以在无需改造现有网络的条件下,实现全网使用网络分片功能。
在本申请实施例的第一方面,提供了一种报文传输方法,该方法可以包括:第一网络设备获取标识信息,该标识信息用于指示转发报文所对应的隧道。第一网络设备可以利用第一隧道向第二网络设备发送包括标识信息的报文,以使得第二网络设备在接收到报文后,可以根据报文中的标识信息确定用于向第三网络设备转发报文的第二隧道。第二网络设备可以利用第二隧道向第三网络设备发送报文。在该实施例中,对于端到端传输路径上的任意网络设备,当需要传输某一业务流量时,对于接收到业务流量的网络设备,其可以获取用于指示转发业务流量所对应的隧道的标识信息,并向下一跳网络设备发送包括该标识信息的报文,以使得下一跳网络设备可以根据标识信息确定转发报文所使用的隧道,该隧道满足转发报文所需要的网络分片资源,进而利用该隧道进行报文的转发,保证报文传输的质量。
在一种可能的实现方式中,第一网络设备在利用第一隧道向第二网络设备发送报文之前,可以确定第一隧道。第一网络设备确定第一隧道的方式可以包括以下两种:一种是, 第一网络设备根据标识信息确定第一隧道。也就是,第一网络设备在获取到标识信息后,可以根据该标识信息确定第一隧道。另一种是,第一网络设备根据虚拟专用网络标识确定第一隧道。也就是,当第一网络设备接收到报文后,可以确定该报文所属的虚拟专用网络,进而将转发该虚拟专用网络所配置的隧道确定为第一隧道。
在一种可能的实现方式中,当第一网络设备根据标识信息确定第一隧道时,第一网络设备可以根据标识信息以及存储的对应关系表确定第一隧道。其中,对应关系表包括标识信息与第一隧道之间的对应关系。即,第一网络设备可以预先存储包括标识信息与第一隧道对应关系,当第一网络设备获取到标识信息后,可以根据该标识信息以及对应关系确定与标识信息对应的第一隧道。
在一种可能的实现方式中,当第一网络设备为头节点时,第一网络设备可以根据本地配置信息获取标识信息,或者从下一跳网络设备(如第二网络设备)获取标识信息。当第一网络设备为中间转发节点时,第一网络设备可以根据从上一跳网络设备(如第四网络设备)接收的报文中的相关信息确定标识信息。
在一种可能的实现方式中,当第一网络设备从第二网络设备获取标识信息时,具体实现可以为,第一网络设备从第二网络设备获取可用资源信息,该可用资源信息用于指示第二网络设备所对应的各个隧道的可用资源。第一网络设备根据该可用资源信息确定与第二隧道对应的标识信息,其中,第二隧道满足转发报文所需要的资源。也就是,当第一网络设备可以获知第二网络设备所对应的各个隧道的可用资源时,其可以将其中满足报文转发需求的隧道确定为第二隧道,同时获取该第二隧道对应的标识信息。
在一种可能的实现方式中,当第一网络设备根据从第四网络设备接收的报文中的相关信息确定标识信息时,具体可以包括两种实现方式,一种是,第一网络设备接收第四网络设备发送的报文,该报文中包括更新前的标识信息,该更新前的标识信息使得第四网络设备确定第三隧道。第一网络设备根据更新前的标识信息获取标识信息。也就是,第一网络设备根据更新前的标识信息确定更新后的标识信息。具体地,第一网络设备可以根据更新前的标识信息确定该更新前的标识信息对应的隧道所具备的可用资源信息,进而根据该可用资源信息确定转发该报文所对应的隧道,进而获取该隧道对应的标识信息。另一种是,第一网络设备接收第四网络设备发送的报文,该报文包括标识信息。
在一种可能的实现方式中,为便于网络设备可以快速识别报文中包括用于指示隧道的信息,标识信息可以包括第一标识和第二标识,该第一标识用于指示报文包括第二标识,该第二标识用于指示转发报文对应的隧道。也就是,当任意网络设备接收到报文后,通过解析该报文获取第一标识和第二标识。
在一种可能的实现方式中,当第一网络设备与第二网络设备之间存在转发网络设备时,第一网络设备利用第一隧道通过转发网络设备透传给第二网络设备。也就是,转发网络设备不对报文进行解析,直接对报文进行转发。
在一种可能的实现方式中,第一网络设备在利用第一隧道向第二网络设备发送报文时,实际上是通过第一隧道对应的出端口向第二网络设备发送报文。
在一种可能的实现方式中,第一隧道对应的隧道类型和第二隧道对应的隧道类型可以 相同,如均为SR-TE隧道,也可以不同,例如第一隧道为SR-TE隧道,第二隧道为RSVP-TE隧道。
在本申请实施例第二方面,提供了一种报文传输方法,该方法包括:第二网络设备接收第一网络设备发送的报文,该报文包括标识信息,该标识信息用于指示转发报文所使用的隧道。第二网络设备根据所述标识信息确定第二隧道,并利用该第二隧道向第三网络设备发送报文。其中,第二网络设备和第三网络设备为第二隧道的端设备。
在一种可能的实现方式中,所述第二网络设备根据所述标识信息确定第二隧道,包括:所述第二网络设备根据所述标识信息以及存储的对应关系表确定第二隧道,所述对应关系表包括所述标识信息与所述第二隧道之间的对应关系。即,第二网络设备可以预先存储包括标识信息与第二隧道对应关系,当第二网络设备获取到标识信息后,可以根据该标识信息以及对应关系确定与标识信息对应的第二隧道。
在一种可能的实现方式中,第二网络设备利用第二隧道向第三网络设备发送报文,具体可以为,第二网络设备根据报文中的标识信息确定更新后的标识信息,该更新后的标识信息用于确定指示转发所述报文所使用的隧道;第二网络设备利用第二隧道向第三网络设备发送报文,该报文包括所述更新后的标识信息。即,第二网络设备在向第三网络设备转发报文之前,为使得第三网络设备可以识别报文中的标识信息,可以根据当前的标识信息获取更新后的标识信息,并将该更新后的标识信息添加至报文中,以将包括更新后的标识信息的报文转发给第三网络设备。
在一种可能的实现方式中,其中,标识信息包括第一标识和第二标识,所述第一标识用于指示所述报文包括所述第二标识,所述第二标识用于指示转发所述报文所使用的隧道。
在一种可能的实现方式中,当所述第二网络设备与所述第三网络设备之间存在转发网络设备时,所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,包括:所述第二网络设备利用所述第二隧道通过所述转发网络设备透传给第三网络设备。
在一种可能的实现方式中,所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,包括:所述第二网络设备利用所述第二隧道对应的出端口向所述第三网络设备发送所述报文。
在一种可能的实现方式中,所述第二隧道对应的隧道类型与第一隧道的隧道类型不同,所述第一隧道为所述第一网络设备与所述第二网络设备之间的隧道。
在本申请实施例第三方面,提供了一种报文传输系统,所述系统包括:第一网络设备和第二网络设备。
第一网络设备,用于获取标识信息,所述标识信息用于指示转发报文所对应的隧道。
关于第一网络设备获取标识信息的具体实现,可以参见第一方面的相关描述。
所述第一网络设备,还用于利用第一隧道向所述第二网络设备发送包括所述标识信息的报文,所述第一网络设备和所述第二网络设备为所述第一隧道的端设备。
关于第一网络设备确定第一隧道和利用第一隧道转发报文的具体实现,可以参见第一方面的相关描述。
所述第二网络设备,用于根据所述报文中的标识信息确定第二隧道,并利用所述第二 隧道向第三网络设备转发所述报文,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
关于第二网络设备确定第二隧道以及利用第二隧道转发报文的具体实现,可以参见第二方面的相关描述。
在本申请实施例第四方面,提供了一种报文传输装置,所述装置包括:获取单元,用于获取标识信息,所述标识信息用于指示转发报文所对应的隧道;发送单元,用于利用第一隧道向第二网络设备发送包括所述标识信息的报文,以使得所述第二网络设备根据所述报文中的标识信息确定用于向第三网络设备转发所述报文的第二隧道,所述第一网络设备和所述第二网络设备为所述第一隧道的端设备,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
在一种可能的实现方式中,所述第一网络设备利用第一隧道向第二网络设备发送报文之前,所述装置还包括:确定单元,用于在执行所述发送单元之前,根据所述标识信息确定第一隧道;或者,根据虚拟专用网络标识确定第一隧道。
在一种可能的实现方式中,所述确定单元,具体用于根据所述标识信息以及存储的对应关系表确定第一隧道,所述对应关系表包括所述标识信息与所述第一隧道之间的对应关系。
在一种可能的实现方式中,所述标识信息为所述第一网络设备根据本地配置信息获取的,或者所述标识信息为所述第一网络设备从所述第二网络设备获取的,或者所述标识信息为所述第一网络设备根据从第四网络设备接收的所述报文中的相关信息确定的,所述第一网络设备和所述第四网络设备为第三隧道的端设备。
在一种可能的实现方式中,所述获取单元,具体用于从所述第二网络设备获取可用资源信息;根据所述可用资源信息确定与所述第二隧道对应的所述标识信息,所述第二隧道满足转发所述报文需要的资源。
在一种可能的实现方式中,所述确定单元,具体用于接收所述第四网络设备发送的所述报文,所述报文包括更新前的标识信息,所述更新前的标识信息使得所述第四网络设备确定所述第三隧道;根据所述更新前的标识信息获取所述标识信息;或者,接收所述第四网络设备发送的所述报文,所述报文包括所述标识信息。
在一种可能的实现方式中,所述标识信息包括第一标识和第二标识,所述第一标识用于指示所述报文包括所述第二标识,所述第二标识用于指示转发所述报文所对应的隧道。
在一种可能的实现方式中,当所述报文传输装置与所述第二网络设备之间存在转发网络设备时,所述发送单元,具体用于利用所述第一隧道通过所述转发网络设备透传给所述第二网络设备。
在一种可能的实现方式中,所述发送单元,具体用于利用所述第一隧道对应的出端口向所述第二网络设备发送报文。
在一种可能的实现方式中,所述第一隧道对应的隧道类型和所述第二隧道对应的隧道类型不同。
在本申请实施例第五方面,提供了一种报文传输装置,所述装置包括:接收单元,用 于接收第一网络设备发送的报文,所述报文包括标识信息,所述标识信息用于指示转发报文所使用的隧道;确定单元,用于根据所述标识信息确定第二隧道;发送单元,用于利用所述第二隧道向第三网络设备发送所述报文,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
在一种可能的实现方式中,所述确定单元,具体用于根据所述标识信息以及存储的对应关系表确定第二隧道,所述对应关系表包括所述标识信息与所述第二隧道之间的对应关系。
在一种可能的实现方式中,所述发送单元,具体用于根据所述标识信息确定更新后的标识信息,所述更新后的标识信息用于确定指示转发所述报文所使用的隧道;利用所述第二隧道向第三网络设备发送所述报文,所述报文包括所述更新后的标识信息。
在一种可能的实现方式中,所述标识信息包括第一标识和第二标识,所述第一标识用于指示所述报文包括所述第二标识,所述第二标识用于指示转发所述报文所使用的隧道。
在一种可能的实现方式中,当所述报文传输装置与所述第三网络设备之间存在转发网络设备时,所述发送单元,具体用于利用所述第二隧道通过所述转发网络设备透传给第三网络设备。
在一种可能的实现方式中,所述发送单元,具体用于利用所述第二隧道对应的出端口向所述第三网络设备发送所述报文。
在一种可能的实现方式中,所述第二隧道对应的隧道类型与第一隧道的隧道类型不同,所述第一隧道为所述第一网络设备与所述第二网络设备之间的隧道。
在本申请实施例第六方面,提供了一种通信设备,所述设备包括:处理器和存储器;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,使得所述通信设备执行第一方面或第二方面所述的方法。
在本申请实施例第七方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上第一方面或第二方面所述的方法。
根据本申请实施例提供的技术方案,第一网络设备在转发报文之前,预先获取用于指示转发报文所对应隧道的标识信息。第一网络设备利用第一隧道向第二网络设备发送包括标识信息的报文,第二网络设备在接收到该报文时,可以根据该报文中的标识信息确定用于向第三网络设备转发该报文所使用的第二隧道,第二网络设备利用该第二隧道向第三网络设备转发报文。其中,第一网络设备和第二网络设备为第一隧道的端设备,第二网络设备和第三网络设备为第二隧道的端设备。可见,通过本申请实施例提供的报文传输方法,网络设备之间通过发送包括标识信息的报文方式来指示转发报文所使用的隧道,从而使得端到端路径上的任一作为隧道端设备的网络设备在接收到该报文时,可以根据该报文中的标识信息确定转发所使用的隧道,实现网络分片功能在全网使用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请 中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种应用场景示意图;
图2为本申请实施例提供的一种场景示意图;
图3为本申请实施例提供的一种报文传输方法流程图;
图4a为本申请实施例提供的一种报文结构示意图;
图4b为本申请实施例提供的另一种报文结构示意图;
图5为本申请实施例提供的另一种报文传输方法流程图;
图6为本申请实施例提供的一种报文传输装置结构图;
图7为本申请实施例提供的另一种报文传输装置结构图;
图8为本申请实施例提供的一种网络设备结构图;
图9为本申请实施例提供的另一种网络设备结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
为便于理解本申请实施例所提供的技术方案,下面将先对本申请实施例涉及的网元进行说明。
基站侧网关CSG,用于接入基站各类业务报文,处理后转发给汇聚层。
汇聚层网关ASG,用于汇聚基站侧网关处理后的业务报文,并对该业务报文进行转发。
无线业务侧网关RSG,与基站控制器(radio network controller,RNC)连接,用于接收汇聚层网关所转发的报文。
隧道,是指两个网络设备之间的转发通路,允许业务报文在其上传输。在本申请实施例描述的场景中,一个网络设备上可以包括多个隧道,该多个隧道分别对应于该网络设备上的多个出端口。不同的隧道可以分别对应于不同的网络分片资源。在具体实现时,可以根据建立隧道所使用的协议分为不同的隧道类型,例如,多协议标签交换流量工程(multi-protocol label switching traffic engineering,MPLS TE)隧道、分段路由流量工程(segment routing traffic engineering,SR-TE)隧道、基于流量工程扩展的资源预留(resorce reservation protocol traffic engineering,RSVP-TE)隧道等,本申请实施例对隧道类型不作具体限定。
参见图2所示的一种应用场景示意图,在该网络系统中,以包括6个网络设备为例进行说明。具体地,包括网络设备CSG、网络设备ASG1、网络设备ASG2、转发网络设备P、网络设备RSG1和网络设备RSG2。其中,CSG和ASG1之间可以存在隧道,二者为隧道的端设备。类似的,CSG和ASG2之间可以存在隧道,二者为隧道的端设备,ASG2与RSG2之间可以存在隧道,二者为隧道的端设备,RSG2和RSG1之间可以存在隧道,二者为隧道的端设备。其中,第一网络设备可以为除转发网络设备P外其他的任一网络设备。上述各 个网络设备可以为独立存在的网络设备,也可以为某一网络设备中具备报文转发能力的功能模块。为便于理解,将以各个网络设备为独立的网络设备为例进行说明。其中,各个网络设备也可以称为节点,为网络系统中具有报文转发功能的设备,例如,可以为路由器、交换机、转发器或者标签交换路由器(label switching router,LSR)等。需要说明的是,图2中实线用于表明相邻两个端网络设备之间存在传输路径,虚线表明相邻的两个端网络设备之间转发报文时可使用的隧道。作为示例,隧道可以是指CSG到ASG1或者到ASG2的隧道,也可以是指ASG1到ASG2、ASG2到RSG2或者RSG2到RSG1之间进行报文转发时所使用的隧道。相对于整网或相对较大的网络范围内传输报文所使用的端到端隧道而言,任意两个相邻的端网络设备之间的隧道可以称为分段隧道。如对于图2示出的CSG到RSG1的端到端隧道,CSG到ASG2这两个端设备之间的隧道即为一条分段隧道。每个分段隧道与分段隧道发送端设备的一个出端口对应。每个发送端设备上可以具有分别对应于多个隧道的多个出端口。任一两个相邻端网络设备之间可以存在一条或多条隧道,当其中一端网络设备向另一端网络设备发送报文时,可以选择其中一条或多条隧道作为转发隧道进行报文转发。例如图2中CSG与ASG2之间存在两条隧道,分别为隧道1和隧道2,则可以利用隧道1将一种类型的业务报文转发给ASG2,而利用隧道2将另一种类型的业务报文转发给ASG2。
在该应用场景下,CSG到RSG1的转发路径可以为CSG-ASG1-ASG2-P-RSG2-RSG1,也可为CSG-ASG2-P-RSG2-RSG1,为便于理解,下面将以CSG-ASG2-P-RSG2-RSG1为例进行说明。在该实施例中,CSG为头节点201、ASG2和RSG2为中间节点,分别称为第一节点202、第二节点203,RSG1为尾节点204。
对于头节点,在一种可能的情形中,其可以为生成该报文的节点,即头节点可以为该报文中源地址指示的节点。在该情况下,头节点为该报文端到端传输路径上的第一个节点,头节点在生成该报文时添加标识信息。
在另一种可能的情形中,该报文端到端传输路径上的源节点为其它节点,而头节点与该源节点连接,当头节点接收到该源节点发送的报文后,在该报文中添加用于指示转发该报文所对应隧道的标识信息。在该情形中,头节点可以为端到端传输路径上的第一个隧道端设备,也可以为端到端传输路径上第一个具备获取和添加标识信息能力,并将该标识信息添加至报文的隧道端设备,或者可以为端到端传输路径上第一个需要获取和添加标识信息至报文的隧道端设备等。
对于尾节点,在一种可能的情形中,其可以为报文中目的地址指示的节点;另一种情形是,为与目的地址指示的节点所连接的节点;在另一种情形下,也可以为端到端传输路径上最后一个分段隧道的接收端设备,或者虽不是最后一个分段隧道的接收端设备,但为最后一个需要根据报文中的标识信息确定隧道出端口的发送端设备所对应的接收端设备,如域边界的网络设备,在此情形下域外设备可以无需再执行根据标识信息确定具有相应转发资源的隧道的操作。
中间节点为报文转发时位于头节点和尾节点之间隧道对应的端设备。
为便于理解,下面将结合图2所示的网络系统结构为例进行说明,具体地,将以 CSG-ASG2-P-RSG2-RSG1为例,图3为本申请实施例提供的一种报文传输方法流程图,如图3所示,包括:
S301:头节点201获取标识信息。
本实施例中,头节点201首先获取用于指示转发报文时所对应隧道的标识信息,并可以将获取的标识信息添加至待转发的报文中。该头节点201例如可以是图2示出的CSG。
其中,头节点201获取标识信息可以存在多种实现方式,一种是,头节点201可以从本地配置信息中获取该标识信息,该本地配置信息可以为用户根据需要发送的业务报文在头节点201中手动配置的,也可以是头节点从本地预先存储的配置信息中读取的,头节点201可以根据需要发送的报文所需的资源以及该配置信息表中存储的隧道具备的资源与标识信息之间的对应关系,确定转发报文对应的标识信息。
另一种是,头节点201从第一中间节点202获取标识信息,具体地,头节点201从第一中间节点202获取可用资源信息,该可用资源信息用于指示第一中间节点202到第二中间节点203所存在的多个隧道中每个隧道对应的可用资源,具体如可用网络分片资源;头节点201根据该可用资源信息确定与第二隧道对应的标识信息,其中,第二隧道满足转发报文需要的资源。也就是,头节点201从第一中间节点202中获取第一中间节点202与第二中间节点203之间全部或部分隧道所具备的资源,头节点201根据该全部或部分隧道所具备的资源确定满足转发报文所需资源的隧道,即第二隧道,并确定与该第二隧道对应的标识信息。其中,各个隧道所具备的分片资源可以为带宽、时隙、服务质量队列、端口等。该报文可以属于某一业务流量。转发报文所需的资源可以根据报文所属业务类型决定,业务类型可以包括视频、音频或文本等,也可以根据报文所属的用户确定。
再一种是,头节点201根据从上一跳网络设备接收的报文中的相关信息确定添加的标识信息,其中,头节点201与上一跳网络设备可以为隧道的端设备,即上一跳网络设备利用隧道向头节点201转发报文,或者该上一跳网络设备为非隧道端设备。具体地,头节点201接收上一跳网络设备发送的报文,该报文中包括更新前的标识信息,该更新前的标识信息使得上一跳网络设备确定向头节点201转发报文所使用的隧道;头节点201根据该更新前的标识信息获取标识信息。具体地,头节点201可以根据更新前的标识信息确定转发报文所需要的资源,并根据该所需要的资源以及第一中间节点202中各个隧道所具备的资源确定满足要求的隧道,从而获取该满足要求的隧道所对应的标识信息。或者,头节点201接收上一跳网络设备发送的报文,该报文中包括指示头节点201添加标识信息的指示信息。其中,标识信息使得第一中间节点202确定第二隧道。
S302:头节点201利用第一隧道向第一中间节点202发送包括标识信息的报文。
头节点201在将获取的标识信息添加至报文后,利用第一隧道向第一中间节点202转发该报文。其中,第一隧道可以通过以下方式获取,一种是,头节点201根据虚拟专用网络(Virtual Private Network,VPN)标识确定第一隧道,其中,VPN标识用于唯一地标识某一VPN实例。即,当头节点201接收到待转发的报文时,可以根据该报文所属的虚拟专用网络获取对应的虚拟网络标识,进而根据该虚拟网络标识确定转发该虚拟专用网络报文时使用的隧道。例如,头节点201对应3个虚拟专用网络,分别为VPN1、VPN2、VPN3, 其中,隧道1用于转发VPN1的业务报文,隧道2用于转发VPN2和VPN3的业务报文。当头节点201接收的报文属于VPN1时,则根据VPN1确定隧道1,以利用隧道1向第一节点202转发报文。
另一种是,头节点201根据标识信息确定第一隧道。即,头节点201在获取到标识信息后,可以根据该标识信息确定出向第一节点202转发报文所使用的第一隧道。具体地,头节点201根据标识信息以及存储的对应关系表确定第一隧道,其中,对应关系表包括标识信息与第一隧道之间的对应关系。也就是,头节点201根据获取的标识信息以及预先存储的对应关系表查找与标识信息对应的隧道,即第一隧道。该对应关系表可以是标识信息和隧道信息(如隧道出端口)之间的直接关系对应表,即直接以标识信息中的内容作为索引,确定相应的隧道信息;也可以是非直接关系对应表,例如,标识信息用于指示所需的网络分片资源情况,头节点201根据该所需的网络分片资源情况查找并确定可提供该资源的隧道信息。
当头节点201同时配置上述两种确定第一隧道的策略时,如果头节点201利用虚拟网络标识确定出的第一隧道和利用标识信息确定出的第一隧道为同一隧道时,则头节点201利用该第一隧道向第一节点202转发该报文。如果头节点201利用虚拟网络标识确定出的第一隧道与利用标识信息确定出的第一隧道为不同隧道时,则头节点201可以根据预先配置的优先级,确定出转发报文所使用的隧道。例如,利用虚拟网络标识确定出的隧道的优先级高于利用标识信息确定出的隧道的优先级,则头节点201利用虚拟网络标识确定出的第一隧道向第一节点202转发报文。
需要说明的是,隧道满足转发报文所需要的资源是指该隧道对应的出端口满足转发报文所需要的资源,也就是说,头节点201利用第一隧道对应的出端口向第一节点202转发报文。
本实施例以图2所示的网络系统结构为例进行说明,在实际应用场景中,头节点201与第一中间节点202可以直接连接,也可以通过两个节点之间存在的任意多个转发网络设备连接。当头节点201利用第一隧道向第一中间节点202发送报文时,中间各个转发网络设备可以只实现转发功能,将该报文透传给第一中间节点202,并不解析报文中的标识信息。
S303:第一中间节点202根据报文中的标识信息确定第二隧道。
本实施例中,当第一中间节点202通过第一隧道对应的入端口接收到头节点201发送的报文后,从该报文中获取标识信息,以根据该报文中的标识信息确定第二隧道。其中,第一中间节点202根据标识信息确定第二隧道的具体实现可以参见S302中头节点201确定第一隧道的实现方式。该第一中间节点202例如可以是ASG1或者ASG2。
可以理解的是,头节点201、第一中间节点202均可以根据标识信息确定隧道,二者所根据的标识信息可以为同一标识信息,也可以为不同的标识信息。当头节点201和第一中间节点202利用同一标识信息来确定隧道时,当头节点201获取到标识信息后,可以直接将获取的标识信息添加至报文中发送给第一中间节点202。进一步地,虽然头节点201和第一中间节点202可以利用同一标识信息确定隧道,但在不同的节点,同一标识信息可 以对应不同的隧道。例如,头节点201和第一中间节点202使用的同一标识信息为100,该标识信息100用于指示1G带宽,在头节点201中,隧道1对应的带宽为1G,则该标识信息对应隧道1;在第一中间节点202中,隧道2对应的带宽为1G,则该标识信息对应隧道2。当转发报文的网络分片需求最低为1G带宽时,隧道1和隧道2可提供的带宽资源可以为1G,也可以大于1G,并且隧道1和隧道2可提供的带宽可以相同,也可以不同。当头节点201与第一中间节点202利用不同的标识信息确定隧道时,头节点201在将报文转发给第一中间节点202之前,根据所获取的标识信息确定更新后的标识信息,该更新后的标识信息用于使得第一中间节点202确定转发报文所使用的隧道。也就是,报文中所包括的标识信息为更新后的标识信息,第一中间节点202利用更新后的标识信息确定第二隧道。例如,在头节点201中,标识信息100用于指示1G带宽,隧道1对应的带宽为1G,则该标识信息100对应隧道1,即该标识信息100用于指示头节点201确定隧道1承载了1G带宽的网络分片资源;在第一中间节点202中,标识信息200用于指示1G带宽,则头节点201在向第一中间节点202发送报文时,将标识信息100替换为标识信息200,以使得第一中间节点202可以根据识别出的标识信息200确定转发报文所需使用的1G带宽的隧道。
作为一种可能的实现方式,本实施例中的标识信息可以包括第一标识和第二标识,其中,第一标识用于指示该报文包括第二标识,该第二标识用于指示转发该报文对应的隧道。对于接收到包括标识信息的报文的节点,其可以通过识别第一标识来快速地确定该报文中还包括第二标识,以便利用该第二标识确定转发报文所对应的隧道。
本实施例中,标识信息的具体表现形式可以为点标签,其中,第一标识为点标签的外层标签,第二标识为点标签的内层标签。具体地,以VPN网络中构建MPLS-TE隧道为例,当头节点201接收到报文后,在该报文的VPN标签和MPLS标签之间封装该点标签,该点标签的外层标签可以设定为第一标签值,例如为6或12,内层标签设定为第二标签值(根据实际需求进行设定)。如图4a所示的报文格式,包括IP头,VPN的标签信息MPLS生存时间(time to live,TTL)255(其中255表示默认取值),点标签的外层标签MPLS(6)TTL 0,点标签的内层标签点Point_MPLS TTL 255,MPLS的标签信息MPLS TTL 255。当第一中间节点202接收到头节点201通过第一隧道发送的报文后,通过解析报文确定存在点标签且点标签的外层标签值等于第一标签值,则解析内层标签,通过该内层标签值确定第二隧道。
需要说明的是,第一隧道和第二隧道可以为同类型的隧道,例如均为SR-TE隧道,也可以为不同类型的隧道,例如第一隧道为SR-TE隧道,第二隧道为RSVP-TE隧道。
S302和S303中以图2示出的CSG作为头节点201,直接通过第一隧道向作为第一中间节点202的ASG2发送携带标识信息的报文为例。在其他可能的情形中,CSG也可以先向ASG1发送携带标识信息的报文,之后由ASG1将该报文透传给ASG2。当ASG1和ASG2之间也通过隧道连接时,ASG1可以通过该隧道透传报文,或者,如果ASG1和ASG2之间也部署了网络分片时,CSG向ASG1发送携带标识信息的报文在某些情形下也可以由ASG1解析,以使得ASG1根据解析后获取的该标识信息确定向ASG2转发报文时所使用的隧道,该ASG1确定出的隧道具有转发报文所需要的网络分片资源。
S304:第一中间节点202利用第二隧道向第二中间节点203转发报文。
当第一中间节点202确定出向第二中间节点203转发报文所对应的第二隧道时,第一中间节点202利用该第二隧道向第二中间节点203转发报文,该报文中包括标识信息。具体地,当第一中间节点202与第二中间节点203用于指示转发报文所对应隧道的标识信息不同时,第一中间节点202在向第二中间节点203转发报文之前,第一中间节点202根据从头节点201所接收的报文中的标识信息确定更新后的标识信息,该更新后的标识信息使得第二中间节点203确定转发报文所使用的隧道;第一中间节点202利用第二隧道向第二中间节点203发送包括更新后的标识信息的报文。具体地,第一中间节点202利用第二隧道对应的出端口向第二中间节点203发送包括更新后的标识信息的报文。该第二中间节点203例如可以是图2示出的RSG2。
需要说明的是,为体现报文传输的连续性,在本申请实施例中将头节点201向第一中间节点202发送的报文、第一中间节点202向第二中间节点203发送的报文均称为报文,但可以理解地,头节点201向第一中间节点202发送的报文和第一中间节点202向第二中间节点203发送的报文在实际应用场景中可以存在差别。例如,生存时间TTL和下一跳节点等信息可能均存在差异,即,第一中间节点202在将头节点201的报文转发给第二中间节点203时,实际可以为修改了一些必要信息的更新后的报文。该头节点201发送的报文和第一中间节点202发送的更新后的报文中可以携带相同的载荷(payload)和用于指示具有相应可用资源的隧道的标识信息。后续第二中间节点203向尾节点204发送的报文也是类似含义,实质也可以是更新后的报文。
在实际应用场景中,第一中间节点202与第二中间节点203之间可以存在任意多个转发网络设备,如图2示出的P设备。当第一中间节点202利用第二隧道向第二中间节点203发送报文时,中间各个转发网络设备可以仅实现转发功能,将该报文透传给第二中间节点203,不对该报文进行解析和识别。
S305:第二中间节点203根据报文中的标识信息确定第三隧道。
当第二中间节点203通过第二隧道对应的入端口接收到第一中间节点202发送的报文后,从该报文中获取标识信息,以根据该报文中的标识信息确定第三隧道。其中,第二中间节点203根据标识信息确定第三隧道的具体实现可以参见S303中第一中间节点202确定第二隧道的实现方式。
其中,第二隧道和第三隧道可以为同类型的隧道,例如均为SR-TE隧道,也可以为不同类型的隧道,例如第一隧道为SR-TE隧道,第二隧道为RSVP-TE隧道。
S306:第二中间节点203利用第三隧道向尾节点204转发报文。
当第二中间节点203确定出向尾节点204转发报文所对应的第三隧道时,第二中间节点203利用该第三隧道向尾节点204转发报文,该报文中包括标识信息。其中,第二中间节点203利用第三隧道向尾节点204转发报文的具体实现可以参见S303,本实施例在此不再赘述。该尾节点203例如可以是图2中的RSG1。
在本实施例中,尾节点204在接收到第二中间节点203转发的报文后,在不同的应用场景下可以执行不同的处理。具体可以包括以下操作:
一种情况是,尾节点204在接收到报文后不再进行转发。例如,当尾节点204为该报文的目的节点时,尾节点204可以仅接收该报文而不进行转发,也无需根据标识信息确定转发隧道。
另一种情况是,例如,对于目的节点为尾节点204连接的用户设备时,尾节点204在根据标识信息确定出隧道后,将报文中的标识信息弹出,将不包括标识信息的报文转发给用户设备。当标识信息携带于报文的扩展头时,该弹出操作可以是将整个扩展头弹出。例如图4b所示弹出后的报文结构示意图。
再一种情况是,当尾节点204连接的下一节点与尾节点204属于不同网络域时,不同网络域可以设置不同的标识信息来指示隧道,即该情形中尾节点204为当前网络域范围内定义的尾节点。为保证下一跳节点可以识别报文中的标识信息,尾节点204在接收到第二中间节点203转发的报文后,根据报文中携带的在当前网络域中使用的标识信息,获取在另一网络域使用的对应的标识信息,在该另一网络域中使用的对应的标识信息可以成为更新后的标识信息。即,更新前的标识信息应用于头节点201、第一中间节点202、第二中间节点203和尾节点204所属的网络域,更新后的标识信息应用于下一跳节点所属的网络域。尾节点204将报文中的标识信息替换为更新后的标识信息,并将携带该更新后的标识信息的报文发送给下一跳节点,从而保证下一跳节点可以识别报文中的更新后的标识信息,并完成相应的转发资源预留。或者,网络域外的下一跳节点无需再执行根据标识信息确定隧道的操作,则尾节点204也可以在剥离报文中的标识信息后,不再添加新的标识信息,而是将不包括标识信息的报文转发至域外的下一跳节点。其中,网络域可以为自治系统(autonomous system,AS)域、内部网关协议(interior gateway protocols,IGP)域或者管理域。该管理域例如可以包括多个AS域,该多个AS域由控制器统一进行管理。
S304和S305以RSG2作为第二中间节点203,而RSG1作为尾节点204作为示例。可以理解地,在实际应用场景中,作为同类型节点的RSG1和RSG2之间也可以不部署网络分片,而是直接根据报文传输路径完成报文转发。则在该种情形下,在RSG2即可执行标识信息的弹出操作,而在RSG2向RSG1转发的报文中将不再包括用于确定隧道的标识信息,即使在一些情形下,RSG2仍可以通过隧道的方式向RSG1转发报文。在其他情形中,也可能存在头节点201和尾节点204之间的一个或多个作为隧道端设备的中间节点不支持或不使能根据标识信息选择隧道的功能的情形,在该情形下,该一个或多个中间节点可以只按照传统机制转发该报文。
可以理解的,上述情形仅作为示例,尾节点204对报文进行的处理操作可结合具体应用场景确定。用于转发报文的隧道端节点通过在报文中添加标识信息,可以为该隧道另一侧的端节点指示转发该报文所使用的下一段隧道所对应的出端口,该下一段隧道具有能够承载该报文转发的网络分片资源,由此可以保证报文在传输路径上始终能够使用所需的可用资源转发,提高了网络服务质量。
为便于进一步理解本申请实施例提供的技术方案,参见图5,该图为本申请实施例提供的另一种报文传输方法流程图,如图5所示,该方法可以包括:
S501:第一网络设备获取标识信息。
本实施例中,第一网络设备可以为前述实施例描述的头节点、中间节点或尾节点。
当第一网络设备为头节点时,第一网络设备可以根据本地配置信息获取标识信息或者从第二网络设备获取标识信息,具体地,第一网络设备从第二网络设备获取可用资源信息;第一网络设备根据可用资源信息确定与第二隧道对应的标识信息。其中,第二隧道满足转发报文所需的资源,具体实现可以参见S301。
当第一网络设备为中间节点或尾节点时,第一网络设备根据从上一跳网络设备(第四网络设备)发送的报文中的相关信息确定的。其中,第一网络设备和第四网络设备为第三隧道的端设备。具体地,第一网络设备接收第四网络设备发送的报文,该报文中包括更新前的标识信息,该更新前的标识信息使得第四网络设备确定第三隧道;第一网络设备根据更新前的标识信息获取标识信息。在该实现方式中,第一网络设备根据更新前的标识信息获取的标识信息可以应用于第二网络设备中,以使得第二网络设备根据该标识信息确定第二隧道。具体实现可以参见S302。
其中,标识信息的表现形式可以为,标识信息包括第一标识和第二标识,该第一标识用于指示报文包括第二标识,第二标识用于指示转发该报文所对应的隧道。具体地,第一标识和第二标识的表现形式为,当标识信息为点标签时,第一标识信息为点标签的外层标签,第二标识为点标签的内层标签。具体地,可以参见S303。
S502:第一网络设备利用第一隧道向第二网络设备发送包括标识信息的报文。
本实施例中,第一网络设备确定第一隧道的具体实现方式可以包括:一种是根据标识信息确定的。具体地,第一网络设备根据标识信息以及存储的对应关系表确定第一隧道,其中,对应关系表包括标识信息与第一隧道之间的对应关系。另一种是根据虚拟专用网络标识确定的。关于上述两种实现方式可以参见图S302。
本实施例中,当第一网络设备为头节点201时,第一网络设备向第二网络设备发送报文的实现可以参见S302。当第一网络设备为中间节点时,第一网络设备向第二网络设备发送报文的实现可以参见S304、S306。
需要说明的是,当第一网络设备与第二网络设备之间存在中间转发网络设备时,第一网络设备可以利用第一隧道通过中间转发网络设备透传给第二网络设备。即,转发网络设备对所转发的报文不进行解析和识别,直接传输给第二网络设备。具体地,第一网络设备在利用第一隧道传输报文时,实际上是利用该第一隧道对应的出端口向第二网络设备发送报文。
S503:第二网络设备根据报文中的标识信息确定用于向第三网络设备转发的第二隧道。
本实施例中,当第二网络设备接收到第一网络设备发送的包括标识信息的报文时,可以根据报文中的标识信息确定用于向第三网络设备转发的第二隧道。其中,第二网络设备根据报文中的标识信息确定第二隧道可以包括:第二网络设备根据标识信息以及存储的对应关系表确定第二隧道,其中,对应关系表包括标识信息与第二隧道之间的对应关系,的具体实现可以参见S303、S305。其中,第一隧道和第二隧道的隧道类型可以相同,也可以不同,具体可以参见S303。
S504:第二网络设备利用第二隧道向第三网络设备转发包括标识信息的报文。
本实施例中,当第二网络设备确定出第二隧道后,可以利用该第二隧道向第三网络设备转发包括标识信息的报文。具体地,第二网络设备在利用第二隧道向第三网络设备发送报文时,第二网络设备可以根据接收报文时的标识信息确定更新后的标识信息,该更新后的标识信息用于确定指示转发报文所使用的隧道;第二网络设备利用第二隧道向第三网络设备发送该报文,该报文包括更新后的标识信息。具体实现可以参见S304。
具体地,当第二网络设备为尾节点时,其接收报文后的具体实现可以参见S306的相关描述,本实施例在此不再赘述。当第二网络设备与第三网络设备利用不同的标识信息指示隧道时,第二网络设备在利用第二隧道向第三网络设备转发报文时,第二网络设备根据所接收报文的标识信息确定更新后的标识信息,该更新后的标识信息用于第三网络设备确定转发该报文所使用的隧道。第二网络设备将报文中的标识信息替换为更新后的标识信息,利用第二隧道将包括更新后的标识信息的报文发送给第三网络设备。
基于上述方法实施例,本申请实施例提供了一种报文传输装置,下面将结合附图对该装置进行说明。
参见图6,该图为本申请实施例提供的一种报文传输装置结构示意图,该装置600能够应用于第一网络设备,执行图5所示实施例中第一网络设备的功能,该装置600可以包括:获取单元601和发送单元602。
其中,获取单元601,用于获取标识信息,该标识信息用于指示转发报文所对应的隧道。
当装置600所应用的第一网络设备为头节点201时,获取单元601获取标识信息的具体实现可以参见图3所述实施例中的S301。当第一网络设备所应用的第一网络设备为第一中间节点202、第二中间节点203或尾节点204时,获取单元601可以从报文中获取标识信息,具体可以参见S303、S305。
发送单元602,用于利用第一隧道向第二网络设备发送包括标识信息的报文,以使得第二网络设备根据报文中的标识信息确定用于向第三网络设备转发报文的第二隧道。其中,装置600所应用的第一网络设备和第二网络设备为第一隧道的端设备,第二网络设备和第三网络设备为第二隧道的端设备。
其中,发送单元602的具体实现可以参见S302。
在一种可能的实现方式中,该装置还可以包括:
确定单元,用于在执行发送单元之前,根据标识信息确定第一隧道;或者,根据虚拟专用网络标识确定第一隧道。
其中,确定单元确定第一隧道的具体实现可以参见S302。
在一种可能的实现方式中,确定单元,具体用于根据标识信息以及存储的对应关系表确定第一隧道,该对应关系表包括标识信息与第一隧道之间的对应关系。
其中,确定单元根据标识信息以及对应关系表确定第一隧道的具体实现可以参见S302。
在一种可能的实现方式中,标识信息为获取单元根据本地配置信息获取的,或者所述标识信息为获取单元从所述第二网络设备获取的,或者所述标识信息为获取单元根据从第四网络设备接收的所述报文中的相关信息确定的,其中,装置600所应用的网络设备和第 四网络设备为第三隧道的端设备。
当装置600所应用的网络设备为头节点201时,获取单元根据本地配置信息获取标识信息,或者从下一跳网络设备获取。当网络设备为第一中间节点202、第二中间节点203或尾节点204时,获取单元可以从上一跳网络设备发送的报文中获取。上述获取标识信息的具体实现可以参见S301。
在一种可能的实现方式中,获取单元,具体用于从第二网络设备获取可用资源信息;根据可用资源信息确定与第二隧道对应的所述标识信息,其中第二隧道满足转发所述报文需要的资源。
其中,获取单元根据从第二网络设备获取可用资源信息确定第二隧道对应标识信息的具体实现可以参见S301。
在一种可能的实现方式中,确定单元,具体用于接收第四网络设备发送的报文,该报文包括更新前的标识信息,该更新前的标识信息使得第四网络设备确定所述第三隧道;根据更新前的标识信息获取标识信息;或者,接收第四网络设备发送的报文,该报文包括所述标识信息。
其中,关于确定单元根据更新前的标识信息获取标识信息的具体实现可以参见S301。
在一种可能的实现方式中,标识信息包括第一标识和第二标识,第一标识用于指示报文包括第二标识,第二标识用于指示转发报文所对应的隧道。
其中,关于标识信息的具体表现形式可以参见S303。
在一种可能的实现方式中,当报文传输装置与第二网络设备之间存在转发网络设备时,发送单元,具体用于利用第一隧道通过转发网络设备透传给第二网络设备。
当装置600所应用的网络设备与第二网络设备之间存在转发网络设备时,发送单元利用第一隧道通过转发网络设备将报文透传给第二网络设备,该转发网络设备不对该报文进行解析和识别。具体实现可以参见S302。
在一种可能的实现方式中,发送单元,具体用于利用第一隧道对应的出端口向第二网络设备发送报文。
关于发送单元利用第一隧道对应的出端口向第二网络设备发送报文的实现可以参见S302。
在一种可能的实现方式中,第一隧道对应的隧道类型和第二隧道对应的隧道类型不同。
其中,关于第一隧道和第二隧道各自所对应隧道的类型可以参见S303。
关于报文传输装置600具体可执行的功能和实现,可以参见图3或图5所示实施例中关于第一网络设备的相应描述,此处不再赘述。
参见图7,该图为本申请实施例提供的一种报文传输装置结构示意图,该装置700能够应用于第二网络设备,执行图5所示实施例中第二网络设备的功能,该装置700可以包括:接收单元701、确定单元702和发送单元703。
接收单元701,用于接收第一网络设备发送的报文,该报文包括标识信息,该标识信息用于指示转发报文所使用的隧道。
其中,装置700所应用的网络设备可以为第一中间节点202、第二中间节点203或尾 节点204,关于接收单元701接收报文的具体实现可以参见S302、S304、S306。
确定单元702,用于根据标识信息确定第二隧道。
其中,确定单元702根据标识信息确定第二隧道的具体实现可以参见S302、S303或S305。
发送单元703,用于利用第二隧道向第三网络设备发送报文,装置700所应用的网络设备和第三网络设备为第二隧道的端设备。
其中,发送单元703利用第二隧道向第三网络设备发送报文的实现可以参见S304、S306。
在一种可能的实现方式中,确定单元,具体用于根据标识信息以及存储的对应关系表确定第二隧道,其中,对应关系表包括标识信息与第二隧道之间的对应关系。
其中,关于确定单元根据标识信息以及对应关系表确定第二隧道的具体实现可以参见S302、S303或S305。
在一种可能的实现方式中,发送单元,具体用于根据标识信息确定更新后的标识信息,该更新后的标识信息用于确定指示转发报文所使用的隧道;利用第二隧道向第三网络设备发送报文,该报文包括更新后的标识信息。
其中,关于发送单元确定更新后的标识信息的具体实现可以参见S303、S304。
在一种可能的实现方式中,标识信息包括第一标识和第二标识,该第一标识用于指示报文包括第二标识,该第二标识用于指示转发报文所使用的隧道。
其中,关于标识信息的具体表现形式可以参见S303。
在一种可能的实现方式中,当报文传输装置与第三网络设备之间存在转发网络设备时,发送单元,具体用于利用第二隧道通过转发网络设备透传给第三网络设备。
当装置700所应用的网络设备与第三网络设备之间存在转发网络设备时,该转发网络设备将透传所接收的报文给第三网络设备。具体实现可以参见S302、S304或S306。
在一种可能的实现方式中,发送单元,具体用于利用第二隧道对应的出端口向第三网络设备发送所述报文。
其中,关于发送单元利用第二隧道对应的出端口发送报文的具体实现可以参见S304、S306。
在一种可能的实现方式中,第二隧道对应的隧道类型与第一隧道的隧道类型不同,其中,第一隧道为第一网络设备与报文传输装置之间的隧道。
其中,关于第一隧道和第二隧道的隧道类型的定义可以参见S303、S305。
关于报文传输装置700具体可执行的功能和实现,可以参见图2或图5所示实施例中关于第一网络设备的相应描述,此处不再赘述。
图8为本申请实施例提供的一种网络设备的结构示意图,该网络设备例如可以是图2或图5所示实施例中的第一网络设备或第二网络设备,或者也可以是图6所示实施例中的报文传输装置600或装置700的设备实现。
请参阅图8所示,网络设备800包括:处理器810、通信接口820和存储器830。其中报文转发设备800中的处理器810的数量可以一个或多个,图8中以一个处理器为例。本 申请实施例中,处理器810、通信接口820和存储器830可通过总线系统或其它方式连接,其中,图8中以通过总线系统840连接为例。
处理器810可以是CPU、NP、或者CPU和NP的组合。处理器810还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
当网络设备包括头节点201时,处理器810可以执行上述方法实施例中获取标识信息以及根据标识信息确定隧道等的相关功能。当网络设备为第一中间节点202、第二中间节点203或尾结点204时,处理器810可以执行上述方法实例中根据标识信息确定隧道等的相关功能。
通信接口820用于接收和发送报文,具体地,通信接口820可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口820的个数可以为一个或多个。
存储器830可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器830也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器830还可以包括上述种类的存储器的组合。存储器830例如可以存储前文提及的标识信息和隧道之间的对应关系。
可选地,存储器830存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器810可以读取存储器830中的程序,实现本申请实施例提供的报文传输方法。
其中,存储器830可以为网络设备800中的存储器件,也可以为独立于网络设备800的存储装置。
总线系统840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统840可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图9是本申请实施例提供的另一种网络设备900的结构示意图,网络设备900可以配置为前述各实施例中的第一网络设备或第二网络设备,或图6所示实施例中的报文传输装置600或装置700的设备实现。
网络设备900包括:主控板910和接口板930。
主控板910也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板910对网络设备900中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板910包括:中央处理器911和存储器912。
接口板930也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板930用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板930包括:中央处理器931、网络处理器932、转发表项存储器934和物理接口卡(ph8sical interface card,PIC)933。
接口板930上的中央处理器931用于对接口板930进行控制管理并与主控板910上的中央处理器911进行通信。
网络处理器932用于实现报文的转发处理。网络处理器932的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡933用于实现物理层的对接功能,原始的流量由此进入接口板930,以及处理后的报文从该物理接口卡933发出。物理接口卡933包括至少一个物理接口,物理接口也称物理口,物理接口卡933对应于系统架构200中的FlexE物理接口204。物理接口卡933也称为子卡,可安装在接口板930上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器932处理。在一些实施例中,接口板903的中央处理器931也可执行网络处理器932的功能,比如基于通用CPU实现软件转发,从而物理接口卡933中不需要网络处理器932。
可选地,网络设备900包括多个接口板,例如网络设备900还包括接口板940,接口板940包括:中央处理器941、网络处理器942、转发表项存储器944和物理接口卡943。
可选地,网络设备900还包括交换网板920。交换网板920也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板930的情况下,交换网板920用于完成各接口板之间的数据交换。例如,接口板930和接口板940之间可以通过交换网板920通信。
主控板910和接口板930耦合。例如。主控板910、接口板930和接口板940,以及交换网板920之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板910和接口板930之间建立进程间通信协议(inter-process communication,IPC)通道,主控板910和接口板930之间通过IPC通道进行通信。
在逻辑上,网络设备900包括控制面和转发面,控制面包括主控板910和中央处理器931,转发面包括执行转发的各个组件,比如转发表项存储器934、物理接口卡933和网络处理器932。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器932基于控制面下发的转发表对物理接口卡933收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器934中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备900被配置为第一网络设备,中央处理器911可以获取标识信息;确定第一隧道。网络处理器932可以触发物理接口卡933根据确定的第一隧道向第二网络设备发送包括标识信息的报文。
如果网络设备900被配置为第二网络设备,中央处理器911可以根据报文中的标识信息确定第二隧道。网络处理器932可以触发物理接口卡933根据确定的第二隧道向第三网络设备发送报文。
应理解,报文传输装置600中的发送单元602等可以相当于网络设备900中的物理接口卡933或物理接口卡943;报文传输装置600中的获取单元601和确定单元等可以相当于网络设备900中的中央处理器911或中央处理器931。
报文传输装置700中的接收单元701、发送单元703等可以相当于网络设备900中的物理接口卡933或物理接口卡943;报文传输装置700中的确定单元702等可以相当于网络设备900中的中央处理器911或中央处理器931。
应理解,本申请实施例中接口板940上的操作与接口板930的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备900可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备900中的主控板910、接口板930和/或接口板940可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景。
在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备,此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图6示出的报文传输装置600的一种具体实现形式,可以用于执行上述报文传输的方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (20)

  1. 一种报文传输方法,其特征在于,所述方法包括:
    第一网络设备获取标识信息,所述标识信息用于指示转发报文所对应的隧道;
    所述第一网络设备利用第一隧道向第二网络设备发送包括所述标识信息的报文,以使得所述第二网络设备根据所述报文中的标识信息确定用于向第三网络设备转发所述报文的第二隧道,所述第一网络设备和所述第二网络设备为所述第一隧道的端设备,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
  2. 根据权利要求1所述的方法,其特征在于,所述第一网络设备利用第一隧道向第二网络设备发送报文之前,所述方法还包括:
    所述第一网络设备根据所述标识信息确定第一隧道;或者,
    所述第一网络设备根据虚拟专用网络标识确定第一隧道。
  3. 根据权利要求2所述的方法,其特征在于,所述第一网络设备根据所述标识信息确定第一隧道,包括:
    所述第一网络设备根据所述标识信息以及存储的对应关系表确定第一隧道,所述对应关系表包括所述标识信息与所述第一隧道之间的对应关系。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述标识信息为所述第一网络设备根据本地配置信息获取的,或者所述标识信息为所述第一网络设备从所述第二网络设备获取的,或者所述标识信息为所述第一网络设备根据从第四网络设备接收的所述报文中的相关信息确定的,所述第一网络设备和所述第四网络设备为第三隧道的端设备。
  5. 根据权利要求4所述的方法,其特征在于,所述标识信息为所述第一网络设备从所述第二网络设备获取的,包括:
    所述第一网络设备从所述第二网络设备获取可用资源信息;
    所述第一网络设备根据所述可用资源信息确定与所述第二隧道对应的所述标识信息,所述第二隧道满足转发所述报文需要的资源。
  6. 根据权利要求4所述的方法,其特征在于,所述第一网络设备根据从第四网络设备接收的所述报文中的相关信息确定所述标识信息,包括:
    所述第一网络设备接收所述第四网络设备发送的所述报文,所述报文包括更新前的标识信息,所述更新前的标识信息使得所述第四网络设备确定所述第三隧道,所述第一网络设备根据所述更新前的标识信息获取所述标识信息;或者,
    所述第一网络设备接收所述第四网络设备发送的所述报文,所述报文包括所述标识信息。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述标识信息包括第一标识和第二标识,所述第一标识用于指示所述报文包括所述第二标识,所述第二标识用于指示转发所述报文所对应的隧道。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,当所述第一网设备与所述第二网络设备之间存在转发网络设备时,所述第一网络设备利用第一隧道向第二网络设备发送包括所述标识信息的报文,包括:
    所述第一网络设备利用所述第一隧道通过所述转发网络设备透传给所述第二网络设备。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述第一网络设备利用第一隧道向第二网络设备发送包括所述标识信息的报文,包括:
    所述第一网络设备利用所述第一隧道对应的出端口向所述第二网络设备发送报文。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述第一隧道对应的隧道类型和所述第二隧道对应的隧道类型不同。
  11. 一种报文传输方法,其特征在于,所述方法包括:
    第二网络设备接收第一网络设备发送的报文,所述报文包括标识信息,所述标识信息用于指示转发报文所使用的隧道;
    所述第二网络设备根据所述标识信息确定第二隧道;
    所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
  12. 根据权利要求11所述的方法,其特征在于,所述第二网络设备根据所述标识信息确定第二隧道,包括:
    所述第二网络设备根据所述标识信息以及存储的对应关系表确定第二隧道,所述对应关系表包括所述标识信息与所述第二隧道之间的对应关系。
  13. 根据权利要求11或12所述的方法,其特征在于,所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,包括:
    所述第二网络设备根据所述标识信息确定更新后的标识信息,所述更新后的标识信息用于确定指示转发所述报文所使用的隧道;
    所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,所述报文包括所述更新后的标识信息。
  14. 根据权利要求11-13任一项所述的方法,其特征在于,所述标识信息包括第一标识和第二标识,所述第一标识用于指示所述报文包括所述第二标识,所述第二标识用于指示转发所述报文所使用的隧道。
  15. 根据权利要求11-14任一项所述的方法,其特征在于,当所述第二网络设备与所述第三网络设备之间存在转发网络设备时,所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,包括:
    所述第二网络设备利用所述第二隧道通过所述转发网络设备透传给第三网络设备。
  16. 根据权利要求11-15任一项所述的方法,其特征在于,所述第二网络设备利用所述第二隧道向第三网络设备发送所述报文,包括:
    所述第二网络设备利用所述第二隧道对应的出端口向所述第三网络设备发送所述报文。
  17. 根据权利要求11-16任一项所述的方法,其特征在于,所述第二隧道对应的隧道类型与第一隧道的隧道类型不同,所述第一隧道为所述第一网络设备与所述第二网络设备之间的隧道。
  18. 一种报文传输系统,其特征在于,所述系统包括:第一网络设备和第二网络设备;
    所述第一网络设备,用于获取标识信息,所述标识信息用于指示转发报文所对应的隧道;
    所述第一网络设备,还用于利用第一隧道向所述第二网络设备发送包括所述标识信息的报文,所述第一网络设备和所述第二网络设备为所述第一隧道的端设备;
    所述第二网络设备,用于根据所述报文中的标识信息确定第二隧道,并利用所述第二隧道向第三网络设备转发所述报文,所述第二网络设备和所述第三网络设备为所述第二隧道的端设备。
  19. 一种通信设备,所述设备包括:处理器和存储器;
    所述存储器,用于存储指令;
    所述处理器,用于执行所述存储器中的所述指令,使得所述通信设备执行权利要求1-17任意一项所述的方法。
  20. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上权利要求1-17任意一项所述的方法。
PCT/CN2021/110416 2020-09-02 2021-08-04 一种报文传输方法及装置 WO2022048381A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010910288.1 2020-09-02
CN202010910288.1A CN114143142B (zh) 2020-09-02 2020-09-02 一种报文传输方法及装置

Publications (1)

Publication Number Publication Date
WO2022048381A1 true WO2022048381A1 (zh) 2022-03-10

Family

ID=80438123

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/110416 WO2022048381A1 (zh) 2020-09-02 2021-08-04 一种报文传输方法及装置

Country Status (2)

Country Link
CN (1) CN114143142B (zh)
WO (1) WO2022048381A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780249A (zh) * 2004-11-25 2006-05-31 华为技术有限公司 一种实现不同种类的第三层虚拟个人网络互通的方法
CN101588296A (zh) * 2009-06-16 2009-11-25 杭州华三通信技术有限公司 一种转发组播报文的方法、头节点和尾节点
CN107979516A (zh) * 2016-10-24 2018-05-01 中兴通讯股份有限公司 标签转发路径的计算方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637782B2 (en) * 2011-03-23 2020-04-28 Hughes Network Systems, Llc System and method for policy-based multipath WAN transports for improved quality of service over broadband networks
CN102549990B (zh) * 2011-07-26 2014-06-04 华为技术有限公司 一种生成虚拟专用网转发表项的方法和装置
CN102904816B (zh) * 2012-09-26 2017-04-12 华为技术有限公司 业务流量保护方法和装置
US9794169B2 (en) * 2013-03-15 2017-10-17 Aerohive Networks, Inc. Application based data traffic routing using network tunneling
CN109246624B (zh) * 2017-07-11 2020-04-03 华为技术有限公司 一种组播转发方法及相关设备
CN107547377B (zh) * 2017-07-19 2020-04-03 新华三技术有限公司 一种组播流量传输方法和装置
US10826722B2 (en) * 2017-12-18 2020-11-03 Futurewei Technologies, Inc. Controller based service policy mapping to establish different tunnels for different applications
CN108234318B (zh) * 2018-03-20 2021-01-01 新华三技术有限公司 报文转发隧道的选取方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780249A (zh) * 2004-11-25 2006-05-31 华为技术有限公司 一种实现不同种类的第三层虚拟个人网络互通的方法
CN101588296A (zh) * 2009-06-16 2009-11-25 杭州华三通信技术有限公司 一种转发组播报文的方法、头节点和尾节点
CN107979516A (zh) * 2016-10-24 2018-05-01 中兴通讯股份有限公司 标签转发路径的计算方法及系统

Also Published As

Publication number Publication date
CN114143142B (zh) 2023-06-20
CN114143142A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN108574616B (zh) 一种处理路由的方法、设备及系统
JP7208386B2 (ja) パケット転送方法、パケット送信装置、およびパケット受信装置
US20200396162A1 (en) Service function chain sfc-based communication method, and apparatus
WO2021258823A1 (zh) 路径创建方法、装置及系统
CN113395735B (zh) 一种报文传输方法、装置和网络设备
CN114465946A (zh) 获取转发表项的方法、装置以及系统
EP3032782A1 (en) Packet transmission method and apparatus
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
WO2022007702A1 (zh) 一种报文处理方法及网络设备
CN114301839B (zh) 一种组播报文传输方法及装置
US20230224236A1 (en) Routing Information Transmission Method and Apparatus
WO2022048381A1 (zh) 一种报文传输方法及装置
CN114760244B (zh) 一种传输绑定段标识bsid的方法、装置和网络设备
WO2022012287A1 (zh) 路由优化方法、物理网络设备及计算机可读存储介质
CN115242699A (zh) 报文传输方法、切片生成方法、装置及系统
WO2022166464A1 (zh) 一种报文传输方法、系统及设备
WO2023088145A1 (zh) 一种报文处理方法、装置及设备
WO2024093306A1 (zh) 通信方法及装置
WO2023226859A1 (zh) 一种段路由策略处理方法及装置
WO2022161061A1 (zh) 一种故障检测方法、网络设备及系统
WO2022143572A1 (zh) 一种报文处理方法及相关设备
WO2023231438A1 (zh) 报文发送的方法、网络设备及系统
WO2022037330A1 (zh) 传输虚拟专用网的段标识vpn sid的方法、装置和网络设备
WO2023125774A1 (zh) 一种vxlan报文传输方法、网络设备及系统
WO2024007762A1 (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: 21863449

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21863449

Country of ref document: EP

Kind code of ref document: A1