Network Coding Multicast Performance When ... - Semantic Scholar

1 downloads 0 Views 793KB Size Report
(e.g., erasure codes or fountain codes). The third contribution is in the protection from malicious packet corruption, i.e., pollution. There is the risk that nodes ...
Network Coding Multicast Performance When Some Nodes Do Not Code Soon Y. Oh and Mario Gerla Computer Science Department University of California, Los Angeles Los Angeles, CA 90095 {soonoh, gerla}@cs.ucla.edu Abstract—Network coding was found to be useful for ad hoc wireless multicast in disruptive channel and connectivity conditions. In heterogeneous networks, comprising teams with different technical preparedness, it is possible that only the radios of the most advanced teams have sufficient resources to network encode/decode. In this case, an interesting solution is partial (hybrid) network coding - only a fraction of the nodes encodes, the balance simply forwarding the packets. Partial coding poses interesting problems and opportunities that require novel solutions. The first contribution of this paper is the control of redundant transmissions. Network coding detects duplicates using the “innovative packet” check; it drops non innovative packets. Likewise, we require a new duplicate detection scheme for a non network coding (non-NC) nodes using encoding vectors since packet ID may be obliterated during packet mixing. The second contribution is the study performance loss caused by partial coding. Through the analysis of representative topologies and scenarios we identify densities and distributions (of non coding nodes) that render network coding inefficient. The results are of practical importance because they help determine when one should switch from network coding to other forms of protection (e.g., erasure codes or fountain codes). The third contribution is in the protection from malicious packet corruption, i.e., pollution. There is the risk that nodes belonging to an untrusted team (a likely situation in tactical coalitions) can inject polluted packets into the network. Pollution is critical in network coding. If it goes unchecked, it makes it easy for an attacker to spoil an entire generation. An opportunity offered by hybrid network coding is to force the untrusted nodes to perform simple forwarding, without coding. We show that their behavior can be more easily and efficiently checked (with hash signatures instead of homomorphic hashes) while still profiting from their forwarding.

I. I NTRODUCTION Unlike conventional store and forwarding, network coding allows that intermediate nodes to mix packets. Since the seminal work by Ahlswede et al. [1], network coding has been extensively studied to improve the performance of wireless networks [9], [10]. Through theoretical and experimental studies, network coding was found to be useful for ad hoc wireless multicast in disruptive channel and connectivity conditions. CodeCast [16] is an efficient embodiment of network coding into the ODMRP protocol [13]. Example based on large scale mobile networks shows significant gains by CodeCast in high mobility, jamming and other impairments. Previous network coding work focuses on homogeneous networks in which every node is capable of network coding.

However, in realistic scenarios (say, tactical multi coalition operations, civilian emergency recovery in urban disasters, etc) there will be multiple teams with different technical preparedness; it is possible that only the radios of the most advanced teams have sufficient resources to network encode/decode. For example, consider a peace keeping situation where NATO coalition forces and local army or police cooperate. The NATO team has state-of-the-art communication devices able to network code while local army/police has conventional devices with no network coding modules. While the NATO teams disseminate situation awareness multimedia streams among each other in a poorly connected environment they have the dilemma of using network coding for robustness and utilizing local forces for better connectivity. In this case, an interesting solution is hybrid network coding - only a fraction of the nodes encodes, and the balance simply forwards the packets without modification. Hybrid coding poses interesting problems. The first problem is the control of redundant transmissions. In ODMRP (and some wireless ad hoc multicast protocols), replicated packets are detected and dropped by keeping track of Packet Identification Numbers (Packet ID). Network coding, however, mixes packets at the network level and thus obliterates Packet ID’s during intermediate nodes encoding process. In conventional network coding, by default duplicate packets are detected and dropped by checking linear independence of the encoding vectors with the set received so far in the generation. In hybrid coding, we propose to use the same method for non-NC nodes. These nodes check and drop packets with duplicate encoding vector. The second problem is malicious packet corruption. If non-NC nodes belong to a team that is not trusted (a likely situation in tactical coalitions), there is the risk that a malicious node corrupts the packet before forwarding it. If this corruption goes unchecked, it can spoil the entire generation. In this respect, malicious nodes are equally dangerous regardless whether they encode packets or simply forward them. Current techniques are very elegant (e.g., homorphic hashes enable to detect any kind of abuse by coding nodes) but are computationally expensive. Given the particular nature of our multi-team scenario, we can partition the node population into trusted nodes (with previously established shared secrets) and untrusted nodes and constrain the latter to a forwarding role without coding. Pollution protection can then be carried out with much more

