Jak vlastně internet funguje: od páteřních sítí po prohlížeč

12

Nikdo nevlastní internet. Není to podnikové aktivum. Toto není státní majetek. Je to chaotická globální sbírka sítí. Velké. Malé. Spojují se nekonečným množstvím způsobů, aby vytvořily jednu entitu, kterou používáme každý den.

Od roku 1969 se rychle rozrostl. Čtyři hostitelské počítače se proměnily v desítky milionů. Měřítko je úžasné. Absence jediného vlastníka však neznamená chaos. O bezproblémový chod internetu se stará nezisková organizace Internet Society založená v roce 1992. Řídí zásady a protokoly, které řídí interakce. Bez nich by byla pravidla roztříštěná. Infrastruktura by se zhroutila.

Musíte pochopit základní strukturu. Konkrétně, jak se váš počítač připojuje k ostatním. To není jen abstraktní teorie. To určuje, jak rychle se vaše stránka načítá. Jak bezpečně jsou vaše data přenášena? Podíváme se na systémy doménových jmen. Přístupové body sítě. Obrovská páteř internetu, která nese tíhu globální komunikace.

Hierarchie připojení

Váš počítač nekomunikuje přímo se serverem, který hostí váš oblíbený web. Komunikuje s mezičlánkem. Tento mezičlánek se připojuje k větší síti. A tak dále.

Tato hierarchie je kritická. Vysvětluje, proč jsou některá spojení rychlá. Proč ostatní zpomalují? Pochopení tohoto toku pomáhá při odstraňování problémů. Pomáhá vyhodnotit složitost jednoduchého kliknutí.

Začínáme zde. Ze spojení mezi vaším zařízením a zbytkem světa.

Ty ji nevidíš. Sotva na to myslíš. Ale pokaždé, když otevřete prohlížeč, používáte obrovskou decentralizovanou infrastrukturu, která pokrývá celý svět. Váš notebook se připojuje k modemu nebo optické lince. Tato linka směřuje k vašemu Poskytovateli internetových služeb (ISP). V práci jste s největší pravděpodobností připojeni k lokální síti (LAN), kterou pak poskytovatel společnosti přeposílá do širého světa.

Internet není jeden celek. Je to síť sítí.

Velcí telekomunikační giganti provozují své vlastní páteře – širokopásmové okruhy běžící 24 hodin denně, které přenášejí terabajty dat milionům uživatelů současně. Regionální kanceláře spojují místní domy a podniky s těmito hlavními tepnami. Systém je navržen bez centrální jednotky. Pokud jeden uzel selže, data se nezastaví. Jsou přesměrováni. Pakety najdou novou cestu kolem překážky. Ničeho si nevšimneš.

Připojení různých sítí

Pojďme se podívat na zjednodušený snímek toho, jak to funguje.

Společnost A je malý podnik. Má interní server a síťovou tiskárnu. Dobře komunikuje sama se sebou. Společnost B je velkým poskytovatelem internetu. Vlastní budovy ve velkých městech plné serverů a routerů propojených vlastními optickými linkami.

Uživatelé společnosti A mohou mezi sebou komunikovat. Klienti společnosti B spolu mohou komunikovat. Ale tyto dvě sítě jsou izolované. Nemohou se vzájemně ovlivňovat.

K vyřešení tohoto problému se obě společnosti dohodly na připojení k internetovým výměnným bodům (IXP) v různých městech. Tato dohoda umožňuje jejich různorodým systémům propojit se s širším internetovým ekosystémem. Nyní mezi nimi může procházet provoz.

Toto je mikroskopický pohled na globální internet. Pro makroskopický pohled viz projekt Opte Barretta Lyona. Mapuje vyvíjející se kanály internetu a odhaluje složitou strukturu internetových kanálů a připojení podobnou webu.

Role routeru při přepojování paketů

Nic z toho by nefungovalo bez routerů. Tato specializovaná zařízení jsou kontrolory provozu digitálního světa. Určují přesně, kam se mají datové pakety posílat z jednoho bodu do druhého.

Zpráva může zanechat zařízení v New Yorku a dorazit do Tokia ve zlomku sekundy. K tomu prochází mnoha sítěmi a desítkami routerů. Každý router má dva hlavní úkoly:

  • Traffic Control: Zajišťuje, že informace nebudou ucpávat připojení pro nespřízněné uživatele. Zabraňuje přetížení „neutrálních“ sítí provozem, který pro ně není určen.
  • Záruka doručení: Zajišťuje, že data budou doručena na místo určení, i když je přímá cesta zablokována.

