160 likes | 173 Views
Explore the fundamentals of BGP routing protocol, including key messages, attributes, decision processes, and policy engines. Learn about BGP configuration and policy decision-making to enhance your network architecture skills.
E N D
CS540/TE630Computer Network ArchitectureSpring 2009 Tu/Th 10:30am-Noon Sue Moon
Routing • What do you remember from undergrad networking courses?
BGP • De-facto standard inter-domain routing protocol • Became popular only in 1995 • significant increase in # of ISPs • CIDR introduced in 1995 • Path vector algorithm
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 • Some use of Nina Taft's tutorial slides on BGP • BGP4 Inter-Domain Routing in the Internet, John W. Stewart, Addison-Wesley, 1998