270 likes | 448 Views
Overview of Internet Routing (II). Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST. Overview. Refresh Our Memory Intra-Domain Routing Inter-Domain Routing. Hierarchical OSPF. Why Multi-Area OSPF? Scalability
E N D
Overview of Internet Routing (II) Fall 2004 CS644 Advanced Topics in Networking Sue B. Moon Division of Computer Science Dept. of EECS KAIST
Overview • Refresh Our Memory • Intra-Domain Routing • Inter-Domain Routing
Hierarchical OSPF • Why Multi-Area OSPF? • Scalability • size of routing table • router CPU overhead (shortest path computation) • control traffic increase
A Sample Area Configuration 10.2.0.0/16 10.3.7.0/24 10.8.2.0/24 10.1.0.0/16
Multi-Area OSPF • Backbone Area + Areas • connected by area border routers • ABRs send out summary-LSAs • stub areas: no AS-boundary border routers • NSSAs (not-so-stubby areas): external info can flow into other areas, but not vice versa • Combination of LS and DV algorithms • In a backbone area, DV • DV amenable to route aggregation and simple routing policies • Simple hub-and-spoke topology • In other areas, LS
Advantages of OSPF Areas • Over flat routing • Increased robustness • local failures dampened externally • Routing protection • protected from external instabilities/misconfiguration • Hidden prefixes • configured not to be advertised outside
Improving on OSPF • Prefix allocation/aggregation • Prefix aggregation to reduce routing table size • trade-off: sub-optimal routing • Work around S/W upgrade
Software Upgrade is a Pain • Upgrade of routing software on routers is a fact of life • Extensions to routing protocols, new functionality, version upgrades, bug fixes • Critical need for seamless upgrades • Current practice • During upgrade, network operators withdraw “router-under-upgrade” from forwarding service • Route flaps, traffic disruption, instability • Operators have to carefully schedule upgrades • Schedule them during night when load is moderate • Stagger upgrades of different routers • A painful job
We Can do Better • Router can continue forwarding even while its routing process is inactive, at least for a while • Current routers have separate routing and forwarding paths • Routing in software (CPU), forwarding in hardware (switching) • Routing protocols need to be extended since they always try to route around inactive router • Our proposal: IBB (I’ll Be Back) Extension to OSPF • Other proposals • OSPF: Hitless restart proposal by Jonh Moy • Internet draft: draft-ietf-ospf-hitless-restart-02.txt • BGP: Graceful restart proposal by Sangli et al. • Internet draft: draft-ietf-idr-restart-05.txt
Shortest Path Tree (SPT) LSA LSA Data packet Data packet Router Model Route Processor (CPU) OSPF Process Topology view Forwarding Info. Base (FIB) Forwarding Forwarding Switching Fabric Interface card Interface card
IBB Proposal in a Nutshell • OSPF process on router R needs to be shutdown • Before shutdown, R informs other routers that • it is going to be inactive for a while • R specifies a time period (IBB Timeout) by which it • expects to become operational again • Other routers continue using R for forwarding during • IBB Timeout period • If R comes back within IBB Timeout period, • no routing instability or flaps • Else other routers start forwarding packets around R
A A 10 3 6 6 B R B R 2 2 (b) Topology changes while R is inactive • Topology when • R went down What if Topology Changes • R cannot update its forwarding table to reflect the change • Can lead to loop or black holes
Shaikh et al. Handling Changes: Options • Don’t do anything • Stop using R: Moy’s proposal • Inadvertent changes during upgrade are likely • Flapping due to a bad interface somewhere • But all changes are not bad • Do not always lead to loops or black holes • Stop using R only when loop or black hole gets formed • And only for those destinations for which there is a problem • Need algorithms which is what the bulk of the paper is about
BGP • De-facto standard inter-domain routing protocol • Became popular only in 1995 • significant increase in # of ISPs • CIDR introduced in 1995
Configuration and Policy • A BGP node decides which routes to share with its neighbor • A BGP node can selectively accept and reject messages • What to share and what to accept • determined by routing policy
Four Basic BGP Messages • Open • Establishes BGP session (TCP port #179) • Sets the hold timer • Notification • Report unusual conditions • Terminates the TCP session and gives an indication (holder timer expiry, bad peer AS, malformed attribute list, etc.) • Update • Inform neighbor of new/old routes that become active/inactive • Keepalive • Inform neighbor that connection is still alive
Advertise/Withdraw prefixes UPDATE Message
Attributes • ORIGIN • Who originated the announcement? • IGP, EGP or Incomplete (often for static routes) • AS-PATH • list of AS's • useful to detect and prevent loops • NEXT HOP • For EBGP, IP addr of neighbor that announced • For IBGP, if route originated inside, IP addr of neighbor • For IBGP, if route originated outside, EBGP node that learned of route, is carried unaltered into IBGP • Multi-Exit Discriminator (MED) • Local Preference
Attribute: Multi-Exit Discriminator (MED) • When ASes have multiple interconnecting links • Lower, more preferred • Non-transitive AS1 R1 R2 143.248.0.0/16 MED=2 143.248.0.0/16 MED=10 AS2 R3 R4
Attribute: LOCAL PREF 143.248.0.0/16 • Indicates preference among multiples paths for the same prefix • higher, more preferred • Exchanged between IBGP peers only • Often used to select a specific egress point for a particular destination AS1 AS3 AS2 AS4
BGP Decision Process • Highest LOCAL-PREF • Shortest AS-PATH • Lowest ORIGIN (IGP < EGP < Incomplete) • Lowest MED • Min cost path to NEXT HOP using IGP metrics • BGP Router ID to break tie
Input Policy Engine • Inbound filtering • filter based on IP prefixes, AS_PATH, community • deny = BGP won't reach that prefix via the peer • accept = traffic to that prefix via the peer • Attribute manipulation • Sets attributes on accepted routes • E.g.: Specify LOCAL-PREF to set priorities among multiple peers
Output Policy Engine • Outbound filtering • forward = peers may route traffic via you • Attribute manipulation • Sets attributes such as AS-PATH and MEDs
Transit vs. Nontransit Transit AS3 AS1 C3 AS2 C1 C2
Routing Engine BGP Input Policy BGP Output Policy BGP Table IP Routing Table Forwarding Table OSPF Topology Shortest Path
References & Acknowledgements • Slides on "IBB" are from Aman Shaikh's INFOCOM 2002 presentation • Some use of Nina Taft's tutorial slides on BGP • OSPF Anatomy of an Internet Routing Protocol, John T. Moy, Addison-Wesley, 1998 • BGP4 Inter-Domain Routing in the Internet, John W. Stewart, Addison-Wesley, 1998