efficient hash signatures which are set and checked by trusted nodes only to detect packet corruption. Once the issues of replicated packet suppression and pollution protection are resolved, the third important issue is the performance loss caused by the fact that only a subset of the nodes can code. In fact, it is important to understand up to which point it is beneficial to code as the fraction of NC able (or authorized) nodes diminishes. Previous works have theoretically investigated the heterogeneous network where encoding nodes and forwarding (i.e., non coding) nodes coexist [2], [3], [6], [12], [18]. However, the focus there is on finding theoretical bounds of the minimum number of coding nodes or a minimal number of subtrees that still guarantee the asymptotic benefits of a full coding network in ideal network conditions. In this paper, the focus is more on finite network size and on realistic scenarios that include motion and channel disruption. Specifically, we are investigating performance gains and tradeoff in the use of network coding in such heterogeneous environments. In multicast and broadcast mode in a connected heterogeneous network, we expect network coding performance to degrade as the number of non-NC nodes increases and to be worst when only source and destination are network coding enabled. The issue is to determine at which point to stop and revert to conventional multicast/broadcast without coding (but using instead end to end encoding such as erasure codes or fountain codes). Clearly, this threshold will depend on the network characteristics (e.g., motion pattern, link errors, jamming etc). The main contribution of this paper is the identification of densities and distributions (of non-NC nodes) that influence Network Coding efficiency. The results are of practical importance because they help determine when one should switch from Network Coding to other form of protection. We carry out the performance evaluation via simulation. The rest of the paper is organized as follows: In Section II, we briefly provide related work and in Section III, present our hybrid scheme, ”No Trust, No Mix”. We then describe simulation settings and results in Section IV and we conclude in Section V. II. R ELATED W ORK In this section, we review previous network coding protocols and security schemes. A. Network Coding Protocols CodeCast [16] is a multicast routing protocol that implements random linear network coding in a wireless mobile ad hoc network (MANET);. The source divides the stream of data into blocks and encodes them (i.e., mixes them) before transmission. Forwarders further re-encode and relay received packets and destinations re-construct the original data upon receiving enough encoded packets. CodeCast broadcasts encoded packets without establishing a route; it prunes unnecessary routes using passive acknowledgements while transmitting. It increases network reliability keeping low overhead.

Oh et al. proposed a dynamic routing protocol in MANET using network coding [15]. This protocol features multiple routing modes, e.g., single path routing, multipath routing, and multipath with network coding routing; it dynamically changes routing modes adapting to monitored channel/link environments via lower layers. If the link is stable, it uses a single path routing without network coding, but it switches to multipath forwarding and further to multipath with network coding when channel/link condition worsen. In the network coding mode, it employs random linear coding and thus encoding and decoding processes are the same as CodeCast’s. The dynamic routing can be applied to MANET unicast as well as multicast routing. CodeTorrent [14] is a P2P file swarming protocol that also transmits encoded blocks. It uses epidemic dissemination style content distribution. A sender broadcasts control packets to one-hop neighbors and transmits encoded packets when it discovers a node that wants the data. A recent actual implementation of network coding in an urban environment is MORE [4] - an opportunistic routing protocol for a wireless mesh networks. MORE randomly mixes packets using network coding before forwarding them. This randomness ensures that routers hearing the same transmission do not forward the same packets. Consequently, it features performance gains of up to 45% over non-coded opportunistic routing protocols. MORE is a protocol developed for stationary, wireless urban meshes, e.g., community wireless networks. It has not been tested however, for highly mobile, tactical scenarios nor for hybrid coding/non coding environemnts. B. Network Coding Security Network coding is able to maximize the throughput in wireless network, but it is vulnerable to pollution attacks in which an adversary or an attacker injects malicious packets into the network. These polluted packets further contaminate other packets (via mixing) as they propagate through the network. Thus the destinations fail to recover the original “generation”. Traditional checking schemes cannot be applied to network coding since the encoding process by intermediate nodes may destroy them. Homomorphic hash functions were first proposed to check encoded packets by nodes in the network in which a source encodes packets via rateless coding [11] and Gkantsidis et al. recently applied homomorphic hash functions to network coding to find polluted packets [7]. In network coding, all encoded packets are generated by linear combination of original packets. In homomorphic hash functions, a hash value of a linear combination of packets is a combination of original blocks’ hash values. Therefore, the hash value of encoded packets in network coding can be calculated from the original packets’ hash values without rehashing. This way, polluted packets are detected when injected packets’ hash values do not match. However, homomorphic hashes are computationally expensive (typically much more expensive than regular hashes). To overcome this problem in [7], users cooperate to protect the network against pollution attacks by detecting and

