Border Gateway-protokoll och skalbarhet

Författare: Roger Morrison
Skapelsedatum: 21 September 2021
Uppdatera Datum: 21 Juni 2024
Anonim
Traceroute: More Complex Than You Think
Video: Traceroute: More Complex Than You Think

Innehåll


Hämtmat:

Ruttskalbarhet kan hjälpa dig kraftigt av Border Gateway-protokollet, vilket hjälper till att dirigera paket mer effektivt.

Inom datavetenskap är ett viktigt begrepp skalbarhet, eller hur väl ett sätt att hantera en viss uppgift fortsätter att fungera när uppgifternas storlek ökar. Till exempel, att skriva telefonnummer på pappersbitar fungerar ganska bra när du behöver hålla reda på ett dussin telefonnummer: det tar bara tio sekunder att hitta ett givet nummer. Men för en stad med 100 000 människor tar det nu hundra tusen sekunder (ungefär en dag) att hitta ett nummer. Med en telefonbok för en stad med 100 000 invånare tar det ungefär en halv minut att hitta ett telefonnummer som följer med ett visst namn. Den stora fördelen är inte så mycket att använda en bok är mycket snabbare än att använda enskilda pappersbitar, utan snarare att när du fördubblar storleken på problemet du inte fördubblar mängden arbete för att lösa det: sökning via en telefon bok som är dubbelt så stor tar bara ett par extra sekunder: är namnet jag letar efter under första halvåret? Det tar inte dubbelt så lång tid, och därmed är telefonböcker skalbara men rester inte. Genom att dirigera skalbarhet används begreppet skalbarhet till problemet med att leverera paket till rätt destination via Internet.


Skalbarhet vid datarutning

Routeringsskalbarhet består av två frågor: hanteringsplanet och dataplanet.

Dataplanet är den centrala eller distribuerade modulen i en router som tar inkommande paket och vidarebefordrar dem till nästa router på väg till sin destination. Denna funktion måste för varje vidarebefordrat paket hitta nästa hopp i vidarebefordringstabellen. De två huvudmekanismerna för att göra detta är ett TCAM, ett specialminne med inbyggt hårdvarusupport för att söka igenom det och vanligt minne som söks med avancerade algoritmer. Uppslagets hastighet sjunker inte när tabellstorleken ökar. TCAM- eller minnesstorleken stiger emellertid linjärt (eller lite snabbare än för flerspråkiga uppslag), vilket ökar kostnads- och strömförbrukningen. Eftersom antalet uppslagningar för vidarebefordringstabell per sekund ökar, måste dyrare och makt hungriga tekniker användas. Sådana ökningar är oundvikliga när gränssnitthastigheterna ökar, men beror också på paketstorlekar i genomsnitt eller i värsta fall och antalet gränssnitt per enhet eller per blad / modul i vissa routerarkitekturer.


Under workshopen för routing och adressering av Internetarkitektur som hölls i Amsterdam 2006 hävdades att den erforderliga minneshastigheten ökar överträffar prestandaförhöjningarna i komponenter utanför hyllan, särskilt nu när separata SRAM inte längre används i stort. Tidigare använde datorer höghastighets-SRAM som minnescache, men idag ingår denna funktion på själva CPU: n, så SRAM är inte längre ett lättillgängligt varubrick längre. Detta innebär att kostnaderna för routern med högsta slut kommer att öka mycket snabbare än de hittills har varit. Efter IAB: s routing- och adressverkstad har dock flera routerleverantörer kommit ut och sagt i samtal och på adresslistor att detta problem inte är omedelbart just nu och att tillväxt på de för närvarande förutspådda nivåerna inte kommer att ge problem under överskådlig framtid.

Border Gateway-protokoll

