Počítačové sítě Lekce 4: Síťová architektura TCP/IP
Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol IP = Internet Protocol V širším slova smyslu představuje TCP/IP celou soustavu protokolů, ne nutně vázanou na operační systém Unix, přičemž TCP a IP jsou sice nejznámější protokoly této soustavy, ale zdaleka ne protokoly jediné (v současné době cca 100 různých protokolů). Správnější je ale považovat TCP/IP za ucelenou soustavu názorů o tom, jak by se počítačové sítě měly budovat, a jak by měly fungovat. V nejširším slova smyslu tedy můžeme považovat TCP/IP za síťovou architekturu. Lekce 4: Síťová architektura TCP/IP 2
Pohled do historie Počátky TCP/IP 60.léta agentura ARPA (Advanced Research Projects Agency) min.obrany USA vývoj nových protokolů pro síť ARPANET 1977-79 síť ARPANET přechází na protokoly TCP/IP postupně se stává základem Internetu, který se rozšiřuje do akademického prostředí Postupně se tato sada protokolů prosazuje do sítí pracujících na bázi Unixu (BSD Unix Berkeley Software Distribution) Dále se rozšiřuje i na další platformy (např. MS DOS, sálové počítače IBM apod.) Pro svůj úzký vztah k síti Internet je soustava protokolů TCP/IP někdy označována také jako Internet Protocol Suite (doslova: soustava protokolů Internetu). Lekce 4: Síťová architektura TCP/IP 3
IP over everything (jednotná poklička) IP vytváří jednotné přenosové prostředí nad všemi síťovými technologiemi Protokoly vyšších vrstev neřeší rozdíly mezi přenosovými protokoly nižších vrstev Princip tzv. jednotné pokličky Možnost připojení k internetu všemi možnými technologiemi Lekce 4: Síťová architektura TCP/IP 4
Dilema pokličky Lekce 4: Síťová architektura TCP/IP 5
Jednotná poklička Autoři TCP/IP se rozhodli pro "jednotnou pokličku", která zastírá konkrétní specifika jednotlivých IP sítí. Takzvanou "pokličku" tvoří protokol IP, což je hlavní přenosový protokol síťové vrstvy v TCP/IP. Fakticky jde o jednotnou nadstavbu, kterou tvoří: přenosový protokol IP, který má všude stejné vlastnosti a všude poskytuje stejné služby. Tento protokol je nespojovaný, nespolehlivý a funguje na principu maximální snahy jednotné adresování - virtuální 32-bitové adresy, tzv. IP adresy. Tyto adresy by měli vyhovovat "pohledu na svět", který má TCP/IP. To je, že svět je tvořen vzájemně propojenými dílčími sítěmi. IP adresy mají síťovou část, identifikující síť jako celek a dále uzlovou část identifikující uzel v rámci sítě převodní mechanismy, které překládají mezi fyzickými adresami a virtuálními IP adresami (protokoly (ARP,RARP..) Lekce 4: Síťová architektura TCP/IP 6
Představa pokličky Lekce 4: Síťová architektura TCP/IP 7
Filosofie TCP/IP (vs. ISO/OSI) ISO/OSI vychází ze snahy zajištění co nejspolehlivějšího přenosu dat již na nejnižších vrstvách modelu (spojovaný a spolehlivý charakter služeb). TCP/IP vychází z filosofie best effort tj. neplýtvat kapacitou komunikačních podsítí ve snaze o zajištění 100% spolehlivého přenosu dat za cenu snížení rychlosti přenosu. V komunikační podsíti tedy může docházet k určitým ztrátám dat (ne ovšem bezdůvodně, proto best effort, tj. nejlepší snaha o doručení dat. Zajištění spolehlivosti až na vyšších vrstvách modelu. TCP/IP předpokládá nespojovaný charakter přenosu dat v komunikační podsítí jednoduchá datagramová služba Lekce 4: Síťová architektura TCP/IP 8
Odlišný přístup autorů TCP/IP a ISO/OSI ISO/OSI Všechno musíme vymyslet sami nebo standardizovat to, co vymysleli jiní Postup od složitého k jednoduššímu složitá řešení, z nichž se postupně ubírá nejprve vznikne standard, pak se zkoumá praktická realizovatelnost TCP/IP Co je rozumné, převezmeme a využijeme Postup od jednoduššího ke složitějšímu řešení vznikají nejprve jako "skromná", postupně se obohacují nejprve se řešení ověří a teprve pak vzniká standard) Lekce 4: Síťová architektura TCP/IP 9
Konkrétní rozdíly TCP/IP a ISO/OSI v pohledu na počet vrstev a způsob jejich fungování jaké služby mají být nabízeny na jaké úrovni mají být poskytovány kde má být zajišťována spolehlivost jak mají služby fungovat spolehlivost/nespolehlivost, spojovanost/nespojovanost, princip maximální snahy vs. garance kvality služeb, zda má být ponechána možnost volby mají aplikace právo si vybrat např. mezi spolehlivým a nespolehlivým přenosem? Lekce 4: Síťová architektura TCP/IP 10
TCP/IP vs. ISO/OSI Lekce 4: Síťová architektura TCP/IP 11
Základní rysy TCP/IP Lekce 4: Síťová architektura TCP/IP 12
Základní rysy TCP/IP Lekce 4: Síťová architektura TCP/IP 13
Preference nespojovaných přenosů Lekce 4: Síťová architektura TCP/IP 14
Preference nespolehlivých přenosů Lekce 4: Síťová architektura TCP/IP 15
Preference přístupu best effort Lekce 4: Síťová architektura TCP/IP 16
Důraz na internetworking Lekce 4: Síťová architektura TCP/IP 17
Důsledky pro architekturu TCP/IP Lekce 4: Síťová architektura TCP/IP 18
Úspěšnost TCP/IP Lekce 4: Síťová architektura TCP/IP 19
Pohled TCP/IP na svět dílčí sítě pospojované pomocí směrovačů Lekce 4: Síťová architektura TCP/IP 20
TCP/IP vs. ISO/OSI Lekce 4: Síťová architektura TCP/IP 21
TCP/IP vs. ISO/OSI Lekce 4: Síťová architektura TCP/IP 22
Vrstva síťového rozhraní (Ethernetová vrstva) Nejnižší vrstva umožňuje přístup k fyzickému přenosovému médiu. Je specifická pro každou síť v závislosti na její implementaci TCP/IP tuto vrstvu nepokrývá, tj. sám nedefinuje protokoly, které fungují pod síťovou vrstvou například Ethernet, Token Ring, nebo ATM různé způsoby adresování, různou velikost přenášených rámců, různý charakter poskytovaných služeb TCP/IP tuto strukturu zastřešuje vytváří tzv. jednotnou pokličku nad těmito technologiemi Lekce 4: Síťová architektura TCP/IP 23
Síťová vrstva (IP Layer, Internet Layer) Je realizována pomocí protokolu IP. Technologicky nezávislá Odpovídá přibližně síťové vrstvě modelu ISO/OSI Stará se o adresování, směrování a předávání datagramů. Na této vrstvě pracují směrovače (routery) a brány (gateway). Nespojovaný charakter přenosů v TCP/IP tato vrstva zajišťuje jednoduchou (nespolehlivou) datagramovou službu. Lekce 4: Síťová architektura TCP/IP 24
Síťová vrstva (IP Layer, Internet Layer) Lekce 4: Síťová architektura TCP/IP 25
Hostitelské počítače a směrovače Lekce 4: Síťová architektura TCP/IP 26
Koncepce síťové vrstvy Lekce 4: Síťová architektura TCP/IP 27
Koncepce síťové vrstvy Lekce 4: Síťová architektura TCP/IP 28
Koncepce protokolu IP (v4) Lekce 4: Síťová architektura TCP/IP 29
Podpora fragmentace Lekce 4: Síťová architektura TCP/IP 30
IP adresy Lekce 4: Síťová architektura TCP/IP 31
Další součásti síťové vrstvy Lekce 4: Síťová architektura TCP/IP 32
Transportní vrstva (Transport Layer) Je implementována až v konečných zařízeních Jsou možné 2 transportní protokoly: TCP(Transmission Control Protocol) Funguje spojovaně (vyžaduje navázání a ukončení spojení) Zajišťuje spolehlivý provoz (kontinuelní potvrzování a selektivní opakování) Data přebírá po bytech, ale datový tok přenáší po blocích (TCP segmenty) Adaptivní (přizpůsobí se podmínkám přenosu) Velký a složitý kód UDP (User Datagram Protocol) Funguje nespojovaně Nespolehlivý provoz Data přebírá po blocích a vkládá je do tzv. UDP datagramů Jednoduchá nadstavba nad síťovým IP protokolem (malý a jednoduchý kód) Princip maximální snahy snaha vyhovět všem požadavkům i za cenu určité nespolehlivosti Lekce 4: Síťová architektura TCP/IP 33
Transportní vrstva (Transport Layer) Do úrovně síťové vrstvy: nespolehlivý přenos Na úrovni síťové vrstvy: spolehlivý přenos (TCP) nebo nespolehlivý přenos (UDP) Aplikace si mohou samy vybrat, který protokol budou využívat. Lekce 4: Síťová architektura TCP/IP 34
Koncepce transportní vrstvy Lekce 4: Síťová architektura TCP/IP 35
UDP User Datagram Protocol Lekce 4: Síťová architektura TCP/IP 36
TCP Transmission Control Protocol Lekce 4: Síťová architektura TCP/IP 37
Metoda okénka Lekce 4: Síťová architektura TCP/IP 38
Vývoj transportní vrstvy Lekce 4: Síťová architektura TCP/IP 39
Vývoj transportní vrstvy Lekce 4: Síťová architektura TCP/IP 40
Aplikační vrstva (Application Layer) Jejími entitami jsou jednotlivé aplikační programy, které na rozdíl od referenčního modelu ISO/OSI komunikují přímo s transportní vrstvou. Případné prezentační a relační služby, které v modelu ISO/OSI zajišťují samostatné vrstvy, si zde musí jednotlivé aplikace v případě potřeby realizovat samy. Lekce 4: Síťová architektura TCP/IP 41
Aplikace v TCP/IP Lekce 4: Síťová architektura TCP/IP 42
Síťová neutralita vs. podpora QoS Lekce 4: Síťová architektura TCP/IP 43
Dodatečná podpora QoS Lekce 4: Síťová architektura TCP/IP 44
Princip Over The Top (OTT) Lekce 4: Síťová architektura TCP/IP 45
Zapouzdření dat v TCP/IP Lekce 4: Síťová architektura TCP/IP 46
Zapouzdření dat v TCP/IP V rodině protokolů TCP/IP funguje zapouzdřování následujícím způsobem: blok dat, který má být odeslán protokolem TCP nebo UDP je předán modulu, který implementuje protokol TCP nebo UDP UDP modul přidá před tento blok UDP hlavičku a výsledný datagram předá vrstvě IP; TCP přidá před tento blok TCP hlavičku a výsledný segment předá vrstvě IP IP vrstva přidá před datagram IP hlavičku, čímž se vytvoří IP paket, a předá paket ovladači realizujícímu protokol linkové vrstvy linková vrstva vytvoří z paketu přidáním hlavičky a patičky rámec, který bude pomocí fyzické vrstvy odeslán do sítě přijatý rámec je dekódován jednotlivými vrstvami opačným postupem než byl vytvořen a blok dat je předán vrstvou UDP aplikaci (spolu z s informacemi z nižších vrstev) Lekce 4: Síťová architektura TCP/IP 47