Základy počítačových sítí
11. Úkoly transportní vrstvy
Transportní nebo přenosová vrstva (tyto názvy lze zaměňovat) je velmi důležitou součástí komunikačního procesu. Mezi nejdůležitější úkoly této vrstvy patří:
- navazovat a zpracovávat připojení (relace) mezi hostiteli,
- sledovat připojení mezi hostiteli,
- Rozdělte data na menší části,
- Identifikace jednotlivých aplikací,
- Řízení toku dat,
- Zpětný přenos v případě ztráty dat.
Sledování připojení, což jsou konverzace mezi hostiteli, umožňuje více aplikacím odesílat a přijímat data současně. Na jednom počítači můžeme kontrolovat poštu, používat elektronické bankovnictví nebo komunikovat s přáteli. V tuto chvíli se nám zdá přirozené, že je vlastně těžké si představit situaci bez této možnosti, ale je třeba připomenout, že je to možné díky dopravní vrstvě.
Možnost používat více služeb najednou zahrnuje také rozdělení dat, tj. jejich rozdělení na menší části. To umožňuje efektivnější komunikaci, protože se nepřenáší velké množství dat současně. Nebýt segmentace, mohla by data přijímat vždy jen jedna aplikace a ostatní používané aplikace by musely čekat, až na ně přijde řada. Jak vidíte na obrázku níže, segmenty se odesílají střídavě, střídavě se odesílají segmenty webových stránek, e-mailové segmenty, segmenty instant messengeru atd. Celý proces střídání přenosu více aplikačních segmentů se nazývá multiplexování.
Dalším důležitým úkolem nebo funkcí transportní vrstvy je přenos dat do vlastní aplikace. Každá aplikace má svůj vlastní identifikátor, který ji jednoznačně definuje. Tento identifikátor je číslo portu aplikace.
Je přiřazen segmentu nebo datagramu během zapouzdření na transportní vrstvě a zaručuje doručení dat konkrétní aplikaci.
Stejně jako IP adresy jsou čísla portů přidělována organizací IANA (Internet Assigned Numbers Authority), která čísla portů rozděluje do tří skupin:
Název skupiny portů |
Rozsah číslování |
Aplikace |
Dobře známé (ang. well knows) |
0 – 1023 |
Služby a aplikace serveru |
Registrováné (ang. registered) |
1024 – 49151 |
Uživatelské služby a aplikace |
Dynamické (ang. dynamic) |
49152 – 65535 |
Náhodně vybrané pro uživatelské aplikace |
Dobře známé porty, tj. porty 0 až 1023, jsou registrovány pro služby a konkrétní serverové aplikace, např. webové servery mají výchozí port 80 a servery POP3 port 110. Sada aplikací se známými porty, včetně protokolů transportní vrstvy, jak je uvedeno níže.
Protokol aplikační vrstvy |
Číslo portu |
Protokol transportní vrstvy |
HTTP |
80 |
TCP |
HTTPS |
443 |
TCP |
POP3 |
110 (šifrované 995) |
TCP |
IMAP |
143 (šifrované 993) |
TCP |
SMTP |
25 (šifrované 465 nebo 587) |
TCP |
FTP |
21 (příkazy) i 20 (soubory) |
TCP |
FTPS |
990 |
TCP |
TELNET |
23 |
TCP |
SSH |
22 |
TCP |
DNS |
53 |
TCP lub UDP |
DHCP |
67 i 68 (IPv6 – 546 i 547) |
UDP |
LDAP |
389 (šifrované 639) |
TCP lub UDP |
SNMP |
161 |
UDP |
Druhou skupinu, registrované porty, používají aplikace nainstalované v počítači uživatele. Pokud například nainstalujeme do počítače aplikaci systému pro správu databáze MySQL, bude spuštěna na portu 3306. Třetí a poslední skupina, dynamické číslo portu, je náhodně přiděleno klientské aplikaci, např. když klient odešle na server požadavek na sdílení webové stránky, server ve výchozím nastavení přijme požadavek na portu 80, ale klient obdrží požadavek od serveru. Příchozí odpověď nebude odeslána na port 80, protože ten je vyhrazen pro proces webového serveru, ale na náhodný počet portů přidělených z fondu dynamických portů.
Na stejném čísle portu nemůže běžet více aplikací. Jakmile je aplikace spuštěna na portu 53 (DNS), není možné, aby na tomto portu byla spuštěna jiná aplikace.
Pokud již víme, co je port aplikace, představíme si další pojem. To by byla zásuvka.
S pojmem zásuvky jste se již setkali při výuce počítačové techniky při probírání základních desek a procesorů a objevuje se také v počítačových sítích. Zásuvka je kombinací IP adresy a čísla portu:
192.168.20.20:80
Zásuvka jednoznačně identifikuje konkrétní proces běžící na zařízení, takže například když náš prohlížeč zavolá webový server, aby zobrazil webovou stránku, budou požadavky serveru odeslány do jeho zásuvky, tedy procesu (aplikaci webového serveru).