Základy elektronickej pošty v TCP/IP (3)

Spolupráca medzi vrstvami ISO OSI aj TCP/IP je založená na tom, že vrstvy vyššej úrovne využívajú dopredu definovan


Spolupráca medzi vrstvami ISO OSI aj TCP/IP je založená na tom, že vrstvy
vyššej úrovne využívajú dopredu definované služby, ktoré poskytuje niektorá z
nižších vrstiev. Pritom spravidla vyššia vrstva spolupracuje priamo iba s tou,
ktorá sa nachádza bezprostredne pod ňou.
Pozrime sa teraz trochu podrobnejšie na to, čo sa deje s dátami, ktoré si
protokoly v susedných vrstvách medzi sebou odovzdávajú. Predpokladajme, že
nejaký program v aplikačnej vrstve vytvára nejaké dáta, ktoré chce poslať
partnerskému programu, s ktorým komunikuje. Použije teda napríklad služby
protokolu TCP na nadviazanie spojenia medzi obidvoma počítačmi a na vytvorenie
logického prúdu dát. Dáta však musia byť prenášané v diskrétnych paketoch,
takže TCP najprv odhadne optimálnu veíkosť takéhoto paketu a potom rozdelí
spojitý prúd dát na segmenty s touto veíkosťou.
Segmenty sú doplnené identifikačnými údajmi, tvoriacimi hlavičku TCP, a sú
odovzdané nižšej vrstve protokolu IP. Protokol IP zoberie obsah segmentu, ktorý
považuje za indiferentné dáta, a pripojí k nemu vlastné identifikačné údaje
hlavičku IP, čím vznikne IP datagram. Ten je odovzdaný sieťovému rozhraniu,
napríklad Ethernetu, kde je postup úplne analogický: Datagram sa umiestni do
dátovej časti ethernetovského rámca, v ktorom sa ešte ďalej vyplnia
identifikačné dáta špecifické pre Ethernet, a potom je rámec odoslaný na
prenosové médium. Na cieíovej stanici je postup opačný: Protokol nižšej vrstvy
odstráni identifikačné údaje a vlastný dátový obsah odovzdá protokolu vo vyššej
vrstve. Keďže v každej vrstve sa nachádza niekoíko protokolov, mohol by
vzniknúť problém, ktorému protokolu vyššej vrstvy je potrebné dáta odovzdať.
Preto má každý protokol nižšej úrovne v svojej hlavičke okrem iného uvedené,
ktorému z možných kandidátov vo vyššej vrstve má dáta odovzdať.
Vlastnosti protokolov
Spojovaná služba (Connection-oriented Service): Používa podobný princíp ako
klasický telefón. Entity na rovnakej úrovni musia najprv nadviazať spojenie,
prostredníctvom ktorého potom komunikujú. Toto spojenie sa po ukončení
komunikácie musí zrušiť. Spojenie sa chová v určitom zmysle ako rúra (pipe),
napr. zachováva sa poradie prenášaných dát. S vytvorením spojenia a s jeho
zrušením je spojená určitá réžia, preto sa tento druh služby odporúča použiť
pri väčšom objeme prenášaných dát.
Nespojovaná služba (Connectionless Service): Používa princíp ako listová pošta.
Jednotlivé prenášané časti dát mÖžu použiť rÖzne cesty a mÖžu doraziť v rÖznom
poradí. Táto služba nemá prakticky žiadnu réžiu na začiatku a konci
komunikácie, ale má vyššiu réžiu pri prenose jednotlivých častí dát. Je výhodné
ju použiť pri menšom množstve dát.
Spoíahlivá služba (Reliable Service): Nikdy nestráca žiadne dáta. Zvyčajne sa
používa mechanizmus potvrdzovania (OK, opakovať prenos). Tento však zvyšuje
réžiu a často mÖže byť opakovanie prenosu nevhodné, napr. pri digitálnom
prenose zvuku (real time).
Nespoíahlivá služba (Unreliable Service): Presnejšie služba zabezpečujúca
vysokú, ale nie 100% spoíahlivosť. Má však menšiu réžiu, a preto je rýchlejšia.
Nespoíahlivým typom protokolu je napr. UDP.
Zabezpečenie dát pri prenose
Pri prenose dát mÖže dÖjsť k chybám. Na ich detekciu, prípadne opravu sa
pripájajú k prenášaným dátam ďalšie dáta, prípadne sa dáta transformujú podía
presne definovaných pravidiel. Príjemca mÖže po prijatí a dekódovaní určiť, či
sú prijaté dáta správne, prípadne ich opraviť.
Bezpečnostné kódy sú v zásade dvojakého druhu:
Detekčné
Samoopravné
Detekčné kódy sa líšia od samoopravných kódov v tom, že umožňujú len
rozpoznanie chyby. Poznáme tieto základné typy:
Zabezpečenie paritou jednoduchý spÖsob, nie je však dostatočne spoíahlivý.
Hammingov kód patrí k samoopravným kódom (na 8 bitov dát + 5 bitov, na 16 bitov
dát: + 6 bitov). Často v praxi nezabezpečuje každý znak, ale celý blok dát.
Kontrolný súčet (CheckSum) zabezpečuje celý blok dát, kontrolný súčet sa robí
ako súčet modulo 28 alebo 216. Výsledkom je kontrolný súčet o dížke 1 alebo 2
bitov.
Cyklické kódy CRC (Cyclic Redundancy Check) najúčinnejšia forma zabezpečenia,
napr. zabezpečenie pomocov 16 bitov CRC dokáže 100% odhaliť chyby až v 16 po
sebe nasledujúcich bitoch z chyby po väčšom počte bitov na 99,9984 %. Na
realizáciu sa používa posuvný register EX-OR s pevnou maskou, ktorej hodnota je
určená generujúcim polynómom. Napr. podía CCITT (Consultative Committee for
International Telegraphy and Telephony) sa odporúča x16+x12+
+x5+1. Nespojovaná služba (IP)
Nespojovaná datagramová služba je základná služba poskytovaná IP protokolom na
úrovni IP vrstvy. Jeho špecifikácia bola spracovaná v dokumente RFC 791. Ide o
nepotvrdzovanú službu, tj. IP protokol nezaručuje spoíahlivé doručenie
datagramu adresátovi. Každý paket je smerovaný samostatne.
Hlavné funkcie IP protokolu:
Definuje základnú dátovú jednotku, ktorá je prenášaná sieťou (IP datagram), a
jej presný formát.
Vykonáva smerovanie paketov (výber cesty, ktorou bude paket vyslaný).
Definuje pravidlá prenosu datagramov rozhoduje, ako majú routery spracovávať
pakety, za akých okolností sú generované chybové správy apod.
Prepojenie internetovej a transportnej vrstvy stípca protokolov TCP/IP. V
hlavičke IP datagramu je pole identifikujúce pomocou čísla protokol
transportnej vrstvy, pre ktorý sú dáta určené. Známym protokolom sú priradené
pevné čísla štandardom Assigned Number (RFC 1340). Napríklad TCP má číslo 6,
UDP číslo 17.
Fragmentácia a opätovné zostavovanie datagramov. Ide o to, že rÖzne siete sa
okrem iného líšia tiež maximálnou veíkosťou paketu, ktorý sú schopné preniesť.
Tento parameter sa označuje MTU (Maximum Transmission Unit). Minimálne MTU,
ktoré musí každý počítač/router podporovať, je 576 oktetov. Pri prechode
datagramu routerom zo siete s väčším MTU do siete s menším MTU sa musí vykonať
fragmentácia (rozdelenie) pÖvodného datagramu na niekoíko menších častí. Ak bol
raz datagram fragmentovaný, pokračujú tieto fragmenty po celý zvyšok cesty ku
konečnému adresátovi ako nezávislé datagramy (aj keď prechádzajú sieťou, ktorá
má dostatočne veíké MTU na znovuzostavenie do pÖvodného datagramu). Opätovné
znovuzostavenie fragmentovaných datagramov v TCP/IP vykonáva vždy až koncový
počítač-adresát.

