CS551External v.s. Internal BGPBill Chenghttp://merlot.usc.edu/cs551-f121 Computer Communications - CSCI 551 Copyright © William C. ChengExterior vs. Interior2EGP vs. IGP Computer Communications - CSCI 551 Copyright © William C. ChengWorld vs. meLittle control vs. complete administrative controlBGP (and GGP, Hello, EGP) vs. (RIP, OSPF, IS-IS, IGRP,EIGRP)R2R1BGPR3 R4Option 2: Use I-BGP BGP can be used by R3 and R4 to learn routes.3Learning Routes Computer Communications - CSCI 551 Copyright © William C. Chengonly works for small routing tablesHow do R1 and R2 learn routes? (How does R3 pass onthe routes that is has learned to R1 and R2?)Option 1: Inject routes in IGP (such as OSPF)AS1 AS2I-BGP has mechanisms to forward BGP policy directivesacross an ASOften use I-BGP with some other IGP (such as OSPF) thatdoes internal routing4Why BGP as an IGP? Computer Communications - CSCI 551 Copyright © William C. Cheng5I-BGP Computer Communications - CSCI 551 Copyright © William C. ChengAS 1UpstreamProvider AAS100iBGPeBGPAS 2UpstreamProvider BAS200iBGPeBGPeBGPE-BGP connects AS’s (external GP)6E-BGP vs. I-BGP Computer Communications - CSCI 551 Copyright © William C. ChengI-BGP is intra-AS (internal GP)Differences in operationdirect vs. indirect connectionsdifferent failure modesspecial attributes for internal useprefix learned from E-BGP can be advertised to I-BGPneighbor and vice-versa, butSame message types, attribute types, and state machineas E-BGP7Internal BGP (I-BGP) Computer Communications - CSCI 551 Copyright © William C. ChengDifferent rules about re-advertising prefixes:prefix learned from one I-BGP neighbor cannot beadvertised to another I-BGP neighborreason: no AS-PATH within the same AS and thus dangerof loopingR2R18Internal BGP (I-BGP) Computer Communications - CSCI 551 Copyright © William C. ChengR3 can tell R1 and R2 prefixes from R4R3 can tell R4 prefixes from R1 and R2R3 cannot tell R2 prefixes from R1E-BGPR3 R4I-BGP9 Computer Communications - CSCI 551 Copyright © William C. Cheng Internal BGP (I-BGP)R2 can only find these prefixes through a direct connection to R1Result: I-BGP routers must be fully connected (via TCP)! R2R1R3 can tell R1 and R2 prefixes from R4contrast with E-BGP sessions that map to physical linksR3 can tell R4 prefixes from R1 and R2R3 cannot tell R2 prefixes from R1E-BGPR3 R4I-BGP10I-BGP Computer Communications - CSCI 551 Copyright © William C. ChengAS 1UpstreamProvider AAS100iBGPeBGPAS 2UpstreamProvider BAS200iBGPeBGPeBGPI-BGP mesh11BGP Example Computer Communications - CSCI 551 Copyright © William C. ChengAS1E-BGPI-BGPR1 advertises routes within AS1 to R2R2 advertises routes within AS2 and AS3 to R1 R2 learns AS3 routes from I-BGP with R4R4 learns AS3 routes from E-BGP with R6 R4 advertises routes within AS2 and AS1 to R6R6R2 R3R4R5R1AS3AS2E-BGPfailure on an E-BGP linkTwo types of link failures:failure on an I-BGP LinkThese failures are treated completely different in BGPWhy?12Link Failures Computer Communications - CSCI 551 Copyright © William C. Cheng13Failure on an E-BGP Link Computer Communications - CSCI 551 Copyright © William C. ChengIf the link R1-R2 goes down, then the TCP connectionbreaks and so does the E-BGP connection; BGP routesare removedThis is the desired behaviorAS1R1AS2R2E-BGP sessionPhysical link138.39.1.1/30 138.39.1.2/30Note that 138.39.1.1 and 138.39.1.2 are on the same network14Failure on an I-BGP Link Computer Communications - CSCI 551 Copyright © William C. ChengR1 and R2 should, in theory, still be able to exchange traffic,i.e., the indirect path through R3 should be usedIf physical link R1-R2 goes down, the 138.39.1.0/30 networkbecomes unreachable, connection between R1 and R2 is lostI-BGP sessionPhysical link138.39.1.1/30138.39.1.2/30R3R1R2Note: I-BGP often does not go over a physical linkthus, E-BGP and I-BGP must use different conventionswith respect to TCP endpointsgiven the above configuration, it would not work!Note that 138.39.128.1 and 138.39.128.5 are on differentnetworks here!15Virtual Interfaces (VIFs, a.k.a.Loop-back Interfaces) Computer Communications - CSCI 551 Copyright © William C. ChengA VIF is not associated with a physical link or hardwareinterfaceHow do routers learn of VIF addresses?I-BGP sessionPhysical linkR1 R2vif vif138.39.1.1/30 138.39.1.2/30138.39.128.1/30 138.39.128.5/30use IGPBGP confederationsTwo methods:16Scaling the I-BGP Mesh Computer Communications - CSCI 551 Copyright © William C. ChengRoute reflectors scale by adding hierarchy to AS (sub-AS)scale by adding hierarchical IBGP route forwardingSubdivide a single AS into multiple, internal sub-AS’sto reduce I-BGP mesh size17AS Confederation Computer Communications - CSCI 551 Copyright © William C. ChengStill advertises a single AS to external peerssimple hierarchybut only one levelinternally use sub-AS’s13111012AS2R2 does not see sub-AS 10-14, but sees AS118An AS Confederation Computer Communications - CSCI 551 Copyright © William C. ChengAS114AS ConfederationSub-AS’sR1R2local-pref attribute remains meaningful within confederation (E-BGP ignores it)BGP sessions between sub-AS’s are like regular E-BGP butwith some changes:19Confederations Computer Communications - CSCI 551 Copyright © William C. Chengnext-hop attribute traverses sub-AS boundaries (assumessingle IGP running - everyone has same route to next-hop)AS-PATH now includes AS-CONFED-SET andAS-CONFED-SEQUENCE to avoid loops20BGP Confederation Computer Communications - CSCI 551 Copyright © William C. ChengAS300AS10AS20 AS30RRC runs normal I-BGPRoute Reflector (RR): router whose BGP implementationallows re-advertisement of routes between I-BGP neighbors21Route Reflectors Computer Communications - CSCI 551 Copyright © William C. ChengRoute Reflector Client (RRC): router that depends on RRto re-advertise its routes to entire AS. It also depends onRR to learn routes from the rest of the networkRR runs modified I-BGPWith RR there are 7I-BGP sessionsinstead of 21 (=7*6/2)22RR Example Computer Communications - CSCI 551 Copyright © William C. ChengRR3RR2RR1I-BGPRR-C3RR-C4RR-C1RR-C2AS1E-BGPneighborAS2128.4.0.0/16138.39.0.0/16E-BGPmodified I-BGPRR1 advertises 138.39.0.0/16 learned from RRC2 into I-BGPReflectors advertise routes learned from clients into theI-BGP mesh23Rules for Route Reflectors Computer Communications - CSCI 551 Copyright © William C. ChengRR1 will not re-advertise 128.4.0.0/16 learned from RR3 toRR2Reflectors do not re-advertise routes between
View Full Document