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



Podobné dokumenty
6. Transportní vrstva

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

Vlastnosti podporované transportním protokolem TCP:

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

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

Y36PSI Protokolová rodina TCP/IP

4. Transportní vrstva

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

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

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.

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

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

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

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

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

Eva Hladká. podzim 2011

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

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

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

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

JAK ČÍST TUTO PREZENTACI

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

Analýza aplikačních protokolů

Telekomunikační sítě Protokolové modely

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

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

Sada protokolů TCP/IP

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

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

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

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

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

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

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

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

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

Rodina protokolů TCP/IP verze 3

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

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

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

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

Architektura TCP/IP v Internetu

Zásobník protokolů TCP/IP

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

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

Zásobník protokolů TCP/IP

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

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

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

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

Typy samostatných úloh PSI 2005/2006

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

TFTP Trivial File Transfer Protocol

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

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

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

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

OSI TCP/IP Aplikace a protokoly 7. aplikační 6. presentační 5. relační

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

Architektura TCP/IP je v současnosti

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.

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.

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

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

Obsah PODĚKOVÁNÍ...11

Historie, současnost a vývoj do budoucnosti Anna Biernátová, Jan Faltys, Petr Kotek, Pavel Pokorný, Jan Šára

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Aplikační vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Měření kvality služeb. Kolik protlačíte přes aktivní prvky? Kde jsou limitní hodnoty ETH spoje? Data Hlas Video. Black Box Network Infrastructure

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

Osnova přednášky. Informační a řídicí systémy I. Úvod do počítačových sítí. Doporučená literatura. Motivace

Počítačové sítě. Lekce 3: Referenční model ISO/OSI

Ukázka testu Informatiky pro přijímací zkoušky do navazujícího magisterského studia

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

Detailní report nezávislého Network auditu pro FIRMA, s.r.o.

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

Úvod do informatiky 5)

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

Základní techniky skenování TCP portů

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ží

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

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

Zabezpečení dat při přenosu

Sí tová vrstvá [v1.1]

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

Základy počítačových sítí Model počítačové sítě, protokoly

Protokoly transportní vrstvy a jejich kategorizace, transportní

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

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

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

5. Směrování v počítačových sítích a směrovací protokoly

Adaptabilní systém pro zvýšení rychlosti a spolehlivosti přenosu dat v přenosové síti

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

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

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

Seminární práce pro předmět Technologie sítí WAN (CCNA4) Síťové modely, základy IP adresování

Kurz práce s informacemi

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

Transkript:

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

Osnova = Základní vlastnosti transportní vrstvy = Zodpovědnosti transportní vrstvy = Vlastnosti transportní vrstvy = Protokoly transportní vrstvy = TCP - Transmission Control Protocol = UDP User Datagram Protocol = Srovnání ostatních technologií transportní vrstvy ISO/OSI 7.Aplikační 6.Prezentační 5.Relační 4.Transportní 3.Síťová 2.Datová 1.Fyzická

Základní vlastnosti transportní vrstvy

Vlastnosti transportní vrstvy = Segmentace dělení aplikačních dat na menší díly (segmenty, datagramy) na straně odesílatele dat = Reassembling zpětné složení dat na straně příjemce dat = Identifikace aplikace pro kterou jsou data určena = Multiplexing - Umožňuje používat více aplikací komunikujících po síti v jednom časovém okamžiku = Zapoudření dat a přidání hlavičky s řídícími a kontrolními informacemi

Segmentace a reassembling = Před odesláním dělí souvislý datový tok (data flow) z aplikace do segmentů (segmentace) a po přijetí je opět sestavuje (reassembling) 7.Aplikační ISO/OSI 6.Prezentační Segmentace Souvislý tok dat (data flow) 5.Relační 4.Transportní H H DATA DATA H H DATA DATA Segmentovaná data 3.Síťová 2.Datová 1.Fyzická

Segmentace a reassembling = Před odesláním dělí souvislý datový tok (data flow) z aplikace do segmentů (segmentace) a po přijetí je opět sestavuje (reassembling) 7.Aplikační ISO/OSI 6.Prezentační Reassembling Souvislý tok dat (data flow) 5.Relační 4.Transportní 3.Síťová H H DATA DATA H H DATA DATA Segmentovaná data 2.Datová 1.Fyzická

