Byte numbering-based named data network data fragment reliable transmission method

文档序号:1492623 发布日期:2020-02-04 浏览:19次 中文

阅读说明:本技术 一种基于字节编号的命名数据网络数据分片可靠传输方法 (Byte numbering-based named data network data fragment reliable transmission method ) 是由 安建平 刁文澜 李彤 于 2019-10-28 设计创作,主要内容包括:本发明涉及一种基于字节编号的命名数据网络数据分片可靠传输方法,属于计算机网络数据传输技术领域。包括:发布者将每项数据内容按字节进行编号;请求者发送询问兴趣包,比较转发节点的最大传输单元MTU记录最小值;发布者回复应答数据包告知字节长度和起始字节编号及最大传输单元;请求者发送请求兴趣包包含想要获取的数据内容的名称和字节编号范围;发布者将相应字节的数据内容封装为内容数据包回复给请求者;请求者等待接收内容数据包并准备重传请求兴趣包;请求者接收并校验内容数据包,根据校验结果决定重传请求兴趣包或继续请求后续内容数据包;请求者正确接收完整数据内容后结束数据传输。所述方法实现了数据可靠传输以及链路拥塞避免。(The invention relates to a byte number-based reliable transmission method for named data network data fragments, and belongs to the technical field of computer network data transmission. The method comprises the following steps: the publisher numbers each item of data content according to bytes; the requester sends an inquiry interest packet, and compares the maximum transmission unit MTU record minimum value of the forwarding node; the publisher replies a response data packet to inform the byte length, the initial byte number and the maximum transmission unit; the requester sends a request interest packet containing the name and byte number range of the data content to be acquired; the publisher packages the data content of the corresponding byte into a content data packet and replies the content data packet to the requester; the requester waits for receiving the content data packet and prepares to retransmit the request interest packet; the requester receives and verifies the content data packet, and decides to retransmit the request interest packet or continue to request the subsequent content data packet according to the verification result; the requester ends the data transmission after correctly receiving the complete data content. The method realizes reliable data transmission and link congestion avoidance.)

1. A reliable transmission method of named data network data fragments based on byte numbering is characterized in that: the method comprises the following steps:

step 1, numbering each item of data content according to bytes by a content publisher;

the method specifically comprises the following steps: the content publisher in the NDN numbers each held data content according to bytes;

the byte length of each data content is N +1, the first byte of each data content is numbered A, the second byte is numbered A +1, the third byte is numbered A +2 … …, the number of the third byte is increased progressively according to natural numbers, and the last byte is numbered A + N;

step 2, the content requester sends the inquiry interest packet and compares the maximum transmission unit MTU record minimum value of each routing node on the forwarding path, and the method specifically comprises the following substeps:

step 2.1NDN content requester sends inquiry interest package, records inquiry interest package item in PIT table of content requester, sets and starts PIT table item timer T1 of content requester;

wherein, the content of the inquiry interest package is: "content name of data content that the content requester wants to obtain, and minimum value M of MTU inquiring about each routing node on the packet forwarding path of interest";

the Maximum Transmission Unit, abbreviated as MTU, is an abbreviation of Maximum Transmission Unit, and refers to the Maximum number of bytes that can be transmitted by a certain NDN node in a data Transmission or data reception process;

wherein, the M records in the inquiry interest package are the MTU of the content requester; the content of the query package entry in the content requester PIT table is: "ask for the content name in the interest packet, and ask for the downstream interface that the interest packet corresponds to";

the content requester PIT table entry timer T1 is used for specifying the survival time of the record entry in the content requester PIT table, and the value range of the survival time is 1s to 100 s; the time-to-live of the inquiry interest package entry is specified, and when T1 is timed to expire, the inquiry interest package entry in the PIT table of the content requester is erased;

step 2.2, inquiring that the interest packet is forwarded to a content publisher through a plurality of relay nodes, and comparing MTU record minimum values of all routing nodes on a forwarding path;

the method specifically comprises the following steps: in the process of forwarding the inquiry interest packet, each relay node on the forwarding path receives the inquiry interest packet, firstly, the minimum value M of the MTU of the routing node recorded in the inquiry interest packet is checked, if the MTU of the node is smaller than M, the value of the MTU of the node is assigned to M, otherwise, the value of M is not changed; then the relay node inquires an FIB table according to the content name in the inquiry interest packet, selects a matched forwarding interface to forward the inquiry interest packet to the next relay node, records the inquiry interest packet entry in a PIT table of the node, and sets and starts a relay node PIT table entry timer T2;

