CN114915518A - Message transmission method, system and equipment - Google Patents

Message transmission method, system and equipment Download PDF

Info

Publication number
CN114915518A
CN114915518A CN202110171282.1A CN202110171282A CN114915518A CN 114915518 A CN114915518 A CN 114915518A CN 202110171282 A CN202110171282 A CN 202110171282A CN 114915518 A CN114915518 A CN 114915518A
Authority
CN
China
Prior art keywords
tunnel
network device
destination address
attribute information
message
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110171282.1A
Other languages
Chinese (zh)
Inventor
廖婷
肖亚群
古锐
方晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110171282.1A priority Critical patent/CN114915518A/en
Priority to PCT/CN2021/141436 priority patent/WO2022166464A1/en
Publication of CN114915518A publication Critical patent/CN114915518A/en
Pending legal-status Critical Current

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

Abstract

After acquiring a first message, a first network device may establish a first tunnel meeting SLA requirements in real time according to attribute information and a destination address in the first message, or the first network device sends a request message for establishing the first tunnel to a controller to acquire information about the first tunnel from the controller, and then establishes the first tunnel according to the information about the first tunnel to forward the first message to a second network device by using the first tunnel. Therefore, the first network device can create a tunnel according to the SLA requirement corresponding to the service flow as required without pre-creating the first network device, so that the pressure and the performance cost of the first network device are reduced, and the requirement of dynamic change of a network system can be met in time.

Description

