WO2014139481A1 - 报文处理方法及设备 - Google Patents
报文处理方法及设备 Download PDFInfo
- Publication number
- WO2014139481A1 WO2014139481A1 PCT/CN2014/073516 CN2014073516W WO2014139481A1 WO 2014139481 A1 WO2014139481 A1 WO 2014139481A1 CN 2014073516 W CN2014073516 W CN 2014073516W WO 2014139481 A1 WO2014139481 A1 WO 2014139481A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- interest
- message
- data packet
- data
- packet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000012545 processing Methods 0.000 claims description 49
- 238000003672 processing method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 21
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
Definitions
- the embodiments of the present invention relate to communication technologies, and in particular, to a packet processing method and device.
- ICN Information Centric Network
- NDN Named Data Network
- NDN mainly uses two kinds of packets, which are interest packets and data packets.
- NDN maintains three tables: a storage table (Content Store, called CS), a Pending Interest Table (PIT), and a Forwarding Information Table (FIB), and is based on These three tables forward the interest 4 essays.
- the process of forwarding the interest message in the NDN is as follows: When the router in the NDN receives the interest message, it first queries the CS according to the content name (Content Name) in the interest message, if the CS matches the content name. The content is sent out through the port of the interest message; if there is no content in the CS that matches the content name, the content name is used to search for the PIT to determine whether the same content has been requested. The interest message is waiting.
- Content Name Content Name
- the port from the interest message is added to the PIT entry, and the next message is continued; if the PIT If there is no PIT entry matching the content name, the FIB entry is queried by the content name, and if there is a FIB entry matching the content name in the FIB, the interest message is sent. If the outbound port in the matched FIB entry is forwarded to the next hop, the next hop forwards the interest packet in the same manner; if there is no FIB entry in the FIB that matches the content name, Discard the interest message. Therefore, in the NDN, the route of the interest packet needs to be completed by hop-by-hop search for the FIB, and the routing efficiency is low.
- the embodiments of the present invention provide a packet processing method and device, which are used to solve the problem of low efficiency of interest packet routing in the prior art.
- the first aspect provides a packet processing method, which is applied to a forwarding node in an information-centric network ICN, where the forwarding node includes a resident information table PIT, and the PIT includes one or more PIT entries, and each PIT The entry includes a content name and a port, and the method includes:
- the forwarding node receives a data packet, and the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first interest message is sent by the destination device.
- the file is used by the source device to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the first Matching the resident information table according to the first interest message, so that the resident information table includes a PIT entry corresponding to the first interest message;
- the content name carried in the data packet is matched with the content name in the PIT entry, and the port in the matched PIT entry is matched. Forwarding the data packet to the source device, where the second interest packet is used by the destination device to request content from the source device.
- the method further includes: when determining that the data packet carries the second interest packet, and the data packet is The content name carried in the PIT entry is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry:
- the method further includes: performing, in the content name carried in the data packet, the
- the content name in the PIT entry is matched, and the data packet is forwarded to the source device according to the port in the matched PIT entry, if it is determined that the second CS exists in the local CS
- the content corresponding to the content name transmits the content corresponding to the content name in the second interest message in the local CS through the port that receives the data message.
- the content corresponding to the content name in the second interest information in the local CS is passed
- the port that receives the data packet is sent out, and the content name carried in the data packet is matched with the content name in the PIT entry, and the port is configured according to the port in the matched PIT entry.
- the source device forwarding the data packet includes:
- the content corresponding to the content name in the second interest message in the local CS is sent out through the port that receives the data packet, and the second interest message is removed from the data packet. Matching the content name carried in the data packet with the content name in the PIT entry, and forwarding the second interest packet to the source device according to the port in the matched PIT entry The latter data message.
- the method further includes: after receiving the data packet, and determining that the data packet carries the second interest packet, generating or updating, corresponding to the second interest packet
- the generating or updating the PIT entry corresponding to the second interest packet includes:
- the PIT entry including the content name in the second interest message does not exist in the resident information table, adding a content name and receiving in the second interest message in the resident information table a PIT entry to the information of the port of the data packet to generate a PIT entry corresponding to the second interest message.
- the method further includes: when determining that the data packet does not carry the second interest And matching the content name carried in the data packet with the content name in the PIT entry, and forwarding the data packet to the source device according to the port in the matched PIT entry.
- the method further includes: After forwarding the data packet to the source device according to the port in the matched PIT entry, the matched PIT entry is removed from the resident information table.
- the second interest message is one or more.
- the data packet further includes a reverse interest identifier, configured to identify whether the data packet carries the second interest packet;
- the content name carried in the data packet is matched with the content name in the PIT entry, and is matched according to the matched PIT entry.
- the forwarding of the data packet by the port to the source device includes:
- the manner in which the data packet carries the reverse interest identifier includes:
- Interests _t essays include:
- the forwarding when there are multiple other forwarding nodes between the forwarding node and the source device, the forwarding, by the port in the matched PIT entry, the data packet to the source device includes: Forwarding the data packet to the next forwarding node according to the port in the matched PIT entry, so that after the next forwarding node receives the data packet, when determining that the data packet carries
- the content name carried in the data packet is matched with the content name in the PIT entry, and the port
- the second aspect provides a packet processing method, including:
- the destination device generates a data packet according to the received first interest packet, where the first interest packet is forwarded by the source device by using the forwarding node, and is used by the source device to request content from the destination device.
- the forwarding node includes a resident information table PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port, and the forwarding node performs the forwarding of the first interest message according to the The first interest message matches the resident information table, so that the resident information table includes a PIT entry corresponding to the first interest message;
- the destination device When the destination device needs to carry the second interest message to the source device in the data packet, the destination device carries the second interest message, the second interest, in the data packet.
- the message is used by the destination device to request content from the source device;
- the method further includes: determining, by the destination device, that a second interest that is sent to the source device is required to be carried in the data packet Transmitting, in the data packet, the reverse interest identifier, and setting the value of the reverse interest identifier to identify that the data packet carries the value of the second interest packet, where The reverse interest identifier is used to identify whether the data message carries the second interest message.
- the second interest message is one or more.
- the destination device is in the datagram
- the text carries a reverse interest identifier, including:
- the destination device carries the reverse interest identifier in a digital signature information field of the data packet;
- the destination device adds a first field to the data packet, and carries the reverse interest identifier in the first field.
- the destination device carries the second interest message in the data packet, including:
- the destination device adds a second field before the data payload field in the data packet, and carries the second interest packet in the second field;
- the destination device adds a third field after the data payload field in the data packet, and carries the second interest packet in the third field.
- the third aspect provides a packet processing method, including:
- the source device receives the first data packet, where the first data packet is generated by the destination device according to the first interest packet of the source device, and is forwarded by the forwarding node, where the first interest packet is used by the source device.
- the source device requests content from the destination device;
- the forwarding node includes a resident information table PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; and the forwarding node receives the content And determining, by the first data packet, that the first data packet carries a second interest message, generating or updating a PIT entry corresponding to the second interest message; Requesting content from the source device to the source device;
- the source device determines that the first data packet carries the second interest packet
- the source device obtains the second interest packet from the first data packet, according to the second interest packet, Generating a second data packet, where the second data packet carries a content name that is the same as a content name of the second interest message request content;
- the source device sends the second data packet to the forwarding node, so that the forwarding node matches the content name carried in the second data packet with the content name in the PIT entry. And forwarding, by the port in the matched PIT entry, the second data packet to the destination device.
- the first data packet further carries a reverse interest identifier, and is used to identify whether the first data packet carries the first Second interest message;
- the source device determines that the first data packet carries the second interest packet
- the source device obtains the second interest packet from the first data packet, according to the second interest packet.
- the second data packet is generated, including:
- the source device When determining that the first data packet carries the second interest packet by determining the value of the reverse interest identifier, the source device acquires the second interest from the first data packet Transmitting, according to the second interest message, the second data packet.
- the method further includes: obtaining, by using the first data packet, The first interest is the content requested by the text and the content is processed.
- the second interest packet For one or more.
- the fourth aspect provides a forwarding node, including a resident information table PIT, where the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; and the forwarding node further includes: a receiving module, After receiving the data packet, the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first interest packet is used.
- the source device requests content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the first interest packet. Matching the resident information table according to the first interest message, so that the resident information table includes a PIT entry corresponding to the first interest message;
- a forwarding processing module configured to: when determining that the data packet carries the second interest packet, match the content name carried in the data packet with the content name in the PIT entry, and according to the matching The port in the PIT entry forwards the data packet to the source device, where the second interest packet is used by the destination device to request content from the source device.
- the forwarding node further includes: a determining module, configured to query, according to the content name in the second interest message, the local storage table CS, to determine whether the content corresponding to the content name in the second interest message exists in the local CS;
- the forwarding processing module is specifically configured to: if the determining module determines that the content corresponding to the content name in the second interest packet does not exist in the local CS, when determining that the data packet carries the second interest packet, The content name carried in the data packet is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the forwarding processing module is further configured to: in the content name carried in the data packet, The content name in the PIT entry is matched, and before the data packet is forwarded to the source device according to the port in the matched PIT entry, if the determining module determines that the second interest exists in the local CS.
- the content corresponding to the content name in the text is sent by the port that receives the data message from the content corresponding to the content name in the second interest message in the local CS.
- the forwarding processing module is specifically configured to: if the determining module determines that the second The content corresponding to the content name in the interest message, the content corresponding to the content name in the second interest message in the local CS is sent out through the port that receives the data message, and the second interest is sent The packet is removed from the data packet, and the content name carried in the data packet is matched with the content name in the PIT entry, and the source device is configured according to the port in the matched PIT entry. Forwarding the data packet after the second interest message is removed.
- the forwarding node further includes: an entry adding module, configured to generate or update the data packet after receiving the data packet and determining that the data packet carries the second interest packet The PIT entry corresponding to the second interest message.
- the entry adding module is specifically configured to perform, according to the content name in the second interest message, a resident information table; if a PIT entry including a content name in the second interest message exists in the resident information table, a PIT table including a content name in the second interest message In the item, Adding information of the port that receives the data packet to update the corresponding to the second interest message
- the forwarding processing module is further configured to: when determining that the data packet does not carry the first Matching the content name carried in the data packet with the content name in the PIT entry, and forwarding the datagram to the source device according to the port in the matched PIT entry. Text.
- the forwarding node further includes: a deleting module, configured to: after the forwarding processing module forwards the data packet to the source device according to the port in the matched PIT entry, move the matched PIT entry from the resident information table except.
- the second interest message is one or more.
- the data packet further includes a reverse interest identifier, configured to identify whether the data packet carries the second interest packet;
- the forwarding processing module is specifically configured to: when determining, by the value of the reverse interest identifier, that the data packet carries the second interest packet, the content name and the content carried in the data packet The content names in the PIT entries are matched, and the data packets are forwarded to the source device according to the ports in the matched PIT entries.
- the manner in which the data packet carries the reverse interest identifier includes:
- the data packet carries the second Interests _t essays include:
- the forwarding processing module is specifically configured to: when the forwarding node and the source device have multiple other forwarding nodes, if the data packet is disconnected, the second interest packet is carried Matching the content name carried in the data packet with the content name in the PIT entry, and forwarding the data packet to the next forwarding node according to the port in the matched PIT entry, so that the data packet is After the data packet is received by the forwarding node, the content name carried in the data packet and the content in the PIT
- a fifth aspect provides a terminal device, including:
- a generating module configured to generate a data packet according to the received first interest packet, where the first interest packet is forwarded by the source device by using the forwarding node, where the source device requests content from the terminal device, where
- the forwarding node includes a camping information table PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port, and the forwarding node forwards the first interest message Matching the resident information table according to the first interest message, so that the resident information table includes a PIT entry corresponding to the first interest message;
- An adding module configured to: when the second data packet that is sent to the source device is to be carried in the data packet, carry the second interest packet in the data packet, where the second The interest message is used by the terminal device to request content from the source device;
- a sending module configured to send the data packet to the forwarding node, where the forwarding node, when determining that the data packet carries the second interest packet, the content carried in the data packet The name is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the adding module is further configured to: when determining that a second interest message to be sent to the source device is required to be carried in the data packet And carrying the reverse interest identifier in the data packet, and setting the value of the reverse interest identifier to identify that the data packet carries the value of the second interest packet, where the reverse interest is The identifier is used to identify whether the data packet carries the second interest message.
- the second aspect of the fifth aspect In combination with the fifth aspect or the first possible implementation of the fifth aspect, the second aspect of the fifth aspect In a possible implementation manner, the second interest message is one or more.
- the adding module is used in the datagram
- the text carries a reverse interest identifier, including:
- the adding module is specifically configured to carry the reverse interest identifier in a digital signature information field of the data packet;
- the adding module is specifically configured to add a first field in the data packet, and carry the reverse interest identifier in the first field.
- the adding module is configured to carry the second interest message in the data packet, including:
- the adding module is specifically configured to add a second field before the data payload field in the data packet, and carry the second interest packet in the second field;
- the adding module is specifically configured to add a third field after the data payload field in the data packet, and carry the second interest packet in the third field.
- a sixth aspect provides a terminal device, including:
- the receiving module is configured to receive the first data packet, where the first data packet is generated by the destination device according to the first interest packet of the terminal device, and is forwarded by the forwarding node, where the first interest packet is used by the
- the terminal device requests content from the destination device;
- the forwarding node includes a resident information table PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; and the forwarding node After receiving the first data packet and determining that the first data packet carries the second interest packet, generating or updating a PIT entry corresponding to the second interest packet;
- the message is used by the destination device to request content from the terminal device;
- a generating module configured to: when the first data packet carries the second interest packet, obtain the second interest packet from the first data packet, according to the second interest packet Generating a second data packet, where the second data packet carries a content name that is the same as a content name of the second interest message request content; a sending module, configured to send the second data packet to the forwarding node, so that the forwarding node matches the content name carried in the second data packet with the content name in the PIT entry, And forwarding, by the port in the matched PIT entry, the second data packet to the destination device.
- the first data packet further carries a reverse interest identifier, and is used to identify whether the first data packet carries the first Second interest message;
- the generating module is specifically configured to: when determining that the first data packet carries the second interest packet by determining the value of the reverse interest identifier, acquiring the information from the first data packet And generating, by the second interest message, the second data packet according to the second interest message.
- the terminal device further includes: a content processing module, configured to use the first data In the message, the content of the first interest message request is obtained, and the content is processed.
- the second interest packet For one or more.
- the packet processing method and device when determining that the data packet carries the second interest packet, the content name carried in the data packet and the content name in the PIT entry of the resident information table Matching, and matching the resident information table according to the first interest message according to the matching first interest message in the matching, so that the PIT entry corresponding to the first interest message included in the resident information table is
- the data packet is forwarded to the source device, so that the source device receives the data packet and also receives the interest packet, thereby implementing the transmission of the interest packet from the destination device to the source device.
- the FIB table is not required to be hop-by-hop, but the PIT table is used to forward the data packet and the interest message is forwarded, thereby improving the routing efficiency of the interest message.
- FIG. 1 is a flowchart of a packet processing method according to an embodiment of the present invention
- FIG. 2 is a schematic diagram of a manner in which a data packet carries a reverse interest identifier and a second interest field according to an implementation of the present invention
- FIG. 3 is a schematic diagram of another manner of carrying a reverse interest identifier and a second interest field in a data packet provided by the implementation of the present invention
- FIG. 4 is a flowchart of another packet processing method according to an embodiment of the present invention.
- FIG. 5 is a flowchart of still another packet processing method according to an embodiment of the present invention.
- FIG. 6 is a flowchart of still another packet processing method according to an embodiment of the present invention.
- FIG. 7 is a flowchart of still another packet processing method according to an embodiment of the present invention.
- FIG. 8 is a flowchart of still another packet processing method according to an embodiment of the present invention.
- FIG. 9 is a schematic diagram of an end-to-end application scenario according to an embodiment of the present invention.
- FIG. 10 is a schematic diagram of an application scenario in which a server performs a session with multiple clients according to an embodiment of the present invention
- FIG. 11 is a schematic structural diagram of a routing device according to an embodiment of the present disclosure.
- FIG. 12 is a schematic structural diagram of another routing device according to an embodiment of the present disclosure.
- FIG. 13 is a schematic structural diagram of still another routing device according to an embodiment of the present disclosure.
- FIG. 14 is a schematic structural diagram of a terminal device according to an embodiment of the present disclosure.
- FIG. 15 is a schematic structural diagram of another terminal device according to an embodiment of the present disclosure.
- FIG. 16 is a schematic structural diagram of still another terminal device according to an embodiment of the present disclosure.
- FIG. 17 is a schematic structural diagram of still another terminal device according to an embodiment of the present disclosure.
- FIG. 18 is a schematic structural diagram of still another terminal device according to an embodiment of the present invention.
- FIG. 1 is a flowchart of a packet processing method according to an embodiment of the present invention.
- the method provided in this embodiment is applied to a forwarding node in the ICN, where the forwarding node includes a PIT, and the PIT includes one or more PIT entries, and each PIT entry includes a content name and a port.
- the method includes:
- the forwarding node receives the data packet, where the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first interest packet is sent.
- the source device is configured to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the first interest
- the PIT matches the PIT according to the first interest message, so that the PIT includes a PIT entry corresponding to the first interest message.
- the forwarding node matches the PIT according to the first interest message, so that the PIT includes the PIT entry corresponding to the first interest message, if the PIT includes the first interest message request.
- the PIT entry of the content name of the content, the information of the port that receives the first interest message is added to the PIT entry; if the content of the content including the first interest message request does not exist in the PIT
- the PIT entry including the content name of the content requested by the first interest message and the information of the port receiving the first interest message is added to the PIT.
- the content name carried in the data packet is matched with the content name in the PIT entry, and is matched according to the matched PIT entry.
- the port forwards the data packet to the source device, where the second interest packet is used by the destination device to request content from the source device.
- the forwarding node in the network receives the data packet
- the forwarding node may be a router or a routing node.
- the destination device receives the first interest packet that is sent by the source device and is forwarded by the source device.
- the first interest packet sent by the source device may be an independent packet or may be sent by the source device. Data packets are carried.
- the destination device determines, according to the first interest message, the content that needs to be fed back to the source device, and generates a data packet.
- the destination device may further determine whether the data packet needs to be used according to the actual application scenario. Carrying an interest message; if it is determined that the interest message needs to be carried in the data message, the datagram is The message carries the second interest message of the source device, and then sends the data message.
- the forwarding node may determine whether the received data packet carries the second interest packet, and when determining that the data packet carries the second interest packet, the data packet is sent.
- the content name carried in the PIT entry is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the forwarding node when determining that the data packet carries the second interest packet, queries the local PIT according to the content name carried in the data packet, and if the PIT entry is matched in the local PIT (ie, If a PIT entry is included in the local PIT, including the content name of the data packet, the data packet is forwarded from all ports in the matched PIT entry, and the data packet is stored. After the data packet is forwarded to the source device, the matched PIT entry is removed from the local PIT; if the local PIT does not match the PIT entry (ie, local) If there is no PIT entry in the PIT that includes the content name carried in the data packet, the data packet is discarded.
- the forwarding node may match the content name carried in the data packet with the content name in the PIT entry. And forwarding the data packet to the source device according to the port in the matched PIT entry. In this way, the source device can receive the second interest message sent by the destination device at the same time as the data packet is received, so that the destination device does not need to separately send the interest message, which can save resources.
- the forwarding node after receiving the data packet and determining that the data packet carries the second interest packet, the forwarding node further generates or updates a PIT corresponding to the second interest packet. Entry.
- the time point of generating or updating the PIT entry corresponding to the second interest packet is not limited, and may be, after determining that the data packet carries the second interest packet, and receiving the source device for the second The interest message is returned any time before the data message.
- the forwarding node generates or updates the PIT entry corresponding to the second interest message, including: querying the PIT according to the content name in the second interest message; if the PIT exists, including the The PIT entry of the content name in the second interest message indicates that the interest message requesting the same content is waiting, and the PIT entry including the content name in the second interest message is added and received.
- the information of the port of the data packet is updated to update the PIT entry corresponding to the second interest message; if the PIT does not exist in the PIT, the PIT entry includes the content name in the second interest message, And adding, to the PIT, a PIT entry that includes the content name in the second interest message and the information of the port that receives the data packet, to generate a PIT entry corresponding to the second interest message.
- the port that the forwarding node receives the data packet is the port that receives the second interest message (ie, the port of the second interest_t ⁇ message).
- the process of forwarding the data packet according to the local PIT by the forwarding node is not limited to the sequence of the process of generating or updating the PIT entry corresponding to the second interest packet by the forwarding node. Can be executed in parallel.
- the content name carried in the data packet is matched with the content name in the PIT entry of the resident information table. And forwarding the data packet to the source device according to the PIT entry corresponding to the first interest packet included in the PIT, according to the first interest packet matching PIT in the matching, when the first interest packet is forwarded,
- the source device also receives the interest message at the same time as the data packet is received, so that the destination message is sent from the destination device to the source device.
- the sending of the interest packet does not need to query the FIB table hop by hop.
- the PIT table is used to forward the data packets while forwarding the data packets, thereby improving the routing efficiency of the interest packets.
- the data packet may further carry a reverse interest identifier, and is used to identify whether the data packet carries the second interest packet.
- the manner in which the data packet carries the reverse interest identifier includes, but is not limited to, carrying the reverse interest identifier in a digital signature information (Signed Info) field of the data packet.
- the reverse interest identifier is carried, for example, a first field may be added to the data packet, and the reverse interest identifier is carried in the first field.
- the forwarding node may determine whether the data packet carries the second interest report by determining the value of the reverse interest identifier carried in the data packet. Text. Based on this, an implementation of step 102 is: when it is determined that the data packet carries the second interest packet by determining the value of the reverse interest identifier, the data packet is carried in the data packet. The content name is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the second interest message carried in the data packet may be one. It can also be multiple.
- the manner in which the data packet carries the second interest packet includes, but is not limited to: carrying the second interest message, for example, the data payload of the data packet, before the data payload (Data Payload) field of the data packet A second field is added before the field, and the second interest message is carried in the second field. Or carrying the second interest message after the data payload field of the data packet, for example, adding a third field after the data payload field of the data packet, and carrying the second interest in the third field Message.
- the data message carries the reverse interest identifier and the second interest message
- the reverse interest identifier is carried in the digital signature information field of the data packet
- multiple second interests are The message is carried in a new field after the data payload field.
- FIG. 3 another manner in which the data packet carries the reverse interest identifier and the second interest packet is as shown in FIG. 3, and the reverse interest identifier and the multiple second interest packets are carried in the data packet.
- the data payload field is added in a field before it.
- the forwarding node determines, when the data packet carries the second interest packet, the content name carried in the data packet and the PIT entry. The content name is matched, and before the data packet is forwarded to the source device according to the port in the matched PIT entry, the local CS may be queried according to the content name in the second interest packet, and the local CS is determined. There is no content corresponding to the content name in the second interest.
- the content name carried in the data packet is matched with the content name in the PIT entry, and the source device is forwarded according to the port in the matched PIT entry.
- the content corresponding to the content name in the second interest message exists in the local CS
- the content corresponding to the content name in the second interest message in the local CS is received through the receiving The port of the data packet is sent out.
- the forwarding node when the forwarding node receives the data packet and determines that the data packet carries the second interest packet, the forwarding node may firstly use the content in the second interest packet. Name, querying the local CS, determining whether there is content corresponding to the content name in the second interest message in the local CS; if there is no content corresponding to the content name in the second interest message in the local CS And then performing the content name carried in the data packet with the content name in the PIT entry.
- the local CS may be The content corresponding to the content name in the second interest message is sent by the port that receives the data packet, and the content name carried in the data packet and the content in the PIT entry are The name is matched, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the content corresponding to the content name in the second interest message in the local CS is passed.
- the port that receives the data packet is sent out, and the content name carried in the data packet is matched with the content name in the PIT entry, and the port is configured according to the port in the matched PIT entry.
- the method for forwarding the data packet by the source device may include: sending, by using the port that receives the data packet, the content corresponding to the content name in the second interest packet in the local CS, and The second interest message is removed from the data packet, and the content name carried in the data packet is matched with the content name in the PIT entry, and the port is matched according to the matched PIT entry. Transmitting, to the source device, the data packet after the second interest message is removed. This can reduce the transmission load and save transmission resources.
- the forwarding node there may be multiple other forwarding nodes between the forwarding node that receives the data packet (that is, the execution entity of the embodiment) and the source device, or there may be no other forwarding node.
- the forwarding node is configured according to the matching.
- the forwarding of the data packet by the port in the PIT entry to the source device includes:
- FIG. 4 is a flowchart of another packet processing method according to an embodiment of the present invention.
- the method provided in this embodiment is applied to a forwarding node in the ICN, the forwarding node includes a PIT, and the PIT includes one or more PIT entries, and each PIT entry includes a content name and a port.
- the method includes:
- the forwarding node receives a data packet, where the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first interest packet is sent.
- the source device is configured to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the first interest
- the PIT matches the PIT according to the first interest message, so that the PIT includes a PIT entry corresponding to the first interest message.
- Step 401 can be referred to the description of step 101 above.
- Step 402. Determine whether the data packet carries a reverse interest identifier that identifies that the data packet carries the second interest packet. If the determination result is yes, go to step 403. If the judgment result is no, execute Step 404.
- the forwarding node may parse the data packet to determine whether the data packet carries a reverse interest identifier, and determine, by using the value of the reverse interest identifier, whether the data packet carries the Second interest message.
- the second interest message is used by the destination device to request content from the source device.
- Step 403 Extract a content name in the second interest packet that is carried in the data packet, and generate or update a PIT entry corresponding to the second interest packet in the local PIT according to the extracted content name, and perform the step. 404.
- the forwarding node determines, according to the extracted content name, whether there is a PIT entry including the extracted content name in the local PIT; if the PIT entry including the extracted content name already exists in the local PIT, the data is received.
- the port of the packet is added to the PIT entry to update the PIT entry corresponding to the second interest message; if the PIT entry including the extracted content name does not exist in the local PIT, the extracted content name and Adding information of the port of the data packet to the local In the PIT, a PIT entry corresponding to the second interest message is generated.
- step 404 Determine, according to the content name carried in the data packet, whether a PIT entry matching the content name carried in the data packet exists in the local PIT. If the determination result is yes, go to step 405, if the result is determined. If no, go to step 406.
- steps 402 and 403 and the execution order of steps 404-406 are not limited.
- step 404-step 406 is performed, which is the same as the process of forwarding the received data packet in the existing NDN, that is,
- the method provided in this embodiment can be compatible with the routing and forwarding scheme of the existing NDN.
- FIG. 5 is a flowchart of still another packet processing method according to an embodiment of the present invention.
- the method provided in this embodiment is applied to a forwarding node in the ICN, the forwarding node includes a PIT, and the PIT includes one or more PIT entries, and each PIT entry includes a content name and a port.
- the method includes:
- the forwarding node receives the data packet, where the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first interest packet is sent.
- the source device is configured to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the first interest
- the PIT matches the PIT according to the first interest message, so that the PIT includes a PIT entry corresponding to the first interest message.
- Step 502. Determine whether the data packet carries a reverse interest identifier that identifies that the data packet carries the second interest packet. If the determination result is yes, execute step 503. If the determination result is no, execute Step 506.
- step 503 Extract a content name in the second interest message carried by the data packet, and query the local CS according to the extracted content name, to determine whether the content corresponding to the extracted content name exists in the local CS, if the content is determined. The result is yes, step 504 is performed, and if the result of the determination is no, step 505 is performed. 504. Send the content corresponding to the content name in the second interest message in the local CS by using the port that receives the data packet, and perform step 506.
- step 505. Generate or update a PIT entry corresponding to the second interest message in the local PIT according to the extracted content name, and perform step 506.
- step 506. Determine, according to the content name carried in the data packet, whether there is a PIT entry in the local PIT that matches the content name in the data packet. If the determination result is yes, go to step 507, if the judgment result is Otherwise, step 508 is performed.
- the method further includes: querying the local CS according to the content name in the second interest packet, and determining the local Whether the content corresponding to the content name in the second interest message exists in the CS. If the result of the determination is non-existent, that is, if the content corresponding to the content name in the second interest message does not exist in the local CS, the data message is sent when the data message carries the second interest message.
- the content name carried in the text matches the content name in the PIT entry, and the data is forwarded to the source device according to the port in the matched PIT entry; if the judgment result is present, If the content corresponding to the content name in the second interest message exists in the local CS, the content corresponding to the content name in the second interest message in the local CS is received by the port that receives the data packet. And sending, when the data packet carries the second interest packet, matching the content name carried in the data packet with the content name in the PIT entry, and matching the matched PIT entry The port in the middle forwards the data packet to the source device.
- the method for forwarding the data packet to the source device according to the port in the matched PIT entry may be multiple when the content corresponding to the content name in the second interest packet exists in the local CS.
- One of the steps 506-508 in this embodiment is given. For example, due to local CS When the content corresponding to the content name in the second interest message exists, the forwarding node has received the content corresponding to the content name in the second interest message in the local CS by receiving the data message.
- the source device may not need to return the content corresponding to the content name in the second interest packet to the destination device, and the forwarding node may further remove the second interest packet from the data packet, and then The port in the matched PIT entry forwards the data packet that culls the second interest message to the source device.
- the embodiment of the present invention uses a piggyback interest (Piggyback Interest) identifier in the data packet to identify whether the packet carries the interest packet.
- the forwarding node After the forwarding node receives the data packet, the forwarding node stores the data in the local PIT.
- the PIT entry that matches the content name of the data packet is sent to the destination by the data packet and the data packet carried by the data packet.
- the route of the interest packet is not hop-by-hop to query the FIB, and the interest report is improved. The routing efficiency of the text.
- the forwarding node when the data packet carries the interest message, the forwarding node also establishes a corresponding PIT entry for the interest message in the data packet in the local PIT, and ensures that the interest packet reaches the source device smoothly.
- the source device provides a reverse path for the data packets sent by the interest packet to ensure normal communication between the devices at both ends.
- the method provided by the embodiment of the present invention is particularly applicable to an end-to-end type application, in an end-to-end type application, where an interest message and a data message are usually exchanged between a specific sender and a receiver. , but not limited to this.
- the method provided by the embodiment of the present invention can not only improve the routing efficiency of the interest message, but also does not need to look up the FIB because the route of the interest message is routed, so when the route changes (for example, the terminal moves) The resulting route convergence does not affect the routing of interest packets. Therefore, the delay caused by route convergence does not affect the end-to-end service. Therefore, the network delay of the end-to-end service can also be reduced.
- the generated content names have the characteristics of immediacy and randomness, and the number is large, and in the method provided by the embodiment of the present invention, the content names generated in the end-to-end application are not required. All added to the FIB, reducing the pressure on the expansion of the FIB.
- FIG. 6 is a flowchart of still another packet processing method according to an embodiment of the present invention. As shown in FIG. 6, the method includes:
- the destination device generates a data packet according to the received first interest packet, where the first interest packet is forwarded by the source device by using the forwarding node, and is used by the source device to request the destination device.
- the forwarding node includes a PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port, and the forwarding node forwards the first interest message according to the The first interest message matches the resident information table, so that the resident information table includes a P IT entry corresponding to the first interest message.
- the destination device when it is determined that the second interest packet that is sent to the source device is to be carried in the data packet, carries the second interest packet, the second interest, in the data packet.
- the message is used by the destination device to request content from the source device.
- the destination device sends the data packet to the forwarding node, so that the forwarding node determines the content name carried in the data packet when the data packet carries the second interest packet. Matching the content name in the PIT entry, and forwarding the data packet to the source device according to the port in the matched PIT entry.
- This embodiment is a description of the angle of the destination device.
- the destination device receives the first interest packet forwarded by the source device by using the forwarding node, and prepares related content according to the content name in the first interest packet, and generates a data packet carrying the content, the data packet. And carrying the content name of the content requested by the first interest message; and then determining whether the second interest message sent to the source device is required to be carried in the data packet, and if it is determined that the packet needs to be carried, The data packet carries the second interest packet, and then sends the data packet to the forwarding node. If it is determined that the data packet is not required to be carried, the data packet is sent to the forwarding node directly after the data packet is generated. Data message.
- the destination device may determine, according to the actual application scenario, whether the second interest packet sent to the source device needs to be carried in the data packet. For example, if the destination device further needs to obtain other content from the source device, it is determined that the second information packet sent to the source device needs to be carried in the data packet, and vice versa, it is determined that the device does not need to be carried.
- the forwarding node when forwarding the first interest message to the destination node, matches the PIT according to the first interest message, so that the PIT includes a PIT entry corresponding to the first interest message. Based on this, after receiving the data packet sent by the destination device, the forwarding node performs matching in the PIT entry according to the content name carried in the data packet, according to the port in the matched PIT entry.
- the data packet is forwarded to the source device. In the process, if the data message carries The second interest message, the second interest message is forwarded to the source device along with the data message.
- the destination device may carry one or more second interest messages in the data packet. In other words, the second interest message can be one or more.
- the method further includes: when determining, by the destination device, that the second interest message sent to the source device is required to be carried in the data packet, The value of the reverse interest identifier is set, and the value of the reverse interest identifier is set to identify the value of the data message carrying the second interest message.
- the reverse interest identifier is used to identify whether the data message carries the second interest message.
- the destination device identifies, by using the reverse interest identifier, whether the data packet carries the second interest message.
- the value of the reverse interest identifier may be set to 1 to identify that the data message carries the second interest message, and the value of the reverse interest identifier is set to 0, to identify the The data message does not carry the second interest message, but is not limited to this manner.
- the destination device carries the reverse interest identifier in the data packet, including but not limited to: carrying the reverse interest identifier in a digital signature information (Signed Info) field of the data packet.
- the reverse interest identifier is carried, for example, a first field may be added in the data packet, and the reverse interest identifier is carried in the first field.
- the destination device carries the second interest message in the data packet, including but not limited to: carrying the second interest message before the data payload (Data Payload) field of the data packet, for example, Adding a second field before the data payload field of the data packet, and carrying the second interest message in the second field. Or carrying the second interest message after the data payload field of the data packet, for example, adding a third field after the data payload field of the data packet, and carrying the second interest in the third field Message.
- the manner in which the data message carries the reverse interest identifier and the second interest field can be as shown in FIG. 2 and FIG. 3.
- the destination device when the destination device returns a data packet to the source device according to the first interest packet sent by the source device, the destination device carries the second interest packet sent to the source device in the data packet.
- the forwarding node in the network can forward the data packet and the second interest packet to the source device based on the port in the PIT entry in the PIT that matches the content name carried in the data packet, to improve the information as the central network.
- the efficiency of the delivery of the interest message, reducing the processing overhead of the forwarding node, reducing Data interaction latency provides the conditions.
- FIG. 7 is a flowchart of still another method for processing a message according to an embodiment of the present invention. As shown in FIG. 7, the method includes:
- the destination device receives the first interest packet, where the first data packet is generated by the destination device according to the first interest packet of the source device, and is forwarded by the forwarding node, where the first interest packet is used.
- the source device requests content from the destination device.
- the forwarding node includes a PIT, and the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; and the forwarding node forwards the first interest message according to the first interest report.
- the PIT matches the PIT, and the PIT includes a PIT entry corresponding to the first interest message.
- the destination device generates a data packet according to the received first interest packet, where the data packet includes a content name of the content requested by the first interest packet.
- step 703. Determine whether the second interest message sent to the source device is required to be carried in the data packet. If the determination result is yes, go to step 704. If the determination result is no, go to step 705.
- the reverse interest identifier is set to 1 in the data packet, and the second interest packet is added to the data packet, where the reverse interest identifier is used to identify the data packet. Whether the second interest message is carried, and when the value is 1, the data message carries the second interest message, and when the value is 0, the data message is not carried.
- the second interest message is described, and step 706 is performed.
- the destination device when the destination device returns a data packet to the source device according to the first interest packet sent by the source device, the destination device carries the second interest packet sent to the source device in the data packet.
- the forwarding node in the network can forward the data packet and the second interest packet to the source device based on the port in the PIT entry in the PIT that matches the content name carried in the data packet, The information provides efficiency for the delivery of interest messages in the central network, reduces the processing overhead of the forwarding node, and reduces the data interaction delay.
- FIG. 8 is a flowchart of still another packet processing method according to an embodiment of the present invention. As shown in FIG. 8, the method includes:
- the source device receives the first data packet, where the first data packet is generated by the destination device according to the first interest packet of the source device, and is forwarded by the forwarding node, where the first interest packet is used.
- the source device requests content from the destination device;
- the forwarding node includes a PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; and the forwarding node receives the And determining, by the first data packet, that the first data packet carries the second interest packet, generating or updating a PIT entry corresponding to the second interest packet;
- the destination device requests content from the source device.
- the source device determines that the first data packet carries the second interest packet
- the source device obtains the second interest packet from the first data packet, and generates the first packet according to the second interest packet.
- the second data packet carries the same content name as the content name of the second interest message request content.
- the source device sends the second data packet to the forwarding node, so that the forwarding node matches the content name carried in the second data packet with the content name in the PIT entry. And forwarding, by the port in the matched PIT entry, the second data packet to the destination device.
- This embodiment is a description from the perspective of a source device.
- the source device receives the first data packet returned by the destination device according to the first interest packet sent by the source device, and determines whether the first data packet carries the second interest packet, and if the determination result is yes, And determining, by the second interest message in the first data packet, the related content according to the content name in the second interest message, generating a second data packet, and sending the second data packet to the forwarding node, so that the forwarding node And forwarding the second data packet to the destination device according to the PIT entry corresponding to the second interest packet in the PIT.
- the source device may further obtain the content requested by the first interest request message from the first data packet, and process the content, for example, may be submitted to the application to process the content.
- the source device sends the second number to the destination device according to the second interest packet obtained from the first data packet.
- the process of the message can be as shown in FIG. 6 or FIG. 7, or the processing flow in the prior art can also be used.
- the first data packet may be received and processed according to an existing process, for example, the first data packet may be obtained from the first data packet. Interested in the content of the message request, and then related processing of the content.
- the manner for processing each second interest message is the same.
- the first data packet further carries a reverse interest identifier, and is used to identify whether the first data packet carries a second interest message. Based on this, the source device can determine whether the first data packet carries the second interest packet by determining the value of the reverse interest identifier carried in the first data packet. Based on this, an implementation manner of the step 802 includes: when determining that the first data packet carries the second interest packet by determining the value of the reverse interest identifier, the source device from the Acquiring the second interest message in the first data packet, and generating the second data message according to the second interest message.
- the source device determines, by using the first data packet that is returned by the destination device according to the first interest packet of the source device, and determines that the first data packet carries the second interest packet. Acquiring the second interest message to be carried in the first data packet, and processing the second interest message according to the obtained second interest message, so as to improve the efficiency of the information delivery in the center network, and reduce the processing of the forwarding node Overhead, reduced latency when data is exchanged provides support.
- a method for carrying an interest message in a data packet includes: adding a reverse interest identifier to a data packet, where the reverse interest identifier is used to identify whether the data packet carries an interest a message: an interest message in the reverse interest flag when the data message carries an interest message.
- the interest message carried by the data packet may be one or more.
- the reverse interest identifier bit may be located in a digital signature information field of the data packet; or the reverse interest identifier bit may be located in a first field added in the data packet.
- the interest message may be located in a second field that is added before the data payload field in the data packet; or the interest message may be located in the data packet after the data payload field. Added in the third field.
- the method is applicable to the foregoing packet processing method embodiment, and provides a specific manner for the data packet to carry the interest message.
- FIG. 9 is a schematic diagram of an end-to-end application scenario according to an embodiment of the present invention.
- the first client and the second client are connected through the NDN.
- the interconnection between the six routing devices is shown in Figure 9. .
- the routing device shown in Figure 9 can be used as the forwarding node in the above embodiment. Then, when the positions of the first client and the second client are fixed, the session process between the first client and the second client includes:
- the first client initiates a session with the second client, and sends a first interest message including the related content name.
- the routing device in the network routes the first interest packet to the second client through the FIB.
- This step is the same as the solution of the prior art.
- the PIT of the first interest packet is formed in the PIT of the local interest packet, that is, the PIT entry corresponding to the first interest packet.
- the second client After receiving the first interest message, the second client prepares the returned data message, and because the end-to-end session feature of the application, sets the reverse interest identifier in the data message to 1, and returns the The second interest message is added to the data message.
- the second client sends the data packet, so that the data packet carries the second interest packet and returns to the first client along a reverse path formed by the PIT of the routing device in the network.
- This process does not need to look up the FIB hop by hop, which is beneficial to improve the routing efficiency of interest packets.
- the first client may continue to send the data packet carrying the third interest message to the second client, and so on, until the session ends.
- the session flow between the first client and the second client includes: 10a.
- the session data is normally sent between the first client and the second client.
- the first client After the first client sends a data packet carrying the first interest message (ie, Data+ Interest), the first client moves to another location.
- the first interest message ie, Data+ Interest
- the second client After receiving the data message carrying the first interest message, the second client is ready to return the data message carrying the second interest message and sending the data message to be sent, so that the data message carrying the second interest message is carried.
- the first client is returned according to the reverse path formed by the PIT of the routing device. However, because the first client has moved, the data packet carrying the second interest packet cannot reach the first client. For details of this step, refer to the description of the embodiment shown in Figs.
- the first client After the timeout period corresponding to the first interest message ends, the first client resends the first interest message if the data packet returned by the second client has not been received.
- the second client After receiving the re-transmitted first interest message, the second client prepares the returned data packet carrying the second interest message and sends the data packet, so that the data packet carrying the second interest message is formed according to the PIT.
- the new reverse path returns to the first client, and the first client receives the data packet carrying the second interest message. For details of this step, refer to the description of the embodiment shown in FIG. 1 to FIG. 5.
- the method provided by the embodiment of the present invention can not only improve the routing efficiency of the interest packet, but also does not need to send the second interest packet sent by the second client to the first client after the first client moves.
- the FIB After waiting for the FIB of the entire network to update the routing information of the first client, the FIB can reach the first client, which greatly reduces the delay and reduces the routing overhead.
- FIG. 10 is a schematic diagram of an application scenario in which a server performs a session with multiple clients according to an embodiment of the present invention.
- the server simultaneously talks with the first client and the second client through the NDN.
- the service provided by the server is generally ubiquitous in the FIB of the routing device in the network by registering the content name and the routing information to the network. Therefore, each client can easily communicate with the server by sending the interest message. Because each client is a temporary session, the content name and routing information of the client will be spread over the entire network. This will cause a large impact on the server's interest packets.
- the server can carry the reverse path formed by the PIT in the network by carrying the interest message sent to the client in the data packet returned to the client, that is, the interest corresponding to the data packet returned by the server to the client. PIT corresponding to the message
- the method provided by the embodiment of the present invention for a one-to-many service type session application (such as electronic transaction session processing) in the network, only the server side needs to spread the content name corresponding to the service to the entire network route, the client The router does not need to spread the routing information on the entire network.
- the packets sent from the server to the client can be carried in the data packet to the client. This greatly improves the routing efficiency and reduces the size of the FIB of the routing device on the network. Routing overhead.
- FIG. 11 is a schematic structural diagram of a forwarding node according to an embodiment of the present invention.
- the forwarding node includes a PIT; the PIT includes one or more PIT entries, and each PIT entry includes a content name and a port.
- the forwarding node further includes: a receiving module 1101 and a forwarding processing module 1102.
- the receiving module 1 101 is configured to receive a data packet, where the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where An interest message is used by the source device to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node is in the forwarding station.
- the first interest message is matched with the PIT according to the first interest message, so that the PIT includes a PIT entry corresponding to the first interest message.
- the forwarding processing module 1102 is connected to the receiving module 1101, and is configured to: when determining that the data packet received by the receiving module 1 101 carries the second interest packet, the content name carried in the data packet and the PIT The content name in the entry is matched, and the data packet is forwarded to the source device according to the port in the matched PIT entry, where the second interest packet is used by the destination device to request the source device. content.
- the forwarding processing module 1102 is further configured to: when determining that the data packet does not carry the second interest packet, perform the content name carried in the data packet and the content name in the PIT entry Matching, and forwarding the data packet to the source device according to the port in the matched PIT entry.
- the forwarding node further includes: a determining module 1103.
- the determining module 1 103 is configured to query the local CS according to the content name in the second interest message, and determine whether the content corresponding to the content name in the second interest message exists in the local CS. Based on the determining module 1103, the forwarding processing module 1102 is further connected to the determining module 1103, specifically, if the determining module 1103 determines that the content corresponding to the content name in the second interest message does not exist in the local CS, when determining that the content is When the data packet carries the second interest packet, the content name carried in the data packet is matched with the content name in the PIT entry, and the port is matched according to the port in the matched P IT entry. The source device forwards the data packet.
- the forwarding processing module 1102 is further configured to: match the content name carried in the data packet with the content name in the PIT entry, and send the source to the source according to the port in the matched PIT entry. Before the device forwards the data packet, if the determining module 1103 determines that the content corresponding to the content name in the second interest message exists in the local CS, the content name in the second interest message in the local CS corresponds to Content, sent out through the port that received the data message
- the forwarding processing module 1102 is specifically configured to: if the determining module 1103 determines that the content corresponding to the content name in the second interest message exists in the local CS, the second interest message in the local CS The content corresponding to the content name is sent by the port that receives the data packet, and the second interest packet is removed from the data packet, and the content name carried in the data packet is Matching the content name in the PIT entry, and forwarding the data packet after the second interest message is removed to the source device according to the port in the matched PIT entry.
- the forwarding node further includes: an entry adding module 1104.
- the entry adding module 1104 is connected to the receiving module 1101, and is configured to generate or update the data packet after receiving the data packet by the receiving module 1101 and determining that the data packet carries the second interest packet.
- the PIT entry corresponding to the second interest message.
- the entry adding module 1104 is specifically configured to query the PIT according to the content name in the second interest message; if the PIT includes a PIT entry including the content name in the second interest message, Adding information of the port that receives the data packet to the PIT entry that includes the content name in the second interest packet, to update the PIT entry corresponding to the second interest packet; In the PIT, the PIT entry including the content name in the second interest message is not present, and the content name included in the second interest message and the data message received are added to the PIT. A PIT entry of the information of the port, to generate a PIT entry corresponding to the second interest message.
- the forwarding node further includes: an entry deletion module 1105.
- Table The item deletion module 1105 is connected to the forwarding processing module 1102, and is configured to: after the forwarding processing module 1102 forwards the data packet to the source device according to the port in the matched PIT entry, the matching PIT entry Removed from the PIT.
- the second interest message carried by the data packet received by the receiving module 1101 may be one or more.
- the data packet received by the receiving module 1101 further carries a reverse interest identifier, and is used to identify whether the data packet carries the second interest packet.
- the forwarding processing module 1102 is specifically configured to: when determining, by the value of the reverse interest identifier, that the data packet carries the second interest packet, the content name carried in the data packet Matching the content name in the PIT entry, and forwarding the data packet to the source device according to the port in the matched PIT entry.
- the manner in which the data packet received by the receiving module 1 101 carries the reverse interest identifier includes:
- the manner in which the data packet received by the receiving module 1101 carries the second interest message includes:
- the forwarding processing module 1102 is specifically configured to: when there are multiple other forwarding nodes between the forwarding node and the source device, if the data packet is interrupted to carry the second interest packet, The content name carried in the data packet is matched with the content name in the PIT entry, and the data packet is forwarded to the next forwarding node according to the port in the matched PIT entry, so that the next one is After the forwarding node receives the data packet, when determining that the When the data packet carries the second interest packet, the content name carried in the data packet is matched with the content name in the PIT entry, and the port is further changed according to the port in the matched PIT entry. The forwarding node forwards the data packet, and so on, to forward the data packet to the source device.
- the forwarding node provided in this embodiment may be a router or a routing node in the NDN, but is not limited thereto.
- the function modules of the forwarding node provided in this embodiment can be used to perform the processes of the method embodiments shown in FIG. 1, FIG. 4 and FIG. 5, and the specific working principles are not described here. For details, refer to the description of the method embodiments.
- the forwarding node when forwarding the first interest packet of the source device to the destination device, matches the PIT according to the first interest packet, so that the PIT includes the PIT entry corresponding to the first interest packet, and the target device is targeted to the destination device.
- the data packet returned by the first interest packet provides a reverse path. After receiving the data packet sent by the destination device, the data packet and data can be forwarded through the reverse path of the data packet stored in the local PIT.
- the reversed interest packets carried in the packets are delivered to the destination, so that the routing of the interest packets is not hop-by-hop to the FIB, which improves the routing efficiency of the interest packets.
- FIG. 13 is a schematic structural diagram of still another forwarding node according to an embodiment of the present invention.
- the forwarding node includes a PIT, and the PIT includes one or more PIT entries, and each PIT entry includes a content name and a port.
- the forwarding node further includes: a receiver 1301, a memory 1302, a processor 1303, and a transmitter 1304.
- the receiver 1301 is configured to receive a data packet, where the data packet is generated and sent by the destination device after receiving the first interest packet sent by the source device and forwarded by the forwarding node, where the first
- the information packet is used by the source device to request content from the destination device, where the data packet carries a content name that is the same as the content name of the first interest message request content, and the forwarding node forwards the content.
- the first interest message matches the resident information table according to the first interest message, so that the resident information table includes a PIT entry corresponding to the first interest message.
- the memory 1302 is configured to store a program.
- the program can include program code, the program code including computer operating instructions.
- the memory 1302 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory.
- the processor 1303 is configured to execute a program stored in the memory 1302, for: determining the receiver Whether the data packet received by the 1301 carries the second interest message, and when determining that the data message carries the second interest message, the content name carried in the data message and the PIT table The content names in the entries are matched and a matching PIT entry is provided to the sender 1304.
- the second interest message is used by the destination device to request content from the source device.
- the processor 1303 may be a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one configured to implement an embodiment of the present invention. Multiple integrated circuits.
- CPU central processing unit
- ASIC application specific integrated circuit
- the sender 1304 is configured to forward the data packet to the source device according to the port in the matched PIT entry provided by the processor 1303.
- the processor 1303 is further configured to: when determining that the data packet does not carry the second interest packet, the content name carried in the data packet and the PIT entry The content names in the match are matched, and the matched PIT entry is provided to the sender 1304. Based on this, the sender 1304 is further configured to: according to the port in the matched PIT entry, to the source, under the control of the processor 1303, when the data packet does not carry the second interest message. The device forwards the data packet.
- the processor 1303 is further configured to query, according to the content name in the second interest, the local storage table CS, to determine whether the second interest is in the local CS.
- the content corresponding to the content name is specifically configured to: if it is determined that the content corresponding to the content name in the second interest message does not exist in the local CS, when determining that the data message carries the second interest message, The content name carried in the data packet is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the transmitter 1304 is further configured to: before the forwarding the data packet to the source device according to the port in the matched PIT entry provided by the processor 1303, if the processor 1303 determines the local CS The content corresponding to the content name in the second interest message is sent, and the content corresponding to the content name in the second interest message in the local CS is sent out through the port that receives the data message.
- the processor 1303 is specifically configured to: if it is determined that the second CS exists in the local CS The content corresponding to the content name in the interesting message, the control sender 1304 sends the content corresponding to the content name in the second interest message in the local CS, and sends the content through the port that receives the data packet, and And the second interest message is removed from the data packet, and the control sender 1304 forwards, according to the port in the matched PIT entry, the source device to remove the second interest message. Data message.
- the transmitter 1304 is further configured to: when the processor 1303 determines that the content corresponding to the content name in the second interest message exists in the local CS, under the control of the processor 1303, the local CS is The content corresponding to the content name in the second interest packet is sent out through the port that receives the data packet, and is forwarded to the source device according to the port in the matched PIT entry to remove the second The data message after the interest message.
- the processor 1303 is further configured to: after receiving, by the receiver 1301, the data packet, and determining that the data packet carries the second interest packet, generating or updating the The P IT entry corresponding to the second interest packet.
- the processor 1303 is specifically configured to query the PIT according to the content name in the second interest message; if the PIT includes a PIT entry including the content name in the second interest message, Adding information of the port that receives the data packet to the PIT entry that includes the content name in the second interest packet, to update the PIT entry corresponding to the second interest packet; A PIT entry including the content name in the second interest message is not present in the PIT, and the content name in the second interest message and the port in which the data message is received are added to the PIT. The PIT entry of the information to generate a PIT entry corresponding to the second interest message.
- the processor 1303 is further configured to: after the transmitter 1304 forwards the data packet to the source device according to the port in the matched PIT entry, the matched PIT entry is Removed from the residency information table.
- the second interest message carried by the data packet received by the receiver 1301 may be one or more.
- the data packet further carries a reverse interest identifier, and is used to identify whether the data packet carries the second interest packet.
- the processor 1303 is specifically configured to determine, by determining the value of the reverse interest identifier, that the data message carries the second interest. And matching the content name carried in the data packet with the content name in the PIT entry, and providing the matching PIT entry to the sender 1304.
- the manner in which the data packet received by the receiver 1301 carries the reverse interest identifier includes:
- the manner in which the data packet received by the receiver 1301 carries the second interest message includes:
- multiple forwarding nodes exist between the forwarding node and the source device provided by this embodiment.
- the processor 1303 is specifically configured to: when there are multiple other forwarding nodes between the forwarding node and the source device, if the data packet is interrupted to carry the second interest packet, the data packet is sent.
- the content name carried in the text matches the content name in the PIT entry, and the matching PIT table is provided to the sender 1304, so that the sender 1304 is down according to the port in the matched PIT entry.
- the forwarding node forwards the data packet, so that after the next forwarding node receives the data packet, when the data packet carries the second interest packet, the data packet is carried in the data packet.
- the content name is matched with the content name in the PIT entry, and the data packet is forwarded to the next forwarding node according to the port in the matched PIT entry, and so on, to forward the device to the source device.
- Data message is specifically configured to: when there are multiple other forwarding nodes between the forwarding
- the receiver 1301, the memory 1302, the processor 1303, and the transmitter 1304 may be connected to each other through a bus and complete each other. Communication between.
- the bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus, or an extended industry standard architecture. (Strength Industry Standard Architecture, called EISA) bus.
- ISA Industry Standard Architecture
- PCI Peripheral Component
- EISA Extended industry standard architecture
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 13, but it does not mean that there is only one bus or one type of bus.
- the receiver 1301, the memory 1302, the processor 1303, and the transmitter 1304 are integrated on one chip, the receiver 1301, the memory 1302, the processor 1303, and the transmitter 1304 may pass through an internal interface. Complete the same communication.
- the forwarding node provided in this embodiment may be a router or a routing node in the NDN, but is not limited thereto.
- the forwarding node provided in this embodiment may be used to perform the process of the method embodiment shown in FIG. 1, FIG. 4 and FIG. 5.
- the specific working principle is not described here. For details, refer to the description of the method embodiment.
- the forwarding node when forwarding the first interest packet of the source device to the destination device, matches the PIT according to the first interest packet, so that the PIT includes the PIT entry corresponding to the first interest packet, and the target device is targeted to the destination device.
- the data packet returned by the first interest packet provides a reverse path. After receiving the data packet sent by the destination device, the data packet and data can be forwarded through the reverse path of the data packet stored in the local PIT.
- the reversed interest packets carried in the packets are delivered to the destination, so that the routing of the interest packets is not hop-by-hop to the FIB, which improves the routing efficiency of the interest packets.
- FIG. 14 is a schematic structural diagram of a terminal device according to an embodiment of the present invention. As shown in FIG. 14, the terminal device includes: a generating module 1401, an adding module 1402, and a sending module 1403.
- the generating module 1401 is configured to generate a data packet according to the received first interest message.
- the first interest message is forwarded by the source device by the forwarding node, and is used by the source device to request content from the terminal device.
- the forwarding node includes a PIT, and the PIT includes one or more PIT entries. Each PIT entry includes a content name and a port, and the forwarding node matches the resident information table according to the first interest message when forwarding the first interest message, so that the resident information table is in the resident information table.
- the PIT entry corresponding to the first interest message is included.
- the adding module 1402 is connected to the generating module 1401, and is configured to carry in the data packet when it is determined that the data packet generated by the generating module 1401 needs to carry the second interest packet sent to the source device.
- the second interest message where the second interest message is used by the terminal device to request content from the source device.
- the sending module 1403 is connected to the adding module 1402, and configured to send the data packet to the forwarding node, so that the forwarding node determines that the data packet carries the second interest packet,
- the content name carried in the data packet is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the adding module 1402 is further configured to: when determining that the second interest message sent to the source device is to be carried in the data packet, carrying the reverse interest in the data packet Identifying, and setting the value of the reverse interest identifier to identify that the data packet carries the value of the second interest packet, where the reverse interest identifier is used to identify whether the data packet carries The second interest message.
- the second interest message carried by the data packet may be one or more.
- the adding module 1402 is configured to carry the reverse interest identifier in the data packet, where the adding module 1402 is specifically configured to carry the reverse interest identifier in a digital signature information field of the data packet. .
- the adding module 1402 is specifically configured to add a first field to the data packet, where the reverse interest identifier is carried in the first field.
- the adding module 1402 is configured to: in the data packet, the second interest packet, where: the adding module 1402 is specifically configured to add a second field before the data payload field in the data packet, Carrying the second interest message in the second field.
- the adding module 1402 is specifically configured to add a third field after the data payload field in the data packet, and carry the second interest packet in the third field.
- the terminal device provided in this embodiment may be the destination device in the foregoing embodiment, and may be a terminal device in the NDN.
- the function modules of the terminal device provided in this embodiment can be used to perform the process of the method embodiment shown in FIG. 6 and FIG. 7.
- the specific working principle is not described here. For details, refer to the description of the method embodiment.
- the terminal device when the data packet is returned to the source device according to the first interest packet sent by the source device, is configured to carry the second interest packet sent to the source device in the data packet.
- the forwarding node in the network can forward the data packet and the second interest packet to the source device based on the port in the PIT entry in the PIT that matches the content name carried in the data packet, to improve the information as the central network.
- the efficiency of the delivery of the interest message, reducing the processing overhead of the forwarding node, reducing Data interaction latency provides the conditions.
- FIG. 15 is a schematic structural diagram of another terminal device according to an embodiment of the present invention. As shown in FIG. 15, the terminal device includes: a receiver 1501, a memory 1502, a processor 1503, and a transmitter 1504.
- the receiver 1501 is configured to receive the first interest message.
- the first interest message is forwarded by the source device by the forwarding node, and is used by the source device to request content from the terminal device.
- the forwarding node includes a PIT, and the PIT includes one or more PIT entries. Each PIT entry includes a content name and a port, and the forwarding node matches the resident information table according to the first interest message when forwarding the first interest message, so that the resident information table is in the resident information table.
- the PIT entry corresponding to the first interest message is included.
- the memory 1502 is used to store a program.
- the program may include program code, and the program code includes computer operation instructions.
- the memory 1502 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory.
- the processor 1503 is configured to execute a program stored in the memory 1502, configured to: generate, according to the first interest message received by the receiver 1501, a data message, where it is determined that the data message needs to be carried to the source When the second interest message of the device is used, the second interest message is carried in the data message, and the second interest message is used by the terminal device to request content from the source device.
- Processor 1503 can be a CPU, or a particular ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
- the sender 1504 is configured to send the data packet to the forwarding node, so that the forwarding node carries the data packet in the data packet when determining that the data packet carries the second interest packet
- the content name is matched with the content name in the PIT entry, and the data packet is forwarded to the source device according to the port in the matched PIT entry.
- the processor 1503 is further configured to: when determining that the second interest message sent to the source device is to be carried in the data packet, carrying the reverse interest in the data packet Identifying, and setting the value of the reverse interest identifier to identify that the data packet carries the value of the second interest packet, where the reverse interest identifier is used to identify whether the data packet carries The first Second interest message.
- the second interest message carried by the data packet may be one or more.
- the processor 1503 is configured to carry the reverse interest identifier in the data packet, where the processor 1503 is specifically configured to carry the reverse interest identifier in a digital signature information field of the data packet. .
- the processor 1503 is specifically configured to add a first field in the data packet, and carry the reverse interest identifier in the first field.
- the processor 1503 is configured to: in the data packet, the second interest message, where: the processor 1503 is specifically configured to add a second field before the data payload field in the data packet, Carrying the second interest message in the second field.
- the processor 1503 is specifically configured to add a third field after the data payload field in the data packet, and carry the second interest packet in the third field.
- the receiver 1501, the memory 1502, the processor 1503, and the transmitter 1504 may be connected to each other through a bus and complete each other. Communication between.
- the bus can be an ISA bus, a PCI bus or an EISA bus.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 15, but it does not mean that there is only one bus or one type of bus.
- the receiver 1501, the memory 1502, the processor 1503, and the transmitter 1504 are integrated on one chip, the receiver 1501, the memory 1502, the processor 1503, and the transmitter 1504 may pass through an internal interface. Complete the same communication.
- the terminal device provided in this embodiment may include a peripheral device such as a display 1505, a mouse 1506, and a keyboard 1507, in addition to the receiver 1501, the memory 1502, the processor 1503, and the transmitter 1504. . Peripherals such as the display 1505, the mouse 1506, and the keyboard 1507 are connected to the processor 1503 through an input/output (I/O) interface 1508.
- I/O input/output
- the terminal device provided in this embodiment may be the destination device in the foregoing embodiment, and may be a terminal device in the NDN.
- the terminal device provided in this embodiment may be used to execute the process of the method embodiment shown in FIG. 6 and FIG.
- the specific working principle will not be described again. For details, refer to the description of the method embodiment.
- the terminal device when the data packet is returned to the source device according to the first interest packet sent by the source device, is configured to carry the second interest packet sent to the source device in the data packet.
- the forwarding node in the network can forward the data packet and the second interest packet to the source device based on the port in the PIT entry in the PIT that matches the content name carried in the data packet, to improve the information as the central network.
- the efficiency of the delivery of the interest message, the processing overhead of the forwarding node, and the reduction of the data interaction delay provide conditions.
- FIG. 16 is a schematic structural diagram of still another terminal device according to an embodiment of the present invention. As shown in FIG. 16, the terminal device includes: a receiving module 1601, a generating module 1602, and a sending module 1603.
- the receiving module 1601 is configured to receive the first data packet.
- the first data packet is generated by the destination device according to the first interest packet of the terminal device, and is forwarded by the forwarding node, where the first interest packet is used by the terminal device to request content from the destination device.
- the forwarding node includes a PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; the forwarding node receives the first data packet and determines the first After the data message carries the second interest message, the PIT entry corresponding to the second interest message is generated or updated; and the second interest message is used by the destination device to request content from the terminal device.
- the generating module 1602 is configured to be connected to the receiving module 1601, and configured to: when determining that the first data packet carries the second interest packet, obtain the second interest packet from the first data packet, according to The second interest message generates a second data message, where the second data message carries a content name that is the same as the content name of the second interest message request content.
- the sending module 1603 is connected to the generating module 1602, and configured to send the second data packet to the forwarding node, so that the forwarding node sends the content name carried in the second data packet to the PIT entry.
- the content name in the matching is matched, and the second data packet is forwarded to the destination device according to the port in the matched PIT entry.
- the terminal device further includes: a content processing module 1604.
- the content processing module 1604 is configured to be connected to the receiving module 1601, configured to obtain the content of the first interest message request from the first data packet received by the receiving module 1601, and enter the content Line processing.
- the first data packet further carries a reverse interest identifier, and is used to identify whether the first data packet carries the second interest packet.
- the generating module 1602 is specifically configured to: when determining, by the value of the reverse interest identifier, that the first data packet carries the second interest packet, obtain the second data packet from the first data packet.
- the second interest message generates the second data message according to the second interest message.
- the interest message carried by the first data packet may be one or more. Terminal equipment.
- the function modules of the terminal device provided in this embodiment can be used to execute the process of the method embodiment shown in FIG. 8.
- the specific working principle is not described here. For details, refer to the description of the method embodiment.
- the terminal device determines the first data packet returned by the destination device according to the first interest packet of the source device, and determines that the first data packet carries the second interest packet. Acquiring the second interest message to be carried in the first data packet, and processing the second interest message according to the obtained second interest message, so as to improve the efficiency of the information delivery in the center network, and reduce the processing of the forwarding node Overhead, reduced latency when data is exchanged provides support.
- FIG. 18 is a schematic structural diagram of still another terminal device according to an embodiment of the present invention. As shown in FIG. 18, the terminal device includes: a receiver 1801, a memory 1802, a processor 1803, and a transmitter 1804.
- the receiver 1801 is configured to receive the first data packet.
- the first data packet is generated by the destination device according to the first interest packet of the terminal device, and is forwarded by the forwarding node, where the first interest packet is used by the terminal device to request content from the destination device.
- the forwarding node includes a PIT, the PIT includes one or more PIT entries, each PIT entry includes a content name and a port; the forwarding node receives the first data packet and determines the first After the data message carries the second interest message, the PIT entry corresponding to the second interest message is generated or updated; and the second interest message is used by the destination device to request content from the terminal device.
- the memory 1802 is configured to store a program.
- the program may include program code, and the program code includes computer operation instructions.
- the memory 1802 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory.
- the processor 1803 is configured to execute a program stored in the memory 1802, configured to: when the first data message carries the second interest message, obtain the second data from the first data message And generating, by the interest message, a second data packet, where the second data packet carries a content name that is the same as a content name of the second interest message request content.
- Processor 1803 can be a CPU, or a specific ASIC, or one or more integrated circuits configured to implement embodiments of the present invention.
- the sender 1804 is configured to send the second data packet to the forwarding node, so that the forwarding node matches the content name carried in the second data packet with the content name in the PIT entry. And forwarding the second data packet to the destination device according to the port in the matched PIT entry.
- the first data packet further carries a reverse interest identifier, and is used to identify whether the first data packet carries the second interest packet.
- the processor 1803 is specifically configured to: when determining, by the value of the reverse interest identifier, that the first data packet carries the second interest packet, obtain the first data packet from the first data packet.
- the second interest message generates the second data message according to the second interest message.
- the processor 1803 is further configured to: obtain the content requested by the first interest message from the first data packet, and process the content.
- the interest message carried by the first data packet may be one or more.
- the receiver 1801, the memory 1802, the processor 1803, and the transmitter 1804 may be connected to each other through a bus and complete each other. Communication between.
- the bus can be an ISA bus, a PCI bus or an EISA bus.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 18, but it does not mean that there is only one bus or one type of bus.
- the receiver 1801, the memory 1802, the processor 1803, and the transmitter 1804 are integrated on one chip, the receiver 1801, the memory 1802, and the processing The transmitter 1803 and the transmitter 1804 can perform the same inter-communication through the internal interface.
- the terminal device provided in this embodiment may include a peripheral device such as a display 1805, a mouse 1806, and a keyboard 1807, in addition to the receiver 1801, the memory 1802, the processor 1803, and the transmitter 1804. .
- Peripherals such as display 1805, mouse 1806, and keyboard 1807 are connected to processor 1803 via I/O interface 1808. Terminal equipment.
- the function modules of the terminal device provided in this embodiment can be used to execute the process of the method embodiment shown in FIG. 8.
- the specific working principle is not described here. For details, refer to the description of the method embodiment.
- the terminal device determines the first data packet returned by the destination device according to the first interest packet of the source device, and determines that the first data packet carries the second interest packet. Acquiring the second interest message to be carried in the first data packet, and processing the second interest message according to the obtained second interest message, so as to improve the efficiency of the information delivery in the center network, and reduce the processing of the forwarding node Overhead, reduced latency when data is exchanged provides support.
- the aforementioned program can be stored in a computer readable storage medium.
- the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program code, such as a ROM, a RAM, a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种报文处理方法及设备。一种方法应用于ICN中的转发节点,转发节点包括PIT,PIT包括一个或多个PIT表项,每个PIT表项包括内容名以及端口,所述方法包括:接收目的设备收到源设备经由转发节点转发的第一兴趣报文后生成并发送的数据报文,该数据报文是携带有与第一兴趣报文请求内容的内容名相同的内容名;转发节点在转发第一兴趣报文时在PIT中生成与第一兴趣报文对应的PIT表项;当判断数据报文携带有第二兴趣报文时,将数据报文中携带的内容名与PIT表项中的内容名进行匹配,并根据匹配的PIT表项中的端口向源设备转发数据报文。本发明技术方案可以提高NDN中兴趣报文的路由效率。
Description
报文处理方法及设备 本申请要求于 2013 年 3 月 15 日提交中国专利局、 申请号为 201310084254.1、发明名称为 "报文处理方法及设备" 的中国专利申请的优先 权, 上述专利申请的全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及通信技术, 尤其涉及一种报文处理方法及设备。
背景技术
随着互联网的发展, 越来越多的应用是以各种信息的产生、 传播和共享 为目的, 于是出现了一种全新的以信息 /内容为中心的网络应用模式, 这种模 式的网络被称为信息为中心的网络 ( Information Centric Network , 筒称为 ICN )。 ICN 中影响较大的是命名数据网络( Named Data Network , 筒称为 NDN )。
NDN主要使用两种报文,是兴趣报文( Interest packet )和数据报文( Data packet )。 NDN维护了三个张表: 存储表(Content Store, 筒称为 CS )、 驻留 信息表 ( Pending Interest Table , 筒称为 PIT )和转发表 ( Forwarding Information Table, 筒称为 FIB ), 并基于这三张表对兴趣 4艮文进行转发处理。 NDN 中对 兴趣报文进行转发处理的过程为: NDN中的路由器收到兴趣报文时, 首先根 据兴趣报文中的内容名 ( Content Name )查询 CS, 如果 CS中有与所述内容 名匹配的内容, 则将所述内容通过兴趣报文来的端口送出去; 如果 CS中没有 与所述内容名匹配的内容, 则继续用所述内容名查找 PIT, 以判断是否已经有 请求相同内容的兴趣报文在等待, 如果 PIT中有与所述内容名匹配的 PIT表 项, 则将所述兴趣报文来的端口添加到所述 PIT表项中, 并继续接收下一个 报文; 如果 PIT中没有与所述内容名匹配的 PIT表项, 则继续用所述内容名 查询 FIB, 如果 FIB中有与所述内容名匹配的 FIB表项, 则将所述兴趣报文
从匹配到的 FIB表项中的出端口转发到下一跳, 下一跳采用相同的方式对所 述兴趣报文进行转发处理; 如果 FIB中没有与所述内容名匹配的 FIB表项, 则丟弃所述兴趣报文。 由此可见, 在 NDN中, 对兴趣报文的路由需要通过逐 跳查找 FIB完成, 其路由效率较低。
发明内容
本发明实施例提供一种报文处理方法及设备, 用以解决现有技术存在着 的兴趣报文路由效率较低的问题。
第一方面提供一种报文处理方法, 应用于信息为中心的网络 ICN中的转 发节点, 所述转发节点包括驻留信息表 PIT, 所述 PIT 包括一个或多个 PIT 表项, 每个 PIT表项包括内容名以及端口, 所述方法包括:
所述转发节点接收数据报文, 所述数据报文由目的设备在收到源设备发 送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第 一兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有 与所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发 所述第一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻 留信息表中包括与所述第一兴趣报文对应的 PIT表项;
当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带的 内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端 口向所述源设备转发所述数据报文, 所述第二兴趣报文用于所述目的设备向 所述源设备请求内容。
结合第一方面, 在第一方面的第一种可能的实现方式中, 所述方法还包 括: 当判断所述数据报文携带有所述第二兴趣报文时, 且将所述数据报文中 携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项 中的端口向所述源设备转发所述数据报文之前:
根据所述第二兴趣报文中的内容名, 查询本地存储表 CS, 确定本地 CS 中不存在所述第二兴趣报文中的内容名对应的内容。
结合第一方面的第一种可能的实现方式, 在第一方面的第二种可能的实
现方式中, 所述方法还包括: 在所述将所述数据报文中携带的内容名与所述
P IT表项中的内容名进行匹配,并根据匹配的 P IT表项中的端口向所述源设备 转发所述数据报文之前,如果确定本地 CS中存在所述第二兴趣报文中的内容 名对应的内容,则将本地 CS中所述第二兴趣 ·^艮文中的内容名对应的内容,通 过接收到所述数据报文的端口发送出去。
结合第一方面的第二种可能的实现方式, 在第一方面的第三种可能的实 现方式中,所述将本地 CS中所述第二兴趣 ·^艮文中的内容名对应的内容,通过 接收到所述数据报文的端口发送出去, 并将所述数据报文中携带的内容名与 所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发所述数据报文包括:
将本地 CS中所述第二兴趣报文中的内容名对应的内容,通过接收到所述 数据报文的端口发送出去, 并将所述第二兴趣报文从所述数据报文中剔除, 将所述数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 并根 据匹配的 PIT表项中的端口向所述源设备转发剔除了所述第二兴趣报文后的 所述数据报文。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式, 在第一方面的第四种 可能的实现方式中, 所述方法还包括: 在接收到所述数据报文且判断所述数 据报文携带有所述第二兴趣报文后, 生成或更新与所述第二兴趣报文对应的
PIT表项。
结合第一方面的第四种可能的实现方式, 在第一方面的第五种可能的实 现方式中, 所述生成或更新与所述第二兴趣报文对应的 PIT表项包括:
根据所述第二兴趣报文中的内容名, 查询所述驻留信息表;
如果所述驻留信息表中存在包括所述第二兴趣报文中的内容名的 PIT表 项, 在包括所述第二兴趣报文中的内容名的 PIT表项中, 添加接收到所述数 据报文的端口的信息, 以更新与所述第二兴趣报文对应的 PIT表项;
如果所述驻留信息表中不存在包括所述第二兴趣报文中的内容名的 PIT 表项, 则在所述驻留信息表中添加包括所述第二兴趣报文中的内容名和接收
到所述数据报文的端口的信息的 PIT表项, 以生成与所述第二兴趣报文对应 的 PIT表项。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式, 在第一方面的第六种可 能的实现方式中, 所述方法还包括: 当判断所述数据报文不携带有所述第二 兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进 行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。 结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能 的实现方式, 在第一方面的第七种可能的实现方式中, 所述方法还包括: 在 所述根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文后, 将所 述匹配的 PIT表项从所述驻留信息表中移除。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能 的实现方式或第一方面的第七种可能的实现方式, 在第一方面的第八种可能 的实现方式中, 所述第二兴趣报文为一个或多个。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能 的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的 实现方式, 在第一方面的第九种可能的实现方式中, 所述数据报文还携带有 反向兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报文;
所述当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携 带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中
的端口向所述源设备转发所述数据报文包括:
当通过判断所述反向兴趣标识的值判断出所述数据报文携带有所述第二 兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进 行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
结合第一方面的第九种可能的实现方式, 在第一方面的第十种可能的实 现方式中, 所述数据报文携带所述反向兴趣标识的方式包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣 标识。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能 的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的 实现方式或第一方面的第九种可能的实现方式或第一方面的第十种可能的实 现方式, 在第一方面的第十一种可能的实现方式中, 所述数据报文携带所述 第二兴趣 _t艮文的方式包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段 中携带所述第二兴趣艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段 中携带所述第二兴趣艮文。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种 可能的实现方式或第一方面的第三种可能的实现方式或第一方面的第四种可 能的实现方式或第一方面的第五种可能的实现方式或第一方面的第六种可能 的实现方式或第一方面的第七种可能的实现方式或第一方面的第八种可能的 实现方式或第一方面的第九种可能的实现方式或第一方面的第十种可能的实 现方式或第一方面的第十一种可能的实现方式, 在第一方面的第十二种可能 的实现方式中, 当所述转发节点与所述源设备之间存在多个其他转发节点时, 所述根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文包括:
根据所述匹配的 P IT表项中的端口向下一个转发节点转发所述数据报文, 使得所述下一个转发节点收到所述数据报文后, 当判断所述数据报文携带有 所述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的 内容名进行匹配, 并根据匹配的 PIT表项中的端口再向下一个转发节点转发 所述数据报文, 依次类推, 以向所述源设备转发所述数据报文。
第二方面提供一种报文处理方法, 包括:
目的设备根据接收的第一兴趣报文, 生成数据报文, 所述第一兴趣报文 是源设备通过转发节点转发的, 用于所述源设备向所述目的设备请求内容; 其中, 所述转发节点包括驻留信息表 PIT, 所述 PIT包括一个或多个 PIT表 项, 每个 PIT表项包括内容名以及端口, 且所述转发节点在转发所述第一兴 趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表中 包括与所述第一兴趣报文对应的 PIT表项;
所述目的设备在确定需要在所述数据报文中携带发往所述源设备的第二 兴趣报文时, 在所述数据报文中携带所述第二兴趣报文, 所述第二兴趣报文 用于所述目的设备向所述源设备请求内容;
所述目的设备向所述转发节点发送所述数据报文, 使得所述转发节点在 判断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内 容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口 向所述源设备转发所述数据报文。
结合第二方面, 在第二方面的第一种可能的实现方式中, 所述方法还包 括: 所述目的设备在确定需要在所述数据报文中携带发往所述源设备的第二 兴趣报文时, 在所述数据报文中携带反向兴趣标识, 并设置所述反向兴趣标 识的值为用于标识所述数据报文携带有所述第二兴趣报文的值, 所述反向兴 趣标识用于标识所述数据报文是否携带有所述第二兴趣报文。
结合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第二 种可能的实现方式中, 所述第二兴趣报文为一个或多个。
结合第二方面的第一种可能的实现方式或第二方面的第二种可能的实现 方式, 在第二方面的第三种可能的实现方式中, 所述目的设备在所述数据报
文中携带反向兴趣标识, 包括:
所述目的设备在所述数据报文的数字签名信息字段中, 携带所述反向兴 趣标识; 或者
所述目的设备在所述数据报文中新增第一字段, 在所述第一字段中携带 所述反向兴趣标识。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种 可能的实现方式或第二方面的第三种可能的实现方式, 在第二方面的第四种 可能的实现方式中, 所述目的设备在所述数据报文中携带所述第二兴趣报文, 包括:
所述目的设备在所述数据报文中的数据载荷字段之前新增第二字段, 在 所述第二字段中携带所述第二兴趣报文; 或者
所述目的设备在所述数据报文中的数据载荷字段之后新增第三字段, 在 所述第三字段中携带所述第二兴趣报文。
第三方面提供一种报文处理方法, 包括:
源设备接收第一数据报文, 所述第一数据报文是目的设备根据所述源设 备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣报文用于所 述源设备向所述目的设备请求内容; 所述转发节点包括驻留信息表 PIT,所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所述转发 节点在接收到所述第一数据报文且判断所述第一数据报文携带有第二兴趣报 文后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二兴趣报文 用于所述目的设备向所述源设备请求内容;
所述源设备判断所述第一数据报文携带有所述第二兴趣报文时, 从所述 第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二 数据报文, 所述第二数据报文携带有与所述第二兴趣报文请求内容的内容名 相同的内容名;
所述源设备向所述转发节点发送所述第二数据报文, 使得所述转发节点 将所述第二数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报文。
结合第三方面, 在第三方面的第一种可能的实现方式中, 所述第一数据 报文还携带有反向兴趣标识, 用于标识所述第一数据报文是否携带有所述第 二兴趣报文;
所述源设备在判断所述第一数据报文携带有所述第二兴趣报文时, 从所 述第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第 二数据报文包括:
当通过判断所述反向兴趣标识的值判断出所述第一数据报文携带有所述 第二兴趣报文时, 所述源设备从所述第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成所述第二数据报文。
结合第三方面或第三方面的第一种可能的实现方式, 在第三方面的第二 种可能的实现方式中, 所述方法还包括: 从所述第一数据报文中, 获取所述 第一兴趣 4艮文请求的内容, 并对所述内容进行处理。
结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二种 可能的实现方式, 在第三方面的第三种可能的实现方式中, 所述第二兴趣报 文为一个或多个。
第四方面提供一种转发节点, 包括驻留信息表 PIT,所述 PIT包括一个或 多个 PIT表项, 每个 PIT表项包括内容名以及端口; 所述转发节点还包括: 接收模块, 用于接收数据报文, 所述数据报文由目的设备在收到源设备 发送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述 第一兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带 有与所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转 发所述第一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述 驻留信息表中包括与所述第一兴趣报文对应的 PIT表项;
转发处理模块, 用于当判断所述数据报文携带有第二兴趣报文时, 将所 述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹 配的 PIT表项中的端口向所述源设备转发所述数据报文, 所述第二兴趣报文 用于所述目的设备向所述源设备请求内容。
结合第四方面, 在第四方面的第一种可能的实现方式中, 所述转发节点
还包括: 确定模块, 用于根据所述第二兴趣报文中的内容名, 查询本地存储 表 CS, 确定本地 CS中是否存在所述第二兴趣报文中的内容名对应的内容; 所述转发处理模块具体用于如果所述确定模块确定出本地 CS 中不存在 所述第二兴趣报文中的内容名对应的内容, 当判断所述数据报文携带有第二 兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进 行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
结合第四方面的第一种可能的实现方式, 在第四方面的第二种可能的实 现方式中, 所述转发处理模块还用于在将所述数据报文中携带的内容名与所 述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源 设备转发所述数据报文之前,如果所述确定模块确定出本地 CS中存在所述第 二兴趣 ·^艮文中的内容名对应的内容,将本地 CS中所述第二兴趣 ·^艮文中的内容 名对应的内容, 通过接收到所述数据报文的端口发送出去。
结合第四方面的第二种可能的实现方式, 在第四方面的第三种可能的实 现方式中,所述转发处理模块具体用于如果所述确定模块确定出本地 CS中存 在所述第二兴趣报文中的内容名对应的内容,将本地 CS中所述第二兴趣报文 中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去, 并将所 述第二兴趣报文从所述数据报文中剔除, 将所述数据报文中携带的内容名与 所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发剔除了所述第二兴趣报文后的所述数据报文。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式, 在第四方面的第四种 可能的实现方式中, 所述转发节点还包括: 表项添加模块, 用于在接收到所 述数据报文且判断所述数据报文携带有所述第二兴趣报文后, 生成或更新与 所述第二兴趣报文对应的 PIT表项。
结合第四方面的第四种可能的实现方式, 在第四方面的第五种可能的实 现方式中, 所述表项添加模块具体用于根据所述第二兴趣报文中的内容名, 查询所述驻留信息表; 如果所述驻留信息表中存在包括所述第二兴趣报文中 的内容名的 PIT表项, 则在包括所述第二兴趣报文中的内容名的 PIT表项中,
添加接收到所述数据报文的端口的信息, 以更新与所述第二兴趣报文对应的
PIT表项;如果所述驻留信息表中不存在包括所述第二兴趣报文中的内容名的 PIT表项,则在所述驻留信息表中添加包括所述第二兴趣报文中的内容名和接 收到所述数据报文的端口的信息的 PIT表项, 以生成与所述第二兴趣报文对 应的 PIT表项。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式, 在第四方面的第六种可 能的实现方式中, 所述转发处理模块还用于当判断所述数据报文不携带有所 述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内 容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据 报文。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能 的实现方式, 在第四方面的第七种可能的实现方式中, 所述转发节点还包括: 表项删除模块, 用于在所述转发处理模块根据匹配的 PIT表项中的端口向所 述源设备转发所述数据报文后, 将所述匹配的 PIT表项从所述驻留信息表中 移除。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能 的实现方式或第四方面的第七种可能的实现方式, 在第四方面的第八种可能 的实现方式中, 所述第二兴趣报文为一个或多个。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能 的实现方式或第四方面的第七种可能的实现方式或第四方面的第八种可能的
实现方式, 在第四方面的第九种可能的实现方式中, 所述数据报文还携带有 反向兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报文;
所述转发处理模块具体用于当通过判断所述反向兴趣标识的值判断出所 述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容名与 所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发所述数据报文。
结合第四方面的第九种可能的实现方式, 在第四方面的第十种可能的实 现方式中, 所述数据报文携带所述反向兴趣标识的方式包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣 标识。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能 的实现方式或第四方面的第七种可能的实现方式或第四方面的第八种可能的 实现方式或第四方面的第九种可能的实现方式或第四方面的第十种可能的实 现方式, 在第四方面的第十一种可能的实现方式中, 所述数据报文携带所述 第二兴趣 _t艮文的方式包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段 中携带所述第二兴趣 ·^艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段 中携带所述第二兴趣 ·^艮文。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二种 可能的实现方式或第四方面的第三种可能的实现方式或第四方面的第四种可 能的实现方式或第四方面的第五种可能的实现方式或第四方面的第六种可能 的实现方式或第四方面的第七种可能的实现方式或第四方面的第八种可能的 实现方式或第四方面的第九种可能的实现方式或第四方面的第十种可能的实 现方式或第四方面的第十一种可能的实现方式, 在第四方面的第十二种可能
的实现方式中, 所述转发处理模块具体用于当所述转发节点与所述源设备之 间存在多个其他转发节点时, 如果断出所述数据报文携带有所述第二兴趣报 文, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 根据所述匹配的 PIT表项中的端口向下一个转发节点转发所述数据报文, 使 得所述下一个转发节点收到所述数据报文后, 当判断所述数据报文携带有第 二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名 进行匹配, 并根据匹配的 PIT表项中的端口再向下一个转发节点转发所述数 据报文, 依次类推, 以向所述源设备转发所述数据报文。
第五方面提供一种终端设备, 包括:
生成模块, 用于根据接收的第一兴趣报文, 生成数据报文, 所述第一兴 趣报文是源设备通过转发节点转发的, 用于所述源设备向所述终端设备请求 内容; 其中, 所述转发节点包括驻留信息表 PIT, 所述 PIT 包括一个或多个 PIT表项,每个 PIT表项包括内容名以及端口,且所述转发节点在转发所述第 一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息 表中包括与所述第一兴趣报文对应的 PIT表项;
添加模块, 用于在确定需要在所述数据报文中携带发往所述源设备的第 二兴趣报文时, 在所述数据报文中携带所述第二兴趣报文, 所述第二兴趣报 文用于所述终端设备向所述源设备请求内容;
发送模块, 用于向所述转发节点发送所述数据报文, 使得所述转发节点 在判断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的 内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端 口向所述源设备转发所述数据报文。
结合第五方面, 在第五方面的第一种可能的实现方式中, 所述添加模块 还用于在确定需要在所述数据报文中携带发往所述源设备的第二兴趣报文 时, 在所述数据报文中携带反向兴趣标识, 并设置所述反向兴趣标识的值为 用于标识所述数据报文携带有所述第二兴趣报文的值, 所述反向兴趣标识用 于标识所述数据报文是否携带有所述第二兴趣报文。
结合第五方面或第五方面的第一种可能的实现方式, 在第五方面的第二
种可能的实现方式中, 所述第二兴趣报文为一个或多个。
结合第五方面的第一种可能的实现方式或第五方面的第二种可能的实现 方式, 在第五方面的第三种可能的实现方式中, 所述添加模块用于在所述数 据报文中携带反向兴趣标识, 包括:
所述添加模块具体用于在所述数据报文的数字签名信息字段中, 携带所 述反向兴趣标识; 或者
所述添加模块具体用于在所述数据报文中新增第一字段, 在所述第一字 段中携带所述反向兴趣标识。
结合第五方面或第五方面的第一种可能的实现方式或第五方面的第二种 可能的实现方式或第五方面的第三种可能的实现方式, 在第五方面的第四种 可能的实现方式中, 所述添加模块用于在所述数据报文中携带所述第二兴趣 报文, 包括:
所述添加模块具体用于在所述数据报文中的数据载荷字段之前新增第二 字段, 在所述第二字段中携带所述第二兴趣报文; 或者
所述添加模块具体用于在所述数据报文中的数据载荷字段之后新增第三 字段, 在所述第三字段中携带所述第二兴趣报文。
第六方面提供一种终端设备, 包括:
接收模块, 用于接收第一数据报文, 所述第一数据报文是目的设备根据 所述终端设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣 报文用于所述终端设备向所述目的设备请求内容; 所述转发节点包括驻留信 息表 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名和 端口; 所述转发节点在接收到所述第一数据报文且判断所述第一数据报文携 带有第二兴趣报文后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所 述第二兴趣报文用于所述目的设备向所述终端设备请求内容;
生成模块, 用于判断所述第一数据报文携带有所述第二兴趣报文时, 从 所述第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成 第二数据报文, 所述第二数据报文携带有与所述第二兴趣报文请求内容的内 容名相同的内容名;
发送模块, 用于向所述转发节点发送所述第二数据报文, 使得所述转发 节点将所述第二数据报文中携带的内容名与所述 PIT表项中的内容名进行匹 配, 并根据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报文。
结合第六方面, 在第六方面的第一种可能的实现方式中, 所述第一数据 报文还携带有反向兴趣标识, 用于标识所述第一数据报文是否携带有所述第 二兴趣报文;
所述生成模块具体用于当通过判断所述反向兴趣标识的值判断出所述第 一数据报文携带有所述第二兴趣报文时, 从所述第一数据报文中获取所述第 二兴趣报文, 根据所述第二兴趣报文, 生成所述第二数据报文。
结合第六方面或第六方面的第一种可能的实现方式, 在第六方面的第二 种可能的实现方式中, 所述终端设备还包括: 内容处理模块, 用于从所述第 一数据报文中, 获取所述第一兴趣报文请求的内容, 并对所述内容进行处理。
结合第六方面或第六方面的第一种可能的实现方式或第六方面的第二种 可能的实现方式, 在第六方面的第三种可能的实现方式中, 所述第二兴趣报 文为一个或多个。
本发明实施例提供的报文处理方法及设备, 当判断数据报文携带有第二 兴趣报文时, 将所述数据报文中携带的内容名与驻留信息表 PIT表项中的内 容名进行匹配, 并根据匹配中的在转发接收到的第一兴趣报文时根据第一兴 趣报文匹配驻留信息表使得驻留信息表中包括的与第一兴趣报文对应的 PIT 表项, 向源设备转发数据报文, 这样源设备在收到数据报文的同时也收到了 兴趣报文, 从而实现了兴趣报文的从目的设备到源设备的发送。 可以看到, 本实施例中并不需要再逐跳查询 FIB表, 而是利用了 PIT表在转发数据报文 的同时实现了兴趣报文的转发, 从而提高了兴趣报文的路由效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作一筒单地介绍, 显而易见地, 下 面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在
不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例提供的一种报文处理方法的流程图;
图 2 为本发明实施提供的数据报文携带反向兴趣标识和第二兴趣字段的 一种方式示意图;
图 3 为本发明实施提供的数据报文携带反向兴趣标识和第二兴趣字段的 另一种方式示意图;
图 4为本发明实施例提供的另一种报文处理方法的流程图;
图 5为本发明实施例提供的又一种报文处理方法的流程图;
图 6为本发明实施例提供的又一种报文处理方法的流程图;
图 7为本发明实施例提供的又一种报文处理方法的流程图;
图 8为本发明实施例提供的又一种报文处理方法的流程图;
图 9为本发明实施例提供的一种端到端应用场景示意图;
图 10为本发明实施例提供的一种服务器与多个客户端进行会话的应用场 景示意图;
图 11为本发明实施例提供的一种路由设备的结构示意图;
图 12为本发明实施例提供的另一种路由设备的结构示意图;
图 13为本发明实施例提供的又一种路由设备的结构示意图;
图 14为本发明实施例提供的一种终端设备的结构示意图;
图 15为本发明实施例提供的另一种终端设备的结构示意图;
图 16为本发明实施例提供的又一种终端设备的结构示意图;
图 17为本发明实施例提供的又一种终端设备的结构示意图;
图 18为本发明实施例提供的又一种终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获
得的所有其他实施例, 都属于本发明保护的范围。
图 1 为本发明实施例提供的一种报文处理方法的流程图。 本实施例提供 的方法应用于 ICN中的转发节点, 所述转发节点包括 PIT, 所述 PIT包括一 个或多个 PIT表项, 每个 PIT表项包括内容名以及端口。 如图 1所示, 所述 方法包括:
101、 转发节点接收数据报文, 所述数据报文是由目的设备在收到源设备 发送且经由转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一 兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有与 所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发所 述第一兴趣报文时根据所述第一兴趣报文匹配所述 PIT使得所述 PIT中包括 与所述第一兴趣报文对应的 P IT表项。
其中, 转发节点根据所述第一兴趣报文匹配所述 PIT使得所述 PIT中包 括与所述第一兴趣报文对应的 PIT表项包括: 如果所述 PIT中存在包括第一 兴趣报文请求的内容的内容名的 PIT表项, 则将接收到第一兴趣报文的端口 的信息添加到所述 PIT表项中; 如果所述 PIT中不存在包括第一兴趣报文请 求的内容的内容名的 PIT表项, 则在所述 PIT中增加包括第一兴趣报文请求 的内容的内容名和接收到第一兴趣报文的端口的信息的 PIT表项。
102、 当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携 带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中 的端口向所述源设备转发所述数据报文, 所述第二兴趣报文用于所述目的设 备向所述源设备请求内容。
在本实施例中, 网络中的转发节点接收数据报文, 所述转发节点可以是 路由器或路由节点。 目的设备在发送数据报文之前, 会接收来自于源设备且 经由转发节点转发的第一兴趣报文, 源设备发送的第一兴趣报文可以是独立 的报文, 也可以由源设备发送的数据报文携带。 然后, 目的设备根据第一兴 趣报文确定需要反馈给源设备的内容, 生成数据报文, 在发送所述数据报文 之前, 还可以根据实际应用场景等, 确定是否需要在所述数据报文中携带兴 趣报文; 如果确定出需要在所述数据报文中携带兴趣报文, 则在所述数据报
文中携带发送源设备的第二兴趣报文, 然后将所述数据报文发送出去。
转发节点在接收到数据报文之后, 可以判断接收到的数据报文是否携带 有第二兴趣报文, 在判断出所述数据报文携带有第二兴趣报文时, 将所述数 据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。具体的,转发节点在判断 出所述数据报文携带有第二兴趣报文时, 根据所述数据报文中携带的内容名, 查询本地 PIT, 如果在本地 PIT中匹配到 PIT表项 (即本地 PIT中存在包括 所述数据报文中携带的内容名的 PIT表项),则将所述数据报文从匹配的 PIT 表项中的所有端口转发出去, 另外将所述数据报文存储一份到本地 CS中,并 在向所述源设备转发所述数据报文后, 将所述匹配的 PIT表项从本地 PIT中 移除; 如果在本地 PIT中未匹配到 PIT表项 (即本地 PIT中不存在包括所述 数据报文中携带的内容名的 PIT表项) , 则将所述数据报文丟弃。
进一步可选的, 当判断所述数据报文不携带有所述第二兴趣报文时, 转 发节点可以将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行 匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。 这 样, 源设备就能够在收到数据报文的同时, 也收到了目的设备发送的第二兴 趣报文, 使得目的设备无需再单独地发兴趣报文, 可以节省资源。
在本实施例中, 转发节点在接收到所述数据报文且判断所述数据报文携 带有所述第二兴趣报文后, 还会生成或更新与所述第二兴趣报文对应的 PIT 表项。 本实施例对生成或更新与第二兴趣报文对应的 PIT表项的时间点不做 限定, 可以是判断出数据报文携带有第二兴趣报文之后, 且在接收到源设备 针对第二兴趣报文再次返回的数据报文之前的任何时间点。
其中, 转发节点生成或更新与所述第二兴趣报文对应的 PIT表项包括: 根据所述第二兴趣 ·^艮文中的内容名,查询所述 PIT;如果所述 PIT中存在包括 所述第二兴趣报文中的内容名的 PIT表项, 说明已经有请求相同内容的兴趣 报文在等待, 则在包括所述第二兴趣报文中的内容名的 PIT表项中, 添加接 收到所述数据报文的端口的信息, 以更新与所述第二兴趣报文对应的 PIT表 项; 如果所述 PIT中不存在包括所述第二兴趣报文中的内容名的 PIT表项,
则在所述 PIT 中添加包括所述第二兴趣报文中的内容名和接收到所述数据报 文的端口的信息的 PIT表项, 以生成与所述第二兴趣报文对应的 PIT表项。 这里转发节点接收到所述数据报文的端口也就是接收到第二兴趣报文的端口 (即第二兴趣 _t艮文的来端口 ) 。
在此说明, 转发节点根据本地 PIT对所述数据报文进行转发处理的过程, 与转发节点生成或更新与所述第二兴趣报文对应的 PIT表项的过程的先后顺 序不做限定, 两者可以并行执行。
由上述可见, 在本实施例中, 当判断数据报文携带有第二兴趣报文时, 将所述数据报文中携带的内容名与驻留信息表 P IT表项中的内容名进行匹配, 并根据匹配中的在转发接收到的第一兴趣报文时根据第一兴趣报文匹配 PIT 使得 PIT中包括的与第一兴趣报文对应的 PIT表项, 向源设备转发数据报文, 这样源设备在收到数据报文的同时也收到了兴趣报文, 从而实现了兴趣报文 的从目的设备到源设备的发送, 兴趣报文的发送不需要再逐跳查询 FIB表, 而是利用了 PIT表在转发数据报文的同时实现了兴趣报文的转发, 从而提高 了兴趣报文的路由效率。
在本发明的一可选实施方式中, 所述数据报文还可以携带反向兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报文。 其中, 所述数据报文 携带反向兴趣标识的方式包括但不限于:在数据报文的数字签名信息( Signed Info )字段中, 携带所述反向兴趣标识。 或者, 在数据报文的数字签名信息字 段之外, 携带所述反向兴趣标识, 例如可以在数据报文中新增第一字段, 在 所述第一字段中携带所述反向兴趣标识。
基于上述反向兴趣标识, 转发节点在接收到所述数据报文后, 可以通过 判断数据报文携带的反向兴趣标识的值, 来判断所述数据报文是否携带有所 述第二兴趣报文。 基于此, 步骤 102的一种实施方式为: 当通过判断所述反 向兴趣标识的值判断出所述数据报文携带有所述第二兴趣报文时, 将所述数 据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
在本发明各实施例中, 所述数据报文中携带的第二兴趣报文可以是一个,
也可以是多个。
所述数据报文携带第二兴趣报文的方式包括但不限于: 在数据报文的数 据载荷 (Data Payload ) 字段之前, 携带所述第二兴趣报文, 例如可以在数 据报文的数据载荷字段之前新增第二字段, 在所述第二字段中携带所述第二 兴趣报文。 或者在数据报文的数据载荷字段之后, 携带所述第二兴趣报文, 例如可以在数据报文的数据载荷字段之后新增第三字段, 在所述第三字段中 携带所述第二兴趣报文。
例如,数据报文同时携带反向兴趣标识和第二兴趣报文的一种方式如图 2 所示, 反向兴趣标识被携带在数据报文的数字签名信息字段中, 而多个第二 兴趣报文则被携带在数据载荷字段之后新增的字段中。 又例如, 数据报文同 时携带反向兴趣标识和第二兴趣报文的另一种方式如图 3所示, 反向兴趣标 识和多个第二兴趣报文均被携带在数据报文中在数据载荷字段之前新增的一 个字段中。
在本发明的一可选实施方式中, 转发节点在判断所述数据报文携带有所 述第二兴趣报文时, 且将所述数据报文中携带的内容名与所述 PIT表项中的 内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数 据报文之前, 可以根据所述第二兴趣报文中的内容名, 查询本地 CS, 确定本 地 CS中不存在所述第二兴趣 ·^艮文中的内容名对应的内容。
进一步可选的, 在所述将所述数据报文中携带的内容名与所述 PIT表项 中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所 述数据报文之前,如果确定本地 CS中存在所述第二兴趣报文中的内容名对应 的内容,则将本地 CS中所述第二兴趣报文中的内容名对应的内容,通过接收 到所述数据报文的端口发送出去。
也就是说, 在该实施方式中, 转发节点接收到所述数据报文且判断所述 数据报文携带有所述第二兴趣报文时, 可以先根据所述第二兴趣报文中的内 容名, 查询本地 CS, 判断本地 CS中是否存在与所述第二兴趣报文中的内容 名对应的内容;如果本地 CS中不存在与所述第二兴趣 ·^艮文中的内容名对应的 内容, 则再将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行
匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文; 如 果本地 CS中存在与所述第二兴趣报文中的内容名对应的内容,则可以将本地 CS中所述第二兴趣报文中的内容名对应的内容,通过接收到所述数据报文的 端口发送出去, 并将所述数据报文中携带的内容名与所述 PIT表项中的内容 名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报 文。
其中,在确定本地 CS中存在所述第二兴趣 ·^艮文中的内容名对应的内容的 情况下,所述将本地 CS中所述第二兴趣 ·^艮文中的内容名对应的内容,通过接 收到所述数据报文的端口发送出去, 并将所述数据报文中携带的内容名与所 述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源 设备转发所述数据报文的一种实施方式可以包括:将本地 CS中所述第二兴趣 报文中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去, 并 将所述第二兴趣报文从所述数据报文中剔除, 将所述数据报文中携带的内容 名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向 所述源设备转发剔除了所述第二兴趣报文后的所述数据报文。 这样可以减小 传输负荷, 节约传输资源。
在此说明, 虽然这里将数据报文中的第二兴趣报文剔出了, 即数据报文 的内容发生了变化, 但依旧使用 "数据报文" 这个名称。
在本发明实施例中, 接收到所述数据报文的转发节点 (即本实施例的执 行主体) 与所述源设备之间可能存在多个其他的转发节点, 也可能不存在其 他的转发节点。 当接收到所述数据报文的所述转发节点与所述源设备之间存 在多个其他转发节点时, 上述各实施例或实施方式中, 转发节点根据匹配的
PIT表项中的端口向所述源设备转发所述数据报文包括:
根据所述匹配的 P IT表项中的端口向下一个转发节点转发所述数据报文, 使得所述下一个转发节点收到所述数据报文后, 当判断所述数据报文携带有 所述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的 内容名进行匹配, 并根据匹配的 PIT表项中的端口再向下一个转发节点转发 所述数据报文, 依次类推, 以向所述源设备转发所述数据报文。 由此可见,
在源设备与接收到数据报文的转发节点之间存在多个其他转发节点时, 每个 转发节点接收到所述数据报文的处理方式相同。
图 4为本发明实施例提供的另一种报文处理方法的流程图。 本实施例提 供的方法应用于 ICN中的转发节点, 所述转发节点包括 PIT, 所述 PIT包括 一个或多个 PIT表项, 每个 PIT表项包括内容名以及端口。 如图 4所示, 所 述方法包括:
401、 转发节点接收数据报文, 所述数据报文是由目的设备在收到源设备 发送且经由转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一 兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有与 所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发所 述第一兴趣报文时根据所述第一兴趣报文匹配所述 PIT使得所述 PIT中包括 与所述第一兴趣报文对应的 P IT表项。
步骤 401可参见上述步骤 101的描述。
402、判断所述数据报文中是否携带有标识所述数据报文携带有第二兴趣 报文的反向兴趣标识; 如果判断结果为是, 则执行步骤 403, 如果判断结果 为否, 则执行步骤 404。
例如, 转发节点可以对所述数据报文进行解析, 以判断所述数据报文是 否携带有反向兴趣标识, 并通过所述反向兴趣标识的值判断所述数据报文是 否携带有所述第二兴趣报文。 其中, 第二兴趣报文用于目的设备向源设备请 求内容。
步骤 403、 提取所述数据报文携带的第二兴趣报文中的内容名, 根据所 提取的内容名, 在本地 PIT中生成或更新与第二兴趣报文对应的 PIT表项, 并执行步骤 404。
转发节点根据所提取的内容名, 判断本地 PIT 中是否存在包括所提取的 内容名的 PIT表项; 如果本地 PIT中已经存在包括所提取的内容名的 PIT表 项, 则将接收到所述数据报文的端口添加到该 PIT表项中, 以更新与第二兴 趣报文对应的 PIT表项; 如果本地 PIT中不存在包括所提取的内容名的 PIT 表项, 则将所提取的内容名和接收到所述数据报文的端口的信息添加到本地
PIT中, 生成与第二兴趣报文对应的 PIT表项。
404、根据所述数据报文中携带的内容名, 判断本地 PIT中是否存在与所 述数据报文中携带的内容名匹配的 PIT表项; 如果判断结果为是, 执行步骤 405, 如果判断结果为否, 则执行步骤 406。
405、 根据所述匹配的 PIT 表项中的端口向所述源设备转发所述数据报 文, 在本地 CS中存储一份所述数据报文, 并将所述匹配的 PIT表项从本地 PIT表中移除, 并转去执行步骤 401。
406、 丟弃所述数据报文, 并转去执行步骤 401。
上述步骤 402和 403, 与步骤 404-406的执行顺序不做限定。
在此说明,在接收的数据报文中不携带反向兴趣标识时,将执行步骤 404- 步骤 406, 该过程与现有 NDN中对接收到的数据报文进行转发处理的过程相 同,也就是说,本实施例提供的方法可以与现有 NDN的路由转发方案相兼容。
图 5为本发明实施例提供的又一种报文处理方法的流程图。 本实施例提 供的方法应用于 ICN中的转发节点, 所述转发节点包括 PIT, 所述 PIT包括 一个或多个 PIT表项, 每个 PIT表项包括内容名以及端口。 如图 5所示, 所 述方法包括:
501、 转发节点接收数据报文, 所述数据报文是由目的设备在收到源设备 发送且经由转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一 兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有与 所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发所 述第一兴趣报文时根据所述第一兴趣报文匹配所述 PIT使得所述 PIT中包括 与所述第一兴趣报文对应的 P IT表项。
502、判断所述数据报文中是否携带有标识所述数据报文携带有第二兴趣 报文的反向兴趣标识; 如果判断结果为是, 则执行步骤 503, 如果判断结果 为否, 则执行步骤 506。
503、提取所述数据报文携带的第二兴趣报文中的内容名, 根据所提取的 内容名, 查询本地 CS, 以判断本地 CS中是否存在与所提取的内容名对应的 内容,如果判断结果为是,执行步骤 504 ,如果判断结果为否,执行步骤 505。
504、 将本地 CS中所述第二兴趣报文中的内容名对应的内容, 通过接收 到所述数据报文的端口发送出去, 并执行步骤 506。
505、根据所提取的内容名, 在本地 PIT中生成或更新与第二兴趣报文对 应的 PIT表项, 并执行步骤 506。
506、根据所述数据报文中携带的内容名, 判断本地 PIT中是否存在与所 述数据报文中的内容名匹配的 PIT表项; 如果判断结果为是, 执行步骤 507, 如果判断结果为否, 则执行步骤 508。
507、 根据所述匹配的 PIT 表项中的端口向所述源设备转发所述数据报 文, 在本地 CS中存储一份所述数据报文, 并将所述匹配的 PIT表项从本地 PIT表中移除, 并转去执行步骤 501。
508、 丟弃所述数据报文, 并转去执行步骤 501。
本实施例与图 4所示实施例的区别可概括为: 在所述数据报文携带有第 二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名 进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文 之前, 还包括: 根据所述第二兴趣报文中的内容名, 查询本地 CS, 判断本地 CS中是否存在所述第二兴趣 ·^艮文中的内容名对应的内容。如果判断结果为不 存在, 即确定本地 CS中不存在所述第二兴趣 4艮文中的内容名对应的内容,则 在所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带的内容名与 所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发所述数据 ·^艮文;如果判断结果为存在, 即确定本地 CS中存在所述 第二兴趣报文中的内容名对应的内容,则将本地 CS中所述第二兴趣报文中的 内容名对应的内容, 通过接收到所述数据报文的端口发送出去, 并在所述数 据报文携带有第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT 表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转 发所述数据报文。
其中,在本地 CS中存在所述第二兴趣报文中的内容名对应的内容时,上 述根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文的方式可以 有多种, 本实施例中的步骤 506-508给出了其中一种。 例如, 由于在本地 CS
中存在所述第二兴趣 ·^艮文中的内容名对应的内容时,转发节点已经将本地 CS 中所述第二兴趣报文中的内容名对应的内容, 通过接收到所述数据报文的端 口发送出去, 故源设备可以不用再向目的设备返回第二兴趣报文中的内容名 对应的内容, 基于此转发节点还可以将第二兴趣报文从所述数据报文中剔除, 然后根据匹配的 PIT表项中的端口向所述源设备转发剔除所述第二兴趣报文 的所述数据报文。
由上述可见, 本发明实施例采用在数据报文中携带反向兴趣( Piggyback Interest )标识, 用于标识是否携带有兴趣报文, 转发节点接收到数据报文后, 通过本地 PIT中存储的与所述数据报文携带的内容名匹配的 PIT表项, 同时 将数据报文和数据报文携带的兴趣报文送达目的地, 兴趣报文的路由不再逐 跳查询 FIB, 提高了兴趣报文的路由效率。 另外, 转发节点在数据报文携带兴 趣报文时, 还为数据报文中的兴趣报文在本地 PIT中建立对应的 PIT表项, 在保证兴趣报文顺利到达源设备的同时, 也为该源设备针对该兴趣报文发送 的数据报文提供了反向路径, 保证了两端设备的正常通信。
由于在端到端类型应用中, 兴趣报文和数据报文通常是在明确具体的发 送方和接收方之间进行交互, 因此, 本发明实施例提供的方法尤其适用于端 到端类型的应用, 但并不限于此。 另外, 对于端到端类型的应用来说, 本发 明实施例提供的方法不仅可以提高兴趣报文的路由效率, 而且由于兴趣报文 的路由不需要查找 FIB, 所以路由变化(例如终端移动)时引起的路由收敛不 会影响到兴趣报文的路由, 所以路由收敛造成的时延不会影响到端到端业务, 因此还可以降低端到端业务的网络时延。 另外, 对于大量端到端的应用, 其 产生的内容名具有即时性和随机性的特点, 且数量较大, 而在本发明实施例 提供的方法中, 端到端应用中产生的内容名不需要全部添加到 FIB 中, 减轻 了 FIB在扩展上的压力。
图 6为本发明实施例提供的又一种报文处理方法的流程图。如图 6所示, 所述方法包括:
601、 目的设备根据接收的第一兴趣报文, 生成数据报文, 所述第一兴趣 报文是源设备通过转发节点转发的, 用于所述源设备向所述目的设备请求内
容; 其中, 所述转发节点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每 个 PIT表项包括内容名以及端口, 且所述转发节点在转发所述第一兴趣报文 时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表中包括与 所述第一兴趣报文对应的 P IT表项。
602、 目的设备在确定需要在所述数据报文中携带发往所述源设备的第二 兴趣报文时, 在所述数据报文中携带所述第二兴趣报文, 所述第二兴趣报文 用于所述目的设备向所述源设备请求内容。
603、 目的设备向所述转发节点发送所述数据报文, 使得所述转发节点在 判断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内 容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口 向所述源设备转发所述数据报文。
本实施例是目的设备的角度进行的描述。
具体的, 目的设备接收源设备通过转发节点转发的第一兴趣报文, 并根 据第一兴趣报文中的内容名准备有关内容, 并生成携带有所述内容的数据报 文, 该数据报文还携带有第一兴趣报文请求的内容的内容名; 然后, 确定是 否需要在所述数据报文中携带发往所述源设备的第二兴趣报文, 如果确定需 要携带, 则在所述数据报文中携带所述第二兴趣报文, 再向所述转发节点发 送所述数据报文; 如果确定不需要携带, 则生成所述数据报文之后, 直接向 所述转发节点发送所述数据报文。
其中, 目的设备可以根据实际应用场景, 决定是否需要在所述数据报文 中携带发往源设备的第二兴趣报文。 例如, 如果目的设备还需要从源设备获 取其他内容, 则确定需要在所述数据报文中携带发往源设备的第二兴趣报文, 反之, 则确定不需要携带。
其中, 转发节点在转发第一兴趣报文到目的节点时, 会根据第一兴趣报 文匹配所述 PIT使得所述 PIT中包括与第一兴趣报文对应的 PIT表项。 基于 此, 转发节点在接收到目的设备发送的所述数据报文后, 会根据所述数据报 文携带的内容名在所述 PIT表项中进行匹配, 根据匹配的 PIT表项中的端口 将所述数据报文向所述源设备转发。 在该过程中, 如果所述数据报文携带有
第二兴趣报文, 则第二兴趣报文会随同所述数据报文一起向所述源设备转发。 其中, 目的设备可以在所述数据报文中携带一个或多个第二兴趣报文。 换句话说, 第二兴趣报文可以是一个或多个。
在本实施例的一可选实施方式中, 所述方法还包括: 目的设备在确定需 要在所述数据报文中携带发往所述源设备的第二兴趣报文时, 在所述数据报 文中携带反向兴趣标识, 并设置所述反向兴趣标识的值为用于标识所述数据 报文携带有所述第二兴趣报文的值。 所述反向兴趣标识用于标识所述数据报 文是否携带有所述第二兴趣报文。 在该实施方式中, 目的设备通过反向兴趣 标识来标识所述数据报文是否携带所述第二兴趣报文。 例如, 可以将反向兴 趣标识的值设置为 1 , 用于标识所述数据报文携带所述第二兴趣报文, 而将所 述反向兴趣标识的值设置为 0,用于标识所述数据报文未携带所述第二兴趣报 文, 但并不限于这种方式。
可选的, 目的设备在所述数据报文中携带反向兴趣标识, 包括但不限于: 在数据报文的数字签名信息(Signed Info )字段中, 携带所述反向兴趣标识。 或者, 在数据报文的数字签名信息字段之外, 携带所述反向兴趣标识, 例如 可以在数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣标识。
可选的, 目的设备在所述数据报文中携带第二兴趣报文, 包括但不限于: 在数据报文的数据载荷( Data Payload )字段之前, 携带所述第二兴趣报文, 例如可以在数据报文的数据载荷字段之前新增第二字段, 在所述第二字段中 携带所述第二兴趣报文。 或者在数据报文的数据载荷字段之后, 携带所述第 二兴趣报文, 例如可以在数据报文的数据载荷字段之后新增第三字段, 在所 述第三字段中携带所述第二兴趣报文。 例如, 数据报文携带反向兴趣标识和 第二兴趣字段的方式可如图 2和图 3所示。
在本实施例中, 目的设备在根据源设备发送的第一兴趣报文, 向源设备 返回数据报文时, 通过在所述数据报文中携带发往源设备的第二兴趣报文, 使得网络中的转发节点能够基于 PIT 中与所述数据报文中携带的内容名匹配 的 PIT表项中的端口, 同时向源设备转发数据报文和第二兴趣报文, 为提高 信息为中心网络中兴趣报文的送达的效率, 降低转发节点的处理开销, 减小
数据交互时延提供了条件。
图 7为本发明实施例提供的又一种报文处理方法的流程图。如图 7所示, 所述方法包括:
701、 目的设备接收第一兴趣报文, 所述第一数据报文是目的设备根据所 述源设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣报文 用于所述源设备向所述目的设备请求内容。
所述转发节点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT 表项包括内容名和端口; 所述转发节点在转发所述第一兴趣报文时根据所述 第一兴趣报文匹配所述 PIT使得所述 PIT中包括与所述第一兴趣报文对应的 PIT表项。
702、 目的设备根据接收的第一兴趣报文, 生成数据报文, 所述数据报文 包括第一兴趣报文请求的内容的内容名。
703、 判断是否需要在所述数据报文中携带发往源设备的第二兴趣报文, 如果判断结果为是, 则执行步骤 704; 如果判断结果为否, 则执行步骤 705。
704、 将所述数据报文中的反向兴趣标识位置为 1 , 并在所述数据报文中 添加所述第二兴趣报文, 所述反向兴趣标识位用于标识所述数据报文是否携 带有所述第二兴趣报文, 当取值为 1 时, 标识所述数据报文携带有所述第二 兴趣报文, 当取值为 0 时, 标识所述数据报文未携带所述第二兴趣报文, 并 执行步骤 706。
705、 将所述数据报文中的反向兴趣标识位置为 0, 并执行步骤 706。
706、 向所述转发节点发送所述数据报文, 使得所述转发节点在判断所述 数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容名与所 述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源 设备转发所述数据报文。
在本实施例中, 目的设备在根据源设备发送的第一兴趣报文, 向源设备 返回数据报文时, 通过在所述数据报文中携带发往源设备的第二兴趣报文, 使得网络中的转发节点能够基于 PIT 中与所述数据报文中携带的内容名匹配 的 PIT表项中的端口, 同时向源设备转发数据报文和第二兴趣报文, 为提高
信息为中心网络中兴趣报文的送达的效率, 降低转发节点的处理开销, 减小 数据交互时延提供了条件。
图 8为本发明实施例提供的又一种报文处理方法的流程图。如图 8所示, 所述方法包括:
801、 源设备接收第一数据报文, 所述第一数据报文是目的设备根据所述 源设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣报文用 于所述源设备向所述目的设备请求内容; 所述转发节点包括 PIT, 所述 PIT 包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所述转发节点 在接收到所述第一数据报文且判断所述第一数据报文携带有第二兴趣报文 后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二兴趣报文用 于所述目的设备向所述源设备请求内容。
802、 源设备判断所述第一数据报文携带有第二兴趣报文时, 从所述第一 数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二数据 报文, 所述第二数据报文携带有与所述第二兴趣报文请求内容的内容名相同 的内容名。
803、 源设备向所述转发节点发送所述第二数据报文, 使得所述转发节点 将所述第二数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报文。
本实施例是从源设备的角度进行的描述。
具体的, 源设备接收目的设备根据源设备发送的第一兴趣报文而返回的 第一数据报文, 判断所述第一数据报文是否携带有第二兴趣报文, 如果判断 结果为是, 则从所述第一数据报文中第二兴趣报文, 根据第二兴趣报文中的 内容名确定有关内容, 生成第二数据报文, 向转发节点发送第二数据报文, 使得转发节点根据 PIT中与第二兴趣报文对应的 PIT表项将所述第二数据报 文转发给目的设备。
进一步, 源设备还可以从第一数据报文中获取第一兴趣请求报文请求的 内容, 并对所述内容进行处理, 例如可以提交给应用程序处理该内容。 其中, 源设备根据从第一数据报文中获取的第二兴趣报文, 向目的设备发送第二数
据报文的过程可以参见图 6或图 7所示, 或者也可以采用现有技术中的处理 流程。
进一步, 如果所述第一数据报文中未携带所述第二兴趣报文, 则可以按 照现有流程对第一数据报文进行接收处理, 例如可以从第一数据报文中, 获 取第一兴趣报文请求的内容, 然后对该内容进行相关处理。
可选的, 如果第一数据报文携带的第二兴趣报文的个数为多个, 则针对 每个第二兴趣 ^艮文进行处理的方式均相同。
在本实施例的一可选实施方式中, 所述第一数据报文还携带有反向兴趣 标识, 用于标识所述第一数据报文是否携带有第二兴趣报文。 基于此, 源设 备可以通过判断第一数据报文中携带的反向兴趣标识的值, 来判断第一数据 报文是否携带有所述第二兴趣报文。基于此, 步骤 802的一种实施方式包括: 当通过判断所述反向兴趣标识的值判断出所述第一数据报文携带有所述第二 兴趣报文时, 所述源设备从所述第一数据报文中获取所述第二兴趣报文, 根 据所述第二兴趣报文, 生成所述第二数据报文。
在本实施例中, 源设备通过对目的设备根据源设备的第一兴趣报文而返 回的第一数据报文进行判断, 并在判断出第一数据报文携带有第二兴趣报文 时, 从第一数据报文中获取所携带的第二兴趣报文, 并根据获取的第二兴趣 报文进行处理, 为提高信息为中心网络中兴趣报文的送达的效率, 降低转发 节点的处理开销, 减小数据交互时等延提供了支持。
本发明实施例提供的一种数据报文携带兴趣报文的方法, 包括: 在数据 报文中增加反向兴趣标识位, 所述反向兴趣标识位用于标识所述数据报文是 否携带兴趣报文; 在所述反向兴趣标识位标识所述数据报文携带兴趣报文时, 的兴趣报文。
其中, 所述数据报文所携带的兴趣报文可以为一个或多个。
可选的, 所述反向兴趣标识位可以位于所述数据报文的数字签名信息字 段中; 或者, 所述反向兴趣标识位可以位于所述数据报文中新增的第一字段 中。
可选的, 所述兴趣报文可以位于所述数据报文中在数据载荷字段之前新 增的第二字段中; 或者, 所述兴趣报文可以位于所述数据报文中在数据载荷 字段之后新增的第三字段中。
该方法可应用于上述报文处理方法实施例中, 为上述实施例提供了一种 数据报文携带兴趣报文的具体方式。
下面通过几种具体的应用场景, 对本发明实施例提供的方法以及本发明 实施例提供的报文处理方法所能带来的有益效果做进一步说明。
图 9为本发明实施例提供的一种端到端应用场景示意图。 如图 9所示, 第一客户端和第二客户端通过 NDN连接, NDN中存在六个路由设备,如图 9 中的圆圈所示,这六个路由设备之间的互联关系请参见图 9。 图 9中所述路由 设备可以作为上述实施例中的转发节点。 则当第一客户端与第二客户端的位 置固定不变时, 第一客户端与第二客户端之间的会话流程包括:
9a、 第一客户端发起与第二客户端之间的会话, 发送包含相关内容名的 第一兴趣报文。
9b、 网络中的路由设备通过 FIB将第一兴趣报文路由至第二客户端。 该 步骤与现有技术的方案相同, 在该步骤中, 路由设备本地的 PIT 中会形成第 一兴趣报文对应的数据报文的反向路径, 即第一兴趣报文对应的 PIT表项。
9c、 第二客户端接收到第一兴趣报文后准备好返回的数据报文, 同时因 为该应用的端到端会话特性,设置数据报文中的反向兴趣标识为 1 , 并将返回 的第二兴趣报文添加到数据报文中。
9d、 第二客户端将数据报文发送出去, 使得数据报文携带第二兴趣报文 沿着网络中路由设备的 PIT形成的反向路径返回第一客户端。 该步骤的具体 实施过程可参见图 1-图 5所示实施例的描述。 该过程无需逐跳查找 FIB, 有 利于提高兴趣报文的路由效率。
9e、 第一客户端可以继续发送携带第三兴趣报文的数据报文至第二客户 端, 如此往复, 直至结束会话。
假设第一客户端发生移动, 则第一客户端与第二客户端之间的会话流程 包括:
10a、 第一客户端与第二客户端之间正常发送会话数据。
10b、 第一客户端发送携带第一兴趣报文的数据报文(即 Data+ Interest ) 后, 移动至别处。
10c、 第二客户端接收到携带有第一兴趣报文的数据报文后, 准备好返回 的携带第二兴趣报文的数据报文并发送出去, 使得携带第二兴趣报文的数据 报文按照路由设备的 PIT形成的反向路径返回第一客户端, 但是因为第一客 户端已移动, 携带第二兴趣报文的数据报文无法到达第一客户端。 该步骤具 体可参见图 1-图 5所示实施例的描述。
10d、 第一客户端在第一兴趣报文对应的超时时间结束后, 若还未收到第 二客户端返回的数据报文, 则重新发送第一兴趣报文。
10e、 第二客户端接收到重发的第一兴趣报文后, 准备好返回的携带第二 兴趣报文的数据报文并发送出去,使得携带第二兴趣报文的数据报文按照 PIT 形成的新的反向路径返回第一客户端, 此时第一客户端会收到携带第二兴趣 报文的数据报文。 该步骤具体可参见图 1-图 5所示实施例的描述。
在该场景下, 采用本发明实施例提供的方法, 不仅可以提高兴趣报文的 路由效率, 而且在第一客户端移动后, 第二客户端发送给第一客户端的第二 兴趣报文不需要等待全网的 FIB对第一客户端的路由信息更新好后才能到达 第一客户端, 大大降低了时延, 减少了路由额外开销。
图 10为本发明实施例提供的一种服务器与多个客户端进行会话的应用场 景示意图。 如图 10所示, 服务器通过 NDN同时与第一客户端和第二客户端 进行会话。 其中, 服务器提供的服务通过向网络注册内容名和路由信息的扩 散, 普遍存在于网络中路由设备的 FIB 中, 因此各客户端可以轻易地通过发 送兴趣报文与服务器进行通信。 由于各客户端多为临时发起的会话, 其对应 的内容名、 路由信息在全网扩散会产生较大时延, 对服务器的兴趣报文到达 客户端产生较大影响。 而本实施例中, 服务器通过在返回给客户端的数据报 文携带向客户端发送的兴趣报文, 即可通过网络中 PIT形成的反向路径 (即 服务器返回给客户端的数据报文对应的兴趣报文对应的 PIT ) 高效到达客户
在此场景下, 本发明实施例提供的方法, 对于网络中一对多的服务型会 话应用 (如电子交易会话处理) , 只有服务器端需要将其服务对应的内容名 扩散至全网路由, 客户端不需要在全网扩散其路由信息, 服务器端发向客户 端的兴趣报文可以通过被携带在数据报文中到达客户端, 大大提高了路由效 率, 减少了网络中路由设备的 FIB的大小和路由开销。
图 11为本发明实施例提供的一种转发节点的结构示意图。所述转发节点 包括 PIT; 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名以 及端口。 如图 11所示, 所述转发节点还包括: 接收模块 1101和转发处理模 块 1102。
接收模块 1 101 , 用于接收数据报文, 所述数据报文由目的设备在收到源 设备发送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文 携带有与所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点 在转发所述第一兴趣报文时根据所述第一兴趣报文匹配所述 PIT 使得所述 PIT中包括与所述第一兴趣报文对应的 PIT表项。
转发处理模块 1102, 与接收模块 1101连接, 用于当判断接收模块 1 101 接收的所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带的内容 名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向 所述源设备转发所述数据报文, 所述第二兴趣报文用于所述目的设备向所述 源设备请求内容。
进一步,转发处理模块 1102还可用于当判断所述数据报文不携带有所述 第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容 名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报 文。
在一可选实施方式中, 如图 12 所示, 所述转发节点还包括: 确定模块 1103。
确定模块 1 103, 用于根据所述第二兴趣报文中的内容名, 查询本地 CS, 确定本地 CS中是否存在所述第二兴趣报文中的内容名对应的内容。
基于确定模块 1103, 转发处理模块 1102还与确定模块 1103连接, 具 体用于如果确定模块 1103确定出本地 CS中不存在所述第二兴趣 ·^艮文中的内 容名对应的内容, 当判断所述数据报文携带有第二兴趣报文时, 将所述数据 报文中携带的内容名与所述 P IT表项中的内容名进行匹配,并根据匹配的 P IT 表项中的端口向所述源设备转发所述数据报文。
进一步,转发处理模块 1102还用于在所述将所述数据报文中携带的内容 名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向 所述源设备转发所述数据报文之前,如果确定模块 1103确定出本地 CS中存 在所述第二兴趣报文中的内容名对应的内容,将本地 CS中所述第二兴趣报文 中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去
可选的, 转发处理模块 1 102具体可用于如果确定模块 1 103确定出本地 CS中存在所述第二兴趣 ·^艮文中的内容名对应的内容, 将本地 CS中所述第二 兴趣报文中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去, 并将所述第二兴趣报文从所述数据报文中剔除, 将所述数据报文中携带的内 容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口 向所述源设备转发剔除了所述第二兴趣报文后的所述数据报文。
进一步, 如图 12所示, 所述转发节点还包括: 表项添加模块 1104。 表 项添加模块 1 104, 与接收模块 1101 连接, 用于在接收模块 1101接收到所 述数据报文且判断所述数据报文携带有所述第二兴趣报文后, 生成或更新与 所述第二兴趣报文对应的 PIT表项。
表项添加模块 1104具体可用于根据所述第二兴趣报文中的内容名,查询 所述 PIT; 如果所述 PIT中存在包括所述第二兴趣报文中的内容名的 PIT表 项, 则在包括所述第二兴趣报文中的内容名的 PIT表项中, 添加接收到所述 数据报文的端口的信息, 以更新与所述第二兴趣报文对应的 PIT表项; 如果 所述 PIT中不存在包括所述第二兴趣 ·^艮文中的内容名的 PIT表项, 则在所述 PIT 中添加包括所述第二兴趣报文中的内容名和接收到所述数据报文的端口 的信息的 PIT表项, 以生成与所述第二兴趣报文对应的 PIT表项。
进一步, 如图 12所示, 所述转发节点还包括: 表项删除模块 1105。 表
项删除模块 1 105, 与转发处理模块 1102连接, 用于在转发处理模块 1102 根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文后, 将所述匹 配的 PIT表项从所述 PIT中移除。
其中,接收模块 1101接收的所述数据报文携带的第二兴趣报文可以为一 个或多个。
在一可选实施方式中,接收模块 1101接收的所述数据报文还携带有反向 兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报文。 基于此, 转发处理模块 1102 具体可用于当通过判断所述反向兴趣标识的值判断出所 述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容名与 所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发所述数据报文。
可选的,接收模块 1 101接收的所述数据报文携带所述反向兴趣标识的方 式包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣 标识。
可选的,接收模块 1 101接收的所述数据报文携带所述第二兴趣报文的方 式包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段 中携带所述第二兴趣艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段 中携带所述第二兴趣艮文。
在一可选实施方式中, 本实施例提供的转发节点与所述源设备之间还存 在多个其他转发节点。基于此, 转发处理模块 1102具体可用于当所述转发节 点与所述源设备之间存在多个其他转发节点时, 如果断出所述数据报文携带 有所述第二兴趣报文, 将所述数据报文中携带的内容名与所述 PIT表项中的 内容名进行匹配, 根据所述匹配的 PIT表项中的端口向下一个转发节点转发 所述数据报文, 使得所述下一个转发节点收到所述数据报文后, 当判断所述
数据报文携带有第二兴趣报文时,将所述数据报文中携带的内容名与所述 PIT 表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口再向下一个转发 节点转发所述数据报文, 依次类推, 以向所述源设备转发所述数据报文。
本实施例提供的转发节点可以是 NDN中的路由器或路由节点,但不限于 此。
本实施例提供的转发节点的各功能模块可用于执行图 1、 图 4和图 5所 示方法实施例的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的转发节点, 在向目的设备转发源设备的第一兴趣报文时 根据第一兴趣报文匹配 PIT使得 PIT中包括与第一兴趣报文对应的 PIT表项, 为目的设备针对第一兴趣报文返回的数据报文提供了反向路径, 在接收到目 的设备发送的数据报文后, 通过本地 PIT 中存储的所述数据报文的反向路径 可以将数据报文和数据报文携带的反向的兴趣报文送达目的地, 使得兴趣报 文的路由不再逐跳查询 FIB, 提高了兴趣报文的路由效率。
图 13为本发明实施例提供的又一种转发节点的结构示意图。所述转发节 点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名 以及端口。 如图 13所示, 所述转发节点还包括: 接收器 1301、存储器 1302、 处理器 1303和发送器 1304。
接收器 1301 , 用于接收数据报文, 所述数据报文由目的设备在收到源设 备发送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所 述第一兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携 带有与所述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在 转发所述第一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所 述驻留信息表中包括与所述第一兴趣报文对应的 PIT表项。
存储器 1302, 用于存储程序。 具体地, 程序可以包括程序代码, 所述程 序代码包括计算机操作指令。
存储器 1302 可以包含高速 RAM 存储器, 也可以包括非易失性存储器 ( non-volatile memory ) , 例如至少一个磁盘存 4诸器。
处理器 1303, 用于执行存储器 1302存储的程序, 以用于: 判断接收器
1301接收的所述数据报文是否携带有第二兴趣报文, 以及在判断所述数据报 文携带有第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项 中的内容名进行匹配, 并向发送器 1304提供匹配的 PIT表项。所述第二兴趣 报文用于所述目的设备向所述源设备请求内容。
处理器 1303可以是一个中央处理器(Central Processing Unit, 筒称为 CPU ) , 或者是特定集成电路 ( Application Specific Integrated Circuit, 筒称 为 ASIC ) , 或者是被配置成实施本发明实施例的一个或多个集成电路。
发送器 1304, 用于根据处理器 1303提供的所述匹配的 PIT表项中的端 口向所述源设备转发所述数据报文。
在一可选实施方式中,处理器 1303还用于当判断所述数据报文不携带有 所述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的 内容名进行匹配, 并向发送器 1304提供所述匹配的 PIT表项。 基于此, 发送 器 1304还用于在所述数据报文不携带有所述第二兴趣报文时,在处理器 1303 的控制下, 根据所述匹配的 PIT表项中的端口向所述源设备转发所述数据报 文。
在一可选实施方式中,处理器 1303还用于根据所述第二兴趣 ·^艮文中的内 容名, 查询本地存储表 CS, 确定本地 CS中是否存在所述第二兴趣 ·^艮文中的 内容名对应的内容。 基于此, 处理器 1303具体可用于如果确定出本地 CS中 不存在所述第二兴趣报文中的内容名对应的内容, 当判断所述数据报文携带 有第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内 容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据 报文。
进一步可选的, 发送器 1304还用于在根据处理器 1303提供的所述匹配 的 PIT表项中的端口向所述源设备转发所述数据报文之前, 如果处理器 1303 确定出本地 CS中存在所述第二兴趣 4艮文中的内容名对应的内容, 将本地 CS 中所述第二兴趣报文中的内容名对应的内容, 通过接收到所述数据报文的端 口发送出去。
进一步,处理器 1303具体可用于如果确定出本地 CS中存在所述第二兴
趣报文中的内容名对应的内容,控制发送器 1304将本地 CS中所述第二兴趣 报文中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去, 并 将所述第二兴趣报文从所述数据报文中剔除,并控制发送器 1304根据所述匹 配的 PIT表项中的端口向所述源设备转发剔除了所述第二兴趣报文后的所述 数据报文。
相应的, 发送器 1304还用于在处理器 1303确定出本地 CS中存在所述 第二兴趣 _t艮文中的内容名对应的内容时, 在处理器 1303 的控制下, 将本地 CS中所述第二兴趣报文中的内容名对应的内容,通过接收到所述数据报文的 端口发送出去, 并根据所述匹配的 PIT表项中的端口向所述源设备转发剔除 了所述第二兴趣报文后的所述数据报文。
在一可选实施方式中, 处理器 1303还可用于在接收器 1301接收到所述 数据报文且判断所述数据报文携带有所述第二兴趣报文后, 生成或更新与所 述第二兴趣报文对应的 P IT表项。
其中, 处理器 1303具体用于根据所述第二兴趣报文中的内容名, 查询所 述 PIT; 如果所述 PIT中存在包括所述第二兴趣报文中的内容名的 PIT表项, 则在包括所述第二兴趣报文中的内容名的 PIT表项中, 添加接收到所述数据 报文的端口的信息, 以更新与所述第二兴趣报文对应的 PIT表项; 如果所述 PIT 中不存在包括所述第二兴趣报文中的内容名的 PIT表项, 则在所述 PIT 中添加包括所述第二兴趣报文中的内容名和接收到所述数据报文的端口的信 息的 PIT表项, 以生成与所述第二兴趣报文对应的 PIT表项。
在一可选实施方式中, 处理器 1303还可用于在发送器 1304根据所述匹 配的 PIT表项中的端口向所述源设备转发所述数据报文后,将所述匹配的 PIT 表项从所述驻留信息表中移除。
可选的,接收器 1301接收的所述数据报文携带的第二兴趣报文可以是一 个或多个。
在一可选实方式中, 所述数据报文还携带有反向兴趣标识, 用于标识所 述数据报文是否携带有所述第二兴趣报文。基于此, 处理器 1303具体可用于 当通过判断所述反向兴趣标识的值判断出所述数据报文携带有所述第二兴趣
报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹 配, 并向发送器 1304提供所述匹配中的 PIT表项。
可选的,接收器 1301接收的所述数据报文携带所述反向兴趣标识的方式 包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣 标识。
可选的,接收器 1301接收的所述数据报文携带所述第二兴趣报文的方式 包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段 中携带所述第二兴趣 ·^艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段 中携带所述第二兴趣 ·^艮文。
在一可选实施方式中, 本实施例提供的转发节点与所述源设备之间存在 多个其他转发节点。则处理器 1303具体可用于当所述转发节点与所述源设备 之间存在多个其他转发节点时, 如果断出所述数据报文携带有所述第二兴趣 报文, 将所述数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 向发送器 1304提供所述匹配的 PIT表, 以使发送器 1304根据所述匹配的 PIT表项中的端口向下一个转发节点转发所述数据报文,使得所述下一个转发 节点收到所述数据报文后, 当判断所述数据报文携带有第二兴趣报文时, 将 所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据 匹配的 PIT表项中的端口再向下一个转发节点转发所述数据报文, 依次类推, 以向所述源设备转发所述数据报文。
可选的, 在具体实现上, 如果接收器 1301、 存储器 1302、 处理器 1303 和发送器 1304独立实现, 则接收器 1301、 存储器 1302、 处理器 1303和发 送器 1304可以通过总线相互连接并完成相互间的通信。所述总线可以是工业 标准体系结构 ( Industry Standard Architecture, 筒称为 ISA )总线、 外部设 备互连(Peripheral Component, 筒称为 PCI ) 总线或扩展工业标准体系结
构 ( Extended Industry Standard Architecture, 筒称为 EISA )总线等。 所述 总线可以分为地址总线、 数据总线、 控制总线等。 为便于表示, 图 13中仅用 一条粗线表示, 但并不表示仅有一根总线或一种类型的总线。
可选的, 在具体实现上, 如果接收器 1301、 存储器 1302、 处理器 1303 和发送器 1304集成在一块芯片上实现, 则接收器 1301、 存储器 1302、 处理 器 1303和发送器 1304可以通过内部接口完成相同间的通信。
本实施例提供的转发节点可以是 NDN中的路由器或路由节点,但不限于 此。
本实施例提供的转发节点可用于执行图 1、 图 4和图 5所示方法实施例 的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的转发节点, 在向目的设备转发源设备的第一兴趣报文时 根据第一兴趣报文匹配 PIT使得 PIT中包括与第一兴趣报文对应的 PIT表项, 为目的设备针对第一兴趣报文返回的数据报文提供了反向路径, 在接收到目 的设备发送的数据报文后, 通过本地 PIT 中存储的所述数据报文的反向路径 可以将数据报文和数据报文携带的反向的兴趣报文送达目的地, 使得兴趣报 文的路由不再逐跳查询 FIB, 提高了兴趣报文的路由效率。
图 14为本发明实施例提供的一种终端设备的结构示意图。如图 14所示, 所述终端设备包括: 生成模块 1401、 添加模块 1402和发送模块 1403。
生成模块 1401 , 用于根据接收的第一兴趣报文, 生成数据报文。 所述第 一兴趣报文是源设备通过转发节点转发的, 用于所述源设备向所述终端设备 请求内容; 其中, 所述转发节点包括 PIT, 所述 PIT包括一个或多个 PIT表 项, 每个 PIT表项包括内容名以及端口, 且所述转发节点在转发所述第一兴 趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表中 包括与所述第一兴趣报文对应的 PIT表项。
添加模块 1402,与生成模块 1401连接,用于在确定需要在生成模块 1401 生成的所述数据报文中携带发往所述源设备的第二兴趣报文时, 在所述数据 报文中携带所述第二兴趣报文, 所述第二兴趣报文用于所述终端设备向所述 源设备请求内容。
发送模块 1403, 与添加模块 1402连接, 用于向所述转发节点发送所述 数据报文, 使得所述转发节点在判断所述数据报文携带有所述第二兴趣报文 时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
在一可选实施方式中,添加模块 1402还用于在确定需要在所述数据报文 中携带发往所述源设备的第二兴趣报文时, 在所述数据报文中携带反向兴趣 标识, 并设置所述反向兴趣标识的值为用于标识所述数据报文携带有所述第 二兴趣报文的值, 所述反向兴趣标识用于标识所述数据报文是否携带有所述 第二兴趣报文。
可选的, 所述数据报文携带的第二兴趣报文可以是一个或多个。
可选的,添加模块 1402用于在所述数据报文中携带反向兴趣标识,包括: 添加模块 1402具体可用于在所述数据报文的数字签名信息字段中,携带 所述反向兴趣标识。 或者, 添加模块 1402具体可用于在所述数据报文中新增 第一字段, 在所述第一字段中携带所述反向兴趣标识。
可选的,添加模块 1402用于在所述数据报文中所述第二兴趣报文,包括: 添加模块 1402 具体可用于在所述数据报文中的数据载荷字段之前新增 第二字段, 在所述第二字段中携带所述第二兴趣报文。 或者, 添加模块 1402 具体可用于在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第 三字段中携带所述第二兴趣报文。
本实施例提供的终端设备可以作为上述实施例中的目的设备, 可以是 NDN中的终端设备。
本实施例提供的终端设备的各功能模块可用于执行图 6和图 7所示方法 实施例的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的终端设备, 在根据源设备发送的第一兴趣报文, 向源设 备返回数据报文时, 通过在所述数据报文中携带发往源设备的第二兴趣报文, 使得网络中的转发节点能够基于 PIT 中与所述数据报文中携带的内容名匹配 的 PIT表项中的端口, 同时向源设备转发数据报文和第二兴趣报文, 为提高 信息为中心网络中兴趣报文的送达的效率, 降低转发节点的处理开销, 减小
数据交互时延提供了条件。
图 15为本发明实施例提供的另一种终端设备的结构示意图。 如图 15所 示, 所述终端设备包括: 接收器 1501、 存储器 1502、 处理器 1503和发送器 1504。
接收器 1501 , 用于接收第一兴趣报文。 所述第一兴趣报文是源设备通过 转发节点转发的, 用于所述源设备向所述终端设备请求内容; 其中, 所述转 发节点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内 容名以及端口, 且所述转发节点在转发所述第一兴趣报文时根据所述第一兴 趣报文匹配所述驻留信息表使得所述驻留信息表中包括与所述第一兴趣报文 对应的 PIT表项。
存储器 1502, 用于存储程序。 具体的, 具体地, 程序可以包括程序代码, 所述程序代码包括计算机操作指令。
存储器 1502 可以包含高速 RAM 存储器, 也可以包括非易失性存储器 ( non-volatile memory ) , 例如至少一个磁盘存 4诸器。
处理器 1503, 用于执行存储器 1502存储的程序, 以用于: 根据接收器 1501接收的第一兴趣报文, 生成数据报文, 在确定需要在所述数据报文中携 带发往所述源设备的第二兴趣报文时, 在所述数据报文中携带所述第二兴趣 报文, 所述第二兴趣报文用于所述终端设备向所述源设备请求内容。
处理器 1503可以是一个 CPU , 或者是特定 ASIC, 或者是被配置成实施 本发明实施例的一个或多个集成电路。
发送器 1504, 用于向所述转发节点发送所述数据报文, 使得所述转发节 点在判断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带 的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的 端口向所述源设备转发所述数据报文。
在一可选实施方式中,处理器 1503还用于在确定需要在所述数据报文中 携带发往所述源设备的第二兴趣报文时, 在所述数据报文中携带反向兴趣标 识, 并设置所述反向兴趣标识的值为用于标识所述数据报文携带有所述第二 兴趣报文的值, 所述反向兴趣标识用于标识所述数据报文是否携带有所述第
二兴趣报文。
可选的, 所述数据报文携带的第二兴趣报文可以是一个或多个。
可选的, 处理器 1503用于在所述数据报文中携带反向兴趣标识, 包括: 处理器 1503具体可用于在所述数据报文的数字签名信息字段中,携带所 述反向兴趣标识。 或者, 处理器 1503具体可用于在所述数据报文中新增第一 字段, 在所述第一字段中携带所述反向兴趣标识。
可选的, 处理器 1503用于在所述数据报文中所述第二兴趣报文, 包括: 处理器 1503 具体可用于在所述数据报文中的数据载荷字段之前新增第 二字段, 在所述第二字段中携带所述第二兴趣报文。 或者, 处理器 1503具体 可用于在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字 段中携带所述第二兴趣报文。
可选的, 在具体实现上, 如果接收器 1501、 存储器 1502、 处理器 1503 和发送器 1504独立实现, 则接收器 1501、 存储器 1502、 处理器 1503和发 送器 1504可以通过总线相互连接并完成相互间的通信。 所述总线可以是 ISA 总线、 PCI总线或 EISA总线等。 所述总线可以分为地址总线、 数据总线、 控 制总线等。 为便于表示, 图 15中仅用一条粗线表示, 但并不表示仅有一根总 线或一种类型的总线。
可选的, 在具体实现上, 如果接收器 1501、 存储器 1502、 处理器 1503 和发送器 1504集成在一块芯片上实现, 则接收器 1501、 存储器 1502、 处理 器 1503和发送器 1504可以通过内部接口完成相同间的通信。
可选的, 如图 15所示, 本实施例提供的终端设备除了包括接收器 1501、 存储器 1502、 处理器 1503和发送器 1504之外, 还可以包括显示器 1505、 鼠标 1506、 键盘 1507等***设备。 显示器 1505、 鼠标 1506、 键盘 1507 等***设备通过输入输出 (Input/Output, 筒称为 I/O )接口 1508与处理器 1503连接。
本实施例提供的终端设备可以作为上述实施例中的目的设备, 可以是 NDN中的终端设备。
本实施例提供的终端设备可用于执行图 6和图 7所示方法实施例的流程,
其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的终端设备, 在根据源设备发送的第一兴趣报文, 向源设 备返回数据报文时, 通过在所述数据报文中携带发往源设备的第二兴趣报文, 使得网络中的转发节点能够基于 PIT 中与所述数据报文中携带的内容名匹配 的 PIT表项中的端口, 同时向源设备转发数据报文和第二兴趣报文, 为提高 信息为中心网络中兴趣报文的送达的效率, 降低转发节点的处理开销, 减小 数据交互时延提供了条件。
图 16为本发明实施例提供的又一种终端设备的结构示意图。 如图 16所 示, 所述终端设备包括: 接收模块 1601、 生成模块 1602和发送模块 1603。
接收模块 1601 , 用于接收第一数据报文。 所述第一数据报文是目的设备 根据所述终端设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一 兴趣报文用于所述终端设备向所述目的设备请求内容; 所述转发节点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所述转发节点在接收到所述第一数据报文且判断所述第一数据报文携带有第 二兴趣报文后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二 兴趣报文用于所述目的设备向所述终端设备请求内容。
生成模块 1602, 与接收模块 1601连接, 用于判断所述第一数据报文携 带有所述第二兴趣报文时, 从所述第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二数据报文, 所述第二数据报文携带有与所 述第二兴趣报文请求内容的内容名相同的内容名。
发送模块 1603, 与生成模块 1602连接, 用于向所述转发节点发送所述 第二数据报文, 使得所述转发节点将所述第二数据报文中携带的内容名与所 述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述目 的设备转发所述第二数据报文。
在一可选实施方式中, 如图 17所示, 所述终端设备还包括: 内容处理模 块 1604。
内容处理模块 1604, 与接收模块 1601 连接, 用于从接收模块 1601接 收的所述第一数据报文中, 获取第一兴趣报文请求的内容, 并对所述内容进
行处理。
在一可选实施方式中, 所述第一数据报文还携带有反向兴趣标识, 用于 标识所述第一数据报文是否携带有所述第二兴趣报文。基于此,生成模块 1602 具体用于当通过判断所述反向兴趣标识的值判断出所述第一数据报文携带有 所述第二兴趣报文时, 从所述第一数据报文中获取所述第二兴趣报文, 根据 所述第二兴趣报文, 生成所述第二数据报文。
可选的, 所述第一数据报文携带的兴趣报文可以是一个或多个。 中的终端设备。
本实施例提供的终端设备的各功能模块可用于执行图 8所示方法实施例 的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的终端设备, 通过对目的设备根据源设备的第一兴趣报文 而返回的第一数据报文进行判断, 并在判断出第一数据报文携带有第二兴趣 报文时, 从第一数据报文中获取所携带的第二兴趣报文, 并根据获取的第二 兴趣报文进行处理, 为提高信息为中心网络中兴趣报文的送达的效率, 降低 转发节点的处理开销, 减小数据交互时等延提供了支持。
图 18为本发明实施例提供的又一种终端设备的结构示意图。 如图 18所 示, 所述终端设备包括: 接收器 1801、 存储器 1802、 处理器 1803和发送器 1804。
接收器 1801 , 用于接收第一数据报文。 所述第一数据报文是目的设备根 据所述终端设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴 趣报文用于所述终端设备向所述目的设备请求内容; 所述转发节点包括 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所述 转发节点在接收到所述第一数据报文且判断所述第一数据报文携带有第二兴 趣报文后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二兴趣 报文用于所述目的设备向所述终端设备请求内容。
存储器 1802, 用于存储程序。 具体的, 具体地, 程序可以包括程序代码, 所述程序代码包括计算机操作指令。
存储器 1802 可以包含高速 RAM 存储器, 也可以包括非易失性存储器 ( non-volatile memory ) , 例如至少一个磁盘存 4诸器。
处理器 1803, 用于执行存储器 1802存储的程序, 以用于: 判断所述第 一数据报文携带有所述第二兴趣报文时, 从所述第一数据报文中获取所述第 二兴趣报文, 根据所述第二兴趣报文, 生成第二数据报文, 所述第二数据报 文携带有与所述第二兴趣报文请求内容的内容名相同的内容名。
处理器 1803可以是一个 CPU , 或者是特定 ASIC, 或者是被配置成实施 本发明实施例的一个或多个集成电路。
发送器 1804, 用于向所述转发节点发送所述第二数据报文, 使得所述转 发节点将所述第二数据报文中携带的内容名与所述 PIT表项中的内容名进行 匹配, 并根据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报 文。
在一可选实施方式中, 所述第一数据报文还携带有反向兴趣标识, 用于 标识所述第一数据报文是否携带有所述第二兴趣报文。 基于此, 处理器 1803 具体可用于当通过判断所述反向兴趣标识的值判断出所述第一数据报文携带 有所述第二兴趣报文时, 从所述第一数据报文中获取所述第二兴趣报文, 根 据所述第二兴趣报文, 生成所述第二数据报文。
在一可选实施方式中, 处理器 1803还用于从所述第一数据报文中, 获取 所述第一兴趣 4艮文请求的内容, 并对所述内容进行处理。
可选的, 所述第一数据报文携带的兴趣报文可以是一个或多个。
可选的, 在具体实现上, 如果接收器 1801、 存储器 1802、 处理器 1803 和发送器 1804独立实现, 则接收器 1801、 存储器 1802、 处理器 1803和发 送器 1804可以通过总线相互连接并完成相互间的通信。 所述总线可以是 ISA 总线、 PCI总线或 EISA总线等。 所述总线可以分为地址总线、 数据总线、 控 制总线等。 为便于表示, 图 18中仅用一条粗线表示, 但并不表示仅有一根总 线或一种类型的总线。
可选的, 在具体实现上, 如果接收器 1801、 存储器 1802、 处理器 1803 和发送器 1804集成在一块芯片上实现, 则接收器 1801、 存储器 1802、 处理
器 1803和发送器 1804可以通过内部接口完成相同间的通信。
可选的, 如图 18所示, 本实施例提供的终端设备除了包括接收器 1801、 存储器 1802、 处理器 1803和发送器 1804之外, 还可以包括显示器 1805、 鼠标 1806、 键盘 1807等***设备。 显示器 1805、 鼠标 1806、 键盘 1807 等***设备通过 I/O接口 1808与处理器 1803连接。 中的终端设备。
本实施例提供的终端设备的各功能模块可用于执行图 8所示方法实施例 的流程, 其具体工作原理不再赘述, 详见方法实施例的描述。
本实施例提供的终端设备, 通过对目的设备根据源设备的第一兴趣报文 而返回的第一数据报文进行判断, 并在判断出第一数据报文携带有第二兴趣 报文时, 从第一数据报文中获取所携带的第二兴趣报文, 并根据获取的第二 兴趣报文进行处理, 为提高信息为中心网络中兴趣报文的送达的效率, 降低 转发节点的处理开销, 减小数据交互时等延提供了支持。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算机可 读取存储介质中。 所述程序在执行时, 执行包括上述各方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM , 磁碟或者光盘等各种可以存储程序代 码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims
1、 一种报文处理方法, 其特征在于, 应用于信息为中心的网络 ICN中的转 发节点,所述转发节点包括驻留信息表 PIT,所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名以及端口, 所述方法包括:
所述转发节点接收数据报文, 所述数据报文是由目的设备在收到源设备发 送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一 兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有与所 述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发所述第 一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表 中包括与所述第一兴趣报文对应的 PIT表项;
当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带的内 容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向 所述源设备转发所述数据报文, 所述第二兴趣报文用于所述目的设备向所述源 设备请求内容。
2、 根据权利要求 1所述的方法, 其特征在于, 还包括:
当判断所述数据报文携带有所述第二兴趣报文时, 且将所述数据报文中携 带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的 端口向所述源设备转发所述数据报文之前:
根据所述第二兴趣报文中的内容名, 查询本地存储表 CS, 确定本地 CS中 不存在所述第二兴趣 ·^艮文中的内容名对应的内容。
3、 根据权利要求 2所述的方法, 其特征在于, 还包括:
在所述将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹 配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文之前, 如 果确定本地 CS中存在所述第二兴趣 ·^艮文中的内容名对应的内容, 则将本地 CS 中所述第二兴趣报文中的内容名对应的内容, 通过接收到所述数据报文的端口 发送出去。
4、 根据权利要求 3所述的方法, 其特征在于, 所述将本地 CS中所述第二 兴趣报文中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去,
并将所述数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 并根 据匹配的 PIT表项中的端口向所述源设备转发所述数据报文包括:
将本地 CS中所述第二兴趣报文中的内容名对应的内容,通过接收到所述数 据报文的端口发送出去, 并将所述第二兴趣报文从所述数据报文中剔除, 将所 述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配 的 PIT表项中的端口向所述源设备转发剔除了所述第二兴趣报文后的所述数据 报文。
5、 根据权利要求 1-4任一所述的方法, 其特征在于, 还包括:
在接收到所述数据报文且判断所述数据报文携带有所述第二兴趣报文后, 生成或更新与所述第二兴趣 4艮文对应的 PIT表项。
6、 根据权利要求 5所述的方法, 其特征在于, 所述生成或更新与所述第二 兴趣报文对应的 PIT表项包括:
根据所述第二兴趣报文中的内容名, 查询所述驻留信息表;
如果所述驻留信息表中存在包括所述第二兴趣报文中的内容名的 PIT表项, 在包括所述第二兴趣报文中的内容名的 PIT表项中, 添加接收到所述数据报文 的端口的信息, 以更新与所述第二兴趣报文对应的 PIT表项;
如果所述驻留信息表中不存在包括所述第二兴趣报文中的内容名的 PIT表 项, 则在所述驻留信息表中添加包括所述第二兴趣报文中的内容名和接收到所 述数据报文的端口的信息的 PIT表项, 以生成与所述第二兴趣报文对应的 PIT 表项。
7、 根据权利要求 1-6任一所述的方法, 其特征在于, 还包括:
当判断所述数据报文不携带有所述第二兴趣报文时, 将所述数据报文中携 带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的 端口向所述源设备转发所述数据报文。
8、 根据权利要求 1-7任一所述的方法, 其特征在于, 还包括:
在所述根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文后, 将所述匹配的 PIT表项从所述驻留信息表中移除。
9、 根据权利要求 1 -8任一所述的方法, 其特征在于, 所述第二兴趣报文为
一个或多个。
10、 根据权利要求 1-9任一所述的方法, 其特征在于, 所述数据报文还携 带有反向兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报文; 所述当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带 的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端 口向所述源设备转发所述数据报文包括:
当通过判断所述反向兴趣标识的值判断出所述数据报文携带有所述第二兴 趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹 配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
11、 根据权利要求 10所述的方法, 其特征在于, 所述数据报文携带所述反 向兴趣标识的方式包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣标 识。
12、 根据权利要求 1 -11任一所述的方法, 其特征在于, 所述数据报文携带 所述第二兴趣艮文的方式包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段中 携带所述第二兴趣艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段中 携带所述第二兴趣报文。
13、 根据权利要求 1 -12任一所述的方法, 其特征在于, 当所述转发节点与 所述源设备之间存在多个其他转发节点时, 所述根据匹配的 PIT表项中的端口 向所述源设备转发所述数据报文包括:
根据所述匹配的 PIT表项中的端口向下一个转发节点转发所述数据报文, 使得所述下一个转发节点收到所述数据报文后, 当判断所述数据报文携带有所 述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容 名进行匹配, 并根据匹配的 PIT表项中的端口再向下一个转发节点转发所述数 据报文, 依次类推, 以向所述源设备转发所述数据报文。
14、 一种报文处理方法, 其特征在于, 包括:
目的设备根据接收的第一兴趣报文, 生成数据报文, 所述第一兴趣报文是 源设备通过转发节点转发的, 用于所述源设备向所述目的设备请求内容; 其中, 所述转发节点包括驻留信息表 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名以及端口,且所述转发节点在转发所述第一兴趣报文时根据 所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表中包括与所述第一 兴趣报文对应的 P IT表项;
所述目的设备在确定需要在所述数据报文中携带发往所述源设备的第二兴 趣报文时, 在所述数据报文中携带所述第二兴趣报文, 所述第二兴趣报文用于 所述目的设备向所述源设备请求内容;
所述目的设备向所述转发节点发送所述数据报文, 使得所述转发节点在判 断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容名 与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述 源设备转发所述数据报文。
15、 根据权利要求 14所述的方法, 其特征在于, 还包括:
所述目的设备在确定需要在所述数据报文中携带发往所述源设备的第二兴 趣报文时, 在所述数据报文中携带反向兴趣标识, 并设置所述反向兴趣标识的 值为用于标识所述数据报文携带有所述第二兴趣报文的值, 所述反向兴趣标识 用于标识所述数据报文是否携带有所述第二兴趣报文。
16、 根据权利要求 14或 15所述的方法, 其特征在于, 所述第二兴趣报文 为一个或多个。
17、 根据权利要求 15或 16所述的方法, 其特征在于, 所述目的设备在所 述数据报文中携带反向兴趣标识, 包括:
所述目的设备在所述数据报文的数字签名信息字段中, 携带所述反向兴趣 标识 ^ 或者
所述目的设备在所述数据报文中新增第一字段, 在所述第一字段中携带所 述反向兴趣标识。
18、 根据权利要求 14-17任一所述的方法, 其特征在于, 所述目的设备在
所述数据报文中携带所述第二兴趣报文, 包括:
所述目的设备在所述数据报文中的数据载荷字段之前新增第二字段, 在所 述第二字段中携带所述第二兴趣报文; 或者
所述目的设备在所述数据报文中的数据载荷字段之后新增第三字段, 在所 述第三字段中携带所述第二兴趣报文。
19、 一种报文处理方法, 其特征在于, 包括:
源设备接收第一数据报文, 所述第一数据报文是目的设备根据所述源设备 的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣报文用于所述源 设备向所述目的设备请求内容; 所述转发节点包括驻留信息表 PIT, 所述 PIT 包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所述转发节点在 接收到所述第一数据报文且判断所述第一数据报文携带有第二兴趣报文后, 生 成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二兴趣报文用于所述目 的设备向所述源设备请求内容;
所述源设备判断所述第一数据报文携带有所述第二兴趣报文时, 从所述第 一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二数据 报文, 所述第二数据报文携带有与所述第二兴趣报文请求内容的内容名相同的 内容名;
所述源设备向所述转发节点发送所述第二数据报文, 使得所述转发节点将 所述第二数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根 据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报文。
20、 根据权利要求 19所述的方法, 其特征在于, 所述第一数据报文还携带 有反向兴趣标识, 用于标识所述第一数据报文是否携带有所述第二兴趣报文; 所述源设备在判断所述第一数据报文携带有所述第二兴趣报文时, 从所述 第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二数 据报文包括:
当通过判断所述反向兴趣标识的值判断出所述第一数据报文携带有所述第 二兴趣报文时, 所述源设备从所述第一数据报文中获取所述第二兴趣报文, 根 据所述第二兴趣报文, 生成所述第二数据报文。
21、 根据权利要求 19或 20所述的方法, 其特征在于, 还包括: 从所述第一数据报文中, 获取所述第一兴趣报文请求的内容, 并对所述内 容进行处理。
22、 根据权利要求 19-21 任一所述的方法, 其特征在于, 所述第二兴趣报 文为一个或多个。
23、 一种转发节点, 其特征在于, 包括驻留信息表 PIT, 所述 PIT 包括一 个或多个 PIT表项, 每个 PIT表项包括内容名以及端口; 所述转发节点还包括: 接收模块, 用于接收数据报文, 所述数据报文由目的设备在收到源设备发 送且经由所述转发节点转发的第一兴趣报文后生成并发送的, 其中, 所述第一 兴趣报文用于所述源设备向所述目的设备请求内容, 所述数据报文携带有与所 述第一兴趣报文请求内容的内容名相同的内容名, 所述转发节点在转发所述第 一兴趣报文时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表 中包括与所述第一兴趣报文对应的 PIT表项;
转发处理模块, 用于当判断所述数据报文携带有第二兴趣报文时, 将所述 数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文,所述第二兴趣报文用于所述 目的设备向所述源设备请求内容。
24、 根据权利要求 23所述的转发节点, 其特征在于, 还包括:
确定模块, 用于根据所述第二兴趣报文中的内容名, 查询本地存储表 CS, 确定本地 CS中是否存在所述第二兴趣报文中的内容名对应的内容;
所述转发处理模块具体用于如果所述确定模块确定出本地 CS 中不存在所 述第二兴趣报文中的内容名对应的内容, 当判断所述数据报文携带有第二兴趣 报文时, 将所述数据报文中携带的内容名与所述 P IT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
25、 根据权利要求 24所述的转发节点, 其特征在于,
所述转发处理模块还用于在将所述数据报文中携带的内容名与所述 PIT表 项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述源设备转发所 述数据报文之前,如果所述确定模块确定出本地 CS中存在所述第二兴趣报文中
的内容名对应的内容, 将本地 CS中所述第二兴趣 ·^艮文中的内容名对应的内容, 通过接收到所述数据报文的端口发送出去。
26、 根据权利要求 25所述的转发节点, 其特征在于, 所述转发处理模块具 体用于如果所述确定模块确定出本地 CS 中存在所述第二兴趣 ·^艮文中的内容名 对应的内容,将本地 CS中所述第二兴趣 ·^艮文中的内容名对应的内容,通过接收 到所述数据报文的端口发送出去, 并将所述第二兴趣报文从所述数据报文中剔 除, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并 根据匹配的 PIT表项中的端口向所述源设备转发剔除了所述第二兴趣报文后的 所述数据报文。
27、 根据权利要求 23-26任一所述的转发节点, 其特征在于,
表项添加模块, 用于在接收到所述数据报文且判断所述数据报文携带有所 述第二兴趣报文后, 生成或更新与所述第二兴趣报文对应的 PIT表项。
28、 根据权利要求 27所述的转发节点, 其特征在于, 所述表项添加模块具 体用于根据所述第二兴趣报文中的内容名, 查询所述驻留信息表; 如果所述驻 留信息表中存在包括所述第二兴趣报文中的内容名的 PIT表项, 则在包括所述 第二兴趣报文中的内容名的 PIT表项中, 添加接收到所述数据报文的端口的信 息, 以更新与所述第二兴趣报文对应的 PIT表项; 如果所述驻留信息表中不存 在包括所述第二兴趣报文中的内容名的 PIT表项, 则在所述驻留信息表中添加 包括所述第二兴趣报文中的内容名和接收到所述数据报文的端口的信息的 PIT 表项, 以生成与所述第二兴趣 4艮文对应的 P IT表项。
29、 根据权利要求 23-28任一所述的转发节点, 其特征在于,
所述转发处理模块还用于当判断所述数据报文不携带有所述第二兴趣报文 时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并 根据匹配的 PIT表项中的端口向所述源设备转发所述数据报文。
30、 根据权利要求 23-29任一所述的转发节点, 其特征在于, 还包括: 表项删除模块, 用于在所述转发处理模块根据匹配的 PIT表项中的端口向 所述源设备转发所述数据报文后, 将所述匹配的 PIT表项从所述驻留信息表中 移除。
31、 根据权利要求 23-30任一所述的转发节点, 其特征在于, 所述第二兴 趣 4艮文为一个或多个。
32、 根据权利要求 23-31 任一所述的转发节点, 其特征在于, 所述数据报 文还携带有反向兴趣标识, 用于标识所述数据报文是否携带有所述第二兴趣报 文;
所述转发处理模块具体用于当通过判断所述反向兴趣标识的值判断出所述 数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配 ,并根据匹配的 PIT表项中的端口向所述源设备转 发所述数据报文。
33、 根据权利要求 32所述的转发节点, 其特征在于, 所述数据报文携带所 述反向兴趣标识的方式包括:
在所述数据报文的数字签名信息字段中, 携带所述反向兴趣标识; 或者 在所述数据报文中新增第一字段, 在所述第一字段中携带所述反向兴趣标 识。
34、 根据权利要求 23-33任一所述的转发节点, 其特征在于, 所述数据报 文携带所述第二兴趣 ·^艮文的方式包括:
在所述数据报文中的数据载荷字段之前新增第二字段, 在所述第二字段中 携带所述第二兴趣 ·^艮文; 或者
在所述数据报文中的数据载荷字段之后新增第三字段, 在所述第三字段中 携带所述第二兴趣报文。
35、 根据权利要求 23-34任一所述的转发节点, 其特征在于, 所述转发处 理模块具体用于当所述转发节点与所述源设备之间存在多个其他转发节点时, 如果断出所述数据报文携带有所述第二兴趣报文, 将所述数据报文中携带的内 容名与所述 PIT表项中的内容名进行匹配, 根据所述匹配的 PIT表项中的端口 向下一个转发节点转发所述数据报文, 使得所述下一个转发节点收到所述数据 报文后, 当判断所述数据报文携带有第二兴趣报文时, 将所述数据报文中携带 的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端 口再向下一个转发节点转发所述数据报文, 依次类推, 以向所述源设备转发所
述数据报文。
36、 一种终端设备, 其特征在于, 包括:
生成模块, 用于根据接收的第一兴趣报文, 生成数据报文, 所述第一兴趣 报文是源设备通过转发节点转发的, 用于所述源设备向所述终端设备请求内容; 其中, 所述转发节点包括驻留信息表 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名以及端口, 且所述转发节点在转发所述第一兴趣报文 时根据所述第一兴趣报文匹配所述驻留信息表使得所述驻留信息表中包括与所 述第一兴趣报文对应的 P IT表项;
添加模块, 用于在确定需要在所述数据报文中携带发往所述源设备的第二 兴趣报文时, 在所述数据报文中携带所述第二兴趣报文, 所述第二兴趣报文用 于所述终端设备向所述源设备请求内容;
发送模块, 用于向所述转发节点发送所述数据报文, 使得所述转发节点在 判断所述数据报文携带有所述第二兴趣报文时, 将所述数据报文中携带的内容 名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所 述源设备转发所述数据报文。
37、 根据权利要求 36所述的终端设备, 其特征在于,
所述添加模块还用于在确定需要在所述数据报文中携带发往所述源设备的 第二兴趣报文时, 在所述数据报文中携带反向兴趣标识, 并设置所述反向兴趣 标识的值为用于标识所述数据报文携带有所述第二兴趣报文的值, 所述反向兴 趣标识用于标识所述数据报文是否携带有所述第二兴趣报文。
38、 根据权利要求 36或 37所述的终端设备, 其特征在于, 所述第二兴趣 4艮文为一个或多个。
39、 根据权利要求 37或 38所述的终端设备, 其特征在于, 所述添加模块 用于在所述数据报文中携带反向兴趣标识, 包括:
所述添加模块具体用于在所述数据报文的数字签名信息字段中, 携带所述 反向兴趣标识; 或者
所述添加模块具体用于在所述数据报文中新增第一字段, 在所述第一字段 中携带所述反向兴趣标识。
40、 根据权利要求 36-39任一所述的终端设备, 其特征在于, 所述添加模 块用于在所述数据报文中携带所述第二兴趣报文, 包括:
所述添加模块具体用于在所述数据报文中的数据载荷字段之前新增第二字 段, 在所述第二字段中携带所述第二兴趣报文; 或者
所述添加模块具体用于在所述数据报文中的数据载荷字段之后新增第三字 段, 在所述第三字段中携带所述第二兴趣报文。
41、 一种终端设备, 其特征在于, 包括:
接收模块, 用于接收第一数据报文, 所述第一数据报文是目的设备根据所 述终端设备的第一兴趣报文生成, 并通过转发节点转发的, 所述第一兴趣报文 用于所述终端设备向所述目的设备请求内容; 所述转发节点包括驻留信息表 PIT, 所述 PIT包括一个或多个 PIT表项, 每个 PIT表项包括内容名和端口; 所 述转发节点在接收到所述第一数据报文且判断所述第一数据报文携带有第二兴 趣报文后, 生成或更新与所述第二兴趣报文对应的 PIT表项; 所述第二兴趣报 文用于所述目的设备向所述终端设备请求内容;
生成模块, 用于判断所述第一数据报文携带有所述第二兴趣报文时, 从所 述第一数据报文中获取所述第二兴趣报文, 根据所述第二兴趣报文, 生成第二 数据报文, 所述第二数据报文携带有与所述第二兴趣报文请求内容的内容名相 同的内容名;
发送模块, 用于向所述转发节点发送所述第二数据报文, 使得所述转发节 点将所述第二数据报文中携带的内容名与所述 PIT表项中的内容名进行匹配, 并根据匹配的 PIT表项中的端口向所述目的设备转发所述第二数据报文。
42、 根据权利要求 41所述的终端设备, 其特征在于, 所述第一数据报文还 携带有反向兴趣标识, 用于标识所述第一数据报文是否携带有所述第二兴趣报 文;
所述生成模块具体用于当通过判断所述反向兴趣标识的值判断出所述第一 数据报文携带有所述第二兴趣报文时, 从所述第一数据报文中获取所述第二兴 趣报文, 根据所述第二兴趣报文, 生成所述第二数据报文。
43、 根据权利要求 41或 42所述的终端设备, 其特征在于, 还包括:
内容处理模块, 用于从所述第一数据报文中, 获取所述第一兴趣报文请求 的内容, 并对所述内容进行处理。
44、 根据权利要求 41-43任一所述的终端设备, 其特征在于, 所述第二兴 趣 4艮文为一个或多个。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020157022858A KR101717000B1 (ko) | 2013-03-15 | 2014-03-17 | 패킷 처리를 위한 방법 및 장치 |
EP14764821.6A EP2940949B1 (en) | 2013-03-15 | 2014-03-17 | Method and device for packet handling |
US14/839,187 US10079780B2 (en) | 2013-03-15 | 2015-08-28 | Packet processing method and device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310084254.1 | 2013-03-15 | ||
CN201310084254.1A CN104052667B (zh) | 2013-03-15 | 2013-03-15 | 报文处理方法及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/839,187 Continuation US10079780B2 (en) | 2013-03-15 | 2015-08-28 | Packet processing method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014139481A1 true WO2014139481A1 (zh) | 2014-09-18 |
Family
ID=51505049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/073516 WO2014139481A1 (zh) | 2013-03-15 | 2014-03-17 | 报文处理方法及设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10079780B2 (zh) |
EP (1) | EP2940949B1 (zh) |
KR (1) | KR101717000B1 (zh) |
CN (1) | CN104052667B (zh) |
WO (1) | WO2014139481A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092575A1 (en) * | 2015-11-30 | 2017-06-08 | Huawei Technologies Co., Ltd. | System and method to support context-aware content requests in information centric networks |
CN108713336A (zh) * | 2016-03-01 | 2018-10-26 | 瑞典爱立信有限公司 | 用户设备标识与信息中心联网请求的相关性 |
US11051355B2 (en) | 2016-03-01 | 2021-06-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Correlation of user equipment identity to information centric networking request |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10880198B2 (en) * | 2015-05-08 | 2020-12-29 | Qualcomm Incorporated | Aggregating targeted and exploration queries |
US10701038B2 (en) * | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US20170034055A1 (en) * | 2015-07-28 | 2017-02-02 | Futurewei Technologies, Inc. | Handling Consumer Mobility in Information-Centric Networks |
CN105187328B (zh) * | 2015-09-08 | 2019-07-19 | 南京师范大学 | Ccn中支持隧道传输的方法、装置和*** |
US20180006937A1 (en) * | 2016-06-30 | 2018-01-04 | Fujitsu Limited | Packet forwarding in information centric networking networks |
US10164910B2 (en) | 2016-07-13 | 2018-12-25 | Futurewei Technologies, Inc. | Method and apparatus for an information-centric MAC layer |
US20180062935A1 (en) * | 2016-08-25 | 2018-03-01 | Futurewei Technologies, Inc. | Hybrid approach with classification for name resolution and producer selection in icn |
CN106506719B (zh) * | 2016-11-07 | 2019-06-14 | 北京邮电大学 | 命名数据网络中分发策略的配置方法及配置*** |
CN106982412A (zh) * | 2017-03-29 | 2017-07-25 | 上海斐讯数据通信技术有限公司 | 一种数据传输网络***及方法 |
CN107454142B (zh) * | 2017-06-29 | 2019-06-07 | 北京邮电大学 | 一种内容路由器的非阻塞内容缓存方法及装置 |
CN107872400B (zh) * | 2017-12-20 | 2021-04-09 | 北京工业大学 | 一种vanet中基于ndn的多音频文件分发方法 |
US20210112004A1 (en) * | 2019-10-15 | 2021-04-15 | Electronics And Telecommunications Research Institute | Apparatus and method for forwarding a packet in content centric network |
CN112152941B (zh) * | 2020-09-17 | 2023-03-21 | 锐捷网络股份有限公司 | 单端口大容量表项扩充的方法、网络传输设备及存储介质 |
CN114500374B (zh) * | 2020-11-12 | 2023-07-14 | 中国科学院声学研究所 | 一种采用随路改变目的地址的报文路由转发方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820386A (zh) * | 2009-01-30 | 2010-09-01 | 帕洛阿尔托研究中心公司 | 用于促进在以内容为中心的网络中转发分组的方法和*** |
CN102821039A (zh) * | 2011-06-09 | 2012-12-12 | 三星电子株式会社 | 基于名称的网络***中防止待定兴趣表溢出的设备和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140181140A1 (en) * | 2010-11-15 | 2014-06-26 | Samsung Electronics Co., Ltd. | Terminal device based on content name, and method for routing based on content name |
WO2013000165A1 (en) * | 2011-06-30 | 2013-01-03 | France Telecom Research & Development Beijing Company Limited | Data routing |
CN103118013B (zh) * | 2013-01-16 | 2015-12-23 | 西安电子科技大学 | 内容中心网络中数据包捎带反向兴趣包的方法 |
US9282050B2 (en) * | 2013-10-30 | 2016-03-08 | Palo Alto Research Center Incorporated | System and method for minimum path MTU discovery in content centric networks |
-
2013
- 2013-03-15 CN CN201310084254.1A patent/CN104052667B/zh active Active
-
2014
- 2014-03-17 EP EP14764821.6A patent/EP2940949B1/en active Active
- 2014-03-17 WO PCT/CN2014/073516 patent/WO2014139481A1/zh active Application Filing
- 2014-03-17 KR KR1020157022858A patent/KR101717000B1/ko active IP Right Grant
-
2015
- 2015-08-28 US US14/839,187 patent/US10079780B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820386A (zh) * | 2009-01-30 | 2010-09-01 | 帕洛阿尔托研究中心公司 | 用于促进在以内容为中心的网络中转发分组的方法和*** |
CN102821039A (zh) * | 2011-06-09 | 2012-12-12 | 三星电子株式会社 | 基于名称的网络***中防止待定兴趣表溢出的设备和方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092575A1 (en) * | 2015-11-30 | 2017-06-08 | Huawei Technologies Co., Ltd. | System and method to support context-aware content requests in information centric networks |
CN108293023A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 支持信息为中心的网络中的上下文感知的内容请求的***和方法 |
US10356209B2 (en) | 2015-11-30 | 2019-07-16 | Futurewei Technologies, Inc. | System and method to support context-aware content requests in information centric networks |
CN108293023B (zh) * | 2015-11-30 | 2020-07-07 | 华为技术有限公司 | 支持信息为中心的网络中的上下文感知的内容请求的***和方法 |
CN108713336A (zh) * | 2016-03-01 | 2018-10-26 | 瑞典爱立信有限公司 | 用户设备标识与信息中心联网请求的相关性 |
US11051355B2 (en) | 2016-03-01 | 2021-06-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Correlation of user equipment identity to information centric networking request |
CN108713336B (zh) * | 2016-03-01 | 2021-11-26 | 瑞典爱立信有限公司 | 用户设备标识与信息中心联网请求的相关性 |
US11558918B2 (en) | 2016-03-01 | 2023-01-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Correlation of user equipment identity to information centric networking request |
Also Published As
Publication number | Publication date |
---|---|
KR101717000B1 (ko) | 2017-03-15 |
CN104052667B (zh) | 2017-05-31 |
EP2940949B1 (en) | 2020-06-17 |
KR20150109469A (ko) | 2015-10-01 |
US20150372947A1 (en) | 2015-12-24 |
CN104052667A (zh) | 2014-09-17 |
US10079780B2 (en) | 2018-09-18 |
EP2940949A4 (en) | 2016-02-24 |
EP2940949A1 (en) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014139481A1 (zh) | 报文处理方法及设备 | |
WO2017000878A1 (zh) | 报文处理 | |
US9602428B2 (en) | Method and apparatus for locality sensitive hash-based load balancing | |
US10375193B2 (en) | Source IP address transparency systems and methods | |
WO2014201974A1 (zh) | 业务路由报文处理方法、装置及网络*** | |
WO2015043327A1 (zh) | 路由方法、设备和*** | |
US8855118B2 (en) | Source discovery for non-flooding multicast using openflow | |
US10791051B2 (en) | System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment | |
JP2016525825A (ja) | ルーティング及び転送の方法、装置、及びシステム | |
US9268813B2 (en) | Terminal device based on content name, and method for routing based on content name | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
WO2019127134A1 (zh) | 一种数据传送的方法和虚拟交换机 | |
EP3136676B1 (en) | Method, device and system for transmitting data | |
WO2016029345A1 (zh) | 网络流的信息统计方法和装置 | |
WO2020083269A1 (zh) | 一种建立多路径连接的子流的方法、装置和*** | |
WO2020259420A1 (zh) | 生成组播转发表项的方法和接入网关 | |
CN104468371A (zh) | 组播业务报文处理方法及装置 | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
CN104506450A (zh) | 媒体资源反馈方法及装置 | |
EP3542518B1 (en) | Enabling connections in a content centric network | |
US9992097B2 (en) | System and method for piggybacking routing information in interests in a content centric network | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及*** | |
CN110278156B (zh) | 组播路由处理方法、网络设备以及路由反射器 | |
WO2017124712A1 (zh) | 报文生成方法、报文转发方法及装置 | |
EP3518113B1 (en) | Transfer device for a content distribution system |
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: 14764821 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014764821 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20157022858 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |