0
Network Layer Services <ul><li>Packet Switching – Send Packet, Receive Packet </li></ul><ul><ul><li>path determination   r...
Datagram and  Virtual Circuit Datagram Routing tables Connection ID From H1 with CID 1 From H3 with CID 1 CID changed to 2...
Comparison of Virtual-Circuit and Datagram Subnets 5-4 PVC, SVC Setup vs parsing Packet Routing Session Routing
Routing Algorithms <ul><li>Goal:  determine “good” path thru network from source to dest </li></ul><ul><li>Good Path usual...
Shortest Path Routing -  static <ul><li>Cost of a link </li></ul><ul><ul><li>distance, bandwidth, avg traffic, comm cost, ...
Flooding  - static <ul><li>Incoming pkt is sent to all outgoing line except the one it arrives on </li></ul><ul><li>Method...
Distance Vector Routing -  dynamic <ul><li>Also known as </li></ul><ul><ul><li>Distributed Bellman-Ford </li></ul></ul><ul...
Count to Infinity using # of hops as metric <ul><li>Serious drawback for distance vector routing  </li></ul><ul><li>React ...
Link State Routing –  OSPF, ISIS <ul><li>Each router must do the following: </li></ul><ul><li>Discover its neighbors, lear...
OSPF –  O pen  S hortest  P ath  F irst The Interior Gateway Routing Protocol designated router <ul><li>OSPF = Link state ...
Hierarchical Routing <ul><li>Reduce routing table - Scalability </li></ul><ul><li>Enforce administrative autonomy </li></u...
Broadcast Routing  -  implementations <ul><li>Distinct packet to each dest </li></ul><ul><li>Flooding </li></ul><ul><li>Mu...
Multicast Routing <ul><li>Host belongs to Groups </li></ul><ul><li>Routers learn about which of “their” hosts are in which...
Routing for Mobile Hosts Fixed Routers – mobile IP <ul><li>Fixed home location </li></ul><ul><ul><li>Find  the location of...
M obile  A d Hoc  NET works Mobile Router -- MANET <ul><li>Possible applications </li></ul><ul><ul><li>Battlefield, ships,...
Ad-hoc Routing Table <ul><li>Node receive a REPLY, add the entry to Routing Table  IF </li></ul><ul><ul><li>No route to de...
Upcoming SlideShare
Loading in...5
×

Routing