Směrovače propojují sítě a zároveň je udržují oddělené. Předávají informace, ale zabraňují nežádoucímu přetečení. Ať jsou propojeny dvě sítě nebo dva tisíce, funkce zůstává stejná. Internet se opírá o tuto nutnost fungovat jako koherentní, byť chaotický celek.

V roce 1986 vybudovala National Science Foundation (NSF) první skutečnou vysokorychlostní internetovou páteř. Jmenovalo se to NSFNET. Na dnešní poměry to nebylo příliš působivé. Jedna linka T1 spojující 170 menších sítí. Rychlost byla 1,5 Mbit/s. Je to pomalé. Bolestně pomalé.

Na jeho vybudování pomohly IBM, MCI a Merit Network. Rychle pochopili, že 1,5 Mbps nebude stačit. Následující rok spustili dálnici založenou na technologii T3. Tím se rychlost zvýšila na 45 Mbps. Na tu dobu obrovský skok.

Páteřní sítě jsou prostě hlavní tepny internetu. Zvládají objemy provozu, se kterým by se vaše domácí Wi-Fi síť nikdy nesetkala. V počátcích měly zařízení pro správu takové šířky pásma pouze obří telekomunikační společnosti. Tu infrastrukturu jste si nemohli jen tak koupit.

Nyní je vše jinak. Stovky společností provozují vlastní vysokokapacitní dálnice. Všechny se připojují na různých Internet Exchange Points (IXP) rozesetých po celém světě. Vznikne tak síťovaná struktura. Gigantická dohoda mezi lidmi o volné interakci. Pokud jste v Tokiu a já v Torontu, naše data se přes tato spojení přesouvají. Každý může komunikovat s každým.

Pochopení IP adres a binární logiky

Každé zařízení v této síti potřebuje jedinečný identifikátor. IP adresa. Toto je zkratka pro Internet Protocol. Toto je jedna polovina páru TCP/IP. Druhá polovina je Transmission Control Protocol. Společně definují, jak se počítače vzájemně propojují. Protokol je prostě soubor pravidel. Předdefinovaný způsob přístupu ke službě. Obvykle prostřednictvím programu, jako je webový prohlížeč, spíše než přímo osobou.

Vezměme si standardní IPv4 adresu. Vypadá to takto: 216.27.61.137.

Lidé preferují desítkovou soustavu. Je jednodušší do něj zadávat data. Ale počítače mluví jazykem dvojkové soustavy. Stejná adresa v binárním formátu vypadá takto: 11011000.00011011.00111101.10001001.

Každý blok čísel se nazývá oktet. Proč? Protože ve dvojkové soustavě se skládá z osmi pozic. Čtyři oktety se rovnají 32 bitům. Každá pozice může být 1 nebo 0. To jsou dva stavy. $2^8$ se rovná 256. Takže každý oktet jde od nuly do 255.

Spojením čtyř oktetů dostaneme $2^{32}$. Asi 4,3 miliardy unikátních hodnot. To zní jako hodně. Internet však rostl rychleji, než kdokoli mohl předvídat. 4,3 miliardy nestačilo.

Některé adresy nelze použít. 0.0.0.0 je určen pro místní sítě. Pro vysílání se používá 255.255.255.255. Tyto adresy nelze přiřadit konkrétním zařízením.

Řešením byla verze IPv6. Skupina IETF (Internet Engineering Task Force) na něm začala pracovat koncem roku 1998. Oficiální spuštění proběhlo 6. června 2012. IPv6 používá 128bitové adresy. Získáte tak 340 bilionů bilionů bilionů adres. Měli bychom mít na chvíli dost. (Zatím.)

Upozorňujeme, že protokol IPv5 nebyl nikdy oficiálně implementován. Takhle to prostě nešlo.

IPv6 vypadá jinak. Používá hexadecimální systém. Segmenty jsou odděleny dvojtečkami. Například: ba5a:9a72:4aa5:522e:b893:78dd:a6c4:f033.

Hexadecimální systém používá 16 číslic. 0–9 a A–F. Písmena nahrazují hodnoty od deseti do patnácti. Je kompaktní. Efektivní. Nutné.

Zrození systému doménových jmen (DNS)

První připojení k internetu bylo manuální. Vytočil jsi číslo. Zadali jste čísla. Pokud jste chtěli dosáhnout konkrétního hostitele, potřebovali jste jeho IP adresu. Například 216.27.22.162.

To fungovalo dobře, když bylo jen několik počítačů. Když jejich počet dosáhl tisíců, stala se z toho noční můra. Pamatujete si náhodné sady čísel pro každý web? Nemožné.

