WO2022166464A1 - Packet transmission method and system, and device - Google Patents

Packet transmission method and system, and device Download PDF

Info

Publication number
WO2022166464A1
WO2022166464A1 PCT/CN2021/141436 CN2021141436W WO2022166464A1 WO 2022166464 A1 WO2022166464 A1 WO 2022166464A1 CN 2021141436 W CN2021141436 W CN 2021141436W WO 2022166464 A1 WO2022166464 A1 WO 2022166464A1
Authority
WO
WIPO (PCT)
Prior art keywords
tunnel
network device
packet
destination address
attribute information
Prior art date
Application number
PCT/CN2021/141436
Other languages
French (fr)
Chinese (zh)
Inventor
廖婷
肖亚群
古锐
方晟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022166464A1 publication Critical patent/WO2022166464A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a message transmission method, system, and device.
  • a transmission tunnel may be created in advance between the source network device and each destination network device. Since different service packets correspond to different SLA requirements, in order to meet the service requirements, the source network device and each destination network device establish tunnels corresponding to different SLA requirements. However, when there are a large number of destination network devices, the source network device needs to establish a large number of tunnels, which not only causes a heavy load on the source device, but also increases performance requirements for the source network device.
  • Embodiments of the present application provide a packet transmission method, system, and device, so as to reduce the pressure on network devices and the performance cost of network devices.
  • a packet transmission method includes: a first network device obtains a first packet, the first packet includes attribute information and a destination address, and the attribute information It is used to indicate the service level agreement SLA requirements that need to be met when forwarding the service traffic to which the first packet belongs; the first network device establishes a first tunnel according to the attribute information and the destination address, or the first A network device uses the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to transfer the first message to the controller. The message is forwarded to the second network device, and the second network device determines according to the destination address.
  • the first network device may establish a first tunnel that meets the SLA requirements in real time according to the attribute information and the destination address in the first packet, or , the first network device sends a request message for establishing a first tunnel to the controller, so as to obtain information about the first tunnel from the controller, and then establish a first tunnel according to the information of the first tunnel, so as to use the first tunnel to transfer the first tunnel to the controller.
  • the message is forwarded to the second network device. That is, the purpose of creating a tunnel on demand according to traffic is realized without pre-creation, which not only reduces the pressure and performance cost of the first network device, but also can meet the dynamically changing requirements of the network system in time.
  • establishing, by the first network device, the first tunnel according to the attribute information and the destination address includes: the first network device creating the first tunnel according to the attribute information and the destination address. or the first network device searches and obtains the first tunnel locally according to the attribute information and the destination address.
  • the first network device may pre-store the first tunnel on the control plane, and after acquiring the first packet, search for and acquire the first tunnel locally according to the attribute information and destination address in the first packet. Or, when the first network device has the tunnel calculation and creation capability, the first network device establishes the first tunnel according to the attribute information and the destination address.
  • the method further includes: the first network device sending the information of the first tunnel from the control plane of the first network device to the forwarding plane.
  • the first network device may send the information of the first tunnel from the control plane to the forwarding plane, so that the first network device uses the first tunnel on the forwarding plane to send the first packet to the forwarding plane. forward.
  • the method includes: the first network device The device receives a response message sent by the controller, where the response message includes information of the first tunnel corresponding to the attribute information and the destination address.
  • a request message for establishing the first tunnel may be sent to the controller, so that the controller obtains the information of the first tunnel according to the attribute information and the destination address, and sends the information of the first tunnel to the controller.
  • the information of the first tunnel is sent to the first network device.
  • the method further includes: determining, by the first network device, that the first tunnel is not used for forwarding packets within a preset time period, and deleting or changing the state of the first tunnel to Do not use.
  • the first network device can detect whether the first tunnel is not used for forwarding packets within a preset period of time, and if so, delete the first tunnel or change the state to not used to avoid the first tunnel. The occupation of forwarding resources by a tunnel.
  • the first network device is an ingress network device of the first tunnel.
  • the egress network device of the first tunnel is a second network device
  • the second network device is a device corresponding to the destination address
  • the second network device is a device used to transfer
  • the destination device indicated by the destination address is a device that accesses the network.
  • the method further includes: acquiring, by the first network device, a second packet, where the second packet includes the attribute information and the destination address, and the second packet belong to the service flow; the first network device is changed from the second network device to the third network device according to the device used to access the destination device indicated by the destination address to the network, the attribute information and the The destination address establishes a second tunnel to the third network device; the first network device uses the second tunnel to forward the second packet to the third network device.
  • the first network device when the device corresponding to the access network of the destination device indicated by the destination address is changed from the second network device to the third network device, the first network device re-establishes a new network device according to the attribute information, the destination address and the third network device reaching the second tunnel of the third network device, so as to use the second tunnel to forward the second packet to the third network device.
  • the method further includes: the first network device obtains a third packet, where the third packet includes attribute information and a destination address, the third packet belongs to service traffic, and the third packet The attribute information in the text is different from the attribute information in the first packet.
  • the first network device establishes a third tunnel to the second network device according to the attribute information and the destination address, so as to use the third tunnel to forward the third packet to the second network device.
  • the first network device when the attribute information corresponding to the service traffic changes, the first network device re-establishes a tunnel according to the updated attribute information and the destination address, so as to use the newly established tunnel to transmit the service traffic.
  • the method further includes: the first network device reserves resources for the first tunnel according to the network slice information in the first packet.
  • the attribute information is carried in a priority field, a flow label field or a time-to-live field of the first packet.
  • the first tunnel is a segment routing policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
  • a message transmission system includes: a first network device and a second network device; the first network device is configured to acquire a first message, and the The first packet includes attribute information and a destination address, and the attribute information is used to indicate the service level agreement SLA requirements that need to be met when forwarding the service traffic to which the first packet belongs; the first network device is also used for Establish a first tunnel according to the attribute information and the destination address, or use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel meets the SLA The required forwarding tunnel is used, and the first packet is forwarded to the second network device by using the first tunnel.
  • the second network device is configured to receive the first packet.
  • the system further includes: a controller; the controller is configured to receive a request message for establishing the first tunnel sent by the first network device, and, according to the request information Obtain the information of the first tunnel; the controller is further configured to send a response message to the first network device, where the response message includes the attribute information and the destination address corresponding to the first tunnel information; the first network device, configured to establish the first tunnel according to the information of the first tunnel.
  • a communication device in a third aspect of the embodiments of the present application, includes: a processor and a memory; the memory is used to store instructions or computer programs; the processor is used to execute the memory in the memory. of the instructions or computer program to cause the communication device to perform the method of the first 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.
  • a computer program which, when the program runs on a computer, causes the computer to execute the method described in the first aspect.
  • the first network device after acquiring the first packet, can establish, in real time, a first tunnel that meets the SLA requirements according to the attribute information and the destination address in the first packet, or, the first The network device sends a request message for establishing a first tunnel to the controller, so as to obtain information about the first tunnel from the controller, and then establish a first tunnel according to the information of the first tunnel, so as to use the first tunnel to forward the first packet to the second network device.
  • the first network device can create tunnels on demand according to the SLA requirements corresponding to the service traffic, without the need for the first network device to create a tunnel in advance, which not only reduces the pressure and performance cost of the first network device, but also can meet the dynamic changes of the network system in time. .
  • FIG. 1 is a structural diagram of a network system provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an application 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.
  • FIG. 4 is a flowchart of another message transmission method provided by an embodiment of the present application.
  • FIG. 5 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application.
  • FIG. 6 is a structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 7 is another structural diagram of a network device provided by an embodiment of the present application.
  • L3VPN Layer 3 virtual private network
  • VPLS virtual private lan service
  • an embodiment of the present application provides a packet transmission method, which is used to realize the purpose of creating a tunnel on demand according to traffic. Specifically, after acquiring the first packet in the service traffic, the first network device establishes the first tunnel according to the attribute information and the destination address in the first packet, or sends the information to the controller to establish the first tunnel by using the attribute information and the destination address. A tunnel request message, so that the controller obtains the information of the first tunnel according to the attribute information and the destination address, and then the first network device creates the first tunnel according to the information of the first tunnel.
  • the attribute information is used to indicate an SLA requirement that needs to be met when forwarding the service traffic described in the first packet.
  • the tunnel refers to a forwarding path between two network devices, allowing service packets to be transmitted thereon.
  • 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, segment routing policy (SR-Policy) tunnel, segment routing traffic engineering (SR-Policy) A TE) tunnel or a tunnel based on slice granularity, etc.
  • the tunnel type is not specifically limited in this embodiment of the present application.
  • the tunnel based on slice granularity may be a tunnel obtained according to a flexible-algorithm (Flex-Algo) mechanism or a flexible Ethernet (flex ethernet, FlexE) tunnel.
  • FIG. 2 Referring to a schematic diagram of an application scenario shown in Fig. 2, in the network system, an example of including 5 network devices and 1 controller is used for description. Specifically, it includes a network device PE, a network device ACC1, a network device ACC2 and a network device ACC3, a network device P and a controller. Among them, one or more tunnels may be pre-established between PE and ACC1, and the two are end devices of the tunnel. Similarly, one or more tunnels can be pre-established between PE and ACC2, which are end devices of the tunnel, and one or more tunnels can be pre-established between PE and ACC3, which are end devices of the tunnel.
  • the tunnel between PE1 and each ACC may be a tunnel of a general SLA requirement level, such as a segment routing best effort (SR-BE) tunnel.
  • the first network device may be a PE device or a controller.
  • 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
  • PE is the head node 201
  • P is the intermediate node 202
  • ACC1 is the tail node 203 .
  • the head node in a possible situation, it may be the node that generates the first packet, that is, the head node may be the node indicated by the source address in the first packet.
  • the head node is the first node on the end-to-end transmission path of the first packet, and the head node adds attribute information and a destination address when generating the packet.
  • the source node on the end-to-end transmission path of the first packet is another node, and the head node is connected to the source node. After the head node receives the first packet sent by the source node, Add attribute information and destination address to the first packet.
  • the head node may be the first tunnel end device on the end-to-end transmission path or may be the first end device on the end-to-end transmission path that needs to acquire the tunnel based on the attribute information and the destination address.
  • the tail node in one possible situation, it may be the node indicated by the destination address in the message; in another situation, it may be the access node corresponding to the node indicated by the destination address.
  • the tail node may be the receiving end device of the tunnel on the end-to-end transmission path.
  • the intermediate node is a network device located in the tunnel between the head node and the tail node when the packet is forwarded.
  • FIG. 3 is a message transmission provided in this embodiment of the present application.
  • the flow chart of the method is shown in Figure 3, and the method includes:
  • the head node 201 obtains the first packet.
  • the head node 201 when the head node 201 is the source node, the head node 201 may generate a first packet, where the first packet includes attribute information and a destination address.
  • the attribute information is used to indicate the service level agreement SLA requirement that needs to be met for forwarding the service traffic to which the first packet belongs, that is, the service level of the service traffic.
  • the SLA requirement is a constraint condition of the first tunnel, such as bandwidth, delay, and jitter rate required for forwarding service traffic, or any other possible reliability indicators, or a combination of indicators, and the like.
  • the head node 201 When the head node 201 is an access device connected to the source node, the head node 201 may receive a first packet from the source node, and the source node adds attribute information and a destination address to the first packet.
  • the first packet may also include network slice information, and the head node 201 may reserve resources for the first tunnel according to the network slice information, and the resources may be bandwidth, delay, quality of service (quality of service) allocated for service traffic service, QoS) queue, physical port, etc.
  • the resources may be bandwidth, delay, quality of service (quality of service) allocated for service traffic service, QoS) queue, physical port, etc.
  • the destination address may be the address of the tail node 203 or the address of a node (eg, a user terminal) connected to the tail node 203 .
  • the node indicated by the destination address accesses the network through the tail node 203 .
  • the attribute information may be carried in a priority field, a flow label (flow label, FL) field, or a time to live (time to live, TTL) field, etc. of the first packet.
  • the priority fields are also different. For example, when the first packet is an internet protocol version 4 (IPv4) packet, there are three priority fields, which are the Layer 2-based code of service (CoS) field (IEEE802.
  • IPv4 internet protocol version 4
  • CoS Layer 2-based code of service
  • the attribute information can be carried in the traffic class (TC) field, etc. It can be carried in the EXP field, etc.
  • the head node 201 establishes a first tunnel according to the attribute information and the destination address.
  • the head node 201 can perform a route search on the forwarding plane based on the attribute information and the destination address in the first packet.
  • the SLA level indicated by the attribute information belongs to the high guarantee level
  • the The forwarding plane does not store the tunnel that reaches the tail node 203 and meets the SLA requirements, that is, the first tunnel.
  • the forwarding plane of the head node 201 does not store the first tunnel, there may be the following situations.
  • the control plane does not establish the first tunnel.
  • the head node 201 is an ingress network device of the first tunnel.
  • the head node 201 searches locally and obtains the first tunnel according to the attribute information and the destination address. Specifically, the head node 201 may search for and acquire the first tunnel according to the locally stored correspondence table, attribute information and destination address, wherein the correspondence table includes the correspondence between the attribute information, the destination address and the first tunnel. After acquiring the first tunnel, the head node 201 sends the information of the first tunnel from the control plane to the forwarding plane.
  • the information of the first tunnel may include node information of the tunnel path, tunnel priority level, network equipment at the exit of the tunnel, and the like. In this case, the first tunnel may be created manually or acquired by the head node 201 from the controller.
  • the head node 201 can create the first tunnel according to the attribute information and the destination address; after the creation is completed, the head node 201 will Information about a tunnel is sent from the control plane to the forwarding plane. Specifically, the head node 201 may calculate the first tunnel based on a preconfigured tunnel policy template to obtain the information of the first tunnel. Wherein, different SLAs and different destination addresses may correspond to different tunnel policy templates, and the tunnel policy templates are used to constrain the establishment of the tunnel, so that the established tunnel meets the SLA requirements.
  • the egress network device of the first tunnel is the tail node 203 .
  • the head node 201 can determine, according to the destination address, the identity of the virtual private network identity (virtual private network, VPN) to which the network device indicated by the destination address belongs, and then search according to the VPN identity.
  • the corresponding access node that is, the tail node 203 , and obtains the address of the tail node 203 .
  • the head node 201 determines the matching tunnel policy template according to the attribute information, the VPN identifier and the address of the tail node 203, and then determines the information of the first tunnel according to the tunnel policy template.
  • the tunnel policy template can provide different policy templates for different VPN users. For example, for a user of VPN A, for a packet with a DSCP value of 11-20, a tunnel or slice with a bandwidth of 1000M and a delay of 200ms is provided; for a packet with a DSCP value of 21-30, a bandwidth of 1000M, Tunnels or slices with a delay of 400ms, etc.
  • a packet with a DSCP value of 11-20 provides a tunnel or slice with a bandwidth of 1000M and no delay requirement; for a packet with a DSCP value of 21-30, a packet with no bandwidth requirement and no delay is provided.
  • the address of the tail node 203 may be a loopback address, a locator address, or the like of the tail node 203 .
  • the head node 201 has the tunnel calculation and creation capability, after the head node 201 has established the first tunnel, it can directly execute S306, and use the first tunnel to forward the first packet to the second network device without the need for S303 is executed.
  • S303 may be executed first to trigger the controller to execute S304 and S305.
  • the head node 201 sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address.
  • the head node 201 can use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, and the request message can include the attribute information and the destination address to request the controller Calculate the information of the first tunnel.
  • the request message may further include the device identifier of the head node 201, so that the controller can know the device sending the request message, and then establish the first tunnel with the head node 201 as the ingress network device.
  • the device identifier of the head node 201 may be the IP address of the head node 201, the loopback address, etc., which may uniquely represent the identifier of the head node 201.
  • S304 The controller obtains the information of the first tunnel according to the attribute information and the destination address.
  • the controller After receiving the request message sent by the head node 201, the controller obtains the information of the first tunnel according to the attribute information and the destination address in the request message. Specifically, in an example, the controller may search and acquire the information of the first tunnel locally according to the attribute information and the destination address. In another example, when the controller does not find the information of the first tunnel according to the attribute information and the destination address, it can calculate and acquire the information of the first tunnel according to the attribute information and the destination address. In this case, the controller may determine the matching tunnel policy template from the preconfigured tunnel policy template according to the attribute information and the destination address, and perform path calculation according to the matched tunnel policy template, thereby obtaining the information of the first tunnel. For the implementation of tunnel path calculation of corresponding SLA by using the tunnel policy template, reference may be made to the relevant description of S203.
  • the head node 201 can directly convert the attribute information and the destination address.
  • the request message is sent to the controller.
  • the controller may search the information of the first tunnel or calculate the information of the first tunnel according to the attribute information and the destination address in the request message.
  • the controller when the network device indicated by the destination address accesses the network through the tail node 203, that is, the destination address is the private network address, if the head node 201 directly sends the request message including the attribute information and the destination address to the control
  • the controller also needs to determine the address of the tail node 203 according to the identity of the VPN to which the network device indicated by the destination address belongs, and then searches for the information of the first tunnel or calculates the first tunnel according to the attribute information, the VPN identity, and the address of the tail node 203. information about the tunnel.
  • the controller determines the matching tunnel policy template according to the attribute information, the VPN identifier and the address of the tail node 203, and then determines the information of the first tunnel according to the tunnel policy template.
  • the controller calculates the first tunnel according to the attribute information, the VPN identifier and the address of the tail node 203, reference may be made to the relevant description of S203.
  • S305 The controller sends a response message including the information of the first tunnel to the head node 201.
  • the controller After the controller acquires the information of the first tunnel, it sends a response message including the information of the first tunnel to the head node 201, so that the head node 201 creates the first tunnel according to the information of the first tunnel.
  • the controller may also deliver a resource reservation request to each required node included in the first tunnel, so that the first Each node along the tunnel can reserve resources.
  • the reserved resources may be bandwidths, time slots, quality of service (quality of service, QoS) queues, physical ports, etc. allocated for service traffic.
  • S306 The head node 201 forwards the first packet to the intermediate node 202 by using the first tunnel.
  • the head node 201 After receiving the information of the first tunnel sent by the controller, the head node 201 creates a first tunnel according to the information of the first tunnel, and forwards the service traffic to the intermediate node 202 by using the first tunnel. It should be noted that, in order to ensure the normal transmission of the service traffic, before creating the first tunnel, the head node 201 may forward the service traffic to the intermediate node 202 by using the currently established tunnel.
  • the first tunnel may not carry traffic for a long time.
  • the head node 201 may detect the carrying condition of the first tunnel. For forwarding packets, delete the first tunnel or change the status to unavailable.
  • the preset duration may be determined according to actual application conditions, for example, the preset duration is 1 hour. Specifically, the head node 201 deletes the first tunnel on the forwarding plane; or, the head node 201 marks the first tunnel as unavailable on the forwarding plane; or the head node 201 marks the first tunnel as unavailable on the control plane, and deletes the first tunnel on the forwarding plane a tunnel; or the head node 201 deletes the first tunnel on the control plane and the forwarding plane at the same time.
  • the head node 201 may configure different processing policies, and process the first tunnel based on the current processing policy.
  • the access device corresponding to the network device in the private network migrates.
  • the device corresponding to the access network of the network device indicated by the destination address migrates from ACC1 to ACC2, that is, The tail node 203 is changed from ACC1 to ACC2.
  • the head node 201 after receiving the second packet belonging to the service flow, the head node 201 establishes a second tunnel to the updated tail node 203 according to the attribute information and the destination address in the second packet; The second tunnel forwards the second packet to the tail node 203 .
  • the head node 201 for the implementation of the establishment of the second tunnel by the head node 201 to the updated tail node 202 according to the attribute information and the destination address, reference may be made to the relevant descriptions of S302-S306.
  • the head node 201 after receiving the third packet belonging to the service traffic, the head node 201 establishes a third tunnel to the tail node according to the attribute information and the destination address in the third packet, wherein the third packet carries Compared with the first packet, the attribute information of the packet has changed; the head node 201 forwards the third packet to the tail node 203 by using the third tunnel.
  • the head node 201 for the implementation of the establishment of the third tunnel by the head node 201 according to the attribute information and the destination address, reference may be made to the relevant descriptions of S302-S306.
  • S307 The intermediate node 202 forwards the first packet to the tail node 203 by using the first tunnel.
  • the intermediate node 202 After receiving the first packet, the intermediate node 202 forwards the first packet to the tail node 203 according to the created first tunnel. After receiving the first packet forwarded by the intermediate node 202, the tail node 203 can perform different processing in different application scenarios. Specifically, the following operations can be included:
  • the tail node 203 no longer forwards the packet after receiving the packet. For example, when the tail node 203 is the network device indicated by the destination address, the tail node 203 may only receive the packet without forwarding it.
  • the tail node 204 can pop up the attribute information in the first packet, and the first packet that does not include the attribute information can be ejected.
  • the message is forwarded to the user equipment.
  • the first packet sent by the head node 201 to the intermediate node 202 and the intermediate node 202 is called the first packet, but it is understandable that the first packet sent by the head node 201 to the intermediate node 202 and the first packet sent by the intermediate node 202 to the tail node 203 There are differences in practical application scenarios.
  • TTL time to live
  • next hop node that is, when the intermediate node 202 forwards the first packet sent by the head node 201 to the tail node 203, it can actually modify the The updated first message with some necessary information.
  • the first packet sent by the head node 201 and the updated first packet sent by the intermediate node 202 may carry the same payload (payload), attribute information and destination address.
  • the head node can dynamically trigger the creation or take effect of the tunnel based on the service traffic. It is not necessary to create all the tunnels required by the SLA in advance. The need for live device migration.
  • FIG. 4 is a flowchart of another message transmission method provided by the embodiments of the present application. As shown in FIG. 4 , the method may include:
  • S401 The first network device obtains the first packet.
  • the first network device may be a head node, which may generate the first packet, or obtain the first packet from its corresponding user equipment.
  • the first packet includes attribute information and a destination address, and the attribute information is used to indicate an SLA requirement that needs to be met when forwarding the service traffic to which the first packet belongs.
  • the attribute information may be carried in the priority field, flow label field or time-to-live field of the first packet.
  • the first network device establishes a first tunnel according to the attribute information and the destination address.
  • the first network device After the first network device obtains the first packet, it obtains attribute information and a destination address by parsing the first packet, and judges whether there is a tunnel that meets the SLA requirements, that is, the first tunnel, according to the attribute information and the destination address, so as to pass the first tunnel.
  • the tunnel forwards the first packet to the second network device.
  • the first tunnel After the first network device determines that the first tunnel does not exist, the first tunnel may be established according to the attribute information and the destination address.
  • the first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to forward the first packet to the second network device.
  • the second network device is determined according to the destination address.
  • the first network device may be an ingress network device of the first tunnel, and the second network device may be an egress network device of the first tunnel.
  • the second network device may be the device indicated by the destination address, or the second network device may be a device for connecting the destination device indicated by the destination address to the network.
  • the first packet may further include network slice information, and the first network device may reserve resources for the first tunnel according to the network slice information.
  • the first tunnel may be an SR Policy tunnel, an SR TE tunnel, or a tunnel based on slice granularity.
  • the first network device creates the first tunnel according to the attribute information and the destination address. That is, when the first network device has the ability to create a tunnel, it can independently create the first tunnel according to the attribute information and the destination address. After the first tunnel is created, the first network device sends the information of the first tunnel from the control plane of the first network device to the forwarding plane, and then forwards the first packet to the second network device through the forwarding plane.
  • the first network device to create the first tunnel according to the attribute information and the destination address, reference may be made to S302.
  • the first network device searches and obtains the first tunnel locally according to the attribute information and the destination address. After acquiring the information of the first tunnel, the first network device sends the information of the first tunnel from the control plane of the first network device to the forwarding plane.
  • searching and acquiring the first tunnel locally according to the attribute information and the destination address for example, reference may be made to S302.
  • the first network device sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address.
  • the first network device may also send a request message for establishing the first tunnel to the control, where the request message may include attribute information and a destination address. Further, the request message may further include the device identifier of the first network device, so that the controller can know the network device that sends the request message.
  • the request message may include attribute information and a destination address.
  • the request message may further include the device identifier of the first network device, so that the controller can know the network device that sends the request message.
  • S403 for example, reference may be made to S303.
  • S404 The controller obtains the information of the first tunnel according to the request message.
  • the controller may acquire the information of the first tunnel according to the attribute information and the destination address in the request message. Specifically, the controller may determine the matching tunnel policy template according to the attribute information and the destination address, and obtain the information of the first tunnel according to the tunnel policy template. Wherein, as an implementation for the controller to acquire the information of the first tunnel, reference may be made to S304.
  • S405 The controller sends a response message to the first network device.
  • the controller After acquiring the information of the first tunnel, the controller sends a response message to the first network device, where the response message includes the information of the first tunnel corresponding to the attribute information and the destination address.
  • the response message includes the information of the first tunnel corresponding to the attribute information and the destination address.
  • the first network device creates a first tunnel according to the information of the first tunnel, and forwards the first packet to the second network device by using the first tunnel.
  • the first network device may further delete the first tunnel or change the state to unavailable when it is determined that the first tunnel is not used for forwarding packets within a preset period of time.
  • the first network device when the corresponding device changes when the destination device indicated by the destination address in the packet accesses the network, the first network device will re-establish the tunnel according to the attribute information and the destination address in the packet , to use the newly created tunnel to forward service traffic.
  • the first network device receives a second packet, where the second packet includes attribute information and a destination address, and the second packet and the first packet belong to the same service flow;
  • the indicated destination device accessing the network is changed from the second network device to the third network, the attribute information and the destination address establish a second tunnel to the third network device;
  • the first network device uses the second tunnel to transfer the second packet Forwarded to the third network device.
  • establishing the second tunnel by the first network device for example, reference may be made to S402-406.
  • the embodiments of the present application further provide a message transmission device, which will be described below with reference to the accompanying drawings.
  • the apparatus 500 can be applied to a first network device to implement the functions of the first network device in the foregoing method embodiments, and the apparatus 500 may include : obtaining unit 501 , establishing unit 502 and sending unit 503 .
  • the obtaining unit 501 is configured to obtain a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate a service level that needs to be met when forwarding the service traffic to which the first packet belongs Agreement SLA requirements.
  • the establishing unit 502 is configured to establish a first tunnel according to the attribute information and the destination address.
  • the specific implementation of establishing the first tunnel by the establishing unit 502 may refer to the relevant description of S302 or S402.
  • the sending unit 503 is configured to use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to transfer the first tunnel to the controller.
  • the first packet is forwarded to the second network device, and the second network device determines the destination address according to the destination address.
  • the specific implementation of the sending unit 503 may refer to the relevant description of S303 or S403.
  • the establishing unit 502 is specifically configured to create the first tunnel according to the attribute information and the destination address; or, search locally according to the attribute information and the destination address and get the first tunnel.
  • the specific implementation of the establishing unit 502 may refer to the relevant description of S302 or S402.
  • the sending unit 503 is further configured to send the information of the first tunnel from the control plane to the forwarding plane.
  • the apparatus further includes: a receiving unit (not shown in the figure);
  • the receiving unit is configured to receive a response message sent by the controller, where the response message includes information of the first tunnel corresponding to the attribute information and the destination address.
  • the apparatus further includes: a processing unit (not shown in the figure)
  • the processing unit is configured to delete the first tunnel or change the state to unused after determining that the first tunnel is not used for forwarding packets within the preset time period.
  • the network device applied by the apparatus 500 is the ingress network device of the first tunnel.
  • the egress network device of the first tunnel is a second network device
  • the second network device is a device corresponding to the destination address
  • the second network device is a device used to transfer
  • the destination device indicated by the destination address is a device that accesses the network.
  • the obtaining unit 501 is further configured to obtain a second packet, where the second packet includes the attribute information and the destination address, and the second packet belongs to the service traffic ;
  • the establishing unit 502 is further configured to change from the second network device to the third network device, the attribute information and the destination address according to the device for accessing the network of the destination device indicated by the destination address. the second tunnel of the third network device;
  • the sending unit 503 is configured to forward the second packet to the third network device by using the second tunnel.
  • the apparatus further includes: a processing unit (not shown in the figure);
  • a processing unit configured to reserve resources for the first tunnel according to the network slice information in the first packet.
  • the attribute information is carried in a priority field, a flow label field or a time-to-live field of the first packet.
  • the first tunnel is a segment routing policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
  • FIG. 6 is a schematic structural diagram of a network device according to an embodiment of the present application.
  • the network device may be, for example, the first network device or the second network device in the embodiment shown in FIG. 3 or FIG. 4 , or may also be the first network device in FIG. 5 .
  • the network device 600 includes: a processor 610 , a communication interface 620 and a memory 630 .
  • the number of processors 610 in the packet forwarding device 600 may be one or more, and one processor is taken as an example in FIG. 6 .
  • the processor 610, the communication interface 620, and the memory 630 may be connected through a bus system or other manners, wherein the connection through the bus system 640 is taken as an example in FIG. 6 .
  • Processor 610 may be a CPU, NP, or a combination of CPU and NP.
  • the processor 610 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 can 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 610 may perform related functions such as acquiring the first packet and establishing the first tunnel according to the attribute information and the destination address in the foregoing method embodiments.
  • the communication interface 620 is used for receiving and sending messages.
  • the communication interface 620 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 620 may be one or more.
  • the memory 630 may include a volatile memory (English: volatile memory), such as random-access memory (RAM); the memory 630 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 630 may also include a combination of the above-mentioned types of memory.
  • the memory 630 may store, for example, the aforementioned attribute information, the correspondence between the destination address and the tunnel.
  • the memory 630 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 610 may read the program in the memory 630 to implement the message transmission method provided by the embodiment of the present application.
  • the memory 630 may be a storage device in the network device 600 , or may be a storage device independent of the network device 600 .
  • the bus system 640 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 640 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. 6, but it does not mean that there is only one bus or one type of bus.
  • FIG. 7 is a schematic structural diagram of another network device 700 provided by an embodiment of the present application.
  • the network device 700 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. 5 .
  • Device implementation of the message transmission apparatus 500 .
  • the network device 700 includes: a main control board 710 and an interface board 730 .
  • the main control board 710 is also called the main processing unit (main processing unit, MPU) or the route processor card (route processor card).
  • the main control board 710 controls and manages various components in the network device 700, including route calculation, Equipment maintenance, protocol processing functions.
  • the main control board 710 includes: a central processing unit 711 and a memory 712 .
  • the interface board 730 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 730 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 730 includes: a central processing unit 731 , a network processor 732 , a forwarding table entry memory 734 and a physical interface card (ph8sical interface card, PIC) 733 .
  • the central processing unit 731 on the interface board 730 is used to control and manage the interface board 730 and communicate with the central processing unit 711 on the main control board 710 .
  • the network processor 732 is used to implement packet forwarding processing.
  • the network processor 732 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 733 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 730 through this, and the processed packets are sent from the physical interface card 733 .
  • the physical interface card 733 includes at least one physical interface, and the physical interface is also called a physical port.
  • the physical interface card 733 corresponds to the FlexE physical interface 204 in the system architecture 200 .
  • the physical interface card 733 is also called a daughter card, which can be installed on the interface board 730 , and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 732 for processing.
  • the central processor 731 of the interface board 703 can also perform the functions of the network processor 732 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 732 is not required in the physical interface card 733 .
  • the network device 700 includes multiple interface boards, for example, the network device 700 further includes an interface board 740, and the interface board 740 includes: a central processing unit 741, a network processor 742, a forwarding table entry storage 744, and a physical interface card 743.
  • the interface board 740 includes: a central processing unit 741, a network processor 742, a forwarding table entry storage 744, and a physical interface card 743.
  • the network device 700 further includes a switch fabric board 720 .
  • the switch fabric unit 720 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 720 is used to complete data exchange between the interface boards.
  • the interface board 730 and the interface board 740 can communicate through the switch fabric board 720 .
  • the main control board 710 and the interface board 730 are coupled.
  • the main control board 710 , the interface board 730 , the interface board 740 , and the switch fabric board 720 are connected to the system backplane through a system bus to achieve intercommunication.
  • an inter-process communication (IPC) channel is established between the main control board 710 and the interface board 730, and the main control board 710 and the interface board 730 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 700 includes a control plane and a forwarding plane
  • the control plane includes a main control board 710 and a central processing unit 731
  • the forwarding plane includes various components that perform forwarding, such as forwarding entry storage 734, physical interface card 733, and network processing device 732.
  • 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 issues the generated forwarding tables to the forwarding plane.
  • the network processor 732 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 733 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 734 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the central processing unit 711 may acquire the first packet; and establish the first tunnel according to the attribute information and the destination address in the first packet.
  • the network processor 732 may trigger the physical interface card 733 to send the first packet to the second network device according to the determined first tunnel.
  • the sending unit 503 and the like in the message transmission apparatus 500 may be equivalent to the physical interface card 733 or the physical interface card 743 in the network device 700; the acquiring unit 501 and the establishing unit 502 and the like in the message transmission apparatus 500 may be equivalent to The central processing unit 711 or the central processing unit 731 in the network device 700 .
  • the operations on the interface board 740 in the embodiments of the present application are the same as the operations on the interface board 730 , and for brevity, details are not repeated here.
  • the network device 700 in this embodiment may correspond to the first network device or the second network device in the foregoing method embodiments, and the main control board 710 , the interface board 730 and/or the interface board 740 in the network device 700
  • 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 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 also 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 500 shown in FIG. 5 .
  • 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 number of memories in the chip system may also be one or more.
  • 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.
  • the embodiments of the present application further provide a message transmission system, and the system may include: a first network device and a second network device.
  • the first network device is used to obtain a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate that the service traffic to which the first packet belongs is forwarded and needs to meet the Service Level Agreement SLA requirements.
  • the first network device is further configured to establish a first tunnel according to the attribute information and the destination address, or send a request message for establishing the first tunnel to the controller by using the attribute information and the destination address,
  • the first tunnel is a forwarding tunnel that meets the SLA requirement.
  • the first network device is further configured to forward the first packet to the second network device by using the first tunnel.
  • system further includes: a controller;
  • the controller configured to receive a request message for establishing the first tunnel sent by the first network device, and determine the first tunnel according to the request information
  • the controller is further configured to send a response message to the first network device, where the response message includes the information of the first tunnel corresponding to the attribute information and the destination address;
  • the first network device is configured to establish the first tunnel according to the information of the first tunnel.
  • controller For the function or implementation performed by the controller, reference may be made to the relevant description of the controller in the embodiment shown in FIG. 3 or FIG. 4 .
  • 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 over 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 make contributions to the prior art, or all or part of the technical solutions, which 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.

Abstract

Disclosed in the embodiments of the present application are a packet transmission method and system, and a device. Specifically, after acquiring a first packet, a first network device can establish, in real time and according to attribute information and a destination address in the first packet, a first tunnel that meets an SLA requirement, or the first network device sends, to a controller, a request message for establishing the first tunnel, so as to acquire information regarding the first tunnel from the controller, and then establishes the first tunnel according to the information of the first tunnel, so as to forward the first packet to a second network device by using the first tunnel. It can be seen that the first network device can create tunnels on demand according to an SLA requirement corresponding to service traffic, and it is not necessary for the first network device to pre-create the tunnels, and therefore, not only is the pressure and performance costs of the first network device reduced, but dynamically changed requirements of a network system can also be met in a timely manner.

Description

一种报文传输方法、系统及设备A message transmission method, system and device
本申请要求于2021年2月7日提交的申请号为202110171282.1、申请名称为“一种报文传输方法、系统及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 202110171282.1 and the application title "A message transmission method, system and device" filed on February 7, 2021, the entire contents of which are incorporated into this application by reference .
技术领域technical field
本申请涉及通信技术领域,尤其涉及一种报文传输方法、系统及设备。The present application relates to the field of communication technologies, and in particular, to a message transmission method, system, and device.
背景技术Background technique
在业务报文传输时,为保证业务传输的时效性,源网络设备与各目的网络设备之间可以预先创建传输隧道。由于不同的业务报文对应不同的SLA需求,为满足业务需求,源网络设备与每个目的网络设备建立对应不同SLA需求的隧道。然而,当存在大量的目的网络设备,源网络设备需要建立大量的隧道,不仅造成源设备的负载较大,还导致对源网络设备的性能要求提高。During service packet transmission, in order to ensure the timeliness of service transmission, a transmission tunnel may be created in advance between the source network device and each destination network device. Since different service packets correspond to different SLA requirements, in order to meet the service requirements, the source network device and each destination network device establish tunnels corresponding to different SLA requirements. However, when there are a large number of destination network devices, the source network device needs to establish a large number of tunnels, which not only causes a heavy load on the source device, but also increases performance requirements for the source network device.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供了一种报文传输方法、系统及设备,以降低网络设备的压力以及网络设备的性能成本。Embodiments of the present application provide a packet transmission method, system, and device, so as to reduce the pressure on network devices and the performance cost of network devices.
在本申请实施例的第一方面,提供了一种报文传输方法,该方法包括:第一网络设备获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求;所述第一网络设备根据所述属性信息以及所述目的地址建立第一隧道,或者所述第一网络设备使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道,用于将所述第一报文转发至第二网络设备,所述第二网络设备根据所述目的地址确定。In a first aspect of the embodiments of the present application, a packet transmission method is provided, the method includes: a first network device obtains a first packet, the first packet includes attribute information and a destination address, and the attribute information It is used to indicate the service level agreement SLA requirements that need to be met when forwarding the service traffic to which the first packet belongs; the first network device establishes a first tunnel according to the attribute information and the destination address, or the first A network device uses the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to transfer the first message to the controller. The message is forwarded to the second network device, and the second network device determines according to the destination address.
在该实施例中,第一网络设备在获取到业务流量的报文,即第一报文后,可以根据第一报文中的属性信息和目的地址实时建立满足SLA要求的第一隧道,或者,第一网络设备向控制发送建立第一隧道的请求消息,以从控制器获取有关第一隧道的信息,进而根据该第一隧道的信息建立第一隧道,以利用第一隧道将第一报文转发至第二网络设备。即,实现根据流量随需创建隧道的目的,无需预先创建,不仅降低第一网络设备的压力、性能成本,还可以及时满足网络系统动态变化的需求。In this embodiment, after acquiring the service traffic packet, that is, the first packet, the first network device may establish a first tunnel that meets the SLA requirements in real time according to the attribute information and the destination address in the first packet, or , the first network device sends a request message for establishing a first tunnel to the controller, so as to obtain information about the first tunnel from the controller, and then establish a first tunnel according to the information of the first tunnel, so as to use the first tunnel to transfer the first tunnel to the controller. The message is forwarded to the second network device. That is, the purpose of creating a tunnel on demand according to traffic is realized without pre-creation, which not only reduces the pressure and performance cost of the first network device, but also can meet the dynamically changing requirements of the network system in time.
在一种具体的实施方式中,所述第一网络设备根据所述属性信息以及所述目的地址建立第一隧道,包括:所述第一网络设备根据所述属性信息以及所述目的地址创建所述第一隧道;或者,所述第一网络设备根据所述属性信息以及所述目的地址从本地查找并获取所述第一隧道。In a specific implementation manner, establishing, by the first network device, the first tunnel according to the attribute information and the destination address includes: the first network device creating the first tunnel according to the attribute information and the destination address. or the first network device searches and obtains the first tunnel locally according to the attribute information and the destination address.
在该实施方式中,第一网络设备可以在控制面预先存储第一隧道,在获取第一报文后,根据第一报文中的属性信息和目的地址从本地查找并获取第一隧道。或者,在第一网络设 备具备隧道计算和创建能力时,第一网络设备根据属性信息以及目的地址建立第一隧道。In this embodiment, the first network device may pre-store the first tunnel on the control plane, and after acquiring the first packet, search for and acquire the first tunnel locally according to the attribute information and destination address in the first packet. Or, when the first network device has the tunnel calculation and creation capability, the first network device establishes the first tunnel according to the attribute information and the destination address.
在一种具体的实施方式中,所述方法还包括:所述第一网络设备将所述第一隧道的信息从所述第一网络设备的控制面发送至转发面。In a specific implementation manner, the method further includes: the first network device sending the information of the first tunnel from the control plane of the first network device to the forwarding plane.
在该实施方式中,第一网络设备在建立第一隧道后,可以从控制面将第一隧道的信息发送至转发面,从而使得第一网络设备在转发面利用第一隧道对第一报文进行转发。In this implementation manner, after establishing the first tunnel, the first network device may send the information of the first tunnel from the control plane to the forwarding plane, so that the first network device uses the first tunnel on the forwarding plane to send the first packet to the forwarding plane. forward.
在一种具体的实施方式中,所述第一网络设备使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息之后,所述方法包括:所述第一网络设备接收所述控制器发送的响应消息,所述响应消息包括与所述属性信息和所述目的地址对应的所述第一隧道的信息。In a specific implementation manner, after the first network device sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address, the method includes: the first network device The device receives a response message sent by the controller, where the response message includes information of the first tunnel corresponding to the attribute information and the destination address.
在该实施方式中,在第一网络设备不具备隧道计算能力时,可以向控制器发送建立第一隧道的请求消息,以使得控制器根据属性信息和目的地址获取第一隧道的信息,并将该第一隧道的信息发送给第一网络设备。In this embodiment, when the first network device does not have the tunnel computing capability, a request message for establishing the first tunnel may be sent to the controller, so that the controller obtains the information of the first tunnel according to the attribute information and the destination address, and sends the information of the first tunnel to the controller. The information of the first tunnel is sent to the first network device.
在一种具体的实施方式中,所述方法还包括:所述第一网络设备确定所述第一隧道在预设时长内未用于转发报文,将所述第一隧道删除或状态更改为不使用。In a specific implementation manner, the method further includes: determining, by the first network device, that the first tunnel is not used for forwarding packets within a preset time period, and deleting or changing the state of the first tunnel to Do not use.
在该实施方式中,为节省资源,第一网络设备可以检测第一隧道是否在预设时长内未用于转发报文,如果是,则将第一隧道删除或状态更改为不使用,避免第一隧道对转发资源的占用。In this implementation manner, in order to save resources, the first network device can detect whether the first tunnel is not used for forwarding packets within a preset period of time, and if so, delete the first tunnel or change the state to not used to avoid the first tunnel. The occupation of forwarding resources by a tunnel.
在一种具体的实施方式中,所述第一网络设备为所述第一隧道的入口网络设备。In a specific implementation manner, the first network device is an ingress network device of the first tunnel.
在一种具体的实施方式中,所述第一隧道的出口网络设备为第二网络设备,所述第二网络设备为所述目的地址对应的设备,或者所述第二网络设备为用于将所述目的地址所指示的目的设备接入网络的设备。In a specific implementation manner, the egress network device of the first tunnel is a second network device, the second network device is a device corresponding to the destination address, or the second network device is a device used to transfer The destination device indicated by the destination address is a device that accesses the network.
在一种具体的实施方式中,所述方法还包括:所述第一网络设备获取第二报文,所述第二报文包括所述属性信息和所述目的地址,所述第二报文属于所述业务流量;所述第一网络设备根据用于将所述目的地址所指示的目的设备接入网络的设备由所述第二网络设备变更为第三网络设备、所述属性信息以及所述目的地址建立到达所述第三网络设备的第二隧道;所述第一网络设备使用所述第二隧道将所述第二报文转发至所述第三网络设备。In a specific implementation manner, the method further includes: acquiring, by the first network device, a second packet, where the second packet includes the attribute information and the destination address, and the second packet belong to the service flow; the first network device is changed from the second network device to the third network device according to the device used to access the destination device indicated by the destination address to the network, the attribute information and the The destination address establishes a second tunnel to the third network device; the first network device uses the second tunnel to forward the second packet to the third network device.
在该实施方式中,当目的地址所指示的目的设备接入网络对应的设备由第二网络设备变更为第三网络设备时,第一网络设备根据属性信息、目的地址以及第三网络设备重新建立到达第三网络设备的第二隧道,以利用该第二隧道将第二报文转发至第三网络设备。In this embodiment, when the device corresponding to the access network of the destination device indicated by the destination address is changed from the second network device to the third network device, the first network device re-establishes a new network device according to the attribute information, the destination address and the third network device reaching the second tunnel of the third network device, so as to use the second tunnel to forward the second packet to the third network device.
在一种具体的实施方式中,所述方法还包括:第一网络设备获取第三报文,该第三报文包括属性信息和目的地址,所述第三报文属于业务流量,第三报文中的属性信息与所述第一报文中的属性信息不同。第一网络设备根据属性信息以及目的地址建立到达第二网络设备的第三隧道,以利用第三隧道将第三报文转发至第二网络设备。In a specific implementation manner, the method further includes: the first network device obtains a third packet, where the third packet includes attribute information and a destination address, the third packet belongs to service traffic, and the third packet The attribute information in the text is different from the attribute information in the first packet. The first network device establishes a third tunnel to the second network device according to the attribute information and the destination address, so as to use the third tunnel to forward the third packet to the second network device.
在该实施方式中,当业务流量对应的属性信息发生变化后,第一网络设备根据更新后的属性信息以及目的地址重新建立隧道,以利用新建立的隧道传输业务流量。In this embodiment, when the attribute information corresponding to the service traffic changes, the first network device re-establishes a tunnel according to the updated attribute information and the destination address, so as to use the newly established tunnel to transmit the service traffic.
在一种具体的实施方式中,所述方法还包括:所述第一网络设备根据所述第一报文中的网络切片信息为所述第一隧道预留资源。In a specific embodiment, the method further includes: the first network device reserves resources for the first tunnel according to the network slice information in the first packet.
在一种具体的实施方式中,所述属性信息携带在所述第一报文的优先级字段、流标签字段或生存时间字段。In a specific implementation manner, the attribute information is carried in a priority field, a flow label field or a time-to-live field of the first packet.
在一种具体的实施方式中,所述第一隧道为分段路由策略SR Policy隧道或分段路由流量工程SR TE隧道。In a specific embodiment, the first tunnel is a segment routing policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
在本申请实施例第二方面,提供了一种报文传输系统,所述系统包括:第一网络设备和第二网络设备;所述第一网络设备,用于获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求;所述第一网络设备,还用于根据所述属性信息以及所述目的地址建立第一隧道,或者使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道,利用所述第一隧道将所述第一报文转发至所述第二网络设备。所述第二网络设备用于接收所述第一报文。In a second aspect of the embodiments of the present application, a message transmission system is provided, the system includes: a first network device and a second network device; the first network device is configured to acquire a first message, and the The first packet includes attribute information and a destination address, and the attribute information is used to indicate the service level agreement SLA requirements that need to be met when forwarding the service traffic to which the first packet belongs; the first network device is also used for Establish a first tunnel according to the attribute information and the destination address, or use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel meets the SLA The required forwarding tunnel is used, and the first packet is forwarded to the second network device by using the first tunnel. The second network device is configured to receive the first packet.
在一种具体的实施方式中,所述系统还包括:控制器;所述控制器,用于接收所述第一网络设备发送的建立所述第一隧道的请求消息,并根据所述请求信息获取所述第一隧道的信息;所述控制器,还用于将响应消息发送给所述第一网络设备,所述响应消息包括与所述属性信息和目的地址对应的所述第一隧道的信息;所述第一网络设备,用于根据所述第一隧道的信息建立所述第一隧道。In a specific implementation manner, the system further includes: a controller; the controller is configured to receive a request message for establishing the first tunnel sent by the first network device, and, according to the request information Obtain the information of the first tunnel; the controller is further configured to send a response message to the first network device, where the response message includes the attribute information and the destination address corresponding to the first tunnel information; the first network device, configured to establish the first tunnel according to the information of the first tunnel.
在本申请实施例第三方面,提供了一种通信设备,所述设备包括:处理器和存储器;所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述通信设备执行第一方面所述的方法。In a third aspect of the embodiments of the present application, a communication device is provided, the device includes: a processor and a memory; the memory is used to store instructions or computer programs; the processor is used to execute the memory in the memory. of the instructions or computer program to cause the communication device to perform the method of the first aspect.
在本申请实施例第四方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。In a fourth aspect of the embodiments of the present application, a computer-readable storage medium is provided, including instructions, which, when executed on a computer, cause the computer to execute the method described in the first aspect.
在本申请实施例第五方面,提供了一种计算机程序,当所述程序在计算机上运行时,使得计算机执行第一方面所述的方法。In a fifth aspect of the embodiments of the present application, a computer program is provided, which, when the program runs on a computer, causes the computer to execute the method described in the first aspect.
通过本申请实施例提供的技术方案,第一网络设备在获取到第一报文后,可以根据第一报文中的属性信息和目的地址实时建立满足SLA要求的第一隧道,或者,第一网络设备向控制发送建立第一隧道的请求消息,以从控制器获取有关第一隧道的信息,进而根据该第一隧道的信息建立第一隧道,以利用第一隧道将第一报文转发至第二网络设备。可见,第一网络设备可以根据业务流量所对应的SLA要求随需创建隧道,无需第一网络设备预先创建,不仅降低第一网络设备的压力、性能成本,还可以及时满足网络系统动态变化的需求。With the technical solutions provided in the embodiments of the present application, after acquiring the first packet, the first network device can establish, in real time, a first tunnel that meets the SLA requirements according to the attribute information and the destination address in the first packet, or, the first The network device sends a request message for establishing a first tunnel to the controller, so as to obtain information about the first tunnel from the controller, and then establish a first tunnel according to the information of the first tunnel, so as to use the first tunnel to forward the first packet to the second network device. It can be seen that the first network device can create tunnels on demand according to the SLA requirements corresponding to the service traffic, without the need for the first network device to create a tunnel in advance, which not only reduces the pressure and performance cost of the first network device, but also can meet the dynamic changes of the network system in time. .
附图说明Description of drawings
图1为本申请实施例提供的一种网络系统结构图;FIG. 1 is a structural diagram of a network system provided by an embodiment of the present application;
图2为本申请实施例提供的一种应用场景示意图;2 is a schematic diagram of an application scenario provided by an embodiment of the present application;
图3为本申请实施例提供的一种报文传输方法流程图;3 is a flowchart of a message transmission method provided by an embodiment of the present application;
图4为本申请实施例提供的另一种报文传输方法流程图;FIG. 4 is a flowchart of another message transmission method provided by an embodiment of the present application;
图5为本申请实施例提供的一种报文传输装置结构图;FIG. 5 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application;
图6为本申请实施例提供的一种网络设备结构图;FIG. 6 is a structural diagram of a network device provided by an embodiment of the present application;
图7为本申请实施例提供的另一种网络设备结构图。FIG. 7 is another structural diagram of a network device provided by an embodiment of the present application.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本发明中的方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。In order to enable those skilled in the art to better understand the solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described implementation The examples are only a part of the embodiments of the present invention, but not all of the embodiments.
为便于理解本申请实施例提供的技术方案,下面将先对本申请实施例涉及的技术和网元进行说明。In order to facilitate the understanding of the technical solutions provided by the embodiments of the present application, the technologies and network elements involved in the embodiments of the present application will first be described below.
在一些点到多点或多点到多点的应用场景下,如三层虚拟专用网络(L3VPN)以及虚拟专用局域网业务(virtual private lan service,VPLS),由于接入侧(access,ACC)设备的数量过多(如为M),且传输的流量有不同的服务级别协议(service level agreement,SLA)需求(如需求等级为N),则提供商边缘(provider edge,PE)设备需到各ACC侧且满足不同SLA需求的隧道达到M*N的量级。目前的实现是在PE与各ACC建立邻居关系时,基于配置或隧道创建策略提前创建完成。例如图1所示,以包括1个PE设备和3个ACC设备为例进行说明,分别为ACC1、ACC2和ACC3。例如,存在3种不同的SLA需求等级,则PE与ACC1之间建立3条不同SLA需求等级的隧道,与ACC2之间建立3条不同SLA需求等级的隧道,与ACC3之间建立3条不同SLA需求等级的隧道。基于此,当PE侧存在发往不同ACC以及不同SLA需求等级的流量时,可以基于预先创建的隧道进行转发。然而,由于不确认是否会有流量从PE发往各ACC,预先创建隧道不仅浪费资源,还给PE设备带来巨大的压力。另外,随着网络的不断发展,越来越倾向软件定义网络(software defined network,SDN),网络要求弹性,目前的实现无法满足随需创建隧道的需求。In some point-to-multipoint or multipoint-to-multipoint application scenarios, such as Layer 3 virtual private network (L3VPN) and virtual private lan service (VPLS), due to the access side (access, ACC) equipment If the number is too large (for example, M), and the transmitted traffic has different service level agreement (SLA) requirements (for example, the demand level is N), the provider edge (PE) equipment needs to go to each Tunnels on the ACC side that meet different SLA requirements reach the magnitude of M*N. The current implementation is that when a PE establishes a neighbor relationship with each ACC, it is created in advance based on a configuration or a tunnel creation policy. For example, as shown in FIG. 1 , it is described by taking as an example that there is one PE device and three ACC devices, which are ACC1 , ACC2 and ACC3 respectively. For example, if there are 3 different SLA requirements, then three tunnels with different SLA requirements are established between PE and ACC1, 3 tunnels with different SLA requirements are established with ACC2, and 3 different SLA tunnels are established with ACC3 Demand-level tunnels. Based on this, when there is traffic destined for different ACCs and different SLA requirements on the PE side, it can be forwarded based on the pre-created tunnel. However, since it is uncertain whether there will be traffic sent from PEs to ACCs, pre-creating tunnels not only wastes resources, but also puts enormous pressure on PEs. In addition, with the continuous development of the network, the software-defined network (SDN) is more and more inclined, and the network requires flexibility. The current implementation cannot meet the needs of creating tunnels on demand.
基于此,本申请实施例提供了一种报文传输方法,用于实现根据流量随需创建隧道的目的。具体地,第一网络设备在获取业务流量中的第一报文后,根据第一报文中的属性信息以及目的地址建立第一隧道,或者使用属性信息和目的地址向控制器发送建立第一隧道的请求消息,以使得控制器根据属性信息和目的地址获取第一隧道的信息,再由第一网络设备根据第一隧道的信息创建第一隧道。其中,属性信息用于指示转发第一报文所述的业务流量时所需要满足的SLA要求。Based on this, an embodiment of the present application provides a packet transmission method, which is used to realize the purpose of creating a tunnel on demand according to traffic. Specifically, after acquiring the first packet in the service traffic, the first network device establishes the first tunnel according to the attribute information and the destination address in the first packet, or sends the information to the controller to establish the first tunnel by using the attribute information and the destination address. A tunnel request message, so that the controller obtains the information of the first tunnel according to the attribute information and the destination address, and then the first network device creates the first tunnel according to the information of the first tunnel. The attribute information is used to indicate an SLA requirement that needs to be met when forwarding the service traffic described in the first packet.
其中,隧道,是指两个网络设备之间的转发通路,允许业务报文在其上传输。在本申请实施例描述的场景中,一个网络设备上可以包括多个隧道,该多个隧道分别对应于该网络设备上的多个出端口。不同的隧道可以分别对应于不同的网络分片资源。在具体实现时,可以根据建立隧道所使用的协议分为不同的隧道类型,例如,分段路由策略(segment routing policy,SR-Policy)隧道、分段路由流量工程(segment routing traffic engineering,SR-TE)隧道或基于切片粒度的隧道等,本申请实施例对隧道类型不作具体限定。其中,基于切片粒度的隧道可以根据灵活算法(flexible-algorithm,Flex-Algo)机制获得的隧道或者为灵活以太网(flex ethernet,FlexE)隧道。The tunnel refers to a forwarding path between two network devices, allowing service packets to be transmitted thereon. In the scenario described in the embodiment of this application, 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. In specific implementation, it can be divided into different tunnel types according to the protocol used to establish the tunnel, for example, segment routing policy (SR-Policy) tunnel, segment routing traffic engineering (SR-Policy) A TE) tunnel or a tunnel based on slice granularity, etc., the tunnel type is not specifically limited in this embodiment of the present application. The tunnel based on slice granularity may be a tunnel obtained according to a flexible-algorithm (Flex-Algo) mechanism or a flexible Ethernet (flex ethernet, FlexE) tunnel.
参见图2所示的一种应用场景示意图,在该网络系统中,以包括5个网络设备和1个 控制器为例进行说明。具体地,包括网络设备PE、网络设备ACC1、网络设备ACC2和网络设备ACC3、网络设备P和控制器。其中,PE与ACC1之间可以预先建立一条或多条隧道,二者为隧道的端设备。类似地,PE与ACC2之间可以预先建立一条或多条隧道,二者为隧道的端设备,PE与ACC3之间可以预先建立一条或多条隧道,二者为隧道的端设备。其中,PE1与各ACC之间的隧道,可以为一般SLA需求等级的隧道,例如为分段路由尽力而为(segment routing best effort,SR-BE)隧道。其中,第一网络设备可以为PE设备或控制器。上述各个网络设备可以为独立存在的网络设备,也可以为某一网络设备中具备报文转发能力的功能模块。为便于理解,将以各个网络设备为独立的网络设备为例进行说明。其中,各个网络设备也可以称为节点,为网络系统中具有报文转发功能的设备,例如,可以为路由器、交换机、转发器或者标签交换路由器(label switching router,LSR)等。Referring to a schematic diagram of an application scenario shown in Fig. 2, in the network system, an example of including 5 network devices and 1 controller is used for description. Specifically, it includes a network device PE, a network device ACC1, a network device ACC2 and a network device ACC3, a network device P and a controller. Among them, one or more tunnels may be pre-established between PE and ACC1, and the two are end devices of the tunnel. Similarly, one or more tunnels can be pre-established between PE and ACC2, which are end devices of the tunnel, and one or more tunnels can be pre-established between PE and ACC3, which are end devices of the tunnel. The tunnel between PE1 and each ACC may be a tunnel of a general SLA requirement level, such as a segment routing best effort (SR-BE) tunnel. The first network device may be a PE device or a controller. 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. For ease of understanding, the description will be given by taking each network device as an independent network device as an example. Wherein, 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.
在该应用场景下,可能存在PE到ACC1的业务流量,也可能存在PE到ACC2、ACC3的流量。为便于理解,下面将以PE到ACC1的业务流量为例进行说明。在该实施例中,PE为头节点201、P为中间节点202、ACC1为尾节点203。In this application scenario, there may be service traffic from PE to ACC1, and traffic from PE to ACC2 and ACC3. For ease of understanding, the following will take the service flow from the PE to the ACC1 as an example for description. In this embodiment, PE is the head node 201 , P is the intermediate node 202 , and ACC1 is the tail node 203 .
对于头节点,在一种可能的情形中,其可以为生成第一报文的节点,即头节点可以为第一报文中源地址指示的节点。在该情况下,头节点为第一报文端到端传输路径上的第一个节点,头节点在生成该报文时添加属性信息和目的地址。For the head node, in a possible situation, it may be the node that generates the first packet, that is, the head node may be the node indicated by the source address in the first packet. In this case, the head node is the first node on the end-to-end transmission path of the first packet, and the head node adds attribute information and a destination address when generating the packet.
在另一种可能的情形中,第一报文端到端传输路径上的源节点为其它节点,而头节点与该源节点连接,当头节点接收到该源节点发送的第一报文后,在第一报文中添加属性信息和目的地址。在该情形中,头节点可以为端到端传输路径上的第一个隧道端设备或者可以为端到端传输路径上第一个需要获取根据属性信息和目的地址建立隧道的端设备等。In another possible situation, the source node on the end-to-end transmission path of the first packet is another node, and the head node is connected to the source node. After the head node receives the first packet sent by the source node, Add attribute information and destination address to the first packet. In this case, the head node may be the first tunnel end device on the end-to-end transmission path or may be the first end device on the end-to-end transmission path that needs to acquire the tunnel based on the attribute information and the destination address.
对于尾节点,在一种可能的情形中,其可以为报文中目的地址指示的节点;另一种情形是,为与目的地址所指示的节点对应的接入节点。该尾节点可以为端到端传输路径上隧道的接收端设备。For the tail node, in one possible situation, it may be the node indicated by the destination address in the message; in another situation, it may be the access node corresponding to the node indicated by the destination address. The tail node may be the receiving end device of the tunnel on the end-to-end transmission path.
中间节点为报文转发时位于头节点和尾节点之间的隧道中的网络设备。The intermediate node is a network device located in the tunnel between the head node and the tail node when the packet is forwarded.
为便于理解,下面将结合图2所示的网络系统为例进行说明,具体地,以PE向ACC1发送业务流量为例,参见图3,该图为本申请实施例提供的一种报文传输方法流程图,人图3所示,该方法包括:For ease of understanding, the following description will be given by taking the network system shown in FIG. 2 as an example. Specifically, taking the PE sending service traffic to the ACC1 as an example, see FIG. 3 , which is a message transmission provided in this embodiment of the present application. The flow chart of the method is shown in Figure 3, and the method includes:
S301:头节点201获取第一报文。S301: The head node 201 obtains the first packet.
本实施例中,在头节点201为源节点时,头节点201可以生成第一报文,该第一报文中包括属性信息和目的地址。其中,属性信息用于指示转发第一报文所属的业务流量所需要满足的服务水平协议SLA要求,即表示业务流量的业务等级。该SLA要求为第一隧道的约束条件,例如转发业务流量所需的带宽、时延、抖动率,或其他任意可能的可靠性指标,或指标的组合等。在头节点201为与源节点连接的接入设备时,头节点201可以从源节点接收第一报文,由源节点在第一报文中添加属性信息和目的地址。其中,第一报文中还可以包括网络切片信息,头节点201可以根据该网络切片信息为第一隧道预留资源,该资源可以是为业务流量分配的带宽、时延、服务质量(quality of service,Qos)队列、物理 端口等。In this embodiment, when the head node 201 is the source node, the head node 201 may generate a first packet, where the first packet includes attribute information and a destination address. The attribute information is used to indicate the service level agreement SLA requirement that needs to be met for forwarding the service traffic to which the first packet belongs, that is, the service level of the service traffic. The SLA requirement is a constraint condition of the first tunnel, such as bandwidth, delay, and jitter rate required for forwarding service traffic, or any other possible reliability indicators, or a combination of indicators, and the like. When the head node 201 is an access device connected to the source node, the head node 201 may receive a first packet from the source node, and the source node adds attribute information and a destination address to the first packet. The first packet may also include network slice information, and the head node 201 may reserve resources for the first tunnel according to the network slice information, and the resources may be bandwidth, delay, quality of service (quality of service) allocated for service traffic service, QoS) queue, physical port, etc.
其中,目的地址可以为尾节点203的地址,也可以为与尾节点203所连接的节点(如用户终端)的地址,该情况下,目的地址所指示的节点通过尾节点203接入网络。属性信息可以携带在第一报文的优先级字段、流标签(flow label,FL)字段或生存时间(time to live,TTL)字段等。具体地,在第一报文为不同类型的报文时,优先级字段也会不同。例如,当第一报文为网际协议版本4(internet protocol version 4,IPv4)报文时,存在三种优先级字段,分别为基于二层的服务编码(code of service,CoS)字段(IEEE802.1p)、基于IP层的服务类型(type of service,ToS)字段、以及基于IP层的差分服务代码点(differentiated services code point,DSCP)字段;当第一报文为网际协议版本6(internet protocol version 6,IPv6)报文时,属性信息可以携带在流量类别(traffic class,TC)字段等;当第一报文为多协议标签交换(multi-protocol label switching,MPLS)报文时,属性信息可以携带在EXP字段等。The destination address may be the address of the tail node 203 or the address of a node (eg, a user terminal) connected to the tail node 203 . In this case, the node indicated by the destination address accesses the network through the tail node 203 . The attribute information may be carried in a priority field, a flow label (flow label, FL) field, or a time to live (time to live, TTL) field, etc. of the first packet. Specifically, when the first packets are different types of packets, the priority fields are also different. For example, when the first packet is an internet protocol version 4 (IPv4) packet, there are three priority fields, which are the Layer 2-based code of service (CoS) field (IEEE802. 1p), the type of service (ToS) field based on the IP layer, and the differentiated services code point (DSCP) field based on the IP layer; when the first packet is Internet Protocol version 6 (internet protocol When the first packet is a multi-protocol label switching (MPLS) packet, the attribute information can be carried in the traffic class (TC) field, etc. It can be carried in the EXP field, etc.
S302:头节点201根据属性信息以及目的地址建立第一隧道。S302: The head node 201 establishes a first tunnel according to the attribute information and the destination address.
头节点201在获取到第一报文后,可以基于第一报文中的属性信息以及目的地址在转发面进行路由查找,当属性信息所表示的SLA等级属于高保障等级时,头节点201的转发面未存储到达尾节点203且满足SLA要求的隧道,即第一隧道。其中,头节点201的转发面未存储第一隧道可能存在以下情况,一种是头节点201在控制面已建立第一隧道,但未向转发面进行下发;另一种是在头节点201的控制面未建立第一隧道。其中,头节点201为第一隧道的入口网络设备。After obtaining the first packet, the head node 201 can perform a route search on the forwarding plane based on the attribute information and the destination address in the first packet. When the SLA level indicated by the attribute information belongs to the high guarantee level, the The forwarding plane does not store the tunnel that reaches the tail node 203 and meets the SLA requirements, that is, the first tunnel. Among them, the forwarding plane of the head node 201 does not store the first tunnel, there may be the following situations. One is that the head node 201 has established the first tunnel on the control plane, but has not delivered it to the forwarding plane; the other is that the head node 201 has established the first tunnel on the control plane. The control plane does not establish the first tunnel. The head node 201 is an ingress network device of the first tunnel.
在头节点201的控制面已建立第一隧道,未向转发面进行下发的情况下,头节点201根据属性信息和目的地址在本地进行查找并获取第一隧道。具体地,头节点201可以根据本地存储的对应关系表、属性信息和目的地址查找并获取第一隧道,其中,对应关系表包括属性信息、目的地址与第一隧道之间的对应关系。在获取到第一隧道后,头节点201将第一隧道的信息从控制面发送至转发面。其中,第一隧道的信息可以包括该隧道途径的节点信息、隧道优先等级、隧道的出口网络设备等。该情况下,第一隧道可以为手工创建或者头节点201从控制器获取的。In the case that the control plane of the head node 201 has established the first tunnel and has not delivered it to the forwarding plane, the head node 201 searches locally and obtains the first tunnel according to the attribute information and the destination address. Specifically, the head node 201 may search for and acquire the first tunnel according to the locally stored correspondence table, attribute information and destination address, wherein the correspondence table includes the correspondence between the attribute information, the destination address and the first tunnel. After acquiring the first tunnel, the head node 201 sends the information of the first tunnel from the control plane to the forwarding plane. Wherein, the information of the first tunnel may include node information of the tunnel path, tunnel priority level, network equipment at the exit of the tunnel, and the like. In this case, the first tunnel may be created manually or acquired by the head node 201 from the controller.
在头节点201的控制面未建立第一隧道,且头节点201具有能力计算和创建隧道时,头节点201可以根据属性信息以及目的地址创建第一隧道;在创建完成后,头节点201将第一隧道的信息从控制面发送至转发面。具体地,头节点201可以基于预先配置的隧道策略模板计算第一隧道,以获得第一隧道的信息。其中,不同的SLA、不同的目的地址可以对应不同的隧道策略模板,该隧道策略模板用于约束隧道的建立,以使得建立的隧道满足SLA要求。When the control plane of the head node 201 has not established the first tunnel, and the head node 201 has the capability to calculate and create the tunnel, the head node 201 can create the first tunnel according to the attribute information and the destination address; after the creation is completed, the head node 201 will Information about a tunnel is sent from the control plane to the forwarding plane. Specifically, the head node 201 may calculate the first tunnel based on a preconfigured tunnel policy template to obtain the information of the first tunnel. Wherein, different SLAs and different destination addresses may correspond to different tunnel policy templates, and the tunnel policy templates are used to constrain the establishment of the tunnel, so that the established tunnel meets the SLA requirements.
在一种实现方式中,当目的地址为私网地址时,即目的地址所指示的网络设备通过尾节点203接入网络时,则第一隧道的出口网络设备为尾节点203。为建立到达尾节点203的第一隧道,头节点201可以根据该目的地址确定该目的地址所指示的网络设备所属的虚拟专用网络标识(virtual private network,VPN)的标识,进而根据该VPN标识查找对应的接入节点,即尾节点203,并获取该尾节点203的地址。该情况下,头节点201根据属性 信息、VPN标识以及尾节点203的地址确定匹配的隧道策略模板,进而根据该隧道策略模板确定第一隧道的信息。其中,隧道策略模板可以针对不同的VPN用户提供不同的策略模板。例如,对于VPN A的用户,DSCP值为11-20的报文,提供一个带宽为1000M、时延为200ms的隧道或切片等;DSCP值为21-30的报文,提供一个带宽为1000M、时延为400ms的隧道或切片等。对于VPN B的用户,DSCP值为11-20的报文,提供一个带宽为1000M、时延无要求的隧道或切片等;DSCP值为21-30的报文,提供一个带宽无要求、时延为400ms的隧道或切片等。其中,尾节点203的地址可以为尾节点203的环回(loopback)地址、位置(locator)地址等。In an implementation manner, when the destination address is a private network address, that is, when the network device indicated by the destination address accesses the network through the tail node 203 , the egress network device of the first tunnel is the tail node 203 . In order to establish the first tunnel to reach the tail node 203, the head node 201 can determine, according to the destination address, the identity of the virtual private network identity (virtual private network, VPN) to which the network device indicated by the destination address belongs, and then search according to the VPN identity. The corresponding access node, that is, the tail node 203 , and obtains the address of the tail node 203 . In this case, the head node 201 determines the matching tunnel policy template according to the attribute information, the VPN identifier and the address of the tail node 203, and then determines the information of the first tunnel according to the tunnel policy template. The tunnel policy template can provide different policy templates for different VPN users. For example, for a user of VPN A, for a packet with a DSCP value of 11-20, a tunnel or slice with a bandwidth of 1000M and a delay of 200ms is provided; for a packet with a DSCP value of 21-30, a bandwidth of 1000M, Tunnels or slices with a delay of 400ms, etc. For users of VPN B, a packet with a DSCP value of 11-20 provides a tunnel or slice with a bandwidth of 1000M and no delay requirement; for a packet with a DSCP value of 21-30, a packet with no bandwidth requirement and no delay is provided. For 400ms tunnels or slices etc. The address of the tail node 203 may be a loopback address, a locator address, or the like of the tail node 203 .
需要说明的是,对于头节点201具有隧道计算和创建能力的情形,在头节点201建立完第一隧道后,可以直接执行S306,利用第一隧道转发第一报文至第二网络设备,无需执行S303。对于头节点201不具有隧道计算和创建能力的情形,在执行S302建立隧道之前,可以先执行S303,以触发控制器执行S304和S305。It should be noted that, in the case where the head node 201 has the tunnel calculation and creation capability, after the head node 201 has established the first tunnel, it can directly execute S306, and use the first tunnel to forward the first packet to the second network device without the need for S303 is executed. In the case that the head node 201 does not have the tunnel calculation and creation capability, before executing S302 to establish the tunnel, S303 may be executed first to trigger the controller to execute S304 and S305.
S303:头节点201使用属性信息以及目的地址向控制器发送建立第一隧道的请求消息。S303: The head node 201 sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address.
在头节点201无法独立创建第一隧道时,头节点201可以使用属性信息以及目的地址向控制器发送建立第一隧道的请求消息,该请求消息中可以包括属性信息以及目的地址,以请求控制器计算第一隧道的信息。进一步地,该请求消息中还可以包括头节点201的设备标识,以使得该控制器可以获知发送请求消息的设备,进而建立以头节点201为入口网络设备的第一隧道。其中,头节点201的设备标识可以为头节点201的IP地址、loopback地址等可以唯一地表示头节点201的标识。When the head node 201 cannot independently create the first tunnel, the head node 201 can use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, and the request message can include the attribute information and the destination address to request the controller Calculate the information of the first tunnel. Further, the request message may further include the device identifier of the head node 201, so that the controller can know the device sending the request message, and then establish the first tunnel with the head node 201 as the ingress network device. The device identifier of the head node 201 may be the IP address of the head node 201, the loopback address, etc., which may uniquely represent the identifier of the head node 201.
S304:控制器根据属性信息以及目的地址获取第一隧道的信息。S304: The controller obtains the information of the first tunnel according to the attribute information and the destination address.
控制器在接收到头节点201发送的请求消息后,根据该请求消息中的属性信息以及目的地址获取第一隧道的信息。具体地,在一种示例下,控制器可以根据属性信息以及目的地址从本地查找并获取第一隧道的信息。在另一种示例下,在控制器根据属性信息以及目的地址未查找到第一隧道的信息时,可以根据属性信息以及目的地址计算并获取第一隧道的信息。在该情况下,控制器可以根据属性信息以及目的地址从预先配置的隧道策略模板中确定匹配的隧道策略模板,并根据该匹配的隧道策略模板进行算路,从而获得第一隧道的信息。其中,关于利用隧道策略模板进行相应SLA的隧道算路的实现可以参见S203的相关描述。After receiving the request message sent by the head node 201, the controller obtains the information of the first tunnel according to the attribute information and the destination address in the request message. Specifically, in an example, the controller may search and acquire the information of the first tunnel locally according to the attribute information and the destination address. In another example, when the controller does not find the information of the first tunnel according to the attribute information and the destination address, it can calculate and acquire the information of the first tunnel according to the attribute information and the destination address. In this case, the controller may determine the matching tunnel policy template from the preconfigured tunnel policy template according to the attribute information and the destination address, and perform path calculation according to the matched tunnel policy template, thereby obtaining the information of the first tunnel. For the implementation of tunnel path calculation of corresponding SLA by using the tunnel policy template, reference may be made to the relevant description of S203.
通过前述可知,目的地址所指示的网络设备存在两种不同的情况,一种情况是,当目的地址所指示的网络设备为尾节点203时,头节点201可以直接将包括属性信息和目的地址的请求消息发送给控制器。在该情况下,控制器可以根据请求消息中的属性信息和目的地址查找第一隧道的信息或计算第一隧道的信息。在另一种情况下,当目的地址所指示的网络设备通过尾节点203接入网络时,即目的地址为私网地址,如果头节点201直接将包括属性信息和目的地址的请求消息发送给控制器时,控制器还需根据目的地址所指示的网络设备所属的VPN的标识确定尾节点203的地址,进而根据属性信息、VPN标识、尾节点203的地址查找第一隧道的信息或计算第一隧道的信息。具体地,控制器根据属性信息、VPN标识以及尾节点203的地址确定匹配的隧道策略模板,进而根据该隧道策略模板确定 第一隧道的信息。其中,关于控制器根据属性信息、VPN标识以及尾节点203的地址计算第一隧道的信息可以参见S203的相关描述。It can be seen from the foregoing that there are two different situations for the network device indicated by the destination address. One case is that when the network device indicated by the destination address is the tail node 203, the head node 201 can directly convert the attribute information and the destination address. The request message is sent to the controller. In this case, the controller may search the information of the first tunnel or calculate the information of the first tunnel according to the attribute information and the destination address in the request message. In another case, when the network device indicated by the destination address accesses the network through the tail node 203, that is, the destination address is the private network address, if the head node 201 directly sends the request message including the attribute information and the destination address to the control When the controller is used, the controller also needs to determine the address of the tail node 203 according to the identity of the VPN to which the network device indicated by the destination address belongs, and then searches for the information of the first tunnel or calculates the first tunnel according to the attribute information, the VPN identity, and the address of the tail node 203. information about the tunnel. Specifically, the controller determines the matching tunnel policy template according to the attribute information, the VPN identifier and the address of the tail node 203, and then determines the information of the first tunnel according to the tunnel policy template. Wherein, for the information that the controller calculates the first tunnel according to the attribute information, the VPN identifier and the address of the tail node 203, reference may be made to the relevant description of S203.
S305:控制器将包括第一隧道的信息的响应消息发送给头节点201。S305: The controller sends a response message including the information of the first tunnel to the head node 201.
在控制器获取到第一隧道的信息后,将包括第一隧道的信息的响应消息发送给头节点201,以使得头节点201根据第一隧道的信息创建第一隧道。After the controller acquires the information of the first tunnel, it sends a response message including the information of the first tunnel to the head node 201, so that the head node 201 creates the first tunnel according to the information of the first tunnel.
在一种具体的实施方式中,控制器除了向头节点201下发第一隧道的信息,还可以给第一隧道包括的各所需的节点下发资源预留的请求,以使得在第一隧道沿途各节点可以预留资源。其中,预留的资源可以是为业务流量分配的带宽、时隙、服务质量(quality of service,Qos)队列、物理端口等。In a specific implementation manner, in addition to delivering the information of the first tunnel to the head node 201, the controller may also deliver a resource reservation request to each required node included in the first tunnel, so that the first Each node along the tunnel can reserve resources. The reserved resources may be bandwidths, time slots, quality of service (quality of service, QoS) queues, physical ports, etc. allocated for service traffic.
S306:头节点201利用第一隧道将第一报文转发给中间节点202。S306: The head node 201 forwards the first packet to the intermediate node 202 by using the first tunnel.
头节点201在接收到控制器发送的第一隧道的信息后,根据该第一隧道的信息创建第一隧道,并利用该第一隧道将业务流量转发至中间节点202。需要说明的是,为保证业务流量的正常传输,头节点201在创建第一隧道之前,可以利用当前已建立的隧道向中间节点202转发业务流量。After receiving the information of the first tunnel sent by the controller, the head node 201 creates a first tunnel according to the information of the first tunnel, and forwards the service traffic to the intermediate node 202 by using the first tunnel. It should be noted that, in order to ensure the normal transmission of the service traffic, before creating the first tunnel, the head node 201 may forward the service traffic to the intermediate node 202 by using the currently established tunnel.
在一些应用场景下,第一隧道可能长时间未有流量承载,为减少对资源的占用,头节点201可以对第一隧道的承载情况进行检测,当检测到第一隧道在预设时长内未用于转发报文,则将第一隧道删除或状态更改为不可用。其中,预设时长可以根据实际应用情况确定,例如预设时长为1小时。具体地,头节点201在转发面删除第一隧道;或者,头节点201在转发面将第一隧道标记为不可用;或者头节点201在控制面标记第一隧道不可用,在转发面删除第一隧道;或者头节点201在控制面和转发面同时删除第一隧道等。其中,头节点201可以配置不同的处理策略,基于当前的处理策略对第一隧道进行处理。In some application scenarios, the first tunnel may not carry traffic for a long time. In order to reduce the occupation of resources, the head node 201 may detect the carrying condition of the first tunnel. For forwarding packets, delete the first tunnel or change the status to unavailable. The preset duration may be determined according to actual application conditions, for example, the preset duration is 1 hour. Specifically, the head node 201 deletes the first tunnel on the forwarding plane; or, the head node 201 marks the first tunnel as unavailable on the forwarding plane; or the head node 201 marks the first tunnel as unavailable on the control plane, and deletes the first tunnel on the forwarding plane a tunnel; or the head node 201 deletes the first tunnel on the control plane and the forwarding plane at the same time. The head node 201 may configure different processing policies, and process the first tunnel based on the current processing policy.
在一些应用场景下,存在私网中的网络设备所对应的接入设备发生迁移的情况,例如,图2中,目的地址所指示的网络设备接入网络对应的设备从ACC1迁移至ACC2,即尾节点203由ACC1变更为ACC2。该情况下,头节点201在接收到属于业务流量的第二报文后,根据第二报文中的属性信息以及目的地址建立到达更新后的尾节点203的第二隧道;头节点201利用第二隧道将第二报文转发给尾节点203。其中,关于头节点201根据属性信息以及目的地址建立到达更新后的尾节点202的第二隧道的实现可以参见S302-S306的相关描述。In some application scenarios, there is a situation in which the access device corresponding to the network device in the private network migrates. For example, in Figure 2, the device corresponding to the access network of the network device indicated by the destination address migrates from ACC1 to ACC2, that is, The tail node 203 is changed from ACC1 to ACC2. In this case, after receiving the second packet belonging to the service flow, the head node 201 establishes a second tunnel to the updated tail node 203 according to the attribute information and the destination address in the second packet; The second tunnel forwards the second packet to the tail node 203 . Wherein, for the implementation of the establishment of the second tunnel by the head node 201 to the updated tail node 202 according to the attribute information and the destination address, reference may be made to the relevant descriptions of S302-S306.
在一些应用场景下,还可能存在业务流量对应的属性信息发生变化,例如SLA需求等级降低或升高。该情况下,头节点201在接收到属于业务流量的第三报文后,根据第三报文中的属性信息以及目的地址建立到尾节点的第三隧道,其中,该第三报文中携带的属性信息相较于第一报文发生了变化;头节点201利用第三隧道将第三报文转发给尾节点203。其中,关于头节点201根据属性信息以及目的地址建立第三隧道的实现可以参见S302-S306的相关描述。In some application scenarios, there may also be changes in attribute information corresponding to service traffic, such as a decrease or increase in the SLA requirement level. In this case, after receiving the third packet belonging to the service traffic, the head node 201 establishes a third tunnel to the tail node according to the attribute information and the destination address in the third packet, wherein the third packet carries Compared with the first packet, the attribute information of the packet has changed; the head node 201 forwards the third packet to the tail node 203 by using the third tunnel. Wherein, for the implementation of the establishment of the third tunnel by the head node 201 according to the attribute information and the destination address, reference may be made to the relevant descriptions of S302-S306.
S307:中间节点202利用第一隧道将第一报文转发给尾节点203。S307: The intermediate node 202 forwards the first packet to the tail node 203 by using the first tunnel.
中间节点202在接收到第一报文后,根据已经创建的第一隧道将第一报文转发给尾节点203。尾节点203在接收到中间节点202转发的第一报文后,在不同的应用场景下可以 执行不同的处理。具体可以包括以下操作:After receiving the first packet, the intermediate node 202 forwards the first packet to the tail node 203 according to the created first tunnel. After receiving the first packet forwarded by the intermediate node 202, the tail node 203 can perform different processing in different application scenarios. Specifically, the following operations can be included:
一种情况是,尾节点203在接收到报文后不再进行转发。例如,当尾节点203为该目的地址所指示的网络设备,尾节点203可以仅接收该报文而不进行转发。In one case, the tail node 203 no longer forwards the packet after receiving the packet. For example, when the tail node 203 is the network device indicated by the destination address, the tail node 203 may only receive the packet without forwarding it.
另一种情况是,例如,对于目的地址所指示的网络设备为尾节点204连接的用户设备时,尾节点204可以将第一报文中的属性信息弹出,将不包括属性信息的第一报文转发给用户设备。In another case, for example, when the network device indicated by the destination address is the user equipment connected by the tail node 204, the tail node 204 can pop up the attribute information in the first packet, and the first packet that does not include the attribute information can be ejected. The message is forwarded to the user equipment.
可以理解的,上述情形仅作为示例,尾节点203对报文进行的处理操作可结合具体应用场景确定。It can be understood that the above situation is only an example, and the processing operation performed by the tail node 203 on the packet may be determined in combination with a specific application scenario.
为体现报文(如上述提及的第一报文和第二报文等)传输的连续性,在本申请实施例中将头节点201向中间节点202发送的第一报文和中间节点202向尾节点203发送的第一报文均称为第一报文,但可以理解地,头节点201向中间节点202发送的第一报文和中间节点202向尾节点203发送的第一报文在实际应用场景中存在差别。例如,生存时间(time to live,TTL)和下一跳节点等信息可能均存在差异,即,中间节点202在将头节点201发送的第一报文转发给尾节点203时,实际可以为修改了一些必要信息的更新后的第一报文。该头节点201发送的第一报文和中间节点202发送的更新后的第一报文中可以携带相同的载荷(payload)、属性信息和目的地址。In order to reflect the continuity of the transmission of packets (such as the first packet and the second packet mentioned above), in this embodiment of the present application, the first packet sent by the head node 201 to the intermediate node 202 and the intermediate node 202 The first packet sent to the tail node 203 is called the first packet, but it is understandable that the first packet sent by the head node 201 to the intermediate node 202 and the first packet sent by the intermediate node 202 to the tail node 203 There are differences in practical application scenarios. For example, there may be differences in information such as time to live (TTL) and the next hop node, that is, when the intermediate node 202 forwards the first packet sent by the head node 201 to the tail node 203, it can actually modify the The updated first message with some necessary information. The first packet sent by the head node 201 and the updated first packet sent by the intermediate node 202 may carry the same payload (payload), attribute information and destination address.
通过上述可知,作为第一隧道的入口网络设备,头节点可以基于业务流量动态触发隧道的创建或生效,无需提前创建所有SLA要求的隧道,降低网络设备的压力,满足网络的弹性需求以及接入设备动态迁移的需求。It can be seen from the above that, as the ingress network device of the first tunnel, the head node can dynamically trigger the creation or take effect of the tunnel based on the service traffic. It is not necessary to create all the tunnels required by the SLA in advance. The need for live device migration.
为便于进一步理解本申请实施例提供的技术方案,参见图4,该图为本申请实施例提供的另一种报文传输方法流程图,如图4所示,该方法可以包括:To facilitate further understanding of the technical solutions provided by the embodiments of the present application, see FIG. 4 , which is a flowchart of another message transmission method provided by the embodiments of the present application. As shown in FIG. 4 , the method may include:
S401:第一网络设备获取第一报文。S401: The first network device obtains the first packet.
本实施例中,第一网络设备可以为头节点,其可以生成第一报文,或者从其对应的用户设备获取第一报文。其中,第一报文包括属性信息和目的地址,属性信息用于指示转发第一报文所属的业务流量时所需要满足的SLA要求。属性信息可以携带在第一报文的优先级字段、流标签字段或生存时间字段。作为第一网络设备获取第一报文的一种具体实现,可以参见S301。In this embodiment, the first network device may be a head node, which may generate the first packet, or obtain the first packet from its corresponding user equipment. The first packet includes attribute information and a destination address, and the attribute information is used to indicate an SLA requirement that needs to be met when forwarding the service traffic to which the first packet belongs. The attribute information may be carried in the priority field, flow label field or time-to-live field of the first packet. As a specific implementation of the first network device acquiring the first packet, reference may be made to S301.
S402:第一网络设备根据属性信息以及目的地址建立第一隧道。S402: The first network device establishes a first tunnel according to the attribute information and the destination address.
在第一网络设备获取第一报文后,通过解析第一报文获得属性信息和目的地址,并根据属性信息和目的地址判断是否存在满足SLA要求的隧道,即第一隧道,以通过第一隧道将第一报文转发至第二网络设备。在第一网络设备确定不存在第一隧道后,可以根据属性信息以及目的地址建立第一隧道。其中,第一隧道为满足SLA要求的转发隧道,用于将第一报文转发至第二网络设备。该第二网络设备是根据目的地址确定的。其中,第一网络设备可以为第一隧道的入口网络设备,第二网络设备为第一隧道的出口网络设备。第二网络设备可以为目的地址所指示的设备,或者第二网络设备为用于将目的地址所指示的目的设备接入网络的设备。另外,第一报文还可以包括网络切片信息,第一网络设备可以根据网 络切片信息为第一隧道预留资源。其中,第一隧道可以为SR Policy隧道、SR TE隧道或者基于切片粒度的隧道。After the first network device obtains the first packet, it obtains attribute information and a destination address by parsing the first packet, and judges whether there is a tunnel that meets the SLA requirements, that is, the first tunnel, according to the attribute information and the destination address, so as to pass the first tunnel. The tunnel forwards the first packet to the second network device. After the first network device determines that the first tunnel does not exist, the first tunnel may be established according to the attribute information and the destination address. The first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to forward the first packet to the second network device. The second network device is determined according to the destination address. The first network device may be an ingress network device of the first tunnel, and the second network device may be an egress network device of the first tunnel. The second network device may be the device indicated by the destination address, or the second network device may be a device for connecting the destination device indicated by the destination address to the network. In addition, the first packet may further include network slice information, and the first network device may reserve resources for the first tunnel according to the network slice information. The first tunnel may be an SR Policy tunnel, an SR TE tunnel, or a tunnel based on slice granularity.
在一种示例中,第一网络设备根据属性信息以及目的地址创建第一隧道。即,第一网络设备具备创建隧道能力时,可以根据属性信息以及目的地址独立创建第一隧道。在创建第一隧道后,第一网络设备将第一隧道的信息从第一网络设备的控制面发送至转发面,进而通过转发面将第一报文转发给第二网络设备。作为第一网络设备根据属性信息和目的地址创建第一隧道的一种具体实现,可以参见S302。In an example, the first network device creates the first tunnel according to the attribute information and the destination address. That is, when the first network device has the ability to create a tunnel, it can independently create the first tunnel according to the attribute information and the destination address. After the first tunnel is created, the first network device sends the information of the first tunnel from the control plane of the first network device to the forwarding plane, and then forwards the first packet to the second network device through the forwarding plane. As a specific implementation for the first network device to create the first tunnel according to the attribute information and the destination address, reference may be made to S302.
在另一种示例中,第一网络设备根据属性信息以及目的地址从本地查找并获取第一隧道。在获取第一隧道的信息后,第一网络设备将第一隧道的信息从第一网络设备的控制面发送至转发面。第一网络设备根据属性信息和目的地址从本地查找并获取第一隧道的具体实现,例如可以参见S302。In another example, the first network device searches and obtains the first tunnel locally according to the attribute information and the destination address. After acquiring the information of the first tunnel, the first network device sends the information of the first tunnel from the control plane of the first network device to the forwarding plane. For a specific implementation of the first network device searching and acquiring the first tunnel locally according to the attribute information and the destination address, for example, reference may be made to S302.
S403:第一网络设备使用属性信息以及目的地址向控制器发送建立第一隧道的请求消息。S403: The first network device sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address.
在本实施例中,第一网络设备在确定没有满足SLA要求的隧道后,还可以向控制发送建立第一隧道的请求消息,该请求消息可以包括属性信息以及目的地址。进一步地,该请求消息中还可以包括第一网络设备的设备标识,以使得控制器可以获知发送请求消息的网络设备。其中,关于S403的一种具体实现,例如可以参见S303。In this embodiment, after determining that there is no tunnel that meets the SLA requirement, the first network device may also send a request message for establishing the first tunnel to the control, where the request message may include attribute information and a destination address. Further, the request message may further include the device identifier of the first network device, so that the controller can know the network device that sends the request message. For a specific implementation of S403, for example, reference may be made to S303.
S404:控制器根据请求消息获取第一隧道的信息。S404: The controller obtains the information of the first tunnel according to the request message.
本实施例中,控制器在接收到请求消息后,可以根据请求消息中的属性信息以及目的地址获取第一隧道的信息。具体地,控制器可以根据属性信息以及目的地址确定匹配的隧道策略模板,并根据该隧道策略模板获取第一隧道的信息。其中,作为控制器获取第一隧道的信息的一种实现,可以参见S304。In this embodiment, after receiving the request message, the controller may acquire the information of the first tunnel according to the attribute information and the destination address in the request message. Specifically, the controller may determine the matching tunnel policy template according to the attribute information and the destination address, and obtain the information of the first tunnel according to the tunnel policy template. Wherein, as an implementation for the controller to acquire the information of the first tunnel, reference may be made to S304.
S405:控制器向第一网络设备发送响应消息。S405: The controller sends a response message to the first network device.
控制器在获取第一隧道的信息后,向第一网络设备发送响应消息,该响应消息包括与属性信息和目的地址对应的第一隧道的信息。关于S405的一种具体实现,例如可以参见S305。After acquiring the information of the first tunnel, the controller sends a response message to the first network device, where the response message includes the information of the first tunnel corresponding to the attribute information and the destination address. For a specific implementation of S405, for example, reference may be made to S305.
S406:第一网络设备根据第一隧道的信息创建第一隧道,并利用第一隧道将第一报文转发给第二网络设备。S406: The first network device creates a first tunnel according to the information of the first tunnel, and forwards the first packet to the second network device by using the first tunnel.
其中,关于S405的一种具体实现,可以参见S306。For a specific implementation of S405, reference may be made to S306.
在一种具体的实施方式中,第一网络设备还可以确定第一隧道在预设时长内未用于转发报文时,将第一隧道删除或状态更改为不可用。关于第一网络设备对于第一隧道的处理实现可以参见S306中的相关描述。In a specific implementation manner, the first network device may further delete the first tunnel or change the state to unavailable when it is determined that the first tunnel is not used for forwarding packets within a preset period of time. For the processing implementation of the first tunnel by the first network device, reference may be made to the relevant description in S306.
在一种具体的实施方式中,当报文中的目的地址所指示的目的设备接入网络时对应的设备发生变化时,第一网络设备将根据报文中的属性信息以及目的地址重新建立隧道,以利用新建的隧道转发业务流量。具体为,第一网络设备接收第二报文,该第二报文包括属性信息和目的地址,该第二报文与第一报文属于同一业务流量;第一网络设备根据用于将目的地址所指示的目的设备接入网络的设备由第二网络设备变更为第三网络、属性信息以 及目的地址建立到达第三网络设备的第二隧道;第一网络设备使用第二隧道将第二报文转发至第三网络设备。其中,作为第一网络设备建立第二隧道的一种具体实现,例如可以参见S402-406。In a specific implementation manner, when the corresponding device changes when the destination device indicated by the destination address in the packet accesses the network, the first network device will re-establish the tunnel according to the attribute information and the destination address in the packet , to use the newly created tunnel to forward service traffic. Specifically, the first network device receives a second packet, where the second packet includes attribute information and a destination address, and the second packet and the first packet belong to the same service flow; The indicated destination device accessing the network is changed from the second network device to the third network, the attribute information and the destination address establish a second tunnel to the third network device; the first network device uses the second tunnel to transfer the second packet Forwarded to the third network device. Wherein, as a specific implementation of establishing the second tunnel by the first network device, for example, reference may be made to S402-406.
基于上述方法实施例,本申请实施例还提供了一种报文传输装置,下面将结合附图对该装置进行说明。Based on the foregoing method embodiments, the embodiments of the present application further provide a message transmission device, which will be described below with reference to the accompanying drawings.
参见图5,该图为本申请实施例提供的一种报文传输装置结构图,装置500能够应用于第一网络设备,实现上述方法实施例中第一网络设备的功能,该装置500可以包括:获取单元501、建立单元502和发送单元503。Referring to FIG. 5 , which is a structural diagram of a message transmission apparatus provided by an embodiment of the present application, the apparatus 500 can be applied to a first network device to implement the functions of the first network device in the foregoing method embodiments, and the apparatus 500 may include : obtaining unit 501 , establishing unit 502 and sending unit 503 .
获取单元501,用于获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求。The obtaining unit 501 is configured to obtain a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate a service level that needs to be met when forwarding the service traffic to which the first packet belongs Agreement SLA requirements.
其中,获取单元501获取第一报文的具体实现可以参见S301或S401的相关描述。For the specific implementation of the acquisition unit 501 acquiring the first packet, reference may be made to the relevant description of S301 or S401.
建立单元502,用于根据所述属性信息以及所述目的地址建立第一隧道。The establishing unit 502 is configured to establish a first tunnel according to the attribute information and the destination address.
其中,建立单元502建立第一隧道的具体实现可以参见S302或S402的相关描述。The specific implementation of establishing the first tunnel by the establishing unit 502 may refer to the relevant description of S302 or S402.
发送单元503,用于使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道,用于将所述第一报文转发至第二网络设备,所述第二网络设备根据所述目的地址确定。The sending unit 503 is configured to use the attribute information and the destination address to send a request message for establishing the first tunnel to the controller, where the first tunnel is a forwarding tunnel that meets the SLA requirements, and is used to transfer the first tunnel to the controller. The first packet is forwarded to the second network device, and the second network device determines the destination address according to the destination address.
其中,发送单元503的具体实现可以参见S303或S403的相关描述。The specific implementation of the sending unit 503 may refer to the relevant description of S303 or S403.
在一种具体的实施方式中,所述建立单元502,具体用于根据所述属性信息以及所述目的地址创建所述第一隧道;或者,根据所述属性信息以及所述目的地址从本地查找并获取所述第一隧道。In a specific implementation manner, the establishing unit 502 is specifically configured to create the first tunnel according to the attribute information and the destination address; or, search locally according to the attribute information and the destination address and get the first tunnel.
其中,建立单元502的具体实现可以参见S302或S402的相关描述。The specific implementation of the establishing unit 502 may refer to the relevant description of S302 or S402.
在一种具体的实施方式中,所述发送单元503,还用于将所述第一隧道的信息从控制面发送至转发面。In a specific implementation manner, the sending unit 503 is further configured to send the information of the first tunnel from the control plane to the forwarding plane.
在一种具体的实施方式中,所述装置还包括:接收单元(图中未示出);In a specific implementation manner, the apparatus further includes: a receiving unit (not shown in the figure);
所述接收单元,用于接收所述控制器发送的响应消息,所述响应消息包括与所述属性信息和所述目的地址对应的所述第一隧道的信息。The receiving unit is configured to receive a response message sent by the controller, where the response message includes information of the first tunnel corresponding to the attribute information and the destination address.
在一种具体的实施方式中,所述装置还包括:处理单元(图中未示出)In a specific implementation manner, the apparatus further includes: a processing unit (not shown in the figure)
所述处理单元,用于在确定所述第一隧道在所述预设时长内未用于转发报文后,将所述第一隧道删除或状态更改为不使用。The processing unit is configured to delete the first tunnel or change the state to unused after determining that the first tunnel is not used for forwarding packets within the preset time period.
在一种具体的实施方式中,所述装置500所应用的网络设备为所述第一隧道的入口网络设备。In a specific implementation manner, the network device applied by the apparatus 500 is the ingress network device of the first tunnel.
在一种具体的实施方式中,所述第一隧道的出口网络设备为第二网络设备,所述第二网络设备为所述目的地址对应的设备,或者所述第二网络设备为用于将所述目的地址所指示的目的设备接入网络的设备。In a specific implementation manner, the egress network device of the first tunnel is a second network device, the second network device is a device corresponding to the destination address, or the second network device is a device used to transfer The destination device indicated by the destination address is a device that accesses the network.
在一种具体的实施方式中,获取单元501,还用于获取第二报文,所述第二报文包括 所述属性信息和所述目的地址,所述第二报文属于所述业务流量;In a specific implementation manner, the obtaining unit 501 is further configured to obtain a second packet, where the second packet includes the attribute information and the destination address, and the second packet belongs to the service traffic ;
建立单元502,还用于根据用于将所述目的地址所指示的目的设备接入网络的设备由所述第二网络设备变更为第三网络设备、所述属性信息以及所述目的地址建立到达所述第三网络设备的第二隧道;The establishing unit 502 is further configured to change from the second network device to the third network device, the attribute information and the destination address according to the device for accessing the network of the destination device indicated by the destination address. the second tunnel of the third network device;
发送单元503,用于使用所述第二隧道将所述第二报文转发至所述第三网络设备。The sending unit 503 is configured to forward the second packet to the third network device by using the second tunnel.
其中,关于建立单元502建立第二隧道的实现可以参见S306或S406的相关描述。For the implementation of establishing the second tunnel by the establishing unit 502, reference may be made to the relevant description of S306 or S406.
在一种具体的实施方式中,所述装置还包括:处理单元(图中未示出);In a specific implementation manner, the apparatus further includes: a processing unit (not shown in the figure);
处理单元,用于根据所述第一报文中的网络切片信息为所述第一隧道预留资源。A processing unit, configured to reserve resources for the first tunnel according to the network slice information in the first packet.
在一种具体的实施方式中,所述属性信息携带在所述第一报文的优先级字段、流标签字段或生存时间字段。In a specific implementation manner, the attribute information is carried in a priority field, a flow label field or a time-to-live field of the first packet.
在一种具体的实施方式中,所述第一隧道为分段路由策略SR Policy隧道或分段路由流量工程SR TE隧道。In a specific embodiment, the first tunnel is a segment routing policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
需要说明的是,关于报文传输装置500具体可执行的功能和实现,可以参见图3或图4所示实施例中关于第一网络设备的相应描述,此处不再赘述。It should be noted that, for specific executable functions and implementations of the message transmission apparatus 500 , reference may be made to the corresponding description of the first network device in the embodiment shown in FIG. 3 or FIG. 4 , and details are not repeated here.
图6为本申请实施例提供的一种网络设备的结构示意图,该网络设备例如可以是图3或图4所示实施例中的第一网络设备或第二网络设备,或者也可以是图5所示实施例中的报文传输装置500的设备实现。FIG. 6 is a schematic structural diagram of a network device according to an embodiment of the present application. The network device may be, for example, the first network device or the second network device in the embodiment shown in FIG. 3 or FIG. 4 , or may also be the first network device in FIG. 5 . The device implementation of the message transmission apparatus 500 in the illustrated embodiment.
请参阅图6所示,网络设备600包括:处理器610、通信接口620和存储器630。其中报文转发设备600中的处理器610的数量可以一个或多个,图6中以一个处理器为例。本申请实施例中,处理器610、通信接口620和存储器630可通过总线系统或其它方式连接,其中,图6中以通过总线系统640连接为例。Referring to FIG. 6 , the network device 600 includes: a processor 610 , a communication interface 620 and a memory 630 . The number of processors 610 in the packet forwarding device 600 may be one or more, and one processor is taken as an example in FIG. 6 . In this embodiment of the present application, the processor 610, the communication interface 620, and the memory 630 may be connected through a bus system or other manners, wherein the connection through the bus system 640 is taken as an example in FIG. 6 .
处理器610可以是CPU、NP、或者CPU和NP的组合。处理器610还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。 Processor 610 may be a CPU, NP, or a combination of CPU and NP. The processor 610 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 can 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.
当网络设备为头节点201时,处理器610可以执行上述方法实施例中获取第一报文以及根据属性信息和目的地址建立第一隧道等相关功能。When the network device is the head node 201, the processor 610 may perform related functions such as acquiring the first packet and establishing the first tunnel according to the attribute information and the destination address in the foregoing method embodiments.
通信接口620用于接收和发送报文,具体地,通信接口620可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口620的个数可以为一个或多个。The communication interface 620 is used for receiving and sending messages. Specifically, the communication interface 620 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 620 may be one or more.
存储器630可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器630也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器630还可以包括上述种类的存储器的组合。存储器 630例如可以存储前文提及的属性信息、目的地址和隧道之间的对应关系。The memory 630 may include a volatile memory (English: volatile memory), such as random-access memory (RAM); the memory 630 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 630 may also include a combination of the above-mentioned types of memory. The memory 630 may store, for example, the aforementioned attribute information, the correspondence between the destination address and the tunnel.
可选地,存储器630存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器610可以读取存储器630中的程序,实现本申请实施例提供的报文传输方法。Optionally, the memory 630 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 610 may read the program in the memory 630 to implement the message transmission method provided by the embodiment of the present application.
其中,存储器630可以为网络设备600中的存储器件,也可以为独立于网络设备600的存储装置。The memory 630 may be a storage device in the network device 600 , or may be a storage device independent of the network device 600 .
总线系统640可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The bus system 640 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like. The bus system 640 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. 6, but it does not mean that there is only one bus or one type of bus.
图7是本申请实施例提供的另一种网络设备700的结构示意图,网络设备700可以配置为前述各实施例中的第一网络设备或第二网络设备,或图5所示实施例中的报文传输装置500的设备实现。FIG. 7 is a schematic structural diagram of another network device 700 provided by an embodiment of the present application. The network device 700 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. 5 . Device implementation of the message transmission apparatus 500 .
网络设备700包括:主控板710和接口板730。The network device 700 includes: a main control board 710 and an interface board 730 .
主控板710也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板710对网络设备700中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板710包括:中央处理器711和存储器712。The main control board 710 is also called the main processing unit (main processing unit, MPU) or the route processor card (route processor card). The main control board 710 controls and manages various components in the network device 700, including route calculation, Equipment maintenance, protocol processing functions. The main control board 710 includes: a central processing unit 711 and a memory 712 .
接口板730也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板730用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板730包括:中央处理器731、网络处理器732、转发表项存储器734和物理接口卡(ph8sical interface card,PIC)733。The interface board 730 is also referred to as a line processing unit (LPU), a line card or a service board. The interface board 730 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 730 includes: a central processing unit 731 , a network processor 732 , a forwarding table entry memory 734 and a physical interface card (ph8sical interface card, PIC) 733 .
接口板730上的中央处理器731用于对接口板730进行控制管理并与主控板710上的中央处理器711进行通信。The central processing unit 731 on the interface board 730 is used to control and manage the interface board 730 and communicate with the central processing unit 711 on the main control board 710 .
网络处理器732用于实现报文的转发处理。网络处理器732的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。The network processor 732 is used to implement packet forwarding processing. The network processor 732 may be in the form of a forwarding chip. Specifically, 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.
物理接口卡733用于实现物理层的对接功能,原始的流量由此进入接口板730,以及处理后的报文从该物理接口卡733发出。物理接口卡733包括至少一个物理接口,物理接口也称物理口,物理接口卡733对应于系统架构200中的FlexE物理接口204。物理接口卡733也称为子卡,可安装在接口板730上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器732处理。在一些实施例中,接口板703的中央处理器731也可执行网络处理器732的功能,比如基于通用CPU实现软件转发,从而物理接口卡733中不需要网络处理器732。The physical interface card 733 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 730 through this, and the processed packets are sent from the physical interface card 733 . The physical interface card 733 includes at least one physical interface, and the physical interface is also called a physical port. The physical interface card 733 corresponds to the FlexE physical interface 204 in the system architecture 200 . The physical interface card 733 is also called a daughter card, which can be installed on the interface board 730 , and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 732 for processing. In some embodiments, the central processor 731 of the interface board 703 can also perform the functions of the network processor 732 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 732 is not required in the physical interface card 733 .
可选地,网络设备700包括多个接口板,例如网络设备700还包括接口板740,接口 板740包括:中央处理器741、网络处理器742、转发表项存储器744和物理接口卡743。Optionally, the network device 700 includes multiple interface boards, for example, the network device 700 further includes an interface board 740, and the interface board 740 includes: a central processing unit 741, a network processor 742, a forwarding table entry storage 744, and a physical interface card 743.
可选地,网络设备700还包括交换网板720。交换网板720也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板730的情况下,交换网板720用于完成各接口板之间的数据交换。例如,接口板730和接口板740之间可以通过交换网板720通信。Optionally, the network device 700 further includes a switch fabric board 720 . The switch fabric unit 720 may also be referred to as a switch fabric unit (switch fabric unit, SFU). In the case that the network device has multiple interface boards 730, the switching network board 720 is used to complete data exchange between the interface boards. For example, the interface board 730 and the interface board 740 can communicate through the switch fabric board 720 .
主控板710和接口板730耦合。例如。主控板710、接口板730和接口板740,以及交换网板720之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板710和接口板730之间建立进程间通信协议(inter-process communication,IPC)通道,主控板710和接口板730之间通过IPC通道进行通信。The main control board 710 and the interface board 730 are coupled. E.g. The main control board 710 , the interface board 730 , the interface board 740 , and the switch fabric board 720 are connected to the system backplane through a system bus to achieve intercommunication. In a possible implementation manner, an inter-process communication (IPC) channel is established between the main control board 710 and the interface board 730, and the main control board 710 and the interface board 730 communicate through the IPC channel.
在逻辑上,网络设备700包括控制面和转发面,控制面包括主控板710和中央处理器731,转发面包括执行转发的各个组件,比如转发表项存储器734、物理接口卡733和网络处理器732。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器732基于控制面下发的转发表对物理接口卡733收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器734中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。Logically, the network device 700 includes a control plane and a forwarding plane, the control plane includes a main control board 710 and a central processing unit 731, and the forwarding plane includes various components that perform forwarding, such as forwarding entry storage 734, physical interface card 733, and network processing device 732. 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 issues the generated forwarding tables to the forwarding plane. On the forwarding plane, the network processor 732 is based on the control plane. The delivered forwarding table forwards the packets received by the physical interface card 733 by looking up the table. The forwarding table issued by the control plane may be stored in the forwarding table entry storage 734 . In some embodiments, the control plane and forwarding plane may be completely separate and not on the same device.
如果网络设备700被配置为第一网络设备,中央处理器711可以获取第一报文;根据第一报文中的属性信息和目的地址建立第一隧道。网络处理器732可以触发物理接口卡733根据确定的第一隧道向第二网络设备发送第一报文。If the network device 700 is configured as the first network device, the central processing unit 711 may acquire the first packet; and establish the first tunnel according to the attribute information and the destination address in the first packet. The network processor 732 may trigger the physical interface card 733 to send the first packet to the second network device according to the determined first tunnel.
应理解,报文传输装置500中的发送单元503等可以相当于网络设备700中的物理接口卡733或物理接口卡743;报文传输装置500中的获取单元501和建立单元502等可以相当于网络设备700中的中央处理器711或中央处理器731。It should be understood that the sending unit 503 and the like in the message transmission apparatus 500 may be equivalent to the physical interface card 733 or the physical interface card 743 in the network device 700; the acquiring unit 501 and the establishing unit 502 and the like in the message transmission apparatus 500 may be equivalent to The central processing unit 711 or the central processing unit 731 in the network device 700 .
应理解,本申请实施例中接口板740上的操作与接口板730的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备700可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备700中的主控板710、接口板730和/或接口板740可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。It should be understood that the operations on the interface board 740 in the embodiments of the present application are the same as the operations on the interface board 730 , and for brevity, details are not repeated here. It should be understood that the network device 700 in this embodiment may correspond to the first network device or the second network device in the foregoing method embodiments, and the main control board 710 , the interface board 730 and/or the interface board 740 in the network device 700 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.
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交 换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景。It should be understood that 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. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards are provided. There can also be one or more physical interface cards on the interface board. There may be no switch fabric boards, or there may be one or more boards. When there are multiple boards, load sharing and redundancy backup can be implemented together. Under the centralized forwarding architecture, the network device does not need to switch the network board, and the interface board is responsible for the processing function of the service data of the entire system. Under the distributed forwarding architecture, 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. Optionally, 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.
在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备,此处不再赘述。In some possible embodiments, the above-mentioned first network device or second network device may be implemented as a virtualized device. For example, 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. For example, the first network device or the second network device may be implemented based on a general physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology. 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.
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。It should be understood that the 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.
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图5示出的报文传输装置500的一种具体实现形式,可以用于执行上述报文传输的方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。An embodiment of the present application also 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 500 shown in FIG. 5 . 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.
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。Optionally, the number of processors in the chip system may be one or more. The processor can be implemented by hardware or by software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general-purpose processor implemented by reading software codes stored in memory.
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。Optionally, the number of memories in the chip system may also be one or more. The memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application. Exemplarily, 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.
示例性的,该芯片系统可以是现场可编程门阵列(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)或其他集成芯片。Exemplarily, 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.
基于上述方法实施例,本申请实施例还提供了一种报文传输系统,该系统可以包括:第一网络设备和第二网络设备。Based on the foregoing method embodiments, the embodiments of the present application further provide a message transmission system, and the system may include: a first network device and a second network device.
其中,第一网络设备,用于获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求。The first network device is used to obtain a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate that the service traffic to which the first packet belongs is forwarded and needs to meet the Service Level Agreement SLA requirements.
其中,关于第一网络设备获取第一报文的具体实现可以参见S401的相关描述。For the specific implementation of acquiring the first packet by the first network device, reference may be made to the relevant description of S401.
所述第一网络设备,还用于根据所述属性信息以及所述目的地址建立第一隧道,或者使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道。The first network device is further configured to establish a first tunnel according to the attribute information and the destination address, or send a request message for establishing the first tunnel to the controller by using the attribute information and the destination address, The first tunnel is a forwarding tunnel that meets the SLA requirement.
其中,关于第一网络设备建立第一隧道的具体实现可以参见S402的相关描述。For the specific implementation of establishing the first tunnel by the first network device, reference may be made to the relevant description of S402.
所述第一网络设备,还用于利用所述第一隧道将所述第一报文转发至所述第二网络设备。The first network device is further configured to forward the first packet to the second network device by using the first tunnel.
需要说明的是,关于第一网络设备所执行的功能或实现可以参见图4所示实施例中有关第一网络设备的相关描述。It should be noted that, for the function or implementation performed by the first network device, reference may be made to the relevant description of the first network device in the embodiment shown in FIG. 4 .
在一种具体的实施方式中,所述系统还包括:控制器;In a specific embodiment, the system further includes: a controller;
所述控制器,用于接收所述第一网络设备发送的建立所述第一隧道的请求消息,并根据所述请求信息确定所述第一隧道;the controller, configured to receive a request message for establishing the first tunnel sent by the first network device, and determine the first tunnel according to the request information;
所述控制器,还用于将响应消息发送给所述第一网络设备,所述响应消息包括与所述属性信息和目的地址对应的所述第一隧道的信息;The controller is further configured to send a response message to the first network device, where the response message includes the information of the first tunnel corresponding to the attribute information and the destination address;
所述第一网络设备,用于根据所述第一隧道的信息建立所述第一隧道。The first network device is configured to establish the first tunnel according to the information of the first tunnel.
其中,关于控制器所执行的功能或实现可以参见图3或图4所示实施例中有关控制器的相关描述。For the function or implementation performed by the controller, reference may be made to the relevant description of the controller in the embodiment shown in FIG. 3 or FIG. 4 .
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的报文传输方法。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 terms "first", "second", "third", "fourth", etc. (if any) in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It is to be understood that data so used may be interchanged under appropriate circumstances such that the embodiments described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having" and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those expressly listed Rather, those steps or units may include other steps or units not expressly listed or inherent to these processes, methods, products or devices.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above may refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are only illustrative. For example, the division of units is only a logical business division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented. On the other hand, 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 over 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.
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。In addition, 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.
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。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. Based on this understanding, the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that make contributions to the prior art, or all or part of the technical solutions, which 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 .
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。Those skilled in the art should realize that, in one or more of the above examples, the services described in the present invention may be implemented by hardware, software, firmware or any combination thereof. When implemented in software, 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.
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。The above specific embodiments further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific embodiments of the present invention.
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。Above, the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be used for the foregoing implementations. The technical solutions described in the examples are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims (15)

  1. 一种报文传输方法,其特征在于,所述方法包括:A message transmission method, characterized in that the method comprises:
    第一网络设备获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求;The first network device obtains a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate a service level agreement SLA that needs to be satisfied when forwarding the service traffic to which the first packet belongs Require;
    所述第一网络设备根据所述属性信息以及所述目的地址建立第一隧道,或者所述第一网络设备使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道,用于将所述第一报文转发至第二网络设备,所述第二网络设备根据所述目的地址确定。The first network device establishes a first tunnel according to the attribute information and the destination address, or the first network device sends a request for establishing the first tunnel to the controller by using the attribute information and the destination address message, the first tunnel is a forwarding tunnel that meets the SLA requirement, and is used to forward the first packet to a second network device, where the second network device determines according to the destination address.
  2. 根据权利要求1所述的方法,其特征在于,所述第一网络设备根据所述属性信息以及所述目的地址建立第一隧道,包括:The method according to claim 1, wherein the first network device establishes a first tunnel according to the attribute information and the destination address, comprising:
    所述第一网络设备根据所述属性信息以及所述目的地址创建所述第一隧道;或者,The first network device creates the first tunnel according to the attribute information and the destination address; or,
    所述第一网络设备根据所述属性信息以及所述目的地址从本地查找并获取所述第一隧道。The first network device searches and acquires the first tunnel locally according to the attribute information and the destination address.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:The method according to claim 2, wherein the method further comprises:
    所述第一网络设备将所述第一隧道的信息从所述第一网络设备的控制面发送至转发面。The first network device sends the information of the first tunnel from the control plane of the first network device to the forwarding plane.
  4. 根据权利要求1所述的方法,其特征在于,所述第一网络设备使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息之后,所述方法包括:The method according to claim 1, wherein after the first network device sends a request message for establishing the first tunnel to a controller by using the attribute information and the destination address, the method comprises:
    所述第一网络设备接收所述控制器发送的响应消息,所述响应消息包括与所述属性信息和所述目的地址对应的所述第一隧道的信息。The first network device receives a response message sent by the controller, where the response message includes information of the first tunnel corresponding to the attribute information and the destination address.
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-4, wherein the method further comprises:
    所述第一网络设备确定所述第一隧道在预设时长内未用于转发报文,将所述第一隧道删除或状态更改为不使用。The first network device determines that the first tunnel is not used for forwarding packets within a preset period of time, and deletes the first tunnel or changes the state to not used.
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一网络设备为所述第一隧道的入口网络设备。The method according to any one of claims 1-5, wherein the first network device is an ingress network device of the first tunnel.
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述第一隧道的出口网络设备为第二网络设备,所述第二网络设备为所述目的地址对应的设备,或者所述第二网络设备为用于将所述目的地址所指示的目的设备接入网络的设备。The method according to any one of claims 1-6, wherein the egress network device of the first tunnel is a second network device, and the second network device is a device corresponding to the destination address, or all The second network device is a device for connecting the destination device indicated by the destination address to the network.
  8. 根据权利要求7所述的方法,其特征在于,所述方法还包括:The method according to claim 7, wherein the method further comprises:
    所述第一网络设备获取第二报文,所述第二报文包括所述属性信息和所述目的地址,所述第二报文属于所述业务流量;obtaining, by the first network device, a second packet, where the second packet includes the attribute information and the destination address, and the second packet belongs to the service traffic;
    所述第一网络设备根据用于将所述目的地址所指示的目的设备接入网络的设备由所述第二网络设备变更为第三网络设备、所述属性信息以及所述目的地址建立到达所述第三网络设备的第二隧道;The first network device is used to change the device for accessing the network indicated by the destination address from the second network device to the third network device, the attribute information and the destination address to establish and reach the destination address. the second tunnel of the third network device;
    所述第一网络设备使用所述第二隧道将所述第二报文转发至所述第三网络设备。The first network device forwards the second packet to the third network device using the second tunnel.
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-8, wherein the method further comprises:
    所述第一网络设备根据所述第一报文中的网络切片信息为所述第一隧道预留资源。The first network device reserves resources for the first tunnel according to the network slice information in the first packet.
  10. 根据权利要求1-9任一项所述的方法,其特征在于,所述属性信息携带在所述第一报文的优先级字段、流标签字段或生存时间字段。The method according to any one of claims 1-9, wherein the attribute information is carried in a priority field, a flow label field or a time-to-live field of the first packet.
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述第一隧道为分段路由策略SR Policy隧道或分段路由流量工程SR TE隧道。The method according to any one of claims 1-10, wherein the first tunnel is a segment routing policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
  12. 一种报文传输系统,其特征在于,所述系统包括:第一网络设备和第二网络设备;A message transmission system, characterized in that the system includes: a first network device and a second network device;
    所述第一网络设备,用于获取第一报文,所述第一报文包括属性信息和目的地址,所述属性信息用于指示转发所述第一报文所属的业务流量时所需要满足的服务水平协议SLA要求;The first network device is configured to obtain a first packet, where the first packet includes attribute information and a destination address, and the attribute information is used to indicate that the service traffic to which the first packet belongs is forwarded. service level agreement SLA requirements;
    所述第一网络设备,还用于根据所述属性信息以及所述目的地址建立第一隧道,或者使用所述属性信息以及所述目的地址向控制器发送建立所述第一隧道的请求消息,所述第一隧道为满足所述SLA要求的转发隧道,利用所述第一隧道将所述第一报文转发至所述第二网络设备;The first network device is further configured to establish a first tunnel according to the attribute information and the destination address, or send a request message for establishing the first tunnel to the controller by using the attribute information and the destination address, The first tunnel is a forwarding tunnel that meets the SLA requirement, and the first packet is forwarded to the second network device by using the first tunnel;
    所述第二网络设备用于接收所述第一报文。The second network device is configured to receive the first packet.
  13. 根据权利要求12所述的系统,其特征在于,所述系统还包括:控制器;The system of claim 12, wherein the system further comprises: a controller;
    所述控制器,用于接收所述第一网络设备发送的建立所述第一隧道的请求消息,并根据所述请求信息获取所述第一隧道的信息;the controller, configured to receive a request message for establishing the first tunnel sent by the first network device, and acquire information of the first tunnel according to the request information;
    所述控制器,还用于将响应消息发送给所述第一网络设备,所述响应消息包括与所述属性信息和目的地址对应的所述第一隧道的信息;The controller is further configured to send a response message to the first network device, where the response message includes the information of the first tunnel corresponding to the attribute information and the destination address;
    所述第一网络设备,用于根据所述第一隧道的信息建立所述第一隧道。The first network device is configured to establish the first tunnel according to the information of the first tunnel.
  14. 一种通信设备,所述设备包括:处理器和存储器;A communication device comprising: a processor and a memory;
    所述存储器,用于存储指令或计算机程序;the memory for storing instructions or computer programs;
    所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述通信设备执行权利要求1-11任意一项所述的方法。The processor is configured to execute the instructions or computer program in the memory, so that the communication device executes the method of any one of claims 1-11.
  15. 一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上权利要求1-11任意一项所述的方法。A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of any one of claims 1-11 above.
PCT/CN2021/141436 2021-02-07 2021-12-27 Packet transmission method and system, and device WO2022166464A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110171282.1 2021-02-07
CN202110171282.1A CN114915518A (en) 2021-02-07 2021-02-07 Message transmission method, system and equipment

Publications (1)

Publication Number Publication Date
WO2022166464A1 true WO2022166464A1 (en) 2022-08-11

Family

ID=82740818

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/141436 WO2022166464A1 (en) 2021-02-07 2021-12-27 Packet transmission method and system, and device

Country Status (2)

Country Link
CN (1) CN114915518A (en)
WO (1) WO2022166464A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039214A (en) * 2006-03-17 2007-09-19 华为技术有限公司 Method and system for distributing dynamically bandwidth resource
CN101141407A (en) * 2007-10-17 2008-03-12 杭州华三通信技术有限公司 Method, equipment and system of distributing bandwidth
CN101488902A (en) * 2009-02-25 2009-07-22 杭州华三通信技术有限公司 Dynamic establishing method and device for GRE tunnel
CN101616052A (en) * 2009-07-16 2009-12-30 杭州华三通信技术有限公司 A kind of tunnel control method and device
US20140219135A1 (en) * 2011-10-13 2014-08-07 Huawei Technologies Co., Ltd. Virtual Private Network Implementation Method and System Based on Traffic Engineering Tunnel
CN104980347A (en) * 2014-04-04 2015-10-14 华为技术有限公司 Tunnel establishing method and tunnel establishing device
WO2016119461A1 (en) * 2015-01-27 2016-08-04 华为技术有限公司 Method and network device for establishing bgp lsp tunnel
WO2017054576A1 (en) * 2015-09-30 2017-04-06 中兴通讯股份有限公司 Unicast tunnel building method, apparatus and system
CN111245644A (en) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 Method and system for expanding PCEP (physical layer protocol) protocol to automatically create tunnel in SDN (software defined network) scene
WO2020173190A1 (en) * 2019-02-28 2020-09-03 华为技术有限公司 Data transmission method and network device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039214A (en) * 2006-03-17 2007-09-19 华为技术有限公司 Method and system for distributing dynamically bandwidth resource
CN101141407A (en) * 2007-10-17 2008-03-12 杭州华三通信技术有限公司 Method, equipment and system of distributing bandwidth
CN101488902A (en) * 2009-02-25 2009-07-22 杭州华三通信技术有限公司 Dynamic establishing method and device for GRE tunnel
CN101616052A (en) * 2009-07-16 2009-12-30 杭州华三通信技术有限公司 A kind of tunnel control method and device
US20140219135A1 (en) * 2011-10-13 2014-08-07 Huawei Technologies Co., Ltd. Virtual Private Network Implementation Method and System Based on Traffic Engineering Tunnel
CN104980347A (en) * 2014-04-04 2015-10-14 华为技术有限公司 Tunnel establishing method and tunnel establishing device
WO2016119461A1 (en) * 2015-01-27 2016-08-04 华为技术有限公司 Method and network device for establishing bgp lsp tunnel
WO2017054576A1 (en) * 2015-09-30 2017-04-06 中兴通讯股份有限公司 Unicast tunnel building method, apparatus and system
WO2020173190A1 (en) * 2019-02-28 2020-09-03 华为技术有限公司 Data transmission method and network device
CN111245644A (en) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 Method and system for expanding PCEP (physical layer protocol) protocol to automatically create tunnel in SDN (software defined network) scene

Also Published As

Publication number Publication date
CN114915518A (en) 2022-08-16

Similar Documents

Publication Publication Date Title
US10116559B2 (en) Operations, administration and management (OAM) in overlay data center environments
CN112929273A (en) Method, equipment and system for processing route
EP3573292A1 (en) Forwarding detection of an aggregated interface
WO2021179718A1 (en) Message transmission method and apparatus, and network device
WO2021258823A1 (en) Path creation method, apparatus and system
US11799688B2 (en) Method for managing virtual private network, and device
EP3836492A1 (en) Pseudo wire load sharing method and device
WO2022048418A1 (en) Method, device and system for forwarding message
US20230224236A1 (en) Routing Information Transmission Method and Apparatus
WO2022166464A1 (en) Packet transmission method and system, and device
WO2022166465A1 (en) Message processing method and related apparatus
WO2022088685A1 (en) Semantic name acquisition method and apparatus, device, and storage medium
CN114301839A (en) Multicast message transmission method and device
CN115242699A (en) Message transmission method, slice generation method, device and system
CN114760244A (en) Method, device and network equipment for transmitting Binding Segment Identification (BSID)
WO2022048381A1 (en) Message transmission method and device
WO2022161061A1 (en) Failure detection method, network device, and system
WO2022061561A1 (en) Packet transmission method and apparatus
WO2022037330A1 (en) Method and device for transmitting virtual private network segment identification (vpn sid), and network device
WO2024002101A1 (en) Packet transmission method and apparatus, related device, and storage medium
WO2023284547A1 (en) Fault detection method, apparatus and system
WO2023130957A1 (en) Routing method and related device
WO2023155733A1 (en) Network slice information transmission method and apparatus
WO2022057779A1 (en) Method, device and system for implementing service path detection
WO2022143572A1 (en) Message processing method and related device

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

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

Country of ref document: EP

Kind code of ref document: A1