CN106850143B - Data packet packaging method and verification method - Google Patents
Data packet packaging method and verification method Download PDFInfo
- Publication number
- CN106850143B CN106850143B CN201710088195.3A CN201710088195A CN106850143B CN 106850143 B CN106850143 B CN 106850143B CN 201710088195 A CN201710088195 A CN 201710088195A CN 106850143 B CN106850143 B CN 106850143B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- field
- baseband frame
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
A data packet encapsulation method and a verification method are provided, wherein the data packet encapsulation method comprises the following steps: filling the data packet into one or more baseband frame data domains, and recording the information of the blocking times of the data packet to be transmitted currently; generating a check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is partitioned; and splicing the check field to the tail of the information code of the data packet to finish the encapsulation of the data packet. The technical scheme improves the reliability of the data packet (especially under the condition that the data packet is divided into a plurality of data blocks to be loaded in different baseband frames) during the transmission of the broadcast communication channel.
Description
The application is a divisional application of an original case, wherein the application number of the original case is 201310533289.9, and the application date is 2013, 11 and 4, and the name of the invention is 'packaging method and verification method of a data packet'.
Technical Field
The invention relates to the field of digital television broadcasting, in particular to a data packet packaging method and a data packet checking method.
Background
The new generation digital television broadcasting system can support various data transmission including audio and video, and the specific method is to fill data packets to be transmitted into a baseband frame data field in sequence to form a baseband frame structure which can be transmitted in a broadcasting channel through the digital television broadcasting system.
In the process of encapsulating the data packet, when the length of one data packet is larger and exceeds the available space of the current data field, the data packet can be divided into a plurality of segments, and each segment is transmitted by using one baseband frame. After receiving all the fragments belonging to the data packet, the receiving end splices the fragments again to obtain the original data packet.
However, due to channel interference, etc., the baseband frame may be distorted and generate error codes during transmission from the transmitting end to the receiving end, so that the data packet obtained by the receiving end after receiving and decoding the baseband frame will not be the original data packet. In case of severe channel interference, the receiving end may lose the whole baseband frame or even continuously lose a plurality of baseband frames.
For the occurrence of errors in a baseband frame, the problem can be solved to a large extent by adding a check field after the data packet. However, in the case that a data packet is blocked into several data blocks and the data blocks are carried in different baseband frames, if the receiving end loses one of the baseband frames and the data blocks are missed, the problem cannot be solved well only by adding a check field behind the data packet.
Disclosure of Invention
The invention solves the problem that a receiving end may miss data blocks when the data packet is blocked into a plurality of data blocks and the data blocks are loaded in different baseband frames for transmission.
To solve the above problem, an embodiment of the present invention provides a method for encapsulating a data packet, including: recording data information of the times of blocking the data packet in the process of sequentially filling the data packet to be transmitted to one or more baseband frame data domains; generating a check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is partitioned; and splicing the check field to the tail of the information code of the data packet to finish the encapsulation of the data packet.
Optionally, in the process of sequentially filling the current data to be transmitted into one or more baseband frame data domains, the recording data information of the number of times of blocking the data packet includes:
step 1): judging whether the available space of the current baseband frame data domain is enough to bear a data packet to be transmitted currently, wherein the data packet comprises an information code and a reserved check field length;
step 2): if the judgment result is negative, dividing the data packet to form a first half data block and a second half data block, wherein the first half data block is suitable for filling the available space, and the second half data block is filled to the next baseband frame data domain;
circularly executing the step 1) and the step 2) until the available space of the current baseband frame data domain is enough to bear the data packet to be transmitted;
and determining the data information of the times of the data packet to be transmitted being blocked based on the cycle execution times of the step 1) and the step 2).
Optionally, the step of generating the check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is blocked includes: adding the data information of the times of the data packet being blocked to the end of the information code of the data packet to form a data packet to be checked; and processing the data packet to be checked by adopting a first preset check field generation mode to generate a first check field, wherein the first preset check field generation mode is determined by the sending end and the receiving end together.
Optionally, the step of generating the check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is blocked includes: processing the data packet by adopting a first preset check field generation mode to generate intermediate data; adding the data information of the times of blocking the data packet to the tail of the intermediate data, and processing the data by adopting a first preset check field generation mode to generate a second check field; the generation mode of the first preset check field is determined by the sending end and the receiving end together.
Optionally, the step of generating the check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is blocked includes: processing the data packet by adopting a first preset check field generation mode to generate intermediate data; processing the intermediate data and the data information of the times of the data packet being partitioned by adopting a second preset check field generation mode to generate a third check field; the generation mode of the first preset check field and the generation mode of the second preset check field are determined by the sending end and the receiving end together.
Optionally, the first preset check field is generated in a cyclic redundancy check manner.
Optionally, the generation manner of the second preset check field includes any one of an exclusive-or operation, an addition operation, a subtraction operation, and a multiplication operation.
The embodiment of the invention also provides a method for verifying the data packet, wherein the data packet is obtained by filling the data packet after being packaged according to the packaging method of the data packet into the baseband frame, transmitting the baseband frame in a channel and then recovering the baseband frame at a receiving end, and the method for verifying the data packet comprises the following steps:
acquiring a complete data packet from one or more baseband frame data fields, wherein the complete data packet comprises an information code and a check field;
intercepting the check field from the tail of the data packet according to the generation mode of the preset check field marked in the check algorithm mark bit in the frame head of the baseband frame and the length of the check field, wherein the residual content of the data packet is used as an information code;
carrying out verification calculation on the information code of the received data packet and the data information of the times of the data packet being partitioned to obtain a verification field to be compared;
comparing whether the check field to be compared is consistent with the obtained check field;
if the two are consistent, the data packet is determined to be correctly received.
Optionally, the obtaining of the complete data packet from one or more baseband frame data fields includes the following steps:
reading data packets in sequence from the starting position of the current baseband frame data field, wherein the starting position is determined by the starting position field in the frame header of the baseband frame;
judging whether the data packet is completely loaded in the current baseband frame data domain or not by judging whether a packet length field positioned at the head of the data packet is zero or not;
if the data packet is not completely carried on the current baseband frame data, taking all data from the starting position of the current baseband frame to the end of the baseband frame data domain as a first block of the data packet, continuously reading the remaining blocks of the data packet from a plurality of subsequent baseband frame data domains, and splicing the remaining blocks with the first block of the data packet in sequence to obtain an information code and a check field of the data packet, wherein the remaining blocks of the data packet are determined according to the relationship between the starting position field and the data domain length field in the header of the baseband frame;
if the data packet is completely carried in the current baseband frame data, the information code and the check field of the data packet are obtained from the initial position of the current baseband frame data field and according to the packet length of the head part of the data packet;
recording the number of baseband frames for assembling the information code and the check field of the data packet so as to determine the data information of the blocking times of the data packet;
optionally, the determining, by the remaining blocks of the data packet according to a relationship between a start position field and a data field length field in a header of a baseband frame, includes:
1) if the initial position field in the frame head of a certain baseband frame is greater than the length field of the data field, determining that the data field of the baseband frame is all used for bearing one data block in the remaining blocks of the data packet, and the transmission of the data packet is not finished;
2) if the initial position field in the frame head of a certain baseband frame is equal to the length field of the data field, determining that all the data fields of the baseband frame are used for bearing the data packet and the transmission of the data packet is finished;
3) if the starting position field in the head of a certain baseband frame is smaller than the length field of the data field, the data between the head of the baseband base data field and the starting position is the last data block in the residual blocks of the data packet.
The embodiment of the invention also provides a data packet transmission method, which comprises the following steps: sequentially filling the data packets to be transmitted to one or more baseband frame data domains; generating a check field of the data packet, wherein the check field is determined according to the information code of the data packet and the data information of the blocking times of the data packet in the process of filling the data packet into the baseband frame data domain; splicing the check field to the tail of the information code of the data packet to finish the encapsulation of the data packet; one or more baseband frames carried in the data packet are transmitted to a receiving end via a channel.
Compared with the prior art, the technical scheme of the invention has the following beneficial effects:
according to the data packet packaging method provided by the embodiment of the invention, when the check field of the data packet is generated, the data information of the blocking times of the data packet in the process of filling the data packet into the baseband frame data domain is considered, so that in the process of analyzing the received data packet by the receiving end, the data information of the blocking times of the data packet is also combined to check whether the data packet is correctly received, and the reliability of the data packet (especially under the condition that the data packet is divided into a plurality of data blocks to be loaded in different baseband frames) in the transmission of the broadcast communication channel is improved.
According to the method for verifying the data packet provided by the embodiment of the invention, in the process of reading the data packet from the received baseband frame data domain, the receiving end judges whether the data packet is completely borne in the current baseband frame data domain or not through the packet length field positioned at the head of the data packet, and obtains the complete data packet and the verification field in different modes according to different situations.
Drawings
FIG. 1 is a flow chart illustrating an embodiment of a method for encapsulating data packets according to the present invention;
fig. 2 is a schematic diagram of a basic structure of a baseband frame formed after data packets are encapsulated;
FIG. 3A is a schematic diagram of a baseband frame structure into which a data packet is encapsulated without being fragmented;
fig. 3B is a schematic diagram of a baseband frame structure encapsulated under the condition that each data block is respectively carried in different baseband frames after the data packet is divided;
fig. 4 is a flowchart illustrating an embodiment of a method for verifying a data packet according to the present invention.
Detailed Description
The inventor finds that, in the prior art, when the data packet is divided into several data blocks and the data blocks are carried in different baseband frames for transmission, if a receiving end loses one of the baseband frames, the problem of missing data blocks is caused.
In view of the above problems, the inventors have studied and provided a method for encapsulating and verifying a data packet, which improves the reliability of the data packet (especially, the data packet is divided into several data blocks and loaded in different baseband frames) during the transmission of a broadcast communication channel by considering the data information of the number of times of the data packet being blocked during the process of encapsulating the data packet.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in detail below.
Fig. 1 is a schematic flow chart illustrating an embodiment of a method for encapsulating a data packet according to the present invention. Referring to fig. 1, the method for encapsulating the data packet includes the following steps:
step S11: recording data information of the times of blocking the data packet in the process of sequentially filling the data packet to be transmitted to one or more baseband frame data domains;
step S12: generating a check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is partitioned;
step S13: and splicing the check field to the tail of the information code of the data packet to finish the encapsulation of the data packet.
Different from the prior art, when generating the check field of the data packet, the data information of the blocking times of the data packet in the process of filling the data packet into one or more baseband frame data domains is further considered, not only for the information code of the data packet. For example, if a data packet is blocked into three data blocks during the process of padding the data packet into the baseband frame data field, the data information is blocked twice.
In a specific embodiment, as described in step S11, in the process of sequentially filling the data packet to be currently transmitted into one or more baseband frame data domains, data information of the number of times of blocking the data packet is recorded, which specifically includes the following steps:
step 1): judging whether the available space of the current baseband frame data domain is enough to bear a data packet to be transmitted currently, wherein the data packet comprises an information code and a reserved check field length;
step 2): if the judgment result is negative, the data packet is divided to form a first half data block and a second half data block, wherein the first half data block is suitable for filling the available space, and the second half data block is filled to the next baseband frame data field.
In step 1), whether the available space is sufficient to carry the data packet may be determined by comparing the size relationship between the length of the data field occupied by the available space of the current baseband frame data field and the length of the data packet to be transmitted currently. It should be noted that, in this step, the position of the check field needs to be reserved after the information code of the data packet, for example, 2bytes long is reserved, and the reserved position is filled with zeros, so that the length of the data packet includes the information code and the length of the reserved check field.
As described in step 2), if the packet length of the data packet is greater than the data field length occupied by the available space of the current baseband frame data field, it is determined that the current baseband frame data field is not sufficient to carry the entire data packet, and the data packet needs to be segmented. The divided data packet is divided into a first half data block and a second half data block, wherein the first half data block can fill the available space, and the remaining second half data block is filled into the next baseband frame data field.
For the latter half data block, the determination is continued according to the step 1), that is, whether the latter half data block is enough to be carried in the current baseband frame data field (the next baseband frame relative to the previous baseband frame) is continuously determined. And when the judgment result is no, continuing to divide the second half data block into two data blocks according to the step 2), wherein the first half data block of the two data blocks can fill the available space of the baseband frame data domain, and the second half data block is filled into the next baseband frame data domain.
And the steps 1) and 2) are executed in a circulating manner until the available space of the current baseband frame data domain is enough to carry the last remaining data block.
Further, the data information of the times of blocking the data packet to be transmitted currently can be determined according to the number of times of executing the loop in the whole process. For example, if the above steps 1) and 2) are performed twice in a loop, it may be determined that the data packet to be currently transmitted is divided twice, and the data packet is divided into three data blocks and is respectively carried in three consecutive baseband frame data fields.
If the determination result in the step 1) is yes, that is, the available space of the current baseband frame data domain is sufficient to carry the data packet to be transmitted currently, the data packet does not need to be divided (that is, the data information of the blocking times is 0), and the data packet is completely carried in the current baseband frame data domain.
Then, as described in step S12, a check field of the data packet is generated based on the information code of the data packet and the data information of the number of times the data packet is blocked. In step S13, the check field is spliced to the end of the information code of the data packet to complete the encapsulation of the data packet.
In the prior art, when generating a check field of a data packet, only the information code of the data packet is involved in the operation of generating the check field, but in this embodiment, the data information of the number of times that the data packet is blocked is further considered. Specifically, the present embodiment includes the following three specific examples:
1) in one embodiment, the step S12 includes the following steps:
adding the data information of the times of the data packet being blocked to the end of the information code of the data packet to form a data packet to be checked;
and processing the data packet to be checked by adopting a first preset check field generation mode to generate a check field, wherein the first preset check field generation mode is determined by the sending end and the receiving end together.
For example, CHK is F (DATA, SEG) H ([ DATA, SEG ]), where CHK is a calculated check field; DATA is the information code of the DATA packet; SEG is data information of the number of times a data packet is blocked, and h (x) is a generation mode of the first preset check field.
Accordingly, the step S13 includes the following steps: and splicing the first check field to the tail of the information code of the data packet to finish the encapsulation of the data packet.
2) In another embodiment of this step, the step S12 includes the following steps:
processing the data packet by adopting a first preset check field generation mode to generate intermediate data;
adding the data information of the times of blocking the data packet to the tail of the intermediate data, and processing the data by adopting a first preset check field generation mode to generate a second check field;
the generation mode of the first preset check field is determined by the sending end and the receiving end together.
For example, CHK ═ F (DATA, SEG) ═ H ([ H (DATA), SEG ]), where CHK is the calculated check field; DATA is the information code of the DATA packet, and h (DATA) is intermediate DATA; SEG is data information of the number of times a data packet is blocked, and h (x) is a generation mode of the first preset check field.
Accordingly, the step S13 includes the following steps: and splicing the second check field to the tail end of the information code of the data packet to finish the encapsulation of the data packet.
3) In another embodiment of this step, the step S12 includes the following steps:
processing the information code of the data packet by adopting a first preset check field generation mode to generate intermediate data;
processing the intermediate data and the data information of the times of the data packet being partitioned by adopting a second preset check field generation mode to generate a third check field;
the generation mode of the first preset check field and the generation mode of the second preset check field are determined by the sending end and the receiving end together.
For example, CHK ═ F (DATA, SEG) ═ G (h (DATA), SEG), where CHK is the calculated check field; DATA is the information code of the DATA packet; SEG is data information of the number of times a data packet is blocked, and h (x) is a generation mode of the first preset check field.
G (x, y) is the second predetermined check field generation manner, and in practical applications, G (x, y) may be a commonly used function that can receive two input data, for example, the function G (x, y) of exclusive-or operation is x XOR y, the function G (x, y) of addition operation is x + y, the function G (x, y) of subtraction operation is x-y, or the function G (x, y) of multiplication operation is x y.
Accordingly, the step S13 includes the following steps: and splicing the third check field to the tail of the information code of the data packet to finish the encapsulation of the data packet.
In the above three specific embodiments, the first predetermined check field is generated in a cyclic redundancy check, that is, a CRC check.
Fig. 2 is a schematic diagram showing a basic structure of a baseband frame formed by encapsulating data packets. Referring to fig. 2, the baseband frame includes a baseband frame header, a data field, and regions for zero padding and in-band signaling.
The header of the baseband frame specifically includes a MATYPE field (2bytes), a DFL field (2bytes), a SYNCD field (2bytes), an INDICATORS field (1byte), and a CRC-8 field (1 byte). The INDICATES field also includes a CRCI field (2bits) and an others field (6 bits). The data field is used to fill each data packet, which may be an IP data packet or a TS data stream packet, etc.
Fig. 3A is a schematic diagram illustrating a baseband frame structure into which a data packet is encapsulated without being fragmented. Referring to fig. 3A, the baseband frame includes a baseband frame header and a data field. A plurality of data packets (e.g., data packet N +1) are carried in the data field, and after the data packets are encapsulated according to the data packet encapsulation method provided in the present technical solution, respective check fields, e.g., data packet N and check field N, data packet N +1 and check field N +1, are spliced at the end of an information code (not shown) of each data packet. These data packets are carried in a baseband frame data field.
Fig. 3B is a schematic diagram of a baseband frame structure encapsulated under the condition that each data block is respectively carried in different baseband frames after the data packet is divided. Referring to fig. 3B, the data packet N is divided into 3 data blocks, i.e., data block 1, data block 2, and data block 3, which are respectively carried in consecutive three baseband frame data fields. Each baseband frame includes a baseband frame header and a data field. The check field N of the data packet (i.e., data packet N) is concatenated at the end of the information code of data block 3.
The sending end encapsulates the data packet into baseband frames by adopting the encapsulation method of the data packet provided by the technical scheme, then transmits each baseband frame to the receiving end through the broadcast communication channel, and the receiving end analyzes each data from the received baseband frames and checks whether the receiving of each data packet is correct or not.
In the method for verifying a data packet provided in the embodiments of the present invention, the data packet is obtained by filling the data packet into a baseband frame after being encapsulated by the data packet encapsulation method provided in the embodiments, and recovering the data packet at a receiving end after the data packet is transmitted in a channel. Fig. 4 is a flowchart illustrating an embodiment of a method for verifying a data packet according to the present invention.
Referring to fig. 4, the method for verifying the data packet includes the following steps:
step S21: reading data packets in sequence from the starting position of the current baseband frame data field, wherein the starting position is determined by the starting position field in the frame header of the baseband frame;
step S22: judging whether the data packet is completely loaded in the current baseband frame data domain or not by judging whether a packet length field positioned at the head of the data packet is zero or not;
step S23: if the data packet is not completely carried on the current baseband frame data, taking all data from the starting position of the current baseband frame to the end of the baseband frame data domain as a first block of the data packet, continuously reading the remaining blocks of the data packet from a plurality of subsequent baseband frame data domains, and splicing the remaining blocks with the first block of the data packet in sequence to obtain an information code and a check field of the data packet, wherein the remaining blocks of the data packet are determined according to the relationship between the starting position field and the data domain length field in the header of the baseband frame;
step S24: if the data packet is completely carried in the current baseband frame data, the information code and the check field of the data packet are obtained from the initial position of the current baseband frame data field and according to the packet length of the head part of the data packet;
step S25: recording the number of baseband frames for assembling the information code and the check field of the data packet so as to determine the data information of the blocking times of the data packet;
step S26: intercepting the check field from the tail of the data packet according to the generation mode of the preset check field marked in the check algorithm mark bit in the frame head of the baseband frame and the length of the check field, wherein the residual content of the data packet is used as an information code;
step S27: carrying out verification calculation on the received data packet information code and the data information of the times of the data packet being partitioned to obtain a verification field to be compared;
step S28: comparing whether the check field to be compared is consistent with the obtained check field
Step S29: if the two are consistent, the data packet is determined to be correctly received.
In this embodiment, as described in step S21, the data packets are sequentially read from the start position of the current baseband frame data field.
In practical application, after a receiving end receives a series of continuous baseband frames, a first complete data packet is read from the initial position of a first baseband frame data domain according to the receiving sequence. The start position is determined by a start position field (e.g., the SYNCD field in fig. 2) in the header of the baseband frame, and the receiving end can determine the start position of the data packet stored in the data field according to the information recorded in the SYNCD field.
As shown in step S22, it is determined whether the data packet is completely carried in the current baseband frame data field by whether the packet length field at the header of the data packet is zero.
In this embodiment, a packet length field is provided in the packet header for recording the packet length of the packet. Under the condition that the data packet is completely carried in a baseband frame data domain, the packet length field records the packet length of the whole data packet; and when the data packet is not completely carried in a baseband frame data field, the packet length field is set to zero by default. Therefore, the receiving end can judge whether the data packet is completely loaded in the current baseband frame data domain according to whether the recorded numerical value is zero by reading the packet length field positioned at the head of the data packet.
In step S23, if the data packet is not completely carried by the current baseband frame data, all data from the start position of the current baseband frame to the end of the baseband frame data field is used as the first block of the data packet, and the remaining blocks of the data packet are continuously read from the subsequent baseband frame data fields and sequentially spliced with the first block of the data packet to obtain the information code and the check field of the data packet.
When the data packet is long and is not completely carried in a baseband frame data domain, the receiving end needs to extract each data block belonging to the data packet from a plurality of baseband frames, and each data block belonging to the same data packet is carried in a plurality of continuous baseband frames. Therefore, after the receiving end acquires the first data block of the data packet from the start position of the current baseband frame to the end of the baseband frame data field, the receiving end will continue to read the remaining blocks of the data packet from the subsequent baseband frame data field.
Further, the remaining blocks of the packet are determined according to the relationship between the start position field and the data field length field in the header of the baseband frame. Specifically, the receiving end determines whether the last data block of the data packet has been acquired by determining a size relationship between the start position of the baseband frame data field recorded in the start position field in the header of the baseband frame and the total length of the data field recorded in the data field length field.
The method specifically comprises the following conditions:
1) if the initial position field in the frame head of a certain baseband frame is greater than the length field of the data field, determining that the data field of the baseband frame is all used for bearing one data block in the remaining blocks of the data packet, and the transmission of the data packet is not finished. The receiving end will continue to acquire the remaining data blocks from the subsequent baseband frame data fields.
2) If the starting position field in the header of a certain baseband frame is equal to the length field of the data field, it is determined that all the data fields of the baseband frame are used for bearing the data packet, and the transmission of the data packet is completed.
3) If the starting position field in the head of a certain baseband frame is smaller than the length field of the data field, the data between the head of the baseband base data field and the starting position is the last data block in the residual blocks of the data packet.
In step S24, if the data packet is completely carried by the current baseband frame data, the information code and the check field of the data packet are obtained from the start position of the current baseband frame data field and according to the packet length of the data packet header.
The length information of the information code of the data packet can be obtained directly or indirectly through simple calculation through a length field positioned at the head of the data packet, and the length of the check field is obtained according to the convention of the sending end and the receiving end on a check field calculation algorithm.
In step S25, the number of baseband frames for assembling the information code and check field of the data packet is recorded to determine the data information of the number of times the data packet is blocked.
In this embodiment, when the receiving end subsequently checks the received data packet, it needs to consider the data information of the number of times that the data packet is blocked. Therefore, after the complete data packet is obtained, the receiving end needs to record the number of baseband frames of the information code and check field that assemble the data packet.
For the case that the data packet is not completely carried in the current baseband frame data domain, the receiving end may record that several baseband frames span in the process of acquiring the whole data packet, so as to determine that the data packet is divided into several data blocks, and thus determine the data information of the number of times that the data packet is divided into blocks. And for the situation that the data packet is completely carried in the current baseband frame data domain, the data information of the times of being blocked is that the times of being blocked is zero.
In step S26, according to the preset check field generation manner and the length of the check field marked in the check algorithm flag bit in the header of the baseband frame, the check field is intercepted from the end of the data packet, and the remaining content of the data packet is used as the information code.
Specifically, the receiving end acquires the entire data packet including the information code and the check field, which are merged together. Therefore, the receiving end needs to separately acquire the information code and the check field therefrom. The length of the check field can be determined according to a preset check field generation mode marked in a check algorithm flag bit in a header of the baseband frame and the length of the check field. And the information code of the data packet is the residual content of the data packet after the check field is intercepted.
In step S27, a check calculation is performed on the received data packet information code and the data information of the number of times the data packet is blocked to obtain a check field to be compared.
Specifically, the receiving end performs a check operation on the information code of the received data packet and the data information of the number of times of the block division of the data packet determined in step S25 to obtain a check field to be compared. The specific implementation process of the check operation is determined according to a generation mode of a preset check field marked in a check algorithm mark bit in a frame header of a baseband frame. And for the same data packet, the sending end and the receiving end adopt the same preset check field generation mode to process the information code of the data packet so as to respectively obtain the check fields.
For different preset check field generation manners, the processing manner of the information code of the data packet may refer to the embodiment of step S12 described in the embodiment described in fig. 1, and is not described herein again.
As described in step S28, the check field to be compared is compared with the acquired check field for consistency.
If the two are consistent, the packet is determined to be correctly received, as shown in step S29. Otherwise, if the two are not consistent, the data packet is determined to be received in error.
The embodiment of the invention also provides a data packet transmission method, which specifically comprises the following steps:
sequentially filling the data packets to be transmitted to one or more baseband frame data domains;
generating a check field of the data packet, wherein the check field is determined according to the information code of the data packet and the data information of the blocking times of the data packet in the process of filling the data packet into the baseband frame data domain;
splicing the check field to the tail of the information code of the data packet to finish the encapsulation of the data packet;
one or more baseband frames carried in the data packet are transmitted to a receiving end via a channel.
In summary, with the data packet encapsulation method and the data packet verification method provided by the technical solution, when the sending end generates the verification field of the data packet, the data information of the blocking times of the data packet during the process of filling the data packet into the baseband frame data field is considered, so that in the process of analyzing the received data packet by the receiving end, the data information of the blocking times of the data packet is also combined to verify whether the data packet is correctly received, thereby improving the reliability of the data packet (especially when the data packet is divided into several data blocks to be carried in different baseband frames) during the transmission of the broadcast communication channel.
Although the present invention has been described with reference to the preferred embodiments, it is not intended to limit the present invention, and those skilled in the art can make variations and modifications of the present invention without departing from the spirit and scope of the present invention by using the methods and technical contents disclosed above.
Claims (6)
1. A method for encapsulating a data packet, comprising:
recording data information of the times of blocking the data packet in the process of sequentially filling the data packet to be transmitted to one or more baseband frame data domains;
generating a check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is partitioned; and
splicing the check field to the end of the information code of the data packet to complete the encapsulation of the data packet,
wherein, the step of generating the check field of the data packet based on the information code of the data packet and the data information of the number of times that the data packet is blocked comprises:
processing the data packet by adopting a first preset check field generation mode to generate intermediate data;
processing the intermediate data and the data information of the times of the data packet being partitioned by adopting a second preset check field generation mode to generate a third check field;
the generation mode of the first preset check field and the generation mode of the second preset check field are determined by the sending end and the receiving end together.
2. The method for encapsulating data packets according to claim 1, wherein the recording the data information of the number of times of blocking the data packet during the process of sequentially filling the data packet to be transmitted into one or more baseband frame data fields comprises:
step 1): judging whether the available space of the current baseband frame data domain is enough to bear a data packet to be transmitted currently, wherein the data packet comprises an information code and a reserved check field length;
step 2): if the judgment result is negative, dividing the data packet to form a first half data block and a second half data block, wherein the first half data block is suitable for filling the available space, and the second half data block is filled to the next baseband frame data domain;
circularly executing the step 1) and the step 2) until the available space of the current baseband frame data domain is enough to bear the data packet to be transmitted;
and determining the data information of the times of the data packet to be transmitted being blocked based on the cycle execution times of the step 1) and the step 2).
3. The method for encapsulating data packets according to claim 1, wherein the first predetermined check field is generated by a cyclic redundancy check.
4. The method for encapsulating data packets according to claim 1, wherein the second predetermined check field is generated in any one of an exclusive-or operation, an addition operation, a subtraction operation and a multiplication operation.
5. A method for checking a data packet, wherein the data packet is obtained by filling the data packet into a baseband frame after being encapsulated by the method for encapsulating a data packet according to claim 1, and recovering the data packet at a receiving end after the baseband frame is transmitted in a channel, and the method for checking comprises:
acquiring a complete data packet from one or more baseband frame data fields, wherein the complete data packet comprises an information code and a check field;
intercepting the check field from the tail of the data packet according to the generation mode of the preset check field marked in the check algorithm mark bit in the frame head of the baseband frame and the length of the check field, wherein the residual content of the data packet is used as an information code;
carrying out verification calculation on the information code of the received data packet and the data information of the times of the data packet being partitioned to obtain a verification field to be compared;
comparing whether the check field to be compared is consistent with the obtained check field;
if the two are consistent, the data packet is determined to be correctly received,
wherein the step of obtaining the complete data packet from one or more baseband frame data fields comprises the steps of:
reading data packets in sequence from the starting position of the current baseband frame data field, wherein the starting position is determined by the starting position field in the frame header of the baseband frame;
judging whether the data packet is completely loaded in the current baseband frame data domain or not by judging whether a packet length field positioned at the head of the data packet is zero or not;
if the data packet is not completely carried in the current baseband frame data domain, taking all data from the starting position of the current baseband frame data domain to the end of the baseband frame data domain as a first block of the data packet, and continuously reading the remaining blocks of the data packet from a plurality of subsequent baseband frame data domains and splicing the remaining blocks with the first block of the data packet in sequence to obtain an information code and a check field of the data packet, wherein the remaining blocks of the data packet are determined according to the relationship between the starting position field and the data domain length field in the header of the baseband frame;
if the data packet is completely carried in the current baseband frame data domain, the information code and the check field of the data packet are obtained from the initial position of the current baseband frame data domain according to the packet length of the head part of the data packet;
and recording the number of baseband frames of the information code and the check field of the data packet so as to determine the data information of the times of the data packet being partitioned.
6. The method for checking the data packet according to claim 5, wherein the remaining blocks of the data packet are determined according to the relationship between the start position field and the data field length field in the header of the baseband frame, which includes the following cases:
1) if the initial position field in the frame head of a certain baseband frame is greater than the length field of the data field, determining that the data field of the baseband frame is all used for bearing one data block in the remaining blocks of the data packet, and the transmission of the data packet is not finished;
2) if the initial position field in the frame head of a certain baseband frame is equal to the length field of the data field, determining that all the data fields of the baseband frame are used for bearing the data packet and the transmission of the data packet is finished;
3) if the starting position field in the head of a certain baseband frame is smaller than the length field of the data field, the data between the head of the baseband base data field and the starting position is the last data block in the residual blocks of the data packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710088195.3A CN106850143B (en) | 2013-11-04 | 2013-11-04 | Data packet packaging method and verification method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710088195.3A CN106850143B (en) | 2013-11-04 | 2013-11-04 | Data packet packaging method and verification method |
CN201310533289.9A CN103595504B (en) | 2013-11-04 | 2013-11-04 | The method for packing and method of calibration of packet |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310533289.9A Division CN103595504B (en) | 2013-11-04 | 2013-11-04 | The method for packing and method of calibration of packet |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850143A CN106850143A (en) | 2017-06-13 |
CN106850143B true CN106850143B (en) | 2020-08-18 |
Family
ID=50085501
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710088195.3A Active CN106850143B (en) | 2013-11-04 | 2013-11-04 | Data packet packaging method and verification method |
CN201710094996.0A Active CN107017966B (en) | 2013-11-04 | 2013-11-04 | Data packet packaging method and verification method |
CN201310533289.9A Active CN103595504B (en) | 2013-11-04 | 2013-11-04 | The method for packing and method of calibration of packet |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710094996.0A Active CN107017966B (en) | 2013-11-04 | 2013-11-04 | Data packet packaging method and verification method |
CN201310533289.9A Active CN103595504B (en) | 2013-11-04 | 2013-11-04 | The method for packing and method of calibration of packet |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN106850143B (en) |
WO (1) | WO2015062503A1 (en) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850143B (en) * | 2013-11-04 | 2020-08-18 | 上海数字电视国家工程研究中心有限公司 | Data packet packaging method and verification method |
EP3163780A4 (en) * | 2014-07-29 | 2017-07-12 | Huawei Technologies Co., Ltd. | Data encryption and transmission method and device |
CN105812335B (en) * | 2014-12-31 | 2019-07-23 | 上海数字电视国家工程研究中心有限公司 | The analytic method of function field |
WO2017008401A1 (en) * | 2015-07-10 | 2017-01-19 | 华为技术有限公司 | Protocol frame transmission method and device, node equipment and system |
CN106452660A (en) * | 2015-08-06 | 2017-02-22 | 鸿富锦精密工业(深圳)有限公司 | Data transfer system and method |
CN106484690A (en) * | 2015-08-24 | 2017-03-08 | 阿里巴巴集团控股有限公司 | A kind of verification method of Data Migration and device |
CN106028397A (en) * | 2016-05-10 | 2016-10-12 | 国网新疆电力公司经济技术研究院 | High-reliability mass data wireless transmission system |
CN106686526B (en) * | 2016-12-16 | 2020-10-30 | 美的智慧家居科技有限公司 | Method and device for acquiring routing information of electric appliance |
CN106850149A (en) * | 2017-04-21 | 2017-06-13 | 深圳怡化电脑股份有限公司 | A kind of data transmission method, device, equipment and storage medium |
CN107426770B (en) * | 2017-07-21 | 2021-09-14 | 广东美的制冷设备有限公司 | Data communication method, data terminal and system based on data link layer |
CN108039936A (en) * | 2017-12-14 | 2018-05-15 | 华南智能机器人创新研究院 | A kind of communication protocol data bag and communication system for unmanned operation equipment |
CN108173623B (en) * | 2018-01-16 | 2020-08-14 | 四川安迪科技实业有限公司 | User-defined baseband frame packaging method based on sliding CRC |
CN109587112B (en) * | 2018-10-25 | 2021-02-12 | 华为技术有限公司 | Data sending method, data receiving method, equipment and system |
CN109586846A (en) * | 2018-11-20 | 2019-04-05 | 湖南晨威高科有限公司 | Mainboard and from the communication means between plate inside a kind of direct-current charging post |
CN110297871A (en) * | 2019-06-20 | 2019-10-01 | 常州冰鉴信息科技有限公司 | A kind of method that isomeric data acquires in real time |
CN110442044A (en) * | 2019-08-19 | 2019-11-12 | 哈尔滨工业大学 | A kind of semi-physical emulation platform for aircraft guidance control algorithm validation |
CN110649937B (en) * | 2019-09-23 | 2021-03-02 | 明格(上海)信息技术有限公司 | Ultrasonic wave emission control method, and transmission and reception control method and device |
CN112839003A (en) * | 2019-11-22 | 2021-05-25 | 上海哔哩哔哩科技有限公司 | Data verification method and system |
CN111147931A (en) * | 2019-12-31 | 2020-05-12 | 深圳Tcl新技术有限公司 | Transmission method, device and equipment of TLV (threshold Length value) data packet and readable storage medium |
CN114696944A (en) * | 2020-12-25 | 2022-07-01 | 深圳Tcl新技术有限公司 | Data packet processing method and device, intelligent terminal and computer readable storage medium |
CN113572578B (en) * | 2021-07-28 | 2023-06-30 | 南方电网数字电网研究院有限公司 | TCP data transmission method, device, equipment and medium based on data center |
CN113346980B (en) * | 2021-08-02 | 2023-08-11 | 浙江国利信安科技有限公司 | Method, electronic device and computer storage medium for message forwarding |
CN114257338B (en) * | 2021-11-26 | 2022-12-20 | 力同科技股份有限公司 | Data processing method and device, communication system and communication device, equipment and medium |
CN114337929A (en) * | 2022-01-05 | 2022-04-12 | 深圳市泛海三江科技发展有限公司 | High-reliability communication verification method |
CN114615354A (en) * | 2022-04-12 | 2022-06-10 | 支付宝(杭州)信息技术有限公司 | Method and device for processing message |
CN114741231B (en) * | 2022-04-19 | 2023-06-27 | 深圳鲲云信息科技有限公司 | Data reading and writing method, device, equipment and storage medium based on memory |
CN114884624B (en) * | 2022-07-08 | 2022-12-09 | 广州思德医疗科技有限公司 | Data processing method and device |
CN116846546B (en) * | 2023-04-24 | 2024-03-22 | 广州智臣信息科技有限公司 | Information loss-proof and repetition-proof cross-network data exchange system |
CN116506326B (en) * | 2023-06-21 | 2023-11-24 | 季华实验室 | Sub-thread data receiving method, data monitoring method, upper computer and robot |
CN117692106B (en) * | 2024-01-31 | 2024-05-03 | 北京中科网芯科技有限公司 | Communication data redundancy check method |
CN117749912B (en) * | 2024-02-19 | 2024-05-10 | 浙江双元科技股份有限公司 | Data transmission control method and system based on FPGA module |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189745A (en) * | 1996-10-22 | 1998-08-05 | 索尼公司 | Transmitting apparatus and method, receiving apparatus and method |
EP1365548A1 (en) * | 2002-05-21 | 2003-11-26 | Alcatel | Method for encapsulating variable length packets, and related data packet encapsulator and decapsulator |
CN101094375A (en) * | 2006-12-29 | 2007-12-26 | 雷科通技术(杭州)有限公司 | Method and device for carrying out remote both way communications by using cable TV network |
CN101969359A (en) * | 2010-09-29 | 2011-02-09 | 航天东方红卫星有限公司 | Method for uploading and processing electric load task on small satellite |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4278850A (en) * | 1978-04-11 | 1981-07-14 | Kokusai Denshin Denwa Co., Ltd. | Monitoring system for optical transmission line repeaters |
CA2423896A1 (en) * | 2003-03-28 | 2004-09-28 | Norsat International Inc. | Highly integrated and compact baseband apparatus for portable newsgathering |
EP1555788A1 (en) * | 2004-01-15 | 2005-07-20 | Alcatel | Method for improving the quality of an encoded video bit stream transmitted over a wireless link, and corresponding receiver |
CN101296055B (en) * | 2007-04-29 | 2013-01-09 | 华为技术有限公司 | Data package dispatching method and device |
CN101321336B (en) * | 2007-06-06 | 2012-11-14 | 锐迪科微电子(上海)有限公司 | High-capacity data interchange method between mobile terminal and smart card |
CN101459490B (en) * | 2007-12-13 | 2012-01-11 | 中兴通讯股份有限公司 | Data transmission method and device |
CN101212267B (en) * | 2007-12-21 | 2011-07-27 | 北京创毅视讯科技有限公司 | FTP service data based method, system, and device for broadcast system |
CN101193284B (en) * | 2007-12-27 | 2010-07-07 | 北京中星微电子有限公司 | Validation method, system and device for transmission integrity of compressed file |
CN101286945B (en) * | 2008-05-22 | 2011-06-22 | 北京星网锐捷网络技术有限公司 | Method and apparatus for processing of data fragmentation |
US8068423B2 (en) * | 2008-09-09 | 2011-11-29 | Ericsson Television, Inc | Packet scheduling system for digital video broadcasting |
CN102098125B (en) * | 2009-12-15 | 2013-05-15 | 上海贝尔股份有限公司 | Method and device for processing parallel baseband |
CN101916173B (en) * | 2010-08-27 | 2013-08-28 | 杭州华三通信技术有限公司 | RAID (Redundant Array of Independent Disks) based data reading and writing method and system thereof |
CN102571272B (en) * | 2011-12-14 | 2015-07-15 | 展讯通信(上海)有限公司 | Method and device for receiving service data in communication system, and baseband chip |
CN106850143B (en) * | 2013-11-04 | 2020-08-18 | 上海数字电视国家工程研究中心有限公司 | Data packet packaging method and verification method |
-
2013
- 2013-11-04 CN CN201710088195.3A patent/CN106850143B/en active Active
- 2013-11-04 CN CN201710094996.0A patent/CN107017966B/en active Active
- 2013-11-04 CN CN201310533289.9A patent/CN103595504B/en active Active
-
2014
- 2014-10-29 WO PCT/CN2014/089784 patent/WO2015062503A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1189745A (en) * | 1996-10-22 | 1998-08-05 | 索尼公司 | Transmitting apparatus and method, receiving apparatus and method |
EP1365548A1 (en) * | 2002-05-21 | 2003-11-26 | Alcatel | Method for encapsulating variable length packets, and related data packet encapsulator and decapsulator |
CN101094375A (en) * | 2006-12-29 | 2007-12-26 | 雷科通技术(杭州)有限公司 | Method and device for carrying out remote both way communications by using cable TV network |
CN101969359A (en) * | 2010-09-29 | 2011-02-09 | 航天东方红卫星有限公司 | Method for uploading and processing electric load task on small satellite |
Non-Patent Citations (1)
Title |
---|
"数字多媒体广播中变长包复用技术的研究";黄怡菲;《中国优秀硕士学位论文全文数据库电子期刊(信息科技辑)》;20110915;正文2.3节、图2-8、图2-11 * |
Also Published As
Publication number | Publication date |
---|---|
CN107017966B (en) | 2020-06-09 |
WO2015062503A1 (en) | 2015-05-07 |
CN103595504B (en) | 2017-07-28 |
CN103595504A (en) | 2014-02-19 |
CN107017966A (en) | 2017-08-04 |
CN106850143A (en) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850143B (en) | Data packet packaging method and verification method | |
KR102081803B1 (en) | Transmitting apppateus and transmitting method thereof | |
JP6523249B2 (en) | Method and apparatus for compressing packet header | |
US9917930B2 (en) | Transmitting apparatus and receiving apparatus and signal processing method thereof | |
RU2219671C2 (en) | Method and device for transmitting and receiving multimedia data | |
US11146361B2 (en) | Apparatus and method for sending/receiving packet in multimedia communication system | |
JP5169449B2 (en) | Wireless communication apparatus and reception method | |
CN106656424B (en) | Data transmission verification method | |
US20130294447A1 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
CN114374470A (en) | Data transmission method, system and computer readable storage medium | |
CN105740088A (en) | Flash data error correction method and device | |
CN101877793B (en) | Data transmitting method, error detecting method, system thereof and device thereof | |
US20180213070A1 (en) | Signal processing apparatus and signal processing method | |
US9484040B2 (en) | Audio decoding method and associated apparatus | |
CN111865557B (en) | Verification code generation method and device | |
KR20150019328A (en) | transmitting apparatus and receiving apparatus and data processing method thereof | |
RU2219664C2 (en) | Method and device for transmitting and receiving data burst in radio communications | |
CN104901972A (en) | File receiving and making-up method | |
CN113973227A (en) | Data processing efficiency optimization method and device | |
CN113971287A (en) | LoRa communication-based batch upgrading method and upgrading system | |
CN109743627B (en) | Playing method of digital movie package based on AVS + video coding | |
CN114760375B (en) | Data sending method and device for multi-screen vehicle-mounted system, transmission method and vehicle | |
CA3077760C (en) | Transmitting apparatus and signal processing method thereof | |
CN102868930A (en) | Method and device for decoding transport-stream data packets | |
CN113949487A (en) | Data communication method, device, communication terminal and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |