WO2022057490A1 - 一种业务处理方法及网络设备 - Google Patents

一种业务处理方法及网络设备 Download PDF

Info

Publication number
WO2022057490A1
WO2022057490A1 PCT/CN2021/110707 CN2021110707W WO2022057490A1 WO 2022057490 A1 WO2022057490 A1 WO 2022057490A1 CN 2021110707 W CN2021110707 W CN 2021110707W WO 2022057490 A1 WO2022057490 A1 WO 2022057490A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
path
message
forwarding path
packet
Prior art date
Application number
PCT/CN2021/110707
Other languages
English (en)
French (fr)
Inventor
沈凯强
方晟
张如云
谭刃
李翰林
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21868319.1A priority Critical patent/EP4207641A4/en
Publication of WO2022057490A1 publication Critical patent/WO2022057490A1/zh
Priority to US18/187,515 priority patent/US20230283544A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a service processing method and network device.
  • Path Computation Element is a computation unit in a path computation architecture, which can realize centralized path computation based on various constraints.
  • a Path Computation Client is a client in a path computation architecture, used to send a path computation request message to the PCE, and establish a path connection after receiving a response with a path computation result.
  • the PCE is used to receive the path calculation request message from the PCC, perform path calculation according to the path calculation request message, and return the path calculation result to the PCC.
  • the PCE often cannot independently determine the information of the forwarding path of the packet. At this time, the PCE needs to send a message to other PCCs on the forwarding path to request the PCC to assist it in determining the information of the forwarding path of the packet. Because PCC and PCE need to use a special path calculation protocol (Path Computation Element Communication Protocol, PCEP) for communication. Therefore, in order to ensure that the PCE can successfully complete the path calculation, it is usually necessary to proactively establish a PCEP session connection with the PCE in advance by a network device that may function as a PCC in the network.
  • PCEP Path Computation Element Communication Protocol
  • all network devices in the network may act as PCCs.
  • all network devices in the network need to establish a PCEP session connection with the PCE, which is prone to generate a large number of idle session connections, resulting in high resource overhead.
  • the embodiments of the present application provide a service processing method and a network device.
  • the first network device determines the relevant information that the second network device is required to assist it in determining the forwarding path of the packet according to the service requirements
  • the first network device sends a message to the second network device.
  • the device sends the first message to establish a connection with the second network device, and uses the established connection to request the second network device to assist it in determining the relevant information of the forwarding path, thereby realizing the on-demand establishment of the connection and avoiding the generation of a large number of idle session connection, saving resource overhead.
  • a first aspect of the present application provides a service processing method, including: a first network device determines a second network device on a forwarding path of a packet according to a service requirement, the packet belongs to the service, and the first network device may It is a device with path computing capability, such as a controller in the network or a network device involved in packet forwarding in the network.
  • the first network device sends a first message to the second network device to establish a first connection with the second network device, and the first connection may be, for example, a PECP session connection; the first network device uses The first connection sends a second message to the second network device, where the second message is used to request the second network device to assist in determining information related to the forwarding path.
  • the first network device takes the initiative to establish a connection with the second network device, and uses the established connection to request a second
  • the network device assists it in determining the relevant information of the forwarding path, thereby realizing the on-demand establishment of the connection, avoiding the generation of a large number of idle session connections, and saving the overhead of resources.
  • the method further includes: receiving, by the first network device, a third message sent by the second network device, where the third message includes information related to the forwarding path Information.
  • the first network device can determine the forwarding path of the packet based on the second network device.
  • the first network device determining the second network device on the forwarding path of the packet according to the service requirement includes: the first network device determining, according to the service requirement, the The first network device cannot determine the information related to the forwarding path of the packet; the first network device determines the second network device, and the second network device is used to assist in determining the information related to the forwarding Path related information.
  • the first network device determines that it needs a second network device to assist it in completing the calculation of the forwarding path, and the second network device may be the forwarding path on the forwarding path.
  • Network equipment For example, in a scenario where a sticking label needs to be used to represent a forwarding path, the first network device may determine that the second network device needs to allocate a corresponding sticking label.
  • the first network device may not be able to calculate the forwarding path of the packets in the other region because there is no topology in the other region, and the first network device may determine that the second network device is required. The network device calculates the forwarding path of the packet in the other area.
  • the information related to the forwarding path includes a sticking label and/or a path label for indicating the forwarding path.
  • determining, by the first network device, the second network device on the forwarding path of the packet according to service requirements includes: determining, by the first network device, all the packets according to the service requirements. the forwarding path of the message; the first network device determines that the second network device is an adhesion node according to the forwarding path of the message, and the second network device is used to assign an adhesion label; the first network device Using the first connection to send a second message to the second network device includes: the first network device using the first connection to send a second message to the second network device, the second message including Label stack information, the second message is used to request the second network device to allocate a sticky label corresponding to the label stack information.
  • determining, by the first network device, according to the forwarding path of the packet, that the second network device is an adhesion node includes: the first network device according to the packet forwarding path. the forwarding path of the text, and determine that the number of labels to be used for indicating the forwarding path is greater than the maximum number of labels supported by the label stack; the first network device determines the second network device according to the forwarding path, and the The second network device is a network device on the forwarding path of the packet.
  • the label stack used to indicate the forwarding path cannot completely carry all labels corresponding to the forwarding path.
  • the first network device may determine that a sticky label needs to be used to indicate packet forwarding.
  • the first network device determining the second network device on the forwarding path of the packet according to the service requirement includes: the first network device determining, according to the service requirement, the The first network device cannot calculate the forwarding path of the packet; the first network device determines the second network device according to the network topology, and the second network device is the forwarding path of the packet.
  • the first network device when the first network device cannot calculate the forwarding path of the message, the first network device requests the second network device to assist it in calculating the path to the destination device, thereby improving the usability and flexibility of the path calculation.
  • the first network device determines, according to the service requirement, that the first network device cannot obtain the forwarding path of the packet by calculation, including: the first network device The device determines according to the service requirement that the destination device of the packet is not located in the first area, and the first area is the area where the first network device is located; the first network device determines according to the first area topology, determine the second network device, the second network device is the boundary device between the first area and the second area, the second area is the area where the destination device is located, or the second area The area is the area that the forwarding path to reach the destination device needs to pass through.
  • the second message sent by the first network device to the second network device by using the first connection is used to request the second network device to calculate the transfer to the second network device.
  • the indication information of the first path is included in the third message sent by the second network device to the first network device.
  • the method further includes: the first network device determines a third network device according to the network topology, where the third network device is the first area and all the boundary device of the second area; the first network device establishes a second connection with the third network device; the first network device sends a fourth message to the third network device by using the second connection, The fourth message is used to request the third network device to calculate a second path to the destination device; the first network device receives a fifth message sent by the third network device, where the fifth message includes Indication information of the second path; the first network device determines part or all of the forwarding path of the packet according to the third message and the fifth message.
  • the first network device may communicate with the second network device and the third network device.
  • a PECP session connection is established, thereby requesting the second network device and the third network device to calculate a path to the destination device.
  • the first network device integrates the path indication information returned by the two network devices to determine the forwarding path of the packet, so as to realize a better path s Choice.
  • the first network device sending a first message to the second network device to establish a first connection with the second network device includes: the first network device The device establishes a Transmission Control Protocol (TCP) connection with the second network device; using the TCP connection, the first network device sends the first message to the second network device to communicate with the second network device.
  • TCP Transmission Control Protocol
  • the second network device negotiates to establish the first connection.
  • the first network device may be a head node device or a controller on the forwarding path of the packet.
  • the first network device is a network head node or an ingress node that passes through an end-to-end forwarding path of the packet, and may specifically be an end-point device of a tunnel or a border node of a network domain.
  • the first network device is a controller with a network management function.
  • the first network device and the second network device are both path calculation client PCC devices on the forwarding path.
  • the forwarding path of the message includes a segment routing policy (Segement Routing policy, SR policy) path, a segment routing (Segement Routing Internet Protocol version 4, SRV4 based on Internet Protocol version 4) ) path, SRV6 path, segment routing based on traffic engineering (Segement Routing Traffic Engineering, SR-TE) path and multi-protocol label switching based on traffic engineering (Multi-protocol label switching Traffic Engineering, MPLS-TE) path one or multiple.
  • SR policy Segment Routing policy
  • SRV4 Internet Protocol version 4
  • SRV6 path segment routing based on traffic engineering
  • Traffic Engineering SR-TE
  • MPLS-TE Multi-protocol label switching Traffic Engineering
  • a second aspect of the present application provides a network device, where the network device is a first network device, including: a processing unit and a transceiver unit; the processing unit is configured to determine a second network on a packet forwarding path according to service requirements device, the message belongs to the service; the transceiver unit is configured to send a first message to the second network device to establish a first connection with the second network device; the transceiver unit is also configured to use and using the first connection to send a second message to the second network device, where the second message is used to request the second network device to assist in determining the information related to the forwarding path.
  • the network device is a first network device, including: a processing unit and a transceiver unit; the processing unit is configured to determine a second network on a packet forwarding path according to service requirements device, the message belongs to the service; the transceiver unit is configured to send a first message to the second network device to establish a first connection with the second network device; the transceiver unit is also configured to
  • the transceiver unit is further configured to receive a third message sent by the second network device, where the third message includes information related to the forwarding path.
  • the processing unit is specifically configured to: determine, according to the service requirement, that the first network device cannot determine the information related to the forwarding path of the packet; The second network device is determined, and the second network device is used to assist in determining the information related to the forwarding path.
  • the information related to the forwarding path includes a sticking label and/or a path label for indicating the forwarding path.
  • the processing unit is specifically configured to: determine the forwarding path of the packet according to the service requirement; determine the second network according to the forwarding path of the packet
  • the device is an adhesion node, and the second network device is used to assign an adhesion label
  • the transceiver unit is specifically configured to send a second message to the second network device by using the first connection, where the second message includes a label stack information, the second message is used to request the second network device to allocate a sticky label corresponding to the label stack information.
  • the processing unit is specifically configured to: according to the forwarding path of the packet, determine that the number of labels to be used for indicating the forwarding path is greater than the number of labels supported by the label stack. The maximum number of labels; the second network device is determined according to the forwarding path, and the second network device is a network device on the forwarding path of the packet.
  • the processing unit is specifically configured to: determine, according to the service requirement, the forwarding path of the packet that cannot be obtained by the first network device by calculation; determine according to the network topology The second network device, the second network device is a network device on the forwarding path of the packet, and the second network device is used to assist the first network device in calculating the first network device to the destination device. path.
  • the processing unit is specifically configured to: determine according to the service requirement that the destination device of the packet is not located in the first area, and the first area is the first area. An area where a network device is located; the second network device is determined according to the topology of the first area, the second network device is a boundary device between the first area and the second area, and the second area is an area where the destination device is located, or the second area is an area that the forwarding path to reach the destination device needs to pass through.
  • the second message sent by the first network device to the second network device by using the first connection is used to request the second network device to calculate the transfer to the second network device.
  • the first path of the destination device, and the third message includes indication information of the first path.
  • the processing unit is specifically configured to: determine a third network device according to the network topology, where the third network device is the first area and the second network device. The boundary device of the area; the transceiver unit is specifically configured to: establish a second connection with the third network device; send a fourth message to the third network device by using the second connection, and the fourth message uses the requesting the third network device to calculate a second path to the destination device; receiving a fifth message sent by the third network device, where the fifth message includes indication information of the second path; the processing The unit is further configured to determine part or all of the forwarding path of the packet according to the third message and the fifth message.
  • the first connection includes a path computation unit communication protocol PCEP connection.
  • the transceiver unit is specifically configured to establish a transmission control protocol TCP connection with the second network device; use the TCP connection to send the data to the second network device. the first message to negotiate with the second network device to establish the first connection.
  • the first network device is a head node device on the forwarding path of the packet.
  • the first network device may also be a controller.
  • the first network device and the second network device are both path calculation client PCC devices on the forwarding path.
  • the packet forwarding path includes one or more of an SR policy path, an SRV4-based path, an SRV6 path, an SR-TE path, and an MPLS-TE path.
  • a third aspect of the present application provides a network device, where the network device includes: a processor, configured to enable the network device to implement the method described in any possible implementation manner of the foregoing first aspect.
  • the device may further include a memory, the memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the network device can implement the method described in any possible implementation manner of the foregoing first aspect.
  • the device may also include a communication interface for the apparatus to communicate with other devices, for example, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.
  • the instructions in the memory may be stored in advance, or may be downloaded from the Internet and stored after using the network device.
  • This application does not specifically limit the source of the instructions in the memory.
  • the coupling in this application is an indirect coupling or connection between devices, units or modules, which can be in electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
  • a fourth aspect of the present application provides a computer storage medium, the computer storage medium may be non-volatile; computer-readable instructions are stored in the computer storage medium, and when the computer-readable instructions are executed by a processor, the first aspect is implemented any of the methods.
  • a fifth aspect of the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any one of the first aspects.
  • a sixth aspect of the present application provides a network system, where the network system includes the network device described in any implementation manner of the foregoing second aspect or the third aspect, and a network device for cooperating with the network device to calculate or acquire forwarding path related information Another or more network devices.
  • a seventh aspect of the present application provides a chip including a processor. Part or all of the processor is used to read and execute the computer program stored in the memory, so as to execute the method in any possible implementation manner of any of the above aspects.
  • the chip includes a memory, and the memory and the processor are connected to the memory through a circuit or a wire.
  • the chip further includes a communication interface, and the processor is connected to the communication interface.
  • the communication interface is used for receiving data and/or information to be processed, the processor obtains the data and/or information from the communication interface, processes the data and/or information, and outputs the processing result through the communication interface.
  • the communication interface may be an input-output interface.
  • the method provided by the present application may be implemented by one chip, or may be implemented by multiple chips cooperatively.
  • FIG. 1 is a schematic structural diagram of a network architecture provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a service processing method 200 provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a service processing method 300 provided by an embodiment of the present application.
  • FIG. 4(a) is a schematic flowchart of a packet forwarding method 400 according to an embodiment of the present application
  • FIG. 4(b) is a schematic diagram of the architecture of an application network of a packet forwarding method 400 according to an embodiment of the present application;
  • FIG. 5(a) is a schematic flowchart of a packet forwarding method 500 according to an embodiment of the present application
  • FIG. 5(b) is a schematic diagram of the architecture of an application network of a packet forwarding method 500 according to an embodiment of the present application;
  • FIG. 6 is a schematic flowchart of a service processing method 600 provided by an embodiment of the present application.
  • FIG. 7(a) is a schematic flowchart of a method 700 for determining a forwarding path of a packet according to an embodiment of the present application
  • FIG. 7(b) is a schematic diagram of the architecture of an application network of a method 700 for determining a forwarding path of a packet according to an embodiment of the present application;
  • FIG. 8(a) is a schematic flowchart of a method 800 for determining a packet forwarding path according to an embodiment of the present application
  • FIG. 8(b) is a schematic diagram of the architecture of an application network of a method 800 for determining a forwarding path of a packet according to an embodiment of the present application;
  • FIG. 9 is a schematic structural diagram of a network device 900 according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a network device 1000 according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a network system 1100 according to an embodiment of the present application.
  • the naming or numbering of the steps in this application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering, and the named or numbered process steps can be implemented according to the The technical purpose is to change the execution order, as long as the same or similar technical effects can be achieved.
  • the division of units in this application is a logical division. In practical applications, there may be other division methods. For example, multiple units may be combined or integrated into another system, or some features may be ignored. , or not implemented, in addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection between units may be electrical or other similar forms. There are no restrictions in the application.
  • units or sub-units described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed into multiple circuit units, and some or all of them may be selected according to actual needs. unit to achieve the purpose of the scheme of this application.
  • PCEP is a path computation communication protocol for information exchange between PCE and PCC.
  • the PCC may send a route calculation request message to the PCE based on the PCEP session connection; after receiving the route calculation request message, the PCE performs path calculation according to the route calculation request message, and returns the route calculation result to the PCC based on the PCEP session connection.
  • the PCE when the path needs to be represented by an adhesive label, the PCE often cannot independently determine the information of the forwarding path of the packet. At this time, the PCE needs to send a message to other PCCs on the forwarding path to request the PCC to assist it in determining the information of the forwarding path of the packet.
  • the PCE can be understood as a controller, and the PCC can be understood as a network device that interacts with the controller and is used for packet forwarding.
  • the PCE as the controller usually needs to establish a communication connection with all PCCs it manages and controls. For example, the PCE protocol is used to establish a connection for communication. Some functions cannot be implemented properly.
  • FIG. 1 is a schematic structural diagram of a network architecture provided by an embodiment of the present application.
  • the network architecture includes a controller, a network device A, a network device B, a network device C, and a network device D.
  • the controller is the PCE
  • the network device A is the PCC.
  • the network device A may, as the initiator, establish a PECP session connection with the controller in advance.
  • network device A when network device A needs to determine the forwarding path of the acquired packet, network device A can send a path calculation request to the controller through the PCEP session connection to request the controller to calculate the forwarding path of the packet.
  • the controller may need other network devices in the network to assist it in determining the information about the packet forwarding path. For example, the controller may need the assistance of network device B, network device C, or network device D. It determines the information about the forwarding path of the message.
  • network device B Because the controller needs to exchange information with other network devices in the network based on the PCEP session connection, in order to ensure that the controller can successfully complete the packet forwarding path calculation, network device B, network device C, and network device D all It is necessary to establish a PCEP session connection with the controller in advance as the initiator. However, in practical situations, the controller may only need to establish a PCEP session connection with the network device B. Therefore, all network devices in the network establish PCEP session connections with the PCE, which is prone to generate a large number of idle session connections, resulting in high resource overhead.
  • an embodiment of the present application provides a service processing method.
  • the network device responsible for calculating the route determines that another network device is required to assist it in calculating the route
  • the network device responsible for calculating the route initiates the establishment of the route to another network device. Connection request to realize the on-demand establishment of the connection, avoiding the generation of a large number of idle session connections and saving the overhead of resources.
  • FIG. 2 is a schematic flowchart of a service processing method 200 provided by an embodiment of the present application.
  • the service processing method 200 can be applied to the network structure shown in FIG. 1 .
  • the packet processing method 200 at least includes the following steps.
  • Step 201 The first network device determines a second network device on a forwarding path of a packet according to a service requirement, and the packet belongs to the service.
  • the first network device may be a device with a path computing capability, such as a network device participating in packet forwarding in the network or a controller in the network.
  • the controller can be independent of the network device, or can be set inside a network device.
  • the controller may also be referred to as a network management device.
  • the first network device may be, for example, a network device on a packet forwarding path.
  • the forwarding path of the packet may be a partial path on the complete end-to-end path of packet forwarding.
  • the packet forwarding path starts from the first network device and passes through the second network device. That is, the first network device is also a device on the packet forwarding path, and the packet reaches the first network device before reaching the second network device.
  • the first network device may be, for example, a head node or an ingress node, for example, a tunnel end node or a border node of a network domain on a forwarding path through which the packet passes.
  • the first network device may also be a node at other locations on the packet forwarding path, but needs to request other nodes on the path to assist in providing information related to the forwarding path by using the method 200 .
  • the second network device is a network device between the first network device and the destination device of the message.
  • the first network device may obtain the service requirement by receiving the message to be forwarded.
  • the service requirement may be, for example, forwarding the to-be-forwarded packet to a destination address specified by the to-be-forwarded packet.
  • the first network device may obtain the service requirement by receiving a path calculation request message sent by other network devices connected to the first network device.
  • the service requirement may be, for example, the forwarding path of the calculation packet from a certain network device to another network device.
  • the first network device needs to determine the packet forwarding path according to the acquired service requirement.
  • the first network device may determine, according to the service requirement, that it cannot determine the information related to the forwarding path of the packet; the first network device determines the second network device , the second network device is configured to assist in determining the information related to the forwarding path.
  • the information related to the forwarding path may include a sticking label and/or a path label for indicating the forwarding path.
  • the first network device determines that it needs a second network device to assist it in completing the calculation of the forwarding path, and the second network device may be the forwarding path on the forwarding path.
  • Network equipment For example, in a scenario where a sticking label needs to be used to represent a forwarding path, the first network device may determine that the second network device needs to allocate a corresponding sticking label.
  • the first network device may not be able to calculate the forwarding path of the packets in the other region because there is no topology in the other region, and the first network device may determine that the second network device is required.
  • the network device calculates the forwarding path of the packet in the other area.
  • the first network device may also instruct the second network device to send other information related to the forwarding path.
  • the forwarding path of the packet may include a segment routing policy (Segement Routing policy, SR policy) path, a segment routing based on Internet Protocol version 4 (Segement Routing Internet Protocol version 4, SRV4) path, SRV6 One or more of a path, a traffic engineering-based segment routing (Segement Routing Traffic Engineering, SR-TE) path, and a traffic engineering-based multi-protocol label switching (Multi-protocol label switching Traffic Engineering, MPLS-TE) path. That is, the method provided in this embodiment can be applied to calculate one or more of the SR policy path, the SRV4 path, the SRV6 path, the SR-TE path, and the MPLS-TE path.
  • SR policy Segment Routing policy
  • SRV4 Segment Routing Traffic Engineering
  • SRV6 Traffic engineering-based multi-protocol label switching
  • Step 202 The first network device sends a first message to the second network device to establish a first connection with the second network device.
  • the first network device may send a first message to the second network device, the The first message is used to request to establish a first connection with the second network device.
  • the first connection may be a connection for realizing the related information of the interaction path calculation.
  • the first connection may be, for example, a PCEP session connection.
  • the first network device in the case where the first network device is a network device on the packet forwarding path, the first network device has a corresponding network topology, and the first network device and other network devices in the network are reachable by links. Yes, the first network device can directly establish a first connection with the second network device.
  • the first network device is the controller, it needs to be determined when the controller is deployed that the link between the controller and other network devices in the network is reachable, so as to ensure that the controller can establish the first connection with the second network device .
  • Step 203 The first network device sends a second message to the second network device by using the first connection, where the second message is used to request the second network device to assist in determining the forwarding path information.
  • the second message may be, for example, a PCEP Path Computation Request (PCReq) message, which may be used to request the second network device to assist in determining a path related to the forwarding path. information.
  • PCeq PCEP Path Computation Request
  • Step 204 The first network device receives a third message sent by the second network device, where the third message includes information related to the forwarding path.
  • the second network device may determine information related to the forwarding path according to the second message, and send a third message to the first network device, the first The third message includes the information related to the forwarding path determined by the second network device.
  • the third message may be, for example, a PCEP Path Computation Reply (PCRep) message, which may feed back information related to the forwarding path.
  • PCEP Path Computation Reply PCEP Path Computation Reply
  • the first network device responsible for calculating the route determines that the second network device is required to assist it in determining the forwarding path of the message
  • the first network device initiates a request for establishing a connection to the second network device,
  • the first network device can request the second network device to assist in determining the relevant information of the forwarding path of the message, thereby realizing the on-demand establishment of the connection, avoiding the generation of a large number of idle session connections, and saving the overhead of resources.
  • the above describes the process in which the first network device initiates a request to establish a first connection to the second network device according to service requirements, so as to realize the exchange of relevant information of the forwarding path.
  • the following will describe the first network device and the second network in detail.
  • the process in which the device establishes the first connection will be described.
  • the process of establishing the first connection between the first network device and the second network device is as follows:
  • the first network device acts as the initiator, and establishes a Transmission Control Protocol (Transmission Control Protocol, TCP) TCP connection with the second network device through a three-way handshake.
  • TCP Transmission Control Protocol
  • the first network device and the second network device exchange an Open (Open) message to negotiate and establish a PECP session connection.
  • Open Open
  • the first network device and the second network device exchange keepalive messages to maintain the PECP session connection.
  • the process of the three-way handshake includes: the first network device, as an initiator, sends a connection request message to the second network device to request the establishment of a TCP connection.
  • the second network device After receiving the connection request message, the second network device sends an acknowledgement (acknowledge, ack) message to the first network device, and allocates corresponding resources to establish a TCP connection.
  • the first network device After receiving the ack message sent by the second network device, the first network device also sends the ack message to the second network device, and allocates corresponding resources to establish a TCP connection.
  • the first network device can establish a TCP connection with the second network device.
  • connection request message sent by the first network device to the second network device may be a TCP message
  • message format of the TCP message may be as follows:
  • Source Port The source port number.
  • Destination Port The destination port number.
  • Sequence Number The sequence number.
  • PSH The receiver should hand over this segment to the application layer as soon as possible.
  • SYN Synchronization sequence number, used to initiate a connection.
  • Window window size.
  • Urgent Pointer Urgent pointer.
  • Destination Port The destination port number.
  • the port number of the PECO session connection is 4189, and the first network device can establish a TCP connection with the second network device through a three-way handshake by sending a TCP message with a destination port number of 4189 to the second network device.
  • the first network device and the second network device may negotiate to establish a PECP session connection by sending an Open message to each other.
  • the Open message may be, for example, the above-mentioned first message.
  • the format of the Open message can be as follows:
  • the Common Header field represents the general header
  • the OPEN object (object) represents the specific Open message content.
  • Ver(Version) PCEP version number, the current version number is 1.
  • Flags reserved flag bits, not yet located, set to all 0.
  • Message-Type PCEP message type, used for the current PECP message type.
  • Message-Length The total length of the PCEP message, in bytes.
  • the format of the OPEN object can be as follows:
  • Flags reserved flag bits, not yet defined, set to all 0.
  • DeadTimer The timeout period of two PCEP neighbors, generally 4 times the Keepalive.
  • PCEP session ID The serial number that identifies a PCEP session.
  • Optional TLVs Optional Type Length Value (TLV) in the OPEN object.
  • FIG. 3 is a schematic flowchart of a service processing method 300 provided by an embodiment of the present application.
  • the service processing method 300 is a method in a scenario where an adhesive label is required to represent a forwarding path, and includes the following steps.
  • Step 301 The first network device determines the forwarding path of the packet according to the service requirement.
  • the first network device determines the forwarding path of the packet according to the acquired service requirement. For example, when the first network device is the controller, the first network device may use the network device to which the service request is sent as the originating device, and calculate the forwarding path from the originating device to the destination device of the packet. When the first network device is a network device participating in packet forwarding in the network, the first network device may calculate a forwarding path from itself to the destination device of the packet using itself as the starting device according to the received packet.
  • Step 302 the first network device determines that the second network device is a sticking node according to the forwarding path of the packet, and the second network device is used for allocating a sticking label.
  • network devices represent nodes or links on the forwarding path by carrying multiple labels in the label stack, and each label in the label stack can represent the node or link passed on the forwarding path link.
  • the depth of the label stack supported by the network device is limited, that is, the number of labels supported by the label stack is limited.
  • the maximum number of labels carried by the label stack may be 10 layers, 18 layers, or 28 layers.
  • the label stack used to indicate the forwarding path cannot completely carry all the labels corresponding to the forwarding path.
  • sticky labels can be used to indicate packet forwarding.
  • the first network device may determine, according to the forwarding path of the packet, that the number of labels to be used for indicating the forwarding path is greater than the maximum number of labels supported by the label stack. Then, the first network device determines the second network device according to the forwarding path, the second network device is a network device on the forwarding path of the packet, and the second network device can be used as an assignment sticking label the glue node.
  • the first network device may obtain the label stack 1 corresponding to the forwarding path.
  • the first network device may be based on the maximum number of labels carried by the label stack on the forwarding plane. In this label stack 1, there are N labels in the direction from the bottom of the stack to the top of the stack, and the network device to which the Nth label belongs is counted. is the second network device, and N is the maximum number of labels supported by the label stack.
  • the first network device can count 10 labels in the direction from the bottom of the stack to the top of the stack in the generated label stack 1, to The network device to which the tenth label belongs is the second network device.
  • the first network device may also be based on the maximum number of labels supported by the label stack on the forwarding plane.
  • the network device to which it belongs is the second network device, and N is the maximum number of labels supported by the label stack.
  • the first network device may also determine the second network device in other ways, for example, determining that the network device located at the midpoint between the destination device and the originating network device is the second network device, as long as In the generated label stack, the number of labels corresponding to the second network device to the top label and to the bottom label of the stack is not greater than the maximum number of labels supported by the forwarding plane.
  • Step 303 the first network device sends a first message to the second network device to establish a first connection with the second network device.
  • step 303 is similar to the above-mentioned step 203, for details, reference may be made to the description of step 203, which will not be repeated here.
  • Step 304 the first network device sends a second message to the second network device using the first connection, the second message includes label stack information, and the second message is used to request the second network The device allocates a sticky label corresponding to the label stack information.
  • the first network device may send a request message to the second network device for requesting the second network device to allocate an adhesive label.
  • the request message includes label stack information, and the label stack information corresponds to the adhesive label that is requested to be allocated by the second network device.
  • Step 305 The first network device receives a third message sent by the second network device, where the third message includes an adhesive label corresponding to the label stack information.
  • the second network device can dynamically apply for a sticky label from the label pool, and establish a relationship between the sticky label and the label stack information so that the second network device can replace the sticky label with the label stack information when receiving the message carrying the sticky label. Then, the second network device can send the applied adhesive label to the first network device through a third message, so that the first network device can receive the third message including the adhesive label corresponding to the label stack information.
  • FIG. 4(a) is a schematic flowchart of a packet forwarding method 400 provided by an embodiment of the present application
  • FIG. 4(b) is an implementation of the present application.
  • the example provides a schematic diagram of the architecture of an application network of a packet forwarding method 400 .
  • the first network device may refer to the network device 1 in Fig. 4(b).
  • the packet forwarding method 400 includes the following steps.
  • Step 401 the network device 1 calculates the forwarding path of the packet, and determines the network device 2 according to the forwarding path.
  • network device 1 can receive a packet from an external network, and network device 1 can calculate the path from network device 1 to network device 12 according to the destination address of the packet as " network device 1 - network device 2 - network device 3 - network device 4 - network device 5 - network device 6 - network device 7 - network device 8 - network device 9 - network device 10 - network device 11 - network device 12".
  • the label stack supports a maximum number of 10 layers of labels.
  • the label that needs to be carried by the label stack includes ⁇ network device 2-network device 3-network Device 4 - Network Device 5 - Network Device 6 - Network Device 7 - Network Device 8 - Network Device 9 - Network Device 10 - Network Device 11 - Network Device 12 ⁇ , a total of 11 layers of labels; if the labels in the label stack represent is a link on the forwarding path, the labels to be carried by the label stack include ⁇ 1001-1002-1003-1004-1005-1006-1007-1008-1009-1010-1011 ⁇ , a total of 11 layers of labels.
  • the network device 1 can determine a certain network device on the forwarding path as a sticking node, so as to request the network device to assign a sticking label.
  • the network device 1 since the maximum number of labels supported by the label stack is 10 layers, the network device 1 counts 10 labels in the direction from the bottom of the stack to the top of the stack in the label stack including 11 layers of labels, and uses the 10th label The network device to which the label 1002 belongs is a sticky node. Then, the network device 1 can determine that the label 1002 comes from the network device 2 based on a traffic engineering database (Traffic Engineering Data Base, TEDB), so as to determine that the network device 2 is a sticking node.
  • TEDB Traffic Engineering Data Base
  • the network device 1 may also count 10 labels from the top of the stack to the bottom of the stack in the label stack including 11-layer labels, and use the network device to which the 10th label (ie, label 1010 ) belongs as an adhesion node. Then, the network device 1 can determine that the label 1010 comes from the network device 11 based on the TEDB, so as to determine that the network device 11 is an adhesion node.
  • the adhesion node may also be determined in other ways.
  • the network device 1 determines that any network device located between the network device 1 and the network device 12 that satisfies the condition is an adhesion node.
  • the number of labels to the top of the stack and labels to the bottom of the stack is not greater than 10 layers.
  • network devices such as network device 5 or network device 6 are determined as sticky nodes.
  • step 402 the network device 1 sends a request message 1 to the network device 2, where the request message 1 is used to request the network device 2 to allocate an adhesive label.
  • the network device 1 Before the network device 1 sends the request message 1 to the network device 2, the network device 1 needs to act as an initiator and actively establish a PECP session connection with the network device 2.
  • the network device 1 For the process of establishing a PECP session connection between the network device 1 and the network device 2, reference may be made to the descriptions in the foregoing embodiments, and details are not described herein again.
  • the request message 1 sent by the network device 1 to the network device 2 includes the label stack information specified by the network device 1 that needs to establish a corresponding relationship with the sticky label.
  • the label stack information can be, for example, the 10-layer labels counted from the back to the front by the network device 1 from the above-mentioned 11-layer labels, that is, the label stack information can include ⁇ 1002-1003-1004-1005-1006-1007-1008-1009 -1010-1011 ⁇ , a total of 10 layers of labels.
  • Step 403 the network device 2 applies for an adhesive label, and establishes a correspondence between the adhesive label and the label stack information.
  • the network device 2 can dynamically apply for an adhesive label from the label pool, and the adhesive label can be, for example, the adhesive label 100 .
  • the network device 2 may also establish a correspondence between the sticky label 100 and the label stack information according to the label stack information in the request message. For example, the network device 2 may generate a forwarding entry in which the sticky label 100 corresponds to the label stack information ⁇ 1002-1003-1004-1005-1006-1007-1008-1009-1010-1011 ⁇ ; the network device 2. When the forwarding entry is looked up in the table based on the sticky label 100, the corresponding 10-layer label stack information can be obtained by searching.
  • Step 404 the network device 2 sends an adhesive label to the network device 1 .
  • Step 405 the network device 1 sends a message to the network device 2, and the message carries an adhesive label.
  • the network device 1 After the network device 1 receives the sticky label 100 sent by the network device 2, the network device 1 can replace the above-mentioned 10-layer label stack information with the sticky label 100, that is, the network device 1 generates a label stack ⁇ 1001, 100 ⁇ . Therefore, when forwarding the packet, the network device 1 may forward the packet to the network device 2 based on the indication of the label stack ⁇ 1001, 100 ⁇ . And, before the network device 1 forwards the message, the network device 1 strips the label 1001 in the label stack, so that the label stack of the message forwarded by the network device 1 to the network device 2 only includes the sticky label 100.
  • Step 406 the network device 2 replaces the sticky label in the packet with the corresponding label stack, and forwards the packet to the network device 3 .
  • the network device 2 can determine the 10-layer label stack information corresponding to the sticky label 100 according to the forwarding entry, so as to replace the sticky label 100 in the message with the label stack ⁇ 1002 -1003-1004-1005-1006-1007-1008-1009-1010-1011 ⁇ . Similarly, network device 2 may determine to forward the packet to network device 3 based on the replaced label stack, and before forwarding the packet, strip the top label (ie, label 1002 ) in the label stack, so that it is forwarded to The label stack of the packet of network device 3 includes ⁇ 1003-1004-1005-1006-1007-1008-1009-1010-1011 ⁇ , which is used to instruct subsequent network devices to forward the packet.
  • the packet forwarding process is described above by taking the first network device as the network device 1 as an example.
  • the first network device may also be a controller, and the packet forwarding process will be described in detail below using the first network device as the controller.
  • FIG. 5(a) is a schematic flowchart of a packet forwarding method 500 provided by an embodiment of the present application
  • FIG. 5(b) is an implementation of the present application.
  • the example provides a schematic diagram of the architecture of an application network of a packet forwarding method 500 .
  • the first network device may refer to the controller in Fig. 5(b)
  • the packet forwarding method 500 includes the following steps.
  • Step 501 the network device 1 sends a route calculation request to the controller.
  • the network device 1 When the network device 1 receives the message that needs to be forwarded to the network device 12, the network device 1 sends a route calculation request to the controller, and the route calculation request carries the address of the network device 12 to request the controller to calculate the route from the network device 1. The forwarding path of the network device 12 .
  • Step 502 the controller calculates the forwarding path of the packet, and determines the network device 2 according to the forwarding path.
  • step 502 is similar to the above-mentioned step 401 .
  • step 502 is similar to the above-mentioned step 401 .
  • Step 503 the controller sends a request message 2 to the network device 2, where the request message 2 is used to request the network device 2 to allocate an adhesive label.
  • the controller needs to act as an initiator and actively establish a PECP session connection with the network device 2.
  • the process of establishing a PECP session connection between the controller and the network device 2 may refer to the description of the above-mentioned embodiment, and details are not repeated here.
  • step 503 is similar to the above-mentioned step 402.
  • step 402 which will not be repeated here.
  • Step 504 the network device 2 applies for an adhesive label, and establishes a correspondence between the adhesive label and the label stack information.
  • Step 505 the network device 2 sends an adhesive label to the controller.
  • steps 504-505 are similar to the above-mentioned steps 403-404.
  • steps 403-404 reference may be made to the above-mentioned steps 403-404, which will not be repeated here.
  • Step 506 the controller sends a label stack to the network device 1, where the label stack includes the sticky label.
  • the controller may generate a label stack ⁇ 1001, 100 ⁇ indicating the forwarding path based on the sticky label, that is, carrying the label stack indicating the link between the network device 1 and the network device 2 label and the adhesive label 100 . Then, the controller sends the label stack to the network device 1, so that the network device can forward the packet based on the label stack.
  • Step 507 the network device 1 sends a message to the network device 2, and the message carries an adhesive label.
  • Step 508 the network device 2 replaces the sticky label in the packet with the corresponding label stack, and forwards the packet to the network device 3 .
  • steps 507-508 are similar to the above-mentioned steps 405-406.
  • steps 507-508 are similar to the above-mentioned steps 405-406.
  • the above describes the process of the first network device requesting the second network device to assign a sticky label in the scenario where a sticky label needs to be used to represent a forwarding path.
  • the first network device requests the second network device to assign a glue label. Assists in the process of calculating forwarding paths.
  • FIG. 6 is a schematic flowchart of a service processing method 600 provided by an embodiment of the present application.
  • the service processing method 600 may be, for example, a method in a cross-domain scenario, including the following steps.
  • Step 601 According to the service requirement, the first network device determines that the first network device cannot obtain the forwarding path of the packet by calculation.
  • the first network device may be a controller or a network device participating in packet forwarding in the network.
  • the first network device may obtain a request for calculating the forwarding path of the packet, and the service requirement may be calculating the forwarding path to the destination device of the packet or the specified device.
  • the first network device may receive the to-be-forwarded packet, and the service requirement may be to forward the to-be-forwarded packet to a destination device or a designated device. That is to say, the first network device needs to calculate the forwarding path of the packet according to the service requirement.
  • the first network device may determine that the forwarding path of the packet cannot be obtained by itself through independent calculation. For example, when the network topology related to the destination device of the packet is not stored in the first network device, the first network device cannot obtain the forwarding path of the packet by calculation. For another example, when the packet has certain forwarding constraints, such as a service level agreement (Service Level Agreement, SLA) requirement, but the first network device cannot obtain the SLA corresponding to all or part of the links in the network topology, The first network device may also be unable to obtain the forwarding path of the packet by calculation.
  • SLA Service Level Agreement
  • Step 602 the first network device determines the second network device according to the network topology, the second network device is a network device on the forwarding path of the packet, and the second network device is used to assist the The first network device computes a first path to the destination device.
  • the first network device may store the global network topology or the local network topology between the first network device and the message destination device, and the first network device may determine the global network topology or the local network topology according to the global network topology or the local network topology.
  • the second network device is required to assist it in calculating the first path to the destination device.
  • the first network device cannot obtain a complete forwarding path to the destination device by calculation.
  • the first network device may determine a part of the forwarding path to the destination device, and if it is determined that the second network device on the part of the forwarding path can calculate the remaining forwarding path, the first network device may determine that the second network device uses It is used to assist itself in calculating the remaining path to the destination device, that is, the forwarding path from the second network device to the destination device.
  • the first network device may determine that the second network device needs to assist it in calculating the forwarding path to the destination device, and the second network device may obtain SLAs corresponding to all or part of the links in the network topology.
  • SLA Service Level Agreement
  • the first network device may determine, according to the service requirement, that the destination device of the packet is not located in a first area, and the first area is an area where the first network device is located , the first network device can only obtain the topology of the first area.
  • the first network device determines the second network device according to the topology of the first area, the second network device is the boundary device between the first area and the second area, and the second area is the The area where the destination device is located, or the second area is an area that the forwarding path to reach the destination device needs to pass through.
  • the first network device may not be able to obtain the topology of other areas, so the first network device cannot calculate the complete packet forwarding path.
  • the first network device may, based on the topology of the area where it is located, determine the boundary device in the area to assist it in calculating the path to the destination device.
  • the border device may also be located in the area where the destination device is located, or is located in the area where the forwarding path to the destination device needs to pass. In this way, the border device can obtain the topology of an area other than the area where the first network device is located, so as to calculate the forwarding path of the packet.
  • the first network device may also require the second network device to help the first network device to determine the information related to the forwarding path for other reasons.
  • Step 603 The first network device sends a first message to the second network device to establish a first connection with the second network device.
  • Step 604 the first network device sends a second message to the second network device by using the first connection.
  • the two messages may be used to request the second network device to calculate the first path to the destination device, and the second message may include, for example, addresses of two endpoint devices of the first path (that is, the second address of the network device and the address of the destination device of the packet).
  • Step 605 The first network device receives a third message sent by the second network device, where the third message includes indication information of the first path.
  • the indication information of the first path returned by the third message may be used to indicate a complete path from the second network device to the destination device, or may indicate a partial path in the complete path.
  • the second network device may determine the first path to the destination device, and use the indication information corresponding to the first path
  • the third message is sent to the first network device.
  • the second network device may calculate the path from itself to the destination device of the packet based on the topology of the area, and use the calculated path indicating the destination device.
  • the label stack information of the path is used as the indication information of the path, and is sent to the first network device through a third message.
  • the second network device may also determine the topology of the area that the packet needs to pass through, and send the topology of the area to the first network device through a third message.
  • the second network device may determine that the packet needs to pass through the area to reach the destination device, so the second network device may use the topology of the area as a path.
  • the indication information is sent to the first network device through a third message. In this way, the first network device can obtain the topology of the area where the destination device is located, so as to calculate and obtain the path to the destination device based on the topology of the area.
  • the first network device may also be a network device that determines a plurality of network devices that assist it in calculating the path to the destination device, and establishes a connection with the plurality of network devices to request assistance from the plurality of network devices for computing. The path to the destination device.
  • the packet forwarding method 600 may further include:
  • the first network device determines a third network device according to the network topology, where the third network device is a boundary device between the first area and the second area, that is, the area where the third network device is located and the second network The device is in the same area.
  • the first network device establishes a second connection with the third network device, and the second connection may be, for example, a PECP session connection.
  • the first network device sends a fourth message to the third network device using the second connection, where the fourth message is used to request the third network device to calculate a second path to the destination device.
  • the first network device receives a fifth message sent by the third network device, where the fifth message includes indication information of the second path.
  • the first network device determines part or all of the forwarding path of the packet according to the third message and the fifth message. One of the paths fed back by the second network device and the third network device is selected to determine the forwarding path of the packet.
  • the first network device may communicate with the second network device and the third network device.
  • a PECP session connection is established, thereby requesting the second network device and the third network device to calculate a path to the destination device.
  • the first network device determines the forwarding path of the packet by synthesizing the path indication information returned by the two network devices.
  • FIG. 7(a) is a schematic flowchart of a method 700 for determining a packet forwarding path provided by an embodiment of the present application
  • FIG. 7(b) is an embodiment of the present application
  • a schematic diagram of the architecture of an application network of a method 700 for determining a forwarding path of a packet is provided. As shown in Figure 7(b), network device 1, network device 2 and network device 3 are in area 1, network device 2 and network device 3 are also in area 2, network device 4, network device 5 and network device 6 are in area 2.
  • the method 700 for determining a forwarding path of a packet includes the following steps.
  • step 701 the network device 1 determines, according to the service requirements, the forwarding path of the packet that cannot be obtained by calculation by itself.
  • the service requirement may be to forward the message to the network device 6 . Since network device 6 is located in area 2, network device 1 is located in area 1, and network device 1 does not have the topology of area 2, network device 1 can determine that it cannot calculate the path to network device 6 by itself.
  • the network device 6 may be the destination device of the message, or it may not be the destination device of the message, but is connected to the destination device.
  • Step 702 the network device 1 determines the network device 2 and the network device 3 according to the topology of the area 1 .
  • the network device 1 can determine that the network device 2 and the network device 3 are the boundary devices of the area 1, and the network device 2 and the network device 3 may have the topology of the area 2. Therefore, the network device 1 can determine that the network device 2 and the network device 3 assist it in calculating the forwarding path of the packet.
  • Step 703 the network device 1 sends a message 1 to the network device 2 to establish a PECP session connection 1 with the network device 2 .
  • Step 704 the network device 1 sends a message 2 to the network device 3 to establish a PECP session connection 2 with the network device 3 .
  • the process of establishing a PECP session connection between the network device 1 and the network device 2 and the network device 3 may refer to the above-mentioned embodiments, which will not be repeated here.
  • Step 705 the network device 1 uses the PECP session connection 1 to send a message 3 to the network device 2 , where the message 3 is used to request the network device 2 to calculate the path 1 to the network device 6 .
  • the path 1 to the network device 6 may refer to a path from the network device 2 to the network device 6 .
  • Step 706 the network device 1 uses the PECP session connection 2 to send a message 4 to the network device 3 , where the message 4 is used to request the network device 3 to calculate the path 2 to the network device 6 .
  • the path 2 to the network device 6 may refer to a path from the network device 3 to the network device 6 .
  • Step 707 the network device 2 determines the indication information 1 of the path 1 according to the message 3 .
  • the network device 2 Since the network device 2 is a boundary device of the area 2, the network device 2 can obtain the topology of the area 2. Therefore, the network device 2 can determine the path 1 from itself to the network device 6 based on the topology of the area 2. In this way, the network device 2 can determine the indication information 1 according to the route 1 from itself to the network device 6 , and the indication information 1 can include, for example, the label stack information indicating the route 1 .
  • Step 708 the network device 2 sends the indication information 1 to the network device 1 .
  • Step 709 the network device 3 determines the indication information 2 of the path 2 according to the message 4 .
  • the network device 3 since the network device 3 is the boundary device of the area 2, the network device 3 can also obtain the topology of the area 2, and can determine the path 2 from itself to the network device 6 based on the topology of the area 2. In this way, the network device 3 may determine the indication information 2 according to the path 2 from itself to the network device 6 , and the indication information 2 may include, for example, label stack information indicating the path 2 .
  • Step 710 the network device 3 sends the indication information 2 to the network device 1 .
  • Step 711 the network device 1 determines the path to the network device 6 according to the indication information 1 and the indication information 2 .
  • the network device 1 After receiving the indication information 1 corresponding to the route 1 and the indication information 2 corresponding to the route 2, the network device 1 can obtain the route 1 from the network device 2 to the network device 6 and the route 2 from the network device 3 to the network device 6. The network device 1 can select a route from the route 1 and the route 2 based on a preset route selection policy, so as to determine the route to the network device 6 . For example, if network device 1 selects path 1 among path 1 and path 2, the network device can generate a path from network device 1 to network device 2, and then from network device 2 to network device 6.
  • the above describes the process of determining the forwarding path of a packet in a scenario where the forwarding path of the packet crosses one domain.
  • the process of determining the forwarding path of a packet in a scenario where the forwarding path of the packet spans multiple domains will be described in detail below with reference to specific examples.
  • FIG. 8(a) is a schematic flowchart of a method 800 for determining a packet forwarding path provided by an embodiment of the application
  • FIG. 8(b) is an embodiment of the application
  • a schematic diagram of the architecture of an application network of a method 800 for determining a forwarding path of a packet is provided.
  • network device 1, network device 2, and network device 3 are in area 1
  • network device 2 network device 3
  • network device 4 network device 5, and network device 6 are in area 2
  • network device 6 , network device 7 , network device 8 and network device 9 are in zone 3 .
  • the method 800 for determining a forwarding path of a packet includes the following steps.
  • step 801 the network device 1 determines, according to the service requirements, the forwarding path of the packet that cannot be obtained by calculation by itself.
  • the service requirement may be to forward the packet to the network device 9 . Since network device 9 is located in area 3, network device 1 is located in area 1, and network device 1 does not have the topology of area 3, network device 1 can determine that it cannot calculate the path to network device 9 by itself.
  • Step 802 the network device 1 determines the network device 2 according to the topology of the area 1 .
  • the network device 1 can determine that the network device 2 is the boundary device of the area 1, and the network device 2 may have the topology of the area 3. Therefore, the network device 1 can determine that the network device 2 assists it in calculating the forwarding path of the packet.
  • Step 803 the network device 1 sends a message 5 to the network device 2 to establish a PECP session connection 3 with the network device 2 .
  • Step 804 the network device 1 sends a message 6 to the network device 2 by using the PECP session connection 3 , and the message 6 is used to request the network device 2 to calculate the path 3 to the network device 9 .
  • the path 3 to the network device 9 may refer to a path from the network device 2 to the network device 9 .
  • Step 805 the network device 2 sends a message 7 to the network device 6 , where the message 7 is used to request the network device 6 to calculate the path 4 to the network device 9 .
  • the network device 2 can determine that it cannot calculate the path to the network device 9.
  • the network device 2 may determine that the network device 6 is a boundary device of the area 2 according to the topology of the area 2, that is, the network device 6 may have the topology of the area 3. Therefore, the network device 2 can determine that the network device 6 assists it in calculating the forwarding path of the message, thereby sending a message 7 to the network device 6, the message 7 is used to request the network device 6 to calculate the path 4 to the network device 9, which path 4 may be the path from network device 6 to network device 9 .
  • Step 806 the network device 6 determines the indication information 3 corresponding to the path 4 according to the message 7 .
  • the network device 6 Since the network device 6 is a boundary device of the area 3, the network device 6 can obtain the topology of the area 3, and therefore, the network device 6 can determine the path 4 from itself to the network device 9 based on the topology of the area 3. In this way, the network device 6 may determine the indication information 3 according to the path 4 from itself to the network device 9 , and the indication information 3 may include, for example, label stack information indicating the path 4 .
  • Step 807 the network device 6 sends the indication information 3 corresponding to the path 4 to the network device 2 .
  • the network device 6 may not only send the indication information 3 corresponding to the path 4 to the network device 2, but also directly send the indication information 3 to the network device 1, which is not specifically limited in this embodiment.
  • Step 808 the network device 2 determines the indication information 4 corresponding to the path 3 according to the indication message 3 .
  • the network device 2 can obtain the path 3 from itself to the network device 9 according to its own path to the network device 6 and the path from the network device 6 to the network device 9 indicated by the instruction information 3, Thereby, the indication information 4 corresponding to the path is determined.
  • Step 809 send the indication information 4 corresponding to the path 3 to the network device 1 .
  • Step 810 the network device 1 determines the path to the network device 9 according to the indication information 4 .
  • the network device 1 can determine to obtain the route from itself to the network device 9 according to the route from itself to the network device 2 and the route 3 indicated by the indication information 4.
  • the above embodiments are taken as examples, the scenarios to which the service processing methods provided by the embodiments of the present application are applied are described. It is understandable that the service processing method provided by the embodiment of the present application can also be applied to a network scenario in which a controller and a repeater are deployed, and the type of the controller deployed in the network to which the embodiment of the present application is applied is not uniquely limited here. .
  • FIG. 9 is a schematic structural diagram of a network device 900 according to an embodiment of the present application.
  • network device 900 includes one or more processors 901, a network interface 902, a programming interface 903, memory 904, and one or more communication buses 905 for interconnecting the various components even.
  • the network device 900 may also omit or add some functional components or units based on the foregoing examples.
  • the network interface 902 is used, among other things, to connect with one or more other network devices/servers in the network system.
  • the communication bus 909 includes circuitry that interconnects and controls communication between system components.
  • Memory 904 may include non-volatile memory such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM) , Electrically Erasable Programmable Read-Only Memory (electrically EPROM, EEPROM) or flash memory.
  • Memory 904 may also include volatile memory, which may be random access memory (RAM), which acts as an external cache.
  • memory 904 or a non-transitory computer-readable storage medium of memory 904 stores the following programs, modules, and data structures, or subsets thereof, including a transceiving unit (not shown) and a processing unit 9041 .
  • the network device 900 may be, for example, the first network device in the foregoing embodiment.
  • the network device 900 may include: a transceiver unit and a processing unit 9041;
  • the network device 900 may have any function of the first network device in the foregoing method 200 or the first network device in the method 300 .
  • the network device 900 may include, for example: a transceiver unit and a processing unit 9041; the transceiver unit is used to perform the above steps 202, 203, 204, 303, 304 or 305; the processing unit 9041 is used to perform the above steps 201, step 301 or step 302.
  • transceiver unit can be realized by the processor calling the program code in the memory, and cooperate with the network interface 902 when needed; it can also be completed by the network interface 902 on the network device 900. Data transmission and reception operations.
  • the network device 900 is configured to execute the service processing methods provided by the embodiments of the present application, for example, to execute the service processing methods corresponding to the embodiments shown in FIG. 2 to FIG. 8( b ).
  • the embodiments of the present application further provide a network device, and the hardware structure of the network device is introduced below.
  • FIG. 10 is a schematic structural diagram of a network device 1000 according to an embodiment of the present application.
  • the network device 1000 may be configured as the first network device in the foregoing method embodiments.
  • the network device 1000 corresponds to the first network device in the foregoing method embodiments, and each hardware, module, and the foregoing other operations and/or functions in the network device 1000 are respectively implemented to implement various methods implemented by the first network device in the method embodiments.
  • the steps and methods regarding the detailed flow of how the network device 1000 forwards the message, the specific details can be found in the above method embodiments, which are not repeated here for brevity.
  • each step of the above-mentioned method 200 or method 300 is completed by an integrated logic circuit of hardware in the processor of the network device 1000 or an instruction in the form of software.
  • the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, detailed description is omitted here.
  • the network device 1000 corresponds to the network device 900 in the above virtual appliance embodiment, and each functional module in the network device 900 is implemented by software of the network device 1000 .
  • the functional modules included in the network device 900 are generated after the processor of the network device 1000 reads the program code stored in the memory.
  • the network device 1000 includes: a main control board 1010 and an interface board 1030 .
  • the main control board 1010 is also called a main processing unit (MPU) or a route processing card (route processor card).
  • the main control board 1010 controls and manages various components in the network device 1000, including route calculation, Equipment maintenance, protocol processing functions.
  • the main control board 1010 includes: a central processing unit 1011 and a memory 1012 .
  • the interface board 1030 is also called a line processing unit (LPU), a line card (line card) or a service board.
  • the interface board 1030 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 1030 includes: a central processing unit 1031 , a network processor 1032 , a forwarding table entry memory 1034 and a physical interface card (ph10sical interface card, PIC) 1033 .
  • the central processing unit 1031 on the interface board 1030 is used to control and manage the interface board 1030 and communicate with the central processing unit 1011 on the main control board 1010 .
  • the network processor 1032 is used to implement packet forwarding processing.
  • the network processor 1032 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 1033 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 1030 through this, and the processed packets are sent from the physical interface card 1033 .
  • the physical interface card 1033 includes at least one physical interface, and the physical interface is also called a physical port.
  • the physical interface card 1033 corresponds to the FlexE physical interface 204 in the system architecture 200 .
  • the physical interface card 1033 is also called a daughter card, which can be installed on the interface board 1030 and is responsible for converting the optoelectronic signal into a message and forwarding the message to the network processor 1032 for processing after checking the validity of the message.
  • the central processing unit 1031 of the interface board 1003 can also perform the functions of the network processor 1032 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1032 is not required in the physical interface card 1033 .
  • the network device 1000 includes multiple interface boards, for example, the network device 1000 further includes an interface board 1040 , and the interface board 1040 includes a central processing unit 1041 , a network processor 1042 , a forwarding table entry storage 1044 and a physical interface card 1043 .
  • the network device 1000 further includes a switch fabric board 1020 .
  • the switch fabric unit 1020 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 1020 is used to complete data exchange between the interface boards.
  • the interface board 1030 and the interface board 1040 may communicate through the switch fabric board 1020 .
  • the main control board 1010 and the interface board 1030 are coupled.
  • the main control board 1010, the interface board 1030, the interface board 1040, and the switch fabric board 1020 are connected to the system backplane through a system bus to implement intercommunication.
  • an inter-process communication (inter-process communication, IPC) channel is established between the main control board 1010 and the interface board 1030, and the main control board 1010 and the interface board 1030 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 1000 includes a control plane and a forwarding plane
  • the control plane includes the main control board 1010 and the central processing unit 1031
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry storage 1034, the physical interface card 1033 and the network processing device 1032.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, configuring and maintaining device status, etc.
  • the control plane delivers the generated forwarding tables to the forwarding plane.
  • the network processor 1032 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 1033 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 1034 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the central processing unit 1011 obtains the message; and adds the first indication information and the second indication information to the message to obtain an updated message.
  • the network processor 1032 triggers the physical interface card 1033 to send the updated packet to the second network device.
  • the central processor 1011 determines the second network device on the forwarding path of the packet according to the service requirement.
  • the network processor 1032 triggers the physical interface card 1033 to send the first message and the second message to the second network device.
  • the transceiver unit in the network device 900 is equivalent to the physical interface card 1033 or the physical interface card 1043 in the network device 1000 ; the acquiring module 901 and the processing unit 902 in the network device 900 may be equivalent to the central processing unit in the network device 1000 1011 or central processing unit 1031.
  • the operations on the interface board 1040 in this embodiment of the present application are the same as the operations on the interface board 1030, and are not repeated for brevity.
  • the network device 1000 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 1010 , the interface board 1030 and/or the interface board 1040 in the network device 1000
  • 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 multiple main control boards, they may include the main main control board and the 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, and there is no restriction here.
  • the above-mentioned first network device or second network device may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • the virtual machine can be configured as a first network device or a second network device.
  • the first network device or the second network device may be implemented based on a general-purpose physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology.
  • Network Functions Virtualization Network Functions Virtualization
  • the first network device or the second network device is a virtual host, a virtual router or a virtual switch.
  • those skilled in the art can virtualize the first network device or the second network device with the above functions on a general physical server in combination with the NFV technology. It will not be repeated here.
  • 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 provides a computer program product, which, when the computer program product runs on a network device, enables the network device to execute the method performed by the first network device in the foregoing method 200 or method 300 .
  • an embodiment of the present application provides a network system 1100 .
  • the system 1100 includes a network device 1101 and a network device 1102 .
  • the network device 1101 may be the first network device in the method 200, the above-mentioned network device 900, and the network device 1000, and the network device 1101 may be the head node in the network;
  • the network device 1102 may be the first network in the method 300.
  • the device, the aforementioned network device 900, the network device 1000, and the network device 1102 are intermediate nodes in the network.
  • the system 1100 may further include a network device 1103, the network device 1103 may be the above-mentioned network device 900 and the network device 1000, and the network device 1103 is a tail node in the network.
  • Embodiments of the present application further provide a chip, including a processor and an interface circuit, where the interface circuit is configured to receive instructions and transmit them to the processor.
  • the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the chip system enables the method in any of the foregoing method embodiments.
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the system-on-chip may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), It can also be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller).
  • controller unit, MCU it can also be a programmable logic device (PLD) or other integrated chips.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean that B is only determined according to A, and B may also be determined according to A and/or other information.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into 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.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional 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 units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device/server, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: a U disk, a removable hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk and other media that can store program codes.

