Download
chapter 6 distributed networks n.
Skip this Video
Loading SlideShow in 5 Seconds..
第六章 分布式网络 Chapter 6 Distributed Networks PowerPoint Presentation
Download Presentation
第六章 分布式网络 Chapter 6 Distributed Networks

第六章 分布式网络 Chapter 6 Distributed Networks

179 Views Download Presentation
Download Presentation

第六章 分布式网络 Chapter 6 Distributed Networks

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 第六章 分布式网络Chapter 6 Distributed Networks 电控学院 电子工程学科部 司鹏搏 综合楼825室 sipengbo@bjut.edu.cn

  2. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  3. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.2 P2P Networks • 6.2.1 Introduction to P2P • 6.2.2 Why P2P? • 6.2.3 Overview of P2P • 6.2.4 Unstructured P2P (Gnutella) • 6.2.5 Structured P2P (with DHTs) • 6.2.6 Performance of P2P Lookup Protocols • 6.2.7 Bi-Dimensional P2P

  4. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  5. 6.1.1 Distributed Networks • Distributed-Network-Layer Networks • Ad Hoc networks (Mobile Ad Hoc networks, MANETs) • Wireless sensor networks (WSNs) • Mesh networks • Distributed-Application-Layer Networks • Peer-to-peer (P2P) networks

  6. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  7. 6.1.2 Mobile Ad Hoc Networks • Characteristics • Distributed network • Cooperative network • Self-organized network • Self-recovery • No infrastructure needed • Mobile network, different from mesh networks • Dynamic topology, different from mesh networks • Heterogeneous nodes, different from wireless sensor networks • Un-directional data flow, different from wireless sensor networks • Applications • Extension to the cellular networks, battle fields, dangerous exploring, after-disaster working, monitoring …

  8. 6.1.2 Key Elements of MANETs • Formed dynamically through the cooperation of independent nodes • Nodes do not have any pre-specified roles • Nodes make decision independently based on the current network situation • Nodes are expected to behave as • Information sources/sinks • Routers • As routers, nodes must assist in discovery and maintenance of network route

  9. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  10. 6.1.3 Design of MANETs • Issues to be considered • Infrastructureless with distributed management • Frequent and unpredictable topology changes • Physical layer limitation • Limited link bandwidth and quality • Variation in node capabilities • Energy Considerations • Network reliability • Network security • Network scalability • Quality of service

  11. 6.1.3 Design of MANETs • Physical Layer • OFDM, DSSS, FHSS, … • IEEE 802.11, Bluetooth, ZigBee, … • MAC Layer • CSMA/CA, CDMA, … • IEEE 802.11, Bluetooth, ZigBee, … • Network Layer • The most important issue to be considered • Different from other networks • Wired distributed networks, e.g., Internet • Wireless distributed networks, e.g., wireless mesh, WSN, …

  12. 6.1.3 MANETs Management Multihop network – each device must carry burden of routing packets from source to destination Each Node handles part of the management of the network Fault detection is extremely difficult because of the distributed design

  13. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  14. 6.1.4 Network Layer Routing Overview • Network with nodes, edges • Goal: Devise scheme for transferring message from one node to another • Which path? • Who decides – source or intermediate nodes or destination? • Types • Unicast routing • Energy efficiency & unicast routing • Multi-/broadcast routing • Geographical routing

  15. 6.1.4 Routing Problems • Which Path? • Generally try to optimize something: • Shortest path (fewest hops) • Shortest time (lowest latency) • Shortest weighted path (utilize available bandwidth) • …… • Who Determines Route? • Source routing • Or path routing • Destination routing • Or hop-by-hop routing

  16. 6.1.4 Who Determines Route • Source (“Path”) Routing • Source specifies entire route: places complete path to destination in message header: A – D – F – G • Intermediate nodes just forward to specified next hop: D would look at path in header, forward to F • Like airline travel – get complete set of tickets to final destination before departing… • Destination (“Hop-by-Hop”) Routing • Source specifies only destination in message header: G • Intermediate nodes look at destination in header, consult internal tables to determine appropriate next hop • Like postal service – specify only the final destination on an envelope, and intermediate post offices select where to forward next…

  17. 6.1.4 Comparison • Source Routing • Moderate source storage (entire route for each desired dest.) • No intermediate node storage • Higher routing overhead (entire path in message header, route discovery messages) • Destination Routing • No source storage • High intermediate node storage (table w/ routing instructions for all possible dests.) • Lower routing overhead (just dest in header, only routers need deal w/ route discovery)

  18. 6.1.4 Unicast, ID-centric Routing • Given: a network/a graph • Each node has a unique identifier (ID) • Goal: Derive a mechanism that allows a packet sent from an arbitrary node to arrive at some arbitrary destination node • The routing & forwarding problem • Routing: Construct data structures (e.g., tables) that contain information how a given destination can be reached • Forwarding: Consult these data structures to forward a given packet to its next hop • Challenges • Nodes may move around, neighborhood relations change • Optimization metrics may be more complicated than “smallest hop count” – e.g., energy efficiency

  19. 6.1.4 Routing Features • Every node participates in routing: no distinction between “routers” and “end nodes” • No external network setup: “self-configuring” • Especially useful when network topology is dynamic (frequent network changes – links break, nodes come and go) • Mobile wireless hosts • Can only communicate to the subset within range at given time • Want to communicate with any other node

  20. 6.1.4 Routing Protocols • Because of challenges, standard routing approaches not really applicable • Too big an overhead, too slow in reacting to changes • Examples: Dijkstra’s link state algorithm; Bellman-Ford distance vector algorithm • Simple solution: Flooding • Does not need any information (routing tables) – simple • Packets are usually delivered to destination • But • Overhead is prohibitive • Usually not acceptable, either • Need specific, ad hocrouting protocols

  21. 6.1.4 Routing Protocols • Main Question to Ask: When Does the Routing Protocol operate? • Option 1: Routing Protocol AlwaysTries to Keep its Routing Data up-to-Date • Protocol is proactive (active before tables are actually needed) or table-driven • Option 2: Route is only Determined when Actually Needed • Protocol operateson demand • Option 3: Combine these Behaviors • Hybrid protocols

  22. 6.1.4 Routing Protocols • Is the Network Regarded as Flat or Hierarchical? • Compare topology control, traditional routing • Which Data is Used to Identify Nodes? • An arbitrary identifier? • The position of a node? • Can be used to assist in geographic routing protocols because choice of next hop neighbor can be computed based on destination address • Identifiers that are not arbitrary, but carry some structure? • As in traditional routing • Structure akin to position, on a logical level?

  23. 6.1.4 Routing Protocols • Standardization Effort Led by IETF MANET Task Group • http://www.ietf.org/html.charters/manet-charter.html • 9 routing protocols in draft stage, 4 drafts dealing with broadcast / multicast / flow issues • Other Protocols Being Researched • Utilize geographic / GPS info, ant-based techniques, etc. • Typical Routing Protocols • DSR: Dynamic Source Routing • Source routing protocol • AODV: Ad-hoc On-demand Distance Vector Routing • “Hop-by-hop” protocol • Both are “on demand” protocols: route information discovered only as needed

  24. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  25. 6.1.5 Proactive Protocols • Idea: Start from a standard routing protocol, adapt it • Adapted distance vector: Destination Sequence Distance Vector (DSDV) • Based on distributed Bellman Ford procedure • Add aging information to route information propagated by distance vector exchanges; helps to avoid routing loops • Periodically send full route updates • On topology change, send incremental route updates • Unstable route updates are delayed • … + some smaller changes

  26. 6.1.5 Proactive Protocols • Combine link-state protocol & topology control • Optimized Link State Routing (OLSR) • Topology control component: Each node selects a minimal dominating set for its two-hop neighborhood • Called the multipoint relays • Only these nodes are used for packet forwarding • Allows for efficient flooding • Link-state component: Essentially a standard link-state algorithms on this reduced topology • Observation: Key idea is to reduce flooding overhead (here by modifying topology)

  27. 6.1.5 Proactive Protocols • Fisheye State Routing (FSR) makes basic observation: When destination is far away, details about path are not relevant – only in vicinity are details required • Look at the graph as if through a fisheye lens • Regions of different accuracy of routing information • Practically: • Each node maintains topology table of network (as in LS) • Unlike LS: only distribute link state updates locally • More frequent routing updates for nodes with smaller scope

  28. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  29. 6.1.5 Reactive Protocols • DSR • Draft RFC • At http://www.ietf.org/internet-drafts/draft-ietf-manet-dsr-07.txt • Source Routing • Entire path to destination supplied by source in packet header • Utilizes extension header following standard IP header to carry protocol information (route to destination, etc.) • Activities • Route discovery • Undertaken when source needs a route to a destination • Route maintenance • Used when link breaks, rendering specified path unusable • Routing (easy!)

  30. 6.1.5 Route Discovery • Route Request: • Source broadcasts Route Request message for specified destination • Intermediate node: • Adds itself to path in message • Forwards (broadcasts) message toward destination • Cache overheard routes • “Eavesdrop” on routes contained in headers • Reduces need for route discovery • May return Route Reply to source if it already has a path stored • Route Reply • Destination unicasts Route Reply message to source • Will contain complete path built by intermediate nodes

  31. 6.1.5 Example A D E Route Request B Source C Destination F H G C Broadcasts Route Request to F

  32. 6.1.5 Example A D E Route Request B Source C Destination F H G C Broadcasts Route Request to F

  33. 6.1.5 Example A D E B Source C Destination F H G G,H,F H Responds to Route Request

  34. 6.1.5 Example A D E B Source C G,H,F Destination F H G H,F F C Transmits a Packet to F

  35. 6.1.5 Route Maintenance • Used when link breakage occurs • Link breakage may be detected using link-layer ACKs, “passive ACKs”, DSR ACK request • Route Error message sent to source of message being forwarded when break detected • Intermediate nodes “eavesdrop”, adjust cached routes • Source deletes route; tries another if one cached, or issues new Route Request • Piggybacks Route Error on new Route Request to clear intermediate nodes’ route caches, prevent return of invalid route

  36. 6.1.5 Issues • Scalability • Discovery messages broadcast throughout network • Broadcast / Multicast • Use Route Request packets with data included • Duplicate rejection mechanisms prevent “storms” • Multicast treated as broadcast; no multicast-tree operation defined • Scalability issues • http://www.ietf.org/internet-drafts/draft-ietf-manet-simple-mbcast-01.txt

  37. 6.1.5 Reactive Protocols • AODV • Draft RFC at http://www.ietf.org/internet-drafts/draft-ietf-manet-aodv-10.txt • “Hop-by-hop” protocol: intermediate nodes use lookup table to determine next hop based on destination • Utilizes only standard IP header • Activities • Route discovery • Undertaken whenever a node needs a “next hop” to forward a packet to a destination • Route maintenance • Used when link breaks, rendering next hop unusable • Routing (easy!)

  38. 6.1.6 Reactive Protocols • TORA • Observation: In hilly terrain, routing to a river’s mouth is easy – just go downhill • Idea: Turn network into hilly terrain • Different “landscape” for each destination • Assign “heights” to nodes such that when going downhill, destination is reached – in effect: orient edges between neighbors • Necessary: resulting directed graph has to be cycle free • Reaction to topology changes • When link is removed that was the last “outlet” of a node, reverse direction of all its other links (increase height!) • Reapply continuously, until each node except destination has at least a single outlet – will succeed in a connected graph!

  39. 6.1.6 Route Discovery • Route Request: • Source broadcasts Route Request message for specified destination • Intermediate node: • Forwards (broadcasts) message toward destination • Creates next-hop entry for reverse path to source, to use when sending reply (assumes bidirectional link…) • Route Reply • Destination unicasts Route Reply (RREP) message to source • RREP contains sequence number, hop-count field (initialized to 0) • Will be sent along “reverse” path hops created by intermediate nodes which forwarded RREQ • Intermediate node: • Create next-hop entry for destination as RREP is received, forward along “reverse path” hop • Increment hop-count field in RREP and forward • Source: • If multiple replies, uses one with lowest hop count

  40. 6.1.6 Route Maintenance • Used when Link Breakage Occurs • Link breakage detected by link-layer ACK, “passive ACK”, AODV “Hello” messages • Detecting Node may Attempt “Local Repair” • Send RREQ for destination from intermediate node • Route Error (RERR) Message Generated • Contains list of unreachable destinations • Sent to “precursors”: neighbors who recently sent packet which was forwarded over broken link • Propagated recursively

  41. 6.1.6 Issues • Scalability • No inherent “subnetting” provision in routing tables – one entry per destination • Directionality • Assumes there is at least one bidirectional path between any two nodes

  42. 6.1.6 Alternative Approach • Gossiping/Rumor Routing • Turn routing problem around: Think of an “agent” wandering through the network, looking for data (events, …) • Agent initially perform random walk • Leave “traces” in the network • Later agents can use these traces to find data • Essentially: works due to high probability of line intersections

  43. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  44. 4 4 4 1 2 2 2 3 E H G D C B F A 6.1.7 Energy Efficiency & Unicast Routing 2 3 1 2 1 2 3 1 2 2 • Goals • Minimize energy/bit • Example: A-B-E-H • Maximize network lifetime • Time until first node failure, loss of coverage, partitioning • Seems trivial – use proper link/path metrics (not hop count) and standard routing

  45. 6.1.7 Energy Efficiency & Unicast Routing • Previous path metrics do not perform particularly well • One non-trivial link weight: • wij weight for link node i to node j • eij required energy,  some constant, i fraction of battery of node i already used up • Path metric: Sum of link weights • Use path with smallest metric • Properties: Many messages can be sent, high network lifetime • With admission control, even a competitive ratio logarithmic in network size can be shown

  46. 6.1.7 Multipath Unicast Routing • Instead of only a single path, it can be useful to compute multiple paths between a given source/destination pair • Multiple paths can be • Disjoint • Braided • Used • Simultaneously • Alternatively • Randomly

  47. Main Contents • 6.1 Mobile Ad Hoc Networks • 6.1.1 Distributed Networks • 6.1.2 Introduction to MANETs • 6.1.3 Design of MANETs • 6.1.4 Network Routing Overview • 6.1.5 Proactive Protocols • 6.1.6 Reactive Protocols • 6.1.7 Energy Efficient and Unicast Routing • 6.1.8 Energy Efficiency Multi-/Broadcast Routing • 6.1.9 Geographic Routing • 6.2 P2P Networks

  48. 6.1.8 Energy Efficiency Multi-/Broadcast Routing • Distribute a Packet to • all reachable nodes (broadcast) • to a somehow (explicitly) denoted subgroup (multicast) • Basic Options • Source-based tree: Construct a tree (one for each source) to reach all addressees • Minimize total cost (= sum of link weights) of the tree • Minimize maximum cost to each destination • Shared, core-based trees • Use only a single tree for all sources • Every source sends packets to the tree where they are distributed • Mesh • Trees are only 1-connected ! Use meshes to provide higher redundancy and thus robustness in mobile environments

  49. 6.1.8 Energy Efficiency Multi-/Broadcast Routing Steiner tree Source Destination 2 2 2 1 Destination 1 Shortest path tree Source Destination 2 2 2 1 Destination 1 For each source, minimize total cost For each source, minimize maximum cost to each destination

  50. Broadcast Multicast One treeper source Shared tree(core-based tree) Mesh Single core Multiple core Minimizetotal cost(Steiner tree) Minimizecost to each node (e.g., Dijkstra) 6.1.8 Energy Efficiency Multi-/Broadcast Routing