WO2014205660A1 - Method, apparatus and routing device for forwarding data packet - Google Patents

Method, apparatus and routing device for forwarding data packet Download PDF

Info

Publication number
WO2014205660A1
WO2014205660A1 PCT/CN2013/077967 CN2013077967W WO2014205660A1 WO 2014205660 A1 WO2014205660 A1 WO 2014205660A1 CN 2013077967 W CN2013077967 W CN 2013077967W WO 2014205660 A1 WO2014205660 A1 WO 2014205660A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
semantic
data
header
packet
Prior art date
Application number
PCT/CN2013/077967
Other languages
French (fr)
Chinese (zh)
Inventor
傅瑜
蒋胜
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201380000486.2A priority Critical patent/CN103748842B/en
Priority to PCT/CN2013/077967 priority patent/WO2014205660A1/en
Publication of WO2014205660A1 publication Critical patent/WO2014205660A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to the field of data communications, and in particular, to a method, an apparatus, and a routing device for forwarding a data packet.
  • a data packet In the field of data communication, a data packet is generally composed of a header and a data, wherein the data belongs to a payload, which is a part of the communication system that the receiver really needs, and the packet header enables the data to be smoothly transmitted from the sender to the sender.
  • Information attached to the recipient including a five-tuple.
  • the so-called quintuple usually refers to a set consisting of five sources: source address, source port, destination address, destination port, and protocol type.
  • ⁇ 192.168.1.1 10000 TCP 121.14.88.76 80> constitutes a quintuple
  • 192.168.1.1 is the source IP address
  • 10000 is the source port
  • TCP is the protocol type
  • 121.14.88.76 is the destination IP address
  • 80 is the destination port.
  • the meaning of the quintuple is that a terminal with an IP address of 192.168.1.1 passes the port 10000, uses the TCP protocol, and the terminal with the IP address is 121.14.88.76 and the port is 80; the quintuple is data.
  • the bag header can uniquely identify important information for a session.
  • the quintuple can uniquely determine a session. Therefore, when an existing router forwards a data packet, it usually parses the packet header after receiving a data packet, and solves the five-member packet of the data packet. group. Based on the information in the quintuple and determining the next hop route by looking up the routing table, the data packet is forwarded to the next routing device and finally transmitted to the receiver of the data packet. For the router, if it is necessary to determine whether the currently received packet and the previous packet are the same stream, it is necessary to record the quintuple information of each packet.
  • the process of forwarding a data packet from the above prior art shows that the intermediate router determines the routing path according to the IP address carried in the data packet, so that although all source addresses and destination addresses of the same data stream are the same, they are received. All routers of these packets need to parse the headers of these packets to determine the next hop route, and then forward the packet, and the forwarding efficiency of the packet is relatively low.
  • Embodiments of the present invention provide a method, an apparatus, and a routing device for forwarding a data packet, so as to improve forwarding efficiency of data packets.
  • An embodiment of the present invention provides a method for forwarding a data packet, where the method includes:
  • Adding a semantic header to an outer layer of the original header of the data packet where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
  • the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
  • Another embodiment of the present invention provides a method for transmitting a data packet, the method comprising: receiving a data packet, where the data packet includes a semantic packet header, where the semantic packet header is configured to identify the data packet as carrying a semantic tag The identification bit of the data packet;
  • the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
  • Another embodiment of the present invention provides a method for transmitting a data packet, where the method includes: receiving a data packet;
  • Adding a semantic header to an outer layer of the original header of the data packet where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
  • Another embodiment of the present invention provides an apparatus for forwarding a data packet, where the apparatus includes: a first receiving module, configured to receive a data packet;
  • a first semantic packet header generating module configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
  • a first record adding module configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data flow;
  • the first sending module is configured to send the first data packet according to a next hop route of the first data packet.
  • a second receiving module configured to receive a data packet, where the data packet includes a semantic packet header, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
  • a packet header parsing module configured to parse a semantic header of the data packet
  • a second record adding module configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data flow;
  • a second sending module configured to send the first data packet according to a next hop route of the first data packet.
  • Another embodiment of the present invention provides an apparatus for forwarding a data packet, where the apparatus includes:
  • a third receiving module configured to receive a data packet
  • a second semantic packet header generating module configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
  • a third forwarding module configured to forward the data packet according to the semantic header.
  • the method for forwarding a data packet is exempt from the data, as compared with the prior art, which is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet) and then forward the data packet through the query routing table.
  • the analysis of the original packet header shortens the time for forwarding the data packet and improves the efficiency of forwarding the data packet.
  • FIG. 1 is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of an IP data packet including a semantic header according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a data record table according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a data record table according to another embodiment of the present invention.
  • Figure 3-c is a schematic diagram of a data record table according to another embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a method for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a data record table according to another embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a method for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of an apparatus for forwarding a data packet according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention;
  • FIG. 12 is another embodiment of the present invention;
  • FIG. 1 is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention.
  • the executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator.
  • the method illustrated in FIG. 1 mainly includes step S101, step S102 and step S103, and the detailed description: 3 ⁇ 4 port:
  • the semantic header is an information body added to the outer layer of the original packet header, and may be generated by the routing device located at the edge of the network after receiving the data packet entering the network.
  • Figure 2 shows a schematic diagram of the structure of an IP packet containing a semantic header.
  • the semantic header of the example shown in FIG. 2 may include, in addition to the identifier bit, a stream identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, wherein the identifier bit is used to identify the data.
  • a package is a data packet carrying a semantic mark.
  • a semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax.
  • the semantic information may also be an implementation other than the XML syntax.
  • the semantic information may also be expressed using a program, for example, using an executable program.
  • the semantic header illustrated in FIG. 2 is a case where the stream identifier is independent of the semantic token.
  • the semantic token in the semantic header may also include the stream identifier.
  • the semantic markup may only contain the security requirement level, the user level and the traffic type, or only one semantic information in the security requirement level, the user level, the traffic type, and the flow identifier, or may be the semantic information described above. random combination.
  • semantic information is merely an exemplary description of the semantic markup, and the corresponding semantic information may be provided according to the requirements of the operator, and may be differentiated and forwarded during forwarding, thereby satisfying the operator's demand for differentiated services.
  • the data can be forwarded to the secure router according to the security requirement level, or the user-level data packet can be preferentially forwarded according to the user level.
  • the intermediate routing device of the network After receiving the packet-to-semantic header parsing, the intermediate routing device of the network, if it finds that there is an identifier, does not need to continue parsing the original packet header after the semantic packet header to forward the data packet.
  • the method for forwarding a data packet since only the semantic header of the received data packet needs to be parsed, according to the identifier bit of the data packet carrying the semantic identifier for identifying the data packet, It can be judged that the original packet header of the data packet need not be parsed again, but the data packet is directly forwarded. Therefore, compared with the prior art, it is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet), and then forward the data packet by querying the routing table.
  • the method of forwarding the data packet eliminates the parsing of the original packet header of the data packet, thereby shortening the time for forwarding the data packet and improving the efficiency of forwarding the data packet.
  • the executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator.
  • the method illustrated in FIG. 4 mainly includes step S401, step S402 and step S403, and the detailed description: 3 ⁇ 4 port:
  • the semantic header contains the stream identifier of the data stream to which the data packet belongs, and its structure is the same as that of the semantic header in the foregoing embodiment, as shown in FIG.
  • Semantic values in the semantic header can be defined in advance by the operator according to the differentiated requirements of the existing network, and are issued by a unified controller (Controller), or negotiated in advance in the carrier domain.
  • the semantic parsing table is directly delivered. After the router in the domain receives the data packet carrying the semantic packet header, the relevant processing rules according to the meaning of the semantic value can be dynamically configured by the operator or the network administrator.
  • the data packet is the first data packet of the data flow, add a record about the next hop route of the first data packet in the data record table.
  • the data record table records the next hop route of each data packet belonging to the same data stream according to the flow identifier carried by the carried semantic header. Since the data packet is the first data packet of the data flow, if there is no corresponding record of the first data packet in the data record table, the record of the next hop route of the first data packet may be added in the data record table, and the structure and structure thereof are The data recording table of any of the drawings of the foregoing embodiment from Fig. 3-a to Fig. 3-c is similar. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used.
  • the data packet marked by the flow is the first data packet of the data flow whose flow identifier is.
  • the next hop record of the data packet included in the data flow with no flow identifier is,
  • Figure 3-a shows an example of a data record table with corresponding records added. The data record table after the record is added is shown in Figure 5.
  • S404 Send the first data packet according to a next hop route of the first data packet.
  • the data record table does not have a record of the next hop route of the data packet, and therefore, the first data can be the same as the prior art.
  • the original packet header of the packet for example, the IP header, is parsed, and the next hop route is obtained by querying the routing table, and is sent out, for example, to the intermediate routing device.
  • step S401 If the data packet received in step S401 is a subsequent data packet of the data stream, a semantic packet header is added to the outer layer of the original packet header of the subsequent data packet, and the data record table is queried to obtain the next hop route of the first data packet. And then transmitting the subsequent data packet according to the record of the next hop route of the first data packet.
  • the semantic header may include a flow identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit.
  • flow ID flow identifier
  • the identifier bit is used to identify that the data packet is a data packet carrying a semantic mark
  • the semantic mark is used to represent semantic information of a certain special meaning
  • the syntax may be similar to the XML syntax.
  • the semantic information may also be an implementation other than the XML syntax.
  • the semantic information can also be expressed using a program, for example, using an executable program.
  • the flow identifier may be independent of the semantic mark.
  • the semantic mark in the semantic header may also include the flow identifier.
  • the semantic markup may only contain a security requirement level, a user level and a traffic type, or only one semantic information in a security requirement level, a user level, a traffic type, and a flow identifier, or may be the above semantic information. random combination.
  • the method for forwarding a data packet since the flow identifier of the data stream to which the data packet belongs is obtained only after the parsing semantic packet header is obtained, the data can be forwarded by querying the next hop route of the data packet from the data record table. package. Therefore, the method for forwarding a data packet provided by the embodiment of the present invention saves forwarding data, as compared with the prior art, which requires parsing the original packet header of the data packet (for example, the IP packet header of the IP data packet) and forwarding the data packet by querying the routing table. The time of the package improves the efficiency of forwarding packets.
  • the executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator.
  • the method illustrated in FIG. 6 mainly includes step S601, step S602, step S603, and step S604, which are described in detail as follows:
  • the data packet includes a semantic header
  • the semantic header includes an identification bit for identifying the data packet as a data packet carrying a semantic token.
  • the data record table records the next hop route of each data packet belonging to the same data stream according to the flow identifier carried by the carried semantic header. Since when the data packet is the first data packet of the data stream, and there is no corresponding record of the first data packet in the data record table, a record of the next hop route of the first data packet can be added to the data record table. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used. Parse and obtain the next hop route by querying the routing table.
  • the data packet marked by the flow is the first data packet of the data flow whose flow identifier is, and the next hop record of the data packet included in the data flow whose flow identifier is not in the sample data record table in FIG. 3-a is Figure 3-a shows an example of a data record table with corresponding records added.
  • the data record table after the record is added is shown in Figure 5.
  • S604 Send the first data packet according to a next hop route of the first data packet.
  • the data packet is the first data packet of the data stream, there is no record of the next hop route of the data packet in the data record table, and therefore, the original data packet can be the same as the prior art.
  • the packet header for example, the IP header, is parsed, and the next hop route is obtained by querying the routing table, and sent out, for example, to the intermediate routing device.
  • step S601 If the data packet received in step S601 is a subsequent data packet of the data stream, querying the record of the next hop route of the first data packet in the data record table, and then according to the next hop route of the first data packet Record, send the subsequent data packet.
  • the data record table records the next hop route of each data packet belonging to one data stream according to the flow identifier carried by the semantic packet header.
  • a record of the next hop route of the data packet can be queried in the data record table, that is, if the data packet is a follow-up to the data stream
  • the data packet is used to query the record of the next hop route of the first data packet in the data record table, and send the subsequent data packet according to the record of the next hop route of the first data packet.
  • the semantic header includes, in addition to the identifier bit, a stream identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs. And so on, wherein the identifier bit is used to identify that the data packet is a data packet carrying a semantic mark, and the semantic mark is used to represent semantic information of a certain special meaning, and the syntax thereof can be similar to the XML syntax.
  • the semantic tag includes the security requirement level
  • the data packet may be forwarded to a corresponding security router in the domain according to the security requirement level.
  • the semantic information may also be an implementation other than the XML syntax.
  • the semantic information may also be expressed using a program, for example, using an executable program.
  • the flow identifier may be independent of the semantic mark.
  • the semantic mark in the semantic header may also include the flow identifier.
  • the semantic markup may only contain a security requirement level, a user level and a traffic type, or only one semantic information in a security requirement level, a user level, a traffic type, and a flow identifier, or may be the above semantic information. random combination.
  • the data can be forwarded by querying the next hop route of the data packet from the data record table. package. Therefore, compared with the prior art, it is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet), and then forward the data packet by querying the routing table.
  • the method of forwarding data packets saves time for forwarding data packets and improves the efficiency of forwarding data packets. To save resources, you can also set the aging time for records in the data record table.
  • the aging time set in the data record table can be timed. If the aging time is not full, the subsequent data packet of the same data stream is not received, and the next hop route of the first data packet in the data record table is deleted. recording.
  • the aging time T is set for the record of the data flow with the flow identifier of /5, the aging time T is counted, and after the aging time is full, if not received, identified as stream / 5 subsequent data packet, the data records in the table of the stream identifier / next-hop 5 data streams first data packet this record is deleted, the deleted data recording table after recording as in FIG. 3 -c is shown.
  • FIG. 7 is a schematic structural diagram of an apparatus for forwarding a data packet according to an embodiment of the present invention.
  • the device for forwarding a data packet as illustrated in FIG. 7 may be a routing device at the edge of the network, that is, a routing device as an ingress node in the network operated by the operator, including a first receiving module 701, a first semantic packet header generating module 702, and a A record adding module 703 and a first sending module 704, wherein:
  • the first receiving module 701 is configured to receive a data packet.
  • a first semantic header generating module 702 configured to add a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
  • a first record adding module 703, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data stream;
  • the first sending module 704 is configured to send the first data packet according to the next hop route of the first data.
  • the semantic header includes a stream identifier of a data stream to which the packet belongs, and its structure is the same as that of the semantic header in the foregoing embodiment, as shown in Fig. 2.
  • Semantic values in the semantic header can be defined in advance by the operator according to the differentiated requirements of the existing network, and are sent by a unified controller (Controller), or negotiated in advance in the carrier domain.
  • the semantic parsing table is directly delivered. After the router in the domain receives the data packet carrying the semantic packet header, the relevant processing rules according to the meaning of the semantic value can be dynamically configured by the operator or the network administrator.
  • the data record table records the same data stream according to the flow identifier carried by the carrying semantic header.
  • the next hop route for each packet Since the data packet is the first data packet of the data stream, the first record adding module 703 may add a next hop route for the first data packet in the data record table, if the data record table does not have a corresponding record of the first data packet.
  • the record is similar in structure to the data record table of any of the drawings of the foregoing embodiment from Fig. 3-a to Fig. 3-c. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used. Parse and obtain the next hop route by querying the routing table.
  • the data packet marked by the flow is the first data packet of the data flow whose flow identifier is.
  • the next hop record of the data packet included in the data flow with no flow identifier is,
  • Figure 3-a shows an example of a data record table with corresponding records added.
  • the data record table after the record is added is shown in Figure 5.
  • the data packet received by the first receiving module 701 is the first data packet of the data stream, there is no record of the next hop route of the data packet in the data record table, and therefore, it can be the same as the prior art.
  • the original packet header of the first data packet for example, the IP packet header, is parsed, and the next hop route is obtained by querying the routing table, and the first sending module 704 sends the next packet to the intermediate routing device.
  • each functional module is merely an example. In actual applications, the foregoing may be considered according to requirements, such as configuration requirements of corresponding hardware or convenience of implementation of software.
  • the function assignment is performed by different functional modules, that is, the internal structure of the device for forwarding the data packet is divided into different functional modules to complete all or part of the functions described above.
  • the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware, for example, the foregoing first semantic header generating module may be executed.
  • the foregoing hardware for adding a semantic header to the outer layer of the original packet of the data packet may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the foregoing functions;
  • the first record adding module may be hardware having a function of performing the foregoing, if the data packet is the first data packet, and adding a recording function for the next hop route of the first data packet in the data recording table, for example,
  • the first record adder may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the aforementioned functions (the various embodiments provided in this specification may apply the above described principles).
  • the apparatus for forwarding a data packet as illustrated in FIG. 7 further includes a first query module 801 and a first forwarding module 802.
  • the first forwarding module 802 is configured to send the subsequent data packet according to the record of the next hop route of the first data packet
  • the first semantic header generating module 702 is further configured to add a semantic header to an outer layer of the original header of the subsequent data packet if the data packet is a subsequent data packet of the data flow.
  • the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier, and the flow identifier is used for Identifying a data flow to which the data packet belongs; or, the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, and a traffic type The flow identifier is used to identify a data flow to which the data packet belongs.
  • the semantic header may include a flow identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit, wherein the identifier bit is used to identify the identifier.
  • a data packet is a data packet carrying a semantic mark.
  • a semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax.
  • the semantic information may also be an implementation other than the XML syntax.
  • the semantic information may also be expressed using a program, for example, using an executable program.
  • the flow identifier may be independent of the semantic mark.
  • the semantic mark in the semantic header may also include the flow identifier.
  • FIG. 9 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown.
  • the device for forwarding a data packet as illustrated in FIG. 9 may be an intermediate routing device of the network, that is, other routing devices in the network operated by the operator, except for the ingress node routing device, including the second receiving module module 901 and the packet header parsing module.
  • Block 902, second record adding module 903 and second sending module 904 wherein:
  • a second receiving module 901 configured to receive a data packet, where the data packet includes a semantic packet header, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
  • a header parsing module 902 configured to parse a semantic header of the data packet
  • a second record adding module 903, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data stream;
  • the second sending module 904 is configured to send the first data packet according to a next hop route of the first data packet.
  • the apparatus for forwarding a data packet as illustrated in FIG. 9 further includes a second query module 1001, such as the apparatus for forwarding a data packet provided by another embodiment of the present invention as shown in FIG.
  • the second query module 1001 is configured to query the record of the next hop route of the first data packet in the data record table if the data packet is a subsequent data packet of the data stream.
  • the second sending module 904 is further configured to send the subsequent data packet according to the record of the next hop route of the first data packet.
  • the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used. And identifying the data flow to which the data packet belongs; or the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, the semantic mark including one or any of a security requirement level, a user level, and a traffic type In combination, the flow identifier is used to identify a data flow to which the data packet belongs.
  • the semantic header may include a flow identifier (stream ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit, wherein the identifier bit is used to identify the identifier.
  • a data packet is a data packet carrying a semantic mark.
  • a semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax.
  • the semantic information may also be an implementation other than the XML syntax.
  • the semantic information may also use a program table. To, for example, use an executable program to express.
  • the flow identifier may be independent of the semantic mark.
  • the semantic mark in the semantic header may also include the flow identifier.
  • the second sending module 904 is further configured to forward the data packet to a corresponding security router in the domain according to the security requirement level.
  • the apparatus for forwarding data packets illustrated in FIG. 9 or FIG. 10 further includes a timing module 1101 and a record deletion module 1102, and the forwarding data packet provided by another embodiment of the present invention is shown in FIG. 11-a or FIG. 11-b. Device, where:
  • the timing module 1101 is configured to time the aging time set by the data record table, and the record deletion module 1102 is configured to delete the subsequent data packet that belongs to the same data stream when the aging time is full.
  • a record of the next hop route of the first data packet in the data record table For example, for the data record table illustrated in FIG.
  • the timing module 1101 counts the aging time T, after the aging time is full, if If the subsequent data packet whose stream identifier is / 5 is not received, the record deletion module 1102 deletes the record of the next hop route of the first data packet of the data stream whose stream identifier is /5 in the data record table, and deletes the record after deleting the record.
  • the data record table is shown in Figure 3-c. In this way, resources can be saved.
  • FIG. 12 it is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention.
  • the device for forwarding a data packet as illustrated in FIG. 12 may be a routing device at the edge of the network, that is, a routing device as an ingress node in the network operated by the operator, including a third receiving module 1201, a second semantic header generating module 1202, and a The three forwarding module 1203, wherein:
  • a third receiving module 1201, configured to receive a data packet
  • the second semantic packet header generating module 1202 is configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
  • the third forwarding module 1203 is configured to forward the data packet according to the semantic header.
  • the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier.
  • the flow identifier is used to identify a data flow to which the data packet belongs; or the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, where the semantic mark includes a security requirement level, a user level, and a traffic type.
  • the flow identifier is used to identify a data flow to which the data packet belongs.
  • still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal.
  • the computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
  • Adding a semantic header to an outer layer of the original header of the data packet where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
  • the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
  • the method further includes:
  • the data packet is a subsequent data packet of the data stream, adding a semantic header to an outer layer of the original packet header of the subsequent data packet;
  • the semantic header further includes a semantic mark, and the semantic mark includes security One or any combination of a requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used to identify a data flow to which the data packet belongs.
  • the semantic header also includes semantic markup and is independent of The stream identifier of the semantic tag
  • the semantic tag includes one or any combination of a security requirement level, a user level, and a traffic type
  • the flow identifier is used to identify a data flow to which the data packet belongs.
  • still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal.
  • the computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
  • the data packet includes a semantic packet header, and the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic mark;
  • the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
  • the method further includes:
  • the data packet is a subsequent data packet of the data stream, querying a record of a next hop route of the first data packet in the data record table;
  • the semantic header further includes a semantic mark, and the semantic mark includes security One or any combination of a requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used to identify a data flow to which the data packet belongs.
  • the semantic header further includes a semantic mark and is independent of the semantic mark
  • the stream identifier includes one or any combination of a security requirement level, a user level, and a traffic type, and the flow identifier is used to identify a data flow to which the data packet belongs.
  • the method further includes: forwarding, according to the security requirement level, the data packet to a corresponding security router in the domain.
  • the method further includes:
  • the record of the next hop route of the first data packet in the data record table is deleted.
  • still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal.
  • the computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
  • Adding a semantic header to an outer layer of the original header of the data packet where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
  • the semantic header further includes a semantic mark, and the semantic mark includes security.
  • the semantic mark includes security.
  • the semantic header further includes a semantic mark and is independent of the semantic mark.
  • the stream identifier includes one or any combination of a security requirement level, a user level, and a traffic type, and the flow identifier is used to identify a data flow to which the data packet belongs.
  • An embodiment of the present invention further provides an intermediate routing device of a network, including: an input device, an output device, a memory, and a processor, where the memory is used to store a data record table, where the data record table is carried according to The stream identifier carried by the semantic packet header records the next hop route of each data packet belonging to a data stream.
  • the processor performs the following steps: receiving a data packet, where the data packet includes a semantic packet header, and the semantic packet header includes The identifier is used to identify the identifier of the data packet carrying the semantic mark; parse the semantic header of the data packet; if the data packet is the first data packet of the data flow, add a relevant information in the data record table Recording a next hop route of the first data packet; sending the first data packet according to a next hop route of the first data packet.
  • Another embodiment of the present invention further provides an edge routing device for a network, including: an input device, an output device, a memory, and a processor, where the memory is configured to store a data record table, where the data record table carries a flow identifier carried by the semantic packet header Recording a next hop route of each data packet belonging to the same data stream; wherein the processor performs the following steps: receiving a data packet; adding a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes An identifier for identifying the data packet as a data packet carrying a semantic mark; if the data packet is a first data packet of the data flow, adding a next hop route for the first data packet in the data record table Recording; transmitting the first data packet according to a next hop route of the first data packet.
  • the embodiment of the present invention further provides a network edge routing device, including: an input device, an output device, a memory, and a processor, where the memory is used to store a data record table, and the data record table records the same genus according to the flow identifier carried by the semantic packet header. a next hop route for each packet of a data stream; wherein the processor performs the following steps:
  • Adding a semantic header to an outer layer of the original header of the data packet where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;

Abstract

The embodiments of the present invention provide a method, apparatus and routing device for forwarding a data packet so as to improve the forwarding efficiency of the data packet. The method comprises: receiving a data packet; adding a semantic packet header to an outer layer of an original packet header of the data packet, wherein the semantic packet header contains an identification bit which is used for identifying the data packet being a data packet carrying a semantic mark; if the data packet is a first data packet of a data stream, then adding a record regarding a next hop routing of the first data packet into a data record table; and according to the next hop routing of the first data packet, sending the first data packet. The method for forwarding a data packet provided in the embodiments of the present invention exempts an original packet header of a data packet from parsing, thereby shortening time for forwarding the data packet and improving the efficiency of forwarding the data packet.

Description

一种转发数据包的方法、 装置和路由设备  Method, device and routing device for forwarding data packets
技术领域 Technical field
本发明涉及数据通信领域, 尤其涉及一种转发数据包的方法、装置和路由 设备。  The present invention relates to the field of data communications, and in particular, to a method, an apparatus, and a routing device for forwarding a data packet.
背景技术 Background technique
在数据通信领域, 数据包一般由包头 (header )和数据组成, 其中, 数据 属于净荷(payload ), 是通信系统中接收方真正需要的部分, 包头则是使得数 据能够从发送方顺利传输到接收方而附加的信息, 其中包括五元组。所谓五元 组, 通常是指由源地址, 源端口, 目的地址, 目的端口, 和协议类型这五个量 组 成 的 一 个 集 。 以 IP 数 据 包 为 例 , 〈192.168.1.1 10000 TCP 121.14.88.76 80 >构成一个五元组, 192.168.1.1 是源 IP地址, 10000是源端口, TCP是协议类型, 121.14.88.76是目的 IP地 址, 80是目的端口, 该五元组的意义是一个 IP地址为 192.168.1.1的终端通过 端口 10000, 利用 TCP协议, 和 IP地址为 121.14.88.76, 端口为 80的终端进 行连接; 五元组是数据包包头中能够唯一确定一个会话的重要信息。  In the field of data communication, a data packet is generally composed of a header and a data, wherein the data belongs to a payload, which is a part of the communication system that the receiver really needs, and the packet header enables the data to be smoothly transmitted from the sender to the sender. Information attached to the recipient, including a five-tuple. The so-called quintuple usually refers to a set consisting of five sources: source address, source port, destination address, destination port, and protocol type. Taking an IP packet as an example, <192.168.1.1 10000 TCP 121.14.88.76 80> constitutes a quintuple, 192.168.1.1 is the source IP address, 10000 is the source port, TCP is the protocol type, and 121.14.88.76 is the destination IP address. 80 is the destination port. The meaning of the quintuple is that a terminal with an IP address of 192.168.1.1 passes the port 10000, uses the TCP protocol, and the terminal with the IP address is 121.14.88.76 and the port is 80; the quintuple is data. The bag header can uniquely identify important information for a session.
正是因为通过五元组能够唯一确定一个会话, 因此,现有的路由器在转发 数据包时, 通常是在收到一个数据包后, 即对包头进行解析, 从中解出该数据 包的五元组。根据五元组中的信息并通过查找路由表确定下一跳路由,将数据 包转发给下一路由设备, 最终传输到数据包的接收方。 对于路由器而言, 如果 需要确定当前接收到的数据包和上一个数据包是否是同一个流,则需要记录每 一个数据包的五元组信息才能实现。  It is precisely because the quintuple can uniquely determine a session. Therefore, when an existing router forwards a data packet, it usually parses the packet header after receiving a data packet, and solves the five-member packet of the data packet. group. Based on the information in the quintuple and determining the next hop route by looking up the routing table, the data packet is forwarded to the next routing device and finally transmitted to the receiver of the data packet. For the router, if it is necessary to determine whether the currently received packet and the previous packet are the same stream, it is necessary to record the quintuple information of each packet.
从上述现有技术转发数据包的过程可知,中间路由器都是根据数据包中所 携带的 IP地址来确定其路由路径, 如此, 虽然同一个数据流的所有源地址和 目的地址一样,但接收到这些数据包的所有路由器都需要对这些数据包的包头 进行解析, 确定下一跳路由, 再转发, 数据包的转发效率比较低下。  The process of forwarding a data packet from the above prior art shows that the intermediate router determines the routing path according to the IP address carried in the data packet, so that although all source addresses and destination addresses of the same data stream are the same, they are received. All routers of these packets need to parse the headers of these packets to determine the next hop route, and then forward the packet, and the forwarding efficiency of the packet is relatively low.
发明内容 本发明实施例提供一种转发数据包的方法、装置和路由设备, 以提高数据 包的转发效率。 Summary of the invention Embodiments of the present invention provide a method, an apparatus, and a routing device for forwarding a data packet, so as to improve forwarding efficiency of data packets.
本发明实施例提供转一种发数据包的方法, 所述方法包括:  An embodiment of the present invention provides a method for forwarding a data packet, where the method includes:
接收数据包;  Receiving a data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位;  Adding a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳 ^路由的记录;  If the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。  And sending the first data packet according to a next hop route of the first data packet.
本发明另一实施例提供转一种发数据包的方法, 所述方法包括: 接收数据包, 所述数据包包含语义包头, 所述语义包头包含用于标识所述 数据包为携带语义标记的数据包的标识位;  Another embodiment of the present invention provides a method for transmitting a data packet, the method comprising: receiving a data packet, where the data packet includes a semantic packet header, where the semantic packet header is configured to identify the data packet as carrying a semantic tag The identification bit of the data packet;
对所述数据包的语义包头进行解析;  Parsing the semantic header of the data packet;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳路由的记录;  If the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。  And sending the first data packet according to a next hop route of the first data packet.
本发明另一实施例提供转一种发数据包的方法, 所述方法包括: 接收数据包;  Another embodiment of the present invention provides a method for transmitting a data packet, where the method includes: receiving a data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位;  Adding a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
根据所述语义包头, 转发所述数据包。  Transmitting the data packet according to the semantic header.
本发明另一实施例提供一种转发数据包的装置, 所述装置包括: 第一接收模块, 用于接收数据包;  Another embodiment of the present invention provides an apparatus for forwarding a data packet, where the apparatus includes: a first receiving module, configured to receive a data packet;
第一语义包头生成模块, 用于在所述数据包的原有包头外层添加语义包 头, 所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位;  a first semantic packet header generating module, configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
第一记录增加模块, 用于若所述数据包是数据流的首数据包, 则在数据记 录表中增加关于所述首数据包的下一跳路由的记录; 第一发送模块,用于根据所述首数据包的下一跳路由 ,发送所述首数据包。 本发明另一实施例提供一种转发数据包的装置, 所述装置包括: a first record adding module, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data flow; The first sending module is configured to send the first data packet according to a next hop route of the first data packet. Another embodiment of the present invention provides an apparatus for forwarding a data packet, where the apparatus includes:
第二接收模块, 用于接收数据包, 所述数据包包含语义包头, 所述语义包 头包含用于标识所述数据包为携带语义标记的数据包的标识位;  a second receiving module, configured to receive a data packet, where the data packet includes a semantic packet header, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
包头解析模块, 用于对所述数据包的语义包头进行解析;  a packet header parsing module, configured to parse a semantic header of the data packet;
第二记录增加模块, 用于若所述数据包是数据流的首数据包, 则在数据记 录表中增加关于所述首数据包的下一跳路由的记录;  a second record adding module, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data flow;
第二发送模块,用于根据所述首数据包的下一跳路由,发送所述首数据包。 本发明另一实施例提供一种转发数据包的装置, 所述装置包括:  And a second sending module, configured to send the first data packet according to a next hop route of the first data packet. Another embodiment of the present invention provides an apparatus for forwarding a data packet, where the apparatus includes:
第三接收模块, 用于接收数据包;  a third receiving module, configured to receive a data packet;
第二语义包头生成模块, 用于在所述数据包的原有包头外层添加语义包 头, 所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位;  a second semantic packet header generating module, configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
第三转发模块, 用于根据所述语义包头, 转发所述数据包。  And a third forwarding module, configured to forward the data packet according to the semantic header.
从上述本发明实施例可知,由于只需要对当前数据包的语义包头进行解析 后,根据其中携带用于标识数据包为携带语义标记的数据包的标识位, 即可判 断无需对数据包的原有包头再进行解析, 而是直接对所述当前数据包进行转 发。 因此, 与现有技术需要解析数据包原有包头(例如, IP数据包的 IP包头)、 再通过查询路由表转发数据包相比,本发明实施例提供的转发数据包的方法免 除了对数据包原有包头的解析,从而缩短了转发数据包的时间,提高了转发数 据包的效率。  As can be seen from the foregoing embodiments of the present invention, since only the semantic header of the current data packet needs to be parsed, according to the identifier bit of the data packet carrying the semantic token for identifying the data packet, it can be determined that the original data packet is not needed. The packet header is parsed again, but the current data packet is directly forwarded. Therefore, the method for forwarding a data packet provided by the embodiment of the present invention is exempt from the data, as compared with the prior art, which is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet) and then forward the data packet through the query routing table. The analysis of the original packet header shortens the time for forwarding the data packet and improves the efficiency of forwarding the data packet.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例 描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其 他的附图。  In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the prior art or the embodiments will be briefly described below. Obviously, the drawings in the following description are only the present invention. For some embodiments, other figures may also be obtained as those skilled in the art from these figures.
图 1是本发明实施例提供的转发数据包的方法流程示意图;  1 is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention;
图 2是本发明实施例提供的含有语义包头的 IP数据包结构示意图; 图 3-a是本发明实施例提供的数据记录表示意图; 2 is a schematic structural diagram of an IP data packet including a semantic header according to an embodiment of the present invention; FIG. 3 is a schematic diagram of a data record table according to an embodiment of the present invention; FIG.
图 3-b是本发明另一实施例提供的数据记录表示意图;  FIG. 3 is a schematic diagram of a data record table according to another embodiment of the present invention; FIG.
图 3-c是本发明另一实施例提供的数据记录表示意图;  Figure 3-c is a schematic diagram of a data record table according to another embodiment of the present invention;
图 4是本发明另一实施例提供的转发数据包的方法流程示意图;  4 is a schematic flowchart of a method for forwarding a data packet according to another embodiment of the present invention;
图 5是本发明另一实施例提供的数据记录表示意图;  FIG. 5 is a schematic diagram of a data record table according to another embodiment of the present invention; FIG.
图 6是本发明另一实施例提供的转发数据包的方法流程示意图;  6 is a schematic flowchart of a method for forwarding a data packet according to another embodiment of the present invention;
图 7是本发明实施例提供的转发数据包的装置结构示意图;  7 is a schematic structural diagram of an apparatus for forwarding a data packet according to an embodiment of the present invention;
图 8是本发明另一实施例提供的转发数据包的装置结构示意图;  FIG. 8 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention; FIG.
图 9是本发明另一实施例提供的转发数据包的装置结构示意图;  FIG. 9 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention;
图 10是本发明另一实施例提供的转发数据包的装置结构示意图;  FIG. 10 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention;
图 11 - a是本发明另一实施例提供的转发数据包的装置结构示意图; 图 11 -b是本发明另一实施例提供的转发数据包的装置结构示意图; 图 12是本发明另一实施例提供的转发数据包的装置结构示意图。  11 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention; FIG. 11 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention; FIG. 12 is another embodiment of the present invention; The device structure diagram of the forwarding data packet provided by the example.
具体实施方式 detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域技术人员所获得的所有其他实 施例, 都属于本发明保护的范围。  BRIEF DESCRIPTION OF THE DRAWINGS The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention are within the scope of the present invention.
请参阅附图 1 , 是本发明实施例提供的转发数据包的方法流程示意图, 其 执行主体可以是网络边缘的路由设备,即运营商所运营的网络中作为入节点的 路由设备。 附图 1示例的方法主要包括步骤 S101、 步骤 S102和步骤 S103 , 详细 说明: ¾口下:  FIG. 1 is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention. The executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator. The method illustrated in FIG. 1 mainly includes step S101, step S102 and step S103, and the detailed description: 3⁄4 port:
5101 , 接收数据包。  5101, Receive the data packet.
5102,在所述数据包的原有包头外层添加语义包头,所述语义包头包含用 于标识所述数据包为携带语义标记的数据包的标识位。  5102. Add a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier bit for identifying the data packet as a data packet carrying a semantic mark.
在本发明实施例中, 语义包头 ( semantic header )是添加于数据包原有包 头外层的信息体,可以由位于网络边缘的路由设备在接收到进入网络的数据包 后生成。 以 IP数据包为例, 附图 2给出了含有语义包头的 IP数据包结构示意图。 附图 2示例的语义包头除了包含标识位之外, 还可以包含数据包所属数据流的 流标识(flow ID )这一字段和语义标记 ( semantic tag )等, 其中, 标识位用 于标识该数据包是携带语义标记的数据包,语义标记用于表示一定特殊含义的 语义信息, 其语法可以类似于 XML语法。 例如, 以语义标记中类似于 XML语 法为例, 其语义信息包括: <security level = "3" /security> 用于标识该数 据包的安全需求等级; application id ="5" /application 用于标识该数据 包的业务信息; <user grade ="1" /1^1 用于标识用户的等级; <flow type = "2" /flow> 用于标识流量类型; <Qos grade = "4" /Qos> 用于标识服务质 量, 等等。 在本发明实施例中, 语义信息还可以是 XML语法之外的实现方式。 作为本发明语义信息的另一实施例,语义信息也可以使用一段程序表达,例如, 使用可执行程序表达。 In the embodiment of the present invention, the semantic header is an information body added to the outer layer of the original packet header, and may be generated by the routing device located at the edge of the network after receiving the data packet entering the network. Taking an IP packet as an example, Figure 2 shows a schematic diagram of the structure of an IP packet containing a semantic header. The semantic header of the example shown in FIG. 2 may include, in addition to the identifier bit, a stream identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, wherein the identifier bit is used to identify the data. A package is a data packet carrying a semantic mark. A semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax. For example, taking XML-like syntax in semantic markup as an example, its semantic information includes: <security level = "3"/security> is used to identify the security requirement level of the packet; application id ="5" /application is used to identify The business information of the packet; <user grade ="1" /1^1 is used to identify the user's level; <flow type = "2"/flow> is used to identify the traffic type; <Qos grade = "4" /Qos > Used to identify the quality of service, and so on. In the embodiment of the present invention, the semantic information may also be an implementation other than the XML syntax. As another embodiment of the semantic information of the present invention, the semantic information may also be expressed using a program, for example, using an executable program.
需要说明的是, 附图 2示例的语义包头是流标识独立于语义标记的情形, 实际上, 语义包头中的语义标记也可以包含流标识。 无论是上述哪种形式, 语 义标记可以只包含安全需求等级、用户等级和流量类型或者只包含安全需求等 级、 用户等级、 流量类型和流标识中的一项语义信息, 也可以是上述语义信息 的任意组合。  It should be noted that the semantic header illustrated in FIG. 2 is a case where the stream identifier is independent of the semantic token. In fact, the semantic token in the semantic header may also include the stream identifier. In either form, the semantic markup may only contain the security requirement level, the user level and the traffic type, or only one semantic information in the security requirement level, the user level, the traffic type, and the flow identifier, or may be the semantic information described above. random combination.
S103 , 根据语义包头, 转发数据包。  S103. Forward the data packet according to the semantic header.
需要说明的是, 上述语义信息仅仅是对语义标记的示例性说明, 可以根据 运营商的需求, 提供相应的语义信息, 在转发时可以进行差异化转发, 从而满 足运营商进行差异化服务的需求, 例如, 可以根据安全需求等级将数据转发至 安全路由器, 或者, 根据用户等级, 优先转发用户等级高的数据包。 网络的中 间路由设备在收到数据包对语义包头解析后, 若发现其中有标识为, 则无需再 对语义包头之后的原有包头继续解析即可转发数据包。  It should be noted that the foregoing semantic information is merely an exemplary description of the semantic markup, and the corresponding semantic information may be provided according to the requirements of the operator, and may be differentiated and forwarded during forwarding, thereby satisfying the operator's demand for differentiated services. For example, the data can be forwarded to the secure router according to the security requirement level, or the user-level data packet can be preferentially forwarded according to the user level. After receiving the packet-to-semantic header parsing, the intermediate routing device of the network, if it finds that there is an identifier, does not need to continue parsing the original packet header after the semantic packet header to forward the data packet.
从上述本发明实施例提供的转发数据包的方法可知,由于只需要对收到的 数据包的语义包头进行解析后,根据其中携带用于标识数据包为携带语义标记 的数据包的标识位, 即可判断无需对数据包的原有包头再进行解析, 而是直接 对所述数据包进行转发。 因此, 与现有技术需要解析数据包原有包头 (例如, IP数据包的 IP包头)、 再通过查询路由表转发数据包相比, 本发明实施例提供 的转发数据包的方法免除了对数据包原有包头的解析,从而缩短了转发数据包 的时间, 提高了转发数据包的效率。 According to the method for forwarding a data packet provided by the foregoing embodiment of the present invention, since only the semantic header of the received data packet needs to be parsed, according to the identifier bit of the data packet carrying the semantic identifier for identifying the data packet, It can be judged that the original packet header of the data packet need not be parsed again, but the data packet is directly forwarded. Therefore, compared with the prior art, it is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet), and then forward the data packet by querying the routing table. The method of forwarding the data packet eliminates the parsing of the original packet header of the data packet, thereby shortening the time for forwarding the data packet and improving the efficiency of forwarding the data packet.
请参阅附图 4, 是本发明实施例提供的转发数据包的方法流程示意图, 其 执行主体可以是网络边缘的路由设备,即运营商所运营的网络中作为入节点的 路由设备。 附图 4示例的方法主要包括步骤 S401、 步骤 S402和步骤 S403 , 详细 说明: ¾口下:  Referring to FIG. 4, it is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention. The executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator. The method illustrated in FIG. 4 mainly includes step S401, step S402 and step S403, and the detailed description: 3⁄4 port:
5401 , 接收数据包。  5401, receiving a data packet.
5402,在所述数据包原有包头外层添加语义包头,所述语义包头包含用于 标识所述数据包为携带语义标记的数据包的标识位。  5402. Add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic mark.
在本实施例中,语义包头包含数据包所属数据流的流标识, 其结构与前述 实施例中的语义包头相同, 如附图 2所示。 语义包头中语义值可以事先由运营 商根据现网的差异化需求定义不同的语义类型值, 由一个统一的控制器) Controller )下发, 或者在运营商域内事先协商好, 由运营商根据策略直接下发 语义解析表,域内的路由器接收到携带语义包头的数据包后根据语义值含义所 进行的相关处理规则可以由运营商或者网络管理员进行动态配置。  In this embodiment, the semantic header contains the stream identifier of the data stream to which the data packet belongs, and its structure is the same as that of the semantic header in the foregoing embodiment, as shown in FIG. Semantic values in the semantic header can be defined in advance by the operator according to the differentiated requirements of the existing network, and are issued by a unified controller (Controller), or negotiated in advance in the carrier domain. The semantic parsing table is directly delivered. After the router in the domain receives the data packet carrying the semantic packet header, the relevant processing rules according to the meaning of the semantic value can be dynamically configured by the operator or the network administrator.
5403 ,若所述数据包是数据流的首数据包,则在数据记录表中增加关于所 述首数据包的下一跳路由的记录。  5403. If the data packet is the first data packet of the data flow, add a record about the next hop route of the first data packet in the data record table.
在本实施例中,数据记录表按照携带语义包头携带的流标识记录有同属一 个数据流的每个数据包的下一跳路由。由于数据包是数据流的首数据包,因此, 数据记录表中没有该首数据包相应的记录,则可以在数据记录表中增加关于该 首数据包的下一跳路由的记录, 其结构与前述实施例的附图 3-a至附图 3-c任意 示例的数据记录表类似。 需要说明的是, 由于数据包是数据流的首数据包时, 数据记录表中没有关于该数据包的下一跳路由的记录, 因此, 可以对该首数据 包的原有包头, 例如 IP包头进行解析, 通过查询路由表获得其下一跳路由。 例 如, 流标识为 的数据包是流标识为 的数据流的首数据包, 在附图 3-a示例数 据记录表中没有流标识为 的数据流所含数据包的下一跳记录, 则在附图 3-a 示例数据记录表增加相应的记录, 增加记录后的数据记录表如附图 5所示。  In this embodiment, the data record table records the next hop route of each data packet belonging to the same data stream according to the flow identifier carried by the carried semantic header. Since the data packet is the first data packet of the data flow, if there is no corresponding record of the first data packet in the data record table, the record of the next hop route of the first data packet may be added in the data record table, and the structure and structure thereof are The data recording table of any of the drawings of the foregoing embodiment from Fig. 3-a to Fig. 3-c is similar. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used. Parse and obtain the next hop route by querying the routing table. For example, the data packet marked by the flow is the first data packet of the data flow whose flow identifier is. In the example data record table of FIG. 3-a, the next hop record of the data packet included in the data flow with no flow identifier is, Figure 3-a shows an example of a data record table with corresponding records added. The data record table after the record is added is shown in Figure 5.
5404, 根据所述首数据包的下一跳路由, 发送所述首数据包。 如前所述, 由于所收到的数据包是数据流的首数据包,数据记录表中没有 关于该数据包的下一跳路由的记录, 因此, 可以与现有技术一样, 对该首数据 包的原有包头, 例如 IP包头进行解析, 并通过查询路由表获得其下一跳路由, 将其发送出去, 例如转发至中间路由设备。 S404: Send the first data packet according to a next hop route of the first data packet. As described above, since the received data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the first data can be the same as the prior art. The original packet header of the packet, for example, the IP header, is parsed, and the next hop route is obtained by querying the routing table, and is sent out, for example, to the intermediate routing device.
若步骤 S401收到的数据包是数据流的后续数据包,则在所述后续数据包的 原有包头外层添加语义包头,查询所述数据记录表获取所述首数据包的下一跳 路由的记录, 然后根据所述首数据包的下一跳路由的记录,发送所述后续数据 包。  If the data packet received in step S401 is a subsequent data packet of the data stream, a semantic packet header is added to the outer layer of the original packet header of the subsequent data packet, and the data record table is queried to obtain the next hop route of the first data packet. And then transmitting the subsequent data packet according to the record of the next hop route of the first data packet.
与前述实施例类似, 在附图 4所示实施例中, 语义包头除了包含标识位之 外, 还可以包含数据包所属数据流的流标识(flow ID )这一字段和语义标记 ( semantic tag )等,其中,标识位用于标识该数据包是携带语义标记的数据包, 语义标记用于表示一定特殊含义的语义信息, 其语法可以类似于 XML语法。 例如, 以语义标记中类似于 XML语法为例, 其语义信息包括: <security level = "3" /security> 用于标识该数据包的安全需求等级; application id ="5" /application 用于标识该数据包的业务信息; <user grade ="1" /user>用于 标识用户的等级; <flow type = "2" /flow> 用于标识流量类型; <Qos grade = "4" /Qos> 用于标识服务质量,等等。在本实施例中,语义信息还可以是 XML 语法之外的实现方式。作为本发明语义信息的另一实施例,语义信息也可以使 用一段程序表达, 例如, 使用可执行程序表达。  Similar to the foregoing embodiment, in the embodiment shown in FIG. 4, the semantic header may include a flow identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit. Etc., wherein the identifier bit is used to identify that the data packet is a data packet carrying a semantic mark, and the semantic mark is used to represent semantic information of a certain special meaning, and the syntax may be similar to the XML syntax. For example, taking XML-like syntax in semantic markup as an example, its semantic information includes: <security level = "3" /security> is used to identify the security requirement level of the packet; application id ="5" /application is used to identify The service information of the packet; <user grade ="1" /user> is used to identify the user's level; <flow type = "2" /flow> is used to identify the traffic type; <Qos grade = "4" /Qos> Used to identify the quality of service, and so on. In this embodiment, the semantic information may also be an implementation other than the XML syntax. As another embodiment of the semantic information of the present invention, the semantic information can also be expressed using a program, for example, using an executable program.
需要说明的是, 在本实施例中, 流标识可以独立于语义标记, 实际上, 语 义包头中的语义标记也可以包含流标识。无论是上述哪种形式,语义标记可以 只包含安全需求等级、用户等级和流量类型或者只包含安全需求等级、用户等 级、流量类型和流标识中的一项语义信息,也可以是上述语义信息的任意组合。  It should be noted that, in this embodiment, the flow identifier may be independent of the semantic mark. In fact, the semantic mark in the semantic header may also include the flow identifier. In either form, the semantic markup may only contain a security requirement level, a user level and a traffic type, or only one semantic information in a security requirement level, a user level, a traffic type, and a flow identifier, or may be the above semantic information. random combination.
从上述本发明实施例提供的转发数据包的方法可知,由于只需要根据解析 语义包头获得数据包所属数据流的流标识后,从数据记录表查询到数据包的下 一跳路由便可转发数据包。因此,与现有技术需要解析数据包原有包头(例如, IP数据包的 IP包头)、 再通过查询路由表转发数据包相比, 本发明实施例提供 的转发数据包的方法节省了转发数据包的时间, 提高了转发数据包的效率。 请参阅附图 6, 是本发明实施例提供的转发数据包的方法流程示意图, 其 执行主体可以是网络边缘的路由设备,即运营商所运营的网络中作为入节点的 路由设备。 附图 6示例的方法主要包括步骤 S601、 步骤 S602、 步骤 S603和步骤 S604, 详细说明如下: According to the method for forwarding a data packet provided by the foregoing embodiment of the present invention, since the flow identifier of the data stream to which the data packet belongs is obtained only after the parsing semantic packet header is obtained, the data can be forwarded by querying the next hop route of the data packet from the data record table. package. Therefore, the method for forwarding a data packet provided by the embodiment of the present invention saves forwarding data, as compared with the prior art, which requires parsing the original packet header of the data packet (for example, the IP packet header of the IP data packet) and forwarding the data packet by querying the routing table. The time of the package improves the efficiency of forwarding packets. FIG. 6 is a schematic flowchart of a method for forwarding a data packet according to an embodiment of the present invention. The executor may be a routing device at the edge of the network, that is, a routing device that serves as an ingress node in the network operated by the operator. The method illustrated in FIG. 6 mainly includes step S601, step S602, step S603, and step S604, which are described in detail as follows:
S601 , 接收数据包。  S601, receiving a data packet.
在本实施例中,数据包包含语义包头, 所述语义包头包含用于标识所述数 据包为携带语义标记的数据包的标识位。  In this embodiment, the data packet includes a semantic header, and the semantic header includes an identification bit for identifying the data packet as a data packet carrying a semantic token.
5602, 对数据包的语义包头进行解析。  5602, parsing the semantic header of the data packet.
5603 ,若所述数据包是数据流的首数据包,则在数据记录表中增加关于所 述首数据包的下一跳路由的记录。  S603. If the data packet is the first data packet of the data flow, add a record about the next hop route of the first data packet in the data record table.
在本实施例中,数据记录表按照携带语义包头携带的流标识记录有同属一 个数据流的每个数据包的下一跳路由。 由于当数据包是数据流的首数据包时, 数据记录表中没有该首数据包相应的记录,则可以在数据记录表中增加关于该 首数据包的下一跳路由的记录。 需要说明的是, 由于数据包是数据流的首数据 包时, 数据记录表中没有关于该数据包的下一跳路由的记录, 因此, 可以对该 首数据包的原有包头, 例如 IP包头进行解析, 通过查询路由表获得其下一跳路 由。 例如, 流标识为 的数据包是流标识为 的数据流的首数据包, 在附图 3-a 示例数据记录表中没有流标识为 的数据流所含数据包的下一跳记录, 则在附 图 3-a示例数据记录表增加相应的记录, 增加记录后的数据记录表如附图 5所 示。  In this embodiment, the data record table records the next hop route of each data packet belonging to the same data stream according to the flow identifier carried by the carried semantic header. Since when the data packet is the first data packet of the data stream, and there is no corresponding record of the first data packet in the data record table, a record of the next hop route of the first data packet can be added to the data record table. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used. Parse and obtain the next hop route by querying the routing table. For example, the data packet marked by the flow is the first data packet of the data flow whose flow identifier is, and the next hop record of the data packet included in the data flow whose flow identifier is not in the sample data record table in FIG. 3-a is Figure 3-a shows an example of a data record table with corresponding records added. The data record table after the record is added is shown in Figure 5.
5604, 根据所述首数据包的下一跳路由, 发送所述首数据包。  S604: Send the first data packet according to a next hop route of the first data packet.
如前所述, 由于数据包是数据流的首数据包,数据记录表中没有关于该数 据包的下一跳路由的记录, 因此, 可以与现有技术一样, 对该首数据包的原有 包头, 例如 IP包头进行解析, 并通过查询路由表获得其下一跳路由, 将其发送 出去, 例如转发至中间路由设备。  As described above, since the data packet is the first data packet of the data stream, there is no record of the next hop route of the data packet in the data record table, and therefore, the original data packet can be the same as the prior art. The packet header, for example, the IP header, is parsed, and the next hop route is obtained by querying the routing table, and sent out, for example, to the intermediate routing device.
若步骤 S601收到的数据包是所述数据流的后续数据包,则查询数据记录表 中关于所述首数据包的下一跳路由的记录,然后根据所述首数据包的下一跳路 由的记录, 发送所述后续数据包。 如前所述,在本实施例中,数据记录表按照携带语义包头携带的流标识记 录同属一个数据流的每个数据包的下一跳路由。由于所收到的数据包是数据流 的后续数据包, 因此,在数据记录表中可以查询到关于该数据包的下一跳路由 的记录, 即若所述数据包是所述数据流的后续数据包, 则查询数据记录表中关 于所述首数据包的下一跳路由的记录, 根据所述首数据包的下一跳路由的记 录, 发送所述后续数据包。 If the data packet received in step S601 is a subsequent data packet of the data stream, querying the record of the next hop route of the first data packet in the data record table, and then according to the next hop route of the first data packet Record, send the subsequent data packet. As described above, in this embodiment, the data record table records the next hop route of each data packet belonging to one data stream according to the flow identifier carried by the semantic packet header. Since the received data packet is a subsequent data packet of the data stream, a record of the next hop route of the data packet can be queried in the data record table, that is, if the data packet is a follow-up to the data stream The data packet is used to query the record of the next hop route of the first data packet in the data record table, and send the subsequent data packet according to the record of the next hop route of the first data packet.
与前述实施例类似, 在附图 6所示实施例中, 语义包头除了包含标识位之 夕卜, 还可以包含数据包所属数据流的流标识(flow ID )这一字段和语义标记 ( semantic tag )等,其中,标识位用于标识该数据包是携带语义标记的数据包, 语义标记用于表示一定特殊含义的语义信息, 其语法可以类似于 XML语法。 例如, 以语义标记中类似于 XML语法为例, 其语义信息包括: <security level = "3" /security> 用于标识该数据包的安全需求等级; application id ="5" /application 用于标识该数据包的业务信息; <user grade =" 1 " /1^61 用于 标识用户的等级; <flow type = "2" /flow> 用于标识流量类型; <Qos grade = "4" /Qos> 用于标识服务质量, 等等。 若所述语义标记包含所述安全需求等 级, 则在本发明实施例中, 还可以根据所述安全需求等级, 将所述数据包转发 至域中对应的安全路由器。  Similar to the foregoing embodiment, in the embodiment shown in FIG. 6, the semantic header includes, in addition to the identifier bit, a stream identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs. And so on, wherein the identifier bit is used to identify that the data packet is a data packet carrying a semantic mark, and the semantic mark is used to represent semantic information of a certain special meaning, and the syntax thereof can be similar to the XML syntax. For example, taking XML-like syntax in semantic markup as an example, its semantic information includes: <security level = "3" /security> is used to identify the security requirement level of the packet; application id ="5" /application is used to identify The business information of the packet; <user grade =" 1 " /1^61 is used to identify the user's level; <flow type = "2" /flow> is used to identify the traffic type; <Qos grade = "4" /Qos > Used to identify the quality of service, and so on. If the semantic tag includes the security requirement level, in the embodiment of the present invention, the data packet may be forwarded to a corresponding security router in the domain according to the security requirement level.
在本实施例中, 语义信息还可以是 XML语法之外的实现方式。 作为本发 明语义信息的另一实施例, 语义信息也可以使用一段程序表达, 例如, 使用可 执行程序表达。  In this embodiment, the semantic information may also be an implementation other than the XML syntax. As another embodiment of the semantic information of the present invention, the semantic information may also be expressed using a program, for example, using an executable program.
需要说明的是, 在本实施例中, 流标识可以独立于语义标记, 实际上, 语 义包头中的语义标记也可以包含流标识。无论是上述哪种形式,语义标记可以 只包含安全需求等级、用户等级和流量类型或者只包含安全需求等级、用户等 级、流量类型和流标识中的一项语义信息,也可以是上述语义信息的任意组合。  It should be noted that, in this embodiment, the flow identifier may be independent of the semantic mark. In fact, the semantic mark in the semantic header may also include the flow identifier. In either form, the semantic markup may only contain a security requirement level, a user level and a traffic type, or only one semantic information in a security requirement level, a user level, a traffic type, and a flow identifier, or may be the above semantic information. random combination.
从上述本发明实施例提供的转发数据包的方法可知,由于只需要根据解析 语义包头获得数据包所属数据流的流标识后,从数据记录表查询到数据包的下 一跳路由便可转发数据包。因此,与现有技术需要解析数据包原有包头(例如, IP数据包的 IP包头)、 再通过查询路由表转发数据包相比, 本发明实施例提供 的转发数据包的方法节省了转发数据包的时间, 提高了转发数据包的效率。 为了节省资源, 还可以为数据记录表中的记录设置老化时间。 如此, 可以 对数据记录表设置的老化时间进行计时,若老化时间计时满时没有收到同属所 述数据流的后续数据包,则删除数据记录表中关于该首数据包的下一跳路由的 记录。 例如, 对于附图 3-a示例的数据记录表, 若为流标识为 /5的数据流的记录 设置了老化时间 T, 对老化时间 T进行计时, 在老化时间计时满后, 若没有收 到流标识为 /5的后续数据包, 则在数据记录表中将流标识为 /5的数据流的首数 据包的下一跳路由这一记录删除, 删除记录后的数据记录表如附图 3-c所示。 According to the method for forwarding a data packet provided by the foregoing embodiment of the present invention, since the flow identifier of the data stream to which the data packet belongs is obtained only after the parsing semantic packet header is obtained, the data can be forwarded by querying the next hop route of the data packet from the data record table. package. Therefore, compared with the prior art, it is required to parse the original packet header of the data packet (for example, the IP packet header of the IP data packet), and then forward the data packet by querying the routing table. The method of forwarding data packets saves time for forwarding data packets and improves the efficiency of forwarding data packets. To save resources, you can also set the aging time for records in the data record table. In this way, the aging time set in the data record table can be timed. If the aging time is not full, the subsequent data packet of the same data stream is not received, and the next hop route of the first data packet in the data record table is deleted. recording. For example, for the data record table illustrated in FIG. 3-a, if the aging time T is set for the record of the data flow with the flow identifier of /5, the aging time T is counted, and after the aging time is full, if not received, identified as stream / 5 subsequent data packet, the data records in the table of the stream identifier / next-hop 5 data streams first data packet this record is deleted, the deleted data recording table after recording as in FIG. 3 -c is shown.
请参阅附图 7, 是本发明实施例提供的转发数据包的装置结构示意图。 为 了便于说明, 仅仅示出了与本发明实施例相关的部分。 附图 7示例的转发数据 包的装置可以是网络边缘的路由设备,即运营商所运营的网络中作为入节点的 路由设备, 其包括第一接收模块 701、 第一语义包头生成模块 702、 第一记录增 加模块 703和第一发送模块 704, 其中:  Referring to FIG. 7, FIG. 7 is a schematic structural diagram of an apparatus for forwarding a data packet according to an embodiment of the present invention. For the convenience of description, only the parts related to the embodiment of the present invention are shown. The device for forwarding a data packet as illustrated in FIG. 7 may be a routing device at the edge of the network, that is, a routing device as an ingress node in the network operated by the operator, including a first receiving module 701, a first semantic packet header generating module 702, and a A record adding module 703 and a first sending module 704, wherein:
第一接收模块 701 , 用于接收数据包;  The first receiving module 701 is configured to receive a data packet.
第一语义包头生成模块 702, 用于在所述数据包的原有包头外层添加语义 包头,所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位;  a first semantic header generating module 702, configured to add a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
第一记录增加模块 703 , 用于若所述数据包是数据流的首数据包, 则在数 据记录表中增加关于所述首数据包的下一跳路由的记录;  a first record adding module 703, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data stream;
第一发送模块 704, 用于根据所述首数据的下一跳路由, 发送所述首数据 包。  The first sending module 704 is configured to send the first data packet according to the next hop route of the first data.
在附图 7示例的转发数据包的装置中, 语义包头包含数据包所属数据流的 流标识, 其结构与前述实施例中的语义包头相同, 如附图 2所示。 语义包头中 语义值可以事先由运营商根据现网的差异化需求定义不同的语义类型值,由一 个统一的控制器) Controller )下发, 或者在运营商域内事先协商好, 由运营商 根据策略直接下发语义解析表,域内的路由器接收到携带语义包头的数据包后 根据语义值含义所进行的相关处理规则可以由运营商或者网络管理员进行动 态配置。数据记录表按照携带语义包头携带的流标识记录有同属一个数据流的 每个数据包的下一跳路由。 由于数据包是数据流的首数据包, 因此, 数据记录 表中没有该首数据包相应的记录, 则第一记录增加模块 703可以在数据记录表 中增加关于该首数据包的下一跳路由的记录, 其结构与前述实施例的附图 3-a 至附图 3-c任意示例的数据记录表类似。 需要说明的是, 由于数据包是数据流 的首数据包时, 数据记录表中没有关于该数据包的下一跳路由的记录, 因此, 可以对该首数据包的原有包头, 例如 IP包头进行解析, 通过查询路由表获得其 下一跳路由。 例如, 流标识为 的数据包是流标识为 的数据流的首数据包, 在附图 3-a示例数据记录表中没有流标识为 的数据流所含数据包的下一跳记 录, 则在附图 3-a示例数据记录表增加相应的记录, 增加记录后的数据记录表 如附图 5所示。 In the apparatus for forwarding a packet as exemplified in Fig. 7, the semantic header includes a stream identifier of a data stream to which the packet belongs, and its structure is the same as that of the semantic header in the foregoing embodiment, as shown in Fig. 2. Semantic values in the semantic header can be defined in advance by the operator according to the differentiated requirements of the existing network, and are sent by a unified controller (Controller), or negotiated in advance in the carrier domain. The semantic parsing table is directly delivered. After the router in the domain receives the data packet carrying the semantic packet header, the relevant processing rules according to the meaning of the semantic value can be dynamically configured by the operator or the network administrator. The data record table records the same data stream according to the flow identifier carried by the carrying semantic header. The next hop route for each packet. Since the data packet is the first data packet of the data stream, the first record adding module 703 may add a next hop route for the first data packet in the data record table, if the data record table does not have a corresponding record of the first data packet. The record is similar in structure to the data record table of any of the drawings of the foregoing embodiment from Fig. 3-a to Fig. 3-c. It should be noted that, since the data packet is the first data packet of the data flow, the data record table does not have a record of the next hop route of the data packet, and therefore, the original packet header of the first data packet, such as an IP packet header, may be used. Parse and obtain the next hop route by querying the routing table. For example, the data packet marked by the flow is the first data packet of the data flow whose flow identifier is. In the example data record table of FIG. 3-a, the next hop record of the data packet included in the data flow with no flow identifier is, Figure 3-a shows an example of a data record table with corresponding records added. The data record table after the record is added is shown in Figure 5.
如前所述, 由于第一接收模块 701所收到的数据包是数据流的首数据包, 数据记录表中没有关于该数据包的下一跳路由的记录, 因此, 可以与现有技术 一样, 对该首数据包的原有包头, 例如 IP包头进行解析, 并通过查询路由表获 得其下一跳路由, 第一发送模块 704将其发送出去, 例如转发至中间路由设备。  As described above, since the data packet received by the first receiving module 701 is the first data packet of the data stream, there is no record of the next hop route of the data packet in the data record table, and therefore, it can be the same as the prior art. The original packet header of the first data packet, for example, the IP packet header, is parsed, and the next hop route is obtained by querying the routing table, and the first sending module 704 sends the next packet to the intermediate routing device.
需要说明的是, 以上转发数据包的装置的实施方式中,各功能模块的划分 仅是举例说明, 实际应用中可以根据需要, 例如相应硬件的配置要求或者软件 的实现的便利考虑, 而将上述功能分配由不同的功能模块完成, 即将所述转发 数据包的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者 部分功能。 而且, 实际应用中, 本实施例中的相应的功能模块可以是由相应的 硬件实现, 也可以由相应的硬件执行相应的软件完成, 例如, 前述的第一语义 包头生成模块,可以是具有执行前述在所述数据包的原有包头外层添加语义包 头的硬件, 例如第一语义包头生成器, 也可以是能够执行相应计算机程序从而 完成前述功能的一般处理器或者其他硬件设备; 再如前述的第一记录增加模 块, 可以是具有执行前述若所述数据包是数据流的首数据包, 则在数据记录表 中增加关于所述首数据包的下一跳路由的记录功能的硬件,例如第一记录增加 器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其 他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。  It should be noted that, in the foregoing implementation of the apparatus for forwarding a data packet, the division of each functional module is merely an example. In actual applications, the foregoing may be considered according to requirements, such as configuration requirements of corresponding hardware or convenience of implementation of software. The function assignment is performed by different functional modules, that is, the internal structure of the device for forwarding the data packet is divided into different functional modules to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware, for example, the foregoing first semantic header generating module may be executed. The foregoing hardware for adding a semantic header to the outer layer of the original packet of the data packet, for example, the first semantic header generator, may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the foregoing functions; The first record adding module may be hardware having a function of performing the foregoing, if the data packet is the first data packet, and adding a recording function for the next hop route of the first data packet in the data recording table, for example, The first record adder may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the aforementioned functions (the various embodiments provided in this specification may apply the above described principles).
附图 7示例的转发数据包的装置还包括第一查询模块 801和第一转发模块 802, 如附图 8所示本发明另一实施例提供的转发数据包的装置, 其中: 第一查询模块 801 , 用于查询所述数据记录表获取所述首数据包的下一跳 路由的记录; The apparatus for forwarding a data packet as illustrated in FIG. 7 further includes a first query module 801 and a first forwarding module 802. The apparatus for forwarding a data packet according to another embodiment of the present invention, as shown in FIG. 8, wherein: the first query module 801 is configured to query the data record table to obtain a next hop route of the first data packet. recording;
第一转发模块 802, 用于根据所述首数据包的下一跳路由的记录, 发送所 述后续数据包;  The first forwarding module 802 is configured to send the subsequent data packet according to the record of the next hop route of the first data packet;
所述第一语义包头生成模块 702还用于若所述数据包是所述数据流的后续 数据包, 则在所述后续数据包的原有包头外层添加语义包头。  The first semantic header generating module 702 is further configured to add a semantic header to an outer layer of the original header of the subsequent data packet if the data packet is a subsequent data packet of the data flow.
附图 7示例的转发数据包的装置中, 语义包头还包含语义标记, 所述语义 标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流; 或者, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 与前述实施例类似, 语义包头除了包含标识位之外, 还可以包含数据包所 属数据流的流标识(flow ID )这一字段和语义标记( semantic tag )等, 其中, 标识位用于标识该数据包是携带语义标记的数据包,语义标记用于表示一定特 殊含义的语义信息, 其语法可以类似于 XML语法。 例如, 以语义标记中类似 于 XML语法为例, 其语义信息包括: <security level = "3" /security> 用于 标识该数据包的安全需求等级; application id ="5" /application 用于标 识该数据包的业务信息; <user grade ="1" /1^1 用于标识用户的等级; <flow type = "2" /flow> 用于标识流量类型; <Qos grade = "4" /Qos> 用于 标识服务质量, 等等。 在本实施例中, 语义信息还可以是 XML语法之外的实 现方式。作为本发明语义信息的另一实施例,语义信息也可以使用一段程序表 达, 例如, 使用可执行程序表达。 需要说明的是, 在本实施例中, 流标识可以 独立于语义标记, 实际上, 语义包头中的语义标记也可以包含流标识。  In the apparatus for forwarding a data packet illustrated in FIG. 7, the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier, and the flow identifier is used for Identifying a data flow to which the data packet belongs; or, the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, and a traffic type The flow identifier is used to identify a data flow to which the data packet belongs. Similar to the foregoing embodiment, the semantic header may include a flow identifier (flow ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit, wherein the identifier bit is used to identify the identifier. A data packet is a data packet carrying a semantic mark. A semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax. For example, taking XML-like syntax in semantic markup as an example, its semantic information includes: <security level = "3" /security> is used to identify the security requirement level of the packet; application id ="5" /application is used to identify The business information of the packet; <user grade ="1" /1^1 is used to identify the user's level; <flow type = "2" /flow> is used to identify the traffic type; <Qos grade = "4" /Qos > Used to identify the quality of service, and so on. In this embodiment, the semantic information may also be an implementation other than the XML syntax. As another embodiment of the semantic information of the present invention, the semantic information may also be expressed using a program, for example, using an executable program. It should be noted that, in this embodiment, the flow identifier may be independent of the semantic mark. In fact, the semantic mark in the semantic header may also include the flow identifier.
请参阅附图 9,是本发明另一实施例提供的转发数据包的装置结构示意图。 为了便于说明, 仅仅示出了与本发明实施例相关的部分。 附图 9示例的转发数 据包的装置可以是网络的中间路由设备,即运营商所运营的网络中除作为入节 点路由设备的其他路由设备, 其包括第二接收模块模块 901、 包头解析模块模 块 902、 第二记录增加模块 903和第二发送模块 904, 其中: FIG. 9 is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. The device for forwarding a data packet as illustrated in FIG. 9 may be an intermediate routing device of the network, that is, other routing devices in the network operated by the operator, except for the ingress node routing device, including the second receiving module module 901 and the packet header parsing module. Block 902, second record adding module 903 and second sending module 904, wherein:
第二接收模块 901 , 用于接收数据包, 所述数据包包含语义包头, 所述语 义包头包含用于标识所述数据包为携带语义标记的数据包的标识位;  a second receiving module 901, configured to receive a data packet, where the data packet includes a semantic packet header, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
包头解析模块 902, 用于对所述数据包的语义包头进行解析;  a header parsing module 902, configured to parse a semantic header of the data packet;
第二记录增加模块 903 , 用于若所述数据包是数据流的首数据包, 则在数 据记录表中增加关于所述首数据包的下一跳路由的记录;  a second record adding module 903, configured to add, in the data record table, a record about a next hop route of the first data packet if the data packet is a first data packet of the data stream;
第二发送模块 904, 用于根据所述首数据包的下一跳路由, 发送所述首数 据包。  The second sending module 904 is configured to send the first data packet according to a next hop route of the first data packet.
附图 9示例的转发数据包的装置还包括第二查询模块 1001 , 如附图 10所示 本发明另一实施例提供的转发数据包的装置。第二查询模块 1001用于若所述数 据包是所述数据流的后续数据包,则查询数据记录表中关于所述首数据包的下 一跳路由的记录。 第二发送模块 904还用于根据所述首数据包的下一跳路由的 记录, 发送所述后续数据包。  The apparatus for forwarding a data packet as illustrated in FIG. 9 further includes a second query module 1001, such as the apparatus for forwarding a data packet provided by another embodiment of the present invention as shown in FIG. The second query module 1001 is configured to query the record of the next hop route of the first data packet in the data record table if the data packet is a subsequent data packet of the data stream. The second sending module 904 is further configured to send the subsequent data packet according to the record of the next hop route of the first data packet.
在附图 9示例的转发数据包的装置中, 语义包头还包含语义标记, 所述语 义标记包含安全需求等级、用户等级、流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流; 或者, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 与前述实施例类似, 语义包头除了包含标识位之外, 还可以包含数据包所 属数据流的流标识( flow ID )这一字段和语义标记( semantic tag )等, 其中, 标识位用于标识该数据包是携带语义标记的数据包,语义标记用于表示一定特 殊含义的语义信息, 其语法可以类似于 XML语法。 例如, 以语义标记中类似 于 XML语法为例, 其语义信息包括: <security level = "3" /security> 用于 标识该数据包的安全需求等级; application id ="5" /application 用于标 识该数据包的业务信息; <user grade ="1" /1^1 用于标识用户的等级; <flow type = "2" /flow> 用于标识流量类型; <Qos grade = "4" /Qos> 用于 标识服务质量, 等等。 在本实施例中, 语义信息还可以是 XML语法之外的实 现方式。作为本发明语义信息的另一实施例,语义信息也可以使用一段程序表 达, 例如, 使用可执行程序表达。 需要说明的是, 在本实施例中, 流标识可以 独立于语义标记, 实际上, 语义包头中的语义标记也可以包含流标识。 In the apparatus for forwarding a data packet as illustrated in FIG. 9, the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used. And identifying the data flow to which the data packet belongs; or the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, the semantic mark including one or any of a security requirement level, a user level, and a traffic type In combination, the flow identifier is used to identify a data flow to which the data packet belongs. Similar to the foregoing embodiment, the semantic header may include a flow identifier (stream ID) field and a semantic tag of the data stream to which the data packet belongs, in addition to the identifier bit, wherein the identifier bit is used to identify the identifier. A data packet is a data packet carrying a semantic mark. A semantic mark is used to represent semantic information of a certain special meaning, and its syntax can be similar to XML syntax. For example, taking XML-like syntax in semantic markup as an example, its semantic information includes: <security level = "3"/security> is used to identify the security requirement level of the packet; application id ="5" /application is used to identify The business information of the packet; <user grade ="1" /1^1 is used to identify the user's level; <flow type = "2"/flow> is used to identify the traffic type; <Qos grade = "4" /Qos > Used to identify the quality of service, and so on. In this embodiment, the semantic information may also be an implementation other than the XML syntax. As another embodiment of the semantic information of the present invention, the semantic information may also use a program table. To, for example, use an executable program to express. It should be noted that, in this embodiment, the flow identifier may be independent of the semantic mark. In fact, the semantic mark in the semantic header may also include the flow identifier.
在上述实施例中, 若所述语义标记包含所述安全需求等级, 则第二发送模 块 904还用于根据所述安全需求等级, 将所述所述数据包转发至域中对应的安 全路由器。  In the above embodiment, if the semantic tag includes the security requirement level, the second sending module 904 is further configured to forward the data packet to a corresponding security router in the domain according to the security requirement level.
附图 9或附图 10示例的转发数据包的装置还包括计时模块 1101和记录删除 模块 1102, 如附图 11-a或附图 11-b所示本发明另一实施例提供的转发数据包的 装置, 其中:  The apparatus for forwarding data packets illustrated in FIG. 9 or FIG. 10 further includes a timing module 1101 and a record deletion module 1102, and the forwarding data packet provided by another embodiment of the present invention is shown in FIG. 11-a or FIG. 11-b. Device, where:
计时模块 1101 , 用于对所述数据记录表设置的老化时间进行计时; 记录删除模块 1102,用于若所述老化时间计时满时没有收到同属所述数据 流的后续数据包,则删除所述数据记录表中关于所述首数据包下一跳路由的记 录。 例如, 对于附图 3-a示例的数据记录表, 若为流标识为 /5的数据流的记录设 置了老化时间 T, 计时模块 1101对老化时间 T进行计时, 在老化时间计时满后, 若没有收到流标识为 /5的后续数据包, 则记录删除模块 1102在数据记录表中将 流标识为 /5的数据流的首数据包的下一跳路由这一记录删除, 删除记录后的数 据记录表如附图 3-c所示。 如此, 可以节省资源。 The timing module 1101 is configured to time the aging time set by the data record table, and the record deletion module 1102 is configured to delete the subsequent data packet that belongs to the same data stream when the aging time is full. A record of the next hop route of the first data packet in the data record table. For example, for the data record table illustrated in FIG. 3-a, if the aging time T is set for the record of the data stream whose stream identifier is /5, the timing module 1101 counts the aging time T, after the aging time is full, if If the subsequent data packet whose stream identifier is / 5 is not received, the record deletion module 1102 deletes the record of the next hop route of the first data packet of the data stream whose stream identifier is /5 in the data record table, and deletes the record after deleting the record. The data record table is shown in Figure 3-c. In this way, resources can be saved.
请参阅附图 12 , 是本发明另一实施例提供的转发数据包的装置结构示意 图。 为了便于说明, 仅仅示出了与本发明实施例相关的部分。 附图 12示例的转 发数据包的装置可以是网络边缘的路由设备,即运营商所运营的网络中作为入 节点的路由设备, 其包括第三接收模块 1201、第二语义包头生成模块 1202和第 三转发模块 1203, 其中:  Referring to FIG. 12, it is a schematic structural diagram of an apparatus for forwarding a data packet according to another embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. The device for forwarding a data packet as illustrated in FIG. 12 may be a routing device at the edge of the network, that is, a routing device as an ingress node in the network operated by the operator, including a third receiving module 1201, a second semantic header generating module 1202, and a The three forwarding module 1203, wherein:
第三接收模块 1201 , 用于接收数据包;  a third receiving module 1201, configured to receive a data packet;
第二语义包头生成模块 1202,用于在所述数据包的原有包头外层添加语义 包头,所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位;  The second semantic packet header generating module 1202 is configured to add a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic tag;
第三转发模块 1203, 用于根据所述语义包头, 转发所述数据包。  The third forwarding module 1203 is configured to forward the data packet according to the semantic header.
附图 12示例的转发数据包的装置中,语义包头还包含语义标记, 所述语义 标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流; 或者, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 In the apparatus for forwarding a data packet illustrated in FIG. 12, the semantic header further includes a semantic mark, the semantic mark including one or any combination of a security requirement level, a user level, a traffic type, and a flow identifier. The flow identifier is used to identify a data flow to which the data packet belongs; or the semantic header further includes a semantic mark and a flow identifier independent of the semantic mark, where the semantic mark includes a security requirement level, a user level, and a traffic type. In one or any combination, the flow identifier is used to identify a data flow to which the data packet belongs.
作为另一方面, 本发明再一实施例还提供了一种计算机可读存储介质, 该 计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存 储介质; 也可以是单独存在, 未装配入终端中的计算机可读存储介质。 所述计 算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序 被一个或者一个以上的处理器用来执行一个转发数据包的方法, 所述方法包 括:  In another aspect, still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal. The computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
接收数据包;  Receiving a data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位;  Adding a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳路由的记录;  If the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。  And sending the first data packet according to a next hop route of the first data packet.
殳上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第二种可能的实施方式中, 所述方法还包括:  In the second possible implementation manner that the first possible implementation is provided as a cornerstone, the method further includes:
若所述数据包是所述数据流的后续数据包,则在所述后续数据包的原有包 头外层添加语义包头;  If the data packet is a subsequent data packet of the data stream, adding a semantic header to an outer layer of the original packet header of the subsequent data packet;
查询所述数据记录表获取所述首数据包的下一跳路由的记录;  Querying the data record table to obtain a record of a next hop route of the first data packet;
根据所述首数据包的下一跳路由的记录, 发送所述后续数据包。  Sending the subsequent data packet according to the record of the next hop route of the first data packet.
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第三种可能的实施方式中, 所述语义包头还包含语义标记, 所述语义 标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。  Assuming that the foregoing is a first possible implementation manner, in a third possible implementation manner that the first possible implementation is provided as a cornerstone, the semantic header further includes a semantic mark, and the semantic mark includes security One or any combination of a requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used to identify a data flow to which the data packet belongs.
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第四种可能的实施方式中,所述语义包头还包含语义标记和独立于所 述语义标记的流标识, 所述语义标记包含安全需求等级、用户等级和流量类型 中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。 Assuming that the above is a first possible implementation, in a fourth possible implementation provided by the first possible implementation as a cornerstone, the semantic header also includes semantic markup and is independent of The stream identifier of the semantic tag, the semantic tag includes one or any combination of a security requirement level, a user level, and a traffic type, and the flow identifier is used to identify a data flow to which the data packet belongs.
作为另一方面, 本发明再一实施例还提供了一种计算机可读存储介质, 该 计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存 储介质; 也可以是单独存在, 未装配入终端中的计算机可读存储介质。 所述计 算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序 被一个或者一个以上的处理器用来执行一个转发数据包的方法, 所述方法包 括:  In another aspect, still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal. The computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
接收数据包, 所述数据包包含语义包头, 所述语义包头包含用于标识所述 数据包为携带语义标记的数据包的标识位;  Receiving a data packet, the data packet includes a semantic packet header, and the semantic packet header includes an identifier bit for identifying the data packet as a data packet carrying a semantic mark;
对所述数据包的语义包头进行解析;  Parsing the semantic header of the data packet;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳路由的记录;  If the data packet is the first data packet of the data stream, adding a record of the next hop route of the first data packet to the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。  And sending the first data packet according to a next hop route of the first data packet.
4 设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第二种可能的实施方式中, 所述方法还包括:  In the second possible implementation manner that the first possible implementation is provided as a cornerstone, the method further includes:
若所述数据包是所述数据流的后续数据包,则查询数据记录表中关于所述 首数据包的下一跳路由的记录;  If the data packet is a subsequent data packet of the data stream, querying a record of a next hop route of the first data packet in the data record table;
根据所述首数据包的下一跳路由的记录, 发送所述后续数据包。  Sending the subsequent data packet according to the record of the next hop route of the first data packet.
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第三种可能的实施方式中, 所述语义包头还包含语义标记, 所述语义 标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。  Assuming that the foregoing is a first possible implementation manner, in a third possible implementation manner that the first possible implementation is provided as a cornerstone, the semantic header further includes a semantic mark, and the semantic mark includes security One or any combination of a requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used to identify a data flow to which the data packet belongs.
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第四种可能的实施方式中,所述语义包头还包含语义标记和独立于所 述语义标记的流标识, 所述语义标记包含安全需求等级、用户等级和流量类型 中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。  Assuming that the above is a first possible implementation, in a fourth possible implementation provided by the first possible implementation as a cornerstone, the semantic header further includes a semantic mark and is independent of the semantic mark The stream identifier includes one or any combination of a security requirement level, a user level, and a traffic type, and the flow identifier is used to identify a data flow to which the data packet belongs.
假设上述为第三、第四种可能的实施方式, 则在第三或第四种可能的实施 方式作为基石出而提供的第五种可能的实施方式中, 所述方法还包括: 根据所述安全需求等级, 将所述数据包转发至域中对应的安全路由器。 Assuming the above is the third and fourth possible implementation, then in the third or fourth possible implementation In a fifth possible implementation manner, the method further includes: forwarding, according to the security requirement level, the data packet to a corresponding security router in the domain.
殳上述为第一、第二、第三、第四和第五种可能的实施方式,则在第一、 第二、第三、第四或第五种可能的实施方式作为基 而提供的第六种可能的实 施方式中, 所述方法还包括:  殳The above are the first, second, third, fourth and fifth possible embodiments, and the first, second, third, fourth or fifth possible embodiments are provided as the basis In the six possible implementation manners, the method further includes:
对所述数据记录表设置的老化时间进行计时;  Counting the aging time set by the data record table;
若所述老化时间计时满时没有收到同属所述数据流的后续数据包,则删除 所述数据记录表中关于所述首数据包的下一跳路由的记录。  If the subsequent data packet of the same data stream is not received when the aging time is full, the record of the next hop route of the first data packet in the data record table is deleted.
作为另一方面, 本发明再一实施例还提供了一种计算机可读存储介质, 该 计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存 储介质; 也可以是单独存在, 未装配入终端中的计算机可读存储介质。 所述计 算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序 被一个或者一个以上的处理器用来执行一个转发数据包的方法, 所述方法包 括:  In another aspect, still another embodiment of the present invention provides a computer readable storage medium, which may be a computer readable storage medium included in the memory in the above embodiment; There is a computer readable storage medium that is not assembled into the terminal. The computer readable storage medium stores one or more programs, and the one or more programs are used by one or more processors to perform a method of forwarding a data packet, the method comprising:
接收数据包;  Receiving a data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位;  Adding a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
根据所述语义包头, 转发所述数据包。  Transmitting the data packet according to the semantic header.
殳上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第二种可能的实施方式中, 所述语义包头还包含语义标记, 所述语义 标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。  In the second possible implementation manner that the first possible implementation is provided as a cornerstone, the semantic header further includes a semantic mark, and the semantic mark includes security. One or any combination of a requirement level, a user level, a traffic type, and a flow identifier, where the flow identifier is used to identify a data flow to which the data packet belongs.
殳上述为第一种可能的实施方式,则在第一种可能的实施方式作为基石出 而提供的第三种可能的实施方式中,所述语义包头还包含语义标记和独立于所 述语义标记的流标识, 所述语义标记包含安全需求等级、用户等级和流量类型 中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。  The foregoing is a first possible implementation manner, and in a third possible implementation manner that the first possible implementation is provided as a cornerstone, the semantic header further includes a semantic mark and is independent of the semantic mark. The stream identifier includes one or any combination of a security requirement level, a user level, and a traffic type, and the flow identifier is used to identify a data flow to which the data packet belongs.
本发明实施例还提供一种网络的中间路由设备, 包括: 输入装置、 输出装 置、 存储器和处理器, 存储器用于存储数据记录表, 所述数据记录表按照携带 语义包头携带的流标识记录同属一个数据流的每个数据包的下一跳路由; 其 中, 所述处理器执行如下步骤: 接收数据包, 所述数据包包含语义包头, 所述 语义包头包含用于标识所述数据包为携带语义标记的数据包的标识位;对所述 数据包的语义包头进行解析; 若所述数据包是数据流的首数据包, 则在数据记 录表中增加关于所述首数据包的下一跳路由的记录;根据所述首数据包的下一 跳路由, 发送所述首数据包。 An embodiment of the present invention further provides an intermediate routing device of a network, including: an input device, an output device, a memory, and a processor, where the memory is used to store a data record table, where the data record table is carried according to The stream identifier carried by the semantic packet header records the next hop route of each data packet belonging to a data stream. The processor performs the following steps: receiving a data packet, where the data packet includes a semantic packet header, and the semantic packet header includes The identifier is used to identify the identifier of the data packet carrying the semantic mark; parse the semantic header of the data packet; if the data packet is the first data packet of the data flow, add a relevant information in the data record table Recording a next hop route of the first data packet; sending the first data packet according to a next hop route of the first data packet.
本发明另一实施例还提供一种网络的边缘路由设备, 包括: 输入装置、 输 出装置、存储器和处理器, 存储器用于存储数据记录表, 所述数据记录表按照 携带语义包头携带的流标识记录同属一个数据流的每个数据包的下一跳路由; 其中, 所述处理器执行如下步骤: 接收数据包; 在所述数据包的原有包头外层 添加语义包头,所述语义包头包含用于标识所述数据包为携带语义标记的数据 包的标识位; 若所述数据包是数据流的首数据包, 则在数据记录表中增加关于 所述首数据包的下一跳路由的记录; 根据所述首数据包的下一跳路由,发送所 述首数据包。  Another embodiment of the present invention further provides an edge routing device for a network, including: an input device, an output device, a memory, and a processor, where the memory is configured to store a data record table, where the data record table carries a flow identifier carried by the semantic packet header Recording a next hop route of each data packet belonging to the same data stream; wherein the processor performs the following steps: receiving a data packet; adding a semantic header to an outer layer of the original packet header of the data packet, where the semantic packet header includes An identifier for identifying the data packet as a data packet carrying a semantic mark; if the data packet is a first data packet of the data flow, adding a next hop route for the first data packet in the data record table Recording; transmitting the first data packet according to a next hop route of the first data packet.
本发明实施例还提供一种网络边缘的路由设备, 包括: 输入装置、 输出装 置、 存储器和处理器, 存储器用于存储数据记录表, 所述数据记录表按照携带 语义包头携带的流标识记录同属一个数据流的每个数据包的下一跳路由; 其 中, 所述处理器执行如下步骤:  The embodiment of the present invention further provides a network edge routing device, including: an input device, an output device, a memory, and a processor, where the memory is used to store a data record table, and the data record table records the same genus according to the flow identifier carried by the semantic packet header. a next hop route for each packet of a data stream; wherein the processor performs the following steps:
接收数据包;  Receiving a data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位;  Adding a semantic header to an outer layer of the original header of the data packet, where the semantic header includes an identifier for identifying the data packet as a data packet carrying a semantic mark;
根据所述语义包头, 转发所述数据包。  Transmitting the data packet according to the semantic header.
需要说明的是, 上述装置各模块 /单元之间的信息交互、 执行过程等内容, 由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施 例相同, 具体内容可参见本发明方法实施例中的叙述, 此处不再赘述。  It should be noted that the information interaction, the execution process, and the like between the modules/units of the foregoing device are the same as the embodiment of the method of the present invention. Reference is made to the description in the method embodiment of the present invention, and details are not described herein again.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括但不限于: 只读存储器 (ROM, Read Only Memory ), 随机存取存储器(RAM, Random Access Memory ),磁盘或光盘等。 以上对本发明实施例提供的一种转发数据包的方法、装置和路由设备进行 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于 本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均 会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。 A person of ordinary skill in the art may understand that all or part of the steps of the foregoing embodiments may be completed by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, and the storage medium may include Not limited to: Read Only Memory (ROM, Read Only) Memory ), Random Access Memory (RAM), disk or optical disk. The foregoing description of the method, device, and routing device for forwarding a data packet provided by the embodiment of the present invention is only for helping to understand the method and core idea of the present invention. Meanwhile, for those skilled in the art, The present invention is not limited by the scope of the present invention.

