A High-Throughput path Metric for Multi-Hop Wireless Routing Douglas S.J. De Couto Daniel Aguayo John Bicket Robert Morris M.I.T. Computer Science and Artificial Intelligence Laboratory Idecouto, aguayo, jbicket, rtm)@csail. mit. edu http://www.pdos.Ics.mitedu/grid abstract 1. Introduction This paper presents the expected transmission count metric(ETX), which Much of the recent work in ad hoc routing protocols for wireless networks [25, 15, 26 has focused on coping with mobile nodes, es the expected total number of packet trans (including retrans ions) required to successfully deliver a packet to the ultimate destina apidly changing topologies, and scalability. Less attention has tion. The etX metric incorporates the effects of link loss ratios, asymmetry been paid to fi nding high-quality paths in the face of lossy wireless in the loss ratios between the two directions of each link, and interference links. This paper presents measurements of link loss characteris- the tics on a 29-node 802.1 1b test-bed. and uses these measurements netric chooses arbitrarily among the different paths of the same minimum to motivate the design of a new metric which accounts for lossy length, regardless of the often large differences in throughput among those links: expected transmission count(ETX) The metric most commonly used by existing ad hoc routing pro- describes the design and implementation of eTX as a metr tocols is minimum hop-count. These protocols typically use only for the DSDV and DSR routing protocols, as well as modifications to DSDV links that deliver routing probe packets(query packets, as in DSr and dSR which allow them ETX Measurements taken from a 29. or AODV, or routing updates, as in DSDV). This approach impl ode 802. 11b test-bed demonstrate the poor performance of minimum ho y assumes that links either work well or don' t work at all. whil ount, illustrate the causes of that poor nance and confirm that eTX often true in wired networks, this is not a reasonable approximation mproves performance. For long paths the throughput improvement is often a factor of two or more suggesting that etX will become more useful as in the wireless case: many wireless links have intermediate loss ra- networks grow larger and paths become longer. tios. A link that delivers only 50% of packets may not be useful for data, but might deliver enough routing update or query packets that Categories and Subject Descriptors the routing protocol uses it anyway Minimizing the hop-count maximizes the distance traveled by C 2.1 [ Computer-Communication Networks]: Network Al each hop, which is likely to minimize signal strength and maximize tecture and Design-Wireless communication; C 2.2 [Computer- the loss ratio. Even if the best route is a minimum hop-count route, Communication Networks ] Network Protocols-Routing proto- imum length, with widely varying qualities, the arbitrary choice made by most minimum hop-count metrics is not likely to select General Terms the best. One contribution of this paper is to quantify these effects Design, Experimentation, Measurement, Performance One approach to fi xing this problem is to mask transmission er- rors. For example, the 802. 11b ACK mechanism resends lost pad Keywords ets, making all but the worst 802 1 1b links appear loss-free. How- Multi-hop wireless networks, Ad hoc networks, Rooftop networks. ever, retransmission does not make lossy links desirable for use Wireless routing, Route metrics, 802.11b, DSR, DSDV, ETX in paths: the retransmissions reduce path throughput and interfere with other traffi c. Another approach might be to augment minimum hop-count routing with a threshold that ignores lossy links, but lossy link may be the only way to reach a certain node, and there might be signifi cant loss ratio differences This research was supported by grants from NTT Corporation ur der the NTT-MIT collaboration, and by MIT's Project Oxyge The solution proposed and evaluated in this paper is the etx metric. ETX fi nds paths with the fewest expected number of trans- missions(including retransmissions) required to deliver a packet all the way to its destination. The metric predicts the number of re- transmissions required using per-link measurements of packet loss not made or dis ommercial advantage and that copie ratios in both directions of each wireless link. The primary goal bear this notice and the full citation on the first page. To copy otherwise, t of the etX design is to fi nd In order to demonstrate that ETX is effective, this paper presents MobiCom 03, September 14-19, 2003, San Diego, California, USA. measurements taken from the test-bed network. These measure Copyright2003ACMl-58113-753-2/030009s5.00
A High-Throughput Path Metric for Multi-Hop Wireless Routing Douglas S. J. De Couto Daniel Aguayo John Bicket Robert Morris M.I.T. Computer Science and Artificial Intelligence Laboratory {decouto, aguayo, jbicket, rtm}@csail.mit.edu http://www.pdos.lcs.mit.edu/grid Abstract This paper presents the expected transmission count metric (ETX), which finds high-throughput paths on multi-hop wireless networks. ETX minimizes the expected total number of packet transmissions (including retransmissions) required to successfully deliver a packet to the ultimate destination. The ETX metric incorporates the effects of link loss ratios, asymmetry in the loss ratios between the two directions of each link, and interference among the successive links of a path. In contrast, the minimum hop-count metric chooses arbitrarily among the different paths of the same minimum length, regardless of the often large differences in throughput among those paths, and ignoring the possibility that a longer path might offer higher throughput. This paper describes the design and implementation of ETX as a metric for the DSDV and DSR routing protocols, as well as modifications to DSDV and DSR which allow them to use ETX. Measurements taken from a 29- node 802.11b test-bed demonstrate the poor performance of minimum hopcount, illustrate the causes of that poor performance, and confirm that ETX improves performance. For long paths the throughput improvement is often a factor of two or more, suggesting that ETX will become more useful as networks grow larger and paths become longer. Categories and Subject Descriptors C.2.1 [Computer-Communication Networks]: Network Architecture and Design—Wireless communication; C.2.2 [ComputerCommunication Networks]: Network Protocols—Routing protocols General Terms Design, Experimentation, Measurement, Performance Keywords Multi-hop wireless networks, Ad hoc networks, Rooftop networks, Wireless routing, Route metrics, 802.11b, DSR, DSDV, ETX This research was supported by grants from NTT Corporation under the NTT-MIT collaboration, and by MIT’s Project Oxygen. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. MobiCom ’03, September 14–19, 2003, San Diego, California, USA. Copyright 2003 ACM 1-58113-753-2/03/0009 ...$5.00. 1. Introduction Much of the recent work in ad hoc routing protocols for wireless networks [25, 15, 26] has focused on coping with mobile nodes, rapidly changing topologies, and scalability. Less attention has been paid to finding high-quality paths in the face of lossy wireless links. This paper presents measurements of link loss characteristics on a 29-node 802.11b test-bed, and uses these measurements to motivate the design of a new metric which accounts for lossy links: expected transmission count (ETX). The metric most commonly used by existing ad hoc routing protocols is minimum hop-count. These protocols typically use only links that deliver routing probe packets (query packets, as in DSR or AODV, or routing updates, as in DSDV). This approach implicitly assumes that links either work well or don’t work at all. While often true in wired networks, this is not a reasonable approximation in the wireless case: many wireless links have intermediate loss ratios. A link that delivers only 50% of packets may not be useful for data, but might deliver enough routing update or query packets that the routing protocol uses it anyway. Minimizing the hop-count maximizes the distance traveled by each hop, which is likely to minimize signal strength and maximize the loss ratio. Even if the best route is a minimum hop-count route, in a dense network there may be many routes of the same minimum length, with widely varying qualities; the arbitrary choice made by most minimum hop-count metrics is not likely to select the best. One contribution of this paper is to quantify these effects (Section 2). One approach to fixing this problem is to mask transmission errors. For example, the 802.11b ACK mechanism resends lost packets, making all but the worst 802.11b links appear loss-free. However, retransmission does not make lossy links desirable for use in paths: the retransmissions reduce path throughput and interfere with other traffic. Another approach might be to augment minimum hop-count routing with a threshold that ignores lossy links, but a lossy link may be the only way to reach a certain node, and there might be significant loss ratio differences even among the abovethreshold links. The solution proposed and evaluated in this paper is the ETX metric. ETX finds paths with the fewest expected number of transmissions (including retransmissions) required to deliver a packet all the way to its destination. The metric predicts the number of retransmissions required using per-link measurements of packet loss ratios in both directions of each wireless link. The primary goal of the ETX design is to find paths with high throughput, despite losses. In order to demonstrate that ETX is effective, this paper presents measurements taken from the test-bed network. These measure-
画 四 L向e igure 1: A map of the test-bed. Each circle is a node; the large number is the node ID, and the superscript indicates which floor of the building the node is on. ments show that ETX improves the throughput of multi-hop routes placed in ofi ces on fi ve consecutive floors of an offi ce building by up to a factor of two over a minimum hop-count metric. etX Their positions are shown in Figur provides the most improvement for paths with two or more hops, The 802 1 1b cards are confi gured to send at one megabit per sec suggesting that transmission count offers increased benefi t as net nd(Mbps) with one milliwatt(mW) of transmit power. RTS/CTS works grow larger and paths become longer. is turned off, and the cards are set to "ad hoc"(BSS, DCF)mode This paper makes the following main contributions. First, it ex- Each data packet in the following measurements consists of 24 plores the details of the performance of minimum hop-count rout- bytes of 802.11b preamble, 31 bytes of 802 1 1b and Ethernet en- ing on a wireless test-bed, and explains why minimum hop-count capsulation header, 134 bytes of data payload, and 4 bytes of frame often fi nds routes with signifi cantly less throughput than the best check sequence: 193 bytes in total. An 802. 11b ACK packet takes available. Second, it presents the design, implementation, and eval 304 microseconds to transmit, the inter-frame gap is 60 microsec- ation of the etX metric. Third. it describes a set of detailed design onds, and the minimum expected mandatory back-off time is 310 changes to the DSDv [25] and DSr [15] protocols(to which ETX microseconds, resulting in a total time of 2, 218 microseconds per is an extension ), that enable them to more accurately choose routes data packet. This gives a maximum throughput of 451 unicast pack with the best metric This work is part of an effort to deploy a production-quality While the test-bed itself carried only the data and control traffi c multi-hop rooftop 802. 11b network. The initial version of that net involved in each experiment, interference of various kinds was in- work was almost unusable due to the effects detailed in section 2 evitably present. In particular, each floor of the building has four The larger goal of this work is to help make such networks a prad 802. 11b access points, on various different channels tical reality The DSDV implementation used in this paper is new, with mod- The paper proceeds in Section 2 with an analysis of the problems cations described in Section 4 of the new ETX metric, and Section 4 describes how ETX is imple- 2.2 Path Throughputs mented, including changes to DSDV and DSR. Section 5 evaluates Figure 2 compares the throughput of routes found with a min- ETX using experiments on the test-bed. Section 6 describes related imum hop-count metric to the throughput of the best routes that work, and Section 7 concludes the paper could be found. Each curve shows the throughput CDF (in pack ets per second) for 100 node pairs, the pairs are randomly selected 2. Performance of Minimum-Hop-Count from the 2928=812 total ordered pairs in the test-bed. A points Routing x value indicates throughput, in packets per second; the y value in- dicates what fraction of pairs had less throughput. The left curve This section shows that minimum hop-count routing typically is the throughput CDF achieved by routing data using DSDV with fi nds routes with signifi cantly lower throughput than the best avail- the minimum hop-count metric. The right curve is the throughput able. The evidence comes from measurements of dSdv on a test CDF for the best known route between each pair of nodes. Packets bed network. We explain why minimum hop-count does poorly by were only sent between one pair at a time. For each pair, the DSDv looking at the distribution of route throughputs and link loss ratios. and best-path tests were run immediately after one another, to limit variation in link conditions over time 2.1 Experimental Test-Bed The"best path between each pair of nodes was found by send- All the data in this paper are the result of measurements taken ing data along ten potential best paths, one at a time, and select on a 29-node wireless test-bed. Each node consists of a stationary ing the path with the highest throughput. Potential best paths were Linux pc with a Cisco/Aironet 340 PCi 802.1 lb card and an omni- routing algorithm, using as input directional 2.2 dBi dipole antenna(a"rubber duck"). The nodes are measurements of per-link loss ratios, similar to those in Section 2.4
5 19 185 5 10 6 37 5 23 22 5 6 15 6 25 135 5 17 6 14 6 6 20 24 5 21 6 26 1 5 Approx. 79 m Approx. 22 m 115 3 2 2 8 4 9 3 3 125 164 5 27 6 5 6 28 36 6 7 4 5 5 Figure 1: A map of the test-bed. Each circle is a node; the large number is the node ID, and the superscript indicates which floor of the building the node is on. ments show that ETX improves the throughput of multi-hop routes by up to a factor of two over a minimum hop-count metric. ETX provides the most improvement for paths with two or more hops, suggesting that transmission count offers increased benefit as networks grow larger and paths become longer. This paper makes the following main contributions. First, it explores the details of the performance of minimum hop-count routing on a wireless test-bed, and explains why minimum hop-count often finds routes with significantly less throughput than the best available. Second, it presents the design, implementation, and evaluation of the ETX metric. Third, it describes a set of detailed design changes to the DSDV [25] and DSR [15] protocols (to which ETX is an extension), that enable them to more accurately choose routes with the best metric. This work is part of an effort to deploy a production-quality multi-hop rooftop 802.11b network. The initial version of that network was almost unusable due to the effects detailed in Section 2. The larger goal of this work is to help make such networks a practical reality. The paper proceeds in Section 2 with an analysis of the problems with minimum hop-count routing. Section 3 describes the design of the new ETX metric, and Section 4 describes how ETX is implemented, including changes to DSDV and DSR. Section 5 evaluates ETX using experiments on the test-bed. Section 6 describes related work, and Section 7 concludes the paper. 2. Performance of Minimum-Hop-Count Routing This section shows that minimum hop-count routing typically finds routes with significantly lower throughput than the best available. The evidence comes from measurements of DSDV on a testbed network. We explain why minimum hop-count does poorly by looking at the distribution of route throughputs and link loss ratios. 2.1 Experimental Test-Bed All the data in this paper are the result of measurements taken on a 29-node wireless test-bed. Each node consists of a stationary Linux PC with a Cisco/Aironet 340 PCI 802.11b card and an omnidirectional 2.2 dBi dipole antenna (a “rubber duck”). The nodes are placed in offices on five consecutive floors of an office building. Their positions are shown in Figure 1. The 802.11b cards are configured to send at one megabit per second (Mbps) with one milliwatt (mW) of transmit power. RTS/CTS is turned off, and the cards are set to “ad hoc” (IBSS, DCF) mode. Each data packet in the following measurements consists of 24 bytes of 802.11b preamble, 31 bytes of 802.11b and Ethernet encapsulation header, 134 bytes of data payload, and 4 bytes of frame check sequence: 193 bytes in total. An 802.11b ACK packet takes 304 microseconds to transmit, the inter-frame gap is 60 microseconds, and the minimum expected mandatory back-off time is 310 microseconds, resulting in a total time of 2,218 microseconds per data packet. This gives a maximum throughput of 451 unicast packets per second over a loss-free link. While the test-bed itself carried only the data and control traffic involved in each experiment, interference of various kinds was inevitably present. In particular, each floor of the building has four 802.11b access points, on various different channels. The DSDV implementation used in this paper is new, with modifications described in Section 4. 2.2 Path Throughputs Figure 2 compares the throughput of routes found with a minimum hop-count metric to the throughput of the best routes that could be found. Each curve shows the throughput CDF (in packets per second) for 100 node pairs; the pairs are randomly selected from the 29×28 = 812 total ordered pairs in the test-bed. A point’s x value indicates throughput, in packets per second; the y value indicates what fraction of pairs had less throughput. The left curve is the throughput CDF achieved by routing data using DSDV with the minimum hop-count metric. The right curve is the throughput CDF for the best known route between each pair of nodes. Packets were only sent between one pair at a time. For each pair, the DSDV and best-path tests were run immediately after one another, to limit variation in link conditions over time. The “best” path between each pair of nodes was found by sending data along ten potential best paths, one at a time, and selecting the path with the highest throughput. Potential best paths were identified by running an off-line routing algorithm, using as input measurements of per-link loss ratios, similar to those in Section 2.4
Run RI: I mw, 134-byte packets Run R1: I mw, 134-byte packets 9200 150Mm3理 0.6 0 0.2 Figure 3: Throughput available between one pair of nodes, 23 36, tested. The shortest of the Best static route DSDV hopcount routes does not perform the best, and there are a number of 0 routes with the same number of hops that provide very differ- 50100150200250300350400450 ent thr Packets per second delivere about 100 packets per second. The minimum hop-count routes are igure 2: When using the minimum hop-count metric, DSDy slow because they include links with high loss ratios, which cause chooses paths with far less throughput than the best availabl bandwidth to be consumed by retransmissions domly selected node pairs. The left curve is the throughput 2.3 Distribution of Path Throughputs Figure 3 illustrates a typical case in which minimum hop-count the CDF of the best throughput between each pair, found by routing would not favor the highest-throughput route. The through trying a number of promising paths. The dotted vertical lines put of eight routes from node 23 to node 36 is shown. The routes mark the theoretical maximum throughput of routes of each are the eight best which were tested in the experiments described The graph shows that the shortest path, a two-hop route through de 19, does not yield the highest throughput. The best route and with a penalty to reflect the reduction in throughput caused by is three hops long, but there are a number of available three-hop interference between successive hops of multi-hop paths. New link routes which provide widely varying performance measurements were collected roughly every hour during the exper- A routing protocol that selects randomly from the shortest hop- lent; the best paths for each pair were generated using the most count routes is unlikely to make the best choice, particularly as the recently available loss data network grows and the number of possible paths between a given The values in Figure 2 are split into two main ranges, above and below 225 packets per second. The values above 225 correspond to pairs that communicated along single-hop paths; those at or below 2. 4 Distribution of link Loss ratios 225 correspond to multi-hop paths. A single-hop direct route can deliver up to about 450 packets per second, but the fastest two-hop fi nd. Each vertical bar corresponds to the direct radio link between route has only half that capacity. The halving is due to transmis a pair of nodes; the two ends of the bar mark the broadcast packet sions on the successive hops interfering with each other: the middle delivery ratio in the two directions between the nodes. To measure node cannot receive a packet from the fi rst node at the same time delivery ratios, each node took a turn sending a series of broadcast it is sending a packet to the fi nal node. Similar effects cause the packets for fi ve seconds, and counted the number of packets that fastest three-hop route to have a capacity of about 450/3= 150 the 802. 11b hardware reported as transmitted. Packets contained 134 bytes of 802 1 1b data payload. Every other node recorded the Minimum hop-count performs well whenever the shortest route number of packets received. The delivery ratio from node X to each is also the fastest route, especially when there is a one-hop link with node y is calculated by dividing the number of packets received by a low loss ratio. A one-hop link with a loss ratio of less than 50% y by the number sent by X. The loss ratio of a link is one minus will outperform any other route. This is the case for all the points its delivery ratio. We use the term"ratio"instead of"rate" to avoid in the right half of Figure 2. Note that the overhead of DSDV route confusion with throughput delivery rates, which are expressed in advertisements reduces the maximum link capacity by about 15 to 5 packets per second, which is clearly visible in this part of the Note that 802. 11b broadcasts don't involve acknowledgements graph. or retransmissions. Because 802 1 1b retransmits lost unicast pack- The left half of the graph shows what happens when minimum ets, the unicast packet loss ratio as seen by higher layers is far lower hop-count has a choice among a number of multi-hop routes. In than the underlying loss ratio( depending on the maximum number these cases, the hop-count metric usually picks a route signifi cantly of retransmissions allowed slower than the best known. The most extreme cases are the poin ee features of Figure 4 are important. First, a large fraction at the far left, in which minimum hop-count is getting a through- of the links have an intermediate delivery ratio in at least one di- put close to zero, and the best known route has a throughput of rection. That is, they are likely to deliver some routing protocol
0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R1: 1 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop Best static route DSDV hopcount Figure 2: When using the minimum hop-count metric, DSDV chooses paths with far less throughput than the best available routes. Each line is a throughput CDF for the same 100 randomly selected node pairs. The left curve is the throughput CDF of DSDV with minimum hop-count. The right curve is the CDF of the best throughput between each pair, found by trying a number of promising paths. The dotted vertical lines mark the theoretical maximum throughput of routes of each hop-count. and with a penalty to reflect the reduction in throughput caused by interference between successive hops of multi-hop paths. New link measurements were collected roughly every hour during the experiment; the best paths for each pair were generated using the most recently available loss data. The values in Figure 2 are split into two main ranges, above and below 225 packets per second. The values above 225 correspond to pairs that communicated along single-hop paths; those at or below 225 correspond to multi-hop paths. A single-hop direct route can deliver up to about 450 packets per second, but the fastest two-hop route has only half that capacity. The halving is due to transmissions on the successive hops interfering with each other: the middle node cannot receive a packet from the first node at the same time it is sending a packet to the final node. Similar effects cause the fastest three-hop route to have a capacity of about 450/3 = 150 packets per second. Minimum hop-count performs well whenever the shortest route is also the fastest route, especially when there is a one-hop link with a low loss ratio. A one-hop link with a loss ratio of less than 50% will outperform any other route. This is the case for all the points in the right half of Figure 2. Note that the overhead of DSDV route advertisements reduces the maximum link capacity by about 15 to 25 packets per second, which is clearly visible in this part of the graph. The left half of the graph shows what happens when minimum hop-count has a choice among a number of multi-hop routes. In these cases, the hop-count metric usually picks a route significantly slower than the best known. The most extreme cases are the points at the far left, in which minimum hop-count is getting a throughput close to zero, and the best known route has a throughput of 0 50 100 150 200 23-19-24-36 23-37-24-36 23-37-19-36 23-12-19-36 23-19-11-36 23-19-36 23-19-20-36 23-19-7-36 Packets per second delivered Run R1: 1 mW, 134-byte packets Max 3-hop throughput Max 4-hop Figure 3: Throughput available between one pair of nodes, 23 and 36, along the best eight routes tested. The shortest of the routes does not perform the best, and there are a number of routes with the same number of hops that provide very different throughput. about 100 packets per second. The minimum hop-count routes are slow because they include links with high loss ratios, which cause bandwidth to be consumed by retransmissions. 2.3 Distribution of Path Throughputs Figure 3 illustrates a typical case in which minimum hop-count routing would not favor the highest-throughput route. The throughput of eight routes from node 23 to node 36 is shown. The routes are the eight best which were tested in the experiments described above. The graph shows that the shortest path, a two-hop route through node 19, does not yield the highest throughput. The best route is three hops long, but there are a number of available three-hop routes which provide widely varying performance. A routing protocol that selects randomly from the shortest hopcount routes is unlikely to make the best choice, particularly as the network grows and the number of possible paths between a given pair increases. 2.4 Distribution of Link Loss Ratios Figure 4 helps explain why high-throughput paths are difficult to find. Each vertical bar corresponds to the direct radio link between a pair of nodes; the two ends of the bar mark the broadcast packet delivery ratio in the two directions between the nodes. To measure delivery ratios, each node took a turn sending a series of broadcast packets for five seconds, and counted the number of packets that the 802.11b hardware reported as transmitted. Packets contained 134 bytes of 802.11b data payload. Every other node recorded the number of packets received. The delivery ratio from node X to each node Y is calculated by dividing the number of packets received by Y by the number sent by X. The loss ratio of a link is one minus its delivery ratio. We use the term “ratio” instead of “rate” to avoid confusion with throughput delivery rates, which are expressed in packets per second. Note that 802.11b broadcasts don’t involve acknowledgements or retransmissions. Because 802.11b retransmits lost unicast packets, the unicast packet loss ratio as seen by higher layers is far lower than the underlying loss ratio (depending on the maximum number of retransmissions allowed). Three features of Figure 4 are important. First, a large fraction of the links have an intermediate delivery ratio in at least one direction. That is, they are likely to deliver some routing protocol
(a) Pairwise delivery ratios at 1 mw 型0.75 0.5 0.25 200 400 Link number (b) Pairwise delivery ratios at 30 mW 0.75 025 200 300 400 Link number Figure 4: One-hop packet delivery ratios between each pair of hosts at I mw(above)and 30 mw(below). The top and bottom ends of each vertical line indicate the delivery ratios in the two directions; the bars in each graph are sorted by the minimum of the two directions, so the link numbers do not necessarily correspond. The packet size is 134 bytes of 802. 1lb data payload. Data for all 406 rs of hosts are shown. Many links are asymmetric and there is a wide range of loss ratios. ts, but would lose many packets if used for data. Second twice the throughput. The same objection applies to is a full spectrur delivery ratios, so some ful throughput of a paths bottleneck(highest-loss-ratio) link as the be expected from fi ne-grained choices betw ath's metric. ETX. however addresses each of these concerns when choosing paths any links have asymmetri End-to-end delay is another potential metric, but changes with network load as interface queue lengths vary; this can cause routes Of the 406 node pairs in Figure 4a(I mW), there are 124 with to oscillate away from a good path once the path is used. Our goal is links which delivered packets in at least one direction. Of those to design a metric that is independent of network load; load balanc- links, 28 are asymmetric, with forward and reverse delivery ratios ing can be performed with separate algorithms that use the infor- that differ by at least 25%. The 28 asymmetric links involve 22 mation provided by EtX. We have implemented ETX as a metric different nodes Because 802. 11b uses link-level ACKs to confi rm for the DSDV and DSR routing protocols delivery, both directions of a link must work well in order to avoid retransmissions. Since most nodes in the network are involved in at 3.1 The metric least one asymmetric link, routing protocols must cope with asym- The ETX of a link is the predicted number of data transmissions metry to be effective equired to send a packet over that link, including retransr The etX of a route is the sum of the etx for each lin 3. ETX Metric desig route. For example, the eTX of a three-hop route with perfe This section describes the design of the etx metric. The met is three, the eTX of a one-hop route with a 50% delivery ratio is goal is to choose routes with high end-to-end through- two rIc s 2 suggests that the metric must account for the follow- The EtX of a link is calculated using the forward and reverse delivery ratios of the link. The forward delivery ratio, d, is the measured probability that a data packet successfully arrives at the recipient; the reverse delivery ratio, dr, is the probability that the ACK packet is successfully received. These delivery ratios can The existence of links with asymmetric loss ratios. be measured as described below. The expected probability that a transmission is successfully received and acknowledged is d x dr The interference between successive hops of multi-hop paths. A sender will retransmit a packet that is not successfully acknowl- A number of superfi cially attractive metrics are not suitable. Us- edged. Because each attempt to transmit a packet can be considered ng hop-count as the metric while ignoring links with loss ratios a Bernoulli trial, the expected number of transmissions is above a certain threshold may cause some destinations to be un reachable. Using the product of the per-link delivery ratios as the path metric, in an attempt to maximize the end-to-end delivery probability, fails to account for inter-hop interference, this metric would view a perfect two-hop route as better than a one-hop route with a 10% loss ratio. when in fact the latter would have almost
0 0.25 0.5 0.75 1 0 100 200 300 400 Delivery Ratio Link number (b) Pairwise delivery ratios at 30 mW 0 0.25 0.5 0.75 1 0 100 200 300 400 Delivery Ratio Link number (a) Pairwise delivery ratios at 1 mW Figure 4: One-hop packet delivery ratios between each pair of hosts at 1 mW (above) and 30 mW (below). The top and bottom ends of each vertical line indicate the delivery ratios in the two directions; the bars in each graph are sorted by the minimum of the two directions, so the link numbers do not necessarily correspond. The packet size is 134 bytes of 802.11b data payload. Data for all 406 pairs of hosts are shown. Many links are asymmetric, and there is a wide range of loss ratios. packets, but would lose many packets if used for data. Second, there is a full spectrum of link delivery ratios, so some advantage can be expected from making fine-grained choices between links when choosing paths. Third, many links have asymmetric delivery ratios. Of the 406 node pairs in Figure 4a (1 mW), there are 124 with links which delivered packets in at least one direction. Of those links, 28 are asymmetric, with forward and reverse delivery ratios that differ by at least 25%. The 28 asymmetric links involve 22 different nodes. Because 802.11b uses link-level ACKs to confirm delivery, both directions of a link must work well in order to avoid retransmissions. Since most nodes in the network are involved in at least one asymmetric link, routing protocols must cope with asymmetry to be effective. 3. ETX Metric Design This section describes the design of the ETX metric. The metric’s overall goal is to choose routes with high end-to-end throughput. Section 2 suggests that the metric must account for the following issues: • The wide range of link loss ratios. • The existence of links with asymmetric loss ratios. • The interference between successive hops of multi-hop paths. A number of superficially attractive metrics are not suitable. Using hop-count as the metric while ignoring links with loss ratios above a certain threshold may cause some destinations to be unreachable. Using the product of the per-link delivery ratios as the path metric, in an attempt to maximize the end-to-end delivery probability, fails to account for inter-hop interference; this metric would view a perfect two-hop route as better than a one-hop route with a 10% loss ratio, when in fact the latter would have almost twice the throughput. The same objection applies to using the useful throughput of a path’s bottleneck (highest-loss-ratio) link as the path’s metric. ETX, however, addresses each of these concerns. End-to-end delay is another potential metric, but changes with network load as interface queue lengths vary; this can cause routes to oscillate away from a good path once the path is used. Our goal is to design a metric that is independent of network load; load balancing can be performed with separate algorithms that use the information provided by ETX. We have implemented ETX as a metric for the DSDV and DSR routing protocols. 3.1 The Metric The ETX of a link is the predicted number of data transmissions required to send a packet over that link, including retransmissions. The ETX of a route is the sum of the ETX for each link in the route. For example, the ETX of a three-hop route with perfect links is three; the ETX of a one-hop route with a 50% delivery ratio is two. The ETX of a link is calculated using the forward and reverse delivery ratios of the link. The forward delivery ratio, df , is the measured probability that a data packet successfully arrives at the recipient; the reverse delivery ratio, dr, is the probability that the ACK packet is successfully received. These delivery ratios can be measured as described below. The expected probability that a transmission is successfully received and acknowledged is df × dr. A sender will retransmit a packet that is not successfully acknowledged. Because each attempt to transmit a packet can be considered a Bernoulli trial, the expected number of transmissions is: ETX = 1 df × dr (1)
ETX has several important characteristics its probes, causing its neighbors to believe that the reverse delivery ratio had become zero ETX is based on delivery ratios, which directly afect through- If the highest-throughput path has three or fewer hops, ETX is likely to choose it: the throughput of such paths is determined by the total number of transmissions, since all of the hops interfere ETX detects and appropriately handles asymmetry by incor- with each other[20]. If the best path has four or more hops, ETX porating loss ratios in each direction may choose a slower path that has fewer hops, since the increased ETX can use precise link loss ratio measurements to make number of transmissions required by extra hops does not slow down fi ne-grained decisions between routes etX does not specifi cally account for mobility. eTX may choose ETX penalizes routes with more hops, which have lower good paths despite mobility if the underlying routing protocol can throughput due to interference between different hops of the propagate route metrics quickly enough, and if accurate link mea- ame path[20] surements are available. There is a tradeoff between the accuracy of ETX tends to minimize spectrum use, which should maxi- link measurements and the protocols responsiveness to mobility mize overall system capacity. 4. Implementation In addition, ETX may decrease the energy consumed per packet The routing system in which ETX is implemented has four main as each transmission or retransmission may increase a nodes arts:the Click toolkit [19], and Click-based implementations of ergy consumption. DSDV, DSR, and the etX link measurement algorithms. The im- The delivery ratios d and dr are measured using dedicated link plement can run in user-space, but running in the kernel al- probe packets. Each node broadcasts link probes of a fi xed size n, ows use of the prion failure notifi cation from the 802.11 MAC queuing described below, as well as easy accidental synchronization, T is jittered by up to +0. lT per probe. css to transmissio n average period T(one second in the implementation). To avoid acces Because the probes are broadcast, 802 1 1b does not acknowledge The dsDV protocol is implemented following the description or retransmit them. Every node remembers the probes it receives by Perkins and bhagwat [25 th ambiguities resolved by con- during the last w seconds(ten seconds in our implementation), al sulting Broch et al. 5] and the rice/CMU implementation in the lowing it to calculate the delivery ratio from the sender at any time ns simulator [1, 27]. The DSR implementation follows the Iete Internet-Draft, version 9[161 r(o=count(I-w, t) 4.1 Operation of DSDV DSDV is a distance-vector protocol, which uses sequence num- bers to ensure freshness, and a settling time mechanism to avoid Count(t-w, n)is the number of probes received during the win- unnecessarily propagating routes with inferior metrics. We made dow w, and w/r is the number of probes that should have been four changes to the original dSDv design in order to ensure that it received. In the case of the link X-Y, this technique allows X uses the path with the best known metric. Before describing those to measure dr, and y to measure d/. Because y knows it should changes, we present an overview of how the published version of receive a probe from X every T seconds, y can correctly calculate the protocol selects routes the current loss ratio even if no probes arrive from X Every node has a routing table entry for each destination it knows Calculation of a link's ETX requires both dy and dr. Each probe about. This entry contains four fi elds: the destinations identifi er sent by a node X contains the number of probe packets received by (IP address), the next hop on the route to that destination, the latest X from each of its neighbors during the last w seconds. This allow sequence number heard for that destination, and the metric. A node each neighbor to calculate the d to x whenever it receives a probe forwards packets to the next hop specifi ed by the current contents rom x of its routing table The etX of a route is the sum of the link metrics. dSR and Every node periodically broadcasts a route advertisement packet DSDV accumulate the route metric as they forward updates and containing its complete routing table. This advertisement is known queries, respectively. a full dump, and occurs at the full dump period 3.2 Discussion Each node maintains a sequence number for itse elf which it incre- ments and includes in its own entry in every full dump it originates ETX makes at least two assumptions about the link layer. First, The node copies the sequence numbers for the other entries in the ETX only makes sense for networks with link-layer retransmis full dump from its routing table. The effect is that the sequence sion, such as 802. 11b. Second, ETX assumes that radios have a number fi eld in a routing table entry or advertisement entry reflects fi xed transmit power level. With variable power radios, it might be the age of that entry's routing information preferable to maximize hop-count, thereby decreasing interference When a node receives another node's route advertisement broad- and minimizing the energy used by each packet [29, 12, 18 cast, it updates its own route entries as follows. Suppose node X etX does not attempt to route around congested links, and thus receives an advertisement from y for destination D with metric m should not suffer from the oscillations that sometimes plague load and sequence number n. If n is newer than the sequence number adaptive routing metrics such as end-to-end delay. To a first Xs current entry for D, X replaces its current entry with the proximation, the loss measurements used by etx do not reflect new route through Y. X also accepts the new route if the sequence how busy a link is, a busy link may cause a probe broadcast to be number is the same, but m is better than the metric of the current deferred, but won t ordinarily cause it to be lost. This won't always route. If X has no route to D, it accepts the new route. Otherwise X be true. however since 802.1 1b broadcasts are vulnerable to coll ignores the advertised rout sions from hidden terminals and the 802.1 lb mac can be unfair Each route entry has an associated weighted seling time (Wst) under high load [4]. As a result, a node might never be able to send The settling time of a route entry with a given sequence number is
ETX has several important characteristics: • ETX is based on delivery ratios, which directly affect throughput. • ETX detects and appropriately handles asymmetry by incorporating loss ratios in each direction. • ETX can use precise link loss ratio measurements to make fine-grained decisions between routes. • ETX penalizes routes with more hops, which have lower throughput due to interference between different hops of the same path [20]. • ETX tends to minimize spectrum use, which should maximize overall system capacity. In addition, ETX may decrease the energy consumed per packet, as each transmission or retransmission may increase a node’s energy consumption. The delivery ratios df and dr are measured using dedicated link probe packets. Each node broadcasts link probes of a fixed size, at an average period τ (one second in the implementation). To avoid accidental synchronization, τ is jittered by up to ±0.1τ per probe. Because the probes are broadcast, 802.11b does not acknowledge or retransmit them. Every node remembers the probes it receives during the last w seconds (ten seconds in our implementation), allowing it to calculate the delivery ratio from the sender at any time t as: r(t) = count(t − w, t) w/τ Count(t − w, t) is the number of probes received during the window w, and w/τ is the number of probes that should have been received. In the case of the link X → Y , this technique allows X to measure dr, and Y to measure df . Because Y knows it should receive a probe from X every τ seconds, Y can correctly calculate the current loss ratio even if no probes arrive from X. Calculation of a link’s ETX requires both df and dr. Each probe sent by a node X contains the number of probe packets received by X from each of its neighbors during the last w seconds. This allows each neighbor to calculate the df to X whenever it receives a probe from X. The ETX of a route is the sum of the link metrics. DSR and DSDV accumulate the route metric as they forward updates and queries, respectively. 3.2 Discussion ETX makes at least two assumptions about the link layer. First, ETX only makes sense for networks with link-layer retransmission, such as 802.11b. Second, ETX assumes that radios have a fixed transmit power level. With variable power radios, it might be preferable to maximize hop-count, thereby decreasing interference and minimizing the energy used by each packet [29, 12, 18]. ETX does not attempt to route around congested links, and thus should not suffer from the oscillations that sometimes plague loadadaptive routing metrics such as end-to-end delay. To a first approximation, the loss measurements used by ETX do not reflect how busy a link is; a busy link may cause a probe broadcast to be deferred, but won’t ordinarily cause it to be lost. This won’t always be true, however, since 802.11b broadcasts are vulnerable to collisions from hidden terminals, and the 802.11b MAC can be unfair under high load [4]. As a result, a node might never be able to send its probes, causing its neighbors to believe that the reverse delivery ratio had become zero. If the highest-throughput path has three or fewer hops, ETX is likely to choose it: the throughput of such paths is determined by the total number of transmissions, since all of the hops interfere with each other [20]. If the best path has four or more hops, ETX may choose a slower path that has fewer hops, since the increased number of transmissions required by extra hops does not slow down throughput beyond three hops. ETX does not specifically account for mobility. ETX may choose good paths despite mobility if the underlying routing protocol can propagate route metrics quickly enough, and if accurate link measurements are available. There is a tradeoff between the accuracy of link measurements and the protocol’s responsiveness to mobility. 4. Implementation The routing system in which ETX is implemented has four main parts: the Click toolkit [19], and Click-based implementations of DSDV, DSR, and the ETX link measurement algorithms. The implementations can run in user-space, but running in the kernel allows use of the priority queuing described below, as well as easy access to transmission failure notification from the 802.11 MAC layer. The DSDV protocol is implemented following the description by Perkins and Bhagwat [25], with ambiguities resolved by consulting Broch et al. [5] and the Rice/CMU implementation in the ns simulator [1, 27]. The DSR implementation follows the IETF Internet-Draft, version 9 [16]. 4.1 Operation of DSDV DSDV is a distance-vector protocol, which uses sequence numbers to ensure freshness, and a settling time mechanism to avoid unnecessarily propagating routes with inferior metrics. We made four changes to the original DSDV design in order to ensure that it uses the path with the best known metric. Before describing those changes, we present an overview of how the published version of the protocol selects routes. Every node has a routing table entry for each destination it knows about. This entry contains four fields: the destination’s identifier (IP address), the next hop on the route to that destination, the latest sequence number heard for that destination, and the metric. A node forwards packets to the next hop specified by the current contents of its routing table. Every node periodically broadcasts a route advertisement packet containing its complete routing table. This advertisement is known as a full dump, and occurs at the full dump period. Each node maintains a sequence number for itself, which it increments and includes in its own entry in every full dump it originates. The node copies the sequence numbers for the other entries in the full dump from its routing table. The effect is that the sequence number field in a routing table entry or advertisement entry reflects the age of that entry’s routing information. When a node receives another node’s route advertisement broadcast, it updates its own route entries as follows. Suppose node X receives an advertisement from Y for destination D with metric m and sequence number n. If n is newer than the sequence number in X’s current entry for D, X replaces its current entry with the new route through Y . X also accepts the new route if the sequence number is the same, but m is better than the metric of the current route. If X has no route to D, it accepts the new route. Otherwise X ignores the advertised route. Each route entry has an associated weighted settling time (WST). The settling time of a route entry with a given sequence number is
the amount of time between when a route with the sequence number route ad(Packet p)( was fi rst received, and the time when the best route with the same ndle update(r) ence number was received. The WST is the weighted averag of the settling times for recent sequence numbers, and is updated whenever a route with a new sequence number is received handle update(Route r) t The WST is used together with triggered updates to quick. // curr[]: best route for current seq propagate good routes through the network, while avoiding an ex- // old[]: best route for previous seq plosion of broadcasts. Whenever a node replaces a route entry with / add link-metric to r metric a newly received entry, it propagates the new route to its neighbors update metric(r)i by sending a triggered update which contains only the changed in- formation. However, triggered updates are not sent until at least if (r seq = curr [. dest].seg 2xWST has passed since fi rst hearing the current sequence num- & r metric curr[r dest].metric)( ber. This prevents nodes from advertising a new route which will curr [r dest] ikely be later replaced by a better route. In addition, regardless of curr[r dest]. best time now; ach route entrys WST, triggered updates are sent at no more thar y else if (r seq curr [. dest]. seq) a maximum specifi ed rate. Triggered updates that are delayed are // save best route of last seg atched together and sent at the next available time old[r dest]= curr[r dest Finally, DSDV specifi es that triggered updates can become full dumps if a large enough fraction of the routes need a triggered up- curr[r dest]=r date. In this case, all routes with an elapsed WST are included curr [r dest]. first time =now the full dump, and the node' s sequence number is incremented // update settling time 4.2 Changes to dsdⅤ ld[r dest].wsti best t ld[r dest]. best time The fi rst change we made affects how the wst is used. The first t old[r dest]. first time CMU nS DSDV implementation does not advertise a route until curr [r dest]. wst =0.88*old wst+ 2x WST has passed since that particular route was heard. How 0 12*(best t first t)i ever,according to our interpretation of the original DSDV descrip- tion [25], the waiting time before advertising a route should start chedule triggered update(r) when the first route of each sequence number is heard // ignore old seqno and bad metrics The second change is that our implementation does not use link- level feedback (i.e. 802. 11b transmission failures)to detect broken links and produce broken-route messages. Broch et al. [5] report returns next hop ip address for dst that broken- route messages typically cause all routes to the partic ookup route(IPAddress dst)[ ular destination to be broken throughout the whole network. not // use old route if we haven't yet t those that use the broken link. Our implementation still gener- / advertised current route if (curr [dst]. first time ates broken-route messages when routing table entries time out. but 2*curr [dst]. wst now) this rarely occurs during the experiments presented in this paper. return old[dst].next hop The third change(called no-dump) is that full dumps are never else gered updates contain only the changed routes, and full dumps are return curr [dst]. next_hop sent on a triggered update, even if many routes have changed. Trig- only sent at the full dump period The fi nal change(called delay-uLse)is that a route is not used until Figure 5: DSDV pseudo-code, including the modifications de- to be ised. That is. a new route is not used til 2 x WST has expired since its sequence number was fi rst heard scribed in Section 4. 2. The wsT parameters 0 12 and 0.88 are ith this change, the best route heard with the previous sequence chosen to produce a reasonable average. number is used until the current sequence number's WSThas pired. Unmodifi ed dSDV al ways uses the latest route accepted for a given destination, even if it cannot yet advertise that route Triggered updates were issued at a maximum rate of one per sec- The purpose of the last change is to prevent DSDV from using d. All DSDV experiments used the three protocol changes de- routes with bad metrics. For example, if there is an asymmetric scribed above, except for Section 5.1.2, which evaluates the delay one-hop route, a node will always hear new sequence number along the one-hop link fi rst. Without the change, DSDV is forced The etX implementation measures link loss ratios with smal to use the new one-hop route for routing, even if the ETX metric is probe packets, as described in Section 3. 1. Probes contain 134 oor. In general, shorter routes deliver new sequence numbers fi rst ytes of 802 1 1b payload. An ETX node broadcasts one probe per ausing the original DSDV to use shortes seq este w the last ten seconds. Using relatively small probes saves bandwidth:: second, and remembers probes received from neighbors over the metric in use. With this change dsdv will use the best route with Section 5 shows that predictions based on small packets are still the previous sequence number until the WST has expired and the useful even when the data traffi c consists of large packet best route with the new sequence number has likely been heard Figure 5 shows pseudo-code for the DSDV routing table upda 4.3 DSR Implementation nd packet forwarding algorithms, including our changes. follows revision 9 of the Ietf internet- For the experiments in this paper, the full dump period was 15 Draft specifi cation [16, following the requirements for networks seconds, and routing table entries were timed out after 60 seconds. which require bidirectional links to send unicast data. The im-
the amount of time between when a route with the sequence number was first received, and the time when the best route with the same sequence number was received. The WST is the weighted average of the settling times for recent sequence numbers, and is updated whenever a route with a new sequence number is received. The WST is used together with triggered updates to quickly propagate good routes through the network, while avoiding an explosion of broadcasts. Whenever a node replaces a route entry with a newly received entry, it propagates the new route to its neighbors by sending a triggered update which contains only the changed information. However, triggered updates are not sent until at least 2×WST has passed since first hearing the current sequence number. This prevents nodes from advertising a new route which will likely be later replaced by a better route. In addition, regardless of each route entry’s WST, triggered updates are sent at no more than a maximum specified rate. Triggered updates that are delayed are batched together and sent at the next available time. Finally, DSDV specifies that triggered updates can become full dumps if a large enough fraction of the routes need a triggered update. In this case, all routes with an elapsed WST are included in the full dump, and the node’s sequence number is incremented. 4.2 Changes to DSDV The first change we made affects how the WST is used. The CMU ns DSDV implementation does not advertise a route until 2×WST has passed since that particular route was heard. However, according to our interpretation of the original DSDV description [25], the waiting time before advertising a route should start when the first route of each sequence number is heard. The second change is that our implementation does not use linklevel feedback (i.e. 802.11b transmission failures) to detect broken links and produce broken-route messages. Broch et al. [5] report that broken-route messages typically cause all routes to the particular destination to be broken throughout the whole network, not just those that use the broken link. Our implementation still generates broken-route messages when routing table entries time out, but this rarely occurs during the experiments presented in this paper. The third change (called no-dump) is that full dumps are never sent on a triggered update, even if many routes have changed. Triggered updates contain only the changed routes, and full dumps are only sent at the full dump period. The final change (called delay-use) isthat a route is not used until it is allowed to be advertised. That is, a new route is not used until 2×WST has expired since its sequence number was first heard. With this change, the best route heard with the previous sequence number is used until the current sequence number’s WST has expired. Unmodified DSDV always uses the latest route accepted for a given destination, even if it cannot yet advertise that route. The purpose of the last change is to prevent DSDV from using routes with bad metrics. For example, if there is an asymmetric one-hop route, a node will always hear new sequence numbers along the one-hop link first. Without the change, DSDV is forced to use the new one-hop route for routing, even if the ETX metric is poor. In general, shorter routes deliver new sequence numbers first, causing the original DSDV to use shortest paths for some fraction of the time between successive sequence numbers, regardless of the metric in use. With this change, DSDV will use the best route with the previous sequence number until the WST has expired and the best route with the new sequence number has likely been heard. Figure 5 shows pseudo-code for the DSDV routing table update and packet forwarding algorithms, including our changes. For the experiments in this paper, the full dump period was 15 seconds, and routing table entries were timed out after 60 seconds. handle_route_ad(Packet p) { foreach Route r in p do handle_update(r) } handle_update(Route r) { // curr[]: best route for current seq // old[]: best route for previous seq // add link-metric to r.metric update_metric(r); if (r.seq == curr[r.dest].seq && r.metric curr[r.dest].seq) { // save best route of last seq no old[r.dest] = curr[r.dest]; curr[r.dest] = r; curr[r.dest].first_time = now; curr[r.dest].best_time = now; // update settling time old_wst = old[r.dest].wst; best_t = old[r.dest].best_time; first_t = old[r.dest].first_time; curr[r.dest].wst = 0.88*old_wst + 0.12*(best_t - first_t); schedule_triggered_update(r); } // ignore old seqnos and bad metrics } // returns next hop ip address for dst lookup_route(IPAddress dst) { // use old route if we haven’t yet // advertised current route if (curr[dst].first_time + 2*curr[dst].wst > now) return old[dst].next_hop; else return curr[dst].next_hop; } Figure 5: DSDV pseudo-code, including the modifications described in Section 4.2. The WST parameters 0.12 and 0.88 are chosen to produce a reasonable average. Triggered updates were issued at a maximum rate of one per second. All DSDV experiments used the three protocol changes described above, except for Section 5.1.2, which evaluates the delayuse modification. The ETX implementation measures link loss ratios with small probe packets, as described in Section 3.1. Probes contain 134 bytes of 802.11b payload. An ETX node broadcasts one probe per second, and remembers probes received from neighbors over the last ten seconds. Using relatively small probes saves bandwidth; Section 5 shows that predictions based on small packets are still useful even when the data traffic consists of large packets. 4.3 DSR Implementation Our DSR implementation followsrevision 9 of the IETF InternetDraft specification [16], following the requirements for networks which require bidirectional links to send unicast data. The im-
plementation is based on one developed by Audun Tornquist at To use the eTX metric, the implementation was modifi ed in a the University of Colorado at Boulder [32]. This section reviews few simple ways. Link probes are used to measure delivery ratios, DSR's basic operation as described in the draft, and describes our as in the dsdv implementation. when a node forwards a request modifi cations to support ETX it appends not only its own address, but also the metric for the link DSR is a reactive routing protocol, in which a node issues a route over which it received the request. These metrics are included in request only when it has data to send. Route requests are food the route replies sent back to the sender. When a node receives a through the network, each node appending its own address to each request which it has already forwarded, it forwards it again if the request it receives, and then re-broadcasting it. Each new request accumulated route metric is better than the best which it has already includes a unique ID, which forwarders use to ensure they only forwarded with this request ID. This increases the chances that the forward each request once. originator will hear about the route with the best metric The request originator issues new requests for the same destina Entries in the link cache are weighted by the metrics which were tion after an exponentially increasing back-off time. Route requests included in the route replies. The Dijkstra algorithm fi nds the route are issued with increasing time-to-live(TTL) values, to minimize to the destination which has the minimum metric. the range and cost of flood The destination issues a route reply in response to every for 4. 4 Router Configuration details warded request it receives. Each reply, which includes the route If a node is sending large volumes of data, there is a danger which was accumulated as the request was forwarded through the probe packets or routing protocol packets may be dropped or de- network, is source-routed back to the originator along the reverse layed due to a full queue. To mitigate this problem, the imple route. The source node chooses a route using information from the mentation maintains separate Click queues for data packets, proto- route replies it receives, and source-routes data along this route col packets, and link probes. Each of these queues can hold fi ve Our implementation stores the results of route replies in a link packets. These queues all drain into a single queue in the wireless cache, which stores information about each link separately. A node adapter's memory, managed by the driver, which has a capacity runs Dijkstra's shortest-path algorithm on its link cache to fi nd the three packets. Loss-ratio probes enter the adapter's queue fi rst, best route to a destination lowed by protocol packets, then data packets DSR uses feedback from the link layer to react to link failures The dsDV implementation looks up a packets destination in the When the 802.11 card signals that no acknowledgment was re- routing table after dequeuing the packet from the data queue, and ived after the maximum number of retries, the forwarding node just before handing the packet to the 802. 11b card. This avoids issues a route error back to the source which removes the link from committing to the next hop before queuing, and makes forwarding ts link cache and then computes a new route. If the source cannot more responsive to changes in the routing table. This technique fi nd a route using its link cache, it issues a new route request. depends on the fact that the nodes have only one wireless interface To deal with asymmetric links, each node maintains a blacklist, The DSR implementation, on the other hand, adds the sour which lists immediate neighbors with unidirectional links to the the route header to data packets before inserting them into the queue node. These are links over which the node might receive broadcast On a transmission failure or a received route error a node removes requests, but which are unsuitable for unicast traffi c and drops all enqueued packets which include the broken link in If a transmission failure occurs when forwarding a route reply, their source route. This ensures that the node experiencing the the neighbor to which the node was trying to forward the reply is transmission failure does not spend additional time and spectrum dded to the blacklist, with an entry of unidirectionality probable retransmitting more packets over the broken hop rom that point, the node will not forward route requests received over that link 5. Evaluation If the asymmetry of the link is not positively determined for some time, its entry is downgraded to unidirectionality questionable. If This section presents experimental results that show that ETX a route request is received over such a link, the node delays for often fi nds higher-throughput paths than minimum hop-count, umber of individual design decisions in the etx algorithm forwards the original route request and removes the blacklist ent Unless otherwise stated, the experimental setup is as follows Otherwise, the node drops the request. The test-bed, 802 1 1b confi guration, and packet size are as de- Entries are removed from the blacklist when the link is deter- scribed in Section 2. 1. The DSDv implementation includes the mined to be bidirectional, e. g. by a successful unicast transmission. mprovements described in Section 4.2 for both ETX and the hop- The DSR specifi cation describes optimizations in which nodes count metric. The DSR implementation is as described in Sec- update their link caches using data from packets they forward or on4.3 overhear. We did not implement any of the optimizations which The data presented below were collected during a few separate require the wireless interface to operate in promiscuous receive runs". An entire run takes about 30 hours. A run considers each mode. We also did not implement"reply from cache, in which pair of nodes in turn. For each pair, one"experiment" is run for forwarding nodes can respond to route requests with information each routing protocol variant. At the start of each experiment, the rom their own link caches. All link caches were flushed between routing software is reset (all tables are cleared), then the routing experiments, so these decisions should not affect the results pre- protocol and/or ETX probe algorithm is allowed to run long enough sented below. to stabilize(typically 90 seconds). Then the sending node of the The nodes do not perform packet sal vage, in which forwarding air sends data packets as fast as 802. 11b allows it through the nodes in the event of a transmission failure or received route error. to the destination. the destination measures the rate attempt to fi nd alternate routes for queued packe Each forward at which packets arrive. This arrangement ensures that the results ing node queues only a few packets, so only a small number of from different protocols for the same pair of nodes are comparable packets are dropped in these cases. since the relevant experiments are run within a few minutes of each
plementation is based on one developed by Audun Tornquist at the University of Colorado at Boulder [32]. This section reviews DSR’s basic operation as described in the draft, and describes our modifications to support ETX. DSR is a reactive routing protocol, in which a node issues a route request only when it has data to send. Route requests are flooded through the network, each node appending its own address to each request it receives, and then re-broadcasting it. Each new request includes a unique ID, which forwarders use to ensure they only forward each request once. The request originator issues new requests for the same destination after an exponentially increasing back-off time. Route requests are issued with increasing time-to-live (TTL) values, to minimize the range and cost of flooding. The destination issues a route reply in response to every forwarded request it receives. Each reply, which includes the route which was accumulated as the request was forwarded through the network, is source-routed back to the originator along the reverse route. The source node chooses a route using information from the route replies it receives, and source-routes data along this route. Our implementation stores the results of route replies in a link cache, which stores information about each link separately. A node runs Dijkstra’s shortest-path algorithm on its link cache to find the best route to a destination. DSR uses feedback from the link layer to react to link failures. When the 802.11 card signals that no acknowledgment was received after the maximum number of retries, the forwarding node issues a route error back to the source, which removes the link from its link cache and then computes a new route. If the source cannot find a route using its link cache, it issues a new route request. To deal with asymmetric links, each node maintains a blacklist, which lists immediate neighbors with unidirectional links to the the node. These are links over which the node might receive broadcast requests, but which are unsuitable for unicast traffic. If a transmission failure occurs when forwarding a route reply, the neighbor to which the node was trying to forward the reply is added to the blacklist, with an entry of unidirectionality probable. From that point, the node will not forward route requests received over that link. If the asymmetry of the link is not positively determined forsome time, its entry is downgraded to unidirectionality questionable. If a route request is received over such a link, the node delays forwarding it while it issues a direct, one-hop unicast route request back to the questionable neighbor. If a reply is received, the node forwards the original route request and removes the blacklist entry. Otherwise, the node drops the request. Entries are removed from the blacklist when the link is determined to be bidirectional, e.g. by a successful unicast transmission. The DSR specification describes optimizations in which nodes update their link caches using data from packets they forward or “overhear”. We did not implement any of the optimizations which require the wireless interface to operate in promiscuous receive mode. We also did not implement “reply from cache,” in which forwarding nodes can respond to route requests with information from their own link caches. All link caches were flushed between experiments, so these decisions should not affect the results presented below. The nodes do not perform packet salvage, in which forwarding nodes, in the event of a transmission failure or received route error, attempt to find alternate routes for queued packets. Each forwarding node queues only a few packets, so only a small number of packets are dropped in these cases. To use the ETX metric, the implementation was modified in a few simple ways. Link probes are used to measure delivery ratios, as in the DSDV implementation. When a node forwards a request, it appends not only its own address, but also the metric for the link over which it received the request. These metrics are included in the route replies sent back to the sender. When a node receives a request which it has already forwarded, it forwards it again if the accumulated route metric is better than the best which it has already forwarded with this request ID. This increases the chances that the originator will hear about the route with the best metric. Entries in the link cache are weighted by the metrics which were included in the route replies. The Dijkstra algorithm finds the route to the destination which has the minimum metric. 4.4 Router Configuration Details If a node is sending large volumes of data, there is a danger that probe packets or routing protocol packets may be dropped or delayed due to a full queue. To mitigate this problem, the implementation maintains separate Click queues for data packets, protocol packets, and link probes. Each of these queues can hold five packets. These queues all drain into a single queue in the wireless adapter’s memory, managed by the driver, which has a capacity of three packets. Loss-ratio probes enter the adapter’s queue first, followed by protocol packets, then data packets. The DSDV implementation looks up a packet’s destination in the routing table after dequeuing the packet from the data queue, and just before handing the packet to the 802.11b card. This avoids committing to the next hop before queuing, and makes forwarding more responsive to changes in the routing table. This technique depends on the fact that the nodes have only one wireless interface. The DSR implementation, on the other hand, adds the sourceroute header to data packets before inserting them into the queue. On a transmission failure or a received route error, a node removes and drops all enqueued packets which include the broken link in their source route. This ensures that the node experiencing the transmission failure does not spend additional time and spectrum retransmitting more packets over the broken hop. 5. Evaluation This section presents experimental results that show that ETX often finds higher-throughput paths than minimum hop-count, particularly between distant nodes. It also explores the effects of a number of individual design decisions in the ETX algorithm. Unless otherwise stated, the experimental setup is as follows. The test-bed, 802.11b configuration, and packet size are as described in Section 2.1. The DSDV implementation includes the improvements described in Section 4.2 for both ETX and the hopcount metric. The DSR implementation is as described in Section 4.3. The data presented below were collected during a few separate “runs”. An entire run takes about 30 hours. A run considers each pair of nodes in turn. For each pair, one “experiment” is run for each routing protocol variant. At the start of each experiment, the routing software is reset (all tables are cleared), then the routing protocol and/or ETX probe algorithm is allowed to run long enough to stabilize (typically 90 seconds). Then the sending node of the pair sends data packets as fast as 802.11b allows it through the routing system to the destination. The destination measures the rate at which packets arrive. This arrangement ensures that the results from different protocols for the same pair of nodes are comparable, since the relevant experiments are run within a few minutes of each other
Run Rl: 1 mw. 134-byte packets Run RI: I mw, 134-byte packets 06 · Best static ro DSDV ET DSDV Hop-count 050100150200250300350400450 050100150200250300350400450 Packets per second delivered DSDV Hop-count packets per secone Figure 6: ETX finds higher ut routes than minimum Figure 7: The ETX and hop-count data from Figure 6, plotte hop-count. This data is taken e same experimental run on a per-pair basis. The x value of each point shows that pair's as Figure 2. Each point repres of 100 node pairs. throughput for DSDV with minimum hop-count; the y value shows the throughput for DsDV with ETX. Points above the line y= x are pairs where ETX outperformed hop-co Cach graph below is labeled with the run from which it came. Graphs with the same run number are comparable. Graphs with different run numbers should not be compared, since the network's behavior changes substantially with time. The graphs below do not cases the minimum hop-count metric fi nds the one-hop route, which include error bars, but are representative of the many runs we have is the best route, and there is no opportunity for etX to perform pet better. The left half corresponds to node pairs with a high direct In DSDV experiments using ETX or minimum hop-count, the loss ratio, for which the best route has more than one hop. In this routing protocol runs for 90 seconds, immediately after which the region, the sensitivity of etx to differences among the many dif- source sends data packets as fast as possible for 30 seconds. As ferent paths of the same length allows it often to fi nd better paths described in Section 3.2, the heavy load causes the MAc protocol than hop to become extremely unfair, distorting the etX measurements. To Figure 7 shows the same data as Figure 6, but ed as a minimize the effects of MAC unfairness, every node routes packets catter plot to allow a direct comparison between the performance using a snapshot of its route table taken at the end of the 90-second of each metric for individual pairs. Each pair is represented by warm-up period, before any data is sent. one point; the points y value is the throughput obtained by DSDV In DsR experiments with ETX or minimum hop-count, a source using ETX, and the x value is the throughput obtained by dsdv starts by sending one data packet per second for fi ve seconds. This using minimum hop-count. The upper-right quadrant shows pai nsure that DSR fi nds a route before throughput measurements are where ETX and minimum hop-count both used the one-hop path taken. After the fi ve seconds passes, the source sends packets as ETX outperforms minimum hop-count by the greatest margin fast as possible for 30 seconds. In DSR experiments with etX, the when the hop-count metric uses links with very asymmetric loss source waits an additional 15 seconds before initiating the route ratios. This is illustrated by the points with x near zero and with request, to give the nodes time to accumulate link measurements y relatively large. Minimum hop-count is using links that deliver All experiments run with the appropriate routing overhead. That routing updates in one direction but deliver few data pach is, while measuring the throughput of routing with the etX m es send periodic eTX broadcast probes. While The points for two pairs in Figure 7 lie well below the y = x roughput of dsDV(with either metric), nodes sends DsDv line; this is because of variations in link quality between the etx advertisements, just as a production routing system would. and minimum hop-count tests for those pairs. For the fi rst pair, both 5.1 Metric Performance with DSDv ETX and hop-count used the same route, so the difference is due to an underlying change in the routes throughput. For the second ure 6 compares the throughput CDFs of paths found by dsdv pair, ETX used a slower 3-hop path while hop-count used a two- using ETX and minimum hop-count, between 100 randomly che hop path, ETX avoided using one of the links in the two-hop path sen node pairs. This data is taken from the same run as in Figure 2, because the measured delivery ratios were very poor. It is likely that and shows that DSDV using the etX metric often fi nds much faster the link's quality was different for the etX and hop-count tests routes than the minimum hop-count metric. ETX incurs more overhead than minimum hop-count, due to its There are two main regions in Figure 6. The right half shows loss-ratio probes, but this overhead is small compared to the gains node pairs that could communicate directly, with loss ratios less in throughput that ETX provides. ETX found usable routes for than about 50%(i. e. with throughput greater than the maximum many pairs where minimum hop-count was delivering essentially possible two-hop throughput of 225 packets per second). In these zero packets per second
0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R1: 1 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop Best static route DSDV ETX DSDV Hop-count Figure 6: ETX finds higher throughput routes than minimum hop-count. This data is taken from the same experimental run as Figure 2. Each point represents one of 100 node pairs. Each graph below is labeled with the run from which it came. Graphs with the same run number are comparable. Graphs with different run numbers should not be compared, since the network’s behavior changes substantially with time. The graphs below do not include error bars, but are representative of the many runs we have performed. In DSDV experiments using ETX or minimum hop-count, the routing protocol runs for 90 seconds, immediately after which the source sends data packets as fast as possible for 30 seconds. As described in Section 3.2, the heavy load causes the MAC protocol to become extremely unfair, distorting the ETX measurements. To minimize the effects of MAC unfairness, every node routes packets using a snapshot of its route table taken at the end of the 90-second warm-up period, before any data is sent. In DSR experiments with ETX or minimum hop-count, a source starts by sending one data packet per second for five seconds. This ensure that DSR finds a route before throughput measurements are taken. After the five seconds passes, the source sends packets as fast as possible for 30 seconds. In DSR experiments with ETX, the source waits an additional 15 seconds before initiating the route request, to give the nodes time to accumulate link measurements. All experiments run with the appropriate routing overhead. That is, while measuring the throughput of routing with the ETX metric, nodes send periodic ETX broadcast probes. While measuring the throughput of DSDV (with either metric), nodes sends DSDV routing advertisements, just as a production routing system would. 5.1 Metric Performance with DSDV Figure 6 compares the throughput CDFs of paths found by DSDV using ETX and minimum hop-count, between 100 randomly chosen node pairs. This data is taken from the same run as in Figure 2, and shows that DSDV using the ETX metric often finds much faster routes than the minimum hop-count metric. There are two main regions in Figure 6. The right half shows node pairs that could communicate directly, with loss ratios less than about 50% (i.e. with throughput greater than the maximum possible two-hop throughput of 225 packets per second). In these 0 50 100 150 200 250 300 350 400 450 0 50 100 150 200 250 300 350 400 450 DSDV ETX packets per second DSDV Hop-count packets per second Run R1: 1 mW, 134-byte packets y=x Figure 7: The ETX and hop-count data from Figure 6, plotted on a per-pair basis. The x value of each point shows that pair’s throughput for DSDV with minimum hop-count; the y value shows the throughput for DSDV with ETX. Points above the line y = x are pairs where ETX outperformed hop-count. cases the minimum hop-count metric findsthe one-hop route, which is the best route, and there is no opportunity for ETX to perform better. The left half corresponds to node pairs with a high direct loss ratio, for which the best route has more than one hop. In this region, the sensitivity of ETX to differences among the many different paths of the same length allows it often to find better paths than hop-count. Figure 7 shows the same data as Figure 6, but organized as a scatter plot to allow a direct comparison between the performance of each metric for individual pairs. Each pair is represented by one point; the point’s y value is the throughput obtained by DSDV using ETX, and the x value is the throughput obtained by DSDV using minimum hop-count. The upper-right quadrant shows pairs where ETX and minimum hop-count both used the one-hop path. ETX outperforms minimum hop-count by the greatest margin when the hop-count metric uses links with very asymmetric loss ratios. This is illustrated by the points with x near zero and with y relatively large. Minimum hop-count is using links that deliver routing updates in one direction but deliver few or no data packets in the other, while ETX correctly avoids those links. The points for two pairs in Figure 7 lie well below the y = x line; this is because of variations in link quality between the ETX and minimum hop-count tests for those pairs. For the first pair, both ETX and hop-count used the same route, so the difference is due to an underlying change in the route’s throughput. For the second pair, ETX used a slower 3-hop path while hop-count used a twohop path; ETX avoided using one of the links in the two-hop path because the measured delivery ratios were very poor. It islikely that the link’s quality was different for the ETX and hop-count tests. ETX incurs more overhead than minimum hop-count, due to its loss-ratio probes, but this overhead is small compared to the gains in throughput that ETX provides. ETX found usable routes for many pairs where minimum hop-count was delivering essentially zero packets per second
Run R2: I mw, 1, 386-byte packets Run R3: 30 mw, 134-byte packets 06 606 DSDV ETX SDV ETX DSDV Hop-count 01020304050607080 050100150200250300350400450 Packets per second delivered Packets per second delivered igure 8: ETX provides less of a throughput advantage over Figure 9: ETX versus minimum hop-count when transmitting minimum hop-count when using large(1, 386-byte)packets. at 30 mw, for 40 pairs. Using a higher transmit power pro- The small packets used to measure link loss ratios incorrectly duces a more highly connected network with many more links predict the actual transmission counts for large packets. This and a lower average hop-count, but ETX still provides graph shows 40 pairs randomly chosen from the 100 pairs used advantage. in the previous figures. The maximum 1-hop throughput of 1, 386-byte data packets at 1 Mbps is 82 packets per second. Run RI: I mW, 134-byte packets Figure 8 shows the throughput for packets with a 1, 386-byte pay pad. Although ETX still offers an improvement over minimun through.3-hop 2-hop hop-count, the gain is not as large as for small packets. This is be cause ETX is still using small probes to estimate the link metrics Since small packets are more likely to be delivered, ETX is incor- rectly over-estimating the quality of each link and causing dSDV to pick sub-optimal routes. For example, if the single-hop direct 06 route between two nodes has an etX probe delivery rate of 51% ETX will use it; however, the delivery rate of 1, 386-byte packets on such a link is likely to be closer to 1%, so a route with more but higher-quality links would have been preferable. However, the small packets are still useful for detecting very asymmetric links, ich is why ETXs gain over minimum is more pronounced to the left of the graph, where hop-count used very asymmetric links. DSDV ETX Figure 9 shows the results of eTX versus minimum hop-count DSDA Link Handshaking DSDV Hop-count from a third run with the radios transmitting at 30 mw instead of I mw. The packet size is 134 bytes. When nodes send at the higher 050100150200250300350400450 transmit power they have more links, as shown in Figure 4. This Packets per second delivered makes the network much more connected, decreasing the averag p-count required for nodes to communicate. As a result, ETX has Figure 10: ETX provides a significant throughput over a sim- wer routes to choose from, and minimum hop-count has a lower ple handshaking scheme which avoids very asymmetrie routes. hance of choosing a bad route. Figure 9 shows that ETX still ETX can make fine-grained decisions between links with vary provides some advantage in the more highly connected network. ng degrees of asymmetry. 5.1.1 Impact of Asymmetry Some fraction of ETX's gains comes from avoiding extremely dicate that the node has ' another node, but not yet accepted asymmetric links. The problem of routing when there are asym- routes from it. metric links has been addressed in previous work by Lundgren We implemented the handshaking scheme for DSDV with the et al. [22] and by Chin et al. 8]. These authors propose a link minimum hop-count metric. Figure 10 compares link handshaking handshaking scheme to detect and avoid asymmetric links. In this to the EtX and minimum-hop-count metrics. Although link hand. scheme, a node X only accepts route updates from a neighboring shaking often improves over minimum hop-count alone, EtX fi nd node Y if Y is advertising a direct route to x. A node bootstraps faster routes. ETXs link measurements allow etX to discriminate the handshake by advertising provisional route entries, which in between links with varying degrees of asymmetry
0 0.2 0.4 0.6 0.8 1 0 10 20 30 40 50 60 70 80 Cumulative fraction of node pairs Packets per second delivered Run R2: 1 mW, 1,386-byte packets Max 4-hop throughput 3-hop 2-hop DSDV ETX DSDV Hop-count Figure 8: ETX provides less of a throughput advantage over minimum hop-count when using large (1,386-byte) packets. The small packets used to measure link loss ratios incorrectly predict the actual transmission counts for large packets. This graph shows 40 pairs randomly chosen from the 100 pairs used in the previous figures. The maximum 1-hop throughput of 1,386-byte data packets at 1 Mbps is 82 packets per second. Figure 8 shows the throughput for packets with a 1,386-byte payload. Although ETX still offers an improvement over minimum hop-count, the gain is not as large as for small packets. This is because ETX is still using small probes to estimate the link metrics. Since small packets are more likely to be delivered, ETX is incorrectly over-estimating the quality of each link and causing DSDV to pick sub-optimal routes. For example, if the single-hop direct route between two nodes has an ETX probe delivery rate of 51%, ETX will use it; however, the delivery rate of 1,386-byte packets on such a link is likely to be closer to 1%, so a route with more but higher-quality links would have been preferable. However, the small packets are still useful for detecting very asymmetric links, which is why ETX’s gain over minimum is more pronounced to the left of the graph, where hop-count used very asymmetric links. Figure 9 shows the results of ETX versus minimum hop-count from a third run with the radios transmitting at 30 mW instead of 1 mW. The packet size is 134 bytes. When nodes send at the higher transmit power they have more links, as shown in Figure 4. This makes the network much more connected, decreasing the average hop-count required for nodes to communicate. As a result, ETX has fewer routes to choose from, and minimum hop-count has a lower chance of choosing a bad route. Figure 9 shows that ETX still provides some advantage in the more highly connected network. 5.1.1 Impact of Asymmetry Some fraction of ETX’s gains comes from avoiding extremely asymmetric links. The problem of routing when there are asymmetric links has been addressed in previous work by Lundgren et al. [22] and by Chin et al. [8]. These authors propose a link handshaking scheme to detect and avoid asymmetric links. In this scheme, a node X only accepts route updates from a neighboring node Y if Y is advertising a direct route to X. A node bootstraps the handshake by advertising provisional route entries, which in- 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R3: 30 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop DSDV ETX DSDV Hop-count Figure 9: ETX versus minimum hop-count when transmitting at 30 mW, for 40 pairs. Using a higher transmit power produces a more highly connected network with many more links and a lower average hop-count, but ETX still provides some advantage. 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R1: 1 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop DSDV ETX DSDV Link Handshaking DSDV Hop-count Figure 10: ETX provides a significant throughput over a simple handshaking scheme which avoids very asymmetric routes. ETX can make fine-grained decisions between links with varying degrees of asymmetry. dicate that the node has ‘seen’ another node, but not yet accepted routes from it. We implemented the handshaking scheme for DSDV with the minimum hop-count metric. Figure 10 compares link handshaking to the ETX and minimum-hop-count metrics. Although link handshaking often improves over minimum hop-count alone, ETX finds faster routes. ETX’s link measurements allow ETX to discriminate between links with varying degrees of asymmetry
Run Rl: 1 mw. 134-byte packets Run RI: I mw, 134-byte packets 0.8 0.8 06 606 0.4 0. Best static route DSDV ETX with Delay-use DSR ETX(no feedback DSDV: ETX without Delay-use DSR Hop-count(no feedback) 050100150200250300350400450 050100150200250300350400450 Packets per second delivered Packets per second delivered Figure 11: DSDV ETX with and without the delay-use modi- Figure 12: Throughput CDFs for DSR ETX compared with fication to DSDV. This modification helps DSDV obey the link DSr hop-count, with link-layer transmission feedback dis- metric abled. ETX significantly improves initial route selection. 5.1.2 Efects of DSDv Modifications Section 4.2 described modifi cations to dsDv designed to in- a number of different links. The experiments for these data were crease its responsiveness to metrics. The delay-use modifi cation virtually identical to the broadcast delivery tests described in Sec auses dSDv to delay using a newly received route until it is per- tion 2. 4, except the broadcasting nodes sent packets of eighteen dif- mitted to advertise the route(i.e. 2x WST has passed). Figure 11 ferent sizes, from 50 to 1500 bytes. Seven sets of these experiment shows that the delay-use modifi cation improves the performance of were conducted over the course of two days, and the results wer DSDV with etX averaged to minimize short-term variation. The x values represent 5.2 Metric Performance with DSR packet size, and the y values show the delivery ratio for broadcast ackets of that size. The lines connect the data points for the same This section evaluates the performance of the DSr routing pro- host pairs tocol with the etX metric. As described in Section 43 DSR uses The fi gure shows that packet size has a signifi cant effect on de link-layer transmission failure feedback to help it avoid bad routes. livery ratios. ETX, however, uses a single packet size to estimate To isolate the effects of using ETX with DSR, we evaluated DSr link metrics. This is likely to lead to inaccurate metrics for packet performance both with and without link-layer feedback enabled Figure 12 shows the effect of using the etX metric with Dsr aZes other than the size used for measurement probes. Further- ore, ETX uses the single packet size measurements to estimate without link-layer feedback, for the same 100 pairs as in Figure 2 the delivery ratio of link-layer ACK packets. Since 802. 1lb ACK ing node ever issues any route errors. Thus DSR uses only the best derestmaarte smaller than any 802. 11b data packet, ETX always un- route found by the initial route request, as determined by the metric. only 38 bytes in total, including all 802 1 1b overhead, while the Figure 12 shows that ETX greatly improves initial route selection 134-byte data packets used in most of the experiments are 193 bytes in DSr compared to minimum hop-count. This is consistent with with 802. 11b overhead the DsDV results in Section 5.1. Minimum hop-count essentially igure 15 shows the accuracy of ETXs transmission count pre- chooses randomly from all the shortest routes the source obtains dictions. Each point on the graph represents an experiment on a from the initial route request; as illustrated in Figure 3, this is often link between two randomly selected nodes. For each experiment, not the best route etX helps the source picks an initial route with the two nodes fi rst take turns sending broadcast probes with a 104 high throws byte data payload. Each turn consists of ten probe broadcasts over Figure 13 illustrates the performance of eTX with DSR's link- the course of one second. After sixty seconds(thirty turns for each layer feedback enabled. ETX provides a small benefi t to some pairs node), one of the nodes sends unicast traffi c to the other for ten sec in the intermediate and low throughput ranges(the middle and bot- onds, as fast as 802. 11b allows. Each node logs packets sent and tom of the CDF). However, failure feedback alone allows dsr to received For each sent packet--that is, packets which the wireless perform almost as well as dSR with EtX. interface actually attempted to transmit--the node asks the 802. 11b 5.3 Accuracy of Link Measurements hardware whether the transmission succeeded, and how many times the hardware re-transmitted the packet. The y values on the graph For all the experiments in this paper, ETX used 134-byte packets epresent the average actual transmission counts. The x values are to estimate link loss ratios. However, the loss ratios experienced the expected transmission count based on the broadcast delivery ra- by data packets of other sizes are likely to differ from the etx es- tios in the preceding minute as calculated by equation l. Figure timate. Figure 14 shows how loss ratios vary with packet size for 15 shows that ETX tends to overestimate the number of required
0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R1: 1 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop DSDV ETX with Delay-use DSDV ETX without Delay-use Figure 11: DSDV ETX with and without the delay-use modi- fication to DSDV. This modification helps DSDV obey the link metric. 5.1.2 Effects of DSDV Modifications Section 4.2 described modifications to DSDV designed to increase its responsiveness to metrics. The delay-use modification causes DSDV to delay using a newly received route until it is permitted to advertise the route (i.e. 2×WST has passed). Figure 11 shows that the delay-use modification improves the performance of DSDV with ETX. 5.2 Metric Performance with DSR This section evaluates the performance of the DSR routing protocol with the ETX metric. As described in Section 4.3, DSR uses link-layer transmission failure feedback to help it avoid bad routes. To isolate the effects of using ETX with DSR, we evaluated DSR performance both with and without link-layer feedback enabled. Figure 12 shows the effect of using the ETX metric with DSR without link-layer feedback, for the same 100 pairs as in Figure 2. Because DSR never learns about transmission failures, no forwarding node ever issues any route errors. Thus DSR uses only the best route found by the initial route request, as determined by the metric. Figure 12 shows that ETX greatly improves initial route selection in DSR compared to minimum hop-count. This is consistent with the DSDV results in Section 5.1. Minimum hop-count essentially chooses randomly from all the shortest routes the source obtains from the initial route request; as illustrated in Figure 3, this is often not the best route. ETX helps the source picks an initial route with high throughput. Figure 13 illustrates the performance of ETX with DSR’s linklayer feedback enabled. ETX provides a small benefit to some pairs in the intermediate and low throughput ranges (the middle and bottom of the CDF). However, failure feedback alone allows DSR to perform almost as well as DSR with ETX. 5.3 Accuracy of Link Measurements For all the experiments in this paper, ETX used 134-byte packets to estimate link loss ratios. However, the loss ratios experienced by data packets of other sizes are likely to differ from the ETX estimate. Figure 14 shows how loss ratios vary with packet size for 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 350 400 450 Cumulative fraction of node pairs Packets per second delivered Run R1: 1 mW, 134-byte packets Max 4-hop throughput 3-hop 2-hop Best static route DSR ETX (no feedback) DSR Hop-count (no feedback) Figure 12: Throughput CDFs for DSR ETX compared with DSR hop-count, with link-layer transmission feedback disabled. ETX significantly improves initial route selection. a number of different links. The experiments for these data were virtually identical to the broadcast delivery tests described in Section 2.4, except the broadcasting nodes sent packets of eighteen different sizes, from 50 to 1500 bytes. Seven sets of these experiments were conducted over the course of two days, and the results were averaged to minimize short-term variation. The x values represent packet size, and the y values show the delivery ratio for broadcast packets of that size. The lines connect the data points for the same host pairs. The figure shows that packet size has a significant effect on delivery ratios. ETX, however, uses a single packet size to estimate link metrics. This is likely to lead to inaccurate metrics for packet sizes other than the size used for measurement probes. Furthermore, ETX uses the single packet size measurements to estimate the delivery ratio of link-layer ACK packets. Since 802.11b ACK packets are smaller than any 802.11b data packet, ETX always underestimates the delivery ratio of ACK packets. ACK packets are only 38 bytes in total, including all 802.11b overhead, while the 134-byte data packets used in most of the experiments are 193 bytes with 802.11b overhead. Figure 15 shows the accuracy of ETX’s transmission count predictions. Each point on the graph represents an experiment on a link between two randomly selected nodes. For each experiment, the two nodes first take turns sending broadcast probes with a 104- byte data payload. Each turn consists of ten probe broadcasts over the course of one second. After sixty seconds (thirty turns for each node), one of the nodes sends unicast traffic to the other for ten seconds, as fast as 802.11b allows. Each node logs packets sent and received. For each sent packet—that is, packets which the wireless interface actually attempted to transmit—the node asks the 802.11b hardware whether the transmission succeeded, and how many times the hardware re-transmitted the packet. The y values on the graph represent the average actual transmission counts. The x values are the expected transmission count based on the broadcast delivery ratios in the preceding minute, as calculated by Equation 1. Figure 15 shows that ETX tends to overestimate the number of required