[go: up one dir, main page]

CN103957085B - Media access control method for wireless mesh network based on network coding - Google Patents

Media access control method for wireless mesh network based on network coding Download PDF

Info

Publication number
CN103957085B
CN103957085B CN201410216133.2A CN201410216133A CN103957085B CN 103957085 B CN103957085 B CN 103957085B CN 201410216133 A CN201410216133 A CN 201410216133A CN 103957085 B CN103957085 B CN 103957085B
Authority
CN
China
Prior art keywords
node
data packet
ordinary
encoded
network
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.)
Expired - Fee Related
Application number
CN201410216133.2A
Other languages
Chinese (zh)
Other versions
CN103957085A (en
Inventor
李海涛
陈晓江
房鼎益
刘晨
徐丹
王薇
尹小燕
郭军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NORTHWEST UNIVERSITY
Original Assignee
NORTHWEST UNIVERSITY
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NORTHWEST UNIVERSITY filed Critical NORTHWEST UNIVERSITY
Priority to CN201410216133.2A priority Critical patent/CN103957085B/en
Publication of CN103957085A publication Critical patent/CN103957085A/en
Application granted granted Critical
Publication of CN103957085B publication Critical patent/CN103957085B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a media access control method for a wireless mesh network based on network coding. The media access control method comprises the steps of a data package receiving stage, a data package transmitting stage and an ACK monitoring stage. According to the protocol, a network coding mechanism is introduced into a media access control layer, and throughput is increased compared with the traditional media access control method based on conflict avoidance. The media access control method is high in decoding success rate, less in control expenditure, low in calculation consumption of hardware, strong in portability, good in compatibility and capable of relieving network congestion partially.

Description

一种基于网络编码的无线网状网络介质访问控制方法A Network Coding-Based Media Access Control Method for Wireless Mesh Networks

技术领域technical field

本发明涉及无线网络技术领域,具体涉及一种基于网络编码的无线网络介质访问控制方法,适用于以提供高吞吐量为服务目的的无线网状网络。The invention relates to the technical field of wireless networks, in particular to a network coding-based wireless network medium access control method, which is suitable for wireless mesh networks whose service purpose is to provide high throughput.

背景技术Background technique

如何提高数据吞吐量是无线网状网络的重点研究课题。在信道介质资源有限的情况下,为接入设备提供高带宽高吞吐优质的数据传输服务,对无线网状网络的物理层、介质访问控制层提出较高要求。同时,无线网状网络的组网设备一般价格低廉,数据缓存能力、运算处理能力有限,在这样苛刻的硬件条件下,保证介质访问控制方法高效稳定运行同样是一个关键性问题。由于网络编码对吞吐量提升有显著作用,另外,网络编码需要额外的硬件资源,所以,基于网络编码兼具稳定性扩展性的无线网状网络介质访问控制方法是一个突破口。How to improve data throughput is a key research topic of wireless mesh network. In the case of limited channel media resources, providing high-bandwidth, high-throughput, and high-quality data transmission services for access devices places higher requirements on the physical layer and media access control layer of wireless mesh networks. At the same time, the networking equipment of the wireless mesh network is generally cheap, and the data caching capability and computing processing capability are limited. Under such harsh hardware conditions, it is also a key issue to ensure the efficient and stable operation of the medium access control method. Since network coding has a significant effect on improving throughput, and additional hardware resources are required for network coding, a medium access control method for wireless mesh networks based on network coding with stability and scalability is a breakthrough.

无线网状网络在近些年有了广泛应用。主要为企业、学校、商场、车站等人员密集场所提供无线网络接入解决方案。其主要特征在于部署便捷、成本低廉、自动组网、扩展性高。在有线网络部署困难,扩展性无法保证的情况下,使用无线网状网络替代底层基础设施,是最简单有效的办法。利用无线网状网络提供互联网接入服务的关键在于,如何为众多无线终端提供高吞吐、稳定的数据传输机制。现有技术中,为了提高无线网状网络的数据吞吐量,主要有以下几种研究:Wireless mesh networks have been widely used in recent years. It mainly provides wireless network access solutions for densely populated places such as enterprises, schools, shopping malls, and stations. Its main features are convenient deployment, low cost, automatic networking, and high scalability. When wired network deployment is difficult and scalability cannot be guaranteed, it is the simplest and most effective way to replace the underlying infrastructure with a wireless mesh network. The key to providing Internet access services using a wireless mesh network is how to provide a high-throughput and stable data transmission mechanism for many wireless terminals. In the prior art, in order to improve the data throughput of the wireless mesh network, there are mainly the following researches:

第一类:物理层更高带宽;该方法的缺点是通过硬件技术,提高单频带宽或多频复用,技术难度大,增加了无线接入设备价格,对终端设备要求高,属于一种治标不治本的解决办法。同时高频通信、多频通信,换取吞吐量的代价是无线信号空间的电磁污染。The first category: higher bandwidth at the physical layer; the disadvantage of this method is that it uses hardware technology to improve single-frequency bandwidth or multi-frequency multiplexing, which is technically difficult, increases the price of wireless access equipment, and has high requirements for terminal equipment. A palliative solution. At the same time, the price of high-frequency communication and multi-frequency communication in exchange for throughput is the electromagnetic pollution of the wireless signal space.

第二类:网络层机会路由;该方法的缺点是额外通信开销大,控制复杂,实现难度大。路由协议一般工作在网络层,机会路由正常工作使用的控制信息需要额外传输来完成,这导致数据链路层付出了额外开销。而且机会路由实现起来技术难度大,对硬件资源的消耗还没有详尽的研究。The second type: opportunistic routing at the network layer; the disadvantage of this method is that the additional communication overhead is large, the control is complicated, and the implementation is difficult. Routing protocols generally work at the network layer, and the control information used by opportunistic routing for normal operation requires additional transmission to complete, which results in additional overhead for the data link layer. Moreover, opportunistic routing is technically difficult to implement, and the consumption of hardware resources has not been studied in detail.

第三类:更严格的介质访问控制方法;该类方法的缺点是要求无线网状网络节点与节点之间达到一定程度的默契,也就是说彼此知道对方即将做什么,节点之间时钟同步要求极高。而且,一旦网络中某个设备出现问题,与其合作的其他设备也将面临同样问题。网络普适性、鲁棒性、扩展性都存在问题。The third category: more stringent media access control methods; the disadvantage of this type of method is that it requires a certain degree of tacit understanding between the nodes of the wireless mesh network, that is to say, each other knows what the other is about to do, and the clock synchronization between nodes requires extremely high. Moreover, once a device in the network has a problem, other devices working with it will also face the same problem. There are problems with network universality, robustness, and scalability.

第四类:网络层加入网络编码机制;该类方法的缺点是网络编码独立于介质访问控制层和TCP层,需要使用额外的无线广播协议来提供可靠的广播服务。同时,这类方法会在网络中制造范围更大的虚拟瓶颈节点,导致大范围网络拥塞。而且,网络层的拥塞控制理论,会导致这类方法无法正常工作。另外,这类方法也很少考虑对硬件资源的消耗,实现起来技术难度大,设备适应性差。The fourth category: the network layer adds a network coding mechanism; the disadvantage of this type of method is that the network coding is independent of the media access control layer and the TCP layer, and an additional wireless broadcast protocol is required to provide reliable broadcast services. At the same time, this type of method will create a larger range of virtual bottleneck nodes in the network, resulting in large-scale network congestion. Moreover, the congestion control theory at the network layer will cause such methods to fail to work properly. In addition, this type of method seldom considers the consumption of hardware resources, so it is technically difficult to implement and has poor equipment adaptability.

独立于介质访问控制层和TCP层的网络编码机制,每个节点都要机会监听邻居节点广播的数据包,放在自己的缓存内,以备解码时使用。这样做带来的缺陷主要有:1)无节制的监听邻居数据包对本地缓存消耗是灾难性的。其缓存消耗除了链路负载外,还受邻居个数影响。而且这些监听到的数据包是否会被利用也是未知数。吞吐量提升付出的机会成本太高,应用不确定性高,可控性差。2)节点预测邻居是否缓存了某个数据包,主要依据链路传输成功率ETX指标进行概率估计。根据ROC校验理论,其使用的估计模型都有固定的错误率。在节点数量高,终端设备多,通信干扰大,无线链路质量较差的情况下,此固定错误率会导致相当一部分编码包不能被正确解码,从而浪费了更多硬件资源和信道资源。3)这种机制通常追求每次编码都将尽可能多的数据包编在一次,以减少单个节点的广播次数。但这种做法在实际中并不合适。一来未必所有的目标节点都能正确解码,二来可靠的广播协议在目的节点多的时候,往往会限制更大范围内的节点通信,造成整片区域信道利用率低下。Independent of the network coding mechanism of the media access control layer and the TCP layer, each node has the opportunity to listen to the data packets broadcast by neighboring nodes, and put them in its own cache for use in decoding. The defects brought in this way mainly include: 1) unrestrained monitoring of neighbor data packets is catastrophic to local cache consumption. In addition to the link load, its cache consumption is also affected by the number of neighbors. And it is unknown whether these monitored data packets will be used. The opportunity cost of throughput improvement is too high, the application uncertainty is high, and the controllability is poor. 2) The node predicts whether the neighbor has cached a certain data packet, and the probability estimation is mainly based on the ETX index of the link transmission success rate. According to the ROC verification theory, the estimation models used have a fixed error rate. When the number of nodes is high, there are many terminal devices, the communication interference is large, and the wireless link quality is poor, this fixed error rate will cause a considerable part of the coded packets to not be decoded correctly, thus wasting more hardware resources and channel resources. 3) This mechanism usually pursues encoding as many data packets as possible at a time in order to reduce the number of broadcasts of a single node. But this approach is not suitable in practice. Firstly, not all target nodes may be able to decode correctly, and secondly, when there are many target nodes, a reliable broadcast protocol will often limit node communication in a wider range, resulting in low channel utilization in the entire area.

发明内容Contents of the invention

基于网络编码的无线网状网络介质访问控制方法与通常的介质访问控制方法显著不同,针对现有无线网状网络介质访问控制方法在吞吐量提升能力上的不足和网络层引入编码机制的诸多缺陷,本发明提出一种高吞吐、低消耗,兼具普适性鲁棒性的介质访问控制方法。The medium access control method of wireless mesh network based on network coding is significantly different from the usual medium access control method, aiming at the insufficiency of the existing medium access control method of wireless mesh network in terms of throughput improvement ability and many defects of the introduction of coding mechanism in the network layer , the present invention proposes a medium access control method with high throughput, low consumption, and universal robustness.

为了实现上述任务,本发明采用的技术方案是:In order to realize above-mentioned task, the technical scheme that the present invention adopts is:

一种基于网络编码的无线网状网络介质访问控制方法,在该无线网状网络中,当一个节点收到邻居节点发来的一个数据包后,判断该数据包是普通数据包还是编码数据包:A network coding-based medium access control method for a wireless mesh network. In the wireless mesh network, when a node receives a data packet from a neighbor node, it judges whether the data packet is a normal data packet or a coded data packet :

如果是编码数据包,则对该编码数据包进行解码,解码成功得到需要的普通数据包,解码不成功则丢弃该编码数据包;If it is an encoded data packet, the encoded data packet is decoded, and the required ordinary data packet is obtained after the decoding is successful, and the encoded data packet is discarded if the decoding is unsuccessful;

如果是普通数据包,则判断该普通数据包是否达到编码数据包的生成条件,如达到则对其进行编码,并将编码后的得到的编码数据包向邻居节点广播;If it is a common data packet, it is judged whether the common data packet reaches the generation condition of the encoded data packet, if it is achieved, it is encoded, and the encoded data packet obtained after encoding is broadcast to the neighbor node;

编码数据包的生成条件及编码过程如下:The generation conditions and encoding process of the encoded data packet are as follows:

在该无线网状网络中,节点A至少有两个邻居节点,设初始时刻节点A的转发队列为空,则从初始时刻开始:节点A收到邻居节点发来的一个普通数据包p2后,在转发队列中寻找一个普通数据包p1,如果存在p1同时满足公式1和公式2,则将p1和p2编码成为编码数据包p;In this wireless mesh network, node A has at least two neighbor nodes, if the forwarding queue of node A is empty at the initial moment, then from the initial moment: after node A receives a normal data packet p2 from the neighbor node, Look for an ordinary data packet p1 in the forwarding queue, if there is p1 that satisfies formula 1 and formula 2 at the same time, encode p1 and p2 into encoded data packet p;

(公式1) (Formula 1)