the content of the query interest packet entry in the relay node PIT table is as follows: "ask for the content name in the interest packet, and ask for the downstream interface that the interest packet corresponds to"; the relay node PIT table entry timer T2 is used for defining the survival time of the record entry in the relay node PIT table, the value range of the survival time is 1s to 100s, here, T2 defines the survival time of the inquiry interest packet entry, and when T2 is timed to expire, the inquiry interest packet entry in the relay node PIT table is erased;

step 3, the content publisher replies a response data packet to inform the byte length and the initial byte number of the data content and the maximum transmission unit of the whole link;

wherein, the whole link is a forwarding path for forwarding the inquiry interest packet from the content requester to the content publisher;

the step 3 specifically comprises the following substeps:

step 3.1, the content publisher receives the inquiry interest packet, firstly inquires corresponding data content according to the content name in the inquiry interest packet, and counts the byte length and the initial byte number of the data content; then looking up the minimum value M of the routing node MTU recorded in the inquiry interest packet, if the MTU of the content publisher is smaller than M, assigning the value of the MTU of the content publisher to M, otherwise, not changing the value of M; then the content publisher encapsulates a response data packet to reply to the content requester, and the response data packet is set to be the same as the content name in the inquiry interest packet;

wherein, the content of the response data packet is: "the byte length of the data content that the content requester wants to obtain is N +1, the starting byte number is a, and the maximum transmission unit of the entire link on the forwarding path is M";

step 3.2, the response data packet is forwarded to the content requester through a plurality of relay nodes according to the reverse path forwarded by the inquiry interest packet;

the method specifically comprises the following steps: in the process of forwarding the response data packet, each relay node on the forwarding path receives the response data packet, firstly, a PIT table is inquired according to the content name in the response data packet, if the inquiry interest packet entry with the same name exists, the response data packet is forwarded from a downstream interface recorded by the entry, then, the PIT entry is erased, and a relay node PIT table entry timer T2 is cleared; if the inquiry interest packet entries with the same name do not exist, discarding the response data packet, waiting for the timing expiration of T2, and erasing the inquiry interest packet entries in the PIT of the relay node when the timing expiration of T2 is reached;

3.3, the content requester waits for receiving the response data packet, firstly, the content requester queries a PIT (destination information table) according to the content name in the response data packet if the content requester receives the response data packet, and if the PIT has an inquiry interest packet entry with the same name, executing the step 4; otherwise, discarding the response data packet, waiting for the timing expiration of T1, when the timing expiration of T1, erasing the query interest packet entry in the PIT table of the content requester, and jumping to the step 2;

step 4, the content requester sends a request interest packet containing the content name and byte number range of the data content to be acquired, and the method specifically comprises the following substeps:

step 4.1, the content requester checks the response data packet, records the byte length N +1, the initial byte number A and the maximum transmission unit M of the whole link on the forwarding path of the data content; then erasing the inquiry interest package entries in the PIT table of the content requester, and clearing the PIT table entry timer T1 of the content requester;

step 4.2, the content requester encapsulates the request interest package, copies the request interest package after encapsulation, and stores the copied request interest package in the content requester CS;

wherein, the content of the request interest package is: "the content name of the data content that the content requester wants to acquire, and the byte number range of the data content that wants to acquire are a to a + K; "

K is used for ensuring that the byte length of the acquired data content is smaller than the maximum transmission unit M of the whole link on the request interest packet forwarding path, thereby avoiding link congestion;

step 4.3NDN content requester sends request interest package, records request interest package item in PIT table of content requester, starts PIT table item timer T1 of content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", where T1 specifies the lifetime of the request interest package entry;

step 4.4, the request interest packet is forwarded to the content publisher through a plurality of relay nodes according to the same forwarding path as the query interest packet in the step 2.2, in the forwarding process, each relay node records a request interest packet entry in a PIT table of the node, and a relay node PIT table entry timer T2 is started, wherein T2 specifies the survival time of the request interest packet entry;

step 5, after receiving the request interest packet, the content publisher packages the data content of the corresponding byte into a content data packet and replies the content data packet to the content requestor, and the method specifically comprises the following substeps:

step 5.1, the content publisher receives the request interest packet, finds out corresponding data content according to the content name in the request interest packet, copies the data content with corresponding byte number which the content requestor wants to obtain, generates a data content copy, packages the data content copy into a content data packet, sends out the content data packet according to the reverse path forwarded by the request interest packet, and sets the content name in the content data packet and the request interest packet to be the same;

step 5.2, each relay node on the forwarding path receives the content data packet, firstly, a PIT table is inquired according to the content name in the content data packet, and if the PIT table has a request interest packet entry with the same name, the step 5.3 is executed; otherwise, discarding the content data packet, waiting for the timing expiration of T2, when the timing expiration of T2, erasing the request interest packet entry in the PIT table of the relay node, and jumping to the step 6;