Prvním řešením byl textový soubor. Hostitelský stůl. Bylo podporováno Network Information Center (NIC). Přiřazovala jména k IP adresám. Jen. Ale soubor je příliš velký. Příliš těžkopádné na ruční aktualizaci.

Paul Mockapetris viděl problém. V listopadu 1983 předložil dva RFC (Request for Comments) Mezinárodní pracovní skupině pro vytváření sítí.

RFC 882 popsal koncepty Domain Name System (DNS). Automaticky přiřazovala textová jména k IP adresám. RFC 883 navrhl implementaci.

Najednou jste si už nemuseli pamatovat 216.27.22.162. Jednoduše jste zadali www.howstuffworks.com. DNS dělal překlad. To se stalo v pozadí. Rychle.

Tento posun změnil způsob, jakým lidé interagují s webem. Přestali jsme jednat přímo s auty. Začali jsme komunikovat s tagy. Jména. Paměť se stala nedůležitou. Přístupnost se stala vším.

Rozrostla se páteřní síť. Adresy byly rozšířeny. Jména se zjednodušila. Internet se jen tak nezvětšil. Používání se stalo pohodlnějším. A pokračoval ve zrychlování. Linky T3 byly nahrazeny optickými vlákny. Rychlost 45 Mbit/s byla nahrazena gigabity. Terabity. Základní logika však zůstává stejná. Připojit. Adresa. Přeložit. Zpráva.

Stále používáme struktury vytvořené v těch prvních dnech. IPv4 umírá. IPv6 se šíří pomalu. DNS je všude. Infrastruktura je spolehlivá. Zásadní problém ale zůstává. Jak propojíme miliardy zařízení, aniž bychom se ztratili v hluku?

Odpověď není jen jeden protokol. Jedná se o víceúrovňový systém. Hierarchie dohod. Každá úroveň řeší specifický „úzký“ problém. Páteřní síť zpracovává objemy dat. Identifikaci zajišťuje IP adresace. DNS poskytuje zapamatování.

Není to magie. To je strojírenství. Chaotický, komplikovaný, krásný strojírenství. A ona se drží. Obtížně.

Zadáte adresu webové stránky. Váš prohlížeč načítá stránku. Stává se to tak rychle, že si sotva všimnete vynaloženého úsilí. Ale za touto jednoduchostí se skrývá masivní globální koordinační systém pracující na překladu lidsky čitelného textu do strojově čitelných čísel. Konkrétně Uniform Resource Locator (URL) a Domain Name System (DNS) se používají k překlenutí mezery mezi tím, co zadáváte, a tím, čemu síť rozumí.

Když zadáte „https://www.howstuffworks.com“, používáte název domény. Stejná doména, howstuffworks.com, se také objevuje v e-mailových adresách, jako je [email protected]. Pokaždé, když některý z nich použijete, přichází do hry internetová infrastruktura DNS. Převede tento popisný název na adresu IP. Jedná se o číselnou značku, kterou váš počítač používá k vyhledání konkrétního počítače, který je hostitelem daného obsahu. Bez této konverzní vrstvy byste si museli pamatovat řetězce čísel pro každý web, který navštívíte. To by bylo nepraktické. Bylo by to nepohodlné.

Struktura názvu domény

Doménová jména mají hierarchickou strukturu. Nahoře jsou domény nejvyšší úrovně (TLD), známé také jako domény nejvyšší úrovně. Jsou to známé přípony: .COM, .ORG, .NET, .EDU a .GOV. Představte si je jako široké kategorie nebo oblasti.

V rámci každé TLD existuje obrovský registr domén druhé úrovně. Jen v prostoru .COM existují organizace jako HowStuffWorks, Yahoo a Microsoft. Každý z těchto jmen musí být jedinečný v rámci konkrétní TLD. Nemůžete zaregistrovat dvě různé společnosti pod názvem “Microsoft.com”.

Nalevo od domény druhé úrovně je hostname. Toto je část, která ukazuje na konkrétní adresář nebo službu na konkrétním počítači. V “www.howstuffworks.com” je “www” název hostitele. Ukazuje na konkrétní server s konkrétní IP adresou. Jedna doména může potenciálně hostit miliony jedinečných názvů hostitelů, pokud každý z nich zůstane jedinečný v rámci jmenného prostoru dané domény.

Jak servery DNS zpracovávají dotazy