在公式1中,s1、s2分别为数据包p1、p2的源节点MAC地址,d1、d2分别为p1、p2下一跳节点的MAC地址,t1、t2分别为p1、p2达到节点A的时间,θ取值为0.3秒;In Formula 1, s1 and s2 are the source node MAC addresses of data packets p1 and p2 respectively, d1 and d2 are the MAC addresses of the next-hop nodes of p1 and p2 respectively, and t1 and t2 are the time for p1 and p2 to reach node A respectively , the value of θ is 0.3 seconds;

(公式2) (Formula 2)

在公式2中,r和c分别为节点A从初始时刻开始,收到邻居节点发送的普通数据包的累计个数和节点A的转发队列中,满足公式1的普通数据包的累计个数,其中r每次累加1,c每次累加2,ξ取值为0.08。In Formula 2, r and c are respectively the cumulative number of normal data packets received by node A from the initial moment and the cumulative number of normal data packets satisfying formula 1 in the forwarding queue of node A, Among them, r accumulates 1 each time, c accumulates 2 each time, and the value of ξ is 0.08.

进一步地,普通数据包p1和p2经过亦或运算编码成为编码数据包p,具体为:Further, ordinary data packets p1 and p2 are coded into coded data packet p through OR operation, specifically:

将普通数据包p2目的节点的MAC地址和p1目的主机MAC地址做亦或运算,所得结果填入p1的目的主机MAC字段;将普通数据包p2源主机MAC地址和p1源主机MAC地址做亦或运算,所得结果填入p1的源节点的MAC字段;将p2的数据部分和p1的数据部分做亦或运算,所得结果填入p1的数据部分字段;如果p1和p2的数据部分长度不一致,则将长度较短的一方尾部填0补位,生成的新的数据包为编码数据包p。Do the OR operation between the MAC address of the destination node of the ordinary data packet p2 and the MAC address of the destination host of p1, and fill the result into the MAC field of the destination host of p1; do the OR operation with the MAC address of the source host MAC address of the ordinary data packet p2 and the MAC address of the source host of p1 Operation, the result is filled in the MAC field of the source node of p1; the data part of p2 and the data part of p1 are ORed, and the result is filled in the data part field of p1; if the length of the data part of p1 and p2 is inconsistent, then The tail of the shorter side is filled with 0 bits, and the new data packet generated is the encoded data packet p.

进一步地,在该无线网状网络中,每个节点中均设置有资源队列,当节点将一个普通数据包成功发送给另一个节点后,将该普通数据包从转发队列移入到资源队列中,并为该普通数据包启动一个倒计时器,倒计时器初始值为θ,倒计时器归零后,将该普通数据包从资源队列移除。Further, in the wireless mesh network, each node is provided with a resource queue, and when a node successfully sends an ordinary data packet to another node, the ordinary data packet is moved from the forwarding queue to the resource queue, And start a countdown timer for the ordinary data packet, the initial value of the countdown timer is θ, after the countdown timer returns to zero, the ordinary data packet is removed from the resource queue.

进一步地,当节点收到一个编码数据包后,对其进行解码操作:节点从自己的资源队列中寻找与收到的编码数据包对应的普通数据包,将找到的普通数据包和收到的编码数据包进行亦或运算,得到需要的普通数据包。Further, when a node receives an encoded data packet, it decodes it: the node looks for the ordinary data packet corresponding to the received encoded data packet from its own resource queue, and compares the found ordinary data packet with the received Encode the data packet to perform an OR operation to obtain the required ordinary data packet.

进一步地,节点A生成编码数据包p后,对p进行广播的步骤如下:Further, after node A generates encoded data packet p, the steps of broadcasting p are as follows:

步骤S1,创建广播RTS帧,将普通数据包p1、p2的下一跳节点的MAC地址写入RTS帧中,并确定信道占用时长Tb,将Tb添加到广播RTS帧的通信时间字段,Tb计算方法如下:Step S1, create a broadcast RTS frame, write the MAC address of the next-hop node of the ordinary data packets p1 and p2 into the RTS frame, and determine the channel occupation time Tb, add Tb to the communication time field of the broadcast RTS frame, and calculate Tb Methods as below:

Tb=5×SIFS+(82+L)×t0 (公式3)Tb=5×SIFS+(82+L)×t 0 (Formula 3)

公式3中,SIFS为802.11协议规定的最短等待时间常数,L为编码数据包p的长度,t0为传输一个字节所需要的时间,由链路带宽决定;In Formula 3, SIFS is the minimum waiting time constant specified in the 802.11 protocol, L is the length of the encoded data packet p, and t0 is the time required to transmit a byte, which is determined by the link bandwidth;

步骤S2,节点A广播RTS帧申请信道;Step S2, node A broadcasts an RTS frame to apply for a channel;

步骤S3,邻居节点收到RTS帧后,确定自己回复RTS帧的等待时间Tcts,并在等待时间后回复CTS帧给节点A;Tcts计算方法如下:Step S3, after the neighbor node receives the RTS frame, determine the waiting time Tcts for replying the RTS frame, and reply the CTS frame to node A after the waiting time; the calculation method of Tcts is as follows:

(公式4) (Formula 4)

公式4中,iMAC为该邻居节点的MAC地址,d1、d2分别是数据包p1、p2的下一跳节点的MAC地址;In formula 4, iMAC is the MAC address of the neighbor node, and d1 and d2 are the MAC addresses of the next-hop nodes of data packets p1 and p2 respectively;

步骤S4,节点A发送完广播RTS帧,等待2×SIFS+28×t0时间后,查看收到的CTS帧情况,如果分别收到p1、p2的下一跳节点回复的CTS帧,则节点A等待SIFS时间后开始发送编码数据包p,否则节点A进入退避等待。Step S4, node A sends the broadcast RTS frame, waits for 2×SIFS+28×t 0 time, checks the received CTS frame, if it receives the CTS frame replied by the next hop node of p1 and p2 respectively, then node A A waits for the SIFS time and starts to send the encoded data packet p, otherwise node A enters backoff waiting.

本发明的优点主要有以下几点:Advantage of the present invention mainly contains the following points:

1.增加了网络吞吐量;1. Increased network throughput;

由于引入网络编码机制到数据链路层,本发明从本质上提升了网络吞吐量。在硬件条件不变情况下,使用本发明可以提高7%-40%的网络数据吞吐能力。Since the network coding mechanism is introduced into the data link layer, the present invention essentially improves the network throughput. Under the condition of constant hardware conditions, the use of the present invention can increase the throughput of network data by 7%-40%.

2.移植性强,兼容性好;2. Strong portability and good compatibility;

由于对CSMA/CA做了很好的向下兼容,因此支持本发明的设备可以同不支持本发明的设备正常通信、组网。同时,本发明增加并强化了介质访问控制子层,对网络其他层面不构成影响,接口透明。Due to the good backward compatibility with CSMA/CA, the equipment supporting the present invention can communicate and form a network normally with the equipment not supporting the present invention. At the same time, the invention increases and strengthens the medium access control sublayer, does not affect other layers of the network, and the interface is transparent.

3.解码成功率高,额外通信少;3. High decoding success rate, less additional communication;

与其他网络编码机制不同,本发明使用ACK帧和数据包头传递必要的编码信息,节点不使用ETX路由尺进行预测,因此,不存在预测误差带来的无法解码现象。而且,本发明不依赖其他协议(如机会路由)的控制信息,不需要节点之间传递独立的控制信息。Different from other network coding mechanisms, the present invention uses ACK frames and data packet headers to transmit necessary coding information, and nodes do not use ETX routing rules for prediction, so there is no undecodable phenomenon caused by prediction errors. Moreover, the present invention does not rely on control information of other protocols (such as opportunistic routing), and does not need to transmit independent control information between nodes.

4.硬件消耗少;4. Less hardware consumption;

与其他网络编码机制相比,本方法更注重对缓存资源和计算资源的占用。节点不再机会监听邻居之间的通信,因而存储解码资源的缓存消耗降至最少。Compared with other network coding mechanisms, this method pays more attention to the occupancy of cache resources and computing resources. Nodes no longer have the opportunity to listen to the communication between neighbors, so the cache consumption of storing decoding resources is minimized.

5.部分解决了网络拥塞问题;5. Partially solved the problem of network congestion;

在没有拥塞控制的网络中,网络负载大时,主干路瓶颈节点及瓶颈节点周围难免出现拥塞现象。本方法恰恰利用瓶颈节点传输信息量大的优点,将可能的数据包编码在一起。从而让这些数据包快速通过瓶颈节点,减少拥塞,减缓拥塞的产生。In a network without congestion control, when the network load is heavy, congestion will inevitably occur at the bottleneck node of the main road and around the bottleneck node. This method just takes advantage of the large amount of information transmitted by the bottleneck node, and encodes possible data packets together. So that these data packets can quickly pass through the bottleneck node, reduce congestion, and slow down the generation of congestion.

附图说明Description of drawings

图1是编码机制原理及网络部署示意图;Figure 1 is a schematic diagram of the coding mechanism principle and network deployment;

图2是数据发送阶段过程图;Fig. 2 is a process diagram of the data sending stage;

图3是数据接收阶段过程图;Fig. 3 is a process diagram of the data receiving stage;

图4是ACK帧监听阶段过程图;Fig. 4 is a process diagram of the ACK frame monitoring stage;

图5(a)和图5(b)是本发明中帧的结构示意图;Fig. 5 (a) and Fig. 5 (b) are the structure schematic diagrams of the frame in the present invention;

图6是编码数据包广播过程示意图;Fig. 6 is a schematic diagram of the encoding data packet broadcasting process;

图7是本方案整体流程图;Figure 7 is the overall flow chart of the program;

图8是研究网络负载对编码机会的影响以及ξ确定示意图;Fig. 8 is a schematic diagram of studying the impact of network load on coding opportunities and determining ξ;

图9是研究θ对编码机会数量影响的实验结果图;Figure 9 is a diagram of the experimental results of studying the influence of θ on the number of coding opportunities;

图10(a)、图10(b)、图10(c)、图10(d)是相同ω、不同θ下,解码资源队列使用情况图;Figure 10(a), Figure 10(b), Figure 10(c), and Figure 10(d) are diagrams of the usage of decoding resource queues under the same ω and different θ;

图11(a)、图11(b)、图11(c)、图11(d)是不同的ω下,θ对三种节点所占比例的影响示意图;Figure 11(a), Figure 11(b), Figure 11(c), and Figure 11(d) are schematic diagrams of the influence of θ on the proportions of the three nodes under different ω;

图12(a)、图12(b)是研究网络负载对各方法性能影响的实验结果图;Fig. 12(a) and Fig. 12(b) are the experimental result diagrams for studying the influence of network load on the performance of each method;

图13(a)、图13(b)是研究链路传输成功率对各方法性能影响的实验结果图;Fig. 13(a) and Fig. 13(b) are the experimental result diagrams for studying the influence of link transmission success rate on the performance of each method;

图14(a)、图14(b)、图14(c)、图14(d)是研究网络负载对各方法缓存使用影响的实验结果图;Fig. 14(a), Fig. 14(b), Fig. 14(c), and Fig. 14(d) are the experimental results of studying the influence of network load on the cache usage of each method;

具体实施方式detailed description

申请人在建筑物中部署大规模无线网状网络,为给手机、笔记本电脑等设备提供互联网接入服务,需要吞吐量高、兼容性好、消耗资源少的介质访问控制方法,以保障各接入设备的数据服务质量。针对节点硬件条件有限、吞吐需求高、无线信道质量差等复杂情况,提出了基于网络编码的无线网状网络介质访问控制方法。The applicant deploys a large-scale wireless mesh network in buildings, in order to provide Internet access services for mobile phones, laptops and other devices, a media access control method with high throughput, good compatibility, and low resource consumption is required to ensure that all access Incoming device data quality of service. Aiming at complex situations such as limited node hardware conditions, high throughput requirements, and poor wireless channel quality, a medium access control method for wireless mesh networks based on network coding is proposed.

本方法使用网络编码机制提高吞吐量,因此在无线网状网络部署时,除网络边缘节点外,其他节点至少要有2个邻居节点,而且在所有邻居节点中,至少存在1对不能相互直接通信的邻居节点,如图1所示。节点B、C、D在A的通信范围内,但节点D不在B的通信范围内,只有这样,节点A才能对B-A-D这条链路上的往返数据进行编码,否则如果D在B的通信范围内,B将把数据直接传递给D,A不会获得编码机会。This method uses a network coding mechanism to improve throughput, so when deploying a wireless mesh network, except for network edge nodes, other nodes must have at least two neighbor nodes, and among all neighbor nodes, there is at least one pair that cannot communicate directly with each other neighbor nodes, as shown in Figure 1. Nodes B, C, and D are within the communication range of A, but node D is not within the communication range of B. Only in this way can node A encode the round-trip data on the link B-A-D, otherwise if D is within the communication range of B Inside, B will pass the data directly to D, and A will not get an encoding opportunity.

