Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Počítačové sítě Transportní vrstva
Rozhraní služeb Transportní vrstva UDP TCP ICMP IGMP OSPF Rozhraní protokolů 17 6 01 02 89 SAP IP Síťová vrstva ARP RARP Rozhraní přístupu k I/O Ethernet driver Vrstva síťového rozhraní
2
Uživatel transportní služby Systém B Uživatel transportní služby
Systém A Uživatel transportní služby Systém B Uživatel transportní služby Aplikační vrstva DATA DATA Služby poskytované uživateli transportu dat Transportní entita transport dat Transportní entita Transportní vrstva DATA Služby požadované od síťové vrstvy DATA Síťová vrstva
3
Počítačové sítě Transportní vrstva
Transportní vrstva poskytuje službu aplikační vrstvě Je nejnižší vrstvou, na kterou se odvolávají síťové aplikace (uživatelské a systémové) Transportní služba – sekvenční přenos dat mezi komunikujícími procesy Vytváří současně více paralelních transportních spojení Transportní vrstva zahrnuje 2 transportní protokoly UDP (User Datagram Protocol) TCP (Transmission Control Protocol) Transportní protokoly jsou prostředkem, kterým se zajistí pro uživatelskou aplikaci spojení dvou počítačů v IP síti
4
Počítačové sítě Transportní vrstva
Přístup k transportní vrstvě z vrstvy aplikační – rozhraní služeb Multiplexing transportních služeb a IP služby Aplikační protokol 2 Aplikační protokol 4 Aplikační protokol 6 Aplikační protokol 7 Aplikační protokol 1 Aplikační protokol 3 Aplikační protokol 5 porty UDP TCP IP
5
Počítačové sítě Transportní vrstva
Rozhraní SAP mezi aplikační a transportní vrstvou – rozhraní služeb – identifikace aplikačního protokolu, který bude transportní službu používat Číslo portu – 16 bitová proměnná Port – SAP transportní vrstvy – „vstup“ do user-end systému Ze strany user-end systému je port schránka na obsah transportního PDU – číslo portu určuje proces, který generuje data (směr „out“) nebo je spotřebitelem dat (směr „in) Soket (socket) – IP adresa user-end systému + číslo portu – jednoznačný identifikátor poskytovatele/spotřebitele transportovaných dat v internetu (tj. síťového procesu)
6
Počítačové sítě Transportní vrstva
Číslo portu – dekadické vyjádření 1 – 65535 Adresový prostor portů spravuje IANA (Internet Assigned Numbers Authority) – pevně dané hodnoty pro poskytovatele určitých síťových služeb (tj. procesy typu „server“) Oblast 1 – 1023 – „well-known“ porty pro známé síťové služby Oblast 1024 – – možná registrace pro firemní vývoj, použití apod., jinak k disposici operačním systémům (přidělování procesům typu „klient“ – spotřebitelům síťových služeb) – porty alokované
7
Počítačové sítě Transportní vrstva
Klient Server 1025 1028 23 X Y Z A B Servery používají „well-known“ porty, na kterých očekávají („naslouchají“) inicializační zprávy klienta. Typicky – procesy daemon v OS UNIX Klienti používají alokované – systémem dočasně přidělené porty
8
Počítačové sítě Transportní vrstva - protokoly
Protokol UDP Služba nespojovaná (connection-less) – nespolehlivá, transport nelze řídit Velmi efektivní – rychlá, malá provozní režie Používá se pro aplikace s malým objemem přenášených dat (zprávy se stanovenou velikostí apod.) pro aplikace vyžadujících broadcast nebo multicast pro aplikace, které si správnost datových přenosů samy zabezpečí
9
Počítačové sítě Transportní vrstva
Typický spotřebitel transportní služby UDP - programy pro systémové síťové služby šíření směrovacích informací – implementace protokolu RIP šíření systémových hodin – implementace protokolu NTP překlady doménových jmen – implementace protokolu DNS správa IP sítí – implementace protokolu SNMP aj.
10
Počítačové sítě Transportní vrstva - protokol UDP
Formát PDU protokolu UDP – UDP datagram (UDP paket) UDP záhlaví UDP data Checksum – kontrolní součet UDP paketu + UDP pseudozáhlaví Zdrojový port Délka paketu Checksum Cílový port Zdrojová IP adresa Cílová IP adresa Protokol Délka paketu
11
Počítačové sítě Transportní vrstva
UDP paket v IP datagramu typicky je jeden UDP paket vysílán v jednom IP datagramu 20B 8B IP záhlaví UDP záhlaví UDP data (PDU aplikačního protokolu)
12
Počítačové sítě Transportní vrstva
Protokol TCP Služba spojovaná (connection- oriented), spolehlivá Typ služby - PAR (Positive Acknowledgement with Retransmission) Zajistí doručení datových segmentů ve stejném pořadí, v jakém byly odeslány s vyloučením ztráty, bitové nesprávnosti a duplicity Vytvoří mezi komunikujícími procesy (jejich porty) virtuální osmibitový full-duplex komunikační kanál Pojem: TCP spojení – dvojice komunikujících soketů
13
Počítačové sítě Transportní vrstva
Typicky používají transportní službu TCP uživatelské síťové aplikace (přenos souborů mezi síťovými uzly – FTP, relace přes síťový terminál – TELNET, přístup ke zdrojům systému WWW – HTTP, předávání elektronických poštovních zpráv –SMTP, atd.) Komunikace mezi procesy probíhá ve fázích vytvoření spojení řízený přenos proudu dat (sekvence datových segmentů) s eventuálním opakovaném odesláním nekorektně přijatých segmentů ukončení spojení
14
Počítačové sítě Transportní vrstva
Přístup k transportní vrstvě z vrstvy aplikační – rozhraní služeb Multiplexing transportních služeb a IP služby HTTP DNS RIP TELNET FTP SMTP SNMP RTP porty UDP TCP IP
15
Počítačové sítě Transportní vrstva
Formát TCP záhlaví Zdrojový port Cílový port Pořadové číslo – Sequence Number Pořadové číslo potvrzení – Acknowledgement Number Offset --- Řídící bity Window Size Checksum Urgent Pointer TCP volby (Options) TCP data
16
Počítačové sítě Transportní vrstva
Sequence Number (SN) je-li nastaven flag SYN, potom je SN počáteční číslo sekvence (ISN – Initial Sequence Number) není-li nastaven flag SYN, potom je SN pořadové číslo prvního datového oktetu v segmentu (vzhledem k celé sekvenci přenášených dat v rámci tohoto TCP spojení) Acknowledgement Number (ACKN) – potvrzovací číslo – musí být vysíláno během celého TCP spojení – představuje SN následujícího segmentu (tj. který je očekáván) (viz protokol Positive Acknowledgement with Retransmission) Data Offset = délka záhlaví = počátek dat (udáváno ve „slovech“ - 4 oktety)
17
Počítačové sítě Transportní vrstva
Řídící bity – Flags URG – určuje platnost pole URGENT POINTER ACK - určuje platnost pole ACKN PSH – oznamuje, že segment obsahuje data, která se mají bezprostředně předat cílovému procesu RST – vyvolá reset TCP spojení SYN – iniciuje TCP spojení, vyvolá proces synchronizace, tj. výměnu SN obou stran FIN – iniciuje ukončovací proces TCP spojení (zpravidla v případě konce sekvence dat) Řídící bity URG ACK PSH RST SYN FIN
18
Počítačové sítě Transportní vrstva
Window Size – určuje velikost „sliding window“ – max (počet oktetů, které je možno přenést bez ACK) Checksum – kontrolní součet (včetně TCP pseudozáhlaví – viz. UDP pseudozáhlaví) Urgent Pointer – specifikuje offset posledního oktetu urgentních dat (spolu s řídícím bitem URG) TCP volby –pole proměnné délky (dorovnává se na hranici 2 oktetů) – Maximum segment size (2, 4) – udává maximální možnou velikost segmentu přenášeného v rámci TCP spojení (max B) Window Scale Factor (3, 3) – umožní zvětšení velikosti „plovoucího okna“ ( x 214 ) Timestamp (8, 10) – nastavení časových známek na každý přenášený segment – pro měření RTT Typ Délka Data
19
Počítačové sítě Transportní vrstva
TCP spojení: socket A socket B Příklad: služba SSH: server klient TCP spojení – dynamický objekt v definovaném stavu Stav TCP spojení určuje jeho předchozí stav a časově závislá událost předání řídící informace spojení (TCP protokol) příkaz aplikace (požadavek na spuštění služby, požadavek na přenos dat aplikace, požadavek na ukončení přenosu dat aplikace) V OS Unix TCP spojení obsluhuje jádro Parametr jádra – maximální počet otevřených TCP spojení Tabulky TCP spojení (datové struktury) – utilita netstat
20
TCP/UDP aplikace aplikace TCP/UDP TCP TCP UDP UDP server X klient X
server Y server Z TCP klient Z Porty Well-known alokovaný klient Y klient W server J server K UDP UDP klient K klient J
21
Počítačové sítě Transportní vrstva
Mechanismy řízení TCP spojení Synchronizace komunikujících stran –ve fázi inicializace (otevírání) TCP spojení si strany vymění svá počáteční sekvenční čísla (ISN – Initial Sequence Number). Posloupnost přijímaných segmentů TCP PDU (segmentů) – PAR – strana potvrzuje korektní přijetí předchozích segmentů pořadovým číslem segmentu následujícího, tzn. ackB = seqA + 1 a seqB = ackA – 1 Řízení toku – zamezení zahlcení virtuálního kanálu – metoda „Sliding Window“ – postupné zvyšování velikosti – strana přijímací data aplikace určuje maximum – při velikosti okna = 0 spojení zůstává otevřené.
22
Počítačové sítě Transportní vrstva
Stavy TCP spojení při normálním průběhu otevírání Klient Server LISTEN (passive open) (active open) SYN_SENT SYN seq J SYN_RCVD SYN seq K, ack J+1 ESTABISHED ack K+1, seq J + 1
23
Počítačové sítě Transportní vrstva
Klient Server Klient Server ESTABISHED ESTABISHED seq K+1 ack J+1 seq 2 ack 1 S A 1 3 2 . 3 . 4 4 5 5 seq J+1 ack K+2 S A 3 2 4 3 5 4 seq K+2 ack J+2 seq J+2 ack K+3 Jednoduché potvrzování Řízení „Sliding Window“ (= 3)
24
Počítačové sítě Transportní vrstva
Stavy TCP spojení při normálním průběhu uzavírání Klient Server (active close) FIN_WAIT_1 CLOSE_WAIT (passive close) FIN seq M ack M+1 ack N+1 FIN seq N TIME_WAIT LAST_ACK CLOSED FIN_WAIT_2
25
Počítačové sítě Transportní vrstva
Přechodový diagram stavů TCP spojení
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.