Hanteringsplanet består av en ruttprocessor som kör BGP-routingprotokollet och relaterade uppgifter som måste utföras av en router för att kunna skapa en vidarebefordringstabell. BGP är protokollet som ISP: er och vissa andra nätverk använder för att berätta varandra vilka IP-adresser som används var, så paketen avsedda för dessa IP-adresser kan vidarebefordras korrekt. BGP-skalbarhet påverkas av behovet av att kommunicera uppdateringar, lagra dem i routern och bearbeta dem. För närvarande är bandbredd för att sprida uppdateringar inte alls något problem. I praktiken kan minneskraven för att lagra allt större BGP-tabeller utgöra ett problem, detta beror oftast på implementeringsbegränsningar i kommersiellt tillgängliga routrar, inte på grund av inneboende tekniska problem. En ruttprocessor är i grunden en allmänt dator, som nu enkelt kan byggas med 16 gigabyte eller mer RAM. För närvarande körs Route Views-allmänna ruteserver med 1 GB RAM och har cirka 40 fulla BGP-flöden på cirka 560 000 prefix vardera (siffror från december 2015).

Detta lämnar emellertid behandlingen. Mängden bearbetning som krävs för BGP beror på antalet BGP-uppdateringar och antalet prefix per. Eftersom antalet prefix per uppdatering är ganska litet ignorerar vi den aspekten och tittar bara på antalet uppdateringar. Förmodligen, förutom autonom tillväxt, ökar antalet uppdateringar linjärt med antalet prefix. Den faktiska behandlingen av BGP-uppdateringar är mycket begränsad, så flaskhalsen är tiden det tar att få åtkomst till minne för att utföra en uppdatering. Även under IAB: s routing- och adressverkstad presenterades information som indikerar att ökningen av DRAM-hastigheten är ganska begränsad och inte kommer att kunna hålla jämna steg med tillväxten av routingtabellerna.

Vidarebefordra tabellsynkronisering

Förutom de separata frågorna om vidarebefordran och dataplan finns problemet med att synkronisera vidarebefordringstabellen med BGP / routingtabellen efter uppdateringar. Beroende på arkitekturen för vidarebefordringstabellen kan det vara relativt tidskrävande att uppdatera den. BGP beskrivs ofta som ett "vägvektor" -rutningsprotokoll, mycket lik distansvektorprotokoll. Som sådan implementerar den en något modifierad version av Bellman-Ford-algoritmen, som åtminstone i teorin kräver ett antal iterationer lika med antalet noder (för BGP: externa autonoma system samt interna iBGP-routrar ) i diagrammet minus en att konvergera. I praktiken sker konvergens mycket snabbare eftersom det inte är en genomförbar design att använda den längsta möjliga vägen mellan två platser i nätverket. Men ett betydande antal iterationer i form av distinkta uppdateringar som måste behandlas kan inträffa efter en enda händelse på grund av multiplikationseffekter. Till exempel, i det fall två ASer kopplas samman på två platser, kommer en uppdatering i den första AS att spridas två gånger till den andra AS via varje samtrafiklänk. Detta leder till följande möjliga alternativ:

Inga buggar, ingen stress - din steg-för-steg-guide för att skapa livsförändrad programvara utan att förstöra ditt liv

Du kan inte förbättra dina programmeringsfärdigheter när ingen bryr sig om mjukvarukvalitet.

Denna aspekt av BGP erkänns inte uttryckligen av många människor, även om studier såsom Route Flap Damping förvärrar Internet Routing Convergence adresserar det resulterande beteendet.

Med det ovanstående i åtanke kan vi dra slutsatsen att BGP har vissa skalningsfrågor: protokollet och routrarna som implementerar det är inte förberedda för ett internet där kanske fem miljoner och säkert 50 miljoner individuella prefix måste hanteras av BGP. Den nuvarande tillväxten är dock relativt stabil med cirka 16% per år för IPv4, så det finns ingen anledning till omedelbar oro. Detta gäller särskilt för IPv6, som för närvarande bara har 25 000 prefix i BGP.