Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Základy TCP/IP Libor Forst Historie, teoretický model

Podobné prezentace


Prezentace na téma: "Základy TCP/IP Libor Forst Historie, teoretický model"— Transkript prezentace:

1 Základy TCP/IP Libor Forst Historie, teoretický model
Principy adresování, DNS Základní protokoly, aplikace , HTTP

2 Vznik počítačových sítí
izolované výpočetní systémy terminály point-to-point propojení robustní kompaktní aplikace Velké výpočetní systémy v době svého vzniku představovaly izolované celky s jediným interaktivním vstupně/výstupním zařízením - konzolí operátora. Přenos dat mezi nimi se uskutečňoval výhradně mechanicky. Velice brzy se objevila potřeba větší komunikace s uživateli i mezi počítači. Vznikly sítě terminálů - neinteligentních zařízení s klávesnicí a obrazovkou přímo připojených k počítači, které pouze předávaly povely uživatele systému a zobrazovaly výsledky. Jednotlivé systémy navzájem se začaly propojovat dvoubodovými spoji (point-to-point sítě). S prudkým rozvojem techniky došlo ke snaze více přiblížit výpočetní sílu koncovému uživateli a vznikly pracovní stanice - samostatné počítače propojené navzájem i s centrálním systémem pomocí lokální sítě. S tím došlo i ke změně typu aplikací, vedle kompaktních řešení na centrálním systému vznikají: jednoduché aplikace umožňující provádění výpočtu na centrálním systému v režimu emulace terminálu samostatné aplikace pracující na stanici nad kopií dat tzv. klient-server aplikace, klientský program na stanici posílá po síti požadavky na server a zpracovává odpovědi Point-to-point propojení vlastních systémů/sítí se nahrazuje topologicky a organizačně výhodnějšími strukturami - vznikají rozlehlé sítě. lokální síť rozlehlá síť emulace terminálu + klient-server aplikace

3 Historie Internetu Defense Advanced Research Project Agency zřizuje projekt "packet switching network" pol. 70. let - ARPANET, point-to-point, pevné linky Internet, propojení sítí, ARPANET páteří zavedení TCP/IP v ARPANETu pol TCP/IP součástí BSD UNIXu současnost - boom Internetu

4 Vývoj Internetu v číslech
Počet obyvatel Země Počet počítačů v Internetu Počet uživatelů Internetu 50 000 5 000 Zdroj: MIDS, Austin TX, based on historical data 500 2001

5 Typy síťových propojení
Sběrnice (např. 10base2) Point-to-point přímé Point-to-point přes modemy Hvězda (např. 10baseT, ATM) Klasifikace sítí z hlediska topologie: Multipoint propojení na sběrnici - sběrnici tvoří kabel procházející všemi uzly. Příkladem takového protokolu může být Ethernet. Přerušení sběrnice v jediném bodě znamená nefunkčnost celé sítě. Multipoint propojení do kruhu - odlišná metoda, zprávy se předávají postupně mezi jednotliými uzly. Multipoint propojení do hvězdy – pro protokoly založené na principu centrálních bodů, které si předávají zprávy určené pro účastníky sítě (např. ATM). Fyzické propojení do hvězdy se nyní používá i pro jiné technologie - zkolabováním sběrnice nebo kruhu do jediného fyzického zařízení - koncentrátoru – vzniká tzv. strukturovaná kabeláž. Výhody sběrnice zůstávají, sběrnice je v koncentrátoru více chráněna, počítače jsou připojeny jiným typem kabelu (např. UTP - kroucená dvoulinka) a při jeho porušení je nedostupný pouze jeden počítač. Point-to-point propojení - většinou propojení lokalit nebo jednotlivých počítačů mezi sebou: sériovou linkou (přímo, pomocí modemu s vytáčením druhé strany, na pevné lince), Ethernetem po UTP nebo skleněném vlákně Bezdrátové point-to-point propojení radiovým nebo laserovým pojítkem Bezdrátové multipoint propojení pomocí WiFi: jádrem je access point s všesměrovou anténou a přijímače/vysílače v koncových zařízeních Point-to-point bezdrátové (např. laser, radioreléové, WiFi) Kruh (např. FDDI, Token-ring)

