AS112 - projekt DNS anycast

16. 8. 2004
Doba čtení: 4 minuty

Sdílet

NIX.CZ nedávno "rozjela" první DNS anycast ve střední Evropě. Anycast znamená několik stejných serverů se stejnou IP adresou, tudíž se zátěž serveru rozkládá a snižuje se i odezva. Cílem DNS anycastu však není překlad DNS dotazů, nýbrž jejich pohlcování, aby se zbytečně neplýtvalo konektivitou na nesmyslné dotazy.

Před nedávnem byla vydána tisková zpráva, že sdružení NIX.CZ uvedlo do provozu první DNS anycast ve střední Evropě, nazvaný AS112. Pojďme se blíže podívat, co to vlastně v praxi znamená.

Ještě než se pustíme do detailů DNS anycastingu, dovolím si trochu se pozastavit nad termínem anycast a vysvětlit, jak se liší od ostatních druhů komunikace. V počítačových sítích se používají následující tři způsoby komunikace. Pro zjednodušení uvažuji jednosměrně:

  1. unicast – nejběžnější způsob komunikace, jak ho jistě každý zná; komunikace probíhá pouze mezi dvěma počítači, jeden posílá data a druhý je přijímá,

    1307

  2. multicast – způsob v současném IP světě poměrně málo užívaný, jde o skupinovou komunikaci, tedy jeden stroj vysílá a více strojů přijímá všechna data,

    1308

  3. anycast – je velmi podobný multicastu, protože i zde je více příjemců, nicméně zpráva se neduplikuje a je doručena pouze jednomu z nich.

Ačkoliv anycast a multicast vypadají velmi podobně, implementovat multicast v dnešním Internetu je výrazně technicky složitější, a proto multicastovou komunikaci dnes drtivá většina ISP nepodporuje. Naopak anycast podporují všechny sítě normálně, protože používá stejné principy jako unicastová komunikace, a tedy pro jeho používání není nutné nijak upravovat infrastrukturu či software. Koncept anycastu je diskutován v už poměrně starém RFC-1546 a vývoj je shrnut v RFC-2101.

Princip implementace je takový, že anycastová IP adresa se „propaguje“ do routovacího protokolu „z více míst“. Tedy více serverů (obvykle se stejnou funkcí) má jednu IP adresu a routovací informaci o dané IP adrese šíří do svého okolí. Pokud tedy klient pošle nějakou zprávu na onu IP adresu, zpráva je doručena serveru, který je z hlediska IP routingu „nejblíže“. Propagaci je možné provádět pouze v rámci sítě jednoho ISP (tedy přesněji v rámci jeho autonomního systému – AS) v jeho interním routovacím protokolu (OSPF, IS-IS…) nebo je možné ji provádět i v celém Internetu pomocí protokolu BGP.

Výhody jsou poměrně zřejmé: anycast rozkládá zátěž serverů, zkracuje cesty k serverům a snižuje odezvy a tím přispívá ke zvýšení spolehlivosti služby, což je obzvláště znát v případech DDoS útoků.

Avšak anycast není možné použít pro služby, které vytváří dlouhodobé relace, kvůli změnám v routingu může být totiž každý packet doručen jinému serveru.

Naopak ideálním se pro anycast jeví DNS protokol; tuto oblast podrobněji popisuje dokument RFC-3258. DNS anycast je v poslední době velmi hojně používán. Především správci kořenových serverů a některých domén nejvyšší úrovně tím odpověděli na množící se DDoS útoky na jejich služby.

A nyní se vraťme na začátek. Tak co že to vlastně ten NIX.CZ udělal? Projekt AS112 je jen určitou speciální aplikací DNS anycastingu. Zvláštní je v tom, že jeho servery neslouží pro překlad DNS dotazů, ale spíše pro jejich pohlcování.

Rozložení IP adres v dnešním Internetu se trochu liší od původních představ autorů. Dnes už neplatí, že každý počítač má svou jedinečnou IP adresu. Naopak k Internetu je dnes připojeno velké množství sítí, jejichž počítače jsou očíslovány IP adresami ze stejného rozsahu popsaného v RFC-1918. Tyto adresy byly původě určeny pro sítě, které se k Internetu nepřipojí, a je tedy zaručeno, že nejsou do routingu Internetu propagovány. Počítače v těchto sítích komunikují s okolním světem například pomocí mechanismu zvaného Network Address Translation (NAT) a daní za takové očíslování je mimo jiné fakt, že takto očíslované servery nemohou (nebo jen obtížně) poskytovat služby ostatním uživatelům Internetu. Nicméně pokud počítače v takové síti spolu komunikují, stane se často, že jeden z nich potřebuje překlad protější IP adresy na jméno a špatně nakonfigurovaný místní DNS server takový dotaz přepošle „výš“, na centrální DNS servery Internetu.

Jak už použití těchto adres naznačuje, takový dotaz nemůže dostat žádnou rozumnou odpověď a pouze obtěžuje DNS servery. Proto vzniknul projekt AS112, v jehož rámci se po světě instalují anycastová zrcadla DNS serverů, která tyto dotazy zodpovídají. Umístění takové instance v lokálním peeringovém uzlu přináší šetření zahraniční konektivity a zrychlení zodpovídání těchto nadbytečných dotazů, a tedy i paradoxně (malé) zrychlení komunikace dvou počítačů v lokální síti. Tento přínos může být velmi markantní zejména v případě šíření nějakého viru a podobně.

Na závěr prozradím příznivcům UNIXových systémů, jak poznají, zda jejich ISP používá DNS anycast AS112 umístěný v NIX.CZ. Zkuste do příkazové řádky napsat


dig @prisoner.iana.org hostname.as112.net any

a mohli byste vidět třeba takovou odpověď:


hostname.as112.net.     300     IN      SOA
as112.nix.cz. noc.nix.cz. 2004050501 3600 600 2592000 15
hostname.as112.net.     300     IN      TXT
"http://www.nix.cz"
hostname.as112.net.     300     IN      TXT
"Unicast IP: 195.47.235.16"
hostname.as112.net.     300     IN      TXT
"See http://as112.net/ for more information."
hostname.as112.net.     300     IN      TXT
"NIX.CZ, Neutral Internet eXchange of Czech Republic"
hostname.as112.net.     300     IN      NS
blackhole-2.iana.org.
hostname.as112.net.     300     IN      NS
blackhole-1.iana.org.

Pro rozpoznání zrcadla kořenového serveru
F použijte:


dig hostname.bind @f.root-servers.net chaos txt

A pro zrcadlo domény .org:


dig whoareyou.ultradns.net @tld1.ultradns.net

Autor článku

Autor je výkonným ředitelem CZ.NIC a členem představenstva NIX.CZ. Ve volném čase se věnuje vývoji routovacího démona BIRD.

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