本方法所有节点位置固定或只有微小的移动。所有节点的通信半径不变。每个节点中均设置和维护三个队列:转发队列,用于存放将要发送给其他节点的数据包,可以是普通数据包,也可以是编码数据包;资源队列,用于存放解码时使用的普通数据包;还原队列,用于存放编码数据包发送失败后还原操作使用的普通数据包。In this method, the positions of all nodes are fixed or only slightly move. The communication radius of all nodes remains unchanged. Three queues are set and maintained in each node: the forwarding queue is used to store data packets to be sent to other nodes, which can be ordinary data packets or encoded data packets; the resource queue is used to store data packets used for decoding Ordinary data packet; restore queue, used to store the ordinary data packet used by the restore operation after the encoded data packet fails to be sent.

本方法所使用的网络编码机制,其核心思想在于,如图1所示,节点D首先发送普通数据包p1给B,中间要经过中转节点A转发;A收到p1后,并不立刻将p1转发给B,而是将p1缓存一段时间;节点B发送另一个普通数据包p2给节点D,同样需要A中转;A收到p2后,把p2和p1编码到一起,将编码数据包p1⊕p2广播出去,节点B和D收到编码包p1⊕p2后,都进行解码操作,得到各自需要的普通数据包。整个过程消耗三个通信周期,比原来的“接收——转发”过程减少一个通信周期,从而达到提升吞吐量的目的。The core idea of the network coding mechanism used in this method is that, as shown in Figure 1, node D first sends a normal data packet p1 to B, and then forwards it through transit node A; after A receives p1, it does not send p1 immediately Forward to B, but cache p1 for a period of time; node B sends another ordinary data packet p2 to node D, which also needs to be transferred by A; after receiving p2, A encodes p2 and p1 together, and encodes the encoded data packet p1⊕ p2 is broadcasted, and after receiving the encoded packet p1⊕p2, nodes B and D both perform decoding operations to obtain the common data packets they need. The whole process consumes three communication cycles, which is one communication cycle less than the original "receiving-forwarding" process, so as to achieve the purpose of improving throughput.

本方法以802.11协议为基础,方案中用到的普通数据包,即为802.11协议中,两个节点之间用于传递数据信息的数据包。本方案中,在802.11协议原有的基础上增加了广播RTS帧、编码数据包、编码ACK帧三种帧格式,各类帧和数据包的格式与802.11中基本相同,不同之处在于在普通数据包帧实体头部增加了长度为4B的数据包ID字段,在编码数据包帧实体头部增加了数据包ID字段和数据包长度字段。图5(a)、图5(b)给出了所有使用到的数据帧(包)格式,由于图片较大因此分为图5(a)和图5(b)两个图,但其表示的是一套;表1以图1的示例为例,给出了本方案用到的数据包(帧)的结构当中,与802.11中相同的数据包(帧)含义不同的字段的说明,除了这些字段,其余字段与802.11协议中字段的含义相同。其中“帧”是数据链路层概念,是数据包的单位。本方案中,“帧”与“包”的含义相同,均指含有控制信息和数据信息在内的比特序列。本方案中着重在于对帧或包内部结构的讨论,因此凡出现“帧”的地方都可用“包”替换,如“编码数据帧”即指“编码数据包”。The method is based on the 802.11 protocol, and the common data packet used in the scheme is the data packet used to transmit data information between two nodes in the 802.11 protocol. In this solution, on the basis of the original 802.11 protocol, three frame formats of broadcast RTS frame, encoded data packet, and encoded ACK frame are added. The formats of various frames and data packets are basically the same as those in 802.11. A data packet ID field with a length of 4B is added to the header of the data packet frame entity, and a data packet ID field and a data packet length field are added to the header of the encoded data packet frame entity. Figure 5(a) and Figure 5(b) show all the data frame (packet) formats used. Due to the large size of the picture, it is divided into two pictures, Figure 5(a) and Figure 5(b), but it shows Table 1 takes the example in Figure 1 as an example, and provides the description of the fields with different meanings from the same data packet (frame) in 802.11 in the structure of the data packet (frame) used in this solution, except These fields and other fields have the same meanings as the fields in the 802.11 protocol. Among them, "frame" is the concept of data link layer, which is the unit of data packet. In this solution, "frame" and "packet" have the same meaning, and both refer to a bit sequence including control information and data information. This solution focuses on the discussion of the internal structure of the frame or packet, so wherever a "frame" appears, it can be replaced with a "packet", such as "encoded data frame" means "encoded data packet".

表1Table 1

一、本发明方法详细步骤One, the detailed steps of the inventive method

在本发明的无线网状网络结构中,除了边缘节点之外,其余节点均按照本方法进行数据包的转发和处理过程,这些节点所做的事情是相同的,因此为了便于清晰地介绍本方案,下面以图1所示的模型为例,将方案简化到一个信息交互单元,即A、B、D三个节点之间的信息交互过程来说明;这个模型中的A节点可以是网状网络中除边缘节点之外任意的一个节点,而B、D节点为A的邻居节点,并且D需要发送普通数据包p1给B,同时B需要发送普通数据包p2给节点D。In the wireless mesh network structure of the present invention, except for the edge nodes, all other nodes carry out the data packet forwarding and processing process according to this method, and the things these nodes do are the same, so in order to clearly introduce this scheme , the following takes the model shown in Figure 1 as an example, and simplifies the scheme to an information interaction unit, that is, the information interaction process between the three nodes A, B, and D to illustrate; the A node in this model can be a mesh network Any node except the edge node, and nodes B and D are neighbor nodes of A, and D needs to send ordinary data packet p1 to B, and B needs to send ordinary data packet p2 to node D.

本方案中,在不同的节点内部产生数据包接收阶段、数据包发送节点和ACK帧监听阶段,下面分别对每个阶段进行详细介绍。In this scheme, a data packet receiving phase, a data packet sending node, and an ACK frame monitoring phase are generated inside different nodes, and each phase is described in detail below.

1.数据包接收阶段1. Data packet receiving phase

在本方案中,从源节点发送到目的节点的数据包,在源节点得到该数据包时,称为普通数据包,该数据包和802.11中的数据包结构相同,唯一不同之处是在该数据包的帧实体头部增加了长度为4B的数据包ID字段,该ID字段由源节点生成。普通数据包在网络中各个节点的传递过程中,如果其在某个节点处符合编码条件,就将两个普通数据包编码成为编码数据包并广播;如其不符合编码条件,则该普通数据包按照802.11协议当中的普通数据包一样进行转发,从而完成该节点处的传递过程,因此一个节点收到邻居节点发来的数据包就有两种类型:普通数据包和编码数据包。In this scheme, the data packet sent from the source node to the destination node is called a normal data packet when the source node obtains the data packet. This data packet has the same structure as the data packet in 802.11, the only difference is A data packet ID field with a length of 4B is added to the frame entity header of the data packet, and the ID field is generated by the source node. During the transmission process of ordinary data packets at various nodes in the network, if they meet the encoding conditions at a certain node, two ordinary data packets will be encoded into encoded data packets and broadcast; if they do not meet the encoding conditions, the ordinary data packets will be According to the common data packet in the 802.11 protocol, it is forwarded to complete the transfer process at the node. Therefore, there are two types of data packets received by a node from neighboring nodes: ordinary data packets and encoded data packets.

当一个节点A收到邻居节点发来的数据包后,判断该数据包是普通数据包还是编码数据包,如图3所示;When a node A receives a data packet from a neighbor node, it judges whether the data packet is a normal data packet or an encoded data packet, as shown in Figure 3;

步骤S10,确定数据包的类型Step S10, determine the type of data packet

节点物理层收到完整无误的数据包后,根据数据包MAC header长度判断这是一个普通数据包还是编码数据包。帧分为三个部分:帧头(Mac header)、帧实体(body)、FCS域。如果MAC header长度为30B,表明收到一个普通数据包,如果MAC header长度为36B,表明收到一个编码数据包。After the node physical layer receives a complete and error-free data packet, it judges whether it is an ordinary data packet or an encoded data packet according to the length of the MAC header of the data packet. The frame is divided into three parts: frame header (Mac header), frame entity (body), and FCS field. If the length of the MAC header is 30B, it indicates that a normal data packet is received, and if the length of the MAC header is 36B, it indicates that an encoded data packet is received.

对于编码数据包,对该编码数据包进行解码,解码成功得到需要的普通数据包;解码不成功则丢弃该编码数据包;得到普通数据包后,节点将该数据包当做新接收的数据包一样进行处理;For the encoded data packet, the encoded data packet is decoded, and the decoding is successful to obtain the required ordinary data packet; if the decoding is unsuccessful, the encoded data packet is discarded; after obtaining the ordinary data packet, the node treats the data packet as a newly received data packet process;

对于普通数据包,节点首先提取这个数据包帧实体头部的数据包ID记作idx,然后在自己的资源队列中查找。如果找到了包含idx的解码资源包,说明收到的普通数据包曾经是某个编码数据包的一部分,但那个编码数据包没有被成功接收到,上一跳节点把编码数据包解码后,进行了重传操作,因此节点要移除寻找到的解码资源包。如果找不到包含idx的解码资源包,说明收到的普通数据包可以进行编码处理。For ordinary data packets, the node first extracts the data packet ID of the header of the data packet frame entity and records it as idx, and then searches it in its own resource queue. If a decoded resource packet containing idx is found, it means that the received normal data packet was once a part of an encoded data packet, but that encoded data packet was not successfully received. After the previous hop node decodes the encoded data packet, it performs The retransmission operation is performed, so the node should remove the found decoding resource packet. If no decoding resource package containing idx can be found, it means that the received normal data package can be encoded.

编码数据包的生成条件及编码过程如下:The generation conditions and encoding process of the encoded data packet are as follows:

设置初始时刻节点A的转发队列为空,即转发队列中没有数据包。每个节点都在缓存中维护两个整形变量r和c,一张四列表格b。r和c的初始时刻值均为零,从初始时刻开始,两个变量的值一直不断累加;b存放转发队列中普通数据包的辅助信息。Set the forwarding queue of node A to be empty at the initial moment, that is, there is no data packet in the forwarding queue. Each node maintains two integer variables r and c in the cache, and a four-column table b. The initial moment values of r and c are both zero, and the values of the two variables have been continuously accumulated since the initial moment; b stores auxiliary information of ordinary data packets in the forwarding queue.

这里的初始时刻是为了说明本发明的方案而定义的一个时刻,在该时刻,节点A的转发队列中没有数据包。这个初始时刻可以理解为节点A设置在传感器网络中的时间点,即传感器节点开始工作时的时刻,从这个时刻开始,节点A中维护的变量r和c的值就从0开始一直累加。The initial moment here is a moment defined for illustrating the solution of the present invention, at this moment, there is no data packet in the forwarding queue of node A. This initial moment can be understood as the time point when node A is set in the sensor network, that is, the moment when the sensor node starts to work. From this moment on, the values of variables r and c maintained in node A start from 0 and accumulate.

节点A收到邻居节点B发来的普通数据包p2后,在转发队列的表格b中由后向前寻找一个普通数据包p1,如果存在p1同时满足公式1和公式2,则将p1和p2编码成为编码数据包p;After node A receives the ordinary data packet p2 sent by the neighbor node B, it looks for an ordinary data packet p1 from the back to the front in the table b of the forwarding queue. Encoded into encoded data packet p;

(公式1) (Formula 1)

在公式1中,s1、s2分别为数据包p1、p2的源节点MAC地址,d1、d2分别为p1、p2下一跳节点的MAC地址,节点A可通过路由算法获取;t1、t2分别为p1、p2达到节点A的时间,θ取值为0.3秒,其确定过程见实验二。In Formula 1, s1 and s2 are the source node MAC addresses of data packets p1 and p2 respectively, d1 and d2 are the MAC addresses of the next-hop nodes of p1 and p2 respectively, and node A can be obtained by routing algorithm; t1 and t2 are respectively The time for p1 and p2 to reach node A, the value of θ is 0.3 seconds, see Experiment 2 for the determination process.

公式1所给出的条件是,节点A收到普通数据包p2后,在其转发队列中存在数据包p1还没有转发出去,并且p1和p2满足:p1的下一跳节点(目的节点)是p2的源节点,p1的源节点是p2的下一跳节点(目的节点),p2与p1到达节点A的时间差小于θ(即p1的源节点还在资源队列中保存着一个p1的副本),满足这些条件后,即图1示例中给出的,D需要发送普通数据包p1给B,同时B需要发送普通数据包p2给节点D这种情况;The condition given in Formula 1 is that after node A receives the normal data packet p2, there is data packet p1 in its forwarding queue that has not been forwarded, and p1 and p2 satisfy: the next hop node (destination node) of p1 is The source node of p2, the source node of p1 is the next hop node (destination node) of p2, the time difference between p2 and p1 arriving at node A is less than θ (that is, the source node of p1 still keeps a copy of p1 in the resource queue), After these conditions are met, as shown in the example in Figure 1, D needs to send a normal data packet p1 to B, and B needs to send a normal data packet p2 to node D;

