Horké brambory, studené brambory a směrovací politika I.

2. 4. 2009
Doba čtení: 4 minuty

Sdílet

Autor: 29
V diskusi k jednomu z mých minulých článků přišla řeč na asymetrický routing a to, jak obvykle vypadá routing mezi dvěma rozdílnými sítěmi. Samozřejmě pokud se tyto dvě sítě stýkají jen v jednom bodě, je situace poměrně triviální. Představme si však, že se nám dvě sítě potkávají na více místech.

U dvou sítí potkávajících se na více místech je skutečně jedno, jestli ty body jsou od sebe vzdáleny několik kilometrů nebo několik tisíc kilometrů a jestli je propojuje desetimegabitový ethernet nebo čtyřicetigigabitový POS, princip je tentýž, ačkoli dopady mohou být poněkud odlišné.

Schéma takového redundantního propojení dvou sítí v různých geograficky diverzifikovaných lokalitách vidíme na obrázku, propoje mezi sítěmi jsou vyznačeny zeleně. Síť 1 oznamuje síti 2 své bloky IP adres, síť 2 síti 1 také, můžeme si tedy myslet, že se jedná o peeringové propojení. Uživatel připojený na síť 2 v PoP Havětín komunikuje se serverem, připojeným na síť 1 v PoP Potvořice. Síť číslo 1 je pro nás tedy content provider s vlastní sítí, pro sítě s převahou domácích zákazníků se vžil pojem eyeball provider, a tím je v daném případě síť číslo 2.

routing

Drtivá většina sítí se snaží provozu zbavit, co nejdříve to je možné. Takový přístup je logický, nejkratší možná cesta bývá nejrychlejší a také nejlevnější, Takovému přístupu říkáme „closest exit“ nebo ještě častěji „hot potato“ routing – ano, sítě si skutečně packety vyměňují jako horké brambory, které je vhodné mít v ruce, pardon, v síti, pokud možno co nejkratší dobu. Opačný přístup, tedy směrovat packet vlastní sítí až na nejzazší místo, kam to jde, je poměrně neobvyklý (ač se najdou samozřejmě ekonomicky zdůvodnitelné výjimky, ale o nich někdy jindy), dá se tedy očekávat, že obě sítě na obrázku budou volit přístup „hot potato“. Samozřejmě, každá síť má svoji vlastní směrovací politiku a ovlivnit směrovací politiku cizí sítě může za běžných okolností jen ve velmi omezené míře.

Čím se obvykle vyznačuje komunikace zákazníka se serverem poskytujícím nějaký obsah, ať už jde o video, web nebo třeba ftp? Ano, zákazník typicky posílá relativně malé požadavky a relativně malá potvrzení o doručení, naopak server posílá zákazníkovi relativně velké objemy dat. Kdo je tedy na výše uvedeném obrázku ve výhodě (pochopitelně za předpokladu, že síť 2 má uživatele převážně napojené na PoP Havětín a síť 1 servery převážně na PoP Potvořice)? Jistě, je to síť 1. Zatímco ona po svých dálkových trasách přenáší jen krátké požadavky a potvrzovací packety, které dostane od sítě 2 v Havětíně, síť 2 musí přenášet z Potvořic do Havětína mnohem větší množství dat, což vytěžuje výrazně více její linky a klade požadavky na nákup nových kapacit. Pochopitelně v případě výpadku propoje nebo boxu sítě 2 v Potvořicích dochází k zátěži linek i v síti 1, alespoň k nejbližšímu PoPu, kde existuje propojení se sítí 2 (v reálu by nejspíše server nebyl připojen přímo na hraniční směrovač poskytovatele a tedy tvrzení v poslední větě by se vztahovalo i na výpadek boxu sítě 1 v PoP Potvořice).

Vždy tomu tak však být nemusí. Jednak content sítě 1 nemá valnou hodnotu bez uživatelů, kteří k němu přistupují a naopak uživatelé chtějí ke contentu přistupovat, obě uvedené sítě se tak navzájem potřebují. Pokud existuje jiná cesta, například přes tranzitní operátory, jimž oba platí za připojení do zbytku Internetu, patrně mají oba celkem zásadní zájem ušetřit na poplatcích za transitní konektivitu a dohodnout se nějakým kompromisním způsobem chtějí. Proto se mohou dohodnout i na něčem jiném než na tom, že se budou provozu zbavovat v místě nejbližším zdroji takového provozu. I proto existuje způsob, jak sdělit druhé síti, že preferuji, aby mi dotyčný provoz posílala určitou konkrétní cestou. Druhá strana jej může, avšak také nemusí akceptovat, záleží pochopitelně na vzájemné dohodě o akceptování takových informací (ano, i to může být součástí oné výše zmíněné směrovací politiky).

(Teď zaběhneme do technických detailů, jejichž znalost není pro pochopení principu zcela nezbytná, můžete tedy tento odstavec, chcete-li, přeskočit). Protokol BGP obsahuje celý komplex nástrojů, jimiž lze ovlivňovat preferenci cesty. Jednak je to položka localpref (lokální preference, číselná hodnota), tato má také při vyhodnocování nejvyšší prioritu, ovšem je také nejčastěji při přijetí routy operátorem měněna (vyšší hodnota localpref znamená vyšší prioritu při výběru cesty), dále délka cesty, tedy přes kolik AS (autonomních systémů, čísel, reprezentujících jednotlivé sítě), tu je v případě potřeby možné uměle prodloužit tzv. prependem, tedy opakováním čísla dotyčného AS (nebo třeba i čísla AS jiného, ale to by mohlo způsobovat nečekané obtíže jinde, protože AS path v protokolu BGP slouží zejména k zabránění vzniku smyček, tedy česky k tomu, aby packety netekly namísto k uživateli dokolečka dokola přes mnoho různých sítí), další možností je pak měnit origin dotyčného prefixu (ten může nabývat hodnoty interní, neznámý nebo externí, přičemž interní má nejvyšší prioritu, externí nejnižší) a nakonec s nejnižší prioritou metrika (opět číselná hodnota, avšak fungující oproti localpref obráceně, tedy nižší metrika znamená lepší cestu). Pokud se operátoři dohodnou, že budou vzájemně akceptovat informace o nejvýhodnější cestě, používají nejčastěji právě metriku. Dalším možným nástrojem je pak využití BGP komunit (což je zjednodušeně značka, kterou lze označovat prefixy na základě nějakých dalších informací, dostupných v jednom konkrétním směrovači, ale už nikoli v ostatních směrovačích v síti).

A příště už o tom, jak se záležitosti zde popsané projevují v reálně existujících sítích…

Autor článku

Autor působí ve společnosti Quantcom. Povinnosti ukládané státní správou telekomunikačním společnostem považuje za zbytečné, škodlivé a poškozující především zákazníky.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).