Claims

权 利 要 求 Rights request
1、 一种转发数据包的方法, 其特征在于, 所述方法包括: 1. A method of forwarding data packets, characterized in that the method includes:
接收数据包; receive data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位; Add a semantic header to the outer layer of the original header of the data packet, and the semantic header includes an identification bit used to identify the data packet as a data packet carrying a semantic mark;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳 ^路由的记录; If the data packet is the first data packet of the data flow, then add a record about the next hop or route of the first data packet in the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。 The first data packet is sent according to the next hop route of the first data packet.
2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 2. The method according to claim 1, characterized in that, the method further includes:
若所述数据包是所述数据流的后续数据包,则在所述后续数据包的原有包 头外层添加语义包头; If the data packet is a subsequent data packet of the data flow, a semantic header is added to the outer layer of the original header of the subsequent data packet;
查询所述数据记录表获取所述首数据包的下一跳路由的记录; Query the data record table to obtain the record of the next hop route of the first data packet;
根据所述首数据包的下一跳路由的记录, 发送所述后续数据包。 The subsequent data packet is sent according to the record of the next hop route of the first data packet.
3、如权利要求 1所述的方法,其特征在于,所述语义包头还包含语义标记, 所述语义标记包含安全需求等级、用户等级、 流量类型和流标识中的一项或任 意组合, 所述流标识用于标识数据包所属的数据流。 3. The method of claim 1, wherein the semantic header further includes a semantic mark, and the semantic mark includes one or any combination of security requirement level, user level, traffic type and flow identifier, so The flow identifier is used to identify the data flow to which the data packet belongs.
4、 如权利要求 1所述的方法, 其特征在于, 所述语义包头还包含语义标记 和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等级 和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。 4. The method of claim 1, wherein the semantic packet header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
5、 一种转发数据包的方法, 其特征在于, 所述方法包括: 5. A method of forwarding data packets, characterized in that the method includes:
接收数据包, 所述数据包包含语义包头, 所述语义包头包含用于标识所述 数据包为携带语义标记的数据包的标识位; Receive a data packet, the data packet includes a semantic packet header, and the semantic packet header includes an identification bit used to identify the data packet as a data packet carrying a semantic tag;
对所述数据包的语义包头进行解析; Parse the semantic header of the data packet;
若所述数据包是数据流的首数据包,则在数据记录表中增加关于所述首数 据包的下一跳路由的记录; If the data packet is the first data packet of the data flow, add a record about the next hop route of the first data packet in the data record table;
根据所述首数据包的下一跳路由, 发送所述首数据包。 The first data packet is sent according to the next hop route of the first data packet.
6、 根据权利要求 5所述的方法, 其特征在于, 还包括: 6. The method according to claim 5, further comprising:
若所述数据包是所述数据流的后续数据包,则查询数据记录表中关于所述 首数据包的下一跳路由的记录; If the data packet is a subsequent data packet of the data flow, query the data record table for the The record of the next hop route of the first data packet;
根据所述首数据包的下一跳路由的记录, 发送所述后续数据包。 The subsequent data packet is sent according to the record of the next hop route of the first data packet.
7、如权利要求 5所述的方法,其特征在于,所述语义包头还包含语义标记, 所述语义标记包含安全需求等级、用户等级、 流量类型和流标识中的一项或任 意组合, 所述流标识用于标识数据包所属的数据流。 7. The method of claim 5, wherein the semantic header further includes a semantic mark, and the semantic mark includes one or any combination of security requirement level, user level, traffic type and flow identifier, so The flow identifier is used to identify the data flow to which the data packet belongs.
8、 如权利要求 5所述的方法, 其特征在于, 所述语义包头还包含语义标记 和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等级 和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据流。 8. The method of claim 5, wherein the semantic header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
9、 如权利要求 7或 8所述的方法, 其特征在于, 若所述语义标记包含所述 安全需求等级, 则所述方法还包括: 9. The method according to claim 7 or 8, characterized in that, if the semantic mark includes the security requirement level, the method further includes:
根据所述安全需求等级, 将所述数据包转发至域中对应的安全路由器。 According to the security requirement level, the data packet is forwarded to the corresponding security router in the domain.
10、如权利要求 5至 9任意一项所述的方法,其特征在于,所述方法还包括: 对所述数据记录表设置的老化时间进行计时; 10. The method according to any one of claims 5 to 9, characterized in that the method further includes: timing the aging time set in the data recording table;
若所述老化时间计时满时没有收到同属所述数据流的后续数据包,则删除 所述数据记录表中关于所述首数据包的下一跳路由的记录。 If no subsequent data packet belonging to the same data flow is received when the aging time expires, the record of the next-hop route of the first data packet in the data record table is deleted.
11、 一种转发数据包的方法, 其特征在于, 所述方法包括: 11. A method of forwarding data packets, characterized in that the method includes:
接收数据包; receive data packet;
在所述数据包的原有包头外层添加语义包头,所述语义包头包含用于标识 所述数据包为携带语义标记的数据包的标识位; Add a semantic header to the outer layer of the original header of the data packet, and the semantic header includes an identification bit used to identify the data packet as a data packet carrying a semantic mark;
根据所述语义包头, 转发所述数据包。 The data packet is forwarded according to the semantic header.
12、 如权利要求 11所述的方法, 其特征在于, 所述语义包头还包含语义标 记, 所述语义标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项 或任意组合, 所述流标识用于标识数据包所属的数据流。 12. The method of claim 11, wherein the semantic header further includes a semantic mark, and the semantic mark includes one or any combination of security requirement level, user level, traffic type and flow identifier, so The flow identifier is used to identify the data flow to which the data packet belongs.
13、 如权利要求 11所述的方法, 其特征在于, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 13. The method of claim 11, wherein the semantic packet header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
14、 一种转发数据包的装置, 其特征在于, 所述装置包括: 第一接收模块, 用于接收数据包; 14. A device for forwarding data packets, characterized in that the device includes: The first receiving module is used to receive data packets;
第一语义包头生成模块, 用于在所述数据包的原有包头外层添加语义包 头, 所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位; A first semantic header generation module, configured to add a semantic header to the outer layer of the original header of the data packet, where the semantic header includes an identification bit used to identify the data packet as a data packet carrying a semantic mark;
第一记录增加模块, 用于若所述数据包是数据流的首数据包, 则在数据记 录表中增加关于所述首数据包的下一跳路由的记录; The first record adding module is used to add a record about the next hop route of the first data packet in the data record table if the data packet is the first data packet of the data flow;
第一发送模块, 用于根据所述首数据的下一跳路由, 发送所述首数据包。 The first sending module is configured to send the first data packet according to the next hop route of the first data.
15、 如权利要求 14所述的装置, 其特征在于, 所述装置还包括: 15. The device according to claim 14, characterized in that, the device further includes:
第一查询模块,用于查询所述数据记录表获取所述首数据包的下一跳路由 的记录; The first query module is used to query the data record table to obtain the record of the next hop route of the first data packet;
第一转发模块, 用于根据所述首数据包的下一跳路由的记录,发送所述后 续数据包; The first forwarding module is configured to send the subsequent data packet according to the record of the next hop route of the first data packet;
所述第一语义包头生成模块还用于若所述数据包是所述数据流的后续数 据包, 则在所述后续数据包的原有包头外层添加语义包头。 The first semantic header generation module is also configured to add a semantic header to the outer layer of the original header of the subsequent data packet if the data packet is a subsequent data packet of the data flow.
16、 如权利要求 14所述的装置, 其特征在于, 所述语义包头还包含语义标 记, 所述语义标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项 或任意组合, 所述流标识用于标识数据包所属的数据流。 16. The device according to claim 14, wherein the semantic header further includes a semantic tag, and the semantic tag includes one or any combination of security requirement level, user level, traffic type and flow identifier, so The flow identifier is used to identify the data flow to which the data packet belongs.
17、 如权利要求 14所述的装置, 其特征在于, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 17. The device according to claim 14, wherein the semantic packet header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
18、 一种转发数据包的装置, 其特征在于, 所述装置包括: 18. A device for forwarding data packets, characterized in that the device includes:
第二接收模块, 用于接收数据包, 所述数据包包含语义包头, 所述语义包 头包含用于标识所述数据包为携带语义标记的数据包的标识位; The second receiving module is configured to receive a data packet, the data packet includes a semantic packet header, and the semantic packet header includes an identification bit used to identify the data packet as a data packet carrying a semantic tag;
包头解析模块, 用于对所述数据包的语义包头进行解析; A header parsing module, used to parse the semantic header of the data packet;
第二记录增加模块, 用于若所述数据包是数据流的首数据包, 则在数据记 录表中增加关于所述首数据包的下一跳路由的记录; The second record adding module is used to add a record about the next hop route of the first data packet in the data record table if the data packet is the first data packet of the data flow;
第二发送模块,用于根据所述首数据包的下一跳路由,发送所述首数据包。 The second sending module is configured to send the first data packet according to the next hop route of the first data packet.
19、 如权利要求 18所述的装置, 其特征在于, 所述装置还包括: 第二查询模块, 用于若所述数据包是所述数据流的后续数据包, 则查询数 据记录表中关于所述首数据包的下一跳路由的记录; 19. The device according to claim 18, characterized in that the device further includes: a second query module, configured to query the data record table for information about the data packet if the data packet is a subsequent data packet of the data stream. The record of the next hop route of the first data packet;
所述第二发送模块还用于根据所述首数据包的下一跳路由的记录,发送所 述后续数据包。 The second sending module is also configured to send the subsequent data packet according to the record of the next hop route of the first data packet.
20、 如权利要求 19所述的装置, 其特征在于, 所述语义包头还包含语义标 记, 所述语义标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项 或任意组合, 所述流标识用于标识数据包所属的数据流。 20. The device according to claim 19, wherein the semantic header further includes a semantic tag, and the semantic tag includes one or any combination of security requirement level, user level, traffic type and flow identifier, so The flow identifier is used to identify the data flow to which the data packet belongs.
21、 如权利要求 19所述的装置, 其特征在于, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 21. The device according to claim 19, wherein the semantic packet header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
22、 如权利要求 20或 21所述的装置, 其特征在于, 若所述语义标记包含所 述安全需求等级, 所述第二发送模块还用于根据所述安全需求等级,将所述数 据包转发至域中对应的安全路由器。 22. The device according to claim 20 or 21, wherein if the semantic mark includes the security requirement level, the second sending module is further configured to send the data packet according to the security requirement level. Forwarded to the corresponding secure router in the domain.
23、 如权利要求 18至 22任意一项所述的装置, 其特征在于, 所述装置还包 括: 23. The device according to any one of claims 18 to 22, characterized in that the device further includes:
计时模块, 用于对所述数据记录表设置的老化时间进行计时; A timing module, used to time the aging time set in the data recording table;
记录删除模块,用于若所述老化时间计时满时没有收到同属所述数据流的 后续数据包, 则删除所述数据记录表中关于所述首数据包下一跳路由的记录。 A record deletion module, configured to delete the record of the next hop route of the first data packet in the data record table if no subsequent data packet belonging to the same data flow is received when the aging time expires.
24、 一种转发数据包的装置, 其特征在于, 所述装置包括: 24. A device for forwarding data packets, characterized in that the device includes:
第三接收模块, 用于接收数据包; The third receiving module is used to receive data packets;
第二语义包头生成模块, 用于在所述数据包的原有包头外层添加语义包 头, 所述语义包头包含用于标识所述数据包为携带语义标记的数据包的标识 位; 第三转发模块, 用于根据所述语义包头, 转发所述数据包。 The second semantic header generation module is used to add a semantic header to the outer layer of the original header of the data packet. The semantic header includes an identification bit used to identify the data packet as a data packet carrying a semantic tag; third forwarding Module, configured to forward the data packet according to the semantic packet header.
25、 如权利要求 24所述的装置, 其特征在于, 所述语义包头还包含语义标 记, 所述语义标记包含安全需求等级、 用户等级、 流量类型和流标识中的一项 或任意组合, 所述流标识用于标识数据包所属的数据流。 25. The device of claim 24, wherein the semantic header further includes a semantic tag, and the semantic tag includes one of a security requirement level, a user level, a traffic type, and a flow identifier. or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
26、 如权利要求 24所述的装置, 其特征在于, 所述语义包头还包含语义标 记和独立于所述语义标记的流标识, 所述语义标记包含安全需求等级、用户等 级和流量类型中的一项或任意组合, 所述流标识用于标识数据包所属的数据 流。 26. The device according to claim 24, wherein the semantic packet header further includes a semantic tag and a flow identifier independent of the semantic tag, and the semantic tag includes security requirement level, user level and traffic type. One item or any combination, the flow identifier is used to identify the data flow to which the data packet belongs.
PCT/CN2013/077967 2013-06-26 2013-06-26 Method, apparatus and routing device for forwarding data packet WO2014205660A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380000486.2A CN103748842B (en) 2013-06-26 2013-06-26 Method, device and route device for forwarding data packages
PCT/CN2013/077967 WO2014205660A1 (en) 2013-06-26 2013-06-26 Method, apparatus and routing device for forwarding data packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077967 WO2014205660A1 (en) 2013-06-26 2013-06-26 Method, apparatus and routing device for forwarding data packet