Servery DNS jsou řadiči provozu na internetu. Přijímají požadavky z vašeho prohlížeče, e-mailového klienta nebo jiných jmenných serverů na překlad doménových jmen na IP adresy. Když požadavek dorazí na server DNS, není to jen odhad. Sleduje jednu ze čtyř konkrétních cest:

  1. Přímá odpověď: Server již zná IP adresu. Okamžitě ho posílá zpět. Toto je nejrychlejší způsob.
  2. Rekurzivní vyhledávání: Server nezná odpověď. Kontaktuje jiný server DNS, aby to zjistil. Možná bude muset projít několik serverů, než najde data, která potřebuje.
  3. Přesměrování: Server říká: „Nevím, ale tady je IP adresa serveru DNS, který ano.“ Nasměruje vás správným směrem, aniž byste museli dělat těžkou práci sami.
  4. Chybová zpráva: Pokud je doména neplatná nebo neexistuje, server vrátí chybu. Dostali jste se do slepé uličky.

Tato logika zajišťuje, že požadavky jsou zpracovány efektivně, i když odpověď není dostupná v místní paměti.

Příklad podrobného překladu DNS

Podívejme se, co se stane, když do prohlížeče napíšete www.howstuffworks.com. Tento proces je štafetový závod, kterého se účastní několik specializovaných serverů.

Váš prohlížeč kontaktuje váš místní server DNS. Tento server nezná IP adresu pro www.howstuffworks.com z hlavy. Začne tedy hledat kontaktováním kořenového serveru DNS. Kořenové servery neznají konkrétní adresy stránek, ale znají kontaktní informace pro všechny servery, které zpracovávají domény nejvyšší úrovně, jako jsou .COM nebo .NET.

Kořenový server odpoví přesměrováním. Je to jako by říkal: “Nevím, kde je www.howstuffworks.com, ale vím, kdo se stará o zónu .COM.” Poskytuje IP adresu serveru .COM DNS.

Váš místní server DNS se pak dotazuje na server DNS .COM. Ptá se: “Víte, kde je www.howstuffworks.com?” Server .COM neukládá konečnou IP adresu, ale zná jmenné servery odpovědné za doménu howstuffworks.com. Vrací adresy těchto jmenných serverů.

Váš lokální DNS server nyní kontaktuje DNS server howstuffworks.com. Tento server ukládá skutečný záznam. Odpoví specifickou IP adresou pro www.howstuffworks.com.

Tato IP adresa putuje zpět po řetězci ze serveru howstuffworks.com na váš místní server DNS a nakonec do vašeho prohlížeče. Váš prohlížeč pak použije tuto IP adresu pro připojení k webovému serveru a vyžádání stránky.

Proč jsou redundance a ukládání do mezipaměti důležité

Tento vícestupňový proces se zdá pomalý. Ale neměl by takový být. Systém je navržen pro rychlost a spolehlivost prostřednictvím dvou klíčových mechanismů: redundance a ukládání do mezipaměti.

Redundance znamená, že na každé úrovni hierarchie existuje více serverů DNS. Pokud jeden kořenový server selže, nahradí jej ostatní. Pokud selže server .COM, je provoz přesměrován. Internet je distribuován přirozeně, díky čemuž je odolný vůči narušení.

Ukládání do mezipaměti je to, co udržuje rychlost na vysoké úrovni. Když DNS server vyřeší dotaz, uloží IP adresu do své mezipaměti. Pokud se váš místní server DNS již zeptal kořenového serveru na jakoukoli doménu .COM, pamatuje si kontaktní informace pro server DNS .COM. Nemusí se znovu ptát kořenového serveru. Chybí mu krok. Toto ukládání do mezipaměti probíhá na základě požadavku. Tím se zabrání tomu, aby byl systém zahlcen miliardami požadavků, které denně zpracovává.

Tyto servery jsou neviditelné. Nikdy je nevidíš. Denně však zvládají obrovské objemy provozu. Skutečnost, že tato distribuovaná databáze běží tak hladce, svědčí o její vnitřní architektuře.

Internetové servery a klienti

Jakmile je IP adresa vyřešena, je navázáno spojení. V této fázi přecházíme od pojmenování k rolím. Každý počítač na internetu spadá do jedné ze dvou kategorií: server nebo klient.

Servery poskytují služby. Ukládají data, zpracovávají e-maily a hostují webové stránky. Klienti tyto služby žádají. Jsou to zařízení, za kterými sedíte. Při procházení www.howstuffworks.com je klientem váš počítač. Stroj hostující tento obsah je server.

Klienti se připojují za konkrétním účelem. Váš webový prohlížeč komunikuje s webovým serverem na serveru. Nekomunikuje s poštovním serverem. Nekomunikuje se serverem FTP. Zaměřuje se na konkrétní softwarový proces určený ke zpracování požadavků HTTP. Tato specializace umožňuje serverům efektivně spravovat zdroje a přidělovat energii konkrétním úkolům, místo aby se snažily dělat vše najednou.

