Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Podobné dokumenty
Vlastnosti podporované transportním protokolem TCP:

6. Transportní vrstva

Počítačové sítě Transportní vrstva. Transportní vrstva

Identifikátor materiálu: ICT-3-03

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Y36PSI Protokolová rodina TCP/IP

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1

Počítačové sítě 1 Přednáška č.6 Transportní vrstva

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

4. Transportní vrstva

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Transportní vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Zabezpečení dat při přenosu

Technologie počítačových sítí 8. přednáška

MODELY POČÍTAČOVÝCH SÍTÍ

Poˇ c ıtaˇ cov e s ıtˇ e pˇredn aˇsky Jan Outrata ˇr ıjen listopad 2008 Jan Outrata (KI UP) Poˇ c ıtaˇ cov e s ıtˇ e ˇ r ıjen listopad / 34

JAK ČÍST TUTO PREZENTACI

Inovace bakalářského studijního oboru Aplikovaná chemie

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě Vrstvový model TCP/IP Ing. Zelinka Pavel

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Rodina protokolů TCP/IP. Rodina protokolů TCP/IP. verze 3. Téma 9: Transportní protokoly. Jiří Peterka

Počítačové sítě. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Protokoly přenosu. Maturitní otázka z POS - č. 15. TCP/IP (Transmission Control Protocol/Internet Protocol)

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Inovace bakalářského studijního oboru Aplikovaná chemie

Komunikační protokoly počítačů a počítačových sítí

Jan Outrata. říjen prosinec 2010 (aktualizace září prosinec 2013)

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

Rodina protokolů TCP/IP verze 3

Typy samostatných úloh PSI 2005/2006

Inovace bakalářského studijního oboru Aplikovaná chemie

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Základní pojmy technických sítí

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Cvičení 5 POČÍTAČOVÁ OBRANA A ÚTOK - POU

Y36PSI QoS Jiří Smítka. Jan Kubr - 8_rizeni_toku Jan Kubr 1/23

Technologie počítačových sítí 2. přednáška

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

Katedra softwarového inženýrství Matematicko-fyzikální fakulta UK

DUM 16 téma: Protokoly vyšších řádů

SSL Secure Sockets Layer

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

Sada protokolů TCP/IP

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Semestrální práce CC3 TCP/IP transport a aplikace

Síťové protokoly. Filozofii síťových modelů si ukážeme na přirovnání:

Počítačové sítě I. 2. Síťové modely Miroslav Spousta, 2005

3.17 Využívané síťové protokoly

Počítačové sítě II. 11. IP verze 4, adresy Miroslav Spousta, 2006

Protokoly a Internet. Miloš Hrdý. 19. listopadu 2007

Počítačové sítě Teoretická průprava II. Ing. František Kovařík

Rodina protokolů TCP/IP, verze 2.7. Část 7: Transportní protokoly

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Analýza aplikačních protokolů

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Ing. Jitka Dařbujanová. , SSL, News, elektronické konference

Architektura TCP/IP v Internetu

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy:

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

íta ové sít TCP/IP Protocol Family de facto Request for Comments

Počítačové sítě. Počítačová síť. VYT Počítačové sítě

Protokoly TCP/IP. rek. Petr Grygárek Petr Grygárek, FEI VŠB-TU Ostrava, Počítačové sítě (Bc.) 1

Y36SPS Bezpečnostní architektura PS

Definice pojmů a přehled rozsahu služby

Internet a jeho služby. Ing. Kateřina Ježková

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Eva Hladká. podzim 2011

TFTP Trivial File Transfer Protocol

ZPS 3 Standardizace počítačových sítí, zásobník TCP/IP, model ISO/OSI, vybrané protokoly

Systémy pro sběr a přenos dat

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Bezpečnost vzdáleného přístupu. Jan Kubr

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

11. IP verze 4, adresy. Miroslav Spousta, IP verze 4

Provádí ochranu sítě před napadením (ochrana počítačů nestačí) Odděluje uživatele (prvek nespolehlivosti) od prvků ochrany

Access Control Lists (ACL)

Přednáška 9. Síťové rozhraní. Úvod do Operačních Systémů Přednáška 9

aplikační vrstva transportní vrstva síťová vrstva vrstva síťového rozhraní

Technologie počítačových komunikací

Y36SPS Bezpečnostní architektura PS

Počítačové sítě Systém pro přenos souborů protokol FTP

Počítačové sítě ve vrstvách model ISO/OSI

Inovace výuky prostřednictvím šablon pro SŠ

Architektura TCP/IP je v současnosti

Obsah. O autorech 9. Předmluva 13. KAPITOLA 1 Počítačové sítě a Internet 23. Jim Kurose 9 Keith Ross 9

Počítačové sítě Internetový systém elektronické pošty

Komunikace v sítích TCP/IP (1)

Transkript:

Počítačové sítě II 14. Transportní vrstva: TCP a UDP Miroslav Spousta, 2005 1