Publications (1)

Publication Number Publication Date
WO2014205660A1 true WO2014205660A1 (en) 2014-12-31

Family

ID=50504650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/077967 WO2014205660A1 (en) 2013-06-26 2013-06-26 Method, apparatus and routing device for forwarding data packet

Country Status (2)

Country Link
CN (1) CN103748842B (en)
WO (1) WO2014205660A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361618A (en) * 2018-10-11 2019-02-19 平安科技(深圳)有限公司 Data traffic labeling method, device, computer equipment and storage medium
WO2021174986A1 (en) * 2020-03-05 2021-09-10 华为技术有限公司 Data stream processing method and device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034089A (en) * 2015-03-20 2016-10-19 中兴通讯股份有限公司 Message scheduling method and device based on scheduling flow identification
CN112437032B (en) * 2019-08-24 2023-04-18 北京希姆计算科技有限公司 Data transmitting/receiving device and method, storage medium, and electronic apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275861B1 (en) * 1996-09-27 2001-08-14 Pmc-Sierra, Inc. Method and apparatus to identify flows in data systems
CN102075444A (en) * 2011-02-28 2011-05-25 北京邮电大学 Network system and method for guaranteeing multi-type service quality
US20120163389A1 (en) * 2007-09-26 2012-06-28 Foundry Networks, Inc. Techniques for selecting paths and/or trunk ports for forwarding traffic flows
CN102546419A (en) * 2012-01-16 2012-07-04 北京交通大学 Routing method, routing device, packet forwarding method and packet forwarding system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359885C (en) * 2002-06-24 2008-01-02 武汉烽火网络有限责任公司 Method for forwarding data by strategic stream mode and data forwarding equipment
CN100459574C (en) * 2005-09-19 2009-02-04 北京大学 Network flow classifying, state tracking and message processing device and method
CN102123082A (en) * 2011-01-14 2011-07-13 中兴通讯股份有限公司 Packet forwarding method and equipment
CN102883400B (en) * 2012-08-27 2014-11-05 苏州两江科技有限公司 Method for forwarding data of hierarchal wireless sensor network based on semantic routing
CN102882790A (en) * 2012-10-12 2013-01-16 北京锐安科技有限公司 IPv6 (Internet Protocol version 6) real-time dataflow processing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275861B1 (en) * 1996-09-27 2001-08-14 Pmc-Sierra, Inc. Method and apparatus to identify flows in data systems
US20120163389A1 (en) * 2007-09-26 2012-06-28 Foundry Networks, Inc. Techniques for selecting paths and/or trunk ports for forwarding traffic flows
CN102075444A (en) * 2011-02-28 2011-05-25 北京邮电大学 Network system and method for guaranteeing multi-type service quality
CN102546419A (en) * 2012-01-16 2012-07-04 北京交通大学 Routing method, routing device, packet forwarding method and packet forwarding system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361618A (en) * 2018-10-11 2019-02-19 平安科技(深圳)有限公司 Data traffic labeling method, device, computer equipment and storage medium
CN109361618B (en) * 2018-10-11 2022-10-28 平安科技(深圳)有限公司 Data flow marking method and device, computer equipment and storage medium
WO2021174986A1 (en) * 2020-03-05 2021-09-10 华为技术有限公司 Data stream processing method and device