6 OSI model Pořadí Vrstva Úkol 7 aplikační komunikace mezi programy
6 prezentační datové konverze pro aplikace 5 relační řízení dialogu mezi uzly 4 transportní přenos datových celků 3 síťová dosažení cílového počítače 2 linková přenos bytů po fyzickém spojení 1 fyzická fyzická komunikace mezi uzly Pro komunikaci se používá řada protokolů (ARPA, X.25, SNA, DECnet,...). ISO navrhla v roce 1984 sedmivrstevný model Open Systems Interconnection, který popisuje obecně strukturu rozhraní těchto protokolů. Ve skutečnosti není žádný z protokolů rozvrstven přesně do těchto sedmi vrstev, model slouží spíše pro popis logiky komunikačního procesu. Fyzická vrstva - zabezpečuje správnou interpretaci signálů na fyzickém médiu, zprostředkovává vyšším vrstvám jednotlivé rámce (frames, pakety). Př.: RS232C, X.21 Linková vrstva - zabezpečuje přenos informace po fyzickém spoji, pracuje s vnějším obalem paketu, který obsahuje adresní a kontrolní informace. Př.: BSC, LAPB Síťová vrstva - zabezpečuje správné směrování paketů po síti, tj. nalezení cílového počítače a jeho jednoznačnou indikaci pro linkovou vrstvu. Př.: IP, X.25 Transportní vrstva - zabezpečuje přenos datových celků po logickém spoji, tj. segmentuje data do paketů, kontroluje jejich přenos, opakuje data a naopak odstraňuje redundanci atd. Př.: TCP Relační vrstva - zabezpečuje navázání a udržování spojení se vzdáleným operačním systémem a naopak jeho ochranu před neoprávněným přístupem. Př.: RPC Prezentační vrstva - sjednocuje datový formát pro aplikační vrstvu, tj. provádí konverze formátu (např. znakových sad), kompresi, kódování atd. Př.: XDR Aplikační vrstva - zabezpečuje vlastní komunikaci mezi programy, zprostředkovává služby uživatelům. Př.: FTP protokol rozhraní

7 TCP/IP model OSI Vrstva Protokoly v TCP/IP (příklady) 7 aplikační
FTP, HTTP DNS NFS 6 XDR 5 RPC 4 transportní TCP UDP ICMP TCP/IP (Tramsmission Control Protocol / Internet Protocol) je příkladem rodiny protokolů pro komunikaci v heterogenní síti. Používá ji celá řada světových počítačových sítí, které se souhrnně označují názvem Internet. Je základnou pro řadu užitečných služeb počínaje vzdáleným logováním a přenosem souborů přes elektronickou poštu až po celosvětové informační systémy. Nejnižší vrstvu TCP/IP reprezentuje dnes nejčastěji Ethernet Protocol, který může být provozován na různých typech médií: tenký koaxiální kabel, tlustý kabel, kroucená dvoulinka (UTP), optický kabel. Síťovým protokolem v TCP/IP je Internet Protocol, který definuje způsob doručování dat mezi počítači. Zdrojový a cílový počítač nemusí být přímo spojené, takže IP zajišťuje nejen vyhledávání cílového počítače, ale i směrování, tj. nalezení cesty k cílové síti. Na transportní úrovni se používají dva základní protokoly, TCP a UDP. Autoři aplikačních protokolů si mohou zvolit, který transportní protokol bude jejich služba používat. 3 internet IP ARP 2 network interface Ethernet, FDDI, ATM, SLIP, X.25 1 hardware

