Jak funguje internet - podle Jiriho Peterky
Transkript
Katedra softwarového inženýrství, Matematicko-fyzikální fakulta, Univerzita Karlova, Praha Jak funguje internet Jiří Peterka Upraveno z materiálů Jiřího Peterky, www.earchiv.cz (a se souhlasem autora :). Nicméně záruky poskytnuty žádné, studium na vlastní nebezpečí. Roman Chýla 1 Jak funguje Internet? • Používá technologie, které se dohromady označují jako rodina protokolů TCP/IP (TCP/IP protocol suite) • tyto technologie pokrývají: – přenosy dat – způsob identifikace zdrojů – ……….. 2 Co je protokol? • implementovat funkční síť je hodně složité a náročné • jde o jeden velký problém, který se vyplatí dekomponovat – rozdělit na menší části, které je možné řešit samostatně • počítačové sítě: dekompozice se provede po hierarchicky uspořádaných vrstvách – dobře to odpovídá povaze řešeného problému – přináší to i další výhody • možnost alternativních řešení na úrovni nižších vrstev • větší modulárnost vrstva vrstva síť (jako celek) vrstva vrstva vrstva vrstva protokol: říká jak má fungovat vrstva jednoho uzlu při komunikaci se stejnolehlou vrstvou jiného uzlu 3 Způsob komunikace mezi vrstvami vrstva pravidla komunikace definuje protokol vrstva vrstva vrstva vrstva vrstva komunikace probíhá pouze mezi stejnolehlými (rovnocennými, angl.: peer) vrstvami mohou stát na různých platformách 4 aplikace (aplikační služby, např.: el. pošta, WWW, … ) komunikace mezi koncovými uzly přenos dat aplikační vrstva SMTP, HTTP FTP, LDAP, DNS, … transportní v. UDP, TCP síťová v. protokol IP (zajišťuje protokol IP, Internet Protocol) týká se fyzických přenosů vrstva síťového rozhraní protokoly TCP/IP pokrývají Vrstevnatý model TCP/IP TCP/IP nepokrývá 5 Rodina protokolů TCP/IP • ve skutečnosti je to celá tzv. síťová architektura – zahrnuje představu o počtu vrstev, o jejich významu a roli, a také konkrétní protokoly • vrstvy jsou 4 – každý protokol se vždy "týká" určité vrstvy – na jedné vrstvě může "fungovat" více protokolů • každý z nich plní jiný úkol, nebo plní stejný úkol jiným způsobem atd. • rodina protokolů TCP/IP dnes obsahuje přes 100 různých protokolů !!! – tj. TCP/IP není 1 protokol !!! • rodina protokolů TCP/IP obsahuje protokoly které pokrývají: – přenos dat (protokoly IP, TCP, UDP) – manipulaci s adresami – fungování služeb (aplikací), např.: • • • • • el. pošta: SMTP, RFC822 web: HTTP, HTML přenos souborů: FTP, NFS přístup k adresářům: LDAP ….. • protokoly jsou definovány standardy Internetu – dokumenty RFC (STD) • neustále se vyvíjí, vznikají nové 6 Filosofie TCP/IP - nespolehlivost • teze: přenosová vrstva se má starat o přenos dat – má to dělat co nejefektivněji – nemá se rozptylovat dalšími úkoly (např. zajišťováním spolehlivosti, když to si snáze a lépe zajistí koncové uzly sítě) – zajištění spolehlivosti je úkolem koncových uzlů • aplikace aplikace UDP TCP síťová vrstva • IP na transportní vrstvě existují dva hlavní protokoly: – UDP – zachovává nespolehlivost co je nespolehlivost? – pokud některý uzel zjistí, že je něco poškozeno, má právo to zahodit a nemusí se starat o nápravu!! – nesmí nic zahazovat samovolně!! aplikace transportní vrstva důsledek: – přenosy dat (na úrovni síťové vrstvy, protokolem IP) fungují jako nespolehlivé • aplikace • nestará se o ztracená/poškozená data – TCP – zajišťuje spolehlivost • napravuje ztráty/poškození • aplikace si mohou vybrat spolehlivý, či nespolehlivý přenos 7 Filosofie TCP/IP - nespojovanost • přenosy dat v TCP/IP fungují na nespojovaném principu – nenavazují spojení, posílají data v dobré víře že příjemce existuje a bude ochoten je přijmout – každý jednotlivý blok dat (paket) je přenášen samostatně a nezávisle na ostatních paketech představa spojovaného přenosu 4 5 2 3 spojení • může být přenášen jinou cestou než ostatní • pořadí doručování nemusí být zachováno 1 – výhody: 2 • je to velmi robustní – není nutné explicitně reagovat na ztráty spojení, změny v topologii sítě 1 4 3 5 – nevýhody: • pro přenosy větších objemů dat v kratších intervalech je to neefektivní • protokol IP funguje nespojovaně představa nespojovaného přenosu 8 Princip maximální snahy • anglicky"best effort" • – přenosová část sítě se maximálně snaží vyhovět všem požadavkům, které jsou na ni • kladeny – pokud se jí to nedaří, má právo krátit požadavky (limitovat, ignorovat je, nevyhovět jim, …) • • např. pozdržet přenášené pakety do doby, než je bude moci zpracovat • může i zahazovat pakety, které vůbec nedokáže zpracovat – dělá to rovnoměrně vůči všem požadavkům • • "měří všem stejně", nepracuje s prioritami je to celková filosofie TCP/IP – je praktickým důsledkem použití paketového přenosu a přístupu ke spolehlivosti alternativa: – garance služeb (QoS, Quality of Service) • QoS nabízí telekomunikační sítě výhoda: – sítě fungující na principu "best effort" jsou mnohem efektivnější (i ekonomicky) než sítě nabízející QoS • kdyby Internet poskytoval QoS, byl by mnohem dražší než dnes a méně rozvinutý nevýhoda: – vadí to multimediálním přenosům 9 Představa paketového přenosu problém: není předem známo, jak dlouho se ten který paket zdrží v přepojovacím uzlu (záleží to na momentálním souběhu všech paketů ze všech vstupů) přepojovací uzel přepojovací logika (rozhoduje, kudy bude dále odesláno) ? pakety pracuje na principu store & forward interní paměť (vyrovnávací buffer) 10 Jiný pohled: hloupá síť vs. chytré uzly • přenosová část sítě (IP síť) má být "hloupá" – ale efektivní, má co nejrychleji a nejefektivněji plnit své základní úkoly • "chytré" mají být koncové uzly – inteligence má být soustředěna do koncových uzlů IP síť inteligence rychlost transport. vrstva inteligence transport. vrstva síťová vrstva síťová vrstva síťová vrstva vrstva síť. rozhraní vrstva síť. rozhraní vrstva síť. rozhraní koncový uzel směrovač koncový uzel 11 Problém multimediálních aplikací 1. potřebují dostávat svá data: 1. možná řešení: – s malým zpožděním – s pravidelným zpožděním – "kvantitativní": zvyšování disponibilní kapacity 1. s pravidelnými odstupy mezi sebou • týká se to například přenosu živého obrazu či zvuku – aplikace VOIP, TV vysílání, rozhlas, video-on-demand 1. fungování na principu "maximální snahy …" zůstává 2. zlepšení je statistické 1. je menší pravděpodobnost, že bude muset dojít ke krácení požadavků • týká se: 3. problém je s fungováním přenosových 1. přenosových kapacit (tj. linek) mechanismů TCP/IP na principu 2. "přepojovacích kapacit" (směrovačů, switchů) "maximální snahy, ale nezaručeného výsledku" – "kvalitativní": zavedení podpory QoS – byla by zapotřebí podpora QoS (kvality služeb) • QoS je v zásadě "protipólem" principu maximální snahy • fungování na principu "maximální snahy …" je nahrazeno jiným způsobem fungování • zlepšení je garantované – ale drahé a obtížné 12 Problém distribučních aplikací • s postupem času se objevily i takové aplikace, pro které je fungování přenosových mechanismů TCP/IP principiálně nevhodné • "distribuční služby" = videokonference, vysílání rozhlasu a TV, …. – potřebují dopravovat stejná data od 1 zdroje k více příjemcům současně • tzv. multicasting (event. broadcasting) – přenosové mechanismy TCP/IP to neumí !!! • přenosové mechanismy počítají s přenosem 1:1 (od jednoho zdroje k jednomu příjemci) • pokus: služba MBONE (nepříliš úspěšná) • řeší se až v rámci IPv6 a IP Multicast Initiative bez multicastingu s multicastingem 13 Filosofie TCP/IP: katenetový model • TCP/IP předpokládá že "svět" (Internet) je: – tvořen soustavou dílčích sítí • chápaných jako celky na úrovni síťové vrstvy, tzv. IP sítí představa katenetu – dílčí sítě jsou vzájemně propojeny na úrovni síťové vrstvy • pomocí směrovačů (dříve nazývaných IP Gateways, dnes: IP Routers) – toto propojení může být libovolné • může být stylem "každý s každým", nebo "do řetězce" apod. – jedinou podmínkou je souvislost grafu – "katenet" je "řetězec" – ten je jakousi minimální podmínkou pro souvislost celé soustavy sítí • možné je i redundantní propojení skutečná síť = IP síť = IP Router (směrovač) 14 Hostitelské poč ítače vs. směrovač e IP síť IP síť • TCP/IP předpokládá, dva typy uzlů v síti: – hostitelské počítače (host computers) • tj. koncové uzly, např. servery, pracovní stanice, PC, různá zařízení (tiskárny, …) • jsou připojeny jen do jedné IP sítě (mají jen jednu síťovou adresu) IP síť – směrovače (IP Routers) • jsou připojeny nejméně do dvou IP sítí • zajišťují "přestup" (směrování) = směrovač + + + • teze: – každý uzel by měl mít přiřazenu celosvětově unikátní síťovou adresu • tzv. IP = multihomed host adresu – přesněji: každé rozhraní by mělo mít vlastní adresu • směrovač má nejméně 2 IP adresy (podle počtu svých rozhraní) =hostitelské počítače (hosts) IP síť IP síť 15 IP adresy • IP adresy jsou 32-bitové – lze je chápat jako jedno velké (32-bitové) binární číslo – ale to se špatně zapisuje i čte • používá se jednotný způsob zápisu: – obsah každého bytu je vyjádřen jako desítkové číslo – jednotlivé části jsou spojeny tečkou – příklad: 193.84.57.34 – příklad: 147.3.1.3 • C0H A8H 0H 2H 192 168 0 2 192.168.0.2 zásada: – žádná IP adresa nesmí být přidělena (použita) dvakrát • jinak by algoritmy pro hledání cesty v síti (tzv. směrování) nemohly fungovat 16 Třídy adres A,B,C • autoři TCP/IP vyšli z předpokladu že bude existovat: – malý počet opravdu velkých sítí • vyžadují malou síťovou část, a naopak velkou část pro relativní adresu uzlu – střední počet středně velkých sítí • měly by mít srovnatelně velkou síťovou i relativní část • tomu uzpůsobili i velikost síťové části IP adresy – má 3 možné polohy, které odpovídají 3 třídám adres – třída A • pro velmi velké sítě, poloha hranice 8:24 (rozděluje 32bitů na 8 a 24) – třída B • pro středně velké sítě, 16:16 – třída C • pro malé sítě, 24:8 – velký počet malých sítí • vyžadují velkou síťovou část, stačí jim malá část pro relativní adresy tímto se snažili zmenšit plýtvání s IP adresami 17 Představa IP adres – třídy A, B a C 7 bitů A 0 24 bitů adresa sítě adresa uzlu 14 bitů B 1 0 16 bitů adresa sítě 21 bitů C 1 1 0 adresa sítě adresa uzlu 8 bitů adresa uzlu 18 Třídy ještě jednou • IP adresy se přidělují po celých blocích • v případě adres třídy C jde o 256 individuálních IP adres • v případě adres třídy B jde o 65536 IP adres • …..16777216 IP adres • když se řekne "získat jednu adresu třídy C" – míní se tím získání 256 individuálních IP adres • 256 čísel z množiny všech 32-bitových čísel – analogicky pro třídy B a A • třída A: 1.x.x.x - 126.x.x.x • třída B: 128.0.x.x - 191.255.x.x • třída C: 192.0.0.x – 223.255.255.x • 1x třída A: 10.0.0.0 – 10.255.255.255 • 16x třída B: 172.16.0.0 – 172.31.255.255 • 256x třída C 192.168.0.0 – 192.168.255.255 19 Mechanismus CIDR Classless InterDomain Routing • řeší problém úbytku IP adres – umožňuje přidělovat koncovým sítím "přesně velké" skupiny IP adres Dnešní způsob distribuce IP adres ICANN • v zásadě to nahrazuje původní systém tříd A, B a C • adresy jsou dnes přidělovány zásadně jako tzv. CIDR bloky ARIN RIPE APNIC přidělování menších bloků – např. 194.213.228/24 je CIDR blok odpovídající 1 dřívější síťové adrese C (má 24 bitů přidělování IP adres prefixu, zbývá 8 na adresu koncovým uživatelům uzlu) provider provider 20 Privátní IP adresy • co brání vícenásobnému použití IP adres? způsob jak šetřit IP adresami – to, že by směrovací algoritmy nevěděly, kam doručovat IP pakety • idea: tam, kde nebude existovat přímá komunikace (nutnost směrovat) by se adresy mohly opakovat – tato situace nastává v sítích bez přímé IP konektivity ("privátních sítích"), které jsou odděleny od "ostatního světa" vhodnou bránou (firewallem) proxy • která zajišťuje přestup na úrovni vyšší, než je síťová!! aplikace (pošta, WWW, …) privátní síť IP adresa např. 192.168.0.1 "zbytek světa" IP pakety brána privátní síť IP adresa např. 192.168.0.1 21 Jak se dostanu do...? domény adresy DNS • IP adresy jsou dobré pro stroje • jména jsou dobré pro lidi – dokonce i programům se 'hodí' 22 Co je doména? • je to jméno? • prvek v rámci hierarchického členění jmenného prostoru – není apriorně stanovena ani hloubka, ani košatost hierarchie (stromu)!! • čemu má doména odpovídat? – – – – organizačnímu členění? teritoriálnímu členění? jinému členění? NENÍ TO PŘEDEPSÁNO !!! • správce nadřazené domény zde rozhoduje • výjimka: je předepsán charakter domén nejvyšší úrovně – tzv. TLD domén (Top Level Domén) – existují ccTLD (country code TLD), odpovídající státním útvarům, tvar dle normy ISO-3166 • • • • .cz pro ČR .sk pro Slovesko .us pro USA .ru pro Rusko přiděluje ICANN – existují gTLD (generic TLD), vyjadřující charakter subjektu • .edu pro školské instituce • .com pro komerční organizace • .int, .net, .gov, .mil, .org, .arpa 23 Plochý vs. hierarchický prostor jmen • Plochý jmenný prostor – všechna jména jsou "jednorozměrná" • např. ALPHA, Sun, PC1 • je omezený počet "smysluplných" jmen – jména se přidělují z jedné "množiny" • musí to být centrálně koordinováno – ten kdo chce nějaké jméno se musí ptát zda ještě nebylo použito • nevýhody: – je to nepružné, neškálovatelné, organizačně náročné • Hierarchický jmenný prostor – existuje hierarchie (strom) dílčích jmenných prostorů, • těmto dílčím jmenným prostorům se říká domény – "výsledná" jména budou mít více složek – organizačně to je zařízeno tak, aby (dílčí, složková ..) jména v rámci domén bylo možné "čerpat" nezávisle na ostatních doménách • tomu musí odpovídat i "sestavování" dílčích složek jmen do větších celků 24 Představa hierarchického jmenného prostoru cz cuni hierarchie jmenných prostorů / domén každá doména má své jméno (label) mff www (jméno přidělené v doméně "cuni.cz", plně kvalifikované jméno je www.cuni.cz ms www (jméno přidělené v doméně "mff.cuni.cz", plně kvalifikované jméno je www.mff.cuni.cz www kocour ksi (jméno přidělené v doméně "ms.mff.cuni.cz", plně kvalifikované jméno je ksi.ms.mff.cuni.cz 25 Princip delegace pravomoci cz v každé doméně mohli přidělit jméno www, aniž se museli kohokoli ptát !!!! cuni mff ms www Pravidlo: v jedné doméně nesmí být stejné jméno použito dvakrát !!! fsv troja karlin www www www www.fsv.cuni.cz www.ms.mff.cuni.cz www.troja.mff.cuni.cz www.karlin.mff.cuni.cz 26 Jak má být doména "velká"? • není apriorně stanoveno – to co komu vyhovuje, co do velikosti i logice členění • "příliš velká" doména – není smysluplné, aby se přímo v této doméně přidělovala jména uzlům spadajícím do domény • např. z organizačních důvodů – řeší se "delegováním pravomoci" (parcelací "okruhu působnosti") • vytváří se dceřinné domény • "vhodně velká" doména – s takovým počtem uzlů, aby se nevyčerpala smysluplná/požadovaná jména – netýká se to až tak správy domény !! • příklady: – pro malou organizaci bývá "vhodně velká" doména druhé úrovně – pro velkou organizaci je vhodnější víceúrovňové členění • např. UK (cuni.cz) 27 Name servery, domény a překlad doménových jmen • plně kvalifikovaná doménová jména jsou celosvětově jednoznačná • v rámci Internetu existuje převodní mechanismus, zajišťující převody – symbolické doménové jméno >>> číselná IP adresa – číselná IP adresa >>> symbolické doménové jméno • tento mechanismus je součástí systému DNS (Domain Name System) – lze si jej představit jako velkou distribuovanou databázi, jejími uzly jsou tzv. name servery • Name server – vždy přísluší k nějaké konkrétní doméně – je to server (uzel) který má k dispozici data příslušné domény a odpovídá na dotazy které se jich týkají • představa: – name server zná IP adresy všech uzlů, kterým bylo v dané doméně přiděleno symbolické jméno • např: uzel WWW má IP adresu 193.86.72.5 – každá doména má svůj name server • a ten poskytuje službu spočívající v převodu jmen na IP adresy – name servery jsou uspořádány do stromu • stejně jako samotné domény – 1 počítač může plnit roli name serveru pro více domén • 1 zóna = 1 uzel 28 Proč DNS? • k jednoznačné identifikaci uzlů a pro • fungování přenosových mechanismů stačí IP adresy DNS je řešení, které umožňuje používat symbolická jména místo číselných adres – ale jsou málo mnemonické – DNS = Domain Name System – v některých speciálních situacích a pro • zahrnuje: některé účely nepostačují – pravidla pro tvorbu jmen a • aliasy fungování celého systému • dynamicky přidělované IP adresy – pro některé účely nejsou vhodné • když je potřeba "oslovit" poskytovatele určité služby, ne konkrétní uzel • pro flexibilní doručování elektronické pošty ("na doménu") • ….. když hrozí přečíslování … – nevypovídají nic o povaze/určení/umístění uzlu • 195.113.19.213 vs. ksi.ms.mff.cuni.cz • založená na principu domén – databázi symbolických jmen a jim odpovídající číselných adres • dnes i dalších údajů – převodní mechanismy • pro převod mezi symbolickými a doménovými jmény – ….. 29 Princip překladu tazatel se nejprve ptá kořenového name serveru, jehož adresa je všeobecně známa root 2 cz cz až se dostane k takovému name serveru, který mu dokáže odpovědět cuni cuni 5 4 3 2 1 tazatel je postupně odkazován na další name servery 4 mff tazatel 195.113.19.213 ptá se na IP adresu uzlu ksi.ms.mff.cuni.cz 3 1 mff 5 ms ms uzel ksi.ms.mff.cuni.cz troja karlin troja karlin 30 Skutečný průběh překladu root oslovený name server sám zprostředkuje zodpovězení dotazu cz cz ksi.ms.mff.cuni.cz? cuni name server cuni 195.113.19.213 mff tazatel se ptá "nejbližšího" name serveru nejbližší je ten, jehož existenci má zanesenu ve své konfiguraci mff ms ms troja karlin troja karlin 31 Struktura name serverů root cz cz cuni cuni fsv fsv ms ms mff mff troja karlin troja karlin • struktura name serverů logicky odpovídá struktuře domén – každá doména má svůj name server – existuje tzv. kořenový (root) name server, který "zná" name servery všech TLD (domén nejvyšší úrovně) • fyzicky jsou name servery členěny jinak – 1 zóna má 1 name server – kvůli dostupnosti jsou name servery nejméně zdvojeny name server doména 32 DNS servery a resolvery aplikace dotazy • resolver DNS má architekturu klient/server – name server odpovídá na dotazy odpovědi • plní roli serveru – resolver pokládá dotazy name serverům DNS záznamy obsahují TTL dotazy resolver • plní roli klienta • odpovědi cache data name server – i name server se ptá jiných name serverů, k tomu potřebuje resolver dotazy • odpovědi na uzlu který plní roli name serveru musí být implementovány obě složky na ostatních uzlech stačí jen resolver 33 URL – Uniform Resource Locator • URL a doména nejsou totéž • potřebuje mít možnost identifikovat různé druhy objektů (zdrojů), např. – souborů, – WWW stránek – uživatelských poštovních schránek • a to jednoznačně, v rámci celého Internetu – symbolická doménová jména na to nestačí, protože identifikují jednotlivé uzly jako celky (a nerozlišují objekty v rámci uzlů) !!!! • konvence o tom, jak jednoznačně "ukázat" na konkrétní: – – – – WWW stránku soubor, menu Gopheru, uživatele (schránku) ...... • Ukazatel URL obsahuje 3 složky: – schéma (protokol) – adresu uzlu nebo hostname • symbolickou doménovou adresu, ev. i číselnou IP adresu – relativní adresu objektu v rámci uzlu a jeho jméno • např. jméno souboru a přístupovou cestu k němu 34 URL - příklady Typ zdroje (jméno protokolu, který má být použit pro načtení objektu). Zde jde o protokol HTTP používaný v rámci WWW, a tudíž jde o WWW stránku http://alfa.vse.cz/~sklenak/latex.html symbolické doménové jméno uzlu relativní adresa: jméno souboru (obsahujícího WWW stránku) a přístupová cesta k němu typ zdroje: emailová adresa mailto:[email protected] emailová adresa 35
Podobné dokumenty
Katedra softwarového inženýrství MFF UK
– IP adresy mají "sí ovou ást", identifikující sí jako celek, a dále "uzlovou ást",
identifikující uzel v rámci sít
Internetová infrastruktura
Brány (gateway)
• Příkladem může být e-mailová brána,
která převádí elektronickou poštu z
podoby definované jedním protokolem
do jiného protokolu
• Brána může propojovat i dvě rozdílné sítě
bez př...
Lekce 7: ATM, X.25 a Frame Relay
„okamžité“ přenosy, se zárukami
kvality a dostupnosti přenosové
kapacity
– lépe zde vyhovují malé bloky
přenášených dat
• kvůli tomu, že když jsou malé, je
jich hodně, a když je zapotřebí něco
přen...
A7B38UOS
Zajímá nás, jak spolu jednotlivé uzly v síti
komunikují, např.:
spojovaně vs. nespojovaně
spolehlivě vs. nespolehlivě
blokově vs. proudově (stream)
Tzv. best effort vs. garance kvality (QoS)
přepoj...
Co je nového
044 a zahraniční patenty (např. EP 1 116 190 a JP 3 517
643). V USA a jiných zemích probíhá vyřizování dalších
patentů.
Informace obsažené v tomto dokumentu a předmětný
software se mohou bez předch...
Téma 4: Adresy a adresování v TCP/IP, IP adresy verze 4
• a naopak různé relativní části (host ID)
• pokud se dvě síťová rozhraní nachází v různých sítích, musí mít jejich IP adresy
různou síťovou část svých adres (network ID)
• zatímco jejich relativní...
1_internet1
providera - znalost jména, hesla a telef. čísla na modemy providera
- kvalita a rychlost komunikace je dána možnostmi veřejné telefonní sítě na
analogové lince max. 33,6 kbps, při připojení na digi...
Kognitivní technologie druhe tema
Hry – firmy organizují různé hry pro zábavu, ale i vzdělání
svých zákazníků, např. banky mohou představovat hry, ve
které se lidé učí hospodařit s penězi či mohou organizovat
fiktivní obchodování s...