black-listing malicious nodes when polluted blocks are found. To reduce computational overhead, all nodes probabilistically check polluted packets instead of monitoring all received packets. In [19], Yu et al. proposed homomorphic signature function in which a source node is able to delegate signing authority to forwarder nodes. Say, the source generates the signature for each encoded packet via RSA private key and adds the signature to the corresponding packet. Nodes that received this packet can verify using the source’s public key. Then, forwarder nodes can generate the signatures for output packets without contacting the source and other nodes also verify these packets. Since the homomorphic signature function guarantees that any encoded packet’s signature can be composed from those of input packets, forwarder nodes can generate valid signatures without the source’s private key. High computational expense is again a disadvantage of the homomorphic signature function. The hash function here proposed is much easier to compute. However, for the scheme to work, the hash function must be a secret possessed only by the trusted coalitions. In a coalition and more generally multi team operation it is assumed that secrets are established and shared before the mission begins, Thus the secret hash function is distributed before the entire Network Code distribution begins by using a secure multicast key distribution, e.g., ABE [8]. However, the need of secret key distribution ahead of time is an issue that must be considered. III. S YSTEM D ESCRIPTION In this section, we present details of our heterogeneous network coding security scheme and propose solutions. A. Network Model We assume that there is a mix of heterogeneous nodes (with different capabilities and possibly trusted and non-trusted) in the network. We will refer to the latter as non-NC nodes. Packet corruption in the air is detected via checksum - malicious corruption in the node is detected via secure hashing. Coding nodes and non-NC nodes belong to different groups in the network, e.g., NATO coalition force and local army or police. Any pair of nodes in the network can communicate with each other and a source can send data to multiple nodes (the receivers must of course be NC enabled). Normal data is transmitted without encryption, but secrete messages among the group are end to end encrypted first. In this paper, we consider multicast communications among multiple teams that participate in the same mission. A source wants to send secrete messages to multiple destinations in the same multicast group (i.e., same mission). Upon receiving packets, coding nodes encode and forward. If they are destinations, they decode and pass to a upper layer. Non-NC nodes relay non-duplicated packets without modifying them. Typically, only one selected set of nodes has network coding capability. However, to improve connectivity, all nodes in the network are “volunteered” to participate in packet delivering.

Since the target application is multicast, each node sends out a message with MAC broadcast mode so that all nodes within a radio range can hear/receive transmitted messages. B. Brief Overview of Network Coding To implement network coding, we use the “Random Linear Network Coding”scheme [5]. A source node divides data stream into equally sized packets p1 , p2 , p3 , . . ., where subscripts represent consecutive and unique sequence numbers. Note that we use lowercase boldface letters to denote vectors or packets and uppercase boldface letters denotes matrices. Those packets are grouped into k packets called generation, e.g., k = 8 in our simulation. The generations do not overlap and only packets in the same generation are encoded together. For random linear coding, a coefficient for encoding is randomly drawn from a finite field, e.g., GF(28 ) in our simulation. A set of coefficients is called global encoding vector, e = [e1 . . . ek ]. It is recorded in the packet header and sent along with the encoded packet for the purpose of later decoding at the receivers. A coded packet cj is a linear combination of packets in the same generation and the subscript j is generation id. That is, k−1 X cj = ei pjk+i (1) i=0

Upon receiving a encoded packet, intermediate nodes store it into their local buffer1 if its encoding vector is innovative that is linearly independent to other buffered encoding vectors in the same generation. Intermediate nodes in the network reencode and forward packets when they receive k innovative packets in the same generation or a certain period has passed since the first packet in that generation arrived. Re-encoding is through the same process that the data source has undergone to generate a coded packet. Note that the packets in the buffer are coded at least once and thus the re-encoded packet ´cj is generated by, k−1 X ´cj = eˆi ci . (2) i=0