(公式2) (Formula 2)

在公式2中,r为节点A从初始时刻开始,收到邻居节点发送的普通数据包的累计个数,即只要A收到一个普通数据包,就将r的值加1;c指节点A的转发队列中,满足公式1的普通数据包的累计个数,即可进行编码的数据包的个数,如果一个普通数据包符合公式1的条件,可进行编码,则c的值累加2;ξ是一个固定常数,其取值为0.08;k为编码开关,当k<ξ时,说明当前节点工作在低负载的情况下,或附近网络在为FTP、流媒体等应用提供服务,则该普通数据包不需要编码,按照802.11的普通数据包进行转发;而k>ξ时,说明流经当前节点的数据流方向足够复杂,应采用本方法进行普通数据包的编码,ξ值的确定过程见实验一。In formula 2, r is the cumulative number of ordinary data packets received by node A from the initial moment, that is, as long as A receives an ordinary data packet, the value of r will be increased by 1; c refers to node A In the forwarding queue, the cumulative number of ordinary data packets satisfying formula 1 is the number of data packets that can be encoded. If an ordinary data packet meets the conditions of formula 1 and can be encoded, the value of c is accumulated by 2; ξ is a fixed constant with a value of 0.08; k is an encoding switch. When k<ξ, it means that the current node is working under low load, or the nearby network is providing services for FTP, streaming media and other applications, then the Ordinary data packets do not need to be encoded, and are forwarded according to 802.11 ordinary data packets; and when k>ξ, it indicates that the direction of data flow through the current node is sufficiently complicated, and this method should be used for encoding of ordinary data packets, and the determination process of ξ value See experiment one.

步骤S11,普通数据包的编码Step S11, encoding of common data packet

本方案中对符合编码条件的普通数据包p1和p2经过亦或运算编码成为编码数据包p,即p=p1⊕p2,具体为:In this scheme, ordinary data packets p1 and p2 that meet the coding conditions are encoded into coded data packets p through OR operation, that is, p=p1⊕p2, specifically:

节点A将普通数据包p2放入还原队列,以备编码数据包p发送失败时还原过程使用。节点A在p1的MAC header中目的节点MAC字段后,增加一个目的节点2MAC字段,其中写入p2的目的节点MAC地址;用p1的目的主机MAC和p2的目的主机MAC地址做亦或运算,所得结果填入p1的目的主机MAC字段;用p1的源主机MAC和p2的源主机MAC地址做亦或运算,所得结果填入p1的源主机MAC字段;在p1的帧实体数据包ID字段后,添加p2的数据包ID、p1帧实体数据部分长度、p2帧实体数据部分长度;用p1的帧实体数据部分与p2的帧实体数据部分做亦或运算,所得结果填入p1的帧实体数据部分字段,如果p1和p2的数据部分长度不一致,则将长度较短的一方尾部填0补位;则两者编码后生成的新的数据包即为编码数据包p。Node A puts the ordinary data packet p2 into the restoration queue, which is used in the restoration process when the encoded data packet p fails to be sent. Node A adds a destination node 2MAC field after the destination node MAC field in the MAC header of p1, and writes the destination node MAC address of p2 in it; performs an OR operation with the destination host MAC address of p1 and the destination host MAC address of p2, and the result is The result is filled in the destination host MAC field of p1; the OR operation is performed with the source host MAC address of p1 and the source host MAC address of p2, and the result is filled in the source host MAC field of p1; after the frame entity data packet ID field of p1, Add the packet ID of p2, the length of the frame entity data part of p1, and the length of the frame entity data part of p2; use the frame entity data part of p1 and the frame entity data part of p2 to do OR operation, and fill the result into the frame entity data part of p1 field, if the lengths of the data parts of p1 and p2 are inconsistent, fill the tail of the shorter side with 0; then the new data packet generated after encoding the two is the encoded data packet p.

步骤S12,编码信息传递Step S12, coded information transmission

节点A将普通数据包p2与p1编码到一起后,制作一个编码ACK帧,该帧的尾缀ID1字段填入数据包p1帧头部的数据包ID,尾缀ID2字段填入数据包p2帧头部的数据包ID。等待SIFS时间后,节点A将编码ACK帧发送给节点B。After node A encodes the ordinary data packets p2 and p1 together, it makes an encoded ACK frame, the suffix ID1 field of the frame is filled with the data packet ID in the header of the data packet p1 frame, and the suffix ID2 field is filled with the data packet p2 frame The packet ID of the header. After waiting for SIFS time, Node A sends the encoded ACK frame to Node B.

步骤S13,编码数据包解码Step S13, decoding the encoded data packet

A制作好编码数据包p后,向邻居节点广播。当节点D将数据包p1发送给节点A后,节点D将p1从转发队列移入到资源队列中,并为该普通数据包p1启动一个倒计时器,倒计时器初始值为θ,倒计时器归零后,将该普通数据包从资源队列移除。移入到资源队列中的普通数据包p1在D收到由p1生成的编码数据包进行解码时使用。After making the encoded data packet p, A broadcasts it to the neighbor nodes. When node D sends the data packet p1 to node A, node D moves p1 from the forwarding queue to the resource queue, and starts a countdown timer for the ordinary data packet p1. The initial value of the countdown timer is θ, and the countdown timer resets to zero , remove the normal packet from the resource queue. The ordinary data packet p1 moved into the resource queue is used when D receives the encoded data packet generated by p1 for decoding.

其邻居节点D收到A广播的p,首先从这个p的帧实体的头部提取出数据包1ID、数据包2ID、数据包1长度、数据包2长度,分别记作id1、id2、l1、l2。节点D在自己的资源队列中寻找与收到的编码数据包p对应的普通数据包,即帧实体头部包含id1或id2的普通数据包。找到后将这个普通数据包记作p3,如果找不到p3,说明p不能被成功解码,将p丢弃。Its neighbor node D receives the p broadcasted by A, first extracts the data packet 1 ID, data packet 2 ID, data packet 1 length, and data packet 2 length from the header of the frame entity of p, which are respectively recorded as id1, id2, l1, l2. Node D looks for the normal data packet corresponding to the received coded data packet p in its own resource queue, that is, the normal data packet whose frame entity header contains id1 or id2. After finding it, record this ordinary data packet as p3. If p3 cannot be found, it means that p cannot be successfully decoded, and p is discarded.

节点D从p3中提取数据包ID和数据包长度,分别记作id3和l3。如果id3等于id2,则将编码数据包p的目的节点2MAC地址复制到p3的目的节点MAC字段;用p3的目的主机MAC地址与p的编码目的主机MAC地址做亦或运算,所得结果放入p3的目的主机MAC字段;用p3的源主机MAC地址与p的编码源主机MAC地址做亦或运算,所得结果放入p3的源主机MAC字段;用p3帧实体中的数据部分与p编码帧实体中的编码数据部分做亦或运算,所得结果长度如果大于l2,则进行截取,只保留前l2个字节,并将截取后的结果写入p3的帧实体数据部分。id3等于id1时做法类似;新生产的p3即解码后得到的数据包p2。Node D extracts the data packet ID and data packet length from p3, which are recorded as id3 and l3 respectively. If id3 is equal to id2, then copy the MAC address of the destination node 2 of the encoded data packet p to the MAC field of the destination node of p3; use the MAC address of the destination host MAC address of p3 and the MAC address of the encoded destination host of p to do OR operation, and put the result into p3 The destination host MAC field of p3; use the source host MAC address of p3 and the coded source host MAC address of p to do the OR operation, and the result is put into the source host MAC field of p3; use the data part of the p3 frame entity and the p coded frame entity If the coded data part in is ORed, if the length of the obtained result is greater than l2, it will be intercepted, only the first l2 bytes will be kept, and the intercepted result will be written into the frame entity data part of p3. When id3 is equal to id1, the method is similar; the newly produced p3 is the decoded data packet p2.

节点D在解码p时,确定回复ACK帧等待时间Tack,然后回复普通ACK帧给节点A,表明自己收到了编码数据包,并且已将数据包成功解码。节点D把p成功解码后,将处理过的p3数据包提交给网络层。When node D decodes p, it determines the reply ACK frame waiting time Tack, and then replies a normal ACK frame to node A, indicating that it has received the encoded data packet and has successfully decoded the data packet. After node D successfully decodes p, it submits the processed p3 data packet to the network layer.

注:步骤S13部分介绍的编码数据包解码过程,是以节点D为当前节点进行解释的,而节点A如果收到其他节点发来的编码数据包,和这部分的解码过程是一样的。以D为当前节点进行解释是以图1给出的示例进行的说明,实际上在应用过程中,节点A所完成的过程是在除了边缘节点之外的每个节点中均发生的,B-A-D是抽象出来的一个用于解释本方案的简单模型,其实B、D和A完成的过程是一样的。Note: The decoding process of the encoded data packet introduced in step S13 is explained with node D as the current node, and if node A receives the encoded data packet sent by other nodes, it is the same as the decoding process of this part. Taking D as the current node to explain is based on the example given in Figure 1. In fact, in the application process, the process completed by node A occurs in every node except the edge node. B-A-D is A simple model abstracted to explain this scheme, in fact, the completion process of B, D and A is the same.

2.数据包发送阶段2. Data packet sending phase

步骤S20,确定信道占用类型Step S20, determining the channel occupancy type

节点A判断自己的转发队列中第一个数据包MAC header的长度,如果是30B,说明这是一个普通数据包,按照802.11的RTS-CTS流程操作。Node A judges the length of the MAC header of the first data packet in its forwarding queue. If it is 30B, it means that this is an ordinary data packet and operates according to the RTS-CTS process of 802.11.

如果MAC header长度是36B,说明将要广播一个编码数据包,如编码数据包p,如2所示。If the length of the MAC header is 36B, it means that an encoded data packet will be broadcast, such as the encoded data packet p, as shown in 2.

步骤S21,创建RTS帧Step S21, creating an RTS frame

创建一个广播RTS帧,将自己的MAC地址添加到该帧的源节点MAC字段,将p的MACheader中的目的节点1MAC和目的节点2MAC字段复制到该编码RTS帧的对应字段,以图1所示模型为例,即将普通数据包p1、p2的下一跳节点的MAC地址复制到该广播RTS帧的MAC字段;然后确定信道占用时长Tb,将Tb添加到RTS帧通信时间字段,Tb计算方法如下:Create a broadcast RTS frame, add your own MAC address to the source node MAC field of the frame, copy the destination node 1MAC and destination node 2MAC fields in the MACheader of p to the corresponding fields of the encoded RTS frame, as shown in Figure 1 Take the model as an example, that is, copy the MAC address of the next-hop node of the ordinary data packets p1 and p2 to the MAC field of the broadcast RTS frame; then determine the channel occupation time Tb, and add Tb to the communication time field of the RTS frame. The calculation method of Tb is as follows :

Tb=5×SIFS+(82+L)×t0 (公式3)Tb=5×SIFS+(82+L)×t 0 (Formula 3)

公式3中,SIFS为802.11协议规定的最短等待时间常数,L为编码数据包p的长度,t0为传输一个字节所需要的时间,由链路带宽决定;图6是编码数据包发送全过程示意图,Tb是从节点A开始发送广播RTS帧到节点B结束发送ACK帧所经历的时间,一共包括5个SIFS时间、1个广播RTS帧传输时间、2个CTS帧传输时间、1个编码数据帧传输时间和2个普通ACK帧传输时间。广播RTS帧长度26B,CTS帧和普通ACK帧长度都是14B。In Formula 3, SIFS is the shortest waiting time constant specified in the 802.11 protocol, L is the length of the encoded data packet p, and t 0 is the time required to transmit a byte, which is determined by the link bandwidth; Schematic diagram of the process, Tb is the time elapsed from node A sending a broadcast RTS frame to node B ending sending an ACK frame, including 5 SIFS times, 1 broadcast RTS frame transmission time, 2 CTS frame transmission times, and 1 encoding Data frame transmission time and 2 normal ACK frame transmission times. The length of broadcast RTS frame is 26B, and the length of CTS frame and normal ACK frame is 14B.

步骤S22,节点A广播RTS帧申请信道;Step S22, node A broadcasts an RTS frame to apply for a channel;

步骤S23,邻居节点收到RTS帧后,确定自己回复RTS帧的等待时间Tcts,并在等待时间后回复CTS帧给节点A;Tcts计算方法如下:Step S23, after the neighbor node receives the RTS frame, determine the waiting time Tcts for replying the RTS frame, and reply the CTS frame to node A after the waiting time; the calculation method of Tcts is as follows:

