Komunikácia v počítačových sieťach
1. | Počítačová sieť |
2. | Komunikácia v počítačových sieťach |
3. | Manažment počítačovej siete |
4. | Návrh klientskej aplikácie pre monitorovanie počítačovej siete
|
Obsah
Referenčný model ISO/OSI
Model ISO/OSI definuje spôsob komunikácie v sieti medzi počítačmi. Spôsob komunikácie je rozdelený do siedmych vrstiev [4]:
- Aplikačná vrstva (Application layer)
- Prezenčná vrstva (Presentation layer)
- Relačná vrstva (Session layer)
- Transportná vrstva (Transport layer)
- Sieťová vrstva (Network layer)
- Spojovacia vrstva (Link layer)
- Fyzická vrstva (Physical layer)
Uvedené vrstvy sú prevažne realizované sieťovým softvérom. Používateľ alebo aplikačný program zadá požiadavku na prenos správy. Správa prechádza postupne jednotlivými vrstvami od aplikačnej až po fyzickú a je príslušnou vrstvou spracovaná. Vrstva môže komunikovať iba zo susednou vrstvou, vyššia vrstva odovzdá správu na spracovanie nižšej vrstve. Po prenose spojovacím vedením na stanicu adresáta je správa opäť spracovaná jednotlivými vrstvami, ale v opačnom poradí, od fyzickej po aplikačnú, nižšia vrstva odovzdáva správu vyššej vrstve. [4]
Fyzická vrstva.
Je to najnižšia vrstva v modeli ISO/OSI a ako jediná je prezentovaná fyzickým hardvérom. Sú to sieťové karty a spojovacie vedenie. Úlohou tejto vrstvy je zabezpečenie prenosu správy medzi odosielateľom a príjemcom. Na tejto úrovni je správa prenášaná vo forme jednotlivých bitov, elektrické impulzy, svetelný lúč a pod. [4]
Spojovacia vrstva.
Úlohou vrstvy je bezchybný prenos dát medzi sieťovými entitami, prípadná oprava chýb, ktoré sa vyskytnú na fyzickej vrstve. Na tejto vrstve sú dáta prenášané vo forme rámcov (frames). [4]
Sieťová vrstva.
Táto vrstva riadi prenos dát medzi stanicami, jej úlohou je zabezpečenie vhodnej trasy pre pakety (packets). Táto činnosť sa nazýva smerovanie (routing). [4]
Transportná vrstva.
Na tejto úrovni sa rieši komunikácia medzi koncovými užívateľmi. Súbory sa rozkladajú na pakety a na cieľovej stanici sa pakety skladajú do súboru. [4]
Relačná vrstva
Nadväzuje, udržuje a ukončuje spojenie medzi koncovými používateľmi. [4]
Prezenčná vrstva
Zabezpečuje konverziu prenášaných dát, prípadne ich pakovanie a šifrovanie. [4]
Aplikačná vrstva
Je najvyššia vrstva v modeli ISO/OSI. Táto vrstva tvorí rozhranie medzi prostredím siete a užívateľom, napríklad e-mailový klient. Podkapitoly diplomovej práce slúžia na členenie textu diplomovej práce s cieľom čo najväčšej prehľadnosti. [4]
Model TCP/IP
Model protokolu TCP/IP (Transmission Control Protokol / Internet Protokol) je podobný referenčného modelu OSI, ale má iba štyri vrstvy [4]:
- Aplikačná vrstva (Application)
- Transportná vrstva (Transport)
- Internetová vrstva (Internet)
- Sieťová vrstva (Network)
Sieťová vrstva
je najnižšia vrstva modelu TCP/IP. Patria sem všetky komponenty potrebné na vytvorenie fyzického spojenia. Na rozdiel od modelu OSI plní úlohu fyzickej a spojovacej vrstvy v modeli OSI. [4]
Transportná vrstva
Kontroluje tok dát a opravuje chyby, ktoré pri prenose môžu nastať. [4]
Internetová vrstva
Rozdeľuje segmenty na pakety a posiela ich cez sieť. Na tejto vrstve dochádza k výberu najvhodnejšej cesty a prepínaniu paketov. [4]
Aplikačná vrstva.
Táto vrstva má na starosti správnu prezentáciu dát, kódovanie dát, začatie a ukončenie spojenia. V modeli OSI sa o tieto úlohy starajú vrstvy aplikačná, prezenčná a relačná. [4]
Protokol TCP/IP
Protokol TCP/IP je v súčasnosti najpopulárnejším komunikačným protokolom v počítačových sieťach. Protokol je možné používať pri komunikácii medzi počítačmi s rôznymi operačnými systémami. Dá sa smerovať a vďaka tomu sa stal štandardom pre komunikáciu v sieti Internet.
Rodina protokolov TCP/IP
TCP/IP nie je iba o jediný protokol ale o skupina viacerých protokolov. Každý z protokolov má svoj účel použitia a pracuje na druhej až štvrtej vrstve modelu TCP/IP.
TCP
Transmition Control Protocol používa systém potvrdzovania správ (paketov). Pre každú doručenú správu prijímateľ generuje potvrdzovaniu správu, ktorá je odoslaná odosielateľovi. Odosielateľ udržiava informácie o stave komunikácie. Odoslané pakety ukladá do špeciálnej fronty a uvoľňuje ich až po doručení potvrdenia. Ak nie je doručené potvrdenie, po určitom čase je paket opäť odoslaný príjemcovi. V prípade doručenia poškodeného paketu, prijímateľ požiada o jeho nové poslanie odosielateľa a ten mu ho odošle. Tento protokol zaručuje doručenie správy príjemcovi za každých podmienok. [4]
UDP
User Datagram Protocol nekontroluje doručenie správy prijímateľovi, preto je rýchlejší ako protokol TCP. Používa sa na odosielanie správ, kde je povolené určitá strata dát. [4]
IP
Internet Protokol je najvyťaženejším protokolom v rodine TCP/IP. Všetky ostatné protokoly pracujú nad týmto protokolom a využívajú ho na logické adresovanie. Samotný protokol nezabezpečuje doručenie správ ani nevytvára spojenie medzi komunikujúcimi stanicami. Ku správe pridá logickú (IP) adresu odosielateľa a príjemcu. Doručenie správy zabezpečujú protokoly vyšších vrstiev, napr. TCP. V prípade problému s doručením sa IP spolieha na protokol ICMP, ktorý slúži na diagnostiku problémov. [4]
Protokoly aplikačnej vrstvy
Príklad protokolov pracujúcich v aplikačnej, najvyššej vrstve modelu TCP/IP:
- DHCP – tento protokol sa využíva pre dynamické prideľovanie IP adries,
- DNS – úlohou tejto služby je preklad mena domény do číselnej podoby (IP adresy),
- SMTP – poskytuje službu odosielania elektronickej pošty,
- POP3 – prijímanie elektronickej pošty,
- FTP – protokol využívaný na prenos súborov medzi vzdialenými počítačmi,
- Telnet – služba pomocou ktorej sa dokážeme pripojiť na ktorýkoľvek hostiteľský počítač v rámci Internetu,
- HTTP – protokol určený k prenosu hypertextových dokumentov cez internet.
Adresácia v protokole TCP/IP
Komunikácia zahŕňa potrebu adresácie uzlov siete, smerovanie správ k adresátovi po rôznych cestách a tiež nadväzovať, udržiavať a ukončovať spojenie. Adresácia počítačových uzlov v prostredí počítačov je číselná IP adresa. Ľudia si zasa jednoduchšie pamätajú slovné adresy, tzv. doménové meno alebo hostname. [4]
IP adresa
IP adresa je 32 bitové číslo, ktoré sa skladá zo štyroch oktetov po 8 bitov v tvare A.B.C.D. Každému oktetu odpovedá desiatkové číslo v rozsahu 0 až 255. Tak isto ako hostname ani IP adresu nemôžu mať dva počítače v jednej sieti rovnaké. IP adresa má dve hlavné časti, sieťovú a hosťovskú. Sieťová časť identifikuje sieť a hosťovská časť identifikuje konkrétny počítač. Na určenie, ktorá časť je sieťová a ktorá hosťovská sa používa sieťová maska. Je to tak isto ako IP adresa 32 bitové číslo. [4]
IP adresa | Sieťová maska | |
---|---|---|
Dekadický tvar | 192.168.1.100 | 255.255.255.0 |
Binárny tvar | 11000000.10101000.00000001.01100100 | 11111111.11111111.11111111.00000000 |
V tabuľke č. 1 je uvedený príklad IP adresy so sieťovou maskou. Pretože počítače používajú dvojkovú sústavu je IP adresa uvedená aj v dvojkovom tvare. Z príkladu vyplýva, že prvé tri oktety IP adresy určujú sieť a posledný oktet je na adresáciu počítačov. To znamená, že jednotky sieťovej masky určujú, ktorá časť IP adresy je sieťovú časť a nuly hosťovskú časť. V uvedenej sieti je možné adresovať 254 počítačov. Dve adresy sú vyhradené na špeciálne účely:
- 192.168.1.0 je adresa siete
- 192.168.1.225 je adresa určená pre broadcast
Na to, aby bolo možné spravovať siete rôznych veľkostí a pre jednoduchšiu klasifikáciu adries sa zaviedli tzv. triedy IP adries. V rámci internetu je definovaných päť tried, ktoré náležia sieťam rôznych veľkostí. Niektoré adresy sú rezervované pre špeciálne použitie, napr. adresa triedy A 127.x.y.z je vyhradená pre testovanie spätnej slučky a komunikáciu medzi procesmi na lokálnom počítači (adresa 127.0.0.1 je definovaná pre localhost).
Trieda IP adresy | Rozsah adries pre prvý oktet |
---|---|
A | 001 – 126 |
B | 128 – 191 |
C | 192 – 223 |
D | 224 – 239 |
E | 240 – 255 |
Neustále pribúdanie počítačov v sieti internet spôsobuje nedostatok verejných IP adries. Z toho dôvodu vznikol protokol IPv6 (verzia 6) ako nástupca protokolu IPv4. IP adresa sa zapisuje v šestnástkovom tvare a dvojice bajtov sú oddelené dvojbodkou:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
V protokole IPv6 je dostupných až 1038 adries.
Hostname
Hostname je unikátne meno počítača v sieti. V jednej sieti nemôžu mať dva počítače rovnaké meno. V lokálnych sieťach je to zvyčajne jedno slovo, napr. PC1. Na Internete je meno počítača zložené z lokálneho mena (hostname) a doménového mena, napr. mail.mojafirma.sk. Takémuto menu sa hovorí plne kvalifikované doménové meno (FQND). V tomto prípade je mail lokálne meno a mojafirma.sk je doménové meno, sk je regionálna skratka pre Slovensko. Počítač môže mať niekoľko mien (aliasov), jedno meno je kanonické, ktoré daný počítač sám používa.
Smerovanie
Smerovanie je proces, pri ktorom sa vyhľadáva cesta, ktorou sa posielajú pakety, aby dorazili do cieľa. Počítač, ktorý o smerovaní rozhoduje sa nazýva brána (gateway), alebo tiež smerovač (router). Poznáme dva typy smerovania, priame a nepriame. Pri priamom smerovaní sú pakety zo zdrojového počítača prenášané priamo na cieľový počítač. V tomto prípade sa oba počítača nachádzajú v jednej sieti. Zo zdrojovej IP adresy sa zistí fyzická adresa počítača (MAC adresa). O zisťovanie fyzických adries sa stará ARP protokol. V pamäti počítača je uložená ARP tabuľku, ktorá obsahuje IP adresu a fyzickú adresu vzdialených počítačov. [4]
Pri nepriamom smerovaní sú pakety prenášané z jednej siete do druhej, väčšinou je to aj viacej sieti. V pamäti počítača je uložená smerovacia tabuľka, ktorá sa môže vytvárať staticky alebo dynamicky. Dynamickú smerovaciu tabuľku vytvárajú smerovače za pomoci smerovacích protokolov a pravidelne ju aktualizujú. Proces odosielania paketov pri nepriamom smerovaní je nasledovný:
- ak sa adresa siete nenachádza v smerovacej tabuľke, paket je odoslaný na najbližšiu bránu, tzv. default gateway,
- ak brána (alebo smerovač) neleží v sieti kam sa odosiela paket, paket je opäť odoslaný na default gateway, ale v tomto prípade na default gateway našej brány (alebo smerovača),
- proces sa opakuje, až kým nie je paket doručený na bránu, ktorá ho dokáže priamo smerovať na cieľový počítač, to znamená, že posledná brána a cieľový počítač sú v jednej sieti.
Aby mohla brána správne prenášať pakety, musí poznať topológiu siete. To znamená, že musí vedieť, cez ktorú najbližšiu bránu má paket poslať aby dorazil do cieľovej siete.
Pakety
Dáta v sieti sa prenášajú vo forme datagramov. Pred prenosom sú datagramy rozdelené na menšie časti vhodnejšie na prenos v sieti pakety. Na obrázku č. 5 je znázornená približná štruktúra dátového paketu. [4]
Prvých 64 bitov paketu sa dá nazvať úvodná skupina informácií, ktoré obsahujú informácie verzii protokolu, type protokolu (napr. TCP, UDP), životnosť paketu (paket je po prekročení životnosti zahodený), kontrolný súčet CRC a ďalšie údaje. Ďalších 64 bitov je vyhradených pre zdrojovú a cieľovú adresu, pre každú adresu 32 bitov. 32 bitov je vyhradených pre voliteľné údaje a zvyšok sú samotné dáta. Pre vysielaním do sieťového média je paket zabalený do prepravného rámca. V sieťach typu Ethernet to znamená, že ku paketu sa priloží fyzická adresa odosielateľa a príjemcu. 2.3.5 Porty V sieťach s komunikačným protokolom TCP/IP prebieha komunikácia cez porty. Port je 16-bitové číslo v rozsahu od 0 do 65535. K IP adrese konkrétneho počítača sa pridáva číslo komunikačného portu, t.j. číslo brány, na ktorom služba načúva požiadavkám klientov. Každá vzdialená služba má pridelené číslo portu, napr. služba Telnet beží na porte 23. [4] 2.3.6 Nadviazanie spojenia Ešte pre zahájením prenosu dát medzi komunikujúcimi entitami musí byť vytvorené spoľahlivé spojenie. Používateľ spustí sieťovú aplikáciu, napr. klienta Telnet. Po jej spustení bude otvorený port klienta pre tento proces. Číslo portu sa vyberie náhodne z rozsahu 1024 až 65536. Port serveru bude číslo 23 (služba Telnet). Tieto čísla a IP adresy koncových počítačov tvoria pár (socket). [4] Pri vytváraní spojenia si vzdialené počítače pošlú tri rámce. Klient pošle serveru žiadosť o synchronizáciu, server klientovi potvrdí žiadosť a odošle novú žiadosť o synchronizáciu servera, klient žiadosť servera potvrdí a spojenie je vytvorené. [4]
Ukončenie spojenia
Pokiaľ používateľ nepotrebuje služby servera, ukončí lokálnu aplikáciu. Automaticky je odoslaná žiadosť o ukončenie spojenia. Proces je podobný ako pri vytváraní spojenia, obidve strany si vymenia celkom tri rámce. Klient odošle žiadosť o ukončenie spojenia, server žiadosť potvrdí a odošle vlastnú žiadosť, tretí rámec je záverečné potvrdenie. [4]
Zhrnutie
Žiadna počítačová sieť sa nezaobíde bez použitia aspoň jedného komunikačného protokolu. Na to, aby dva počítače vedeli spolu komunikovať, musia používať rovnaký komunikačný protokol. Referenčný model OSI/ISO je teoretický model, ktorý definuje základne pravidlá komunikácie. Slúži ako etalón pre vývojárov nových sieťových aplikácií. Protokol TCP/IP sa z prostredia internetu začal používať aj v lokálnych počítačových sieťach. Prakticky vytlačil dovtedy používané protokoly a stal sa dominantným komunikačným protokolom. Dobrá znalosť protokolu TCP/IP, jeho štruktúra, spôsob komunikácie je neodmysliteľnou súčasťou manažmentu počítačovej siete. Riešenie vzniknutých problémov v sieti ako aj správne bezpečnostné a komunikačné nastavenia sa nezaobídu bez minimálnych znalosti tohto protokolu.