Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda.

Similar presentations


Presentation on theme: "CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda."— Presentation transcript:

1 CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda

2 CSS 432: Routing 2 What Is Routing? Forwarding vs Routing  forwarding: To map a network # to an outgoing interface and some MAC information in a forwarding table. To send a packet to an interface as consulting a local and static forwarding table OSI Layer 2: data link level Implemented in specialized hardware (switch)  routing: To build a dynamic routing table To update table contents in a dynamic and distributed fashion OSI Layer 3: network level (internet) Using complex distributed algorithms

3 CSS 432: Routing 3 Overview Network as a Graph Goal  Find lowest cost path between two nodes Static approach has shortcomings:  Hardware failures  Static network topology  Static band width Distributed, dynamic routing algorithms  Distance vector routing (RIP)  Link state routing (OSPF) At Node A E3F E1E E2D E6C E2B Next HopCostDestination

4 CSS 432: Routing 4 Distance Vector Each node maintains a set of triples  (Destination, Cost, NextHop) DestinationCostNext hop B1B C1C D∞- E1E F1F G∞- An initial distance vector at node A

5 CSS 432: Routing 5 Distance Vector Exchange updates directly connected neighbors  periodically (on the order of several seconds)  whenever table changes (called triggered update) Each update is a list of pairs:  ( Destination, Cost) From B:(A, 1), (C, 1) From C:(A, 1), (B, 1), (D, 1) From E:(A, 1) From F:(A, 1), (G, 1) Update local table if receive a “better” route  From B: (C,1) (C, 1, C) < (C, 2, B)  From C: (D, 1) (D, ∞, - ) > (D, 2, C)  From F: (G, 1) (G, ∞, - ) > (G, 2, F) Refresh existing routes; delete if they are expired DestinationCostNext hop B1B C1C D2C E1E F1F G2F

6 CSS 432: Routing 6 Routing Loop Failure-recovering scenario  F detects the link to G has failed  F sets distance to G to ∞ and sends an update to A  A sets distance to G to ∞  A receives periodic update from C with a 2-hop path to G  A sets distance to G to 3 and sends update to F  F sets distance to G in 4 hops via A Count-to-infinity problem  The link from A to E fails  A advertises distance of infinity to E  C advertise a distance of 2 to E  B decides it can reach E in 3 hops  B advertises this to A  A decides it can read E in 4 hops  A advertises this to C  C decides that it can reach E in 5 hops… ∞ To G in 2 ∞ To G in 1 To G in 3 To G in 4 (2) To E in ∞ (1) To E in 2 (3) To E in 3 (5) To E in 4 A E B C (4) To E in ∞ (6) To E in 5

7 CSS 432: Routing 7 Loop-Breaking Heuristics Set infinity to 16  Scheme: Stop an infinity loop in 16.  Problem: No more 16 hops Split horizon  Scheme: Don’t send a neighbor the routing information learned from this neighbor. Ex. B includes (E, 2, A) and thus doesn’t send (E, 3). Split horizon with poison reverse  Scheme: Send the routing information learned from this neighbor as setting hop count to ∞. Ex. B includes (E, 2, A) and thus sends (E, ∞, A)  Problem: Its slow convergence speed

8 CSS 432: Routing 8 Routing Information Protocol (RIP) Cmd: 1-6  1: request  2: reply Port: 520  Used by routed Advertisement: 30secs Table entry timeout: 3 mins.  Deleted in 60secs Unix commands  Ripquery (BSD)  Tcpdump (available in Linux, too)  Snoop (Solaris) frame header datagram heaader UDP header RIP Message Cmd Ver Addr family (net addr) Address of net 1 Routing domain Route tag Subnet mask Next hop address (1-16) Distance to net 1 Addr family (net addr) Address of net 2 Route tag Subnet mask Next hop address Distance to net 2 (1-16) 25 entries

9 CSS 432: Routing 9 Link State Strategy  Reliable dissemination of link-state information to all nodes over a system.  Calculation of routes from the sum of all the accumulated link-state knowledge. Link State Packet (LSP)  ID of the node that created the LSP  A cost of link to each directly connected neighbor  A sequence number (SEQNO)  A time-to-live (TTL) for this packet

10 CSS 432: Routing 10 Link State (cont) Reliable flooding  Store most recent LSP from each node  Forward LSP to all nodes but one that sent it  Generate new LSP periodically Increment SEQNO  Start SEQNO at 0 when reboot  Decrement TTL of each stored LSP Discard when TTL=0 A C D X B

11 CSS 432: Routing 11 Dijkstra’s Shortest-Path Algorithm put (myself, 0, -) in the confirmed list Next = myself; while( true ) {  for each edge (X, distance, Next) where X is N’s neighbor if neither confirmed or tentative list has (X, distance, Y) where Y != Next, put (X, distance, Next) in the confirmed list if the tentative list has (X, distance, Y) where Y != Next, and (X, distance, Y) > (X, distance, Next)  Replace (X, distance, Y) with (X, distance, Next)  If the tentative list is empty, exit  else move the shortest edge (A, distance, B) from the tentative to the confirmed list. Next = A }