Formát IP datagramu
Podobne ako každý iný druh paketu, má IP datagram dve časti:
Riadiaca časť je tvorená hlavičkou datagramu:
Protocol určuje protokol vyššej vrstvy
Header checksum kontrolný súčet IP hlavičky (nie dát)
Source IP address zdrojová adresa odosielateía
Destination IP address cieíová adresa prijímateía
Options voliteíné položky (nepovinná časť, mÖže obsahovať niekoíko nastavení:
Record route zaznamenávanie cesty datagramu Internetom
Strict source route odosielateí striktne predpíše celú cestu datagramu
Loose source route odosielateí predpíše minimálnu cestu datagramu
Timestamp zaznamenávanie cesty datagramu internetom so zaznamenávaním času
prechodu jednotlivými routrami
Security stupeň utajenia
Padding zarovnávanie na 32bitovú hranicu)
Dátová časť obsahuje dáta
TCP
Protokol TCP realizuje spojovanú službu na úrovni transportnej vrstvy,
zabezpečuje spoíahlivé doručenie správy adresátovi. Špecifikácia TCP je
obsiahnutá v RFC 793. Na protokole TCP je založený aj SMTP protokol, používaný
pre prenos správ elektronickej pošty.
Vlastnosti TCP protokolu:
spoíahlivá transportná služba zabezpečujúca doručenie všetkých prenášaných dát,
tak ako ich odosielateí vyslal (tzn. bez straty a skreslenia dát alebo bez
duplicitných paketov)
spojovaná služba existuje fáza spojenia medzi dvomi procesmi, fáza prenosu dát
a fáza ukončenia spojenia
bufferované vysielanie zabezpečujúce efektívne využitie prenosových kanálov,
tj. odosielateí začne vysielať až vtedy, keď sa nazbiera dostatočné množstvo dát
transparentný prenos íubovolných dát
plne duplexné spojenie súčasný obojsmerný prenos dát
rozlišuje medzi viacerými potenciálnymi adresátmi na danom počítači pomocou
portov (porty sa rozdeíujú na vyhradené, ktorých čísla sú menšie než 1 024, a
efemérne, ktoré sú volené íubovolne a umožňujú napríklad na jednom počítači
súčastne spustiť viacej klientov rovnakej sieťovej služby; SMTP protokol má
vyhradený port 25, POP3 protokol port 110)
UDP
UDP (User Datagram Protocol) podobne ako protokol IP poskytuje nespojovanú
službu prenosu dát s nezaručenou spoíahlivosťou a využíva na tento účel vrstvu
IP. Oproti protokolu IP pridáva schopnosť rozlíšiť viacej adresátov vo vnútri
cieíového adresáta. UDP protokol bol zverejnený v dokumente RFC 768.
UDP protokol je:
Primárny mechanizmus pre posielanie datagramov medzi aplikačnými procesmi.
Rozlišuje procesy na danom počítači pomocou portov.
Adresovanie v TCP/IP
Každý počítač TCP/IP siete má pridelenú jednoznačnú 32bitovú 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.
Adresný priestor je rozdelený do nasledujúcich tried:
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 apod. 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 až 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 32bitovej 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.
Špeciálne IP adresy
V adresnom priestore IP adries sú niektoré adresy vyhradené pre špeciálne
účely. Sú to adresy určené napríklad pre broadcast, ladenie komunikačných
programov apod. Tieto adresy sú rezervované. Označenie bitových položiek: "0"
znamená "tento/táto" (počítač, sieť), "1" znamená "všetky" (počítače).
Rozlišujeme tieto prípady:
Adresa 0.0.0.0 sa interpretuje "tento" počítač na "tejto" sieti. Používa sa v
úvodnej fáze IP komunikácie bezdiskovej stanice, ktorá zatiaí nepozná svoju IP
adresu, ale musí komunikovať napr. pri zavádzaní systému cez sieť zo servera.
Takáto adresa sa nikdy nesmie objaviť v poli cieíovej adresy.
(NetID, HostID = 0) adresa siete, napríklad: 195.146.0.0.
Adresa 255.255.255.255 je hromadná IP adresa (limited broadcast). Pakety s
touto adresou sú určené všetkým staniciam, ktoré sa nachádzajú na rovnakej
lokálnej sieti ako odosielateí. Túto adresu nie je možné nikdy použiť ako
identifikáciu odosielateía.
Adresy, ktoré majú špecifikovaný NetID a HostID, sa skladajú zo samých
jednotiek, napríklad: 10. 255.255.255,150.111.
255.255 či 200.111.222.255, sú tzv. riadené hromadné adresy.
l127.x.x.x: softwarová spätne väzobná adresa (loopback), lokálna
medziprocesorová komunikácia v rámci jedného počítača (bez vysielania do
siete), obvykle 127.0.0.1. Každý paket odovzdaný protokolom TCP alebo UDP je
vrátený späť, akoby práve prišiel z nejakej siete.
DNS
Každý uzol siete Internet je identifikovaný pomocou IP adresy. Pre človeka je
íahšie zapamätanie mena ako číslice, preto sa zaviedli tzv. doménové mená. DNS
zabezpečuje ich efektívne mapovanie. Každý uzol je označený reťazcom dížky 0 až
63 znakov. Hierarchické meno používa ako separátor znak . (napríklad
sun.mtf.stuba.sk).
Tieto reťazce mÖžu obsahovať malé aj veíké písmená, ale pri ich porovnávaní,
prípadne inom spracovaní funkciami operačného systému sa malé a veíké písmená
nerozlišujú. Uzly nachádzajúce sa bezprostredne pod hlavným uzlom ROOT sa
nazývajú domény najvyššej úrovne (TLD). Nasledujúce domény (TLD) označujú
jednotlivé štáty, napríklad .sk znamená Slovensko, .at Rakúsko, .de Nemecko,
.cz Česko apod. Štruktúra ďalej pokračuje doménami druhej úrovne (SLD) (napr.
stuba.sk), doménami tretej úrovne (mtf.stuba.sk) a menom počítača.
V USA sa na úrovni TLD používajú domény označujúce typ uzlov (edu, gov, mil,
com).
Vysvetlivky
RFC (Request for Comments) Sada článkov, v ktorých sa dokumentujú a zverejňujú
štandardy Internetu, návrhy štandardov a obecne odsúhlasené myšlienky.
DNS (Domain Name System) Systém doménových mien. Distribuovaný hierarchický
informačný systém využívaný v IP sieťach, umožňujúci preklad symbolických
doménových mien (napr.: www.zoznam.sk) na číselné IP adresy (napr.:
195.85.36.45).
1 0685 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.