Message transmission method, system and equipment
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, a system, and a device for packet transmission.
Background
When transmitting service message, in order to ensure timeliness of service transmission, a transmission tunnel can be created in advance between the source network device and each destination network device. Because different service messages correspond to different SLA requirements, in order to meet the service requirements, the source network equipment and each destination network equipment 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 large load on the source device, but also leads to an increased performance requirement on the source network device.
Disclosure of Invention
The embodiment of the application provides a message transmission method, a message transmission system and message transmission equipment, so as to reduce the pressure of network equipment and the performance cost of the network equipment.
In a first aspect of the embodiments of the present application, a method for transmitting a packet is provided, where the method includes: a first network device acquires a first message, wherein the first message comprises attribute information and a destination address, and the attribute information is used for indicating a Service Level Agreement (SLA) requirement required to be met when a service flow to which the first message belongs is forwarded; 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 message for establishing the first tunnel to a controller by using the attribute information and the destination address, wherein the first tunnel is a forwarding tunnel meeting the SLA requirement and is used for forwarding the first packet to a second network device, and the second network device is determined according to the destination address.
In this embodiment, after acquiring a packet of a service flow, that is, a first packet, the first network device may establish a first tunnel meeting an SLA requirement in real time according to attribute information and a destination address in the first packet, or the first network device sends a request message for establishing the first tunnel to the controller, so as to acquire information about the first tunnel from the controller, and then establish the first tunnel according to the information about the first tunnel, so as to forward the first packet to the second network device by using the first tunnel. The tunnel is created according to the flow as needed without pre-creation, so that the pressure and performance cost of the first network equipment are reduced, and the requirement of dynamic change of a network system can be met in time.
In a specific implementation manner, the establishing, by the first network device, a first tunnel according to the attribute information and the destination address includes: the first network equipment creates the first tunnel according to the attribute information and the destination address; or the first network device searches and acquires the first tunnel from local according to the attribute information and the destination address.
In this embodiment, the first network device may store the first tunnel in advance at the control plane, and after acquiring the first packet, search and acquire the first tunnel from the local according to the attribute information and the destination address in the first packet. Or when the first network equipment has the tunnel calculation and creation capability, the first network equipment establishes the first tunnel according to the attribute information and the destination address.
In a specific embodiment, the method further comprises: the first network device sends information of the first tunnel from a control plane of the first network device to a forwarding plane.
In this embodiment, after the first network device establishes the first tunnel, the first network device may send information of the first tunnel to the forwarding plane from the control plane, so that the first network device forwards the first packet on the forwarding plane by using the first tunnel.
In a specific embodiment, after the first network device sends a request message for establishing the first tunnel to a controller using the attribute information and the destination address, the method includes: and the first network equipment receives a response message sent by the controller, wherein the response message comprises the 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 calculation capability, a request message for establishing the first tunnel may be sent to the controller, so that the controller obtains information of the first tunnel according to the attribute information and the destination address, and sends the information of the first tunnel to the first network device.
In a specific embodiment, the method further comprises: and the first network equipment determines that the first tunnel is not used for forwarding the message within a preset time length, and deletes or changes the state of the first tunnel into nonuse.
In this embodiment, to save resources, the first network device may detect whether the first tunnel is not used for forwarding the packet within a preset time duration, and if so, delete or change the state of the first tunnel to be unused, thereby avoiding the first tunnel occupying forwarding resources.
In a specific embodiment, the first network device is an ingress network device of the first tunnel.
In a specific embodiment, 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 the second network device is a device for accessing the destination device indicated by the destination address to a network.
In a specific embodiment, the method further comprises: the first network equipment acquires a second message, wherein the second message comprises the attribute information and the destination address, and the second message belongs to the service flow; the first network equipment is changed from the second network equipment to third network equipment according to equipment for accessing the destination equipment indicated by the destination address into a network, the attribute information and the destination address establish a second tunnel reaching the third network equipment; the first network device forwards the second packet to the third network device using the second tunnel.
In this embodiment, when the device corresponding to the destination device access network indicated by the destination address is changed from the second network device to the third network device, the first network device reestablishes the second tunnel reaching the third network device according to the attribute information, the destination address, and the third network device, so as to forward the second packet to the third network device by using the second tunnel.
In a specific embodiment, the method further comprises: the first network equipment acquires a third message, wherein the third message comprises attribute information and a destination address, the third message belongs to service flow, and the attribute information in the third message is different from the attribute information in the first message. And the first network equipment establishes a third tunnel reaching the second network equipment according to the attribute information and the destination address so as to forward the third message to the second network equipment by using the third tunnel.
In this embodiment, when the attribute information corresponding to the service traffic changes, the first network device reestablishes the tunnel according to the updated attribute information and the destination address, so as to transmit the service traffic using the newly established tunnel.
In a specific embodiment, the method further comprises: and the first network equipment reserves resources for the first tunnel according to the network slice information in the first message.
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.
In a specific embodiment, the first tunnel is a segment routing Policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
In a second aspect of the embodiments of the present application, a message transmission system is provided, where the system includes: a first network device and a second network device; 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 a service level agreement SLA requirement that needs to be met when forwarding a service traffic to which the first packet belongs; 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 a controller by using the attribute information and the destination address, where the first tunnel is a forwarding tunnel meeting the SLA requirement, and forward the first packet to the second network device by using the first tunnel. The second network device is configured to receive the first packet.
In a specific embodiment, the system further comprises: a controller; the controller is 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 message; the controller is further configured to send a response message to the first network device, where the response message includes 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.
In a third aspect of embodiments of the present application, there is provided a communication device, including: a processor and a memory; the memory for storing instructions or computer programs; the processor is configured to execute the instructions or computer program in the memory to cause the communication device to perform the method of the first aspect.
In a fourth aspect of embodiments herein, there is provided a computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of the first aspect.
In a fifth aspect of embodiments herein, there is provided a computer program which, when run on a computer, causes the computer to perform the method of the first aspect.
According to the technical scheme provided by the embodiment of the application, after acquiring the first message, the first network device can establish the first tunnel meeting the SLA requirement in real time according to the attribute information and the destination address in the first message, or the first network device sends a request message for establishing the first tunnel to the controller so as to acquire information related to 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 message to the second network device by using the first tunnel. Therefore, the first network device can create a tunnel as required according to the SLA requirement corresponding to the service flow, and does not need to create the tunnel in advance, so that the pressure and the performance cost of the first network device are reduced, and the requirement of dynamic change of a network system can be met in time.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a diagram illustrating a network system according to an embodiment of the present disclosure;
fig. 2 is a schematic view of an application scenario provided in an embodiment of the present application;
fig. 3 is a flowchart of a message transmission method according to an embodiment of the present application;
fig. 4 is a flowchart of another message transmission method according to an embodiment of the present application;
fig. 5 is a structural diagram of a message transmission apparatus according to an embodiment of the present application;
fig. 6 is a block diagram of a network device according to an embodiment of the present disclosure;
fig. 7 is a diagram of another network device structure according to an embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the solution of the present invention, the technical solution in the embodiment of the present invention will be clearly and completely described below with reference to the drawings in the embodiment of the present invention, and it is obvious that the described embodiment is only a part of the embodiment of the present invention, and not all embodiments.
To facilitate understanding of the technical solutions provided in the embodiments of the present application, the following description will first describe technologies and network elements related to the embodiments of the present application.
In some point-to-multipoint or multipoint-to-multipoint application scenarios, such as three-layer virtual private network (L3VPN) and Virtual Private Lan Service (VPLS), because the number of access side (ACC) devices is too large (for example, M), and the transmitted traffic has different Service Level Agreement (SLA) requirements (for example, the requirement level is N), Provider Edge (PE) devices need to reach each ACC side and tunnels meeting different SLA requirements reach the level of M × N. In the current implementation, when a PE establishes a neighbor relationship with each ACC, it is established in advance based on a configuration or tunnel creation policy. For example, as shown in fig. 1, the description will be made by taking 1 PE device and 3 ACC devices as examples, which are ACC1, ACC2, and ACC3, respectively. For example, if there are 3 different SLA requirement levels, 3 tunnels with different SLA requirement levels are established between PE and ACC1, 3 tunnels with different SLA requirement levels are established between PE and ACC2, and 3 tunnels with different SLA requirement levels are established between ACC 3. Based on this, when there are traffic to different ACCs and different SLA requirement levels on the PE side, forwarding can be performed based on the tunnel created in advance. However, creating a tunnel in advance not only wastes resources but also puts a great strain on PE devices because it is not determined whether traffic is sent from the PE to each ACC. In addition, with the continuous development of networks, Software Defined Networks (SDNs) tend to be more and more, and the networks require elasticity, and the current implementation cannot meet the requirement of creating tunnels as needed.
Based on this, the embodiment of the present application provides a message transmission method, which is used for achieving the purpose of creating a tunnel as needed according to a flow. Specifically, after acquiring a first packet in the service traffic, the first network device establishes a first tunnel according to the attribute information and the destination address in the first packet, or sends a request message for establishing the first tunnel to the controller by using the attribute information and the destination address, so that the controller acquires information of the first tunnel according to the attribute information and the destination address, and then the first network device establishes the first tunnel according to the information of the first tunnel. The attribute information is used for indicating the SLA requirement which needs to be met when the service flow of the first message is forwarded.
The tunnel refers to a forwarding path between two network devices, and allows a service packet to be transmitted thereon. In the scenario described in the embodiment of the present application, a network device may include multiple tunnels, where the multiple tunnels respectively correspond to multiple egress ports on the network device. Different tunnels may correspond to different network fragmentation resources, respectively. In a specific implementation, the tunnel may be divided into different tunnel types according to a protocol used for establishing the tunnel, for example, a segment routing Policy (SR-Policy) tunnel, a segment routing traffic engineering (SR-TE) tunnel, or a tunnel based on slice granularity, and the tunnel type is not specifically limited in this embodiment of the present application. The tunnel based on the slice granularity may be a tunnel obtained according to a flexible-algorithm (Flex-Algo) mechanism or a flexible ethernet (FlexE) tunnel.
Referring to fig. 2, an application scenario diagram is shown, in which a network system includes 5 network devices and 1 controller as an example. Specifically, the network device PE, the network device ACC1, the network device ACC2, the network device ACC3, the network device P, and the controller are included. One or more tunnels may be pre-established between the PE and the ACC1, and the two tunnels are end devices of the tunnels. Similarly, one or more tunnels may be pre-established between the PE and the ACC2, which are end devices of the tunnel, and one or more tunnels may be pre-established between the PE and the 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, for example, a segment routing best effort (SR-BE) tunnel. The first network device may be a PE device or a controller. Each network device may be an independent network device, or may be a functional module with a message forwarding capability in a certain network device. For ease of understanding, each network device will be described as an independent network device. Each network device may also be referred to as a node, and is a device having a message forwarding function in a network system, and for example, may be a router, a switch, a repeater, or a Label Switching Router (LSR).
In this application scenario, there may be traffic from PE to ACC1, and there may also be traffic from PE to ACC2 and ACC 3. For ease of understanding, the traffic flow from PE to ACC1 will be described as an example. In this embodiment, PE is head node 201, P is intermediate node 202, and ACC1 is tail node 203.
For the head node, it may be the node that generates the first packet, i.e. the head node may be the node indicated by the source address in the first packet, in one possible scenario. 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 the attribute information and the destination address when generating the packet.
In another possible scenario, 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, and when the head node receives the first packet sent by the source node, the head node adds the attribute information and the destination address to the first packet. In this case, the head node may be a first tunnel end device on the end-to-end transmission path or may be an end device that needs to acquire a tunnel according to the attribute information and the destination address for the first time on the end-to-end transmission path.
For the tail node, in one possible scenario, it may be the node indicated by the destination address in the message; another scenario is for the access node corresponding to the node indicated by the destination address. The end node may be a receiving end device of a tunnel on an end-to-end transmission path.
The intermediate node is a network device located in a tunnel between the head node and the tail node when the message is forwarded.
For convenience of understanding, the following description will be given by taking the network system shown in fig. 2 as an example, specifically, taking an example of a PE sending a service flow to an ACC1, referring to fig. 3, which is a flowchart of a message transmission method provided in an embodiment of the present application, and as shown in fig. 3, the method includes:
s301: head node 201 obtains the first packet.
In this embodiment, when head node 201 is a source node, 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 a service level agreement SLA requirement that needs to be satisfied by forwarding the service traffic to which the first packet belongs, that is, to indicate a service level of the service traffic. The SLA requirements are constraints of the first tunnel, such as bandwidth, delay, jitter rate required for forwarding the traffic, or any other possible reliability index, or combination of indexes. When head node 201 is an access device connected to a source node, head node 201 may receive a first packet from the source node, and add attribute information and a destination address to the first packet by the source node. The first packet may further include network slice information, and the head node 201 may reserve resources for the first tunnel according to the network slice information, where the resources may be bandwidth, delay, quality of service (Qos) queues, physical ports, and the like allocated for service traffic.
The destination address may be an address of the tail node 203, or may be an address of a node (e.g., a user terminal) connected to the tail node 203, and 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 (FL) field, or a Time To Live (TTL) field of the first packet. Specifically, when the first packet is a packet of a different type, the priority field may also be different. For example, when the first packet is an internet protocol version 4 (IPv 4) packet, there are three priority fields, which are a code of service (CoS) field based on a second layer (ieee802.1p), a type of service (ToS) field based on an IP layer, and a Differentiated Services Code Point (DSCP) field based on the IP layer; when the first message is an internet protocol version 6 (IPv 6) message, the attribute information may be carried in a Traffic Class (TC) field or the like; when the first packet is a multi-protocol label switching (MPLS) packet, the attribute information may be carried in an EXP field or the like.
S302: head node 201 establishes a first tunnel based on the attribute information and the destination address.
After the head node 201 acquires the first packet, it may perform route lookup on a forwarding plane based on the attribute information and the destination address in the first packet, and when the SLA level indicated by the attribute information belongs to a high security level, the forwarding plane of the head node 201 does not store a tunnel that reaches the tail node 203 and meets the SLA requirement, that is, the first tunnel. The forwarding plane of the head node 201 does not store the first tunnel, and there may be a case that the head node 201 establishes the first tunnel in the control plane, but does not issue the first tunnel to the forwarding plane; the other is that the first tunnel is not established at the control plane of head node 201. Wherein, the head node 201 is an ingress network device of the first tunnel.
When the control plane of the head node 201 has already established the first tunnel and has not issued the first tunnel to the forwarding plane, the head node 201 searches locally according to the attribute information and the destination address and obtains the first tunnel. Specifically, head node 201 may search and acquire the first tunnel according to a locally stored correspondence table, attribute information, and a destination address, where the correspondence table includes a correspondence between the attribute information, the destination address, and the first tunnel. After acquiring the first tunnel, head node 201 transmits 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, a priority level of the tunnel, an exit network device of the tunnel, and the like. In this case, the first tunnel may be created manually or acquired by head node 201 from a controller.
When the control plane of head node 201 does not establish the first tunnel and head node 201 has the capability to calculate and create the tunnel, head node 201 may create the first tunnel according to the attribute information and the destination address; after the creation is completed, the head node 201 sends information of the first tunnel from the control plane to the forwarding plane. In particular, head node 201 may compute the first tunnel based on a pre-configured tunnel policy template to obtain information for the first tunnel. Different SLAs and different destination addresses can correspond to different tunnel strategy templates, and the tunnel strategy templates are used for restricting the establishment of tunnels so that the established tunnels meet the SLA requirements.
In one implementation, 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 exit network device of the first tunnel is the tail node 203. To establish the first tunnel reaching the tail node 203, the head node 201 may determine, according to the destination address, an identifier of a Virtual Private Network (VPN) to which the network device indicated by the destination address belongs, and further search, according to the VPN identifier, a corresponding access node, that is, the tail node 203, and obtain an address of the tail node 203. In this case, the head node 201 determines a matching tunnel policy template according to the attribute information, the VPN identifier, and the address of the tail node 203, and further determines information of the first tunnel according to the tunnel policy template. Wherein, the tunnel policy template can provide different policy templates for different VPN users. For example, for a user of the VPN a, a tunnel or a slice with a bandwidth of 1000M and a time delay of 200ms is provided for a message with a DSCP value of 11 to 20; the message with DSCP value of 21-30 provides a tunnel or slice with bandwidth of 1000M and time delay of 400 ms. For a user of the VPN B, providing a tunnel or a slice with the bandwidth of 1000M and no requirement on time delay for a message with the DSCP value of 11-20; the message with the DSCP value of 21-30 provides a tunnel or a slice with no requirement on bandwidth and 400ms of time delay. The address of the tail node 203 may be a loopback (loopback) address, a location (locator) address, etc. of the tail node 203.
It should be noted that, for the case that the head node 201 has the tunnel calculation and creation capability, after the head node 201 establishes the first tunnel, S306 may be directly executed, and the first tunnel is used to forward the first packet to the second network device, without executing S303. For the case where head node 201 does not have tunnel calculation and creation capability, S303 may be performed before performing S302 to establish a tunnel, to trigger the controller to perform S304 and S305.
S303: head node 201 sends a request message to the controller to establish the first tunnel using the attribute information and the destination address.
When head node 201 cannot independently create the first tunnel, head node 201 may send a request message for establishing the first tunnel to the controller using the attribute information and the destination address, where the request message may include the attribute information and the destination address to request the controller to calculate information of the first tunnel. Further, the request message may further include a device identifier of head node 201, so that the controller may know the device sending the request message, and further establish the first tunnel using head node 201 as the ingress network device. The device identifier of head node 201 may be an IP address, a loopback address, etc. of head node 201, which may uniquely represent the identifier of head node 201.
S304: and the controller acquires the information of the first tunnel according to the attribute information and the destination address.
After receiving the request message sent by 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 one example, the controller may locally search for and acquire information of the first tunnel 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, the information of the first tunnel may be calculated and obtained according to the attribute information and the destination address. In this case, the controller may determine a matching tunnel policy template from the pre-configured tunnel policy templates according to the attribute information and the destination address, and perform a path calculation according to the matching tunnel policy template, thereby obtaining information of the first tunnel. For the implementation of the tunnel calculation path of the corresponding SLA by using the tunnel policy template, reference may be made to the relevant description of S203.
As can be seen from the foregoing, there are two different situations for the network device indicated by the destination address, and in one case, when the network device indicated by the destination address is the tail node 203, the head node 201 can directly send the request message including the attribute information and the destination address to the controller. In this case, the controller may look up information of the first tunnel or calculate 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 a private network address, if the head node 201 directly sends the request message including the attribute information and the destination address to the controller, the controller further needs to determine the address of the tail node 203 according to the identifier 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 information of the first tunnel according to the attribute information, the identifier of the VPN, and the address of the tail node 203. Specifically, the controller determines a matched tunnel policy template according to the attribute information, the VPN identifier, and the address of the tail node 203, and further determines information of the first tunnel according to the tunnel policy template. Wherein, the information about the controller calculating the first tunnel according to the attribute information, the VPN identification and the address of the tail node 203 may refer to the relevant description of S203.
S305: the controller transmits a response message including information of the first tunnel to head node 201.
After the controller acquires the information of the first tunnel, a response message including the information of the first tunnel is sent to head node 201, so that head node 201 creates the first tunnel according to the information of the first tunnel.
In a specific embodiment, in addition to issuing the information of the first tunnel to the head node 201, the controller may also issue a resource reservation request to each required node included in the first tunnel, so that each node along the first tunnel may reserve resources. The reserved resources may be bandwidth, time slot, quality of service (Qos) queue, physical port, and the like allocated to the traffic flow.
S306: head node 201 forwards the first packet to intermediate node 202 using the first tunnel.
After receiving the information of the first tunnel sent by the controller, head node 201 creates the first tunnel according to the information of the first tunnel, and forwards the traffic to intermediate node 202 by using the first tunnel. It should be noted that, in order to ensure normal transmission of the traffic, the head node 201 may forward the traffic to the intermediate node 202 by using the currently established tunnel before creating the first tunnel.
In some application scenarios, the first tunnel may not have a traffic bearer for a long time, and in order to reduce occupation of resources, the head node 201 may detect a bearer condition of the first tunnel, and delete or change the state of the first tunnel to unavailable when it is detected that the first tunnel is not used for forwarding a packet within a preset time. The preset time period may be determined according to an actual application situation, for example, the preset time period is 1 hour. Specifically, head node 201 deletes the first tunnel at the forwarding plane; alternatively, head node 201 marks the first tunnel as unavailable in the forwarding plane; or the head node 201 marks the first tunnel as unavailable at the control plane, and deletes the first tunnel at the forwarding plane; or head node 201 deletes the first tunnel at both the control plane and the forwarding plane, etc. Head node 201 may configure different processing policies, and process the first tunnel based on the current processing policy.
In some application scenarios, there is a case where an access device corresponding to a network device in a private network migrates, for example, in fig. 2, a device corresponding to a network device access network indicated by a destination address migrates from ACC1 to ACC2, that is, the tail node 203 is changed from ACC1 to ACC 2. In this case, after receiving the second packet belonging to the service traffic, 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; head node 201 forwards the second packet to tail node 203 using the second tunnel. For the implementation that the head node 201 establishes the second tunnel to the updated tail node 202 according to the attribute information and the destination address, reference may be made to the relevant description of S302-S306.
In some application scenarios, there may also be a change in attribute information corresponding to the service traffic, for example, a reduction or an increase in the SLA requirement level. In this case, after receiving a 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, where the attribute information carried in the third packet is changed compared with the first packet; head node 201 forwards the third packet to tail node 203 using the third tunnel. For the implementation that the head node 201 establishes the third tunnel according to the attribute information and the destination address, reference may be made to the related descriptions of S302-S306.
S307: the intermediate node 202 forwards the first packet to the tail node 203 using the first tunnel.
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 may perform different processing in different application scenarios. The method specifically comprises the following operations:
one is that the tail node 203 does not forward any more after receiving the packet. For example, when tail node 203 is the network device indicated by the destination address, tail node 203 may only receive the packet without forwarding.
For another situation, for example, when the network device indicated by the destination address is a user device connected to the tail node 204, the tail node 204 may pop up the attribute information in the first message, and forward the first message that does not include the attribute information to the user device.
It is 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 according to a specific application scenario.
In order to embody the continuity of transmission of packets (such as the first packet and the second packet mentioned above), in the embodiment of the present application, 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 are both referred to as first packets, but it can be understood that there is a difference in actual application scenarios between 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. For example, there may be a difference between Time To Live (TTL) and information of a 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, the updated first packet may actually be an updated first packet with some necessary information modified. The first packet sent by the head node 201 and the updated first packet sent by the intermediate node 202 may carry the same load (payload), attribute information, and destination address.
As can be seen from the above, as the entry network device of the first tunnel, the head node may dynamically trigger creation or validation of the tunnel based on the service traffic, without creating tunnels required by all SLAs in advance, thereby reducing the pressure of the network device, and meeting the requirements of network elasticity and dynamic migration of the access device.
To further facilitate understanding of the technical solution provided in the embodiment of the present application, referring to fig. 4, which is a flowchart of another message transmission method provided in the embodiment of the present application, as shown in fig. 4, the method may include:
s401: the first network equipment acquires a first message.
In this embodiment, the first network device may be a head node, and may generate the first packet, or obtain the first packet from a user device corresponding to the first network device. The first message comprises attribute information and a destination address, wherein the attribute information is used for indicating SLA requirements which need to be met when the service flow to which the first message belongs is forwarded. The attribute information may be carried in a priority field, a flow label field, or a time-to-live field of the first packet. As a specific implementation of the first network device obtaining the first packet, see S301.
S402: and the first network equipment establishes a first tunnel according to the attribute information and the destination address.
After the first network equipment acquires the first message, the attribute information and the destination address are acquired by analyzing the first message, and whether a tunnel meeting SLA requirements, namely the first tunnel, exists or not is judged according to the attribute information and the destination address, so that the first message is forwarded to the second network equipment through 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 meeting SLA requirements and used for forwarding the first packet to the second network device. The second network device is determined based on the destination address. The first network device may be an ingress network device of the first tunnel, and the second network device is an egress network device of the first tunnel. The second network device may be a device indicated by the destination address, or the second network device may be a device for accessing 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.
In one example, a first network device creates a first tunnel based on attribute information and a destination address. That is, when the first network device has the capability of creating a tunnel, the first tunnel can be independently created based on the attribute information and the destination address. After the first tunnel is created, the first network device sends information of the first tunnel to a forwarding plane from a control plane of the first network device, and then forwards the first message to the second network device through the forwarding plane. As a specific implementation of the first network device creating the first tunnel according to the attribute information and the destination address, see S302.
In another example, the first network device looks up and obtains the first tunnel locally according to the attribute information and the destination address. After the information of the first tunnel is obtained, the first network device sends the information of the first tunnel to a forwarding plane from a control plane of the first network device. The first network device searches and obtains a specific implementation of the first tunnel from the local according to the attribute information and the destination address, for example, see S302.
S403: the first network device sends a request message for establishing the first tunnel to the controller using the attribute information and the destination address.
In this embodiment, after determining that there is no tunnel satisfying the SLA requirement, the first network device may further 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 a device identifier of the first network device, so that the controller may know the network device that sent the request message. For a specific implementation of S403, see S303, for example.
S404: and the controller acquires the information of the first tunnel according to the request message.
In this embodiment, after receiving the request message, the controller may obtain information of the first tunnel according to the attribute information and the destination address in the request message. Specifically, the controller may determine a matched tunnel policy template according to the attribute information and the destination address, and obtain information of the first tunnel according to the tunnel policy template. As one implementation of the controller acquiring the information of the first tunnel, see S304.
S405: the controller sends a response message to the first network device.
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, see S305, for example.
S406: the first network equipment creates a first tunnel according to the information of the first tunnel, and forwards the first message to the second network equipment by using the first tunnel.
For a specific implementation of S405, see S306.
In a specific implementation manner, the first network device may further delete or change the state of the first tunnel to unavailable when determining that the first tunnel is not used for forwarding the packet within a preset time period. For implementation of the first tunnel processing by the first network device, see the relevant description in S306.
In a specific implementation manner, when a device corresponding to a destination device indicated by a destination address in a message is changed when the destination device accesses a network, the first network device reestablishes a tunnel according to attribute information and the destination address in the message, so as to forward service traffic using the newly established tunnel. Specifically, a first network device receives a second message, wherein the second message comprises attribute information and a destination address, and the second message and a first message belong to the same service flow; the first network equipment is changed into a third network, attribute information and a destination address from second network equipment according to equipment for accessing the destination equipment indicated by the destination address into the network, and establishes a second tunnel reaching the third network equipment; the first network device forwards the second packet to the third network device using the second tunnel. For a specific implementation of the first network device establishing the second tunnel, see, for example, S402-406.
Based on the above method embodiment, the embodiment of the present application further provides a message transmission apparatus, which will be described below with reference to the accompanying drawings.
Referring to fig. 5, which is a structural diagram of a message transmission apparatus provided in this embodiment, where the apparatus 500 can be applied to a first network device, and implement the function of the first network device in the foregoing method embodiment, the apparatus 500 may include: an acquisition unit 501, a creation unit 502 and a transmission unit 503.
An obtaining unit 501, 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 agreement SLA requirement that needs to be met when a service traffic to which the first packet belongs is forwarded.
For specific implementation of the obtaining unit 501 obtaining the first packet, reference may be made to the related description of S301 or S401.
An establishing unit 502, configured to establish a first tunnel according to the attribute information and the destination address.
For a specific implementation of the establishing unit 502 for establishing the first tunnel, reference may be made to the related description of S302 or S402.
A sending unit 503, configured to send a request message for establishing the first tunnel to a controller by using the attribute information and the destination address, where 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, and the second network device is determined according to the destination address.
For a specific implementation of the sending unit 503, reference may be made to the related description of S303 or S403.
In a specific embodiment, the establishing unit 502 is specifically configured to create the first tunnel according to the attribute information and the destination address; or, the first tunnel is searched and obtained from the local according to the attribute information and the destination address.
The specific implementation of the establishing unit 502 may refer to the related description of S302 or S402.
In a specific embodiment, the sending unit 503 is further configured to send information of the first tunnel from a control plane to a forwarding plane.
In a specific embodiment, the apparatus further comprises: 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 embodiment, the apparatus further comprises: processing unit (not shown in the figure)
And the processing unit is configured to delete or change the state of the first tunnel to unused after determining that the first tunnel is not used for forwarding the packet within the preset duration.
In a specific embodiment, the network device applied by the apparatus 500 is an ingress network device of the first tunnel.
In a specific implementation manner, the exit 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 the second network device is a device for accessing the destination device indicated by the destination address to a network.
In a specific embodiment, 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;
an establishing unit 502, further configured to establish a second tunnel reaching a third network device according to a change from the second network device to the third network device of a device for accessing the destination device indicated by the destination address to a network, the attribute information, and the destination address;
a sending unit 503, configured to forward the second packet to the third network device using the second tunnel.
For implementation of the establishing unit 502 to establish the second tunnel, reference may be made to the related description of S306 or S406.
In a specific embodiment, the apparatus further comprises: a processing unit (not shown in the figure);
and the processing unit is used for reserving resources for the first tunnel according to the network slice information in the first message.
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.
In a specific embodiment, the first tunnel is a segment routing Policy SR Policy tunnel or a segment routing traffic engineering SR TE tunnel.
It should be noted that, for the specifically executable functions and implementations of the message transmission apparatus 500, reference may be made to corresponding descriptions about the first network device in the embodiments shown in fig. 3 or fig. 4, and details are not described here again.
Fig. 6 is a schematic structural diagram of a network device according to an embodiment of the present application, where the network device may be, for example, a first network device or a second network device in the embodiment shown in fig. 3 or fig. 4, or may also be implemented by a device of the message transmission apparatus 500 in the embodiment shown in fig. 5.
Referring to fig. 6, a network device 600 includes: a processor 610, a communication interface 620, and a memory 630. The number of the processors 610 in the message forwarding apparatus 600 may be one or more, and one processor is taken as an example in fig. 6. In the embodiment of the present application, the processor 610, the communication interface 620 and the memory 630 may be connected by a bus system or other means, wherein fig. 6 illustrates the connection by the bus system 640.
The processor 610 may be a CPU, an NP, or a combination of a CPU and an NP. The processor 610 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.
When the network device is the head node 201, the processor 610 may execute the related functions of acquiring the first packet and establishing the first tunnel according to the attribute information and the destination address in the foregoing method embodiment.
The communication interface 620 is used for receiving and sending messages, and specifically, the communication interface 620 may include a receiving interface and a sending interface. The receiving interface may be configured to receive a message, and the sending interface may be configured to send a message. The number of the communication interfaces 620 may be one or more.
The memory 630 may include a volatile memory (english: volatile memory), such as a random-access memory (RAM); the memory 630 may also include a non-volatile memory (SSD), such as a flash memory (flash memory), a hard disk (HDD) or a solid-state drive (SSD); the memory 630 may also include a combination of the above kinds of memories. The memory 630 may store, for example, the aforementioned correspondence between the attribute information, the destination address, and the tunnel.
Optionally, memory 630 stores an operating system and programs, executable modules or data structures, or subsets thereof, or expanded sets thereof, which programs may include various operating instructions for performing various operations. The operating system may include various system programs for implementing various basic services and for handling hardware-based tasks. The processor 610 can 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 from the network device 600.
The bus system 640 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus system 640 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 6, but that does not indicate only one bus or one type of bus.
Fig. 7 is a schematic structural diagram of another network device 700 provided in this embodiment, where the network device 700 may be configured as the first network device or the second network device in the foregoing embodiments, or implemented by the device of the message transmission apparatus 500 in the embodiment shown in fig. 5.
The network device 700 includes: a main control board 710 and an interface board 730.
The main control board 710 is also called a Main Processing Unit (MPU) or a route processor card (route processor card), and the main control board 710 controls and manages each component in the network device 700, including routing computation, device management, device maintenance, and protocol processing functions. The main control board 710 includes: a central processor 711 and a memory 712.
The interface board 730 is also called a Line Processing Unit (LPU), a line card (line card), or a service board. The interface board 730 is used for providing various service interfaces and forwarding packets. The service interfaces include, but are not limited to, Ethernet interfaces, such as Flexible Ethernet services interfaces (FlexE Ethernet Clients), POS (Packet over SONET/SDH) interfaces, and the like. The interface board 730 includes: a central processor 731, a network processor 732, a forwarding table entry store 734, and a Physical Interface Card (PIC) 733.
The central processor 731 on the interface board 730 is used for controlling and managing the interface board 730 and communicating with the central processor 711 on the main control board 710.
The network processor 732 is configured to implement a message forwarding process. The network processor 732 may take the form of a forwarding chip. Specifically, the processing of the uplink packet includes: processing a message input interface and searching a forwarding table; and (3) processing downlink messages: forwarding table lookups, etc.
The physical interface card 733 is used to implement the interfacing function of the physical layer, from which the original traffic enters the interface board 730, and the processed messages are sent out from the physical interface card 733. Physical interface card 733 includes at least one physical interface, also known as a physical port, physical interface card 733 corresponding to Flexe physical interface 204 in system architecture 200. The physical interface card 733, also called a daughter card, may be installed on the interface board 730 and is responsible for converting the optical signal into a message, performing validity check on the message, and forwarding the message to the network processor 732 for processing. In some embodiments, central processor 731 of interface board 703 may also perform the functions of network processor 732, such as implementing software forwarding based on a general purpose CPU, so that network processor 732 is not required in physical interface card 733.
Optionally, the network device 700 includes a plurality of interface boards, for example, the network device 700 further includes an interface board 740, and the interface board 740 includes: central processor 741, network processor 742, forwarding table entry store 744, and physical interface card 743.
Optionally, network device 700 further includes a switch fabric 720. The switch board 720 may also be referred to as a Switch Fabric Unit (SFU). In the case of a network device having a plurality of interface boards 730, the switch board 720 is used to complete data exchange between the interface boards. For example, interface board 730 and interface board 740 can communicate with each other through switch board 720.
The main control board 710 and the interface board 730 are coupled. For example. The main control board 710, the interface board 730, the interface board 740, and the switch 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 with each other through the IPC channel.
Logically, network device 700 includes a control plane including main control board 710 and central processor 731, and a forwarding plane including various components that perform forwarding, such as forwarding entry memory 734, physical interface cards 733, and network processor 732. The control plane performs functions such as a router, generating a forwarding table, processing signaling and protocol messages, and configuring and maintaining the state of the device, and issues the generated forwarding table to the forwarding plane, and in the forwarding plane, the network processor 732 looks up a table for forwarding the message received by the physical interface card 733 based on the forwarding table issued by the control plane. The forwarding table issued by the control plane may be stored in a forwarding table entry storage 734. In some embodiments, the control plane and the forwarding plane may be completely separate and not on the same device.
If network device 700 is configured as a first network device, central processor 711 may retrieve the first packet; and establishing a first tunnel according to the attribute information and the destination address in the first message. 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.
It should be understood that the sending unit 503 and the like in the message transmission apparatus 500 may correspond to the physical interface card 733 or the physical interface card 743 in the network device 700; the acquiring unit 501, the establishing unit 502, and the like in the message transmission apparatus 500 may correspond to the central processor 711 or the central processor 731 in the network device 700.
It should be understood that operations on the interface board 740 in the embodiment of the present application are the same as the operations on the interface board 730, and for brevity, are not described again. It should be understood that the network device 700 of this embodiment may correspond to the first network device or the second network device in the foregoing various method embodiments, and the main control board 710, the interface board 730, and/or the interface board 740 in the network device 700 may implement the functions and/or the various steps implemented by the first network device or the second network device in the foregoing various method embodiments, and for brevity, no further description is provided here.
It should be understood that the main control board may have one or more blocks, and when there are more blocks, the main control board may include an active main control board and a standby main control board. The interface board may have one or more blocks, and the stronger the data processing capability of the network device, the more interface boards are provided. There may also be one or more physical interface cards on an interface board. The exchange network board may not have one or more blocks, and when there are more blocks, the load sharing redundancy backup can be realized together. Under the centralized forwarding architecture, the network device does not need a switching network board, and the interface board undertakes the processing function of the service data of the whole system. Under the distributed forwarding architecture, the network device can have at least one switching network board, and the data exchange among a plurality of interface boards is realized through the switching network board, so that the high-capacity data exchange and processing capacity is provided. Therefore, the data access and processing capabilities of the network devices in the distributed architecture are greater than those of the devices in the centralized architecture. Optionally, the form of the network device may also be only one board card, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the one board card, at this time, the central processing unit on the interface board and the central processing unit on the main control board may be combined into one central processing unit on the one board card to perform the function after the two are superimposed, and the data switching and processing capability of the device in this form is low (for example, network devices such as a low-end switch or a router, etc.). Which architecture is specifically adopted depends on the specific networking deployment scenario.
In some possible embodiments, the first network device or the second network device may be implemented as a virtualized device. For example, the virtualized device may be a Virtual Machine (VM) running a program for sending a message, and the VM is deployed on a hardware device (e.g., a physical server). A virtual machine refers to a complete computer system with complete hardware system functionality, which is emulated by software, running in a completely isolated environment. The virtual machine may be configured as the first network device or the second network device. For example, the first Network device or the second Network device may be implemented based on a common physical server in combination with Network Function Virtualization (NFV) technology. The first network device or the second network device is a virtual host, a virtual router, or a virtual switch. Through reading the present application, a person skilled in the art may combine the NFV technology to virtually generate a first network device or a second network device having the above functions on a general physical server, and details are not described here.
It should be understood that the network devices in the above 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 here.
The embodiment of the application also provides a chip, which comprises a processor and an interface circuit, wherein the interface circuit is used for receiving the instruction and transmitting the instruction to the processor; a processor, which may be a specific implementation form of the message transmission apparatus 500 shown in fig. 5, for example, may be configured to execute the message transmission method described above. Wherein the processor is coupled to a memory for storing a program or instructions which, when executed by the processor, cause the system-on-chip to carry out the method of any of the method embodiments described above.
Optionally, the system on a chip may have one or more processors. The processor may 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 code stored in a memory.
Optionally, the memory in the system-on-chip may also be one or more. The memory may be integrated with the processor or may be separate from the processor, which is not limited in this application. For example, the memory may be a non-transitory processor, such as a read only memory ROM, which may be integrated with the processor on the same chip or separately disposed on different chips, and the type of the memory and the arrangement of the memory and the processor are not particularly limited in this application.
The system-on-chip may be, for example, a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), a system on chip (SoC), a Central Processing Unit (CPU), a Network Processor (NP), a digital signal processing circuit (DSP), a Microcontroller (MCU), a Programmable Logic Device (PLD), or other integrated chips.
Based on the foregoing method embodiment, an embodiment of the present application further provides a message transmission system, where the system may include: a first network device and a second network device.
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 a Service Level Agreement (SLA) requirement that needs to be met when a service traffic to which the first packet belongs is forwarded.
For specific implementation of the first network device acquiring the first packet, reference may be made to the relevant description of S401.
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 a controller by using the attribute information and the destination address, where the first tunnel is a forwarding tunnel that meets the SLA requirement.
For a specific implementation of the first network device establishing the first tunnel, 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.
It should be noted that, with regard to the function or implementation performed by the first network device, reference may be made to the relevant description about the first network device in the embodiment shown in fig. 4.
In a specific embodiment, the system further comprises: a controller;
the controller is 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 message;
the controller is further configured to send a response message to the first network device, where the response message includes 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.
Reference may be made to fig. 3 or fig. 4 for a description of the functions or implementations performed by the controller.
Embodiments of the present application further provide a computer-readable storage medium, which includes instructions or a computer program, and when the computer-readable storage medium runs on a computer, the computer is caused to execute the message transmission method provided in the foregoing embodiments.
Embodiments of the present application further provide a computer program product containing instructions or a computer program, which when run on a computer, cause the computer to execute the message transmission method provided in the above embodiments.
The terms "first," "second," "third," "fourth," and the like in the description and claims of this application and in the above-described drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described embodiments of the apparatus are merely illustrative, and for example, a division of a unit is only a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, each service unit in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a hardware form, and can also be realized in a software service unit form.
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 such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk, and various media capable of storing program codes.
Those skilled in the art will recognize that, in one or more of the examples described above, the services described in this disclosure may be implemented in 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 media may be any available media that can be accessed by a general purpose or special purpose computer.
The above embodiments are intended to explain the objects, aspects and advantages of the present invention in further detail, and it should be understood that the above embodiments are merely illustrative of the present invention.
The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and these modifications or substitutions do not depart from the scope of the technical solutions of the embodiments of the present application.

