2014-05-06

Co se stane po kliknutí myši v prohlížeči ze síťového pohledu.

Předpokládejme, že jste právě klepli na odkaz a dostali jste se sem. Vás možná prvotně nenapadlo, co se při tom všechno odehrálo a nebo, pokud jste přišli z vyhledavače, tak se o tom chcete dozvědět více. Dosti řečí!


Postup zprávy zprava od uřivate do leva k serveru.

Po klepnutí na odkaz prohlížeč vyhodnotí, že data potřebná pro jeho zobrazení se nacházejí na vzdálené síti, neboli klient (vy) žádá data po serveru. Prohlížeč tedy vydá požadavek 'HTTP Get Data' o to se postará 7. vrstva ISO/OSI modelu tím, že do hlavičky balíku dat vloží informaci o požadavku 'HTTP GET' a aplikaci, která jej chtěla - tedy prohlížeč. Tento blok dat předá nižšším vrstvám. Pro nás je dále zajímavá informace na 4. vrtsvě modelu, která asociuje službu protokolu TCP a přiřadí číslo portu. Na této vrstvě se PDU (zpráva) stejně jako výše obalí hlavičkovými informacemi s názvem protokolu, čísly portů, pakety se očíslují a další informace pro příjemce. V následujícím kroku se dodá vlastní IP adresa odesilatele a IP adresa serveru na kterém je obsah uložen, tuto číselnou adresu zajišťují další služby jako DNS a NAT. Požadavek je nyní předáván nižší, datové, vrstvě.

Tady se řeší adresy fyzické, tedy MAC adresy. Protože fyzická adresa se využívá až pro cílové doručení v lokální síti, tak se dosazuje jako příjemce MAC adresa routeru, do kterého budou data postupovat. Jsou zde také hlídány kolize v síti a v neposlední řadě kontrolní součet odesílaných dat tak, aby nedocházelo během přenosu k chybám - přeslechům či rušení. V poslední vrstvě modelu na vysílací straně se již jen rámec kóduje jako elektrický signál na fyzické médium (na drát) bit po bitu. Zařízení na druhé straně mezitím ukládá tyto bity do svého bufferu.

Přijímací router prochází přijímaná data a hledá dva bity obsahující po sobě jdoucí jedničky indikující, že zde začíná nová zpráva. Jakmile ji najde začíná s rekonstrukcí zprávy. Jakmile dojde na konec, vypočítá pro přijatá data kontrolní součet a porovná jej se součtem vypočítaným odesílací stranou. Pokud souhlasí, může pokračovat ve zpracování. Nyní si router přečte MAC adresu uloženou ve zprávě a porovná ji se svou vlastní adresou. Ta souhlasí, neboť ji tam umístil router, který zprávu odeslal. Směrovač tedy odejme hlavičky prvních dvou vrstev a předává zpracování vyšší síťové vrstvě. V tomto místě se přečte IP adresa uložená ve zprávě a porovná s tabulkou IP adres v přístroji. Nalezena shoda! Nyní už router ví, kam má tuto zprávu předat, kdo je další v cestě, který ví, kam jí doručit, neboť v jeho tabulce je pro každou IP adresu uloženo výstupní rozhraní. Zprávu je potřeba odeslat přes vzdálenou síť s jinou technologií. Současná zpráva se ponechá a doplní se hlavičky nižší vrstvy, které byly dříve odebrány. Protože jde o jiný způsob přenosu, hlavičky se liší od původních. Změní se adresa, políčko protokolu, vypočítá se nový kontrolní součet, nastaví jiná uvozující a ukončující značka a konečně odešle opět bit po bitu.

Protistana opět ukládá zprávu do dočasné paměti a zároveň ihned hledá uvozující značku poté, co ji najde dekóduje zprávu, ověří platnost kontrolního součtu a v případě, že je vše v pořádku, odebere hlavičky a postoupí zprávu vyšším vrstvám. Zde se opět hledá IP adresa v routovací tabulce IP adres v routeru. Je nalezena jako přímo připojená. Zpráva se předá nižší vrstvě. Abychom mohli zprávu úspěšně doručit, musíme do ní vložit MAC adresu příjemce. Naštěstí ji známe z nějaké předchozí komunikace a nemusíme se tak ptát pomocí speciálního protokolu. Ještě doplníme zbývající údaje do hlavičky jako protokol, naši vlastní MAC adresu, typ zprávy, spočítáme kontrolní součet a odešleme na fyzickou vrstvu, kde se zpráva převede na jedničky a nuly. V tomto momentě také musíme zjistit, jestli na médiu někdo nevysílá, vyslechneme tedy krátkou komunikaci a jelikož je "ticho", zprávu odesíláme.

Příjemce opět zprávu ukládá a hledá uvozující značku, začíná rekonstruovat zprávu, přepočítá kontrolní součet a zpracovává údaje v ní obsažené. Nejprve ověří, je-li zpráva určená pro něj. Ano je, odebírá hlavičky a předává vyšší síťové vrstvě. IP adresa ve zprávě se nyní shoduje s adresou příjemce, není potřeba zprávu nikam předávat a může být zpracována - odeberou se hlavičky a předá se výše. Nyní se rozpozná, dorazila-li zpráva ve správném pořadí společně s dalšími a případně se správně zařadí. Určí se na základě čísla portu pro kterou aplikaci je určena a ověří se, může-li být doručena. Kdyby byl například aktivovaný firewall pro daný port, zpráva by byla zničena. Naštěstí není, odeberou se hlavičky a může být předána poslední aplikační vrstvě. Hurá, nyní se zpráva dostala k serveru. Ten si přečte zprávu "HTTP Get" a na základě dalších informací vygeneruje odpověď "HTTP Response". Nyní začíná zpáteční proces doručení zprávy, ta je nyní v polovině celkové cesty, kterou musí zpráva urazit tak, abyste po klinutím myší dostali webovou stránku, kterou požadujete.

Popsaný text přitom prochází pouze přes 2 routery v síti, což je například na internet nezvykle malé číslo. Například na www.seznam.cz může být obvyká cesta dlouhá kolem 8 skoků. Můžete si to sami změřit. Otevřete příkazový řádek a zadejte tracert seznam.cz. Počítač bude chvli chroupat a poté vyhodí příslušný počet řádků jako je přeskoků v cestě. 
Hodí se také doplnit, že takový packet nechodí jenom jeden, ale pro načtení stránky je jich potřeba vcelku velké množství, nemluvě třeba o takovém přenosu videa.

A když už jsme u těch obrázků, všechno, co jsem tedy popsal, popisuje i toto anglické video:


Omlouvám se případným znalým čtenářům také za případná zjednodušení v textu, ale nešlo jej psát o mnoho odborněji, protože by nemusela být zachována přehlednost.

Jako zdroj posloužilo curriculum Cisco Academy staré úrovně CCNA 1. Zajímáte se o sítě? Naučte se počítat IP adresyMáte dotazy? Zeptejte se v diskusi.




Žádné komentáře :

Okomentovat

Dotaz, připomínka, oprava?
(pokud máte problém s vložením příspěvku, vyzkoušejte to v prohlížeči Chrome)