1 / 55

Chapter 4 Static and Dynamic Routing

Chapter 4 Static and Dynamic Routing. Routing. Transfer packets from a source to a destination using network layer protocol information. Two activities: Determine optimal routing paths Transport packets through an internetwork Routing table records optimal routes.

della
Download Presentation

Chapter 4 Static and Dynamic Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 4 Static and Dynamic Routing

  2. Routing • Transfer packets from a source to a destination using network layer protocol information. • Two activities: • Determine optimal routing paths • Transport packets through an internetwork • Routing table • records optimal routes. • Is consulted when a forwarding decision is to be made. • Can be set manually, updated by an ICMP message received, or by using dynamic routing protocols.

  3. Next-hop Routing • Direct delivery: send datagram directly when the source and the destination are on the same network. • Indirect delivery: not on the same network • Send datagram to a router. • Consult the routing table to determine the next hop router. • Only one hop on the path is listed in the routing table.

  4. Routing Table • Flags: • U: route is up • G: route is to a gateway (router); if flag is not set, destination is directly connected • H: route is to a host, I.e., destination address is the complete host address; if flag is not set, route is to a network and destination address is netID or subnetID • D: route created by redirect • M: route modified by redirect • Destination IP address • The IP address of the next-hop router, or of a directly connected network. • The host’s network interface • For each IP packet, there is one routing table lookup. • Find matching host address • Find matching network address • Find default entry

  5. Statically Setting IP Routing Tables • There are several ways for setting IP routing tables without a routing protocol (Static Routing) • Automatic creation of entry during initialization of a local interface (with ifconfig) • During bootstrap with route command • Via ICMP redirect messages • Via ICMP router advertisement/router discovery messages

  6. ICMP Redirect • Based on routing data in host, it does an arp for router 1 and sends packet to router 1 • When router 1 detects that an IP datagram should have gone to a different router, the router: • forwards the IP datagram to the correct router • sends an ICMP redirect message to the host • Host uses ICMP message to update its routing table

  7. ICMP Router Discovery • Configure the default route for a host when it bootstraps. • After bootstrapping a host broadcasts an ICMP router solicitation message. • In response, routers send an ICMP router advertisement message • Also, routers periodically broadcast ICMP router advertisement

  8. Dynamic Routing • Dynamic routing is used to • eliminate loops in paths, and • react to changes in the network topology. • Autonomous System

  9. Autonomous Systems • An autonomous system is a region of the Internet that is administered by a single entity. • Examples of autonomous regions are: • Poly’s campus network • MCI’s backbone network • Regional Internet Service Provider • Routing is done differently within an autonomous system (intradomain routing) and between autonomous system (interdomain routing).

  10. Autonomous Systems (AS)

  11. Intradomain Routing Routing within an AS Ignores the Internet outside the AS Protocols for Intradomain routing are also called Interior Gateway Protocols or IGP’s. Popular protocols are RIP (simple, old) OSPF (better) Interdomain Routing Routing between AS’s Assumes that the Internet consists of a collection of interconnected AS’s Normally, there is one dedicated router in each AS that handles interdomain traffic. Protocols for interdomain routing are also called Exterior Gateway Protocols or EGP’s. Routing protocols: EGP BGP (more recent) Interdomain and Intradomain Routing

  12. Distance Vector Routing • Each node knows the distance (=cost) to its directly connected neighbors • A node sends a list to its neighbors with the current distances to all nodes. • If all nodes update their distances, the routing tables eventually converge

  13. Link State Routing • Each node knows the distance to its neighbors • The distance information (=link state) is broadcast to all nodes in the network • Each node calculates the routing tables independently

  14. Routing Algorithms • Goal: Given a network where each link between two nodes i and j is assigned a cost. Find the path with the least cost between nodes s and d. • Parameters: dij Cost of link between node i and node j; dij = , if nodes i and j are not connected; dii = 0. N Set of nodes.

  15. Example

  16. Distance Vector • Each node maintains two tables: • Distance Table: Cost to each node via each outgoing link. • Routing Table: Minimum cost to each node and next hop node. • Nodes exchange messages that contain information on the cost of a route • Reception of messages triggers recalculation of routing table

  17. Discussion of Distance Vector Routing • Entries of routing tables can change while a packet is being transmitted. This can lead to a single datagram visiting the same node more than once (Looping). • If the period for updating the routing tables is too short, routing table entries are changed before convergence (from the previous updates) is achieved. • Example: ARPANET used a Distance Vector algorithm with an update period of <1 sec. This resulted in instability of routing.

  18. Link State Route Calculations • Calculate shortest path for node s Dijkstra’s Algorithm: s source node. Dncost of the least-cost path from node s to node n M = {s}; for each n  M Dn = dsn; while (M  all nodes) do Find w  M for which Dw = min{Dj ; j  M}; Add w to M; for each n  M Dn = minw [ Dn, Dw + dwn ]; Update route; enddo

  19. Example (at node 1) • Dijkstra’s algorithm

  20. Resulting Routing Tree • The tree is translated into a routing table at node 1:Destination Next Hop 2 2 3 4 4 4 5 4 6 4

  21. Link State Discussion • Each node requires complete topology information. • Link state information must be flooded to all nodes. Guaranteed to converge. • Each node must maintain a global database. • Convergence of the algorithm is guaranteed.

  22. RIP - Routing Information Protocol • A simple intradomain protocol • Straightforward implementation of Distance Vector Routing • Each router advertises its distance vector every 30 seconds (or whenever its routing table changes) • RIP always uses the hop-count as link metric. Maximum hop count is 15, with “16” equal to “”. • Routes timeout after 3 minutes if they are not updated. Route metric is set to  (16) and marked for deletion

  23. RIP Packet Format

  24. Routing with RIP • This is the operation of RIP in routed. Dedicated port for RIP is UDP port 520. • Initialization: Broadcast a request packet (command = 1, metric=16; address family=0, metric=16) on the interfaces requesting current routing tables from routers. • Request received: Routers that receive above request send their entire routing table. • Response received: Update the routing table (see distance vector algorithm). • Regular routing updates: Every 30 seconds, send all or part of the routing tables to every neighbor. • Triggered Updates: Whenever the metric for a route changes, send data that has changed.

  25. RIPv2 • RIPv2 also supports multicast and provides authentication

  26. OSPF • Open • Developed by IETF IGP working group, RFC2328 • SPF • Each router floods link-state information through its neighbors to other routers • Based on the flooded link-state information, each router maintains a complete link-state database • Based on the link-state database, a routing table is constructed using SPF (e.g., Dijkstra’s) algorithm • Runs over IP directly, protocol number 89

  27. Features of OSPF • Use flexible metrics instead of only hop count • Supports variable-length subnetting • Allows load balancing among equal-cost paths • Supports multiple routes; one for each IP type of service (ToS) • Authenticates route exchanges • Quick convergence • Uses multicast rather than broadcast of its messages to reduce network load

  28. Hierarchical OSPF • AS is organized as two-level hierarchy • AS is partitioned into self-contained areas • Areas are interconnected by a backbone area • Areas are identified by a 32-bit area ID • 0.0.0.0 is reserved for the backbone area • Four types of routers • Internal router, area border router, backbone router, autonomous system boundary router (ASBR)

  29. OSPF AS organized into a 2-level hierarchy (ASBR) Within each area, border router responsible for routing outside the area Exactly one area is backbone area Backbone area contains all area border routers and possibly others

  30. OSPF packets • Five types of OSPF packets • Hello(1) • Database description(2) • Link-State Request(3)/Update(4)/Acknowledgement(5) • OSPF common header

  31. OSPF common header fields • Version number: 2 • Type: Type of OSPF packet • Packet length: in bytes, includes OSPF header • Router ID: 32-bit number assigned to each OSPF running router – uniquely identifies router within AS • Area ID: any four-byte number (0.0.0.0 reserved for backbone area) • Checksum: error detection • Three Authentication related fields: to authenticate OSPF packets

  32. Hello packet

  33. Hello packet fields • Network mask: Subnet mask of the interface the packet is sent on • Hello interval: Number of seconds between Hello packets • Options: optional capabilities supported by the router • Priority: of the router – used in election of designated router • Dead interval: Number of seconds before declaring a nonresponding neighbor down • Designated router/Backup: Every broadcast network with at least two routers has a designated router. This sends network LSAs for the broadcast network. This field is 0.0.0.0 if there is no designated router • Neighbors: Router ID of each neighbor from whom Hello packets have recently been received

  34. Database description packet • Database description packet • LSA header LSA: Link State Advertisement

  35. Database description packet fields • Interface MTU: MTU of the associated interface • Options: optional capabilities supported by the router • I bit: Init bit set to 1 if this packet is the first in the sequence of database description packets • M bit: More bit is set to 1 if more database description packets are to follow • MS bit: Master/Slave bit • Database description seq. no.: identifies the packet number sequentially so that a receiver can detect a missing packet

  36. LSA header fields • Link-state age: time since LSA generation • Options: optional capabilities supported by the router • Link-state type: router LSA, network LSA, summary LSA for IP networks, summary LSA for ASB routers, AS-external LSAs • Link-state ID: describes routing domain for the LSA; depends on LSA type • Advertising router: router ID of the router that generated the LSA • Link-state sequence number: Numbers LSAs sequentially to identify old and duplicate LSAs • Link-state checksum: entire contents of LSA except link-state age • Length: in bytes of LSA including LSA header

  37. Link-state Request/Update/ Acknowledgement • Link-state Request • Link-state Update • Link-state Acknowledgement

  38. Type #TOS Metric Router LSA 32 bits LSA header 0 0 V E B #links per-link fields Link ID Link Data Repeat per-link fields for each link

  39. LSA fields • bit V (Virtual): 1 when router is a virtual link endpoint • bit E (External): 1 when router is an ASBR • bit B (Border): 1 when router is an area border router • # links: # of links described in this LSA • Per link: • Type: • Point-to-point connection to another router: 1 • Connection to a transit network: 2 • Connection to a stub network: 3 • Virtual link: 4

  40. LSA fields contd. • Per-link: • #TOS: number of TOS metrics other than the required link metric given to this link; if none, 0 • Link ID: Identifies the type of node connected to this link • If type 1, Neighboring router's Router ID • If type 2, IP address of Designated Router • If type 3, IP network/subnet number • If type 4, Neighboring router's Router ID • Link Data: depends upon type of link • For links to stub networks: Network's IP address mask • For point-to-point links: the interface's MIB-II ifIndex value. • For the other link types: the router interface's IP address. • Metric: cost of using this link

  41. Link state updates • Each Link State Update packet carries a set of new link state advertisements (LSAs) one hop further away from their point of origination. A single Link State Update packet may contain the LSAs of several routers. Each LSA is tagged with the ID of the originating router and a checksum of its link state contents.

  42. OSPF operations • Hello protocol • Database synchronization • Propagation of link-state information • Building of routing table

  43. Hello Protocol • Hello packets are transmitted to all interfaces periodically • Discover neighbors, establish and maintain neighbor adjacency relationships • Elect Designated Router (DR) if there are multiple routers in a broadcast network

  44. Database synchronization • Two neighboring routers exchange database description packets to synchronize their link-state databases. • Database description includes only a list of LSA headers. New or more up-to-date LSAs will be requested later • Packets sent by master are acknowledged by slave

  45. Propagation of link-state information • Link-state request sent • When a router wants to update parts of its link-state database • Link-state update sent • When a link state is requested, or • When a link-state changes, or • Periodically • Link-state acknowledgement sent in response to a link-state update • Link-state updates retransmitted periodically until acknowledged

  46. Flooding LSAs • A node receiving a link-state update selectively first installs each LSA in the update into its LSA database • Then it decides on which of its other links to flood the LSA • it may decide not to flood an LSA out a particular interface if there is a high probability that the attached neighbors have already received the LSA.

  47. Building of routing table • Router S has knowledge of the entire area topology (complete link-state database) • Some algorithm such as Dijkstra’s is used to generate shortest path tree, rooted at router S • Only the next hop will be used in the routing table

  48. AREA 1 18.10.0.6 This is the link metric - note NOT hostID Example Assume that all RT3 interfaces have 3 as their host ID Backbone area 192.1.2 3 RT1 N1 1 N3 192.1.1 RT4 3 RT2 N2 1 8 6 RT3 RT6 192.1.3 2 N4 192.1.4 Construct Router LSA for RT3

  49. RT3’s router-LSA for Area 1 • Link to N4: [COMMENT] • Link ID = 192.1.4.0 ; IP Network number • Link Data = 0xffffff00; Network mask • Type = 3; connects to stub network • # TOS metrics = 0 • metric = 2 • LS age = 0; true on origination • Options =; • LS type = 1; indicates router-LSA • Link State ID = 192.1.1.3; RT3's Router ID • Advertising Router = 192.1.1.3; RT3's Router ID • bit E = 0; not an AS boundary router • bit B = 1; area border router • #links = 2 • Link to N3: [COMMENT] • Link ID = 192.1.1.4 ; IP address of Desig. Rtr. • Link Data = 192.1.1.3; RT3's IP interface to net • Type = 2; connects to transit network • # TOS metrics = 0 • metric = 1

  50. RT3's router-LSA for the backbone • LS age = 0; always true on origination • Options = ; • LS type = 1; indicates router-LSA • Link State ID = 192.1.1.3; RT3's router ID • Advertising Router = 192.1.1.3; RT3's router ID • bit E = 0; not an AS boundary router • bit B = 1; area border router • #links = 1 • Link to RT6 • Link ID = 18.10.0.6; Neighbor's Router ID • Link Data = 0.0.0.3; MIB-II ifIndex of P-P link • Type = 1; connects to router • # TOS metrics = 0 • metric = 8

More Related