8 Spojované/nespojované služby
spojované (connection-oriented) služby obdoba telefonního spojení zaručeno doručení datagramů ve správném pořadí (stream) aplikace je jednodušší, ale nemůže řídit komunikaci TCP je komplikované nespojované (connectionless) služby obdoba poštovního spojení není zaručeno pořadí ani doručení datagramů kontrolu musí provádět aplikace aplikace může lépe řídit komunikaci UDP je jednodušší TCP se používá pro spojované služby, tj. služby, u nichž je nutné mít neustále informaci o stavu spojení i za cenu zvýšené režie. TCP vysílá pakety v přesném pořadí a kontroluje doručení každého paketu. Příkladem použití je přenos souborů (File Transfer Protocol) nebo web (HyperText Transfer Protocol). UDP (User Datagram Protocol) se používá pro služby nespojované, např. u vzdáleného volání procedur (Remote Procedure Call). V tomto případě by jednak režie příliš zdržovala a jednak by vznikaly problémy při výpadku některého počítače. UDP vysílá pakety aniž kontroluje jejich doručení nebo pořadí. Kontrolu konzistence musí zabezpečovat aplikace.

9 Typy adresování HW (linková vrstva) SW (síťová vrstva)
Lidé (aplikační vrstva) MAC (ethernetová) adresa (např.: 8:0:20:ae:6:1f) dána výrobcem (dříve), nastavitelná (dnes) nerespektuje topologii IP adresa (např.: ) přidělována podle topologie sítě určuje jednoznačně síť a v jejím rámci počítač Doménová adresa (např.: whois.cuni.cz) přidělována podle organizační struktury snazší zapamatování K identifikaci počítače je zapotřebí určit jeho adresu. Na úrovni linkové vrstvy se používají hardwarové neboli MAC (Media Access Control) adresy. Je to vlastně identifikace síťového rozhraní (karty) daná již výrobcem a je nezávislá na umístění počítače (dnešní karty ovšem umožňují si adresu nastavit libovolně). Proto není tato adresa vhodná pro směrování. Délka MAC adresy závisí na typu, Ethernetové adresy mají 48 bitů. Každá adresa by měla být jedinečná na světě, každý výrobce má svůj 24-bitový prefix. Kromě toho je definována tzv. broadcast-adresa (FF.FF.FF.FF.FF.FF), jež značí “zpráva určená všem” nebo “zpráva pro neznámého adresáta” Pro směrování (v síťové vrstvě) se používají tzv. IP adresy, přidělované poskytovatelem připojení do Internetu podle topologie sítě. Každá IP adresa se dá jednoznačně rozdělit na adresu sítě (network address) a adresu počítače (hostaddress). Podle síťové části se řídí směrování paketů mezi jednotlivými sítěmi, po doručení do cílové sítě se použije pro stanovení konkrétního cílového počítače adresa celá. Aplikační programy mohou pracovat přímo s IP adresami, ale pro uživatele nejsou ani tyto adresy dostatečně vhodné. Proto se používá ještě jeden typ adres, tzv. doménové adresy. Doménová adresa je hierarchická (přiděluje se podle organizační struktury) a mnemonická, takže je snáze zapamatovatelná. Hierarchičnost navíc umožňuje používat jen její část - v místní síti dokonce třeba jen nejlevější složku - jméno počítače.

10 Třídy IP adres Třída Tvar adresy Začátek adresy Počet sítí strojů A B
1.byte 2.byte 3.byte 4.byte A B C D E 1-127 126 16 k 2 M 16 M 64 k 254 net host 10 net host 110 net host IP adresy jsou základním stavebním kamenem TCP/IP. V současné době se používají tzv. adresy verze 4, které mají velikost 4 bajtů. Adresy se zapisují se ve tvaru čtyřech decimálních čísel odpovídajících jednotlivým bajtům. U každé adresy je třeba mít navíc k dispozici informaci, do jak rozlehlé sítě adresa patří. Pokud tuto informaci nedodáme, použijí se implicitní hodnoty podle tzv. třídy adresy, určené hodnotou prvního bajtu: do třídy A patří adresy začínající číslem 1 až 127, adresou sítě je pouze první bajt, zbylé tři bajty jsou číslem počítače v rámci sítě do třídy B patří adresy začínající číslem 128 až 191, adresu sítě zde tvoří dva bajty, zbylé dva bajty jsou číslem počítače v rámci sítě do třídy C patří adresy začínající číslem 192 až 223, adresa sítě zabírá tři bajty, číslem počítače je pouze poslední bajt třída D (tzv. multicast adresy) se používá v případech, kdy vysílající strana nepotřebuje stanovit příjemce zprávy (např. přenos videokonferencí, šíření informací o struktuře sítě atp.) třída E byla rezervována pro testování nové generace IP adres. Rozdělení na třídy A, B a C je příliš hrubé, a tak dochází k fragmentaci prostoru IP adres. Proto existuje možnost zvolit jemnější členění. V tom případě je ale nutné k adrese přidat ještě dodatečnou informaci o rozsahu sítě, tzv. síťovou masku. Adresy přiděluje poskytovatel připojení do Internetu, správce konkrétní sítě musí zvážit, o jak velký rozsah adres bude žádat. Mimoto existují tzv. privátní adresy, které lze používat zcela libovolně v lokálních sítích: A: B: C: 1110 net multicast experimental 1111