Landscapes

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

Abstract

一种业务处理方法及网络设备,该方法包括:第一网络设备根据业务需求确定报文的转发路径上的第二网络设备;第一网络设备向第二网络设备发送第一消息,以与第二网络设备建立第一连接;第一网络设备利用第一连接向第二网络设备发送第二消息,第二消息用于请求第二网络设备协助确定与转发路径相关的信息。本方案中,第一网络设备在根据业务需求确定需要第二网络设备协助其确定报文的转发路径的相关信息时,再主动与第二网络设备建立连接,并且利用所建立的连接请求第二网络设备协助其确定该转发路径的相关信息,从而实现了连接的按需建立,避免了产生大量空闲的会话连接,节省了资源的开销。

Description

一种业务处理方法及网络设备
本申请要求于2020年9月21日提交中国专利局、申请号为202010997716.9、发明名称为“一种业务处理方法及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种业务处理方法及网络设备。
背景技术
路径计算单元(Path Computation Element,PCE)是一种路径计算架构中的计算单元,可以实现基于各种约束条件的集中式路径计算。路径计算客户端(Path Computation Client,PCC)是一种路径计算架构中的客户端,用于向PCE发送算路请求消息,并在接收到带有算路结果的响应后建立路径连接。PCE则用于接收来自PCC的算路请求消息,根据算路请求消息进行路径计算,并返回算路结果给PCC。
在一些情况下,PCE往往无法独立地确定报文的转发路径的信息。此时,PCE需要向转发路径上的其他PCC发送消息,以请求PCC协助其确定报文的转发路径的信息。由于PCC和PCE之间需要采用专门的路径计算协议(Path Computation Element Communication Protocol,PCEP)进行通信。因此,为了保证PCE能够顺利完成算路,通常需要由网络中可能作为PCC的网络设备预先主动与PCE建立PCEP会话连接。
然而,在一些网络场景下,网络中的所有网络设备都有可能作为PCC。在这些网络场景下,网络中的所有网络设备都需要与PCE建立PCEP会话连接,容易产生大量空闲的会话连接,导致了资源开销大。
发明内容
本申请实施例提供了一种业务处理方法及网络设备,第一网络设备在根据业务需求确定需要第二网络设备协助其确定报文的转发路径的相关信息时,第一网络设备向第二网络设备发送第一消息,从而与第二网络设备建立连接,并且利用所建立的连接请求第二网络设备协助其确定该转发路径的相关信息,从而实现了连接的按需建立,避免了产生大量空闲的会话连接,节省了资源的开销。
本申请第一方面提供一种业务处理方法,包括:第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,所述报文属于所述业务,所述第一网络设备可以是具有路径计算能力的设备,例如网络中的控制器或网络中参与报文转发的网络设备。所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接,所述第一连接例如可以为PECP会话连接;所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息用于请求所述第二网络设备协助确定与所述转发路径相关的信息。
本方案中,第一网络设备在根据业务需求确定需要第二网络设备协助其确定报文的转发路径的相关信息时,再主动与第二网络设备建立连接,并且利用所建立的连接请求第二 网络设备协助其确定该转发路径的相关信息,从而实现了连接的按需建立,避免了产生大量空闲的会话连接,节省了资源的开销。
可选地,在一种可能的实现方式中,所述方法还包括:所述第一网络设备接收所述第二网络设备发送的第三消息,所述第三消息包括与所述转发路径相关的信息。通过由第一网络设备接收第二网络设备反馈的与转发路径相关的信息,可以使得第一网络设备能够基于第二网络设备确定报文的转发路径。
可选地,在一种可能的实现方式中,所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:所述第一网络设备根据所述业务需求,确定所述第一网络设备无法确定与所述报文的所述转发路径相关的信息;所述第一网络设备确定所述第二网络设备,所述第二网络设备用于协助确定与所述转发路径相关的信息。
也就是说,在第一网络设备确定报文的转发路径的过程中,第一网络设备确定其需要第二网络设备来协助其完成转发路径的计算,该第二网络设备可以为转发路径上的网络设备。例如,在需要用到粘连标签来表示转发路径的场景下,第一网络设备可以确定需要第二网络设备来分配相应的粘连标签。又例如,在跨区域转发报文的场景下,第一网络设备可能由于没有另一区域的拓扑而无法计算报文在该另一区域中的转发路径,则第一网络设备可以确定需要第二网络设备来计算报文在该另一区域中的转发路径。
可选地,在一种可能的实现方式中,所述与所述转发路径相关的信息包括用于指示所述转发路径的粘连标签和/或路径标签。
可选地,在一种可能的实现方式中,所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:所述第一网络设备根据所述业务需求确定所述报文的转发路径;所述第一网络设备根据所述报文的转发路径确定所述第二网络设备为粘连节点,所述第二网络设备用于分配粘连标签;所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,包括:所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息包括标签栈信息,所述第二消息用于请求所述第二网络设备分配对应于所述标签栈信息的粘连标签。
可选地,在一种可能的实现方式中,所述第一网络设备根据所述报文的转发路径确定所述第二网络设备为粘连节点,包括:所述第一网络设备根据所述报文的转发路径,确定用于指示所述转发路径的需使用的标签数量大于标签栈支持携带标签的最大数量;所述第一网络设备根据所述转发路径确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备。例如,在第一网络设备确定的转发路径所经过的节点或链路的数量大于标签栈所支持携带标签的最大数量时,用于指示转发路径的标签栈无法完全携带转发路径对应的所有标签。在这种情况下,第一网络设备则可以确定需要使用粘连标签来指示报文的转发。
可选地,在一种可能的实现方式中,所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:所述第一网络设备根据所述业务需求,确定所述第一网络设备无法计算得到所述报文的转发路径;所述第一网络设备根据网络拓扑确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备,所述第二网络设备用于 协助所述第一网络设备计算前往所述目的设备的第一路径。
本方案中,通过在第一网络设备无法计算报文的转发路径时,由第一网络设备请求第二网络设备来协助其计算前往目的设备的路径,能够提高算路的可用性和灵活性。
可选地,在一种可能的实现方式中,所述第一网络设备根据所述业务需求,确定所述第一网络设备无法计算得到所述报文的转发路径,包括:所述第一网络设备根据所述业务需求确定所述报文的目的设备不位于第一区域,所述第一区域为所述第一网络设备所位于的区域;所述第一网络设备根据所述第一区域的拓扑,确定所述第二网络设备,所述第二网络设备为所述第一区域和第二区域的边界设备,所述第二区域为所述目的设备所位于的区域,或者所述第二区域为到达所述目的设备的所述转发路径需经过的区域。
可选地,在一种可能的实现方式中,所述第一网络设备利用所述第一连接向所述第二网络设备发送的第二消息用于请求所述第二网络设备计算前往所述目的设备的第一路径。在第二网络设备发送给第一网络设备的第三消息中则包括有所述第一路径的指示信息。
可选地,在一种可能的实现方式中,所述方法还包括:所述第一网络设备根据所述网络拓扑确定第三网络设备,所述第三网络设备为所述第一区域和所述第二区域的边界设备;所述第一网络设备与所述第三网络设备建立第二连接;所述第一网络设备利用所述第二连接向所述第三网络设备发送第四消息,所述第四消息用于请求所述第三网络设备计算前往所述目的设备的第二路径;所述第一网络设备接收所述第三网络设备发送的第五消息,所述第五消息包括所述第二路径的指示信息;所述第一网络设备根据所述第三消息和所述第五消息,确定所述报文的所述转发路径的部分或全部。
也就是说,第一网络设备在确定第二网络设备和第三网络设备均为第一区域和第二区域的边界设备的情况下,第一网络设备可以与第二网络设备和第三网络设备建立PECP会话连接,从而向第二网络设备和第三网络设备请求计算前往目的设备的路径。在第一网络设备获取到第二网络设备和第三网络设备分别返回的路径指示信息之后,第一网络设备综合两个网络设备返回的路径指示信息确定报文的转发路径,以实现更优路径的选择。
可选地,在一种可能的实现方式中,所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接包括:所述第一网络设备与所述第二网络设备建立传输控制协议(Transmission Control Protocol,TCP)连接;利用所述TCP连接,所述第一网络设备向所述第二网络设备发送所述第一消息,以与所述第二网络设备协商建立所述第一连接。
可选地,在一种可能的实现方式中,所述第一网络设备可以为所述报文的所述转发路径上的头节点设备或控制器。例如,所述第一网络设备为报文端到端转发路径上经过的网络头节点或入口节点,具体可以为隧道的端点设备或网络域的边界节点等。或者,在某些可能的应用场景中,所述第一网络设备为具有网络管理功能的控制器。
可选地,在一种可能的实现方式中,所述第一网络设备和所述第二网络设备均为所述转发路径上的路径计算客户端PCC设备。
可选地,在一种可能的实现方式中,报文的转发路径包括段路由策略(Segement Routing policy,SR policy)路径、基于互联网协议第4版的段路由(Segement Routing  Internet Protocol version 4,SRV4)路径、SRV6路径、基于流量工程的段路由(Segement Routing Traffic Engineering,SR-TE)路径和基于流量工程的多协议标签交换(Multi-protocol label switching Traffic Engineering,MPLS-TE)路径中的一个或多个。
本申请第二方面提供一种网络设备,所述网络设备为第一网络设备,包括:处理单元和收发单元;所述处理单元,用于根据业务需求确定报文的转发路径上的第二网络设备,所述报文属于所述业务;所述收发单元,用于向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接;所述收发单元,还用于利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息用于请求所述第二网络设备协助确定与所述转发路径相关的信息。
可选地,在一种可能的实现方式中,所述收发单元,还用于接收所述第二网络设备发送的第三消息,所述第三消息包括与所述转发路径相关的信息。
可选地,在一种可能的实现方式中,所述处理单元具体用于:根据所述业务需求,确定所述第一网络设备无法确定与所述报文的所述转发路径相关的信息;确定所述第二网络设备,所述第二网络设备用于协助确定与所述转发路径相关的信息。
可选地,在一种可能的实现方式中,所述与所述转发路径相关的信息包括用于指示所述转发路径的粘连标签和/或路径标签。
可选地,在一种可能的实现方式中,所述处理单元,具体用于:根据所述业务需求确定所述报文的转发路径;根据所述报文的转发路径确定所述第二网络设备为粘连节点,所述第二网络设备用于分配粘连标签;所述收发单元,具体用于利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息包括标签栈信息,所述第二消息用于请求所述第二网络设备分配对应于所述标签栈信息的粘连标签。
可选地,在一种可能的实现方式中,所述处理单元,具体用于:根据所述报文的转发路径,确定用于指示所述转发路径的需使用的标签数量大于标签栈支持携带标签的最大数量;根据所述转发路径确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备。
可选地,在一种可能的实现方式中,所述处理单元,具体用于:根据所述业务需求,确定所述第一网络设备无法计算得到所述报文的转发路径;根据网络拓扑确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备,所述第二网络设备用于协助所述第一网络设备计算前往所述目的设备的第一路径。
可选地,在一种可能的实现方式中,所述处理单元,具体用于:根据所述业务需求确定所述报文的目的设备不位于第一区域,所述第一区域为所述第一网络设备所位于的区域;根据所述第一区域的拓扑,确定所述第二网络设备,所述第二网络设备为所述第一区域和第二区域的边界设备,所述第二区域为所述目的设备所位于的区域,或者所述第二区域为到达所述目的设备的所述转发路径需经过的区域。
可选地,在一种可能的实现方式中,所述第一网络设备利用所述第一连接向所述第二网络设备发送的第二消息用于请求所述第二网络设备计算前往所述目的设备的第一路径, 所述第三消息包括所述第一路径的指示信息。
可选地,在一种可能的实现方式中,所述处理单元,具体用于:根据所述网络拓扑确定第三网络设备,所述第三网络设备为所述第一区域和所述第二区域的边界设备;所述收发单元,具体用于:与所述第三网络设备建立第二连接;利用所述第二连接向所述第三网络设备发送第四消息,所述第四消息用于请求所述第三网络设备计算前往所述目的设备的第二路径;接收所述第三网络设备发送的第五消息,所述第五消息包括所述第二路径的指示信息;所述处理单元,还用于根据所述第三消息和所述第五消息,确定所述报文的所述转发路径的部分或全部。
可选地,在一种可能的实现方式中,所述第一连接包括路径计算单元通信协议PCEP连接。
可选地,在一种可能的实现方式中,所述收发单元,具体用于与所述第二网络设备建立传输控制协议TCP连接;利用所述TCP连接,向所述第二网络设备发送所述第一消息,以与所述第二网络设备协商建立所述第一连接。
可选地,在一种可能的实现方式中,所述第一网络设备为所述报文的所述转发路径上的头节点设备。或者,在某些可能的允许场景下,所述第一网络设备也可以为控制器。
可选地,在一种可能的实现方式中,所述第一网络设备和所述第二网络设备均为所述转发路径上的路径计算客户端PCC设备。
可选地,在一种可能的实现方式中,报文的转发路径包括SR policy路径、基于SRV4路径、SRV6路径、SR-TE路径和MPLS-TE路径中的一个或多个。
本申请第三方面提供一种网络设备,该网络设备包括:处理器,用于使得网络设备实现如前述第一方面的任一可能的实现方式中描述的方法。该设备还可以包括存储器,存储器与处理器耦合,处理器执行存储器中存储的指令时,可以使得网络设备实现前述第一方面任一种可能的实现方式描述的方法。该设备还可以包括通信接口,通信接口用于该装置与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
本申请中存储器中的指令可以预先存储也可以使用该网络设备时从互联网下载后存储,本申请对于存储器中指令的来源不进行具体限定。本申请中的耦合是装置、单元或模块之间的间接耦合或连接,其可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
本申请第四方面提供一种计算机存储介质,该计算机存储介质可以是非易失性的;该计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现第一方面中任一项的方法。
本申请第五方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面中任一项的方法。
本申请第六方面提供一种网络系统,该网络系统包括如前述第二方面或第三方面任一实现方式中所述的网络设备以及用于配合所述网络设备计算或获取转发路径相关信息的另一个或多个网络设备。
本申请第七方面提供一种芯片,包括处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式中的方法。可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。本申请提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
上述第二方面至第七方面提供的方案,用于实现或配合实现上述第一方面提供的方法,因此可以与第一方面达到相同或相应的有益效果,此处不再进行赘述。
附图说明
图1为本申请实施例提供的一种网络架构的结构示意图;
图2为本申请实施例提供的一种业务处理方法200的流程示意图;
图3为本申请实施例提供的一种业务处理方法300的流程示意图;
图4(a)为本申请实施例提供的一种报文转发方法400的流程示意图;
图4(b)为本申请实施例提供的一种报文转发方法400的应用网络的架构示意图;
图5(a)为本申请实施例提供的一种报文转发方法500的流程示意图;
图5(b)为本申请实施例提供的一种报文转发方法500的应用网络的架构示意图;
图6为本申请实施例提供的一种业务处理方法600的流程示意图;
图7(a)为本申请实施例提供的一种确定报文的转发路径方法700的流程示意图;
图7(b)为本申请实施例提供的一种确定报文的转发路径方法700的应用网络的架构示意图;
图8(a)为本申请实施例提供的一种确定报文的转发路径方法800的流程示意图;
图8(b)为本申请实施例提供的一种确定报文的转发路径方法800的应用网络的架构示意图;
图9为本申请实施例提供的一种网络设备900的结构示意图;
图10为本申请实施例提供的一种网络设备1000的结构示意图;
图11为本申请实施例提供的一种网络系统1100的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实 施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
PCEP是一种路径计算通信协议,用于PCE和PCC之间的信息交互。PCC可以基于PCEP会话连接向PCE发送算路请求消息;PCE在接收到算路请求消息后,根据算路请求消息进行路径计算,并且基于PCEP会话连接向PCC返回算路结果。
在一些情况下,例如需要采用粘连标签来表示路径的情况下,PCE往往无法独立地确定报文的转发路径的信息。此时,PCE需要向转发路径上的其他PCC发送消息,以请求PCC协助其确定报文的转发路径的信息。上述场景中,PCE可以理解为控制器,而PCC则可以理解为和控制器交互的用于报文转发的网络设备。作为控制器角色的PCE为了实现包括算路在内的各种可能的功能,通常需要和其管理控制的全部PCC之间预先建立通信连接,例如通过PCEP协议建立连接进行通信,否则可能导致控制器的某些功能无法正常实现。
然而,在一些网络场景下,网络中的所有网络设备都有可能作为PCC。在这些网络场景下,网络中的所有网络设备都需要与PCE建立PCEP会话连接,容易产生大量空闲的会话连接,导致了资源开销大。可以参阅图1,图1为本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构中包括控制器、网络设备A、网络设备B、网络设备C以及网络设备D。控制器为PCE,网络设备A为PCC。网络设备A可以作为发起端预先与控制器建立PECP会话连接。这样,在网络设备A需要确定获取到的报文的转发路径时,网络设备A可以通过PCEP会话连接向控制器发送算路请求,以请求控制器计算报文的转发路径。在控制器计算报文的转发路径中,控制器可能需要网络中的其他网络设备协助其确定报文的转发路径的相关信息,例如控制器可能需要网络设备B、网络设备C或网络设备D协助其确定报文的转发路径的相关信息。由于控制器需要基于PCEP会话连接与网络中的其他网络设备进行信息的交互,因此,为了保证控制器能够顺利地完成报文的转发路径的计算,网络设备B、网络设备C以及网络设备D均需要作为发起端提前与控制器建立PCEP会话连接。然而,在实际情况下,控制器可能只需要与网络设备B建立PCEP会话连接。因此,网络中的所有网络设备都与PCE建立PCEP会话连接,容易产生大量空闲的会话连接,导致了资源开销大。
有鉴于此,本申请实施例提供了一种业务处理方法,通过在负责算路的网络设备确定需要另一个网络设备协助其算路时,由负责算路的网络设备向另一个网络设备发起建立连接的请求,以实现连接的按需建立,避免了产生大量空闲的会话连接,节省了资源的开销。
可以参阅图2,图2为本申请实施例提供的一种业务处理方法200的流程示意图。该业务处理方法200可以应用于图1所示的网络结构中。
如图2所示,该报文处理方法200至少包括以下步骤。
步骤201,第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,所述报文属于所述业务。
本实施例中,第一网络设备可以是具有路径计算能力的设备,例如网络中参与报文转发的网络设备或网络中的控制器。在实际部署中,控制器可以独立于网络设备,也可以设置在一个网络设备的内部。该控制器还可以称为网络管理设备。
在第一网络设备为网络中参与报文转发的网络设备的情况下,所述第一网络设备例如可以为报文转发路径上的网络设备。该报文的转发路径可以是报文转发的完整端到端路径上的部分路径,如为第一网络设备所确定的,从第一网络设备开始经过第二网络设备的报文转发路径。即所述第一网络设备也是报文转发路径上的设备,并且报文在到达所述第二网络设备之前先到达第一网络设备。作为可能的示例,所述第一网络设备例如可以是头节点或入口节点角色,例如具体为报文经过的转发路径上的隧道端节点或网络域的边界节点等。在另一些可能的场景中,第一网络设备也可以是报文转发路径上其他位置的节点,但需要通过使用方法200请求路径上的其他节点协助提供与转发路径相关的信息。该第二网络设备为第一网络设备与报文的目的设备之间的网络设备。其中,第一网络设备可以是通过接收待转发的报文来获取业务需求。该业务需求例如可以是将该待转发的报文转发至该待转发的报文指定的目的地址。
在第一网络设备为控制器的情况下,第一网络设备可以是通过接收与其连接的其他网络设备所发送的路径计算请求消息,来获取业务需求。该业务需求例如可以是计算报文从某一网络设备至另一网络设备的转发路径。
也就是说,无论第一网络设备是控制器还是网络中参与报文转发的网络设备,第一网络设备都需要根据获取到的业务需求确定报文的转发路径。
在一个可能的实施例中,第一网络设备可以根据所述业务需求,确定自身无法确定与所述报文的所述转发路径相关的信息;所述第一网络设备确定所述第二网络设备,所述第二网络设备用于协助确定与所述转发路径相关的信息。其中,所述与所述转发路径相关的信息可以包括用于指示所述转发路径的粘连标签和/或路径标签。
也就是说,在第一网络设备确定报文的转发路径的过程中,第一网络设备确定其需要第二网络设备来协助其完成转发路径的计算,该第二网络设备可以为转发路径上的网络设备。例如,在需要用到粘连标签来表示转发路径的场景下,第一网络设备可以确定需要第二网络设备来分配相应的粘连标签。又例如,在跨区域转发报文的场景下,第一网络设备 可能由于没有另一区域的拓扑而无法计算报文在该另一区域中的转发路径,则第一网络设备可以确定需要第二网络设备来计算报文在该另一区域中的转发路径。或者,第一网络设备也可以指示第二网络设备发送与所述转发路径相关的其他信息。
在一个可能的实施例中,报文的转发路径可以包括段路由策略(Segement Routing policy,SR policy)路径、基于互联网协议第4版的段路由(Segement Routing Internet Protocol version 4,SRV4)路径、SRV6路径、基于流量工程的段路由(Segement Routing Traffic Engineering,SR-TE)路径和基于流量工程的多协议标签交换(Multi-protocol label switching Traffic Engineering,MPLS-TE)路径中的一个或多个。也就是说,本实施例所提供的方法可以应用于计算SR policy路径、SRV4路径、SRV6路径、SR-TE路径以及MPLS-TE路径中的一个或多个。
步骤202,所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接。
本实施例中,在第一网络设备确定其需要第二网络设备来确定与所述报文的所述转发路径相关的信息之后,第一网络设备可以向第二网络设备发送第一消息,该第一消息用于请求与第二网络设备建立第一连接。
其中,第一连接可以是用于实现交互路径计算的相关信息的连接。示例性地,该第一连接例如可以为PCEP会话连接。在第一网络设备与第二网络设备建立了第一连接之后,第一网络设备与第二网络设备可以进行路径计算的相关信息的交互,即第一网络设备可以向第二网络设备发送请求消息,以请求第二网络设备确定与所述报文的所述转发路径相关的信息。
可以理解的是,在第一网络设备为报文转发路径上的网络设备的情况下,第一网络设备具有相应的网络拓扑,且第一网络设备与网络中的其他网络设备是链路可达的,第一网络设备能够直接与第二网络设备建立第一连接。在第一网络设备为控制器的情况下,则需要在部署控制器的时候,确定控制器与网络中的其他网络设备链路可达,以保证控制器能够与第二网络设备建立第一连接。
步骤203,所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息用于请求所述第二网络设备协助确定与所述转发路径相关的信息。
在第一连接为PCEP连接的情况下,该第二消息可以例如为路径计算请求(PCEP Path Computation Request,PCReq)消息,可以用于请求所述第二网络设备协助确定与所述转发路径相关的信息。
步骤204,所述第一网络设备接收所述第二网络设备发送的第三消息,所述第三消息包括与所述转发路径相关的信息。
在第二网络设备接收到第一网络设备所发送的第二消息之后,第二网络设备可以根据该第二消息确定与转发路径相关的信息,并且向第一网络设备发送第三消息,该第三消息包括了第二网络设备所确定的与转发路径相关的信息。
在第一连接为PCEP连接的情况下,该第三消息可以例如为路径计算应答(PCEP Path Computation Reply,PCRep)消息,可以反馈与所述转发路径相关的信息。
本实施例中,通过在负责算路的第一网络设备确定需要第二网络设备协助其确定报文的转发路径的相关信息时,由第一网络设备向第二网络设备发起建立连接的请求,以使得第一网络设备能够请求第二网络设备协助确定报文的转发路径的相关信息,从而实现连接的按需建立,避免了产生大量空闲的会话连接,节省了资源的开销。
以上描述了第一网络设备根据业务需求向第二网络设备发起建立第一连接的请求,以实现转发路径的相关信息交互的过程,为便于理解,以下将详细描述第一网络设备与第二网络设备建立第一连接的过程。
以下第一连接为PCEP会话连接为例,第一网络设备与第二网络设备建立第一连接的过程如下所述:
1、第一网络设备作为发起端,通过3次握手与第二网络设备建立传输控制协议(Transmission Control Protocol,TCP)TCP连接。
2、第一网络设备与第二网络设备交互开启(Open)消息,以协商建立PECP会话连接。
3、第一网络设备与第二网络设备交互保活(Keepalive)消息,以维持PECP会话连接。
在过程1中,3次握手的过程包括:第一网络设备作为发起端,向第二网络设备发送连接请求报文,以请求建立TCP连接。第二网络设备接收到连接请求报文之后,向第一网络设备发送应答(acknowledge,ack)报文,并分配相应的资源以建立TCP连接。第一网络设备接收到第二网络设备发送的ack报文之后,同样向第二网络设备发送ack报文,并且分配相应的资源以建立TCP连接。通过3次握手过程,第一网络设备可以与第二网络设备建立TCP连接。
示例性地,第一网络设备向第二网络设备发送的连接请求报文可以为TCP消息,该TCP消息的报文格式可以如下所示:
Figure PCTCN2021110707-appb-000001
Figure PCTCN2021110707-appb-000002
其中,TCP消息中的各个字段的解释如下:
Source Port:源端口号。
Destination Port:目的端口号。
Sequence Number:序列号。
Acknowledgment Number:确认序号。
Data Offset:头部长度。
Reserved:保留位。
URG:紧急指针有效。
ACK:确认序号有效。
PSH:接收方应该尽快将这个报文段交给应用层。
RST:重建连接。
SYN:同步序号,用于发起一个连接。
FIN:发送端完成发送任务。
Window:窗口大小。
Checksum:校验和。
Urgent Pointer:紧急指针。
Options:可选项。
Data:数据。
Destination Port:目的端口号。
其中,PECO会话连接的端口号为4189,第一网络设备通过向第二网络设备发送目的端口号为4189的TCP消息,可以实现与第二网络设备通过3次握手建立TCP连接。
在过程2中,在第一网络设备与第二网络设备建立TCP连接之后,第一网络设备和第二网络设备可以通过相互发送Open消息,来协商建立PECP会话连接。其中,该Open消息例如可以为上述的第一消息。
其中,Open消息的格式可以如下所示:
<Open Message(Open消息)>::=<Common Header(通用头部)>
<OPEN>
其中,Common Header字段表示通用头部,OPEN对象(object)表示具体的Open消息内容。
通用头部的格式可以如下所示:
Figure PCTCN2021110707-appb-000003
其中,通用头部中的各个字段的解释如下:
Ver(Version):PCEP版本号,当前版本号为1。
Flags:预留标记位,尚未定位,设置为全0。
Message-Type:PCEP消息类型,用于当前PECP消息的类型。
Message-Length:PCEP消息总长度,单位字节。
Message-Type字段为不同取值时所对应的含义如下:
1    Open
2    Keepalive
3    路径计算请求(Path Computation Request,PCReq)
4    路径计算应答(Path Computation Reply,PCRep)
5    通知(Notification)
6    错误(Error)
7    关闭(Close)
10   路径计算通告(Path Computation LSP State Report,PCRpt)
11   路径计算更新(Path Computation LSP Update Request,PCUpd)
12   路径计算初始化请求(PCEP Initiate Request,PCInitiate)
OPEN对象的格式具体可以如下所示:
Figure PCTCN2021110707-appb-000004
其中,OPEN对象中的各个字段的解释如下:
Ver:PCEP版本号,当前版本号为1。
Flags:预留标记位,尚未定义,设置为全0。
Keepalive:两个连续的PCEP消息发送的最大间隔,单位为秒。
DeadTimer:两个PCEP邻居超时的时间,一般是4倍的Keepalive。
SID(PCEP session ID):标识一个PCEP会话的序列号。
Optional TLVs:OPEN对象里的可选类型长度值(Type Length Value,TLV)。
以上描述了第一网络设备与第二网络设备建立第一连接的过程,以下将结合附图详细描述第一网络设备在不同场景下,请求第二网络设备协助确定与转发路径相关的信息的过程。
可以参阅图3,图3为本申请实施例提供的一种业务处理方法300的流程示意图。如 图3所示,该业务处理方法300为需要用到粘连标签来表示转发路径的场景下的方法,包括如下的步骤。
步骤301,第一网络设备根据所述业务需求确定所述报文的转发路径。
本实施例中,第一网络设备根据获取到的业务需求确定报文的转发路径。例如,在第一网络设备为控制器时,第一网络设备可以以向其发送业务需求的网络设备为起始设备,计算由起始设备前往报文的目的设备的转发路径。在第一网络设备为网络中参与报文转发的网络设备时,第一网络设备可以根据接收到的报文,以自身为起始设备,计算从自身前往报文的目的设备的转发路径。
步骤302,所述第一网络设备根据所述报文的转发路径确定所述第二网络设备为粘连节点,所述第二网络设备用于分配粘连标签。
可以理解的是,在采用标签表示转发路径的网络中,例如基于流量工程的多协议标签交换(Multi-protocol label switching Traffic Engineering,MPLS-TE)网络或者段路由-多协议标签交换(Segment Routing-MPLS,SR-MPLS)网络等网络,网络设备通过在标签栈中携带多个标签来表示转发路径上的节点或链路,标签栈中的每个标签均可以表示转发路径上所经过的节点或者链路。然而,网络设备所支持的标签栈深是有限制的,即标签栈支持携带标签的数量是有限制的。例如,在一些网络设备中,标签栈所支持携带标签的最大数量可以为10层、18层或28层等。
因此,在网络设备确定的转发路径所经过的节点或链路的数量大于标签栈所支持携带标签的最大数量时,用于指示转发路径的标签栈无法完全携带转发路径对应的所有标签。在这种情况下,则可以使用粘连标签来指示报文的转发。
也就是说,所述第一网络设备可以根据所述报文的转发路径,确定用于指示所述转发路径的需使用的标签数量大于标签栈支持携带标签的最大数量。然后,所述第一网络设备根据所述转发路径确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备,该第二网络设备可以作为分配粘连标签的粘连节点。
其中,第一网络设备根据转发路径确定第二网络设备的方式可以有多种。示例性地,第一网络设备在确定了转发路径之后,可以得到该转发路径对应的标签栈1。第一网络设备可以以转发面上的标签栈支持携带标签的最大数量为基准,在该标签栈1中,从栈底往栈顶的方向数N个标签,以第N个标签所属的网络设备为第二网络设备,N即为标签栈支持携带标签的最大数量。例如,假设第一网络设备的转发面上的标签栈支持携带标签的最大数量为10,第一网络设备可以在生成的标签栈1中,从栈底往栈顶的方向数10个标签,以第10个标签所属的网络设备为第二网络设备。
此外,第一网络设备也可以是以转发面上的标签栈支持携带标签的最大数量为基准,在该标签栈1中,从栈顶往栈底的方向数N个标签,以第N个标签所属的网络设备为第二网络设备,N即为标签栈支持携带标签的最大数量。
第一网络设备还可以是通过其他的方式来确定第二网络设备,例如确定位于目的设备与起始网络设备之间的中点的网络设备为第二网络设备,只要确保在第一网络设备所生成的标签栈中,第二网络设备对应的标签到栈顶标签以及到栈底标签的标签数均不大于转发 面所支持携带标签的最大数量即可。
步骤303,所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接。
其中,步骤303与上述的步骤203类似,具体可以参考步骤203的叙述,在此不再赘述。
步骤304,所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息包括标签栈信息,所述第二消息用于请求所述第二网络设备分配对应于所述标签栈信息的粘连标签。
本实施例中,第一网络设备与第二网络设备建立第一连接之后,第一网络设备可以向第二网络设备发送请求消息,用于请求第二网络设备分配粘连标签。其中,该请求消息包括有标签栈信息,该标签栈信息与请求第二网络设备分配的粘连标签对应。
步骤305,所述第一网络设备接收所述第二网络设备发送的第三消息,所述第三消息包括对应于所述标签栈信息的粘连标签。
本实施例中,第二网络设备接收到第一网络设备发送的第二消息之后,第二网络设备可以从标签池中动态申请一个粘连标签,并且建立该粘连标签与所述标签栈信息之间的对应关系,以便于第二网络设备在接收到携带有粘连标签的报文时,能够将该粘连标签替换为所述标签栈信息。然后,第二网络设备可以将申请到的粘连标签通过第三消息发送给第一网络设备,从而使得第一网络设备可以接收到包括有对应于所述标签栈信息的粘连标签的第三消息。
示例性地,可以参阅图4(a)和图4(b),图4(a)为本申请实施例提供的一种报文转发方法400的流程示意图;图4(b)为本申请实施例提供的一种报文转发方法400的应用网络的架构示意图。如图4(b)所示,第一网络设备可以是指图4(b)中的网络设备1。该报文转发方法400包括以下的步骤。
步骤401,网络设备1计算报文的转发路径,并根据转发路径确定网络设备2。
在第一网络设备为网络设备1的情况下,网络设备1可以从外部网络接收到报文,网络设备1根据该报文的目的地址可以计算到由网络设备1前往网络设备12的路径为“网络设备1-网络设备2-网络设备3-网络设备4-网络设备5-网络设备6-网络设备7-网络设备8-网络设备9-网络设备10-网络设备11-网络设备12”。
假设标签栈支持携带标签的最大数量为10层。在网络设备1计算得到的转发路径为上述路径的情况下,如果标签栈中的标签所表示的是转发路径上的节点,则标签栈需要携带的标签包括{网络设备2-网络设备3-网络设备4-网络设备5-网络设备6-网络设备7-网络设备8-网络设备9-网络设备10-网络设备11-网络设备12},共11层标签;如果标签栈中的标签所表示的是转发路径上的链路,则标签栈需要携带的标签包括{1001-1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},共11层标签。也就是说,用于指示转发路径的标签栈中需要使用的标签数量大于标签栈实际能够支持携带标签的最大数量。因此,网络设备1可以确定转发路径上的某一个网络设备作为粘连节点,以 请求该网络设备分配粘连标签。
本实施例中,由于标签栈支持携带标签的最大数量为10层,网络设备1在上述包括11层标签的标签栈中,从栈底往栈顶的方向数10个标签,以第10个标签(即标签1002)所属的网络设备为粘连节点。然后,网络设备1可以基于流量工程数据库(Traffic Engineering Data Base,TEDB)确定该标签1002来自于网络设备2,从而确定网络设备2为粘连节点。
此外,网络设备1也可以是在上述包括11层标签的标签栈中,从栈顶往栈底的方向数10个标签,以第10个标签(即标签1010)所属的网络设备为粘连节点。然后,网络设备1可以基于TEDB确定该标签1010来自于网络设备11,从而确定网络设备11为粘连节点。
可以理解的是,除了通过上述的方式确定粘连节点之外,也可以是通过其他的方式确定粘连节点。例如,网络设备1确定位于网络设备1与网络设备12之间的任意一个满足条件的网络设备为粘连节点,该条件为:确保作为粘连节点的网络设备对应的标签在上述包括11层标签的标签栈中,到栈顶标签以及到栈底标签的数量不大于10层,比如确定网络设备5或网络设备6等网络设备为粘连节点。
步骤402,网络设备1向网络设备2发送请求消息1,该请求消息1用于请求网络设备2分配粘连标签。
可以理解的是,在网络设备1向网络设备2发送请求消息1之前,网络设备1需要作为发起端,主动与网络设备2建立PECP会话连接。其中,网络设备1与网络设备2建立PECP会话连接的过程可以参考上述实施例的描述,在此不再赘述。
在网络设备1向网络设备2发送的请求消息1中,包括有网络设备1指定的需要与粘连标签建立对应关系的标签栈信息。该标签栈信息例如可以为网络设备1从上述的11层标签中从后往前数的10层标签,即该标签栈信息可以包括{1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},共10层标签。
步骤403,网络设备2申请粘连标签,并建立粘连标签与标签栈信息之间的对应关系。
网络设备2接收到网络设备1发送的请求消息之后,网络设备2可以从标签池中动态申请一个粘连标签,该粘连标签例如可以为粘连标签100。网络设备2还可以根据请求消息中的标签栈信息,建立粘连标签100与标签栈信息之间的对应关系。例如,网络设备2可以生成转发表项,在该转发表项中,粘连标签100与标签栈信息{1002-1003-1004-1005-1006-1007-1008-1009-1010-1011}对应;网络设备2基于粘连标签100在该转发表项查表时,可以查找得到对应的10层标签栈信息。
步骤404,网络设备2向网络设备1发送粘连标签。
步骤405,网络设备1向网络设备2发送报文,该报文携带有粘连标签。
网络设备1在接收到网络设备2发送的粘连标签100之后,网络设备1可以将上述的10层标签栈信息替换为该粘连标签100,即网络设备1生成标签栈{1001,100}。因此,网络设备1在转发报文时,可以基于标签栈{1001,100}的指示,向网络设备2转发该报文。并且,在网络设备1转发该报文之前,网络设备1将标签栈中的标签1001剥离,以使得网 络设备1转发给网络设备2的报文的标签栈中只包括粘连标签100。
步骤406,网络设备2将报文中的粘连标签替换为对应的标签栈,并且向网络设备3转发报文。
网络设备2在接收到网络设备1转发的报文之后,网络设备2可以根据转发表项确定粘连标签100对应的10层标签栈信息,从而将报文中的粘连标签100替换为标签栈{1002-1003-1004-1005-1006-1007-1008-1009-1010-1011}。类似地,网络设备2可以基于替换得到的标签栈确定向网络设备3转发报文,并且在转发该报文之前,将标签栈中的栈顶标签(即标签1002)剥离,从而使得其转发给网络设备3的报文的标签栈中包括{1003-1004-1005-1006-1007-1008-1009-1010-1011},用于指导后续的网络设备转发该报文。
以上以第一网络设备为网络设备1为例,对报文的转发过程进行了描述。在实际情况下,第一网络设备还可以是控制器,以下将以第一网络设备为控制器对报文的转发过程进行详细的描述。
示例性地,可以参阅图5(a)和图5(b),图5(a)为本申请实施例提供的一种报文转发方法500的流程示意图;图5(b)为本申请实施例提供的一种报文转发方法500的应用网络的架构示意图。如图5(b)所示,第一网络设备可以是指图5(b)中的控制器,该报文转发方法500包括以下的步骤。
步骤501,网络设备1向控制器发送算路请求。
网络设备1在接收到需要转发至网络设备12的报文时,网络设备1向控制器发送算路请求,该算路请求携带有网络设备12的地址,以请求控制器计算由网络设备1前往网络设备12的转发路径。
步骤502,控制器计算报文的转发路径,并根据转发路径确定网络设备2。
本实施例中,步骤502与上述的步骤401类似,具体可以参考上述的步骤401,在此不再赘述。
步骤503,控制器向网络设备2发送请求消息2,该请求消息2用于请求网络设备2分配粘连标签。
可以理解的是,在控制器向网络设备2发送请求消息2之前,控制器需要作为发起端,主动与网络设备2建立PECP会话连接。其中,控制器与网络设备2建立PECP会话连接的过程可以参考上述实施例的描述,在此不再赘述。
本实施例中,步骤503与上述的步骤402类似,具体可以参考上述的步骤402,在此不再赘述。
步骤504,网络设备2申请粘连标签,并建立粘连标签与标签栈信息之间的对应关系。
步骤505,网络设备2向控制器发送粘连标签。
本实施例中,步骤504-505与上述的步骤403-404类似,具体可以参考上述的步骤403-404,在此不再赘述。
步骤506,控制器向网络设备1发送标签栈,该标签栈包括该粘连标签。
在控制器获取到网络设备2返回的粘连标签之后,控制器可以基于该粘连标签生成指示转发路径的标签栈{1001,100},即携带指示网络设备1与网络设备2之间的链路的标签以及该粘连标签100。然后,控制器向网络设备1发送该标签栈,以使得网络设备可以基于该标签栈转发报文。
步骤507,网络设备1向网络设备2发送报文,该报文携带有粘连标签。
步骤508,网络设备2将报文中的粘连标签替换为对应的标签栈,并且向网络设备3转发报文。
本实施例中,步骤507-508与上述的步骤405-406类似,具体可以参考上述的步骤405-406,在此不再赘述。
以上描述了在需要用到粘连标签来表示转发路径的场景下,第一网络设备请求第二网络设备分配粘连标签的过程,以下将描述在另一些场景下,第一网络设备请求第二网络设备协助计算转发路径的过程。
可以参阅图6,图6为本申请实施例提供的一种业务处理方法600的流程示意图。如图6所示,该业务处理方法600例如可以为跨域场景下的方法,包括如下的步骤。
步骤601,所述第一网络设备根据所述业务需求,确定所述第一网络设备无法计算得到报文的转发路径。
本实施例中,第一网络设备可以为控制器或网络中参与报文转发的网络设备。在第一网络设备为控制器的情况下,第一网络设备可以获取到计算报文的转发路径的请求,该业务需求可以为计算前往报文的目的设备或指定设备的转发路径。在第一网络设备为网络中参与报文转发的网络设备时,第一网络设备可以接收到待转发的报文,该业务需求可以为将该待转发的报文转发至目的设备或指定设备。也就是说,第一网络设备均需要根据业务需求,计算报文的转发路径。
其中,第一网络设备基于业务需求,可以确定自身无法独立计算得到报文的转发路径。例如,在第一网络设备中没有保存有与报文的目的设备相关的网络拓扑时,第一网络设备无法计算得到报文的转发路径。又例如,在报文具有一定的转发约束条件,例如具有服务等级协议(Service Level Agreement,SLA)要求,而第一网络设备无法获取网络拓扑中全部或部分的链路对应的SLA的情况下,第一网络设备也可能无法计算得到报文的转发路径。
步骤602,所述第一网络设备根据网络拓扑确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备,所述第二网络设备用于协助所述第一网络设备计算前往所述目的设备的第一路径。
本实施例中,在第一网络设备中可以保存有第一网络设备与报文目的设备之间的全局网络拓扑或局部网络拓扑,第一网络设备根据该全局网络拓扑或局部网络拓扑,可以确定需要第二网络设备协助其计算前往所述目的设备的第一路径。
例如,在第一网络设备中只保存有上述的局部网络拓扑时,第一网络设备无法计算得到前往目的设备的完整转发路径。第一网络设备可以确定前往目的设备的部分转发路径, 并且在确定该部分转发路径上的第二网络设备能够计算得到剩余的转发路径的情况下,第一网络设备可以确定该第二网络设备用于协助自身计算前往目的设备的剩余路径,即由第二网络设备前往目的设备的转发路径。
又例如,在报文具有一定的转发约束条件,例如具有服务等级协议(Service Level Agreement,SLA)要求,而第一网络设备无法获取网络拓扑中全部或部分的链路对应的SLA的情况下,第一网络设备可以确定需要第二网络设备协助其计算前往所述目的设备的转发路径,该第二网络设备可以获取到网络拓扑中全部或部分的链路对应的SLA。
在一个可能的实施例中,所述第一网络设备可以根据所述业务需求确定所述报文的目的设备不位于第一区域,所述第一区域为所述第一网络设备所位于的区域,所述第一网络设备只能够获取到第一区域的拓扑。所述第一网络设备根据所述第一区域的拓扑,确定所述第二网络设备,所述第二网络设备为所述第一区域和第二区域的边界设备,所述第二区域为所述目的设备所位于的区域,或者所述第二区域为到达所述目的设备的所述转发路径需经过的区域。
也就是说,在报文转发需要跨区域的情况下,第一网络设备可能无法获取到其他区域的拓扑,因此第一网络设备无法计算得到完整的报文转发路径。此时,第一网络设备可以基于其所在区域的拓扑,确定该区域的边界设备用于协助其计算前往所述目的设备的路径。该边界设备除了位于第一网络设备所在的区域,还可能位于目的设备所在的区域,或者是位于到达所述目的设备的所述转发路径需经过的区域。这样一来,该边界设备可以获取到第一网络设备所在区域之外的区域的拓扑,从而计算得到报文的转发路径。
在其他可能的应用场景中,第一网络设备也可以由于其他原因需要第二网络设备帮助第一网络设备确定与转发路径相关的信息。
步骤603,所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接。
步骤604,所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息。
本实施例中,该二消息可以用于请求所述第二网络设备计算前往所述目的设备的第一路径,该第二消息例如可以包括第一路径的两个端点设备的地址(即第二网络设备的地址以及报文的目的设备的地址)。
步骤605,所述第一网络设备接收所述第二网络设备发送的第三消息,该第三消息包括所述第一路径的指示信息。
该通过第三消息返回的第一路径的指示信息可以用于指示从第二网络设备到达目的设备的完整路径,也可以指示该完整路径中的部分路径。
在一种可能的实现方式中,在第二网络设备接收到第一网络设备发送的第二消息之后,第二网络设备可以确定前往目的设备的第一路径,并且将第一路径对应的指示信息通过第三消息发送给第一网络设备。示例性地,在第二网络设备与报文的目的设备位于同一个区域时,第二网络设备可以基于该区域的拓扑计算从自身前往报文的目的设备的路径,并且将计算得到的指示该路径的标签栈信息作为路径的指示信息,通过第三消息发送给第一网络设备。
在另一种可能的实现方式中,第二网络设备也可以是确定报文需要经过的区域的拓扑,并且将该区域的拓扑通过第三消息发送给第一网络设备。示例性地,在第二网络设备与报文的目的设备位于同一个区域时,第二网络设备可以确定报文需要经过该区域到达目的设备,因此第二网络设备可以将该区域的拓扑作为路径的指示信息,通过第三消息发送给第一网络设备。这样,第一网络设备就可以获取到目的设备所在区域的拓扑,从而基于该区域的拓扑计算得到前往目的设备的路径。
在一个可能的实施例中,第一网络设备还可以是确定多个协助其计算前往目的设备的路径的网络设备,并且与该多个网络设备建立连接,以向该多个网络设备请求协助计算前往目的设备的路径。
示例性地,该报文转发方法600还可以包括:
所述第一网络设备根据所述网络拓扑确定第三网络设备,所述第三网络设备为前述第一区域和前述第二区域的边界设备,即第三网络设备所处的区域与第二网络设备所处的区域相同。所述第一网络设备与所述第三网络设备建立第二连接,该第二连接例如可以为PECP会话连接。所述第一网络设备利用所述第二连接向所述第三网络设备发送第四消息,所述第四消息用于请求所述第三网络设备计算前往所述目的设备的第二路径。所述第一网络设备接收所述第三网络设备发送的第五消息,所述第五消息包括所述第二路径的指示信息。所述第一网络设备根据所述第三消息和所述第五消息,确定所述报文的所述转发路径的部分或全部,例如第一网络设备可以根据预置的路径选择策略,在第二网络设备和第三网络设备所反馈的路径中选择其中的一条,来确定报文的转发路径。
也就是说,第一网络设备在确定第二网络设备和第三网络设备均为第一区域和第二区域的边界设备的情况下,第一网络设备可以与第二网络设备和第三网络设备建立PECP会话连接,从而向第二网络设备和第三网络设备请求计算前往目的设备的路径。在第一网络设备获取到第二网络设备和第三网络设备返回的路径指示信息之后,第一网络设备综合两个网络设备返回的路径指示信息确定报文的转发路径。
为了便于理解,以下将结合具体例子详细描述在跨域场景下确定报文的转发路径的过程。可以参阅图7(a)和图7(b),图7(a)为本申请实施例提供的一种确定报文的转发路径方法700的流程示意图;图7(b)为本申请实施例提供的一种确定报文的转发路径方法700的应用网络的架构示意图。如图7(b)所示,网络设备1、网络设备2和网络设备3处于区域1,网络设备2和网络设备3同时还处于区域2,网络设备4、网络设备5和网络设备6处于区域2。
该确定报文的转发路径方法700包括以下的步骤。
步骤701,网络设备1根据业务需求,确定自身无法计算得到报文的转发路径。
其中,该业务需求可以是将报文转发至网络设备6。由于网络设备6处于区域2,而网络设备1位于区域1,并且网络设备1中不具有区域2的拓扑,因此,网络设备1可以确定自身无法计算得到前往网络设备6的路径。该网络设备6可以是报文的目的设备,也可 以不是报文的目的设备,但与目的设备连接。
步骤702,网络设备1根据区域1的拓扑,确定网络设备2和网络设备3。
网络设备1根据区域1的拓扑,可以确定网络设备2和网络设备3为区域1的边界设备,网络设备2和网络设备3可能具有区域2的拓扑。因此,网络设备1可以确定由网络设备2和网络设备3来协助其计算报文的转发路径。
步骤703,网络设备1向网络设备2发送消息1,以与网络设备2建立PECP会话连接1。
步骤704,网络设备1向网络设备3发送消息2,以与网络设备3建立PECP会话连接2。
其中,网络设备1与网络设备2以及网络设备3建立PECP会话连接的过程可以参考上述的实施例,此处不再赘述。
步骤705,网络设备1利用PECP会话连接1向网络设备2发送消息3,该消息3用于请求网络设备2计算前往网络设备6的路径1。
其中,该前往网络设备6的路径1可以是指从网络设备2前往网络设备6的路径。
步骤706,网络设备1利用PECP会话连接2向网络设备3发送消息4,该消息4用于请求网络设备3计算前往网络设备6的路径2。
其中,该前往网络设备6的路径2可以是指从网络设备3前往网络设备6的路径。
步骤707,网络设备2根据消息3,确定路径1的指示信息1。
由于网络设备2为区域2的边界设备,网络设备2可以获得区域2的拓扑,因此,网络设备2可以基于区域2的拓扑确定从自身前往网络设备6的路径1。这样,网络设备2可以根据从自身前往网络设备6的路径1确定指示信息1,该指示信息1例如可以包括指示路径1的标签栈信息。
步骤708,网络设备2向网络设备1发送指示信息1。
步骤709,网络设备3根据消息4,确定路径2的指示信息2。
类似地,由于网络设备3为区域2的边界设备,网络设备3同样可以获得区域2的拓扑,并且能够基于区域2的拓扑确定从自身前往网络设备6的路径2。这样,网络设备3可以根据从自身前往网络设备6的路径2确定指示信息2,该指示信息2例如可以包括指示路径2的标签栈信息。
步骤710,网络设备3向网络设备1发送指示信息2。
步骤711,网络设备1根据指示信息1和指示信息2,确定前往网络设备6的路径。
网络设备1在接收到路径1对应的指示信息1以及路径2对应的指示信息2之后,可以获得从网络设备2前往网络设备6的路径1以及从网络设备3前往网络设备6的路径2。网络设备1可以基于预置的路径选择策略,在路径1和路径2中选择一条路径,从而确定前往网络设备6的路径。例如,网络设备1在路径1和路径2中选择了路径1,则网络设备可以生成从网络设备1前往网络设备2,再从网络设备2前往网络设备6的路径。
以上描述了在报文的转发路径跨一个域的场景下,确定报文的转发路径的过程。以下 将结合具体例子详细描述在报文的转发路径跨多个域的场景下,确定报文的转发路径的过程。
可以参阅图8(a)和图8(b),图8(a)为本申请实施例提供的一种确定报文的转发路径方法800的流程示意图;图8(b)为本申请实施例提供的一种确定报文的转发路径方法800的应用网络的架构示意图。
如图8(b)所示,网络设备1、网络设备2和网络设备3处于区域1,网络设备2、网络设备3、网络设备4、网络设备5和网络设备6处于区域2,网络设备6、网络设备7、网络设备8和网络设备9处于区域3。
该确定报文的转发路径方法800包括以下的步骤。
步骤801,网络设备1根据业务需求,确定自身无法计算得到报文的转发路径。
其中,该业务需求可以是将报文转发至网络设备9。由于网络设备9处于区域3,而网络设备1位于区域1,并且网络设备1中不具有区域3的拓扑,因此,网络设备1可以确定自身无法计算得到前往网络设备9的路径。
步骤802,网络设备1根据区域1的拓扑,确定网络设备2。
网络设备1根据区域1的拓扑,可以确定网络设备2为区域1的边界设备,网络设备2可能具有区域3的拓扑。因此,网络设备1可以确定由网络设备2来协助其计算报文的转发路径。
步骤803,网络设备1向网络设备2发送消息5,以与网络设备2建立PECP会话连接3。
步骤804,网络设备1利用PECP会话连接3向网络设备2发送消息6,该消息6用于请求网络设备2计算前往网络设备9的路径3。
其中,该前往网络设备9的路径3可以是指从网络设备2前往网络设备9的路径。
步骤805,网络设备2向网络设备6发送消息7,该消息7用于请求网络设备6计算前往网络设备9的路径4。
由于网络设备9位于区域3中,网络设备2中并没有区域3的拓扑,因此,网络设备2可以确定其无法计算得到前往网络设备9的路径。此时,网络设备2可以根据区域2的拓扑,确定网络设备6为区域2的边界设备,即网络设备6可能具有区域3的拓扑。因此,网络设备2可以确定由网络设备6来协助其计算报文的转发路径,从而向网络设备6发送消息7,该消息7用于请求网络设备6计算前往网络设备9的路径4,该路径4可以为从网络设备6前往网络设备9的路径。
步骤806,网络设备6根据消息7确定路径4对应的指示信息3。
由于网络设备6为区域3的边界设备,网络设备6可以获得区域3的拓扑,因此,网络设备6可以基于区域3的拓扑确定从自身前往网络设备9的路径4。这样,网络设备6可以根据从自身前往网络设备9的路径4确定指示信息3,该指示信息3例如可以包括指示路径4的标签栈信息。
步骤807,网络设备6向网络设备2发送路径4对应的指示信息3。
可以理解的是,网络设备6除了可以是向网络设备2发送路径4对应的指示信息3, 网络设备6也可以是直接向网络设备1发送该指示信息3,本实施例并不做具体限定。
步骤808,网络设备2根据指示消息3确定路径3对应的指示信息4。
在网络设备获得指示信息3之后,网络设备2可以根据自身前往网络设备6的路径以及指示信息3所指示的从网络设备6前往网络设备9的路径,得到从自身前往网络设备9的路径3,从而确定路径对应的指示信息4。
步骤809,向网络设备1发送路径3对应的指示信息4。
步骤810,网络设备1根据指示信息4,确定前往网络设备9的路径。
类似地,网络设备1在得到指示信息4之后,网络设备1可以根据从自身前往网络设备2的路径以及指示信息4所指示的路径3,确定得到从自身前往网络设备9的路径。
以上各实施例虽然以为例,对本申请实施例提供的业务处理方法所应用的场景进行了说明。可以理解地,本申请实施例提供的业务处理方法还可以应用于部署有控制器和转发器的网络场景,在此并不对本申请实施例所应用的网络中所部署的控制器类型做唯一限定。
为了实现上述实施例,本申请还提供了一种网络设备。可以参阅图9,图9为本申请实施例提供的一种网络设备900的结构示意图。
图9所示的网络设备900尽管示出了某些特定特征,但是本领域的技术人员将从本申请实施例中意识到,为了简洁起见,图9未示出各种其他特征,以免混淆本申请实施例所公开的实施方式的更多相关方面。为此,作为示例,在一些实现方式中,网络设备900包括一个或多个处理器901、网络接口902、编程接口903、存储器904和一个或多个通信总线905,用于将各种组件互连。在另一些实现方式中,网络设备900也可以在上述示例基础上省略或增加部分功能部件或单元。
在一些实现方式中,网络接口902除其他用途外,用于在网络系统中和一个或多个其他的网络设备/服务器连接。在一些实现方式中,通信总线909包括互连和控制系统组件之间的通信的电路。存储器904可以包括非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器904也可以包括易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
在一些实现中,存储器904或存储器904的非暂时性计算机可读存储介质存储以下程序、模块和数据结构,或其子集,具体包括收发单元(图中未示出)和处理单元9041。
在一个可能的实施例中,该网络设备900例如可以为上述实施例中的第一网络设备。该网络设备900中例如可以包括:收发单元和处理单元9041;
在一个可能的实施例中,该网络设备900可以具有上述方法200中的第一网络设备或方法300中的第一网络设备的任意功能。该网络设备900中例如可以包括:收发单元和处理单元9041;收发单元用于执行上述的步骤202、步骤203、步骤204、步骤303、步骤304或步骤305;处理单元9041用于执行上述的步骤201、步骤301或步骤302。
可以理解的是,以上所述的收发单元的功能可以是由处理器调用存储器中的程序代码来实现,并在需要时配合网络接口902;也可以是由网络设备900上的网络接口902来完成数据的收发操作。
在各种实现中,网络设备900用于执行本申请实施例提供的业务处理方法,例如是执行上述图2至图8(b)所示的实施例所对应的业务处理方法。
与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
可以参阅图10,图10为本申请实施例提供的一种网络设备1000的结构示意图,该网络设备1000可以配置为上述方法实施例中的第一网络设备。
网络设备1000对应于上述方法实施例中的第一网络设备,网络设备1000中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中的第一网络设备所实施的各种步骤和方法,关于网络设备1000如何转发报文的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。其中,上述方法200或方法300的各步骤通过网络设备1000处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
网络设备1000对应于上述虚拟装置实施例中的网络设备900,网络设备900中的每个功能模块采用网络设备1000的软件实现。换句话说,网络设备900包括的功能模块为网络设备1000的处理器读取存储器中存储的程序代码后生成的。
网络设备1000包括:主控板1010和接口板1030。
主控板1010也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1010对网络设备1000中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1010包括:中央处理器1011和存储器1012。
接口板1030也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板1030用于提供各种业务接口并实现数据包的转发。业务接口包括但不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1030包括:中央处理器1031、网络处理器1032、转发表项存储器1034和物理接口卡(ph10sical interface card,PIC)1033。
接口板1030上的中央处理器1031用于对接口板1030进行控制管理并与主控板1010上的中央处理器1011进行通信。
网络处理器1032用于实现报文的转发处理。网络处理器1032的形态可以是转发芯 片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1033用于实现物理层的对接功能,原始的流量由此进入接口板1030,以及处理后的报文从该物理接口卡1033发出。物理接口卡1033包括至少一个物理接口,物理接口也称物理口,物理接口卡1033对应于系统架构200中的FlexE物理接口204。物理接口卡1033也称为子卡,可安装在接口板1030上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1032处理。在一些实施例中,接口板1003的中央处理器1031也可执行网络处理器1032的功能,比如基于通用CPU实现软件转发,从而物理接口卡1033中不需要网络处理器1032。
可选地,网络设备1000包括多个接口板,例如网络设备1000还包括接口板1040,接口板1040包括:中央处理器1041、网络处理器1042、转发表项存储器1044和物理接口卡1043。
可选地,网络设备1000还包括交换网板1020。交换网板1020也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板1030的情况下,交换网板1020用于完成各接口板之间的数据交换。例如,接口板1030和接口板1040之间可以通过交换网板1020通信。
主控板1010和接口板1030耦合。例如,主控板1010、接口板1030和接口板1040,以及交换网板1020之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1010和接口板1030之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1010和接口板1030之间通过IPC通道进行通信。
在逻辑上,网络设备1000包括控制面和转发面,控制面包括主控板1010和中央处理器1031,转发面包括执行转发的各个组件,比如转发表项存储器1034、物理接口卡1033和网络处理器1032。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1032基于控制面下发的转发表对物理接口卡1033收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1034中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备1000被配置为方法200中的第一网络设备,中央处理器1011获取报文;在报文中添加第一指示信息和第二指示信息,以得到更新的报文。网络处理器1032触发物理接口卡1033向第二网络设备发送更新的报文。
如果网络设备1000被配置为方法300中的第一网络设备,中央处理器1011根据业务需求确定报文的转发路径上的第二网络设备。网络处理器1032触发物理接口卡1033向第二网络设备发送第一消息和第二消息。
应理解,网络设备900中的收发单元相当于网络设备1000中的物理接口卡1033或物理接口卡1043;网络设备900中的获取模块901和处理单元902可以相当于网络设备1000中的中央处理器1011或中央处理器1031。
应理解,本申请实施例中接口板1040上的操作与接口板1030的操作一致,为了简 洁,不再赘述。应理解,本实施例的网络设备1000可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备1000中的主控板1010、接口板1030和/或接口板1040可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备。此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法200或方法300中第一网络设备执行的方法。
参见图11,本申请实施例提供了一种网络系统1100,系统1100包括:网络设备1101和网络设备1102。可选的,网络设备1101可以为方法200中的第一网络设备、上述的网络设备900、网络设备1000,网络设备1101为网络中的头节点;网络设备1102可以为方法300中的第一网络设备、上述的网络设备900、网络设备1000,网络设备1102为网络中的中间节点。可选的,系统1100还可以包括网络设备1103,网络设备1103可以为上述的网络设备900、网络设备1000,网络设备1103为网络中的尾节点。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
以上对本申请实施例进行了详细介绍,本申请实施例方法中的步骤可以根据实际需要进行顺序调度、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些 功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备/服务器等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (17)

  1. 一种业务处理方法,其特征在于,包括:
    第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,所述报文属于所述业务;
    所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接;
    所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息用于请求所述第二网络设备协助确定与所述转发路径相关的信息。
  2. 根据权利要求1所述的业务处理方法,其特征在于,所述方法还包括:
    所述第一网络设备接收所述第二网络设备发送的第三消息,所述第三消息包括与所述转发路径相关的信息。
  3. 根据权利要求1或2所述的业务处理方法,其特征在于,所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:
    所述第一网络设备根据所述业务需求,确定所述第一网络设备无法确定与所述报文的所述转发路径相关的信息;
    所述第一网络设备确定所述第二网络设备,所述第二网络设备用于协助确定与所述转发路径相关的信息。
  4. 根据权利要求1或2所述的业务处理方法,其特征在于,所述与所述转发路径相关的信息包括用于指示所述转发路径的粘连标签和/或路径标签。
  5. 根据权利要求1所述的业务处理方法,其特征在于,
    所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:
    所述第一网络设备根据所述业务需求确定所述报文的转发路径;
    所述第一网络设备根据所述报文的转发路径确定所述第二网络设备为粘连节点,所述第二网络设备用于分配粘连标签;
    所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,包括:
    所述第一网络设备利用所述第一连接向所述第二网络设备发送第二消息,所述第二消息包括标签栈信息,所述第二消息用于请求所述第二网络设备分配对应于所述标签栈信息的粘连标签。
  6. 根据权利要求5所述的业务处理方法,其特征在于,所述第一网络设备根据所述报文的转发路径确定所述第二网络设备为粘连节点,包括:
    所述第一网络设备根据所述报文的转发路径,确定用于指示所述转发路径的需使用的标签数量大于标签栈支持携带标签的最大数量;
    所述第一网络设备根据所述转发路径确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备。
  7. 根据权利要求2所述的业务处理方法,其特征在于,所述第一网络设备根据业务需求确定报文的转发路径上的第二网络设备,包括:
    所述第一网络设备根据所述业务需求,确定所述第一网络设备无法计算得到所述报文的转发路径;
    所述第一网络设备根据网络拓扑确定所述第二网络设备,所述第二网络设备为所述报文的转发路径上的网络设备,所述第二网络设备用于协助所述第一网络设备计算前往所述目的设备的第一路径。
  8. 根据权利要求7所述的业务处理方法,其特征在于,所述第一网络设备根据所述业务需求,确定所述第一网络设备无法计算得到所述报文的转发路径,包括:
    所述第一网络设备根据所述业务需求确定所述报文的目的设备不位于第一区域,所述第一区域为所述第一网络设备所位于的区域;
    所述第一网络设备根据所述第一区域的拓扑,确定所述第二网络设备,所述第二网络设备为所述第一区域和第二区域的边界设备,所述第二区域为所述目的设备所位于的区域,或者所述第二区域为到达所述目的设备的所述转发路径需经过的区域。
  9. 根据权利要求7或8所述的业务处理方法,其特征在于,所述第一网络设备利用所述第一连接向所述第二网络设备发送的第二消息用于请求所述第二网络设备计算前往所述目的设备的第一路径,所述第三消息包括所述第一路径的指示信息。
  10. 根据权利要求9所述的业务处理方法,其特征在于,所述方法还包括:
    所述第一网络设备根据所述网络拓扑确定第三网络设备,所述第三网络设备为所述第一区域和所述第二区域的边界设备;
    所述第一网络设备与所述第三网络设备建立第二连接;
    所述第一网络设备利用所述第二连接向所述第三网络设备发送第四消息,所述第四消息用于请求所述第三网络设备计算前往所述目的设备的第二路径;
    所述第一网络设备接收所述第三网络设备发送的第五消息,所述第五消息包括所述第二路径的指示信息;
    所述第一网络设备根据所述第三消息和所述第五消息,确定所述报文的所述转发路径的部分或全部。
  11. 根据权利要求1至10任意一项所述的业务处理方法,其特征在于,所述第一连接包括路径计算单元通信协议PCEP连接。
  12. 根据权利要求11所述的业务处理方法,其特征在于,所述第一网络设备向所述第二网络设备发送第一消息,以与所述第二网络设备建立第一连接包括:
    所述第一网络设备与所述第二网络设备建立传输控制协议TCP连接;
    利用所述TCP连接,所述第一网络设备向所述第二网络设备发送所述第一消息,以与所述第二网络设备协商建立所述第一连接。
  13. 根据权利要求1至12任意一项所述的业务处理方法,其特征在于,
    所述第一网络设备为所述报文的所述转发路径上的头节点设备。
  14. 根据权利要求13所述的业务处理方法,其特征在于,
    所述第一网络设备和所述第二网络设备均为所述转发路径上的路径计算客户端PCC设备。
  15. 根据权利要求1至14任意一项所述的业务处理方法,其特征在于,报文的转发路径包括段路由策略SR policy路径、基于互联网协议第4版的段路由SRV4路径、基于互联网协议第6版的段路由SRV6路径、基于流量工程的段路由SR-TE路径和基于流量工程的多协议标签交换MPLS-TE路径中的一个或多个。
  16. 一种网络设备,其特征在于,包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行存储器中的指令,使得所述网络设备执行如权利要求1至15任意一项所述的方法。
  17. 一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现如权利要求1至15任意一项所述的方法。