Also Published As

Publication number Publication date
CN103748842B (en) 2017-04-12
CN103748842A (en) 2014-04-23

Similar Documents

Publication Publication Date Title
US20220078114A1 (en) Method and Apparatus for Providing Service for Traffic Flow
US9071529B2 (en) Method and apparatus for accelerating forwarding in software-defined networks
KR100454502B1 (en) Apparatus for providing QoS on IP router and method for forwarding VoIP traffic
EP2773073B1 (en) Entry generation method, message receiving method, and corresponding device and system
WO2012106869A1 (en) Message processing method and related device thereof
WO2019223661A1 (en) Application identifier identification method, device and system
WO2011160367A1 (en) Forwarding method and device for network address translation
WO2011150701A1 (en) Method, network device and network system for data service processing
WO2016000513A1 (en) Method and device for updating processing manner of service flow packet
WO2013026384A1 (en) Service data transmission method, network node and system
WO2011032321A1 (en) Data forwarding method, data processing method, system and device thereof
KR100636273B1 (en) Apparatus and method for transmitting of mpls multicast packet on ethernet
WO2016029345A1 (en) Network flow information statistics method and apparatus
WO2021174958A1 (en) Message forwarding method, device, system, network device and storage medium
US10263901B2 (en) Service packet processing method, apparatus, and system
WO2017162117A1 (en) Accurate speed limiting method and apparatus for cluster
WO2014205660A1 (en) Method, apparatus and routing device for forwarding data packet
WO2008128449A1 (en) Method, system and access device for implementing two-layer intercommunication of special service
WO2016150020A1 (en) Scheduling flow identifier-based packet scheduling method and device
CN102255808B (en) Congestion notification method, device, system and network equipment
WO2021196967A1 (en) Message interaction method and apparatus, and device and storage medium
CN111131911A (en) Multicast method and device
WO2016202224A1 (en) Method and device for adjusting transport layer parameter
WO2009089761A1 (en) Method, system for realizing switching of multicast route tracking in second and third layers, and router
CN112398754A (en) Data transmission method, device, medium, electronic equipment and network access equipment

Legal Events

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

Ref document number: 13888316

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13888316

Country of ref document: EP

Kind code of ref document: A1