(公式4) (Formula 4)

公式4中,iMAC为该邻居节点,如邻居节点D收到该RTS帧,即为D的MAC地址,d1、d2分别是数据包p1、p2的下一跳节点的MAC地址,即B和D的MAC地址;节点D等待Tcts时间后,如果发现周围没有节点在使用信道,则回复CTS帧给节点A,表明自己可以与节点A通信。在接下来的Tb-Tcts-40×t0时间内,即使再收到其他节点发送的RTS帧也不做任何回复。如果节点D发现周围信道正在被使用,则直接丢掉节点A发来的RTS帧。节点B所做的事情与D相同。In Formula 4, iMAC is the neighbor node. If the neighbor node D receives the RTS frame, it is the MAC address of D, and d1 and d2 are the MAC addresses of the next-hop nodes of the data packets p1 and p2, namely B and D The MAC address of node D; after waiting for Tcts time, if node D finds that no nodes around are using the channel, it will reply a CTS frame to node A, indicating that it can communicate with node A. In the next Tb-Tcts-40×t 0 time, no reply will be made even if the RTS frame sent by other nodes is received. If node D finds that the surrounding channels are being used, it directly discards the RTS frame sent by node A. Node B does the same thing as D.

步骤S24,判定信道申请结果Step S24, determine the channel application result

节点A发送完广播RTS帧,等待2×SIFS+28×t0时间后,查看收到的CTS帧情况,如果分别收到p1、p2的下一跳节点回复的CTS帧,说明信道申请成功,则节点A等待SIFS时间后开始发送编码数据包p,如果只收到一个CTS帧或没有收到CTS帧,说明书申请信道失败,节点A进入退避等待。Node A sends the broadcast RTS frame, waits for 2×SIFS+28×t 0 time, and checks the received CTS frame. If it receives the CTS frame replied by the next-hop nodes of p1 and p2 respectively, it means that the channel application is successful. Then node A waits for the SIFS time and starts to send the coded data packet p. If only one CTS frame is received or no CTS frame is received, the instruction channel application fails, and node A enters backoff waiting.

节点D收到A广播的编码数据帧后,进行解码操作(具体过程见步骤S13),并确定回复ACK帧的等待时间Tack,Tack计算方法如下:After node D receives the encoded data frame broadcast by A, it performs a decoding operation (see step S13 for the specific process), and determines the waiting time Tack for replying to the ACK frame. The calculation method of Tack is as follows:

其中iMAC为节点D的MAC地址,MACheader.DtMAC1是节点D收到的编码数据包的目的节点1MAC地址,即B的MAC地址;MACheader.DtMAC2是目的节点2MAC地址,即D的MAC地址。节点D等待Tack时间,如果编码包解码正确,回复普通ACK帧给节点A,否则直接丢弃收到的编码数据包。节点B所做的事情与D相同。Among them, iMAC is the MAC address of node D, MACheader.DtMAC1 is the MAC address of destination node 1 of the encoded data packet received by node D, that is, the MAC address of B; MACheader.DtMAC2 is the MAC address of destination node 2, that is, the MAC address of D. Node D waits for the Tack time, and if the encoded packet is decoded correctly, it will reply a normal ACK frame to node A, otherwise it will directly discard the received encoded data packet. Node B does the same thing as D.

步骤S25,判定重传状态Step S25, determine the retransmission status

节点A将p=p1⊕p2发送完毕后,等待2×SIFS+28×t0时间,查看收到的ACK帧情况。如果节点A分别收到来自节点B和节点D的两个ACK帧,说明B与D已收到编码数据包p1⊕p2并成功解码,这时节点A将p从转发队列移除,并从自己的还原队列中找到p2,将p2移除。如果一个ACK帧都没收到,则进入退避等待。Node A waits for 2×SIFS+28×t 0 time after sending p=p1⊕p2 to check the received ACK frame. If node A receives two ACK frames from node B and node D respectively, it means that B and D have received the encoded data packet p1⊕p2 and successfully decoded it. At this time, node A removes p from the forwarding queue and removes p from its own Find p2 in the restoration queue of , and remove p2. If an ACK frame is not received, it enters backoff waiting.

如果只收到节点D回复的ACK帧,而没有收到B回复的ACK帧,说明B没能正确收到编码数据包p或不能正确解码。此时,节点A需要从自己的还原队列中找到普通数据包p2,直接用p2替换转发队列中的p1⊕p2,然后退避等待。If only the ACK frame replied by node D is received, but the ACK frame replied by B is not received, it means that B fails to receive the encoded data packet p correctly or cannot decode it correctly. At this time, node A needs to find the normal data packet p2 from its restore queue, directly replace p1⊕p2 in the forwarding queue with p2, and then back off and wait.

如果只收到节点B回复的ACK帧,而没有收到D回复的ACK帧,说明B没能正确收到编码数据包p1⊕p2或不能正确解码。节点A从自己的还原队列中找到普通数据包p2。节点A需要将编码数据包p1⊕p2的MAC header中的目的节点2MAC字段(地址)移除;用编码目的主机MAC地址与p2的目的主机MAC地址做亦或运算,用所得结果替换p的编码目的主机MAC地址;用编码源主机MAC地址与p2的源主机MAC地址做亦或运算,用所得结果替换p的编码源主机MAC地址;去掉编码数据包帧实体头部的数据包2ID和数据包2长度;用p的帧实体中编码数据部分与p2的帧实体中数据部分做亦或运算,用所得结果替换p的编码数据部分;根据编码帧实体头部剩余的数据包1长度截断编码帧实体,丢弃多余部分;刷新p的FCS字段;最后从还原队列中移除p2。这样,便将编码数据包p还原成数据包p1,然后退避等待。If only the ACK frame replied by node B is received, but not the ACK frame replied by D, it means that B failed to receive the encoded data packet p1⊕p2 correctly or could not decode it correctly. Node A finds the normal data packet p2 from its restore queue. Node A needs to remove the MAC field (address) of the destination node 2 in the MAC header of the encoded data packet p1⊕p2; use the MAC address of the encoded destination host and the MAC address of the destination host of p2 to perform an OR operation, and replace the encoding of p with the obtained result The MAC address of the destination host; use the MAC address of the encoded source host and the MAC address of the source host of p2 to do an OR operation, and replace the encoded source host MAC address of p with the obtained result; remove the packet 2ID and the packet in the header of the encoded packet frame entity 2 length; use the coded data part in the frame entity of p and the data part in the frame entity of p2 to perform an OR operation, and replace the coded data part of p with the obtained result; truncate the coded frame according to the length of the remaining data packet 1 in the coded frame entity header Entity, discard the excess; refresh the FCS field of p; finally remove p2 from the restore queue. In this way, the encoded data packet p is restored to data packet p1, and then backoff waits.

3.ACK帧监听阶段3. ACK frame monitoring stage

本发明实施例ACK帧监听阶段包括更新资源队列、维护资源计时器等。主要功能是管理解码资源队列。在这一阶段,节点不但要侦听即将发送给自己的ACK帧,还要在退避等待过程中,空闲侦听其他节点之间传递的ACK帧。The ACK frame monitoring phase in the embodiment of the present invention includes updating resource queues, maintaining resource timers, and the like. The main function is to manage the decoding resource queue. At this stage, the node not only listens to the ACK frame that will be sent to itself, but also listens to the ACK frame passed between other nodes during the backoff waiting process.

图4为ACK帧监听阶段过程图,结合图1、图5及图6说明本实施例ACK帧监听阶段过程图具体步骤如下:Fig. 4 is a process diagram of the ACK frame monitoring stage, and in combination with Fig. 1, Fig. 5 and Fig. 6, the specific steps of the process diagram of the ACK frame monitoring stage in this embodiment are as follows:

步骤S30,确定ACK帧状态。节点监听到ACK帧后,查看ACK帧的目的节点MAC字段是否与自己的MAC地址相同。如果相同,说明该ACK帧是对自己刚才发送的数据包的确认,需要更新资源队列并创建资源计时器;如果不相同,说明该ACK帧是空闲侦听得到的,查看该ACK帧是否为编码ACK帧,即其中是不是包含尾缀ID字段,若不含有尾缀ID字段,直接将这个ACK帧丢弃,否则,需要维护资源计时器。Step S30, determining the state of the ACK frame. After the node listens to the ACK frame, it checks whether the destination node MAC field of the ACK frame is the same as its own MAC address. If they are the same, it means that the ACK frame is an acknowledgment of the data packet you just sent, and you need to update the resource queue and create a resource timer; if they are not the same, it means that the ACK frame is obtained by idle listening, check whether the ACK frame is encoded ACK frame, that is, whether it contains the suffix ID field, if it does not contain the suffix ID field, the ACK frame is directly discarded, otherwise, the resource timer needs to be maintained.

步骤S31,更新资源队列。节点B发送普通数据包p2给节点A后,等待SIFS,如果没收到ACK帧,说明p2发送失败,进入退避等待。如果收到ACK帧,不论该ACK帧是不是编码ACK帧,都说明A已经成功收到p2。节点B将普通数据包p2从转发队列移入资源队列,并为资源包p2启动一个倒计时器,倒计时器初始值为θ,倒计时器归零后,把资源包p2从资源队列移除。因为根据公式1,倒计时器归零,节点A不会再对p2编码。Step S31, updating the resource queue. After node B sends the normal data packet p2 to node A, it waits for SIFS. If no ACK frame is received, it means that p2 fails to be sent and enters backoff waiting. If an ACK frame is received, regardless of whether the ACK frame is an encoded ACK frame or not, it means that A has successfully received p2. Node B moves the normal data packet p2 from the forwarding queue to the resource queue, and starts a countdown timer for the resource packet p2. The initial value of the countdown timer is θ. After the countdown timer returns to zero, the resource packet p2 is removed from the resource queue. Because according to formula 1, the countdown timer is reset to zero, and node A will not encode p2 again.

步骤S32,查看编码信息。如果节点B收到的ACK帧属于编码ACK帧,说明节点A不但成功接收了普通数据包p2,而且已经将p2同其他数据包编码到一起。节点B从ACK帧的尾缀ID1中提取数据包ID记作id1,即普通数据包p1帧实体头部的数据包ID。节点B停止步骤S31中为资源包p2开启的倒计时器,防止p2被意外移除,导致编码数据包p1⊕p2不解码。节点B将普通数据包p2帧实体头部的数据包ID改为id1,以便步骤S13操作。此后,普通数据包p2从资源队列中被移除只有两种情况发生:一是编码数据包p到达并成功解码,二是帧实体头部为id1的数据包到达(步骤S13)。Step S32, check the encoding information. If the ACK frame received by node B is an encoded ACK frame, it means that node A not only successfully received the ordinary data packet p2, but also encoded p2 with other data packets. Node B extracts the data packet ID from the suffix ID1 of the ACK frame and records it as id1, that is, the data packet ID of the frame entity header of the ordinary data packet p1. The node B stops the countdown timer started for the resource packet p2 in step S31 to prevent p2 from being accidentally removed, causing the encoded data packet p1⊕p2 to not be decoded. Node B changes the data packet ID of the frame entity header of the normal data packet p2 to id1, so as to operate in step S13. Thereafter, there are only two situations in which the ordinary data packet p2 is removed from the resource queue: one is that the coded data packet p arrives and is decoded successfully, and the other is that the data packet whose frame entity header is id1 arrives (step S13).

步骤S33,更新倒计时器。节点D发送普通数据包p1给节点A后,收到节点A回复的确认ACK帧,那是一个普通ACK帧,根据步骤S31,p1被移动到节点D的资源队列,并且一个倒计时器正在为资源包p1计时。此后节点D虽然没有使用信道发送数据,但要一直侦听通信范围内其他节点之间的通信。节点A收到节点B发送给它的普通数据包p2并达到编码条件后,将p2编码,并回复一个编码ACK帧给节点B。此时节点D会空闲侦听的这个编码ACK帧。节点D提取编码ACK帧的尾缀ID1记作id1,提取尾缀ID2记作id2。节点D在资源队列中查找帧实体头部为id1资源包,如果找到,说明空闲侦听到的编码ACK帧与自己有关,将找到的资源包帧实体头部改为id2,并停止这个资源包的倒计时器;如果找不到,说明这个编码ACK帧与自己无关,直接将其丢弃。Step S33, updating the countdown timer. After node D sends the ordinary data packet p1 to node A, it receives the confirmation ACK frame replied by node A, which is an ordinary ACK frame. According to step S31, p1 is moved to the resource queue of node D, and a countdown timer is running for resource Packet p1 timing. Since then, although node D does not use the channel to send data, it has to listen to the communication between other nodes within the communication range. After node A receives the ordinary data packet p2 sent by node B and meets the encoding conditions, it encodes p2 and replies an encoded ACK frame to node B. At this time, node D will listen to the coded ACK frame idle. Node D extracts the suffix ID1 of the encoded ACK frame as id1, and extracts the suffix ID2 as id2. Node D searches the resource queue for a resource packet whose frame entity header is id1. If it finds it, it means that the coded ACK frame detected by idle monitoring is related to itself, and changes the found resource packet frame entity header to id2, and stops this resource packet. countdown timer; if it cannot be found, it means that the coded ACK frame has nothing to do with itself, and it will be discarded directly.