1,659

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,659
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
106
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Routing"

  1. 1. Network Layer Services <ul><li>Packet Switching – Send Packet, Receive Packet </li></ul><ul><ul><li>path determination routing algorithms </li></ul></ul><ul><ul><li>forwarding </li></ul></ul><ul><ul><li>call setup if required </li></ul></ul><ul><li>Connectionless (datagram) Service – Internet </li></ul><ul><ul><li>packets forwarded using destination host address </li></ul></ul><ul><li>Connection-Oriented (virtual circuit) Service – ATM </li></ul><ul><ul><li>call setup, teardown for each call before data can flow </li></ul></ul><ul><ul><li>each packet carries VC identifier (not destination host ID) </li></ul></ul><ul><ul><li>every router on source-dest path maintains “state” for each passing connection </li></ul></ul><ul><ul><li>link, router resources (bandwidth, buffers) may be allocated to VC to get circuit-like performance </li></ul></ul><ul><li>Note: QoS issue starts to blur the boundary of connection types </li></ul>
  2. 2. Datagram and Virtual Circuit Datagram Routing tables Connection ID From H1 with CID 1 From H3 with CID 1 CID changed to 2 A’s table changed (why? How?)
  3. 3. Comparison of Virtual-Circuit and Datagram Subnets 5-4 PVC, SVC Setup vs parsing Packet Routing Session Routing
  4. 4. Routing Algorithms <ul><li>Goal: determine “good” path thru network from source to dest </li></ul><ul><li>Good Path usually means minimum cost path </li></ul><ul><li>Correctness, simplicity, robustness, stability, fairness, optimality </li></ul><ul><li>Conflict between fairness and optimality </li></ul><ul><ul><li>Min mean packet delay, Max network throughput, Min # of hops </li></ul></ul><ul><li>Optimality Principle </li></ul><ul><li>If J is on the optimal path from I to K, then optimal path from J to K is the same </li></ul><ul><li>Sink Tree </li></ul><ul><li>All optimal paths to a node forms a tree </li></ul><ul><li>Routing Algorithm Classification </li></ul><ul><li>Global vs. decentralized </li></ul><ul><ul><li>Global --- all routers have complete topology, link cost info </li></ul></ul><ul><ul><li>Decentralized -- router knows only neighbors, link costs to neighbors </li></ul></ul><ul><li>Static (non-adaptive) vs. dynamic (adaptive) </li></ul><ul><ul><li>Static -- routes change slowly over time </li></ul></ul><ul><ul><ul><li>Shortest path routing </li></ul></ul></ul><ul><ul><ul><li>Flooding </li></ul></ul></ul><ul><ul><li>Dynamic -- routes change more quickly, periodic update in response to link cost changes </li></ul></ul><ul><ul><ul><li>link state algorithms </li></ul></ul></ul><ul><ul><ul><li>distance vector algorithms </li></ul></ul></ul>
  5. 5. Shortest Path Routing - static <ul><li>Cost of a link </li></ul><ul><ul><li>distance, bandwidth, avg traffic, comm cost, avg queue, delay, etc </li></ul></ul><ul><li>Dijkstra shortest path algorithm </li></ul><ul><li>1 Initialization: </li></ul><ul><li>2 N = {A} </li></ul><ul><li>3 for all nodes v </li></ul><ul><li>4 if v adjacent to A </li></ul><ul><li>5 then D(v) = c(A,v) </li></ul><ul><li>6 else D(v) = infinity </li></ul><ul><li>7 </li></ul><ul><li>8 Loop </li></ul><ul><li>9 find w not in N such that D(w) is a minimum </li></ul><ul><li>10 add w to N </li></ul><ul><li>11 update D(v) for all v adjacent to w and not in N: </li></ul><ul><li>12 D(v) = min( D(v), D(w) + c(w,v) ) </li></ul><ul><li>13 /* new cost to v is either old cost to v or known </li></ul><ul><li>14 shortest path cost to w plus cost from w to v */ </li></ul><ul><li>15 until all nodes in N </li></ul>improve Smallest label => permanent Shortest path from A to D
  6. 6. Flooding - static <ul><li>Incoming pkt is sent to all outgoing line except the one it arrives on </li></ul><ul><li>Methods to reduce traffic </li></ul><ul><ul><li>Hop count </li></ul></ul><ul><ul><li>Keep track of packets </li></ul></ul><ul><ul><ul><li>(source, seq) </li></ul></ul></ul><ul><ul><ul><li>Use up-to-counter to reduce (source, seq) entries </li></ul></ul></ul><ul><ul><li>Selective flooding </li></ul></ul><ul><ul><ul><li>Only send to approximately correct directions (e.g. east-west) </li></ul></ul></ul><ul><li>Not practical in most applications, but… </li></ul><ul><ul><li>Military (robustness) </li></ul></ul><ul><ul><li>Distributed database (concurrent update) </li></ul></ul><ul><ul><li>Wireless </li></ul></ul><ul><ul><li>Benchmark (without overhead traffic, flooding has the shortest delay) </li></ul></ul>
  7. 7. Distance Vector Routing - dynamic <ul><li>Also known as </li></ul><ul><ul><li>Distributed Bellman-Ford </li></ul></ul><ul><ul><li>Ford-Fulkerson </li></ul></ul><ul><ul><li>RIP (routing information protocol) </li></ul></ul><ul><ul><li>Original ARPAnet algorithm </li></ul></ul><ul><li>Distance </li></ul><ul><ul><li>Hops, queue, delay </li></ul></ul><ul><li>Distributed – periodical update with neighbors only </li></ul><ul><li>Old routing table is not used to derive new table </li></ul>J measured the delays to neighbors
  8. 8. Count to Infinity using # of hops as metric <ul><li>Serious drawback for distance vector routing </li></ul><ul><li>React rapidly to good news, but very slow to bad news </li></ul><ul><li>Infinity can be set to longest path +1 </li></ul><ul><li>RIP was used in Arpanet until 1979 </li></ul><ul><ul><li>Delay metric was queue length, link bandwidth was not considered </li></ul></ul><ul><ul><li>Too long to converge </li></ul></ul>Split horizon A is coming UP A or link is going DOWN
  9. 9. Link State Routing – OSPF, ISIS <ul><li>Each router must do the following: </li></ul><ul><li>Discover its neighbors, learn their network address. HELLO </li></ul><ul><li>Measure the delay or cost to each of its neighbors. ECHO </li></ul><ul><ul><li>Traffic load ? (echo pkt queue time vs. sent time) </li></ul></ul><ul><ul><li>Throughput vs. oscillation </li></ul></ul><ul><li>Construct a packet telling all it has just learned. </li></ul><ul><ul><li>When ? (periodically or significant events) </li></ul></ul><ul><li>Send this packet to all other routers. FLOODING </li></ul><ul><ul><li>Use sequence # to control flooding </li></ul></ul><ul><ul><li>Use Age field to deal with irregular seq# </li></ul></ul><ul><ul><ul><li>Crash, wrap-around, tx error </li></ul></ul></ul><ul><ul><li>Holding area and acknowledgement </li></ul></ul><ul><li>Compute the shortest path to every other router. Dijkstra’s algorithm </li></ul>oscillation 60 sec 10 sec per update Treat LAN as a Virtual node
  10. 10. OSPF – O pen S hortest P ath F irst The Interior Gateway Routing Protocol designated router <ul><li>OSPF = Link state routing PLUS </li></ul><ul><ul><li>Authentication of routing messages </li></ul></ul><ul><ul><ul><li>Avoid malicious router </li></ul></ul></ul><ul><ul><li>Additional hierarchy (area) </li></ul></ul><ul><ul><ul><li>No need to reach EVERY network in the domain </li></ul></ul></ul><ul><ul><li>Load balancing </li></ul></ul>
  11. 11. Hierarchical Routing <ul><li>Reduce routing table - Scalability </li></ul><ul><li>Enforce administrative autonomy </li></ul><ul><ul><li>internet = network of networks </li></ul></ul><ul><ul><li>each network admin may want to control routing in its own network </li></ul></ul><ul><li>Divide into regions ( A utonomous S ystems) </li></ul><ul><ul><li>Optimal # of levels ln N, requiring e ln N entries per router </li></ul></ul><ul><li>May cause non-optimal routing </li></ul><ul><ul><li>E.g. 1A to 5C </li></ul></ul>5 4+2
  12. 12. Broadcast Routing - implementations <ul><li>Distinct packet to each dest </li></ul><ul><li>Flooding </li></ul><ul><li>Multi-destination routing </li></ul><ul><ul><li>Pkt contains a list of dest addr or bit map </li></ul></ul><ul><ul><li>Optimization form of distinct pkt method </li></ul></ul><ul><li>Spanning tree </li></ul><ul><ul><li>Min # of packets necessary </li></ul></ul><ul><ul><li>All routers need to know the tree (link state routing) </li></ul></ul><ul><li>Reverse path forwarding </li></ul><ul><ul><li>IF broadcast pkt arrives from the line that’s used to send to pkt source, THEN forward ELSE drop it </li></ul></ul><ul><ul><li>Reasonably efficient and easy to implement </li></ul></ul>Sink tree for I optimal routes from all sources to a dest First hop Most likely the first one to arrive Most likely a duplicate
  13. 13. Multicast Routing <ul><li>Host belongs to Groups </li></ul><ul><li>Routers learn about which of “their” hosts are in which groups </li></ul><ul><li>Routers tell their neighbors and build the spanning tree </li></ul>Spanning tree for this source Tree Pruning for group 1
  14. 14. Routing for Mobile Hosts Fixed Routers – mobile IP <ul><li>Fixed home location </li></ul><ul><ul><li>Find the location of mobile host and route pkts to mobile host via home agent </li></ul></ul><ul><li>Mobile Node (host) / foreign agent registration </li></ul><ul><ul><li>FA broadcast </li></ul></ul><ul><ul><li>MN registers (HA addr, MAC addr, MN id) </li></ul></ul><ul><ul><li>FA registers with HA on behalf of MN </li></ul></ul><ul><ul><li>FA accept / reject MN registration </li></ul></ul><ul><li>HA responds to a new session </li></ul><ul><ul><li>Tunnel pkt to FA </li></ul></ul><ul><ul><li>Tell sender to tunnel future pkts to FA directly </li></ul></ul>HA FA
  15. 15. M obile A d Hoc NET works Mobile Router -- MANET <ul><li>Possible applications </li></ul><ul><ul><li>Battlefield, ships, earthquake emergency (no infrastructure support) </li></ul></ul><ul><li>AODV algorithm Ad hoc On-demand Distance Vector </li></ul><ul><ul><li>On-demand route discovery </li></ul></ul><ul><li>B Rcv REQUEST </li></ul><ul><ul><li>IF dup, THEN drop </li></ul></ul><ul><ul><li>IF fresher dest route info exists, THEN use-me </li></ul></ul><ul><ul><li>ELSE Hop count++, add reverse entry (with TTL) </li></ul></ul><ul><ul><li>Rebroadcast </li></ul></ul>A sends to I Uniquely identify A’s Route Request to avoid dup I’s last seq # in A Init to 0 inc when rebroadcast <ul><li>B Rcv RESPONSE </li></ul><ul><ul><li>IF no entry, THEN add </li></ul></ul><ul><ul><li>IF fresher dest THEN update </li></ul></ul><ul><ul><li>IF same freshness, but shorter hop THEN update </li></ul></ul>I’s Response Duration of VALID route From I’s system
  16. 16. Ad-hoc Routing Table <ul><li>Node receive a REPLY, add the entry to Routing Table IF </li></ul><ul><ul><li>No route to dest is known </li></ul></ul><ul><ul><li>Sequence # in REPLY is greater (fresher) </li></ul></ul><ul><ul><li>Same seq #, but less hops (faster) </li></ul></ul><ul><li>REQUEST is broadcast, REPLY is unicast </li></ul><ul><ul><li>Node on the reverse path learns the route for FREE </li></ul></ul><ul><li>Each node periodically broadcast HELLO and expect replies from Active neighbors </li></ul>SEQ # TTL
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×