Transportní vrstva přítomná v ISO/OSI i TCP/IP zodpovědná za rozšíření vlastností, které požadují vyšší vrstvy (aplikační) spojovanost spolehlivost další možná přizpůsobení řízení toku bufferované vysílání a příjem rozlišení mezi více adresáty v rámci uzlu plně duplexní spojení transparentní přenos libovolných dat pozorování: ne všechny aplikace vyžadují všechny tyto vlastnosti 2

TCP a UDP aplikace mohou využívat dva způsoby komunikace UDP (User Datagram Protocol) má obdobné vlastnosti jako protokol IP přidává navíc možnost adresovat více procesů v rámci jednoho uzlu (pomocí portů) přidává kontrolní součet k celému datagramu (IP nemá!) TCP (Transmission Control Protocol) podstatně rozšiřuje vlastnosti IP spolehlivý (řeší výpadek datagramů jejich přeposláním) spojovaný před komunikací je nutné navázat spojení, také se spojení ukončuje libovolně velká data pro přenos řízení toku dat (ochrana proti zahlcení příjemce i sítě) stejně jako UDP nabízí jemnější adresaci než IP protokol pomocí portů 3

TCP/IP porty Port ICMP UDP TCP IP Protocol 17 1 6 ARP IP RARP Ethernet type 0x0806 0x0800 0x8035 Ethernet 4

Porty porty (doslova přístav) jsou reprezentovány celým číslem (1..65535) je to jakási relativní adresa v rámci uzlu porty existují od začátku, nevznikají, ani nezanikají aplikace se připojují k portům, pokud chtějí komunikovat pomocí transportních protokolů mohou využívat více portů pro různou komunikaci ale k jednomu portu patří nejvíce jedna aplikace některé porty jsou tzv. dobře známé (well-known) 5

Well-known porty některé porty, mají definován význam udávají, jaká aplikace (služba) na daném portu pracuje umožňují komunikaci s aplikací na vzdáleném serveru (pokud by byly porty náhodné, nevíme, kam se připojit) well-known (dobře známé) porty: mají čísla 0-1023 přiděluje IANA, původně jako RFC, dnes http://www.iana.org/assignments/port-numbers 21 FTP, 22 SSH (secure shell), 23 telnet, 25 SMTP (pošta), 53 DNS 80 HTTP (WWW), 110 POP3 (vybírání pošty), 143 IMAP 443 HTTPS (šifrovaný web),... registrované porty: mají čísla 1024 49151 IANA nepřiděluje, pouze registruje pouřití (3306 MySQL, 1433 MSSQL) ostatní porty: 49152 65535 volně k použití (např. pro klienty) 6

Sockety spojení je identifikováno pomocí dvou socketů každý na jedné straně komunikujícího páru uzlů socket je dvojice IP adresa číslo portu např 192.168.33.1:3306 na jednom portu tedy může probíhat několik spojení rozeznají se podle adresy/portu protistrany např. web server: spojení pracuje na portu 80, ale liší se socketem protistrany (klienta) sockety původně vznikly v UNIXu (kde je všechno soubor) pracuje se s nimi jako se soubory 7

UDP velmi jednoduchá nadstavba nad IP navíc poskytuje (de)multiplexování v rámci jednoho uzlu neboli porty má malou režii (8 byte) výhodné pro aplikace, které nepotřebují vlastnosti TCP ale hodí se jim jednoduchost (a rychlost), bezestavovost může být použit pro broadcast/multicast také zahrnuje kontrolní součet přes celý datagram (0 nepoužitý) dokonce i přes pseudozáhlaví data, která se nepřenáší (jsou již obsažena v IP hlavičce), ale kontrolní součet se počítá, jako by byla přítomna pokud uzel přijme UDP datagram se špatným kontrolním součtem zahodí se velikost datagramu musí být taková, aby se vešel do IP datagramu 8

UDP 16b 16b zdrojová (source) IP adresa cílová (destination) IP adresa 0 Protocol Délka datagramu UDP pseudozáhlaví 16b 16b UDP hlavička zdrojový (source) port délka dat cílový (destination) port Kontrolní součet data 9

TCP výborně řeší problém spolehlivé komunikace nad IP oproti ostatním protokolům (IP, UDP) velmi složitý vlastnosti: spojovaný charakter (3 fáze: navázání spojení, přenos dat, ukončení spojení) jedná se o dvoubodovou komunikace (vždy komunikují právě dva uzly) obousměrný (plně duplexní) přenos dat implementuje řízení toku předchází zahlcení spolehlivost (automatické přeposílání ztracených/poškozených dat) vůči vyšším protokolům se tváří jako bytová roura korektní navázání a uknončení spojení (obě strany souhlasí s navázáním spojení, nedojde ke ztrátě dat při navazování ani při ukončování spojení) 10