Identifikace aplikace = Úkolem transportní vrstvy je identifikovat komunikace jednotlivých aplikací a předávat doručená data příslušné aplikaci = Adresace na transportní vrstvě pomocí čísel portů identifikuje jednotlivé konverzace = Číslo portu je 16-bitové - <0; 65535> = V hlavičce segmentu/datagramu transportní vrstvy se vždy nachází číslo zdrojového a cílového portu = Zdrojové číslo portu je spojeno se zdrojovou aplikací na vysílajícím počítači = Je při prvním požadavku komunikace náhodně vygenerováno z čísel portů, které jsou větší než 1023 = Cílové číslo portu je potom spojeno s cílovou aplikací, které data přijímá = Je pevně přiděleno dané aplikaci (službě, procesu, daemonu) a klientská stanice ho musí dopředu znát

Adresace pomocí portů = Přidělování portů je řízeno doporučeními organizace IANA = http://www.iana.org/assignments/service-names-port-numbers/service-names-portnumbers.xml Název skupiny portů Rozsah hodnot Přidělováno Cílový port Zdrojový port Well-known (dobře známe porty) Registered (registrované porty) Private / Dynamic (privátní / dynamické porty) <0;1023> Pro nejprivilegovanější procesy, přidělené tak, že je znají klientské stanice <1024;49151> Přidělované dynamicky, nyní již nedoporučované, ale přesto stále používané <49152;65535> Dynamicky přidělované pouze jako zdrojové porty

Příklady well-known portů = Příklady některých služeb využívající well-known porty Číslo portu Použitý protokol transportní vrstvy Služba / Aplikace 20 TCP FTP (data) 21 TCP FTP (řízení přenosu) 22 TCP SSH zabezpečené vzdálené připojení do systému 23 TCP Telnet emulace terminálu vzdáleného systému 25 TCP SMTP Simple Mail Transfer Protocol 53 TCP, UDP DNS Domain Name System 69 UDP TFTP Trivial File Transfer Protocol 80 TCP HTTP Hyper Text Transfer Protocol 443 TCP HTTPS HTTP Secured 520 UDP RIP (Routing Information Protocol)

Sockety = Sockety = Určují jednu konkrétní komunikaci konkrétních aplikací mezi konkrétními uzly = Jsou tvořeny IP adresou uzlu a číslem portu na kterém naslouchá komunikující aplikace (zdrojového portu) = Např. 192.168.100.124:80 = V OS Windows je možné zobrazit aktuálně použité sockety příkazem netstat socket

Stavy socketů = Socket se může nacházet v několika možných stavech Název stavu LISTEN ESTABLISHED TIME_WAIT CLOSE_WAIT SYN_SENT SYN_RECEIVED Popis stavu Lokální zařízení čeká na požadavek na připojení (spojení) nějakého vzdáleného zařízení Socket je otevřen, data mohou být vyměňována pomocí tohoto spojení. Toto je normální stav socketu ve fázi přenosu dat. Lokální socket čeká implicitní časovou periodu, potom co odeslalo požadavek na ukončení, před tím než se uzavře. V normálním stavu bude trvat mezi 30 120 sekundami. Socket je uzavřen, ale čeká na požadavek na ukončení od lokálního uživatele. Lokální socket čeká na odpověď po odeslání požadavku na vzdálený socket. Socket by měl přejít přes tento přechodový stav velmi rychle. Lokální socket čeká na požadované potvrzení vzdáleného socketu. Mnohonásobné sockety ve stavu SYN_RECEIVED mohou indikovat útok typu SYN Flooding.

Protokoly transportní vrstvy

Protokoly transportní vrstvy = Existuje množství protokolů transportní vrstvy = Jsou rozdílné zejména v různých poskytovaných vlastnostech = Využití konkrétního protokolu závisí na potřebách provozované aplikace = Mezi nejpoužívanější protokoly patří = TCP funguje spojovaně a spolehlivě, pozměňuje původní vlastnosti IP protokolu (vhodné pro typ služeb vyžadující vysokou spolehlivost přenosu) = UDP funguje nespojovaně a nespolehlivě (vhodné pro datově náročné přenosy s tolerancí nespolehlivosti) = Další možné protokoly RTP, RTCP, SCTP, RTSP, RVSP zajišťující obvykle specifické požadavky aplikací na přenos v reálném čase (multimédia, videokonference, VoIP...)

Transmission Control Protocol

Transmission Control Protocol = TCP Transmission Control Protocol = PDU jednotka je označována jako segment = Definován v dokumentu RFC 793 (v roce 1981) = http://www.ietf.org/rfc/rfc793.txt = Spojový protokol před samotným odesláním dat je navázáno spojení (three way handshake) s transportní vrstvou na cílové stanici. Spojení je také před finálním ukončením komunikace ukončeno dohodou. = Spolehlivý protokol do hlavičky každého segmentu vkládá pořadové číslo segmentu a příjemce pak zpětně potvrzuje (acknowledment) přijetí určitého bloku těchto segmentů. Nepotvrzené segmenty jsou odeslány znovu. = Spojovost a spolehlivost však zvyšuje režii tohoto protokolu = Je potřeba více řídících informací (= větší hlavička segmentu, více dat na síti) = Před spojením je potřeba dohodnout spojení a to zpomaluje komunikaci = Potvrzování segmentů zatěžuje síť a snižuje tak její propustnost