11 Konverze adres doménové adresy name resolver IP adresy ARP/RARP
MAC adresy name resolver řízení statické (/etc/hosts) nebo dynamické (DNS, NIS) konfigurační soubor /etc/resolv.conf ARP/RARP ARP tabulka (cache) broadcastová výzva/odpověď O převody mezi adresami jednotlivých typů se obvykle starají odpovídající komponenty operačního systému. Převod mezi IP adresami a MAC adresami zabezpečuje tzv. ARP cache, která uchovává informace získané pomocí ARP (Address Resolution Protocol). Převod mezi jmény a IP adresami počítačů je dnes obvykle realizován pomocí služby DNS (Domain Name System) - počítač je klientem, adresu serveru má zadanou v konfiguraci a jemu klade dotazy.

12      Doménový systém server pro domény cuni.cz a ruk.cuni.cz sk
edu cz cesnet cuni ns ruk mff whois vutbr dec59 Plné jméno počítače v Internetu se skládá z několika částí oddělených tečkami: nejlevější část je vlastní jméno počítače, toto jméno musí být jednoznačné v rámci domény nejpravější část jména domény je tzv. doména nejvyšší úrovně (TLD, top level domain), jsou přidělovány centrální autoritou a odpovídají ISO kódům zemí (např. cz), resortům v USA (edu - vysoké školy, gov - vládní organizace, mil - vojenské organizace) resp. v celosvětovém měřítku (com - komerční organizace, org - nekomerční organizace, net - síťové organizace) mezilehlé domény se přidělují hierarchicky - např. správa domény cz přiděluje jména domén druhé úrovně (jako cuni.cz), správa cuni.cz zase svoje subdomény (např. mff.cuni.cz) atd. Domény nejsou disjunktní, jeden počítač může mít více různých jmen nejen uvnitř domény (přeadívky - aliasy - bývají často jména podle služeb - www, whois), ale i v různých doménách. Speciálně top-level doména net je určena pro počítače přesahující svým významem lokalitu, v níž jsou umístěny a v níž mají nějaké vlastní jméno. Pro každou doménu existuje počítač, který má úplnou informaci o této doméně - tzv. nameserver. Jednotlivé nameservery o sobě vědí a mohou si navzájem předávat dotazy a odpovědi na překlad jmen na IP adresy a obráceně. Každý dotaz (pokud není v paměti nameserveru) ovšem začíná u některého z tzv. root serverů, které mají přehled o serverech domén nejvyšší úrovně. net de nordu server pro doménu cz fzi nic server pro root doménu fixlink