step 5.3, the relay node performs CRC on the content data packet to check whether the data content in the content data packet is correct, if the data content is correct, the content data packet is copied and stored in the CS of the node, then the content data packet is forwarded from a downstream interface recorded by a corresponding PIT entry, then the PIT table entry is erased, and a relay node PIT table entry timer T2 is cleared; if the content data packet is in error through CRC, discarding the content data packet, erasing the request interest packet entry of the PIT table, and clearing the relay node PIT table entry timer T2;

the CRC is a hash function of a check code which generates a short fixed bit number according to data content, is mainly used for detecting or checking errors which may occur after data transmission or storage, and carries out error detection by utilizing the principles of division and remainder;

step 6, the content requester waits for receiving the content data packet and prepares to retransmit the request interest packet, and the method specifically comprises the following substeps:

step 6.1, the content requester waits for receiving the content data packet, firstly, the content requester queries a PIT table according to the content name in the content data packet if the content requester receives the content data packet, and if a request interest packet entry with the same name exists in the PIT table, the step 7 is skipped; if the PIT table does not have the request interest packet entries with the same name, discarding the content data packets, waiting for the timing expiration of T1, when the timing expiration of T1, erasing the request interest packet entries in the PIT table of the content requester, and continuing to execute the step 6.2;

step 6.2, the PIT table entry timer T1 of the content requester expires, and at this time, the content requester does not receive the content data packet corresponding to the interest packet request entry in the PIT table, and the content requester erases the interest packet request entry in the PIT table and clears the PIT table entry timer T1 of the content requester;

6.3, the content requester takes out the request interest package stored in the CS, copies the request interest package and stores the copied request interest package in the CS;

step 6.4, the content requester resends the request interest package, records the request interest package items in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", where T1 specifies the lifetime of the request interest package entry;

6.5 in the process of forwarding the request interest packet, each relay node on the forwarding path receives the request interest packet, firstly, the relay node queries the local node CS according to the content name in the request interest packet, if the CS stores the content data packet with the same content name, the relay node copies the content data packet and directly replies the content data packet to the content requester, and the step 6 is skipped; if the CS does not have a content data packet with the same content name, the relay node queries an FIB table according to the content name in the interest request packet, selects a matching forwarding interface to forward the interest request packet to the next relay node, records an interest request packet entry in a PIT table, and starts a PIT table entry timer T2 of the relay node; when the request interest packet is forwarded to the content publisher through the plurality of relay nodes, jumping to the step 5;

step 7, the content requester receives and checks the content data packet, which specifically comprises the following substeps:

step 7.1, the content requester receives the content data packet, and the content requester PIT table has the request interest packet entry with the same content name as the content data packet, the content requester erases the request interest packet entry recorded in the PIT table, and clears the content requester PIT table entry timer T1;

step 7.2, the content requester carries out CRC check on the content data packet to check whether the data content is correct or not;

step 8, the content requester decides to retransmit the request interest packet or continue to request the subsequent content data packet according to the checking result, and specifically comprises the following substeps;

step 8.1, after the CRC check in step 7.2 is carried out on the content data packet, if the data content check is correct, step 8.2 is executed; if the data content is checked to be wrong, jumping to the step 8.7;

step 8.2, the content requester stores the correctly verified content data packet into the CS, and copies and discards the request interest packet stored in the CS;

step 8.3, the content requester checks the byte number range of the data content in the content data packet stored in the CS, and if the last byte number of the data content is A + N, the step is skipped to step 9; otherwise, executing step 8.4;

step 8.4, the content requester packages the new request interest package, copies the new request interest package after the packaging is finished, and stores the copied request interest package in the CS;

wherein, the content of the new request interest package is: "the content name of the data content that the content requester wants to acquire, and the byte number range of the data content that wants to acquire are X +1 to X + Y;

the X refers to the maximum byte number of the data content stored in the current content requester CS that has been correctly received; y is used for ensuring that the byte length of the subsequent data content requested by the content requester is smaller than the maximum transmission unit M of the whole link on the request interest packet forwarding path, thereby avoiding link congestion;

the new request interest package in step 8.4 represents the content requester's acknowledgement of the received content data package;

step 8.5, the content requester sends a new request interest package, records the request interest package item in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", T1 specifies the lifetime of the new request interest package entry;

step 8.6, the new interest-requesting packet is forwarded to the content publisher through a plurality of relay nodes, in the process, each relay node records the interest-requesting packet entry in the PIT table of the node, and starts a PIT table entry timer T2 of the relay node, wherein T2 specifies the survival time of the new interest-requesting packet entry;