Claims (15)

1. A method for packet transmission, the method comprising:
a first network device acquires a first message, wherein the first message comprises attribute information and a destination address, and the attribute information is used for indicating the service level agreement SLA requirement which needs to be met when the service flow to which the first message belongs is forwarded;
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 message for establishing the first tunnel to a controller by using the attribute information and the destination address, wherein the first tunnel is a forwarding tunnel meeting the SLA requirement and is used for forwarding the first packet to a second network device, and the second network device is determined according to the destination address.
2. The method of claim 1, wherein the first network device establishes a first tunnel according to the attribute information and the destination address, and wherein the establishing comprises:
the first network equipment creates the first tunnel according to the attribute information and the destination address; alternatively, the first and second electrodes may be,
and the first network equipment searches and acquires the first tunnel from local according to the attribute information and the destination address.
3. The method of claim 2, further comprising:
the first network device sends information of the first tunnel from a control plane of the first network device to a forwarding plane.
4. The method of claim 1, wherein after the first network device sends a request message to a controller to establish the first tunnel using the attribute information and the destination address, the method comprises:
and the first network equipment receives a response message sent by the controller, wherein the response message comprises the information of the first tunnel corresponding to the attribute information and the destination address.
5. The method according to any one of claims 1-4, further comprising:
and the first network equipment determines that the first tunnel is not used for forwarding the message within a preset time length, and deletes or changes the state of the first tunnel into nonuse.
6. The method according to any of claims 1-5, wherein the first network device is an ingress network device of the first tunnel.
7. The method according to any of claims 1 to 6, wherein an 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 for accessing a destination device indicated by the destination address into a network.
8. The method of claim 7, further comprising:
the first network equipment acquires a second message, wherein the second message comprises the attribute information and the destination address, and the second message belongs to the service flow;
the first network device changes the second network device into a third network device according to a device for accessing the destination device indicated by the destination address into a network, and establishes a second tunnel reaching the third network device according to the attribute information and the destination address;
the first network device forwards the second packet to the third network device using the second tunnel.
9. The method according to any one of claims 1-8, further comprising:
and the first network equipment reserves resources for the first tunnel according to the network slice information in the first message.
10. The method according to any of claims 1-9, wherein said attribute information is carried in a priority field, a flow label field, or a time-to-live field of said first packet.
11. The method of 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, the system comprising: a first network device and a second network device;
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 a service level agreement SLA requirement that needs to be met when forwarding a service traffic to which the first packet belongs;
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 a controller by using the attribute information and the destination address, where the first tunnel is a forwarding tunnel meeting the SLA requirement, and forward the first packet to the second network device by using the first tunnel;
the second network device is configured to receive the first packet.
13. The system of claim 12, further comprising: a controller;
the controller is 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 message;
the controller is further configured to send a response message to the first network device, where the response message includes 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, the device comprising: a processor and a memory;
the memory for storing instructions or computer programs;
the processor configured to execute the instructions or the computer program in the memory to cause the communication device to perform the method of any one of claims 1-11.
15. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of any of claims 1-11 above.
CN202110171282.1A 2021-02-07 2021-02-07 Message transmission method, system and equipment Pending CN114915518A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110171282.1A CN114915518A (en) 2021-02-07 2021-02-07 Message transmission method, system and equipment
PCT/CN2021/141436 WO2022166464A1 (en) 2021-02-07 2021-12-27 Packet transmission method and system, and device

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN114915518A true CN114915518A (en) 2022-08-16