13  Vyřizování DNS dotazu a.root-servers.net . ns.cesnet.cz cz
cz: NS=192... nerekurzivní cuni.cz: NS=195... ns.fzi.de fzi.de Když aplikace na klientské straně potřebuje komunikovat se servrem, potřebuje znát jeho adresu. Zná-li uživatel pouze jméno, musí si aplikace pomocí dotazu protokolem DNS zjistit odpovídající adresu. Rozeznáváme dva typy dotazů na nameservery: Rekurzivní: server se pokusí přijatý dotaz vyřešit úplně. Takový přístup je vhodný pro lokální servery v nějaké organizaci, protože server pak udržuje všechny odpovědi na dotazy a další klient je odbaven rychleji. Nerekurzivní: server odpoví klientovi pouze nejlepší možnou odpovědí, kterou mu může poskytnout sám. Klient musí pak pokračovat dotazem u dalšího serveru. Tento přístup používají typicky velké centrální servery, protože rekurzivní řešení dotazů by je příliš zatěžovalo. Příklad dotazu klienta fixlink.fzi.de na adresu Klient se obrátí s rekurzivním dotazem na nejbližší server (nejspíše ns.fzi.de). Ten typicky rekurzivní dotaz neodmítne, vyřídí a pošle klientovi. Pokud server nemá v tabulce (cache) uschovanou alespoň část odpovědi (např. server pro cz), musí se nerekurzivně obrátit na rootserver, který ovšem vrátí pouze adresu serveru pro cz. Server tedy pokračuje v řešení dotazu a obrátí se na obdrženou adresu - ns.cesnet.cz. Tam se opět dozví pouze adresu dalšího serveru (ns.cuni.cz). Tento server je ovšem autoritativní nejen pro doménu cuni.cz, ale i pro mff.cuni.cz, a tak zodpoví celý dotaz. Díky uvedenému postupu další dotaz na stroj v cz už půjde přímo na ns.cesnet.cz ns.cuni.cz cuni.cz, mff.cuni.cz rekurzivní IP=193... IP=193... fixlink.fzi.de

14 Tok dat v TCP/IP stream message Aplikace Transport ... packet IP
Data Transport TCP/UDP header Data ... packet Princip odesílání dat v TCP/IP: Aplikace připravuje data, která se mají poslat po síti a předává je transportní vrstvě spolu s IP adresou příjemce. Transportní vrstva rozděluje zprávy do paketů, doplňuje je o záhlaví transportní vrstvy a předává síťové vrstvě. Síťová vrstva rozhodne, kterému stroji v lokální síti se budou data posílat (buďto cílový stroj nebo některý router), doplní pakety o svoje záhlaví a takto vzniklé datagramy předává patřičnému síťovému rozhraní. Linková vrstva zjistí (pomocí ARP) Ethernetovou adresu příjemce, doplní vlastní záhlaví a takto vytvořený rámec předává fyzické vrstvě. Pokud některá vrstva není schopna akceptovat délku paketu/datagramu, rozdělí (fragmentuje) jej, přenese po částech a v cíli opět složí. Použitý princip, kdy nižší vrstva má pouze informaci o typu dat která přenáší, ale do jejich obsahu nijak nezasahuje (ani nenahlíží), umožňuje kombinovat (nebo dokonce tunelovat) různé protokoly, aniž by to kladlo nějaké nároky na okolní vrstvy. IP IP header packet datagram Interface Interface header datagram CRC frame

15 Multiplexing, demultiplexing
Aplikace Aplikace rozhodování podle čísla portu ICMP UDP TCP rozhodování podle IP protokolu Princip příjmu dat v TCP/IP: Linková vrstva přijme rámec a ze svojí hlavičky zjistí typ síťového protokolu - software, kterému je třeba datagram (zbavený Ethernetové hlavičky) předat. Software na síťové vrstvě zjistí z čísla IP protokolu v IP záhlaví, který software transportní vrstvy má paket dostat. Software transportní vrstvy sestaví z došlých paketů znovu původní zprávu předá ji aplikaci. Pro určení aplikace je nutná dodatečná informace, které se říká port. Servry obvykle používají všeobecně uznávaná čísla portů (tzv. well known services), např. HTTP server očekává data označená číslem portu 80. V takovém případě není aplikaci (www prohlížeči) sdělovat jinou informaci než jméno (nebo adresu) serveru. Pro jednoznačnou identifikaci navázaného spojení je tedy nutné uvést: adresu a port odesilatele (source IP, source port) adresu a port příjemce (destination IP, destination port) typ transportního protokolu ARP IP IPX rozhodování podle typu (délky) Ethernet rámce Ethernet