Moreover, the global encoding vector is attached at the header of re-encoded packet after linearly combined. That is, ´ej =

k−1 X

eˆi ei

(3)

i=0

If a receiver collects enough encoded packets, k innovative packets in the generation, original packets are recovered by Gaussian elimination calculation with a global encoding vector. Now cj is the received coded packets, ej is the global encoding vector, and pj is the original packet. Let ET = [eT1 . . . eTk ], CT = [cT1 . . . cTk ], and PT = [pT1 . . . pTk ] where superscript T denotes the transpose operation. Now the receiver can obtain original data P using, P = E−1 C

(4)

1 We simply assume that buffer on each node is large enough to store all the data for a limited amount of time

C. No Trust No Mix The above scenario can be used also to handles untrusted nodes. As mentioned before, untrusted nodes are only allowed to forward packets. They do not code. Upon receiving a packet, the untrused node reads the encoding vector. It drops the packet if duplicate else it forwards it. The untrused node is never a destination. Trusted nodes including the source append a secure “digest” to each packet they transmit. The digest is the hash of the entire packet including network coding header using a secret hash function known only to privileged group nodes. It may be actually a published hash digest encrypted with a secure symmetric key that is refreshed each generation to avoid decode attackes. On reception, each trusted node checks the digest for correctness and discards polluted packets.

the next vector component if the first component was matched, and so on. However, if the incoming packet is a duplicate, the first match will be sufficient to reveal that, since with random weight selection it is extremely rare to find distinct vectors with even one component matching. The probability of a match in the first component duplicate two vector elements 1 1 is thef initef ieldsize , e.g., 28 in our simulation. Thus, vector comparison requires computational overhead in the order of generation size. Network Coding node Non Network Coding node

Non network coding node zone

D. A New Duplicate Detection Scheme As regular nodes relay packets using ODMRP, duplicate packet transmissions may occurs. In wireless multicast communication, packets are broadcasted in the network and all nodes within radio range can hear/receive transmitted packets. Thus, nodes must detect duplicates; otherwise the congestion becomes intolerable. In normal forwarding, nodes detect duplicate checking the IP sequence number. Network coding in contrast resolves the problem by selecting only innovative packets via checking linear dependency of encoding vectors. In this scenario, the IP sequence number is made useless by network coding. We propose a new duplicate detection scheme that is not dependent of IP sequence numbers. Any node, coding or not coding, inspects the encoding vector of an incoming packet. The trusted, network coding node checks linear dependency and drops it if the encoding vector is linearly dependent of the vectors received so far in this generation. The untrusted, non network coding node compares an encoding vector with other received encoding vectors in the generation. Duplicate vector implies duplicate packet. Thus, the node drops the packet if it finds a duplicate encoding vector. To implement this duplicate detection scheme, the packet header must be modified. In the header, the source sets the network coding flag for each stream that must be network coded. It also provides (in an “extended header”) various fields required for network coding, i.e., encoding vector, generation ID, hash field, etc. The flag instructs network coding nodes to perform encoding and instructs non-NC nodes to use the vector for duplicate detection against vectors received in the same generation. This scheme can be easily extended to network coding methods based on sliding window generation (of packets to be coded) as opposed to fixed generation. Even though the size of the encoding vector is generally larger than the 2 bytes IP sequence number, its size is not too big to be stored in the buffer. The encoding vector size depends on the finite field size, e.g., the vector size is 8 bytes in our simulation while we use 28 as a field size. Computation overhead is also not significant in the new scheme. A node compares the first element of the vector with the first element of each of the received vectors in the generation. The node proceeds to check

Fig. 1.

A Corridor topology with 6 hops.