after step 8.6, the content requester confirms that the content data packet and the request for the subsequent content data packet are finished, and then the step 5 is skipped;

step 8.7, after the content requester performs CRC check on the content data packet, if the data content check is wrong, the content requester discards the content data packet;

step 8.8, the content requester takes out the request interest package stored in the CS, copies the request interest package and stores the copied request interest package in the CS;

step 8.9, the content requester resends the request interest package, records the request interest package item in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", T1 specifies the lifetime of the request interest package entry;

step 8.10 in the process of forwarding the request interest packet, each relay node on the forwarding path receives the request interest packet, firstly, the relay node queries the local node CS according to the content name in the request interest packet, if the CS stores the content data packet with the same content name, the relay node copies the content data packet and directly replies to the content requester, and the step 6 is skipped; if the CS does not have a content data packet with the same content name, the relay node queries an FIB table according to the content name in the interest request packet, selects a matching forwarding interface to forward the interest request packet to the next relay node, records an interest request packet entry in a PIT table, and starts a PIT table entry timer T2 of the relay node; when the request interest packet is forwarded to the content publisher through the plurality of relay nodes, jumping to the step 5;

step 9, the content requester finishes data transmission after correctly receiving the complete data content, and specifically includes the following substeps:

step 9.1 the content requester receives and verifies that the last byte number of the data content in the correct content data packet is a + N, indicating that the content requester has correctly received the complete data content; the content requester encapsulates the finalization interest package and sends out the finalization interest package;

wherein, the content of the finishing interest package is as follows: "data content name for which the content requester requests to end communication"; the content requester does not need to record the finalization interest package entry in the PIT table;

step 9.2, the finishing interest packet is forwarded to a content publisher through a plurality of relay nodes, and each relay node does not need to record the finishing interest packet entry in the PIT table of the node;

and 9.3, the content publisher receives the finishing data packet without any reply, and the data transmission is finished.

2. The byte number-based named data network data fragment reliable transmission method according to claim 1, characterized in that: in the step 1, the value range of A is 1 to 1000, and A is used for representing the initial byte number of a data content; the value range of N is 20To 240

3. The byte number-based named data network data fragment reliable transmission method according to claim 1, characterized in that: in step 2.1, the value range of M is 20To 220

4. The byte number-based named data network data fragment reliable transmission method according to claim 1, characterized in that: in step 4.2, the value range of K is 1 to M-1.

5. The byte number-based named data network data fragment reliable transmission method according to claim 1, characterized in that: in step 8.4, the value range of Y is 2 to M.

Technical Field

The invention relates to a reliable Data fragment transmission method based on byte numbering in a Named Data Network (NDN), belonging to the technical field of computer network Data transmission.

Background

Named data networks NDN retain the hourglass model of TCP/IP networks, except that NDN replaces IP packets with Content blocks (Content Chunk), and from a network perspective, NDN replaces naming physical entities with naming data contents, the data contents exchanged by users being location independent. The data packets in the NDN are divided into an interest packet and a data packet, wherein the interest packet and the data packet both contain a content name to identify the data content which a content requester wants to obtain or the data content loaded by the data packet, and the data packet also contains the data content to be exchanged and the signature of a content publisher thereof. The NDN performs data communication in a manner that a content requester sends an interest packet to drive a content publisher to reply to a data packet. The routing nodes in the NDN have a caching function to cache data packets passing through the node, and the data packets exist independently of the positions of the routing nodes, so that the cached data packets can be used for responding to the same data content request in the future.

The NDN routing node completes the forwarding of data content through 3 important data structures, namely a forwarding Information base FIB (forwarding Information base), a pending Interest table PIT (pending Interest Table) and a content cache base CS (content store). The NDN node refers to the interface on which the interest packet flows in as the "downstream interface" and the interface on which the interest packet flows out as the "upstream interface". The CS of the NDN node stores a data packet which is sent by a content publisher and passes through the node, and can be used for responding to a potential future same data content request; the PIT records the content name in the interest packet which is forwarded by the current node and a corresponding downstream interface thereof, and ensures that the data packet can be correctly returned to the content requester when being received; the FIB records the set of "upstream interfaces" to which the interest packet of the corresponding content name can be forwarded, for forwarding the interest packet to the matching next node.

Currently, NDN communicates data by sending an interest packet from a content requester to drive a content publisher to reply to a data packet. In this communication mode, the NDN data transmission reliability has two problems:

(1) in the NDN data communication process, a content publisher is only responsible for sending data packets, a content requester does not make feedback to the content publisher according to whether the required data packets are correctly received, and the reliable transmission of data cannot be guaranteed because the data packet transmission lacks a confirmation retransmission mechanism;

