WO2022228090A1 - Path learning method and device, service node, and storage medium - Google Patents

Path learning method and device, service node, and storage medium Download PDF

Info

Publication number
WO2022228090A1
WO2022228090A1 PCT/CN2022/085900 CN2022085900W WO2022228090A1 WO 2022228090 A1 WO2022228090 A1 WO 2022228090A1 CN 2022085900 W CN2022085900 W CN 2022085900W WO 2022228090 A1 WO2022228090 A1 WO 2022228090A1
Authority
WO
WIPO (PCT)
Prior art keywords
service node
forwarding sequence
path
packet
forwarding
Prior art date
Application number
PCT/CN2022/085900
Other languages
French (fr)
Chinese (zh)
Inventor
郑若滨
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022228090A1 publication Critical patent/WO2022228090A1/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/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a path learning method, device, service node and storage medium.
  • IP Internet Protocol
  • the service node in the network sends a packet carrying the destination IP address to the network node, and the network node (such as a router, etc.) determines the local path through the destination IP address of the packet, thereby realizing packet forwarding.
  • the present application provides a path learning method, device, service node and storage medium.
  • the method enables a thin terminal in a network to obtain a required forwarding sequence without calculating by itself, thereby realizing the forwarding of subsequent packets.
  • the present application provides a path learning method, including: a first service node receives a first packet, the first packet includes at least one forwarding sequence, and then obtains the first packet according to at least one forwarding sequence in the first packet.
  • a forwarding sequence where the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
  • the first service node obtains the first forwarding sequence through at least one forwarding sequence in the received first packet, and does not need to calculate by itself, so that the thin terminal in the network can also obtain the required forwarding sequence.
  • the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node.
  • the message carries the
  • the first forwarding sequence enables each network node on the path to determine the identifier of the local path according to the forwarding sequence in the message after receiving the message, and use the local path corresponding to the determined identifier of the local path. For forwarding, there is no need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for network nodes.
  • the forwarding sequence describes a path from one service node to another service node, and the path has a direction, so the forwarding sequence can also be called a path vector.
  • a port includes, but is not limited to, a physical port, a virtual port, a link or a channel, etc.
  • a port may be a wired port or a wireless port.
  • the thin terminal refers to a service node whose computing capability is not higher than the threshold, that is, the computing capability of the first service node is not higher than the threshold.
  • Obtaining the first forwarding sequence from at least one forwarding sequence of the first packet can be implemented in at least the following two ways:
  • the first is that at least one forwarding sequence carried by the first packet includes the first forwarding sequence.
  • the first forwarding sequence can be directly parsed from the first packet.
  • the at least one forwarding sequence carried in the first packet does not include the first forwarding sequence, but includes other forwarding sequences related to the first forwarding sequence, and the first forwarding sequence is obtained based on the forwarding sequence.
  • the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in a source address field of the first packet, or the first forwarding sequence is located in an extended header of the first packet ;
  • Obtaining the first forwarding sequence based on at least one forwarding sequence in the first packet includes:
  • the first forwarding sequence is acquired from the source address field of the first packet or the extended packet header of the first packet.
  • the at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet ;
  • the second forwarding sequence includes path identifiers of each node on the transmission path from the second service node to the first service node.
  • the first service node obtains the first forwarding sequence as follows:
  • the network nodes passing through are all forwarded by the path determined by the second forwarding sequence in the first packet.
  • the first service node In order for the first service node to obtain a complete second forwarding sequence, it is necessary to ensure that the second forwarding sequence does not change during the transmission process, and for the correct transmission of the first packet, it is also necessary to ensure that each network node can determine that it corresponds to the second forwarding sequence.
  • the identification of which path in the forwarding sequence therefore, it is necessary to set the indication information in the message to realize this function.
  • the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet.
  • the indication information is a count value, and each time the first packet passes through a node, the count value increases or decreases by one, so that each network node can determine the identifier of which path in the second forwarding sequence it corresponds to according to the count value. Then forwarding is performed based on the identified path identifier.
  • the first packet is actively sent by other service nodes, or the first service node first sends a service request and then receives the first packet returned by other service nodes.
  • the method further includes: before the first service node receives the first packet, sending a path acquisition request, where the path acquisition request is used to request the first forwarding sequence.
  • the path acquisition request is sent in unicast mode or in broadcast mode. That is, send a path get request, including:
  • broadcast a path get request Alternatively, broadcast a path get request.
  • the opposite end should also meet the computing capability requirements to ensure that the opposite end can calculate the first forwarding sequence. For example, the computing capability of the third service node is higher than threshold, the computing capability of the third service node is naturally higher than the computing capability of the first service node.
  • the computing capability of the third service node is obtained through a routing message or an advertisement message.
  • the first service node Before other service nodes calculate the first path, the first service node needs to announce its own port information in the network, so that other service nodes can use the port information to calculate the first path.
  • the method further includes: before the first service node receives the first message, sending device information of the first service node through a routing message or an advertisement message, where the device information includes the identifier of the service provided by the first service node and the first message.
  • Port information of a service node, and device information of the first service node is used for other service nodes (eg, the aforementioned third service node) in the network where the first service node is located to perform the calculation of at least one forwarding sequence.
  • the first forwarding sequence is used to send the message, that is, the method further includes: sending a third message to the second service node, the third message A first forwarding sequence is included.
  • the present application provides a path learning method, which is executed by a third service node, including: the third service node first determines at least one forwarding sequence; and then sends the first service node to the first service node based on the at least one forwarding sequence Four packets, wherein the fourth packet includes the foregoing at least one forwarding sequence.
  • the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes the identifiers of the paths of each node on the transmission path from the first service node to the second service node, and the identifiers of the paths are the identifiers of the ports.
  • the ID or the ID of the link is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes the identifiers of the paths of each node on the transmission path from the first service node to the second service node, and the identifiers of the paths are the identifiers of the ports.
  • the at least one forwarding sequence includes the first forwarding sequence.
  • the first service node may directly obtain the first forwarding sequence from the at least one forwarding sequence.
  • the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  • the first service node can also determine the first forwarding sequence based on the second forwarding sequence.
  • the third service node and the second service node are the same service node.
  • composition of at least one forwarding sequence is as follows:
  • the first one includes only the second forwarding sequence.
  • the second type includes a first forwarding sequence and a second forwarding sequence.
  • the third service node and the second service node are not the same service node.
  • composition of at least one forwarding sequence is as follows:
  • the first type includes a first forwarding sequence and a fourth forwarding sequence.
  • the second type includes a second forwarding sequence and a fourth forwarding sequence.
  • the fourth forwarding sequence is a forwarding sequence from the third service node to the first service node.
  • the second forwarding sequence is only used when the third service node and the second service node are the same service node, and , usually in this case at least one forwarding sequence only includes the second forwarding sequence, which saves transmission traffic.
  • determining the at least one forwarding sequence is performed in the following manner: acquiring network topology information; calculating the shortest path between two service nodes corresponding to each forwarding sequence in the at least one forwarding sequence based on the network topology information; At least one forwarding sequence is obtained based on the shortest path between the two service nodes corresponding to each forwarding sequence and network topology information.
  • the at least one forwarding sequence includes a first forwarding sequence and a fourth forwarding sequence.
  • calculating the shortest path in the above process includes: based on the network topology information, calculating the shortest path between the third service node and the first service node, and the shortest path between the first service node and the second service node.
  • the shortest path between the two service nodes is directional, that is, the shortest path between the third service node and the first service node is the shortest path from the third service node to the first service node, Different from the direction of the shortest path from the first service node to the third service node, in addition, the nodes passed through are not necessarily the same.
  • at least one forwarding sequence includes a second forwarding sequence. In this case, the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order. Nodes are the same.
  • each forwarding sequence carried in the fourth packet is calculated by the third service node.
  • part of the forwarding sequence carried in the fourth packet is calculated by the third service node, and another part of the forwarding sequence may be obtained by learning or other methods.
  • the present application provides a path learning device, the device comprising:
  • a receiving unit configured to receive a first message, where the first message includes at least one forwarding sequence
  • an obtaining unit configured to obtain a first forwarding sequence based on at least one forwarding sequence in the first message, where the first forwarding sequence includes an identifier of a path of each node on a transmission path from the first service node to the second service node, the path
  • the ID of the port is the ID of the port or the ID of the link.
  • the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in the extended header of the first packet;
  • the obtaining unit is configured to obtain the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
  • At least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence The sequence includes the identification of the path of each node on the transmission path from the second service node to the first service node;
  • the obtaining unit is used to obtain the second forwarding sequence from the destination address field of the first message or the extended header of the first message; the identifiers of the paths in the second forwarding sequence are arranged in reverse order to obtain the first forwarding sequence .
  • the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet.
  • the apparatus further includes: a sending unit, configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
  • a sending unit configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
  • a sending unit configured to obtain a third forwarding sequence from the first service node to the third service node; send a second message to the third service node, where the second message includes a path acquisition request and a third forwarding sequence ; or, broadcast a path get request.
  • the computing capability of the third service node is higher than the threshold.
  • the obtaining unit is further configured to obtain the computing capability of the third service node through a routing message or an advertisement message before sending the path obtaining request to the third service node.
  • the computing capability of the first service node is not higher than the threshold.
  • the sending unit is further configured to send the device information of the first service node through a routing message or an advertisement message before the first service node receives the first packet, where the device information includes port information of the first service node, the first The device information of the service node is used for calculation of at least one forwarding sequence by other service nodes in the network where the first service node is located.
  • the sending unit is further configured to send a third packet to the second service node, where the third packet includes the first forwarding sequence.
  • the present application provides a path learning device, the device comprising:
  • a determining unit for determining at least one forwarding sequence
  • the sending unit is configured to send a fourth message to the first service node, where the fourth message includes at least one forwarding sequence, the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes Path identifiers of each node on a transmission path from a service node to a second service node, where the path identifiers are port identifiers or link identifiers.
  • the at least one forwarding sequence includes the first forwarding sequence
  • the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  • the determining unit is used to obtain network topology information; based on the network topology information, calculate the shortest path between the two service nodes corresponding to each forwarding sequence in the at least one forwarding sequence; based on the difference between the two service nodes corresponding to each forwarding sequence; The shortest path and network topology information between them are obtained to obtain at least one forwarding sequence.
  • the present application provides a service node, the service node includes a processor and a memory; the memory is used for storing software programs and modules, and the processor runs or executes the software stored in the memory by running or executing the software stored in the memory.
  • a program and/or module that enables the service node to implement the method in any possible implementation manner of the first aspect or the second aspect.
  • processors there are one or more processors and one or more memories.
  • the memory may be integrated with the processor, or the memory may be provided separately from the processor.
  • the memory can be a non-transitory memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be separately set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting manner of the memory and the processor.
  • ROM read only memory
  • the present application provides a computer program (product), the computer program (product) comprising: computer program code, when the computer program code is executed by a computer, the computer causes the computer to execute the above-mentioned first aspect or The method of any possible implementation of the second aspect.
  • the present application provides a computer-readable storage medium, where the computer-readable storage medium is used to store program codes executed by a processor, and the program codes include a computer-readable storage medium for implementing the first aspect or the second aspect. of any possible embodiment of the method.
  • a chip including a processor, and the processor is configured to call and execute instructions stored in the memory from a memory, so that a communication device installed with the chip executes the first aspect or the second aspect above.
  • the method in any possible embodiment.
  • another chip comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the processing
  • the processor is configured to execute the code in the memory, and when the code is executed, the processor is configured to execute the method in any possible implementation manner of the first aspect or the second aspect.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of a service node provided by an embodiment of the present application.
  • FIG. 4 is a flowchart of a path learning method provided by an embodiment of the present application.
  • FIG. 5 is a network topology diagram provided by an embodiment of the present application.
  • FIG. 6 is a network topology diagram provided by an embodiment of the present application.
  • FIG. 7 is a flowchart of another path learning method provided by an embodiment of the present application.
  • FIG. 9 is a network topology diagram provided by an embodiment of the present application.
  • FIG. 10 is a flowchart of a path learning method provided by an embodiment of the present application.
  • FIG. 11 is a flowchart of a path learning method provided by an embodiment of the present application.
  • FIG. 13 is a flow chart of a forwarding sequence calculation provided by an embodiment of the present application.
  • 15 is a flowchart of a forwarding sequence calculation provided by an embodiment of the present application.
  • 16 is a flow chart of a message forwarding provided by an embodiment of the present application.
  • FIG. 17 is a block diagram of a path learning apparatus provided by an embodiment of the present application.
  • FIG. 18 is a block diagram of a path learning apparatus provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • a service node 100 and a network node 200 are included in this scenario.
  • the service node refers to a node device that acts as a service provider or service consumer, for example, a terminal device (mobile phone, computer), server, virtual machine (virtual machine, VM) or container, etc.
  • the network node is used to connect the node equipment of the service node, for example, routers, switches and so on.
  • a plurality of network nodes 200 constitute a transmission network between service nodes 100, and data transmission is performed between service nodes 100 through the transmission network.
  • the network node determines the local path according to the destination IP address of the packet, thereby realizing packet forwarding.
  • the router collects routing information, creates, maintains and updates a routing information base (RIB), and creates, maintains and updates a forwarding information base (FIB) according to the routing table; , use the destination IP address carried in the packet header as a key, and perform longest prefix matching (LPM) in the forwarding table to determine the egress port for packet forwarding.
  • RIB routing information base
  • FIB forwarding information base
  • the capacity of the forwarding table also gradually increases. It takes time and labor for network nodes to find the forwarding table, resulting in a large delay in packet forwarding and high performance requirements for network nodes.
  • message forwarding is realized by carrying forwarding sequences in the messages.
  • the forwarding sequences include path identifiers of each node on the message transmission path, and the path identifiers are port identifiers or link identifiers.
  • the network node can determine the identifier of the local path according to the forwarding sequence in the message, and forward the data by using the local path corresponding to the determined identifier of the local path.
  • the network node forwards the data according to the forwarding sequence, and does not need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for the network node.
  • the table lookup referred to here has the following two situations: if the network device is a layer-3 device, such as a router or a layer-3 switch, the table lookup includes a media access control (media access control, MAC) table and a forwarding table lookup, If the network device is a Layer 2 device, such as a Layer 2 switch, the table lookup includes a MAC table lookup.
  • a layer-3 device such as a router or a layer-3 switch
  • the table lookup includes a media access control (media access control, MAC) table and a forwarding table lookup
  • MAC media access control
  • the table lookup includes a MAC table lookup.
  • the forwarding sequence is calculated by the service node, and then carried in the message when sending the message.
  • the processing capabilities of different service nodes are strong and weak. Therefore, not all service nodes have the ability to calculate paths. Service nodes that do not have the ability to calculate paths need to obtain forwarding sequences from other service nodes.
  • This process is also the learning process of forwarding sequences. .
  • the first service node A is a thin terminal with weak processing capability
  • the second service node C and the third service node D are fat terminals with strong processing capability
  • the first service node A communicates with the second service node C Or the third service node D learns to obtain the forwarding sequence from the first service node A to the second service node C.
  • the detailed process will be described later.
  • FIG. 2 is a schematic diagram of a possible hardware structure of a service node (eg, a first service node A) in the application scenario shown in FIG. 1 .
  • the service node includes a processor 10 , a memory 20 and a communication interface 30 .
  • the structure shown in FIG. 2 does not constitute a limitation on the service node, and may include more or less components than the one shown, or combine some components, or arrange different components. in:
  • the processor 10 is the control center of the service node, and uses various interfaces and lines to connect various parts of the entire service node, by running or executing the software programs and/or modules stored in the memory 20, and calling the data stored in the memory 20. , perform various functions of the service node and process data, so as to control the service node as a whole.
  • the processor 10 may be a CPU, or other general-purpose processors, digital signal processors (digital signal processing, DSP), application-specific integrated circuits (application specific integrated circuits, ASIC), field-programmable gate arrays (field-programmable gate arrays) , FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting an advanced RISC machine (ARM) architecture.
  • the memory 20 may be used to store software programs and modules.
  • the processor 10 executes various functional applications and data processing by executing software programs and modules stored in the memory 20 .
  • the memory 20 may mainly include a stored program area and a stored data area, wherein the stored program area may store an operating system 21, a receiving module 22, an acquisition module 23 and an application program 24 (such as a coding application program, etc.) required for one or more functions etc.; the storage data area may store data created according to the use of the UE or the target server (such as a service type identification model, etc.) and the like.
  • the memory 20 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache. By way of example and not limitation, many forms of RAM are available.
  • memory 20 may also include a memory controller to provide processor 10 access to memory 20 .
  • the processor 20 performs the following functions by running the receiving module 22: receiving a first packet, where the first packet includes at least one forwarding sequence; the processor 20 performs the following functions by running the acquiring module 23: based on at least one of the first packets A forwarding sequence obtains the first forwarding sequence, where the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
  • FIG. 3 is a schematic diagram of a possible hardware structure of a service node (eg, a third service node D) in the application scenario shown in FIG. 1 .
  • the service node includes a processor 10 , a memory 20 and a communication interface 30 .
  • the structure shown in FIG. 3 does not constitute a limitation on the service node, and may include more or less components than those shown in the figure, or combine some components, or arrange different components. in:
  • the processor 10 is the control center of the service node, and uses various interfaces and lines to connect various parts of the entire service node, by running or executing the software programs and/or modules stored in the memory 20, and calling the data stored in the memory 20. , perform various functions of the service node and process data, so as to control the service node as a whole.
  • the processor 10 may be a CPU, but also other general-purpose processors (DS), ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • a general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting the ARM architecture.
  • the memory 20 may be used to store software programs and modules.
  • the processor 10 executes various functional applications and data processing by executing software programs and modules stored in the memory 20 .
  • the memory 20 may mainly include a stored program area and a stored data area, wherein the stored program area may store an operating system 21, a determination module 25, a sending module 26 and an application program 24 (such as a coding application program, etc.) required for one or more functions etc.; the storage data area may store data created according to the use of the UE or the target server (such as a service type identification model, etc.) and the like.
  • the memory 20 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be ROM, PROM, EPROM, EEPROM or flash memory.
  • Volatile memory can be RAM, which acts as an external cache.
  • many forms of RAM are available.
  • memory 20 may also include a memory controller to provide processor 10 access to memory 20 .
  • the processor 20 performs the following functions by running the determining module 25: determining at least one forwarding sequence; the processor 20 performs the following functions by running the sending module 26: sending a fourth packet to the first service node, where the fourth packet includes at least one Forwarding sequence, at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, the first forwarding sequence includes the identifiers of the paths of each node on the transmission path from the first service node to the second service node, the identifiers of the paths It is the identifier of the port or the identifier of the link.
  • Embodiments of the present application further provide a chip, including a processor, where the processor is configured to call and execute instructions stored in the memory from the memory, so that the communication device with the chip installed executes any one of the path learning methods provided in the present application.
  • An embodiment of the present application further provides a chip, including: an input interface, an output interface, a processor, and a memory, the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the processor is used to execute codes in the memory , when the code is executed, the processor is used to execute any one of the above path learning methods.
  • processor may be a CPU, and may also be other general-purpose processors, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • a general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting the ARM architecture.
  • processors there are one or more processors and one or more memories.
  • the memory may be integrated with the processor, or the memory may be provided separately from the processor.
  • Such memories which may include read-only memory and random access memory, provide instructions and data to the processor.
  • the memory may also include non-volatile random access memory.
  • the memory may also store reference blocks and target blocks.
  • the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be ROM, PROM, EPROM, EEPROM or flash memory.
  • Volatile memory can be RAM, which acts as an external cache. By way of example and not limitation, many forms of RAM are available. For example, SRAM, DRAM, SDRAM, DDR SDRAM, ESDRAM, SLDRAM, and DR RAM.
  • FIG. 4 is a flowchart of a path learning method provided by an embodiment of the present application.
  • the method can be executed by the first service node A in the application scenario shown in FIG. 1 .
  • the method includes the following steps:
  • the first service node receives the first packet, where the first packet includes at least one forwarding sequence.
  • the first packet is a packet corresponding to the service (or function) provided by the first service node.
  • the first message is encapsulated with service data (eg, sensor data) of the service for transmitting the service data, and the first service node performs path learning while receiving the service data.
  • service data eg, sensor data
  • the main function of the first packet is for the first service node to perform path learning, but does not carry service data.
  • the first service node acquires the first forwarding sequence based on at least one forwarding sequence in the first packet.
  • the first forwarding sequence includes the identification of the paths of the respective nodes on the transmission path from the first service node to the second service node.
  • a path refers to a path selected by a network node when forwarding packets.
  • different paths are distinguished by different ports of the node, and the identifier of the path in the forwarding sequence is the identifier of the port.
  • the port numbers of each node are marked in FIG. 5.
  • the path from the first service node A to the second service node C passes through network nodes a, c, e, and f in sequence.
  • the forwarding sequence is 11224.
  • different paths are distinguished by different links between the network node and other network nodes, and the identifier of the path in the forwarding sequence is the identifier of the link.
  • the link identifiers between each node are marked in FIG. 6 , and the path from the first service node A to the second service node C passes through network nodes a, c, e, and f in sequence.
  • the first forwarding sequence is 13121.
  • the first packet is sent by the second service node C to the first service node A.
  • the first packet is sent by other service nodes to the first service node, for example, service node D.
  • the first service node obtains the first forwarding sequence through at least one forwarding sequence in the received first packet, and does not need to calculate by itself, so that the thin terminal in the network can also obtain the required forwarding sequence .
  • the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node.
  • the message carries the
  • the first forwarding sequence enables each network node on the path to determine the identifier of the local path according to the forwarding sequence in the message after receiving the message, and use the local path corresponding to the determined identifier of the local path. For forwarding, there is no need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for network nodes.
  • FIG. 7 is a flowchart of a path learning method provided by an embodiment of the present application.
  • the method can be executed by the first service node A in the application scenario shown in FIG. 1 .
  • the method includes the following steps:
  • the first service node receives a first packet, where the first packet includes at least one forwarding sequence.
  • the at least one forwarding sequence includes a first forwarding sequence.
  • the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in an extended header of the first packet.
  • the first service node obtains the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
  • the format of the packet adopts a standard IP packet format
  • the first forwarding sequence is carried in a source address field of the packet, such as an IPv4 source address field or an IPv6 source address field.
  • the destination field of the message also carries a forwarding sequence, and the forwarding sequence is from the service node that sent the first message (such as the second service node C or other service nodes D, etc.) to the first service
  • the forwarding sequence of the node, the forwarding sequence is used to implement the correct transmission of the first packet.
  • the format of the packet is that a packet header is added based on the standard IP packet, and the first forwarding sequence is carried in the newly added packet header.
  • FIG. 8 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A in the application scenario shown in FIG. 1 . As shown in FIG. 8 , the method includes the following steps:
  • the first service node receives a first packet, where the first packet includes at least one forwarding sequence.
  • the at least one forwarding sequence includes a second forwarding sequence.
  • the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet.
  • the second forwarding sequence includes the identification of the paths of the respective nodes on the transmission path from the second service node to the first service node.
  • the first packet is sent by the second service node, and no other forwarding sequence is carried in the source address field or the extended packet header of the packet.
  • the source address field of the first packet or the extended packet header carries other forwarding sequences.
  • the first service node obtains the second forwarding sequence from the destination address field of the first packet or the extended packet header of the first packet.
  • S53 The first service node arranges the identifiers of the paths in the second forwarding sequence in reverse order to obtain the first forwarding sequence.
  • the second forwarding sequence from the second service node C to the first service node A is 12131
  • the first service node A derives the first forwarding sequence from the first service node A to the second service node C as 13121 according to the reverse order.
  • the second forwarding sequence from the second service node C to the first service node A is 42131
  • the first service node A derives the first forwarding sequence from the first service node A to the second service node C as 13124 in the reverse order.
  • the port numbers at both ends of the path need to be consistent.
  • FIG. 10 is a flowchart of a path learning method provided by an embodiment of the present application.
  • the method can be executed by the first service node A in the application scenario shown in FIG. 1 .
  • the method includes the following steps:
  • the first service node sends a path acquisition request, where the path acquisition request is used to request the first forwarding sequence.
  • the first service node A obtains a third forwarding sequence from the first service node to the third service node; and sends a second packet to the third service node, where the second packet includes a path acquisition request and the third forwarding sequence.
  • the third service node and the second service node here are one service node, or the third service node and the second service node are different nodes, such as service node D.
  • the third forwarding sequence is the path learned by the first service node A before this.
  • the computing capability of the third service node is higher than the threshold and belongs to a fat terminal, thereby ensuring that the third service node has sufficient computing capability.
  • the setting of the threshold here refers to the network scale (the number of nodes) and the number of ports of each node.
  • the network scale and the number of ports of each node determine the complexity of the network topology, which in turn determines the calculation required for the service nodes to calculate and forward according to the network topology. resource. The more complex the network topology, the higher the threshold is set.
  • the threshold of the computing capability is represented by the hardware quantity threshold and the load level threshold of the service node, such as the quantity threshold of processor cores, the load threshold of the processor, the remaining space threshold of the memory, and the like.
  • the first service node A obtains the computing capability of the third service node through a routing message or an advertisement message.
  • a routing protocol such as an interior gateway protocol (IGP), a border gateway protocol ( border gateway protocol, BGP) or other routing protocols, thereby generating the above routing message, and the first service node A receives the routing message, thereby obtaining the computing capability of the third service node.
  • IGP interior gateway protocol
  • BGP border gateway protocol
  • the first service node A broadcasts the path acquisition request, so that each service node in the network can receive the request, and after receiving the broadcast, the third service node with the path computing capability acquires the request based on the path request, calculate the first forwarding sequence.
  • the third service node happens to be the second service node. At this time, the third service node calculates the first forwarding sequence or the second forwarding sequence, and then carries it in a message and sends it to the first service node A.
  • the computing capability of the first service node is not higher than the threshold and belongs to a thin terminal.
  • the first service node itself is not capable of calculating the first forwarding sequence, and needs to request other service nodes to calculate the first forwarding sequence.
  • the device information of the first service node needs to be used. Therefore, before the first service node receives the first message, the first service node sends the device information of the first service node through a routing message or an advertisement message, and the device information includes the identifier of the service provided by the first service node and the first service node. port information.
  • S62 The first service node receives the first packet, where the first packet includes at least one forwarding sequence.
  • the first service node acquires the first forwarding sequence based on at least one forwarding sequence in the first packet.
  • the manner in which the first service node obtains the first forwarding sequence is as shown in FIG. 7 or FIG. 8 .
  • FIG. 11 is a flowchart of a path learning method provided by an embodiment of the present application.
  • the method can be executed by the third service node D in the application scenario shown in FIG. 1 .
  • the method includes the following steps:
  • the third service node determines at least one forwarding sequence.
  • S72 The third service node sends the first packet to the first service node.
  • the first packet includes at least one forwarding sequence, the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes the information of each node on the transmission path from the first service node to the second service node.
  • the identifier of the path is the identifier of the port or the identifier of the link.
  • the at least one forwarding sequence includes the first forwarding sequence.
  • the first service node may directly obtain the first forwarding sequence from the at least one forwarding sequence.
  • the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  • the first service node can also determine the first forwarding sequence based on the second forwarding sequence.
  • the third service node and the second service node here are not the same service node.
  • composition of at least one forwarding sequence is as follows:
  • the first type includes a first forwarding sequence and a fourth forwarding sequence.
  • the second type includes the second forwarding sequence and the fourth forwarding sequence.
  • the fourth forwarding sequence is a forwarding sequence from the third service node to the first service node.
  • the third service node and the second service node may also be the same service node.
  • composition of at least one forwarding sequence is as follows:
  • the first one includes only the second forwarding sequence.
  • the second type includes a first forwarding sequence and a second forwarding sequence.
  • the second forwarding sequence is only used when the third service node and the second service node are the same service node, and , usually in this case at least one forwarding sequence only includes the second forwarding sequence, which saves transmission traffic.
  • FIG. 12 is a flowchart of a path learning method provided by an embodiment of the present application.
  • the method can be executed by the first service node A, network nodes a, c, e, f and third service node D in the application scenario shown in FIG. 1 .
  • the method includes the following steps:
  • the first service node sends a path acquisition request, where the path acquisition request is used to request a first forwarding sequence.
  • the third service node receives the path acquisition request.
  • the manner in which the first service node sends the path acquisition request includes: directly sending to the third service node and broadcasting.
  • the first service node If the first service node directly sends a path acquisition request to the third service node, in this case, the first service node will obtain the computing capability of the third service node through a routing message or an advertisement message in advance, and determine the calculation capability of the third service node. Only after the capability is higher than the threshold, the path acquisition request is sent to the third service node.
  • the path acquisition request includes the identifier of the second service node, thereby indicating that the path corresponding to the forwarding sequence of the request is from the first service node to the second service node.
  • the path acquisition request includes the identifiers of the first service node and the second service node, thereby indicating that the path corresponding to the forwarding sequence of the request is from the first service node to the second service node.
  • FIG. 13 is a flowchart of forwarding sequence calculation provided by an embodiment of the present application.
  • the first service node A includes a service/computing power announcement module and a routing protocol module
  • the third service node D includes a route calculation module and a vector forwarding module.
  • the routing protocol module of the service node A sends a path acquisition request in the network, and the path acquisition request can be advertised in the network through a routing protocol.
  • S82 The third service node obtains network topology information in response to the received path obtaining request.
  • the third service node obtains the network topology information in the following manner: receiving device information advertised by each node in the network; and generating the network topology structure based on the device information of each node in the network.
  • the device information received by the third service node includes the device information of the first service node, and the device information of the first service node is advertised in the network by the routing protocol module. It is worth noting that the device information and the aforementioned path acquisition request may be advertised together.
  • the device information includes port information, such as a port number and an identifier of a neighbor node connected to each port, and the like.
  • the device information includes link information, such as link identifiers, identifiers of nodes on both sides of the link, and the like.
  • the node is a service node
  • the service identifier or function identifier of the service supported by the service node also needs to be announced.
  • the computing capability is represented by the number, model, and current load of hardware in the device, such as whether it includes processors and the number of processor cores. , the load of the processor, the remaining space of the memory, etc.
  • the service identifier (or function identifier) and computing capability of the first service node are advertised by the service/computing power notification module of the first service node.
  • each node in the network advertises device information through a routing protocol, such as interior gateway protocol IGP, BGP or other routing protocols.
  • a routing protocol such as interior gateway protocol IGP, BGP or other routing protocols.
  • the routing protocol module of the third service node D acquires the device information of each node.
  • the routing protocol module of the third service node D also acquires the service identifier (or function identifier) and computing capability of each node.
  • the third service node determines the first shortest path from the first service node to the second service node, and the second shortest path from the third service node to the first service node.
  • the calculation method of the shortest path is as follows: the network topology is regarded as a tree with the source service node (such as the first service node or the third service node) as the root, and the target service node (such as the second service node or the first service node) For a leaf, calculate the shortest path from the root to the leaf.
  • the shortest path here satisfies at least one of the following conditions: the minimum number of hops, the shortest transmission distance, the minimum transmission delay, and the like.
  • the shortest path may also be a specific path, such as an artificially designated path.
  • the third service node obtains a first forwarding sequence corresponding to the first shortest path based on the first shortest path and the network topology information; and obtains a fourth forwarding sequence corresponding to the second shortest path based on the second shortest path and the network topology information sequence.
  • the port identifier or link identifier of each node included in the first forwarding sequence corresponding to the first shortest path can be obtained based on the port on each node or the link connected to each node, Similarly, the port identifiers or link identifiers of each node included in the fourth forwarding sequence can also be obtained.
  • the route calculation module of the third service node D calculates the first forwarding sequence corresponding to the first shortest path A ⁇ a ⁇ c ⁇ e ⁇ f ⁇ C (hereinafter referred to as the forwarding sequence A ⁇ C), the fourth forwarding sequence corresponding to the second shortest path D ⁇ f ⁇ d ⁇ c ⁇ a ⁇ A (hereinafter referred to as the forwarding sequence D ⁇ A).
  • the first shortest path is the shortest path from the first service node A to the second service node C, and the first shortest path is: A ⁇ a ⁇ c ⁇ e ⁇ f ⁇ C.
  • the first forwarding sequence can be obtained as 11224.
  • the second shortest path is the shortest path from the third service node D to the first service node A, and the second shortest path is: D ⁇ f ⁇ d ⁇ c ⁇ a ⁇ A. Based on the second shortest path and the network topology information, the fourth forwarding sequence can be obtained as 12333.
  • forwarding sequence is represented by binary, hexadecimal or other hexadecimal characters in the first packet.
  • each port identifier or link identifier in the forwarding sequence is represented by characters with a fixed bit width.
  • the first forwarding sequence is represented by binary as 001001010010100, where each A port ID or link ID occupies 3 bits.
  • the different port identifiers or link identifiers in the forwarding sequence are separated by symbols, for example, separated by commas, for example, the first forwarding sequence is represented as 1, 1, 10, 10, 100.
  • each forwarding sequence determined in this step corresponds to the service identifier (or function identifier) of the target service node, and there is a mapping relationship between the two. In the subsequent use process, the corresponding service can be mapped based on the mapping relationship. Forwarding sequence for packet forwarding.
  • the third service node generates a fourth packet, where the fourth packet includes the first forwarding sequence, the fourth forwarding sequence, and indication information.
  • the first forwarding sequence is carried in the source address field of the fourth packet, and the fourth forwarding sequence is carried in the destination address field of the fourth packet.
  • the first forwarding sequence and the fourth forwarding sequence are carried in the extended header of the fourth packet, and the extended packet header indicates which forwarding sequence is equivalent to the destination address by means of an identifier, and the network node can be used to perform the fourth forwarding sequence. Forwarding of messages.
  • the indication information is a count value, and the number of nodes that the message passes through is recorded.
  • the count value is recorded as 1.
  • the network node f receives the fourth message, Knowing that it is the second node that the packet passes through, it selects the second digit in the fourth forwarding sequence as the basis for its forwarding.
  • the indication information is carried in a reserved field or an extended header of the fourth packet.
  • S86 The third service node sends a fourth packet to the network node.
  • the network node receives the fourth message.
  • FIG. 14 is a flow chart of packet forwarding provided by an embodiment of the present application.
  • the third service node D and the first service node A both include a service mapping module and a vector forwarding module, wherein the service mapping module is used to convert the application (application , APP) to map the application layer message or task to the forwarding sequence, for example, first convert the application layer message or task into a service identifier (or function identifier), and then determine based on the mapping relationship between the service identifier (or function identifier) and the forwarding sequence Forwarding sequence, this method eliminates the process of requesting to the Domain Name System (DNS).
  • the third service node sends the fourth message because the first service node sends a request, so the above mapping process is not required, but in other embodiments, the service mapping module performs service mapping according to the above description.
  • the vector forwarding module of the third service node D sends a fourth packet to the network node f, and the fourth packet includes two forwarding sequences: the first forwarding sequence (A ⁇ C) and the fourth forwarding sequence (D ⁇ A).
  • the network node f receives the fourth message.
  • the message will pass through network nodes f, d, b, and a in sequence, and these network nodes perform similar actions when transmitting the message. Therefore, only network node f is used for illustration in this embodiment.
  • S87 The network node determines the identifier of the local path based on the fourth forwarding sequence.
  • the network node determines the location of the identity of the local path in the first forwarding sequence based on the indication information. For example, if the indication information is 1, the identifier of the path in the fourth forwarding sequence corresponding to the network node f is the second one. Then, according to the position of the identifier of the local path in the first forwarding sequence, the identifier of the local path is obtained from the fourth forwarding sequence, for example, the identifier of the local path determined from the fourth forwarding sequence 12213 is 2.
  • S88 The network node updates the indication information in the fourth packet to obtain the fifth packet.
  • the indication information is a count value
  • updating the count value by the network node means adding one to the count value.
  • the network node f updates the count value from 1 to 2.
  • the count value can also be implemented in a smaller and smaller manner, for example, N at the beginning (N is the total number of nodes that will pass on the forwarding path), and then the count value is decremented by one each time a node passes through.
  • the network node uses a local path to send the fifth packet, and the local path is the path corresponding to the identifier of the local path determined in step S87.
  • the network node f sends the fifth packet according to the fourth forwarding sequence (D ⁇ A). For example, the network node f sends the fifth packet from port 2 to the network node d.
  • the fifth packet will pass through network nodes f, d, b and a in sequence and finally arrive at the first service node A.
  • network node d updates the indication information in the fifth packet to form a new packet.
  • the subsequent network nodes b and a will update the indication information in the received message to form a new message, and the message that finally arrives at the first service node A is the first message.
  • the first service node receives the first packet, where the first packet includes at least one forwarding sequence.
  • the first service node acquires a first forwarding sequence based on at least one forwarding sequence in the first packet.
  • the first service node After acquiring the first forwarding sequence, the first service node can carry the first forwarding sequence in the message to be sent by the first service node, thereby realizing message sending from the first service node to the second service node . That is, the method also includes:
  • S92 The first service node sends a third packet to the second service node, where the third packet includes the first forwarding sequence.
  • the sending of the third packet by the first service node is not a forwarding of the first packet, and the third packet is a new packet generated by the first service node according to service requirements.
  • the payload of the third packet is different from that of the first packet.
  • the third packet is different from the fourth packet and the fifth packet, that is, the payload of the third packet is also different from the fourth packet and the fifth packet.
  • the first service node A obtains the first forwarding sequence (A ⁇ C), and the vector forwarding module of the first service node A sends the first forwarding sequence (A ⁇ C) to the service node B by the vector forwarding module ), the first service node A determines the port to send based on the first forwarding sequence when sending.
  • the network node f receives the message sent by the first service node A, and the network node f forwards the message according to the fourth forwarding sequence A ⁇ C.
  • the first service node stores the mapping relationship between the first forwarding sequence and the first service identifier (or function identifier), the first service identifier (or function identifier) is the identifier of the service (or function) provided by the second service node, and the first service identifier (or function identifier) is the identifier of the service (or function) provided by the second service node.
  • the identifier of the service (or function) provided by the second service node is acquired through the device information of the second service node.
  • the indication information is used to indicate the identifiers of the respective paths of the network nodes.
  • the fourth packet or the fifth packet only carries a part of the fourth forwarding sequence, for example, only includes the path identifiers of each node on the to-be-transmitted path in the fourth path, so that each network node It is only necessary to obtain the identifier of the first path among the path identifiers of each node on the path to be transmitted, and then use the identifier of the first path to forward the message.
  • the fourth forwarding sequence is 12213
  • the third forwarding sequence is 12213. Only 2213 is carried in the fourth packet generated by the service node.
  • the message does not need to carry the indication information, but before sending the second message, each node must transfer the forwarding sequence or part of the forwarding sequence (the path identifier of each node on the path to be transmitted) The identifier of the first path in the message is deleted, and the update message is sent again.
  • the third service node D performs the calculation of the first forwarding sequence and then sends it to the first service node A.
  • the first forwarding sequence may also be calculated by the second service node C, and then sent to the first service node A.
  • the flow of forwarding sequence calculation is shown in FIG. 15 . Compared with the flow of FIG. 13 , this flow is only different in step 3.
  • the second service node C calculates the first forwarding sequence A ⁇ C and the fourth forwarding sequence.
  • the sequence C ⁇ A.
  • the first forwarding sequence is 11224
  • the fourth forwarding sequence is 12333.
  • the flow of message forwarding is shown in FIG. 16.
  • the difference is only in that in steps 1 and 2, the first packet carries the first forwarding sequence A ⁇ C and In the fourth forwarding sequence C ⁇ A, the network node also forwards the message according to the fourth forwarding sequence C ⁇ A.
  • the nodes passed by the first forwarding sequence A ⁇ C and the fourth forwarding sequence C ⁇ A are not the same; in other embodiments, the first forwarding sequence A ⁇ C and the fourth forwarding sequence C ⁇ A
  • the nodes that pass through are the same.
  • the fourth forwarding sequence C ⁇ A can also be carried in the message, and the first forwarding sequence is Obtained through reverse sorting, for example, the first service node A may further include a reverse path learning module, configured to obtain the first forwarding sequence through reverse sorting.
  • FIG. 17 is a block diagram of a path learning apparatus provided by an embodiment of the present application.
  • the path learning device can be implemented as all or a part of the service node through software, hardware or a combination of the two.
  • the path learning apparatus may include: a receiving unit 1001 and an obtaining unit 1002 .
  • the receiving unit 1001 is configured to receive a first packet, and the first packet includes at least one forwarding sequence; the obtaining unit 1002 is configured to obtain a first forwarding sequence based on at least one forwarding sequence in the first packet, and the first forwarding sequence includes The identifiers of the paths of each node on the transmission path from the first service node to the second service node, and the identifiers of the paths are the identifiers of the ports or the identifiers of the links.
  • the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in the extended header of the first packet;
  • the obtaining unit 1002 is configured to obtain the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
  • At least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence The sequence includes the identification of the path of each node on the transmission path from the second service node to the first service node;
  • the obtaining unit 1002 is configured to obtain the second forwarding sequence from the destination address field of the first message or the extended header of the first message; the identifiers of the paths in the second forwarding sequence are arranged in reverse order to obtain the first forwarding sequence sequence.
  • the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet.
  • the apparatus further includes: a sending unit 1003, configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
  • a sending unit 1003 configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
  • the sending unit 1003 is configured to obtain a third forwarding sequence from the first service node to the third service node; send a second packet to the third service node, where the second packet includes a path acquisition request and a third forwarding sequence; alternatively, broadcast a path get request.
  • the computing capability of the third service node is higher than the threshold.
  • the obtaining unit 1002 is further configured to obtain the computing capability of the third service node through a routing message or an advertisement message before sending the path obtaining request to the third service node.
  • the computing capability of the first service node is not higher than the threshold.
  • the sending unit 1003 is further configured to send the device information of the first service node through a routing message or an advertisement message before the first service node receives the first packet, where the device information includes port information of the first service node,
  • the device information of a service node is used for calculating at least one forwarding sequence for other service nodes in the network where the first service node is located.
  • the sending unit 1003 is further configured to send a third packet to the second service node, where the third packet includes the first forwarding sequence.
  • FIG. 18 is a block diagram of a path learning apparatus provided by an embodiment of the present application.
  • the path learning device can be implemented as all or a part of the service node through software, hardware or a combination of the two.
  • the path learning apparatus may include: a determining unit 1101 and a sending unit 1102 .
  • the determining unit 1101 is configured to determine at least one forwarding sequence
  • the sending unit 1102 is configured to send a fourth packet to the first service node, where the fourth packet includes at least one forwarding sequence, and the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes a sequence from the first forwarding sequence.
  • the at least one forwarding sequence includes the first forwarding sequence
  • the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  • the determining unit 1101 is configured to obtain network topology information; based on the network topology information, calculate the shortest path between two service nodes corresponding to each forwarding sequence in at least one forwarding sequence; based on the two service nodes corresponding to each forwarding sequence Between the shortest path and network topology information, at least one forwarding sequence is obtained.
  • the path learning device provided in the above-mentioned embodiment performs data transmission
  • only the division of the above-mentioned functional units is used as an example for illustration. That is, the internal structure of the device is divided into different functional units to complete all or part of the functions described above.
  • the path learning apparatus provided in the above embodiments and the path learning method embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiments, which will not be repeated here.
  • a computer-readable storage medium is also provided, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions stored in the computer-readable storage medium are executed by a computer device, the computer device is made to execute the above-mentioned Provided path learning methods.
  • a computer program product including instructions is also provided, which, when running on a computer device, enables the computer device to execute the path learning method provided above.
  • the above-mentioned embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software it can be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions.
  • the computer program instructions when loaded and executed on a computer, result in whole or in part of the processes or functions described herein.
  • the computer may be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, optical fiber, digital subscriber line) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media.
  • the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk), and the like.

