Analýza protokolov
Layer 3 protokoly
Protokolov na layer 3 vrstve OSI modelu je viac, my sa budeme zaoberat konkrétne jedným a to IP protokolom. Tento protokol je štandardom vo väčšine sietí vo svete čiže je najviac rozšírený.
IP protokol
Štruktúra tabuľky IP hlavičky je zobrazená v predchádzajúcej tabuľke. Samotný IP protokol nemá obojsmernú povahu, pretože tento protokol je určený len na prenos dát z jedného koncového bodu k druhému. IP protokol je schopný prenášať dáta zo zdroja (Source address) k cieľu (Destination address). Taktiež nesie informáciu o tom, aký protokol (Protocol) Layer 4 vrstvy bol použitý pri posielaní paketu. K typom Layer 4 vrstvy protokolov sa dostaneme v dalšej časti. Ako som už spomínal, IP protokol nemá obojsmernú povahu, ale niektoré informácie nachádzajúce sa v IP hlavičke budeme využívat pri zaradzovaní jednotlivých paketov do jednotlivých tokov.
Layer 4 protokoly
Tak ako pri Layer 3 vrstve, aj tu je definovaných viacero protokolov. My sa opäť budeme zaoberať najviac rozšírenými protokolmi. Patria medzi nich User Datagram Protocol, Transmission Control Protocol a Internet Control Message Protocol.
Transmission Control Protocol (TCP)
Jedná sa o protokol Layer 4 vrstvy OSI modelu, ktorý prenáša jednotlivé dáta spoľahlivo a v poradí v akom vstúpili do procesu. Taktiež je spojovo orientovaný. Nasledujúca tabuľka popisuje štruktúru TCP hlavičky.
Tento protokol má obojsmernú povahu, ktorá vyplýva z jeho pravidiel. Kedže sa jedná o spojovo orientovaný protokol, prvým pravidlom je teda nadviazanie spojenia alebo Three-Way-Handshake. Tento protokol je aj spoľahlivý a dalším pravidlom je potvrdzovanie segmentov.
Three-Way-Handshake
Prvým pravidlom je nadviazanie spojenia. Spojenie sa nadviazuje metódou nazývanou Three-Way-Handshake. Spojenie sa nadviazuje medzi dvoma koncovými bodmi siete (medzi bodmi A a B). Celý proces pozostáva z 3 fáz. V prvej fáze jeden koncový bod A, ktorý chce nadviazať spojenie, vyšle segment s príznakom SYN a sekvenčným číslom X. V druhej fáze druhý koncový bod B príjime tento segment a ako odozvu pre nadviazanie spojenia vyšle druhý segment s príznakmi SYN a ACK kde sekvenčné číslo bude iné číslo Y a potvrdzovacie číslo bude mať hodnotu X + 1. V tretej fáze bod A príjme odozvu od bodu B a vyšle tretí segment s príznakom ACK a potvrdzovacím číslom Y + 1. Z tohto pravidla je zjavné že ide o protokol obojsmernej povahy, pretože už len pri nadviazovaní spojenia sú posielané segmenty oboma smermi medzi koncovými bodmi.
Potvrdzovanie segmentov
Keď je spojenie medzi dvoma koncovými bodmi nadviazané, nasleduje ďalšia fáza a to prenos dát. Pri prenose dát sa aplikuje druhé pravidlo a to potvrdzovanie segmentov. Jeden koncový bod A vysiela segment s dátami. Tento segment má opäť nastavené sekvenčné číslo X a neobsahuje príznaky ACK ani SYN. Keď dorazí tento segment do druhého koncového bodu B v poriadku, bod B vygeneruje segment s potvrdzovacím číslom X + 1 a príznakom ACK ktorí odošle do bodu A. Ak odosielateľ dát, čize bod A nedostane potvrdzovací segment s príslušným potvrdzovacím číslom do určitého intervalu, bod A prepošle ten istý segment ešte raz. Ak odosielatel dostane potvrdenie od bodu B že segment bol doručený, prechádza sa na ďalší segment v poradí. Týmto spôsobom je zaručená spoľahlivosť prenosu dát. Opať aj z tohto pravidla vyplíva obojsmerná povaha tohto protokolu (segmenty sú posielané oboma smermi).
User Datagram Protocol (UDP)
Ďalší protokol Layer 4 vrstvy OSI modelu, ktorý je schopný prenášať dáta bez vytvárania spojenia, nespoľahlivo a nezaručuje ani správne poradie dát prenesených počas prenosu. Nasledujúca tabuľka zobrazuje štruktúru UDP hlavičky.
Nejedná sa o protokol obojsmernej povahy, pretože nemá žiadne pravidlá z ktorých by vyplývala obojsmerná povaha. Ale je potrebné vedieť jeho štruktúru pretože protokoly vyšších vrstiev používajúci tento protokol majú obojsmernú povahu (napr. DNS).
Internet Control Message Protocol (ICMP)
Další protokol Layer 4 vrstvy OSI modelu, ktorý je určený na prenos chybových hlásení indikujúcich nedostupnosť koncového bodu, routra alebo služby.
Protokol nieje spojovo orientovaný a nerieši problematiku spoľahlivosti doručovania paketov. Tento protokol nemá za úlohu prenášať užívateľské dáta medzi koncovými bodmi, ale má informovať jednotlivé prvky siete o rôznych stavoch siete. Prpípadne je používaný na zisťovanie dostupnosti prvkov siete. Protokol má rôzne typy paketov, každý informuje o niečom inom. Pre nás budú zaujímavé dva typy, konkrétne Echo request a Echo reply. Tieto dva typy spolu úzko súvisia, pretože Echo reply je odpoveďou na Echo request, a teda aj tu môžme badať obojsmernosť pri posielaní paketov. ICMP protokol ako celok nieje obojsmerný, ale pre vlastnosť týchto dvoch typov môžme aj tento protokol čiastočne zaradiť k obojsmerným protokolom.
Layer 7 protokoly
Protokoly na Layer 7 vrstve využívajú protokoly z nižších vrstiev pre komunikáciu. Väčšina protokolov využíva protokol TCP s obojsmernou povahou ale sú aj také, ktoré používajú UDP protokol ktorý túto povahu nemá. Preto sa budeme snažiť nájsť taký protokol ktorý používa UDP protokol a bol obojsmerný.
Domain Name Service protokol (DNS)
Protokol Layer 7 vrstvy, využívajúci UDP protokol. Bol vytvorený pre potreby doménových služieb. Používa sa na komunikáciu medzi doménovými servrami a klientskými stanicami.
Komunikácia prebieha vymienanim si správ medzi dns servrom a klientom. Jednotlivé správy sa skladajú z 5 sekcií: Hlavička, Otázka, Odpoveď, Autorita, Prídavok. Správy sa vymienajú jednoduchým spôsobom. Klient vygeneruje správu s otázkou na doménový server a odošle ju. Doménový server túto správu spracuje a do správy pripíše odpoveď a odošle ju späť. Z toho vyplýva obojsmerná povaha protokolu.
--
LubosHusivarga - 18 Nov 2007