no, to je 10kW odpadního tepla v "šatní skříni", moc se to datacentrům nelíbí a také s tím bojujeme, naslibují, že není problém a pak při instalaci řeknou, že víc jak 5kW tam dát nemůžeme. Oni kluci totiž předpokládají, že se tam dají stroje, které se budou flákat a ne topit naplno.
Při procházce v novější datacentrech to vypadá jak v zemi duchů, poloprázdné racky a přitom mají plno :).
Otazka je proc to nutne instalovat vertikalne a ne horizontalne. 30 serveru v 10 racich vam to topeni trocha distribuuje. Stejne to tam namontujete jednou a par let na to nesahnete.
Jako duvody vidim bezpecnost - jednotlivy rack lze fyzicky uzamknout, a pak chybejici mezi-rackova infrastruktura (treba nenasvicene vlakna). Nebo je v tom neco jineho?
Hostingové firmy dost často přehání a pak se diví, když to naslibované chcete používat naplno. My jsme takto museli opustit několik hostingů, když jsme si zaplatili server s unmetered 1Gbit konektivitou a pustili tam službu, která nonstop generuje provoz v řádu stovek Mbit. Většinou se pak ozval support, že takhle by to nešlo a buď si připlatíme nebo nám omezí rychlost linky (případně oboje).
sorry, máš pravdu, překlep v hlavě, myslel jsem autoritativní servery, zbytek myšlenky to ale nemění.
Jo, v podstatě to je key-value, ale ty mraky věcí navíc typu DNSSEC a další drobnosti přidávají asi na složitosti. Nejsem fpga vývojář a nevím, proč to nikdo nepoužívá, vidím pouze kolik stojí projekty aplikací nad fpga a nejsou řádově levnější, cenově jsou srovnatelné.
Víš o nějakém DNS serveru na fpga? Já jsem o tom ještě neslyšel, rád se poučím a také by měl zajímalo, co brání to implementovat.
Nic tomu nebrani. Ja FPGA nedelal, ale kluci si s nejakym pilotem s asociativni pameti hrali (nazev si nepamatuju). Sync primaru a sekundaru se delal samozrejme rucne nahranim kompilovanych zaznamu zon. To bylo jeste pred DNSSEC, ted odhaduji, ze je narocnejsi zvladnout treba negativni dotazy nebo dotazy na hvezdicky a navic nektere zony muzou mit az rad GB, takze se (obecne) prodrazi HW. Kazdopadne kdyz vidim s jakymi naroky stavi na klasickem zeleze, tak se jen divim, ze to nedelaji jednou deskou s FPGA.
Dobry den!
I timto jsme se zabyvali, ale implementace DNS protokolu v cele jeho siri na FPGA nam pripada nemozna nebo alespon nesmirne narocna. Spise premyslime o nejake parcialni HW akceleraci DNS serveru, ale ani to neni mozne udelat v nejakem kratkem case a vystavba konvencnich stacku (jako to delaji vsichni DNS operatori) se nam v soucasnosti jevi jako nelepsi reseni.
Přítelkyně měla výzkumný projekt na výrobu asicu na DNS pro jednu firmu která do toho investovala. Prototyp na FPGA od xilinxu. Ani za 5 let to nedodelali a měli problémy s komplexitou. Byl to ale malý tým asi 15ti lidi. Teď řeší jednoduché věci pro telco. Respektuji toho kdo umí VHDL...:)
U rekursivniho DNS je komplexita zrejma, ovsem u autoritativniho bez nutnosti podpory transferu zon je to diametralne odlisne. Ve vedecke literature popisuje tym 4 lidi (Sadoun et al) jak to prototypovali za 18 mesicu. Zpusob jejich reseni je mozne jeste vyrazne zlepsit, ale i tak ukazali, ze je to realne a schudne. Proto by me zajimalo jak to vidi NIC, kdyz misto takovychto veci resi a financuje projekty nesouvisejici s DNS.
Tak ono za tu dobu zivotnosti tohoto reseni (kolik let se planuje?) by se to jiste stihlo vyvinout i otestovat. Mohli by jste treba zverejnit (klidne soukrome, nebo osobne) kolik je to cca dat/zaznamu a jestli jde jen o vyhledavani konkretniho nazvu nebo jake vlastnosti ma takovy autoritativny server umet? Klidne bych se nad tim zamyslel vic do hloubky - jak dobry nebo spatny napad by to byl.
Běžná TLD zpravidla obsahuje milióny až desítky miliónů záznamů a spotřeba paměti se pohybuje v jednotkách GiB. Výše zmíněný návrh, absence transferů, je opravdu geniální nápad, když se zóna aktualizuje v řádu desítek minut. Obecně výměna zóny za běhu je zajímavá úloha. Kromě samozřejmé podpory UDP, je nutné podporovat i TCP ve stejném rozsahu. Zpracování TCP by mělo být asynchronní kvůli jednoduchým útokům DoS. Je dost reálné, že brzy se bude používat TLS, což vyžaduje spoustu kryptografie. Zónová data mají obecně hierarchickou strukturu a jejich řazení je rovněž nezbytné kvůli zpracování DNSSEC dotazů. DNSSEC dále vyžaduje hašování. Logika sestavování odpovědí s DNSSEC je kapitola sama pro sebe. Komprese doménových jmen je také triviální záležitost. Ve výčtu by se dalo pokračovat. Celkově takový HW špatně škáluje a jeho vývoj i samotná cena by byla velká. Nehledě na to, že výsledek je diskutabilní. Bohužel to vypadá, že tady je každý odborník na DNS z dob před třeceti lety a kdo se ještě nedostal z naivní akademické úrovně mám PoC, tak hotovo :-/
Výše zmíněný návrh, absence transferů, je opravdu geniální nápad, když se zóna aktualizuje v řádu desítek minut.
Zóna se aktualizuje tak často, jak se správce TLD rozhodne. CZ.NIC zrovna letos frekvenci aktualizace zóny snížil z původních pěti hodin na jednu hodinu. Každopádně absence transferů tomu vůbec nevadí, dostat zónový soubor na serveru je možné i jiným způsobem – a pro přenos souborů existují vhodnější protokoly, než DNS.
Obecně výměna zóny za běhu je zajímavá úloha.
Vskutku ano. Zkopíruje se nový zónový soubor a pak se serveru pošle signál, že má začít používat ten nový soubor.
DNSSEC dále vyžaduje hašování. Logika sestavování odpovědí s DNSSEC je kapitola sama pro sebe.
Pokud odpovědi podepisuje server online, nestačí jenom hashování, ale hlavně podepisování. Pokud se nepoužívají NSEC3 záznamy, server naopak nic hashovat ani podepisovat nemusí, jenom servíruje záznamy ze zónového souboru. (CZ.NIC používá NSEC3, aby nebylo možné obsah zóny .cz vylistovat.)
V zóně cz je SOA záznam pro doménu cz, tedy jeden. Každá registrovaná doména, která je v zóně, musí mít alespoň 1 NS záznam. Tím to končí. Glue záznamy ( A/ AAAA) jsou tam pouze v případě, kdy je jmenný server ve stejné zóně.
Můžu poprosit o odkaz na statistiku, že 1/3 jmenných serverů v TLD cz běží i na IPv6? Mimochodem, i ten váš chybný výpočet dává 7,4 milionu, takže ani s tou matematikou to není nijak slavné.
https://stats.nic.cz/stats/ipv6_domains/
https://www.root.cz/clanky/tretina-domen-cz-ma-ipv6-adresu-koncovych-uzivatelu-je-v-cesku-10/
Vzhledem k tomu, že ani jeden z nás nemá přesnější informace o obsahu TLD .cz, tak si o matematice můžeme myslet každý co chceme. Je to možný odhad.
Popletl jste počet adres s AAAA záznamy s počtem zón, jejichž DNS servery jsou dostupné přes IPv6. V tom druhém odkazovaném článku se píše, že těch druhých je přes 71 %.
Každopádně máme informace o tom, že v zóně cz nejsou SOA záznamy pro podřízené domény, stejně jako máme informace, že tam nejsou glue záznamy pro každou podřízenou doménu.
O matematice si každý můžeme myslet, co chceme, což nic nemění na tom, že (1+2+2+2×1/3) × 1,3 milionu není 10 milionů.
Tak když mně vysvětlíte, jak se bez A záznamu pro daný NS dostane na dotyčný nameserver, tak vám to budu věřit :-)
Tj. jak se z
cvut.cz NS ns.cvut.cz
dostane se svým dotazem na nameserver ns.cvut.cz, který mu pak odpoví na www.cvut.cz A 147.32.3.202
(doména cvut.cz byla vybrána náhodně, abychom si to nekomplikovali NS záznamy z jiných domén, jako třeba u root.cz)
To je úkrok stranou. Debata se točí kolem toho, kolik nameserverů má IPv6. Ty jsi do toho namotal to, kolik domén má AAAA záznam. To první je v zóně .CZ (a ano, může tam být glue záznam, pokud je to potřeba), to druhé už ale neleží u CZ.NIC a je to v jednotlivých delegovaných serverech. O tom je odkazovaný článek na Rootu o počtu IPv6 v doménách. Ale nesouvisí to s tím, kolik je toho v zóně .CZ.
Ale to já uznávám, ano, jsou tam A/AAAA glue záznamy pro nameservery. Ale nejsou tam koncové A/AAAA záznamy pro jednotlivé domény. Záznam pro www.root.cz tam prostě není a o něm je právě statistika odkazovaná v tom článku. Ten se nezabývá nameservery.
Ano, pokud mate NS ve stejne zone na kterou se ptate, tak potrebujete glue zaznamy. Ale to neni ani nutnost, ani pravidlo, dokonce ani doporucene chovani (dokonce je velmi vhodne aby - pokud ma zona vice NS - kazdy NS byl v jine zone, tj pro cvut.cz bych mel ns.upol.cz, ns.cuni.cz a ns.muni.cz). Naprosta vetsina domen ma ns v zone providera nebo registratora a jsou prirazene pomoci NSS.
Jinak receno platna funkcni zona v .cz muze mit presne 1 zaznam - SOA. Bude to trochu proti RFC ale bude to fungovat.
přibližně třetina domén má záznam typu AAAA, tedy je k nim přiřazena IPv6 adresa
Jenže tím se nemyslí to, že by měl IPv6 adresu přiřazen jmenný server, ale že uvnitř té domény jsou názvy s AAAA záznamy. Když si ten článek přečtete celý, dočtete se tam také tohle:
Zajímavý je také pohled na počet NS záznamů s IPv6. Ukazuje, kolik autoritativních DNS serverů je po šestce dostupných: je to více než 71 %. Je to dáno tím, že registrátoři a různé hostingy provozující pro své klienty DNS servery jsou na IPv6 velmi dobře připraveni.
A to je to číslo, které nás zajímá, tedy kolik jmenných serverů pro domény v TLD cz může mít potenciálně glue AAAA záznam. Nicméně z toho také plyne, že velký podíl na jmenných serverech dělají servery doménových registrátorů a webhosterů, ke kterým tedy v zóně cz není potřeba glue záznam.
To by platilo pouze v případě, že by každá doména měla vlastní GLUE záznamy. Pro většinu domén to ovšem neplatí. Stejně tak je v zóně pouze jedno SOA.
Ale i tak je pro každou delegovanou zónu:
0.5 x DS
2+ x NS
0.1+ GLUE (konzervativní odhad 5%)
0.5 NSEC3 (opt-out)
tj.
673 936 DS
2 614 170 NS
130 708 GLUE
673 936 NSEC3
tj. velmi konzervativně budeme na 4 mio, ale bude to spíše více (tak o jeden mio), vzhledem k tomu, jak se největší registrátoři chovají k NS záznamům.
Nicméně jestli je to 5 mio nebo 10 mio je jenom dvojnásobek... a stačí, aby se pár velkých registrátorů rozhodlo přidat jeden NS záznam navíc a vyletí to nahoru, takže stejně na těch 10+ mio musíte mít nachystanou infrastrukturu, protože nemůžete držitelům říct: "sorry, na to naše FPGA nemá paměť".
@dns: mylite se v mnoha vecech, ale aspon uvadite konkretni problematicka mista.
Absence zonoveho transferu: naprosto irelevantni, DNS server nemusi nic takoveho podporovat pro treti stranu, a interne si to muze vyresit jak chce. Toto je elementarni znalost, ze ktere je patrne, ze o DNS vite prilis malo.
TCP: lze vzdy zajistit predsazenou FPGA deskou s prislusnym stackem a dalsi komunikaci po internim rozhrani, spolecnem s UDP.
TLS: totez co vyse plati i o TLS, do 10Gbps to FPGA dava daleko lepe jak standardni zelezo.
Skladani odpovedi a pamet: cast DNS otazky se kopiruje a doplnuje se neco, co lze dopredu predpripravit. Cim vice se predpripravi, tim to bude rychlejsi ale narostou pametove naroky. Do radu desitek GB to jde resit "levne", bud primo jednim chipem anebo rozkladem.
Bohuzel to vypada, ze praktici, kteri tvrdili, ze neni mozne postavit vlak jedouci vyssi rychlosti jak 20mil/h, protoze by podtlak proudiciho vzduchu vysal vzduch z vagonu, jeste nevymreli. Ted budou tvrdit, ze nejde neco postavit, protoze by to bylo prilis slozite a to se proste nemuze.
Nějak si nejsem vědom, že bych psal, že to nejde udělat. Jen jsem se snažil vyvrátit názor, že jde jen o databázi klíč-hodnota. Celkem by mě zajímalo kolik se toho kopíruje z dotazu do odpovědi. Viděl jste někdy NSEC3 důkaz neexistence záznamu v kombinaci s wildcard nebo CNAME? Je náročné to dobře implementovat i ve vyšších programovacích jazycích. Ok, nebudete mít transfery. Možná zonefile parser? Nebo jak zónová data budete připravovat? To jsou praktické a důležité problémy, aby takové řešení šlo rozumně používat v kombinaci s jinými implementacemi (viz článek). Leccos jsem již v DNS naprogramoval, tak mám představu co to obnáší. Nemám potřebu se s vámi hádat. Jen mi není jasné, proč to DNS v HW ještě nikdo nedělá (neznám). Každopodádně jestli je to taková trivka, tak dejte vědět cz.nic, jistě vám dají šanci to zrealizovat.
1) je to databaze klic-hodnota, s timto faktem nic neudelate, zbytek jsou jen technikalie
2) kompilaci zonoveho souboru muze delat ten, kdo pro FPGA pripravuje data a distribuuje je tam, tj. je to trivialni uloha na urovni LL(k) a upload do FPGA
3) NSEC3 lze predkompilovat stejne jako klasicke odpovedi, stoji to jen vic pameti (+doplnkovou kalkulaci), ale hlavni problem je ta pamet. takze tohle jde bud udelat rychle a zaplatite vic za HW s velkou pameti, anebo bude trvat vyvoj dele a najde se mene narocne reseni. Viz mnou odkazovany clanek na onen vedecky tym vyse.
4) neni mi uplne jasne, co byste mohl v DNS vubec programovat.
5) proc to jeste nikdo nedela? Protoze to neni commodity hardware a vyzaduje to vyssi uroven znalosti, ktere nema kazdy druhy bouchac kodu. Jeden z mnoha to vsak delat muze, zvlast pokud ma potrebne znalosti a penize/cas.
Tomas3, 21:25: Ještě upřesním, že mi samozřejmě nejde o to, jak záznamy do té mapy dostanete, ale jak je odsud vyzvednete – já to umím jedině s výpočtem hashe z požadovaného jména, a navíc tu databázi klíč-hodnota potřebuju mít podle hashů setříděnou, takže to úplně obecná databáze klíč-hodnota není.
Odpoved najdete v RFC7129. Baze klic-hodnota nijak neomezuje pocet tabulek ani pristupove metody, neni to jedina konstantni hash tabulka s jedinou get(x) funkci. Bezne dovoluje dotazy na nejblizsi polozky klice apod. Jinak ve Wikipedii si jiste dohledate, co patri do rodiny key-value bazi, pricemz pro tuhle ulohu staci samozrejme jen neco jednoducheho v podobe rozhodovaciho stromu nebo seznamu se skokem.
Re 1), a kam přesně do vaší K-V databáze spadají child-parent vztahy, empty non-terminaly?
Re 3) nelze, pro každou příchozí *miss* odpověď musíte ten hash spočítat. A nedej bože, že byste třeba chtěl NSEC minimal encloser odpovědi.
Re 4) A můžu se zeptat, na kolika DNS serverech jste za svůj život pracoval?
Re 5) Nebo se to prostě pro tento druh úloh nevyplatí. Formát DNS paketu taky není žádná hitparáda pro "drátování" do HW...
@ O. Sury
Predpokladam, ze stale probiha diskuze o ADNS, nikoliv o rekursivnim rezimu.
1) budte konkretnejsi jaky konkretni vztah reseny v ADNS potrebujete reprezentovat jako key-value
3) mylite se, pro ADNS se prislusna struktura muze predpripravit, viz jiz zminene RFC7129. Zrejme chapete key-value bazi napr. jako hashtabulku vyhradne s puvodnimi plain klici.
4) myslite instalace? Asi stovky. Pred zhruba 15 lety jsem to prestal pocitat. Myslite-li servery jako produkt, pak asi 5-7 v kategorii ADNS.
5) ten bastl vam prijde zahusteny v dotazu, coz se kopiruje, a vysledny produkt jde opet v dostatecnem rozsahu predpripravit mimo samotne FPGA, pokud by se s tim nekdo nechtel trapit primo na svabu
Zrejme chapete key-value bazi napr. jako hashtabulku vyhradne s puvodnimi plain klici.
Nemusí to být původní klíče v otevřeném tvaru, ale jinak obecně databáze klíč-hodnota je opravdu jen mapovací tabulka, která umí pro zadaný klíč najít odpovídající hodnotu, a nic jiného. A může být implementována třeba pomocí hash tabulky. Pokud máte na databázi nějaké další požadavky, nemůžete napsat, že na to stačí databáze klíč-hodnota, protože libovolná databáze klíč-hodnota na to nestačí.
1) Já jsem se Vás ptal, jak v key-value databázi vyřešíte empty non-terminaly.
3) Ne, nepochopil jste dotaz. Přečtěte si můj původní dotaz ještě jednou, a odpovězte na něj.
4) Myslím tím DNS server jako produkt podporující moderní DNS protokol. V kategorii autoritativních DNS ani 5-7 implementací není.
Tomu prostě nerozumíš, přece to vědci napsali, tak to musí být pravda. Sovětští inženýři vynalezli betonové lodě. A ti stejní jedinci, co tady tuhle ptákovinu navrhují, by pak pro změnu pod každým článkem řvali, že CZ.NIC sdírá majitele domén, aby mohl vyhazovat peníze oknem. (Vzor: Turris Omnia).
Nepřipadá mi, že by někdo tvrdil, že DNS nad FPGA nelze postavit.
Trochu o DNS něco vím, a platí, že dnešní DNS protokol je mnohem komplexnější, než se nás všechny snažíte přesvědčit.
Dokud je a) prostor pro zrychlení na komoditním hardware[*], b) rychlost na komoditním hardware je dostatečná, tak pořád příliš nedává smysl vyvíjet něco pro drahé FPGA (a na levném to prostě nepostavíte). Někde je ten prostor pro vylepšení větší, jinde už např. dává smysl podpora pro DPDK, vlastní IP stack, atp.
* - existují PoC implementace na 12 mio odpovědí za sekundu, ale ty přesně neumí vůbec nic z moderního DNS.
@O. Sury:
Zkuste to popsat konkretne. Co je tim komplexnejsim mistem v protokolu DNS? Zejmena se zamerte na body, ktere jsou z pohledu ADNS "mandatory".
Tady se totiz porad argumentuje "komplexnim DNS protokolem" - snad neni tak narocne uvest nejaky konkretni aspekt toho "komplexniho" protokolu. Staci odkaz na odstavec v nejakem RFC, pokud se nechcete rozepisovat.
Vybral jste si jednu konkrétní věc, a na zbytek jste neodpověděl.
DNS over TLS bude časem dospecifikováno a implementováno i pro komunikaci mezi rekurzivním a autoritativním serverem.
Jinak v RFC 7830 Security Considerations je v tomhle chyba. EDNS(0) Padding by byla pořád dobrá ochrana proti sběratelům metadat v případě:
a) transport je TCP (tj. nehrozí reflection útok)
b) dotaz přijde s validní DNS Cookie
Ale jak již psal kolega jinde, pokud je to podle Vás tak snadné, tak by neměl být problém na to vybrat peníze. Velké DNS operátory to určitě bude zajímat. Zvu Vás na další DNS-OARC - ten podzimní bude v Amsterdamu, to byste mohl dát i za svoje, pokud si za tím tak stojíte.
Dobrý den,
ISP stack je umístěn ve společnosti Seznam proto, že na základě celkového objemu DNS požadavků za den se řadí do první desítky největších konzumentů DNS provozu.
Když se pak podíváme na PTR záznamy dotazujících se zdrojových IP adres (tedy jejich rekurzivních DNS serverů), pak se jedná z velké většiny právě o freemailovou službu.
VS
Docela by mě zajímalo jak vypadají grafy průměrného a maximálního počtu DNS požadavků za sekundu na těchto root serverech v bežném provozu. Není to někde dostupné?
Provozuji několik veřejných NTP serverů a občas vidím špičky 100x větší než průměr, i když se zrovna nikdo nepokouší o nějaký útok, což už ty servery nezvládnou všechno zpracovat. U NTP je problém asi hlavně ntpdate pouštený z cronu a různé mobilní aplikace, které posílají požadavky ve stejnou dobu. Je něco takového vidět i v DNS?
Provozuji rekurzivni servery s radove desitkami tisic req/s a v DNS provozu se nam spicky prilis neobjevuji. Co je problem, tak jsou utoky z otevrenych resolveru nasich zakazniku, to dokaze pekne potrapit. Ne snad ani ty servery, jako spis sitovou infrastrukturu. Obrovsky pomaha nasazeni cache. Klienti se totiz dnes ptaji temer vsichni na totez.
U nas je ten pomer maxima a prumeru je tak 4:1 a prakticky kopiruje datovy provoz.
root-servers.org
viac nez polovica ma verejne dostupne statistiky