(2) the NDN utilizes the content block to transmit data, a larger content block is divided into a plurality of data fragments and packaged into a plurality of data packets due to the limitation of the maximum transmission unit MTU of the routing node when being transmitted in the NDN, the routing node determines the size of each data fragment according to the size of the MTU, the data fragment division does not comprehensively consider the data processing capacity of all routing nodes on a forwarding path, the data fragments are prone to being blocked in transmission or not processed in time at the middle routing node, and network link congestion is caused to discard the data packets.

To sum up, a reliable transmission method capable of receiving and confirming a data packet and a data fragmentation mechanism capable of adapting to the data processing capability of a routing node are absent in the current NDN, and the method is used for realizing reasonable setting of the size of the data fragmentation in the NDN, so that link congestion is avoided, discarding of the data packet is reduced, data transmission delay is reduced, and reliable transmission of data in the NDN is realized.

Disclosure of Invention

The invention aims to further improve the data transmission reliability of the NDN, realize reliable transmission by a data packet receiving confirmation mode, and reasonably set the data fragment size of a transmission content block in the NDN, thereby avoiding link congestion and data packet discarding and reducing data transmission delay; a method for reliably transmitting named data network data fragments based on byte numbering is provided.

The technical scheme of the invention comprises the following parts:

a) the content publisher numbers each item of data content according to bytes;

b) a content requester sends an inquiry interest packet and compares the maximum transmission unit MTU record minimum values of all routing nodes on a forwarding path;

c) the content publisher replies a response data packet to inform the byte length and the initial byte number of the data content and the maximum transmission unit of the whole link;

d) a content requester sends a request interest packet containing a content name and a byte number range of data content to be acquired;

e) after receiving the request interest packet, the content publisher packages the data content of the corresponding byte into a content data packet and replies the content data packet to the content requester;

f) a content requester waits for receiving a content data packet and prepares to retransmit a request interest packet;

g) the content requester receives and verifies the content data packet;

h) the content requester decides to retransmit the request interest packet or continue to request the subsequent content data packet according to the check result;

i) the content requester ends the data transmission after correctly receiving the complete data content.

The byte number-based named data network data fragment reliable transmission method comprises the following steps:

step 1, numbering each item of data content according to bytes by a content publisher;

the method specifically comprises the following steps: the content publisher in the NDN numbers each held data content according to bytes;

the byte length of each data content is N +1, the first byte of each data content is numbered A, the second byte is numbered A +1, the third byte is numbered A +2 … …, the number of the third byte is increased progressively according to natural numbers, and the last byte is numbered A + N; the value range of A is 1 to 1000, A is used for representing the initial byte number of a data content; the value range of N is 20To 240

Step 2, the content requester sends the inquiry interest packet and compares the maximum transmission unit MTU record minimum value of each routing node on the forwarding path, and the method specifically comprises the following substeps:

step 2.1NDN content requester sends inquiry interest package, records inquiry interest package item in PIT table of content requester, sets and starts PIT table item timer T1 of content requester;

wherein, the content of the inquiry interest package is: "content name of data content that the content requester wants to obtain, and minimum value M of MTU inquiring about each routing node on the packet forwarding path of interest";

the Maximum Transmission Unit, abbreviated as MTU, is an abbreviation of Maximum Transmission Unit, and refers to the Maximum number of bytes that can be transmitted by a certain NDN node in a data Transmission or data reception process;

wherein the value range of M is 20To 220Here, the query M in the interest package records the MTU of the content requester; the content of the query package entry in the content requester PIT table is: "ask for the content name in the interest packet, and ask for the downstream interface that the interest packet corresponds to";

the content requester PIT table entry timer T1 is used for specifying the survival time of the record entry in the content requester PIT table, and the value range of the survival time is 1s to 100 s; the time-to-live of the inquiry interest package entry is specified, and when T1 is timed to expire, the inquiry interest package entry in the PIT table of the content requester is erased;

step 2.2, inquiring that the interest packet is forwarded to a content publisher through a plurality of relay nodes, and comparing MTU record minimum values of all routing nodes on a forwarding path;

the method specifically comprises the following steps: in the process of forwarding the inquiry interest packet, each relay node on the forwarding path receives the inquiry interest packet, firstly, the minimum value M of the MTU of the routing node recorded in the inquiry interest packet is checked, if the MTU of the node is smaller than M, the value of the MTU of the node is assigned to M, otherwise, the value of M is not changed; then the relay node inquires an FIB table according to the content name in the inquiry interest packet, selects a matched forwarding interface to forward the inquiry interest packet to the next relay node, records the inquiry interest packet entry in a PIT table of the node, and sets and starts a relay node PIT table entry timer T2;