IV. P ERFORMANCE E VALUATION In this section, we evaluate hybrid network coding performance using QualNet [17], a packet level network simulator. We use IEEE 802.11 MAC and PHY layer with twoway ground path-loss propagation model and 2Mbps channel bandwidth. A source node transmits 512 bytes packets with 10 packets/s constant bit rate traffic. Each simulation run lasts 3 minutes and all results are averaged over 100 simulation runs. Two topologies are used in the experiments: a “corridor” topology and a random topology. The simulation settings above are applied to both topologies unless otherwise specified. The analytic model is applied only to the corridor topology. As shown in the Figure 1, the corridor topology has a single source and multiple receivers. Every node except the first row has r upstream nodes. That is, a node is able to receive r packets from r parent nodes. The number of hops from a source to receivers is defined as h, i.e., h is 6 in the Figure 1. In the random topology, 30 nodes including a single source and 5 multicast receivers are randomly distributed in a 1000m by 1000m square field. We use three metrics: Packet Delivery Ratio (PDR) is the fraction of delivered packets averaged over all receivers; Normalized Packet Overhead is the total number of packet transmissions by the network divided by the total number of data packets actually delivered; and The Number of Total Transmitted Packets is the total number of packets transmitted by the network. A. Corridor Topology In the corridor model, all nodes broadcast packets without route establishing process. Non network coding (Non-NC) nodes are distributed over the topology in different patterns.

Packet et Overhead

25.74 23.39

25 20

20.64 17.00

15 10 5 0

The Number of Transmitted Packets 46014.00

50000 42040.33 37139.33

40000 30600.00 30000 20000 10000 0

0

1

2

3

Nunber of Non Network Coding Nodes in the zone

Fig. 2. Packet overhead in the corridor topology model. Non network coding nodes locate in the third row.

In the first experiment, we add non-NC nodes in the third row in the corridor topology, Figure 1 increasing their number from 0 to 3. In this experiment, PDR (Packet Delivery Ratio) is 100% for all cases. However, packet overhead increases as the non-NC node number increases. Figure 2 shows packet overhead and Figure 3 shows the total number of transmitted packets. If all nodes in the topology are network coding enabled, they transmit packet at most the generation size k, e.g., 8 in our simulation, since an intermediate node does not need more than k packets to generate linearly independent encoded packets. Since communication is in broadcast mode, nodes forward the same number of packets they receive. Therefore, the packet overhead is 17 (transmitted packets per delivered packet) because there are 17 nodes in the topology 2 . Packet overhead and number of transmitted packets both increase linearly as shown in Figure 2 and 3 since a non-NC node relays all non duplicate packets. In Figure 1, the non network coding node receives and relays k ∗ (3 ∼ 6) packets since r value is 3. We expected some packets are dropped due to hidden terminal collision so that the non-NC node relays k ∗ 4 packets per a generation. The packet overhead can be computed as follows: Overhead = number of network coding nodes + number of non network coding nodes × 4 Next, we assign six non network coding nodes in two rows, 4. In topology 1, six non-NC nodes are placed in two neighbor rows while the six non-NC nodes are in two non adjacent rows in the topology 2. We also run simulations with six non-NC nodes randomly distributed over the corridor topology (Random 6 in the graphs). Note that a source and a destination are by definition always network coding enabled. In the topology 1, the non-NC zone tends to create congestion; thus, many packets are dropped due to collision. This congestion drop degrades PDR so that it cannot quite reach 100% in the Figure 5. Topology 2 in contrast has a buffer zone between two rows of non-NC nodes rows. This zone reduce congestion so that the PDR reaches 100% in 2A

Number mber of Transmitted mitted Packets

Packet Overhead 30

destination also forward received packets in the broadcast mode

0

1

2

3

Number of Non Network Coding Nodes in the Zone

Fig. 3. The total number of transmitted packets in the corridor topology model. Non network coding nodes locate in the third row.

