Podcast na Počítačové sítě a internet

Počítačové sítě a internet: Podrobný rozbor a fungování

Podcast

Počítačové sítě: Od IP adresy po cestu paketu0:00 / 14:13
0:001:00 zbývá
AdélaTak schválně, co si myslíš, že je ta jedna věc u počítačových sítí, která poplete 80 % studentů u maturity? Ta, kvůli které ztrácejí body, i když si myslí, že to umí.
OndřejTo je skvělá otázka, Adélo. Kdybych si měl vsadit, řekl bych, že je to ten chaos v protokolech. Spousta lidí slyšela o TCP a IP, ale vůbec netuší, jaký je mezi nimi rozdíl a proč někdy potřebujeme jedno a jindy druhé. Je to taková černá skříňka.
Kapitoly

Počítačové sítě: Od IP adresy po cestu paketu

Délka: 14 minut

Kapitoly

Co vás nejvíc plete?

Základy: Pakety a adresy

Telefonní seznam internetu: DNS

Pravidla hry: TCP/IP

Jak paket najde cestu?

Příběh jednoho paketu

Odeslání požadavku

Cesta paketů a odpověď

Cesta přes různé podsítě

Přepis

Adéla: Tak schválně, co si myslíš, že je ta jedna věc u počítačových sítí, která poplete 80 % studentů u maturity? Ta, kvůli které ztrácejí body, i když si myslí, že to umí.

Ondřej: To je skvělá otázka, Adélo. Kdybych si měl vsadit, řekl bych, že je to ten chaos v protokolech. Spousta lidí slyšela o TCP a IP, ale vůbec netuší, jaký je mezi nimi rozdíl a proč někdy potřebujeme jedno a jindy druhé. Je to taková černá skříňka.

Adéla: Přesně! A my tu černou skříňku dneska otevřeme. Slibujeme, že po příštích pár minutách v tom budete mít naprosto jasno a už nikdy vás to u zkoušky nepřekvapí. Posloucháte Studyfi Podcast.

Ondřej: Tak pojďme na to. Celý internet, od videí s kočkami po tenhle podcast, funguje na jednoduchém principu. Posíláme si malé balíčky dat. Říkáme jim pakety.

Adéla: Jako taková digitální pošta? Každý balíček má adresu a někam cestuje?

Ondřej: Přesně tak! A ta adresa, to je klíčová věc. Každé zařízení připojené k internetu — tvůj telefon, počítač, chytrá lednička — má unikátní adresu. Jmenuje se IP adresa.

Adéla: IP adresa, to je to divné číslo, co občas někde vidím, že? Něco jako 192.168.1.1?

Ondřej: Ano, to je příklad takzvané IPv4 adresy. Jsou to čtyři čísla od 0 do 255, oddělená tečkami. Problém je, že jich je jen asi 4,3 miliardy.

Adéla: Jenom? To zní jako hodně.

Ondřej: Znělo. Ale dneska má skoro každý člověk několik zařízení a tyhle adresy nám prostě došly. Je to jako kdyby na světě došla všechna telefonní čísla. Museli jsme přijít s něčím novým.

Adéla: A co to je? Nějaké delší adresy?

Ondřej: Přesně. Jmenuje se to IPv6. Je to 128bitové číslo a těch adres je... no, astronomicky mnoho. Konkrétně 2 na 128. To je číslo s 38 nulami. Máme jich dost na to, abychom mohli dát IP adresu každému atomu na povrchu Země. A ještě by zbylo.

Adéla: Wow. Takže problém s nedostatkem adres je vyřešen. Aspoň na pár miliard let.

Ondřej: Přesně. Ale teď si představ, že bys místo „seznam.cz“ musela do prohlížeče psát třeba 2001:0db8:85a3:0000:0000:8a2e:0370:7334. To by asi nešlo, co?

Adéla: Ani náhodou! To bych si nezapamatovala ani za nic. Jak to, že to nemusíme dělat?

Ondřej: Protože máme něco, čemu říkáme DNS neboli Domain Name System. Představ si to jako obrovský telefonní seznam pro celý internet. Ty zadáš jméno, třeba www.wikipedia.org, a DNS server ti najde a vrátí tu správnou číselnou IP adresu.

Adéla: Takže můj počítač se nejdřív zeptá tohohle „seznamu“ na číslo a teprve pak „volá“ na ten server, kde je ta stránka?

Ondřej: Bingo! Je to naprosto zásadní služba, bez které by byl internet pro lidi nepoužitelný. Ten proces se jmenuje překlad doménového jména. Počítač se zeptá, DNS odpoví číslem, a pak už komunikace probíhá pomocí té IP adresy.

Adéla: Dobře, takže máme pakety a máme adresy. Ale co řídí to, jak se ty pakety posílají? Aby se neztratily, nebo nepřišly v blbém pořadí?

