10/27/05 MANET = mobile, ad-hoc networks - nodes act as hosts and routers - Routing protocols trying to move data between (possibly mobile) nodes in the network, which may or may not be able to reach each other directly Why is this different from normal routing? (i.e., why can't the nodes just run BGP, etc?) - smaller number of nodes - much more transient policies - no policies necessary - links don't consistently deliver packets DSDV = Destination-Sequenced Distance Vector - Like Intra-domain DV routing - Each node advertises an even sequence number for itself (updated every 15 s) - Nodes re-advertise routes to destination using most recent sequence number and a metric (metric == hop count) - Nodes use route with newest sequence number, or if a tie, lowest metric - When it decides a neighbor node is down, advertises a route with an infinite metric, and an incremented (and hence odd) sequence number - Guarantees loop freedom DSR = Dynamic Source Routing - The header of each packet contains the full route that the packet should take - Advantage: intermediate nodes do not need to maintain up-to-date routing info - Routing info "on demand" - This eliminates the need for periodic advertisements - Much easier to implement, and to guarantee loop freedom, lower overhead - Route Discovery - Flood a RouteRequest "in a controlled manner" - Answered by a RouteReply from dest or someone who has a route - Aggressive caching to limit RouteRequests (i.e., don't expire routes) - Use route with the lowest metric (hop count) - Route Maintenance - Detects if topology has changed when a route no longer works AODV = Ad-Hoc On-Demand Distance Vector - combo of DSDV and DSR - on demand Route Discovery/Maintenance (DSR) - hop-by-hop routing, seq nos, and periodic beacons (DSDV) - Nodes do a route discovery on-demand - Each intermediate node creates a reverse route to the source through the node they heard from - The reply causes each node to create a forward route to the dest through the node they heard it from - route considered active for 5 minutes - each node broadcasts HELLO once a second, 3 missed means node is down - big claim: small routing tables (but who cares) Comparisons: - DSR kicks ass all over the place, in terms of: - Number of routing packets - delivery ratio - path optimality - However, DSR has a much higher overhead in *bytes*, since each data packet has a path in it. (though only higher than AODV) Problems: - Using hopcount as a metric is a bad idea because - links do not reliably deliver packets (noises, bursts of errors) ------- Extras: ------- TORA = Temporally-Ordered Routing Algorithm - Water flows downhill - Adjust heights between nodes, or something Modeling and simulation: - 1/r^2 vs 1/r^4 MAC = medium access control - attempting to send packets only when the channel is clear - physical vs virtual vs RTS/CTS