the Figure 5. The random distribution case shows the worst PDR value. For this case, we do not know where nonNC nodes are located precisely, but non-NC nodes decrease packet redundancy in the network since they do not generate new packets. Finally, the destination fails to complete some generations and PDR decreases. Figure 6 illustrates the number of transmitted packets in the three topology. The topology 1 has the smallest transmitted packets since lots of collisions occur in the non network coding zone. The topology 2 also loses lots of packets, but there is still enough redundancy in the coding zone to delivery 100% data. In the randomly distributed case, non-NC nodes are spread widely in the topology and they relay lots of packets. This redundant packet relaying causes congestion instead of packet redundancy and results in PDR degradation. Now we change the number of non-NC nodes in the corridor topology. In addition, 40% packet error is injected. Say, at each node, 40% of received packets is dropped due to link/channel error or corrupted packets. Figure 7presents PDR change with various non-NC nodes. PDR decreases as non-NC node number increases; then, PDR increases again after passing specific point at which non network coding nodes are around 50% of the total nodes in the network. When there are only 2 ∼ 3 network coding nodes left, PDR value reaches the maximum. Then, it significantly drops as all nodes except a source and a destination become non-NC nodes. Since all intermediate nodes forward received packets without re-encoding, the source/destination code/decode scheme it equivalent to source coding scheme with coding rate = 1 (i.e., zero redundancy). However, since the source encodes block by block, it performs worse than normal transmission of packet by packet without coding. Namely, if the network drops a single packet, the destination fails to decode the entire block. Figure 8 reports number of transmitted packets as a the number of nonNC nodes increases. Non-NC nodes relay all received packets; so, the number of transmitted packets increases as non-NC nodes increase. However, while the number of NC nodes starts abating, the number of transmitted packet also decreases since packet redundancy is now progressively reduced. While packet redundancy decreases, network congestion also decreases.

Network Coding node

Network Coding node

Non Network Coding node

Non Network Coding node

Non network coding node zone Non network coding node zone

Topology2

Topology1

Fig. 4.

A Corridor topology with 6 non network coding nodes.

Packet Overhead 100 90 80 70 60 50 40 30 20 10 0

98.22

Topology 1

100

97.72

Topology 2

Random 6

Packet ket Overhead

Packet Delivery very Ratio (%)

Packet Delivery Ratio

40 35 30 25 20 15 10 5 0

37.33 27.49

Topology 1

Furthermore, the remaining network coding nodes inject new encoded packets and non-NC nodes relay them. Therefore, PDR experiences a new maximum after the minimum point in Figure 7.

In the final experiment on the corridor topology we compare the performance of four schemes: network coding mode, hybrid scheme (50% non network coding nodes and 50% network coding nodes), source coding mode (only a source and a destination network are coding capable), and normal ODMRP broadcast mode, Figure 9 and 10. When the network consists of 50% of non-NC and 50% of network coding nodes, performance is the worst in terms of PDR and packet overhead. Lots of packets are transmitted and they cause congestion that degrades performance. The rest of strategies show PDR values similar PDR under lower drop rate (< 10%), but PDR gaps become wider as drop rate increases. PDR of the source coding mode (50% PDR) and the normal broadcast mode (70% PDR) significantly degrade at 50% packet drop while network coding keeps 90% PDR. Since many packets are dropped due to channel/link error and packet corruption, the number of transmitted packets decreases at higher packet drop rate conditions. However, PDRs also rapidly drop at higher packet drop condition (> 40%) and thus packet overheads also start increasing at that point.

Topology 2

Random 6

Topologies

Topologies

Fig. 5. Packet delivery ratio in the corridor topology model with 6 non network coding nodes.

29.35

Fig. 6. Packet overhead in the corridor topology model with 6 non network coding nodes.

B. Random Topology Finally, we run a battery of simulation experiments under a more realistic situation, which is a random topology. In this topology, nodes move due to random way point mobility model where the maximum nodes speed is 20m/s and the minimum nodes speed is 1m/s without pause time. It is not broadcast mode, mesh style redundant paths are established between a source and multicast members via exchanging query and reply control packets. First we change the number of non-NC nodes in the network. In broadcast mode, in the corridor topology, all nodes forward received packets. In the random topology, only a portion of nodes, which are designated to forwarder during route establishing process, participate in forwarding process. Moreover, the forwarding nodes are not fixed and they change due to mobility. In Figure 11,the graph pattern is very similar to the corridor model graph 7. The PDR line decreases first and it increases again after it passes 50-50 point. However, in the random topology, PDR does not decrease when all forwarders are non-NC. This is multicast communication and a fraction of multicast receivers become forwarders. Thus they inject new encoded packets into the network and this redundancy increases PDR. The overhead in the Figure 12 is the same pattern to the one of corridor topology, 8. As we did earlier for the corridor topology, again we

Number ber of Transmitted Packets

Packet Delievery ery Ratio (%)

Packet Delievery Ratio 100.00 90.00 80.00 70.00 60.00 50.00

Number of Transmitted Packets 60000 50000 40000 30000 20000 10000 0

0

1

2

3

4

5

6

7

8

9

0