Hlavička TCP protokolu

Hlavička TCP protokolu = Source port zdrojový port, 16-bitů = Destination port cílový port, 16-bitů = Identifikuje cílovou aplikaci nebo protokol vyšší vrstvy = Sequence number 32 bitů = Je pořadové číslo prvního bajtu TCP segmentu v toku dat od odesílatele k příjemci = 32-bitů, <0; 2 32-1>, pokud překročí horní hranici pokračuje cyklicky od 0 = Počáteční hodnota je náhodně vygenerovaná z uvedeného intervalu = Acknowledgement number 32 bitů = Potvrzuje přenos bajtů. Obsahuje pořadové číslo prvního bajtu očekávaných aplikačních dat v dalším segmentu. = Dopředné potvrzování. Pokud dostanu ACK=32, znamená to, že očekávám segment se sekvenčním číslem 32. = Data offset 4 bity = Délka hlavičky v čtyřbajtech (32-bitových slov)

Hlavička TCP protokolu = Reserved = Rezervováno pro budoucí využití = Flags příznaky, které řídí správu relace (jednobitová pole) = SYN požadavek na synchronizaci nebo vytvoření relace před přenesením aplikačních dat = ACK potvrzení přijatých dat od příštího očekávaného bajtu = FIN ukončení spojení = RST odmítnutí požadovaného spojení nebo reset stávajícího spojení = URG urgentní, prioritní = PSH označení, že segment nese aplikační data, která mají být předána aplikaci. Použití tohoto příznaku není ustáleno. = Window size 16 bitů = Kolik bajtů je posíláno na jedno potvrzení = Zároveň určuje minimální velikost vstupní vyrovnávací paměti na straně příjemce = Checksum 16 bitů = Kontrolní součet hlavičky a aplikačních dat = Urgent pointer 16 bitů = Ukazuje na první bajt prioritních dat

Spojovost protokolu TCP = Před prvním odesláním dat je nejprve navázáno spojení s transportní vrstvou cílového uzlu metodou Three-way handshake 2) 1) 3) SERVER Klient vygeneruje odpoví také segmentem vygeneruje náhodné s náhodné číslo nastaveným (361), číslo (1281), které ACK bitem použije které na použije jako 1 (ACK=1), startovací jako startovací se sekvenční svým původním pořadové sekvenčním číslo pořadové číslem (SEQ=361) +1 číslo (SEQ=362) (SEQ=1281) odesílaného a s bajtu; odesílaného vytvoření Acknowledgement startovacího bajtu; vytvoření number pořadového jako startovacího se čísla pořadového odesílaného sekvenčním čísla číslem bajtu odesílaného označí serveru v TCP navýšeným bajtu segmentu označí o v TCP nastavením jedničku segmentu (ACKN=1282). příznaku nastavením SYN=1 příznaku SYN=1 příznak ACK nastaví na 1 (ACK=1) a jako Acknowledgement number použije sekvenční číslo Tímto přijaté je navázáno od klienta spojení inkrementované a stanice o jedničku můžou posílat (ACKN=362) aplikační data. SYN_SENT ESTABLISHED Klient port 1485 SYN=1 SEQ=361 SYN=1 ACK=1 SEQ=1281 ACKN=362 ACK=1 SEQ=362 ACKN=1282 Server port 80 LISTEN SYN_RCVD ESTABLI- SHED

Spojovost protokolu TCP = Pro ukončení spojení (pro každý jeho směr) se používá FOUR WAY HANDSHAKE v poli Flags je nastaven příznak FIN (Finish), který musí být druhou stranou potvrzen (ACK). 3) 4) 2) 1) Server Klient potvrdí odešle také odpoví odešle na ukončení segmentem server spojení segment s s ACK FIN segmentem s bitem FIN nastaveným s bitem ACK nastaveným bitem nastaveným 1, 1 (ACK=1). aby 1. oznámil (FIN=1) na 1. ukončení (ACK=1) spojení. FIN_SENT Klient port 1485 FIN=1 SEQ=361 Server port 80 ESTABLI- SHED ACK=1 FIN_RCVD FIN=1 FIN_SENT FIN_RCVD ACK=1 CLOSED CLOSED