16 Aplikační protokoly TCP/IP
21/TCP: FTP - File Transfer Protocol (přenos souborů) 22/TCP: SSH - Secure Shell (přenos souborů) 23/TCP: telnet - Telecommunication network (interaktivní přístup ke vzdáleným počítačům) 25/TCP: SMTP - Simple Mail Transfer Protocol (přenos elektronické pošty) 53/TCP,UDP: DNS – Domain Name System (překlad jmen na IP adresy a naopak) 67,68/UDP: DHCP - Dynamic Host Configuration Protocol (vzdálená konfigurace) 80,443/TCP: HTTP - HyperText Transfer Protocol (přenos stránek informačního systému W W W) 119/TCP: NNTP - Network News Transfer Protocol (přenos zpráv v systému UseNet, NetNews)

17 Spojování segmentů sítě
Vrstva Síťové zařízení Vrstva aplikační gateway (brána) aplikační transportní transportní síťová router (směrovač) síťová Nejjednodušším příkladem sítě je lokální síť složená z několika počítačů spojených navzájem koaxiálním kabelem. Jakmile potřebujeme síť rozšířit, oddělit části sítě s intenzivním uzavřeným provozem nebo dosáhnout vzdálenějších lokalit budeme muset model rozšířit o síťová zařízení (ať už speciální nebo realizovaná normálními počítači). Zmiňované síťové prvky se dělí na čtyři hlavní typy: repeater (HUB) - zařízení, které pouze zesiluje elektrický signál, slouží k prodlužování resp. větvení kabelu; pracuje jen na fyzické úrovni, ignoruje obsah zpráv a veškerý provoz distribuuje všem připojeným zařízením bridge (most) - zařízení které spojuje fyzické sítě (např. segmenty koaxiálního kabelu) do jediné logické sítě; pracuje na linkové úrovni a pakety přenáší mezi jednotlivými rozhraními jen tehdy, pokud nejsou lokální v rámci segmentu (tzn. bridge odděluje provoz) switch - je zařízení typu bridge na strukturované kabeláži; má několik „portů“ (vstupních bodů, kam lze připojit počítače nebo segmenty sítě) a mezi porty přenáší jen taková data, která tam náleží - ostatní účastníci sítě nevidí (za normálních podmínek) cizí provoz router (směrovač) - zařízení které spojuje logické sítě; pracuje na síťové úrovni a zabezpečuje přenos paketů mezi různými sítěmi; v každé síti připojené do internetu musí být (alespoň jeden) router, který přeposílá data od počítačů v lokální síti směrem do internetu na aplikační úrovni se používá termín gateway (brána) - např. brána pro elektronickou poštu mezi různými typy sítí; tento termín se ovšem občas nesprávně používá i místo termínu router. linková bridge, switch linková fyzická repeater, HUB fyzická

18 Konfigurace TCP/IP UNIX MS Windows domain jméno_domény
IP adresa: ifconfig interface IP_adr [ netmask maska ] defaultní router: route add default router doména a nameserver: /etc/resolv.conf MS Windows start dialogu: Control Panel  Network  TCP/IP Automatická konfigurace pomocí protokolu DHCP (Dynamic Host Configuration Protocol) domain jméno_domény nameserver IP_adresa_nameserveru Při konfigurování TCP/IP je nutné zadat IP adresu počítače síťovou masku lokální sítě jméno počítače defaultní router spojující lokální síť s jinými sítěmi DNS server time server apod. Na OS UNIX se používají příkazy ifconfig port IP_adresa netmask síťová_maska route add default router Soubor /etc/hosts musí obsahovat řádku: IP_adresa jméno Soubor /etc/resolv.conf musí obsahovat: domain jméno_domény nameserver IP_adresa_nameserveru Systémy typu Microsoft Windows mají v Řídícím panelu ikonu Síť, po volbě TCP/IP se objeví skupina dialogových záložek obsahujících všechny zmiňované konfigurační položky. Pokud správce počítače nechce tyto informace zadávat ručně nebo je nezná, může požádat o jejich zprostředkování lokální DHCP server. Na něm správce lokální sítě nastaví, kdo se může do sítě připojit a jaké informace nezbytné pro jeho připojení mu má server sdělit.