PCT/CN2021/110707 2020-09-21 2021-08-05 一种业务处理方法及网络设备 WO2022057490A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21868319.1A EP4207641A4 (en) 2020-09-21 2021-08-05 SERVICE PROCESSING METHOD AND NETWORK DEVICE
US18/187,515 US20230283544A1 (en) 2020-09-21 2023-03-21 Service Processing Method and Network Device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010997716.9 2020-09-21
CN202010997716.9A CN114301832A (zh) 2020-09-21 2020-09-21 一种业务处理方法及网络设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/187,515 Continuation US20230283544A1 (en) 2020-09-21 2023-03-21 Service Processing Method and Network Device

Publications (1)

Publication Number Publication Date
WO2022057490A1 true WO2022057490A1 (zh) 2022-03-24

Family

ID=80777538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/110707 WO2022057490A1 (zh) 2020-09-21 2021-08-05 一种业务处理方法及网络设备

Country Status (4)

Country Link
US (1) US20230283544A1 (zh)
EP (1) EP4207641A4 (zh)
CN (1) CN114301832A (zh)
WO (1) WO2022057490A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289028A1 (en) * 2016-03-30 2017-10-05 Juniper Networks, Inc. Label switched path reporting
CN110290068A (zh) * 2018-03-19 2019-09-27 华为技术有限公司 一种粘连标签的发送方法、接收方法及设备
CN110661700A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN111245644A (zh) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 一种sdn场景下扩展pcep协议自动创建隧道的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289028A1 (en) * 2016-03-30 2017-10-05 Juniper Networks, Inc. Label switched path reporting
CN110290068A (zh) * 2018-03-19 2019-09-27 华为技术有限公司 一种粘连标签的发送方法、接收方法及设备
CN110661700A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 一种传输路径故障的处理方法、装置及系统
CN111245644A (zh) * 2019-12-31 2020-06-05 网络通信与安全紫金山实验室 一种sdn场景下扩展pcep协议自动创建隧道的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4207641A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242552A (zh) * 2022-09-21 2022-10-25 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置
CN115242552B (zh) * 2022-09-21 2022-12-13 北京中科网威信息技术有限公司 基于ipsec的报文转发方法及装置

