190 likes | 328 Views
Scaling iBGP. BGP. iBGP Internal BGP BGP peering between routers in same AS Goal: get routes from a border router to another border router without losing detail Communities, localpref, etc. eBGP External BGP BGP peering between routers in different ASes. AS3. External BGP. 1a. AS1.
E N D
BGP • iBGP • Internal BGP • BGP peering between routers in same AS • Goal: get routes from a border router to another border router without losing detail • Communities, localpref, etc. • eBGP • External BGP • BGP peering between routers in different ASes
AS3 External BGP 1a AS1 1d AS2 AS4 1b 1c Internal BGP AS5
AS3 1a 1b 1d AS2 AS4 1c Routes arriving from AS2 will be redistributed via iBGP from 1b to 1a, 1c, 1d. AS5
AS3 1a 1b 1d AS2 AS4 1c • 1d will announce route learned • to AS4 if appropriate • BGP decision process AS5
iBGP Requirement for Full Mesh • An iBGP router will not further advertise a prefix with its own ASN in AS path • to prevent routing information loops • Therefore iBGP has to be in full mesh for eBGP routes to propagate; (n * (n-1)) / 2 5 peers, 10 sessions 3 peers, 3 sessions 4 peers, 6 sessions
Scaling Issues • 100 peers; 4950 sessions • 101 peers; 5050 sessions • Requires significant operator resource whenever new router is added to network • operator has to manually setup n-1 iBGP sessions each time a new eBGP router is added to AS • Significant BGP protocol overhead for each router
Two Methods for Scaling iBGP • Confederations • RFC 5065 • Route reflection • RFC 4456 • Both approaches break AS into hierarchy to reduce size of iBGP domain • logical hierarchy tends to follow physical structure
Scaling iBGP: Confederations AS 1 eBGP eBGP iBGP iBGP eBGP iBGP iBGP iBGP iBGP eBGP eBGP eBGP eBGP AS 64513 AS 64514 iBGP iBGP iBGP AS 64515 eBGP eBGP
Scaling iBGP: Confederations • full iBGP mesh within confederation • eBGP between confederations • eBGP to external ASes • AS_CONFED_SEQUENCE • AS_CONFED_SET • AS_CONFED numbers are removed from routes propagated outside parent AS
Scaling iBGP: Confederations • Advantages • Easier to deal with smaller iBGP mesh when new eBGP router is added • Reduces number of iBGP sessions • Disadvantage • Requires network to be reconfigured; no incremental deployment
Scaling iBGP: Route Reflectors AS 1 cluster eBGP eBGP iBGP iBGP eBGP iBGP RR iBGP iBGP iBGP eBGP iBGP eBGP iBGP client iBGP iBGP non-client iBGP eBGP eBGP
Scaling iBGP: Route Reflectors • Clients vs. non-clients • RR clients should not peer with routers outside cluster • Non-clients of RR must be fully meshed • Easier to add new client to RR cluster than to add non-client. • RR will only advertise best paths learned
Scaling iBGP: Route Reflectors • Advantage: Incremental deployment • Non-RR speakers continue with iBGP mesh • Though less iBGP sessions as they are a non-client of RR
BGP RR attributes • BGP-optional, non-transitive attributes • used in RR situation to prevent routing information loops • ORIGINATOR_ID • 4 bytes, specifies the iBGP router that first announced the route • Router should ignore prefix with its own ORIGINTOR_ID in this field • CLUSTER_ID • 4 bytes, specifies a RR cluster the prefix came from • CLUSTER_LIST • List of CLUSTER_ID fields • A router should ignore prefix with its own CLUSTER_ID in it
Scaling iBGP: Route Reflectors • Need redundancy in RR cluster • If RR fails, clients become isolated. • Solution: multiple RR per cluster RR RR
Hierarchical Route Reflection AS 1 RR RR RR RR RR RR
Putting it all together AS 1 PE PE RR,P RR,P PE PE RR,P RR,P PE PE RR,P RR,P PE PE PE
Further Reading • Chapter 8, Internet Routing Architectures (Bassam / Halabi) • RFC 5065 - Autonomous System Confederations for BGP • RFC 4456 - BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)