ibgp scalability part ii route reflectors topologies
play

iBGP Scalability Part II: Route Reflectors topologies - PDF document

1/5/11 iBGP Scalability Part II: Route Reflectors topologies Eduardo Grampn Castro Overview of Part I RelaBonships Among Networks and Interdomain RouBng


  1. 1/5/11 iBGP ¡Scalability ¡ Part ¡II: ¡Route ¡Reflectors ¡topologies ¡ Eduardo ¡Grampín ¡Castro ¡ Overview ¡of ¡Part ¡I ¡ • RelaBonships ¡Among ¡Networks ¡and ¡Interdomain ¡RouBng ¡ – Gao-­‑Rexford ¡ • ImplemenBng ¡Inter-­‑Network ¡RelaBonships ¡with ¡BGP ¡ – Policy-­‑based ¡rouBng ¡(which ¡metric ¡is ¡minimized?) ¡ • Not ¡Link-­‑State ¡nor ¡Distance-­‑Vector ¡ • Sessions ¡vs. ¡Flooding ¡ – Many ¡aSributes ¡ • AS_PATH: ¡loop ¡free ¡ • BGP: ¡a ¡bit ¡of ¡theory ¡ – BGP ¡is ¡not ¡safe: ¡convergence ¡is ¡not ¡guaranteed ¡aWer ¡a ¡failure ¡ • BGP ¡Scalability ¡ – RIB ¡size ¡-­‑> ¡TE ¡pracBces, ¡deaggregaBon ¡ – Churn: ¡mostly ¡“quiet”, ¡if ¡we ¡do ¡not ¡count ¡duplicates ¡(why ¡duplicates, ¡anyway?) ¡ • (Inter ¡+ ¡Intra)domain ¡RouBng ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 2 ¡ 1

  2. 1/5/11 Outline ¡ • (Inter ¡+ ¡Intra)domain ¡RouBng ¡ • Route ¡Reflectors ¡ – MulBple, ¡hierarchical ¡RRs ¡ – Known ¡issues ¡ • iBGP ¡Route ¡Reflectors ¡topologies ¡ – PracBcal ¡design ¡guidelines ¡ – Correct ¡and ¡scalable ¡proposals ¡ – Others ¡ • IETF ¡ • Centralized ¡soluBons ¡ • An ¡experiment ¡on ¡iBGP ¡scaling ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 3 ¡ (Inter ¡+ ¡Intra)domain ¡RouBng ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 4 ¡ 2

  3. 1/5/11 BGP-­‑IGP ¡InteracBon ¡ • ASes ¡exchange ¡reachability ¡informaBon ¡using ¡(external) ¡BGP ¡ • Intradomain ¡rouBng: ¡IGP ¡ • PropagaBon ¡of ¡BGP ¡informaBon ¡intradomain: ¡(internal) ¡BGP ¡ eBGP eBGP eBGP iBGP iBGP iBGP iBGP IGP IGP IGP IGP 4/5/11 ¡ seMINArios ¡2011 ¡ 5 ¡ Remember: ¡NEXT_HOP ¡ 135.207.0.0/16 Next Hop = 192.0.2.1 135.207.0.0/16 10.10.10.1 AS 1 AS 2 192.0.2.1 0 192.0.2.0/3 Forwarding Table 0 destination next hop 192.0.2.0/30 10.10.10.10 Forwarding Table + destination next hop EGP 135.207.0.0/16 10.10.10.10 destination next hop 192.0.2.0/30 10.10.10.10 135.207.0.0/16 192.0.2.1 4/5/11 ¡ seMINArios ¡2011 ¡ 6 ¡ 3

  4. 1/5/11 BGP-­‑IGP ¡interacBon ¡alternaBves ¡ • PropagaBon ¡of ¡BGP ¡InformaBon ¡via ¡the ¡IGP, ¡mulBcast ¡or ¡other ¡ efficient ¡flooding ¡mechanism ¡ – MenBoned ¡in ¡rfcs ¡1772 ¡& ¡1773, ¡implementaBon? ¡ • BGP ¡Scalable ¡Transport ¡ • RedistribuBon/tagged ¡IGP ¡ – Specified ¡in ¡rfcs ¡1403 ¡& ¡1745 ¡(moved ¡to ¡historical ¡status) ¡ – Route ¡tagging ¡implemented ¡in ¡cisco ¡& ¡juniper ¡routers ¡ • EncapsulaBon ¡ – MPLS ¡tunnels ¡among ¡eBGP ¡speakers ¡ • Pervasive ¡BGP ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 7 ¡ Pervasive ¡Internal ¡BGP ¡(iBGP) ¡ • All ¡routers ¡in ¡an ¡AS ¡are ¡iBGP ¡speakers ¡ • IGP ¡is ¡only ¡used ¡for ¡rouBng ¡within ¡the ¡AS ¡ – No ¡BGP ¡routes ¡are ¡imported ¡into ¡the ¡IGP ¡ • RouBng ¡table ¡recursive ¡lookup ¡ – First ¡lookup ¡determine ¡BGP ¡next ¡hop ¡ ¡(exit ¡router) ¡ – Second ¡lookup ¡determine ¡the ¡IGP ¡path ¡to ¡the ¡exit ¡router ¡ • Need ¡to ¡make ¡sure ¡that ¡ – Internal ¡transport ¡of ¡BGP ¡info ¡is ¡loop-­‑free ¡(just ¡BGP ¡info!) ¡ – Internal ¡rouBng ¡is ¡coherent ¡(now, ¡loop-­‑freeness ¡for ¡data ¡plane ¡ forwarding) ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 8 ¡ 4

  5. 1/5/11 Internal ¡BGP ¡ • iBGP ¡and ¡eBGP ¡are ¡same ¡protocol ¡in ¡that ¡ – same ¡message ¡types ¡used ¡ – same ¡aSributes ¡used ¡ – same ¡state ¡machine ¡ – BUT ¡use ¡different ¡rules ¡for ¡readverBsing ¡prefixes ¡ • Rules ¡for ¡iBGP ¡ – #1: ¡prefixes ¡learned ¡from ¡an ¡eBGP ¡neighbor ¡ can ¡be ¡ readverBsed ¡to ¡an ¡iBGP ¡neighbor, ¡and ¡vice ¡versa ¡ – #2: ¡prefixes ¡learned ¡from ¡an ¡iBGP ¡neighbor ¡ cannot ¡be ¡ readverBsed ¡to ¡another ¡iBGP ¡neighbor ¡ ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 9 ¡ Loop-­‑freeness ¡of ¡BGP ¡info ¡in ¡iBGP ¡ Why ¡rule ¡#2? ¡To ¡prevent ¡ BGP ¡announcements ¡from ¡looping ¡ ¡ • – eBGP ¡detect ¡loops ¡via ¡AS-­‑PATH ¡ – AS-­‑PATH ¡not ¡changed ¡in ¡iBGP ¡ ImplicaBon ¡of ¡rule: ¡a ¡full ¡mesh ¡of ¡iBGP ¡sessions ¡between ¡ • each ¡pair ¡of ¡routers ¡in ¡an ¡AS ¡is ¡required ¡ • Example ¡of ¡rule ¡#1: ¡ AS 4 163.1.0.0/16 AS 336 95 4/5/11 ¡ seMINArios ¡2011 ¡ 10 ¡ 5

  6. 1/5/11 iBGP ¡full-­‑mesh ¡scalability ¡ ¡ • n*(n ¡-­‑ ¡1)/2 ¡iBGP ¡sessions ¡ • ConfiguraBon ¡management ¡ – Each ¡router ¡must ¡have ¡n-­‑1 ¡iBGP ¡sessions ¡configured ¡ – The ¡addiBon ¡a ¡single ¡iBGP ¡speaker ¡requires ¡ configuraBon ¡changes ¡to ¡all ¡other ¡iBGP ¡speakers ¡ – E.g. ¡if ¡we ¡have ¡200 ¡routers ¡in ¡our ¡network ¡that ¡would ¡ give ¡us ¡19900 ¡BGP ¡sessions! ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 11 ¡ iBGP ¡full-­‑mesh ¡scalability ¡ • RouBng ¡state ¡ eBGP update – Many ¡Adj-­‑RIBs ¡: ¡most ¡routes ¡are ¡not ¡ used ¡ – Size ¡of ¡iBGP ¡rouBng ¡table ¡can ¡be ¡order ¡ n ¡larger ¡than ¡number ¡of ¡best ¡routes ¡ (remember ¡alternate ¡routes!) ¡ – Each ¡router ¡has ¡to ¡listen ¡to ¡update ¡ iBGP updates noise ¡from ¡each ¡neighbor ¡ – CPU ¡and ¡memory ¡resources ¡-­‑> ¡large ¡ routers ¡needed! ¡ • SoluBons ¡ – Route ¡Reflectors ¡ – ConfederaBons ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 12 ¡ 6

  7. 1/5/11 Route ¡Reflectors ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 13 ¡ Route ¡Reflectors ¡ • Avoiding ¡the ¡virtual ¡full ¡mesh ¡of ¡iBGP ¡ sessions: ¡ • group ¡routers ¡into ¡clusters ¡ • Assign ¡a ¡leader ¡to ¡each ¡cluster, ¡called ¡a ¡ RR route ¡reflector ¡(RR) ¡ RR • Members ¡of ¡a ¡cluster ¡are ¡called ¡clients ¡of ¡ the ¡RR ¡ RR • The ¡clients ¡do ¡not ¡know ¡they ¡are ¡clients ¡ and ¡are ¡configured ¡as ¡normal ¡iBGP ¡peers ¡ clusters A C • Only ¡the ¡best ¡route ¡to ¡a ¡desBnaBon ¡is ¡ B sent ¡from ¡a ¡RR ¡to ¡a ¡client ¡ clients 4/5/11 ¡ seMINArios ¡2011 ¡ 14 ¡ 7

  8. 1/5/11 Route ¡Reflectors: ¡announcements ¡ • If ¡received ¡from ¡RR, ¡reflect ¡to ¡clients ¡ • If ¡received ¡from ¡a ¡client, ¡reflect ¡to ¡RRs ¡and ¡clients ¡ • If ¡received ¡from ¡eBGP, ¡reflect ¡to ¡all: ¡RRs ¡and ¡clients ¡ • RRs ¡reflect ¡only ¡the ¡best ¡route ¡to ¡a ¡given ¡prefix, ¡not ¡all ¡ announcements ¡they ¡receive ¡ ¡ – helps ¡size ¡of ¡rouBng ¡table ¡ – someBmes ¡clients ¡don’t ¡need ¡to ¡carry ¡full ¡table ¡ • RR ¡should ¡not ¡change ¡the ¡aSributes ¡ – NEXT_HOP ¡ – AS_PATH ¡ – LOCAL_PREF ¡ – MED ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 15 ¡ Avoiding ¡Loops ¡with ¡Route ¡Reflectors ¡ • Loops ¡cannot ¡be ¡detected ¡by ¡tradiBonal ¡approach ¡using ¡AS_PATH ¡ because ¡AS_PATH ¡not ¡modified ¡within ¡an ¡AS ¡ • Announcements ¡could ¡leave ¡a ¡cluster ¡and ¡re-­‑enter ¡it ¡ • Two ¡new ¡aSributes ¡added ¡by ¡RR ¡ if ¡a ¡route ¡is ¡reflected ¡ – ORIGINATOR_ID: ¡Router ¡ID ¡of ¡route’s ¡originator ¡in ¡AS ¡ rule : ¡announcement ¡discarded ¡if ¡returns ¡to ¡originator ¡ – CLUSTER_LIST: ¡a ¡sequence ¡of ¡Cluster ¡Ids, ¡set ¡by ¡RRs ¡ rule : ¡if ¡an ¡RR ¡receives ¡an ¡update ¡and ¡the ¡cluster ¡list ¡contains ¡its ¡Cluster ¡ID, ¡ then ¡update ¡is ¡discarded ¡ • Both ¡are ¡opBonal, ¡nontransiBve ¡(dont ¡propagate ¡to ¡eBGP) ¡ 4/5/11 ¡ seMINArios ¡2011 ¡ 16 ¡ 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend