13.07.2015 Views

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

158 M. Just, E. Kranakis, and T. Wanthe an <strong>in</strong>telligent attacker may be able to avoid detection <strong>by</strong> forward<strong>in</strong>g all packets(<strong>in</strong>clud<strong>in</strong>g probe messages dest<strong>in</strong>ed to the downstream nodes) for a certa<strong>in</strong> period oftime immediately after receiv<strong>in</strong>g a probe message for itself. A received probe messagetherefore serves as a signature to an attacker that a diagnosis process is ongo<strong>in</strong>g, and itwould start to behave normally for a short period of time. Other search strategy (e.g.,b<strong>in</strong>ary search) can also be deployed to reduce network overhead.In this paper, we present the algorithm for the first method, prob<strong>in</strong>g from the farthestnodes to the nearest, s<strong>in</strong>ce it is stronger than the other alternatives <strong>in</strong> detect<strong>in</strong>gmalicious nodes. For a prob<strong>in</strong>g path, the prob<strong>in</strong>g node sends a probe message to the farthestnode. If an acknowledgment message is received with<strong>in</strong> a certa<strong>in</strong> period of time,all the <strong>in</strong>termediate nodes are shown to be GOOD. Otherwise, a probe message is sentto the second farthest node. This process is repeated until one node responds to theprobe message or the nearest node (a neighbor node) is probed and it is not responsive.In the latter case, we know that the neighbor node <strong>in</strong> the probed path either is DOWNor has moved out to another location. S<strong>in</strong>ce the neighbor node is not responsive, thereis noth<strong>in</strong>g we can do to monitor the rest nodes <strong>in</strong> the path. Therefore, prob<strong>in</strong>g over thispath is stopped. If an <strong>in</strong>termediate node is responsive but a node subsequent to it is not,it is possible: 1) the <strong>in</strong>termediate node failed forward<strong>in</strong>g the probe message to the nextnode; 2) the l<strong>in</strong>k between the two nodes is broken <strong>by</strong> location change; 3) the unresponsivenode is <strong>in</strong>capable of respond<strong>in</strong>g to the probe message. The diagnosis algorithm willthen be called to decide which one is the case.4.3 The Diagnosis AlgorithmAfter the prob<strong>in</strong>g node detects a node (v i ) is responsive but the subsequent node (v i+1 )is unresponsive, it calls the diagnosis algorithm to determ<strong>in</strong>e if the l<strong>in</strong>k v i ↔ v i+1 isbroken at the l<strong>in</strong>k level or forward<strong>in</strong>g level.The prob<strong>in</strong>g node first searches the rout<strong>in</strong>g cache for another path to v i+1 .Ifsuchapath exists, it will probe v i+1 through this path. If v i+1 is still unresponsive, it searchesthe rout<strong>in</strong>g cache for another path. This process repeats until 1) there is a route (p)through which node v i+1 is responsive, or 2) the rout<strong>in</strong>g cache is exhausted.In case 1, the diagnosis algorithm appends v i to the path p and sends a probe messageto v i over p. If an acknowledgment is received from v i , v i is diagnosed as BADs<strong>in</strong>ce the l<strong>in</strong>k v i+1 → v i is good but l<strong>in</strong>k v i → v i+1 is not. Based on the assumptionthat any l<strong>in</strong>k is bidirectional, v i ↔ v i+1 should be good at l<strong>in</strong>k level. Therefore, it isbroken at forward<strong>in</strong>g level. If v i is unresponsive over the new path, the l<strong>in</strong>k v i ↔ v i+1is diagnosed as broken <strong>in</strong> l<strong>in</strong>k layer. It is also possible that both v i and v i+1 are BAD.S<strong>in</strong>ce there is no sufficient <strong>in</strong>formation available to dist<strong>in</strong>guish this situation from thel<strong>in</strong>k layer break, we treat this situation as l<strong>in</strong>k layer break. It causes false negatives.In case 2, node v i+1 may have moved out from its previous location and a newpath to v i+1 is not discovered <strong>by</strong> the prob<strong>in</strong>g node yet. It is also possible that nodev i+1 has moved out from the network or is DOWN. Although a route discovery may beable to disclose further <strong>in</strong>formation, it is also very expensive. Therefore, the diagnosisalgorithm simply treats node v as be<strong>in</strong>g DOWN.When a node is detected as BAD, the rout<strong>in</strong>g cache is updated <strong>by</strong> remov<strong>in</strong>g all nodessubsequent to the bad node. When a l<strong>in</strong>k is detected as broken, the rout<strong>in</strong>g cache is also

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!