Family

ID=82740818

Family Applications (1)

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

Country Status (2)

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

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100499499C (en) * 2006-03-17 2009-06-10 华为技术有限公司 Method and system for distributing dynamically bandwidth resource
CN101141407B (en) * 2007-10-17 2010-07-21 杭州华三通信技术有限公司 Method, equipment and system of distributing bandwidth
CN101488902A (en) * 2009-02-25 2009-07-22 杭州华三通信技术有限公司 Dynamic establishing method and device for GRE tunnel
CN101616052B (en) * 2009-07-16 2012-11-28 杭州华三通信技术有限公司 Tunnel control method and device
CN102377630A (en) * 2011-10-13 2012-03-14 华为技术有限公司 Traffic engineering tunnel-based virtual private network implementation method and traffic engineering tunnel-based virtual private network implementation system
CN104980347B (en) * 2014-04-04 2019-02-12 华为技术有限公司 A kind of method and device for establishing tunnel
CN105991385B (en) * 2015-01-27 2019-03-26 华为技术有限公司 A kind of method that establishing BGP lsp tunnel and the network equipment
CN106559302A (en) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 Single tunnel method for building up, device and system
CN111628957B (en) * 2019-02-28 2021-10-01 华为技术有限公司 Data transmission method and network equipment
CN111245644B (en) * 2019-12-31 2022-12-16 网络通信与安全紫金山实验室 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
WO2022166464A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
US10250459B2 (en) Bandwidth on-demand services in multiple layer networks
CN113395735B (en) Message transmission method, device and network equipment
CN108141392B (en) Pseudo wire load sharing method and device
WO2021258823A1 (en) Path creation method, apparatus and system
US20230208751A1 (en) Packet forwarding method, device, and system
CN114257494A (en) Method, equipment and system for realizing service path detection
US20230224236A1 (en) Routing Information Transmission Method and Apparatus
WO2022166465A1 (en) Message processing method and related apparatus
CN114915518A (en) Message transmission method, system and equipment
CN115242699A (en) Message transmission method, slice generation method, device and system
CN114301839A (en) Multicast message transmission method and device
CN114760244A (en) Method, device and network equipment for transmitting Binding Segment Identification (BSID)
CN114650233A (en) Message processing method and related equipment
CN114531360A (en) Semantic name acquisition method, device, equipment and storage medium
CN114143142B (en) Message transmission method and device
CN115150320B (en) Message transmission method, device and system
US20230224245A1 (en) Packet Transmission Method and Apparatus
WO2024087691A1 (en) Message processing method and related device
US20230388177A1 (en) Fault detection method, network device, and system
CN118055455A (en) Resource allocation method and device
CN117176627A (en) Transmission detection method, device and system
CN117527618A (en) Transmission detection method, device and system
CN114157531A (en) Method, device and network equipment for transmitting segment identification VPN SID of virtual private network
CN117061406A (en) Message processing method and related equipment
CN116032513A (en) Method, device, system and storage medium for processing message

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination