Friends & Foes: Preventing Selfishness in Mobile Ad Hoc Networks Hugo Miranda and Lu´ ıs Rodrigues hmiranda@di.fc.ul.pt Universidade de Lisboa DIAL-NP - LaSIGE MDC’03 – p.1
Outline • Motivation • Load balancing • Selfishness prevention • Protocol overview • Load balancing evaluation • Conclusions MDC’03 – p.2
Motivation • Mobile Ad Hoc Networks (MANETs) depend of the individual behavior of the nodes • Open MANETs users may be “resource selfish” • Routing protocols may exacerbate the problem if routes remain static MDC’03 – p.3
Dynamic Source Routing (DSR) D A B C F E • 3 routing message types: requests, replies and errors • Data messages include the route to be followed • To minimize routing messages: • learn routes in data messages • if a route is known, reply to route requests MDC’03 – p.4
Load-balancing in DSR Two scenarios with: • 36 nodes, on a 6 × 6 matrix • nodes reach each of their neighbors • no node movement • no transmission errors • each node ( i, j ) sends 20 UDP datagrams to: Scenario #1 Node ( j, i ) Scenario #2 Node (2 , 3) MDC’03 – p.5
Scenario #1 51 26 • 3468(2997 + 471) 30 32 30 71 MAC frames sent 49 133 176 162 89 49 • 9 (25%) of the 48 73 102 225 337 156 nodes sent 1802 (52%) of the frames 175 182 32 81 94 211 • 3 (8%) of the nodes 178 55 31 116 120 95 sent 773 (22%) of 55 52 34 53 33 the frames 32 • 50 routes used (12 of them once) • Node (2 , 3) sent 337 frames in 24 routes MDC’03 – p.6
Scenario #2 25 57 22 21 21 • 1561(1496 + 65) 24 MAC frames sent 21 132 95 61 21 83 • 42 routes used (2 of 22 62 6 21 41 85 them once) 141 61 81 21 21 42 42 42 41 21 21 81 21 21 21 21 21 21 • The 8 nodes surrounding (2 , 3) have sent 90 frames on average. Standard deviation: 31.5 MDC’03 – p.7
Therefore. . . • MANET routing protocols privilege efficiency over load balancing • Some nodes may unfairly exhaust their resources serving others • The lack of load balancing mechanisms and the absence of consequences from selfish behavior, motivates users for being “resource selfish” MDC’03 – p.8
Related Work • Path rater • Notifies routing protocols to avoid selfish nodes • Selfish nodes may freely use the network • Confidant • Nodes refuse to forward messages from those with a bad reputation • Nodes are always forbidden to be selfish (no fairness) MDC’03 – p.9
Related Work - cont. • Terminodes • Virtual currency possibly mapped in real money • Each hop of a message would charge some nuglets ( beans ) • Tamper-proof device prevents frauds • Requires PKI • Power-aware routing • Different metrics • Rely on the information provided by each node MDC’03 – p.10
Desirable Properties • Fair selfishness, if some node becomes highly loaded • Nodes should remember the past behavior of other nodes • The protocol should be optional • Low overhead MDC’03 – p.11
Selfishness Prevention Protocol • Fair selfishness: improves load balancing • Excludes selfish nodes • Node reintegration • Charges per message • Requirements • A route composed of only non-selfish nodes must exist between any two selfish nodes • Selfish nodes do not cooperate between them MDC’03 – p.12
Algorithm overview Periodically, each node p broadcasts: friends p The set of nodes to whom he is willing to provide services foes p The set of nodes to whom he refuses to provide services selfish p The set of nodes that lied to him, by declaring him as friend Nodes rate their neighbors by crossing the information received MDC’03 – p.13
Internal data structures Each node p keeps a record for each of his neighbors q with: credits q p Messages forwarded on behalf of q maxCredits q p Acceptable number of credits friends q p Nodes to whom q provides services p Nodes to whom q refuses to provide services foes q deadbeat q p Evaluates if q is still in the neighborhood MDC’03 – p.14
Who’s selfish? • Decision is taken locally. Node q with the ratio: ♯friends q p ♯friends q p + ♯foes q p bellow an acceptable threshold will be considered selfish by p . • Selfish nodes will only be able to send messages until their credits reach 0 MDC’03 – p.15
Other considerations • Re-integration; • Protocol transparency; • Subverting the protocol; • Integration with routing protocols • Do not forward route discovery messages issued by foe nodes • Send route errors for messages to be forwarded to foe neighbors MDC’03 – p.16
Evaluation # 1 53 26 • 3559(3060 + 499) 30 38 30 90 MAC frames sent 51 173 187 155 70 48 [3468] 51 106 74 185 285 141 • 9 (25%) of the nodes sent 1721 213 174 52 93 157 189 (48%) of the 158 50 50 125 121 105 frames [1802] • 3 (8%) of the nodes 57 78 33 50 29 32 sent 687 (19.3%) of the frames [773] • 53 [50] routes used (12 of them once) • Node (2 , 3) : 285 [337] frames in 23 [24] routes MDC’03 – p.17
Evaluation # 2 29 57 22 21 21 • 1632(1553 + 79) 24 MAC frames sent 25 125 85 61 20 69 [1561] 31 72 6 21 44 84 • 84 [42] routes used (20 of them once) 105 97 91 21 30 43 78 42 41 31 29 48 25 39 27 23 23 22 • The 8 nodes surrounding (2 , 3) are closer to average. Standard deviation: 19.7 [31.5] MDC’03 – p.18
Summary of Evaluation • Slightly increase on: • Number of frames • Number of routes • New routes alleviate overloaded nodes MDC’03 – p.19
Future Work • How to make the protocol more robust; • Validation of the protocol; • Investigate the use of other metrics; MDC’03 – p.20
Conclusions • When nodes remain in the same position, routing protocols may present unfair load distribution • Selfishness prevention in MANETs is a relatively new subject • A new algorithm that enhances load balancing while banning selfish users from the MANET was presented MDC’03 – p.21
Recommend
More recommend