10 11 12 13 14 15

1

2

Number of Non Network Coding Nodes

Fig. 7. Packet delivery ratio in the corridor topology model with various number of non network coding nodes from 0 to 15.

Packet Delivery Ratio

5

6

7

8

9

10 11 12 13 14 15

Packet Overhead 45

95

40

Networkk C Coding di

90 85

50% Non Network Coding Node

80 75

Source Coding

70 65

Broadcast

60

Packet cket Overhead

Packet Delivery elivery Ratio (%) %)

4

Fig. 8. The total number of transmitted packets in the corridor topology model with various number of non network coding nodes from 0 to 15.

100

Network Coding

35 30 25

50% Non Network Coding Node

20

Source Coding

15 Broadcast

10 5

55

0

50 0%

10%

20%

30%

40%

0%

50%

10%

20%

30%

40%

50%

Packet Drop Rate (%)

Packet Drop Rate (%)

Fig. 9. Packet delivery ratios of network coding mode, heterogeneous network mode, source coding mode, and normal broadcast mode in the corridor topology.

Fig. 10. Packet overheads of network coding mode, heterogeneous network mode, source coding mode, and normal broadcast mode in the corridor topology.

Packet Delivery Ratio

Packet Overhead 14

100 95 90 85 80 75 70 65 60 55 50

Packet ket Overhead

Packet Delivery ery Ration (%)

3

Number of Non Network Coding Nodes

12 10 8 6 4 2 0

0

4

8

12

16

20

24

The Number of non Network Coding Nodes

Fig. 11. Packet delivery ratios of random topology with various number of non network coding nodes. Packet drop rate = 40%.

compare performance of network coding with other routing modes, i.e., hybrid network mode (50% non-NC nodes and 50% NC nodes), source coding mode (only a source and a destination network coding capable), and conventional ad hoc multicast protocol routing mode, ODMRP [13]. Network coding routing establishment process is similar to ODMRP’s but, network coding control packets cannot be piggybacked on the data packets while ODMRP uses piggybacking for control packets. Furthermore, network coding uses an extended

0

4

8

12

16

20

24

The Number of non Network Coding Nodes

Fig. 12. Packet overheads of random topology with various number of non network coding nodes. Packet drop rate = 40%.

mesh structure in which designated forwarders as well as nodes which are one hop neighbors of forwarders participate in forwarding process. This extended mesh provides enough redundant paths to network coding3 . In Figure 13, we note that network coding again outperforms all other routing mode in terms of PDR. ODMRP cannot 3 This is multicast extension of a braided multipath in [15]. This route generation process is applied to heterogeneous network mode and source coding mode.

Packet Overhead 14

90

Network Coding

80 70

50% non Network Coding nodes

60

Source Coding

50

ODMRP 1

Packet ket Overhead

Packet Delivery ery Ratio (%)

Packet Delivery Ratio 100

12

Network Coding

10 50% non Network Coding Nodes

8 6

Source Coding

4 2

ODMRP

0 1

Packet Drop Rate (%)

Fig. 13. Packet delivery ratios of network coding mode, heterogeneous network mode, source coding mode, and ODMRP routing mode in the random topology.

tolerate packet drop and PDR drops rapidly. Since network coding restore packet loss generating new encoded packets so that it provides reliability in the disruptive channel situation. Other communication modes also perform high PDR, but their overhead is high, Figure 14 since non-NC nodes relay all nonduplicate packets. V. C ONCLUSION The results in this paper show that network coding is still a viable option even in quite extreme conditions, for example 50% code/non code mix and 40In a multi-team environment, protection from attacks by adversary teams is a must. The Hybrid configuration offers interesting options to the commonly adopted, expensive Homomorphic Hash. If a secret channel exists among the communicating teams (as expected in most tactical missions for example) processing overhead can be reduced by forcing the “untrusted teams” to simply forward instead of coding (as we showed above the performance loss is minimal until 50% mix) and thus drastically simplifying pollution checks. Future work in the hybrid code/non code area will include: • Secure Hash vs Homomorphic Hash - quantitative tradeoffs of processing OH (and possible energy and throughput impact) vs performance gained via system wide network coding. Mode detailed simulation and testbed experiments are expected. • Dynamic, distributed control of forwarding mode: when should the source switch from Network Code to Erasure Code say. We will also consider a “continuum” between Network Coding and Erasure Coding. The latter is basically obtained by introducing redundancy at source (say R mixed packets out of N < R original packets). R EFERENCES [1] R. Ahlswede, N. Cai, S. yen Robert Li, and R. W. Yeung. Network information flow. IEEE Transactions on Information Theory, 46:1204– 1216, 2000. [2] K. Bhattad, N. Ratnakar, R. Koetter, and K. R. Narayanan. Minimal network coding for multicast. In International Symposium on Information Theory 2005 (ISIT 2005), pages 1730–1734, 2005. [3] J. Cannons and K. Zeger. Network coding capacity with a constrained number of coding nodes. In Forty-forth Annual Allerton Conference, Allerton House, UIUC, Illinois, USA, September 2006.