Landscapes

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

Abstract

The present application belongs to the technical field of communications, and discloses a path learning method and device, a service node, and a storage medium. The method comprises: a first service node receives a first message, the first message comprising at least one forwarding sequence, and then obtains a first forwarding sequence according to the at least one forwarding sequence in the first message, the first forwarding sequence comprising a path identifier of various nodes on a transmission path from the first service node to a second service node, and the path identifier being a port identifier or a link identifier. The first service node obtains the first forwarding sequence by means of the at least one forwarding sequence in the received first message without needing to calculate by itself, so that a thin terminal in a network can also obtain the required forwarding sequence.

Description

路径学习方法、装置、业务节点及存储介质Path learning method, device, service node and storage medium
本申请要求于2021年4月29日提交的申请号202110474916.0、申请名称为“路径学习方法、装置、业务节点及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 202110474916.0 filed on April 29, 2021 and the application name is "Path Learning Method, Device, Service Node and Storage Medium", the entire contents of which are incorporated into this application by reference .
技术领域technical field
本申请涉及通信技术领域,特别涉及一种路径学习方法、装置、业务节点及存储介质。The present application relates to the field of communication technologies, and in particular, to a path learning method, device, service node and storage medium.
背景技术Background technique
因特网协议(internet protocol,IP)技术是当前网络的核心技术。网络中的业务节点向网络节点发送携带目的IP地址的报文,网络节点(例如路由器等)通过报文的目的IP地址来确定本地路径,进而实现报文转发。The Internet Protocol (IP) technology is the core technology of the current network. The service node in the network sends a packet carrying the destination IP address to the network node, and the network node (such as a router, etc.) determines the local path through the destination IP address of the packet, thereby realizing packet forwarding.
发明内容SUMMARY OF THE INVENTION
本申请提供了一种路径学习方法、装置、业务节点及存储介质,该方法使得网络中的瘦终端无需自己计算,即可获得所需的转发序列,从而实现后续报文的转发。The present application provides a path learning method, device, service node and storage medium. The method enables a thin terminal in a network to obtain a required forwarding sequence without calculating by itself, thereby realizing the forwarding of subsequent packets.
第一方面,本申请提供了一种路径学习方法,包括:第一业务节点接收第一报文,第一报文包括至少一个转发序列,然后根据第一报文中的至少一个转发序列获取第一转发序列,该第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识是端口的标识或者链路的标识。In a first aspect, the present application provides a path learning method, including: a first service node receives a first packet, the first packet includes at least one forwarding sequence, and then obtains the first packet according to at least one forwarding sequence in the first packet. A forwarding sequence, where the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
在本申请中,第一业务节点通过接收到的第一报文中的至少一个转发序列来获取第一转发序列,无需自行计算,使得网络中的瘦终端也能获得所需的转发序列。该第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,第一业务节点在给第二业务节点发送报文时,在该报文中携带该第一转发序列,能够使得路径上的各个网络节点在接收到该报文后,按照报文中的转发序列即可确定出本地路径的标识,采用确定出的本地路径的标识对应的本地路径进行转发,不需要查表,减小了转发延时,提高数据传输的速度,减小对网络节点的性能要求。In the present application, the first service node obtains the first forwarding sequence through at least one forwarding sequence in the received first packet, and does not need to calculate by itself, so that the thin terminal in the network can also obtain the required forwarding sequence. The first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node. When the first service node sends a message to the second service node, the message carries the The first forwarding sequence enables each network node on the path to determine the identifier of the local path according to the forwarding sequence in the message after receiving the message, and use the local path corresponding to the determined identifier of the local path. For forwarding, there is no need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for network nodes.
在本申请中,转发序列描述的是从一个业务节点到另一个业务节点的路径,且该路径是具有方向的,因此转发序列也可以称之为路径矢量。In this application, the forwarding sequence describes a path from one service node to another service node, and the path has a direction, so the forwarding sequence can also be called a path vector.
在本申请中,端口包括但不限于物理端口、虚拟端口、链路或信道等,端口可以是有线端口或无线端口。In this application, a port includes, but is not limited to, a physical port, a virtual port, a link or a channel, etc. A port may be a wired port or a wireless port.
其中,瘦终端是指计算能力不高于阈值的业务节点,也即第一业务节点的计算能力不高于阈值。The thin terminal refers to a service node whose computing capability is not higher than the threshold, that is, the computing capability of the first service node is not higher than the threshold.
从第一报文的至少一个转发序列中获取第一转发序列,至少存在如下两种实现方式:Obtaining the first forwarding sequence from at least one forwarding sequence of the first packet can be implemented in at least the following two ways:
第一种,第一报文携带的至少一个转发序列中包括第一转发序列,这种情况下直接从第 一报文里解析出第一转发序列即可。第二种,第一报文携带的至少一个转发序列中不包括第一转发序列,但包括与第一转发序列相关的其他转发序列,基于该转发序列得到第一转发序列。下面对这两种实现方式进行更加详细的说明:The first is that at least one forwarding sequence carried by the first packet includes the first forwarding sequence. In this case, the first forwarding sequence can be directly parsed from the first packet. In the second type, the at least one forwarding sequence carried in the first packet does not include the first forwarding sequence, but includes other forwarding sequences related to the first forwarding sequence, and the first forwarding sequence is obtained based on the forwarding sequence. These two implementations are described in more detail below:
在第一种实现方式中,至少一个转发序列包括第一转发序列,第一转发序列位于第一报文的源地址字段中,或者,第一转发序列位于第一报文的扩展报文头中;In a first implementation manner, the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in a source address field of the first packet, or the first forwarding sequence is located in an extended header of the first packet ;
基于第一报文中的至少一个转发序列获取第一转发序列,包括:Obtaining the first forwarding sequence based on at least one forwarding sequence in the first packet includes:
从第一报文的源地址字段或者第一报文的扩展报文头中获取第一转发序列。The first forwarding sequence is acquired from the source address field of the first packet or the extended packet header of the first packet.
在第二种实现方式中,至少一个转发序列包括第二转发序列,第二转发序列位于第一报文的目的地址字段中,或者,第二转发序列位于第一报文的扩展报文头中;第二转发序列包括从第二业务节点到第一业务节点的传输路径上的各个节点的路径的标识。在这种情况下,第一业务节点按照如下方式得到第一转发序列:In the second implementation manner, the at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet ; The second forwarding sequence includes path identifiers of each node on the transmission path from the second service node to the first service node. In this case, the first service node obtains the first forwarding sequence as follows:
先从第一报文的目的地址字段或者第一报文的扩展报文头中获取第二转发序列;将第二转发序列中路径的标识按照相反的顺序排列,得到第一转发序列。First obtain the second forwarding sequence from the destination address field of the first message or the extended header of the first message; and arrange the identifiers of the paths in the second forwarding sequence in reverse order to obtain the first forwarding sequence.
在第二种实现方式中,第一报文从第二业务节点传输到第一业务节点的过程中,经过的网络节点都是通过第一报文中的第二转发序列确定路径进行转发的。为了让第一业务节点获得完整的第二转发序列,需要保证传输过程中第二转发序列不会变化,而为了第一报文的正确传输,又要保证各个网络节点能够确定出自己对应第二转发序列中的哪个路径的标识,因此需要在报文中设置指示信息来实现这一功能。In the second implementation manner, in the process of transmitting the first packet from the second service node to the first service node, the network nodes passing through are all forwarded by the path determined by the second forwarding sequence in the first packet. In order for the first service node to obtain a complete second forwarding sequence, it is necessary to ensure that the second forwarding sequence does not change during the transmission process, and for the correct transmission of the first packet, it is also necessary to ensure that each network node can determine that it corresponds to the second forwarding sequence. The identification of which path in the forwarding sequence, therefore, it is necessary to set the indication information in the message to realize this function.
示例性地,第一报文还包括指示信息,该指示信息用于指示第一报文经过的节点的数量。例如,指示信息为一计数值,第一报文每经过一个节点则,计数值加一或减一,这样各个网络节点根据计数值能够确定出自己对应第二转发序列中的哪个路径的标识,然后基于确定出的路径的标识进行转发。Exemplarily, the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet. For example, the indication information is a count value, and each time the first packet passes through a node, the count value increases or decreases by one, so that each network node can determine the identifier of which path in the second forwarding sequence it corresponds to according to the count value. Then forwarding is performed based on the identified path identifier.
在本申请中,第一报文是其他业务节点主动发送的,或者是第一业务节点先发送业务请求,然后接收其他业务节点返回的第一报文。In this application, the first packet is actively sent by other service nodes, or the first service node first sends a service request and then receives the first packet returned by other service nodes.
示例性地,该方法还包括:在第一业务节点接收第一报文之前,发送路径获取请求,路径获取请求用于请求第一转发序列。Exemplarily, the method further includes: before the first service node receives the first packet, sending a path acquisition request, where the path acquisition request is used to request the first forwarding sequence.
路径获取请求采用单播方式发送,或者采用广播方式发送。也即,发送路径获取请求,包括:The path acquisition request is sent in unicast mode or in broadcast mode. That is, send a path get request, including:
获取从第一业务节点到第三业务节点的第三转发序列;向第三业务节点发送第二报文,第二报文包括路径获取请求和第三转发序列;obtaining a third forwarding sequence from the first service node to the third service node; sending a second message to the third service node, where the second message includes a path acquisition request and a third forwarding sequence;
或者,广播路径获取请求。Alternatively, broadcast a path get request.
如果采用单播方式发送,除了要知道到对端的第三转发序列外,对端还应该满足计算能力要求,保证对端能够计算出第一转发序列,例如,第三业务节点的计算能力高于阈值,第三业务节点的计算能力自然也高于第一业务节点的计算能力。If it is sent in unicast mode, in addition to knowing the third forwarding sequence to the opposite end, the opposite end should also meet the computing capability requirements to ensure that the opposite end can calculate the first forwarding sequence. For example, the computing capability of the third service node is higher than threshold, the computing capability of the third service node is naturally higher than the computing capability of the first service node.
示例性地,在向第三业务节点发送路径获取请求之前,通过路由消息或通告消息获取第三业务节点的计算能力。Exemplarily, before sending the path obtaining request to the third service node, the computing capability of the third service node is obtained through a routing message or an advertisement message.
在其他业务节点计算第一路径之前,第一业务节点需要先在网络中通告自身的端口信息,使得其他业务节点能够使用该端口信息计算第一路径。Before other service nodes calculate the first path, the first service node needs to announce its own port information in the network, so that other service nodes can use the port information to calculate the first path.
示例性地,该方法还包括:在第一业务节点接收第一报文之前,通过路由消息或通告消 息发送第一业务节点的设备信息,设备信息包括第一业务节点提供的业务的标识和第一业务节点的端口信息,第一业务节点的设备信息用于供第一业务节点所在网络中的其他业务节点(例如前述第三业务节点)进行至少一个转发序列的计算。Exemplarily, the method further includes: before the first service node receives the first message, sending device information of the first service node through a routing message or an advertisement message, where the device information includes the identifier of the service provided by the first service node and the first message. Port information of a service node, and device information of the first service node is used for other service nodes (eg, the aforementioned third service node) in the network where the first service node is located to perform the calculation of at least one forwarding sequence.
可选地,在第一业务节点学习到第一转发序列后,采用该第一转发序列进行报文发送,也即该方法还包括:向第二业务节点发送第三报文,第三报文包括第一转发序列。Optionally, after the first service node learns the first forwarding sequence, the first forwarding sequence is used to send the message, that is, the method further includes: sending a third message to the second service node, the third message A first forwarding sequence is included.
第二方面,本申请提供了一种路径学习方法,该方法由第三业务节点执行,包括:第三业务节点先确定至少一个转发序列;然后基于该至少一个转发序列向第一业务节点发送第四报文,其中,第四报文包括前述至少一个转发序列。至少一个转发序列用于供第一业务节点确定第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。In a second aspect, the present application provides a path learning method, which is executed by a third service node, including: the third service node first determines at least one forwarding sequence; and then sends the first service node to the first service node based on the at least one forwarding sequence Four packets, wherein the fourth packet includes the foregoing at least one forwarding sequence. The at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes the identifiers of the paths of each node on the transmission path from the first service node to the second service node, and the identifiers of the paths are the identifiers of the ports. The ID or the ID of the link.
示例性地,至少一个转发序列包括第一转发序列。这样,第一业务节点直接从这至少一个转发序列中直接获取第一转发序列即可。Exemplarily, the at least one forwarding sequence includes the first forwarding sequence. In this way, the first service node may directly obtain the first forwarding sequence from the at least one forwarding sequence.
示例性地,至少一个转发序列包括第二转发序列,第二转发序列和第一转发序列中路径的标识按照相反的顺序排列。这种情况下,第一业务节点也能基于第二转发序列确定出第一转发序列。Exemplarily, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order. In this case, the first service node can also determine the first forwarding sequence based on the second forwarding sequence.
在本申请一种可能的实现方式中,这里的第三业务节点和第二业务节点是同一个业务节点。In a possible implementation manner of the present application, the third service node and the second service node here are the same service node.
此时,至少一个转发序列的组成有如下情况:At this time, the composition of at least one forwarding sequence is as follows:
第一种,只包括第二转发序列。第二种,包括第一转发序列和第二转发序列。The first one includes only the second forwarding sequence. The second type includes a first forwarding sequence and a second forwarding sequence.
在本申请另一种可能的实现方式中,这里的第三业务节点和第二业务节点不是同一个业务节点。In another possible implementation manner of the present application, the third service node and the second service node here are not the same service node.
此时,至少一个转发序列的组成有如下情况:At this time, the composition of at least one forwarding sequence is as follows:
第一种,包括第一转发序列和第四转发序列。第二种,包括第二转发序列和第四转发序列。第四转发序列是从第三业务节点到第一业务节点的转发序列。The first type includes a first forwarding sequence and a fourth forwarding sequence. The second type includes a second forwarding sequence and a fourth forwarding sequence. The fourth forwarding sequence is a forwarding sequence from the third service node to the first service node.
需要说明的是,由于从第二转发序列得到第一转发序列需要进行变换处理,因此,只有在第三业务节点和第二业务节点是同一个业务节点时,才会使用第二转发序列,并且,通常这种情况下至少一个转发序列只包括第二转发序列,节省传输流量。It should be noted that since obtaining the first forwarding sequence from the second forwarding sequence requires transformation processing, the second forwarding sequence is only used when the third service node and the second service node are the same service node, and , usually in this case at least one forwarding sequence only includes the second forwarding sequence, which saves transmission traffic.
在一种可能的实现方式中,确定至少一个转发序列按照如下方式执行:获取网络拓扑信息;基于网络拓扑信息,计算至少一个转发序列中各个转发序列对应的两个业务节点之间的最短路径;基于各个转发序列对应的两个业务节点之间的最短路径和网络拓扑信息,得到至少一个转发序列。In a possible implementation manner, determining the at least one forwarding sequence is performed in the following manner: acquiring network topology information; calculating the shortest path between two service nodes corresponding to each forwarding sequence in the at least one forwarding sequence based on the network topology information; At least one forwarding sequence is obtained based on the shortest path between the two service nodes corresponding to each forwarding sequence and network topology information.
例如,至少一个转发序列包括第一转发序列和第四转发序列。则上述过程中计算最短路径包括:基于网络拓扑信息,计算第三业务节点和第一业务节点之间的最短路径、以及第一业务节点和第二业务节点之间的最短路径。For example, the at least one forwarding sequence includes a first forwarding sequence and a fourth forwarding sequence. Then, calculating the shortest path in the above process includes: based on the network topology information, calculating the shortest path between the third service node and the first service node, and the shortest path between the first service node and the second service node.
在本申请中,两个业务节点之间的最短路径都是有方向性地,也即第三业务节点和第一业务节点的最短路径是从第三业务节点到第一业务节点的最短路径,与从第一业务节点到第三业务节点的最短路径方向不同,除此之外经过的节点也不一定相同。在前文的一种示例中,至少一个转发序列包括第二转发序列,此时第二转发序列和第一转发序列中路径的标识按照相反的顺序排列,第二转发序列和第一转发序列经过的节点相同。In this application, the shortest path between the two service nodes is directional, that is, the shortest path between the third service node and the first service node is the shortest path from the third service node to the first service node, Different from the direction of the shortest path from the first service node to the third service node, in addition, the nodes passed through are not necessarily the same. In one of the foregoing examples, at least one forwarding sequence includes a second forwarding sequence. In this case, the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order. Nodes are the same.
在上述实现方式中,第四报文中携带的各个转发序列都由第三业务节点计算得到。在其他实现方式中,第四报文中携带的部分转发序列由第三业务节点计算得到,另一部分转发序列可以通过学习或者其他方式获得。In the above implementation manner, each forwarding sequence carried in the fourth packet is calculated by the third service node. In other implementation manners, part of the forwarding sequence carried in the fourth packet is calculated by the third service node, and another part of the forwarding sequence may be obtained by learning or other methods.
第三方面,本申请提供了一种路径学习装置,装置包括:In a third aspect, the present application provides a path learning device, the device comprising:
接收单元,用于接收第一报文,第一报文包括至少一个转发序列;a receiving unit, configured to receive a first message, where the first message includes at least one forwarding sequence;
获取单元,用于基于第一报文中的至少一个转发序列获取第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。an obtaining unit, configured to obtain a first forwarding sequence based on at least one forwarding sequence in the first message, where the first forwarding sequence includes an identifier of a path of each node on a transmission path from the first service node to the second service node, the path The ID of the port is the ID of the port or the ID of the link.
可选地,至少一个转发序列包括第一转发序列,第一转发序列位于第一报文的源地址字段中,或者,第一转发序列位于第一报文的扩展报文头中;Optionally, the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in the extended header of the first packet;
获取单元用于从第一报文的源地址字段或者第一报文的扩展报文头中获取第一转发序列。The obtaining unit is configured to obtain the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
可选地,至少一个转发序列包括第二转发序列,第二转发序列位于第一报文的目的地址字段中,或者,第二转发序列位于第一报文的扩展报文头中;第二转发序列包括从第二业务节点到第一业务节点的传输路径上的各个节点的路径的标识;Optionally, at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence The sequence includes the identification of the path of each node on the transmission path from the second service node to the first service node;
获取单元用于从第一报文的目的地址字段或者第一报文的扩展报文头中获取第二转发序列;将第二转发序列中路径的标识按照相反的顺序排列,得到第一转发序列。The obtaining unit is used to obtain the second forwarding sequence from the destination address field of the first message or the extended header of the first message; the identifiers of the paths in the second forwarding sequence are arranged in reverse order to obtain the first forwarding sequence .
可选地,第一报文还包括指示信息,指示信息用于指示第一报文经过的节点的数量。Optionally, the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet.
可选地,该装置还包括:发送单元,用于在第一业务节点接收第一报文之前,发送路径获取请求,路径获取请求用于请求第一转发序列。Optionally, the apparatus further includes: a sending unit, configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
可选地,发送单元,用于获取从第一业务节点到第三业务节点的第三转发序列;向第三业务节点发送第二报文,第二报文包括路径获取请求和第三转发序列;或者,广播路径获取请求。Optionally, a sending unit, configured to obtain a third forwarding sequence from the first service node to the third service node; send a second message to the third service node, where the second message includes a path acquisition request and a third forwarding sequence ; or, broadcast a path get request.
可选地,第三业务节点的计算能力高于阈值。Optionally, the computing capability of the third service node is higher than the threshold.
可选地,获取单元,还用于在向第三业务节点发送路径获取请求之前,通过路由消息或通告消息获取第三业务节点的计算能力。Optionally, the obtaining unit is further configured to obtain the computing capability of the third service node through a routing message or an advertisement message before sending the path obtaining request to the third service node.
可选地,第一业务节点的计算能力不高于阈值。Optionally, the computing capability of the first service node is not higher than the threshold.
可选地,发送单元,还用于在第一业务节点接收第一报文之前,通过路由消息或通告消息发送第一业务节点的设备信息,设备信息包括第一业务节点的端口信息,第一业务节点的设备信息用于供第一业务节点所在网络中的其他业务节点进行至少一个转发序列的计算。Optionally, the sending unit is further configured to send the device information of the first service node through a routing message or an advertisement message before the first service node receives the first packet, where the device information includes port information of the first service node, the first The device information of the service node is used for calculation of at least one forwarding sequence by other service nodes in the network where the first service node is located.
可选地,发送单元,还用于向第二业务节点发送第三报文,第三报文包括所述第一转发序列。Optionally, the sending unit is further configured to send a third packet to the second service node, where the third packet includes the first forwarding sequence.
第四方面,本申请提供了一种路径学习装置,装置包括:In a fourth aspect, the present application provides a path learning device, the device comprising:
确定单元,用于确定至少一个转发序列;a determining unit for determining at least one forwarding sequence;
发送单元,用于向第一业务节点发送第四报文,第四报文包括至少一个转发序列,至少一个转发序列用于供第一业务节点确定第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的 标识。The sending unit is configured to send a fourth message to the first service node, where the fourth message includes at least one forwarding sequence, the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes Path identifiers of each node on a transmission path from a service node to a second service node, where the path identifiers are port identifiers or link identifiers.
可选地,至少一个转发序列包括第一转发序列;Optionally, the at least one forwarding sequence includes the first forwarding sequence;
或者,至少一个转发序列包括第二转发序列,第二转发序列和第一转发序列中路径的标识按照相反的顺序排列。Alternatively, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
可选地,确定单元用于获取网络拓扑信息;基于网络拓扑信息,计算至少一个转发序列中各个转发序列对应的两个业务节点之间的最短路径;基于各个转发序列对应的两个业务节点之间的最短路径和网络拓扑信息,得到至少一个转发序列。Optionally, the determining unit is used to obtain network topology information; based on the network topology information, calculate the shortest path between the two service nodes corresponding to each forwarding sequence in the at least one forwarding sequence; based on the difference between the two service nodes corresponding to each forwarding sequence; The shortest path and network topology information between them are obtained to obtain at least one forwarding sequence.
第五方面,本申请提供了一种业务节点,所述业务节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述业务节点实现上述第一方面或第二方面的任一种可能的实施方式中的方法。In a fifth aspect, the present application provides a service node, the service node includes a processor and a memory; the memory is used for storing software programs and modules, and the processor runs or executes the software stored in the memory by running or executing the software stored in the memory. A program and/or module that enables the service node to implement the method in any possible implementation manner of the first aspect or the second aspect.
可选地,所述处理器为一个或多个,所述存储器为一个或多个。Optionally, there are one or more processors and one or more memories.
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。Optionally, the memory may be integrated with the processor, or the memory may be provided separately from the processor.
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。In the specific implementation process, the memory can be a non-transitory memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be separately set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting manner of the memory and the processor.
第六方面,本申请提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述第一方面或第二方面的任一种可能的实施方式中的方法。In a sixth aspect, the present application provides a computer program (product), the computer program (product) comprising: computer program code, when the computer program code is executed by a computer, the computer causes the computer to execute the above-mentioned first aspect or The method of any possible implementation of the second aspect.
第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现上述第一方面或第二方面的任一种可能的实施方式中的方法。In a seventh aspect, the present application provides a computer-readable storage medium, where the computer-readable storage medium is used to store program codes executed by a processor, and the program codes include a computer-readable storage medium for implementing the first aspect or the second aspect. of any possible embodiment of the method.
第八方面,提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述第一方面或第二方面的任一种可能的实施方式中的方法。In an eighth aspect, a chip is provided, including a processor, and the processor is configured to call and execute instructions stored in the memory from a memory, so that a communication device installed with the chip executes the first aspect or the second aspect above. The method in any possible embodiment.
第九方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述第一方面或第二方面的任一种可能的实施方式中的方法。In a ninth aspect, another chip is provided, comprising: an input interface, an output interface, a processor, and a memory, wherein the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the processing The processor is configured to execute the code in the memory, and when the code is executed, the processor is configured to execute the method in any possible implementation manner of the first aspect or the second aspect.
附图说明Description of drawings
图1是本申请实施例提供的一种应用场景的示意图;1 is a schematic diagram of an application scenario provided by an embodiment of the present application;
图2是本申请实施例提供的业务节点的结构示意图;2 is a schematic structural diagram of a service node provided by an embodiment of the present application;
图3是本申请实施例提供的业务节点的结构示意图;3 is a schematic structural diagram of a service node provided by an embodiment of the present application;
图4是本申请实施例提供的一种路径学习方法的流程图;4 is a flowchart of a path learning method provided by an embodiment of the present application;
图5是本申请实施例提供的一种网络拓扑图;5 is a network topology diagram provided by an embodiment of the present application;
图6是本申请实施例提供的一种网络拓扑图;6 is a network topology diagram provided by an embodiment of the present application;
图7是本申请实施例提供的另一种路径学习方法的流程图;7 is a flowchart of another path learning method provided by an embodiment of the present application;
图8是本申请实施例提供的另一种路径学习方法的流程图;8 is a flowchart of another path learning method provided by an embodiment of the present application;
图9是本申请实施例提供的一种网络拓扑图;FIG. 9 is a network topology diagram provided by an embodiment of the present application;
图10是本申请实施例提供的一种路径学习方法的流程图;10 is a flowchart of a path learning method provided by an embodiment of the present application;
图11是本申请实施例提供的一种路径学习方法的流程图;11 is a flowchart of a path learning method provided by an embodiment of the present application;
图12是本申请实施例提供的一种路径学习方法的流程图;12 is a flowchart of a path learning method provided by an embodiment of the present application;
图13是本申请实施例提供的一种转发序列计算的流程图;13 is a flow chart of a forwarding sequence calculation provided by an embodiment of the present application;
图14是本申请实施例提供的一种报文转发流程图;14 is a flow chart of a message forwarding provided by an embodiment of the present application;
图15是本申请实施例提供的一种转发序列计算的流程图;15 is a flowchart of a forwarding sequence calculation provided by an embodiment of the present application;
图16是本申请实施例提供的一种报文转发流程图;16 is a flow chart of a message forwarding provided by an embodiment of the present application;
图17是本申请实施例提供的一种路径学习装置的框图;17 is a block diagram of a path learning apparatus provided by an embodiment of the present application;
图18是本申请实施例提供的一种路径学习装置的框图。FIG. 18 is a block diagram of a path learning apparatus provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the objectives, technical solutions and advantages of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
为便于对本申请实施例提供的技术方案的理解,首先介绍一下本申请的应用场景。In order to facilitate the understanding of the technical solutions provided by the embodiments of the present application, the application scenarios of the present application are first introduced.
图1是本申请实施例所提供的应用场景的示意图。参见图1,在该场景中包括业务节点100和网络节点200。其中,业务节点是指充当业务提供者或业务消费者的节点设备,例如,终端设备(手机、计算机)、服务器、虚拟机(virtual machine,VM)或容器等。网络节点用于连接业务节点的节点设备,例如,路由器、交换机等。FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application. Referring to FIG. 1 , a service node 100 and a network node 200 are included in this scenario. The service node refers to a node device that acts as a service provider or service consumer, for example, a terminal device (mobile phone, computer), server, virtual machine (virtual machine, VM) or container, etc. The network node is used to connect the node equipment of the service node, for example, routers, switches and so on.
如图1所示,多个网络节点200构成业务节点100之间的传输网络,业务节点100之间通过该传输网络进行数据传输。As shown in FIG. 1 , a plurality of network nodes 200 constitute a transmission network between service nodes 100, and data transmission is performed between service nodes 100 through the transmission network.
在相关技术中,网络节点通过报文的目的IP地址来确定本地路径,进而实现报文转发。以路由器为例,路由器中收集路由信息,创建、维护和更新路由表(routing information base,RIB),根据路由表创建、维护和更新转发表(forwarding information base,FIB);在报文进入路由器后,以报文头部携带的目的IP地址作为关键字,在转发表中进行最长前缀匹配(longest prefix matching,LPM),确定出端口进行报文的转发。In the related art, the network node determines the local path according to the destination IP address of the packet, thereby realizing packet forwarding. Taking a router as an example, the router collects routing information, creates, maintains and updates a routing information base (RIB), and creates, maintains and updates a forwarding information base (FIB) according to the routing table; , use the destination IP address carried in the packet header as a key, and perform longest prefix matching (LPM) in the forwarding table to determine the egress port for packet forwarding.
随着网络规模逐渐变大,转发表的容量也逐渐变大,网络节点查找转发表费时费力,造成报文转发延时大,对网络节点的性能要求也高。As the network scale becomes larger, the capacity of the forwarding table also gradually increases. It takes time and labor for network nodes to find the forwarding table, resulting in a large delay in packet forwarding and high performance requirements for network nodes.
在本申请中,通过在报文中携带转发序列,实现报文转发,转发序列包括报文传输路径上的各个节点的路径的标识,路径的标识是端口的标识或者链路的标识。网络节点在接收到该报文后,按照报文中的转发序列即可确定出本地路径的标识,采用确定出的本地路径的标识对应的本地路径进行数据的转发。网络节点根据转发序列进行数据的转发,不需要查表,减小了转发延时,提高数据传输的速度,减小对网络节点的性能要求。In the present application, message forwarding is realized by carrying forwarding sequences in the messages. The forwarding sequences include path identifiers of each node on the message transmission path, and the path identifiers are port identifiers or link identifiers. After receiving the message, the network node can determine the identifier of the local path according to the forwarding sequence in the message, and forward the data by using the local path corresponding to the determined identifier of the local path. The network node forwards the data according to the forwarding sequence, and does not need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for the network node.
其中,这里所指的查表有如下两种情况:如果网络设备是三层设备,例如路由器或者三层交换机,则查表包括查媒体访问控制(media access control,MAC)表和查转发表,如果网络设备是二层设备,例如二层交换机,则查表包括查MAC表。Among them, the table lookup referred to here has the following two situations: if the network device is a layer-3 device, such as a router or a layer-3 switch, the table lookup includes a media access control (media access control, MAC) table and a forwarding table lookup, If the network device is a Layer 2 device, such as a Layer 2 switch, the table lookup includes a MAC table lookup.
在本申请中,转发序列由业务节点进行计算,然后在发送报文时携带在报文中。但是不同的业务节点的处理能力存在强弱,因此并非所有业务节点都具有计算路径的能力,不具备计算路径能力的业务节点需要从其他业务节点获取转发序列,该过程也即转发序列的学习过程。例如,图1中第一业务节点A为处理能力较弱的瘦终端,第二业务节点C和第三业务节点D为处理能力较强的胖终端,第一业务节点A向第二业务节点C或第三业务节点D学习,得到从第一业务节点A到第二业务节点C的转发序列,详细过程在后文进行描述。In this application, the forwarding sequence is calculated by the service node, and then carried in the message when sending the message. However, the processing capabilities of different service nodes are strong and weak. Therefore, not all service nodes have the ability to calculate paths. Service nodes that do not have the ability to calculate paths need to obtain forwarding sequences from other service nodes. This process is also the learning process of forwarding sequences. . For example, in FIG. 1 , the first service node A is a thin terminal with weak processing capability, the second service node C and the third service node D are fat terminals with strong processing capability, and the first service node A communicates with the second service node C Or the third service node D learns to obtain the forwarding sequence from the first service node A to the second service node C. The detailed process will be described later.
图2为图1所示的应用场景中业务节点(例如第一业务节点A)的一种可能的硬件结构示意图。如图2所示,业务节点包括处理器10、存储器20以及通信接口30。本领域技术人员可以理解,图2中示出的结构并不构成对该业务节点的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:FIG. 2 is a schematic diagram of a possible hardware structure of a service node (eg, a first service node A) in the application scenario shown in FIG. 1 . As shown in FIG. 2 , the service node includes a processor 10 , a memory 20 and a communication interface 30 . Those skilled in the art can understand that the structure shown in FIG. 2 does not constitute a limitation on the service node, and may include more or less components than the one shown, or combine some components, or arrange different components. in:
处理器10是业务节点的控制中心,利用各种接口和线路连接整个业务节点的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行业务节点的各种功能和处理数据,从而对业务节点进行整体控制。处理器10可以是CPU,还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。The processor 10 is the control center of the service node, and uses various interfaces and lines to connect various parts of the entire service node, by running or executing the software programs and/or modules stored in the memory 20, and calling the data stored in the memory 20. , perform various functions of the service node and process data, so as to control the service node as a whole. The processor 10 may be a CPU, or other general-purpose processors, digital signal processors (digital signal processing, DSP), application-specific integrated circuits (application specific integrated circuits, ASIC), field-programmable gate arrays (field-programmable gate arrays) , FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting an advanced RISC machine (ARM) architecture.
存储器20可用于存储软件程序以及模块。处理器10通过运行存储在存储器20的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***21、接收模块22、获取模块23和一个或多个功能所需的应用程序24(比如编码应用程序等)等;存储数据区可存储根据UE或者目标服务器的使用所创建的数据(比如业务类型识别模型等)等。该存储器20可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。相应地,存储器20还可以包括存储器控制器,以提供处理器10对存储器20的访问。The memory 20 may be used to store software programs and modules. The processor 10 executes various functional applications and data processing by executing software programs and modules stored in the memory 20 . The memory 20 may mainly include a stored program area and a stored data area, wherein the stored program area may store an operating system 21, a receiving module 22, an acquisition module 23 and an application program 24 (such as a coding application program, etc.) required for one or more functions etc.; the storage data area may store data created according to the use of the UE or the target server (such as a service type identification model, etc.) and the like. The memory 20 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory. Volatile memory may be random access memory (RAM), which acts as an external cache. By way of example and not limitation, many forms of RAM are available. For example, static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access Memory (double data date SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synchlink DRAM, SLDRAM) and direct memory bus random access memory (direct rambus RAM, DR RAM). Accordingly, memory 20 may also include a memory controller to provide processor 10 access to memory 20 .
其中,处理器20通过运行接收模块22执行以下功能:接收第一报文,第一报文包括至 少一个转发序列;处理器20通过运行获取模块23执行以下功能:基于第一报文中的至少一个转发序列获取第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。The processor 20 performs the following functions by running the receiving module 22: receiving a first packet, where the first packet includes at least one forwarding sequence; the processor 20 performs the following functions by running the acquiring module 23: based on at least one of the first packets A forwarding sequence obtains the first forwarding sequence, where the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
图3为图1所示的应用场景中业务节点(例如第三业务节点D)的一种可能的硬件结构示意图。如图3所示,业务节点包括处理器10、存储器20以及通信接口30。本领域技术人员可以理解,图3中示出的结构并不构成对该业务节点的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:FIG. 3 is a schematic diagram of a possible hardware structure of a service node (eg, a third service node D) in the application scenario shown in FIG. 1 . As shown in FIG. 3 , the service node includes a processor 10 , a memory 20 and a communication interface 30 . Those skilled in the art can understand that the structure shown in FIG. 3 does not constitute a limitation on the service node, and may include more or less components than those shown in the figure, or combine some components, or arrange different components. in:
处理器10是业务节点的控制中心,利用各种接口和线路连接整个业务节点的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行业务节点的各种功能和处理数据,从而对业务节点进行整体控制。处理器10可以是CPU,还可以是其他通用处理器、DS)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持ARM架构的处理器。The processor 10 is the control center of the service node, and uses various interfaces and lines to connect various parts of the entire service node, by running or executing the software programs and/or modules stored in the memory 20, and calling the data stored in the memory 20. , perform various functions of the service node and process data, so as to control the service node as a whole. The processor 10 may be a CPU, but also other general-purpose processors (DS), ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting the ARM architecture.
存储器20可用于存储软件程序以及模块。处理器10通过运行存储在存储器20的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***21、确定模块25、发送模块26和一个或多个功能所需的应用程序24(比如编码应用程序等)等;存储数据区可存储根据UE或者目标服务器的使用所创建的数据(比如业务类型识别模型等)等。该存储器20可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、PROM、EPROM、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,SRAM、DRAM、SDRAM、DDR SDRAM、ESDRAM、SLDRAM和DR RAM。相应地,存储器20还可以包括存储器控制器,以提供处理器10对存储器20的访问。The memory 20 may be used to store software programs and modules. The processor 10 executes various functional applications and data processing by executing software programs and modules stored in the memory 20 . The memory 20 may mainly include a stored program area and a stored data area, wherein the stored program area may store an operating system 21, a determination module 25, a sending module 26 and an application program 24 (such as a coding application program, etc.) required for one or more functions etc.; the storage data area may store data created according to the use of the UE or the target server (such as a service type identification model, etc.) and the like. The memory 20 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be ROM, PROM, EPROM, EEPROM or flash memory. Volatile memory can be RAM, which acts as an external cache. By way of example and not limitation, many forms of RAM are available. For example, SRAM, DRAM, SDRAM, DDR SDRAM, ESDRAM, SLDRAM, and DR RAM. Accordingly, memory 20 may also include a memory controller to provide processor 10 access to memory 20 .
其中,处理器20通过运行确定模块25执行以下功能:确定至少一个转发序列;处理器20通过运行发送模块26执行以下功能:向第一业务节点发送第四报文,第四报文包括至少一个转发序列,至少一个转发序列用于供第一业务节点确定第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。The processor 20 performs the following functions by running the determining module 25: determining at least one forwarding sequence; the processor 20 performs the following functions by running the sending module 26: sending a fourth packet to the first service node, where the fourth packet includes at least one Forwarding sequence, at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, the first forwarding sequence includes the identifiers of the paths of each node on the transmission path from the first service node to the second service node, the identifiers of the paths It is the identifier of the port or the identifier of the link.
本申请实施例还提供了一种芯片,包括处理器,处理器用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请提供的任一种的路径学习方法。Embodiments of the present application further provide a chip, including a processor, where the processor is configured to call and execute instructions stored in the memory from the memory, so that the communication device with the chip installed executes any one of the path learning methods provided in the present application.
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述任一种的路径学习方法。An embodiment of the present application further provides a chip, including: an input interface, an output interface, a processor, and a memory, the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the processor is used to execute codes in the memory , when the code is executed, the processor is used to execute any one of the above path learning methods.
应理解的是,上述处理器可以是CPU,还可以是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持ARM架构的处理器。It should be understood that the above-mentioned processor may be a CPU, and may also be other general-purpose processors, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting the ARM architecture.
进一步地,在一种可选的实施例中,上述处理器为一个或多个,存储器为一个或多个。可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。上述存储器可以 包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储参考块和目标块。Further, in an optional embodiment, there are one or more processors and one or more memories. Alternatively, the memory may be integrated with the processor, or the memory may be provided separately from the processor. Such memories, which may include read-only memory and random access memory, provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store reference blocks and target blocks.
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、PROM、EPROM、EEPROM或闪存。易失性存储器可以是RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,SRAM、DRAM、SDRAM、DDR SDRAM、ESDRAM、SLDRAM和DR RAM。The memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be ROM, PROM, EPROM, EEPROM or flash memory. Volatile memory can be RAM, which acts as an external cache. By way of example and not limitation, many forms of RAM are available. For example, SRAM, DRAM, SDRAM, DDR SDRAM, ESDRAM, SLDRAM, and DR RAM.
图4是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第一业务节点A执行,如图4所示,该方法包括如下步骤:FIG. 4 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A in the application scenario shown in FIG. 1 . As shown in FIG. 4 , the method includes the following steps:
S31:第一业务节点接收第一报文,第一报文包括至少一个转发序列。S31: The first service node receives the first packet, where the first packet includes at least one forwarding sequence.
这里,第一报文是第一业务节点提供的业务(或功能)对应的报文。Here, the first packet is a packet corresponding to the service (or function) provided by the first service node.
示例性地,该第一报文中封装有该业务的业务数据(例如传感器数据),用于传输该业务数据,而第一业务节点在接收该业务数据的同时进行路径的学习。或者,该第一报文的主要作用就是供第一业务节点进行路径的学习,而并未携带业务数据。Exemplarily, the first message is encapsulated with service data (eg, sensor data) of the service for transmitting the service data, and the first service node performs path learning while receiving the service data. Or, the main function of the first packet is for the first service node to perform path learning, but does not carry service data.
S32:第一业务节点基于第一报文中的至少一个转发序列获取第一转发序列。S32: The first service node acquires the first forwarding sequence based on at least one forwarding sequence in the first packet.
第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识。路径是指网络节点在进行报文转发时,所选择的路径。The first forwarding sequence includes the identification of the paths of the respective nodes on the transmission path from the first service node to the second service node. A path refers to a path selected by a network node when forwarding packets.
在一种可能的实现方式中,不同的路径采用节点的不同端口来区分,转发序列中的路径的标识为端口的标识。以图5所示的网络结构为例,图5中标出了各个节点的端口号,从第一业务节点A到第二业务节点C的路径依次经过网络节点a、c、e、f,第一转发序列为11224。In a possible implementation manner, different paths are distinguished by different ports of the node, and the identifier of the path in the forwarding sequence is the identifier of the port. Taking the network structure shown in FIG. 5 as an example, the port numbers of each node are marked in FIG. 5. The path from the first service node A to the second service node C passes through network nodes a, c, e, and f in sequence. The forwarding sequence is 11224.
在另一种可能的实现方式中,不同路径采用网络节点和其他网络节点之间的不同链路来区分,转发序列中的路径的标识为链路的标识。以图6所示的网络结构为例,图6中标出了各个节点之间的链路标识,从第一业务节点A到第二业务节点C的路径依次经过网络节点a、c、e、f,第一转发序列为13121。In another possible implementation manner, different paths are distinguished by different links between the network node and other network nodes, and the identifier of the path in the forwarding sequence is the identifier of the link. Taking the network structure shown in FIG. 6 as an example, the link identifiers between each node are marked in FIG. 6 , and the path from the first service node A to the second service node C passes through network nodes a, c, e, and f in sequence. , the first forwarding sequence is 13121.
在一种可能的实现方式中,第一报文由第二业务节点C发送给第一业务节点A。在另一种可能的实现方式中,第一报文由其他业务节点发送给第一业务节点,例如业务节点D。In a possible implementation manner, the first packet is sent by the second service node C to the first service node A. In another possible implementation manner, the first packet is sent by other service nodes to the first service node, for example, service node D.
在本申请实施例中,第一业务节点通过接收到的第一报文中的至少一个转发序列来获取第一转发序列,无需自行计算,使得网络中的瘦终端也能获得所需的转发序列。该第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,第一业务节点在给第二业务节点发送报文时,在该报文中携带该第一转发序列,能够使得路径上的各个网络节点在接收到该报文后,按照报文中的转发序列即可确定出本地路径的标识,采用确定出的本地路径的标识对应的本地路径进行转发,不需要查表,减小了转发延时,提高数据传输的速度,减小对网络节点的性能要求。In the embodiment of the present application, the first service node obtains the first forwarding sequence through at least one forwarding sequence in the received first packet, and does not need to calculate by itself, so that the thin terminal in the network can also obtain the required forwarding sequence . The first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node. When the first service node sends a message to the second service node, the message carries the The first forwarding sequence enables each network node on the path to determine the identifier of the local path according to the forwarding sequence in the message after receiving the message, and use the local path corresponding to the determined identifier of the local path. For forwarding, there is no need to look up the table, which reduces the forwarding delay, improves the speed of data transmission, and reduces the performance requirements for network nodes.
图7是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第一业务节点A执行,如图7所示,该方法包括如下步骤:FIG. 7 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A in the application scenario shown in FIG. 1 . As shown in FIG. 7 , the method includes the following steps:
S41:第一业务节点接收第一报文,第一报文包括至少一个转发序列。S41: The first service node receives a first packet, where the first packet includes at least one forwarding sequence.
该至少一个转发序列包括第一转发序列,示例性地,第一转发序列位于第一报文的源地址字段中,或者,第一转发序列位于第一报文的扩展报文头中。The at least one forwarding sequence includes a first forwarding sequence. Exemplarily, the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in an extended header of the first packet.
S42:第一业务节点从第一报文的源地址字段或者第一报文的扩展报文头中获取第一转发序列。S42: The first service node obtains the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
在一种可能的实现方式中,报文的格式采用标准IP报文格式,第一转发序列携带在报文的源地址字段,例如IPv4源地址字段或者IPv6源地址字段中。这种实现方式中,报文的目的字段中也携带有一个转发序列,该转发序列是从发出第一报文的业务节点(如第二业务节点C或其他业务节点D等)到第一业务节点的转发序列,该转发序列用于实现第一报文的正确传输。In a possible implementation manner, the format of the packet adopts a standard IP packet format, and the first forwarding sequence is carried in a source address field of the packet, such as an IPv4 source address field or an IPv6 source address field. In this implementation, the destination field of the message also carries a forwarding sequence, and the forwarding sequence is from the service node that sent the first message (such as the second service node C or other service nodes D, etc.) to the first service The forwarding sequence of the node, the forwarding sequence is used to implement the correct transmission of the first packet.
在另一种可能的实现方式中,报文的格式是在标准IP报文的基础上新增了报文头,该第一转发序列携带在新增的报文头内。In another possible implementation manner, the format of the packet is that a packet header is added based on the standard IP packet, and the first forwarding sequence is carried in the newly added packet header.
图8是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第一业务节点A执行,如图8所示,该方法包括如下步骤:FIG. 8 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A in the application scenario shown in FIG. 1 . As shown in FIG. 8 , the method includes the following steps:
S51:第一业务节点接收第一报文,第一报文包括至少一个转发序列。S51: The first service node receives a first packet, where the first packet includes at least one forwarding sequence.
该至少一个转发序列包括第二转发序列,示例性地,第二转发序列位于第一报文的目的地址字段中,或者,第二转发序列位于第一报文的扩展报文头中。第二转发序列包括从第二业务节点到第一业务节点的传输路径上的各个节点的路径的标识。这种实现方式中,第一报文是由第二业务节点发送的,并且报文的源地址字段或者扩展报文头中没有携带其他转发序列。The at least one forwarding sequence includes a second forwarding sequence. Exemplarily, the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet. The second forwarding sequence includes the identification of the paths of the respective nodes on the transmission path from the second service node to the first service node. In this implementation manner, the first packet is sent by the second service node, and no other forwarding sequence is carried in the source address field or the extended packet header of the packet.
在其他实现方式中,第一报文的源地址字段或者扩展报文头中携带有其他转发序列。In other implementation manners, the source address field of the first packet or the extended packet header carries other forwarding sequences.
S52:第一业务节点从第一报文的目的地址字段或者第一报文的扩展报文头中获取第二转发序列。S52: The first service node obtains the second forwarding sequence from the destination address field of the first packet or the extended packet header of the first packet.
S53:第一业务节点将第二转发序列中路径的标识按照相反的顺序排列,得到第一转发序列。S53: The first service node arranges the identifiers of the paths in the second forwarding sequence in reverse order to obtain the first forwarding sequence.
参见图6,以第一业务节点A和第二业务节点C之间转发序列(以链路的标识表示)为例,从第二业务节点C到第一业务节点A的第二转发序列为12131,第一业务节点A按照相反的顺序,推导出从第一业务节点A到第二业务节点C的第一转发序列为13121。Referring to FIG. 6, taking the forwarding sequence between the first service node A and the second service node C (represented by the identifier of the link) as an example, the second forwarding sequence from the second service node C to the first service node A is 12131 , the first service node A derives the first forwarding sequence from the first service node A to the second service node C as 13121 according to the reverse order.
参见图9,以第一业务节点A和第二业务节点C之间转发序列(以端口的标识表示)为例,从第二业务节点C到第一业务节点A的第二转发序列为42131,第一业务节点A按照相反的顺序,推导出从第一业务节点A到第二业务节点C的第一转发序列为13124。从图9能够看出,这种情况下,路径两端的端口号需要保持一致。Referring to FIG. 9, taking the forwarding sequence between the first service node A and the second service node C (represented by the identifier of the port) as an example, the second forwarding sequence from the second service node C to the first service node A is 42131, The first service node A derives the first forwarding sequence from the first service node A to the second service node C as 13124 in the reverse order. As can be seen from Figure 9, in this case, the port numbers at both ends of the path need to be consistent.
图10是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第一业务节点A执行,如图10所示,该方法包括如下步骤:FIG. 10 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A in the application scenario shown in FIG. 1 . As shown in FIG. 10 , the method includes the following steps:
S61:第一业务节点发送路径获取请求,路径获取请求用于请求第一转发序列。S61: The first service node sends a path acquisition request, where the path acquisition request is used to request the first forwarding sequence.
在一种可能的实现方式中,第一业务节点A获取从第一业务节点到第三业务节点的第三转发序列;向第三业务节点发送第二报文,第二报文包括路径获取请求和第三转发序列。需要说明的是,这里的第三业务节点与第二业务节点是一个业务节点,或者第三业务节点和第二业务节点是不同节点,例如业务节点D。In a possible implementation manner, the first service node A obtains a third forwarding sequence from the first service node to the third service node; and sends a second packet to the third service node, where the second packet includes a path acquisition request and the third forwarding sequence. It should be noted that the third service node and the second service node here are one service node, or the third service node and the second service node are different nodes, such as service node D.
其中,第三转发序列是第一业务节点A在此之前学习到的路径。The third forwarding sequence is the path learned by the first service node A before this.
在这种实现方式中,第三业务节点的计算能力高于阈值,属于胖终端,从而保证第三业务节点有足够的计算能力。In this implementation manner, the computing capability of the third service node is higher than the threshold and belongs to a fat terminal, thereby ensuring that the third service node has sufficient computing capability.
这里的阈值的设定参考网络规模(节点数量)及各个节点的端口数量,网络规模及各个节点的端口数量决定了网络拓扑的复杂程度,进而决定了业务节点按照网络拓扑计算转发所需的计算资源。网络拓扑的复杂程度越大,则该阈值设定得越高。该计算能力的阈值采用业务节点的硬件数量阈值和负载水平阈值来表示,例如处理器核心的数量阈值、处理器的负载阈值、存储器的剩余空间阈值等。The setting of the threshold here refers to the network scale (the number of nodes) and the number of ports of each node. The network scale and the number of ports of each node determine the complexity of the network topology, which in turn determines the calculation required for the service nodes to calculate and forward according to the network topology. resource. The more complex the network topology, the higher the threshold is set. The threshold of the computing capability is represented by the hardware quantity threshold and the load level threshold of the service node, such as the quantity threshold of processor cores, the load threshold of the processor, the remaining space threshold of the memory, and the like.
第一业务节点A通过路由消息或通告消息获取第三业务节点的计算能力,例如网络中各个节点通过路由协议进行设备信息的通告,例如内部网关协议(interior gateway protocol,IGP)、边界网关协议(border gateway protocol,BGP)或者其他路由协议,从而产生上述路由消息,第一业务节点A接收到该路由消息,从而得到第三业务节点的计算能力。The first service node A obtains the computing capability of the third service node through a routing message or an advertisement message. For example, each node in the network advertises device information through a routing protocol, such as an interior gateway protocol (IGP), a border gateway protocol ( border gateway protocol, BGP) or other routing protocols, thereby generating the above routing message, and the first service node A receives the routing message, thereby obtaining the computing capability of the third service node.
在另一种可能的实现方式中,第一业务节点A广播路径获取请求,这样网络中各个业务节点都能接收到,具有路径计算能力的第三业务节点接收到该广播后,基于该路径获取请求,计算第一转发序列。或者是,第三业务节点正好是第二业务节点,此时第三业务节点计算出第一转发序列或者第二转发序列,然后携带在报文中发给第一业务节点A。In another possible implementation manner, the first service node A broadcasts the path acquisition request, so that each service node in the network can receive the request, and after receiving the broadcast, the third service node with the path computing capability acquires the request based on the path request, calculate the first forwarding sequence. Or, the third service node happens to be the second service node. At this time, the third service node calculates the first forwarding sequence or the second forwarding sequence, and then carries it in a message and sends it to the first service node A.
第一业务节点的计算能力不高于阈值,属于瘦终端,第一业务节点自身没有能力进行第一转发序列的计算,需要请求其他业务节点进行第一转发序列的计算。The computing capability of the first service node is not higher than the threshold and belongs to a thin terminal. The first service node itself is not capable of calculating the first forwarding sequence, and needs to request other service nodes to calculate the first forwarding sequence.
其他业务节点在计算第一转发序列时,需要用到第一业务节点的设备信息。因此,在第一业务节点接收第一报文之前,第一业务节点通过路由消息或通告消息发送第一业务节点的设备信息,设备信息包括第一业务节点提供的业务的标识和第一业务节点的端口信息。When other service nodes calculate the first forwarding sequence, the device information of the first service node needs to be used. Therefore, before the first service node receives the first message, the first service node sends the device information of the first service node through a routing message or an advertisement message, and the device information includes the identifier of the service provided by the first service node and the first service node. port information.
S62:第一业务节点接收第一报文,第一报文包括至少一个转发序列。S62: The first service node receives the first packet, where the first packet includes at least one forwarding sequence.
S63:第一业务节点基于第一报文中的至少一个转发序列获取第一转发序列。S63: The first service node acquires the first forwarding sequence based on at least one forwarding sequence in the first packet.
在该步骤中,第一业务节点获取第一转发序列的方式如图7或图8中所示的方式。In this step, the manner in which the first service node obtains the first forwarding sequence is as shown in FIG. 7 or FIG. 8 .
图11是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第三业务节点D执行,如图11所示,该方法包括如下步骤:FIG. 11 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the third service node D in the application scenario shown in FIG. 1 . As shown in FIG. 11 , the method includes the following steps:
S71:第三业务节点确定至少一个转发序列。S71: The third service node determines at least one forwarding sequence.
S72:第三业务节点向第一业务节点发送第一报文。S72: The third service node sends the first packet to the first service node.
第一报文包括至少一个转发序列,至少一个转发序列用于供第一业务节点确定第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。The first packet includes at least one forwarding sequence, the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes the information of each node on the transmission path from the first service node to the second service node. The identifier of the path. The identifier of the path is the identifier of the port or the identifier of the link.
示例性地,至少一个转发序列包括第一转发序列。这样,第一业务节点直接从这至少一个转发序列中直接获取第一转发序列即可。Exemplarily, the at least one forwarding sequence includes the first forwarding sequence. In this way, the first service node may directly obtain the first forwarding sequence from the at least one forwarding sequence.
示例性地,至少一个转发序列包括第二转发序列,第二转发序列和第一转发序列中路径的标识按照相反的顺序排列。这种情况下,第一业务节点也能基于第二转发序列确定出第一转发序列。Exemplarily, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order. In this case, the first service node can also determine the first forwarding sequence based on the second forwarding sequence.
在图1所示的实现方式中,这里的第三业务节点和第二业务节点不是同一个业务节点。In the implementation shown in FIG. 1 , the third service node and the second service node here are not the same service node.
此时,至少一个转发序列的组成有如下情况:At this time, the composition of at least one forwarding sequence is as follows:
第一种,包括第一转发序列和第四转发序列。第二种,包括第二转发序列和第四转发序 列。第四转发序列是从第三业务节点到第一业务节点的转发序列。The first type includes a first forwarding sequence and a fourth forwarding sequence. The second type includes the second forwarding sequence and the fourth forwarding sequence. The fourth forwarding sequence is a forwarding sequence from the third service node to the first service node.
在其他实现方式中,这里的第三业务节点和第二业务节点还可以是同一个业务节点。In other implementation manners, the third service node and the second service node here may also be the same service node.
此时,至少一个转发序列的组成有如下情况:At this time, the composition of at least one forwarding sequence is as follows:
第一种,只包括第二转发序列。第二种,包括第一转发序列和第二转发序列。The first one includes only the second forwarding sequence. The second type includes a first forwarding sequence and a second forwarding sequence.
需要说明的是,由于从第二转发序列得到第一转发序列需要进行变换处理,因此,只有在第三业务节点和第二业务节点是同一个业务节点时,才会使用第二转发序列,并且,通常这种情况下至少一个转发序列只包括第二转发序列,节省传输流量。It should be noted that since obtaining the first forwarding sequence from the second forwarding sequence requires transformation processing, the second forwarding sequence is only used when the third service node and the second service node are the same service node, and , usually in this case at least one forwarding sequence only includes the second forwarding sequence, which saves transmission traffic.
图12是本申请实施例提供的一种路径学习方法的流程图。该方法可以由图1所示的应用场景中的第一业务节点A、网络节点a、c、e、f和第三业务节点D执行,如图12所示,该方法包括如下步骤:FIG. 12 is a flowchart of a path learning method provided by an embodiment of the present application. The method can be executed by the first service node A, network nodes a, c, e, f and third service node D in the application scenario shown in FIG. 1 . As shown in FIG. 12 , the method includes the following steps:
S81:第一业务节点发送路径获取请求,路径获取请求用于请求第一转发序列。第三业务节点接收该路径获取请求。S81: The first service node sends a path acquisition request, where the path acquisition request is used to request a first forwarding sequence. The third service node receives the path acquisition request.
第一业务节点发送路径获取请求的方式包括:直接向第三业务节点发送和广播这两种。The manner in which the first service node sends the path acquisition request includes: directly sending to the third service node and broadcasting.
如果第一业务节点是直接向第三业务节点发送路径获取请求,这种情况下,第一业务节点会事先通过路由消息或通告消息获取第三业务节点的计算能力,确定第三业务节点的计算能力高于阈值后,才会向第三业务节点发送路径获取请求。If the first service node directly sends a path acquisition request to the third service node, in this case, the first service node will obtain the computing capability of the third service node through a routing message or an advertisement message in advance, and determine the calculation capability of the third service node. Only after the capability is higher than the threshold, the path acquisition request is sent to the third service node.
示例性地,路径获取请求中包括第二业务节点的标识,从而指示请求的转发序列对应的路径是从第一业务节点到第二业务节点。或者路径获取请求中包括第一业务节点和第二业务节点的标识,从而指示请求的转发序列对应的路径是从第一业务节点到第二业务节点。Exemplarily, the path acquisition request includes the identifier of the second service node, thereby indicating that the path corresponding to the forwarding sequence of the request is from the first service node to the second service node. Or, the path acquisition request includes the identifiers of the first service node and the second service node, thereby indicating that the path corresponding to the forwarding sequence of the request is from the first service node to the second service node.
图13是本申请实施例提供的一种转发序列计算的流程图。参见图13,第一业务节点A包括业务/算力通告模块和路由协议模块,第三业务节点D包括路由计算模块和矢量转发模块。FIG. 13 is a flowchart of forwarding sequence calculation provided by an embodiment of the present application. Referring to FIG. 13 , the first service node A includes a service/computing power announcement module and a routing protocol module, and the third service node D includes a route calculation module and a vector forwarding module.
如图13中的步骤①所示,业务节点A的路由协议模块在网络中发送路径获取请求,该路径获取请求可以通过路由协议在网络中进行通告。As shown in step ① in FIG. 13 , the routing protocol module of the service node A sends a path acquisition request in the network, and the path acquisition request can be advertised in the network through a routing protocol.
S82:第三业务节点响应于接收到的路径获取请求,获取网络拓扑信息。S82: The third service node obtains network topology information in response to the received path obtaining request.
在本申请实施例中,第三业务节点获取网络拓扑信息的方式为:接收网络中各个节点通告的设备信息;第三业务节点基于网络中各个节点的设备信息生成网络拓扑结构。这里,第三业务节点接收到的设备信息就包括第一业务节点的设备信息,第一业务节点的设备信息由路由协议模块在网络中通告。值得说明的是,设备信息和前述路径获取请求可以一起进行通告。In this embodiment of the present application, the third service node obtains the network topology information in the following manner: receiving device information advertised by each node in the network; and generating the network topology structure based on the device information of each node in the network. Here, the device information received by the third service node includes the device information of the first service node, and the device information of the first service node is advertised in the network by the routing protocol module. It is worth noting that the device information and the aforementioned path acquisition request may be advertised together.
在一种可能的实现方式中,设备信息包括端口信息,例如端口号和各个端口所连接的邻居节点标识等。在另一种可能的实现方式中,设备信息包括链路信息,例如链路标识、链路双方节点标识等。In a possible implementation manner, the device information includes port information, such as a port number and an identifier of a neighbor node connected to each port, and the like. In another possible implementation manner, the device information includes link information, such as link identifiers, identifiers of nodes on both sides of the link, and the like.
可选地,如果该节点是业务节点,则除了在网络中通告设备信息外,还需要通告该业务节点支持的业务的业务标识或功能标识。Optionally, if the node is a service node, in addition to announcing device information in the network, the service identifier or function identifier of the service supported by the service node also needs to be announced.
可选地,则除了在网络中通告设备信息外,还需要通告业务节点的计算能力,计算能力采用设备中硬件的数量、型号、当前负荷等表示,例如是否包括处理器、处理器核心的数量、处理器的负载、存储器的剩余空间等。Optionally, in addition to advertising the device information in the network, it is also necessary to advertise the computing capability of the service node. The computing capability is represented by the number, model, and current load of hardware in the device, such as whether it includes processors and the number of processor cores. , the load of the processor, the remaining space of the memory, etc.
示例性地,第一业务节点的业务标识(或功能标识)和计算能力由第一业务节点的业务/算力通告模块进行通告。Exemplarily, the service identifier (or function identifier) and computing capability of the first service node are advertised by the service/computing power notification module of the first service node.
在该步骤中,网络中各个节点通过路由协议进行设备信息的通告,例如内部网关协议IGP、BGP或者其他路由协议。In this step, each node in the network advertises device information through a routing protocol, such as interior gateway protocol IGP, BGP or other routing protocols.
如图13中的步骤②所示,第三业务节点D的路由协议模块获取各个节点的设备信息。可选地,第三业务节点D的路由协议模块还获取各个节点的业务标识(或功能标识)和计算能力。As shown in step ② in FIG. 13 , the routing protocol module of the third service node D acquires the device information of each node. Optionally, the routing protocol module of the third service node D also acquires the service identifier (or function identifier) and computing capability of each node.
S83:第三业务节点基于网络拓扑信息,确定从第一业务节点到第二业务节点的第一最短路径,以及从第三业务节点到第一业务节点的第二最短路径。S83: Based on the network topology information, the third service node determines the first shortest path from the first service node to the second service node, and the second shortest path from the third service node to the first service node.
最短路径的计算方式如下:将网络拓扑当成以源业务节点(例如第一业务节点或者第三业务节点)为根的一棵树,将目标业务节点(例如第二业务节点或者第一业务节点)为叶子,计算从根到该叶子的最短路径即可。这里的最短路径满足以下条件中的至少一项:跳数最少、传输距离最短、传输时延最小等。The calculation method of the shortest path is as follows: the network topology is regarded as a tree with the source service node (such as the first service node or the third service node) as the root, and the target service node (such as the second service node or the first service node) For a leaf, calculate the shortest path from the root to the leaf. The shortest path here satisfies at least one of the following conditions: the minimum number of hops, the shortest transmission distance, the minimum transmission delay, and the like.
在其他实现方式中,该最短路径还可以是特定路径,例如是人为指定路径。In other implementation manners, the shortest path may also be a specific path, such as an artificially designated path.
S84:第三业务节点基于第一最短路径和网络拓扑信息,得到与第一最短路径对应的第一转发序列;基于第二最短路径和网络拓扑信息,得到与第二最短路径对应的第四转发序列。S84: The third service node obtains a first forwarding sequence corresponding to the first shortest path based on the first shortest path and the network topology information; and obtains a fourth forwarding sequence corresponding to the second shortest path based on the second shortest path and the network topology information sequence.
在确定出第一最短路径后,基于各个节点上的端口或者各个节点所连的链路,即可得到第一最短路径对应的第一转发序列所包括的各个节点的端口标识或者链路标识,同样地也能得到第四转发序列所包括的各个节点的端口标识或者链路标识。After the first shortest path is determined, the port identifier or link identifier of each node included in the first forwarding sequence corresponding to the first shortest path can be obtained based on the port on each node or the link connected to each node, Similarly, the port identifiers or link identifiers of each node included in the fourth forwarding sequence can also be obtained.
如图13中的步骤③所示,第三业务节点D的路由计算模块计算出第一最短路径A→a→c→e→f→C对应的第一转发序列(后文简称转发序列A→C),和第二最短路径D→f→d→c→a→A对应的第四转发序列(后文简称转发序列D→A)。As shown in step ③ in FIG. 13 , the route calculation module of the third service node D calculates the first forwarding sequence corresponding to the first shortest path A→a→c→e→f→C (hereinafter referred to as the forwarding sequence A→ C), the fourth forwarding sequence corresponding to the second shortest path D→f→d→c→a→A (hereinafter referred to as the forwarding sequence D→A).
以图13为例,第一最短路径为从第一业务节点A到第二业务节点C之间的最短路径,该第一最短路径为:A→a→c→e→f→C。基于第一最短路径和网络拓扑信息,即可得到第一转发序列为11224。Taking FIG. 13 as an example, the first shortest path is the shortest path from the first service node A to the second service node C, and the first shortest path is: A→a→c→e→f→C. Based on the first shortest path and the network topology information, the first forwarding sequence can be obtained as 11224.
第二最短路径为从第三业务节点D到第一业务节点A之间的最短路径,该第二最短路径为:D→f→d→c→a→A。基于第二最短路径和网络拓扑信息,即可得到第四转发序列为12333。The second shortest path is the shortest path from the third service node D to the first service node A, and the second shortest path is: D→f→d→c→a→A. Based on the second shortest path and the network topology information, the fourth forwarding sequence can be obtained as 12333.
需要说明的是,上述转发序列在第一报文中采用二进制、十六进制或者其他进制的字符表示。It should be noted that the above forwarding sequence is represented by binary, hexadecimal or other hexadecimal characters in the first packet.
为了保证网络设备在进行转发时,能够准确确定出自身的路径,转发序列中的每一个端口标识或者链路标识采用固定位宽的字符表示,例如第一转发序列采用二进制表示为001001010010100,其中每一个端口标识或者链路标识占3位。或者,转发序列中的不通端口标识或者链路标识之间通过符号隔开,例如通过逗号隔开,比如第一转发序列表示为1,1,10,10,100。In order to ensure that the network device can accurately determine its own path when forwarding, each port identifier or link identifier in the forwarding sequence is represented by characters with a fixed bit width. For example, the first forwarding sequence is represented by binary as 001001010010100, where each A port ID or link ID occupies 3 bits. Alternatively, the different port identifiers or link identifiers in the forwarding sequence are separated by symbols, for example, separated by commas, for example, the first forwarding sequence is represented as 1, 1, 10, 10, 100.
示例性地,该步骤中确定出的各个转发序列都与目标业务节点的业务标识(或功能标识)对应,二者存在映射关系,后续使用过程中,基于该映射关系即可映射得到业务对应的转发序列进行报文转发。Exemplarily, each forwarding sequence determined in this step corresponds to the service identifier (or function identifier) of the target service node, and there is a mapping relationship between the two. In the subsequent use process, the corresponding service can be mapped based on the mapping relationship. Forwarding sequence for packet forwarding.
S85:第三业务节点生成第四报文,第四报文包括第一转发序列、第四转发序列和指示信息。S85: The third service node generates a fourth packet, where the fourth packet includes the first forwarding sequence, the fourth forwarding sequence, and indication information.
示例性地,第一转发序列携带在第四报文的源地址字段,第四转发序列携带在第四报文的目的地址字段。或者,第一转发序列和第四转发序列携带在第四报文的扩展报文头中,且在该扩展报文头通过标识指示哪个转发序列相当于目的地址,网络节点可以用来进行第四报文的转发。Exemplarily, the first forwarding sequence is carried in the source address field of the fourth packet, and the fourth forwarding sequence is carried in the destination address field of the fourth packet. Alternatively, the first forwarding sequence and the fourth forwarding sequence are carried in the extended header of the fourth packet, and the extended packet header indicates which forwarding sequence is equivalent to the destination address by means of an identifier, and the network node can be used to perform the fourth forwarding sequence. Forwarding of messages.
示例性地,指示信息为计数值,记录报文经过的节点数量,例如第三业务节点生成第四报文时将计数值记为1,这样,网络节点f接收到该第四报文时,知道自己是报文经过的第二个节点,从而在第四转发序列中选择第二位作为自己转发的依据。Exemplarily, the indication information is a count value, and the number of nodes that the message passes through is recorded. For example, when the third service node generates the fourth message, the count value is recorded as 1. In this way, when the network node f receives the fourth message, Knowing that it is the second node that the packet passes through, it selects the second digit in the fourth forwarding sequence as the basis for its forwarding.
在本申请实施例中,指示信息携带在第四报文的保留字段或者扩展报文头中。In this embodiment of the present application, the indication information is carried in a reserved field or an extended header of the fourth packet.
S86:第三业务节点向网络节点发送第四报文。网络节点接收第四报文。S86: The third service node sends a fourth packet to the network node. The network node receives the fourth message.
图14是本申请实施例提供的一种报文转发流程图。参见图14,第三业务节点D和第一业务节点A均包括业务映射模块和矢量转发模块,其中业务映射模块用于按照转发序列和业务标识(或功能标识)的映射关系,将应用(application,APP)产生的应用层消息或任务映射到转发序列,例如,先将应用层消息或任务转换为业务标识(或功能标识),然后基于业务标识(或功能标识)和转发序列的映射关系确定转发序列,该方式免去了向域名***(domain name system,DNS)请求的过程。由于本实施例中,第三业务节点发送第四报文是由于第一业务节点发送了请求,所以无需上述映射过程,但在其他实施例中,业务映射模块按照上述描述进行业务映射。FIG. 14 is a flow chart of packet forwarding provided by an embodiment of the present application. Referring to Fig. 14, the third service node D and the first service node A both include a service mapping module and a vector forwarding module, wherein the service mapping module is used to convert the application (application , APP) to map the application layer message or task to the forwarding sequence, for example, first convert the application layer message or task into a service identifier (or function identifier), and then determine based on the mapping relationship between the service identifier (or function identifier) and the forwarding sequence Forwarding sequence, this method eliminates the process of requesting to the Domain Name System (DNS). In this embodiment, the third service node sends the fourth message because the first service node sends a request, so the above mapping process is not required, but in other embodiments, the service mapping module performs service mapping according to the above description.
如图14中的步骤①所示,第三业务节点D的矢量转发模块将第四报文发送给网络节点f,该第四报文包括两个转发序列:第一转发序列(A→C)和第四转发序列(D→A)。网络节点f接收该第四报文。在该实施例中,报文会依次经过网络节点f、d、b和a,这些网络节点在传输报文时执行的动作类似,因此,在本实施例中仅以网络节点f进行举例说明。As shown in step ① in FIG. 14 , the vector forwarding module of the third service node D sends a fourth packet to the network node f, and the fourth packet includes two forwarding sequences: the first forwarding sequence (A→C) and the fourth forwarding sequence (D→A). The network node f receives the fourth message. In this embodiment, the message will pass through network nodes f, d, b, and a in sequence, and these network nodes perform similar actions when transmitting the message. Therefore, only network node f is used for illustration in this embodiment.
S87:网络节点基于第四转发序列确定出本地路径的标识。S87: The network node determines the identifier of the local path based on the fourth forwarding sequence.
示例性地,网络节点基于指示信息确定本地路径的标识在第一转发序列中的位置。例如,指示信息为1,则网络节点f对应的第四转发序列中的路径的标识是第2个。然后根据本地路径的标识在第一转发序列中的位置,从第四转发序列中获得本地路径的标识,例如从第四转发序列12213中确定出的本地路径的标识为2。Exemplarily, the network node determines the location of the identity of the local path in the first forwarding sequence based on the indication information. For example, if the indication information is 1, the identifier of the path in the fourth forwarding sequence corresponding to the network node f is the second one. Then, according to the position of the identifier of the local path in the first forwarding sequence, the identifier of the local path is obtained from the fourth forwarding sequence, for example, the identifier of the local path determined from the fourth forwarding sequence 12213 is 2.
S88:网络节点更新第四报文中的指示信息,得到第五报文。S88: The network node updates the indication information in the fourth packet to obtain the fifth packet.
如前,指示信息为计数值,网络节点更新该计数值即是将该计数值加一,例如网络节点f将计数值从1更新为2。As before, the indication information is a count value, and updating the count value by the network node means adding one to the count value. For example, the network node f updates the count value from 1 to 2.
在其他实现方式中,该计数值也可以采用越来越小的方式实现,例如开始时为N(N为转发的路径上会经过节点总数),然后每经过一个节点则计数值减一。In other implementation manners, the count value can also be implemented in a smaller and smaller manner, for example, N at the beginning (N is the total number of nodes that will pass on the forwarding path), and then the count value is decremented by one each time a node passes through.
S89:网络节点采用本地路径发送第五报文,本地路径是步骤S87中确定出的本地路径的标识对应的路径。S89: The network node uses a local path to send the fifth packet, and the local path is the path corresponding to the identifier of the local path determined in step S87.
如图14中的步骤②所示,网络节点f根据第四转发序列(D→A)发送第五报文,例如,网络节点f将第五报文从端口2发给网络节点d。As shown in step ② in FIG. 14 , the network node f sends the fifth packet according to the fourth forwarding sequence (D→A). For example, the network node f sends the fifth packet from port 2 to the network node d.
第五报文会依次经过网络节点f、d、b和a最终到达第一业务节点A,第五报文到达网络节点d后,网络节点d更新第五报文中的指示信息形成新的报文,后续网络节点b和a都会更新接收到的报文中的指示信息形成新的报文,最终到达第一业务节点A时的报文为第一报文。The fifth packet will pass through network nodes f, d, b and a in sequence and finally arrive at the first service node A. After the fifth packet reaches network node d, network node d updates the indication information in the fifth packet to form a new packet. message, the subsequent network nodes b and a will update the indication information in the received message to form a new message, and the message that finally arrives at the first service node A is the first message.
S90:第一业务节点接收第一报文,第一报文包括至少一个转发序列。S90: The first service node receives the first packet, where the first packet includes at least one forwarding sequence.
S91:第一业务节点基于第一报文中的至少一个转发序列获取第一转发序列。S91: The first service node acquires a first forwarding sequence based on at least one forwarding sequence in the first packet.
第一业务节点在获取到第一转发序列后,即可将该第一转发序列携带在第一业务节点要发送的报文中,从而实现从第一业务节点到第二业务节点的报文发送。也即该方法还包括:After acquiring the first forwarding sequence, the first service node can carry the first forwarding sequence in the message to be sent by the first service node, thereby realizing message sending from the first service node to the second service node . That is, the method also includes:
S92:第一业务节点向第二业务节点发送第三报文,该第三报文包括第一转发序列。S92: The first service node sends a third packet to the second service node, where the third packet includes the first forwarding sequence.
在本公开实施例中,第一业务节点发送第三报文并非对第一报文的转发,第三报文是第一业务节点根据业务需要生成的新的报文。第三报文和第一报文的净荷不同。In the embodiment of the present disclosure, the sending of the third packet by the first service node is not a forwarding of the first packet, and the third packet is a new packet generated by the first service node according to service requirements. The payload of the third packet is different from that of the first packet.
同样地,第三报文和第四报文、第五报文也不同,也即第三报文和第四报文、第五报文的净荷也不同。Similarly, the third packet is different from the fourth packet and the fifth packet, that is, the payload of the third packet is also different from the fourth packet and the fifth packet.
如图14中的步骤③所示,第一业务节点A获取到第一转发序列(A→C),第一业务节点A的矢量转发模块向业务节点B发送包含第一转发序列(A→C)的报文,第一业务节点A在发送时基于第一转发序列确定端口进行发送。如图14中的步骤④所示,网络节点f接收第一业务节点A发送的报文,网络节点f根据第四转发序列A→C进行报文转发。As shown in step ③ in FIG. 14 , the first service node A obtains the first forwarding sequence (A→C), and the vector forwarding module of the first service node A sends the first forwarding sequence (A→C) to the service node B by the vector forwarding module ), the first service node A determines the port to send based on the first forwarding sequence when sending. As shown in step ④ in FIG. 14 , the network node f receives the message sent by the first service node A, and the network node f forwards the message according to the fourth forwarding sequence A→C.
或者,第一业务节点存储第一转发序列和第一业务标识(或功能标识)的映射关系,第一业务标识(或功能标识)为第二业务节点提供的业务(或功能)的标识,第二业务节点提供的业务(或功能)的标识通过第二业务节点的设备信息获取到。Or, the first service node stores the mapping relationship between the first forwarding sequence and the first service identifier (or function identifier), the first service identifier (or function identifier) is the identifier of the service (or function) provided by the second service node, and the first service identifier (or function identifier) is the identifier of the service (or function) provided by the second service node. The identifier of the service (or function) provided by the second service node is acquired through the device information of the second service node.
在图12所示的方法中,报文在转发过程中,第四转发序列的长度不会变化,依靠指示信息指示网络节点各自的路径的标识。In the method shown in FIG. 12 , during the packet forwarding process, the length of the fourth forwarding sequence does not change, and the indication information is used to indicate the identifiers of the respective paths of the network nodes.
在其他实现方式中,第四报文或第五报文中只携带第四转发序列的一部分,例如只包括第四路径中的待传输路径上的各个节点的路径的标识,这样每个网络节点只需要获得待传输路径上的各个节点的路径的标识中的第一个路径的标识,然后采用该第一个路径的标识进行报文转发即可,例如,第四转发序列为12213,第三业务节点生成的第四报文中只携带2213。In other implementation manners, the fourth packet or the fifth packet only carries a part of the fourth forwarding sequence, for example, only includes the path identifiers of each node on the to-be-transmitted path in the fourth path, so that each network node It is only necessary to obtain the identifier of the first path among the path identifiers of each node on the path to be transmitted, and then use the identifier of the first path to forward the message. For example, the fourth forwarding sequence is 12213, and the third forwarding sequence is 12213. Only 2213 is carried in the fourth packet generated by the service node.
这种实现方式中,报文中不需要携带指示信息,但每个节点在发送第二报文之前,都要将转发序列或转发序列的部分(待传输路径上的各个节点的路径的标识)中的第一个路径的标识删除,更新报文后再发送。In this implementation, the message does not need to carry the indication information, but before sending the second message, each node must transfer the forwarding sequence or part of the forwarding sequence (the path identifier of each node on the path to be transmitted) The identifier of the first path in the message is deleted, and the update message is sent again.
在图12对应的方法中,描述了一种由第三业务节点D来进行第一转发序列计算,然后发送给第一业务节点A的方案。在其他实施例中,第一转发序列也可以由第二业务节点C进行计算,然后发送给第一业务节点A。在这种实施例中,转发序列计算的流程参见图15,该流程相比于图13的流程,区别仅在于步骤③,第二业务节点C计算出第一转发序列A→C和第四转发序列C→A。如图15所示,第一转发序列为11224,第四转发序列为12333。In the method corresponding to FIG. 12 , a solution is described in which the third service node D performs the calculation of the first forwarding sequence and then sends it to the first service node A. In other embodiments, the first forwarding sequence may also be calculated by the second service node C, and then sent to the first service node A. In this embodiment, the flow of forwarding sequence calculation is shown in FIG. 15 . Compared with the flow of FIG. 13 , this flow is only different in step ③. The second service node C calculates the first forwarding sequence A→C and the fourth forwarding sequence. The sequence C→A. As shown in FIG. 15 , the first forwarding sequence is 11224, and the fourth forwarding sequence is 12333.
在这种实施例中,报文转发的流程参见图16,该流程相比于图14的流程,区别仅在于步骤①和②中,第一报文携带的是第一转发序列A→C和第四转发序列C→A,网络节点也是根据第四转发序列C→A进行报文转发。In this embodiment, the flow of message forwarding is shown in FIG. 16. Compared with the flow of FIG. 14, the difference is only in that in steps ① and ②, the first packet carries the first forwarding sequence A→C and In the fourth forwarding sequence C→A, the network node also forwards the message according to the fourth forwarding sequence C→A.
参见图15和图16,第一转发序列A→C和第四转发序列C→A经过的节点并不相同;在其他实施例中,第一转发序列A→C和第四转发序列C→A经过的节点相同,在转发序列以链路的标识表示,或者以端口的标识表示且路径两端的端口一致时,也可以只在报文中携带第四转发序列C→A,第一转发序列则通过反向排序得到,示例性地,该第一业务节点A还可以包括反向路径学习模块,用于通过反向排序得到第一转发序列。Referring to FIG. 15 and FIG. 16 , the nodes passed by the first forwarding sequence A→C and the fourth forwarding sequence C→A are not the same; in other embodiments, the first forwarding sequence A→C and the fourth forwarding sequence C→A The nodes that pass through are the same. When the forwarding sequence is represented by the identifier of the link or the identifier of the port and the ports at both ends of the path are the same, the fourth forwarding sequence C→A can also be carried in the message, and the first forwarding sequence is Obtained through reverse sorting, for example, the first service node A may further include a reverse path learning module, configured to obtain the first forwarding sequence through reverse sorting.
图17是本申请实施例提供的一种路径学习装置的框图。该路径学习装置可以通过软件、硬件或者两者的结合实现成为业务节点的全部或者一部分。该路径学习装置可以包括:接收单元1001和获取单元1002。FIG. 17 is a block diagram of a path learning apparatus provided by an embodiment of the present application. The path learning device can be implemented as all or a part of the service node through software, hardware or a combination of the two. The path learning apparatus may include: a receiving unit 1001 and an obtaining unit 1002 .
其中,接收单元1001用于接收第一报文,第一报文包括至少一个转发序列;获取单元1002用于基于第一报文中的至少一个转发序列获取第一转发序列,第一转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。The receiving unit 1001 is configured to receive a first packet, and the first packet includes at least one forwarding sequence; the obtaining unit 1002 is configured to obtain a first forwarding sequence based on at least one forwarding sequence in the first packet, and the first forwarding sequence includes The identifiers of the paths of each node on the transmission path from the first service node to the second service node, and the identifiers of the paths are the identifiers of the ports or the identifiers of the links.
可选地,至少一个转发序列包括第一转发序列,第一转发序列位于第一报文的源地址字段中,或者,第一转发序列位于第一报文的扩展报文头中;Optionally, the at least one forwarding sequence includes a first forwarding sequence, and the first forwarding sequence is located in the source address field of the first packet, or the first forwarding sequence is located in the extended header of the first packet;
获取单元1002用于从第一报文的源地址字段或者第一报文的扩展报文头中获取第一转发序列。The obtaining unit 1002 is configured to obtain the first forwarding sequence from the source address field of the first packet or the extended packet header of the first packet.
可选地,至少一个转发序列包括第二转发序列,第二转发序列位于第一报文的目的地址字段中,或者,第二转发序列位于第一报文的扩展报文头中;第二转发序列包括从第二业务节点到第一业务节点的传输路径上的各个节点的路径的标识;Optionally, at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in the destination address field of the first packet, or the second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence The sequence includes the identification of the path of each node on the transmission path from the second service node to the first service node;
获取单元1002用于从第一报文的目的地址字段或者第一报文的扩展报文头中获取第二转发序列;将第二转发序列中路径的标识按照相反的顺序排列,得到第一转发序列。The obtaining unit 1002 is configured to obtain the second forwarding sequence from the destination address field of the first message or the extended header of the first message; the identifiers of the paths in the second forwarding sequence are arranged in reverse order to obtain the first forwarding sequence sequence.
可选地,第一报文还包括指示信息,指示信息用于指示第一报文经过的节点的数量。Optionally, the first packet further includes indication information, where the indication information is used to indicate the number of nodes passed by the first packet.
可选地,该装置还包括:发送单元1003,用于在第一业务节点接收第一报文之前,发送路径获取请求,路径获取请求用于请求第一转发序列。Optionally, the apparatus further includes: a sending unit 1003, configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
可选地,发送单元1003,用于获取从第一业务节点到第三业务节点的第三转发序列;向第三业务节点发送第二报文,第二报文包括路径获取请求和第三转发序列;或者,广播路径获取请求。Optionally, the sending unit 1003 is configured to obtain a third forwarding sequence from the first service node to the third service node; send a second packet to the third service node, where the second packet includes a path acquisition request and a third forwarding sequence; alternatively, broadcast a path get request.
可选地,第三业务节点的计算能力高于阈值。Optionally, the computing capability of the third service node is higher than the threshold.
可选地,获取单元1002,还用于在向第三业务节点发送路径获取请求之前,通过路由消息或通告消息获取第三业务节点的计算能力。Optionally, the obtaining unit 1002 is further configured to obtain the computing capability of the third service node through a routing message or an advertisement message before sending the path obtaining request to the third service node.
可选地,第一业务节点的计算能力不高于阈值。Optionally, the computing capability of the first service node is not higher than the threshold.
可选地,发送单元1003,还用于在第一业务节点接收第一报文之前,通过路由消息或通告消息发送第一业务节点的设备信息,设备信息包括第一业务节点的端口信息,第一业务节点的设备信息用于供第一业务节点所在网络中的其他业务节点进行至少一个转发序列的计算。Optionally, the sending unit 1003 is further configured to send the device information of the first service node through a routing message or an advertisement message before the first service node receives the first packet, where the device information includes port information of the first service node, The device information of a service node is used for calculating at least one forwarding sequence for other service nodes in the network where the first service node is located.
可选地,发送单元1003,还用于向第二业务节点发送第三报文,第三报文包括所述第一转发序列。Optionally, the sending unit 1003 is further configured to send a third packet to the second service node, where the third packet includes the first forwarding sequence.
图18是本申请实施例提供的一种路径学习装置的框图。该路径学习装置可以通过软件、硬件或者两者的结合实现成为业务节点的全部或者一部分。该路径学习装置可以包括:确定单元1101和发送单元1102。FIG. 18 is a block diagram of a path learning apparatus provided by an embodiment of the present application. The path learning device can be implemented as all or a part of the service node through software, hardware or a combination of the two. The path learning apparatus may include: a determining unit 1101 and a sending unit 1102 .
其中,确定单元1101用于确定至少一个转发序列;Wherein, the determining unit 1101 is configured to determine at least one forwarding sequence;
发送单元1102用于向第一业务节点发送第四报文,第四报文包括至少一个转发序列,至少一个转发序列用于供第一业务节点确定第一转发序列,第一转发序列包括从第一业务节点 到第二业务节点的传输路径上的各个节点的路径的标识,路径的标识为端口的标识或者链路的标识。The sending unit 1102 is configured to send a fourth packet to the first service node, where the fourth packet includes at least one forwarding sequence, and the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence, and the first forwarding sequence includes a sequence from the first forwarding sequence. Path identifiers of each node on a transmission path from a service node to a second service node, where the path identifiers are port identifiers or link identifiers.
可选地,至少一个转发序列包括第一转发序列;Optionally, the at least one forwarding sequence includes the first forwarding sequence;
或者,至少一个转发序列包括第二转发序列,第二转发序列和第一转发序列中路径的标识按照相反的顺序排列。Alternatively, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
可选地,确定单元1101用于获取网络拓扑信息;基于网络拓扑信息,计算至少一个转发序列中各个转发序列对应的两个业务节点之间的最短路径;基于各个转发序列对应的两个业务节点之间的最短路径和网络拓扑信息,得到至少一个转发序列。Optionally, the determining unit 1101 is configured to obtain network topology information; based on the network topology information, calculate the shortest path between two service nodes corresponding to each forwarding sequence in at least one forwarding sequence; based on the two service nodes corresponding to each forwarding sequence Between the shortest path and network topology information, at least one forwarding sequence is obtained.
需要说明的是:上述实施例提供的路径学习装置在进行数据传输时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的路径学习装置与路径学习方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the path learning device provided in the above-mentioned embodiment performs data transmission, only the division of the above-mentioned functional units is used as an example for illustration. That is, the internal structure of the device is divided into different functional units to complete all or part of the functions described above. In addition, the path learning apparatus provided in the above embodiments and the path learning method embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiments, which will not be repeated here.
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。The descriptions of the processes corresponding to the above figures have their own emphasis, and for parts that are not described in detail in a certain process, please refer to the relevant descriptions of other processes.
本申请实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机可读存储介质中存储的计算机指令被计算机设备执行时,使得计算机设备执行上述所提供的路径学习方法。In this embodiment of the present application, a computer-readable storage medium is also provided, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions stored in the computer-readable storage medium are executed by a computer device, the computer device is made to execute the above-mentioned Provided path learning methods.
本申请实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述所提供的路径学习方法。In the embodiment of the present application, a computer program product including instructions is also provided, which, when running on a computer device, enables the computer device to execute the path learning method provided above.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The computer program instructions, when loaded and executed on a computer, result in whole or in part of the processes or functions described herein. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be downloaded from a website site, computer, server or data center Transmission to another website site, computer, server, or data center by wire (eg, coaxial cable, optical fiber, digital subscriber line) or wireless (eg, infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that includes an integration of one or more available media. The usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk), and the like.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above embodiments can be completed by hardware, or can be completed by instructing relevant hardware through a program, and the program can be stored in a computer-readable storage medium. The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, etc.
以上所述仅为本申请的可选实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。The above are only optional embodiments of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the technical scope disclosed in the present application can easily think of changes or substitutions. All should be covered within the scope of protection of this application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims (30)

  1. 一种路径学习方法,其特征在于,所述方法包括:A path learning method, characterized in that the method comprises:
    第一业务节点接收第一报文,所述第一报文包括至少一个转发序列;the first service node receives a first packet, where the first packet includes at least one forwarding sequence;
    基于所述第一报文中的至少一个转发序列获取第一转发序列,所述第一转发序列包括从所述第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,所述路径的标识为端口的标识或者链路的标识。Obtain a first forwarding sequence based on at least one forwarding sequence in the first packet, where the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, The identifier of the path is the identifier of the port or the identifier of the link.
  2. 根据权利要求1所述的路径学习方法,其特征在于,所述至少一个转发序列包括所述第一转发序列,所述第一转发序列位于所述第一报文的源地址字段中,或者,所述第一转发序列位于所述第一报文的扩展报文头中;The path learning method according to claim 1, wherein the at least one forwarding sequence includes the first forwarding sequence, and the first forwarding sequence is located in a source address field of the first packet, or, The first forwarding sequence is located in the extended header of the first packet;
    所述基于所述第一报文中的至少一个转发序列获取第一转发序列,包括:The obtaining the first forwarding sequence based on at least one forwarding sequence in the first packet includes:
    从所述第一报文的源地址字段或者所述第一报文的扩展报文头中获取所述第一转发序列。The first forwarding sequence is obtained from the source address field of the first packet or the extended packet header of the first packet.
  3. 根据权利要求1所述的路径学习方法,其特征在于,所述至少一个转发序列包括第二转发序列,所述第二转发序列位于所述第一报文的目的地址字段中,或者,所述第二转发序列位于所述第一报文的扩展报文头中;所述第二转发序列包括从所述第二业务节点到所述第一业务节点的传输路径上的各个节点的路径的标识;The path learning method according to claim 1, wherein the at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in a destination address field of the first packet, or, the The second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence includes path identifiers of each node on the transmission path from the second service node to the first service node ;
    所述基于所述第一报文中的至少一个转发序列获取第一转发序列,包括:The obtaining the first forwarding sequence based on at least one forwarding sequence in the first packet includes:
    从所述第一报文的目的地址字段或者所述第一报文的扩展报文头中获取所述第二转发序列;Obtain the second forwarding sequence from the destination address field of the first packet or the extended header of the first packet;
    将所述第二转发序列中路径的标识按照相反的顺序排列,得到所述第一转发序列。The identifiers of the paths in the second forwarding sequence are arranged in reverse order to obtain the first forwarding sequence.
  4. 根据权利要求3所述的路径学习方法,其特征在于,所述第一报文还包括指示信息,所述指示信息用于指示所述第一报文经过的节点的数量。The path learning method according to claim 3, wherein the first packet further includes indication information, wherein the indication information is used to indicate the number of nodes passed by the first packet.
  5. 根据权利要求1至4任一项所述的路径学习方法,其特征在于,所述方法还包括:The path learning method according to any one of claims 1 to 4, wherein the method further comprises:
    在所述第一业务节点接收第一报文之前,发送路径获取请求,所述路径获取请求用于请求所述第一转发序列。Before the first service node receives the first packet, a path acquisition request is sent, where the path acquisition request is used to request the first forwarding sequence.
  6. 根据权利要求5所述的路径学习方法,其特征在于,所述发送路径获取请求,包括:The path learning method according to claim 5, wherein the sending a path acquisition request comprises:
    获取从所述第一业务节点到第三业务节点的第三转发序列;向所述第三业务节点发送第二报文,所述第二报文包括所述路径获取请求和所述第三转发序列;obtaining a third forwarding sequence from the first service node to a third service node; sending a second message to the third service node, where the second message includes the path obtaining request and the third forwarding sequence;
    或者,广播所述路径获取请求。Alternatively, the path acquisition request is broadcast.
  7. 根据权利要求6所述的路径学习方法,其特征在于,所述第三业务节点的计算能力高于阈值。The path learning method according to claim 6, wherein the computing capability of the third service node is higher than a threshold.
  8. 根据权利要求6或7所述的路径学习方法,其特征在于,所述方法还包括:The path learning method according to claim 6 or 7, wherein the method further comprises:
    在向所述第三业务节点发送所述路径获取请求之前,通过路由消息或通告消息获取所述第三业务节点的计算能力。Before sending the path obtaining request to the third service node, the computing capability of the third service node is obtained through a routing message or an advertisement message.
  9. 根据权利要求1至8任一项所述的路径学习方法,其特征在于,所述第一业务节点的计算能力不高于阈值。The path learning method according to any one of claims 1 to 8, wherein the computing capability of the first service node is not higher than a threshold.
  10. 根据权利要求1至9任一项所述的路径学习方法,其特征在于,所述方法还包括:The path learning method according to any one of claims 1 to 9, wherein the method further comprises:
    在所述第一业务节点接收第一报文之前,通过路由消息或通告消息发送所述第一业务节点的设备信息,所述设备信息包括所述第一业务节点的端口信息,所述第一业务节点的设备信息用于供所述第一业务节点所在网络中的其他业务节点进行所述至少一个转发序列的计算。Before the first service node receives the first packet, the device information of the first service node is sent through a routing message or a notification message, where the device information includes port information of the first service node, and the first service node The device information of the service node is used for other service nodes in the network where the first service node is located to perform the calculation of the at least one forwarding sequence.
  11. 根据权利要求1至10任一项所述的路径学习方法,其特征在于,所述方法还包括:The path learning method according to any one of claims 1 to 10, wherein the method further comprises:
    向所述第二业务节点发送第三报文,所述第三报文包括所述第一转发序列。Send a third packet to the second service node, where the third packet includes the first forwarding sequence.
  12. 一种路径学习方法,其特征在于,所述方法包括:A path learning method, characterized in that the method comprises:
    第三业务节点确定至少一个转发序列;The third service node determines at least one forwarding sequence;
    向第一业务节点发送第四报文,所述第四报文包括所述至少一个转发序列,所述至少一个转发序列用于供所述第一业务节点确定第一转发序列,所述第一转发序列包括从所述第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,所述路径的标识为端口的标识或者链路的标识。Send a fourth packet to the first service node, where the fourth packet includes the at least one forwarding sequence, and the at least one forwarding sequence is used for the first service node to determine a first forwarding sequence, the first The forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
  13. 根据权利要求12所述的路径学习方法,其特征在于,所述至少一个转发序列包括所述第一转发序列;The path learning method according to claim 12, wherein the at least one forwarding sequence comprises the first forwarding sequence;
    或者,所述至少一个转发序列包括第二转发序列,所述第二转发序列和所述第一转发序列中路径的标识按照相反的顺序排列。Alternatively, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  14. 根据权利要求12或13所述的路径学习方法,其特征在于,所述确定至少一个转发序列,包括:The path learning method according to claim 12 or 13, wherein the determining at least one forwarding sequence comprises:
    获取网络拓扑信息;Obtain network topology information;
    基于所述网络拓扑信息,计算所述至少一个转发序列中各个转发序列对应的两个业务节点之间的最短路径;Calculate the shortest path between two service nodes corresponding to each forwarding sequence in the at least one forwarding sequence based on the network topology information;
    基于所述各个转发序列对应的两个业务节点之间的最短路径和所述网络拓扑信息,得到所述至少一个转发序列。The at least one forwarding sequence is obtained based on the shortest path between the two service nodes corresponding to the respective forwarding sequences and the network topology information.
  15. 一种路径学习装置,其特征在于,所述装置包括:A path learning device, characterized in that the device comprises:
    接收单元,用于接收第一报文,所述第一报文包括至少一个转发序列;a receiving unit, configured to receive a first message, where the first message includes at least one forwarding sequence;
    获取单元,用于基于所述第一报文中的至少一个转发序列获取第一转发序列,所述第一 转发序列包括从第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,所述路径的标识为端口的标识或者链路的标识。an obtaining unit, configured to obtain a first forwarding sequence based on at least one forwarding sequence in the first packet, where the first forwarding sequence includes paths of each node on the transmission path from the first service node to the second service node The identifier of the path is the identifier of the port or the identifier of the link.
  16. 根据权利要求15所述的路径学习装置,其特征在于,所述至少一个转发序列包括所述第一转发序列,所述第一转发序列位于所述第一报文的源地址字段中,或者,所述第一转发序列位于所述第一报文的扩展报文头中;The path learning apparatus according to claim 15, wherein the at least one forwarding sequence includes the first forwarding sequence, and the first forwarding sequence is located in a source address field of the first packet, or, The first forwarding sequence is located in the extended header of the first packet;
    所述获取单元,用于从所述第一报文的源地址字段或者所述第一报文的扩展报文头中获取所述第一转发序列。The obtaining unit is configured to obtain the first forwarding sequence from a source address field of the first packet or an extended header of the first packet.
  17. 根据权利要求15所述的路径学习装置,其特征在于,所述至少一个转发序列包括第二转发序列,所述第二转发序列位于所述第一报文的目的地址字段中,或者,所述第二转发序列位于所述第一报文的扩展报文头中;所述第二转发序列包括从所述第二业务节点到所述第一业务节点的传输路径上的各个节点的路径的标识;The path learning apparatus according to claim 15, wherein the at least one forwarding sequence includes a second forwarding sequence, and the second forwarding sequence is located in a destination address field of the first packet, or, the The second forwarding sequence is located in the extended header of the first packet; the second forwarding sequence includes path identifiers of each node on the transmission path from the second service node to the first service node ;
    所述获取单元,用于从所述第一报文的目的地址字段或者所述第一报文的扩展报文头中获取所述第二转发序列;将所述第二转发序列中路径的标识按照相反的顺序排列,得到所述第一转发序列。The obtaining unit is configured to obtain the second forwarding sequence from the destination address field of the first packet or the extended header of the first packet; use the identifier of the path in the second forwarding sequence Arrange in reverse order to obtain the first forwarding sequence.
  18. 根据权利要求17所述的路径学习装置,其特征在于,所述第一报文还包括指示信息,所述指示信息用于指示所述第一报文经过的节点的数量。The path learning apparatus according to claim 17, wherein the first packet further includes indication information, wherein the indication information is used to indicate the number of nodes passed by the first packet.
  19. 根据权利要求15至18任一项所述的路径学习装置,其特征在于,所述装置还包括:The path learning device according to any one of claims 15 to 18, wherein the device further comprises:
    发送单元,用于在所述第一业务节点接收第一报文之前,发送路径获取请求,所述路径获取请求用于请求所述第一转发序列。A sending unit, configured to send a path acquisition request before the first service node receives the first packet, where the path acquisition request is used to request the first forwarding sequence.
  20. 根据权利要求19所述的路径学习装置,其特征在于,所述发送单元,用于获取从所述第一业务节点到第三业务节点的第三转发序列;向所述第三业务节点发送第二报文,所述第二报文包括所述路径获取请求和所述第三转发序列;或者,广播所述路径获取请求。The path learning apparatus according to claim 19, wherein the sending unit is configured to acquire a third forwarding sequence from the first service node to a third service node; send the third forwarding sequence to the third service node two packets, where the second packet includes the path acquisition request and the third forwarding sequence; or broadcasts the path acquisition request.
  21. 根据权利要求20所述的路径学习装置,其特征在于,所述第三业务节点的计算能力高于阈值。The path learning apparatus according to claim 20, wherein the computing capability of the third service node is higher than a threshold.
  22. 根据权利要求20或21所述的路径学习装置,其特征在于,所述获取单元,还用于在向所述第三业务节点发送所述路径获取请求之前,通过路由消息或通告消息获取所述第三业务节点的计算能力。The path learning apparatus according to claim 20 or 21, wherein the acquiring unit is further configured to acquire the path acquisition request through a routing message or a notification message before sending the path acquisition request to the third service node The computing capability of the third service node.
  23. 根据权利要求15至22任一项所述的路径学习装置,其特征在于,所述第一业务节点的计算能力不高于阈值。The path learning apparatus according to any one of claims 15 to 22, wherein the computing capability of the first service node is not higher than a threshold.
  24. 根据权利要求15至23任一项所述的路径学习装置,其特征在于,所述装置还包括:The path learning device according to any one of claims 15 to 23, wherein the device further comprises:
    发送单元,用于在所述第一业务节点接收第一报文之前,通过路由消息或通告消息发送所述第一业务节点的设备信息,所述设备信息包括所述第一业务节点的端口信息,所述第一业务节点的设备信息用于供所述第一业务节点所在网络中的其他业务节点进行所述至少一个转发序列的计算。A sending unit, configured to send device information of the first service node through a routing message or an advertisement message before the first service node receives the first packet, where the device information includes port information of the first service node , the device information of the first service node is used for other service nodes in the network where the first service node is located to perform the calculation of the at least one forwarding sequence.
  25. 根据权利要求15至24任一项所述的路径学习装置,其特征在于,所述装置还包括:The path learning device according to any one of claims 15 to 24, wherein the device further comprises:
    发送单元,用于向所述第二业务节点发送第三报文,所述第三报文包括所述第一转发序列。a sending unit, configured to send a third packet to the second service node, where the third packet includes the first forwarding sequence.
  26. 一种路径学习装置,其特征在于,所述装置包括:A path learning device, characterized in that the device comprises:
    确定单元,用于确定至少一个转发序列;a determining unit for determining at least one forwarding sequence;
    发送单元,用于向第一业务节点发送第四报文,所述第四报文包括所述至少一个转发序列,所述至少一个转发序列用于供所述第一业务节点确定第一转发序列,所述第一转发序列包括从所述第一业务节点到第二业务节点的传输路径上的各个节点的路径的标识,所述路径的标识为端口的标识或者链路的标识。a sending unit, configured to send a fourth message to the first service node, where the fourth message includes the at least one forwarding sequence, and the at least one forwarding sequence is used for the first service node to determine the first forwarding sequence , the first forwarding sequence includes path identifiers of each node on the transmission path from the first service node to the second service node, where the path identifiers are port identifiers or link identifiers.
  27. 根据权利要求26所述的路径学习装置,其特征在于,所述至少一个转发序列包括所述第一转发序列;The path learning apparatus according to claim 26, wherein the at least one forwarding sequence comprises the first forwarding sequence;
    或者,所述至少一个转发序列包括第二转发序列,所述第二转发序列和所述第一转发序列中路径的标识按照相反的顺序排列。Alternatively, the at least one forwarding sequence includes a second forwarding sequence, and the identifiers of the paths in the second forwarding sequence and the first forwarding sequence are arranged in reverse order.
  28. 根据权利要求26或27所述的路径学习装置,其特征在于,所述确定单元,用于获取网络拓扑信息;基于所述网络拓扑信息,计算所述至少一个转发序列中各个转发序列对应的两个业务节点之间的最短路径;基于所述各个转发序列对应的两个业务节点之间的最短路径和所述网络拓扑信息,得到所述至少一个转发序列。The path learning device according to claim 26 or 27, wherein the determining unit is configured to acquire network topology information; based on the network topology information, calculate two corresponding to each forwarding sequence in the at least one forwarding sequence. The shortest path between the two service nodes; the at least one forwarding sequence is obtained based on the shortest path between the two service nodes corresponding to each forwarding sequence and the network topology information.
  29. 一种业务节点,其特征在于,所述业务节点包括处理器和存储器;所述存储器用于存储软件程序以及模块,所述处理器通过运行或执行存储在所述存储器内的软件程序和/或模块,使所述业务节点实现如权利要求1至11任一项所述的方法,或者实现如权利要求12至14任一项所述的方法。A service node, characterized in that the service node includes a processor and a memory; the memory is used for storing software programs and modules, and the processor runs or executes the software programs and/or module, so that the service node implements the method according to any one of claims 1 to 11, or implements the method according to any one of claims 12 to 14.
  30. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储处理器所执行的程序代码,所述程序代码包括用于实现如权利要求1至11任一项所述的方法的指令,或者实现如权利要求12至14任一项所述的方法。A computer-readable storage medium, characterized in that, the computer-readable storage medium is used for storing program codes executed by a processor, the program codes comprising a program code for implementing the method according to any one of claims 1 to 11 Instructions for a method, or implementing a method as claimed in any one of claims 12 to 14.
PCT/CN2022/085900 2021-04-29 2022-04-08 Path learning method and device, service node, and storage medium WO2022228090A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110474916.0 2021-04-29
CN202110474916.0A CN115277524A (en) 2021-04-29 2021-04-29 Path learning method, device, service node and storage medium

Publications (1)

Publication Number Publication Date
WO2022228090A1 true WO2022228090A1 (en) 2022-11-03

Family

ID=83744750

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/085900 WO2022228090A1 (en) 2021-04-29 2022-04-08 Path learning method and device, service node, and storage medium

Country Status (2)

Country Link
CN (1) CN115277524A (en)
WO (1) WO2022228090A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116346938A (en) * 2023-05-25 2023-06-27 新华三技术有限公司 Calculation power access method and device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249155A1 (en) * 2004-05-06 2005-11-10 Samsung Electronics Co., Ltd. Routing method for wireless networks
CN106656781A (en) * 2015-11-02 2017-05-10 中兴通讯股份有限公司 Message transmission method, apparatus and system
CN111385209A (en) * 2018-12-28 2020-07-07 华为技术有限公司 Message processing method, message forwarding method, device and equipment
CN113973080A (en) * 2020-07-06 2022-01-25 华为技术有限公司 Message processing method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050249155A1 (en) * 2004-05-06 2005-11-10 Samsung Electronics Co., Ltd. Routing method for wireless networks
CN106656781A (en) * 2015-11-02 2017-05-10 中兴通讯股份有限公司 Message transmission method, apparatus and system
CN111385209A (en) * 2018-12-28 2020-07-07 华为技术有限公司 Message processing method, message forwarding method, device and equipment
CN113973080A (en) * 2020-07-06 2022-01-25 华为技术有限公司 Message processing method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
P. ASHWOOD-SMITH HUAWEI M. SOLIMAN CARLETON UNIVERSITY T. WAN HUAWEI: "SDN State Reduction; draft-ashwood-sdnrg-state-reduction-00.txt", SDN STATE REDUCTION; DRAFT-ASHWOOD-SDNRG-STATE-REDUCTION-00.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 3 July 2013 (2013-07-03), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland , pages 1 - 23, XP015094727 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116346938A (en) * 2023-05-25 2023-06-27 新华三技术有限公司 Calculation power access method and device, electronic equipment and storage medium
CN116346938B (en) * 2023-05-25 2023-08-18 新华三技术有限公司 Calculation power access method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN115277524A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
WO2021063232A1 (en) Method, apparatus and system for establishing bier forwarding table entry
CN111669330B (en) BIER message sending method and device
EP2708001B1 (en) Label switched routing to connect low power network domains
WO2020156166A1 (en) Packet processing method and device
CN111385209B (en) Message processing method, message forwarding method, device and equipment
WO2020052410A1 (en) Communication method, device, and system
WO2021196717A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
WO2017198131A1 (en) Method and system for redirecting data stream, and network device and control device
EP4191966A1 (en) Method and device for processing data message, storage medium, and electronic device
US20220191138A1 (en) Method for Making Host Network Performance Requirement Programmable, Device, and System
WO2021088561A1 (en) Method, device, and equipment for load sharing in bit index explicit replication network
CN113923161A (en) Message forwarding method and device
WO2022228090A1 (en) Path learning method and device, service node, and storage medium
CN110708229B (en) Method, device and system for receiving and transmitting message
US20230353479A1 (en) Edge Computing Data and Service Discovery Using an Interior Gateway Protocol (IGP)
US20230081052A1 (en) Method and apparatus for sending multicast packet
CN110601982A (en) Route transmission method and device and router
CN113132230A (en) Method, device and computer storage medium for sending message
WO2023173989A1 (en) Forwarding table generation method and apparatus, and storage medium and electronic apparatus
US20230318966A1 (en) Packet Transmission Method, Correspondence Obtaining Method, Apparatus, and System
CN112511444B (en) Multicast traffic transmission method, device, communication node and storage medium
US10924395B2 (en) Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core
WO2022222582A1 (en) Packet processing method and apparatus, and storage medium and electronic apparatus
WO2022237563A1 (en) Data forwarding method and apparatus, storage medium, and electronic apparatus
WO2023109398A1 (en) Packet transmission method and apparatus

Legal Events

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

Ref document number: 22794561

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22794561

Country of ref document: EP

Kind code of ref document: A1