TCP spojovaná komunikace: pouze na transportní vrstvě, neumožňuje využívat nižší vrstvy neodpovídá úplně virtuálním okruhům týká se pouze koncových uzlů, nikoli transportní (IP) infrastruktury zajištění spolehlivosti: kontinuální potvrzování a retransmise generují se pozitivní potvrzení (že příjemce data obdržel) odesilatel čeká na příjem potvrzení od příjemce pokud ho nedostane (příjemce nedostal data, nebo se ztarilo po cestě potvrzení) do určité doby od odeslání, vyšle segment dat znovu otázka, jak douho čekat? 1 1 2 timeout 2 2 1 1 2 2 11

Adaptivní opakování jak nastavit timeout malá hodnota: způsobuje zbytečné retransmise velká hodnota: zpožďuje přenos při výpadku odesilatel sleduje přenosové zpoždění datagramů, podle toho si nastaví timeout sleduje průměrny round-trip (čas, za který mu přijde potvrzení) timeout se dynamicky mění podle kvality linky (podle váženého průměru a rozptylu) timeout je něco málo nad střední hodnotou pružně reaguje je-li velký rozptyl, zvyšuje se, není-li, blíží se střední hodnotě potvrzování se vkládá do protisměrně jdoucích paketů (není samostatné) nemá velkou režii 12

Řízení toku dat TCP se na data dívá jako na posloupnost bytů postupně je bufferuje, až má dostatečně velký úsek (nebo po vypršení timeoutu), předá data ke zpracování nižší vrstvě (vytvoří tzv. segment) aby nedošlo k zahlcení příjemce, používá se řízení toku dat pomocí tzv. metody klouzavého okna (sliding window) protějšek inzeruje v každém poslaném segmentu dat, kolik má místa v bufferech pokud inzeruje 0, měl by uzel přestat vysílat je potřeba zabránit, aby příjemce inzeroval příliš malé okno (bajty) příliš by vzrostla režie potvrzení se posílá až když je zpracováno určité množství dat (zpožďování potvrzení, max. 500ms) stejně tak není žádoucí, aby odesilatel posílal malé segmenty opět kvůli režii 13

Sliding window inzerovaná velikost okna proud dat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 potvrzeno nepotvrzeno možno odeslat musí počkat, než se okno posune v okně jsou nepotvrzená data přijetím potvrzení se okno posune doprava pokud nemáme potvrzená data a vyčerpali jsme okno, musíme počkat na potvrzení, případně (pokud vyprší časovač) na retransmisi 14

Řízení toku 1-1000 1001-1500 Nemůže vysílat 1501-2000 2001-2500 odesiltel příjemce 1500 1000 500 1500 0 1500 1000 2000 500 2500 1000 nabídka příjemce zpracoval data potvrzení 15

TCP 16b zdrojový (source) port 16b cílový (destination) port pořadové číslo (seq) číslo potvrzení (ack) délka záhlaví 0 flags (6 bitů) šířka okna kontrolní součet ukazatel spěšných dat optional data (+padding) data 16

Popis TCP segmentu porty: 0 65535 (jsou v prvních 64 bitech (kvůli ICMP)) pořadové číslo: sequence number označuje, kolik byte bylo odesláno na počátku spojení je to náhodné číslo kvůli bezpečnosti (aby se nedalo odhadnout) číslo potvrzení udává, že všechny předcházející byte jsou potvrzeny je to číslo, které protistrana očekává jako následující délka záhlaví v násobcích 32 bitů (4B) šířka okna: počet byte, které je možné ještě vyslat bez příchodu potvrzení odpovídá velikosti vyrovnávací paměti protistrany kontrolní součet zabezpečení přes celý segment (včetně pseudozáhlaví) ukazatel spěšných dat poslední byte urgentních dat volitelné možnosti např. MSS 17

Příznaky TCP segmentu bitové pole (6b) URG spěšná (urgentní data) v segmentu ACK udává, že pole potvrzení je platné PSH požaduje okamžité doručení segmetnu vyšší vrstvě (pro interaktivní aplikace,...) RST požaduje okamžité ukončení spojení SYN žádost o navázání spojení (segment neobsahuje data) FIN žádost o přerušení spojení 18

Navázání spojení musí fungovat spolehlivě i v případě ztráty některého IP datagramu jedna strana (klient) je aktivní, protistrana (server) je (zpočátku) pasivní send (SYN seq = x) receive (SYN seq = x) send (SYN seq = y, ACK = x+1) receive (SYN seq = y, ACK = x+1) send (seq = x+1, ACK = y+1 ) receive (seq = x+1, ACK = y+1) 19

Ukončení spojení stejně jako navázání musí fungovat spolehlivě i v případě ztráty některéhho IP datagramu zaručit, že všechna data, která byla odeslána před uzavřením dojdou (v obou směrech!) send (FIN seq = x) receive (seq = y, ACK = x+1) receive (FIN seq = x) send (ACK seq = y, ACK = x+1) send (FIN seq = y+1, ACK = x+1) receive (FIN seq = y+1, ACK = x+1) send (ACK seq = x+1, ACK = y+2) receive (seq = x+1, ACK y + 2) 20