Also Published As

Publication number Publication date
CN114301832A (zh) 2022-04-08
EP4207641A4 (en) 2024-01-24
US20230283544A1 (en) 2023-09-07
EP4207641A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
CN108574616B (zh) 一种处理路由的方法、设备及系统
EP3731474B1 (en) Path computation element central controllers (pceccs) for network services
WO2020001393A1 (zh) 发送网络性能参数、计算网络性能的方法和网络节点
US7787380B1 (en) Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy
EP2135101B1 (en) Pseudowire load balancing
US7839862B1 (en) Upstream label assignment for the label distribution protocol
US8767741B1 (en) Upstream label assignment for the resource reservation protocol with traffic engineering
CN107276899B (zh) 标签交换路径报告系统、方法和网络设备
EP2680144A2 (en) Distributed processing of network device tasks
CN107396396B (zh) 支持多源多径的数据传输管理方法
WO2015192501A1 (zh) 地址信息的发布方法及装置
WO2021179718A1 (zh) 一种报文传输方法、装置和网络设备
WO2020173198A1 (zh) 一种报文的处理方法、报文转发装置以及报文处理装置
CN108881017B (zh) 改变多路径标签交换路径中每跳带宽约束的方法及路由器
US20230208751A1 (en) Packet forwarding method, device, and system
WO2022057490A1 (zh) 一种业务处理方法及网络设备
WO2022111372A1 (zh) 报文传输方法、装置、设备及计算机可读存储介质
WO2022007702A1 (zh) 一种报文处理方法及网络设备
WO2015024440A1 (zh) 一种获取ip链路的链路开销值的方法及系统
JP6736764B2 (ja) Sfcネットワークにおけるトポロジー情報を同期させるための方法、およびルーティングネットワーク要素
WO2022188530A1 (zh) 一种路由处理方法及网络设备
WO2022166465A1 (zh) 一种报文处理方法及相关装置
WO2022057487A1 (zh) 路径标识的分配方法、系统、装置、设备以及存储介质
WO2022194193A1 (zh) 用于获取路径的方法和装置
WO2024104171A1 (zh) 一种资源配置方法和装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021868319

Country of ref document: EP

Effective date: 20230328

NENP Non-entry into the national phase

Ref country code: DE