1.3.3 Nadviazanie spojenia
Hoci je možné, aby dva stroje nadviazali spojenie zároveň, zvyčajne na jednom stroji beží serverová služba počúvajúca na určitom porte a pasívne počúva, t.j. čaká na prichádzajúce spojenia. Bežne sa to nazýva pasívne otvorenie a určuje stranu spojenia, ktorá funguje ako server. Klientská strana spojenia začne aktívne otvorenie tým, že pošle úvodný SYN segment serveru. Server by mal odpovedať platnou požiadavkou SYN so SYN/ACK. Nakoniec by mal klient odpovedať ACK, čím sa 3-way handshake, a teda fáza nadviazania TCP spojenia ukončí.
1.3.4 Ukončenie spojenia
Ukončenie spojenia sa deje za použitia 4-way handshake, kde sa spojenie ukončuje na každom konci nezávisle. Preto typické zrušenie spojenia vyžaduje pár segmentov FIN a ACK z každého konca TCP spojenia.
1.3.5 Alternatívy k TCP
TCP však nie je vhodné pre mnohé aplikácie a navrhujú a implementujú sa nové protokoly transportnej vrstvy adresujúce niektoré jeho inherentné nedostatky. Napríklad real-time aplikácie nepotrebujú a utrpia na výkone kvôli mechanizmom spoľahlivého doručenia. V takých typoch aplikácií je často lepšie vyrovnať sa so stratami, chybami alebo preťažením než pokúšať sa im predísť. Medzi príklady aplikácií, ktoré zvyčajne nepoužívajú TCP patria streamovanie multimédií v reálnom čase (ako Internetové rádio), real-time multiplayer hry a VoIP. Každá aplikácia, ktorá nepotrebuje spoľahlivosť alebo sa snaží minimalizovať funkcionalitu sa môže vyhnúť použitiu TCP. V mnohých prípadoch je možné použiť User Datagram Protocol (UDP) namiesto
TCP, keď sú požadované iba aplikačné multiplexingové služby.
2 Adresovanie v TCP/IP
Každý počítač TCP/IP siete má pridelenú jednoznačnú 32 bitovú IP adresu, ktorá je používaná pri komunikácii s týmto počítačom. Pokiaľ má počítač viacej sieťových rozhraní (napríklad router), potom každé toto rozhranie musí mať jednoznačnú IP adresu. Koncepčne je každá IP adresa tvorená dvojicou (NetID, HostID), kde NetID (Network identifier) špecifikuje sieť a HostID (Host identifier) špecifikuje počítač pripojený do tejto siete.
1.2.2 Problémy protokolu IP ver. 4
Hrozí nedostatočnosť jeho 32-bitového adresačného priestoru. Tvorcovia IPv4 pravdepodobne netušili, ako úspešný tento protokol bude a ako rýchlo sa rozšíri z laboratórií do sveta bežného užívania. Nielenže stále pokračuje dramatický nárast užívateľov Internetu ako takých. Pribúda užívateľov mobilných, ktorí požadujú transparentné pripojenie k celosvetové sieti odvšadiaľ. Rozvíjajú sa technológie, ktoré predpokladajú pridelenie IP adresy pračke, mikrovlnnej rúre, či automobilu.
Paralelne s tím dnes pozorujeme boom v oblasti mobilných telefónov s prístupom na Internet. K tomu všetkému potrebujeme
dostatočný adresní priestor. V IPv4 datagramu sú dnes už niektoré políčka zbytočná alebo aspoň neefektívne. Prečo napríklad na 3.vrstve OSI modelu, kde protokol IP funguje, počítať kontrolní súčet? Veď kontrolní súčet sa obvykle robí na 2.vrstve OSI modelu. Takýchto otázok vyvstáva viacej a protokol IPv6 na ne dáva odpovede.
1.3 Transmission Control Protocol (TCP)
Je to spojovo orientovaná služba:
- vytvára, riadi a ruší „ spojovací kanál “ medzi procesmi
- kanál je definovaný dvojicou soketov
Zaručuje spoľahlivé prenesenie dát:
- robí pozitívne potvrdzovanie doručených dát
- znovu prenos stratených
- princíp kĺzajúceho okna
Segmentuje dátový tok na segmenty a v cieli ho spätne spája zo segmentov.
1.3.1 Ako sa pripojiť?
Teraz si objasníme pripojenie do siete, založenej na súboroch protokolu TCP/IP. Najprv si urobíme zoznam položiek, ktoré nám pripojenie do siete umožnia, a potom sa zastavíme u každej z nich.
1) Sieťový hardvér
2) Softvér realizujúci na našom počítači súbor protokolov TCP/IP
3) Adresa nášho počítača v sieti
4) Adresy počítačov, s ktorými budeme komunikovať
1.3.2 Fungovanie protokolu TCP
TCP spojenie má tri fázy: nadviazanie spojenia, prenos dát a ukončenie spojenia. Na nadviazanie spojenia sa používa tzv. 3-way handshake. 4-way handshake sa používa na ukončenie spojenia. Počas vytvárania spojenia sa inicializujú parametre ako
poradové čísla paketov, aby sa zabezpečila robustnosť a poradie doručenia.
Trieda A
Prvý bit adresy v tejto triede je 0; v štandardnom zápise IP adresy je teda prvá zo štvorice bajtov v rozmedzí 0 - 127. Prvý bajt je tu NetID a zvyšné tri HostID. Trieda A umožňuje adresovať 125 sietí a každá z nich môže mať presne 16 777 214 staníc.
Trieda B
Prvé dva bity sú 10; prvý bajt je v rozmedzí 128 - 191. V tejto triede sú ľavé dva bajty NetID a pravé dva HostID. Trieda B umožňuje adresovať 16 382 sietí a v každej z nich môže byť až 65 534 staníc. Tieto adresy sa hodia pre siete veľkých inštitúcií, ako sú univerzity a pod. Sieťové adresy tohto typu sú však dnes už prakticky vyčerpané.
Trieda C
Prvé tri bity sú 110; prvý bajt je v rozmedzí 192 - 223. Tri bajty zľava predstavujú NetID a iba posledný bajt napravo je HostID. Trieda C pokrýva 2 097 150 sietí, ale priestor pre stanice je obmedzený číslom 254.
Trieda D
Prvé štyri bity sú 1110; prvý bajt je v rozmedzí 224 - 239. Trieda D sa používa pre adresovanie skupiny počítačov zároveň.
Trieda E
Prvé štyri bity sú 1111; prvý bajt je v rozmedzí 240 - 255. Táto trieda slúži ako rezerva pre budúce použitie.
IP adresy sa zapisujú v tvare štyroch dekadických čísel navzájom oddelených bodkou, z ktorých každé reprezentuje jeden oktet 32-bitovej IP adresy. Napríklad: binárna IP adresa 11000011 10010010 10000000 00111101 sa v dekadickej notácii zapíše
195.146.128.61.
Každé smerovanie paketov medzi jednotlivými sieťami vykonávajú routery výhradne podľa sieťovej časti IP adresy NetID. Pravidlá pre siete triedy A, B, C je často možné obísť pomocou masky podsiete. To nám umožňuje ďalej deliť sieť tak, že použijeme viacej bitov pre číslo siete a menej bitov pre číslo hostiteľa.
Prístupová vrstva je najnižšia vrstva a ako taká jediná je viazaná na technické prostriedky siete. Zabezpečuje bezkonfliktný
obojstranný styk so sieťovým médiom.
Medzisieťová vrstva zodpovedá za smerovanie a prepájanie datagramov v komunikačnej podsieti. Datagram je prepravná jednotka (paket), ktorý ma vo svojej hlavičke IP adresu odosielateľa a príjemcu, poradové číslo paketu v správe a iné informácie.
Smerovanie je založené na systému IP adries hostiteľských počítačov. Smerová vrstva musí rozpoznať, či Datagram je určený
do lokálnej siete alebo do siete vzdialenej a podľa toho vybrať lokálny počítač alebo správny router, aby bola cesta k cieľu čo najkratšia. Pri tom používa smerovacie tabuľky (napr. podľa protokolu RIP) a protokol priraďovania fyzických adries k IP adresám (ARP).
Transportná vrstva zabezpečuje prenos údajov medzi počítačmi, protokolom TCP alebo UDP (User Datagram Protocol). TCP vytvára medzi koncovými aplikáciami spoľahlivý prenos dát (t.j. kontrolovaný, s potvrdením o doručení - analógia s telefónom). UDP zabezpečuje prenos dát bez potvrdzovania. Používajú ho tie aplikácie, ktoré nepotrebujú zabezpečenie prenosu v rozsahu TCP. UDP je nespoľahlivá služba (t.j. bez potvrdzovania príjmu, bez zaručenia poradia v cieli - analógia s prepravou listov, telegramov apod.).
1 Čo je protokol TCP/IP
Súbor protokolov TCP/IP (
Transmission
Control
Protocol/
Internet
Protocol) je určený pre prepájanie heterogénnych sieti, t.j. sieti rôznych ako po stránke technickej, tak aj programovej. Bol vyvinutý v 70. rokoch pre vládnu vojenskú agentúru USA (DARPA). Cieľom bolo prepojiť rôznorodé počítače vojenských, obranných a výskumných pracovísk a univerzít. Architektúra TCP/IP bola odvodená z prvej paketovej siete na svete z r. 1969 ARPANET. Tato architektúra dosiahla takej obľuby, že aj keď nie je priemyselným štandardom, sa rýchlo rozšírila do celého sveta a stala sa základom celosvetovej siete INTERNET. Tá dnes spája asi 6000 podsieti a takmer 1,5 milióna počítačov. Protokoly TCP/IP boli implementovane takmer do všetkých operačných systémov, ale najviac sú spojene s operačným systémom UNIX. Pracujú na rôznej technickej základni (Ethernet, Arcnet, Token Ring, X.25, SLIP
a inej). Všetky informácie o TCP/IP a teda aj o Internete sú zverejňované v RFC (t.j.
Request
For
Comment). Sú to v podstate jeho normy, a cez elektronickú postu a anonymne FTP sú dostupne celej sieťovej verejnosti.
Aplikačná vrstva poskytuje široký rozsah užívateľských služieb. Najrozšírenejšie sú WWW, Telnet, FTP, e-mail a news. Každej službe je priradené jedno číslo (t.j. číslo portu), podľa ktorého sa pakety rozdeľujú jednotlivým aplikáciám. Prehľaď portov je v systéme UNIX v súbore
/etc/services. Prítomnosť služby v tomto súbore neznamená, že odpovedajúca služba je v systéme
inštalovaná.
1.2 IP adresa
Ak chceme v rámci siete nadviazať spojenie s niektorým z počítačov, musíme poznať identifikátor, ktorý ho jednoznačne odlišuje od ostatných.
Počítače v internete sú identifikované pomocou čísla nazvaného IP adresa. Táto identifikácia je jednoznačná, to znamená, že v rámci internetu neexistujú dva počítače s rovnakou IP adresou. Keď máme byť presnejší, IP adresa sa nevzťahuje k počítaču, ale k jeho sieťovému adaptéru. V internete totiž existujú počítače, ktoré obsahujú viac sieťových adaptérov, z ktorých každý má svoju IP adresu.