二、本发明方法中各相关参数的确定:Two, the determination of each relevant parameter in the inventive method:

实验一:研究网络负载对编码机会的影响,以及ξ的确定;Experiment 1: Study the influence of network load on encoding opportunities and the determination of ξ;

步骤一,仿真实验场景初始化:Step 1, simulation experiment scene initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,节点之间的链路传输成功率由物理环境测得。每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the link transmission success rate between nodes is measured by the physical environment. The simulation time of each experiment is 5s, each node generates ω data packets per second, the destination address is randomly selected, the length of each data packet is 1000B, and the link bandwidth is 54Mbps. The network layer uses the minimum number of hops for routing. ω controls the network load.

步骤二,取ω=50,100,150…300,对于每一个ω的值,取θ=0.25s,0.50s,0.75s,1.00s,因此,共做了6×4组评估。为了保证实验结果的真实性,每组评估进行了1000次实验,取结果的期望值作为每组最终结果。Step 2, take ω=50, 100, 150...300, and for each value of ω, take θ=0.25s, 0.50s, 0.75s, 1.00s, therefore, a total of 6×4 groups of evaluations are done. In order to ensure the authenticity of the experimental results, 1000 experiments were carried out for each group of evaluations, and the expected value of the results was taken as the final result of each group.

步骤三,分析与处理实验数据:Step 3, analyze and process experimental data:

图8示出了在不同的ω取值下,步骤S23中(数据流复杂度)的变化情况。图中不同线代表不同θ取值。从实验结果可以看出:(1)对于不同θ,数据流复杂度有同样的走势。(2)当ω<50时,数据流复杂度增加较快;随着ω增加,数据流复杂度逐渐降低,而后趋于稳定。(3)不同θ的数据流复杂度曲线距离很近。这三个观察结果说明,当网络负载小时,节点很容易获取到信道资源,转发队列里的数据包很少,几乎找不到可以编码到一起的数据包;随着网络负载增大,转发队列开始堆积数据包,出现了许多两个数据包可以编码到一起的情况,也就是说编码机会在增多;但是,能编码到一起的数据包的总量占收到数据包的比例并不是一直增加的,当网络负载达到一个很高的值,数据流复杂度趋近于一个常量,这个常量同网络带宽和部署有关。也就是说,当网络负载很高时,影响数据流复杂度的因素主要是网络中数据流的复杂度。因此,我们通过观察,当<0.08时,只可能有两种情况出现:一是节点及其邻居都工作在低负载情况下,转发队列基本为空;二是节点及其邻居在为FTP、流媒体等一些特殊应用提供服务,网络中数据流的复杂度比较低,基本上是单向的。为了减少算法复杂性,我们将ξ确定为0.08。Fig. 8 shows that under different ω values, in step S23 (data flow complexity) changes. Different lines in the figure represent different values of θ. It can be seen from the experimental results: (1) For different θ, the data flow complexity has the same trend. (2) When ω<50, the complexity of data flow increases rapidly; as ω increases, the complexity of data flow decreases gradually, and then tends to be stable. (3) The data flow complexity curves of different θ are very close. These three observations show that when the network load is small, nodes can easily obtain channel resources, and there are few data packets in the forwarding queue, and there are almost no data packets that can be encoded together; as the network load increases, the forwarding queue Start to pile up data packets, there are many cases where two data packets can be encoded together, that is to say, the number of encoding opportunities is increasing; however, the total number of data packets that can be encoded together accounted for the proportion of received data packets is not always increasing Yes, when the network load reaches a very high value, the data flow complexity tends to a constant, which is related to the network bandwidth and deployment. That is to say, when the network load is high, the factor affecting the complexity of the data flow is mainly the complexity of the data flow in the network. Therefore, we observed that when When <0.08, there are only two possible situations: one is that the node and its neighbors are working under low load conditions, and the forwarding queue is basically empty; the other is that the node and its neighbors are providing services for some special applications such as FTP and streaming media , the complexity of the data flow in the network is relatively low, basically one-way. In order to reduce the algorithm complexity, we determined ξ to be 0.08.

实验二:研究θ对编码机会数量的影响;Experiment 2: Study the effect of θ on the number of encoding opportunities;

步骤一,仿真实验场景初始化:Step 1, simulation experiment scene initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,节点之间的链路传输成功率由物理环境测得。每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the link transmission success rate between nodes is measured by the physical environment. The simulation time of each experiment is 5s, each node generates ω data packets per second, the destination address is randomly selected, the length of each data packet is 1000B, and the link bandwidth is 54Mbps. The network layer uses the minimum number of hops for routing. ω controls the network load.

步骤二,取θ=0.25s,0.50s,0.75s,1.00s,取ω=10,20,30,40,50,100,150,200,250,300,总共进行了4×10组评估。为了保证实验结果的真实性,每组评估进行了1000次实验,取结果的期望值作为每组最终结果。Step 2, take θ=0.25s, 0.50s, 0.75s, 1.00s, take ω=10, 20, 30, 40, 50, 100, 150, 200, 250, 300, and conduct a total of 4×10 groups of evaluations. In order to ensure the authenticity of the experimental results, 1000 experiments were carried out for each group of evaluations, and the expected value of the results was taken as the final result of each group.

步骤三,分析与处理实验数据:Step 3, analyze and process experimental data:

图9示出了不同θ下,编码机会变化情况。图中不同线代表不同ω取值。从实验结果可以看出:(1)当ω<50时,编码机会几乎不随θ增大而发生变化;(2)当ω>50时,编码机会随θ增加而增加。这两个观察结果说明,当网络负载小时,即便θ再大,也不会出现更多的编码机会,主要节点很容易申请到信道将要转发的数据发送出去;当网络负载大时,随着θ增大,编码机会在逐渐增多,而且不同负载下的增长趋势基本一致,这个增长加速度是有数据流复杂度决定的。另外,图9中下面6条线的垂直距离比较大,远大于上面4条线的垂直距离,说明网络复杂对编码机会的影响更大一些。这个实验最终得到的结论是,θ对编码机会的影响远没有ω大,因为不能为了获得更多编码机会而将θ设得很大。Figure 9 shows the change of coding opportunities under different θ. Different lines in the figure represent different values of ω. From the experimental results, it can be seen that: (1) when ω<50, the coding chance hardly changes with the increase of θ; (2) when ω>50, the coding chance increases with the increase of θ. These two observations show that when the network load is small, even if θ is large, there will be no more coding opportunities, and the main node can easily apply for the channel to send the data to be forwarded; when the network load is large, as θ The coding opportunities are gradually increasing, and the growth trend under different loads is basically the same. This growth acceleration is determined by the complexity of the data flow. In addition, the vertical distances of the lower 6 lines in Figure 9 are relatively large, much larger than the vertical distances of the upper 4 lines, indicating that network complexity has a greater impact on encoding opportunities. The final conclusion from this experiment is that θ has a far less impact on encoding opportunities than ω, because θ cannot be set very large in order to obtain more encoding opportunities.

实验三:研究θ对节点缓存占用的影响,以及θ的确定;Experiment 3: Study the influence of θ on node cache occupancy, and the determination of θ;

步骤一,仿真实验场景初始化:Step 1, simulation experiment scene initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,节点之间的链路传输成功率由物理环境测得。每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。每个节点的缓存分配如下:转发队列长度不限定,解码资源队列长度400,如果解码资源队列使用完毕,另有长度为500的应急队列供存放解码资源使用,恢复队列占用与解码资源队列使用情况存在相关性,不做重点讨论。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the link transmission success rate between nodes is measured by the physical environment. The simulation time of each experiment is 5s, each node generates ω data packets per second, the destination address is randomly selected, the length of each data packet is 1000B, and the link bandwidth is 54Mbps. The network layer uses the minimum number of hops for routing. ω controls the network load. The cache allocation of each node is as follows: the length of the forwarding queue is not limited, the length of the decoding resource queue is 400, if the decoding resource queue is used up, there is another emergency queue with a length of 500 for storing decoding resources, recovery queue occupancy and decoding resource queue usage There is correlation, so no key discussion will be made.

步骤二,取θ从0.1s到1.0s,跳步为0.1s,取ω从50到300,跳步为50,总共进行了10×6组评估。为了保证实验结果的真实性,每组评估进行了1000次实验,取结果的期望值作为每组最终结果。Step 2: Take θ from 0.1s to 1.0s, with a step of 0.1s, and ω from 50 to 300, with a step of 50. A total of 10×6 groups of evaluations are performed. In order to ensure the authenticity of the experimental results, 1000 experiments were carried out for each group of evaluations, and the expected value of the results was taken as the final result of each group.

步骤三,分析与处理实验数据:Step 3, analyze and process experimental data:

图10(a-d)示出了相同ω、不同θ下,资源队列使用情况。图中不同形状点代表不同消耗等级的节点:正方形节点资源消耗严重,不仅耗干了资源队列,还动用应急队列;圆形节点资源使用正常;菱形节点资源使用偏少,利用率低。从实验结果可以看出:(1)θ较小时,多数节点的资源队列没有得到充分利用;(2)θ较大时,虽然多数节点的资源队列得到充分利用,但将资源队列耗尽的节点也有很多。Figure 10(a-d) shows the resource queue usage under the same ω and different θ. Points of different shapes in the figure represent nodes with different consumption levels: square nodes consume serious resources, not only exhausting the resource queue, but also using emergency queues; circular nodes use normal resources; diamond-shaped nodes use less resources and have low utilization. From the experimental results, it can be seen that: (1) when θ is small, the resource queues of most nodes are not fully utilized; (2) when θ is large, although the resource queues of most nodes are fully utilized, the nodes that exhaust the resource queues There are also many.

图11(a-d)示出了在不同的ω下,θ对三种节点所占比例的影响。从实验结果可以看出:(1)在网络负载较小时,随着θ增加,三种节点的分布比例基本保持不变;(2)在网络负载处于中游时,相比负载轻的情况,缓存利用率低的节点大幅度减少,都转换成正常节点,但同时,在这种中度负载下,随着θ增加,会有一部分正常节点转换成红色的病态节点,当θ>0.3s时,这种变化特别明显;(3)在网络负载较高时,缓存利用率低的节点更少,但这种节点的数量也开始收到θ的影响,并且,病态节点的数量反倒比中度负载下少,这是由于在高负载情况下,数据量会分散在更广的范围,而不是快速向一部分节点汇集。Figure 11(a–d) shows the effect of θ on the proportion of three kinds of nodes under different ω. From the experimental results, it can be seen that: (1) when the network load is small, as θ increases, the distribution ratio of the three nodes remains basically unchanged; (2) when the network load is in the middle, compared with the case of light load, the cache The nodes with low utilization rate are greatly reduced, and all of them are converted into normal nodes, but at the same time, under this moderate load, as θ increases, some normal nodes will convert into red sick nodes. When θ>0.3s, This change is particularly obvious; (3) when the network load is high, there are fewer nodes with low cache utilization, but the number of such nodes also begins to be affected by θ, and the number of pathological nodes is more than moderate load. This is due to the fact that under high load conditions, the amount of data will be dispersed in a wider range, rather than quickly collected to some nodes.

这些观察结果说明,在网络负载较低的情况下,θ的对缓存的使用情况几乎没有影响,这是影响缓存利用率的主要因素的网络的部署及链路质量,当网络负载较高时,θ的选择会带来两个主要影响,一是影响低利用率节点的数量,二是影响病态节点的数量。从这个实验,最终得到的结果是,想要增加缓存利用率,同时控制病态节点在忍受范围内,θ取0.3s。These observations indicate that θ has little effect on the cache usage when the network load is low, which is the network deployment and link quality which are the main factors affecting the cache utilization. When the network load is high, The choice of θ will bring about two main effects, one is to affect the number of low-utilization nodes, and the other is to affect the number of sick nodes. From this experiment, the final result is that if you want to increase the cache utilization and control the sick nodes within the tolerance range, θ is set to 0.3s.

三、本发明方法与其他方法的对比实验Three, the comparative experiment of the inventive method and other methods