Ondřej: A teď se dostáváme k jádru věci. K té věci, co mate 80 % studentů! Všechno to řídí sada protokolů jménem TCP/IP. Není to jeden protokol, ale celá rodina pravidel rozdělená do vrstev.

Adéla: Vrstev? Jako u cibule?

Ondřej: Přesně jako u cibule! Nahoře je aplikační vrstva — to je tvůj prohlížeč nebo e-mailový klient. Úplně dole je fyzická vrstva, třeba Wi-Fi signál nebo kabel. A mezi tím jsou dvě klíčové vrstvy: internetová a transportní.

Adéla: A kde je to slavné TCP a IP?

Ondřej: IP, neboli Internet Protocol, pracuje na internetové vrstvě. Jeho jediný úkol je doručit paket z bodu A do bodu B pomocí IP adres. Nestará se o to, jestli dorazí všechny pakety nebo v jakém pořadí. Prostě posílá.

Adéla: A co když se nějaký paket ztratí? To je přece problém, ne?

Ondřej: Je! A právě proto máme na transportní vrstvě protokol TCP — Transmission Control Protocol. Ten je jako super spolehlivý kurýr. Než začne posílat data, naváže spojení, pak očísluje všechny pakety, a na druhé straně kontroluje, jestli přišly všechny a ve správném pořadí. Když nějaký chybí, požádá o jeho opětovné zaslání.

Adéla: Aha! Takže TCP je pro věci, kde záleží na každém bitu — webové stránky, soubory, e-maily.

Ondřej: Přesně. Ale pak je tu jeho rychlejší, ale trochu lajdácký bratr — UDP, User Datagram Protocol. Ten nic nekontroluje, prostě jen chrlí data. Ztratilo se něco? No a co. Rychlost je hlavní!

Adéla: K čemu je dobrý takový lajdák?

Ondřej: Je super pro věci, kde je rychlost důležitější než stoprocentní spolehlivost. Třeba streamování videa nebo online hry. Když ti ve filmu vypadne jeden snímek, svět se nezboří. Ale kdyby se video zasekávalo a čekalo na ztracený paket, to by bylo k vzteku. Takže pamatujte: TCP je spolehlivost, UDP je rychlost.

Adéla: Dobře, takže TCP paket s kouskem webové stránky vyrazí na cestu. Jak ale ví, kudy jet? Internet je přece obrovský.

Ondřej: Ví to díky zařízením, kterým říkáme routery neboli směrovače. Každý router je jako křižovatka s chytrou navigací. Podívá se na cílovou IP adresu paketu a ve své směrovací tabulce najde, kterým směrem ho má poslat dál, aby se dostal blíž k cíli.

Adéla: Takže paket skáče z jednoho routeru na druhý, dokud nedorazí na místo?

Ondřej: Přesně tak. A ty cesty se můžou měnit. Když je někde na trase zácpa nebo výpadek, routery to zjistí a začnou posílat pakety jinudy. Je to neuvěřitelně dynamický systém. A tady se hodí i podsítě.

Adéla: Podsítě? To zní jako menší sítě v síti?

Ondřej: Ano, je to způsob, jak si velkou síť logicky rozdělit na menší, lépe spravovatelné části. Představ si to jako město rozdělené na čtvrti. Pošta v rámci jedné čtvrti je rychlá. Když posíláš dopis do jiné čtvrti, musí jít přes hlavní poštu – a tou je v našem případě router. Zlepšuje to bezpečnost a snižuje to zbytečný provoz.

Adéla: Pojďme si to celé ukázat na příkladu. Chci si otevřít stránku „www.priklad.cz“. Co se stane jako první?

Ondřej: Tvůj prohlížeč na aplikační vrstvě vytvoří požadavek. Ale ještě neví, kam ho poslat. Takže se nejdřív zeptá DNS serveru: „Jakou IP adresu má www.priklad.cz?“

Adéla: DNS server odpoví, třeba „203.0.113.45“.

Ondřej: Přesně. Teď už tvůj počítač zná adresu. Takže TCP protokol naváže spojení se serverem. Pošle mu paket s označením SYN, server odpoví SYN-ACK a tvůj počítač pošle ACK. Tím si potvrdí, že jsou oba připraveni.

Adéla: A pak konečně odejde ten požadavek na stránku?

Ondřej: Ano. HTTP požadavek se zabalí do TCP paketu, ten se zabalí do IP paketu s cílovou adresou a odešle se přes tvůj domácí router do světa. Skáče přes několik dalších routerů, až dorazí k serveru priklad.cz.

Adéla: Co se stane, když je na tom serveru firewall a ten požadavek zablokuje?