Rozdíl je také v tom, jak jsou tyto stroje identifikovány. Servery mají statické IP adresy. Nemění se. Tato stabilita je nezbytná k tomu, aby je zákazníci vždy našli.

Klienti mají obvykle dynamické adresy IP. Pokud se připojujete přes modem s přepínáním okruhů nebo typické připojení ISP, je vaše IP adresa přidělena z fondu pokaždé, když se přihlásíte. Je jedinečná pro vaši relaci. Při příštím připojení můžete obdržet jiné číslo. Poskytovatelé používají tento model k ukládání IP adres. Potřebují pouze jednu dostupnou adresu pro každé aktivní zařízení, spíše než jednu trvalou adresu pro každého klienta. Toto dynamické přiřazení je účinné pro ISP, ačkoli to znamená, že vaše digitální adresa je dočasná.

Interakce mezi statickými servery a dynamickými klienty, propojenými pomocí DNS vyhledávání, tvoří základ každodenního používání internetu. Je to komplexní tanec požadavků a odpovědí skrytý za jednoduchostí jediné adresy URL.

Přemýšlejte o tom, kdy jste naposledy načetli webovou stránku nebo stáhli soubor. Pravděpodobně jste nepřemýšleli o neviditelném „potřesení rukou“, které se odehrává v pozadí. Právě jste stiskli tlačítko. Ale za touto jednoduchostí se skrývá tuhá struktura číslovaných dveří a přísná pravidla interakce.

Servery nevysílají své služby jen do prázdna. Zpřístupňují je prostřednictvím specifických vstupních bodů nazývaných porty.

Pochopení portů a protokolů

Port je jednoduše očíslovaná brána pro konkrétní službu běžící na počítači. Pokud váš server hostí webovou stránku a server FTP, nesměšuje data. Odděluje je pomocí standardního přiřazení portů.

  • Port 80 : Toto je výchozí port pro nešifrovaný webový provoz. Když uvidíte http://, váš prohlížeč klepe na dveře.
  • Port 21 : Toto je port pro FTP. Pokud přenášíte soubory přímo, pravděpodobně používáte tento kanál.

Klienti se připojují ke službě přístupem na konkrétní IP adresu a konkrétní číslo portu. Jedná se o dvoufázové ověření polohy a typu služby.

Jakmile je spojení navázáno, začne samotná konverzace. Zde vstoupí v platnost protokoly.

Protokoly jsou gramatikou internetu. Definují, jak si klient a server vyměňují informace. Každý webový server na světě vyhovuje Hyper Text Transfer Protocol (HTTP). Jedná se o standardizovaný způsob vyžádání stránky a přijetí dokumentu HTML jako odpověď.

“Protokoly jednoduše popisují, jak klient a server povedou svou konverzaci.”

Bez těchto pravidel by se internet stal chaotickou změtí neslučitelných žargonu. Nevěděli byste, zda server mluví anglicky, francouzsky nebo jen vydává statický hluk.

Proč na této infrastruktuře záleží

Internet si často představujeme jako magický mrak. Zapomínáme, že je postaven na fyzické a logické infrastruktuře.

Sítě, směrovače, síťové přístupové body (NAP), poskytovatelé internetových služeb (ISP) a servery DNS spolupracují při přesunu dat. Je úžasné si uvědomit, že celá tato výměna probíhá v milisekundách. Žádost z New Yorku na server v Tokiu nezabere žádné vteřiny. Trvá to jen zlomek sekundy, protože routery přesně vědí, kam paket poslat.

Tato infrastruktura je víc než jen pohodlí. To je základ.

Bez těchto komponent ztrácíme možnost okamžité výměny informací. Život by se zpomalil. Obchod by se stal lokalizovaným. Komunikace by se vrátila k papírovým dopisům nebo zpožděnému vysílání.

Hypertext Transfer Protocol (HTTP) a systém portů jsou více než jen technické detaily. To je důvod, proč moderní svět funguje tak, jak funguje.

Prohloubení znalostí

Pokud se chcete podívat ještě hlouběji, musíte se toho hodně naučit.

  • Jak fungují webové servery : Toto vysvětluje mechanismus skrytý pod kapotou.
  • Struktura internetu : Pochopení hierarchie ISP a NAP.
  • DNS mechanika : Jak se doménová jména mění na IP adresy.

Internet je složitý organismus. Jakmile ale pochopíte porty a protokoly, přestane to být černá skříňka. Začnete vidět dráty. Začnete vidět pravidla.

A mění způsob, jakým komunikujete s každým digitálním nástrojem, který používáte.