下来我们通过一组实验来验证本发明方法相对于其他协议的优势。实验主要对以下三种算法的性能进行比较:Next, we verify the advantages of the method of the present invention over other protocols through a set of experiments. The experiment mainly compares the performance of the following three algorithms:

(1)FSNC:即本发明提出的方法。(1) FSNC: the method proposed by the present invention.

(2)CSMA/CA:该协议是802.11使用最多的介质访问控制方法,使用RTS-CTS机制进行冲突避免,没有可靠的广播模块,没有编码机制。(2) CSMA/CA: This protocol is the most widely used media access control method in 802.11. It uses the RTS-CTS mechanism for collision avoidance. There is no reliable broadcast module and no encoding mechanism.

(3)XORs:该方法是第一个将网络编码与实际应用结合起来的经典案例,也是被研究讨论最多的方法。与本发明提出的方法不同,XORs将网络编码机制放在介质访问控制层与TCP层之间,对两个层次都没有做出修改。(3) XORs: This method is the first classic case of combining network coding with practical applications, and it is also the most researched and discussed method. Different from the method proposed by the present invention, XORs puts the network coding mechanism between the media access control layer and the TCP layer, and makes no modification to both layers.

在这些实验中,我们使用了信息吞吐量这个概念做衡量指标,其含义是:单位时间内,全网所有节点发送的数据包的信息含量之和,其中信息含量,指的是编码时参加亦或运算的数据包的个数,没有经过编码的数据包信息含量恒为1。实验主要从以下几方面来证明本发明的优势:In these experiments, we used the concept of information throughput as a measurement indicator, which means: the sum of the information content of the data packets sent by all nodes in the entire network per unit time, where the information content refers to the information content that is involved in encoding. The number of data packets for OR operation, and the information content of unencoded data packets is always 1. The experiment mainly proves the advantages of the present invention from the following aspects:

①网络负载对协议性能的影响,②链路传输成功率对协议性能的影响,③网络负载对缓存利用的影响。①The impact of network load on protocol performance, ②The impact of link transmission success rate on protocol performance, ③The impact of network load on cache utilization.

(1)网络负载对协议性能的影响:(1) The impact of network load on protocol performance:

仿真网络初始化:Simulation network initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,节点之间的链路传输成功率由物理环境测得。每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。根据之前试验结果,我们设定参数θ为0.3s,ξ为0.08。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the link transmission success rate between nodes is measured by the physical environment. The simulation time of each experiment is 5s, each node generates ω data packets per second, the destination address is randomly selected, the length of each data packet is 1000B, and the link bandwidth is 54Mbps. The network layer uses the minimum number of hops for routing. ω controls the network load. According to the previous test results, we set the parameters θ to 0.3s and ξ to 0.08.

仿真实验过程:Simulation experiment process:

在该实验中,取ω=10,20,30,40,50,100,150,200,250,300,总共进行了10组评估。为了保证实验结果真实性,针对每个方法,每组评估进行了1000次测试,取结果的期望值作为每组最终结果。In this experiment, ω=10, 20, 30, 40, 50, 100, 150, 200, 250, 300 were taken, and a total of 10 groups of evaluations were performed. In order to ensure the authenticity of the experimental results, 1000 tests were carried out for each method and each group of evaluations, and the expected value of the results was taken as the final result of each group.

实验结果:Experimental results:

图12(a,b)示出了各个协议全网多对多吞吐量与网络负载ω中间的关系。从图中可以看出,随着网络负载增加,没有编码机制的CSMA/CA的吞吐量逐渐增加而后趋于平稳,这是由于网络负载较高时,信道带宽被耗尽,全网吞吐不会无限增加下去;FSNC相比CSMA/CA有较明显的吞吐量提升,基本维持在7%以上,最时能达到40%;网络负载处于50到100之间时,XORs的吞吐量要高于FSNC,这是因为XORs和FSNC相比,主要不同在于使用了机会侦听,根据ETX路由尺进行邻居状态预测,将多个包编码到一起。但在负载较低和较高情况下,XORs的吞吐量不如FSNC,这是因为,在负载较低时,XORs寻找不到将多个包编码到一起的机会从而放弃编码,在负载较高时,有部分节点一次将多个数据包编码在一起,广播给更多对象,但是因为XORs也明确使用了可靠的广播协议,这就导致广播编码包时申请信道十分困难,经常由于某一个节点信道忙而取消整个广播过程;另外,在大信息量的数据包在广播时,所有接收节点的邻居都不能使用信道,这样就导致了更大范围内信道资源利用率低下,从而影响了全网吞吐量。这个实验说明,FSNC比CSMA/CA有更高的吞吐,同时比XORs有更好的适应性,能够适应多种网络负载。Figure 12(a, b) shows the relationship between the network-wide many-to-many throughput of each protocol and the network load ω. It can be seen from the figure that as the network load increases, the throughput of CSMA/CA without a coding mechanism gradually increases and then stabilizes. This is because when the network load is high, the channel bandwidth is exhausted, and the throughput of the entire network will not Infinite increase; compared with CSMA/CA, FSNC has a more obvious throughput improvement, which is basically maintained at more than 7%, and can reach 40% at the most; when the network load is between 50 and 100, the throughput of XORs is higher than that of FSNC , this is because the main difference between XORs and FSNC is the use of opportunistic interception, neighbor state prediction based on ETX routing rules, and encoding of multiple packets together. However, under low and high load conditions, the throughput of XORs is not as good as FSNC. This is because, when the load is low, XORs cannot find opportunities to encode multiple packets together and give up encoding. When the load is high , some nodes encode multiple data packets together at one time and broadcast to more objects, but because XORs also explicitly uses a reliable broadcast protocol, it makes it very difficult to apply for a channel when broadcasting encoded packets, often due to a certain node channel The entire broadcast process is canceled due to busyness; in addition, when a data packet with a large amount of information is broadcast, all neighbors of the receiving node cannot use the channel, which leads to low utilization of channel resources in a wider range, thus affecting the throughput of the entire network quantity. This experiment shows that FSNC has higher throughput than CSMA/CA, and has better adaptability than XORs, and can adapt to various network loads.

(2)链路传输成功率对协议性能的影响:(2) The impact of link transmission success rate on protocol performance:

仿真网络初始化:Simulation network initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。根据之前试验结果,我们设定参数θ为0.3s,ξ为0.08。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the simulation time of each experiment is 5s. Each node generates ω data packets per second, and the destination address is randomly selected. The length of each data packet is 1000B. The bandwidth is 54Mbps, and the network layer uses the minimum number of hops to route, and controls the network load through ω. According to the previous test results, we set the parameters θ to 0.3s and ξ to 0.08.

仿真实验过程:Simulation experiment process:

在该实验中,取ω=100,300,使用随机生成,满足高斯分布的链路传输成功率代替实际测得的链路传输成功率,高斯分布期望值取1到0.8,跳步为0.02。总共进行了2组评估,为了保证实验结果真实性,针对每个协议,每组评估进行了1000次测试,取结果的期望值作为每组最终结果。In this experiment, take ω=100,300, use random generation, and replace the actual measured link transmission success rate with the link transmission success rate that satisfies the Gaussian distribution. The expected value of the Gaussian distribution ranges from 1 to 0.8, and the jump step is 0.02. A total of 2 sets of evaluations were carried out. In order to ensure the authenticity of the experimental results, 1000 tests were carried out for each set of evaluations for each protocol, and the expected value of the results was taken as the final result of each set.

实验结果:Experimental results:

图13(a,b)示出了在中度负载和高负载情况下,各个协议全网多对多吞吐量与链路传输成功率之间的关系。从图中可以看出,在中度负载情况下,随着信道环境变差,CSMA/CA和FSNC都需要付出额外的信息吞吐量以克服信道环境带来的错包丢包现象,而XORs在信道环境好的情况下,有较高的吞吐量,因为在这是,XORs的邻居预测模型得出的结果很高比例都是正确的,但随着信道环境变差,XORs的预测模型正确率开始降低,很多编码包不能被成功解码,吞吐量开始向FSNC接近。在高负载情况下,XORs与CSMA/CA的吞吐非常接近,这是由于XORs广播高信息量编码包时,所有接收节点的邻居都被至于静默状态,导致区域性信道利用率低下,从而影响了全网吞吐;而且,这两种协议的吞吐几乎不随链路质量的变化而变化,这是由于负载高时,信道已经不能提供额外的带宽用于数据包重传。此时,FSNC仍然保持着7%的吞吐提升。这个实验说明,FSNC的性能受链路传输成功率的影响更小,鲁棒性更强。Figure 13(a,b) shows the relationship between the network-wide many-to-many throughput of each protocol and the link transmission success rate under moderate load and high load. It can be seen from the figure that in the case of moderate load, as the channel environment deteriorates, both CSMA/CA and FSNC need to pay extra information throughput to overcome the error packet loss phenomenon caused by the channel environment, while XORs in When the channel environment is good, there is a higher throughput, because in this case, the results obtained by the XORs neighbor prediction model are correct in a high proportion, but as the channel environment becomes worse, the accuracy rate of the XORs prediction model It began to decrease, many encoded packets could not be successfully decoded, and the throughput began to approach FSNC. In the case of high load, the throughput of XORs and CSMA/CA is very close. This is because when XORs broadcasts high-informative encoded packets, all the neighbors of the receiving node are silenced, resulting in low regional channel utilization, which affects the The throughput of the entire network; moreover, the throughput of these two protocols hardly changes with the change of link quality, because when the load is high, the channel can no longer provide additional bandwidth for data packet retransmission. At this point, FSNC still maintains a 7% increase in throughput. This experiment shows that the performance of FSNC is less affected by the success rate of link transmission and more robust.

(3)网络负载对缓存利用的影响:(3) The impact of network load on cache utilization:

仿真网络初始化:Simulation network initialization:

申请人模拟出一个长度为1400m,宽度为600m的无线网状网络,其中布置86个节点。在该实验中,每个节点的通信半径为175m,节点之间的链路传输成功率由物理环境测得。每次实验仿真时长为5s,每个节点每秒产生ω个数据包,目的地址随机选定,每个数据包的长度为1000B,链路带宽为54Mbps,网络层使用最小跳步数路由,通过ω控制网络负载。根据之前试验结果,我们设定参数θ为0.3s,ξ为0.08。The applicant simulated a wireless mesh network with a length of 1400m and a width of 600m, in which 86 nodes are arranged. In this experiment, the communication radius of each node is 175m, and the link transmission success rate between nodes is measured by the physical environment. The simulation time of each experiment is 5s, each node generates ω data packets per second, the destination address is randomly selected, the length of each data packet is 1000B, and the link bandwidth is 54Mbps. The network layer uses the minimum number of hops for routing. ω controls the network load. According to the previous test results, we set the parameters θ to 0.3s and ξ to 0.08.

仿真实验过程:Simulation experiment process:

在该实验中,取ω=60,100,200,300,总共进行了4组评估,为了保证实验结果真实性,针对每个协议,每组评估进行了1000次测试,取结果的期望值作为每组最终结果。In this experiment, ω=60, 100, 200, 300 were used, and a total of 4 groups of evaluations were carried out. In order to ensure the authenticity of the experimental results, 1000 tests were carried out for each group of evaluations for each protocol, and the expected value of the results was taken as the final result of each group.

实验结果:Experimental results:

图14(a-d)示出了XORs和FSNC两种方法解码资源缓存队列的使用与网络负载的关系。从图中可以看出,在各种网络负载下,XORs节点的缓存使用量都比FSNC高,某些情况甚至高出数倍,这是因为XORs节点不但缓存自身转发过的数据,还缓存机会监听到的邻居节点的数据,并且没有一个很好的缓存管理机制。另外,XORs点比FSNC点分布更加广泛,而FSNC点更为集中,意味着XORs的缓存使用差异较大,方法稳定性较差,对缓存的分配更难控制,相比之下,FSNC更加稳定,也更容易控制。Figure 14(a-d) shows the relationship between the usage of XORs and FSNC decoding resource cache queues and network load. It can be seen from the figure that under various network loads, the cache usage of XORs nodes is higher than that of FSNC, and even several times higher in some cases. This is because XORs nodes not only cache the data forwarded by themselves, but also cache opportunities. The monitored data of neighbor nodes does not have a good cache management mechanism. In addition, XORs points are more widely distributed than FSNC points, and FSNC points are more concentrated, which means that the cache usage of XORs is quite different, the method is less stable, and it is more difficult to control the allocation of caches. In contrast, FSNC is more stable , is also easier to control.

Claims (4)