Ondřej: Skvělý dotaz. To je jako když dojdeš ke dveřím, zaklepeš, někdo ti i otevře, ale jakmile řekneš, co chceš, tak ti zabouchne před nosem. TCP spojení se třeba naváže, ale firewall pak ten konkrétní HTTP požadavek na portu 80 prostě zahodí. Server neodpoví.

Adéla: A můj prohlížeč bude čekat a čekat, až to vzdá a napíše chybu „vypršel časový limit“?

Ondřej: Přesně tak se to stane. Takže abychom to shrnuli, pamatujte na ten rozdíl: IP adresa je logická adresa pro cestu přes internet, zatímco MAC adresa je fyzická adresa pro komunikaci v rámci jedné lokální sítě, třeba u tebe doma. A TCP je spolehlivý kurýr, UDP je rychlý pošťák. Když tohle u zkoušky udržíte v hlavě, nemůžete udělat chybu.

Adéla: Dobře, takže TCP spojení je navázáno. Jsme připraveni. Co se děje dál, Ondřeji? Jak se ten můj klik dostane na druhý konec světa?

Ondřej: Teď přichází ta pravá magie! Prohlížeč odešle HTTP požadavek. Ale nepošle ho vcelku. Představ si to jako skládačku. Rozdělí se na malé segmenty, které TCP zabalí do paketů.

Adéla: Paketů? Zní to jako malinké balíčky.

Ondřej: Přesně tak! A každý ten balíček dostane adresu – cílovou IP adresu serveru. Jako když posíláš dopis. Tvůj domácí router ho předá dál, router poskytovatele zase dál... a takhle cestují přes celý internet.

Adéla: Takže to není přímá linka? Spíš jako štafeta?

Ondřej: Výborná analogie! Každý router je běžec ve štafetě. A co je na tom nejlepší... pakety můžou cestovat různými cestami a dorazit na přeskáčku.

Adéla: Počkat, takže server dostane úplný chaos?

Ondřej: Neboj. Právě proto je tam TCP. To si je na serveru pěkně seřadí, zkontroluje, jestli se něco neztratilo, a předá hotový požadavek webovému serveru.

Adéla: A ten pak pošle odpověď stejnou cestou zpátky?

Ondřej: Přesně tak. Naseká webovou stránku na pakety a pošle je na cestu k tobě. Tvůj prohlížeč si je zase složí a... voilà, vidíš stránku.

Adéla: Úžasné. Takže klíčem je to chytré dělení a skládání. A právě o bezpečnosti tohoto procesu si povíme víc hned po krátké pauze.

Adéla: Dobře, to pokrývá úspěšné spojení. Ale co když zkusíme poslat paket na IP adresu, která prostě neexistuje?

Ondřej: Přesně to je náš třetí pokus. A je to častější, než si myslíš. Ukazuje to, jak síť řeší problémy.

Adéla: Tak co se stane? Bude ten paket bloudit navždy kyberprostorem jako nějaký digitální duch?

Ondřej: To naštěstí ne. Paket putuje přes routery, ale nakonec narazí na jeden, který neví, kam dál. Cíl prostě nemá ve své směrovací tabulce.

Adéla: A co potom? Jen to vzdá?

Ondřej: V podstatě ano. Tenhle router pošle zprávu ICMP zpátky tobě, odesílateli. Je to zpráva „Destination Host Unreachable“. Síť ti v podstatě říká: „Hele, nemůžu to najít.“

Adéla: Aha, taková digitální „vrácenka“. To dává smysl. A co náš poslední, čtvrtý pokus?

Ondřej: Tenhle je zásadní. Podíváme se, jak paket cestuje mezi různými podsítěmi. Tady se děje kouzlo.

Adéla: Kouzlo? Jsem napjatá!

Ondřej: Paket nejprve dorazí k místnímu routeru, tedy k bráně. A teď to přijde: IP adresy odesílatele a příjemce zůstávají po celou dobu stejné, ale MAC adresa se mění při každém „skoku“ k dalšímu zařízení.

Adéla: Takže IP adresa je cíl cesty a MAC adresa je jen další zastávka na trase?

Ondřej: Přesně tak! IP adresa je jako adresa domu, aby pošta věděla, kam balík celkově míří. MAC adresa je jen jméno konkrétního pošťáka, který si ho předá v dané čtvrti.

Adéla: Skvělé přirovnání! Takže abychom to shrnuli: víme, jak pakety najdou správný počítač, co se stane, když se ztratí, a jak cestují přes podsítě. To je naprostý základ sítí.

Ondřej: Přesně. Kdo tohle chápe, má obrovskou výhodu. Už nebudete jen bezradně klikat, ale budete přemýšlet jako síť samotná. A to je ta superschopnost.

Adéla: Fantastické, Ondřeji, moc děkujeme. A vám, našim posluchačům, děkujeme za poslech Studyfi Podcastu. Učte se chytře!