280 likes | 491 Views
Routing - Circuit Switching. Telephone switching was hierarchical with only one route possible Added redundant routes Evolved to full mesh. Toll switches. Central offices. Subscribers. Routing - Packet Switching. Data networks have used various routing protocols Flooding Source routing
E N D
Routing - Circuit Switching • Telephone switching was hierarchical with only one route possible • Added redundant routes • Evolved to full mesh Toll switches Central offices Subscribers
Routing - Packet Switching • Data networks have used various routing protocols • Flooding • Source routing • Distributed shortest-path routing • Distance-vector routing • Link-state routing • Layered routing is used in Internet for scalability
Flooding • Packet is copied at every router and broadcast to neighbors • Useful when info must be shared at all routers, eg, routing updates • Advantage: no knowledge of network topology is necessary • Well suited to highly dynamic networks, eg, battlefield • Disadvantage: Number of message copies may be huge without additional mechanisms, eg:
Flooding (Cont) • Messages have hop limit to restrict number of copies • Messages are uniquely identified so routers can stop unnecessary copies • Routers can establish minimum spanning tree that message copies will follow • Overlay tree that covers every router exactly once Example spanning tree Example network
Source Routing • Sender determines route and specifies it in packet header • Example: IP source routing option • Usually centralized route server maintains network topology info and collect updates from all routers • Advantage: sender can select optimal route or test certain routes • Disadvantages: • Centralized routing is not scalable to large networks • Difficult to carry long routes in packet header
Distributed Shortest-Path Routing • Distributed shortest-path routing: each router builds up routing table independently and shares routing updates with other routers • Routing table entries specify how to forward packets to destination addresses/networks • Two main types of routing protocols known from Internet experience: • Distance-vector or Bellman-Ford • Link-state
Distance-Vector Routing (Bellman-Ford) • Example: RIP (routing information protocol) • Each router maintains a table (vector) of reachable destinations and corresponding shortest distances to each destination • Periodically shares routing table with its neighbors • Each router modifies its routing table with the received updates • Shortest distance to every destination is chosen • New reachable destinations are added, unreachable destinations are deleted
Distance-Vector Routing (Cont) • RIP was first routing protocol used in Internet but difficulties were found • Slow to propagate routing updates through large network • Routers can have inconsistent or even incorrect information • Scalability problem: vector of destinations becomes longer as network is larger routing updates are larger
Link-State Routing • Examples: OSPF (open shortest path first), IS-IS (intermediate system - intermediate system) • Each router maintains a graph representing complete network topology • Monitors state of its links with neighboring routers • Floods link-state updates to all routers periodically • Each router receives link-state updates from other routers and revises its graph • Shortest routes can be computed systematically by Dijkstra’s algorithm
Link-State Routing (Cont) • Example: topology graph is given, minimum spanning tree generated by Dijkstra’s algorithm is all shortest routes from source node A (link labels are distances) 5 3 5 2 3 2 A 1 A 2 1 1
Link-State Routing (Cont) • Advantages: • Every router should have consistent, complete topology info consistent, optimal route selection • Routing updates do not grow with size of network (link-state updates depend on number of links per router) • Disadvantage: flooding link-state updates can result in large traffic volume and traffic oscillations • Limit updates to only significant changes • Flooding is limited by layered routing
Layered Routing • Internet is too large for routing as “flat network” where every router is aware of every other router • Layered routing: routers are grouped together into “routing domains” or “areas” • At lowest layer, interior routers within each routing domain use an intra-domain routing protocol with each other • Exterior routers represent each routing domain in higher layer inter-domain routing protocol • Interior routers are aware only of routing domain
Layered Routing (Cont) Routing domain Interior routers use intra-domain routing Exterior routers use inter-domain routing
Ad Hoc Networks • Wireless networks may be classified as • Infrastructured: cellular systems consist of fixed (wireline) network with mobile users attached to network edge through fixed base stations • Handoff is necessary and critical • Ad hoc: no fixed infrastructure • All nodes can be mobile and autonomous • Connections are dynamic and arbitrary • Examples: battlefield,, emergency rescue operations, WLAN, PAN
Ad Hoc Networks (Cont) • IETF (Internet Engineering Task Force) Mobile Ad Hoc Networks (MANET) working group is studying proposals • MANETs consist of mobile routers and mobile hosts (can be physically same) • Mobile hosts are temporarily or permanently attached to a mobile router • Inter-router connectivity can change frequently • Routing protocol must adapt to continually changing topology • Addresses cannot be based on location
Ad Hoc Networks - Routing • Routing protocols • Table driven: nodes maintain and update routing tables • Cost in overhead traffic for distributing routing updates • Routes are always ready when needed for data • On-demand (source initiated): routing tables are not maintained cont., routes are found only when needed for data transmission • Cost in overhead traffic only when data is ready for transmission • Routing tables are smaller
Ad Hoc Networks - Table Driven Routing • Destination sequenced distance-vector (DSDV) routing • As in Bellman-Ford, each node maintains routing table of reachable destinations and their distances (number of hops) • Routing table info. is periodically broadcast for consistency, using two packet types: • Full dump packets contain complete routing info. sent infrequently • Incremental packets contain only new routing info.
Ad Hoc Networks - Table Driven Routing • Clusterhead gateway switch routing • Nodes are grouped into clusters and elect a cluster head by a cluster head selection algorithm • DSDV routing is used within clusters • Between clusters, packets are routed to cluster head gateway cluster head • Gateways are nodes within communications range of 2 or more cluster heads • Packets may have to hop through multiple cluster heads and gateways to final destination
Ad Hoc Networks - Table Driven Routing • Each node maintains “cluster member table” of cluster heads for every destination node • Nodes broadcast their cluster member table and update their own tables Gateway Gateway Cluster head Packet Cluster head Cluster head
Ad Hoc Networks - Table Driven Routing • Fisheye link-state routing • Similar to link-state routing but link-state updates are not broadcast to every node • Broadcast link-state updates to nodes one hop away every 1 sec, nodes 2 hops away every 10 sec, nodes 3 hops away every 50 sec,... • Routes are more accurate to nearby nodes, but approximate to distant nodes • Packets will converge to more accurate routes to destination as get closer to destination
Ad Hoc Networks - Table Driven Routing Link state updates 10 sec Link state updates 1 sec Link state updates 50 sec
Ad Hoc Networks - Source Initiated Routing • Ad hoc on-demand distance-vector routing • Similar to DSDV routing • Source node with data ready to send initiates a path discovery process • Broadcasts route request (RREQ0 packet to its neighbors. they broadcast to their neighbors, and so on • Eventually, destination node responds with route reply (RREP) packet in reverse direction • Nodes build up routing tables
Ad Hoc Networks - Source Initiated Routing D S RREQ RREP D S
Ad Hoc Networks - Source Initiated Routing • Dynamic source routing • Nodes maintain route caches • If route to destination is unknown in its route cache, node will initiate route discovery • Broadcasts route request packet with destination address and source address • Other nodes will add their address into packet and continue broadcast to other nodes • Route reply is returned by destination or a node that knows a route to destination
Ad Hoc Networks - Source Initiated Routing • Associativity-based routing • Routes are selected base on new metric: degree of association stability • Each node periodically generates a beacon to advertise presence • Neighboring nodes will increment associativity tick of this node in their associativity tables for each beacon received • Association stability is defined by connection stability between two nodes over space and time • High association stability may mean low node mobility
Ad Hoc Networks - Source Initiated Routing • Route discovery: • Node will broadcast query (BQ message) to destination • Intermediate nodes will add their address and associativity ticks into message • Destination node receives packets with associativity ticks of nodes along routes taken, and chooses route with best degree of association stability • Destination node returns BQ-REPLY back to source along chosen route • Intermediate nodes will record this chosen route