19 Elektronická pošta Protokol SMTP:
off-line předávání zpráv příp. souborů off-line použití informačních služeb diskusní kluby (mailing-listy, konference) komunikace mimo Internet ová adresa (typicky): nebo např.: nebo

20 Elektronický dopis Received: from alfik.ms.mff.cuni.cz
by betynka.ms.mff.cuni.cz... Date: Thu, 16 Nov :54: To: From: Libor Forst Subject: Test posty Cc: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_XXX" --=_XXX Content-Type: text/plain; charset=Windows-1250 Content-Transfer-Encoding: 8bit Ahoj Petře! Text elektronického dopisu se skládá z hlavičky a těla, které jsou navzájem oddělené prázdným řádkem. Hlavička obsahuje řídící informace. Část z nich je pro uživatele nedůležitá a většina klientských programů je implicitně nezobrazuje. Nejpodstatnější z hlediska uživatele je datum odeslání, odesilatel a předmět. SMTP je textový protokol, proto se i tělo dopisu přenáší jako text. To ovšem neumožňuje přenášet znaky národní abecedy nebo binární soubory (obrázky, dokumenty apod.).

21 MIME Původně: elektronický dopis mohl obsahovat pouze krátké zprávy v angličtině (jako SMS) Potřeba: diakritika, binární soubory Multipurpose Internet Mail Extensions umožňuje strukturovat text dopisu používat různé formáty, znakové sady vkládat soubory jako přílohy

22 Bezpečnost pošty Dopis je vždy otevřená listovní zásilka (z různých příčin se může dostat do ruky mnoha lidem) Řešení: kryptovat obsah dopisu (crypt, PGP - Pretty Good Privacy) Nikdy není jistý odesilatel (málokterý server kontroluje správnost odesilatele) Řešení: elektronické podpisy, systém výzva/odpověď

23 Uniform Resource Identifier
jednotný systém odkazů na různé zdroje jeden klient (aplikace) pro více služeb nepostradatelná pro klienty WWW historické členění: URL, URN, ... schema:// př.: ftp://sunsite.mff.cuni.cz/OS/FreeBSD Boom informačních služeb v Internetu si vynutil zavedení jednotného označení zdrojů, URL (Uniform Resource Locator). Má tvar: Složky: schéma popisuje metodu, jak se ke zdroji dat dostat (aplikační protokol) identifikace cílového serveru je možná pomocí jeho jména nebo případně adresy cesta vyjadřuje konkrétní umístění požadované informace (např. www stránky) na daném serveru Příklady: ftp://sunsite.mff.cuni.cz/OS/FreeBSD adresa distribuce OS FreeBSD na SunSITE CZ adresa domovské WWW stránky sítě CESNET adresa WWW stránky na serveru běžícím na zvláštním portu adresa dynamické WWW stránky vytvořené za pomoci udaných parametrů URL představující odeslání elektronického dopisu file:/var/doc/welcome.html speciální URL lokálního souboru na klientovi URL veřejného klienta služby Gopher gopher://gopher.cuni.cz adresa služby Gopher pro UK Ve WWW prohlížečích je možné zadat URL (např. z menu File -> Open Location) libovolné služby a, pokud je patřičný klient nainstalován a dobře nakonfigurován, můžeme s daným zdrojem pracovat (prohlížet stránku, přenášet soubory, odesílat poštu...).

24 Princip ditribuované databáze
Gopher at Charles University 1. About this Gopher ... 4. Czech Educational and Scientific Network 9. User Directory Service for Czech Republic gopher.cuni.cz Czech Root Gopher Server 1. About this Gopher ... 5. User Directory Service for Czech Republic gopher.cesnet.cz Distribuovaná databáze - je systém pro uchovávání a přístup k informacím uloženým na různých počítačích. Jako příklad může sloužit systém Gopher. Po přihlášení k některému serveru uživatel uvidí menu, které mu nabízí přístup k dalším informacím. Jsou to jak informace uložené na dotyčném serveru, tak informace, které ve skutečnosti jsou na jiném serveru. Uživatel může procházet systém menu a přitom ani nemusí vědět, že se přesunul na jiný server. Odkazy jsou totiž transparentní a o skutečném uložení dat se z odpovědí serverů dozvídá klientský program a on přebírá starost o správné dotazování správných serverů. Jednotlivá menu bývají navíc provázaná navzájem, takže jedna informace může být dostupná z několika serverů případně z několika menu jednoho serveru. Oproti jiným typů informačních systémů distribuovaná databáze tedy přináší oproštění uživatele od nutnosti znát konkrétní uložení dat, o něž má zájem navigační prostředky k pohybu po informačním prostoru User Directory Service Enter search key _ whois.cuni.cz