12 CSS 432: Routing 12 Dijkstra’s Shortest-Path Algorithm (A, 0, -) (B, 5, B) (C, 10, C) (E, 2, E) (F, 4, F) (A, 0, -) (E, 2, E) (B, 5, B) (C, 10, C) (F, 4, F) (A, 0, -) (E, 2, E) (F, 4, F) (C, 10, C) (B, 5, B) (A, 0, -) (E, 2, E) (F, 4, F) (C, 10, C) (B, 5, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 18, B) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F) 11 5 10 3 2 6 4 2 13

13 CSS 432: Routing 13 Open Shortest Path First Protocol (OSPF) Header 1. Hello (reachability) 2. Database description (topology) 3. Link status request 4. Link status update 5. Link status acknowledgment Advertisement (header type=4)  LS Age: = TTL  Type=1: link cost b/w routers  Link-State ID = Advertising Router  Seq # from the same router  Link ID = the other end route ID of link  Link data = used if there are two or more links to the same router  Metric = link cost  Link type = P2P, ethernet, etc  TOS = delay-sensitive, etc frame header datagram header OSPF header OSPF Message Version Type(=4) AreaId Message Length Checksum Authentication 0-3 Authentication type SourceAddr Authentication 4-7 # of link status advertisements Link-state ID LS Age Options Advertising router LS sequence number Link Checksum Length 0Flag0# of links Type=1 Link ID Link data Metric Num TOS Link type Optional TOS information

14 CSS 432: Routing 14 OSPF Con’td Gated daemon: directly uses IP datagram. Header Type2: Database description (topology) message  Used when the current topology has changed.  Sent from an initialized router to another router which has a topology information LS Sequence number  Used to determine which message is the latest  Send a message with a new sequence number and metric= ∞ when a router or a link fails.

15 CSS 432: Routing 15 Metrics Original ARPANET metric  measures number of packets enqueued on each link  took neither latency or bandwidth into consideration New ARPANET metric  stamp each incoming packet with its arrival time ( AT )  record departure time ( DT )  when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency  if timeout, reset DT to departure time for retransmission  link cost = average delay over some time period Fine Tuning  compressed dynamic range  replaced Delay with link utilization

16 CSS 432: Routing 16 Internet Virtual Private Networks and Tunnels B A Company Branch Company Branch A B C A B Application Level Router Level Physical Network Level Source router Dest router Router 10.0.0.120.0.0.1 10.0.0.120.0.0.1 10.0.0.1 To: 20.0.0.1 215.0.0.1 To: 10.0.0.2 To: 215.0.0.1 To: 20.0.0.1 To: 215.0.0.1 To: 20.0.0.1

17 CSS 432: Routing 17 Why VPN? 1. Security The final destination/contents of packet cannot be easily intercepted. 2. Routers Routers with special features such as multicasting can form a virtual network. 3. No-IP packets Packets may be non-IP compatible packets. 4. Mobile IPs The final destination may be a mobile computer.

18 CSS 432: Routing 18 Mobile IP Home agent Internet Mobile Host 10.0.0.9 (12.0.0.7) DHCP server Mobile Host Sending host 10.0.0.3 12.0.0.6 Invariant: Sending hosts want to use the same IP address mapped to a mobile host regardless of its location. Questions  How does the home agent intercept a packet that is destined for the mobile agent? --- Use ARP  How does the home agent then deliver the packet to the mobile host? – Use DHCP and VPN

19 CSS 432: Routing 19 Mobile IP (Cont’d) Home agent Internet Mobile Host 10.0.0.9 (12.0.0.7) DHCP server Mobile Host 1. ARP request: What’s the physical addr corresponding to 10.0.0.9? 2. ARP response: sends back MAC of 10.0.0.3 instead of 10.0.0.9 IP tunneling: wraps the packet inside an IP header destined for the mobile host (12.0.0.7). 1. DHCP: receives a new IP in the foreign network. Sending host 3. Packet request: sends a packet destined for 10.0.0.9 to the home agent’s MAC address 2. Care-of-address: a mobile host informs its Home agent of its original and new IPs. 10.0.0.3 12.0.0.6

20 CSS 432: Routing 20 Reviews  RIP: distance vector, routing loop and breaking heurictics  OSPF: link state, Dijkstra’s shortest path algorithm  VPN and mobile IP Exercises in Chapter 3  Ex. 46 (RIP)  Ex. 52 (RIP)  Ex. 62 (OSPF)  Ex. 64 (OSPF)


Download ppt "CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda."

Similar presentations


Ads by Google