CMPE 252A: Computer Networks Set 11: New Directions in Naming, Addressing and Routing
Problem: We Are All Routing Like It Is 1969! Today’s “ROUTING formula” = 1.User provided IP addresses are assigned “carefully” to devices 2.Routing tables are lists of entries stating an IP addresses range and next hop(s) must grow with net size! 1.Flooding for routing is viewed as “normal” for signaling of protocols it is actually a necessity! 2.Forwarding relies on looking up destination address in routing table 3.IP addresses are mapped to domain names using unrelated hierarchical caching structure UCSB SRI UTAH UCLA IMP 12/1/69: Why should routing be like this?
Proactive Routing D a S e c f h b Too many nodes are forced to know about how to reach each destination! Does not work well with random partitions D Information about the existence of D propagates away from D to all nodes Path first, then data forwarding
On-Demand Routing D a S e c f h b Too many nodes are forced to help find or repair ways to reach a few destinations! (RREQ flooding). Does not work with partitioned networks! S Few nodes keep state for D. Paths fixed reactively. Information about the interest of S in D propagates away from S (RREQ) Path first, then data forwarding Nodes with paths to D reply to S (RREP).
5 Epidemic Routing D a S e c f h b Too many nodes are forced to relay data from S to D. Does not work with partitioned networks, unless infinite storage is assumed. Data create paths S Information from S propagates away from S
What Is Routing? relative ordering Routing is just a labeling of nodes in a graph to establish relative ordering An efficient labeling for routing could give only one label (or very few) to each node, rather than one or multiple labels to each node for each destination of interest. Routing does not have to be tied to name assignment and resolution; but the two must work with each other.
What Is Routing? We cannot solve the problem simply by using two types of identifiers [names & locators ] for each node: Routing labels are not locators; they must denote relative ordering! Routing labels should not be based on destination names Names must be allowed to be anything! Routing labels should be designed for scale-free routing
Scale-Free Routing Message complexity of signaling grows sub-linearly with the size of the network. Routing table size grows sub-linearly with the number of destinations. Routing-label length grows sub-linearly with size of the network. Need to separate overhead for directory services from overhead due to routing.
Clustering: Implicit Internet Approach a e c f h b D S p t g r k Problems: Establishing affiliation of nodes to clusters Static affiliations; break Use of directory services; no good solutions exist Flooding; costly. Complex handling of node mobility and cluster partitions. Complex signaling to create and maintain clusters and backbone. Routes can be much longer than in flat structures. LS or DV in each cluster
Distributed Hash Tables (DHT) Problems: Node identifiers in DHT have no correlation to network topology => links in virtual overlay (e,g, ring) have no correlation with real links. Signaling incurred in maintaining virtual overlay for DHT Signaling is still needed for underlying network. Large overhead in starting virtual network and responding to node or link failures Virtual link to “next node ID”
Geographical Coordinates Problems: Nodes need to know their own coordinates. [Using external means (GPS)] Sources need to obtain coordinates of intended destinations Protocols must avoid dead ends searching for destinations. Long delays in search or similar flooding problems as in traditional 40)
Distance Based Virtual Coordinates (ViC): R R i p k m j u b o c a v e g f D Problems today: Distance-based systems do not provide unique coordinates (e.g., a & c) and hence a VC does not identify a node or relative location. Source needs to obtain the ViC of destination. (0) (3) (2) (3) (1) (2) (3) (1) (2) (1) r w (3) (2) (4) (1) (2) (2) (1) (4) (1) (4) (2) (4) (2) (4) u (2 ) (5 ) (3) (5) (3) (6) y x z (4) (1) (5) (2) (4) (1) (3) (0)
Advantages: Unique labels assigned dynamically to each node, automatic routing! Problems: Depth-first search used in the labeling of nodes! Any link break requires the relabeling of the tree Source needs to obtain the ViC of destination (w/o flooding or centralized directory service). Paths can be much longer than shortest paths. Interval Routing Nicola Santoro, Ramez Khatib: Labeling and Implicit Routing in Networks. Comput. J. 28(1): 5-8 (1985) R R i p k m j u b o c a v e g f D (0) (13) (10) (11) (9) (16) r w (14) (15 ) (8) (1) (4) (12) (5) u (2) (6) (3) y x z (18) (19) (20) (17)
AIR: Automatic Incremental Routing Scale Free and “Wire Speed”: Make routing automatic like interval routing does in multiprocessors. Eliminate network-wide dissemination of routing information per destination or link, and avoid bottlenecks. Use only local information for forwarding and routing-tables that do not grow as the network grows. Allow similar routing in tiny nodes and backbone routers. Robust: Use labels that require the minimum degree of changes with the addition or deletion of any subset of links or nodes. Independent of Application and Name Resolution: Enable any type of information dissemination (unicast, multicast, anycast) with a single routing protocol. Make routing independent of address or name space used to identify hosts, groups, content, or services.
AIR: Automatic Incremental Routing Two components: Autonomic route maintenance A simple HELLO mechanism labels all nodes with routing labels relative to one ore more elected “roots.” Routing between any source and destination is automatic from the routing labels. Tables are incremental (only local knowledge!) Size is only O(log d N), where d = node degree, N = number of nodes Distributed name resolution “Links” sources to destinations (nodes, groups, functions, content) Distributed and self organizing. Publish-subscribe approach appears to be the most promising Same interaction for App for any type of information dissemination (e.g., “subcribe/send to x” and “publish as y”) Source: J.J. Garcia-Luna-Aceves and D. Sampath, "Scalable Integrated Routing Using Prefix Labels and Distributed Hash Tables for MANETs," Proc. IEEE MASS 2009: The 6th IEEE International Conference on Mobile Ad Hoc and Sensor Systems, October , 2009, Macau SAR, P.R.C.
c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k Nodes are ordered in a DAG by: DAG id, Prefix label, Global id Root node (a) is elected in a distributed fashion using HELLOs Node ID + attributes define selection of root node Each node is given a label relative to root node 0 HELLO (parent) and HELLO (child) announce own labels HELLO (parent) assigns labels to children HELLO (child) confirms labels to parent AIR: Establishing Routing Labels
AIR: Routing Labels Define Routes c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k Prefix labels of source and destination define the route (prefix routing) Use neighbor offering the best prefix match. “If not my child, go up [or to able sibling]” How do b and n know the labels of nodes j and s, respectively?
Global ID Routing Label Hash Mapping IDs to Labels: c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k Node s hashes its own global ID and obtains a prefix label “024” as its anchor label: H(‘s’) = 024 Node s sends a publish request towards “024” with its own mapping: [s, 03111] Node c (“02”) is the best match for the anchor label 024 and stores the mapping [s, 03111]. [s, 03111]
Global ID Routing Label Hash Mapping IDs to Labels: c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k Node n computes H(‘s’) = 024 as the anchor label of node s. Node n sends a subscribe request towards “024” with its own mapping [n, 041] and the requested mapping [s, ??] Node c receives the request and responds with the prefix label of node s. [s, 03111]
Global ID Routing Label Hash DHT in AIR c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k [s, 03111] Anchors and intermediate nodes store the global ID to prefix label mappings. These entries form the DHT in AIR Soft state! Destinations refresh anchors with new mappings to account for topology changes. [s, 03111]
c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k AIR: Multicasting Is Just as Easy Blue nodes are part of multicast group with ID “g” and multicast prefix label H(g) = “013” The node with the closest label to 013 is node b (01); this node serves as the core of the multicast group. Receiver joins group by: a)Hashing the multicast group ID to a multicast prefix label. b)Sending a join request towards the prefix label Nodes processing the join replies join the mesh. join f f i i j j
c c a a b b e e n n p p s s m m q q r r o o h h b b g g f f i i j j k k AIR: Multicasting Is Just as Easy f f i i j j Sources simply send towards the multicast prefix label of the group. They pick the best prefix match to the multicast prefix label. First node in the group receiving the multicast packet simply broadcasts over multicast mesh. From “core based trees” to “prefix based meshes”
Solution: Routing as Ordered Switching Scale-free! One routing for all apps! ROUTING on AIR = 1.The network itself defines its label space and assigns routing labels devices; no user intervention 2.Routing tables are lists of IDs and labels of neighbors Grows only with size of immediate neighborhood! 3.No flooding per destination; a distributed one-pass election from root labels all nodes. 4.Forwarding equals finding best match for label in packet among the labels in routing table 5.Names are mapped to routing labels using a directory service embedded in network
Multiple Labels : Automatic Routes with Near-Zero Stretch root S D
Multipaths & Simple Ways to Avoid Loops During Transitions root D S
Does AIR Really Work better than Traditional Routing in MANETs? Assume the simplest version of its mechanisms: Single root for network Single paths to destinations Single routing label per node Single anchor per destination and no caching Flat label space (e.g., no federation of spaces used within network regions) No use of auxiliary information (e.g., GPS, trajectories)
AIR Performance in MANETs Qualnet Simulator Simulation Setup 1500 m ParameterValue Node placementRandom Area1500 x 1500 Radio Range100m Nodes400 Flows150 Duration4500s Flow intervals Exponential with mean 1/20 th of duration MobilityRandom Waypoint Speed1 – 10 m/s Random Seeds10 MAC/PHYCSMA/802.11
Unicast Traffic AIR delivers far more traffic than OLSR and AODV, especially at high mobility Delivery Ratio – Unicast OLSR and AODV incur 3 or 4 times as much overhead than AIR, especially at high mobility Control Overhead – Unicast AIR Performance in MANETs
20 nodes per multicast group AIR delivers more than ODMRP and 25% more than MAODV under high mobility Delivery Ratio – Multicast ODMRP and MAODV have almost 30% more overhead than AIR Control Overhead – Multicast AIR Performance in MANETs
Combined Unicast and Multicast AIR delivers more than 30% under high mobility Delivery Ratio – Combined ODMRP and MAODV have almost 3.5 and 2.5 times more overhead than AIR! AIR Performance in MANETs Control Overhead – Combined
Many Research Questions Stretch of AIR routes: Can we make themas short as shortest paths? How? Is there a role for multiple roots? QoS and policy-based routing: From routing with multiple constraints to DAGmanagement with multiple constraints. Fault-tolerance and performance:Understanding AIR mechanisms in detail.
Many Research Questions Routing content (billions of objects): Integrate AIR with caching and URI name spaces. Operation in Internet architecture DNS & anchors; interoperation with IP-only ASes;Policy-based routing (BGP) Hashing functions in real deployments: Which nodes should maintain the DHT? Provenance, privacy, and distributed firewalls: No more faking of IP addresses by enforcement of prefix labels. Multicast deployment, AIR deployment If we use URI’s for naming and don’t use IPaddresses for routing, what is the role of IPv4 orIPv6 addresses? (switching)
Questions? Old routing = destination-based routing tables destination-based routing tables (or VC tables) + (or VC tables) + independent name-to-address independent name-to-address resolution resolution New routing = ordered switching + ordered switching + integrated name-to-label resolution integrated name-to-label resolution