1.一种基于网络编码的无线网状网络介质访问控制方法,其特征在于,在该无线网状网络中,当一个节点收到邻居节点发来的一个数据包后,判断该数据包是普通数据包还是编码数据包:1. A method for controlling medium access in a wireless mesh network based on network coding, characterized in that, in the wireless mesh network, after a node receives a data packet sent by a neighbor node, it is judged that the data packet is normal Packets or encoded packets: 如果是编码数据包,则对该编码数据包进行解码,解码成功得到需要的普通数据包,解码不成功则丢弃该编码数据包;If it is an encoded data packet, the encoded data packet is decoded, and the required ordinary data packet is obtained after the decoding is successful, and the encoded data packet is discarded if the decoding is unsuccessful; 如果是普通数据包,则判断该普通数据包是否达到编码数据包的生成条件,如达到则对其进行编码,并将编码后的得到的编码数据包向邻居节点广播;如不能达到生成条件,则将该普通数据包按照802.11协议进行转发;If it is an ordinary data packet, it is judged whether the ordinary data packet reaches the generation condition of the encoded data packet, if it is achieved, it is encoded, and the encoded data packet obtained after encoding is broadcast to the neighbor node; if the generation condition cannot be met, The ordinary data packet is then forwarded according to the 802.11 protocol; 编码数据包的生成条件及编码过程如下:The generation conditions and encoding process of the encoded data packet are as follows: 在该无线网状网络中,节点A至少有两个邻居节点,设初始时刻节点A的转发队列为空,则从初始时刻开始:节点A收到邻居节点发来的一个普通数据包p2后,在转发队列中寻找一个普通数据包p1,如果存在p1同时满足公式1和公式2,则将p1和p2编码成为编码数据包p;In this wireless mesh network, node A has at least two neighbor nodes, if the forwarding queue of node A is empty at the initial moment, then from the initial moment: after node A receives a normal data packet p2 from the neighbor node, Look for an ordinary data packet p1 in the forwarding queue, if there is p1 that satisfies formula 1 and formula 2 at the same time, encode p1 and p2 into encoded data packet p; 在公式1中,s1、s2分别为数据包p1、p2的源节点MAC地址,d1、d2分别为p1、p2下一跳节点的MAC地址,t1、t2分别为p1、p2达到节点A的时间,θ取值为0.3秒;In Formula 1, s1 and s2 are the source node MAC addresses of data packets p1 and p2 respectively, d1 and d2 are the MAC addresses of the next-hop nodes of p1 and p2 respectively, and t1 and t2 are the time for p1 and p2 to reach node A respectively , the value of θ is 0.3 seconds; 在公式2中,r和c分别为节点A从初始时刻开始,收到邻居节点发送的普通数据包的累计个数和节点A的转发队列中,满足公式1的普通数据包的累计个数,其中r每次累加1,c每次累加2,ξ取值为0.08;In Formula 2, r and c are respectively the cumulative number of normal data packets received by node A from the initial moment and the cumulative number of normal data packets satisfying formula 1 in the forwarding queue of node A, Among them, r accumulates 1 each time, c accumulates 2 each time, and the value of ξ is 0.08; 所述的普通数据包p1和p2经过亦或运算编码成为编码数据包p,具体为:The ordinary data packets p1 and p2 are coded into coded data packets p through an OR operation, specifically: 将普通数据包p2目的主机MAC地址和p1目的主机MAC地址做亦或运算,所得结果填入p1的目的主机MAC字段;将普通数据包p2源主机MAC地址和p1源主机MAC地址做亦或运算,所得结果填入p1的源主机MAC字段;将p2的数据部分和p1的数据部分做亦或运算,所得结果填入p1的数据部分字段;如果p1和p2的数据部分长度不一致,则将长度较短的一方尾部填0补位,生成的新的数据包为编码数据包p。Do an OR operation with the MAC address of the destination host of the ordinary data packet p2 and the MAC address of the destination host of p1, and fill the result into the MAC field of the destination host of p1; perform an OR operation with the MAC address of the source host of the ordinary data packet p2 and the MAC address of the source host of p1 , the result is filled in the source host MAC field of p1; the data part of p2 is ORed with the data part of p1, and the result is filled in the data part field of p1; if the length of the data part of p1 and p2 is inconsistent, the length The shorter side is filled with zeros at the end, and the new data packet generated is the coded data packet p. 2.如权利要求1所述的基于网络编码的无线网状网络介质访问控制方法,其特征在于,在该无线网状网络中,每个节点中均设置有资源队列,当节点将一个普通数据包成功发送给另一个节点后,将该普通数据包从转发队列移入到资源队列中,并为该普通数据包启动一个倒计时器,倒计时器初始值为θ,倒计时器归零后,将该普通数据包从资源队列移除。2. The medium access control method of wireless mesh network based on network coding as claimed in claim 1, characterized in that, in the wireless mesh network, each node is provided with a resource queue, and when a node sends an ordinary data After the packet is successfully sent to another node, move the ordinary data packet from the forwarding queue to the resource queue, and start a countdown timer for the ordinary data packet. The initial value of the countdown timer is θ. After the countdown timer is reset to zero, the ordinary The packet is removed from the resource queue. 3.如权利要求2所述的基于网络编码的无线网状网络介质访问控制方法,其特征在于,当节点收到一个编码数据包后,对其进行解码操作:节点从自己的资源队列中寻找与收到的编码数据包对应的普通数据包,将找到的普通数据包和收到的编码数据包进行亦或运算,得到需要的普通数据包。3. The medium access control method of wireless mesh network based on network coding as claimed in claim 2, characterized in that, after a node receives a coded data packet, it is decoded: the node searches for Ordinary data packets corresponding to the received encoded data packets are ORed by the found ordinary data packets and the received encoded data packets to obtain the required ordinary data packets. 4.如权利要求1所述的基于网络编码的无线网状网络介质访问控制方法,其特征在于,所述的节点A生成编码数据包p后,对p进行广播的步骤如下:4. the wireless mesh network medium access control method based on network coding as claimed in claim 1, is characterized in that, after described node A generates coded data packet p, the step of broadcasting p is as follows: 步骤S1,创建广播RTS帧,将普通数据包p1、p2的下一跳节点的MAC地址写入RTS帧中,并确定信道占用时长Tb,将Tb添加到广播RTS帧的通信时间字段,Tb计算方法如下:Step S1, create a broadcast RTS frame, write the MAC address of the next-hop node of the ordinary data packets p1 and p2 into the RTS frame, and determine the channel occupation time Tb, add Tb to the communication time field of the broadcast RTS frame, and calculate Tb Methods as below: Tb=5×SIFS+(82+L)×t0 (公式3)Tb=5×SIFS+(82+L)×t 0 (Formula 3) 公式3中,SIFS为802.11协议规定的最短等待时间常数,L为编码数据包p的长度,t0为传输一个字节所需要的时间,由链路带宽决定;In Formula 3, SIFS is the minimum waiting time constant specified in the 802.11 protocol, L is the length of the encoded data packet p, and t0 is the time required to transmit a byte, which is determined by the link bandwidth; 步骤S2,节点A广播RTS帧申请信道;Step S2, node A broadcasts an RTS frame to apply for a channel; 步骤S3,邻居节点收到RTS帧后,确定自己回复RTS帧的等待时间Tcts,并在等待时间后回复CTS帧给节点A;Tcts计算方法如下:Step S3, after the neighbor node receives the RTS frame, determine the waiting time Tcts for replying the RTS frame, and reply the CTS frame to node A after the waiting time; the calculation method of Tcts is as follows: 公式4中,iMAC为该邻居节点的MAC地址,d1、d2分别是数据包p1、p2的下一跳节点的MAC地址;In formula 4, iMAC is the MAC address of the neighbor node, and d1 and d2 are the MAC addresses of the next-hop nodes of data packets p1 and p2 respectively; 步骤S4,节点A发送完广播RTS帧,等待2×SIFS+28×t0时间后,查看收到的CTS帧情况,如果分别收到p1、p2的下一跳节点回复的CTS帧,则节点A等待SIFS时间后开始发送编码数据包p,否则节点A进入退避等待。Step S4, node A sends the broadcast RTS frame, waits for 2×SIFS+28×t 0 time, checks the received CTS frame, if it receives the CTS frame replied by the next hop node of p1 and p2 respectively, then node A A waits for the SIFS time and starts to send the encoded data packet p, otherwise node A enters backoff waiting.
CN201410216133.2A 2014-05-21 2014-05-21 Media access control method for wireless mesh network based on network coding Expired - Fee Related CN103957085B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410216133.2A CN103957085B (en) 2014-05-21 2014-05-21 Media access control method for wireless mesh network based on network coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410216133.2A CN103957085B (en) 2014-05-21 2014-05-21 Media access control method for wireless mesh network based on network coding

Publications (2)

Publication Number Publication Date
CN103957085A CN103957085A (en) 2014-07-30
CN103957085B true CN103957085B (en) 2017-02-15

Family

ID=51334319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410216133.2A Expired - Fee Related CN103957085B (en) 2014-05-21 2014-05-21 Media access control method for wireless mesh network based on network coding

Country Status (1)

Country Link
CN (1) CN103957085B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294807B (en) * 2017-07-04 2020-02-11 中国联合网络通信集团有限公司 Protocol interoperability testing method and device
CN111327707B (en) * 2020-03-05 2022-04-05 重庆邮电大学 A method of cache replacement based on network coding in wireless network
CN112584460B (en) * 2020-12-09 2022-06-03 重庆邮电大学 Opportunistic routing selection method based on network coding in wireless network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101611598A (en) * 2007-03-08 2009-12-23 英特尔公司 Combining packets in a physical layer for bi-directional relaying
EP2216954A1 (en) * 2009-02-10 2010-08-11 Fujitsu Limited Data relay apparatus, communication apparatus and communication method
CN101888358A (en) * 2010-07-15 2010-11-17 华中科技大学 A Transmission Method for Reducing the Computational Complexity of Bidirectional Relay Nodes Based on Network Coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223728B2 (en) * 2007-04-04 2012-07-17 Nokia Corporation Combined scheduling and network coding for wireless mesh networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101611598A (en) * 2007-03-08 2009-12-23 英特尔公司 Combining packets in a physical layer for bi-directional relaying
EP2216954A1 (en) * 2009-02-10 2010-08-11 Fujitsu Limited Data relay apparatus, communication apparatus and communication method
CN101888358A (en) * 2010-07-15 2010-11-17 华中科技大学 A Transmission Method for Reducing the Computational Complexity of Bidirectional Relay Nodes Based on Network Coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于网络编码的MAC协议研究";王龙翔;《中国优秀硕士论文全文数据库》;20140115;I136-357 *
"无线多跳网络中基于网络编码的MAC机制研究";黄勐;《中国优秀硕士学位论文全文数据库》;20111215;I136-529 *

Also Published As

Publication number Publication date
CN103957085A (en) 2014-07-30

Similar Documents

Publication Publication Date Title
CN101217497B (en) A path selecting method of wireless mesh network
US9698864B2 (en) Dynamic assignment of frequency hopping sequences in a communication network
CN102905309B (en) A kind of relay communication method based on cooperative MAC protocol in vehicle self-organizing network
US9800493B2 (en) Routing messages in a computer network using deterministic and probalistic source routes
US9231738B2 (en) Communication method for relay node and next node of the relay node for network coding
CN102355670B (en) A multi-channel wireless mesh network channel allocation method
CN102625362B (en) Distributed channel distributing method in a kind of more wireless radiofrequency Mesh networks of multichannel
CN106911398B (en) Multi-channel medium access control communication method for underwater sensor network based on dynamic channel negotiation
CN104955104B (en) A kind of transmission method and device of data
CN103957085B (en) Media access control method for wireless mesh network based on network coding
EP2876832B1 (en) Communication method and apparatus
CN108631918A (en) The method and apparatus of data transmission
JP7123194B2 (en) Data transmission method, transmission device, data reception method, and reception device
CN109688554B (en) Underwater sound media access control method based on reservation scheduling mechanism
CN105007586A (en) Two-factor based self-adaptive contention window adjusting method for SMAC protocol of wireless sensor network
CN105554107B (en) Optimal cooperation point selection method based on TDMA agreements in high dynamic vehicular ad hoc network network
CN111770516B (en) Transmission method for ad hoc network communication
CN112929960B (en) Method for supporting IPv6 and improving wireless sensor network certainty
JP6109184B2 (en) Multi-channel, multi-modulation, multi-rate communication with wireless transceiver
CN115334004A (en) Method for dynamically adjusting size of data window
CN104639308B (en) Crosstalk tolerance contention access mechanism in high-speed narrow-band power line communication
CN114401228A (en) End-to-end wide area crossing deterministic transmission network architecture and method
CN109068394B (en) Channel Access Method Based on Queue Length and Collision Risk
CN104811720A (en) Video IPB frame transmission mapping mechanism realization method based on Mesh network
WO2018082536A1 (en) Tcp delay processing method, apparatus and system, and computer storage medium thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170215

CF01 Termination of patent right due to non-payment of annual fee