CN107508655A - A kind of adaptive end to end network coding and transmission method - Google Patents
A kind of adaptive end to end network coding and transmission method Download PDFInfo
- Publication number
- CN107508655A CN107508655A CN201710588600.8A CN201710588600A CN107508655A CN 107508655 A CN107508655 A CN 107508655A CN 201710588600 A CN201710588600 A CN 201710588600A CN 107508655 A CN107508655 A CN 107508655A
- Authority
- CN
- China
- Prior art keywords
- message
- data message
- network
- layer
- coding
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- 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/0076—Distributed coding, e.g. network coding, involving channel coding
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1657—Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a kind of adaptive end to end network coding and transmission method, mainly include:In network code layer, the transmit queue of this caching TCP layer initial data message is maintained, when sending message, coding window length is fixed as N, and the arrival of its data message that can be sent according to new needs is orderly to be slided backward;Confrontation network congestion packet loss is realized by redundancy encoding in network code layer;The processing for different pieces of information message is realized in the queue that receiving terminal maintains three decodings related, it is out of order or valuable packet buffer is decoded in pending data message queue to data message in future, wait the processing of network code layer, it is buffered in currently decoding valuable data message in the message queue decoded, in data message queue is decoded, wait is uploaded to TCP layer or waits TCP layer to receive to be confirmed the packet buffer decoded.The present invention can ensure good transmission rate, can also improve bandwidth availability ratio.
Description
Technical field
The present invention relates to network coding and decoding field, particularly a kind of adaptive end to end network coding and transmission method.
Background technology
With the rapid popularization and the arrival in 4G epoch of mobile communication equipment, various wireless network applications are gradually oozed
Thoroughly more and more important role is play to the various aspects of people's life, wireless network.Therefore, how wireless network is improved
The transmission quality of (including satellite network, aeronautical communications network, mobile radio network etc.) is standby as one in nowadays network research
Concerned hot issue.
Today, many network applications all be unable to do without reliable data transport service.Transmission Control Protocol (transmission control protocol) due to
Good transmitting service can be provided under cable network environment, thus be widely used.In the wireless network of reality
In, traditional Transmission Control Protocol is still what transport layer used, but some exclusive features of wireless network have also triggered sternly
The TCP degradation problems of weight.Transmission Control Protocol is designed to think congestion occurs in network once packet loss occurs, so as to take
Adjust the strategies such as congestion window, congestion threshold, fast quick-recovery so that Transmission Control Protocol can work in cable network well.And
In the wireless network, congestion packet loss is not only existed, and more situations are due to the random loss caused by radio transmission characteristics,
Transmission Control Protocol cannot be distinguished by the reason for packet loss occurs, and packet loss processing is carried out only with single congestion policies.Lost for non-congested
Bag, Transmission Control Protocol still will be handled using reduction congestion window to reduce the strategy of transmission rate, and this be lost for congestion
The processing mode of bag can cause the increase of decline and the delay of handling capacity.In fact, for being wirelessly transferred non-caused by problem gather around
Fill in packet loss, the correct measure that Transmission Control Protocol should be taken be improve transmission rate, and and non-reduced congestion window.Therefore how
In the wireless network that packet loss is high, delay is big, the transmission performance for how lifting existing Transmission Control Protocol just seems particularly critical.
2000, Ahlswede R., Ning Cai, Li S.-Y.R., Yeung, R.W. were in document " Network
information flow(IEEE Transactions on Information Theory,vol 43,pp.1204-1216,
April 2000) " in first proposed network code (network coding, NC) concept, its core concept is in network
Node carries out coding fusion to the multiple packets received, and the data after coding are forwarded again, and purpose node can foundation
Corresponding code coefficient is decoded, and so as to restore original data, network throughput, can be lifted with network code
Weigh network load and raising network bandwidth utilization factor etc..The it is proposed of network code is that one in network communication field is important prominent
It is broken, and developed rapidly as an important field of research, to information theory, coding, communication network, network exchange it is theoretical,
The research fields such as radio communication, computer science, cryptography, matrix theory generate far-reaching influence, it has also become most popular now
One of research field.Many scholars start to consider to combine network code with the at all levels of osi model, derive
Physical-layer network coding, network layer network coding, transport layer network coding, application layer network code etc..Net based on Transmission Control Protocol
Network encoding scheme also becomes an important method for improving transmission in wireless network performance.
2011, JK Sundararajan, D Shah, M M é dard et al. were in document " Network coding meets
TCP:Theory and implementation(Proceedings of the IEEE,vol.99,pp.490-512,
March, 2011) a kind of communication transport protocols for being combined network code and TCP are first proposed in ", the agreement can
The communication transmission quality being effectively lifted in packet loss network.It is main during Transmission Control Protocol and network code are combined
It is related to two contents:Encoding mechanism and ACK affirmation mechanisms.Network coding scheme, it is broadly divided into determination coding and is compiled with random
Code, by batch coding and the encoding scheme based on sliding window.2006, Tracey Ho, Muriel M é dard et al. were in document " A
random linear network coding approach to multicast(IEEE Transactions on
Information Theory, vol 52, October 2006) " in propose a kind of distributed random linear network encoding
Method, this method are a kind of schemes of decentralization, it is not necessary to which Centroid is controlled, and can effectively tackle net
Network changes, and makes full use of the redundancy of transmission to lift robustness.M Halloush, H Radha et al. is in document
“Network coding with multi-generation mixing:A generalized framework for
practical network coding(IEEE Transactions on Wireless Communications,vol.10,
Pp.466-473, February 2011) " in put forward a kind of network code algorithm based on multiple batches of mixing, relative to tradition
Single batch network code, this scheme can improve the decoding reliability and throughput of transmissions of receiving terminal.Y Lin,B Liang
Et al. in document " SlideOR:Online opportunistic network coding in wireless mesh
A kind of network coding scheme based on sliding window is proposed in networks (INFOCOM, 2010) ".
Research for ACK affirmation mechanisms, mainly there are these following work.JK Sundararajan et al. are in document
One kind is proposed in " ARQ for network coding (IEEE ISIT 2008) " to be combined with network code in Transmission Control Protocol
ACK affirmation mechanisms in journey, detailed packet when proposing decoding " seen " and " decoded " concept, this mechanism energy
Enough reduce the requirement to cache size.Chien-Chia Chen, Clifford Chen et al. is in document " Multiple
Network coded TCP sessions in disruptive wireless scenarios (IEEE MILCOM,
2011) solve the problems, such as that DATA-ACK is disturbed between the TCP flow of multiple network codes in ", the article pointed out to utilize
Inter-flow network codes disturb to eliminate, and intra-flow codings can improve robustness.S Gheorghiu,AL
Toledo et al. is in document " A network coding scheme for seamless interaction with TCP
Put forward to be based on feedback mechanism in (2011International Symposium on Network Coding (NetCod)) "
TCP real-time network coding transmission schemes.Wei Bao, Vahid Shah-Mansouri et al. is in document " TCP VON:Joint
Congestion Control and Online Network Coding for Wireless Networks(2011IEEE
GLOBECOM a kind of real-time network encryption algorithm for being combined TCP Vegas is proposed in) ", it was demonstrated that real-time TCP layer net
Network coding can improve the handling capacity of system and the reliability of end-to-end communication, and decoding delay is relatively low.
Around the combination of network code and TCP transmission agreement, also there are many patent of invention achievements both at home and abroad.Middle promulgated by the State Council
(a kind of high bit-error long time-delay network self-adapting transmission method based on network code, Sichuan are big by bright patent CN101841479A
Learn) propose a kind of adaptive transmission method based on network code.Transmitting terminal is according to the size of transport layer flow to TCP message
Adaptive network coding is carried out, the message after coding is then sent to receiving terminal, transmitting terminal is encoded to sending message
Redundancy.Receiving terminal carries out network decoding, and only needs to receive segment message and can recover original message, so as to lift net
Network tackles influence of the high packet loss to transmission performance, lifts the handling capacity of host-host protocol.As a result of adaptive encoding mode,
Improve the confidentiality of information.And need not coordinate in the intermediate node of transmission, belong to transmission acceleration method end to end, energy
It is compatible with the reliable transport protocol of current main-stream.The principal character of this method:1) according to transport layer flow transmitting terminal to transmission
TCP message carry out adaptive network coding redundancy;If 2) monitoring time interval of the adaptive network coding in transport layer flow
The message number of interior transmission is more than N, then implements network code, otherwise do not implement network code;3) when receiving terminal decodes, Ye Shibi
Decoded operation must can be just proceeded by until receiving the packet more than or equal to N number of linear combination.This method is mainly one
The network code algorithm according to batch is planted, transmitting terminal must wait until that N number of datagram literary talent can be encoded, and receiving terminal needs also exist for
Receive more than or equal to can just proceed by decoding operate after N number of packet, and this patent do not account for ACK mechanism, from
The problems such as adapting to the estimation of packet loss.
Chinese invention patent CN102904689A (improved method of the transmission control protocol based on network code, Harbin
Shenzhen research institute of polytechnical university) provide a kind of transmission control protocol improved method based on network code.Changed in transport layer
The mechanism of Transmission Control Protocol, add a network code window.Data are produced by application layer, are delivered to TCP window from top to bottom,
The packet of network code window reception TCP window is simultaneously cached.After network code receives some packets, production
Life specifies number coded data packet, and passes to Internet.The number of retransmissions of packet so can be substantially reduced, so as to improve
The handling capacity of network.The principal character of the program:1) transport layer safeguards two windows --- TCP window and network code window;
2) the size B=m*k of coding window, the packet in coding window be divide into m fritter, wherein the packet of each fritter
Number is k, and the data of a coding window are encoded into n packet (n=B/ (1-p), p are packet loss), and each fritter is then
It is encoded into t (t=n/m) individual packet;3) after transmitting t times, certain fritter is still not able to decode, then makes this fritter with
The packet of one fritter is encoded together, after transmitting 2t times, is still not able to decode, then by first three fritter
Packet is encoded together, afterwards by that analogy --- the network coding method of multiple batches of mixing;3) ack msg bag is sent
When, can be sent Num, Start, End domain of the coded data packet received as an ACK part together --- it is similar
In a kind of feedback mechanism.The encryption algorithm of the program is exactly a network code algorithm based on multiple batches of mixing, and is received
End ACK messages are also changed.
Chinese invention patent CN103152359A (a kind of wireless transmission control protocol linear network encoding end to end, weight
Celebrating university) propose a kind of linear network encoding improved method end to end.The principal character of the program:1) network volume is optimized
Harbour portion, the parameter of encoding and decoding is considered comprehensively, shorten network code head length, reduce the complexity of network code;
2) according to Wireless Losses situation, sliding window and coding window reasonable in design, and optimize order and both it is equal;3) have modified
Message retransmission mechanism is lost, when coding message, which adds up packet loss, reaches sliding window size, starts and retransmits, above operation reduces network
The complexity of coding, improve the efficiency and system TCP handling capacities end to end of network code.
A kind of Chinese invention patent CN103209064A (improvement of the transmission control protocol affirmation mechanism based on network code
Method, University Of Chongqing) a kind for the treatment of mechanism in the case where confirmation message is lost is proposed, the program can substantially reduce report
The number of retransmissions of text, so as to improve the handling capacity of network.The principal character of the program:1) affirmation mechanism is have modified, devises one
The enhanced confirmation message (EACK) of kind;2) receiving terminal can select to send ACK or EACK after message is received, if should
There are other to become so message before coding message to be not successfully received, then send EACK, otherwise ACK.Chinese CN103840928A
Number patent of invention (being used for the system and method for the TCP of network code in Long Term Evolution, Broadcom Corp) is provided based on using
Whether family equipment (UE) is configured as TCPNC to determine the configuration of the operator scheme of the communication link for the UE in communication system
And method, including physical layer channel error return, modulation, Channel assignment.
U.S. patent Nos US20120218891A1 (Method and apparatus providing network
Coding based flow control) thought based on random linear network encoding proposes a kind of new congestion control side
Case and ACK affirmation mechanisms.In transmitting terminal, the linear combination of packet in current congestion window is sent according to sliding window protocol.
In receiving terminal, what ACK mechanism confirmed is the free degree.If a linear combination can disclose the fresh information of a unit, even if
Completely raw data packets can not be decoded out, just claim receiving terminal it can be seen that during (" seen ") new packet, just
Send corresponding ACK.The principal character of the program:1) sending node performs operation and included:Datagram in transmit queue
Text determines stochastic linear combination;The data message of linear combination is sent according to sliding window protocol;Receive ACK and determine which is counted
It has been seen according to message, so as to delete corresponding data message from sliding window;2) operation performed by receiving node includes:Receive
The data message of linear combination;Determine whether that new data message is seen;New data message according to being seen is sent
Corresponding ACK.Code coefficient is extracted from the head of linear combination data message and is put it into decoding matrix, is then performed
Gaussian elimination, determine which data message can be seen (" seen "), the data message not being decoded out is put into and connect
Receive in caching, the data message decoded out is passed into TCP layer;3) operation that intermediate node performs:Receive the number of linear combination
According to message;The stochastic linear that data message in transmission queue is sent according to sliding window protocol combines.The program can greatly
The handling capacity being lifted under packet loss scene.
U.S. patent Nos US2010046371A1 (Feedback-based online network coding) is proposed
A kind of real-time network encoding scheme based on feedback.The principal character of the program:1) define in receiving terminal, when being decoded
" seen " and " decoded " concept, " seen " are represented when a data message can be by other sequence numbers data higher than it
When the linear combination of message is indicated, being considered as this data message can then be represented by solution by " seen ", " decoded "
When matrix a line after code only has the element that one is 1, it is believed that this data message is by " decoded ";As long as 2) datagram
Text just sends ACK messages by " seen ", while transmitting terminal deletes the data message in sliding window according to this message, rather than
" decoded " just sends ACK messages.
U.S. patent Nos US20120114481A1 (Coding Approach For A Robust And Flexible
Communication Protocol) propose the coding staff of the multipath TCP transmission agreement that robustness and flexibility take into account a kind of
Case, the characteristics of program can make full use of multipath in network, multiplex roles, multimedium, multiserver, can be by different
Internet resources carry out load balancing quickly to be responded to the congestion of network, and the program is also applied for soft in heterogeneous network
Switching.The principal character of the program:1) file can be divided into multiple pieces and be transmitted, can be according to the urgent of each block
Degree realizes different coding strategies to different blocks;2) first and second access technologies are utilized,
Multiple pieces can be transmitted in multiple access connections.
Comprehensive analysis both at home and abroad around network code combined with Transmission Control Protocol in terms of technical research results, at present
It is many on network code algorithm, decoding scheme, ACK affirmation mechanisms feasible solution.But carefully analyze these
Prior art, it is seen that, in the transmitting terminal of network code, the method around redundancy adjustment is not also a lot, and in net
The receiving terminal of network coding, simply merely have modified the ACK mechanism of network code layer, by ACK mechanism and the congestion control of TCP layer
The method that algorithm carries out united optimization design is yet few.
The content of the invention
The technical problems to be solved by the invention are to provide a kind of adaptive end to end network coding and transmission method, using this
Method can ensure good transmission rate, can also improve bandwidth availability ratio.
In order to solve the above technical problems, the technical solution adopted by the present invention is:
A kind of adaptive end to end network coding and transmission method, comprises the following steps:
In coding side
1st, during connection is established, receiving-transmitting sides consult whether transmission control protocol stream carries out network code, if
Network code is carried out, then network code layer control block corresponding to foundation, initialize control information, and set transmission control protocol company
Connect the respective flag of control block;
2nd, when transmission control protocol layer sends initial data message, the processing method of transmission network coding layer is:
1) the network code layer link control module according to corresponding to being searched initial data message, if it is possible to find corresponding control
Clamp dog, then demonstrate the need for performing network-encoding operation, perform step 2);If not finding corresponding control block, show not
Need to perform network code, perform step 5);
2) it is the message for controlling message or carrying data to judge data message, if control message, then need not be performed
Network-encoding operation, perform step 5);
3) data message is cached in sliding window, present encoding window is slided backward into a message;
4) coding counter NUM=NUM+R is set, wherein, R is the redundancy that current process adaptively adjusts, and is produced
It is rawThe coding message that the linear combination of the individual message by present encoding window forms, fill corresponding coding head
Portion, hereinRepresent the number for the coding message that needs generate;And update coding counter
5) coding message is sent to Internet protocol layer, and sent via Internet protocol layer, data link layer;
3rd, when receiving the confirmation ACK messages of receiving terminal feedback, method is handled as follows:
1) according to the acknowledged sequence number confirmed in ACK messages, the transmit queue of coding side is operated, byte sequence number is small
Deleted in the data message of acknowledged sequence number from transmit queue;
2) according to the receive information of receiving terminal in the confirmation ACK headings of feedback, adaptive packet loss estimation is carried out
Adjusted with redundancy;
3) the confirmation ACK messages of feedback are modified as the form for meeting transmission control protocol data message, then pass to biography
Transport control protocol discusses layer;
In receiving terminal
1st, during connection is established, receiving-transmitting sides consult whether transmission control protocol stream carries out network code, if
Network code is carried out, then network code layer control block corresponding to foundation, initialize control information, and set transmission control protocol company
Connect the respective flag of control block;
2nd, when receiving the data message that Internet protocol layer is communicated up, the processing method of network code layer is:
1) the network code layer link control module according to corresponding to being searched data message, if it is possible to find corresponding control
Block, then it represents that need to perform network-encoding operation, perform step 2);If corresponding control block can not be found, then it represents that no
Need to perform network-encoding operation, perform step 7);
2) it is the message for controlling message or carrying data to judge message, if control message, then performs step 7);
3) data message is cached in the pending data message queue backlog of corresponding connection, backlog represents to treat
Processing;
4) judge whether include next expectation in the data message in pending data message queue backlog one by one
The information for the initial data message being decoded;If so, then needing to obtain the code coefficient vector of the message, and the message is added
Into the data message queue decoding decoded, decoding represents to decode;
5) according to the code coefficient of the data message decoded in queue decoding vector, obtain decoding coefficient square
Battle array, to decoding matrix carry out Gaussian elimination, obtained from the matrix after Gaussian elimination accordingly by " seen " and by
" decoded " message;Wherein, " seen " is represented when a data message is by the linear of other sequence numbers data message higher than it
When combination is indicated, being considered as this data message can be by " seen ", and " decoded " represents to pass through decoded matrix
When a line only has the element that one is 1, it is believed that this data message is added to by " decoded " and has been decoded data
In message queue decoded;
If 6) there is the message of new " seen ", corresponding confirmation ACK messages are sent;
7) message being decoded in data message queue decoded is sent into transmission control protocol layer to be handled;
3rd, when there is the message of new " seen ", it is necessary to which feedback reception end network code layer receives successful information, its mistake
Journey is sent dependent on transmission control protocol layer confirms ACK messages;When transmission control protocol layer sends confirmation message:
1) according to transmission control protocol layer send confirmations ACK messages in confirmation ACK sequence numbers, by the sequence number renewal arrive pair
In the network code layer link control module answered, and by for being decoded deleting for data message in data message queue decoded
Division operation;
2) according to transmission control protocol layer confirmation number and window value size, transmission network coding layer window value size is calculated;
3) confirmation number of network code floor and window value are modified in confirmation message, then sent.
Further, the method for redundancy adjustment is:
In transmitting terminal, the data message for reaching network code layer when data are sent to transmission control protocol layer adds sequence number,
This sequence number, which does not differentiate between, retransmits message and normal message, and whether do not differentiate between has band data, as long as the connection of this transmission control protocol
Message, all uniformly it is numbered, and writes in packet networks coding stem;
In receiving terminal, it is first determined the counting period of a calculating packet loss;It is first by network code when receiving data
Sequence number value in portion, every 100 sequence numbers carry out a packet loss and calculated, and write-in is worked as in the network code stem of ACK messages
Preceding packet loss;
In transmitting terminal, after have received ACK messages, the packet loss loss_rate that receiving terminal calculates is read, according to packet loss
Redundancy is calculated, redundancy R calculation formula are as follows:
Wherein, m and n is constant.
Further, the network code layer connection, corresponding a set of network code layer control information, including network code layer
Control information, network code layer connection status, data message maximum burst length MSS and the Window Scale information of connection, decoding
Parameter information, privately owned control information, queue management information.
Further, the sliding method of sliding window is:An original transmitted for participating in coding is maintained in network code layer
Control protocol data message queue, when each initial data message needs to carry out coding transmission, select current original transmitted
Control protocol data message and 4 original transmitted control protocol data messages before it are encoded, then are transferred out.
Compared with prior art, beneficial effects of the present invention:
1st, present invention uses a kind of adaptive redundancy Regulation mechanism, the relative packet loss of network can be estimated in real time
Rate, so as to adjust redundancy.This mechanism can tackle the packet loss real-time change of network well, can preferably tackle
Packet loss nondeterministic network environment, particularly wireless network.
2nd, to the modification of fast retransmission mechanism so that the present invention quick-recovery can also gulp down soon in the case of a large amount of packet losses that happen suddenly
The amount of telling, the transmission performance of network is set to keep stable.
3rd, held consultation during TCP connections are established and whether select to carry out network code, if without network code,
The data message of TCP layer is directly then sent to IP layers, then sent, without network code layer, receiving terminal is also such as
This, if the result consulted is to need to carry out network code, transmitting-receiving two-end is required to by network code layer so that program energy
It is enough perfect compatible with the progress of existing Transmission Control Protocol.
Brief description of the drawings
Fig. 1 is the form of network code layer stem in the present invention.
Fig. 2 is coding window strategy --- sliding window in transmit queue in the present invention.
Fig. 3 is that system realizes framework in the present invention.
Fig. 4 is the data message form in the present invention.
Fig. 5 is the formulae express of the coded data message received in the present invention.
Fig. 6 is the simplified formula statement of the coded data message received in the present invention.
Fig. 7 is that transmission packet is queue snd_buf_head in the present invention.
Fig. 8 be in the present invention decode flow in pending (backlog), decode (decoding), decoded
(decoded) data message queue.
Fig. 9 is network code layer queue and the graph of a relation of private control information in the present invention.
Figure 10 is three-way handshake implementation process figure in the present invention.
Figure 11 is four implementation process figures of waving in the present invention.
Figure 12 is the coding implementation process schematic diagram of the present invention.
Figure 13 is realization of decoding schematic flow sheet in the present invention.
Figure 14 is the actual measurement scene frame diagram of the present invention.
Figure 15 is the transmission performance comparison diagram under packet loss 5%, RTT=100ms, Bandwidth Dynamic change.
Figure 16 is to change the influence schematic diagram to transmission performance with a width of 1Mbps, RTT=100ms, packet loss.
Embodiment
The present invention is further detailed explanation with reference to the accompanying drawings and detailed description.The basic realization of the present invention
Framework is to add a layer network coding layer among the TCP layer and IP layers of traditional layer network models of OSI seven to realize compiling
Code transfer function, as shown in Figure 3.
Network code functional module is directed to each TCP connection and encoded, and the data message of difference connection is not
It can be encoded, the datagram literary talent of only same connection can be encoded.Being held consultation during TCP connections are established is
No selection carries out network code, if without network code, the data message of TCP layer directly is sent into IP layers, Ran Houfa
See off, without network code layer, if receiving terminal is also in this way, the result consulted is to need to carry out network code, receive and dispatch
Both ends are required to by network code layer so that the program can carry out perfect compatible with existing Transmission Control Protocol.
Data message form after network code is as shown in Figure 4.In conventional network protocols, data message is by IP
Stem, TCP stems, TCP data load three parts composition.The data message of scheme is by IP layer stems, network code layer stem, net
Network coding layer data load, wherein, network code layer data load is by TCP stems and the TCP data load of conventional network protocols
Lotus performs the encoding operation what is obtained, and network code layer stem is due to then to introduce some corresponding coding and decodings after network code layer
Control information.IP layers header length is 20~60 bytes (similar with Traditional IP layer head), and network code layer header length is 48
Byte, network code layer data loaded length are the length sum of TCP stems and TCP data load.
The form of network code stem layer by layer is as shown in Figure 1.Network code layer stem is made up of 48 bytes.Wherein,
Source port and Destination port represent the source port and destination interface of network code data message respectively, due to
Traditional ICP/IP protocol that network code layer utilizes, port herein are the port of TCP layer;Base domain representations transmitting terminal is sent out
Send byte sequence number minimum in queue;The first character of 1 domain representations of Start, first original TCP data message for participating in coding
Sequence number is saved, is absolute value herein, therefore length is 32;Resv domain representation reserved parts, in current version, the net of filling
Network coding layer header length;Last byte sequence of 1 domain representations of End, first original TCP data message for participating in coding
Number, it is the relative value relative to Start 1, length is 16;2 domain representations of Start, second original TCP number for participating in coding
It is the relative value relative to Start 1, length is 16, when an only TCP data report according to the first character section sequence number of message
When text participates in coding, the value is filled with 0;The implication in the domain of Start 3, Start 4, Start 5 is similar with Start 2;The tables of End 2
Show last byte sequence number of second original TCP data message for participating in coding, be the relative value relative to Start 1,
Length is 16, and when only a TCP data message participates in coding, the value is filled with 0;The domain of End 3, End 4, End 5
Implication is similar with End 2;N domain representations participate in the original TCP data message number of coding;I-th of participation coding of a [i] domain representation
Original TCP data message corresponding to code coefficient, if participated in without i-th of original TCP data message, for 0;
Wscale represents the Window Scale factor of network code packet;The byte sequence number that ncack domain representation network codes layer confirms, i.e.,
The network code layer for sending network code data message it is expected the sequence number of the next byte received;Recv window domains table
Show the current reception window value of the network code layer to send datagram;Private 1 and the domains of private 2 are that progress is adaptive
The feedback parameter for answering redundancy to adjust.
The principle of network code is considered as following matrix operation:
Wherein, qiRepresent i-th of original TCP data message for participating in coding, and data message to be decoded, PjRepresent
J-th of encoded later network code data message.Wherein by element aijThe matrix A of composition is relative code coefficient square
Battle array, the data message P of its corresponding coding per a linejCoefficient vector, its it is each row then correspond to each participate in coding
Original TCP data message, therefore element aijRepresent in i-th of coded data message corresponding to j-th of original TCP data message
Code coefficient.It is to connect 3 original TCP data message codings into 4 network code data messages in above-mentioned matrix operation
Receiving end only needs to guarantee each row linear independence for the data message and coefficient matrix for receiving 3 network codes, former
The TCP data message of beginning is that decodable code comes out.Here with thought be redundancy encoding thought, so as to realize confrontation network number
According to the loss of message.
The loss of confrontation network message is realized using redundancy encoding, is related to the design of redundancy.The rise meeting of redundancy
Cause the effective speed of transmission to have certain decline, but speed caused by can be seen that packet loss by the test of reality decline it is remote
The loss brought higher than unnecessary redundancy.Therefore, best situation is that redundancy can be higher than its corresponding packet loss, and with
The change for packet loss dynamically adjusts.A kind of self-adaptive redundant degree algorithm is proposed in the present invention, its principle is:Passed through sending
When crossing the data message of coding, a data test serial number is filled in network code layer stem, this sequence number is different from TCP layer word
Sequence number is saved, TCP layer byte sequence number is that the data message sequence number of network code layer is for reality in order to ensure the transmitting of byte
The estimation of existing self-adaptive redundant degree;In receiving terminal, by obtaining network code layer data test serial number, and by calculating current number
According to the data message number lost in stream a period of time to estimate packet loss, and the packet loss of the estimation is fed back into transmitting terminal;
In transmitting terminal, by the packet loss of feedback, carry out computing redundancy degree, in theory redundancyThe redundancy actually calculated
Degree is often bigger than theoretical value.
Although the window size of network code is fixed, actual data message coding is to use sliding window machine
System, as shown in Fig. 2 an original TCP data message queue for participating in coding is maintained in network code layer, in each original number
When needing to carry out coding transmission according to message, current original TCP data message and 4 original TCP datas before it are selected
Message is encoded, and is then transferred out.Such as when TCP layer sends initial data message qkWhen, then currently participate in the original encoded
Beginning data message is (qk-4, qk-3, qk-2, qk-1, qk), then when TCP layer next time sends initial data message qk+1When, participate in compiling
The initial data message of code is (qk-3, qk-2, qk-1, qk, qk+1), it is original sending every time although so coding window is 5
During TCP data message, window can slide backward a data message length, by that analogy, until data message is sent completely.
In the receiving terminal of network code layer, decode-history table can be stated into formula as shown in Figure 5.Wherein, pjRepresent
J-th of encoding transmission data message received, qiRepresent the original TCP data message that i-th of TCP layer is sent, middle square
Battle array is coefficient matrix.The data message p of a coding is corresponded in above-mentioned coefficient matrix per a linejCoefficient vector, its each row
Then correspond to each original TCP data message for participating in coding.Moved after being slided due to coding window, therefore its columns
With the increase of more newly arriving of coding window;Its line number over time and the coded data message number that receives and increase.Translate
Code process solves above-mentioned original TCP data message qi, therefore only need coefficient matrix being transformed into unit matrix, then decodable code goes out
Original TCP data message.
During decoded operation is performed, even if having no idea coefficient matrix being transformed into unit matrix, i.e., it can not decode
Go out original TCP data message, but if can be by coefficient matrix abbreviation into following form as shown in fig. 6, i.e. coefficient matrix
Become two submatrixs, the submatrix on the left side is unit matrix, and the submatrix on the right is non-zero matrix, is also in this case
Significant.If matrix a line only has a nonzero element, original TCP data corresponding to this nonzero element column
Message can be by " decoded (decoding) ", than the first row of such as above-mentioned matrix;If coefficient matrix can abbreviation into above-mentioned shape
Formula, then it can consider that original TCP data message corresponding to each row can consider by " seen " in the unit matrix of the left side, because at this
In the case of kind, follow-up coded data message can not include the original TCP data message, as long as receiving terminal receives others
Data packet messages, such as q6,q7, can also be by q5Decoding comes out, on the other hand, receiving terminal can send the datagram of " seen " in advance
The confirmation being properly received of text, the data message can be deleted so as to notice transmitting terminal.In network code layer, it is expected what is received
Next byte sequence number is to include the data message of next byte sequence number for it is expected to be arrived Bei " seen ".Therefore realizing
Journey, the byte sequence number of confirmation are the sequence numbers of " seen ".
In network code layer, fed back when there is new data message byte by " seen ", it is necessary to send confirmation (ACK) message
Corresponding reception successful information is noticed to transmitting terminal;, it is necessary to will be corresponding when there is new data message byte by " decoded "
The byte of decoding out passes to TCP layer.
Similar with TCP layer, network code layer also possesses corresponding network code layer connection control information.Due to network code
Functional module is directed to each TCP connection and encoded, therefore in order to ensure to be reliably connected, scheme also define one
Individual network code layer connection, is uniquely identified using the four-tuple of (source IP, purpose IP, source tcp port, purpose TCP port)
One network code layer connection.
Connected for each network code layer, it includes many network code layer states (state), and major function is
Establishment of connection, the maintenance of connection, the release of connection, process, the compiling of TCP establishment of connections (three-way handshake) are corresponded to respectively
The process of code transmission, the process of the release (four times wave) of TCP connections.Main state includes:NCSYN_SENT、NCSYN_
RECV、NCSYN_ACK_SENT、NCSYN_ACK_RECV、NCESTABILISHED、NCFIN_WAIT_1、NCFIN_RECV、
NCFIN_WAIT_2、NCCLOSE_WAIT、NCLAST_ACK、NCLAST_ACK_RECV、NCTIME_WAIT、NCCLOSED.On
The state of stating is mainly used in connection and establishes and discharge.The coding and decoding transmission of information only can just enter under NCESTABILISHED states
OK.
The control information got in network code layer control information comprising a part from TCP connections, control information
Acquisition is mainly analyzed what is obtained by analyzing original TCP data message.These control information include:Corresponding TCP connects
The sock information that connects, the Window Scale factor (wscale), the biggest subsection (MSS), the reception window value (tcp_ of TCP connections
Wnd), the confirmation number (tcp_ack) of TCP connections.
The privately owned control information of network code layer, mainly includes:It is next it is expected by the byte sequence number (nxt_ of " seen "
Seen), next expectation is decoded the byte sequence number (nxt_decoded) of " decoded ", next expectation is delivered to TCP
The byte sequence number (nxt_kernel) of layer, next expectation are added to the byte sequence number (nxt_newbytes) of decoding queue, net
Network coding layer confirms but does not also confirm (net in advance by the data message number (num_ncpkt) of kernel confirmation, network code layer
The byte number that the byte number that network coding layer confirms-TCP layer confirms), this is it is also assumed that be the data for being temporarily stored in network code layer
Byte number (nc_len).
For decoding coefficient matrix, because its each row then corresponds to each original TCP data message for participating in coding.
In the coefficient matrix of decoding, each row represent an original TCP data message respectively, then how to distinguish an initial data
Message, an original TCP data message is uniquely determined respectively with its start byte sequence number and length.COEFF_LEN is most
The raw data packets number of row decoding, i.e., be up to COEFF_LEN row are entered in big permission simultaneously.Schema definition therefore two
Control information:The start byte sequence number (nc_dseq [COEFF_LEN]) of data message corresponding to each row of decoding matrix, decoding
The length (nc_dend [COEFF_LEN]) of data message corresponding to each row of matrix.For original TCP corresponding to coefficient matrix
Data message can be updated according to decoding situation, that is, the TCP data message being decoded and to subsequently decoding no valency
Value, then the original TCP data message will be moved out of decoding matrix, same to have a new original TCP data message
When needing to add, decoding matrix can also update.
The main of network code layer includes four data message queues:A. message queue (snd_buf_head) is sent;b.
The pending data message queue (backlog) of receiving terminal;C. the current data message queue (decoding) decoded;d.
The data message queue (decoded) decoded.
The buffer queue that message queue is the original TCP data message of storage is sent, as shown in Figure 7.It adds criterion
When TCP layer needs to send original TCP data message, in network code layer, the data message is replicated, then discharges former number
According to message, and the data message of duplication is added to and sent in message queue, then etc. pending coding, send operation;It is deleted
Except criterion be check corresponding to receive the ACK of data message and confirm number, byte representation before the confirmation number receiving end
Decoding is come out or can decode out, then the byte before the confirmation number can be deleted, therefore the sequence of last byte
Number be less than sending datagram for the value will remove and delete from the queue.
Pending data message queue (backlog) is functionally similar to backlog queue, mainly stores out of order to working as
Decoded operation valuable data message of the preceding decoded operation without value but for future.It inserts criterion, in network
After coding layer receives coded data message, first it is added in pending queue;It removes criterion, in reception processing
Cheng Zhong, whether the data message first checked in pending queue is valuable to current decoded operation, if so, then by it from treating
Removed in reason data message queue, be added to decoding queues, otherwise, continue to be buffered in pending data message queue.
Data message queue (decoding) caching decoded is to the valuable datagram of current decoded operation
Text, it is synchronous that it, which inserts criterion with the removal criterion of pending data message queue, i.e., is moved from pending data message queue
Except just along with the insertion for decoding queue;It removes criterion, when data message is decoded out, and for follow-up
Decoded operation, which does not have to be worth, (i.e. with the minimum byte not being decoded not in a coding window, then to be affirmed to minimum not
The decoding for being decoded byte is not worth), meet above-mentioned two condition, then data message can be moved from decoding queues
Remove, remove operation and be usually associated with coefficient matrix decoding parameter nc_dseq [COEFF_LEN], nc_dend [COEFF_LEN]
Renewal.It should be noted that for the data message that each is being decoded, a code coefficient vector is all corresponded to, for representing
The code coefficient of the original TCP data message of coding, and a decoded state variable, including NC_UNSEEN, NC_SEEN are participated in,
NC_DECODED, NC_REDUNDANCE, state can update in decoded operation, and NC_UNSEEN represents that current data message does not have also
Have by " seen ", it is impossible to confirm the data message in advance, the original state of all data messages for being just added to queue is NC_
UNSEEN;NC_SEEN represents that the data message can be by " seen ", you can is confirmed in advance to transmitting terminal with receiving end;NC_
DECODED represents that current data message can be decoded out, state is set into the state must is fulfilled for coefficient vector and translating
Code during allow for being transformed into only one for 1 it is original, it is 0 that remaining is original;
NC_REDUNDANCE represents that current data message is the data message of redundancy, to be set to the state, it is necessary to meets system
Number vector allows for being transformed into during decoding is all 0, and in such cases, the data message is not worth to decoding,
Can directly it be deleted.
Be decoded data message queue (decoded) caching be decoded but it is also not true by TCP layer
The data message recognized.Its insert criterion be ought decode queue data message be decoded out after, be directly inserted into
To decoded queues;It is (successfully to be received after data message is confirmed by TCP layer by TCP layer that it, which removes criterion,
To), then it can be removed from decoded queues.For the data message in decoded queues, a state variable is all corresponded to, is used
To identify the state for passing to local TCP layer, principal states have:NC_UNSENTUP (does not pass to TCP layer also), NC_
SENTUP_UNACK (passes to TCP layer, but also does not confirm to receive successfully by TCP layer), and NC_SENTUP_ACK is (by TCP
Layer confirms to receive successfully), and NC_SENTUP_SACK (selection ACK, i.e., a part of data message confirm to receive successfully by TCP layer, and one
Part not confirmed is properly received), NC_RESENTUP_SACK (is confirmed by SACK, but not confirmed successfully to receive in order, then
Again upload), NC_DUPSENTUP (is not successfully authenticated reception, then upload again).
Some packet is to be present in the queue (decoding) decoded and the queue being decoded simultaneously
(decoded), because although these data messages are decoded out, but it is also valuable to follow-up decoding.Meeting
In the case of corresponding, packet removes from queue first, then judges whether to be also present in other queues, if not having, directly
The data message can be deleted by connecing.
Pending (backlog) in Fig. 8 decoding flows, decode (decoding), decoded ((decoded) number
According to message queue.Although a data message may be simultaneously present with two data message queues, still in fact only have a number
According to message body, data message is pointed to simply by two different pointers.
The queue mechanism of network code layer is corresponding with its privately owned control information.As shown in figure 9, the number being decoded
According to message queue, from tcp_ack (i.e. the desired next byte sequence number of TCP layer), to nxt_decoded, (network code layer is next
The individual byte sequence number for it is expected to be decoded);The current data message queue decoded is from nc_dseq [0] to nxt_
Newbytes (i.e. next expectation is added into the byte sequence number of decoding queue).It is (next from tcp_ack to nxt_kernel
It is expected to be sent to the byte sequence number of TCP layer) represent to have been communicated to TCP layer but byte number that also not confirmed is properly received;
Represent to be decoded from nxt_kernel to nxt_decoded but do not pass to the byte number of TCP layer also;nxt_
Decoded to nxt_seen represents the byte number that can be in advance confirmed by network code layer but can not successfully be decoded;Here
Nxt_seen to nxt_newbytes represents the byte number that can not be identified in advance.
Foregoing control information collectively forms the control information of network code layer, the connection of each network code layer, and corresponding one
Control information as set, including the connection of network code layer control information (uniquely determine the connection of network code layer, and
Connection status), data message maximum burst length and Window Scale information, decoding parameter information, privately owned control information, queue pipe
Manage information.
The process of three-way handshake, it is exactly the mistake for building NC layers link control module and initializing some coding and decoding parameters in fact
Journey, mainly decode parameter.Therefore main parameter initialization be last Control Cooling of reception packet when
Wait.As shown in Figure 10, the specific implementation flow of three-way handshake is:
1) Client TCP layer sends SYN messages, and after Client NC layers receive SYN messages, it understands that Client is needed
A connection is initiated, therefore it needs to build NC layer control blocks for such TCP connections, and NC layer connection status is set to
NCSYN_SENT, SYN messages are directly then sent to Server;
2) after Server NC layers receive Client SYN messages, it understands that a Client is asking a company
Connect, therefore be also required to create NC layer control blocks for this connection, and NC layer connection status is set to NCSYN_RECV, then will
SYN messages are sent to TCP layer;
3) Server TCP layer sends SYN+ACK messages, and after Server NC layers receive the message, NC layers are connected
The state of connecing is set to NCSYN_ACK_SENT, and message directly is sent into Client;
4) Client NC layers receive the SYN+ACK messages of Server transmissions, and NC connection status is set to by it first
NCSYN_ACK_RECV, because the message is the last control message before Client receives the message with data, therefore need
Initialize the decoding parameter of NC layers connection, including NC layers it is expected to be added to the byte sequence number, next time of decoding queue next time
It is expected the byte sequence number of " seen ", the byte sequence number for it is expected to be decoded next time, it is expected to pass to the syllable sequence of kernel next time
Number, the sequence number that these byte sequence numbers are equal to current SYN+ACK packets adds 1, in addition to the ACK sequence numbers of distal end and reception window
Size.Then message is directly passed into TCP layer;
5) Client TCP layer sends ACK messages, and expression acknowledges receipt of SYN+ACK, in NC layers, NC is connected into shape first
State is set to NCESTABILISHED, and current ACK messages then are added into a NC header, are then sent to Server;
6) Server NC layers are when receiving above-mentioned ACK messages, when how to judge ACK messages now with transmission data
ACK messages difference, need bonding state to be judged herein, i.e., if NC connection status is NCSYN_ACK_SENT, and
And receive ACK messages, then it represents that the message that this ACK message is shaken hands for third time, be first set to NC connection status
NCESTABILISHED;Because the message is the last control message before Server receives the message with data, therefore need
Initialize the decoding parameter of NC layers connection, including NC layers it is expected to be added to the byte sequence number, next time of decoding queue next time
It is expected the byte sequence number of " seen ", the byte sequence number for it is expected to be decoded next time, it is expected to pass to the syllable sequence of kernel next time
Number, these byte sequence numbers are equal to the sequence number of current SYN+ACK packets, in addition to ACK sequence numbers of distal end and to receive window big
It is small.Then message is transmitted into TCP layer;
Based on aforesaid operations, the negotiation of three-way handshake is just completed, Server connects with Client NC layers all to be located
In NCESTABILISHED states.Therefore the coding and decoding operation that can be transmitted.
Four processes waved, it is exactly to discharge NC layers resource and the process of link control module in fact.As shown in figure 11, it is led
Process is wanted, is illustrated so that Client sends FIN packets first as an example:
1) Client TCP layer sends FIN messages, when the NC layers of local receive FIN messages, first by FIN data
Bag is placed on NC layers, waits data message all in transmit queue to confirm, after all data messages are all identified, then
The transmit queue of NC connections is emptied, it is NCFIN_WAIT_1 to put connection status, and FIN messages are sent into Server;
2) when Server NC layers receive the FIN messages of Client transmissions, the local number being decoded out is first looked at
According to whether thering is packet to be not issued to TCP layer in bag queue, if any TCP layer being then immediately sent to, when TCP layer confirms own
Packet when, then the queue relevant with decoding of NC connections is emptied, it is NCFIN_RECV to put connection status, by FIN messages
Pass to TCP layer;
3) Server TCP layer sends ACK messages, is NCFIN_RECV when determining current NC connection status, and send out
When what is sent is ACK messages, expression is the confirmation of the FIN messages sent to opposite end, and it is NC_CLOSEWAIT to put NC connection status, will
ACK messages are transmitted directly to Client;
4) Client NC layers receive ACK messages, are NCFIN_WAIT_1 when determining current NC connection status, and
When what is received is ACK messages, expression is the confirmation to the FIN messages of transmission, and it is NCFIN_WAIT2 to put NC connection status, by ACK
Message is transmitted directly to TCP layer;
5) Server TCP layer sends FIN messages, when the NC layers of local receive FIN messages, first by FIN data
Bag is placed on NC layers, waits data message all in transmit queue to confirm, after all data messages are all identified, then
The transmit queue of NC connections is emptied, it is NCLAST_ACK to put connection status, and FIN messages are sent into Client;
6) when Client NC layers receive the FIN messages of Server transmissions, the local number being decoded out is first looked at
According to whether thering is packet to be not issued to TCP layer in bag queue, if any TCP layer being then immediately sent to, when TCP layer confirms own
Packet when, then the queue relevant with decoding of NC connections is emptied, it is NCLAST_ACK_RECV to put connection status, by FIN
Message passes to TCP layer;
7) Client TCP layer sends ACK messages, is NCLAST_ACK_RECV when determining current NC connection status, and
And send be ACK messages when, expression be to opposite end send FIN messages confirmation, it is NCTIME_ to put NC connection status
WAIT, ACK messages are transmitted directly to Server;
8) Server NC layers receive ACK messages, are NCLAST_ACK when determining current NC connection status, and connect
When what is received is ACK messages, expression is the confirmation to the FIN messages of transmission, and it is NCCLOSED to put NC connection status, by ACK messages
TCP layer is transmitted directly to, and discharges all resources of NC layer control blocks and control block message;
9) NC connection status is set to by Client after two maximum segment lifetime times are waited
NCCLOSED, and discharge all resources of NC layer control blocks and control block message.
The encoding operation that network code layer performs data message must be carried out under NCESTABILISHED states, and its is specific
Implementation process it is as shown in figure 12:
1) during foundation is connected, receiving-transmitting sides consult whether TCP flow carries out network code, and set connection control
The corresponding mark of block;
2) establish network code layer by three-way handshake to connect, and ensure that the connection of network code layer is in
Under NCESTABILISHED states;
3) when TCP layer needs to send original TCP data message, the processing method of network code layer is:1) report is judged
Text is the message for controlling message or carrying data, if control message, is then directly entered 4);2) data message is cached to cunning
In dynamic window, present encoding window is slided backward into a message;3) set NUM=NUM+R (wherein R as current process from
The redundancy of adjustment is adapted to, is directly obtained from the control information of connection), and produceThe individual report by present encoding window
The coded data message that the linear combination of text forms, and fill corresponding coding head, setting
4) coding message is sent into IP layers to be handled.
The implementation process of self-adaptive redundant degree algorithm is:
1) sequence number is added in transmitting terminal, the data message for reaching network code layer when data are sent to TCP layer, this sequence number is not
TCP sequence numbers are same as, it, which is not differentiated between, retransmits message and normal message, and whether also do not differentiate between has band data, as long as this TCP connection
Message, all uniformly it is numbered, and writes in packet networks coding stem.
2) in receiving terminal, a counting period for calculating packet loss (generally 100 packets) is determined;Receiving data
When by the sequence number value in network code stem, every 100 sequence numbers carry out a packet loss and calculated, and in the network of ACK messages
Present packet loss is write in coding stem.
3) in transmitting terminal, after have received ACK messages, the packet loss loss_rate that receiving terminal calculates is read, according to packet loss
Rate calculates redundancy.Redundancy calculation formula is as follows:
Wherein m and n is coefficient;General m selects 1.1, n selections 1.
The specific implementation flow for decoding flow is as shown in figure 13:
1) during foundation is connected, receiving-transmitting sides consult whether TCP flow carries out network code, and set TCP connections
The respective flag of control block;
2) when receiving the data message that IP layers are communicated up, the processing method of network code layer:1) judge that message is
Control message still carries the message of data, if control message, is then directly entered 5);2) data message is cached to pending
In data message queue (backlog), 3) data message in pending data message queue (backlog) is added to
Decoding data message queue (decoding), according to the code coefficient vector of data message in current decoding queues, obtain
Corresponding decoding matrix;4) Gaussian elimination is carried out to decoding matrix, quilt accordingly is obtained from the matrix after Gaussian elimination
" seen " and by " decoded " message;If 5) there is the message of new " seen ", corresponding ACK messages are sent;6) according to height
The matrix and transformation matrix of this member that disappears, update the data message in decoding queues;7) data message of " decoded " is sent out
TCP layer is given to be handled.
3) when TCP layer is to transmitting terminal feeding back ACK message, it is necessary to according to the decoding information of local network coding layer, modification
ACK sequence numbers and reception window value, then again send ACK messages.
When TCP layer is to transmitting terminal feeding back ACK message, what original ACK messages confirmed is the word being properly received of TCP acknowledgment
Save sequence number.After network code layer is introduced, encoded transmission, even if network code layer can not decode corresponding data message
Out, if ensure network code layer can " seen " with the data message, should even if not including in follow-up coding message then
Data message information, as long as comprising the later information of enough messages, the data message can also be decoded out, therefore net
Network coding layer is actual, and confirm is the byte sequence number for it is expected seen next time.The ACK messages sent for TCP layer are, it is necessary to by ACK
Confirmation number is revised as nxt_seen sequence numbers, and at the same time corresponding window value is also required to change.In theory, rear hatch value etc. is changed
Window value size in current original ACK messages subtracts the expense of the byte number (nxt_seen-tcp_ack) confirmed in advance.
In actual implementation process, the calculation expression of window value (nc_recvwnd) is:
Nc_recvwnd=tcp_wnd- [(nxt_seen-tcp_ack)+num_ncpkt*overhead]
Wherein, tcp_wnd represents the window value size of the original ACK messages of TCP layer, and num_ncpkt represents network code
Layer needs the data message number confirmed in advance, and overhead represents the volume that each network code layer data message may take
Outer window expense, including IP layers stem, MAC layer stem, data message structure expense etc..
To verify beneficial effects of the present invention, it is as shown in figure 14 that the present invention surveys scene framework.Two Linux network manager services
Device channel simulation equipment connects, and two Linux gateways are respectively connected with a Windows computer, two Windows computers
Data are transmitted by corresponding Linux gateway servers.Method of testing:Network code layer is with Linux kernel module (.ko)
Form is loaded into two Linux gateway servers.Transmission performance is tested by Jperf softwares in two Windows terminals.
Broadband measured result:Consideration 100Mbps, 20Mbps two kinds of different bandwidths, 0%, 3%, 5%, 10%, 20% 5 kind
Packet loss, 100ms, under two kinds of time delay scenes of 1000ms, two Windows computers of test reliable information transfer speed end to end
Rate.Specific test result is as shown in Table 1 and Table 2.
The bandwidth 100Mbps performance tests of table 1 contrast
The bandwidth 20Mbps performance tests of table 2 contrast
Test result:Traditional Transmission Control Protocol is can be seen that in transmission environment deterioration, packet loss from above-mentioned test result
During rise, transmission rate, which occurs, drastically to be deteriorated.As shown in table 2, when with a width of 20Mbps, packet loss becomes from 0% to be turned to
3%, transmission performance reduces 29 times or so.When using network code agreement, the lifting of packet loss will not cause transmission rate
Drastically decline, transmission rate can be ensured well.As shown in table 1, with a width of 100Mbps, during RTT=100ms,
When packet loss is less than or equal to 10%, the transmission rate of network coding technique is in more than 50Mbps, even if packet loss is 20%,
Transmission rate is still able to stable in 32Mbps.Contrast Tables 1 and 2, it can be seen that after there is packet loss in network, conventional TCP
Agreement transmission performance is substantially not related with bandwidth, and the bottleneck of transmission performance is Network Packet Loss.Network coding technique can
Preferably overcome adverse effect of the Network Packet Loss to transmission performance, improve bandwidth availability ratio.
Arrowband measured result:For 2 kinds of different bandwidths, 0% such as 1Mbps, 512Kbps, 3%, 5%, 10%, 20% grade 5
Two kinds of kind packet loss, 100ms, 1000ms time delays configurations, test the reliable rate of information throughput end to end.Specific test result
As shown in Table 3 and Table 4.
The bandwidth 1Mbps performance tests of table 3 contrast
The bandwidth 512Kbps performance tests of table 4 contrast
Test result:From above-mentioned test result, it can be seen that conventional TCP protocols are in transmission environment under narrowband condition
When deterioration, packet loss rise, transmission rate, which occurs, drastically to be deteriorated, and under high packet loss situation, deterioration is more serious.Such as table
Shown in 4, when with a width of 512Kbps, packet loss becomes from 10% turns to 20%, and transmission performance is reduced close to 9 times or so.Make
During with network code agreement, under high packet loss situation, transmission rate can be kept well.As shown in table 4, in bandwidth
For 512Kbps, during RTT=100ms, when packet loss is 20%, transmission rate can still reach 240Kbps.Contrast tradition
The test data of Transmission Control Protocol and network code agreement, it can be seen that under low bandwidth configuration, network coding technique can be preferable
Ground overcomes adverse effect of the Network Packet Loss to transmission performance, improves bandwidth availability ratio.
Network bandwidth dynamic change measured result.Verification method:Slowly varying, a width of 1Mbps of initial strip of bandwidth, every
30s bandwidth increases 2Mbps, increases to after 11Mbps, then reduces 2Mbps every 30s bandwidth, and test result is as shown in figure 15.
Test result:Conventional TCP host-host protocol is can be seen that when network packet loss rate is 5% from above-mentioned test result,
Although bandwidth is sufficiently large, transmission rate is still very low.In Configuration network coding protocol, its transmission performance, which has, substantially to be carried
Rise, and the transmission rate of its different time sections is consistent with corresponding bandwidth, improves bandwidth availability ratio.But conventional TCP transmits
Agreement Mean Speed then very little always, this shows that the bandwidth availability ratio of conventional TCP protocols is very low.
Network packet loss rate dynamic change measured result.For two kinds of bandwidth of 1Mbps, 20Mbps, 100ms time delay scenes, survey
Try the packet loss influence of dynamic change for the rate of information throughput end to end under the conditions of 3%, 5%, 10%, 20% 4 kind.
The specific test scene of dynamic change of packet loss is configured to:0~60s, packet loss 3%;60~120s, packet loss 5%;
120~180s, packet loss 10%;180~240s, packet loss 20%, specific test result are as shown in figure 16.
Test result:Conventional TCP host-host protocol is can be seen that when network has packet loss from above-mentioned test result, its
Transmission rate is much smaller than bandwidth, and deteriorates in transmission environment, and when packet loss raises, deterioration occurs in transmission rate.Configuring
During network code agreement, its transmission performance is significantly better than non-reinforced TCP transmission agreement, and its average transmission rate will not go out
Now acutely decline, transmission rate can be ensured that bandwidth availability ratio is higher well.
Claims (4)
1. a kind of adaptive end to end network coding and transmission method, it is characterised in that comprise the following steps:
In coding side
1), during connection is established, receiving-transmitting sides consult whether transmission control protocol stream carries out network code, if carried out
Network code, then network code layer control block corresponding to foundation, initializes control information, and sets transmission control protocol connection control
The respective flag of clamp dog;
2), when transmission control protocol layer sends initial data message, the processing method of transmission network coding layer is:
(1) the network code layer link control module according to corresponding to being searched initial data message, if it is possible to find corresponding control
Block, then demonstrate the need for performing network-encoding operation, perform step (2);If not finding corresponding control block, show to be not required to
Network code is performed, performs step (5);
(2) it is the message for controlling message or carrying data to judge data message, if control message, then need not perform network
Encoding operation, perform step (5);
(3) data message is cached in sliding window, present encoding window is slided backward into a message;
(4) coding counter NUM=NUM+R is set, wherein, R is the redundancy that current process adaptively adjusts, and is producedThe coding message that the linear combination of the individual message by present encoding window forms, corresponding coding head is filled, hereinRepresent the number for the coding message that needs generate;And update coding counter
(5) coding message is sent to Internet protocol layer, and sent via Internet protocol layer, data link layer;
3), when receiving the confirmation ACK messages of receiving terminal feedback, method is handled as follows:
(1) according to the acknowledged sequence number confirmed in ACK messages, the transmit queue of coding side is operated, byte sequence number is less than
The data message of acknowledged sequence number is deleted from transmit queue;
(2) according to the receive information of receiving terminal in the confirmation ACK headings of feedback, adaptive packet loss estimation and superfluous is carried out
Remaining adjusts;
(3) the confirmation ACK messages of feedback are modified as the form for meeting transmission control protocol data message, then pass to transmission control
Protocol layer processed;
In receiving terminal
1), during connection is established, receiving-transmitting sides consult whether transmission control protocol stream carries out network code, if carried out
Network code, then network code layer control block corresponding to foundation, initializes control information, and sets transmission control protocol connection control
The respective flag of clamp dog;
2), when receiving the data message that Internet protocol layer is communicated up, the processing method of network code layer is:
(1) the network code layer link control module according to corresponding to being searched data message, if it is possible to find corresponding control block, then
Expression needs to perform network-encoding operation, performs step (2);If corresponding control block can not be found, then it represents that need not
Network-encoding operation is performed, performs step (7);
(2) it is the message for controlling message or carrying data to judge message, if control message, then performs step (7);
(3) data message is cached in the pending data message queue backlog of corresponding connection, backlog represents to wait to locate
Reason;
(4) judge whether include next expectation quilt in the data message in pending data message queue backlog one by one
The information of the initial data message of decoding;If so, then needing to obtain the code coefficient vector of the message, and the message is added to
In the data message queue decoding decoded, decoding represents to decode;
(5) according to the code coefficient of the data message decoded in queue decoding vector, obtain decoding coefficient matrix, it is right
Decoding matrix carries out Gaussian elimination, obtains from the matrix after Gaussian elimination and is reported accordingly by " seen " and by " decoded "
Text;Wherein, " seen " is represented when a data message carries out table by the linear combination of other sequence numbers data message higher than it
When showing, being considered as this data message can be by " seen ", and " decoded " represents there was only one by decoded matrix a line
It is individual be 1 element when, it is believed that this data message is added to and has been decoded data message queue by " decoded "
In decoded;
(6) if there is the message of new " seen ", corresponding confirmation ACK messages are sent;
(7) message being decoded in data message queue decoded is sent into transmission control protocol layer to be handled;
3), when there is the message of new " seen ", it is necessary to feedback reception end network code layer receives successful information, its process according to
Rely to send in transmission control protocol layer and confirm ACK messages;When transmission control protocol layer sends confirmation message:
(1) the confirmation ACK sequence numbers in the confirmation ACK messages of transmission control protocol layer transmission, sequence number renewal is arrived corresponding
Network code layer link control module in, and by the deletion for being decoded data message in data message queue decoded
Operation;
(2) according to transmission control protocol layer confirmation number and window value size, transmission network coding layer window value size is calculated;
(3) confirmation number of network code floor and window value are modified in confirmation message, then sent.
2. a kind of adaptive end to end network coding and transmission method as claimed in claim 1, it is characterised in that redundancy adjusts
Method be:
In transmitting terminal, the data message for reaching network code layer when data are sent to transmission control protocol layer adds sequence number, this sequence
Number do not differentiate between and to retransmit message and normal message, whether do not differentiate between has band data, as long as the message of this transmission control protocol connection,
All uniformly it is numbered, and writes in packet networks coding stem;
In receiving terminal, it is first determined the counting period of a calculating packet loss;When receiving data by network code stem
Sequence number value, every 100 sequence numbers carry out a packet loss and calculated, and write in the network code stem of ACK messages and currently lose
Bag rate;
In transmitting terminal, after have received ACK messages, the packet loss loss_rate that receiving terminal calculates is read, is calculated according to packet loss
Go out redundancy, redundancy R calculation formula are as follows:
<mrow>
<mi>R</mi>
<mo>=</mo>
<mi>m</mi>
<mo>*</mo>
<mfrac>
<mn>100</mn>
<mrow>
<mn>100</mn>
<mo>-</mo>
<mi>l</mi>
<mi>o</mi>
<mi>s</mi>
<mi>s</mi>
<mo>_</mo>
<mi>r</mi>
<mi>a</mi>
<mi>t</mi>
<mi>e</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mi>n</mi>
<mo>*</mo>
<mi>l</mi>
<mi>o</mi>
<mi>s</mi>
<mi>s</mi>
<mo>_</mo>
<mi>r</mi>
<mi>a</mi>
<mi>t</mi>
<mi>e</mi>
</mrow>
Wherein, m and n is constant.
3. a kind of adaptive end to end network coding and transmission method as claimed in claim 1, it is characterised in that the network is compiled
Code layer connects, and corresponding a set of network code layer control information, including the control information of network code layer connection, network code layer connect
Connect state, data message maximum burst length MSS and Window Scale information, decoding parameter information, privately owned control information, queue pipe
Manage information.
4. a kind of adaptive end to end network coding and transmission method as claimed in claim 1, it is characterised in that sliding window
Sliding method is:An original transmitted control protocol data message queue for participating in coding is maintained in network code layer, each
Initial data message need carry out coding transmission when, select current original transmitted control protocol data message and its before
4 original transmitted control protocol data messages are encoded, then are transferred out.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710588600.8A CN107508655B (en) | 2017-07-19 | 2017-07-19 | Self-adaptive end-to-end network coding transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710588600.8A CN107508655B (en) | 2017-07-19 | 2017-07-19 | Self-adaptive end-to-end network coding transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107508655A true CN107508655A (en) | 2017-12-22 |
CN107508655B CN107508655B (en) | 2020-08-07 |
Family
ID=60679835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710588600.8A Expired - Fee Related CN107508655B (en) | 2017-07-19 | 2017-07-19 | Self-adaptive end-to-end network coding transmission method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107508655B (en) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088874A (en) * | 2018-08-21 | 2018-12-25 | 北京睦合达信息技术股份有限公司 | A kind of data transmission method and equipment |
CN109714132A (en) * | 2019-01-23 | 2019-05-03 | 中国电子科技集团公司第二十八研究所 | A kind of anti-interference live transmission method of multilink under complex electromagnetic environment |
CN109862061A (en) * | 2018-09-29 | 2019-06-07 | 中国民航科学技术研究院 | A kind of load system and method for WQAR data distribution |
CN110048818A (en) * | 2019-05-05 | 2019-07-23 | 华中科技大学 | The TID of feedback information confirmation a kind of to(for) user and processing system and processing method |
CN110138680A (en) * | 2019-05-08 | 2019-08-16 | 京信通信系统(中国)有限公司 | Packet loss processing method, device and the base station equipment of PDCP queue |
CN110166166A (en) * | 2018-02-14 | 2019-08-23 | 瑞昱半导体股份有限公司 | Network data prediction technique, network data processing device and method |
CN110299970A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of data message sending method and device |
CN110299972A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of data transmission method for uplink and device |
CN110299969A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of sending method and device of data scrolling transmission |
CN110324255A (en) * | 2019-07-05 | 2019-10-11 | 中南大学 | A kind of switch/router buffer queue management method of data-oriented central site network coding |
CN110830819A (en) * | 2019-11-19 | 2020-02-21 | 聚好看科技股份有限公司 | Encoding method, decoding method, encoding end and decoding end |
CN111343668A (en) * | 2020-03-03 | 2020-06-26 | 重庆邮电大学 | Coding sensing routing method based on backpressure strategy |
CN111404650A (en) * | 2020-03-17 | 2020-07-10 | 许昌泛网信通科技有限公司 | Vehicle control message processing method |
CN112436920A (en) * | 2020-11-23 | 2021-03-02 | 南通大学 | Network coding and decoding method suitable for multi-hop relay communication |
CN113064047A (en) * | 2021-03-05 | 2021-07-02 | 万向一二三股份公司 | Testing device and testing method for end-to-end protection between electronic control units |
CN114363370A (en) * | 2021-12-29 | 2022-04-15 | 中汽创智科技有限公司 | Vehicle-mounted equipment communication method, device and system and vehicle |
CN114938235A (en) * | 2022-04-08 | 2022-08-23 | 北京邮电大学 | Data transmission method and device in satellite network integrating multipath and network coding |
CN115134307A (en) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | Load balancing method based on packet loss rate coding in cloud computing |
CN115134047A (en) * | 2021-03-29 | 2022-09-30 | 维沃移动通信有限公司 | Transmission method, device, equipment and readable storage medium |
EP4038841A4 (en) * | 2019-10-02 | 2024-02-14 | Aps Tech 1 Llc | Invoking a random linear network coding communications protocol |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111820A (en) * | 2009-12-29 | 2011-06-29 | 上海摩波彼克半导体有限公司 | Method for realizing scheduling control of network encoding perceived by transmission control protocol in wireless network |
CN102209079A (en) * | 2011-06-22 | 2011-10-05 | 北京大学深圳研究生院 | Transmission control protocol (TCP)-based adaptive network control transmission method and system |
CN102291226A (en) * | 2011-09-02 | 2011-12-21 | 北京大学深圳研究生院 | Self-adaptive network transmission control method and system based on TCP (Transmission Control Protocol) protocol |
US8130776B1 (en) * | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
CN103152359A (en) * | 2013-03-25 | 2013-06-12 | 重庆大学 | Method for improving end-to-end wireless transmission control protocol (TCP) linear network coding |
-
2017
- 2017-07-19 CN CN201710588600.8A patent/CN107508655B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130776B1 (en) * | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
CN102111820A (en) * | 2009-12-29 | 2011-06-29 | 上海摩波彼克半导体有限公司 | Method for realizing scheduling control of network encoding perceived by transmission control protocol in wireless network |
CN102209079A (en) * | 2011-06-22 | 2011-10-05 | 北京大学深圳研究生院 | Transmission control protocol (TCP)-based adaptive network control transmission method and system |
CN102291226A (en) * | 2011-09-02 | 2011-12-21 | 北京大学深圳研究生院 | Self-adaptive network transmission control method and system based on TCP (Transmission Control Protocol) protocol |
CN103152359A (en) * | 2013-03-25 | 2013-06-12 | 重庆大学 | Method for improving end-to-end wireless transmission control protocol (TCP) linear network coding |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166166A (en) * | 2018-02-14 | 2019-08-23 | 瑞昱半导体股份有限公司 | Network data prediction technique, network data processing device and method |
CN110299969A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of sending method and device of data scrolling transmission |
CN110299969B (en) * | 2018-03-23 | 2022-04-08 | 天地融科技股份有限公司 | Method and device for transmitting data in rolling mode |
CN110299970B (en) * | 2018-03-23 | 2022-04-05 | 天地融科技股份有限公司 | Data message sending method and device |
CN110299970A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of data message sending method and device |
CN110299972A (en) * | 2018-03-23 | 2019-10-01 | 天地融科技股份有限公司 | A kind of data transmission method for uplink and device |
CN109088874A (en) * | 2018-08-21 | 2018-12-25 | 北京睦合达信息技术股份有限公司 | A kind of data transmission method and equipment |
CN109862061A (en) * | 2018-09-29 | 2019-06-07 | 中国民航科学技术研究院 | A kind of load system and method for WQAR data distribution |
CN109714132B (en) * | 2019-01-23 | 2021-04-20 | 中国电子科技集团公司第二十八研究所 | Multi-link anti-interference real-time transmission method used in complex electromagnetic environment |
CN109714132A (en) * | 2019-01-23 | 2019-05-03 | 中国电子科技集团公司第二十八研究所 | A kind of anti-interference live transmission method of multilink under complex electromagnetic environment |
CN110048818A (en) * | 2019-05-05 | 2019-07-23 | 华中科技大学 | The TID of feedback information confirmation a kind of to(for) user and processing system and processing method |
CN110138680B (en) * | 2019-05-08 | 2022-08-23 | 京信网络系统股份有限公司 | Method and device for discarding packet of PDCP queue and base station equipment |
CN110138680A (en) * | 2019-05-08 | 2019-08-16 | 京信通信系统(中国)有限公司 | Packet loss processing method, device and the base station equipment of PDCP queue |
CN110324255B (en) * | 2019-07-05 | 2021-01-29 | 中南大学 | Data center network coding oriented switch/router cache queue management method |
CN110324255A (en) * | 2019-07-05 | 2019-10-11 | 中南大学 | A kind of switch/router buffer queue management method of data-oriented central site network coding |
EP4038841A4 (en) * | 2019-10-02 | 2024-02-14 | Aps Tech 1 Llc | Invoking a random linear network coding communications protocol |
CN110830819A (en) * | 2019-11-19 | 2020-02-21 | 聚好看科技股份有限公司 | Encoding method, decoding method, encoding end and decoding end |
CN111343668A (en) * | 2020-03-03 | 2020-06-26 | 重庆邮电大学 | Coding sensing routing method based on backpressure strategy |
CN111343668B (en) * | 2020-03-03 | 2022-05-03 | 重庆邮电大学 | Coding sensing routing method based on backpressure strategy |
CN111404650A (en) * | 2020-03-17 | 2020-07-10 | 许昌泛网信通科技有限公司 | Vehicle control message processing method |
CN111404650B (en) * | 2020-03-17 | 2023-05-19 | 许昌泛网信通科技有限公司 | Vehicle control message processing method |
CN112436920A (en) * | 2020-11-23 | 2021-03-02 | 南通大学 | Network coding and decoding method suitable for multi-hop relay communication |
CN112436920B (en) * | 2020-11-23 | 2021-10-26 | 南通大学 | Network coding and decoding method suitable for multi-hop relay communication |
CN113064047A (en) * | 2021-03-05 | 2021-07-02 | 万向一二三股份公司 | Testing device and testing method for end-to-end protection between electronic control units |
CN113064047B (en) * | 2021-03-05 | 2024-03-08 | 万向一二三股份公司 | Testing device and testing method for end-to-end protection between electronic control units |
CN115134047A (en) * | 2021-03-29 | 2022-09-30 | 维沃移动通信有限公司 | Transmission method, device, equipment and readable storage medium |
WO2022206475A1 (en) * | 2021-03-29 | 2022-10-06 | 维沃移动通信有限公司 | Transmission methods, apparatus and device, and readable storage medium |
CN114363370B (en) * | 2021-12-29 | 2023-12-26 | 中汽创智科技有限公司 | Vehicle-mounted device communication method, device and system and vehicle |
CN114363370A (en) * | 2021-12-29 | 2022-04-15 | 中汽创智科技有限公司 | Vehicle-mounted equipment communication method, device and system and vehicle |
CN114938235A (en) * | 2022-04-08 | 2022-08-23 | 北京邮电大学 | Data transmission method and device in satellite network integrating multipath and network coding |
CN115134307A (en) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | Load balancing method based on packet loss rate coding in cloud computing |
CN115134307B (en) * | 2022-06-27 | 2024-01-26 | 长沙理工大学 | Load balancing method based on packet loss rate coding in cloud computing |
Also Published As
Publication number | Publication date |
---|---|
CN107508655B (en) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107508655A (en) | A kind of adaptive end to end network coding and transmission method | |
CN103119881B (en) | The block acknowledgement distinguished with re-transmission policy | |
RU2461147C2 (en) | Method of processing radio protocol in mobile communication system and mobile communication transmitter | |
CN101589565B (en) | Method and apparatus for data transmission of radio link control layer in mobile communication system | |
Xu et al. | CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks | |
TWI405445B (en) | Method and apparatus of handling tti bundling | |
CN104202414B (en) | Method for reliable transmission based on UDP | |
CN110401962B (en) | LoRaWAN system and method for automatically adjusting length of data message | |
CN106788911A (en) | A kind of method and apparatus of message retransmission | |
TWI646814B (en) | Data transmission method and related equipment | |
US10230496B2 (en) | Method and apparatus for processing control message which requests retransmitting data | |
JP2009506608A (en) | Optimization of radio link control unacknowledged mode header | |
JP6806411B2 (en) | Systems and methods for maintaining synchronization in connectionless transmission | |
KR100342122B1 (en) | System and method for medium access control in a wireless data communication | |
KR20090055550A (en) | Communications equipment | |
BR0107756B1 (en) | METHOD AND APPARATUS FOR SELECTIVE RECOGNITION SCHEME | |
JP2015188255A (en) | Method for wirelessly charging mobile terminal | |
CN107592185A (en) | A kind of forward direction repeating method suitable for network code transmission control protocol | |
CN107801211A (en) | A kind of non-sequential of message submits method and RLC entities, base station | |
Sayenko et al. | Performance analysis of the IEEE 802.16 ARQ mechanism | |
CN109525374A (en) | Method, wireless access point, user equipment and the transmission device of data transmission | |
KR20200014155A (en) | Method and apparatus for wireless communication of wireless node in wireless communication system | |
CN104837206B (en) | A kind of GMR-1 3G terminal data receiving-transmitting system | |
CN108200605B (en) | Data transmission method and device for base station | |
CN113141631B (en) | Dual-connection data distribution method, device, equipment and 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200807 Termination date: 20210719 |
|
CF01 | Termination of patent right due to non-payment of annual fee |