WO2022007701A1 - 报文处理方法及其装置 - Google Patents
报文处理方法及其装置 Download PDFInfo
- Publication number
- WO2022007701A1 WO2022007701A1 PCT/CN2021/103987 CN2021103987W WO2022007701A1 WO 2022007701 A1 WO2022007701 A1 WO 2022007701A1 CN 2021103987 W CN2021103987 W CN 2021103987W WO 2022007701 A1 WO2022007701 A1 WO 2022007701A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- service
- port
- path
- path vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Definitions
- the present application relates to the field of communication technologies, and in particular, to a message processing method and device thereof.
- IP Internet Protocol
- the router device determines the network topology through signaling, creates, maintains and updates the routing information base (RIB), and creates, maintains and updates the forwarding information base (FIB) according to the content of the routing table.
- the router device forwards the packets by looking up the forwarding table.
- Embodiments of the present application provide a message processing method and device, which are used to implement a table-less forwarding solution for node devices, which solves the problem that the network scale is restricted due to the explosive increase of network table items.
- a first aspect of the embodiments of the present application provides a message processing method, the method includes:
- the first service node acquires first service data, the first service data carries first service information, and the first service information is used to indicate a service corresponding to the first service data; then, the first service node obtains the first service information according to the first service information Determine a first path vector (path vector, PV), the first path vector includes port information of ports of one or more nodes; the first service node generates a first packet including the first path vector, the first path vector for the first service node to send the first message.
- path vector path vector
- the first service node determines the first path vector according to the first service information, and generates a first packet including the first path vector.
- the first path vector is used for the first service node to send the first message
- the first path vector includes port information of ports of one or more nodes, so as to realize the solution of table-less forwarding of node devices, which solves the problem of The problem of restricted network size due to the explosion of netlist items.
- the first packet carries the first path vector, and there is no need to determine the destination IP address through a domain name system (domain name system, DNS) server, which shortens the delay for the first service node to perform the data request and reduces signaling overhead. There is no need for centralized nodes such as DNS server redirection, which improves the reliability of data transmission.
- domain name system domain name system
- the method further includes: if the first path vector includes port information of the first service node, the first service node sends a first packet including a second path vector, where the second path vector is: A path vector after deleting the port signal of the first service node in the first path vector; if the first path vector does not contain the port information of the first service node, the first service node sends a first packet containing the first path vector .
- a manner in which the first service node sends the first packet according to the first path vector is provided. It can be seen from this that the first service node sends the first packet according to the first path vector, which is a table-less forwarding method, data forwarding does not involve a table look-up operation, the node device is simple and efficient, and the forwarding delay is low. In addition, the first service node sends the first packet according to the first path vector, there is no problem of IP address exhaustion, the transmission efficiency is high, and the forwarding delay is small.
- the first service node determining the first path vector according to the first service information includes: the first service node determining the first path vector corresponding to the first service information according to the first path-vector mapping relationship,
- the first path vector mapping relationship is used to indicate the mapping relationship between the first service information and the first path vector.
- the mapping relationship between the first service information and the first path vector includes: the first service information includes a first service identifier; the first service node determines the first forwarding according to the first service identifier path, the start node of the first forwarding path is the first service node, the destination node of the first forwarding path is the second service node, and the second service node is used to provide the first service node with the corresponding first service identifier business service; the first business node generates a first path vector according to the first port information, and the first port information is the port information of the port used for output by the node on the first forwarding path.
- a specific form of the first path-vector mapping relationship is provided, the corresponding first forwarding path is determined through the first service information, and the nodes on the first forwarding path are used for outputting The port information of the port generates a first path vector.
- the method includes: the first service node obtains second port information and a second service identifier through a routing protocol, where the second port information is port information of a port of a node included in the first network, the The second service identifier is a service identifier of a service supported by a service node included in the first network, where the first network is a network accessed by the first service node; then, the first service node uses the second port information and the second service identifier according to the second port information One or more forwarding paths are generated, the one or more forwarding paths including the first forwarding path.
- the first service node runs a routing protocol, acquires the second port information and the second service identifier, and generates one or more forwarding paths. It can be seen from this that the destination node of each forwarding path has a corresponding service identifier, so that the first service node can generate one or more path vectors.
- the first network includes one or more virtual nodes
- the virtual nodes include ingress sub-nodes and egress sub-nodes
- the second port information includes port information of external ports of the one or more virtual nodes , the external port is the ingress port of the ingress child node and the egress port of the egress child node.
- the port component included in the path vector is related to the number and port number of nodes on the forwarding path.
- the number of nodes on the forwarding path is relatively small, and the number of binary digits occupied by the port component is small, that is, the length of one or more port components included in the path vector is short, and the data transmission efficiency is high.
- the embodiment of the present application introduces virtual nodes, and aggregates multiple nodes in a local network through virtual nodes, thereby reducing the length of the path vector and reducing the calculation amount of the node device for calculating the path vector.
- the first port information includes one or more port components, and the port components correspond to the ports used for output in the nodes on the first forwarding path; the first service node according to the first port
- the information generating the first path vector includes: the first service node encrypts the one or more port components according to a preset key, and generates the first path vector.
- one or more port components included in the first path vector are obtained through encryption. Therefore, each node on the first forwarding path only determines the next hop node of the first packet, and cannot obtain the starting node and destination node of the first packet, thereby improving the reliability of data communication between service nodes. Safety and reliability increase the practicability of this scheme.
- the encryption keys for one or more port components are different.
- the keys used to encrypt each port component are different, which is beneficial to improve the security and reliability of data transmission.
- the first service node generating the first path vector according to the first port information includes: the first service node generating the first path vector according to the encrypted first port information.
- the one or more port components are obtained by encrypting the corresponding nodes on the first forwarding path respectively, that is, the one or more ports are encrypted with the aforementioned first service node according to a preset key
- the components are two parallel schemes.
- the first service node and other nodes on the first forwarding path do not need to pre-determine keys, which reduces key-agreement signaling and network overhead; The agreement can improve the security of data transmission.
- the first path vector includes a port component of at least one node; the first service node sending the first packet including the second path vector includes: the first service node according to the first path vector The first port component of the first service node determines the first port of the first service node; then, the first service node deletes the first port component of the first path vector to obtain the second path vector; The first port sends the first packet containing the second path vector.
- the first service node When forwarding the first packet, the first service node should delete the port information of the first service node contained in the first path vector, and then forward the first packet.
- the first service node determines the first port of the first service node according to the first port component of the first path vector, including: the first service node determines the number of ports included in the first service node; Then, the first service node determines the first bit width X according to the number of ports, where the first bit width X is a bit width in the form of a binary number used to represent the port information of the first port of the first service node, where X is An integer greater than or equal to 1; the first service node takes the first X binary digits of the first path vector as the port information of the first port.
- a first manner in which the first service node determines the first port component of the first path vector is provided.
- the first path vector includes one or more port components, the nodes on the first forwarding path are unaware of the port components before or after it, and the port components only have local significance, and it is impossible to know which two service nodes are the two service nodes. data communication between, thereby improving the security of data transmission.
- the first service node determines the first port of the first service node according to the first port component of the first path vector, including: the first service node determines the first binary number in the first binary number Whether the value of the number is the first value, the first binary number is the first Y-bit binary number of the first path vector, and Y is the preset binary number used to represent the port information of the port of the first service node.
- Unit bit width where Y is an integer greater than or equal to 1; if the value of the first binary number is the first value, the first service node determines whether the value of the first binary number in the second binary number is For the first numerical value, if not, the first binary number with the first binary number removed is placed after the second binary number with the first binary number removed, and a Y-2 binary number sequence is obtained, and the Y-2 binary number is obtained.
- the bit binary sequence is used as the port information of the first port, and the second binary number is the Y+1-th binary number of the first path vector to the 2Y-bit binary number of the first path vector; if the first binary number If the value of the number is not the first value, the first service node will use the first binary number with the first binary number removed as the port information of the first port.
- a second manner in which the first service node determines the first port component of the first path vector is provided to improve the diversity of the solution.
- the first packet further carries first information source information of the first service node, where the first information source information includes any of the following information: an internet protocol (IP) address, a media Access control (media access control, MAC) address, name, or, identity (identity, ID).
- IP internet protocol
- MAC media Access control
- ID identity, ID
- the first packet carries the first information source information, so that after the destination node receives the first packet, when the destination node feeds back data to the first service node, the first information
- the source information finds the first service node.
- the method further includes: the first service node determines multiple path vectors according to the first service information, and the multiple path vectors are in one-to-one correspondence with multiple forwarding paths; the first service node obtains the multiple path vectors. copies of service data, the multiple copies of service data are in one-to-one correspondence with the multiple path vectors, the multiple copies of the service data respectively carry the first service information; the first service node respectively maps the multiple copies of the service data to the multiple paths The corresponding path vector in the vector, the mapping is used for load balancing of the multiple forwarding paths.
- the first service node acquires multiple copies of service data, and the first service node maps the multiple copies of service data to corresponding path vectors in the multiple path vectors according to the load balancing rule, which is beneficial to the multiple path vectors Load balancing of corresponding multiple forwarding paths improves data transmission efficiency and network transmission performance.
- the first service node determines the first path vector according to the first service information, including: the first service node determines whether there is a first path vector corresponding to the first service information; if so, then the first service The node determines the first path vector corresponding to the first service information; if not, the first service node determines that the first default path vector is the first path vector, and the destination node pointed to by the first default path vector is the proxy node; wherein, the proxy node is a gateway device that proxy the first service node to communicate with the third service node, and the proxy node is used to send the first message to the third service node, so that the third service node The node provides the first service node with a service service corresponding to the first service data.
- a hierarchical gateway device is set up in a multi-part network of the network system, and the first service node only needs to calculate the path vector for the first service node to reach the service node in the first network. If the corresponding path vector is not available, a message is sent to the proxy node through the default path vector, and the proxy node further processes the message and forwards the message. In this way, the transmission of the message can be completed, and the calculation amount of the path vector calculation by the first service node can be reduced, and the performance requirements on the first service node can be lowered.
- the first service node and the third service node belong to the same network or belong to different networks.
- the first network is a local area network
- the second network is a metropolitan area network
- the first network is a metropolitan area network
- the second network is a wide area network
- a second aspect of the embodiments of the present application provides a packet processing method, the method includes:
- the first network node receives a first packet containing a third path vector, where the third path vector includes port information of ports of one or more nodes; the first network node sends the first packet according to the third path vector .
- the first network node sends the first message according to the third path vector, so as to realize the solution of node device forwarding without a table, and solve the problem that the network scale is restricted due to the explosive increase of network table items.
- the path vector does not need to be allocated uniformly, there is no problem of IP address exhaustion, and it can adapt to various types of networks.
- the port information includes one or more port components; sending the first packet by the first network node according to the third path vector includes: the first network node according to the third path vector The first port component of the first network node determines the second port of the first network node; the first network node deletes the first port component of the third path vector to obtain a fourth path vector; then, the first network node passes the The second port sends the first packet including the fourth path vector.
- the first network node sends the first packet according to the third path vector, which is a table-less forwarding method, data forwarding does not involve a table lookup operation, the node device is simple and efficient, and the forwarding delay is low.
- the first network node sends the first packet according to the third path vector, there is no problem of IP address exhaustion, the transmission efficiency is high, and the forwarding delay is small.
- the first network node determines the second port of the first network node according to the first port component of the third path vector, including: the first network node according to a preset key Decrypt the first port component of the third path vector to obtain the decrypted first port component; the first network node determines the second port of the first network node through the decrypted first port component port information.
- the port component included in the third path vector is encrypted, and the first network node can decrypt it using a preset key, and then determine the second port through the decrypted port component, thereby improving data transmission. security.
- the first network node determining the second port of the first network node according to the first port component of the third path vector includes: the first network node determining the first network node The number of ports included; the first network node determines a second bit width Z according to the number of ports, and the second bit width Z is a bit width in the form of a binary number used to represent the port information of the second port of the first network node , where Z is an integer greater than or equal to 1; the first network node uses the first Z binary digits of the third path vector as port information of the second port.
- the first network node determines the second port of the first network node according to the first port component of the third path vector, including: the first network node determining the third binary number Whether the value of the first binary number is the first value, the third binary number is the first Y binary number of the third path vector, and Y is the preset port information used to represent the port of the first network node The unit bit width in the form of a binary number, where Y is an integer greater than or equal to 1; if the value of the first binary number is the first value, the first network node judges the fourth binary number of the first binary number.
- the value is the first value, if not, place the third binary number with the first binary number removed after the fourth binary number with the first binary number removed, and obtain a sequence of Y-2-digit binary numbers.
- the Y-2-bit binary number sequence is used as the port information of the second port, and the fourth binary number is the Y+1-bit binary number of the fourth path vector to the 2Y-bit binary number of the fourth path vector; if If the value of the first binary number is not the first value, the first network node will remove the third binary number of the first binary number as port information of the second port.
- the port information includes one or more port components
- the first network node is a first entry child node of a first virtual node, and the first virtual node includes the first entry child node and a first egress child node
- the first network node sending the first message according to the third path vector includes: the first network node determining that the first port component of the third path vector corresponds to the first egress child node the third port of ; the network node determines the first sub-path vector, and the destination node pointed to by the first sub-path vector is the first exit sub-node; the first network node determines the first sub-path vector according to the first sub-path vector and the The three-path vector sends the first message.
- the first network node serves as the first entry child node of the first virtual node, provides the first network node to determine the first sub-path vector, and determines the first sub-path vector according to the first The process of sending the first packet by the sub-path vector and the third path vector.
- sending the first packet by the first network node according to the first sub-path vector and the third path vector includes: the first network node sends the first packet according to the first sub-path vector of the first sub-path vector.
- a port component determines the second port of the first network node; the first network node deletes the first port component of the first subpath vector to obtain a second subpath vector; the first network node passes through the first subpath vector The second port of the network node sends a first packet including the second subpath vector and the third path vector.
- the determining, by the first network node, the first subpath vector includes: the first network node determining, according to the subpath vector mapping relationship, the first subpath vector corresponding to the third port, the subpath vector The vector mapping relationship is used to indicate the mapping relationship between the third port and the first subpath vector.
- the sub-path vector mapping relationship includes the mapping relationship between the external port of the first virtual node and the sub-path vector, so that the first network node can find the first sub-path vector through the third port.
- the mapping relationship between the third port and the first sub-path vector includes: the first network node determines a second forwarding path according to the third port, and the second forwarding path The starting child node is the first entry child node, and the destination child node of the second forwarding path is the first exit child node; the first network node generates the first sub-path vector according to the third port information, and the third The port information is the port information of the port used for output by the child node on the second forwarding path.
- the method further includes: acquiring, by the first network node, fourth port information, where the fourth port information includes port information of ports of child nodes included in the first virtual node; the first network node The node generates one or more forwarding paths according to the fourth port information, and the one or more forwarding paths include the second forwarding path.
- the first network node obtains the fourth port information through a routing protocol, and generates one or more forwarding paths. It can be known from this that the destination node of each forwarding path has a corresponding external port, so that the first network node can generate one or more path vectors.
- a third aspect of the embodiments of the present application provides a message processing method, the method includes:
- the proxy node receives the second message of the fourth service node, where the second message carries the second service information; then, the proxy node determines a fifth path vector according to the second service information, where the fifth path vector includes at least one or more Port information of the ports of each node; the proxy node generates a second message containing a fifth path vector, and the fifth path vector is used by the proxy node to send the second message to the fifth service node, so that the fifth service node A business service corresponding to the first business information is provided for the fourth business node.
- a proxy node of the first network is set up in the network system, the fourth service node can send a second packet to the proxy node through the default path vector, and then determine the fifth path vector from the second service information, and The second packet is sent to the fifth service node according to the fifth path vector, thereby realizing packet transmission.
- the fourth service node does not need to calculate the path vector, but only needs to send the second packet to the proxy node through the default routing vector, and the proxy node further processes the packet and forwards the second packet. In this way, the transmission of the message can be completed, and the calculation amount of the path vector calculated by the fourth service node can be reduced, and the performance requirements of the fourth service node can be lowered.
- the fourth service node and the fifth service node belong to the same network; or, the fourth service node and the fifth service node belong to different networks.
- the proxy node determining the fifth path vector according to the second service information includes: the proxy node determining the fifth path vector corresponding to the second service information according to the second path-vector mapping relationship,
- the second path vector mapping relationship is used to indicate the mapping relationship between the second service information and the fifth path vector.
- a possible implementation manner in which the proxy node determines the fifth path vector is provided to improve the implementability of the solution.
- the mapping relationship between the second service information and the fifth path vector includes: the second service information includes a third service identifier; the proxy node determines the third service identifier according to the third service identifier Three forwarding paths, the starting node of the third forwarding path is the proxy node, and the destination node of the third forwarding path is the fifth service node; the proxy node generates the fifth path vector according to the fifth port information, and the first The five-port information is the port information of the port used for output in the node on the third forwarding path.
- a specific form of the second path-vector mapping relationship is provided, the corresponding third forwarding path is determined through the second service information, and the nodes on the third forwarding path are used for outputting The port information of the port generates a fifth path vector.
- the proxy node is a gateway device connecting the first network and the second network; the method further includes: the proxy node acquires the sixth port information and the fourth service identifier, the sixth port The information includes port information of ports of nodes included in the first network and port information of ports of nodes included in the second network, and the fourth service identifier includes service identifiers of services supported by service nodes included in the first network and The service identifier of the service supported by the service node included in the second network; the proxy node generates one or more forwarding paths according to the sixth port information and the fourth service identifier, and the one or more forwarding paths include the third forwarding path.
- the proxy node runs a routing protocol, acquires the sixth port information and the fourth service identifier, and generates one or more forwarding paths. It can be seen from this that the destination node of each forwarding path has a corresponding service identifier, so that the proxy node can generate one or more path vectors.
- the method includes: the proxy node receives a first packet of the first service node, where the first packet carries the first service information, and the first service node belongs to the first service node. network; the proxy node determines a sixth path vector according to the first service information, where the sixth path vector includes port information of ports of at least one or more nodes; the proxy node generates a first packet containing the sixth path vector , the sixth path vector is used by the proxy node to send the first message to the third service node, so that the third service node provides the first service node with the service service corresponding to the first service information, and the The third service node belongs to the second network.
- the first service node only needs to calculate the path vector for the first service node to reach the service node in the first network, and if the corresponding path vector cannot be found, it sends a default path vector to the proxy node. message, and the proxy node further processes the message and forwards the message. In this way, the transmission of the message can be completed, and the calculation amount of the path vector calculation by the first service node can be reduced, and the performance requirements on the first service node can be lowered.
- a fourth aspect of the embodiments of the present application provides a message processing method, the method includes:
- the second service node receives the first message of the first service node, where the first message carries the first service information and the first information source information of the first service node; the second service node obtains the first message according to the first message second service data; the second service node determines a seventh path vector according to the first information source information, where the seventh path vector includes port information of ports of one or more nodes; the second service node generates a seventh path vector including the seventh path vector The fourth packet of the path vector, where the seventh path vector is used by the second service node to send the fourth packet to the first service node.
- the second service node after receiving the first packet, determines the second service data, determines the seventh path vector according to the first information source information, and then sends the fourth packet according to the seventh path vector.
- the four packets carry the second service data, so as to realize the scheme of no-table forwarding of node devices, and solve the problem that the network scale is restricted due to the explosive increase of network table items.
- the method further includes:
- the second service node sends a fourth packet including the eighth path vector, and the eighth path vector is to delete the second packet in the seventh path vector.
- the path vector after the port information of the service node; if the seventh path vector does not contain the port information of the second service node, the second service node sends a fourth packet including the seventh path vector.
- a manner in which the second service node sends the fourth packet according to the seventh path vector is provided. It can be seen that the second service node sends the fourth packet according to the seventh path vector, which is a table-less forwarding method. Data forwarding does not involve a table look-up operation, the node device is simple and efficient, and the forwarding delay is low. In addition, when the second service node sends the fourth packet according to the seventh path vector, there is no problem of IP address exhaustion, the transmission efficiency is high, and the forwarding delay is small.
- the second service node determining the seventh path vector according to the first information source information includes: the second service node determining, according to the fourth path-vector mapping relationship, a A seventh path vector, where the fourth path vector mapping relationship is used to indicate the mapping relationship between the first information source information and the seventh path vector.
- a fifth aspect of the embodiments of the present application provides a message processing device, where the message processing device includes:
- an obtaining unit configured to obtain first service data, where the first service data carries first service information, and the first service information is used to indicate a service corresponding to the first service data;
- a determining unit configured to determine a first path vector according to the first service information, where the first path vector includes port information of ports of one or more nodes;
- a generating unit configured to generate a first message including a first path vector, where the first path vector is used by the message processing apparatus to send the first message.
- the message processing apparatus further includes a sending unit;
- the sending unit is configured to, if the first path vector includes port information of the message processing device, send a first message including a second path vector, where the second path vector is to delete the message processing device in the first path vector The path vector after the port signal; if the first path vector does not contain the port information of the message processing device, the first message containing the first path vector is sent.
- the determining unit is specifically used for:
- the first path vector corresponding to the first service information is determined according to the first path-vector mapping relationship, where the first path-vector mapping relationship is used to indicate the mapping relationship between the first service information and the first path vector.
- the mapping relationship between the first service information and the first path vector includes: the first service information includes a first service identifier; the packet processing apparatus determines the first forwarding according to the first service identifier path, the start node of the first forwarding path is the message processing device, the destination node of the first forwarding path is the second service node, and the second service node is used to provide the message processing device with the corresponding first service identifier business service; the message processing apparatus generates a first path vector according to the first port information, where the first port information is the port information of the port used for output by the node on the first forwarding path.
- the obtaining unit is also used for:
- second port information and a second service identifier through a routing protocol, where the second port information is port information of a port of a node included in the first network, and the second service identifier is a service ID of a service supported by a service node included in the first network A service identifier, where the first network is a network accessed by the message processing apparatus;
- the generating unit is further configured to generate one or more forwarding paths according to the second port information and the second service identifier, where the one or more forwarding paths include the first forwarding path.
- the first network includes one or more virtual nodes
- the virtual nodes include ingress sub-nodes and egress sub-nodes
- the second port information includes port information of external ports of the one or more virtual nodes , the external port is the ingress port of the ingress child node and the egress port of the egress child node.
- the first port information includes one or more port components, and the port components correspond to the ports used for output in the nodes on the first forwarding path; the generating unit is specifically configured to:
- the one or more port components are respectively encrypted according to a preset key, and a first path vector is generated.
- the encryption keys for one or more port components are different.
- the generating unit is specifically used for:
- a first path vector is generated according to the encrypted first port information.
- the first path vector includes port components of at least one node; the sending unit is specifically configured to:
- the first packet containing the second path vector is sent through the first port of the first service section.
- the sending unit is specifically used for:
- the message processing device determines the first digit width X according to the number of ports, and the first digit width X is a binary binary used to represent the port information of the first port of the message processing device Bit width in number form, where X is an integer greater than or equal to 1;
- the first X binary digits of the first path vector are used as port information of the first port.
- the sending unit is specifically used for:
- the first binary number is the first Y-bit binary number of the first path vector
- Y is a preset used to represent the message processing device
- the value of the first binary digit is the first value, it is determined whether the value of the first binary digit in the second binary number is the first value, and if not, the first binary digit of the first binary digit will be removed. After the binary number is placed in the second binary number that removes the first binary number, a Y-2-bit binary number sequence is obtained, and the Y-2-bit binary number sequence is used as the port information of the first port.
- the second binary number is The Y+1th binary number of the first path vector to the 2Yth binary number of the first path vector;
- the first binary number with the first binary number removed is used as the port information of the first port.
- the first packet further carries first information source information of the packet processing device, where the first information source information includes any of the following information: IP address, MAC address, name, or ID .
- the obtaining unit is also used for:
- the message processing apparatus obtains multiple copies of service data, and the multiple copies of service data correspond to the multiple path vectors one-to-one , the multiple pieces of business data respectively carry the first business information;
- the message processing device further includes a mapping unit
- the mapping unit is used for respectively mapping the multiple pieces of service data to corresponding path vectors among the multiple path vectors, and the mapping is used for load balancing of the multiple forwarding paths.
- the determining unit is specifically used for:
- the destination node pointed to by a default path vector is a proxy node; wherein, the proxy node is a gateway device that proxy the message processing device to communicate with the third service node, and the proxy node is used to send the third service node the the first message, so that the third service node provides the message processing apparatus with the service service corresponding to the first service data.
- the packet processing apparatus and the third service node belong to the same network or belong to different networks.
- the first network is a local area network
- the second network is a metropolitan area network
- the first network is a metropolitan area network
- the second network is a wide area network
- a sixth aspect of an embodiment of the present application provides a message processing device, where the message processing device includes:
- a receiving unit configured to receive a first message including a third path vector, where the third path vector includes port information of ports of one or more nodes;
- a sending unit configured to send the first packet according to the third path vector.
- the port information includes one or more port components; the sending unit is specifically used for:
- the first packet including the fourth path vector is sent through the second port.
- the sending unit is specifically used for:
- the port information of the second port of the message processing apparatus is determined by the decrypted first port component.
- the sending unit is specifically used for:
- the message processing device determines a second bit width Z according to the number of ports, and the second bit width Z is used to represent the port information of the second port of the message processing device.
- Bit width in binary form, where Z is an integer greater than or equal to 1;
- the first Z-bit binary number of the third path vector is used as port information of the second port.
- the sending unit is specifically used for:
- the third binary number is the first Y-bit binary number of the third path vector
- Y is a preset used to represent the message processing
- the third binary digit after the first binary digit is removed is used as the port information of the second port.
- the port information includes one or more port components
- the packet processing apparatus is a first entry child node of a first virtual node, and the first virtual node includes the first entry child node and The first egress child node; the sending unit is specifically used for:
- the message processing device sends the first message according to the first sub-path vector and the third path vector .
- the sending unit is specifically used for:
- the first message including the second sub-path vector and the third path vector is sent through the second port of the message processing apparatus.
- the sending unit is specifically used for:
- the first sub-path vector corresponding to the third port is determined according to the sub-path vector mapping relationship, where the sub-path vector mapping relationship is used to indicate the mapping relationship between the third port and the first sub-path vector.
- the mapping relationship between the third port and the first sub-path vector includes: the packet processing apparatus determines a second forwarding path according to the third port, and the second forwarding path is The starting child node is the first entry child node, and the destination child node of the second forwarding path is the first exit child node; the packet processing apparatus generates the first child path vector according to the third port information, and the third The port information is the port information of the port used for output by the child node on the second forwarding path.
- the message processing apparatus further includes an acquiring unit and a generating unit;
- the obtaining unit configured to obtain fourth port information, where the fourth port information includes port information of ports of child nodes included in the first virtual node;
- a generating unit configured to generate one or more forwarding paths according to the fourth port information, where the one or more forwarding paths include the second forwarding path.
- a seventh aspect of an embodiment of the present application provides a message processing device, where the message processing device includes:
- a receiving unit configured to receive a second message of the fourth service node, where the second message carries the second service information; then,
- a determining unit configured to determine a fifth path vector according to the second service information, where the fifth path vector includes port information of ports of at least one or more nodes;
- a generating unit configured to generate a second message including a fifth path vector, and the fifth path vector is used by the message processing apparatus to send the second message to the fifth service node, so that the fifth service node is the
- the fourth business node provides business services corresponding to the first business information.
- the fourth service node and the fifth service node belong to the same network; or, the fourth service node and the fifth service node belong to different networks.
- the determining unit is specifically used for:
- the fifth path vector corresponding to the second service information is determined according to the second path-vector mapping relationship, where the second path-vector mapping relationship is used to indicate the mapping relationship between the second service information and the fifth path vector.
- the mapping relationship between the second service information and the fifth path vector includes: the second service information includes a third service identifier; the message processing apparatus according to the third service identifier Determine a third forwarding path, where the starting node of the third forwarding path is the message processing device, and the destination node of the third forwarding path is the fifth service node; the message processing device generates the third forwarding path according to the fifth port information A five-path vector, where the fifth port information is port information of a port used for output in a node on the third forwarding path.
- the message processing apparatus is a gateway device connecting the first network and the second network; the message processing apparatus further includes an obtaining unit;
- the acquiring unit is configured to acquire the sixth port information and the fourth service identifier, where the sixth port information includes port information of ports of nodes included in the first network and port information of ports of nodes included in the second network , the fourth service identifier includes the service identifier of the service supported by the service node included in the first network and the service identifier of the service supported by the service node included in the second network;
- the generating unit is configured to generate one or more forwarding paths according to the sixth port information and the fourth service identifier, where the one or more forwarding paths include the third forwarding path.
- the receiving unit is also used for:
- the determination unit is also used to:
- the sixth path vector includes port information of ports of at least one or more nodes
- This generation unit is also used to:
- the sixth path vector is used by the message processing apparatus to send the first message to the third service node, so that the third service node is the first service
- the node provides the business service corresponding to the first business information, and the third business node belongs to the second network.
- An eighth aspect of an embodiment of the present application provides a message processing device, where the message processing device includes:
- a receiving unit configured to receive a first packet of a first service node, where the first packet carries first service information and first source information of the first service node;
- an obtaining unit configured to obtain second service data according to the first message
- a determining unit configured to determine a seventh path vector according to the first information source information, where the seventh path vector includes port information of ports of one or more nodes;
- a generating unit configured to generate a fourth message including the seventh path vector, where the seventh path vector is used by the message processing apparatus to send the fourth message to the first service node.
- the message processing apparatus further includes a sending unit;
- the sending unit is configured to, if the seventh path vector includes port information of the message processing device, send a fourth message including an eighth path vector, where the eighth path vector is to delete the message in the seventh path vector The path vector after the port information of the message processing device; if the seventh path vector does not contain the port information of the message processing device, a fourth message containing the seventh path vector is sent.
- the determining unit is specifically used for:
- a seventh path vector corresponding to the first information source information is determined according to a fourth path-vector mapping relationship, where the fourth path-vector mapping relationship is used to indicate a mapping relationship between the first information source information and the seventh path vector.
- a ninth aspect of an embodiment of the present application provides a message processing apparatus, the message processing apparatus includes: a processor, a memory, and a transceiver; the processor is used for the transceiver to send and receive signals; a computer program is stored in the memory; The processor is also used for calling and running the computer program stored in the memory, so that the processor implements any one of the implementation manners of the first aspect.
- a tenth aspect of an embodiment of the present application provides a message processing apparatus, the message processing apparatus includes: a processor, a memory, and a transceiver; the processor is used for the transceiver to send and receive signals; a computer program is stored in the memory; The processor is also used to invoke and run the computer program stored in the memory, so that the processor implements any one of the implementations in the second aspect.
- An eleventh aspect of an embodiment of the present application provides a message processing device, the message processing device includes: a processor, a memory, and a transceiver; the processor is used for the transceiver to send and receive signals; the memory stores a computer program; The processor is further configured to call and run the computer program stored in the memory, so that the processor implements any one of the implementation manners of the third aspect.
- a twelfth aspect of an embodiment of the present application provides a message processing device, the message processing device includes: a processor, a memory, and a transceiver; the processor is used for the transceiver to send and receive signals; the memory stores a computer program; The processor is further configured to call and run the computer program stored in the memory, so that the processor implements any one of the implementation manners of the fourth aspect.
- a thirteenth aspect of an embodiment of the present application provides a computer program product including instructions, characterized in that, when it runs on a computer, the computer is caused to execute the first aspect, the second aspect, the third aspect and the fourth aspect implementation of either.
- a fourteenth aspect of an embodiment of the present application provides a computer-readable storage medium, including computer instructions, when the instructions are executed on a computer, the computer executes the first aspect, the second aspect, the third aspect, and the fourth aspect. any implementation of any aspect of .
- a fifteenth aspect of an embodiment of the present application provides a chip device, including a processor for connecting to a memory and calling a program stored in the memory, so that the processor executes the first aspect, the second aspect, and the third aspect and any implementation of any of the fourth aspects.
- a sixteenth aspect of an embodiment of the present application provides a network system, where the network system includes the first service node according to the fifth aspect and the message processing apparatus according to the sixth aspect.
- the network system further includes the device for processing a message according to the seventh aspect.
- the embodiments of the present application have the following advantages:
- the first service node obtains the first service data, the first service data carries the first service information, and the first service information is used to indicate the service corresponding to the first service data; then, the first service node A first path vector is determined according to the first service information, where the first path vector includes port information of ports of one or more nodes; the first service node generates a first packet including a first path vector, the first path vector for the first service node to send the first message. It can be seen from this that, in the technical solution of the embodiment of the present application, the first service node determines the first path vector according to the first service information, and generates a first packet including the first path vector, so as to send the first path vector through the first path vector.
- the first message, and the first path vector includes port information of ports of one or more nodes, so as to realize the solution of table-less forwarding of node devices, and solve the problem that the network scale is restricted due to the explosive increase of network table items.
- FIG. 1A is a schematic structural diagram of a network system according to an embodiment of the present application.
- FIG. 1B is another schematic structural diagram of a network system according to an embodiment of the present application.
- 1C is a schematic structural diagram of a service node according to an embodiment of the present application.
- 1D is a schematic structural diagram of a network node according to an embodiment of the present application.
- FIG. 2A is a schematic diagram of an embodiment of a packet processing method according to an embodiment of the present application.
- 2B is a schematic diagram of a scenario of a packet processing method according to an embodiment of the present application.
- 2C is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- 2D is a schematic diagram of another scenario of a packet processing method according to an embodiment of the present application.
- 2E is a schematic diagram of another scenario of a packet processing method according to an embodiment of the present application.
- FIG. 2F is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- 3A is a schematic diagram of another embodiment of a packet processing method according to an embodiment of the present application.
- 3B is a schematic diagram of another scenario of a packet processing method according to an embodiment of the present application.
- 3C is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- FIG. 3D is a schematic diagram of another scenario of a packet processing method according to an embodiment of the present application.
- 4A is a schematic diagram of another scenario of a packet processing method according to an embodiment of the present application.
- 4B is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- FIG. 4C is a schematic diagram of another embodiment of the packet processing method according to the embodiment of the present application.
- 5A is a schematic diagram of another embodiment of a packet processing method according to an embodiment of the present application.
- 5B is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- 6A is a schematic diagram of another embodiment of a packet processing method according to an embodiment of the present application.
- 6B is a schematic diagram of another scenario of the packet processing method according to the embodiment of the present application.
- FIG. 7 is a schematic diagram of another embodiment of a message processing method according to an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 9 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 10 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 11 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 12 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 13 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 14 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- 15 is another schematic structural diagram of a message processing apparatus according to an embodiment of the present application.
- FIG. 16 is a schematic diagram of a network system according to an embodiment of the present application.
- the embodiments of the present application provide a packet processing method and device thereof, which are used to implement a table-less forwarding solution for node devices, which solves the problem that the network scale is restricted due to the explosive increase of network table items.
- Service node refers to a node device that acts as a service provider or service consumer. For example, terminal devices, servers, virtual machines (VMs) or containers, etc.
- VMs virtual machines
- Network nodes node devices used to connect service nodes. For example, routers, switches, etc.
- Path vector including port information of ports of one or more nodes on the forwarding path, for the nodes on the forwarding path to send packets to the destination node of the forwarding path along the forwarding direction of the forwarding path.
- the forwarding path shown by the dotted line is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C
- the forwarding direction of the forwarding path is: service node A points to network node a, and network node a points to network node b, the network node b points to the network node f, and the network node f points to the service node C.
- the destination node of the forwarding path is the service node C.
- the path vector includes the port information of the service node A, the port information of the port of the network node a, the port information of the port of the network node b, the port information of the port of the network node e and the port information of the port of the network node f.
- the node forwards the packet to service node C according to the path vector.
- Port information including physical port numbers of nodes in wired networks, or wireless channel numbers in wireless networks (eg, frequency band information, time slice information, or code information).
- the port information includes a port component, where the port component is used to represent the physical port number or wireless channel number of the node.
- Virtual node consists of at least two child nodes in the network.
- the virtual nodes may be divided according to the company department network, or divided according to the regional network, or divided according to the convenience of management, etc., which is not specifically limited in this application.
- virtual node 1 includes multiple network nodes, and the multiple network nodes are called child nodes included in the virtual node.
- Virtual node 1 includes child node h, child node i, child node j, child node k and child node l.
- the virtual node 1 and the virtual node 2 are respectively virtual nodes composed of nodes included in two different departmental networks of a company.
- Inside the virtual node may be a network supporting path vector or a network compatible with the prior art (eg IP network or Ethernet network).
- a virtual node includes an entry child node and an exit child node.
- the ingress child node is used to receive the message from other nodes except the child nodes included in the virtual node, and the egress child node is used to send the message to other nodes except the child nodes included in the virtual node.
- Other nodes send the message. For example, as shown in FIG. 1B , packet 1 is transmitted from service node A to service node C.
- the entry child node of the virtual node 1 is the child node h, that is, the packet 1 is received from the service node A through the child node h.
- the egress child node is the child node 1, that is, the packet 1 is sent to the child node m of the virtual node 4 through the child node 1.
- the ingress port of the ingress sub-node refers to the port used by the ingress sub-node to receive the message relative to the flow direction of the message.
- the service node A sends the packet 1 to the child node h of the virtual node 1 through the port 1 of the service node A, and the child node h receives the packet 1 through the port 3 of the child node h.
- the port 3 of the child node h is the ingress port of the child node h.
- the egress port of the egress child node refers to the port used by the egress child node to send the packet relative to the flow direction of a packet. For example, as shown in FIG. 1B , service node A sends message 1 to service node C. The child node 1 of the virtual node 1 receives the packet 1, and sends the packet 1 to the child node m of the virtual node 4 through the port 2 of the child node 1 of the virtual node 1. It can be understood that the port 2 of the child node 1 of the virtual node 1 is the egress port of the child node 1.
- External port of the virtual node refers to the port that the virtual node opens to other nodes.
- the external ports of virtual node 1 include port 3 of child node h, port 2 of child node 1, and port 1 of child node j.
- the port used by the node on the forwarding path for output refers to the port through which a node on the forwarding path sends a packet to the next node on the forwarding path relative to the forwarding direction of the forwarding path.
- the forwarding path of the dashed arrow part is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C, and the dashed arrow is used to indicate the forwarding direction of the forwarding path, so it can be known that the output port on the service node is Port 1, the port used for output on network node a is port 2.
- Other nodes are similar and will not be described one by one.
- a path vector includes one or more port components, and each port component is separated by a comma.
- the path vector does not contain commas.
- the path vector [1,010,11,10,100], in practice, should be represented as [10101110100].
- the forwarding path shows the nodes on the forwarding path in sequence according to the forwarding direction of the forwarding path.
- forwarding path A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C the forwarding direction of this forwarding path is: service node A points to network node a, network node a points to network node b, network node b points to network node f, network node f points to service node C.
- the node device acts as a service node in some scenarios; and in other scenarios, the node acts as a network node. That is, a node device can be a service node or a network node, depending on the actual application scenario. In the following, it will be expanded in the way of scenarios. If the node device acts as a service node in the corresponding scenario, it is marked as a service node; if the node device acts as a network node, it is marked as a network node. It does not limit the function of the node device.
- FIG. 1A is a schematic structural diagram of a network system according to an embodiment of the present application.
- the network system includes service nodes A, B, C, and D.
- the network system includes network nodes a, b, c, d, e, f.
- the network node is used to connect the service nodes, so as to realize the communication between the service nodes.
- the network system shown in FIG. 1A is an access network, a metropolitan area network, a data center network, or a wide area network, etc., which is not specifically limited in this application.
- FIG. 1A is only for illustrating an example of a network system to which the embodiments of the present application are applied.
- the network system includes one or more service nodes and one or more network nodes.
- the service node and the network node are respectively introduced below with reference to FIG. 1C and FIG. 1D .
- FIG. 1C is a schematic structural diagram of a service node according to an embodiment of the present application.
- the service node includes a routing protocol module 101 , a vector route calculation module 102 , a service mapping module 103 and a vector forwarding module 104 .
- the routing protocol module 101 and the vector routing calculation 102 are control plane units of the service node.
- the service mapping module 103 and the vector forwarding module 104 are data plane units of the service node.
- the routing protocol module 101 is configured to obtain, through a routing protocol or a corresponding protocol, service information of services supported by service nodes included in the network system shown in FIG. 1A and port information of ports of nodes included in the network system. Secondly, the routing protocol module 101 is further configured to spread the service information of the service supported by the service node (optionally, the service information includes port information of the port of the service node) to each node in the network system.
- the routing protocol is an interior gateway protocol (IGP) or a border gateway protocol (BGP).
- the vector routing calculation module 102 is configured to generate one or more forwarding paths according to the service information of the services supported by the service nodes included in the network system shown in FIG. 1A and the port information of the ports of the nodes included in the network system, for example, according to The service information of the services supported by the service nodes included in the network system shown in FIG. 1A and the port information of the ports of the nodes included in the network system generate a shortest path with the service node as the root and to other service nodes.
- the vector route calculation module 102 generates one or more paths according to the service information of the services supported by the service nodes included in the network system and the one or more forwarding paths (for example, the shortest path "tree") vector; and then establish the mapping relationship between the service information and the one or more path vectors.
- the forwarding paths for example, the shortest path "tree"
- the service mapping module 103 is used for acquiring service data, where the service data carries service information. Then, the service mapping module 103 determines the path vector corresponding to the service information according to the path-vector mapping relationship, that is, maps the service data to the path vector.
- the business data is an application layer request or an application layer task.
- the vector forwarding module 104 is configured to send a packet containing a path vector. Specifically, the vector forwarding module puts the path vector into the header of the message, and uses the service data as the payload of the message. Then, the vector forwarding module 104 sends the packet according to the path vector.
- FIG. 1D is a schematic structural diagram of a network node according to an embodiment of the present application.
- the network node includes a routing protocol module 105 and a vector forwarding module 106 .
- the routing protocol module 105 is used to spread the port information of the port of the network node to each node in the network system.
- the vector forwarding module 106 is configured to send the message according to the path vector carried in the message.
- FIG. 2A is a schematic diagram of an embodiment of a packet processing method according to an embodiment of the present application.
- the message processing method includes:
- a first service node acquires first service data.
- the first service data carries first service information, and the first service information is used to indicate a service corresponding to the first service data.
- the first service information is a first service identifier.
- the first service identifier is a service identifier (service identity, Service ID), or, a function ID, or an object identifier (object ID).
- the first service data is an application layer request or an application layer task.
- the first service node is a service consumer.
- the first service node is a terminal device
- the first service identifier is the service identifier of the "Honor of Kings” game
- the terminal device sends a game service request through the "Honor of Kings” application (application, app).
- the first service node determines a first path vector according to the first service information.
- the first path vector includes port information of ports of one or more nodes.
- the first path vector includes first port information of ports used for output by nodes on the first forwarding path.
- the starting node of the first forwarding path is the first service node
- the destination node of the first forwarding path is the second service node
- the second service node is used to provide the first service node with the data of the first service data. the corresponding business service.
- the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C.
- the business node C is used to provide the business node A with the business service of the "Honor of Kings" game. That is, the nodes on the first forwarding path include service node A, network node a, network node b, network node e, network node f, and service node C.
- the service node A is the start node of the first forwarding path
- the service node C is the destination node of the first forwarding path.
- the port used for output on service node A is port 1 of service node A
- the port used for output on network node a is port 2 of network node a
- the port used for output on network node b is port 3 of network node b
- the port used for output on network node e is port 2 of network node e
- the port used for output on network node f is port 4 of network node f.
- the first path vector includes: port information of port 1 of service node A, port information of port 2 of network node a, port information of port 3 of network node b, port information of port 2 of network node e, and network node Port information for port 4 of f.
- the service node A since the service node A only includes one port, the first path vector does not carry the port information of the port 1 of the service node A.
- the first port information includes one or more port components, and the port components correspond to the ports used for output in the nodes on the first forwarding path.
- the port component is used to represent the port number of the port used for output.
- port components are port components in the form of binary numbers, or port components in the form of hexadecimal numbers, or port components in the form of decimal numbers. limited.
- the first path vector is described below by means of port components in the form of binary numbers.
- Table 1 shows a representation in the form of binary numbers of one or more port components included in the first port information.
- the number of ports included in the service node A is 1, and the port component of the port of the service node A can be represented by a binary number, so the binary number used to represent the port number of the port of the service node A
- the bit width of the form is 1.
- the port used for output by the service node A on the first forwarding path is port 1, and the port component corresponding to port 1 is 1.
- the number of ports included in the network node a is 8, that is, the port component of the port of the network node a can be represented by a three-digit binary number, so the binary number used to represent the port number of the port of the network node a has a bit width of 3. .
- the port used for output by the network node a on the first forwarding path is port 2, and the port component corresponding to port 2 is 010. Port components of ports used for output by other nodes on the first forwarding path are similar, and will not be described one by one here.
- the first path vector is [1, 010, 11, 10, 100], and the port components are in one-to-one correspondence with the ports of the nodes used for output.
- port 1 of node A corresponds to port component 1
- port 2 of node a corresponds to port component 010, and so on.
- the first path vector may not include the port component of port 1 of node A, and the first path vector is [010, 11, 10, 100].
- Table 2 shows another representation in the form of binary numbers of one or more port components included in the first port information.
- the unit bit width refers to a preset unit bit width in the form of a binary number used to represent the port component of the port used for output.
- the unit bit width is 4, that is, the unit bit width corresponds to a four-bit binary number.
- the first binary number in the four-bit binary number corresponding to the unit bit width is a continuous identification bit, and the last three binary numbers are used to represent the port component of the port.
- the unit bit width can also be 8, that is, the unit bit width corresponds to an 8-bit binary number, and the first binary number in the 8-bit binary number corresponding to the unit bit width is a continuous identification bit, and the last 7-bit binary number is used to indicate the port. the port component, etc.
- the number of ports included in the network node a is 8. If the port components of all the ports of the network node a are to be represented, at least four binary numbers are required to represent them.
- the port 8 of the network node a is taken as an example for introduction, and the port component of the port 8 should be represented as 10000001.
- the first binary number in the first four binary digits of "10000001" is "1", which means that the last four binary digits "0001" in "10000001" are also part of the port component of port 8.
- the port used for output by service node A is port 1, and the port component corresponding to port 1 is 001.
- the port used by network node a for output is port 2, and the port component corresponding to port 2 is 010.
- Port components of ports used for output by other nodes on the first forwarding path are similar, and details are not described herein again.
- the first path vector is [0001, 0010, 0011, 0010, 0100], and the port components correspond to the ports of the nodes used for output in one-to-one correspondence.
- service node A corresponds to port component 0001
- network node a corresponds to port component 0010, and so on.
- the first path vector may not include the port component of port 1 of service node A, and the first path vector is [0010, 0011, 0010, 0100].
- the one or more port components may also have other representations. For example, it is determined that a node with the largest number of ports is included in the nodes of the network system, and then the bit width of the port component used to represent the port of the node is determined according to the number of ports. Then, the port components of the nodes on the first forwarding path are respectively represented by the multi-bit binary numbers corresponding to the bit width. As shown in FIG. 1A , assuming that the network node f includes the largest number of ports, which is 8 ports, it can be known that the bit width of the node used to represent the network system is 4, that is, the ports in the network system are represented by four binary numbers. port component.
- step 202 specifically includes step 202a.
- Step 202a The first service node determines the first path vector corresponding to the first service information according to the first path-vector mapping relationship.
- the first path vector mapping relationship is used to indicate the mapping relationship between the first service information and the first path vector.
- the following takes the first service identifier as Service ID as an example and introduces the first path vector mapping relationship through Table 3. It should be noted that, the first path mapping relationship may be represented in a table form or in other forms, which is not specifically limited in this application.
- the first path-vector mapping relationship please refer to the embodiment shown in FIG. 3A , which will not be repeated here.
- Service ID path vector Service ID1 path vector 1 Service ID2 Path Vector 2 Service ID3 Path Vector 3 Service ID4 Path Vector 4
- Service ID1 If the first service information is Service ID1, then it can be known from Table 3 that Service ID1 corresponds to path vector 1.
- the first service node generates a first packet including the first path vector.
- the first packet further carries first information source information of the first service node.
- the first information source information includes any one of the following information: IP address, MAC address, name, or ID.
- the first service node generates a first packet, and puts the first path vector in a packet header of the first packet.
- the first packet is an IP packet or an Ethernet packet.
- Ethernet packets are also called Ethernet frames.
- the first service node places the first path vector in the destination address field of the IP packet, and places the first source information of the first service node in the destination address field of the IP packet.
- the source address field of an IP packet or, the first service node adds an IP sub-packet header to the IP packet, and puts the first path vector in the IP sub-packet header.
- the first service node places the first path vector in the destination address field of the Ethernet packet, and places the first source information of the first service node in the destination address field of the Ethernet packet. In the source address field of the Ethernet packet.
- the first service node may redefine a new packet header, and the packet header contains the first path.
- Vector and first source information may be redefined.
- the first path vector includes port information of ports of one or more nodes, and the port information may be a port component.
- the port component has only local significance, that is to say, the node on the first forwarding path does not know which port component of the first path vector corresponds to the other port components of the first path vector. In this way, during the data transmission process, the The node cannot know the destination node and the source node of the first packet, that is, cannot know which two service nodes are communicating, thereby improving the security and reliability of data transmission.
- the first service node sends a first packet including the second path vector.
- the second path vector is a path vector after deleting the port information of the first service node in the first path vector.
- Step 204 is described below through steps 204a to 204c.
- Step 204a The first service node determines the first port of the first service node according to the first port component of the first path vector.
- Step 204a is described below based on the first implementation manner and the second implementation manner in step 202, respectively.
- step 204a specifically includes steps 1 to 3.
- Step 1 The first service node determines the number of ports included in the first service node.
- the first service node is service node A
- service node A determines that service node A includes only one port, that is, the number of ports included in service node A is 1.
- Step 2 The first service node determines the first bit width X according to the number of ports.
- the first bit width X is a bit width in the form of a binary number used to represent port information of the first port of the first service node, and X is an integer greater than or equal to 1.
- the number of ports included in the service node A is 1, then the bit width of the binary number used to represent the port number of the first port of the service node A is 1, that is, it can be represented by a single binary number.
- the port number of the first port is 1, that is, it can be represented by a single binary number.
- Step 3 The first service node uses the first X binary digits of the first path vector as port information of the first port.
- the first path vector is [1, 010, 11, 10, 100]
- the first 1 binary number in the first path vector is 1, that is, "1" is used as the port component of the port number of the first port
- the first port is the first Port 1 of the service node. It can be understood that the first 1-bit binary number of the first path vector is the first port component of the first path vector.
- step 204a specifically includes steps 4 to 6.
- Step 4 The first service node judges whether the value of the first binary number in the first binary number is the first value; if so, execute step 5; if not, execute step 6.
- the first binary number is the first Y-bit binary number of the first path vector
- Y is the preset unit bit width in the form of binary numbers used to represent the port information of the port of the first service node
- Y is greater than or equal to An integer of 1.
- the first value is 1.
- Y is 4, the first path vector is [0001, 0010, 0011, 0010, 0100], and the first binary number is "0001". Since the first binary digit in "0001" is 0, the first service node executes step 6.
- Step 5 The first service node judges whether the value of the first binary number in the second binary number is the first value, and if not, places the first binary number with the first binary number removed in the first binary number removed. After two binary numbers, obtain a Y-2 binary number sequence, and use the Y-2 binary number sequence as the port information of the first port;
- the second binary number is the Y+1-th binary number of the first path vector to the 2Y-th binary number of the first path vector.
- the first service node determines The fifth to eighth bins of the first path vector (ie "0010") belong to a part of the first port component.
- the first service node determines, through the first binary number in "0010", the binary number that does not need to read the sum of the eighth binary number in the first path vector.
- the first service node removes the first binary digit in "1000” to obtain "000”; removes the first binary digit in "0001” to obtain "001”.
- the first service node puts "001” before "000” to obtain the Y-2 binary sequence "001000", that is, "001000" is the port component of the first port of the first service node.
- Step 5 is similar.
- Step 6 The first service node uses the first binary number from which the first binary number is removed as the port information of the first port.
- the first binary number is "0001".
- the first service node removes the first bit of "0001” to obtain "001", and uses "001" as the port component of the first port.
- the first service node determines that the first port is port 1 of the first service node by calculating the binary number "001".
- the first port component of the first path vector is the first 4 binary digits of the first path vector.
- Step 204b The first service node deletes the first port component of the first path vector to obtain a second path vector.
- the first path vector is [1, 010, 11, 10, 100]
- the first 1-bit binary number in the first path vector is the first port component of the first path vector.
- the service node A deletes the first binary number in the first path vector to obtain the second path vector [010, 11, 10, 100].
- the first path vector is [0001, 0010, 0011, 0010, 0100]
- the first 4 binary numbers in the first path vector are the first port component of the first path vector.
- the service node A deletes the first 4 binary digits in the first path vector to obtain the second path vector [0010, 0011, 0010, 0100].
- Step 204c The first service node sends the first packet including the second path vector through the first port of the first service node.
- step 204a it can be known that the first port component of the first service node corresponds to port 1 of the first service node, and the second path vector is [010, 11, 10, 100].
- service node A sends a first packet through port 1 of service node A, where the first packet carries [010, 11, 10, 100].
- the first port component of the first service node corresponds to port 1 of the first service node, and the second path vector is [0010, 0011, 0010, 0100].
- service node A sends a first packet through port 1 of node A, where the first packet carries [0010, 0011, 0010, 0100].
- the first service node sends a first packet including the first path vector.
- the service node A includes only port 1, and the first path vector is [010, 11, 10, 100]. That is, the first path vector does not include the port component of port 1 of the service node A. As shown in FIG. 2D , the service node A may directly send the first packet including the first path vector.
- node A only includes port 1, and the first path vector is [0010, 0011, 0010, 0100], that is, the first path vector does not include the port of port 1 of node A weight.
- the service node A may directly send the first packet including the first path vector.
- network devices cannot apply forwarding tables and routing tables through forwarding tables and routing tables due to the large bandwidth occupied by the existing forwarding tables and routing tables, and the performance bottleneck in the delivery rate of forwarding tables or routing tables.
- the first service node forwards the first message through the first path vector, so that the node device can forward the message without a table, and the node device forwards the message simply and efficiently. It solves the main bottleneck of IP routing forwarding bandwidth and the problem of restricted network scale.
- the first service node sends the message through the first path vector, where the first path vector includes port information of ports of one or more nodes.
- the first service node determines the first path vector according to the first service information, without the process of determining the IP address by the DNS server, which can effectively improve the efficiency of message transmission and reduce the delay of message transmission. Since the process of determining the destination IP address by the DNS server is not required, signaling interaction can be avoided and signaling overhead can be reduced.
- the first network node receives the first packet including the third path vector.
- the third path vector includes port information of ports of one or more nodes, and the first network node is any network node on the first forwarding path.
- the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C
- node A is the first service node
- the first network nodes are network node a, network node b, and network node e and any network node in the network node f.
- Step 206 is described below based on the above-mentioned step 204 .
- the execution process of step 206 is similar to the execution process of step 206 based on step 204, and will not be described one by one here.
- the third path vector is the same as the second path vector; if the first network node is not directly connected to the first service node, the third path vector is the same as the second path vector.
- the second path vectors are not the same.
- the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C
- the service node A sends the first packet
- the first packet carries the first path vector.
- the third path vector is the same as the second path vector, that is, the third path vector is [010, 11, 10, 100].
- the third path vector is different from the second path vector. For example, when the first network node is network node b, the third path vector is [11, 10, 100].
- the first network node sends the first packet according to the third path vector.
- Step 207 is described below in conjunction with steps 207a to 207c.
- Step 207a The first network node determines the second port of the first network node according to the first port component of the third path vector.
- Step 207a is similar to the aforementioned step 204a.
- Step 207a is similar to the aforementioned step 204a.
- details please refer to the related introduction of step 204a, and details are not repeated here.
- Step 207b The first network node deletes the first port component of the third path vector to obtain a fourth path vector.
- Step 207b is similar to the foregoing step 204b.
- Step 207b is similar to the foregoing step 204b.
- details please refer to the related introduction of step 204b, and details are not repeated here.
- the first network node is network node a
- the third path vector is [010, 11, 10, 100]
- the first port component is "010”
- the first port component "010” corresponds to Port 2 of network node a.
- the network node a deletes the first port component in [010, 11, 10, 100] to obtain the fourth path vector [11, 10, 100].
- Step 207c The first network node sends the first packet including the fourth path vector through the second port.
- the fourth path vector is [11, 10, 100].
- Network node a sends a first packet to network node b through port 2 of network node a, where the first packet carries [11, 10, 100].
- the forwarding process of other network nodes on the first forwarding path is similar, and it can be understood by referring to the example in FIG. 2B for details.
- the fourth path vector carried in the first packet does not include the port component, that is, the field in which the fourth path vector is placed in the first packet is empty.
- the first network node is network node f
- the fourth path vector does not include a port component
- network node f sends a first packet to service node C through port 4 of network node f
- the first packet is The field of the fourth path vector carried by the packet is empty.
- the first path vector includes port information of ports of one or more nodes, and the port information may be a port component.
- the port component has only local significance, that is to say, the node on the first forwarding path does not know which port component of the first path vector corresponds to the other port components of the first path vector. In this way, during the data transmission process, the The node cannot know the destination node and the starting node of the first packet, that is, it cannot know which two service nodes are communicating, thereby improving the security and reliability of data transmission.
- the interpretation methods of the nodes on the first forwarding path to interpret the port components corresponding to the nodes may be different, which can further improve the security of data transmission, and the flexibility of data transmission is higher.
- the second service node receives the first packet.
- the second service node is the destination node pointed to by the first path vector.
- the first packet carries first service information, first service data, and first information source information of the first service node.
- first service information the first information source information and the first service data
- the embodiment shown in FIG. 2A further includes steps 209 to 214 .
- the second service node acquires second service data according to the first message.
- service node C receives the game service request of “Honor of Kings” requested by service node A through the app, and service node C obtains the game data of “Honor of Kings” according to the game service request, which is the second business data.
- the second service node determines a seventh path vector according to the first information source information.
- the seventh path vector includes port information of ports of one or more nodes.
- the seventh path vector includes port information of ports used for output by nodes on the fifth forwarding path.
- the starting node of the fifth forwarding path is the second service node, and the destination node of the fifth forwarding path is the first service node.
- the first service node is service node A
- the second service node is service node C
- the fifth forwarding path is C ⁇ f ⁇ e ⁇ b ⁇ a ⁇ A. That is, the nodes on the fifth forwarding path include service node C, network node f, network node e, network node b, network node a, and service node A.
- the output port of service node C is port 1 of service node C
- the output port of network node f is port 1 of network node f
- the output port of network node e is network node port 3 of e
- the port used by network node b for output is port 1 of network node b
- the port used by network node a for output is port 3 of network node a.
- the seventh path vector includes: port information of port 1 of service node C, port information of port 1 of network node f, port information of port 3 of network node e, port information of port 1 of network node b, and network node Port information of port 3 of a.
- the specific representation of the seventh path vector is similar to the representation of the first path vector. For details, please refer to the related introduction of the first path vector in the foregoing step 202 , which will not be repeated here.
- the second service node determines a seventh path vector corresponding to the first information source information according to the fourth path-vector mapping relationship.
- the fourth path vector mapping relationship is used to indicate the mapping relationship between the first information source information and the seventh path vector.
- the generation process of the fourth path-vector mapping relationship is similar to the generation process of the sixth path-vector mapping relationship in step 615 in the embodiment shown in FIG. 6A , except that the second service node generates the second path-vector mapping relationship.
- the service node reaches the path vector of the service node in the first network, and establishes a mapping relationship between the information source information of the service node in the first network and the path vector.
- the following takes the first information source information as the information source name of the first service node as an example, and introduces the fourth path-vector mapping relationship through Table 4. It should be noted that the fourth path mapping relationship may be represented in a table form or in other forms, which is not specifically limited in this application.
- Source name 1 path vector a Source name 2 path vector b Source name 3 path vector c Source name 4 path vector d
- the source name of the first service node is the source name 1, it can be known from Table 4 that the source name 1 corresponds to the path vector a.
- the second service node generates a fourth packet including the seventh path vector.
- the second service node sends a fourth packet including the eighth path vector.
- the second service node sends a fourth packet including the eighth path vector.
- Steps 211 to 213 are similar to the foregoing steps 203 to 205 .
- Steps 211 to 213 are similar to the foregoing steps 203 to 205 .
- the first service node receives the fourth packet.
- the service node C forwards the fourth packet through the forwarding path indicated by the dashed arrow in FIG. 2B, and then the last network node a on the fifth forwarding path sends the fourth packet to the service node A. the fourth message, so that the service node C provides the service node A with the service service corresponding to the first service data.
- the first service node acquires first service data, the first service data carries first service information, and the first service information is used to indicate a service corresponding to the first service data; then, the first service node A first path vector is determined according to the first service information, where the first path vector includes port information of ports of one or more nodes; the first service node generates a first packet including a first path vector, the first path vector for the first service node to send the first message.
- the first service node determines the first path vector according to the first service information, and generates a first packet including the first path vector, so as to send the first path vector through the first path vector.
- the first message, and the first path vector includes port information of the ports of one or more nodes, so as to realize the solution of node device tableless forwarding, and solve the problem that the network scale is restricted due to the explosive increase of network table items.
- the method includes:
- the first service node obtains the second port information and the second service identifier through a routing protocol or a corresponding protocol.
- the second port information is port information of a port of a node included in the first network
- the second service identifier is a service identifier of a service supported by a service node included in the first network
- the first network is accessed by the first service node network of.
- the first service node is service node A, and service node A obtains port information of ports of other nodes in the first network through a routing protocol and the ports supported by the service nodes in the first network business logo for business.
- the service node C is a server, and the service node C spreads the port information of the port of the service node C (including the port number of the port of the service node C, the service node C and the service node C) to each node of the first network through a routing protocol. relationship between neighbor nodes f) and the service identifier of the service supported by service node C.
- the port information of other service nodes in the first network is similar to the diffusion process of the supported service identifiers, which will not be described here.
- the network node f diffuses the port information of its four ports (including the port numbers of the four ports of the network node f, the relationship between the port numbers of the four ports of the network node f and the service node C, the network The relationship between the port numbers of the four ports of node f and other neighbor nodes, etc.).
- the diffusion process of the port information of other network nodes in the first network is similar, and will not be described one by one here.
- FIG. 3B shows an example in which the diffusion information of service node C is diffused to service node A, service node B, and service node D.
- the port component included in the path vector is related to the number and port number of the nodes on the forwarding path.
- the number of nodes on the forwarding path is relatively small, and the number of binary digits occupied by the port component is small, that is, the length of one or more port components included in the path vector is short, and the data transmission efficiency is high.
- the path vector does not need to be allocated uniformly, there is no problem of IP address exhaustion, and it can adapt to various types of networks.
- a virtual node is introduced in this embodiment of the present application, and multiple nodes in a local network are aggregated through the virtual node. Thereby, the length of the path vector is reduced, and the calculation amount of the path vector calculated by the node device is reduced.
- the first network includes one or more virtual nodes
- the second port information includes port information of external ports of the one or more virtual nodes.
- the first network includes virtual node 1 , virtual node 2 , virtual node 3 , and virtual node 4 .
- the external ports of the virtual node 4 are the port 1 of the child node m and the port 2 of the child node q.
- the external ports of other virtual nodes please refer to FIG. 1B and will not be described here.
- the first network shown in FIG. 1B is only to illustrate the technical solutions of the embodiments of the present application.
- the virtual nodes may also include service nodes.
- the first service node also The service identifier of the service supported by the service node in the virtual node needs to be obtained.
- the first network may also have a virtual node and an independent network node at the same time, and the second port information further includes port information of a port of the independent network node.
- FIG. 1B is used as an example for introduction here.
- the first service node generates one or more forwarding paths according to the second port information and the second service identifier.
- the one or more forwarding paths include a first forwarding path.
- the first service node generates one or more forwarding paths with the first service node as a starting node according to the second port information and the second service identifier.
- the first service node generates the one or more forwarding paths by using the shortest path algorithm.
- service node A determines that the service identifier of the service supported by service node C is Service ID1, and service node A generates the shortest forwarding path from service node A to service node C, that is, the dotted line part shown in Figure 1A
- the forwarding path A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C.
- the second port information includes port information of external ports of the one or more virtual nodes.
- service node A determines that the service identifier of the service supported by service node C is Service ID1, and service node A generates the shortest forwarding path from service node A to service node C, that is, the dotted line part shown in Figure 1B The forwarding path A ⁇ h ⁇ l ⁇ m ⁇ q ⁇ c ⁇ e ⁇ C.
- the first service node generates one or more path vectors according to the one or more forwarding paths and the second service identifier.
- the second service identifier includes the first service identifier
- the one or more forwarding paths include the first forwarding path.
- the first service node generates one or more path vectors according to the shortest path "tree" generated in step 302 and the second service identifier.
- Step 303 is described below by taking the first service node generating the first path vector as an example, where the first path vector includes port information of the port used for output on the first forwarding path. Specifically, step 303 includes step 303a and step 303b.
- the first service node determines a first forwarding path according to the first service identifier.
- the start node of the first forwarding path is the first service node
- the destination node of the first forwarding path is the second service node
- the second service node is used to provide the first service node with the service service corresponding to the first service identifier .
- the service node A is the first service node, and the service node A determines through the service identifier sent by the service node C that the service node C supports the service corresponding to the first service identifier, that is, the service node C can be a service node C provides the business service corresponding to the first business identifier (for example, the business node C can provide the business node A with the business service of the "Honor of Kings" game).
- the service node A searches one or more forwarding paths for the first forwarding path whose destination node is the service node C. Specifically, the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C.
- the service node A determines that the service node C supports the service corresponding to the first service identifier. That is, the business node C can provide the business node C with the business service corresponding to the first business identifier (for example, the business node C can provide the business node A with the business service of the "Honor of Kings" game).
- the service node A searches one or more forwarding paths for the first forwarding path whose destination node is the service node C. Specifically, the first forwarding path is A ⁇ h ⁇ l ⁇ m ⁇ q ⁇ c ⁇ e ⁇ C.
- the first service node generates a first path vector according to the first port information.
- the first port information is port information of a port used for output on the first forwarding path.
- the first port information includes one or more port components, and for the representation form of the port components, reference may be made to the relevant introduction in step 202 shown in FIG. 2A , which will not be repeated here.
- the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C.
- the first path vector can be expressed as [1, 010, 11, 10, 100]. Since service node A only includes port 1, the first path vector may not include the port component of port 1 of service node A, and the first path vector is [010, 11, 10, 100].
- the first forwarding path is A ⁇ a ⁇ b ⁇ e ⁇ f ⁇ C.
- the first path vector can be expressed as [0001, 0010, 0011 ,0010,0100]. Since service node A only includes port 1, the first path vector may not include the port component of port 1 of service node A, and the first path vector is [,0010,0011,0010,0100].
- the first forwarding path A ⁇ h ⁇ l ⁇ m ⁇ q ⁇ c ⁇ e ⁇ C includes port components of one or more nodes, where the port components are expressed in the form of hexadecimal numbers.
- the first path vector is [1, 2, 2, 2].
- one or more port components included in the first port information are encrypted.
- Implementation manner 1 The first service node encrypts the one or more port components according to a preset key, and generates the first path vector.
- the keys used to encrypt the port components are the same or different.
- the port used for output by the network node a on the first forwarding path is port 2, and the port component corresponding to port 2 is 010.
- the first service node encrypts "010" with key 1 to obtain the first encrypted component ⁇ 1 .
- the port used for output by the network node b on the first forwarding path is port 3, and the port component corresponding to port 3 is 11.
- the first service node encrypts "11" with key 2 to obtain the second encrypted component ⁇ 2 .
- the third encrypted component ⁇ 3 and the fourth encrypted component ⁇ 4 are generated in a similar manner, and will not be described in detail here. Therefore, the first path vector is [1, ⁇ 1 , ⁇ 2 , ⁇ 3 , ⁇ 4 ].
- Implementation mode 2 Each port component included in the first port information is obtained by encrypting the corresponding node on the first forwarding path.
- the first service node generates a first path vector according to the encrypted first port information.
- the keys used by the nodes on the first forwarding path to encrypt the port components are the same or different, which is not specifically limited in this application.
- the encrypted first port information is described below through an example.
- the service node C is a server, and the service node C spreads the encrypted port information of the service node C (including the port of the service node C) to each node of the first network through a routing protocol.
- the encrypted port number of the service node C the relationship between the encrypted port number of the port of the service node C and the neighbor node f) and the service identifier of the service supported by the service node C.
- For the specific diffusion path please refer to the path of the dotted arrow in Fig. 3B.
- the port information of other service nodes in the first network is similar to the diffusion process of the supported service identifiers, which will not be described here.
- the network node f diffuses the port information of its four ports (including the encrypted port number of the four ports of the network node f, the encrypted port number of the four ports of the network node f and the relationship between the service node C , the relationship between the encrypted port numbers of the four ports of the network node f and other neighbor nodes, etc.).
- the diffusion process of the port information of other network nodes in the first network is similar, and will not be described one by one here.
- the first service node establishes a mapping relationship between the one or more path vectors and the second service identifier, respectively, to obtain a first path-vector mapping relationship.
- the first path-vector mapping relationship includes the mapping relationship between the first service identifier and the first path vector.
- Step 304 is described below by taking the first service node establishing the mapping relationship between the first service identifier and the first path vector as an example. It can be seen from the above steps 303a to 303b that the first service node determines the first forwarding path by using the first service identifier, and then generates the first forwarding path from the port information of the port used for output by the nodes on the first forwarding path. It can be seen from this that there is a mapping relationship between the first service identifier and the first path vector, and the first service node can establish a mapping relationship between the first service identifier and the first path vector.
- step 303b it can be known from the foregoing step 303b that, in order to improve the security of packet transmission, one or more port components included in the first port information are obtained by encryption.
- step 207a in the embodiment shown in FIG. 2A specifically includes step a and step b.
- Step a The first network node decrypts the first port component of the third path vector according to the preset key to obtain the decrypted first port component.
- the keys used by the nodes on the first forwarding path to decrypt the port components are the same or different. The details depend on how the first path vector is generated in step 303b.
- each port component included in the first path vector is encrypted by the first service node
- the first service node should pre-agreed with the node corresponding to each port component. key.
- each port component included in the first path vector is encrypted by the node corresponding to each port component
- a key need not be pre-agreed.
- the nodes on the first forwarding path do not need to negotiate keys, which reduces the interaction process.
- each port component included in the first path vector is encrypted by the first service node according to different keys.
- the first network node is network node a
- the third path vector is [ ⁇ 1 , ⁇ 2 , ⁇ 3 , ⁇ 4 ]
- ⁇ 1 is the first port component of the first path vector
- the key used to encrypt the first port component is key1.
- network node a decrypts ⁇ 1 through key 1, and obtains "010".
- the service node A and the network node a pre-agreed to use the key 1 for encrypting and decrypting the port component "010".
- the process of decrypting the port component corresponding to the node is similar for other nodes on the first forwarding path, and will not be described one by one here.
- Step b The first network node determines the port information of the second port of the first network node through the decrypted first port component.
- the first network node determines through calculation that "010" corresponds to port 2 of the first network node, that is, the port number of the second port is 2.
- step 207b shown in the above-mentioned FIG. 2A specifically includes:
- the first network node deletes the encrypted first port component to obtain a fourth path vector.
- the third path vector is [ ⁇ 1 , ⁇ 2 , ⁇ 3 , ⁇ 4 ], and the network node a deletes ⁇ 1 in the third path vector to obtain the fourth path vector [ ⁇ 2 , ⁇ 3 , ⁇ 4 ].
- the process of deleting the port component corresponding to the node by other nodes on the first forwarding path is similar, and will not be described one by one here.
- the first network node forwards the first packet through the third path vector, because one or more port components included in the third path vector are obtained through encryption. Therefore, each node on the first forwarding path only determines the next hop node of the first packet, and cannot know the starting node and destination node of the first packet, thereby improving data communication between service nodes. security and reliability, and increase the practicability of this scheme. Moreover, when each node on the first forwarding path decrypts the port component corresponding to the node, the key used may be different, which further improves the security and reliability of data transmission.
- the first network includes one or more virtual nodes, the first network node is a first entry child node of the first virtual node, and the first virtual node includes a first entry child node and a first exit child node.
- step 207 in the embodiment shown in FIG. 2A specifically includes step 1 to step 3 .
- Step 1 The first network node determines that the first port component of the third path vector corresponds to the third port of the first egress child node.
- the first virtual node is virtual node 4
- the first entry child node is child node m in virtual node 4
- the first exit child node is child node q in virtual node 4
- the first network node is the child node m in the virtual node 4
- the third path vector is [2,2], and the first port component of the third path vector is "2".
- the external port of each virtual node is determined, and the port component corresponding to the external port of each virtual node is unique.
- the external ports of virtual node 4 include port 1 of child node m and port 2 of child node q.
- the port component corresponding to port 1 of the child node is 1, and the port component corresponding to port 2 of the child node q is 2. Therefore, the child node m determines that the first port component corresponds to the port 2 of the child node q in the virtual node 4 .
- Step 2 The first network node determines the first sub-path vector.
- the destination node pointed to by the first sub-path vector is the first exit sub-node.
- the first network node determines that the next hop node of the first packet is the first egress child node, and the first network node can search for the first sub-path from the first network node to the first egress child node vector.
- the first network node may determine the first sub-path vector through the following two possible implementation manners.
- Implementation mode 1 The first network node determines the first sub-path vector corresponding to the third port according to the sub-path vector mapping relationship.
- the sub-path vector mapping relationship is used to indicate the mapping relationship between the third port and the first sub-path vector.
- the sub-path vector mapping relationship includes the mapping relationship between the external port of the first virtual node and the path vector.
- the first network node is the child node m of the virtual node 4. If the external port of the virtual node 4 includes the port 1 of the child node m and the port 2 of the child node q, the sub-path vector mapping relationship can be represented by Table 5:
- the port 2 of the child node q corresponds to the sub-path vector 1.
- the third path vector is [2, 3]
- the sub-path vector 1 includes the port component of the port used by the node on the second forwarding path for output.
- the first network node determines a default subpath vector for sending the first packet from the first network node to the first egress subnode.
- the default sub-path vector is pre-configured.
- the first network node is the sub-node m in the virtual node 4
- the default sub-path vector includes the port component of the port used by the node on the second forwarding path for output.
- Step 3 The first network node sends the first packet according to the first sub-path vector and the third path vector.
- Step 3 is described below in conjunction with steps a to c.
- Step a The first network node determines that the first port component of the first subpath vector corresponds to the second port of the first network node.
- Step a is similar to the aforementioned step 204a.
- Step a is similar to the aforementioned step 204a.
- details please refer to the related introduction of step 204a, and details are not repeated here.
- the first sub-path vector Sub-PV ⁇ 2,3,2,3 ⁇
- the first port component of the first sub-path vector is 2, then the child node m determines the first The port component corresponds to port 2 of child node m.
- Step b The first network node deletes the first port component of the first sub-path vector to obtain the second sub-path vector.
- Step c The first network node sends the first packet including the second sub-path vector and the third path vector through the second port of the first network node.
- the first packet is an IP packet or an Ethernet packet.
- the first network node when the first network node places the second sub-path vector sub-PV in the destination address field of the IP packet, the first network node places the second sub-path vector sub-PV in the destination address field of the IP packet.
- the third path vector in the destination address field is moved to the sub-header of the IP packet.
- the process of forwarding the first packet by other nodes on the second forwarding path except the first network node is similar to the process performed by the first network node in steps a to c.
- the above describes the routing scenario inside the first virtual node.
- the following describes the process of forwarding the first packet by the node on the first forwarding path according to the third path vector with reference to FIG. 4B .
- the child node h forwards according to the forwarding process of step a to step c of the first network node.
- the forwarding of other nodes on the first forwarding path is similar, for details, please refer to the example in FIG. 4B .
- the first egress child node when the first egress child node of the first virtual node sends the first packet, the first egress child node deletes the sub-path vector Sub-PV in the destination address (destination address) field of the IP packet, and can The third path vector in the sub-packet header of the IP packet is moved to the destination address (destination address) field of the IP packet.
- the solution of introducing virtual nodes is used to aggregate multiple nodes in a local network through virtual nodes.
- the length of the path vector is reduced, and the calculation amount of the path vector calculated by the node device is reduced.
- the path vector for service node A to send packets to service node C is ⁇ 1, 2, 3, 2, 2, 3, 2, 3, 2,2 ⁇ .
- the path vector for the service node A to send the message to the service node C is ⁇ 1, 2, 2, 3 ⁇ .
- the length of the path vector is shortened, which can reduce the calculation amount of the path vector calculated by the service node A and improve the data transmission efficiency.
- the path vector does not need to be allocated uniformly, there is no problem of IP address exhaustion, and it can adapt to various types of networks.
- the method includes:
- the first network node acquires fourth port information through a routing protocol or a corresponding protocol.
- the fourth port information includes port information of ports of child nodes included in the first virtual node.
- the child node m receives the port information of the virtual node 4 including the child node o, the child node p, the child node q, the child node s and the child node r through the routing protocol.
- the child node q is used as the external port of the first virtual node
- the child node q uses the routing protocol to diffuse the port 2 of the child node q as the port information of the external port of the first virtual node, so that the child node m can determine the port information in the virtual node 4.
- Port information for external ports is used as the external port of the first virtual node, and the child node q uses the routing protocol to diffuse the port 2 of the child node q as the port information of the external port of the first virtual node, so that the child node m can determine the port information in the virtual node 4.
- Port information for external ports are examples of the port information of the virtual node 4 including the child node o, the child node p, the child node q, the
- the first network node generates one or more forwarding paths according to the fourth port information.
- the one or more forwarding paths include a second forwarding path.
- the first network node generates, according to the fourth port information, one or more forwarding paths with the first network node as the starting node and the child node where the external port of the first virtual node is located as the destination node.
- the first network node generates the one or more forwarding paths by using a shortest path algorithm.
- the child node m determines that the port 2 of the child node q is the external port of the virtual node 4, and the child node m generates the shortest path from the child node m to the child node q, that is, the virtual node shown in FIG. 4A.
- the first network node determines one or more path vectors according to the one or more forwarding paths and the port information of the external port of the first virtual node.
- the port information of the external port includes the third port of the first virtual node.
- Step 403 is described below by taking the generation of the first sub-path vector by the first network node as an example.
- the first subpath vector includes port information of ports used for output on the second forwarding path.
- step 403 includes steps 403a to 403b.
- Step 403a The first network node determines the second forwarding path according to the third port of the first egress child node.
- the starting child node of the second forwarding path is the first entry child node
- the destination child node of the second forwarding path is the first exit child node.
- the first entry child node and the first exit child node here refer to the flow direction of the first packet.
- the third port of the first egress child node belongs to the external port of the virtual node 4 .
- the start node of the one or more forwarding paths is the first network node
- the destination node is the child node where the external port of the first virtual node is located. Since the third port of the first egress child node is an external port of the first virtual node, the first network node can search for the second forwarding path whose destination node is the first egress child node from the one or more forwarding paths.
- Step 403b The first network node generates a first subpath vector according to the third port information.
- the third port information is port information of a port used for output by the child node on the second forwarding path.
- the third port information includes one or more port components, and for the representation form of the port components, reference may be made to the relevant introduction in step 202 shown in FIG. 2A , which will not be repeated here.
- the second forwarding path is m ⁇ o ⁇ r ⁇ q
- the first subpath vector is ⁇ 2, 3, 2, 3 ⁇ .
- the first network node respectively establishes a mapping relationship between the one or more sub-path vectors and the external port of the first virtual node. Get the sub-path vector mapping relationship.
- the sub-path vector mapping relationship includes the mapping relationship between the third port and the first sub-path vector.
- Step 404 is described below by taking the mapping relationship between the third port and the first subpath vector as an example.
- the first network node determines the second forwarding path through the third port, and then generates the second forwarding path from the port information of the port used for output by the node on the second forwarding path. It can be seen from this that there is a mapping relationship between the third port and the first sub-path vector, and the first network node can establish a mapping relationship between the third port and the first sub-path vector.
- the embodiments of the present application further provide the following technical solutions, which are described below by using the embodiment shown in FIG. 5A .
- the method includes:
- the first service node determines multiple path vectors according to the first service information.
- the multiple path vectors are in one-to-one correspondence with multiple forwarding paths, and each path vector includes port information of ports of one or more nodes on the corresponding forwarding path.
- each path vector includes port information of ports of one or more nodes on the corresponding forwarding path.
- the first service node determines, according to the first path-vector mapping relationship, that the first service information corresponds to multiple path vectors.
- Step 501 is described below by taking the first service information as the first service identifier and the first service identifier as Service ID1 as an example.
- the first path vector mapping relationship is shown in Table 6 below, please refer to Table 6:
- Service ID path vector Service ID1 path vector 1 Service ID1 Path Vector 2 Service ID2 Path Vector 3
- Service ID1 corresponds to path vector 1 and path vector 2.
- the path vector 1 corresponds to the forwarding path 1
- the forwarding path 1 is A ⁇ a ⁇ b ⁇ d ⁇ C.
- Path vector 2 corresponds to forwarding path 2
- forwarding path 2 is A ⁇ a ⁇ c ⁇ e ⁇ f ⁇ D.
- the first service node acquires multiple copies of service data.
- the multiple pieces of service data respectively carry the first service information.
- the multiple pieces of business data are application layer requests or application layer tasks.
- Example 1 As shown in FIG. 5B , the first service node is a terminal device, and the terminal device requests a game service request of "Honor of Kings" through an app. It can be known from Table 5 that the first service information corresponds to path vector 1 and path vector 2, while path vector 1 corresponds to forwarding path 1, and path vector 2 corresponds to forwarding path 2. The terminal device replicates the game service request to obtain two game service requests.
- Example 2 The terminal device requests the game service request of "Honor of Kings” through the app at the first moment, and requests the video service request of "iQiyi” through the app at the second moment. Then, the multiple pieces of service data can be understood as application layer requests generated by the first service node at different times.
- the first service node maps the multiple pieces of service data to corresponding path vectors among the multiple path vectors, respectively.
- mapping is used for load balancing of multiple forwarding paths.
- the first service node may map the multiple pieces of data to corresponding path vectors among the multiple path vectors according to the load balancing rule.
- the terminal device replicates the game service request to obtain two game service requests.
- the terminal device maps the two game service requests to the path vector 1 and the path vector 2 respectively, so that the terminal device can send the game service request respectively on the forwarding path 1 and the forwarding path 2 at the same time.
- the terminal device can preferentially select the service node with faster feedback speed to provide the game service, so as to improve the network request speed and user experience.
- the terminal device requests the game service request of "Honor of Kings" through the app at the first moment, and the terminal device determines that the load of the forwarding path 1 is less than that of the forwarding path 2, then the terminal device can use the The game service request is mapped to the path vector 1, that is, the game service request is sent through the forwarding path 1, so as to reduce the load of the forwarding path 2 and improve the network transmission speed.
- the terminal device requests the video service request of "iQiyi" through the app at the second moment.
- the terminal device determines that the load of forwarding path 1 is greater than that of forwarding path 2, the terminal device can map the video service request to path vector 2, that is, through The forwarding path 2 sends the video service request, so as to reduce the load of the forwarding path 2 and improve the network transmission speed.
- the first service node acquires multiple copies of service data, and the first service node maps the multiple copies of service data to corresponding path vectors among the multiple path vectors according to the load balancing rule, which is beneficial to the multiple paths corresponding to the multiple path vectors.
- Load balancing of each forwarding path improves data transmission efficiency and network transmission performance.
- the service node collects the second port information and the second service identifier to generate one or more forwarding paths, and then generates one or more forwarding paths through the one or more forwarding paths and the second service identifier.
- Path vector to facilitate packet forwarding. Since the service node is connected to the first network, the first service node needs to generate path vectors to other service nodes in the first network, which requires higher performance of the service nodes and complicates calculating the path vectors.
- the embodiments of the present application provide a solution for setting up a hierarchical gateway device in the network.
- the solution for setting up a hierarchical gateway device in a network includes two possible implementation manners, which will be introduced separately below through the embodiment shown in FIG. 6A and the embodiment shown in FIG. 7 .
- FIG. 6A is a schematic diagram of another embodiment of a packet processing method according to an embodiment of the present application.
- the method includes:
- the first service node acquires first service data.
- Step 601 is similar to step 201 in the foregoing embodiment shown in FIG. 2A .
- Step 601 please refer to the relevant description of step 201 in the foregoing embodiment shown in FIG. 2A , which will not be repeated here.
- the first service node judges whether there is a first path vector corresponding to the first service information, if yes, execute step 603; if not, execute step 606.
- the first service node belongs to the first network, and the first network is a home data center network or a metropolitan area network or the like.
- the first service information please refer to the aforementioned step 201 shown in FIG. 2A .
- the first service node may generate one or more path vectors for the first service node to send packets to service nodes included in the first network according to the aforementioned embodiment shown in FIG. 3A , and each path vector has Corresponding business information.
- the network system is divided into three parts of networks, and gateway devices are set up in each part of the network. If the first service node belongs to the first network, the first service node only generates one or more path vectors for the first service node to send packets to service nodes included in the first network. Therefore, when the first service information does not belong to the service information of the service supported by the service node included in the first network, the first service node cannot find the first path corresponding to the first service information from the one or more path vectors vector.
- the network system includes a home data center network and a metropolitan area network.
- the network system also includes a wide area network (not shown in Figure 6B).
- the gateway device of the home data center network is a server (server), and the gateway device of the metropolitan area network is a broadband network gateway (BNG).
- the server is a gateway device connecting the home data center network and the metropolitan area network, and is used to communicate with the nodes included in the metropolitan area network on behalf of the nodes included in the home data center network.
- the BNG is used to connect the metropolitan area network and the wide area network, and is used to communicate between the nodes included in the metropolitan area network and the wide area network as an agent.
- the home data center network includes service node A and service node B.
- the service node B is located in the home data center network, and the service node B only generates a path vector for the service node B to send a message to the service node A.
- the path vector corresponds to the service identifier of the service supported by the service node A. It can be seen from FIG. 6B that the service node B judges whether the path vector is the first path vector corresponding to the first service identifier; if not, execute step 606 ; if so, execute step 603 .
- the first service node determines whether there is a first path vector corresponding to the first service information in the first path-vector mapping relationship.
- first path-vector mapping relationship please refer to step 202 in the embodiment shown in FIG. 2A and the related introduction in the embodiment shown in FIG. 3A , and details are not repeated here.
- the first service node determines a first path vector corresponding to the first service information.
- the first service node generates a first packet including the first path vector.
- Steps 603 to 604 are similar to steps 202 to 203 in the embodiment shown in FIG. 2A .
- steps 202 to 203 in the embodiment shown in FIG. 2A please refer to the relevant descriptions of steps 202 to 203 in the embodiment shown in FIG. 2A , which will not be repeated here.
- the first service node sends the first packet according to the first path vector.
- Step 605 is similar to the operation flow of steps 204 and 205 in the embodiment shown in FIG. 2A .
- steps 204 and 205 in the embodiment shown in FIG. 2A , which will not be repeated here.
- the first service node determines a first default path vector.
- the destination node pointed to by the first default path vector is a proxy node
- the proxy node is a gateway device connecting the first network and the second network, and is used as a proxy node for communicating between the first service node and the third service node.
- the third service node is configured to provide the first service node with a service service corresponding to the first service data.
- the first network is a home data center network, and the second network is a metropolitan area network; or, the first network is a metropolitan area network, and the second network is a wide area network.
- the proxy node is a server, a BNG or a broadband remote access server (BRAS Server).
- BRAS Server broadband remote access server
- the first service node when the first service node cannot find the first path vector corresponding to the first service information from one or more path vectors, the first service node forwards the packet through the first default path vector. And the destination node pointed to by the first default path vector is a proxy node of the first network. In this way, the message is further processed and forwarded by the proxy node of the first network.
- the first default path vector includes port information of the port of the node used for output on the sixth forwarding path.
- the port information includes one or more port components.
- the port component please refer to the related introduction of step 202 in the embodiment shown in FIG. 2A , which will not be repeated here.
- the sixth forwarding path is B ⁇ a ⁇ server, and the first default path vector is [1, 101].
- the third service node is service node C.
- the first service node generates a first packet including the first default path vector.
- Step 607 is similar to step 203 in the foregoing embodiment shown in FIG. 2A .
- Step 607 please refer to the relevant introduction of step 203 in the foregoing embodiment shown in FIG. 2A , which will not be repeated here.
- the first service node sends the first packet according to the first default path vector.
- Step 608 is similar to the operation flow of steps 204 and 205 in the embodiment shown in FIG. 2A.
- steps 204 and 205 please refer to the related descriptions of steps 204 and 205 in the embodiment shown in FIG. 2A, which will not be repeated here.
- the proxy node receives the first packet of the first service node.
- step 608 the first service node sends the first message according to the first default path, and the destination node pointed to by the first default path vector is the proxy node, then the proxy node can receive the first message of the first service node.
- service node B sends the first packet through port 1
- network node a receives the first packet sent by service node B through port 4 of network node a, and sends the first packet to the server through port 5 of node a (the proxy node) sends the first message.
- the first service node when the first service node cannot find the first path vector corresponding to the first service information, the first service node sends a packet to the proxy node of the first network through the first default path vector, and the proxy node helps The message is processed and forwarded to realize the transmission of the message.
- the proxy node of the first network obtains the port information of the ports of the nodes included in the second network and the service information of the services included in the second network through the routing protocol or the corresponding protocol, and generates one or more services according to the port information and the service information. a path vector, and then establish a mapping relationship between the service information and the one or more path vectors.
- the proxy node receives the message of the first service node, the proxy node can pass the path only when the first service information corresponds to the path vector used by the proxy node to send the message to the service node included in the second network.
- the vector forwards the message to the corresponding node of the second network, so as to realize the transmission of the message.
- the proxy node determines an eighth path vector according to the first service information.
- Step 610 is similar to step 202 in the foregoing embodiment shown in FIG. 2A .
- Step 610 please refer to the relevant description of step 202 in the foregoing embodiment shown in FIG. 2A , which will not be repeated here.
- the proxy node generates one or more path vectors for the proxy node to send packets to the service node of the second network according to the manner in the embodiment shown in FIG. 3A, and establishes a path mapping relationship.
- the proxy node is further configured to shield port information and service information spread by nodes included in the second network to prevent nodes included in the first network from receiving port information and service information of nodes included in the second network.
- the server in the home data center network is used as the first-level vector routing gateway device to receive the port information of the node included in the metropolitan area network and the service identifier supported by the service node included in the metropolitan area network, One or more path vectors are generated according to the port information and the service identifier, and a path-vector mapping relationship is established.
- the specific establishment process is similar to the embodiment shown in the foregoing FIG. 3A , and details are not repeated here.
- the server determines an eighth path vector corresponding to the first service information from the one or more path vectors.
- the server only generates a The path vector of the packet sent by the service node.
- the server may send the first packet to the BNG of the metropolitan area network, and then the BNG of the metropolitan area network may send the first packet to the service node D.
- the BNG is used as the second-level vector routing gateway device to receive the port information of the nodes included in the WAN and the service identifiers supported by the service nodes included in the WAN, and according to the port information and service identifiers Generate one or more path vectors, and establish a path mapping relationship.
- the specific establishment process is similar to the embodiment shown in the foregoing FIG. 3A , and details are not repeated here.
- the BNG determines the eighth path vector corresponding to the first service information from the one or more path vectors.
- the proxy node generates a first packet including a sixth path vector.
- Step 611 is similar to step 203 in the foregoing embodiment shown in FIG. 2A .
- Step 611 is similar to step 203 in the foregoing embodiment shown in FIG. 2A .
- the proxy node sends the first packet according to the sixth path vector.
- Step 612 is similar to the operation flow of steps 204 and 205 in the embodiment shown in FIG. 2A.
- steps 204 and 205 are similar to the operation flow of steps 204 and 205 in the embodiment shown in FIG. 2A.
- Step 612 please refer to the related descriptions of steps 204 and 205 in the embodiment shown in FIG. 2A, which will not be repeated here.
- the third service node receives the first packet of the first service node.
- the server sends the first packet through the sixth path vector, the last network node on the sixth forwarding path is the network node f, and sends the first packet to the service node C through the network node f Arts.
- this embodiment further includes steps 614 to 619 .
- the third service node acquires third service data according to the first message.
- the third service node determines a ninth path vector according to the first information source information.
- the ninth path vector includes port information of ports of one or more nodes.
- the ninth path vector includes port information of ports used for output on the seventh forwarding path.
- the ninth path vector is similar to the first path vector.
- the third service node determines the ninth path vector corresponding to the first information source information according to the sixth path-vector mapping relationship.
- the sixth path vector mapping relationship is used to indicate the mapping relationship between the first information source information and the ninth path vector.
- This embodiment further includes steps 615a to 615d.
- Step 615a The third service node obtains the ninth port information and the third information source information.
- the ninth port information includes port information of ports of nodes of the network system
- the third information source information includes information source information of service nodes included in the network system.
- the network system includes a multi-part network, for example, as shown in FIG. 6B , the network system includes a home data center network, a metropolitan area network, a wide area network, and the like.
- the third service node acquires the port information of the ports of the nodes included in the network system and the source names of the service nodes included in the network system.
- Step 615b The third service node generates one or more forwarding paths according to the ninth port information and the third information source information.
- the service node C obtains the port information of the ports of the nodes included in the network system and the source names of the service nodes included in the network system; then, the service node C obtains the port information of the ports of the nodes included in the network system according to the port information and the source name of the service node included in the network system to generate one or more forwarding paths with the service node C as the starting node.
- the service node C generates the one or more forwarding paths by using the shortest path algorithm.
- the information source information of the service node A is the information source name 1, and the service node C generates the shortest forwarding path from the service node C to the service node A.
- Step 615c The third service node determines one or more path vectors according to the one or more forwarding paths and the third information source information.
- the third information source information includes the first information source information, and the one or more forwarding paths include a seventh forwarding path.
- Step 615c is described below by taking the generation of the ninth path vector by the third service node as an example. Step 615c specifically includes steps 1 to 2.
- Step 1 The third service node determines a seventh forwarding path according to the first information source information.
- the start node of the seventh forwarding path is the third service node
- the destination node of the seventh forwarding path is the first service node
- the information source information of the first service node is the first information source information.
- the service node A is the first service node
- the service node C determines that the information source information of the service node A is the first information source information.
- the service node C searches one or more forwarding paths for the seventh forwarding path whose destination node is the service node A.
- Step 2 The third service node generates a ninth path vector according to the port information of the port used for output on the seventh forwarding path.
- the port information of the port used for output includes one or more port components, and for the representation form of the port components, reference may be made to the relevant introduction in step 202 shown in FIG. 2A , which will not be repeated here.
- Step 615d The third service node establishes a mapping relationship between the third information source information and the one or more forwarding paths, respectively, to obtain a sixth path mapping relationship.
- the sixth path-vector mapping relationship includes the mapping relationship between the first information source information and the nine-path vector.
- Step 615d is described below by taking as an example that the third service node establishes the mapping relationship between the first information source information and the ninth path vector. It can be known from the above steps 615a to 615c that the third service node determines the seventh forwarding path through the first information source information, and then generates the ninth path vector from the port information of the port used for output by the node on the seventh forwarding path. It can be seen from this that there is a mapping relationship between the first information source information and the ninth path vector, and the third service node can establish a mapping relationship between the first information source information and the ninth path vector.
- the third service node generates a fifth packet including the ninth path vector.
- the third service node sends a fifth packet including the tenth path vector.
- the third service node sends a fifth packet including the ninth path vector.
- the first service node receives the fifth packet.
- Steps 614 to 619 are similar to steps 209 to 214 in the embodiment shown in FIG. 2A .
- steps 209 to 214 in the embodiment shown in FIG. 2A please refer to the relevant descriptions of steps 209 to 214 in the embodiment shown in FIG. 2A , which will not be repeated here.
- the third service node can obtain the port information of the ports of the nodes of the multi-part network and the information source information of the service nodes of the multi-part network included in the network system, and generate the third service.
- the node sends the path vector of the message to the service node of the multi-part network.
- the third service node is a server. Since the server has relatively strong computing capability, the path vector of the multi-part network of the entire network system can be calculated without the need to send messages through the proxy node.
- the third service node may also forward the message in a message forwarding manner similar to that of the first service node. Specifically, the third service node sends the fifth message to the proxy node of the second network through the default path vector, and then sends the fifth message to the proxy node of the second network. The fifth packet is sent by the proxy node of the second network to the first service node.
- the specific operation flow is similar to the steps 606 to 608 in the embodiment shown in the foregoing FIG. 6A , and details are not repeated here.
- an agent node of the first network is set up in the network system.
- the first service node cannot find the first path vector corresponding to the first service information
- the first service node sends the agent to the agent through the first default path vector.
- the node sends the first message; then the proxy node determines the eighth path vector according to the first service information, and sends the first message to the third service node of the second network according to the eighth path vector, so as to realize the message transmission. It can be seen from this that the first service node only needs to calculate the path vector for the first service node to reach the service node in the first network. If the corresponding path vector cannot be found, it will send a report to the agent node through the default path vector.
- the proxy node further processes the message and forwards the message.
- the transmission of the message can be completed, and the calculation amount of the path vector calculation by the first service node can be reduced, and the performance requirements on the first service node can be lowered.
- FIG. 7 is a schematic diagram of another embodiment of a packet processing method according to an embodiment of the present application.
- the method includes:
- a fourth service node acquires second service data.
- Step 701 is similar to step 201 in the foregoing embodiment shown in FIG. 2A .
- Step 701 please refer to the relevant introduction of step 201 in the foregoing embodiment shown in FIG. 2A , which will not be repeated here.
- the fourth service node determines a third default path vector.
- Step 702 is similar to step 606 in the embodiment shown in FIG. 6A .
- Step 702 is similar to step 606 in the embodiment shown in FIG. 6A .
- gateway devices are set up in each part of the network of the network system, and the nodes included in each part of the network do not need to generate the path vector of each part of the network, and only need to send the message to the part of the network through the default path vector.
- the gateway device of each part of the network sends the message, and then the gateway device processes the message and forwards the message.
- the fourth service node generates a second packet including the third default path vector.
- the fourth service node sends the second packet according to the third default path vector.
- the proxy node receives the second packet of the fourth service node.
- Steps 703 to 705 are similar to steps 607 to 609 in the embodiment shown in FIG. 6A .
- steps 607 to 609 in the embodiment shown in FIG. 6A please refer to the relevant descriptions of steps 607 to 609 in the embodiment shown in FIG. 6A , which will not be repeated here.
- the service node B in the home data center network obtains second service data, the second service data carries the information source name of the service node A, and the service node B sends the data to the home through the third default path vector.
- the server in the data center network sends the second message, and then the server sends the second message to the service node A.
- the service node B in the home data center network obtains second service data, the second service data carries the information source name of the service node C, and the service node B uses the third default path vector.
- the server in the home data center network sends the second message, and then the server sends the second message to the service node C.
- the proxy node determines a fifth path vector according to the second service information.
- the fifth path vector includes port information of ports of one or more nodes.
- the fifth path vector includes port information of ports used for output on the fifth forwarding path.
- the fifth path vector is similar to the first path vector, and the second service information is similar to the first service information. Please refer to the related introduction of the first path vector and the first service information in the embodiment shown in FIG. 2A, which is not described here. .
- the proxy node determines the fifth path vector corresponding to the second service information according to the second path-vector mapping relationship.
- the second path vector mapping relationship is used to indicate the mapping relationship between the second service information and the fifth path vector.
- the destination node pointed to by the fifth path vector is the fifth service node.
- the fourth service node and the fifth service node belong to the same network or different networks, and the proxy node is used as a proxy for a node that communicates with the fifth service node.
- the generation process of the second path-vector mapping relationship is similar to the generation of the first path-vector mapping relationship by the first service node in the embodiment shown in FIG. 3A , the difference is that the proxy node obtains the port information of the nodes included in the first network in addition to obtaining In addition to the port information and the service identifier of the service supported by the service node included in the first network, the proxy node also obtains the port information of the port of the node included in the second network and the service identifier of the service supported by the service node included in the second network. .
- the one or more path vectors generated by the proxy node include a path vector for the proxy node to send a message to a service node included in the first network, and also include a path vector for the proxy node to send a message to a service node included in the second network.
- path vector includes a mapping relationship between service identifiers of service nodes included in the first network and path vectors, and a mapping relationship between service identifiers and path vectors of service nodes included in the second network.
- the server in the home data center network receives the port information of the node included in the home data center network and the service identifier of the service supported by the service node included in the home data center network, and according to the port information and the service Identifies generating one or more path vectors.
- the server in the home data center network is used as the first-level vector routing gateway device to receive the port information of the nodes included in the metropolitan area network and the service identifiers supported by the service nodes included in the metropolitan area network, and according to the port information and service identifiers Generate one or more path vectors.
- the second path mapping relationship is established by combining all the path vectors generated above and all service identifiers obtained by the proxy node.
- the proxy node generates a second packet including the fifth path vector.
- the proxy node sends the second packet according to the fifth path vector.
- the fifth service node receives the second packet.
- Steps 707 to 709 are similar to steps 611 to 613 in the embodiment shown in FIG. 6A .
- steps 611 to 613 in the embodiment shown in FIG. 6A please refer to the related descriptions of steps 611 to 613 in the embodiment shown in FIG. 6A , which will not be repeated here.
- this embodiment further includes steps 710 to 711 .
- the fifth service node acquires fourth service data according to the first message.
- the fifth service node determines an eleventh path vector according to the second information source information.
- the fifth service node generates a third packet including the eleventh path vector.
- the third service node sends a third packet including the twelfth path vector.
- the third service node sends a third packet containing the eleventh path vector.
- the fourth service node receives the third packet.
- Steps 710 to 715 are similar to steps 614 to 619 in the embodiment shown in FIG. 6A .
- steps 614 to 619 are similar to steps 614 to 619 in the embodiment shown in FIG. 6A .
- the fifth service node can obtain the port information of the ports of the nodes of the multi-part network included in the network system and the information source information of the service nodes of the multi-part network, and generate the fifth service.
- the node sends the path vector of the message to the service node of the multi-part network.
- the fifth service node is a server. Since the server has relatively strong computing power, it is not necessary to send messages through the proxy node, and the path vector of the multi-part network of the entire network system can be calculated.
- the fifth service node may also forward the message in a message forwarding manner similar to the fourth service node. Specifically, the fifth service node uses the default The path vector sends the fifth message to the proxy node of the second network, and then the proxy node of the second network sends the fifth message to the fourth service node.
- the specific operation flow is similar to step 702 to step 705 in the embodiment shown in FIG. 7 , and details are not repeated here.
- the fourth service node sends the second packet to the proxy node through the third default path vector, and then the proxy node determines the fifth path vector according to the second service information, and then sends the fifth service message to the fifth service according to the fifth path vector.
- the node sends the second message. That is, the fourth service node does not need to calculate the path vector, generates service data, and directly sends the message to the proxy node through the default path vector, and the proxy node sends the message as an agent. In this way, the transmission of the message can be completed, and the calculation amount of the path vector calculation by the first service node can be reduced, and the performance requirements on the first service node can be lowered.
- FIG. 8 is a schematic structural diagram of a message processing apparatus in an embodiment of the present application.
- the message processing apparatus can be used to execute the processing performed by the first service node in the embodiments shown in FIG. 2A , FIG. 3A , FIG. 5A , and FIG. 6A .
- FIG. 8 is a schematic structural diagram of a message processing apparatus in an embodiment of the present application.
- the message processing apparatus can be used to execute the processing performed by the first service node in the embodiments shown in FIG. 2A , FIG. 3A , FIG. 5A , and FIG. 6A .
- the packet processing apparatus includes an acquiring unit 801 , a determining unit 802 and a generating unit 803 .
- the packet processing apparatus further includes a sending unit 804 and a mapping unit 805 .
- an obtaining unit 801 configured to obtain first service data, where the first service data carries first service information, and the first service information is used to indicate a service corresponding to the first service data;
- a determining unit 802 configured to determine a first path vector (path vector, PV) according to the first service information, where the first path vector includes port information of ports of one or more nodes;
- the generating unit 803 is configured to generate a first message including a first path vector, where the first path vector is used for the message processing apparatus to send the first message.
- the sending unit 804 is used for:
- the first path vector includes the port information of the packet processing device, send a first packet including the second path vector, where the second path vector is a path after deleting the port signal of the packet processing device in the first path vector vector; if the first path vector does not contain the port information of the message processing apparatus, send the first message containing the first path vector.
- the determining unit 802 is specifically configured to:
- the first path vector corresponding to the first service information is determined according to the first path-vector mapping relationship, where the first path-vector mapping relationship is used to indicate the mapping relationship between the first service information and the first path vector.
- the mapping relationship between the first service information and the first path vector includes: the first service information includes a first service identifier; the packet processing apparatus determines the first forwarding according to the first service identifier path, the start node of the first forwarding path is the message processing device, the destination node of the first forwarding path is the second service node, and the second service node is used to provide the message processing device with the corresponding first service identifier business service; the message processing apparatus generates a first path vector according to the first port information, where the first port information is the port information of the port used for output by the node on the first forwarding path.
- the obtaining unit 801 is further used for:
- second port information and a second service identifier through a routing protocol, where the second port information is port information of a port of a node included in the first network, and the second service identifier is a service ID of a service supported by a service node included in the first network A service identifier, where the first network is a network accessed by the message processing apparatus;
- the generating unit 803 is further configured to generate one or more forwarding paths according to the second port information and the second service identifier, where the one or more forwarding paths include the first forwarding path.
- the first network includes one or more virtual nodes
- the virtual nodes include ingress sub-nodes and egress sub-nodes
- the second port information includes port information of external ports of the one or more virtual nodes , the external port is the ingress port of the ingress child node and the egress port of the egress child node.
- the first port information includes one or more port components, and the port components correspond to the ports used for output in the nodes on the first forwarding path;
- the generating unit 803 is specifically configured to:
- the one or more port components are respectively encrypted according to a preset key, and a first path vector is generated.
- the encryption keys for one or more port components are different.
- the generating unit 803 is specifically used for:
- a first path vector is generated according to the encrypted first port information.
- the first path vector includes port components of at least one node; the sending unit 804 is specifically configured to:
- the first packet containing the second path vector is sent through the first port of the first service section.
- the sending unit 804 is specifically configured to:
- the message processing device determines the first digit width X according to the number of ports, and the first digit width X is a binary binary used to represent the port information of the first port of the message processing device Bit width in number form, where X is an integer greater than or equal to 1;
- the first X binary digits of the first path vector are used as port information of the first port.
- the sending unit 804 is specifically configured to:
- the first binary number is the first Y-bit binary number of the first path vector
- Y is a preset used to represent the message processing device
- the value of the first binary digit is the first value, it is determined whether the value of the first binary digit in the second binary number is the first value, and if not, the first binary digit of the first binary digit will be removed. After the binary number is placed in the second binary number that removes the first binary number, a Y-2 binary number sequence is obtained, and the Y-2 binary number sequence is used as the port information of the first port.
- the second binary number is The Y+1th binary number of the first path vector to the 2Yth binary number of the first path vector;
- the first binary number with the first binary number removed is used as the port information of the first port.
- the first packet further carries first information source information of the packet processing device, where the first information source information includes any of the following information: IP address, MAC address, name, or ID .
- the obtaining unit 801 is further used for:
- the message processing apparatus obtains multiple copies of service data, and the multiple copies of service data correspond to the multiple path vectors one-to-one , the multiple pieces of business data respectively carry the first business information;
- the mapping unit 805 is configured to respectively map the multiple pieces of service data to corresponding path vectors among the multiple path vectors, and the mapping is used for load balancing of the multiple forwarding paths.
- the determining unit 802 is specifically configured to:
- the proxy node is a gateway device that acts as a proxy for the message processing device to communicate with a third service node, and the proxy node is used to send the third service node the the first message, so that the third service node provides the message processing apparatus with the service service corresponding to the first service data.
- the packet processing apparatus and the third service node belong to the same network or belong to different networks.
- the first network is a local area network
- the second network is a metropolitan area network
- the first network is a metropolitan area network
- the second network is a wide area network
- the determining unit 802 determines the first path vector according to the first service information, and the generating unit 803 generates a first packet including the first path vector.
- the first path vector is used for the first service node to send the first message, and the first path vector includes port information of ports of one or more nodes, so as to realize the solution of table-less forwarding of node devices, which solves the problem of The problem of restricted network size due to the explosion of netlist items.
- the first packet carries the first path vector, and there is no need to determine the destination IP address through a domain name system (domain name system, DNS) server, which shortens the delay for the first service node to perform the data request and reduces signaling overhead. There is no need for centralized nodes such as DNS server redirection, which improves the reliability of data transmission.
- domain name system domain name system
- FIG. 9 another schematic structural diagram of a message processing apparatus in an embodiment of the present application.
- the message processing apparatus may be used to perform the steps performed by the first network node in the embodiments shown in FIG. 2A and FIG. 4C , and reference may be made to the above Relevant descriptions in method embodiments.
- the message processing apparatus includes a receiving unit 901 and a sending unit 902 .
- the packet processing apparatus further includes an obtaining unit 903 and a generating unit 904 .
- a receiving unit 901 configured to receive a first packet including a third path vector, where the third path vector includes port information of ports of one or more nodes;
- the sending unit 902 is configured to send the first packet according to the third path vector.
- the port information includes one or more port components; the sending unit 902 is specifically configured to:
- the first packet including the fourth path vector is sent through the second port.
- the sending unit 902 is specifically configured to:
- the port information of the second port of the message processing apparatus is determined by the decrypted first port component.
- the sending unit 902 is specifically configured to:
- the message processing device determines a second bit width Z according to the number of ports, and the second bit width Z is used to represent the port information of the second port of the message processing device.
- Bit width in binary form, where Z is an integer greater than or equal to 1;
- the first Z-bit binary number of the third path vector is used as port information of the second port.
- the sending unit 902 is specifically configured to:
- the third binary number is the first Y-bit binary number of the third path vector
- Y is a preset used to represent the message processing
- the third binary digit after the first binary digit is removed is used as the port information of the second port.
- the port information includes one or more port components
- the packet processing apparatus is a first entry child node of a first virtual node, and the first virtual node includes the first entry child node and The first egress child node;
- the sending unit 902 is specifically used for:
- the message processing device sends the first message according to the first sub-path vector and the third path vector .
- the sending unit 902 is specifically configured to:
- the first message including the second sub-path vector and the third path vector is sent through the second port of the message processing apparatus.
- the sending unit 902 is specifically configured to:
- the first sub-path vector corresponding to the third port is determined according to the sub-path vector mapping relationship, where the sub-path vector mapping relationship is used to indicate the mapping relationship between the third port and the first sub-path vector.
- the mapping relationship between the third port and the first sub-path vector includes: the packet processing apparatus determines a second forwarding path according to the third port, and the second forwarding path is The starting child node is the first entry child node, and the destination child node of the second forwarding path is the first exit child node; the packet processing apparatus generates the first child path vector according to the third port information, and the third The port information is the port information of the port used for output by the child node on the second forwarding path.
- the message processing apparatus further includes an obtaining unit 903 and a generating unit 904;
- the obtaining unit 903 is configured to obtain fourth port information, where the fourth port information includes port information of ports of child nodes included in the first virtual node;
- a generating unit 904 configured to generate one or more forwarding paths according to the fourth port information, where the one or more forwarding paths include the second forwarding path.
- the receiving unit 901 receives a first packet including a third path vector, where the third path vector includes port information of ports of one or more nodes; the sending unit 902 sends the message according to the third path vector.
- the first message thereby realizing the solution of node device forwarding without table, solves the problem that the network scale is restricted due to the explosive increase of network table items.
- the path vector does not need to be allocated uniformly, there is no problem of IP address exhaustion, and it can adapt to various types of networks.
- FIG. 10 is another schematic structural diagram of a message processing apparatus in an embodiment of the present application.
- the message processing apparatus can be used to perform the steps performed by the proxy node in the embodiments shown in FIG. 6A and FIG. 7 , and can be implemented with reference to the above method. related descriptions in the example.
- the message processing apparatus includes a receiving unit 1001 , a determining unit 1002 and a generating unit 1003 .
- the packet processing apparatus further includes an obtaining unit 1004 .
- a receiving unit 1001 configured to receive a second packet of the fourth service node, where the second packet carries the second service information; then,
- a determining unit 1002 configured to determine a fifth path vector according to the second service information, where the fifth path vector includes port information of ports of at least one or more nodes;
- the generating unit 1003 is configured to generate a second message including a fifth path vector, and the fifth path vector is used by the message processing apparatus to send the second message to the fifth service node, so that the fifth service node is the
- the fourth service node provides the service service corresponding to the first service information.
- the fourth service node and the fifth service node belong to the same network; or, the fourth service node and the fifth service node belong to different networks.
- the determining unit 1002 is specifically configured to:
- the fifth path vector corresponding to the second service information is determined according to the second path-vector mapping relationship, where the second path-vector mapping relationship is used to indicate the mapping relationship between the second service information and the fifth path vector.
- the mapping relationship between the second service information and the fifth path vector includes: the second service information includes a third service identifier; the message processing apparatus according to the third service identifier Determine a third forwarding path, where the starting node of the third forwarding path is the message processing device, and the destination node of the third forwarding path is the fifth service node; the message processing device generates the third forwarding path according to the fifth port information A five-path vector, where the fifth port information is port information of a port used for output in a node on the third forwarding path.
- the message processing apparatus is a gateway device connecting the first network and the second network;
- the obtaining unit 1004 is configured to obtain the sixth port information and the fourth service identifier, where the sixth port information includes port information of ports of nodes included in the first network and ports of ports of nodes included in the second network information, the fourth service identifier includes the service identifier of the service supported by the service node included in the first network and the service identifier of the service supported by the service node included in the second network;
- the generating unit 1003 is configured to generate one or more forwarding paths according to the sixth port information and the fourth service identifier, where the one or more forwarding paths include the third forwarding path.
- the receiving unit 1001 is further configured to:
- the determining unit 1002 is also used for:
- the sixth path vector includes port information of ports of at least one or more nodes
- the generating unit 1003 is also used for:
- the sixth path vector is used by the message processing apparatus to send the first message to the third service node, so that the third service node is the first service
- the node provides the business service corresponding to the first business information, and the third business node belongs to the second network.
- a proxy node of the first network is set up in the network system, the fourth service node can send the second packet to the receiving unit 1001 through the default path vector, and the determining unit 1002 determines the fifth path vector according to the second service information,
- the generating unit 1003 generates a second message including a fifth path vector, and the fifth path vector is used by the message processing apparatus to send the second message to the fifth service node, so that the fifth service node is the fourth service
- the node provides a business service corresponding to the first business information. It can be seen that the fourth service node does not need to calculate the path vector, but only needs to send the second packet to the packet processing apparatus through the default routing vector, and the packet processing apparatus further processes the packet and forwards the second packet. In this way, the transmission of the message can be completed, and the calculation amount of the path vector calculated by the fourth service node can be reduced, and the performance requirements of the fourth service node can be lowered.
- FIG. 11 another schematic structural diagram of a packet processing apparatus in an embodiment of the present application.
- the packet processing apparatus may be used to perform the steps performed by the second service node in the embodiment shown in FIG. 2A , and reference may be made to the above method embodiments. related descriptions in .
- the packet processing apparatus includes a receiving unit 1101 , an obtaining unit 1102 , a determining unit 1103 and a generating unit 1104 .
- the packet processing apparatus further includes a sending unit 1105 .
- a receiving unit 1101 configured to receive a first packet of a first service node, where the first packet carries first service information and first information source information of the first service node;
- an obtaining unit 1102 configured to obtain second service data according to the first message
- a determining unit 1103 configured to determine a seventh path vector according to the first information source information, where the seventh path vector includes port information of ports of one or more nodes;
- the generating unit 1104 is configured to generate a fourth packet including the seventh path vector, where the seventh path vector is used by the packet processing apparatus to send the fourth packet to the first service node.
- the sending unit 1105 is used for:
- the seventh path vector includes the port information of the message processing device, send a fourth message including the eighth path vector, where the eighth path vector is to delete the port information of the message processing device in the seventh path vector If the seventh path vector does not contain the port information of the message processing device, the fourth message containing the seventh path vector is sent.
- the determining unit 1103 is specifically configured to:
- a seventh path vector corresponding to the first information source information is determined according to a fourth path-vector mapping relationship, where the fourth path-vector mapping relationship is used to indicate a mapping relationship between the first information source information and the seventh path vector.
- the obtaining unit 1102 obtains the second service data according to the first message; the determining unit 1103 determines the seventh path vector according to the first information source information, the first The seven path vector includes port information of ports of one or more nodes; the generating unit 1104 generates a fourth message including the seventh path vector, and the seventh path vector is used by the message processing apparatus to send the first service node to the first service node. Send the fourth message.
- the present application also provides a message processing apparatus, please refer to FIG. 12 , another schematic structural diagram of the message processing apparatus in the embodiment of the present application, the message processing apparatus can be used to execute FIG. 2A , FIG. 3A , FIG. 5A and FIG.
- the message processing apparatus can be used to execute FIG. 2A , FIG. 3A , FIG. 5A and FIG.
- FIG. 12 another schematic structural diagram of the message processing apparatus in the embodiment of the present application, the message processing apparatus can be used to execute FIG. 2A , FIG. 3A , FIG. 5A and FIG.
- the packet processing apparatus includes: a processor 1201 , a memory 1202 and a transceiver 1203 .
- the processor 1201, the memory 1202 and the transceiver 1203 are respectively connected through a bus, and the memory stores computer instructions.
- the determining unit 802, the generating unit 803, and the mapping unit 805 in the foregoing embodiment may specifically be the processor 1201 in this embodiment, and therefore the specific implementation of the processor 1201 will not be repeated.
- the acquiring unit 801 and the sending unit 804 in the foregoing embodiment may specifically be the transceiver 1203 in this embodiment, and thus the specific implementation of the transceiver 1203 will not be described again.
- the present application further provides a message processing apparatus, please refer to FIG. 13 , which is another schematic structural diagram of the message processing apparatus in the embodiment of the present application.
- the message processing apparatus can be used to execute the embodiments shown in FIG. 2A and FIG. 4C .
- FIG. 13 is another schematic structural diagram of the message processing apparatus in the embodiment of the present application.
- the message processing apparatus can be used to execute the embodiments shown in FIG. 2A and FIG. 4C .
- For the steps performed by the first network node reference may be made to the relevant descriptions in the foregoing method embodiments.
- the message processing apparatus includes: a processor 1301 , a memory 1302 and a transceiver 1303 .
- the processor 1301, the memory 1302 and the transceiver 1303 are respectively connected through a bus, and the memory stores computer instructions.
- the generating unit 904 in the foregoing embodiment may specifically be the processor 1301 in this embodiment, and thus the specific implementation of the processor 1301 will not be described again.
- the receiving unit 901 and the transmitting unit 902 in the foregoing embodiments may specifically be the transceiver 1303 in this embodiment, and thus the specific implementation of the transceiver 1303 will not be described again.
- the present application also provides a message processing apparatus. Please refer to FIG. 14 , which is another schematic structural diagram of the message processing apparatus in the embodiment of the present application.
- the message processing apparatus can be used to execute the embodiments shown in FIGS. 6A and 7 .
- FIGS. 6A and 7 For the steps performed by the proxy node, reference may be made to the relevant descriptions in the foregoing method embodiments.
- the message processing apparatus includes: a processor 1401 , a memory 1402 and a transceiver 1403 .
- the processor 1401, the memory 1402 and the transceiver 1403 are respectively connected through a bus, and the memory stores computer instructions.
- the determining unit 1002 and the generating unit 1003 in the foregoing embodiment may specifically be the processor 1401 in this embodiment, and thus the specific implementation of the processor 1401 will not be described again.
- the receiving unit 1001 and the obtaining unit 1004 in the foregoing embodiment may specifically be the transceiver 1403 in this embodiment, and thus the specific implementation of the transceiver 1403 will not be repeated.
- the present application further provides a message processing apparatus.
- FIG. 15 is another schematic structural diagram of the message processing apparatus in the embodiment of the present application.
- the message processing apparatus can be used to execute the first service in the embodiment shown in FIG. 2A .
- the steps performed by the node reference may be made to the relevant descriptions in the foregoing method embodiments.
- the message processing apparatus includes: a processor 1501 , a memory 1502 and a transceiver 1503 .
- the processor 1501, the memory 1502 and the transceiver 1503 are respectively connected through a bus, and the memory stores computer instructions.
- the determining unit 1103 and the generating unit 1104 in the foregoing embodiment may specifically be the processor 1501 in this embodiment, and thus the specific implementation of the processor 1501 will not be described again.
- the receiving unit 1101 , the acquiring unit 1102 , and the transmitting unit 1105 in the foregoing embodiment may specifically be the transceiver 1503 in this embodiment, and thus the specific implementation of the transceiver 1503 will not be repeated.
- an embodiment of the present application further provides a network system, and the communication system includes a message processing apparatus.
- the message processing apparatus may include the message processing apparatus shown in FIG. 8 and the message processing apparatus shown in FIG. 9 .
- the message processing apparatus shown in FIG. 8 is used to execute all or part of the steps performed by the first service node in the embodiments shown in FIG. 2A , FIG. 3A , FIG. 5A and FIG. 6A , and the message processing apparatus shown in FIG. All or part of the steps performed by the first network node in the embodiment shown in FIG. 2A and FIG. 4C are performed.
- the network system further includes the message processing apparatus shown in FIG. 9 .
- the message processing apparatus shown in Fig. 9 is used to perform all or part of the steps performed by the proxy node in the embodiment shown in Fig. 6A.
- Embodiments of the present application also provide a computer program product including instructions, which, when run on a computer, enables the computer to execute the implementation shown in FIGS. 2A , 3A, 4C, 5A, 6A, and 7 above.
- Example message processing method Example message processing method.
- the embodiments of the present application also provide a computer-readable storage medium, including computer instructions, when the computer instructions are executed on the computer, the computer can execute the above-mentioned FIG. 2A , FIG. 3A , FIG. 4C , FIG. 5A , FIG. 6A and FIG.
- An embodiment of the present application further provides a chip device, including a processor for connecting to a memory and calling a program stored in the memory, so that the processor executes the above-mentioned FIG. 2A , FIG. 3A , FIG. 4C , FIG. 5A , and FIG. 6A and the packet processing method of the embodiment shown in FIG. 7 .
- the processor mentioned in any of the above can be a general-purpose central processing unit, a microprocessor, an application-specific integrated circuit (ASIC), or one or more of the above-mentioned Fig. 2A, An integrated circuit for program execution of the message processing method in the embodiments shown in FIG. 3A , FIG. 4C , FIG. 5A , FIG. 6A and FIG. 7 .
- the memory mentioned in any one of the above can be read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM), and the like.
- the disclosed system, apparatus and method may be implemented in other manners.
- the apparatus embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
- the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
- the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
- the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文处理方法及其装置,用于实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。本申请实施例方法包括:第一业务节点获取第一业务数据,所述第一业务数据携带第一业务信息,所述第一业务信息用于指示所述第一业务数据所对应的业务;所述第一业务节点根据所述第一业务信息确定第一路径矢量,所述第一路径矢量包括一个或多个节点的端口的端口信息;所述第一业务节点生成包含所述第一路径矢量的第一报文,所述第一路径矢量用于所述第一业务节点发送所述第一报文。
Description
本申请要求于2020年7月6日提交中国国家知识产权局,申请号为202010642126.4,发明名称为“报文处理方法及其装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,尤其涉及一种报文处理方法及其装置。
随着人们日常生活对网络的依赖日趋全面化,从低带宽单一的业务应用到语音、视频等实时传送的多业务应用,导致了数据流量的急剧增长,对现有网络的性能形成了很大压力。所以有必要在网络架构和路由器硬件系统结构方面作进一步探索,研究一种高速、低成本、可扩展的硬件系统来满足目前网络发展的需求,推动网络服务质量的提高。
目前,互联网协议(Internet Protocol,IP)技术是现有网络通信的核心技术。路由器设备通过信令确定网络拓扑,创建、维护和更新路由表(routing information base,RIB),并根据路由表内容创建、维护和更新转发表(forwarding information base,FIB)。路由器设备通过查找转发表,实现对报文的转发。
而随着网络规模的扩大,网络用户和业务越来越多,网络设备中的媒体访问控制(media access control,MAC)表、RIB、FIB等表项目爆炸式增加,成为制约网络规模的关键因素。因此,如何解决网络规模受制约的问题是当前亟待解决的问题。
发明内容
本申请实施例提供了一种报文处理方法及其装置,用于实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
本申请实施例第一方面提供一种报文处理方法,该方法包括:
第一业务节点获取第一业务数据,该第一业务数据携带第一业务信息,该第一业务信息用于指示该第一业务数据所对应的业务;然后,第一业务节点根据第一业务信息确定第一路径矢量(path vector,PV),该第一路径矢量包括一个或多个节点的端口的端口信息;第一业务节点生成包含第一路径矢量的第一报文,该第一路径矢量用于第一业务节点发送该第一报文。
本实施例中,第一业务节点根据第一业务信息确定第一路径矢量,并生成包含第一路径矢量的第一报文。其中,该第一路径矢量用于第一业务节点发送该第一报文,且该第一路径矢量包括一个或多个节点的端口的端口信息,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。另外,第一报文携带第一路径矢量,无需通过域名系统(domain name system,DNS)服务器确定目的IP地址,缩短了第一业务节点执行数据请求的时延,减少信令开销。无需DNS服务器重定向等集中性节点,提高数据传输的可靠度性。
一种可能的实现方式中,该方法还包括:若第一路径矢量包含第一业务节点的端口信息,则第一业务节点发送包含第二路径矢量的第一报文,该第二路径矢量为删除第一路径矢量中的第一业务节点的端口信号后的路径矢量;若第一路径矢量不包含第一业务节点的端口信息,则第一业务节点发送包含第一路径矢量的第一报文。
在该可能的实现方式中,提供了一种第一业务节点根据第一路径矢量发送第一报文的方式。由此可知,第一业务节点根据第一路径矢量发送第一报文,是一种无表转发的方式,数据转发不涉及查表操作,节点设备简单高效,转发时延较低。另外,第一业务节点根据第一路径矢量发送第一报文,不存在IP地址枯竭的问题,传输效率较高,转发时延较小。
另一种可能的实现方式中,该第一业务节点根据第一业务信息确定第一路径矢量,包括:第一业务节点根据第一路径矢量映射关系确定第一业务信息对应的第一路径矢量,该第一路径矢量映射关系用于指示第一业务信息与第一路径矢量之间的映射关系。
在该可能的实现方式中,提供了一种具体的第一业务节点根据第一业务信息确定第一路径矢量的方式,提升方案的可实现性。
另一种可能的实现方式中,该第一业务信息与第一路径矢量之间的映射关系,包括:第一业务信息包括第一业务标识;第一业务节点根据第一业务标识确定第一转发路径,该第一转发路径的起始节点为第一业务节点,第一转发路径的目的节点为第二业务节点,该第二业务节点用于为第一业务节点提供第一业务标识所对应的业务服务;第一业务节点根据第一端口信息生成第一路径矢量,第一端口信息为第一转发路径上的节点用于输出的端口的端口信息。
在该可能的实现方式中,提供的第一路径矢量映射关系的一种具体的形式,通过第一业务信息确定对应的第一转发路径,并通过该第一转发路径上的节点用于输出的端口的端口信息生成第一路径矢量。
另一种可能的实现方式中,该方法包括:第一业务节点通过路由协议获取第二端口信息和第二业务标识,该第二端口信息为第一网络包括的节点的端口的端口信息,该第二业务标识为第一网络包括的业务节点所支持的业务的业务标识,该第一网络为第一业务节点接入的网络;然后,第一业务节点根据第二端口信息和第二业务标识生成一个或多个转发路径,该一个或多个转发路径包括第一转发路径。
在该可能的实现方式中,在第一业务节点的控制面上,第一业务节点运行路由协议,获取第二端口信息和第二业务标识,并生成一个或多个转发路径。由此可知,每个转发路径的目的节点都有对应的业务标识,以便于第一业务节点生成一个或多个路径矢量。
另一种可能的实现方式中,第一网络包括一个或多个虚拟节点,该虚拟节点包括入口子节点和出口子节点,该第二端口信息包括一个或多个虚拟节点的外部端口的端口信息,该外部端口为入口子节点的入口端口和出口子节点的出口端口。
在该可能的实现方式中,由于路径矢量包括的端口分量与转发路径上的节点的数量和端口号有关。对于小型网络,转发路径上的节点的数量相对较少,端口分量占用的二进制数的位数较少,即路径矢量包括的一个或多个端口分量的长度较短,数据传输效率较高。对于大型网络,本申请实施例引入虚拟节点,通过虚拟节点聚合一个局部网络中的多个节 点,从而减少路径矢量的长度,减少节点设备计算路径矢量的计算量。
另一种可能的实现方式中,该第一端口信息包括一个或多个端口分量,该端口分量与第一转发路径上的节点中用于输出的端口对应;该第一业务节点根据第一端口信息生成第一路径矢量,包括:第一业务节点按照预设的密钥分别对该一个或多个端口分量加密,并生成第一路径矢量。
在该可能的实现方式中,第一路径矢量包括的一个或多个端口分量是经过加密得到的。因此,第一转发路径上的每个节点只确定该第一报文的下一跳节点,并无法获取第一报文的起始节点和目的节点,从而提高了业务节点之间进行数据通信的安全性和可靠性,增加本方案的实用性。
另一种可能的实现方式中,对一个或多个端口分量加密的密钥不相同。
在该可能的实现方式中,用于加密每个端口分量的密钥不相同,这样有利于提高数据传输的安全性和可靠性。
另一种可能的实现方式中,第一业务节点根据第一端口信息生成第一路径矢量,包括:该第一业务节点根据加密后的第一端口信息生成第一路径矢量。
在该可能的实现方式中,该一个或多个端口分量分别是由第一转发路径上对应的节点加密得到的,即与前述第一业务节点按照预设的密钥加密该一个或多个端口分量是两种并列的方案,在本实现方式中,第一业务节点与第一转发路径上的其他节点无需提前约定密钥,减少密钥约定信令,减少网络开销;并且,密钥无需提前约定,可以提高数据传输的安全性。
另一种可能的实现方式中,该第一路径矢量包括至少一个节点的端口分量;该第一业务节点发送包含第二路径矢量的第一报文,包括:第一业务节点根据第一路径矢量的第一个端口分量确定第一业务节点的第一端口;然后,第一业务节点删除第一路径矢量的第一个端口分量,得到第二路径矢量;第一业务节点通过第一业务节的第一端口发送包含第二路径矢量的第一报文。
在该可能的实现方式中,提供了第一业务节点根据第一路径矢量发送第一报文的具体方式。第一业务节点在转发第一报文时,应当将该第一路径矢量包含的该第一业务节点的端口信息删除,再转发该第一报文。
另一种可能的实现方式中,第一业务节点根据第一路径矢量的第一个端口分量确定第一业务节点的第一端口,包括:第一业务节点确定第一业务节点包含的端口数量;然后,第一业务节点根据该端口数量确定第一位宽X,该第一位宽X为用于表示第一业务节点的第一端口的端口信息的二进制数形式的位宽,其中,X为大于或等于1的整数;第一业务节点将第一路径矢量的前X位二进制数作为第一端口的端口信息。
在该可能的实现方式中,提供了第一业务节点确定第一路径矢量的第一个端口分量的第一种方式。其次,由于第一路径矢量包括的是一个或多个端口分量,第一转发路径上的节点对其之前或之后的端口分量不可知,端口分量仅有本地意义,无法获知是哪两个业务节点之间的数据通信,从而提高数据传输的安全性。
另一种可能的实现方式中,第一业务节点根据第一路径矢量的第一个端口分量确定第 一业务节点的第一端口,包括:第一业务节点判断第一份二进制数中的首位二进制数的数值是否为第一数值,该第一份二进制数为该第一路径矢量的前Y位二进制数,Y为预设的用于表示第一业务节点的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若该首位二进制数的数值为所述第一数值,则该第一业务节点判断第二份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的该第一份二进制数放置到去除首位二进制数的第二份二进制数之后,获取Y-2位二进制数序列,将该Y-2位二进制数序列作为该第一端口的端口信息,该第二份二进制数为该第一路径矢量的第Y+1位二进制数至该第一路径矢量的第2Y位二进制数;若该首位二进制数的数值不为该第一数值,则该第一业务节点将去除首位二进制数的该第一份二进制数作为该第一端口的端口信息。
在该可能的实现方式中,提供了第一业务节点确定第一路径矢量的第一个端口分量的第二种方式,提升方案的多样性。
另一种可能的实现方式中,第一报文还携带第一业务节点的第一信源信息,该第一信源信息包括以下任一种信息:互联网协议(internet protocol,IP)地址、媒体接入控制(media access control,MAC)地址、名称、或者、身份标识(identity,ID)。
在该可能的实现方式中,第一报文携带第一信源信息,以便于在目的节点接收到第一报文之后,目的节点向该第一业务节点反馈数据时,可以通过该第一信源信息找到该第一业务节点。
另一种可能的实现方式中,该方法还包括:第一业务节点根据第一业务信息确定多个路径矢量,该多个路径矢量与多个转发路径一一对应;该第一业务节点获取多份业务数据,该多份业务数据与该多个路径矢量一一对应,该多份业务数据分别携带该第一业务信息;该第一业务节点分别将该多份业务数据映射至该多个路径矢量中对应的路径矢量,该映射用于该多个转发路径的负载均衡。
在该可能的实现方式中,第一业务节点获取多份业务数据,第一业务节点按照负载均衡的规则将多份业务数据映射至多个路径矢量中对应的路径矢量,这样有利于多个路径矢量对应的多个转发路径的负载均衡,提高数据传输效率,提升网络传输性能。
另一种可能的实现方式中,第一业务节点根据第一业务信息确定第一路径矢量,包括:第一业务节点判断是否存在第一业务信息对应的第一路径矢量;若是,则第一业务节点确定该第一业务信息对应的第一路径矢量;若否,则该第一业务节点确定第一默认路径矢量为所述第一路径矢量,该第一默认路径矢量所指向的目的节点为代理节点;其中,该代理节点为代理该第一业务节点与第三业务节点进行通信的网关设备,且该代理节点用于向该第三业务节点发送该第一报文,以使得该第三业务节点为该第一业务节点提供该第一业务数据所对应的业务服务。
在该可能的实现方式中,在网络系统的多部分网络中设立分级网关设备,第一业务节点只需要计算用于该第一业务节点到达该第一网络中的业务节点的路径矢量,如果查找不到对应的路径矢量,就通过默认路径矢量向代理节点发送报文,再由代理节点进一步处理该报文并转发该报文。这样既能够完成报文的传输,又能够减小第一业务节点计算路径矢 量的计算量,降低对第一业务节点的性能要求。
另一种可能的实现方式中,第一业务节点和第三业务节点归属同一网络或归属不同的网络。
另一种可能的实现方式中,第一网络为局域网,该第二网络为城域网;或者,该第一网络为城域网,该第二网络为广域网。
在该可能的实现方式中,提供了第一网络和第二网络多种可能的实现方式。
本申请实施例第二方面提供一种报文处理方法,该方法包括:
第一网络节点接收包含第三路径矢量的第一报文,该第三路径矢量包括一个或多个节点的端口的端口信息;该第一网络节点根据该第三路径矢量发送该第一报文。
本实施例中,该第一网络节点根据该第三路径矢量发送该第一报文,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。并且,由于路径矢量不需要统一分配,不存在IP地址枯竭的问题,能适应各种类型的网络。
一种可能的实现方式中,该端口信息包括一个或多个端口分量;该第一网络节点根据该第三路径矢量发送该第一报文,包括:该第一网络节点根据该第三路径矢量的第一个端口分量确定该第一网络节点的第二端口;该第一网络节点删除该第三路径矢量的第一个端口分量,得到第四路径矢量;然后,该第一网络节点通过该第二端口发送包含该第四路径矢量的第一报文。
在该可能的实现方式中,提供了第一网络节点发送第一报文的具体方式。由此可知,第一网络节点根据第三路径矢量发送第一报文,是一种无表转发的方式,数据转发不涉及查表操作,节点设备简单高效,转发时延较低。另外,第一网络节点根据第三路径矢量发送第一报文,不存在IP地址枯竭的问题,传输效率较高,转发时延较小。
另一种可能的实现方式中,该第一网络节点根据该第三路径矢量的第一个端口分量确定该第一网络节点的第二端口,包括:该第一网络节点按照预设的密钥对该第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量;该第一网络节点通过该解密后的第一个端口分量确定该第一网络节点的第二端口的端口信息。
在该可能的实现方式中,第三路径矢量包括的端口分量是经过加密的,第一网络节点可以通过预设的密钥进行解密,再通过解密的端口分量确定第二端口,从而提高数据传输的安全性。
另一种可能的实现方式中,该第一网络节点根据该第三路径矢量的第一个端口分量确定该第一网络节点的第二端口,包括:该第一网络节点确定该第一网络节点包含的端口数量;该第一网络节点根据该端口数量确定第二位宽Z,该第二位宽Z为用于表示该第一网络节点的第二端口的端口信息的二进制数形式的位宽,其中,Z为大于或等于1的整数;该第一网络节点将该第三路径矢量的前Z位二进制数作为该第二端口的端口信息。
在该可能的实现方式中,提供了一种第一网络节点确定第三路径矢量的第一个端口分量的具体方式。
另一种可能的实现方式中,该第一网络节点根据该第三路径矢量的第一个端口分量确定该第一网络节点的第二端口,包括:该第一网络节点判断第三份二进制数中的首位二进 制数的数值是否为第一数值,该第三份二进制数为该第三路径矢量的前Y位二进制数,Y为预设的用于表示该第一网络节点的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若该首位二进制数的数值为第一数值,则该第一网络节点判断第四份二进制数中的首位二进制数的数值是否为第一数值,若否,则将去除首位二进制数的该第三份二进制数放置到去除首位二进制数的该第四份二进制数之后,获取Y-2位二进制数的序列,将该Y-2位二进制数序列作为该第二端口的端口信息,该第四份二进制数为该第四路径矢量的第Y+1位二进制数至该第四路径矢量的第2Y位二进制数;若该首位二进制数的数值不为该第一数值,则该第一网络节点将去除首位二进制数的该第三份二进制数作为该第二端口的端口信息。
在该可能的实现方式中,提供了另一种第一网络节点确定第三路径矢量的第一个端口分量的具体方式。
另一种可能的实现方式中,该端口信息包括一个或多个端口分量,该第一网络节点为第一虚拟节点的第一入口子节点,该第一虚拟节点包括该第一入口子节点和第一出口子节点;该第一网络节点根据该第三路径矢量发送该第一报文,包括:该第一网络节点确定该第三路径矢量的第一个端口分量对应该第一出口子节点的第三端口;该一网络节点确定第一子路径矢量,该第一子路径矢量所指向的目的节点为该第一出口子节点;该第一网络节点根据该第一子路径矢量和该第三路径矢量发送该第一报文。
在该可能的实现方式中,在引入虚拟节点的场景下,第一网络节点作为第一虚拟节点的第一入口子节点,提供了第一网络节点确定第一子路径矢量,并根据该第一子路径矢量和该第三路径矢量发送该第一报文的过程。
另一种可能的实现方式中,该第一网络节点根据该第一子路径矢量和该第三路径矢量发送该第一报文,包括:该第一网络节点根据该第一子路径矢量的第一个端口分量确定该第一网络节点的第二端口;该第一网络节点删除该第一子路径矢量的第一个端口分量,得第二子路径矢量;该第一网络节点通过该第一网络节点的第二端口发送包含该第二子路径矢量和该第三路径矢量的第一报文。
在该可能的实现方式中,提供了第一网络节点在第一虚拟节点内转发第一报文的具体转发方式。
另一种可能的实现方式中,该第一网络节点确定第一子路径矢量包括:该第一网络节点根据子路径矢量映射关系确定该第三端口所对应的第一子路径矢量,该子路径矢量映射关系用于指示该第三端口与该第一子路径矢量之间的映射关系。
在该可能的实现方式中,提供了第一网络节点确定第一子路径矢量的一种实现方式。该子路径矢量映射关系包括第一虚拟节点的外部端口与子路径矢量之间的映射关系,这样第一网络节点可以通过第三端口找到第一子路径矢量。
另一种可能的实现方式中,该第三端口与该第一子路径矢量之间的映射关系,包括:该第一网络节点根据该第三端口确定第二转发路径,该第二转发路径的起始子节点为该第一入口子节点,该第二转发路径的目的子节点为该第一出口子节点;该第一网络节点根据第三端口信息生成该第一子路径矢量,该第三端口信息为该第二转发路径上的子节点用于 输出的端口的端口信息。
在该可能的方式中,提供了该第三端口与该第一子路径矢量之间的映射关系的具体实现方式中。
另一种可能的实现方式中,该方法还包括:该第一网络节点获取第四端口信息,该第四端口信息包括该第一虚拟节点包括的子节点的端口的端口信息;该第一网络节点根据该第四端口信息生成一个或多个转发路径,该一个或多个转发路径包括该第二转发路径。
在该可能的方式中,在第一网络节点的控制面上,第一网络节点通过路由协议获取第四端口信息,并生成一个或多个转发路径。由此可知,每个转发路径的目的节点都有对应的外部端口,以便于第一网络节点生成一个或多个路径矢量。
本申请实施例第三方面提供一种报文处理方法,该方法包括:
代理节点接收第四业务节点的第二报文,该第二报文携带第二业务信息;然后,该代理节点根据第二业务信息确定第五路径矢量,该第五路径矢量包括至少一个或多个节点的端口的端口信息;代理节点生成包含第五路径矢量的第二报文,该第五路径矢量用于该代理节点向第五业务节点发送第二报文,以使得该第五业务节点为该第四业务节点提供第一业务信息所对应的业务服务。
本实施例中,在网络系统中设立第一网络的代理节点,第四业务节点可以通过默认路径矢量向该代理节点发送第二报文,再由该第二业务信息确定第五路径矢量,并根据该第五路径矢量向第五业务节点发送该第二报文从而实现报文的传输。由此可知第四业务节点无需计算路径矢量,只需通过默认路由矢量向该代理节点发送第二报文,再由代理节点进一步处理该报文并转发该第二报文。这样既能够完成报文的传输,又能够减小第四业务节点计算路径矢量的计算量,降低对第四业务节点的性能要求。
一种可能的实现方式中,该第四业务节点和该第五业务节点归属同一网络;或者,该第四业务节点和该第五业务节点归属不同的网络。
另一种可能的实现方式中,该代理节点根据该第二业务信息确定第五路径矢量,包括:该代理节点根据第二路径矢量映射关系确定该第二业务信息对应的该第五路径矢量,该第二路径矢量映射关系用于指示该第二业务信息与该第五路径矢量之间的映射关系。
在该可能的实现方式中,提供了代理节点确定第五路径矢量的一种可能的实现方式,提升方案的可实现性。
另一种可能的实现方式中,该第二业务信息与该第五路径矢量之间的映射关系,包括:该第二业务信息包括第三业务标识;该代理节点根据该第三业务标识确定第三转发路径,该第三转发路径的起始节点为该代理节点,该第三转发路径的目的节点为该第五业务节点;该代理节点根据第五端口信息生成该第五路径矢量,该第五端口信息为该第三转发路径上的节点中用于输出的端口的端口信息。
在该可能的实现方式中,提供的第二路径矢量映射关系的一种具体的形式,通过第二业务信息确定对应的第三转发路径,并通过该第三转发路径上的节点用于输出的端口的端口信息生成第五路径矢量。
另一种可能的实现方式中,该代理节点为连接第一网络和第二网络的网关设备;该方 法还包括:该代理节点获取该第六端口信息和该第四业务标识,该第六端口信息包括该第一网络包括的节点的端口的端口信息和该第二网络包括的节点的端口的端口信息,该第四业务标识包括该第一网络包括的业务节点所支持的业务的业务标识和该第二网络包括的业务节点所支持的业务的业务标识;该代理节点根据该第六端口信息和该第四业务标识生成一个或多个转发路径,该一个或多个转发路径包括该第三转发路径。
在该可能的实现方式中,在代理节点的控制面上,代理节点运行路由协议,获取第六端口信息和第四业务标识,并生成一个或多个转发路径。由此可知,每个转发路径的目的节点都有对应的业务标识,以便于代理节点生成一个或多个路径矢量。
另一种可能的实现方式中,该方法包括:该代理节点接收该第一业务节点的第一报文,该第一报文携带该第一业务信息,该第一业务节点归属所述第一网络;该代理节点根据该第一业务信息确定第六路径矢量,该第六路径矢量包括至少一个或多个节点的端口的端口信息;该代理节点生成包含该第六路径矢量的第一报文,该第六路径矢量用于该代理节点向第三业务节点发送所述第一报文,以使得该第三业务节点为该第一业务节点提供该第一业务信息所对应的业务服务,该第三业务节点归属该第二网络。
本实施例中,第一业务节点只需要计算用于该第一业务节点到达该第一网络中的业务节点的路径矢量,如果查找不到对应的路径矢量,就通过默认路径矢量向代理节点发送报文,再由代理节点进一步处理该报文并转发该报文。这样既能够完成报文的传输,又能够减小第一业务节点计算路径矢量的计算量,降低对第一业务节点的性能要求。
本申请实施例第四方面提供一种报文处理方法,该方法包括:
第二业务节点接收第一业务节点的第一报文,该第一报文携带第一业务信息和该第一业务节点的第一信源信息;该第二业务节点根据该第一报文获取第二业务数据;该第二业务节点根据该第一信源信息确定第七路径矢量,该第七路径矢量包括一个或多个节点的端口的端口信息;该第二业务节点生成包含该第七路径矢量的第四报文,该第七路径矢量用于该第二业务节点向所述第一业务节点发送所述第四报文。
本实施例中,第二业务节点接收到第一报文之后,确定第二业务数据,并通过第一信源信息确定第七路径矢量,再根据第七路径矢量发送第四报文,该第四报文携带第二业务数据,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
一种可能的实现方式中,该方法还包括:
若该第七路径矢量包括该第二业务节点的端口信息,则该第二业务节点发送包含第八路径矢量的第四报文,该第八路径矢量为删除该第七路径矢量中的第二业务节点的端口信息后的路径矢量;若该第七路径矢量不包含该第二业务节点的端口信息,则该第二业务节点发送包含该第七路径矢量的第四报文。
在该可能的实现方式中,提供了一种第二业务节点根据第七路径矢量发送第四报文的方式。由此可知,第二业务节点根据第七路径矢量发送第四报文,是一种无表转发的方式,数据转发不涉及查表操作,节点设备简单高效,转发时延较低。另外,第二业务节点根据第七路径矢量发送第四报文,不存在IP地址枯竭的问题,传输效率较高,转发时延较小。
另一种可能的实现方式中,该第二业务节点根据该第一信源信息确定第七路径矢量,包括:该第二业务节点根据第四路径矢量映射关系确定该第一信源信息对应的第七路径矢量,该第四路径矢量映射关系用于指示该第一信源信息与该第七路径矢量之间的映射关系。
在该可能的实现方式中,提供了一种具体的第二业务节点根据该第一信源信息确定第七路径矢量的方式,提升方案的可实现性。
本申请实施例第五方面提供一种报文处理装置,该报文处理装置包括:
获取单元,用于获取第一业务数据,该第一业务数据携带第一业务信息,该第一业务信息用于指示该第一业务数据所对应的业务;
确定单元,用于根据第一业务信息确定第一路径矢量,该第一路径矢量包括一个或多个节点的端口的端口信息;
生成单元,用于生成包含第一路径矢量的第一报文,该第一路径矢量用于报文处理装置发送该第一报文。
一种可能的实现方式中,该报文处理装置还包括发送单元;
该发送单元,用于若第一路径矢量包含报文处理装置的端口信息,则发送包含第二路径矢量的第一报文,该第二路径矢量为删除第一路径矢量中的报文处理装置的端口信号后的路径矢量;若第一路径矢量不包含报文处理装置的端口信息,则发送包含第一路径矢量的第一报文。
另一种可能的实现方式中,该确定单元具体用于:
根据第一路径矢量映射关系确定第一业务信息对应的第一路径矢量,该第一路径矢量映射关系用于指示第一业务信息与第一路径矢量之间的映射关系。
另一种可能的实现方式中,该第一业务信息与第一路径矢量之间的映射关系,包括:第一业务信息包括第一业务标识;报文处理装置根据第一业务标识确定第一转发路径,该第一转发路径的起始节点为报文处理装置,第一转发路径的目的节点为第二业务节点,该第二业务节点用于为报文处理装置提供第一业务标识所对应的业务服务;报文处理装置根据第一端口信息生成第一路径矢量,第一端口信息为第一转发路径上的节点用于输出的端口的端口信息。
另一种可能的实现方式中,该获取单元还用于:
通过路由协议获取第二端口信息和第二业务标识,该第二端口信息为第一网络包括的节点的端口的端口信息,该第二业务标识为第一网络包括的业务节点所支持的业务的业务标识,该第一网络为报文处理装置接入的网络;
该生成单元,还用于根据第二端口信息和第二业务标识生成一个或多个转发路径,该一个或多个转发路径包括第一转发路径。
另一种可能的实现方式中,第一网络包括一个或多个虚拟节点,该虚拟节点包括入口子节点和出口子节点,该第二端口信息包括一个或多个虚拟节点的外部端口的端口信息,该外部端口为入口子节点的入口端口和出口子节点的出口端口。
另一种可能的实现方式中,该第一端口信息包括一个或多个端口分量,该端口分量与第一转发路径上的节点中用于输出的端口对应;该生成单元具体用于:
按照预设的密钥分别对该一个或多个端口分量加密,并生成第一路径矢量。
另一种可能的实现方式中,对一个或多个端口分量加密的密钥不相同。
另一种可能的实现方式中,该生成单元具体用于:
根据加密后的第一端口信息生成第一路径矢量。
另一种可能的实现方式中,该第一路径矢量包括至少一个节点的端口分量;该发送单元具体用于:
根据第一路径矢量的第一个端口分量确定报文处理装置的第一端口;
删除第一路径矢量的第一个端口分量,得到第二路径矢量;
通过第一业务节的第一端口发送包含第二路径矢量的第一报文。
另一种可能的实现方式中,该发送单元具体用于:
确定报文处理装置包含的端口数量;然后,报文处理装置根据该端口数量确定第一位宽X,该第一位宽X为用于表示报文处理装置的第一端口的端口信息的二进制数形式的位宽,其中,X为大于或等于1的整数;
将第一路径矢量的前X位二进制数作为第一端口的端口信息。
另一种可能的实现方式中,该发送单元具体用于:
判断第一份二进制数中的首位二进制数的数值是否为第一数值,该第一份二进制数为该第一路径矢量的前Y位二进制数,Y为预设的用于表示报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;
若该首位二进制数的数值为所述第一数值,则判断第二份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的该第一份二进制数放置到去除首位二进制数的第二份二进制数之后,获取Y-2位二进制数序列,将该Y-2位二进制数序列作为该第一端口的端口信息,该第二份二进制数为该第一路径矢量的第Y+1位二进制数至该第一路径矢量的第2Y位二进制数;
若该首位二进制数的数值不为该第一数值,则将去除首位二进制数的该第一份二进制数作为该第一端口的端口信息。
另一种可能的实现方式中,第一报文还携带报文处理装置的第一信源信息,该第一信源信息包括以下任一种信息:IP地址、MAC地址、名称、或者、ID。
另一种可能的实现方式中,该获取单元还用于:
根据第一业务信息确定多个路径矢量,该多个路径矢量与多个转发路径一一对应;该报文处理装置获取多份业务数据,该多份业务数据与该多个路径矢量一一对应,该多份业务数据分别携带该第一业务信息;
该报文处理装置还包括映射单元;
该映射单元,用于分别将该多份业务数据映射至该多个路径矢量中对应的路径矢量,该映射用于该多个转发路径的负载均衡。
另一种可能的实现方式中,该确定单元具体用于:
判断是否存在第一业务信息对应的第一路径矢量;若是,则确定该第一业务信息对应的第一路径矢量;若否,则确定第一默认路径矢量为所述第一路径矢量,该第一默认路径 矢量所指向的目的节点为代理节点;其中,该代理节点为代理该报文处理装置与第三业务节点进行通信的网关设备,且该代理节点用于向该第三业务节点发送该第一报文,以使得该第三业务节点为该报文处理装置提供该第一业务数据所对应的业务服务。
另一种可能的实现方式中,该报文处理装置和第三业务节点归属同一网络或归属不同的网络。
另一种可能的实现方式中,第一网络为局域网,该第二网络为城域网;或者,该第一网络为城域网,该第二网络为广域网。
本申请实施例第六方面提供一种报文处理装置,该报文处理装置包括:
接收单元,用于接收包含第三路径矢量的第一报文,该第三路径矢量包括一个或多个节点的端口的端口信息;
发送单元,用于根据该第三路径矢量发送该第一报文。
一种可能的实现方式中,该端口信息包括一个或多个端口分量;该发送单元具体用于:
根据该第三路径矢量的第一个端口分量确定该报文处理装置的第二端口;
删除该第三路径矢量的第一个端口分量,得到第四路径矢量;
通过该第二端口发送包含该第四路径矢量的第一报文。
另一种可能的实现方式中,该发送单元具体用于:
按照预设的密钥对该第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量;
通过该解密后的第一个端口分量确定该报文处理装置的第二端口的端口信息。
另一种可能的实现方式中,该发送单元具体用于:
确定该报文处理装置包含的端口数量;该报文处理装置根据该端口数量确定第二位宽Z,该第二位宽Z为用于表示该报文处理装置的第二端口的端口信息的二进制数形式的位宽,其中,Z为大于或等于1的整数;
将该第三路径矢量的前Z位二进制数作为该第二端口的端口信息。
另一种可能的实现方式中,该发送单元具体用于:
判断第三份二进制数中的首位二进制数的数值是否为第一数值,该第三份二进制数为该第三路径矢量的前Y位二进制数,Y为预设的用于表示该报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若该首位二进制数的数值为第一数值,则判断第四份二进制数中的首位二进制数的数值是否为第一数值,若否,则将去除首位二进制数的该第三份二进制数放置到去除首位二进制数的该第四份二进制数之后,获取Y-2位二进制数的序列,将该Y-2位二进制数序列作为该第二端口的端口信息,该第四份二进制数为该第四路径矢量的第Y+1位二进制数至该第四路径矢量的第2Y位二进制数;
若该首位二进制数的数值不为该第一数值,则将去除首位二进制数的该第三份二进制数作为该第二端口的端口信息。
另一种可能的实现方式中,该端口信息包括一个或多个端口分量,该报文处理装置为第一虚拟节点的第一入口子节点,该第一虚拟节点包括该第一入口子节点和第一出口子节 点;该发送单元具体用于:
确定该第三路径矢量的第一个端口分量对应该第一出口子节点的第三端口;
确定第一子路径矢量,该第一子路径矢量所指向的目的节点为该第一出口子节点;该报文处理装置根据该第一子路径矢量和该第三路径矢量发送该第一报文。
另一种可能的实现方式中,该发送单元具体用于:
根据该第一子路径矢量的第一个端口分量确定该报文处理装置的第二端口;
删除该第一子路径矢量的第一个端口分量,得第二子路径矢量;
通过该报文处理装置的第二端口发送包含该第二子路径矢量和该第三路径矢量的第一报文。
另一种可能的实现方式中,该发送单元具体用于:
根据子路径矢量映射关系确定该第三端口所对应的第一子路径矢量,该子路径矢量映射关系用于指示该第三端口与该第一子路径矢量之间的映射关系。
另一种可能的实现方式中,该第三端口与该第一子路径矢量之间的映射关系,包括:该报文处理装置根据该第三端口确定第二转发路径,该第二转发路径的起始子节点为该第一入口子节点,该第二转发路径的目的子节点为该第一出口子节点;该报文处理装置根据第三端口信息生成该第一子路径矢量,该第三端口信息为该第二转发路径上的子节点用于输出的端口的端口信息。
另一种可能的实现方式中,该报文处理装置还包括获取单元和生成单元;
该获取单元,用于获取第四端口信息,该第四端口信息包括该第一虚拟节点包括的子节点的端口的端口信息;
生成单元,用于根据该第四端口信息生成一个或多个转发路径,该一个或多个转发路径包括该第二转发路径。
本申请实施例第七方面提供一种报文处理装置,该报文处理装置包括:
接收单元,用于接收第四业务节点的第二报文,该第二报文携带第二业务信息;然后,
确定单元,用于根据第二业务信息确定第五路径矢量,该第五路径矢量包括至少一个或多个节点的端口的端口信息;
生成单元,用于生成包含第五路径矢量的第二报文,该第五路径矢量用于该报文处理装置向第五业务节点发送第二报文,以使得该第五业务节点为该第四业务节点提供第一业务信息所对应的业务服务。
一种可能的实现方式中,该第四业务节点和该第五业务节点归属同一网络;或者,该第四业务节点和该第五业务节点归属不同的网络。
另一种可能的实现方式中,该确定单元具体用于:
根据第二路径矢量映射关系确定该第二业务信息对应的该第五路径矢量,该第二路径矢量映射关系用于指示该第二业务信息与该第五路径矢量之间的映射关系。
另一种可能的实现方式中,该第二业务信息与该第五路径矢量之间的映射关系,包括:该第二业务信息包括第三业务标识;该报文处理装置根据该第三业务标识确定第三转发路径,该第三转发路径的起始节点为该报文处理装置,该第三转发路径的目的节点为该第五 业务节点;该报文处理装置根据第五端口信息生成该第五路径矢量,该第五端口信息为该第三转发路径上的节点中用于输出的端口的端口信息。
另一种可能的实现方式中,该报文处理装置为连接第一网络和第二网络的网关设备;该报文处理装置还包括获取单元;
该获取单元,用于获取该第六端口信息和该第四业务标识,该第六端口信息包括该第一网络包括的节点的端口的端口信息和该第二网络包括的节点的端口的端口信息,该第四业务标识包括该第一网络包括的业务节点所支持的业务的业务标识和该第二网络包括的业务节点所支持的业务的业务标识;
该生成单元,用于根据该第六端口信息和该第四业务标识生成一个或多个转发路径,该一个或多个转发路径包括该第三转发路径。
另一种可能的实现方式中,接收单元还用于:
接收该第一业务节点的第一报文,该第一报文携带该第一业务信息,该第一业务节点归属所述第一网络;
该确定单元还用于:
根据该第一业务信息确定第六路径矢量,该第六路径矢量包括至少一个或多个节点的端口的端口信息;
该生成单元还用于:
生成包含该第六路径矢量的第一报文,该第六路径矢量用于该报文处理装置向第三业务节点发送所述第一报文,以使得该第三业务节点为该第一业务节点提供该第一业务信息所对应的业务服务,该第三业务节点归属该第二网络。
本申请实施例第八方面提供一种报文处理装置,该报文处理装置包括:
接收单元,用于接收第一业务节点的第一报文,该第一报文携带第一业务信息和该第一业务节点的第一信源信息;
获取单元,用于根据该第一报文获取第二业务数据;
确定单元,用于根据该第一信源信息确定第七路径矢量,该第七路径矢量包括一个或多个节点的端口的端口信息;
生成单元,用于生成包含该第七路径矢量的第四报文,该第七路径矢量用于该报文处理装置向所述第一业务节点发送所述第四报文。
一种可能的实现方式中,该报文处理装置还包括发送单元;
该发送单元,用于若该第七路径矢量包括该报文处理装置的端口信息,则发送包含第八路径矢量的第四报文,该第八路径矢量为删除该第七路径矢量中的报文处理装置的端口信息后的路径矢量;若该第七路径矢量不包含该报文处理装置的端口信息,则发送包含该第七路径矢量的第四报文。
另一种可能的实现方式中,该确定单元具体用于:
根据第四路径矢量映射关系确定该第一信源信息对应的第七路径矢量,该第四路径矢量映射关系用于指示该第一信源信息与该第七路径矢量之间的映射关系。
本申请实施例第九方面提供一种报文处理装置,该报文处理装置包括:处理器、存储 器和收发器;该处理器用于该收发器收发信号;该存储器中存储有计算机程序;该处理器还用于调用并运行该存储器中存储的计算机程序,使得处理器实现如第一方面任意一种实现方式。
本申请实施例第十方面提供一种报文处理装置,该报文处理装置包括:处理器、存储器和收发器;该处理器用于该收发器收发信号;该存储器中存储有计算机程序;该处理器还用于调用并运行该存储器中存储的计算机程序,使得处理器实现如第二方面中的任意一种实现方式。
本申请实施例第十一方面提供一种报文处理装置,该报文处理装置包括:处理器、存储器和收发器;该处理器用于该收发器收发信号;该存储器中存储有计算机程序;该处理器还用于调用并运行该存储器中存储的计算机程序,使得处理器实现如第三方面任意一种实现方式。
本申请实施例第十二方面提供一种报文处理装置,该报文处理装置包括:处理器、存储器和收发器;该处理器用于该收发器收发信号;该存储器中存储有计算机程序;该处理器还用于调用并运行该存储器中存储的计算机程序,使得处理器实现如第四方面任意一种实现方式。
本申请实施例第十三方面提供一种包括指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得该计算机执行如第一方面、第二方面、第三方面和第四方面中任一种的实现方式。
本申请实施例第十四方面提供一种计算机可读存储介质,包括计算机指令,当该指令在计算机上运行时,使得计算机执行如第一方面、第二方面、第三方面和第四方面中的任一方面中的任一种实现方式。
本申请实施例第十五方面提供一种芯片装置,包括处理器,用于与存储器相连,调用该存储器中存储的程序,以使得该处理器执行上述第一方面、第二方面、第三方面和第四方面中的任一方面中的任一种实现方式。
本申请实施例第十六方面提供一种网络系统,该网络系统包括如第五方面的第一业务节点和如第六方面的报文处理装置。
可选的,该网络系统还包括如第七方面的报文处理装置。
从以上技术方案可以看出,本申请实施例具有以下优点:
经由上述技术方案可知,第一业务节点获取第一业务数据,该第一业务数据携带第一业务信息,该第一业务信息用于指示第一业务数据所对应的业务;然后,第一业务节点根据该第一业务信息确定第一路径矢量,该第一路径矢量包括一个或多个节点的端口的端口信息;第一业务节点生成包含第一路径矢量的第一报文,该第一路径矢量用于第一业务节点发送该第一报文。由此可知,本申请实施例的技术方案中,第一业务节点根据第一业务信息确定第一路径矢量,并生成包含第一路径矢量的第一报文,以通过该第一路径矢量发送该第一报文,且该第一路径矢量包括一个或多个节点的端口的端口信息,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
图1A为本申请实施例网络系统的一个架构示意图;
图1B为本申请实施例网络系统的另一个架构示意图;
图1C为本申请实施例业务节点的一个结构示意图;
图1D为本申请实施例网络节点的一个结构示意图;
图2A为本申请实施例报文处理方法的一个实施例示意图;
图2B为本申请实施例报文处理方法的一个场景示意图;
图2C为本申请实施例报文处理方法的另一个场景示意图;
图2D为本申请实施例报文处理方法的另一个场景示意图;
图2E为本申请实施例报文处理方法的另一个场景示意图;
图2F为本申请实施例报文处理方法的另一个场景示意图;
图3A为本申请实施例报文处理方法的另一个实施例示意图;
图3B为本申请实施例报文处理方法的另一个场景示意图;
图3C为本申请实施例报文处理方法的另一个场景示意图;
图3D为本申请实施例报文处理方法的另一个场景示意图;
图4A为本申请实施例报文处理方法的另一个场景示意图;
图4B为本申请实施例报文处理方法的另一个场景示意图;
图4C为本申请实施例报文处理方法的另一个实施例示意图;
图5A为本申请实施例报文处理方法的另一个实施例示意图;
图5B为本申请实施例报文处理方法的另一个场景示意图;
图6A为本申请实施例报文处理方法的另一个实施例示意图;
图6B为本申请实施例报文处理方法的另一个场景示意图;
图7为本申请实施例报文处理方法的另一个实施例示意图;
图8为本申请实施例报文处理装置的一个结构示意图;
图9为本申请实施例报文处理装置的另一个结构示意图;
图10为本申请实施例报文处理装置的另一个结构示意图;
图11为本申请实施例报文处理装置的另一个结构示意图;
图12为本申请实施例报文处理装置的另一个结构示意图;
图13为本申请实施例报文处理装置的另一个结构示意图;
图14为本申请实施例报文处理装置的另一个结构示意图;
图15为本申请实施例报文处理装置的另一个结构示意图;
图16为本申请实施例网络系统的一个示意图。
本申请实施例提供了一种报文处理方法及其设备,用于实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
下面对本申请所涉及的一些术语进行介绍。
业务节点:指充当业务提供者或业务消费者的节点设备。例如,终端设备、服务器、虚拟机(virtual machine,VM)或容器等。
网络节点:用于连接业务节点的节点设备。例如,路由器、交换机等。
路径矢量:包括转发路径上的一个或多个节点的端口的端口信息,用于该转发路径上的节点沿着该转发路径的转发方向向该转发路径的目的节点发送报文。例如,如图1A所示,虚线部分所示的转发路径为A→a→b→e→f→C,该转发路径的转发方向为:业务节点A指向网络节点a,网络节点a指向网络节点b,网络节点b指向网络节点f,网络节点f指向业务节点C。该转发路径的目的节点为业务节点C。路径矢量包括业务节点A的端口信息、网络节点a端口的端口信息、网络节点b的端口的端口信息、网络节点e的端口的端口信息和网络节点f的端口的端口信息,该转发路径的的节点根据路径矢量向业务节点C转发报文。
端口信息:包括有线网络中节点的物理端口号,或者,无线网络中的无线信道号(例如,频段信息、时间片信息、或码信息)。可选的,端口信息包括端口分量,端口分量用于表示节点的物理端口号或无线信道号。
虚拟节点:由网络中的至少两个子节点组成。虚拟节点可以按照公司部门网络划分,或者,按照地域网络划分,或者按照管理方便划分等,具体本申请不做限定。例如,如图1B所示,虚拟节点1包括多个网络节点,该多个网络节点称为该虚拟节点包括的子节点,虚拟节点1包括子节点h、子节点i、子节点j、子节点k和子节点l。虚拟节点1和虚拟节点2分别为某公司两个不同部门网络包括的节点组成的虚拟节点。虚拟节点内部可以是一个支持路径矢量的网络或者是一个兼容现有技术的网络(例如IP网络或以太网络)。
虚拟节点的入口子节点和出口子节点:相对于某个报文的流向来说,虚拟节点包括入口子节点和出口子节点。对于该报文的流向来说,入口子节点用于从除该虚拟节点包括的子节点之外的其他节点接收该报文,出口子节点用于向除该虚拟节点包括的子节点之外的其他节点发送该报文。例如,如图1B所示,报文1从业务节点A向业务节点C传输。那么相对于报文1的流向来说,虚拟节点1的入口子节点为子节点h,即通过子节点h从业务节点A接收该报文1。出口子节点为子节点l,即通过子节点l向虚拟节点4的子节点m发送该报文1。
入口子节点的入口端口:指相对于某个报文的流向来说,入口子节点用于接收该报文的端口。例如,如图1B所示,业务节点A通过业务节点A的端口1向虚拟节点1的子节点h发送报文1,子节点h通过子节点h的端口3接收该报文1。可以理解的是,子节点h的端口3为子节点h的入口端口。
出口子节点的出口端口:指相对于某个报文的流向来说,出口子节点用于发送该报文的端口。例如,如图1B所示,业务节点A向业务节点C发送报文1。虚拟节点1的子节点l接收该报文1,并通过虚拟节点1的子节点l的端口2向虚拟节点4的子节点m发送该报文1。可以理解的是,虚拟节点1的子节点l的端口2为子节点l的出口端口。
虚拟节点的外部端口:指虚拟节点对其他节点开放的端口。例如,如图1B所示,虚拟 节点1的外部端口包括子节点h的端口3、子节点l的端口2和子节点j的端口1。
转发路径上的节点用于输出的端口:指相对于转发路径的转发方向来说,转发路径上的一个节点向在该转发路径上的下一个节点发送报文的端口。例如,如图1A所示,虚线箭头部分的转发路径为A→a→b→e→f→C,虚线箭头用于表示该转发路径的转发方向,则可知业务节点上用于输出的端口为端口1,网络节点a上用于输出的端口为端口2。其他节点类似,不再一一说明。
需要说明的是,为了便于描述和查看,在后文中,路径矢量包括一个或多个端口分量,每个端口分量之间通过逗号分隔。而实际应用中,路径矢量不包含逗号。例如,路径矢量[1,010,11,10,100],实际应用中,应当表示为[10101110100]。
需要说明的是,为了便于描述,在后文中,转发路径通过按照转发路径的转发方向依次示出该转发路径上的节点。例如,转发路径A→a→b→e→f→C,该转发路径的转发方向为:业务节点A指向网络节点a,网络节点a指向网络节点b,网络节点b指向网络节点f,网络节点f指向业务节点C。
本申请实施例中,节点设备在一些场景下充当业务节点;而在另外一些场景下,该节点充当网络节点。即一个节点设备可以为业务节点,也可以为网络节点,具体视实际应用场景而定。在后文中以场景的方式展开,如果在对应的场景中该节点设备充当业务节点,即标为业务节点;如果该节点设备充当网络节点,即标为网络节点。并不属于对节点设备的功能作限定。
请参阅图1A,图1A为本申请实施例网络系统的一个架构示意图。在图1A中,该网络系统包括业务节点A、B、C、D。该网络系统包括网络节点a、b、c、d、e、f。其中,网络节点用于连接业务节点,以实现业务节点之间的通信。
可选的,图1A所示的网络系统为接入网、城域网、数据中心网络、或广域网等,具体本申请不做限定。
需要说明的是,图1A仅仅是为了说明本申请实施例所适用的网络系统的一种示例。在实际应用中,该网络系统包括一个或多个业务节点和一个或多个网络节点。
下面结合图1C和图1D分别介绍业务节点和网络节点。
请参阅图1C,图1C为本申请实施例业务节点的一个结构示意图。在图1C中,该业务节点包括路由协议模块101、矢量路由计算102、业务映射模块103和矢量转发模块104。
其中,路由协议模块101和矢量路由计算102为业务节点的控制面单元。业务映射模块103和矢量转发模块104为业务节点的数据面单元。
路由协议模块101用于通过路由协议或相应的协议获取图1A所示的网络系统包括的业务节点所支持的业务的业务信息和该网络系统包括的节点的端口的端口信息。其次,该路由协议模块101还用于将该业务节点所支持的业务的业务信息(可选的,该业务信息包含该业务节点的端口的端口信息)扩散至该网络系统中的各个节点。该路由协议为内部网关协议(interior gateway protocol,IGP)或边界网关协议(border gateway protocol,BGP)。
矢量路由计算模块102用于根据该图1A所示的网络系统包括的业务节点所支持的业务 的业务信息和该网络系统包括的节点的端口的端口信息生成一个或多个转发路径,例如,根据该图1A所示的网络系统包括的业务节点所支持的业务的业务信息和该网络系统包括的节点的端口的端口信息生成一棵以本业务节点为根、到其它各个业务节点的最短路径“树”;然后,矢量路由计算模块102根据该网络系统包括的业务节点所支持的业务的业务信息和该一个或多个转发路径(例如,所述最短路径“树”)生成一个或多个路径矢量;再建立该业务信息与该一个或多个路径矢量之间的映射关系。
业务映射模块103用于获取业务数据,该业务数据携带业务信息。然后,业务映射模块103根据路径矢量映射关系确定该业务信息对应的路径矢量,即将该业务数据映射至该路径矢量。其中,该业务数据为应用层请求或应用层任务。
矢量转发模块104用于发送包含路径矢量的报文。具体的,该矢量转发模块将该路径矢量放入该报文的报文头,将业务数据作为报文的有效载荷。然后,矢量转发模块104根据该路径矢量发送该报文。
请参阅图1D,图1D为本申请实施例网络节点的一个结构示意图。在图1D中,该网络节点包括路由协议模块105和矢量转发模块106。
路由协议模块105用于将该网络节点的端口的端口信息扩散至该网络系统中的各个节点。
矢量转发模块106用于根据报文携带的路径矢量发送该报文。
请参阅图2A,图2A为本申请实施例报文处理方法的一个实施例示意图。在图2A中,该报文处理方法包括:
201、第一业务节点获取第一业务数据。
其中,该第一业务数据携带第一业务信息,该第一业务信息用于指示第一业务数据所对应的业务。
可选的,该第一业务信息为第一业务标识。而该第一业务标识为服务标识(service identity,Service ID)、或者、功能ID、对象标识(object ID)。该第一业务数据为应用层请求或应用层任务。该第一业务节点为业务消费者。
例如,该第一业务节点为终端设备,第一业务标识为“王者荣耀”游戏的业务标识,该终端设备通过“王者荣耀”应用程序(application,app)发送游戏服务请求。
202、第一业务节点根据第一业务信息确定第一路径矢量。
其中,第一路径矢量包括一个或多个节点的端口的端口信息。
可选的,第一路径矢量包括第一转发路径上的节点用于输出的端口的第一端口信息。
该第一转发路径的起始节点为该第一业务节点,该第一转发路径的目的节点为第二业务节点,该第二业务节点用于为该第一业务节点提供该第一业务数据所对应的业务服务。
例如,如图1A所示,第一转发路径为A→a→b→e→f→C。业务节点C用于为业务节点A提供“王者荣耀”游戏的业务服务。即第一转发路径上的节点包括业务节点A,网络节点a、网络节点b、网络节点e、网络节点f和业务节点C。业务节点A为第一转发路径的起始节点,业务节点C为第一转发路径的目的节点。在第一转发路径上,业务节点A上用于输出的端口为业务节点A的端口1,网络节点a上用于输出的端口为网络节点a的端口2,网络 节点b上用于输出的端口为网络节点b的端口3,网络节点e上用于输出的端口为网络节点e的端口2,网络节点f上用于输出的端口为网络节点f的端口4。
因此,第一路径矢量包括:业务节点A的端口1的端口信息、网络节点a的端口2的端口信息、网络节点b的端口3的端口信息、网络节点e的端口2的端口信息和网络节点f的端口4的端口信息。可选的,由于业务节点A只包括一个端口,所以第一路径矢量不携带该业务节点A的端口1的端口信息。
可选的,该第一端口信息包括一个或多个端口分量,且端口分量与第一转发路径上的节点中用于输出的端口对应。
一种可能的实现方式中,端口分量用于表示该用于输出的端口的端口号。而端口分量的表示形式有多种,例如,端口分量为二进制数形式的端口分量,或者,为十六进制数形式的端口分量,或者,为十进制数形式的端口分量,具体本申请不做限定。下面通过二进制数形式的端口分量介绍第一路径矢量。
二进制数形式的端口分量的表示方式有多种,下面结合具体示例介绍两种可能的实现方式。
实现方式一:请参阅表1,表1示出了第一端口信息包括的一个或多个端口分量的二进制数形式的一种表示方式。
表1
如表1所示,业务节点A包括的端口数量为1,则通过一位二进制数即可表示该业务节点A的端口的端口分量,所以用于表示业务节点A的端口的端口号的二进制数形式的位宽为1。第一转发路径上的业务节点A用于输出的端口为端口1,端口1对应的端口分量为1。
网络节点a包括的端口数量为8,即通过三位二进制数即可表示该网络节点a的端口的端口分量,所以用于表示网络节点a的端口的端口号的二进制数形式的位宽为3。第一转发路径上网络节点a用于输出的端口为端口2,端口2对应的端口分量为010。第一转发路径上的其他节点用于输出的端口的端口分量类似,这里不再一一说明。
由此可知,第一路径矢量为[1,010,11,10,100],端口分量与用于输出的节点的端口一一对应。如表1可知,节点A的端口1对应端口分量1,节点a的端口2对应端口分量010,以此类推。可选的,由于节点A只包括端口1,所以第一路径矢量可以不包括节点A的端口1的端口分量,则第一路径矢量为[010,11,10,100]。
实现方式二:请参阅表2,表2示出了第一端口信息包括的一个或多个端口分量的二进制数形式的另一种表示方式。
表2
如表2所示,单位位宽指预设的用于表示用于输出的端口的端口分量的二进制数形式的单位位宽。如表2所示,该单位位宽为4,即单位位宽对应四位二进制数。而单位位宽对应的四位二进制数中的首位二进制数为连续标识位,后三位二进制数用于表示端口的端口分量。同理,单位位宽也可以为8,即单位位宽对应8位二进制数,而单位位宽对应的8位二进制数中的首位二进制数为连续标识位,后7位二进制数用于表示端口的端口分量,等等。
下面通过举例介绍连续标识位的作用。
如表2所示,网络节点a包括的端口数量为8,如果要表示该网络节点a的所有端口的端口分量,那么至少需要四位二进制数表示。这里以网络节点a的端口8为例作介绍,端口8的端口分量应当表示为10000001。“10000001”的前四位二进制数中的首位二进制数为“1”,代表10000001”中的后四位二进制数“0001”也属于该端口8的端口分量的一部分。而“10000001”中的后四位二进制数中的首位二进制数为“0”,则代表“10000001”即为该端口8的端口分量,无需再继续读取路径矢量中的第八位二进制数之后的二进制数。然后,网络节点a去除前四位二进制“1000”中的首位二进制数,得到“000”。网络节点a去除后四位二进制“0001”中的首位二进制数,得到“001”。再将“001”放在“000”之前,即得到“001000”,即为“1000”为该端口8的端口分量。
如表2所示,业务节点A用于输出的端口为端口1,端口1对应的端口分量为001。网络节点a用于输出的端口为端口2,端口2对应的端口分量为010。第一转发路径上的其他节点用于输出的端口的端口分量类似,这里不再赘述。
由此可知,第一路径矢量为[0001,0010,0011,0010,0100],端口分量与用于输出的节点的端口一一对应。结合表2所示,业务节点A对应端口分量0001,网络节点a对应端口分量0010,以此类推。可选的,由于业务节点A只包括端口1,所以第一路径矢量可以不包括业务节点A的端口1的端口分量,则第一路径矢量为[0010,0011,0010,0100]。
可选的,该一个或多个端口分量还可以有其他表示方式。例如,确定该网络系统的节点中,包括端口数量最多的节点,然后,根据该端口数量确定用于表示该节点的端口的端口分量的位宽。再通过该位宽所对应的多位二进制数分别表示该第一转发路径上的节点的 端口分量。如图1A所示,假设网络节点f包括的端口数量最多,为8个端口,则可知用于表示该网络系统的节点的位宽为4,即通过四位二进制数表示该网络系统中的端口的端口分量。
一种可能的实现方式中,步骤202具体包括步骤202a。
步骤202a:第一业务节点根据第一路径矢量映射关系确定第一业务信息对应的第一路径矢量。
其中,该第一路径矢量映射关系用于指示第一业务信息与第一路径矢量之间的映射关系。下面以第一业务标识为Service ID为例并通过表3介绍该第一路径矢量映射关系。需要说明的是,第一路径映射关系可以通过表格形式表示,也可以通过其他形式表示,具体本申请不做限定。关于第一路径矢量映射关系的相关说明请参阅后文图3A所示的实施例,这里不再赘述。
表3
Service ID | 路径矢量 |
Service ID1 | 路径矢量1 |
Service ID2 | 路径矢量2 |
Service ID3 | 路径矢量3 |
Service ID4 | 路径矢量4 |
若第一业务信息为Service ID1,那么由表3可知,Service ID1对应路径矢量1。
203、第一业务节点生成包含第一路径矢量的第一报文。
可选的,该第一报文还携带该第一业务节点的第一信源信息。该第一信源信息包括以下任一种信息:IP地址、MAC地址、名称、或者、ID。
具体的,第一业务节点生成第一报文,并在第一报文的报文头中放入该第一路径矢量。
可选的,第一报文为IP报文或者以太网报文。其中,以太网报文也称为以太网帧。
为了第一业务节点兼容IP报文的封装格式,第一业务节点将第一路径矢量放在IP报文的目标地址(destination address)域,将第一业务节点的第一信源信息放在该IP报文的源地址(source address)域。或者是,第一业务节点在该IP报文中增加一个IP子报文头,并在该IP子报文头放入该第一路径矢量。
为了第一业务节点兼容以太网报文的封装格式,第一业务节点将第一路径矢量放在以太网报文的目标地址(destination address)域,将第一业务节点的第一信源信息放在该以太网报文的源地址(source address)域。
需要说明的是,不考虑现有IP报文的封装格式和以太网报文的封装格式的情况下,第一业务节点可以重新定义一个新的报文头,该报文头包含该第一路径矢量和第一信源信息。
由步骤203可知,第一路径矢量包括一个或多个节点的端口的端口信息,且而端口信息可以为端口分量。而端口分量仅有本地意义,也就是说第一转发路径上的节点对第一路径矢量的其他端口分量并不可知是对应哪个节点的端口分量,这样数据传输过程中,第一转发路径上的节点无法获知该第一报文的目的节点和源节点,也就是就是无法获知是哪两个业务节点之间的通信,从而提高数据传输的安全性和可靠性。
204、若第一路径矢量包含第一业务节点的端口信息,则第一业务节点发送包含第二路径矢量的第一报文。
其中,该第二路径矢量为删除该第一路径矢量中的第一业务节点的端口信息后的路径矢量。
下面通过步骤204a至步骤204c介绍步骤204。
步骤204a:第一业务节点根据第一路径矢量的第一个端口分量确定第一业务节点的第一端口。
其中,第一业务节点确定第一端口的方式有多种,具体方式应当由步骤202中第一业务节点生成第一路径矢量的方式决定。下面分别基于步骤202中的实现方式一和实现方式二分别介绍步骤204a。
一、基于步骤202的实现方式一,步骤204a具体包括步骤1至步骤3。
步骤1:第一业务节点确定第一业务节点包含的端口数量。
例如,如图1A所示,第一业务节点为业务节点A,业务节点A确定业务节点A只包括一个端口,即业务节点A包含的端口数量为1。
步骤2:第一业务节点根据该端口数量确定第一位宽X。
其中,第一位宽X为用于表示第一业务节点的第一端口的端口信息的二进制数形式的位宽,X为大于或等于1的整数。
例如,结合上述表1,业务节点A包含的端口数量为1,那么用于表示业务节点A的第一端口的端口号的二进制数形式的位宽为1,即通过一位二进制数就可以表示该第一端口的端口号。
步骤3:第一业务节点将第一路径矢量的前X位二进制数作为第一端口的端口信息。
例如,第一路径矢量为[1,010,11,10,100],第一路径矢量中的前1位二进制数为1,即将“1”作为第一端口的端口号的端口分量,第一端口为第一业务节点的端口1。可以理解的是,该第一路径矢量的前1位二进制数为该第一路径矢量的第一个端口分量。
二、基于步骤202的实现方式二,步骤204a具体包括步骤4至步骤6。
步骤4:第一业务节点判断第一份二进制数中的首位二进制数的数值是否为第一数值;若是,则执行步骤5;若否,则执行步骤6。
其中,第一份二进制数为第一路径矢量的前Y位二进制数,Y为预设的用于表示第一业务节点的端口的端口信息的二进制数形式的单位位宽,Y为大于或等于1的整数。
例如,第一数值为1。如表2所示,Y为4,第一路径矢量为[0001,0010,0011,0010,0100],第一份二进制数为“0001”。由于“0001”中的首位二进制数为0,所以第一业务节点执行步骤6。
步骤5:第一业务节点判断第二份二进制数中的首位二进制数的数值是否为第一数值,若否,则将去除首位二进制数的该第一份二进制数放置到去除首位二进制数的第二份二进制数之后,获取Y-2位进制数序列,将该Y-2位二进制数序列作为第一端口的端口信息;
其中,第二份二进制数为第一路径矢量的第Y+1位二进制数至第一路径矢量的第2Y位二进制数。
例如,第一数值为1,单位位宽为4,第一路径矢量为[10000001,0011,0010,0100],第一路径矢量的前4位二进制数为“1000”,则第一业务节点确定第一路径矢量的第5位二进制数至第八位二进制数(即“0010”)属于该第一个端口分量的一部分。第一业务节点通过“0010”中的首位二进制数确定无需再读取该第一路径矢量中的第八位二进制数之和的二进制数。然后,第一业务节点将“1000”中的首位二进制数去掉,得到“000”;将“0001”中的首位二进制数去掉,得到“001”。第一业务节点再将“001”放在“000”之前,即得到Y-2位二进制数序列“001000”,即为“001000”为该第一业务节点的第一端口的端口分量。
需要说明的是,如果第二份二进制数中的首位二进制数的数值不为第一数值,则第一节点再判断第三份二进制数的首位二进制数的数值是否为第一数值,具体操作与步骤5类似。
步骤6:第一业务节点将去除首位二进制数的第一份二进制数作为第一端口的端口信息。
例如,第一份二进制数为“0001”。第一业务节点将“0001”的首位去除,得到“001”,并将“001”作为第一端口的端口分量。具体的,第一业务节点通过计算二进制数“001”确定该第一端口为该第一业务节点的端口1。在步骤6中,第一路径矢量的第一个端口分量为第一路径矢量的前4位二进制数。
步骤204b:第一业务节点删除第一路径矢量的第一个端口分量,得到第二路径矢量。
例如,第一路径矢量为[1,010,11,10,100],第一路径矢量中的前1位二进制数为第一路径矢量的第一个端口分量。例如,如图2B所示,业务节点A删除第一路径矢量中的第一位二进制数,得到第二路径矢量[010,11,10,100]。
再举例说明,第一路径矢量为[0001,0010,0011,0010,0100],第一路径矢量中的前4位二进制数为第一路径矢量的第一个端口分量。如图2C所示,业务节点A删除第一路径矢量中的前4位二进制数,得到第二路径矢量[0010,0011,0010,0100]。
步骤204c:第一业务节点通过第一业务节点的第一端口发送包含第二路径矢量的第一报文。
例如,结合步骤204a的实现方式一可知,第一业务节点的第一个端口分量对应第一业务节点的端口1,第二路径矢量为[010,11,10,100]。如图2B所示,业务节点A通过业务节点A的端口1发送第一报文,该第一报文携带[010,11,10,100]。
再举例说明,结合步骤204a的实现方式二可知,第一业务节点的第一端口分量对应第一业务节点的端口1,第二路径矢量为[0010,0011,0010,0100]。如图2B所示,业务节点A通过节点A的端口1发送第一报文,该第一报文携带[0010,0011,0010,0100]。
205、若第一路径矢量不包含第一业务节点的端口信息,则第一业务节点发送包含第一路径矢量的第一报文。
例如,如上述表1和图1A所示,业务节点A只包括端口1,第一路径矢量为[010,11,10,100]。即第一路径矢量不包含业务节点A的端口1的端口分量。如图2D所示,业务节点A可以直接发送该包含第一路径矢量的第一报文。
再举例说明,如上述表2和图1A所示,节点A只包括端口1,第一路径矢量为[0010,0011,0010,0100],即第一路径矢量不包含节点A的端口1的端口分量。如图2E所示,业务节点A可以直接发送该包含第一路径矢量的第一报文。
目前,网络设备通过转发表、路由表的方式,由于现有下发转发表和路由表时所占的带宽较大,并且转发表或路由表等表向的下发速率有性能瓶颈,无法适用于大规模网络,制约网络规模的扩大。而由上述方案可知,本申请实施例中,第一业务节点通过第一路径矢量实现对第一报文的转发,实现节点设备无表转发,节点设备转发报文简单高效。解决了IP路由转发带宽的主要瓶颈和网络规模受制约的问题。
另外,本申请实施例中,第一业务节点通过第一路径矢量发送报文,第一路径矢量包括一个或多个节点的端口的端口信息。相比于基于IP地址转发的方案,不存在地址枯竭的问题。并且,第一业务节点根据第一业务信息确定第一路径矢量,无需DNS服务器确定IP地址的过程,这样有利用提供报文传输效率,减小报文传输时延。由于无需DNS服务器确定目的IP地址的过程,可以避免信令交互,减少信令开销。
206、第一网络节点接收包含第三路径矢量的第一报文。
其中,第三路径矢量包括一个或多个节点的端口的端口信息,第一网络节点为第一转发路径上的任意一个网络节点。
例如,如图2B所示,第一转发路径为A→a→b→e→f→C,节点A为第一业务节点,那么第一网络节点为网络节点a、网络节点b、网络节点e和网络节点f中的任意一个网络节点。
下面基于上述步骤204介绍步骤206。对于步骤205的分支方案,步骤206的执行过程与基于步骤204下步骤206的执行过程类似,这里不一一说明。
基于步骤204的分支方案,若第一网络节点与第一业务节点直连,第三路径矢量与第二路径矢量相同;若第一网络节点与第一业务节点不直连,第三路径矢量与第二路径矢量不相同。
例如,如图2B所示,第一转发路径为A→a→b→e→f→C,业务节点A发送第一报文,第一报文携带第一路径矢量。当第一网络节点为网络节点a时,第三路径矢量与第二路径矢量相同,即第三路径矢量为[010,11,10,100]。当第一网络节点为网络节点b、网络节点e或网络节点f时,第三路径矢量与第二路径矢量不相同。例如,当第一网络节点为网络节点b时,第三路径矢量为[11,10,100]。
207、第一网络节点根据第三路径矢量发送第一报文。
下面结合步骤207a至步骤207c介绍步骤207。
步骤207a:第一网络节点根据第三路径矢量的第一个端口分量确定第一网络节点的第二端口。
步骤207a与前述步骤204a类似,具体请参阅步骤204a的相关介绍,这里不再赘述。
步骤207b:第一网络节点删除第三路径矢量的第一个端口分量,得到第四路径矢量。
步骤207b与前述步骤204b类似,具体请参阅步骤204b的相关介绍,这里不再赘述。
例如,如图2B所示,第一网络节点为网络节点a,第三路径矢量为[010,11,10,100], 第一个端口分量为“010”,该第一个端口分量“010”对应网络节点a的端口2。网络节点a将[010,11,10,100]中的第一个端口分量删除,得到第四路径矢量[11,10,100]。
步骤207c:第一网络节点通过第二端口发送包含第四路径矢量的第一报文。
例如,如图2B所示,若第一网络节点为网络节点a,第四路径矢量为[11,10,100]。网络节点a通过网络节点a的端口2向网络节点b发送第一报文,该第一报文携带[11,10,100]。对于第一转发路径上的其他网络节点的转发过程类似,具体可以参阅图2B中的示例作理解。
需要说明的是,第一网络节点为第一转发路径上的最后一个网络节点时,第一报文携带的第四路径矢量不包含端口分量,即第一报文放置第四路径矢量的域是空的。例如,如图2B所示,第一网络节点为网络节点f,第四路径矢量不包含端口分量,则网络节点f通过网络节点f的端口4向业务节点C发送第一报文,该第一报文携带的第四路径矢量的域是空的。
由此可知,第一路径矢量包括一个或多个节点的端口的端口信息,且而端口信息可以为端口分量。而端口分量仅有本地意义,也就是说第一转发路径上的节点对第一路径矢量的其他端口分量并不可知是对应哪个节点的端口分量,这样数据传输过程中,第一转发路径上的节点无法获知该第一报文的目的节点和起始节点,也就是就是无法获知是哪两个业务节点之间的通信,从而提高数据传输的安全性和可靠性。并且,第一转发路径上的节点解读该节点对应的端口分量的解读方式可以不相同,这样可以进一步提高数据传输的安全性,且数据传输的灵活性更高。
208、第二业务节点接收第一报文。
其中,第二业务节点为第一路径矢量所指向的目的节点。第一报文携带第一业务信息、第一业务数据和第一业务节点的第一信源信息。其中,第一业务信息、第一信源信息和第一业务数据的相关说明请参阅前述步骤201中的相关介绍,这里不再赘述。
例如,如图2B所示,若步骤207中的第一网络节点为网络节点f,第二业务节点为业务节点C,网络节点f接收到第一报文,该第一报文携带的路径矢量PV=[100]。那么,网络节点f确定该路径矢量PV=[100]中的“100”为第一个端口分量,且该第一个端口分量对应网络节点f的端口4。网络节点f将该路径矢量PV=[100]中的端口分量“100”删除,并通过网络节点f的端口4发送业务节点C发送第一报文。
一种可能的实现方式中,图2A所示的实施例中还包括步骤209至步骤214。
209、第二业务节点根据第一报文获取第二业务数据。
例如,如图2B所示,业务节点C接收业务节点A通过app请求的“王者荣耀”的游戏服务请求,业务点C根据该游戏服务请求获取“王者荣耀”的游戏数据,即为该第二业务数据。
210、第二业务节点根据第一信源信息确定第七路径矢量。
其中,第七路径矢量包括一个或多个节点的端口的端口信息。
一种可能的实现方式中,第七路径矢量包括第五转发路径上的节点用于输出的端口的端口信息。第五转发路径的起始节点为该第二业务节点,第五转发路径的目的节点为第一 业务节点。
例如,如图2F所示,第一业务节点为业务节点A,第二业务节点为业务节点C。第五转发路径为C→f→e→b→a→A。即第五转发路径上的节点包括业务节点C、网络节点f、网络节点e、网络节点b、网络节点a和业务节点A。在第五转发路径上,业务节点C用于输出的端口为业务节点C的端口1,网络节点f用于输出的端口为网络节点f的端口1,网络节点e用于输出的端口为网络节点e的端口3,网络节点b用于输出的端口为网络节点b的端口1,网络节点a用于输出的端口为网络节点a的端口3。因此,第七路径矢量包括:业务节点C的端口1的端口信息、网络节点f的端口1的端口信息、网络节点e的端口3的端口信息、网络节点b的端口1的端口信息和网络节点a的端口3的端口信息。具体第七路径矢量的表示方式与第一路径矢量的表示方式类似,具体请参阅前述步骤202的第一路径矢量的相关介绍,这里不再赘述。
可选的,第二业务节点根据第四路径矢量映射关系确定第一信源信息对应的第七路径矢量。
该第四路径矢量映射关系用于指示第一信源信息与第七路径矢量之间的映射关系。关于第四路径矢量映射关系的生成过程与后文图6A所示的实施例中步骤615中的第六路径矢量映射关系的生成过程类似,不同的地方仅在于第二业务节点生成的是第二业务节点到达第一网络中的业务节点的路径矢量,并建立第一网络中的业务节点的信源信息与路径矢量之间的映射关系。具体生成过程可以参考后文图6A所示的实施例中步骤615中的第六路径矢量映射关系的生成过程的相关说明。
下面以第一信源信息为该第一业务节点的信源名称为例,并通过表4介绍该第四路径矢量映射关系。需要说明的是,第四路径映射关系可以通过表格形式表示,也可以通过其他形式表示,具体本申请不做限定。
表4
节点的信源名称 | 路径矢量 |
信源名称1 | 路径矢量a |
信源名称2 | 路径矢量b |
信源名称3 | 路径矢量c |
信源名称4 | 路径矢量d |
若第一业务节点的信源名称为信源名称1,由表4可知,信源名称1对应路径矢量a。
211、第二业务节点生成包含第七路径矢量的第四报文。
212、若第七路径矢量包含第二业务节点的端口信息,则第二业务节点发送包含第八路径矢量的第四报文。
213、若第七路径矢量不包含第二业务节点的端口信息,则第二业务节点发送包含第八路径矢量的第四报文。
步骤211至步骤213与前述步骤203至步骤205类似,具体请参阅前述步骤203至步骤205的相关说明,这里不再赘述。
214、第一业务节点接收第四报文。
例如,如图2F所示,业务节点C通过如图2B中的虚线箭头部分的转发路径转发该第四报文,再由该第五转发路径上的最后一个网络节点a向业务节点A发送该第四报文,从而实现业务节点C为业务节点A提供第一业务数据所对应的业务服务。
本申请实施例中,第一业务节点获取第一业务数据,该第一业务数据携带第一业务信息,该第一业务信息用于指示第一业务数据所对应的业务;然后,第一业务节点根据该第一业务信息确定第一路径矢量,该第一路径矢量包括一个或多个节点的端口的端口信息;第一业务节点生成包含第一路径矢量的第一报文,该第一路径矢量用于第一业务节点发送该第一报文。由此可知,本申请实施例的技术方案中,第一业务节点根据第一业务信息确定第一路径矢量,并生成包含第一路径矢量的第一报文,以通过该第一路径矢量发送该第一报文,且该第一路径矢量包括一个或多个节点的端口的端口信息,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
下面结合图3A介绍前述图2A所示的实施例中的步骤202a中的第一路径矢量映射关系的生成过程。请参阅图3A,该方法包括:
301、第一业务节点通过路由协议或相应的协议获取第二端口信息和第二业务标识。
其中,第二端口信息为第一网络包括的节点的端口的端口信息,第二业务标识为第一网络包括的业务节点所支持的业务的业务标识,该第一网络为第一业务节点接入的网络。
例如,如图3B所示的第一网络中,第一业务节点为业务节点A,业务节点A通过路由协议获取第一网络的其他节点的端口的端口信息和第一网络中的业务节点所支持的业务的业务标识。如图3B中,业务节点C为服务器,该业务节点C通过路由协议向第一网络的各个节点扩散该业务节点C的端口的端口信息(包括业务节点C的端口的端口号、业务节点C与邻居节点f之间的关系)以及业务节点C所支持的业务的业务标识。具体的扩散路径请参阅图3B中虚线箭头的路径。第一网络中的其他业务节点的端口信息和所支持的业务标识的扩散过程类似,这里不一一说明。
如图3B所示,网络节点f扩散其四个端口的端口信息(包括网络节点f的四个端口的端口号、网络节点f的四个端口的端口号与业务节点C之间的关系、网络节点f的四个端口的端口号与其他邻居节点之间的关系等)。第一网络中的其他网络节点的端口信息的扩散过程类似,这里不一一说明。
需要说明的是,由于在第一网络中的业务节点需要生成到达该第一网络的其他业务节点的路径矢量,所以各个节点在扩散信息时,可以只扩散至第一网络中的各个业务节点,无需扩散至第一网络中的全部节点。图3B示出了业务节点C的扩散信息扩散至业务节点A、业务节点B和业务节点D的示例。
由于路径矢量包括的端口分量与转发路径上的节点的数量和端口号有关。对于小型网络,转发路径上的节点的数量相对较少,端口分量占用的二进制数的位数较少,即路径矢量包括的一个或多个端口分量的长度较短,数据传输效率较高。并且,由于路径矢量不需要统一分配,不存在IP地址枯竭的问题,能适应各种类型的网络。
对于大型网络,本申请实施例引入虚拟节点,通过虚拟节点聚合一个局部网络中的多个节点。从而减少路径矢量的长度,减少节点设备计算路径矢量的计算量。
基于上述的问题,可选的,第一网络包括一个或多个虚拟节点,该第二端口信息包括一个或多个虚拟节点的外部端口的端口信息。
例如,如图1B所示,第一网络包括虚拟节点1、虚拟节点2、虚拟节点3和虚拟节点4。以虚拟节点4为例,虚拟节点4的外部端口为子节点m的端口1和子节点q的端口2。其他虚拟节点的外部端口请参阅图1B,这里不一一说明。
需要说明的是,图1B所示的第一网络仅仅是为了说明本申请实施例的技术方案中,实际应用中,虚拟节点中也可以包括业务节点,则在该情况下,第一业务节点还需获取该虚拟节点中的业务节点所支持的业务的业务标识。可选的,该第一网络也可以同时存在虚拟节点和独立的网络节点,那么第二端口信息还包括独立的网络节点的端口的端口信息。具体本申请不做限定,这里以图1B为示例作介绍。
302、第一业务节点根据第二端口信息和第二业务标识生成一个或多个转发路径。
其中,该一个或多个转发路径包括第一转发路径。
具体的,第一业务节点根据第二端口信息和第二业务标识生成以第一业务节点为起始节点的一个或多个转发路径。可选的,第一业务节点通过最短路径算法生成该一个或多个转发路径,例如,第一业务节点根据第二端口信息和第二业务标识生成一棵以第一业务节点为根,到其它各个业务节点的最短路径“树”。
例如,如图1A所示,业务节点A确定业务节点C支持的业务的业务标识为Service ID1,业务节点A生成业务节点A至业务节点C的最短转发路径,即如图1A所示的虚线部分的转发路径A→a→b→e→f→C。
针对第一网络包括一个或多个虚拟节点的方案,该第二端口信息包括一个或多个虚拟节点的外部端口的端口信息。例如,如图1B所示,业务节点A确定业务节点C支持的业务的业务标识为Service ID1,业务节点A生成业务节点A至业务节点C的最短转发路径,即如图1B所示的虚线部分的转发路径A→h→l→m→q→c→e→C。
303、第一业务节点根据该一个或多个转发路径和第二业务标识生成一个或多个路径矢量。
其中,第二业务标识包括第一业务标识,一个或多个转发路径包括第一转发路径。例如,第一业务节点根据步骤302中生成的最短路径“树”和第二业务标识生成一个或多个路径矢量。
下面以第一业务节点生成第一路径矢量为例说明步骤303,该第一路径矢量包括第一转发路径上用于输出的端口的端口信息。具体的,步骤303包括步骤303a和步骤303b。
303a、第一业务节点根据第一业务标识确定第一转发路径。
其中,第一转发路径的起始节点为第一业务节点,第一转发路径的目的节点为第二业务节点,第二业务节点用于为第一业务节点提供第一业务标识所对应的业务服务。
例如,如图1A所示,业务节点A为第一业务节点,业务节点A通过业务节点C发送的业务标识确定业务节点C支持第一业务标识所对应的业务,即业务节点C能够为业务节点C提供第一业务标识所对应的业务服务(例如,业务节点C能够为业务节点A提供“王者荣耀”游戏的业务服务)。业务节点A从一个或多个转发路径中查找目的节点为该业务节点 C的第一转发路径,具体第一转发路径为A→a→b→e→f→C。
针对第一网络包括一个或多个虚拟节点的场景作举例说明,如图1B所示,业务节点A确定业务节点C支持第一业务标识所对应的业务。即业务节点C能够为业务节点C提供第一业务标识所对应的业务服务(例如,业务节点C能够为业务节点A提供“王者荣耀”游戏的业务服务)。业务节点A从一个或多个转发路径查找目的节点为该业务节点C的第一转发路径,具体第一转发路径为A→h→l→m→q→c→e→C。
303b、第一业务节点根据第一端口信息生成第一路径矢量。
其中,第一端口信息为第一转发路径上用于输出的端口的端口信息。
具体的,该第一端口信息包括一个或多个端口分量,而端口分量的表示形式可以参阅前述图2A所示的步骤202中的相关介绍,这里不再赘述。
例如,如图1A所示,第一转发路径为A→a→b→e→f→C,结合前述步骤202中的表1可知,第一路径矢量可以表示为[1,010,11,10,100]。由于业务节点A只包括端口1,所以第一路径矢量可以不包括业务节点A的端口1的端口分量,则第一路径矢量为[010,11,10,100]。
再举例说明,如图1A所示,第一转发路径为A→a→b→e→f→C,结合前述步骤202中的表2可知,第一路径矢量可以表示为[0001,0010,0011,0010,0100]。由于业务节点A只包括端口1,所以第一路径矢量可以不包括业务节点A的端口1的端口分量,则第一路径矢量为[,0010,0011,0010,0100]。
针对第一网络包括一个或多个虚拟节点的场景,如图1B所示,第一转发路径A→h→l→m→q→c→e→C。第一端口信息包括一个或多个节点的端口分量,这里以端口分量为十六进制数形式来表示,那么由图1B可知,第一路径矢量为[1,2,2,2]。
为了提高报文传输的安全性,第一端口信息包括的一个或多个端口分量是经过加密的。具体的加密方式有多种,下面示出两种可能的实现方式。
实现方式一:第一业务节点按照预设的密钥分别对该一个或多个端口分量加密,并生成该第一路径矢量。
其中,用于加密端口分量的密钥相同或者不相同。
下面结合图3C介绍用于加密端口分量的密钥不相同的实现方式,对于用于加密端口分量的密钥相同的实现方式类似,这里不一一说明。例如,如图3C所示,第一转发路径上的网络节点a用于输出的端口为端口2,端口2所对应的端口分量为010。第一业务节点采用密钥1加密“010”,得到第一加密分量α
1。第一转发路径上的网络节点b用于输出的端口为端口3,端口3对于的端口分量为11。第一业务节点采用密钥2加密“11”,得到第二加密分量α
2。第三加密分量α
3和第四加密分量α
4的生成方式类似,具体此处不再一一说明。因此,第一路径矢量为[1,α
1,α
2,α
3,α
4]。
实现方式二:第一端口信息包括的每个端口分量分别由第一转发路径上对应的节点经过加密的得到的。第一业务节点根据加密的第一端口信息生成第一路径矢量。
其中,第一转发路径上的节点用于加密端口分量的密钥相同或不相同,具体本申请不做限定。
下面通过示例介绍加密的第一端口信息。例如,如图3B所示的第一网络中,业务节点C为服务器,该业务节点C通过路由协议向第一网络的各个节点扩散该业务节点C的加密的端口信息(包括业务节点C的端口的加密端口号、业务节点C的端口的加密端口号与邻居节点f之间的关系)以及业务节点C所支持的业务的业务标识。具体的扩散路径请参阅图3B中虚线箭头的路径。第一网络中的其他业务节点的端口信息和所支持的业务标识的扩散过程类似,这里不一一说明。
如图3B所示,网络节点f扩散其四个端口的端口信息(包括网络节点f的四个端口的加密端口号、网络节点f的四个端口加密的端口号与业务节点C之间的关系、网络节点f的四个端口的加密端口号与其他邻居节点之间的关系等)。第一网络中的其他网络节点的端口信息的扩散过程类似,这里不一一说明。
304、第一业务节点分别建立该一个或多个路径矢量与该第二业务标识之间的映射关系,得到第一路径矢量映射关系。
其中,第一路径矢量映射关系包括第一业务标识与第一路径矢量之间的映射关系。
下面以第一业务节点建立该第一业务标识与第一路径矢量之间的映射关系为例介绍步骤304。由上述步骤303a至步骤303b可知,第一业务节点通过第一业务标识确定第一转发路径,再由第一转发路径上的节点用于输出的端口的端口信息生成该第一转发路径。由此可知,第一业务标识与第一路径矢量之间具有映射关系,第一业务节点可以建立该第一业务标识与第一路径矢量之间的映射关系。
本申请实施例中,由上述步骤303b可知,为了提高报文传输的安全性,第一端口信息包括的一个或多个端口分量是经过加密得到的。基于该实现方式,上述图2A所示的实施例中的步骤207a具体包括步骤a和步骤b。
步骤a:第一网络节点按照预设的密钥对第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量。
其中,第一转发路径上的节点用于解密端口分量的密钥相同或不相同。具体取决于步骤303b中的第一路径矢量的生成方式。
进一步的,如果基于上述步骤303b中的实现方式一,即第一路径矢量包括的各个端口分量是第一业务节点加密得到的,则第一业务节点应当与该各个端口分量所对应的节点预先约定密钥。如果基于上述步骤303b中的实现方式二,即第一路径矢量包括的各个端口分量是由各个端口分量对应的节点分别加密的,则无需预先约定密钥。对于实现方式二,第一转发路径上的节点无需协商密钥,减少交互流程。
下面示出第一路径矢量包括的各个端口分量是由第一业务节点按照不同的密钥分别加密得到的示例。例如,如图3C所述,第一网络节点为网络节点a,第三路径矢量为[α
1,α
2,α
3,α
4],α
1为第一路径矢量的第一个端口分量,用于加密第一个端口分量的密钥为密钥1。如图3D所示,网络节点a通过密钥1解密α
1,得到“010”。其中,业务节点A与网络节点a预先约定采用密钥1用于对端口分量“010”的加密和解密。对于第一转发路径上的其他节点解密该节点对应的端口分量的过程类似,这里不一一说明。
步骤b:第一网络节点通过解密后的第一个端口分量确定该第一网络节点的第二端口 的端口信息。
例如,解密后的第一端口分量为“010”,那么第一网络节点通过计算确定“010”对应第一网络节点的端口2,即第二端口的端口号为2。
那么在上述图2A所示的步骤207b具体包括:
第一网络节点删除加密的第一个端口分量,得到第四路径矢量。
例如,第三路径矢量为[α
1,α
2,α
3,α
4],网络节点a删除第三路径矢量中的α
1,得到第四路径矢量[α
2,α
3,α
4]。对于第一转发路径上的其他节点删除该节点对应的端口分量的过程类似,这里不再一一说明。
本实施例中,第一网络节点通过第三路径矢量转发第一报文,由于第三路径矢量包括的一个或多个端口分量是经过加密得到的。因此,第一转发路径上的每个节点只确定该第一报文的下一跳节点,并无法获知该第一报文的起始节点和目的节点,从而提高了业务节点之间进行数据通信的安全性和可靠性,增加本方案的实用性。并且,第一转发路径上的每个节点解密该节点对应的端口分量时,采用的密钥可以不同,这样进一步提高了数据传输的安全性和可靠性。
本申请实施例中,第一网络包括一个或多个虚拟节点,第一网络节点为第一虚拟节点的第一入口子节点,第一虚拟节点包括第一入口子节点和第一出口子节点。那么在该实现方式下,上述图2A所示的实施例中的步骤207具体包括步骤1至步骤3。
步骤1:第一网络节点确定第三路径矢量的第一个端口分量对应第一出口子节点的第三端口。
例如,如图1B所示,第一虚拟节点为虚拟节点4,第一入口子节点为虚拟节点4中的子节点m,第一出口子节点为虚拟节点4中的子节点q。即第一网络节点为虚拟节点4中的子节点m。第三路径矢量为[2,2],第三路径矢量的第一个端口分量为“2”。
由于每个虚拟节点的外部端口是确定的,且每个虚拟节点的外部端口对应的端口分量是唯一的。例如,在图1B中,虚拟节点4的外部端口包括子节点m的端口1和子节点q的端口2。子节点的端口1对应的端口分量为1,而子节点q的端口2对应的端口分量为2。因此,子节点m确定该第一个端口分量对应该虚拟节点4中的子节点q的端口2。
步骤2:第一网络节点确定第一子路径矢量。
其中,第一子路径矢量所指向的目的节点为该第一出口子节点。
具体的,第一网络节点确定该第一报文的下一跳节点为该第一出口子节点,第一网络节点可以查找从该第一网络节点到达该第一出口子节点的第一子路径矢量。第一网络节点可以通过以下两种可能的实现方式确定该第一子路径矢量。
实现方式一:第一网络节点根据子路径矢量映射关系确定第三端口对应的第一子路径矢量。
其中,该子路径矢量映射关系用于指示第三端口与第一子路径矢量之间的映射关系。该子路径矢量映射关系包括第一虚拟节点的外部端口与路径矢量之间的映射关系。
例如,第一网络节点为虚拟节点4的子节点m,若虚拟节点4的外部端口包括子节点m的端口1和子节点q的端口2,则该子路径矢量映射关系可以通过表5表示:
表5
外部端口 | 子路径矢量 |
子节点q的端口2 | 子路径矢量1 |
由表5可知,子节点q的端口2对应子路径矢量1。如图4A所示,第三路径矢量为[2,3],子路径矢量1包括第二转发路径上的节点用于输出的端口的端口分量,如图4A所示,第二转发路径为m→o→r→q。即第一子路径矢量1Sub-PV={2,3,2,3},
实现方式一:第一网络节点确定用于从该第一网络节点向第一出口子节点发送该第一报文的默认子路径矢量。
其中,该默认子路径矢量是预先配置的。例如,如图4A所示,第一网络节点为虚拟节点4中的子节点m,默认子路径矢量包括第二转发路径上的节点用于输出的端口的端口分量,如图4A所示,第二转发路径为m→o→r→q。即默认子路径矢量Sub-PV={2,3,2,3},
步骤3:第一网络节点根据第一子路径矢量和第三路径矢量发送第一报文。
下面结合步骤a至步骤c介绍步骤3。
步骤a:第一网络节点确定第一子路径矢量的第一个端口分量对应第一网络节点的第二端口。
步骤a与前述步骤204a类似,具体请参阅步骤204a的相关介绍,这里不再赘述。
例如,如图4A所示,第一子路径矢量Sub-PV={2,3,2,3},第一子路径矢量的第一个端口分量为2,那么子节点m确定该第一个端口分量对应子节点m的端口2。
步骤b:第一网络节点删除第一子路径矢量的第一个端口分量,得到第二子路径矢量。
例如,如图4A所示,子节点m将第一子路径矢量Sub-PV={2,3,2,3}中的第一个端口分量2删除,得到第二子路径矢量Sub-PV={3,2,3}。
步骤c:第一网络节点通过第一网络节点的第二端口发送包含第二子路径矢量和第三路径矢量的第一报文。
可选的,该第一报文为IP报文或以太网报文。
为了兼容IP报文的封装格式,第一网络节点将第二子路径矢量sub-PV放在IP报文的目标地址(destination address)域时,第一网络节点将原本放置在IP报文的目标地址(destination address)域中的第三路径矢量搬移到IP报文的子报文头中。
例如,如图4A所示,子节点m通过子节点m的端口2发送第一报文,该第一报文携带第二子路径矢量Sub-PV={3,2,3}和第三路径矢量[2,3]。
本申请实施例中,第二转发路径上除第一网络节点之外的其他节点在转发第一报文的过程与第一网络节点执行步骤a至步骤c的过程类似。例如,如图4A所示,子节点o接收到第一报文后,子节点o将Sub-PV={3,2,3}中的第一个端口分量3删除,得到Sub-PV={2,3},子节点o通过子节点o的端口3发送包含Sub-PV={2,3}和PV=[2,3]的第一报文。
上述描述了第一虚拟节点内部的路由场景,下面结合图4B说明第一转发路径上的节点根据第三路径矢量转发第一报文的过程。例如,业务节点A向虚拟节点1的子节点h发送该包含PV=[2,2,3]的第一报文。子节点h按照前述第一网络节点步骤a至步骤c的转发过程转发。虚拟节点1的子节点l接收到该第一报文后,子节点l将该PV=[2,2,3]中的第一 个端口分量“1删除”,得到PV=[2,3],再向虚拟节点4的子节点m发送包含PV=[2,3]的第一报文。该第一转发路径上的其他节点的转发类似,具体可以参阅图4B中的示例。
可选的,当第一虚拟节点的第一出口子节点发送该第一报文时,第一出口子节点删除IP报文的目标地址(destination address)域的子路径矢量Sub-PV,可以将IP报文的子报文头中的第三路径矢量搬移到IP报文的目标地址(destination address)域中。
由此可知,本实施例中通过引入虚拟节点的方案,通过虚拟节点聚合一个局部网络中的多个节点。从而减少路径矢量的长度,减少节点设备计算路径矢量的计算量。例如,如图4A所示,如果在未引入虚拟节点的方案,用于业务节点A向业务节点C发送报文的路径矢量为{1,2,3,2,2,3,2,3,2,2}。而引入虚拟节点的方案,用于业务节点A向业务节点C发送报文的路径矢量为{1,2,2,3}。由此明显可知,路径矢量的长度变短,这样可以降低业务节点A计算路径矢量的计算量,提高数据传输效率。并且,由于路径矢量不需要统一分配,不存在IP地址枯竭的问题,能适应各种类型的网络。
下面结合图4C介绍步骤2中的子路径矢量映射关系的的生成过程。请参阅图4C,该方法包括:
401、第一网络节点通过路由协议或相应的协议获取第四端口信息。
其中,第四端口信息包括第一虚拟节点包括的子节点的端口的端口信息。
例如,如图4A所示,子节点m通过路由协议接收虚拟节点4包括子节点o、子节点p、子节点q、子节点s和子节点r扩散的端口的端口信息。其中,子节点q作为第一虚拟节点的外部端口,子节点q通过路由协议扩散子节点q的端口2作为第一虚拟节点的外部端口的端口信息,这样子节点m能够确定虚拟节点4中的外部端口的端口信息。
402、第一网络节点根据第四端口信息生成一个或多个转发路径。
其中,该一个或多个转发路径包括第二转发路径。
第一网络节点根据第四端口信息生成以第一网络节点为起始节点和第一虚拟节点的外部端口所在的子节点为目的节点的一个或多个转发路径。可选的,第一网络节点通过最短路径算法生成该一个或多个转发路径。
例如,如图4A所示,子节点m确定子节点q的端口2为虚拟节点4的外部端口,子节点m生成子节点m至子节点q的最短路径,即如图4A所示的虚拟节点4中实线箭头部分的转发路径m→o→r→q。
403、第一网络节点根据该一个或多个转发路径和第一虚拟节点的外部端口的端口信息确定一个或多个路径矢量。
其中,该外部端口的端口信息包括第一虚拟节点的第三端口。
下面以第一网络节点生成第一子路径矢量为例说明步骤403。该第一子路径矢量包括第二转发路径上用于输出的端口的端口信息。具体的,步骤403包括步骤403a至步骤403b。
步骤403a:第一网络节点根据第一出口子节点的第三端口确定第二转发路径。
其中,第二转发路径的起始子节点为第一入口子节点,第二转发路径的目的子节点为第一出口子节点。这里的第一入口子节点和第一出口子节点是第一报文的流向来说的。第一出口子节点的第三端口属于该虚拟节点4的外部端口。
由上述步骤402可知,该一个或多个转发路径的起始节点为该第一网络节点,目的节点为第一虚拟节点的外部端口所在的子节点。由于第一出口子节点的第三端口为该第一虚拟节点的外部端口,所以第一网络节点可以从该一个或多个转发路径查找目的节点为该第一出口子节点的第二转发路径。
步骤403b:第一网络节点根据第三端口信息生成第一子路径矢量。
其中,第三端口信息为第二转发路径上的子节点用于输出的端口的端口信息。
具体的,第三端口信息包括一个或多个端口分量,而端口分量的表示形式可以参阅前述图2A所示的步骤202中的相关介绍,这里不再赘述。
例如,如图4A所示,第二转发路径为m→o→r→q,第一子路径矢量为{2,3,2,3}。
404、第一网络节点分别建立该一个或多个子路径矢量与该第一虚拟节点的外部端口之间的映射关系。得到子路径矢量映射关系。
其中,子路径矢量映射关系包括第三端口与第一子路径矢量之间的映射关系。
下面以第三端口与第一子路径矢量之间的映射关系为例介绍步骤404。
由上述步骤403a至步骤403b可知,第一网络节点通过第三端口确定第二转发路径,再由该第二转发路径上的节点用于输出的端口的端口信息生成第二转发路径。由此可知,第三端口与第一子路径矢量之间具有映射关系,第一网络节点可以建立第三端口与第一子路径矢量之间的映射关系。
为了保证转发路径的负载均衡,本申请实施例还提供以下技术方案,下面通过图5A所示的实施例作介绍。请参阅图5A,该方法包括:
501、第一业务节点根据第一业务信息确定多个路径矢量。
其中,该多个路径矢量与多个转发路径一一对应,每个路径矢量包括对应的转发路径上的一个或多个节点的端口的端口信息。路径矢量和第一业务信息的相关介绍请参阅前述图2A所示的实施例中的相关说明,这里不再赘述。
可选的,第一业务节点根据第一路径矢量映射关系确定第一业务信息对应多个路径矢量。
下面以第一业务信息为第一业务标识,且第一业务标识为Service ID1为例介绍步骤501。下面通过表6示出该第一路径矢量映射关系,请参阅表6:
表6
Service ID | 路径矢量 |
Service ID1 | 路径矢量1 |
Service ID1 | 路径矢量2 |
Service ID2 | 路径矢量3 |
由表6可知,Service ID1对应路径矢量1和路径矢量2。如图5B所示,路径矢量1对应转发路径1,转发路径1为A→a→b→d→C。路径矢量2对应转发路径2,转发路径2为A→a→c→e→f→D。
502、第一业务节点获取多份业务数据。
其中,该多份业务数据分别携带第一业务信息。
可选的,该多份业务数据为应用层请求或应用层任务。
示例一:如图5B所示,第一业务节点为终端设备,该终端设备通过app请求“王者荣耀”的游戏服务请求。由表5可知第一业务信息对应路径矢量1和路径矢量2,而路径矢量1对应转发路径1,路径矢量2对应转发路径2。该终端设备复制该游戏服务请求,得到两个游戏服务请求。
示例二:该终端设备在第一时刻通过app请求“王者荣耀”的游戏服务请求,而在第二时刻通过app请求“爱奇艺”的视频服务请求。那么该多份业务数据可以理解为第一业务节点在不同时刻产生的应用层请求。
503、第一业务节点分别将该多份业务数据映射至多个路径矢量中对应的路径矢量。
其中,映射用于多个转发路径的负载均衡。
具体的,第一业务节点可以按照负载均衡的规则将该多份数据映射至多个路径矢量中对应的路径矢量。
结合步骤502的示例1可知,请参阅图5B,终端设备复制该游戏服务请求,得到两个游戏服务请求。终端设备将该两个游戏服务请求分别映射至路径矢量1和路径矢量2,这样终端设备可以同时在转发路径1和转发路径2分别发送该游戏服务请求。那么终端设备可以根据业务节点C和业务节点D的反馈速度,优先选择由反馈速度较快的业务节点提供该游戏服务,以提高网络请求速度,提高用户体验。
结合步骤502的示例二可知,请参阅图5B,终端设备在第一时刻通过app请求“王者荣耀”的游戏服务请求,终端设备确定转发路径1的负载小于转发路径2,则终端设备可以将该游戏服务请求映射至路径矢量1,即通过转发路径1发送该游戏服务请求,以减小转发路径2的负载,提高网络传输速度。而终端设备在第二时刻通过app请求“爱奇艺”的视频服务请求,终端设备确定转发路径1的负载大于转发路径2,则终端设备可以将该视频服务请求映射至路径矢量2,即通过转发路径2发送该视频服务请求,以减小转发路径2的负载,提升网络传输速度。
本实施例中,第一业务节点获取多份业务数据,第一业务节点按照负载均衡的规则将多份业务数据映射至多个路径矢量中对应的路径矢量,这样有利于多个路径矢量对应的多个转发路径的负载均衡,提高数据传输效率,提升网络传输性能。
由上述图3A所示的实施例可知,业务节点收集第二端口信息和第二业务标识生成一个或多个转发路径,再通过该一个或多个转发路径和第二业务标识生成一个或多个路径矢量,以便于报文转发。由于业务节点接入第一网络,第一业务节点需要生成到达该第一网络的其他业务节点的路径矢量,这样对业务节点的性能要求较高,且计算路径矢量的复杂度较大。
为了解决上述问题,本申请实施例提供了在网络中设立分级网关设备的方案。而在网络中设立分级网关设备的方案中,包括两种可能的实现方式,下面通过图6A所示的实施例和图7所示的实施例分别作介绍。
请参阅图6A,图6A为本申请实施例报文处理方法的另一个实施例示意图。在图6A中,该方法包括:
601、第一业务节点获取第一业务数据。
步骤601与前述图2A所示的实施例中的步骤201类似,具体请参阅前述图2A所示的实施例中的步骤201的相关说明,这里不再赘述。
602、第一业务节点判断是否存在第一业务信息对应的第一路径矢量,若是,则执行步骤603;若否,则执行步骤606。
其中,第一业务节点归属第一网络,第一网络为家庭数据中心网络或城域网等。第一业务信息的相关介绍请参阅前述图2A所示的步骤201。
具体的,第一业务节点可以按照前述图3A所示的实施例生成用于第一业务节点向第一网络包括的业务节点发送报文的一个或多个路径矢量,且每个路径矢量都有对应的业务信息。
本实施例中,将网络系统划分为三部分网络,每部分网络都设立有网关设备。第一业务节点归属第一网络,则第一业务节点只生成用于第一业务节点向第一网络包括的业务节点发送报文的一个或多个路径矢量。因此,当第一业务信息不属于该第一网络包括的业务节点所支持的业务的业务信息时,第一业务节点从该一个或多个路径矢量查找不到第一业务信息对应的第一路径矢量。
例如,如图6B所示,网络系统包括家庭数据中心网络和城域网。网络系统还包括广域网(图6B中未示出)。家庭数据中心网络的网关设备为服务器(server),城域网的网关设备为宽带网络网关(broadband network gateway,BNG)。服务器为连接家庭数据中心网络和城域网的网关设备,用于代理家庭数据中心网络包括的节点与城域网包括的节点进行通信。BNG用于连接城域网与广域网,用于代理城域网包括的节点与广域网包括的节点进行通信。
如图6B所示,家庭数据中心网络包括业务节点A和业务节点B。业务节点B位于家庭数据中心网络,业务节点B只生成用于业务节点B向业务节点A发送报文的路径矢量。该路径矢量与该业务节点A所支持的业务的业务标识对应。由图6B可知,业务节点B判断该路径矢量中是否为第一业务标识对应的第一路径矢量;如果不存在,则执行步骤606;如果存在,则执行步骤603。
可选的,第一业务节点判断第一路径矢量映射关系是否存在第一业务信息对应的第一路径矢量。其中,该第一路径矢量映射关系的相关说明请参阅前述图2A所示的实施例中的步骤202和前述图3A所示的实施例的相关介绍,这里不再赘述。
603、第一业务节点确定第一业务信息对应的第一路径矢量。
604、第一业务节点生成包含第一路径矢量的第一报文。
步骤603至步骤604与前述图2A所示的实施例中的步骤202至步骤203类似,具体请参阅前述图2A所示的实施例中的步骤202至步骤203的相关说明,这里不再赘述。
605、第一业务节点根据第一路径矢量发送第一报文。
步骤605与前述图2A所示的实施例中的步骤204和步骤205的操作流程类似,具体请参阅前述图2A所示的实施例中的步骤204和步骤205的相关说明,这里不再赘述。
606、第一业务节点确定第一默认路径矢量。
其中,第一默认路径矢量所指向的目的节点为代理节点,该代理节点为连接第一网络和第二网络的网关设备,用于代理第一业务节点与第三业务节点进行通信的节点。第三业务节点用于为第一业务节点提供第一业务数据所对应的业务服务。
第一网络为家庭数据中心网络,第二网络为城域网;或者,第一网络为城域网,第二网络为广域网。
代理节点为服务器、BNG或宽带接入服务器(broadband remote access server,BRAS Server)。
本实施例中,第一业务节点从一个或多个路径矢量查找不到第一业务信息对应的第一路径矢量时,第一业务节点通过第一默认路径矢量转发报文。且第一默认路径矢量所指向的目的节点为第一网络的代理节点。这样,由该第一网络的代理节点对该报文作进一步的处理并转发。
可选的,第一默认路径矢量包括第六转发路径上的用于输出的节点的端口的端口信息。而该端口信息包括一个或多个端口分量。关于端口分量的相关说明请参阅前述图2A所示的实施例中步骤202的相关介绍,这里不再赘述。
例如,如图6B所示,第六转发路径为B→a→服务器,第一默认路径矢量为[1,101]。第三业务节点为业务节点C。
607、第一业务节点生成包含第一默认路径矢量的第一报文。
步骤607与前述图2A所示的实施例中的步骤203类似,具体请参阅前述图2A所示的实施例中的步骤203的相关介绍,这里不再赘述。
608、第一业务节点根据第一默认路径矢量发送第一报文。
步骤608与前述图2A所示的实施例中的步骤204和步骤205的操作流程类似,具体请参阅前述图2A所示的实施例中的步骤204和步骤205的相关说明,这里不再赘述。
609、代理节点接收第一业务节点的第一报文。
步骤608中第一业务节点根据第一默认路径发送第一报文,第一默认路径矢量所指向的目的节点为代理节点,那么代理节点可以接收该第一业务节点的第一报文。
例如,如图6B所示,业务节点B通过端口1发送第一报文,网络节点a通过网络节点a的端口4接收业务节点B发送的第一报文,并通过节点a的端口5向服务器(代理节点)发送该第一报文。
本实施例中,第一业务节点查找不到第一业务信息对应的第一路径矢量时,第一业务节点通过第一默认路径矢量向第一网络的代理节点发送报文,由该代理节点帮忙处理该报文并转发该报文,以实现报文的传输。
因此,第一网络的代理节点通过路由协议或相应的协议获取第二网络包括的节点的端口的端口信息和第二网络包括的业务的业务信息,并根据该端口信息和业务信息生成一个或多个路径矢量,再建立该业务信息与该一个或多个路径矢量之间的映射关系。这样,代理节点接收到第一业务节点的报文时,当第一业务信息对应的是用于代理节点向第二网络包括的业务节点发送报文的路径矢量时,代理节点才能够通过该路径矢量将该报文转发至第二网络的相应节点上,以实现对该报文的传输。
610、代理节点根据第一业务信息确定第八路径矢量。
步骤610与前述图2A所示的实施例中的步骤202类似,具体请参阅前述图2A所示的实施例中的步骤202的相关说明,这里不再赘述。
可选的,代理节点按照前述图3A所示的实施例中的方式生成用于代理节点向第二网络的业务节点发送报文的一个或多个路径矢量,并建立路径映射关系。可选的,代理节点还用于屏蔽该第二网络包括的节点扩散的端口信息和业务信息,以避免第一网络包括的节点接收第二网络包括的节点的端口信息和业务信息。
例如,如图6B所示,家庭数据中心网络中的服务器作为第一级矢量路由网关设备,用于接收城域网包括的节点的端口信息和城域网包括的业务节点所支持的业务标识,并根据该端口信息和业务标识生成一个或多个路径矢量,并建立路径矢量映射关系。具体的建立过程与前述图3A所示的实施例类似,这里不再赘述。服务器从该一个或多个路径矢量中确定第一业务信息对应的第八路径矢量。
需要说明的是,若服务器查找不到该第一业务标识对应的第八路径矢量,如第一业务数据所对应的业务服务由业务节点D提供,服务器只生成了用于服务器向城域网的业务节点发送报文的路径矢量。服务器可以向该城域网的BNG发送该第一报文,再由该城域网的BNG向业务节点D发送该第一报文。
再举例说明,如图6B所示,BNG作为第二级矢量路由网关设备,用于接收广域网包括的节点的端口信息和广域网包括的业务节点所支持的业务标识,并根据该端口信息和业务标识生成一个或多个路径矢量,并建立路径映射关系。具体的建立过程与前述图3A所示的实施例类似,这里不再赘述。BNG从该一个或多个路径矢量中确定第一业务信息对应的第八路径矢量。
611、代理节点生成包含第六路径矢量的第一报文。
步骤611与前述图2A所示的实施例中的步骤203类似,具体请参阅前述图2A所示的实施例中的步骤203的相关说明,这里不再赘述。
612、代理节点根据第六路径矢量发送第一报文。
步骤612与前述图2A所示的实施例中的步骤204和步骤205的操作流程类似,具体请参阅前述图2A所示的实施例中的步骤204和步骤205的相关说明,这里不再赘述。
613、第三业务节点接收第一业务节点的第一报文。
例如,如图6B所示,服务器通过第六路径矢量发送该第一报文,第六转发路径上的最后一个网络节点为网络节点f,通过该网络节点f向业务节点C发送该第一报文。
一种可能的实现方式中,本实施例还包括步骤614至步骤619。
614、第三业务节点根据第一报文获取第三业务数据。
615、第三业务节点根据第一信源信息确定第九路径矢量。
其中,第九路径矢量包括一个或多个节点的端口的端口信息。
一种可能的实现方式中,第九路径矢量包括第七转发路径上用于输出的端口的端口信息。第九路径矢量与第一路径矢量类似,具体请参阅前述图2A所示的实施例中第一路径矢量的相关介绍。
可选的,第三业务节点根据第六路径矢量映射关系确定第一信源信息对应的第九路径矢量。第六路径矢量映射关系用于指示第一信源信息与第九路径矢量之间的映射关系。具体的,该第六路径矢量映射关系的表示方式可以参阅前述图2A所示的实施例中的步骤210的第四路径矢量映射关系的表示方式,这里不再示出。
下面示出第六路径矢量映射关系的生成过程。本实施例还包括步骤615a至步骤615d。
步骤615a:第三业务节点获取第九端口信息和第三信源信息。
其中,第九端口信息包括网络系统的节点的端口的端口信息,第三信源信息包括网络系统的包括的业务节点的信源信息。网络系统包括多部分网络,例如,如图6B所示,网络系统包括家庭数据中心网络、城域网和广域网等。第三业务节点获取网络系统包括的节点的端口的端口信息和网络系统包括的业务节点的信源名称。
步骤615b:第三业务节点根据第九端口信息和第三信源信息生成一个或多个转发路径。
例如,如图6B所示,业务节点C获取网络系统包括的节点的端口的端口信息和网络系统包括的业务节点的信源名称;然后,业务节点C根据网络系统包括的节点的端口的端口信息和网络系统包括的业务节点的信源名称生成以业务节点C为起始节点的一个或多个转发路径。可选的,业务节点C通过最短路径算法生成该一个或多个转发路径。
如图6B中,业务节点A的信源信息为信源名称1,业务节点C生成业务节点C至该业务节点A的最短转发路径。
步骤615c:第三业务节点根据该一个或多个转发路径和第三信源信息确定一个或多个路径矢量。
其中,第三信源信息包括第一信源信息,一个或多个转发路径包括第七转发路径。
下面以第三业务节点生成第九路径矢量为例说明步骤615c。步骤615c具体包括步骤1至步骤2。
步骤1:第三业务节点根据第一信源信息确定第七转发路径。
其中,第七转发路径的起始节点为第三业务节点,第七转发路径的目的节点为第一业务节点,第一业务节点的信源信息为第一信源信息。
例如,如图6B所示,业务节点A为第一业务节点,业务节点C确定业务节点A的信源信息为第一信源信息。业务节点C从一个或多个转发路径中查找目的节点为该业务节点A的第七转发路径。
步骤2:第三业务节点根据该第七转发路径上用于输出的端口的端口信息生成第九路径矢量。
具体的,用于输出的端口的端口信息包括一个或多个端口分量,而端口分量的表示形式可以参阅前述图2A所示的步骤202中的相关介绍,这里不再赘述。
步骤615d:第三业务节点分别建立该第三信源信息和该一个或多个转发路径之间的映射关系,得到第六路径映射关系。
其中,第六路径矢量映射关系包括第一信源信息与九路径矢量之间的映射关系。
下面以第三业务节点建立第一信源信息与第九路径矢量之间的映射关系为例介绍步骤615d。由上述步骤615a至步骤615c可知,第三业务节点通过第一信源信息确定第七转发 路径,再由第七转发路径上的节点用于输出的端口的端口信息生成该第九路径矢量。由此可知,第一信源信息与该第九路径矢量之间具有映射关系,第三业务节点可以建立该第一信源信息与该第九路径矢量之间的映射关系。
616、第三业务节点生成包含第九路径矢量的第五报文。
617、若第九路径矢量包括第三业务节点的端口信息,则第三业务节点发送包含第十路径矢量的第五报文。
618、若第九路径矢量不包含第三业务节点的端口信息,则第三业务节点发送包含第九路径矢量的第五报文。
619、第一业务节点接收第五报文。
步骤614至步骤619与前述图2A所示的实施例中步骤209至步骤214类似,具体请参阅前述图2A所示的实施例中步骤209至步骤214的相关说明,这里不再赘述。
由上述步骤614至步骤619可知,第三业务节点可以获取该网络系统中包括的多部分网络的节点的端口的端口信息和多部分网络的业务节点的信源信息,并生成用于第三业务节点向该多部分网络的业务节点发送报文的路径矢量。例如,第三业务节点为服务器,由于服务器的计算能力较强,无需通过代理节点代理发送报文,可以计算整个网络系统的多部分网络的路径矢量。
可选的,第三业务节点也可以通过类似第一业务节点的报文转发方式转发报文,具体为,第三业务节点通过默认路径矢量向第二网络的代理节点发送第五报文,再由第二网络的代理节点向第一业务节点发送第五报文。具体的操作流程与前述图6A所示的实施例中的步骤606至步骤608类似,这里不再赘述。
本申请实施例中,在网络系统中设立第一网络的代理节点,当第一业务节点查找不到第一业务信息对应的第一路径矢量时,第一业务节点通过第一默认路径矢量向代理节点发送该第一报文;再由该代理节点根据该第一业务信息确定第八路径矢量,并根据第八路径矢量向第二网络的第三业务节点发送第一报文,从而实现报文的传输。由此可知,第一业务节点只需要计算用于该第一业务节点到达该第一网络中的业务节点的路径矢量,如果查找不到对应的路径矢量,就通过默认路径矢量向代理节点发送报文,再由代理节点进一步处理该报文并转发该报文。这样既能够完成报文的传输,又能够减小第一业务节点计算路径矢量的计算量,降低对第一业务节点的性能要求。
请参阅图7,图7为本申请实施例报文处理方法的另一个实施例示意图。在图7中,该方法包括:
701、第四业务节点获取第二业务数据。
步骤701与前述图2A所示的实施例中的步骤201类似,具体请参阅前述图2A所示的实施例中的步骤201的相关介绍,这里不再赘述。
702、第四业务节点确定第三默认路径矢量。
步骤702与前述图6A所示的实施例中的步骤606类似,具体请参阅图6A所示的实施例中的步骤606的相关说明这里不再赘述。
本实施例中,需要说明的是,在网络系统的各部分网络中设立网关设备,每部分网络 包括的节点不需要生成该每部分网络的路径矢量,只需要将报文通过默认路径矢量向该每部分网络的网关设备发送该报文,再由该网关设备处理该报文并转发该报文即可。
703、第四业务节点生成包含第三默认路径矢量的第二报文。
704、第四业务节点根据第三默认路径矢量发送第二报文。
705、代理节点接收第四业务节点的第二报文。
步骤703至步骤705与前述图6A所示的实施例中的步骤607至步骤609类似,具体请参阅前述图6A所示的实施例中的步骤607至步骤609的相关说明,这里不再赘述。
例如,如图6B所示,家庭数据中心网络中的业务节点B获取第二业务数据,该第二业务数据携带业务节点A的信源名称,业务节点B通过该第三默认路径矢量向该家庭数据中心网络中的服务器发送该第二报文,再由该服务器向业务节点A发送该第二报文。
再举例说明,如图6B所示,家庭数据中心网络中的业务节点B获取第二业务数据,该第二业务数据携带业务节点C的信源名称,业务节点B通过该第三默认路径矢量向该家庭数据中心网络中的服务器发送该第二报文,再由该服务器向业务节点C发送该第二报文。
706、代理节点根据第二业务信息确定第五路径矢量。
其中,第五路径矢量包括一个或多个节点的端口的端口信息。
一种可能的实现方式中,第五路径矢量包括第五转发路径上用于输出的端口的端口信息。第五路径矢量与第一路径矢量类似,第二业务信息与第一业务信息类似,可以参阅前述图2A所示的实施例中第一路径矢量和第一业务信息的相关介绍,这里不再说明。
可选的,代理节点根据第二路径矢量映射关系确定第二业务信息对应的第五路径矢量。该第二路径矢量映射关系用于指示第二业务信息与第五路径矢量之间的映射关系。
该第五路径矢量所指向的目的节点为第五业务节点。该第四业务节点与第五业务节点归属同一网络或不同的网络,该代理节点用于代理第四业务节点与第五业务节点进行通信的节点。
第二路径矢量映射关系的生成过程与前述图3A所示的实施例中第一业务节点生成第一路径矢量映射关系类似,不同的地方在于,代理节点除了获取第一网络包括的节点的端口的端口信息和第一网络包括的业务节点所支持的业务的业务标识之外,代理节点还获取第二网络包括的节点的端口的端口信息和第二网络包括的业务节点所支持的业务的业务标识。
并且,代理节点生成的一个或多个路径矢量中包括用于代理节点向第一网络包括的业务节点发送报文的路径矢量,还包括用于代理节点向第二网络包括的业务节点发送报文的路径矢量。即该第二路径矢量映射关系包括第一网络包括的业务节点的业务标识与路径矢量之间的映射关系和第二网络包括的业务节点的业务标识与路径矢量之间的映射关系。
例如,如图6B所示,家庭数据中心网络中的服务器接收家庭数据中心网络包括的节点的端口信息和家庭数据中心网络包括的业务节点所支持的业务的业务标识,并根据该端口信息和业务标识生成一个或多个路径矢量。家庭数据中心网络中的服务器作为第一级矢量路由网关设备,用于接收城域网包括的节点的端口信息和城域网包括的业务节点所支持的业务标识,并根据该端口信息和业务标识生成一个或多个路径矢量。再综合前述生成所有 路径矢量和代理节点获取到的所有业务标识建立该第二路径映射关系。
707、代理节点生成包含第五路径矢量的第二报文。
708、代理节点根据第五路径矢量发送第二报文。
709、第五业务节点接收第二报文。
步骤707至步骤709与前述图6A所示的实施例中的步骤611至步骤613类似,具体请参阅前述图6A所示的实施例中的步骤611至步骤613的相关说明,这里不再赘述。
一种可能的实现方式中,本实施例还包括步骤710至步骤711。
710、第五业务节点根据第一报文获取第四业务数据。
711、第五业务节点根据第二信源信息确定第十一路径矢量。
712、第五业务节点生成包含第十一路径矢量的第三报文。
713、若第十一路径矢量包含第三业务节点的端口信息,则第三业务节点发送包含第十二路径矢量的第三报文。
714、若第十一路径矢量不包含第三业务节点的端口信息,则第三业务节点发送包含第十一路径矢量的第三报文。
715、第四业务节点接收第三报文。
步骤710至步骤715与前述图6A所示的实施例中的步骤614至步骤619类似,具体请参阅前述图6A所示的实施例中的步骤614至步骤619的相关说明,这里不再赘述。
由上述步骤710至步骤715可知,第五业务节点可以获取该网络系统中包括的多部分网络的节点的端口的端口信息和多部分网络的业务节点的信源信息,并生成用于第五业务节点向该多部分网络的业务节点发送报文的路径矢量。例如,第五业务节点为服务器,由于服务器的计算能力较强,无需通过代理节点代理发送报文,可以计算整个网络系统的多部分网络的路径矢量。
需要说明的是,如果第四业务节点与第五业务节点属于不同的网络,第五业务节点也可以通过类似第四业务节点的报文转发方式转发报文,具体为,第五业务节点通过默认路径矢量向第二网络的代理节点发送第五报文,再由第二网络的代理节点向第四业务节点发送第五报文。具体的操作流程与图7所示的实施例中步骤702至步骤705类似,这里不再赘述。
本申请实施例中,第四业务节点通过第三默认路径矢量向代理节点发送第二报文,再由代理节点根据第二业务信息确定第五路径矢量,再根据第五路径矢量向第五业务节点发送第二报文。即第四业务节点无需计算路径矢量,产生业务数据,直接通过默认路径矢量向代理节点发送报文,并由代理节点代理发送该报文。这样既能够完成报文的传输,又能够减小第一业务节点计算路径矢量的计算量,降低对第一业务节点的性能要求。
下面对本申请实施例中提供的一种报文处理装置进行描述。请参阅图8,本申请实施例中报文处理装置的一个结构示意图,该报文处理装置可以用于执行图2A、图3A、图5A和图6A所示实施例中第一业务节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括获取单元801、确定单元802和生成单元803。可选的,该报文处理装置还包括发送单元804和映射单元805。
获取单元801,用于获取第一业务数据,该第一业务数据携带第一业务信息,该第一业务信息用于指示该第一业务数据所对应的业务;
确定单元802,用于根据第一业务信息确定第一路径矢量(path vector,PV),该第一路径矢量包括一个或多个节点的端口的端口信息;
生成单元803,用于生成包含第一路径矢量的第一报文,该第一路径矢量用于报文处理装置发送该第一报文。
一种可能的实现方式中,该发送单元804用于:
若第一路径矢量包含报文处理装置的端口信息,则发送包含第二路径矢量的第一报文,该第二路径矢量为删除第一路径矢量中的报文处理装置的端口信号后的路径矢量;若第一路径矢量不包含报文处理装置的端口信息,则发送包含第一路径矢量的第一报文。
另一种可能的实现方式中,该确定单元802具体用于:
根据第一路径矢量映射关系确定第一业务信息对应的第一路径矢量,该第一路径矢量映射关系用于指示第一业务信息与第一路径矢量之间的映射关系。
另一种可能的实现方式中,该第一业务信息与第一路径矢量之间的映射关系,包括:第一业务信息包括第一业务标识;报文处理装置根据第一业务标识确定第一转发路径,该第一转发路径的起始节点为报文处理装置,第一转发路径的目的节点为第二业务节点,该第二业务节点用于为报文处理装置提供第一业务标识所对应的业务服务;报文处理装置根据第一端口信息生成第一路径矢量,第一端口信息为第一转发路径上的节点用于输出的端口的端口信息。
另一种可能的实现方式中,该获取单元801还用于:
通过路由协议获取第二端口信息和第二业务标识,该第二端口信息为第一网络包括的节点的端口的端口信息,该第二业务标识为第一网络包括的业务节点所支持的业务的业务标识,该第一网络为报文处理装置接入的网络;
该生成单元803,还用于根据第二端口信息和第二业务标识生成一个或多个转发路径,该一个或多个转发路径包括第一转发路径。
另一种可能的实现方式中,第一网络包括一个或多个虚拟节点,该虚拟节点包括入口子节点和出口子节点,该第二端口信息包括一个或多个虚拟节点的外部端口的端口信息,该外部端口为入口子节点的入口端口和出口子节点的出口端口。
另一种可能的实现方式中,该第一端口信息包括一个或多个端口分量,该端口分量与第一转发路径上的节点中用于输出的端口对应;该生成单元803具体用于:
按照预设的密钥分别对该一个或多个端口分量加密,并生成第一路径矢量。
另一种可能的实现方式中,对一个或多个端口分量加密的密钥不相同。
另一种可能的实现方式中,该生成单元803具体用于:
根据加密后的第一端口信息生成第一路径矢量。
另一种可能的实现方式中,该第一路径矢量包括至少一个节点的端口分量;该发送单元804具体用于:
根据第一路径矢量的第一个端口分量确定报文处理装置的第一端口;
删除第一路径矢量的第一个端口分量,得到第二路径矢量;
通过第一业务节的第一端口发送包含第二路径矢量的第一报文。
另一种可能的实现方式中,该发送单元804具体用于:
确定报文处理装置包含的端口数量;然后,报文处理装置根据该端口数量确定第一位宽X,该第一位宽X为用于表示报文处理装置的第一端口的端口信息的二进制数形式的位宽,其中,X为大于或等于1的整数;
将第一路径矢量的前X位二进制数作为第一端口的端口信息。
另一种可能的实现方式中,该发送单元804具体用于:
判断第一份二进制数中的首位二进制数的数值是否为第一数值,该第一份二进制数为该第一路径矢量的前Y位二进制数,Y为预设的用于表示报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;
若该首位二进制数的数值为所述第一数值,则判断第二份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的该第一份二进制数放置到去除首位二进制数的第二份二进制数之后,获取Y-2位二进制数序列,将该Y-2位二进制数序列作为该第一端口的端口信息,该第二份二进制数为该第一路径矢量的第Y+1位二进制数至该第一路径矢量的第2Y位二进制数;
若该首位二进制数的数值不为该第一数值,则将去除首位二进制数的该第一份二进制数作为该第一端口的端口信息。
另一种可能的实现方式中,第一报文还携带报文处理装置的第一信源信息,该第一信源信息包括以下任一种信息:IP地址、MAC地址、名称、或者、ID。
另一种可能的实现方式中,该获取单元801还用于:
根据第一业务信息确定多个路径矢量,该多个路径矢量与多个转发路径一一对应;该报文处理装置获取多份业务数据,该多份业务数据与该多个路径矢量一一对应,该多份业务数据分别携带该第一业务信息;
该映射单元805,用于分别将该多份业务数据映射至该多个路径矢量中对应的路径矢量,该映射用于该多个转发路径的负载均衡。
另一种可能的实现方式中,该确定单元802具体用于:
判断是否存在第一业务信息对应的第一路径矢量;若是,则确定该第一业务信息对应的第一路径矢量;若否,则确定第一默认路径矢量为所述第一路径矢量,该第一默认路径矢量所指向的目的节点为代理节点;其中,该代理节点为代理该报文处理装置与第三业务节点进行通信的网关设备,且该代理节点用于向该第三业务节点发送该第一报文,以使得该第三业务节点为该报文处理装置提供该第一业务数据所对应的业务服务。
另一种可能的实现方式中,该报文处理装置和第三业务节点归属同一网络或归属不同的网络。
另一种可能的实现方式中,第一网络为局域网,该第二网络为城域网;或者,该第一网络为城域网,该第二网络为广域网。
本申请实施例中,确定单元802根据第一业务信息确定第一路径矢量,生成单元803 生成包含第一路径矢量的第一报文。其中,该第一路径矢量用于第一业务节点发送该第一报文,且该第一路径矢量包括一个或多个节点的端口的端口信息,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。另外,第一报文携带第一路径矢量,无需通过域名系统(domain name system,DNS)服务器确定目的IP地址,缩短了第一业务节点执行数据请求的时延,减少信令开销。无需DNS服务器重定向等集中性节点,提高数据传输的可靠度性。
下面对本申请实施例中提供的一种报文处理装置进行描述。请参阅图9,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图2A和图4C所示实施例中第一网络节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括接收单元901和发送单元902。可选的,该报文处理装置还包括获取单元903和生成单元904。
接收单元901,用于接收包含第三路径矢量的第一报文,该第三路径矢量包括一个或多个节点的端口的端口信息;
发送单元902,用于根据该第三路径矢量发送该第一报文。
一种可能的实现方式中,该端口信息包括一个或多个端口分量;该发送单元902具体用于:
根据该第三路径矢量的第一个端口分量确定该报文处理装置的第二端口;
删除该第三路径矢量的第一个端口分量,得到第四路径矢量;
通过该第二端口发送包含该第四路径矢量的第一报文。
另一种可能的实现方式中,该发送单元902具体用于:
按照预设的密钥对该第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量;
通过该解密后的第一个端口分量确定该报文处理装置的第二端口的端口信息。
另一种可能的实现方式中,该发送单元902具体用于:
确定该报文处理装置包含的端口数量;该报文处理装置根据该端口数量确定第二位宽Z,该第二位宽Z为用于表示该报文处理装置的第二端口的端口信息的二进制数形式的位宽,其中,Z为大于或等于1的整数;
将该第三路径矢量的前Z位二进制数作为该第二端口的端口信息。
另一种可能的实现方式中,该发送单元902具体用于:
判断第三份二进制数中的首位二进制数的数值是否为第一数值,该第三份二进制数为该第三路径矢量的前Y位二进制数,Y为预设的用于表示该报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若该首位二进制数的数值为第一数值,则判断第四份二进制数中的首位二进制数的数值是否为第一数值,若否,则将去除首位二进制数的该第三份二进制数放置到去除首位二进制数的该第四份二进制数之后,获取Y-2位二进制数的序列,将该Y-2位二进制数序列作为该第二端口的端口信息,该第四份二进制数为该第四路径矢量的第Y+1位二进制数至该第四路径矢量的第2Y位二进制数;
若该首位二进制数的数值不为该第一数值,则将去除首位二进制数的该第三份二进制数作为该第二端口的端口信息。
另一种可能的实现方式中,该端口信息包括一个或多个端口分量,该报文处理装置为第一虚拟节点的第一入口子节点,该第一虚拟节点包括该第一入口子节点和第一出口子节点;该发送单元902具体用于:
确定该第三路径矢量的第一个端口分量对应该第一出口子节点的第三端口;
确定第一子路径矢量,该第一子路径矢量所指向的目的节点为该第一出口子节点;该报文处理装置根据该第一子路径矢量和该第三路径矢量发送该第一报文。
另一种可能的实现方式中,该发送单元902具体用于:
根据该第一子路径矢量的第一个端口分量确定该报文处理装置的第二端口;
删除该第一子路径矢量的第一个端口分量,得第二子路径矢量;
通过该报文处理装置的第二端口发送包含该第二子路径矢量和该第三路径矢量的第一报文。
另一种可能的实现方式中,该发送单元902具体用于:
根据子路径矢量映射关系确定该第三端口所对应的第一子路径矢量,该子路径矢量映射关系用于指示该第三端口与该第一子路径矢量之间的映射关系。
另一种可能的实现方式中,该第三端口与该第一子路径矢量之间的映射关系,包括:该报文处理装置根据该第三端口确定第二转发路径,该第二转发路径的起始子节点为该第一入口子节点,该第二转发路径的目的子节点为该第一出口子节点;该报文处理装置根据第三端口信息生成该第一子路径矢量,该第三端口信息为该第二转发路径上的子节点用于输出的端口的端口信息。
另一种可能的实现方式中,该报文处理装置还包括获取单元903和生成单元904;
该获取单元903,用于获取第四端口信息,该第四端口信息包括该第一虚拟节点包括的子节点的端口的端口信息;
生成单元904,用于根据该第四端口信息生成一个或多个转发路径,该一个或多个转发路径包括该第二转发路径。
本申请实施例中,接收单元901接收包含第三路径矢量的第一报文,该第三路径矢量包括一个或多个节点的端口的端口信息;该发送单元902根据该第三路径矢量发送该第一报文,从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。并且,由于路径矢量不需要统一分配,不存在IP地址枯竭的问题,能适应各种类型的网络。
下面对本申请实施例中提供的一种报文处理装置进行描述。请参阅图10,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图6A和图7所示实施例中代理节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括接收单元1001、确定单元1002和生成单元1003。可选的,该报文处理装置还包括获取单元1004。
接收单元1001,用于接收第四业务节点的第二报文,该第二报文携带第二业务信息; 然后,
确定单元1002,用于根据第二业务信息确定第五路径矢量,该第五路径矢量包括至少一个或多个节点的端口的端口信息;
生成单元1003,用于生成包含第五路径矢量的第二报文,该第五路径矢量用于该报文处理装置向第五业务节点发送第二报文,以使得该第五业务节点为该第四业务节点提供第一业务信息所对应的业务服务。
一种可能的实现方式中,该第四业务节点和该第五业务节点归属同一网络;或者,该第四业务节点和该第五业务节点归属不同的网络。
另一种可能的实现方式中,该确定单元1002具体用于:
根据第二路径矢量映射关系确定该第二业务信息对应的该第五路径矢量,该第二路径矢量映射关系用于指示该第二业务信息与该第五路径矢量之间的映射关系。
另一种可能的实现方式中,该第二业务信息与该第五路径矢量之间的映射关系,包括:该第二业务信息包括第三业务标识;该报文处理装置根据该第三业务标识确定第三转发路径,该第三转发路径的起始节点为该报文处理装置,该第三转发路径的目的节点为该第五业务节点;该报文处理装置根据第五端口信息生成该第五路径矢量,该第五端口信息为该第三转发路径上的节点中用于输出的端口的端口信息。
另一种可能的实现方式中,该报文处理装置为连接第一网络和第二网络的网关设备;
该获取单元1004,用于获取该第六端口信息和该第四业务标识,该第六端口信息包括该第一网络包括的节点的端口的端口信息和该第二网络包括的节点的端口的端口信息,该第四业务标识包括该第一网络包括的业务节点所支持的业务的业务标识和该第二网络包括的业务节点所支持的业务的业务标识;
该生成单元1003,用于根据该第六端口信息和该第四业务标识生成一个或多个转发路径,该一个或多个转发路径包括该第三转发路径。
另一种可能的实现方式中,该接收单元1001还用于:
接收该第一业务节点的第一报文,该第一报文携带该第一业务信息,该第一业务节点归属所述第一网络;
该确定单元1002还用于:
根据该第一业务信息确定第六路径矢量,该第六路径矢量包括至少一个或多个节点的端口的端口信息;
该生成单元1003还用于:
生成包含该第六路径矢量的第一报文,该第六路径矢量用于该报文处理装置向第三业务节点发送所述第一报文,以使得该第三业务节点为该第一业务节点提供该第一业务信息所对应的业务服务,该第三业务节点归属该第二网络。
本实施例中,在网络系统中设立第一网络的代理节点,第四业务节点可以通过默认路径矢量向接收单元1001发送第二报文,确定单元1002根据第二业务信息确定第五路径矢量,生成单元1003生成包含第五路径矢量的第二报文,该第五路径矢量用于该报文处理装置向第五业务节点发送第二报文,以使得该第五业务节点为该第四业务节点提供第一业务 信息所对应的业务服务。由此可知第四业务节点无需计算路径矢量,只需通过默认路由矢量向该报文处理装置发送第二报文,再由报文处理装置进一步处理该报文并转发该第二报文。这样既能够完成报文的传输,又能够减小第四业务节点计算路径矢量的计算量,降低对第四业务节点的性能要求。
下面对本申请实施例中提供的一种报文处理装置进行描述。请参阅图11,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图2A所示实施例中第二业务节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括接收单元1101、获取单元1102、确定单元1103和生成单元1104。可选的,该报文处理装置还包括发送单元1105。
接收单元1101,用于接收第一业务节点的第一报文,该第一报文携带第一业务信息和该第一业务节点的第一信源信息;
获取单元1102,用于根据该第一报文获取第二业务数据;
确定单元1103,用于根据该第一信源信息确定第七路径矢量,该第七路径矢量包括一个或多个节点的端口的端口信息;
生成单元1104,用于生成包含该第七路径矢量的第四报文,该第七路径矢量用于该报文处理装置向所述第一业务节点发送所述第四报文。
一种可能的实现方式中,该发送单元1105用于:
若该第七路径矢量包括该报文处理装置的端口信息,则发送包含第八路径矢量的第四报文,该第八路径矢量为删除该第七路径矢量中的报文处理装置的端口信息后的路径矢量;若该第七路径矢量不包含该报文处理装置的端口信息,则发送包含该第七路径矢量的第四报文。
另一种可能的实现方式中,该确定单元1103具体用于:
根据第四路径矢量映射关系确定该第一信源信息对应的第七路径矢量,该第四路径矢量映射关系用于指示该第一信源信息与该第七路径矢量之间的映射关系。
本申请实施例中,接收单元1101接收到第一报文之后,获取单元1102根据该第一报文获取第二业务数据;确定单元1103根据该第一信源信息确定第七路径矢量,该第七路径矢量包括一个或多个节点的端口的端口信息;生成单元1104生成包含该第七路径矢量的第四报文,该第七路径矢量用于该报文处理装置向所述第一业务节点发送所述第四报文。从而实现节点设备无表转发的方案,解决了由于网络表项目爆炸式增加导致网络规模受制约的问题。
本申请还提供一种报文处理装置,请参阅图12,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图2A、图3A、图5A和图6A所示实施例中第一业务节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括:处理器1201、存储器1202和收发器1203。
该处理器1201、存储器1202和收发器1203分别通过总线相连,该存储器中存储有计算机指令。
前述实施例中的确定单元802、生成单元803和映射单元805具体可以是本实施例中 的处理器1201,因此该处理器1201的具体实现不再赘述。前述实施例中的获取单元801和发送单元804则具体可以是本实施例中的收发器1203,因此收发器1203的具体实现不再赘述。
本申请还提供一种报文处理装置,请参阅图13,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图2A和图4C所示实施例中第一网络节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括:处理器1301、存储器1302和收发器1303。
一种可能的实现方式中,该处理器1301、存储器1302和收发器1303分别通过总线相连,该存储器中存储有计算机指令。
前述实施例中的生成单元904具体可以是本实施例中的处理器1301,因此该处理器1301的具体实现不再赘述。前述实施例中的接收单元901和发送单元902则具体可以是本实施例中的收发器1303,因此收发器1303的具体实现不再赘述。
本申请还提供一种报文处理装置,请参阅图14,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图6A和图7所示实施例中代理节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括:处理器1401、存储器1402和收发器1403。
一种可能的实现方式中,该处理器1401、存储器1402和收发器1403分别通过总线相连,该存储器中存储有计算机指令。
前述实施例中的确定单元1002和生成单元1003具体可以是本实施例中的处理器1401,因此该处理器1401的具体实现不再赘述。前述实施例中的接收单元1001和获取单元1004则具体可以是本实施例中的收发器1403,因此收发器1403的具体实现不再赘述。
本申请还提供一种报文处理装置,请参阅图15,本申请实施例中报文处理装置的另一个结构示意图,该报文处理装置可以用于执行图2A所示实施例中第一业务节点执行的步骤,可以参考上述方法实施例中的相关描述。
该报文处理装置包括:处理器1501、存储器1502和收发器1503。
一种可能的实现方式中,该处理器1501、存储器1502和收发器1503分别通过总线相连,该存储器中存储有计算机指令。
前述实施例中的确定单元1103和生成单元1104具体可以是本实施例中的处理器1501,因此该处理器1501的具体实现不再赘述。前述实施例中的接收单元1101、获取单元1102和发送单元1105则具体可以是本实施例中的收发器1503,因此收发器1503的具体实现不再赘述。
请参阅图16,本申请实施例还提供了一种网络系统,该通信系统包括报文处理装置。具体地,该报文处理装置可以包括如图8所示的报文处理装置和如图9所示的报文处理装置。图8所示的报文处理装置用于执行图2A、图3A、图5A和图6A所示的实施例中第一业务节点执行的全部或部分步骤,图9所示的报文处理装置用于执行图2A和图4C所示的实施例中第一网络节点执行的全部或部分步骤。
可选的,该网络系统还包括图9所示的报文处理装置。如图9所示的报文处理装置用 于执行图6A所示的实施例中代理节点执行的全部或部分步骤。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得该计算机执行如上述图2A、图3A、图4C、图5A、图6A和图7所示的实施例的报文处理方法。
本申请实施例还提供了一种计算机可读存储介质,包括计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如上述图2A、图3A、图4C、图5A、图6A和图7所示的实施例的报文处理方法。
本申请实施例还提供一种芯片装置,包括处理器,用于与存储器相连,调用该存储器中存储的程序,以使得该处理器执行上述图2A、图3A、图4C、图5A、图6A和图7所示的实施例的报文处理方法。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述图2A、图3A、图4C、图5A、图6A和图7所示的实施例中的报文处理方法的程序执行的集成电路。上述任一处提到的存储器可以为只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码 的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (64)
- 一种报文处理方法,其特征在于,所述方法包括:第一业务节点获取第一业务数据,所述第一业务数据携带第一业务信息,所述第一业务信息用于指示所述第一业务数据所对应的业务;所述第一业务节点根据所述第一业务信息确定第一路径矢量,所述第一路径矢量包括一个或多个节点的端口的端口信息;所述第一业务节点生成包含所述第一路径矢量的第一报文,所述第一路径矢量用于所述第一业务节点发送所述第一报文。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一路径矢量包含所述第一业务节点的端口信息,则所述第一业务节点发送包含第二路径矢量的第一报文,所述第二路径矢量为删除所述第一路径矢量中的所述第一业务节点的端口信息后的路径矢量;若所述第一路径矢量不包含所述第一业务节点的端口信息,则所述第一业务节点发送包含所述第一路径矢量的第一报文。
- 根据权利要求1或2所述的方法,其特征在于,所述第一业务节点根据所述第一业务信息确定第一路径矢量,包括:所述第一业务节点根据第一路径矢量映射关系确定所述第一业务信息对应的所述第一路径矢量,所述第一路径矢量映射关系用于指示所述第一业务信息与所述第一路径矢量之间的映射关系。
- 根据权利要求3所述的方法,其特征在于,所述第一业务信息与所述第一路径矢量之间的映射关系,包括:所述第一业务信息包括第一业务标识;所述第一业务节点根据所述第一业务标识确定第一转发路径,所述第一转发路径的起始节点为所述第一业务节点,所述第一转发路径的目的节点为第二业务节点,所述第二业务节点用于为所述第一业务节点提供所述第一业务标识所对应的业务服务;所述第一业务节点根据第一端口信息生成所述第一路径矢量,所述第一端口信息为所述第一转发路径上的节点用于输出的端口的端口信息。
- 根据权利要求4所述的方法,其特征在于,所述方法还包括:所述第一业务节点获取第二端口信息和第二业务标识,所述第二端口信息为第一网络包括的节点的端口的端口信息,所述第二业务标识为所述第一网络包括的业务节点所支持的业务的业务标识,所述第一网络为所述第一业务节点接入的网络;所述第一业务节点根据所述第二端口信息和所述第二业务标识生成一个或多个转发路径,所述一个或多个转发路径包括所述第一转发路径。
- 根据权利要求5所述的方法,其特征在于,所述第一网络包括一个或多个虚拟节点,所述虚拟节点包括入口子节点和出口子节点,所述第二端口信息包括所述一个或多个虚拟节点的外部端口的端口信息,所述外部端口为所述入口子节点的入口端口和所述出口子节点的出口端口。
- 根据权利要求4至6中任一项所述的方法,其特征在于,所述第一端口信息包括一个或多个端口分量,所述端口分量与所述第一转发路径上的节点中用于输出的端口对应;所述第一业务节点根据所述第一端口信息生成所述第一路径矢量,包括:所述第一业务节点按照预设的密钥分别对所述一个或多个端口分量加密,并生成所述第一路径矢量。
- 根据权利要求7所述的方法,其特征在于,对所述一个或多个端口分量加密的密钥不相同。
- 根据权利要求2至8中任一项所述的方法,其特征在于,所述第一路径矢量包括至少一个节点的端口分量;所述第一业务节点发送包含第二路径矢量的第一报文,包括:所述第一业务节点根据所述第一路径矢量的第一个端口分量确定所述第一业务节点的第一端口;所述第一业务节点删除所述第一路径矢量的第一个端口分量,得到所述第二路径矢量;所述第一业务节点通过所述第一业务节点的第一端口发送包含所述第二路径矢量的第一报文。
- 根据权利要求9所述的方法,其特征在于,所述第一业务节点根据所述第一路径矢量的第一个端口分量确定所述第一业务节点的第一端口,包括:所述第一业务节点确定所述第一业务节点包含的端口数量;所述第一业务节点根据所述端口数量确定第一位宽X,所述第一位宽X为用于表示所述第一业务节点的第一端口的端口信息的二进制数形式的位宽,其中,X为大于或等于1的整数;所述第一业务节点将所述第一路径矢量的前X位二进制数作为所述第一端口的端口信息。
- 根据权利要求9所述的方法,其特征在于,所述第一业务节点根据所述第一路径矢量的第一个端口分量确定所述第一业务节点的第一端口,包括:所述第一业务节点判断第一份二进制数中的首位二进制数的数值是否为第一数值,所述第一份二进制数为所述第一路径矢量的前Y位二进制数,Y为预设的用于表示第一业务节点的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若所述首位二进制数的数值为所述第一数值,则所述第一业务节点判断第二份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的所述第一份二进制数放置到去除首位二进制数的所述第二份二进制数之后,获取Y-2位二进制数序列,将所述Y-2位二进制数序列作为所述第一端口的端口信息,所述第二份二进制数为所述第一路径矢量的第Y+1位二进制数至所述第一路径矢量的第2Y位二进制数;若所述首位二进制数的数值不为所述第一数值,则所述第一业务节点将去除首位二进制数的所述第一份二进制数作为所述第一端口的端口信息。
- 根据权利要求1至11中任一项所述的方法,其特征在于,所述第一报文还携带所述第一业务节点的第一信源信息,所述第一信源信息为以下任一种信息:互联网协议internet protocol地址、媒体接入控制media access control地址、名称、或者、身份 标识identity。
- 根据权利要求1至12中的任一项所述的方法,其特征在于,所述方法还包括:所述第一业务节点根据所述第一业务信息确定多个路径矢量,所述多个路径矢量与多个转发路径一一对应;所述第一业务节点获取多份业务数据,所述多份业务数据与所述多个路径矢量一一对应,所述多份业务数据分别携带所述第一业务信息;所述第一业务节点分别将所述多份业务数据映射至所述多个路径矢量中对应的路径矢量,所述映射用于所述多个转发路径的负载均衡。
- 根据权利要求1或2所述的方法,其特征在于,所述第一业务节点根据所述第一业务信息确定第一路径矢量,包括:所述第一业务节点判断是否存在所述第一业务信息对应的第一路径矢量;若是,则所述第一业务节点确定所述第一业务信息对应的第一路径矢量;若否,则所述第一业务节点确定第一默认路径矢量为所述第一路径矢量,所述第一默认路径矢量所指向的目的节点为代理节点;其中,所述代理节点为代理所述第一业务节点与第三业务节点进行通信的网关设备,且所述代理节点用于向所述第三业务节点发送所述第一报文,以使得所述第三业务节点为所述第一业务节点提供所述第一业务数据所对应的业务服务。
- 一种报文处理方法,其特征在于,所述方法包括:第一网络节点接收包含第三路径矢量的第一报文,所述第三路径矢量包括一个或多个节点的端口的端口信息;所述第一网络节点根据所述第三路径矢量发送所述第一报文。
- 根据权利要求15所述的方法,其特征在于,所述端口信息包括一个或多个端口分量;所述第一网络节点根据所述第三路径矢量发送所述第一报文,包括:所述第一网络节点根据所述第三路径矢量的第一个端口分量确定所述第一网络节点的第二端口;所述第一网络节点删除所述第三路径矢量的第一个端口分量,得到第四路径矢量;所述第一网络节点通过所述第二端口发送包含所述第四路径矢量的第一报文。
- 根据权利要求16所述的方法,其特征在于,所述第一网络节点根据所述第三路径矢量的第一个端口分量确定所述第一网络节点的第二端口,包括:所述第一网络节点按照预设的密钥对所述第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量;所述第一网络节点通过所述解密后的第一个端口分量确定所述第一网络节点的第二端口的端口信息。
- 根据权利要求16或17所述的方法,其特征在于,所述第一网络节点根据所述第三路径矢量的第一个端口分量确定所述第一网络节点的第二端口,包括:所述第一网络节点确定所述第一网络节点包含的端口数量;所述第一网络节点根据所述端口数量确定第二位宽Z,所述第二位宽Z为用于表示所 述第一网络节点的第二端口的端口信息的二进制数形式的位宽,其中,Z为大于或等于1的整数;所述第一网络节点将所述第三路径矢量的前Z位二进制数作为所述第二端口的端口信息。
- 根据权利要求16或17所述的方法,其特征在于,所述第一网络节点根据所述第三路径矢量的第一个端口分量确定所述第一网络节点的第二端口,包括:所述第一网络节点判断第三份二进制数中的首位二进制数的数值是否为第一数值,所述第三份二进制数为所述第三路径矢量的前Y位二进制数,Y为预设的用于表示所述第一网络节点的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若所述首位二进制数的数值为所述第一数值,则所述第一网络节点判断第四份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的所述第三份二进制数放置到去除首位二进制数的所述第四份二进制数之后,获取Y-2位二进制数的序列,将所述Y-2位二进制数序列作为所述第二端口的端口信息,所述第四份二进制数为所述第四路径矢量的第Y+1位二进制数至所述第四路径矢量的第2Y位二进制数;若所述首位二进制数的数值不为所述第一数值,则所述第一网络节点将去除首位二进制数的所述第三份二进制数作为所述第二端口的端口信息。
- 根据权利要求15所述的方法,其特征在于,所述端口信息包括一个或多个端口分量,所述第一网络节点为第一虚拟节点的第一入口子节点,所述第一虚拟节点包括所述第一入口子节点和第一出口子节点;所述第一网络节点根据所述第三路径矢量发送所述第一报文,包括:所述第一网络节点确定所述第三路径矢量的第一个端口分量对应所述第一出口子节点的第三端口;所述第一网络节点确定第一子路径矢量,所述第一子路径矢量所指向的目的节点为所述第一出口子节点;所述第一网络节点根据所述第一子路径矢量和所述第三路径矢量发送所述第一报文。
- 根据权利要求20所述的方法,其特征在于,所述第一网络节点根据所述第一子路径矢量和所述第三路径矢量发送所述第一报文,包括:所述第一网络节点根据所述第一子路径矢量的第一个端口分量确定所述第一网络节点的第二端口;所述第一网络节点删除所述第一子路径矢量的第一个端口分量,得第二子路径矢量;所述第一网络节点通过所述第一网络节点的第二端口发送包含所述第二子路径矢量和所述第三路径矢量的第一报文。
- 根据权利要求20或21所述的方法,其特征在于,所述第一网络节点确定第一子路径矢量包括:所述第一网络节点根据子路径矢量映射关系确定所述第三端口所对应的第一子路径矢量,所述子路径矢量映射关系用于指示所述第三端口与所述第一子路径矢量之间的映射关系。
- 根据权利要求22所述的方法,其特征在于,所述第三端口与所述第一子路径矢量之间的映射关系,包括:所述第一网络节点根据所述第三端口确定第二转发路径,所述第二转发路径的起始子节点为所述第一入口子节点,所述第二转发路径的目的子节点为所述第一出口子节点;所述第一网络节点根据第三端口信息生成所述第一子路径矢量,所述第三端口信息为所述第二转发路径上的子节点用于输出的端口的端口信息。
- 根据权利要求23所述的方法,其特征在于,所述方法还包括:所述第一网络节点获取第四端口信息,所述第四端口信息包括所述第一虚拟节点包括的子节点的端口的端口信息;所述第一网络节点根据所述第四端口信息生成一个或多个转发路径,所述一个或多个转发路径包括所述第二转发路径。
- 一种报文处理方法,其特征在于,所述方法包括:代理节点接收第四业务节点的第二报文,所述第二报文携带第二业务信息;所述代理节点根据所述第二业务信息确定第五路径矢量,所述第五路径矢量包括至少一个或多个节点的端口的端口信息;所述代理节点生成包含所述第五路径矢量的第二报文,所述第五路径矢量用于所述代理节点向第五业务节点发送所述第二报文,以使得所述第五业务节点为所述第四业务节点提供所述第一业务信息所对应的业务服务。
- 根据权利要求25所述的方法,其特征在于,所述第四业务节点和所述第五业务节点归属同一网络;或者,所述第四业务节点和所述第五业务节点归属不同的网络。
- 根据权利要求25或26所述的方法,其特征在于,所述代理节点根据所述第二业务信息确定第五路径矢量,包括:所述代理节点根据第二路径矢量映射关系确定所述第二业务信息对应的所述第五路径矢量,所述第二路径矢量映射关系用于指示所述第二业务信息与所述第五路径矢量之间的映射关系。
- 根据权利要求27所述的方法,其特征在于,所述第二业务信息与所述第五路径矢量之间的映射关系,包括:所述第二业务信息包括第三业务标识;所述代理节点根据所述第三业务标识确定第三转发路径,所述第三转发路径的起始节点为所述代理节点,所述第三转发路径的目的节点为所述第五业务节点;所述代理节点根据第五端口信息生成所述第五路径矢量,所述第五端口信息为所述第三转发路径上的节点中用于输出的端口的端口信息。
- 根据权利要求28所述的方法,其特征在于,所述代理节点为连接第一网络和第二网络的网关设备;所述方法还包括:所述代理节点通过路由协议获取所述第六端口信息和所述第四业务标识,所述第六端口信息包括所述第一网络包括的节点的端口的端口信息和所述第二网络包括的节点的端口的端口信息,所述第四业务标识包括所述第一网络包括的业务节点所支持的业务的业务标 识和所述第二网络包括的业务节点所支持的业务的业务标识;所述代理节点根据所述第六端口信息和所述第四业务标识生成一个或多个转发路径,所述一个或多个转发路径包括所述第三转发路径。
- 根据权利要求25所述的方法,其特征在于,所述方法包括:所述代理节点接收所述第一业务节点的第一报文,所述第一报文携带所述第一业务信息,所述第一业务节点归属所述第一网络;所述代理节点根据所述第一业务信息确定第六路径矢量,所述第六路径矢量包括至少一个或多个节点的端口的端口信息;所述代理节点生成包含所述第六路径矢量的第一报文,所述第六路径矢量用于所述代理节点向第三业务节点发送所述第一报文,以使得所述第三业务节点为所述第一业务节点提供所述第一业务信息所对应的业务服务,所述第三业务节点归属所述第二网络。
- 一种报文处理装置,其特征在于,所述报文处理装置包括:获取单元,用于获取第一业务数据,所述第一业务数据携带第一业务信息,所述第一业务信息用于指示所述第一业务数据所对应的业务;确定单元,用于根据所述第一业务信息确定第一路径矢量,所述第一路径矢量包括一个或多个节点的端口的端口信息;生成单元,用于生成包含所述第一路径矢量的第一报文,所述第一路径矢量用于所述报文处理装置发送所述第一报文。
- 根据权利要求31所述的报文处理装置,其特征在于,所述报文处理装置还包括发送单元;所述发送单元,用于若所述第一路径矢量包含所述报文处理装置的端口信息,则发送包含第二路径矢量的第一报文,所述第二路径矢量为删除所述第一路径矢量中的所述报文处理装置的端口信息后的路径矢量;若所述第一路径矢量不包含所述报文处理装置的端口信息,则发送包含所述第一路径矢量的第一报文。
- 根据权利要求31或32所述的报文处理装置,其特征在于,所述确定单元具体用于:根据第一路径矢量映射关系确定所述第一业务信息对应的所述第一路径矢量,所述第一路径矢量映射关系用于指示所述第一业务信息与所述第一路径矢量之间的映射关系。
- 根据权利要求33所述的报文处理装置,其特征在于,所述第一业务信息与所述第一路径矢量之间的映射关系,包括:所述第一业务信息包括第一业务标识;所述报文处理装置根据所述第一业务标识确定第一转发路径,所述第一转发路径的起始节点为所述报文处理装置,所述第一转发路径的目的节点为第二业务节点,所述第二业务节点用于为所述报文处理装置提供所述第一业务标识所对应的业务服务;所述报文处理装置根据第一端口信息生成所述第一路径矢量,所述第一端口信息为所述第一转发路径上的节点用于输出的端口的端口信息。
- 根据权利要求34所述的报文处理装置,其特征在于,所述获取单元还用于:获取第二端口信息和第二业务标识,所述第二端口信息为第一网络包括的节点的端口的端口信息,所述第二业务标识为所述第一网络包括的业务节点所支持的业务的业务标识,所述第一网络为所述报文处理装置接入的网络;所述生成单元还用于:根据所述第二端口信息和所述第二业务标识生成一个或多个转发路径,所述一个或多个转发路径包括所述第一转发路径。
- 根据权利要求35所述的报文处理装置,其特征在于,所述第一网络包括一个或多个虚拟节点,所述虚拟节点包括入口子节点和出口子节点,所述第二端口信息包括所述一个或多个虚拟节点的外部端口的端口信息,所述外部端口为所述入口子节点的入口端口和所述出口子节点的出口端口。
- 根据权利要求34至36中任一项所述的报文处理装置,其特征在于,所述第一端口信息包括一个或多个端口分量,所述端口分量与所述第一转发路径上的节点中用于输出的端口对应;所述确定单元具体用于:按照预设的密钥分别对所述一个或多个端口分量加密,并生成所述第一路径矢量。
- 根据权利要求37所述的报文处理装置,其特征在于,对所述一个或多个端口分量加密的密钥不相同。
- 根据权利要求32至38中任一项所述的报文处理装置,其特征在于,所述第一路径矢量包括至少一个节点的端口分量;所述发送单元具体用于:根据所述第一路径矢量的第一个端口分量确定所述报文处理装置的第一端口;删除所述第一路径矢量的第一个端口分量,得到所述第二路径矢量;通过所述报文处理装置的第一端口发送包含所述第二路径矢量的第一报文。
- 根据权利要求39所述的报文处理装置,其特征在于,所述发送单元具体用于:确定所述报文处理装置包含的端口数量;根据所述端口数量确定第一位宽X,所述第一位宽X为用于表示所述报文处理装置的第一端口的端口信息的二进制数形式的位宽,其中,X为大于或等于1的整数;将所述第一路径矢量的前X位二进制数作为所述第一端口的端口信息。
- 根据权利要求39所述的报文处理装置,其特征在于,所述发送单元具体用于:判断第一份二进制数中的首位二进制数的数值是否为第一数值,所述第一份二进制数为所述第一路径矢量的前Y位二进制数,Y为预设的用于表示所述报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若所述首位二进制数的数值为所述第一数值,则判断第二份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的所述第一份二进制数放置到去除首位二进制数的所述第二份二进制数之后,获取Y-2位二进制数序列,将所述Y-2位二进制数序列作为所述第一端口的端口信息,所述第二份二进制数为所述第一路径矢量的第Y+1位二进制数至所述第一路径矢量的第2Y位二进制数;若所述首位二进制数的数值不为所述第一数值,则将去除首位二进制数的所述第一份二进制数作为所述第一端口的端口信息。
- 根据权利要求31至41中任一项所述的报文处理装置,其特征在于,所述第一报文还携带所述报文处理装置的第一信源信息,所述第一信源信息为以下任一种信息:互联网协议internet protocol地址、媒体接入控制media access control地址、名称、或者、身份标识identity。
- 根据权利要求31至42中任一项所述的报文处理装置,其特征在于,所述报文处理装置还包括映射单元;所述确定单元还用于:根据所述第一业务信息确定多个路径矢量,所述多个路径矢量与多个转发路径一一对应;所述获取单元还用于:获取多份业务数据,所述多份业务数据与所述多个路径矢量一一对应,所述多份业务数据分别携带所述第一业务信息;所述映射单元,用于分别将所述多份业务数据映射至所述多个路径矢量中对应的路径矢量,所述映射用于所述多个转发路径的负载均衡。
- 根据权利要求31或32所述的报文处理装置,其特征在于,所述确定单元具体用于:判断是否存在所述第一业务信息对应的第一路径矢量;若是,则确定所述第一业务信息对应的第一路径矢量;若否,则确定第一默认路径矢量为所述第一路径矢量,所述第一默认路径矢量所指向的目的节点为代理节点;其中,所述代理节点为代理所述报文处理装置与第三业务节点进行通信的网关设备,且所述代理节点用于向所述第三业务节点发送所述第一报文,以使得所述第三业务节点为所述报文处理装置提供所述第一业务数据所对应的业务服务。
- 一种报文处理装置,其特征在于,所述报文处理装置包括:接收单元,用于接收包含第三路径矢量的第一报文,所述第三路径矢量包括一个或多个节点的端口的端口信息;发送单元,用于根据所述第三路径矢量发送所述第一报文。
- 根据权利要求45所述的报文处理装置,其特征在于,所述端口信息包括一个或多个端口分量;所述发送单元具体用于:根据所述第三路径矢量的第一个端口分量确定所述报文处理装置的第二端口;删除所述第三路径矢量的第一个端口分量,得到第四路径矢量;通过所述第二端口发送包含所述第四路径矢量的第一报文。
- 根据权利要求46所述的报文处理装置,其特征在于,所述发送单元具体用于:按照预设的密钥对所述第三路径矢量的第一个端口分量进行解密,得到解密后的第一个端口分量;通过所述解密后的第一个端口分量确定所述报文处理装置的第二端口的端口信息。
- 根据权利要求46或47所述的报文处理装置,其特征在于,所述发送单元具体用于:确定所述报文处理装置包含的端口数量;根据所述端口数量确定第二位宽Z,所述第二位宽Z为用于表示所述报文处理装置的第二端口的端口信息的二进制数形式的位宽,其中,Z为大于或等于1的整数;将所述第三路径矢量的前Z位二进制数作为所述第二端口的端口信息。
- 根据权利要求46或47所述的报文处理装置,其特征在于,所述发送单元具体用于:判断第三份二进制数中的首位二进制数的数值是否为第一数值,所述第三份二进制数为所述第三路径矢量的前Y位二进制数,Y为预设的用于表示所述报文处理装置的端口的端口信息的二进制数形式的单位位宽,其中,Y为大于或等于1的整数;若所述首位二进制数的数值为所述第一数值,则判断第四份二进制数中的首位二进制数的数值是否为所述第一数值,若否,则将去除首位二进制数的所述第三份二进制数放置到去除首位二进制数的所述第四份二进制数之后,获取Y-2位二进制数的序列,将所述Y-2位二进制数序列作为所述第二端口的端口信息,所述第四份二进制数为所述第四路径矢量的第Y+1位二进制数至所述第四路径矢量的第2Y位二进制数;若所述首位二进制数的数值不为所述第一数值,则将去除首位二进制数的所述第三份二进制数作为所述第二端口的端口信息。
- 根据权利要求45所述的报文处理装置,其特征在于,所述端口信息包括一个或多个端口分量,所述报文处理装置为第一虚拟节点的第一入口子节点,所述第一虚拟节点包括所述第一入口子节点和第一出口子节点;所述发送单元具体用于:确定所述第三路径矢量的第一个端口分量对应所述第一出口子节点的第三端口;确定第一子路径矢量,所述第一子路径矢量所指向的目的节点为所述第一出口子节点;根据所述第一子路径矢量和所述第三路径矢量发送所述第一报文。
- 根据权利要求50所述的报文处理装置,其特征在于,所述发送单元具体用于:根据所述第一子路径矢量的第一个端口分量确定所述报文处理装置的第二端口;删除所述第一子路径矢量的第一个端口分量,得第二子路径矢量;通过所述报文处理装置的第二端口发送包含所述第二子路径矢量和所述第三路径矢量的第一报文。
- 根据权利要求50或51所述的报文处理装置,其特征在于,所述确定单元具体用于:根据子路径矢量映射关系确定所述第三端口所对应的第一子路径矢量,所述子路径矢量映射关系用于指示所述第三端口与所述第一子路径矢量之间的映射关系。
- 根据权利要求52所述的报文处理装置,其特征在于,所述第三端口与所述第一子路径矢量之间的映射关系,包括:所述报文处理装置根据所述第三端口确定第二转发路径,所述第二转发路径的起始子节点为所述第一入口子节点,所述第二转发路径的目的子节点为所述第一出口子节点;所述报文处理装置根据第三端口信息生成所述第一子路径矢量,所述第三端口信息为所述第二转发路径上的子节点用于输出的端口的端口信息。
- 根据权利要求53所述的报文处理装置,其特征在于,所述报文处理装置还包括获取单元和生成单元;所述获取单元,用于获取第四端口信息,所述第四端口信息包括所述第一虚拟节点包括的子节点的端口的端口信息;所述生成单元,用于根据所述第四端口信息生成一个或多个转发路径,所述一个或多个转发路径包括所述第二转发路径。
- 一种报文处理装置,其特征在于,所述报文处理装置包括:接收单元,用于接收第四业务节点的第二报文,所述第二报文携带第二业务信息;确定单元,用于根据所述第二业务信息确定第五路径矢量,所述第五路径矢量包括至少一个或多个节点的端口的端口信息;生成单元,用于生成包含所述第五路径矢量的第二报文,所述第五路径矢量用于所述报文处理装置向第五业务节点发送所述第二报文,以使得所述第五业务节点为所述第四业务节点提供所述第一业务信息所对应的业务服务。
- 根据权利要求55所述的报文处理装置,其特征在于,所述第四业务节点和所述第五业务节点归属同一网络;或者,所述第四业务节点和所述第五业务节点归属不同的网络。
- 根据权利要求55或56所述的报文处理装置,其特征在于,所述确定单元具体用于:根据第二路径矢量映射关系确定所述第二业务信息对应的所述第五路径矢量,所述第二路径矢量映射关系用于指示所述第二业务信息与所述第五路径矢量之间的映射关系。
- 根据权利要求57所述的报文处理装置,其特征在于,所述第二业务信息与所述第五路径矢量之间的映射关系,包括:所述第二业务信息包括第三业务标识;所述报文处理装置根据所述第三业务标识确定第三转发路径,所述第三转发路径的起始节点为所述报文处理装置,所述第三转发路径的目的节点为所述第五业务节点;所述报文处理装置根据第五端口信息生成所述第五路径矢量,所述第五端口信息为所述第三转发路径上的节点中用于输出的端口的端口信息。
- 根据权利要求58所述的报文处理装置,其特征在于,所述报文处理装置为连接第一网络和第二网络的网关设备;所述报文处理装置还包括获取单元;所述获取单元,用于获取所述第六端口信息和所述第四业务标识,所述第六端口信息包括所述第一网络包括的节点的端口的端口信息和所述第二网络包括的节点的端口的端口信息,所述第四业务标识包括所述第一网络包括的业务节点所支持的业务的业务标识和所述第二网络包括的业务节点所支持的业务的业务标识;所述生成单元还用于:根据所述第六端口信息和所述第四业务标识生成一个或多个转发路径,所述一个或多个转发路径包括所述第三转发路径。
- 根据权利要求55所述的报文处理装置,其特征在于,所述接收单元还用于:接收所述第一业务节点的第一报文,所述第一报文携带所述第一业务信息,所述第一 业务节点归属所述第一网络;所述确定单元还用于:根据所述第一业务信息确定第六路径矢量,所述第六路径矢量包括至少一个或多个节点的端口的端口信息;所述生成单元还用于:生成包含所述第六路径矢量的第一报文,所述第六路径矢量用于所述报文处理装置向第三业务节点发送所述第一报文,以使得所述第三业务节点为所述第一业务节点提供所述第一业务信息所对应的业务服务,所述第三业务节点归属所述第二网络。
- 一种报文处理装置,其特征在于,所述报文处理装置包括处理器,用于与存储器相连,调用所述存储器中存储的程序,以执行如权利要求1至14中任一项所述的方法,或者,执行如权利要求15至24中任一项所述的方法,或者,执行如权利要求25至30中任一项所述的方法。
- 一种报文处理装置,其特征在于,所述报文处理装置包括存储器和处理器,所述存储器用于存储计算机存储计算机程序,所述处理器用于从所述存储器中调用并运行计算机程序,使得所述处理器执行如权利要求1至14中任一项所述的方法,或者,执行如权利要求15至24中任一项所述的方法,或者,执行如权利要求25至30中任一项所述的方法。
- 一种报文处理装置,其特征在于,所述报文处理装置包括收发器、处理器和存储器;所述处理器用于控制所述收发器收发信号;所述存储器用于存储计算机程序;所述处理器还用于调用并运行所述存储器中存储的所述计算机程序,使得所述报文处理装置执行所述权利要求1至14中任一项所述的方法,或者,使得所述报文处理装置执行所述权利要求15至24中任一项所述的方法,或者,使得所述报文处理装置执行如权利要求25至30中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1至14中任一项所述的方法,或者,使得所述计算机执行如权利要求15至24中任一项所述的方法,或者,使得所述计算机执行如权利要求25至30中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642126.4 | 2020-07-06 | ||
CN202010642126.4A CN113973080A (zh) | 2020-07-06 | 2020-07-06 | 报文处理方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022007701A1 true WO2022007701A1 (zh) | 2022-01-13 |
Family
ID=79553599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/103987 WO2022007701A1 (zh) | 2020-07-06 | 2021-07-01 | 报文处理方法及其装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113973080A (zh) |
WO (1) | WO2022007701A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277524A (zh) * | 2021-04-29 | 2022-11-01 | 华为技术有限公司 | 路径学习方法、装置、业务节点及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1030679A (zh) * | 1987-03-13 | 1989-01-25 | 北方电讯有限公司 | 通信系统、部件及其使用方法 |
US20090067445A1 (en) * | 2005-10-28 | 2009-03-12 | Centre National De La Recherche Scientifique | Router and routing network |
CN104604192A (zh) * | 2012-10-05 | 2015-05-06 | 思科技术公司 | Mpls分段路由 |
CN105493455A (zh) * | 2014-03-12 | 2016-04-13 | 华为技术有限公司 | 压缩的源路由编码 |
CN105850082A (zh) * | 2013-08-23 | 2016-08-10 | 华为技术有限公司 | 网络中的分段源路由 |
WO2020088339A1 (en) * | 2018-10-31 | 2020-05-07 | Alibaba Group Holding Limited | Method and system for accessing cloud services |
-
2020
- 2020-07-06 CN CN202010642126.4A patent/CN113973080A/zh active Pending
-
2021
- 2021-07-01 WO PCT/CN2021/103987 patent/WO2022007701A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1030679A (zh) * | 1987-03-13 | 1989-01-25 | 北方电讯有限公司 | 通信系统、部件及其使用方法 |
US20090067445A1 (en) * | 2005-10-28 | 2009-03-12 | Centre National De La Recherche Scientifique | Router and routing network |
CN104604192A (zh) * | 2012-10-05 | 2015-05-06 | 思科技术公司 | Mpls分段路由 |
CN105850082A (zh) * | 2013-08-23 | 2016-08-10 | 华为技术有限公司 | 网络中的分段源路由 |
CN105493455A (zh) * | 2014-03-12 | 2016-04-13 | 华为技术有限公司 | 压缩的源路由编码 |
WO2020088339A1 (en) * | 2018-10-31 | 2020-05-07 | Alibaba Group Holding Limited | Method and system for accessing cloud services |
Also Published As
Publication number | Publication date |
---|---|
CN113973080A (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10122622B2 (en) | Exchanging application metadata for application context aware service insertion in service function chain | |
US9319303B2 (en) | Scalable IP-services enabled multicast forwarding with efficient resource utilization | |
WO2021073565A1 (zh) | 业务服务提供方法及系统 | |
TWI744359B (zh) | 一種資料傳輸的方法及網路設備 | |
JP3263878B2 (ja) | 暗号通信システム | |
KR101097548B1 (ko) | 디지털 오브젝트 타이틀 인증 | |
CN101494538B (zh) | 一种数据传输控制方法及通讯系统以及加密控制网元 | |
US20020184487A1 (en) | System and method for distributing security processing functions for network applications | |
WO2021073555A1 (zh) | 业务服务提供方法及系统、远端加速网关 | |
WO2010020151A1 (zh) | 报文处理方法、装置和系统 | |
KR101116109B1 (ko) | 디지털 오브젝트 타이틀 및 송신 정보 | |
WO2022007701A1 (zh) | 报文处理方法及其装置 | |
CN107135118B (zh) | 一种单播通信方法、网关以及vxlan接入设备 | |
US11818035B2 (en) | Augmented routing of data | |
CN109194558B (zh) | 隧道报文认证转发方法及系统 | |
CN112636913B (zh) | 一种密钥共享的组网方法 | |
Fahrianto et al. | The dual-channel IP-to-NDN translation gateway | |
Bahnasse et al. | Performance Evaluation of Web-based Applications and VOIP in Protected Dynamic and Multipoint VPN | |
CN111131046B (zh) | 报文转发方法和多核系统 | |
CN111464449B (zh) | 一种域间流量本地化交换方法 | |
KR20220073421A (ko) | Ip코어 네트워크를 경유하는 정보 중심 네트워킹 방법 및 장치 | |
CN117041156A (zh) | 通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21838441 Country of ref document: EP Kind code of ref document: A1 |