the content of the query interest packet entry in the relay node PIT table is as follows: "ask for the content name in the interest packet, and ask for the downstream interface that the interest packet corresponds to"; the relay node PIT table entry timer T2 is used for defining the survival time of the record entry in the relay node PIT table, the value range of the survival time is 1s to 100s, here, T2 defines the survival time of the inquiry interest packet entry, and when T2 is timed to expire, the inquiry interest packet entry in the relay node PIT table is erased;

step 3, the content publisher replies a response data packet to inform the byte length and the initial byte number of the data content and the maximum transmission unit of the whole link;

wherein, the whole link is a forwarding path for forwarding the inquiry interest packet from the content requester to the content publisher;

the step 3 specifically comprises the following substeps:

step 3.1, the content publisher receives the inquiry interest packet, firstly inquires corresponding data content according to the content name in the inquiry interest packet, and counts the byte length and the initial byte number of the data content; then looking up the minimum value M of the routing node MTU recorded in the inquiry interest packet, if the MTU of the content publisher is smaller than M, assigning the value of the MTU of the content publisher to M, otherwise, not changing the value of M; then the content publisher encapsulates a response data packet to reply to the content requester, and the response data packet is set to be the same as the content name in the inquiry interest packet;

wherein, the content of the response data packet is: "the byte length of the data content that the content requester wants to obtain is N +1, the starting byte number is a, and the maximum transmission unit of the entire link on the forwarding path is M";

step 3.2, the response data packet is forwarded to the content requester through a plurality of relay nodes according to the reverse path forwarded by the inquiry interest packet;

the method specifically comprises the following steps: in the process of forwarding the response data packet, each relay node on the forwarding path receives the response data packet, firstly, a PIT table is inquired according to the content name in the response data packet, if the inquiry interest packet entry with the same name exists, the response data packet is forwarded from a downstream interface recorded by the entry, then, the PIT entry is erased, and a relay node PIT table entry timer T2 is cleared; if the inquiry interest packet entries with the same name do not exist, discarding the response data packet, waiting for the timing expiration of T2, and erasing the inquiry interest packet entries in the PIT of the relay node when the timing expiration of T2 is reached;

3.3, the content requester waits for receiving the response data packet, firstly, the content requester queries a PIT (destination information table) according to the content name in the response data packet if the content requester receives the response data packet, and if the PIT has an inquiry interest packet entry with the same name, executing the step 4; otherwise, discarding the response data packet, waiting for the timing expiration of T1, when the timing expiration of T1, erasing the query interest packet entry in the PIT table of the content requester, and jumping to the step 2;

step 4, the content requester sends a request interest packet containing the content name and byte number range of the data content to be acquired, and the method specifically comprises the following substeps:

step 4.1, the content requester checks the response data packet, records the byte length N +1, the initial byte number A and the maximum transmission unit M of the whole link on the forwarding path of the data content; then erasing the inquiry interest package entries in the PIT table of the content requester, and clearing the PIT table entry timer T1 of the content requester;

step 4.2, the content requester encapsulates the request interest package, copies the request interest package after encapsulation, and stores the copied request interest package in the content requester CS;

wherein, the content of the request interest package is: "the content name of the data content that the content requester wants to acquire, and the byte number range of the data content that wants to acquire are a to a + K. The value range of K is 1 to M-1, and the K is used for ensuring that the byte length of the acquired data content is smaller than the maximum transmission unit M of the whole link on the request interest packet forwarding path, so that link congestion is avoided;

step 4.3NDN content requester sends request interest package, records request interest package item in PIT table of content requester, starts PIT table item timer T1 of content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", where T1 specifies the lifetime of the request interest package entry;

step 4.4, the request interest packet is forwarded to the content publisher through a plurality of relay nodes according to the same forwarding path as the query interest packet in the step 2.2, in the forwarding process, each relay node records a request interest packet entry in a PIT table of the node, and a relay node PIT table entry timer T2 is started, wherein T2 specifies the survival time of the request interest packet entry;

step 5, after receiving the request interest packet, the content publisher packages the data content of the corresponding byte into a content data packet and replies the content data packet to the content requestor, and the method specifically comprises the following substeps:

step 5.1, the content publisher receives the request interest packet, finds out corresponding data content according to the content name in the request interest packet, copies the data content with corresponding byte number which the content requestor wants to obtain, generates a data content copy, packages the data content copy into a content data packet, sends out the content data packet according to the reverse path forwarded by the request interest packet, and sets the content name in the content data packet and the request interest packet to be the same;

step 5.2, each relay node on the forwarding path receives the content data packet, firstly, a PIT table is inquired according to the content name in the content data packet, and if the PIT table has a request interest packet entry with the same name, the step 5.3 is executed; otherwise, discarding the content data packet, waiting for the timing expiration of T2, when the timing expiration of T2, erasing the request interest packet entry in the PIT table of the relay node, and jumping to the step 6;

