Mapa Stránky:



If a man does not keep pace
with his companions, perhaps
it is because he hears a
different drummer.

Henry David Thoreau

Základy sieťovej komunikácie


V tomto článku sa budem snažiť vysvetliť niektoré základné fakty a spôsoby sieťovej komunikácie na internete. Pôjde o popis toho, čo sa v skutočnosti deje na pozadí tak Vášho lokálenho počítača, ako aj ostatných servrov v sledovanej sieti, ktorou naša komunikácia bude prebiehať.

Predstavme si teda základnú situáciu: užívateľ sediaci pri počítači s IP adresou 10.0.1.13 sa rozhodne otvoriť si internetovú stránku www.priklad.sk. Otvorí si prehliadač a v ňom zadá adresu želanej stránky. Od tohto bodu sa začne diať nasledovné:

Protokol Zdroj Cieľ Dáta
ARP 10.0.1.13 broadcast "Kto tu má IP 10.0.1.1?"
Povedz to 10.0.1.13
ARP 10.0.1.1 10.0.1.13 "IP 10.0.1.1 mám ja, 00:80:C8:57:D3:AA"
DNS 10.0.1.13 10.0.1.1 "Daj mi adresu www.priklad.sk
DNS 10.0.1.1 10.0.1.13 www.priklad.sk = 47.225.23.42
TCP 10.0.1.13 47.225.23.42 1939 > http SYN
TCP 47.225.23.42 10.0.1.13 http > 1939 SYN, ACK
TCP 10.0.1.13 47.225.23.42 1939 > http ACK
10.0.1.13 47.225.23.42 GET/HTTP 1.1
HTTP 47.225.23.42 10.0.1.13 HTTP/1.1 200 OK
HTTP 47.225.23.42 10.0.1.13 HTTP Continuation
TCP 10.0.1.13 47.225.23.42 2577 > http ACK
Seq=388864 Ack=37076821
Win=8241 Len=0

TCP 10.0.1.13 47.225.23.42 2577 > http RST
Seq=388864 Ack=37077089
Win=0 Len=0

  • 1. krok: Hľadáme miestny DNS server
    Prostredníctvom protokolu ARP [address resolution protokol] sa celej lokálnej siete spýtame na MAC adresu miestneho DNS servra, ktorý potrebujeme na to, aby nám poskytol IP adresu webservra, na ktorom sa nachádza nami požadovaná stránka www.priklad.sk. Keďže nevieme, ktorý z mnohých počítačov v sieti je DNS servrom, túto požiadavku musíme poslať do celej siete, preto je použitý na to určený broadcast.
  • 2. krok: Dostávame odozvu od miestneho DNS servra
    DNS server nám po zaregistrovaní našej požiadavky pošle svoju MAC adresu, ktorú nevyhnutne potrebujeme na to, aby sme s ním mohli komunikovať.
  • 3. krok: Zistíme IP adresu webservra
    Keď už vieme koho sa pýtať, musíme zistiť len to, akú IP adresu má stránka www.priklad.sk. Aby DNS server našej otázke porozumel, musíme sa ho to spýtať v jeho jazyku, preto v tomto bode na komunikáciu použijeme DNS protokol a DNS server sa v ňom spýtame, akú IP adresu má webserver, na ktorom je stránka www.priklad.sk.
  • 4. krok: DNS server odpovedá
    DNS server sa rýcho pozrie do svojich záznamov, vyloví IP adresu prislúchajúcu stránke www.priklad.sk a pošle nám ju vo svojej odpovedi späť.
  • 5. krok: Pozdravíme webserver
    Teraz, keď už konečne vieme, od koho si máme vypýtať stránku www.priklad.sk, pošleme na daný server pozdrav; ideme sa synchronizovat [SYN = synchronize]
  • 6. krok: Webserver nás privíta
    Webserver, ktorý sme oslovili nás odzdraví a náš pozdrav príjme [SYN, ACK = acknowledgement = potvrdenie]
  • 7. krok: Dáme webservru vedieť, že sme jeho pozdrav zaregistrovali
    Aby sme boli dostatočne slušní aj my, musíme webservru oznámiť, že aj my sme jeho pozdrav zaregistrovali a akceptovali [SYN]. Túto časť komunikácie nazývame aj "three-way handshake".
  • 8. krok: Vypýtame si želanú stránku
    v tomto momente, keď nás webserver považuje za svojho známeho, si od neho konečne môžeme vypýtať želanú stránku - náš počítač v tomto bode otvorí spojenie na webserver.
  • 9. krok: webserver nám ju umožní stiahnuť
    Inými slovami povedané, webserver nám oznámi, že si stránku môžeme stiahnuť.
  • 10. krok: Stránku si stiahneme
    Od tejto chvíle sa prostredníctvom niekoľkých paketov začnú preposielať časti samotnej stránky, ktoré sa na našom počítači uložia
  • 11. krok: Skontrolujeme, čo sme si stiahli
    Oznámime posledný stiahnutý paket..
  • 12. krok: Ukončíme spojenie
    ..a ukončíme naviazané TCP spojenie

A to je v krátkosti všetko. Podobný výpis, ako je uvedený v tabuľke vyššie si môžete hocikedy vygenerovať a preštudovať aj samy, za použitia nástroja na sledovanie komunikácie na sieti, akým je, napríklad, tcpdump.