1 / 59

COMS W4995-1 Lecture 6

COMS W4995-1 Lecture 6. Dynamic routing protocols II. Dynamic Routing Protocols: Link State Routing Intra-Domain Routing Protocols: OSPF & BGP. Dynamic Routing Protocols Link State Routing. The Gang of Four. Link State. Vectoring. OSPF. RIP. IGP. IS-IS. BGP. EGP. Link State Routing.

ronni
Download Presentation

COMS W4995-1 Lecture 6

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. COMS W4995-1Lecture 6

  2. Dynamic routing protocols II Dynamic Routing Protocols: Link State Routing Intra-Domain Routing Protocols: OSPF & BGP

  3. Dynamic Routing Protocols Link State Routing

  4. The Gang of Four Link State Vectoring OSPF RIP IGP IS-IS BGP EGP

  5. Link State Routing • Based on Dijkstra’ s Shortest-Path-First algorithm. • Each router starts by knowing: • Prefixes of its attached networks. • Links to its neighbors. • Each router advertises to the entire network (flooding): • Prefixes of its directly connected networks. • Active links to its neighbors. • Each router learns: • A complete topology of the network (routers, links). • Each router computes shortest path to each destination. • In a stable situation, all routers have the same graph, and compute the same paths.

  6. Dijkstra’s Shortest Path Algorithm for a Graph Input:Graph(N,E) with N the set of nodes and Ethe set of edges cvwlink cost (cvw = 1if (v,w)  E, cvv = 0) s source node. Output: Dncost of the least-cost path from node s to node n M = {s}; for each n  M Dn = csn; while (M  all nodes) do Find w  M for which Dw = min{Dj ; j  M}; Add w to M; for each neighbor n of w and n  M Dn = min[ Dn, Dw + cwn ]; Update route; end for end while end for

  7. Link state routing: graphical illustration a’s view: b 3 d’s view: 6 a c 2 c d b’s view: 3 b 1 a c c’s view: b 1 2 a c d 6 Global view: b 3 1 2 a c d 6 Collecting all views yield a global & complete view of the network!

  8. Operation of a Link State Routing protocol IP Routing Table Dijkstra’s Algorithm Link StateDatabase ReceivedLSAs LSAs are flooded to other interfaces

  9. Link State Routing: Properties • Each node requires complete topology information • Link state information must be flooded to all nodes • Guaranteed to converge

  10. Distance Vector vs. Link State Routing • With distance vector routing, each node has information only about the next hop: • Node A: to reach F go to B • Node B: to reach F go to D • Node D: to reach F go to E • Node E: go directly to F • Distance vector routing makespoor routing decisions if directions are not completelycorrect (e.g., because a node is down). • If parts of the directions incorrect, the routing may be incorrect until the routing algorithms has re-converged. A B C F D E

  11. Distance Vector vs. Link State Routing A A A A A A B B B B B B C C C C C C F F F F F F D D D D D D E E E E E E • In link state routing, each node has a complete map of the topology • If a node fails, each node can calculate the new route • Difficulty:All nodes need to have a consistent view of the network A B C F D E

  12. Distance Vector vs. Link State Routing • Topology information is flooded within the routing domain • Best end-to-end paths are computed locally at each router. • Best end-to-end paths determine next-hops. • Based on minimizing some notion of distance • Works only if policy is shared and uniform • Examples: OSPF, IS-IS • Each router knows little about network topology • Only best next-hops are chosen by each router for each destination network. • Best end-to-end paths result from composition of all next-hop choices • Does not require any notion of distance • Does not require uniform policies at all routers • Examples: RIP, BGP Link State Vectoring

  13. Dynamic Routing ProtocolsOpen Shortest Path First

  14. OSPF • OSPF = Open Shortest Path First • The OSPF routing protocol is the most important link state routing protocol on the Internet (another link state routing protocol is IS-IS (intermediate system to intermediate system) • The complexity of OSPF is significant • RIP (RFC 2453 ~ 40 pages) • OSPF (RFC 2328 ~ 250 pages) • History: • 1989: RFC 1131 OSPF Version 1 • 1991: RFC1247 OSPF Version 2 • 1994: RFC 1583 OSPF Version 2 (revised) • 1997: RFC 2178 OSPF Version 2 (revised) • 1998: RFC 2328 OSPF Version 2 (current version)

  15. Features of OSPF • Provides authentication of routing messages • Enables load balancing by allowing traffic to be split evenly across routes with equal cost • Type-of-Service routing allows to setup different routes dependent on the TOS field • Supports subnetting • Supports multicasting • Allows hierarchical routing

  16. Hierarchical OSPF

  17. Hierarchical OSPF • Two-level hierarchy: local area, backbone. • Link-state advertisements only in area • each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. • Area border routers:“summarize” distances to nets in own area, advertise to other Area Border routers. • Backbone routers: run OSPF routing limited to backbone.

  18. Example Network 4 2 1 3 2 3 1 5 10.1.7.6 10.1.1.1 10.1.1.2 10.1.4.4 .1 .2 .2 .4 .4 .6 10.1.7.0 / 24 10.1.4.0 / 24 10.1.1.0 / 24 .1 .2 .4 .6 Router IDs can be selected independent of interface addresses, but usually chosen to be the smallest interface address 10.1.3.0 / 24 10.1.6.0 / 24 10.1.8.0 / 24 10.1.2.0 / 24 .3 .5 .3 .5 .5 .3 10.1.5.0/24 10.1.2.3 10.1.5.5 • Link costs are called Metric • Metric is in the range [0 , 216] • Metric can be asymmetric

  19. Link State Advertisement (LSA) 10.1.7.6 10.1.1.1 10.1.1.2 10.1.4.4 .1 .2 .2 .4 .4 .6 10.1.7.0 / 24 10.1.4.0 / 24 10.1.1.0 / 24 .1 .2 .4 .6 10.1.3.0 / 24 10.1.6.0 / 24 10.1.8.0 / 24 10.1.2.0 / 24 .3 .5 .5 .3 .5 .3 10.1.5.0/24 10.1.2.3 10.1.5.5 4 • The LSA of router 10.1.1.1 is as follows: • Link State ID:10.1.1.1= Router ID • Advertising Router:10.1.1.1= Router ID • Number of links:3= 2 links plus router itself • Description of Link 1:Link ID = 10.1.1.2, Metric = 4 • Description of Link 2:Link ID = 10.1.2.2, Metric = 3 • Description of Link 3:Link ID = 10.1.1.1, Metric = 0 3 2

  20. Network and Link State Database 10.1.7.6 10.1.1.1 10.1.1.2 10.1.4.4 .1 .2 .2 .4 .4 .6 10.1.7.0 / 24 10.1.4.0 / 24 10.1.1.0 / 24 .1 .2 .4 .6 10.1.3.0 / 24 10.1.6.0 / 24 10.1.8.0 / 24 10.1.2.0 / 24 .3 .5 .3 .5 .5 .3 10.1.5.0/24 10.1.5.5 10.1.2.3 Each router has a database which contains the LSAs from all other routers LS Type Link StateID Adv. Router Checksum LS SeqNo LS Age Router-LSA 10.1.1.1 10.1.1.1 0x9b47 0x80000006 0 Router-LSA 10.1.1.2 10.1.1.2 0x219e 0x80000007 1618 Router-LSA 10.1.2.3 10.1.2.3 0x6b53 0x80000003 1712 Router-LSA 10.1.4.4 10.1.4.4 0xe39a 0x8000003a 20 Router-LSA 10.1.5.5 10.1.5.5 0xd2a6 0x80000038 18 Router-LSA 10.1.7.6 10.1.7.6 0x05c3 0x80000005 1680

  21. Link State Database • The collection of all LSAs is called the link-state database • Each router has an identical link-state database • Useful for debugging: Each router has a complete description of the network • If neighboring routers discover each other for the first time, they will exchange their link-state databases • The link-state databases are synchronized using reliable flooding

  22. OSPF Packet Format OSPF packets are not carried as UDP payload! OSPF has its own IP protocol number: 89 TTL: set to 1 (in most cases) Destination IP: neighbor’s IP address or 224.0.0.5 (ALLSPFRouters) or 224.0.0.6 (AllDRouters)

  23. OSPF Packet Format 2: current version is OSPF V2 ID of the Area from which the packet originated Message types: 1: Hello (tests reachability) 2: Database description 3: Link Status request 4: Link state update 5: Link state acknowledgement 0: no authentication 1: Cleartext password 2: MD5 checksum (added to end packet) Standard IP checksum taken over entire packet Authentication passwd = 1: 64 cleartext password Authentication passwd = 2: 0x0000 (16 bits) KeyID (8 bits) Length of MD5 checksum (8 bits) Nondecreasing sequence number (32 bits) Prevents replay attacks

  24. OSPF LSA Format LSA Header Link 1 Link 2

  25. Discovery of Neighbors • Routers multicasts OSPFHello packets on all OSPF-enabled interfaces. • If two routers share a link, they can become neighbors, and establish an adjacency • After becoming a neighbor, routers exchange their link state databases Scenario:Router 10.1.10.2 restarts

  26. Neighbor discovery and database synchronization Discovery of adjacency Scenario:Router 10.1.10.2 restarts After neighbors are discovered the nodes exchange their databases Sends database description. (description only contains LSA headers) Sends empty database description Acknowledges receipt of description Database description of 10.1.10.2

  27. Regular LSA exchanges 10.1.10.1 10.1.10.2 Link State Request packets, LSAs = Router-LSA, 10.1.10.1, Router-LSA, 10.1.10.2, Router-LSA, 10.1.10.3, Router-LSA, 10.1.10.4, Router-LSA, 10.1.10.5, Router-LSA, 10.1.10.6, Link State Update Packet, LSAs = Router-LSA, 10.1.10.1, 0x80000006 Router-LSA, 10.1.10.2, 0x80000007 Router-LSA, 10.1.10.3, 0x80000003 Router-LSA, 10.1.10.4, 0x8000003a Router-LSA, 10.1.10.5, 0x80000038 Router-LSA, 10.1.10.6, 0x80000005 10.1.10.2 explicitly requests each LSA from 10.1.10.1 10.1.10.1 sends requested LSAs

  28. Dissemination of LSA-Update • A router sends and refloods LSA-Updates, whenever the topology or link cost changes. (If a received LSA does not contain new information, the router will not flood the packet) • Exception: Infrequently (every 30 minutes), a router will flood LSAs even if there are not new changes. • Acknowledgements of LSA-updates: • explicit ACK, or • implicit via reception of an LSA-Update • Question: If a new node comes up, it could build the database from regular LSA-Updates (rather than exchange of database description). What role do the database description packets play?

  29. Dynamic Routing Protocols (Inter-domain)Border Gateway Protocol

  30. BGP Quick View • BGP = Border Gateway Protocol . Currently in version 4, specified in RFC 1771. (~ 60 pages) • Note: In the context of BGP, a gateway is nothing else but an IP router that connects autonomous systems. • Interdomain routing protocol for routing between autonomous systems • Uses TCP to establish a BGP session and to send routing messages over the BGP session • BGP is a path vector protocol. Routing messages in BGP contain complete routes. • Network administrators can specify routing policies

  31. BGP Policy-based Routing • Each node is assigned an AS number (ASN) • BGP’s goal is to find any AS-path (not an optimal one). Since the internals of the AS are never revealed, finding an optimal path is not feasible. • Network administrator sets BGP’s policies to determine the best path to reach a destination network.

  32. How Many ASNs are there today? 14,588 origin only (no transit) 20,570 Thanks to Geoff Huston. http://bgp.potaroo.net on October 9, 2005

  33. Autonomous Routing Domains Don’t Always Need BGP or an ASN ARDs versus ASes Qwest Nail up routes 130.132.0.0/16 pointing to Yale Nail up default routes 0.0.0.0/0 pointing to Qwest Yale University 130.132.0.0/16 Static routing is the most common way of connecting an autonomous routing domain to the Internet. This helps explain why BGP is a mystery to many …

  34. ASNs Can Be “Shared” (RFC 2270) AS 701 UUNet AS 7046 Crestar Bank AS 7046 NJIT AS 7046 Hood College 128.235.0.0/16 ASN 7046 is assigned to UUNet. It is used by Customers single homed to UUNet, but needing BGP for some reason (load balancing, etc..) [RFC 2270]

  35. ARDs and ASes: Summary • Most ARDs have no ASN (statically routed at Internet edge) • Some unrelated ARDs share the same ASN (RFC 2270) • Some ARDs are implemented with multiple ASNs (example: Worldcom) ASes are just an implementation detail of Inter-domain routing

  36. How many prefixes today? 221,002 33.3% 23% IPv4 Address space covered Thanks to Geoff Huston. http://bgp.potaroo.net on October 9, 2005

  37. Policy-Based vs. Distance-Based Routing? YES NO Host 1 Cust1 Minimizing “hop count” can violate commercial relationships that constrain inter- domain routing. ISP1 ISP3 Host 2 ISP2 Cust3 Cust2 Thanks to Tim Griffin http://www.cl.cam.ac.uk/users/tgg22

  38. Customer versus Provider provider customer IP traffic provider customer Customer pays provider for access to the Internet

  39. Why not minimize “AS hop Count”? National ISP1 National ISP2 YES NO Regional ISP3 Regional ISP2 Regional ISP1 Cust1 Cust3 Cust2 Shortest path routing is not compatible with commercial relations

  40. The “Peering” Relationship Peers provide transit between their respective customers Peers do not provide transit between peers Peers (often) do not exchange $$$ traffic allowed traffic NOT allowed peer peer provider customer

  41. Peering Provides Shortcuts Peering also allows connectivity between the customers of “Tier 1” providers. peer peer provider customer

  42. Reduces upstream transit costs Can increase end-to-end performance May be the only way to connect your customers to some part of the Internet (“Tier 1”) You would rather have customers Peers are usually your competition Peering relationships may require periodic renegotiation Peering Wars Peer Don’t Peer Peering struggles are by far the most contentious issues in the ISP world! Peering agreements are often confidential.

  43. The Border Gateway Protocol (BGP) BGP = RFC 1771 + “optional” extensions RFC 1997 (communities) RFC 2439 (damping) RFC 2796 (reflection) RFC3065 (confederation) … + routing policy configuration languages (vendor-specific) + Current Best Practices in management of Interdomain Routing BGP was not DESIGNED. It EVOLVED.

  44. BGP Route Processing Open ended programming. Constrained only by vendor configuration language Apply Policy = filter routes & tweak attributes Apply Policy = filter routes & tweak attributes Receive BGP Updates Based on Attribute Values Best Routes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table

  45. BGP Attributes Value Code Reference ----- --------------------------------- --------- 1 ORIGIN [RFC1771] 2 AS_PATH [RFC1771] 3 NEXT_HOP [RFC1771] 4 MULTI_EXIT_DISC [RFC1771] 5 LOCAL_PREF [RFC1771] 6 ATOMIC_AGGREGATE [RFC1771] 7 AGGREGATOR [RFC1771] 8 COMMUNITY [RFC1997] 9 ORIGINATOR_ID [RFC2796] 10 CLUSTER_LIST [RFC2796] 11 DPA [Chen] 12 ADVERTISER [RFC1863] 13 RCID_PATH / CLUSTER_ID [RFC1863] 14 MP_REACH_NLRI [RFC2283] 15 MP_UNREACH_NLRI [RFC2283] 16 EXTENDED COMMUNITIES [Rosen] ... 255 reserved for development Most important attributes Not all attributes need to be present in every announcement From IANA: http://www.iana.org/assignments/bgp-parameters

  46. ASPATH Attribute AS 1129 135.207.0.0/16 AS Path = 1755 1239 7018 6341 Global Access AS 1755 135.207.0.0/16 AS Path = 1239 7018 6341 135.207.0.0/16 AS Path = 1129 1755 1239 7018 6341 Ebone AS 1239 AS 12654 Sprint RIPE NCC RIS project 135.207.0.0/16 AS Path = 7018 6341 AS7018 135.207.0.0/16 AS Path = 3549 7018 6341 135.207.0.0/16 AS Path = 6341 AT&T AS 3549 AS 6341 135.207.0.0/16 AS Path = 7018 6341 AT&T Research Global Crossing 135.207.0.0/16 Prefix Originated

  47. Shorter Doesn’t Always Mean Shorter Mr. BGP says that path 4 1 is better than path 3 2 1 In fairness: could you do this “right” and still scale? Exporting internal state would dramatically increase global instability and amount of routing state Duh! AS 4 AS 3 AS 2 AS 1

  48. Routing Example 1 Thanks to Han Zheng

  49. Routing Example 2 Thanks to Han Zheng

  50. Tweak Tweak Tweak (TE) • For inbound traffic • Filter outbound routes • Tweak attributes on outbound routes in the hope of influencing your neighbor’s best route selection • For outbound traffic • Filter inbound routes • Tweak attributes on inbound routes to influence best route selection outbound routes inbound traffic inbound routes outbound traffic In general, an AS has more control over outbound traffic

More Related