step 5.3, the relay node performs CRC on the content data packet to check whether the data content in the content data packet is correct, if the data content is correct, the content data packet is copied and stored in the CS of the node, then the content data packet is forwarded from a downstream interface recorded by a corresponding PIT entry, then the PIT table entry is erased, and a relay node PIT table entry timer T2 is cleared; if the content data packet is in error through CRC, discarding the content data packet, erasing the request interest packet entry of the PIT table, and clearing the relay node PIT table entry timer T2;

the CRC is a hash function of a check code which generates a short fixed bit number according to data content, is mainly used for detecting or checking errors which may occur after data transmission or storage, and carries out error detection by utilizing the principles of division and remainder;

step 6, the content requester waits for receiving the content data packet and prepares to retransmit the request interest packet, and the method specifically comprises the following substeps:

step 6.1, the content requester waits for receiving the content data packet, firstly, the content requester queries a PIT table according to the content name in the content data packet if the content requester receives the content data packet, and if a request interest packet entry with the same name exists in the PIT table, the step 7 is skipped; if the PIT table does not have the request interest packet entries with the same name, discarding the content data packets, waiting for the timing expiration of T1, when the timing expiration of T1, erasing the request interest packet entries in the PIT table of the content requester, and continuing to execute the step 6.2;

step 6.2, the PIT table entry timer T1 of the content requester expires, and at this time, the content requester does not receive the content data packet corresponding to the interest packet request entry in the PIT table, and the content requester erases the interest packet request entry in the PIT table and clears the PIT table entry timer T1 of the content requester;

6.3, the content requester takes out the request interest package stored in the CS, copies the request interest package and stores the copied request interest package in the CS;

step 6.4, the content requester resends the request interest package, records the request interest package items in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", where T1 specifies the lifetime of the request interest package entry;

6.5 in the process of forwarding the request interest packet, each relay node on the forwarding path receives the request interest packet, firstly, the relay node queries the local node CS according to the content name in the request interest packet, if the CS stores the content data packet with the same content name, the relay node copies the content data packet and directly replies the content data packet to the content requester, and the step 6 is skipped; if the CS does not have a content data packet with the same content name, the relay node queries an FIB table according to the content name in the interest request packet, selects a matching forwarding interface to forward the interest request packet to the next relay node, records an interest request packet entry in a PIT table, and starts a PIT table entry timer T2 of the relay node; when the request interest packet is forwarded to the content publisher through the plurality of relay nodes, jumping to the step 5;

step 7, the content requester receives and checks the content data packet, which specifically comprises the following substeps:

step 7.1, the content requester receives the content data packet, and the content requester PIT table has the request interest packet entry with the same content name as the content data packet, the content requester erases the request interest packet entry recorded in the PIT table, and clears the content requester PIT table entry timer T1;

step 7.2, the content requester carries out CRC check on the content data packet to check whether the data content is correct or not;

step 8, the content requester decides to retransmit the request interest packet or continue to request the subsequent content data packet according to the checking result, and specifically comprises the following substeps;

step 8.1, after the CRC check in step 7.2 is carried out on the content data packet, if the data content check is correct, step 8.2 is executed; if the data content is checked to be wrong, jumping to the step 8.7;

step 8.2, the content requester stores the correctly verified content data packet into the CS, and copies and discards the request interest packet stored in the CS;

step 8.3, the content requester checks the byte number range of the data content in the content data packet stored in the CS, and if the last byte number of the data content is A + N, the step is skipped to step 9; otherwise, executing step 8.4;

step 8.4, the content requester packages the new request interest package, copies the new request interest package after the packaging is finished, and stores the copied request interest package in the CS;

wherein, the content of the new request interest package is: "the content name of the data content that the content requester wants to acquire, and the byte number range of the data content that wants to acquire are X +1 to X + Y;

the X refers to the maximum byte number of the data content stored in the current content requester CS that has been correctly received; the value range of Y is 2 to M, and Y is used for ensuring that the byte length of the subsequent data content requested by the content requester is smaller than the maximum transmission unit M of the whole link on the forwarding path of the request interest packet, so that the link congestion is avoided;

the new request interest package in step 8.4 represents the content requester's acknowledgement of the received content data package;

step 8.5, the content requester sends a new request interest package, records the request interest package item in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", T1 specifies the lifetime of the new request interest package entry;

step 8.6, the new interest-requesting packet is forwarded to the content publisher through a plurality of relay nodes, in the process, each relay node records the interest-requesting packet entry in the PIT table of the node, and starts a PIT table entry timer T2 of the relay node, wherein T2 specifies the survival time of the new interest-requesting packet entry;