25 Protokol HTTP URL: http://www.../index.html server klient
GET /index.html server klient HTTP/ OK Content-type: text/html <HTML><HEAD> <TITLE>Stranka ...</TITLE> </HEAD> <BODY> <H1>Nadpis stránky</H1> <IMG SRC=http://www.../img.jpg>... HTML stránka: Klient a server spolu komunikují v protokolu HTTP (HyperText Transfer Protocol). Zjednodušeně se dá říci, že komunikace probíhá tak, že klient pošle URL a dostane webovou stránku. Pokud chceme být přesnější: klient posílá serveru výzvu ve formě URL, typicky ovšem navíc doplněnou o některé informace typu: umím zobrazovat to a to server odpovídá tím, že pošle zpátky zprávu, která začíná záhlavím udávájícím, co bude následovat (text, obrázek, zvukový záznam apod.), v běžném případě následuje WWW stránka a tedy text v jazyce HTML Jazyk HTML (HyperText Markup Language) je značkovací jazyk, pomocí značek je v obyčejném textu možné popsat, jak by měla výsledná stránka vypadat. Vlastní stránka obsahuje hlavičku (uzavřenou do dvojice značek HEAD) s různými řídícími informacemi (např. o použitém jazyce, o požadovaném titulku okna prohlížeče atp.) a tělo (značka BODY) s textem stránky. Text pak obsahuje různé formátovací značky jako označení nadpisu (H1), vloženého obrázku (IMG), tabulky (TABLE), odkazu na jinou stránku (A) atp. Interpretace značek je vždy záležitostí konkrétní klientské aplikace, takže stejná stránka může na různých www prohlížečích vypadat různě. hlavička tělo značka H1 značka IMG

26 Bezpečnost na WWW Bezpečnost uživatele Bezpečnost serveru
komunikace mezi klientem a serverem probíhá otevřeně přenos citlivých informací (hesla, údaje ve formulářích) představuje riziko zabezpečená forma komunikace přes Transport Layer Security (TLS), dříve Secure Sockets Layer (SSL) dnes podporují všichni běžní klienti/servry Bezpečnost serveru přes WWW server vede většina útoků pečlivě udržovaný systém minimální práva Stejně jako u většiny síťových služeb se i u WWW vyskytují bezpečnostní rizika. Z hlediska uživatele představuje největší riziko otevřený přenos veškeré komunikace mezi klientem a serverem. Nebezpečné je především uvádění jakýchkoliv hesel, kódů apod. buďto přímo nebo prostřednictvím formulářů. Firma Netscape Communications přišla s řešením, v němž se veškerá komunikace, u níž se předpokládá přenos citlivých informací, kóduje. Tento systém se nazývá Secure Sockets Layer a musí jej samozřejmě podporovat jak server tak klient. U prohlížeče Netscape Navigator se funkce SSL projeví zobrazením nezlomeného klíče v levém dolním rohu. Z hlediska serveru je největším nebezpečím spouštění programů. Jakmile systém není dobře udržován (což vyžaduje obrovské a nikdy nekončící úsilí), lze přes www server celkem úspěšně provést prolomení systému. Alespoň nejzákladnější obranou proti tomu je zákázat spouštění všech programů, které nejsou nezbytně nutné, povolené programy pečlivě kontrolovat a uživateli, pod nímž spouštěné programy běží, omezit práva na naprosté minimum.

27 The End


Stáhnout ppt "Základy TCP/IP Libor Forst Historie, teoretický model"

Podobné prezentace


Reklamy Google