TCP spolehlivý protokol = Jednou z funkcí TCP protokolu je zajištění, že veškeré odeslané segmenty dorazí do cíle. = Každý odeslaný segment obsahuje v hlavičce pole SN (Sequence Number) což je pořadové číslo prvního bajtu v daném segmentu. = Příjemce potvrzuje přijetí segmentu pomoci pole Acknowledgment number což je číslo následujícího očekávaného bajtu. = Ppříjemce potvrzuje správné přijetí všech bajtů do hodnoty tohoto pole mínus 1. Hodnota pole Acknowledgment number je pak obsažena v poli SN následujícího odeslaného segmentu

TCP spolehlivý protokol = Aby se nemuselo potvrzovat přijetí každého segmentu zvlášť což by způsobovalo nárůst přenášených řídících dat přes síť existuje možnost odeslat několik segmentů, bez čekání na jejich potvrzení = Množství odeslaných dat v segmentech (bez nutnosti potvrzení) je dáno hodnotou pole WINDOWS SIZE = Optimalizací této hodnoty pro každé konkrétní spojení, je možné zvýšit rychlost přenosu = Hodnota Windows size je měněna příjemcem (serverem), podle aktuálních parametrů přenosu = Pokud jsou časté výpadky je zmenšena = Pokud se výpadky téměř nevyskytují, je možné ji zvětšit = Tato vlastnost se nazývá řízení toku dat (flow control)

User Datagram Protocol

User Datagram Protocol = UDP User Datagram Protocol = PDU jednotka je označována jako datagram = Definován v dokumentu RFC 768 (v roce 1980) = http://www.ietf.org/rfc/rfc768.txt = Nespojový protokol před odesláním dat nevytváří žádné spojení, neřídí ho ani neukončuje. Pokud přijme od aplikační vrstvy data k odeslání, segmentuje je a odesílá = Nespolehlivý protokol nepoužívá sekvenční čísla ani potvrzování. To vede k možné ztrátě dat. Tento problém neřeší, ale přenechává protokolům vyšší vrstvy (pokud je to potřebné). = Nespojovost a nespolehlivost velmi snižuje režii tohoto protokolu = Ke svému fungování potřebuje minimální množství řídících informací (= malá hlavička a menší objem dat vyslaných na síť) = Tím, že se nezdržuje vytvářením spojení, doručí data rychleji = Nepotvrzováním snižuje velikost dat putující sítí a tím zvyšuje její propustnost

Hlavička UDP protokolu = Source port zdrojový port, 16-bitů = Destination port cílový port, 16-bitů = Identifikuje cílovou aplikaci nebo protokol vyšší vrstvy = Length 16-bitů = Vyjadřuje délku datagramu (UDP hlavičky + aplikačních dat) = Checksum 16 bitů = Kontrolní součet hlavičky a aplikačních dat

Vlastnosti UDP protokolu = UDP hlavička neobsahuje informaci o pořadí datagramu, tudíž na straně příjemce nedochází ke znovusložení dat ve správném pořadí (reassembling) = Využití má pro služby a protokoly, které preferují rychlost komunikace na úkor ztráty části dat nebo nedodržení pořadí složení datagramů do výstupního proudu dat například u IP telefonie (VoIP) nebo u streamování videa = Mezi aplikační protokoly, využívající UDP patří např. = DNS (Domain Name Systém) = DHCP (Dynamic Host Configuration Protocol) = RIP (Routing Information Protocol) = TFTP (Trivial File Tranfer Protocol)

Srovnání ostatních technologií transportní vrstvy

Ostatní L4 protokoly = Existují i další protokoly procující na transportní vrstvě, většinou používané pouze úkzkou skupinou aplikací = UDP Lite = UDP ochuzené o checksum kontrolu = Raději doručí poškozená data než žádná = Využívají ho moderní aplikační protokoly a kodeky pro VoIP = RFC 3828 - http://tools.ietf.org/html/rfc3828 = SCTP - Stream Control Transmission Protocol = Kombinace vlastností TCP (spolehlivost) a UDP (nespojovost) = RFC 4960 - http://tools.ietf.org/html/rfc4960 = DCCP - Datagram Congestion Control Protocol = Obecně podobný protokolu UDP doplněný o jednoduché potvrzování a kontrolu přehlcení síťe = RFC 4340 - http://tools.ietf.org/html/rfc4340 = RUDP - Reliable User Datagram Protocol = Obecně podobný protokolu UDP doplněný o znovuodesílání nedoručených datagramů a ochranu proti overbufferingu = Verze 1 RFC 908 - http://tools.ietf.org/html/rfc908 = Verze 2 RFC 1151 - http://tools.ietf.org/html/rfc1151

Děkuji za pozornost