after step 8.6, the content requester confirms that the content data packet and the request for the subsequent content data packet are finished, and then the step 5 is skipped;

step 8.7, after the content requester performs CRC check on the content data packet, if the data content check is wrong, the content requester discards the content data packet;

step 8.8, the content requester takes out the request interest package stored in the CS, copies the request interest package and stores the copied request interest package in the CS;

step 8.9, the content requester resends the request interest package, records the request interest package item in the PIT table of the content requester, and starts a PIT table item timer T1 of the content requester;

wherein, the content of the request interest package entry in the content requester PIT table is: "the content name in the request interest package and the downstream interface corresponding to the request interest package", T1 specifies the lifetime of the request interest package entry;

step 8.10 in the process of forwarding the request interest packet, each relay node on the forwarding path receives the request interest packet, firstly, the relay node queries the local node CS according to the content name in the request interest packet, if the CS stores the content data packet with the same content name, the relay node copies the content data packet and directly replies to the content requester, and the step 6 is skipped; if the CS does not have a content data packet with the same content name, the relay node queries an FIB table according to the content name in the interest request packet, selects a matching forwarding interface to forward the interest request packet to the next relay node, records an interest request packet entry in a PIT table, and starts a PIT table entry timer T2 of the relay node; when the request interest packet is forwarded to the content publisher through the plurality of relay nodes, jumping to the step 5;

step 9, the content requester finishes data transmission after correctly receiving the complete data content, and specifically includes the following substeps:

step 9.1 the content requester receives and verifies that the last byte number of the data content in the correct content data packet is a + N, indicating that the content requester has correctly received the complete data content; the content requester encapsulates the finalization interest package and sends out the finalization interest package;

wherein, the content of the finishing interest package is as follows: "data content name for which the content requester requests to end communication"; the content requester does not need to record the finalization interest package entry in the PIT table;

step 9.2, the finishing interest packet is forwarded to a content publisher through a plurality of relay nodes, and each relay node does not need to record the finishing interest packet entry in the PIT table of the node;

9.3, the content publisher receives the finishing data packet, does not need to carry out any reply, and finishes data transmission;

and ending the reliable transmission process of the named data network data fragments based on the byte numbers.

Advantageous effects

Compared with the existing named data network data transmission method, the named data network data fragment reliable transmission method based on byte numbering has the following beneficial effects:

1. compared with the data transmission mode that a content requester sends an interest packet to drive a content publisher to reply a data packet in the current NDN, the reliable transmission method of the data fragments based on the byte numbers has the advantages that: the method designs an overtime retransmission mechanism, a check mechanism and a confirmation retransmission mechanism of data packet transmission in the NDN, ensures that a content requester correctly receives the data packet, and realizes reliable transmission of data;

2. compared with the mode that the routing node solely determines the data fragment size of the NDN content block in the current NDN, the reliable transmission method of the data fragment based on the byte number has the advantages that: the method comprises the steps that according to the minimum value of MTU of each routing node on a forwarding path, a content requester determines the byte length of each data fragment of data content, and the size of the data fragment is adapted to the data processing capacity of all routing nodes on the forwarding path;

3. compared with the data transmission method used in the current NDN, the data fragmentation reliable transmission method has the advantages that: the method can avoid NDN link congestion and data packet discarding, and reduce data transmission delay.

Drawings

Fig. 1 is an example diagram of NDN network topology and node configuration in the byte-numbering-based method for reliable transmission of named data network data fragments according to the present invention;

FIG. 2 is an example diagram of numbering each item of data content by bytes by a content publisher in step 1 in the byte numbering-based named data network data fragment reliable transmission method of the present invention;

FIG. 3 is a schematic diagram of a reliable transmission method for named data network data fragments based on byte numbering according to the present invention;

FIG. 4 is a comprehensive flowchart of step 6 in the byte number-based method for reliably transmitting named data network data fragments, wherein the content requester waits to receive a content data packet and prepares to retransmit a request interest packet, and step 7 the content requester receives and verifies the content data packet;

fig. 5 is a flowchart of the method for reliable transmission of named data network data fragments based on byte numbering according to the invention, in which the content requester in step 8 decides to retransmit the request interest packet or continue to request the subsequent content data packet according to the check result.

Detailed Description

The present invention will be described in detail with reference to the accompanying drawings and embodiments, and the technical problems and advantages solved by the technical solutions of the present invention will be discussed at the same time. It should be noted that the described embodiments are intended to facilitate the understanding of the present invention and do not limit the present invention in any way.

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据传输动态限流方法、系统、装置及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!