Packet Drop Rate (%)

Fig. 14. Packet overheads of network coding mode, heterogeneous network mode, source coding mode, and ODMRP routing mode in the random topology.

[4] S. Chachulski, M. Jennings, S. Katti, and D. Katabi. Trading structure for randomness in wireless opportunistic routing. In In Proceedings of SIGCOMM 07, 2007. [5] P. A. Chou, Y. Wu, and K. Jain. Practical network coding. In 41rd Allerton Conference on Communication, Control, and Computing, Monticello, IL, Oct 2003. [6] C. Fragouli and E. Soljanin. Information flow decomposition for network coding. IEEE Transactions on Information Theory, 52(3):829–848, 2006. [7] C. Gkantsidis and P. Rodriguez. Cooperative security for network coding file distribution. In IEEE International Conference on Computer Communications (INFOCOM 2006), 2006. [8] V. Goyal, O. Pandey, A. Sahai, and B. Waters. Attribute-based encryption for fine-grained access control of encrypted data. In CCS ’06: Proceedings of the 13th ACM conference on Computer and communications security, pages 89–98, New York, NY, USA, 2006. ACM. [9] S. Katti, D. Katabi, W. Hu, H. Rahul, and M. M´edard. The importance of being opportunistic: Practical network coding for wireless environments. In 43rd Allerton Conference on Communication, Control, and Computing, Monticello, IL, Sep 2005. [10] S. Katti, H. Rahul, W. Hu, D. Katabi, M. M´edard, and J. Crowcroft. Xors in the air: practical wireless network coding. IEEE/ACM Trans. Netw., 16(3):497–510, 2008. [11] M. N. Krohn, M. J. Freedman, and D. Mazieres. On-the-fly verification of rateless erausre codes for efficient content distribution. In IEEE Symposium on Security and Privacy, pages 226–240, Berkeley, CA, 2004. [12] M. Langberg, A. Sprintson, and J. Bruck. The encoding complexity of network coding. IEEE Transactions on Information Theory, 52(6):2386 – 2397, June 2006. [13] S. J. Lee, W. Su, and M. Gerla. On-demand multicast routing protocol in multihop wireless mobile networks. Mobile Networks and Applications, 7(6):441–453, 2002. [14] U. Lee, J.-S. Park, J. Yeh, G. Pau, and M. Gerla. Codetorrent: Content distribution using network coding in vanets. In In Proceedings of The First International Workshop on Decentralized Resource Sharing in Mobile Computing and Networking (MobiShare’06), September 2006. [15] S. Y. Oh, M. Gerla, and A. Tiwari. Robust manet routing using adaptive path redundancy and coding. In THE FIRST International Conference on COMmunication Systems and NETworkS (COMSNETS), Bangalore, India, Jan 2009. [16] J.-S. Park, M. Gerla, D. S. Lun, Y. Yi, and M. Medard. Codecast: a network-coding-based ad hoc multicast protocol. Wireless Communications, 13(5):76–81, October 2006. [17] Scalable Networs Inc. QualNet. http://www.scalble-networks.com. [18] A. Tavory, M. Feder, and D. Ron. Bounds on linear codes for network multicast. Electronic Colloquium on Computational Complexity (ECCC), 10:2003, 2003. [19] Z. Yu, Y. Wei, B. Ramkumar, and Y. Guan. An efficient signature scheme for securing xor network coding against pollution attack. In IEEE International Conference on Computer Communications (INFOCOM 2009), Rio de Janeiro, Brazil, April, April 2009.