Základy TCP/IP. Libor Forst



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

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

Zásobník protokolů TCP/IP

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

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

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

X36PKO Úvod Protokolová rodina TCP/IP

Y36SPS Jmenné služby DHCP a DNS

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

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

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.

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

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.

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

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

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

Architektura TCP/IP je v současnosti

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

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

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

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

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ásobník protokolů TCP/IP

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)

Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady

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

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

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

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

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

DNS, DHCP DNS, Richard Biječek

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

Telekomunikační sítě Protokolové modely

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

Další nástroje pro testování

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

PB169 Operační systémy a sítě

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

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

Počítačová síť a internet. V. Votruba

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

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

Y36PSI Protokolová rodina TCP/IP

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

X36PKO Úvod Jan Kubr - X36PKO 1 2/2006

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

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

Site - Zapich. Varianta 1

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

Počítačové sítě. Miloš Hrdý. 21. října 2007

Analýza protokolů rodiny TCP/IP, NAT

Analýza aplikačních protokolů

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.

Úvod do informačních služeb Internetu

Směrovací protokoly, propojování sítí

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

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

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

Jmenné služby a adresace

Konfigurace síťových stanic

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

Sítě v operačním systému Unix

A7B36PSI Úvod 1/29. Jan Kubr. Honza Kubr - 1_uvod

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

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

File Transfer Protocol (FTP)

Ladislav Pešička KIV FAV ZČU Plzeň

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

Úvod do počítačových sítí (NSWI141) Libor Forst, SISAL MFF UK

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

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

Typy samostatných úloh PSI 2005/2006

Administrace Unixu a sítí

Téma 9 Základy počítačových sítí Obsah

JAK ČÍST TUTO PREZENTACI

Pohled na pojem počítačová síť

OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Síť Internet. Adresace v Internetu (1) Adresace v Internetu (2) skládá se ze dvou částí: adresa sítě. Adresace v Internetu (3)

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

Střední průmyslová škola, Mladá Boleslav, Havlíčkova 456 Maturitní otázky z předmětu POČÍTAČOVÉ SÍTĚ

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

SSL Secure Sockets Layer

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

Úvod do síťových technologií

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

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

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

Počítačové sítě Aplikační vrstva Domain Name System (DNS)

spolupráce více systémů. . Pro zajištění služby je používáno více aplikačních protokolů, např.: DNS SMTP.

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

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

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

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

Sítě. predn_11.odt :05:30 1

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

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006

Praktikum Směrování Linux

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

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

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

Transkript:

Základy TCP/IP Libor Forst Motivace, historie, model Principy adresování, DNS Tok dat, topologie, routing Základní protokoly, aplikace E-mail, FTP, BSD příkazy Základy TCP/IP 1

Literatura D. E. Comer, D. L. Stevens: Internetworking With TCP/IP; Prentice Hall International 1991 C. Hunt: TCP/IP Network Administration; O'Reilly & Associates 1992 P. Šmrha, V. Rudolf: Internetworking pomocí TCP/IP; Kopp 1994 P. Satrapa, J. A. Randus: LINUX - Internet server; Neokortex 1996; ISBN 80-902230-0-1 L. Dostálek, A. Kabelová: Velký průvodce protokoly TCP/IP a systémem DNS; Computer Press 2002 Request For Comment (RFC) Základy TCP/IP 2

Vznik počítačových sítí izolované výpočetní systémy terminály point-to-point propojení robustní kompaktní aplikace lokální síť rozlehlá síť emulace terminálu + klient-server aplikace Základy TCP/IP 3

Počítačové sítě Lokáln lní sítě (Local Area Network) zvyšování produktivity díky sdílení prostředků menší vzdálenost, vyšší rychlost příklady: Novell, napojení bezdiskových stanic, databázové n. tiskové servery Rozlehlé sítě (Wide Area Network) konektivita, komunikace velké vzdálenosti, nižší výkon příklady: Internet, Bitnet Základy TCP/IP 4

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

Vývoj Internetu v číslech 5 000 000 000 500 000 000 50 000 000 5 000 000 500 000 Počet obyvatel Země Počet uživatelů Internetu Počet počíta tačů v Internetu 50 000 5 000 500 Zdroj: MIDS, Austin TX, based on historical data 82 84 86 88 90 92 94 96 98 2001 Základy TCP/IP 6

Typy síťových propojení Sběrnice (např. 10base2) Point-to-point přímé Hvězda (např. 10baseT, ATM) Point-to-point přes modemy Kruh (např. FDDI, Token-ring) Point-to-point bezdrátové (např. laser, radioreléové, WiFi) Základy TCP/IP 7

Typy síťových rozhraní Loopback PPP Ethernet - tento počítač, žádné fyzické zařízení - sériové propojení point-to-point - společná sběrnice: současný přístup, řešení kolizí (CSMA/CD) Token ring - předávání volného-obsazeného tokenu po kruhu FDDI ATM - jednoduchý nebo dvojitý kruh (překlene přerušení vlákna) - systém přepínačů a virtuálních cest pro tok dat, hlasu,... Výpis nakonfigurovaných rozhraní: netstat -i Základy TCP/IP 8

OSI model Pořadí Vrstva Úkol 7 aplikační komunikace mezi programy 6 prezentační datové konverze 5 relační navázání relace mezi počítači 4 transportní korektnost přenosu informace 3 síťová dosažení cílového počítače 2 linková přenos dat po navázaném spojení 1 fyzická interpretace elektrického signálu protokol rozhraní Základy TCP/IP 9

TCP/IP model OSI Vrstva Protokoly v TCP/IP (příklady) 7 6 5 4 3 2 1 aplikační transportní internet network interface hardware NFS FTP XDR RPC TCP UDP ICMP IP ARP Ethernet, FDDI, ATM, SLIP, X.25 - Základy TCP/IP 10

Spojované/nespojované služby spojované (connection-oriented) 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šší Základy TCP/IP 11

TCP okna 00 10 20 30 40 50 00 00 00 10 10 00 10 10 20 20 30 20 30 ACK 10 10 20 30 40 40 Základy TCP/IP 12

Zahájení a ukončení spojení Navázání TCP spojení SYN Seq# c Ack# 0 SYN, ACK Seq# s Ack# c+1 ACK Seq# c+1 Ack# s+1 Jednostranné uzavření spojení FIN, ACK Seq# x Ack# y ACK Seq# y Ack# x+1 Základy TCP/IP 13

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 nerespektuje topologii IP adresa (např.: 194.50.16.71) přidělována podle topologie 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í Základy TCP/IP 14

Konverze adres doménové adresy IP adresy 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ěď Základy TCP/IP 15

Třídy IP adres Třída 1.byte Tvar adresy 2.byte 3.byte 4.byte Začátek adresy sítí Počet strojů A B C D E 0 net 10 110 1110 1111 net net host host host net 1-126 128-191 192-223 224-239 240-255 126 ~16 M ~16 k ~64 k ~2 M 254 multicast experimental Základy TCP/IP 16

Speciální adresy loopback 127.0.0.1 adresa loopback rozhraní privátn tní adresy 10.0.0.0, 172.16.0.0-31, 192.168.*.0 nepřidělované, k použití pro lokální sítě nesmí opustit síť network broadcast <adresa sítě>.<samé jedničky> všem v dané síti normálně se doručí do cílové sítě limited broadcast 255.255.255.255 všem v této síti nesmí opustit síť Základy TCP/IP 17

Subnetting Subnetting dovoluje rozšířit síťovou část adresy: net subnet host pomocí specifikace tzv síťové masky (netmask), v tomto případě 255.255.255.192: 11111111 11111111 11111111 11 000000 Nedoporučuje se používat subnet "all-zeros" a "all-ones", takže v tomto případě máme pouze 1022 x 62 adres. V definici je přípustná nespojitá maska, ale většinou se neimplementuje. V současnosti se často ignorují třídy (classless) a místo masky uvádí jen počet bitů (např. 193.84.56.71/26). Základy TCP/IP 18

Supernetting 192.168.4 192.168.5 router agreguje směrovací informace (192.168.4.0/23) single homed server veškerý provoz ze sítě...4.0 jde přes router dual homed neroutující server je zapotřebí různé DNS pro sítě...4.0 a...5.0 Základy TCP/IP 19

IPv6 IPv6 adresy jsou dlouhé 128 bitů (16 bytů). Zápis: fec0::1:800:5a12:3456 Rozeznáváme adresy unicastové - slouží k adresaci jediného rozhraní, kromě globálních adres existují ještě site-local adresy (jsou platné pouze v rámci organizace) a link-local adresy (platné v rámci lokálního propojení sítě) multicastové - slouží k adresaci skupiny rozhraní (IPv6 převzal a mírně modifikoval IGMP) anycastové - formálně se jedná o unicastové adresy, které jsou přiděleny více rozhraním (strojům) Další vlastnosti: autokonfigurace, Duplicate Address Detection, Router Discovery, Neighbor Discovery Protocol (místo ARP), Path MTU Discovery, tunelování IPv4 Základy TCP/IP 20

Doménový systém edu vutbr server pro domény cuni.cz a ruk.cuni.cz cesnet ns whois ruk dec59 cz cuni mff sk nordu nic net server pro doménu cz server pro root doménu fzi de fixlink Základy TCP/IP 21

Vyřizování DNS dotazu a.root-servers.net. cz: NS=192... ns.cesnet.cz cz nerekurzivní www.mff.cuni.cz www.mff.cuni.cz cuni.cz: NS=195... ns.fzi.de fzi.de rekurzivní www.mff.cuni.cz IP=193... www.mff.cuni.cz IP=193... ns.cuni.cz cuni.cz, mff.cuni.cz fixlink.fzi.de Základy TCP/IP 22

Tok dat v TCP/IP Aplikace Data stream message Transport TCP/UDP header Data... packet IP IP header packet datagram Interface Interface header datagram CRC frame Základy TCP/IP 23

Multiplexing, demultiplexing Aplikace Aplikace rozhodování podle čísla portu rozhodování podle IP protokolu ICMP UDP TCP ARP IP IPX rozhodování podle typu (délky) Ethernet rámce Ethernet Základy TCP/IP 24

Socket, port Port... 16bitové číslo identifikující jeden konec spojení - aplikaci, proces, který má zpracovávat příchozí pakety destination-port musí být znám, typicky je to některý z tzv. well-known services (viz /etc/services) source-port navazovatele (>1024) spojení přiděluje lokální systém Socket... jeden konec komunikačního kanálu mezi klientem a servrem označení (adresa) jednoho konce kanálu <IPadresa, port> Výpis otevřených socketů: netstat [-an] Základy TCP/IP 25

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) Základy TCP/IP 26

Struktura ethernetového rámce Ethernet v2: Destination MAC address Source MAC address Type Data CRC IEEE 802.3 Destination MAC address Source MAC address IP 0x0800 ARP 0x0806 RARP 0x8035 IPX 0x8137 Len Data CRC <= 1500 Základy TCP/IP 27

Struktura IP datagramu Version Header Length Time-to-live Service Type (priorita) Identification (pořadové číslo) Protocol (/etc/protocols) Flags Source IP Address Destination IP Address Total Length Fragment Offset Header Checksum Options Padding Data Základy TCP/IP 28

Struktura TCP paketu Source Port Destination Port Sequence Number Data Offset (rsvd) Checksum Acknowledgement Number Flags (SYN,URG,ACK,...) Window Urgent Pointer Options Padding Data Základy TCP/IP 29

Spojování segmentů sítě Vrstva aplikační transportní síťová linková fyzická Síťové zařízení gateway (brána) router (směrovač) bridge, switch repeater, HUB Vrstva aplikační transportní síťová linková fyzická Základy TCP/IP 30

Porovnání HUB vs. switch S HUB Σ 10 Mbit/s S S S S S Switch Σ 10 Mbit/s Switch, více serverů Σ > 10 Mbit/s Switch s uplinkem Σ up to 100 Mbit/s Základy TCP/IP 31

Příklad topologie sítě Klient 1 Klient 2 Klient 3 Lokáln lní síť Ethernet Repeater segment Klient 4 Klient 5 Server 1 Bridge Provoz Klient 6 Klient 7 Server 2 Lokáln lní síť Router WAN Klient 8 Klient 9 Základy TCP/IP 32

Principy firewallu IP filtr vnitřní adresy NAT vnější adresy klient - server Proxy-server klient - server Základy TCP/IP 33

Address Resolution Protocol konverze MAC (Ethernetových) a síťových (IP) adres ARP tabulka (cache) je v paměti na každé stanici neznámé adresy se zjišťují broadcastovou výzvou: Ethernet=1 IP=0x0800 ARPreq=1 Sender MAC Sender IP FF:FF:FF:FF:FF:FF Target IP unicastová odpověď (odpovídající si nejprve musí sám upravit svoji ARP tabulku) výpis ARP tabulky: arp -a ARP je omezeno na lokální síť, mezi sítěmi je v činnosti OSI 3 Základy TCP/IP 34

Proxy ARP 1 klient posílá ARP request s IP adresou host 2 router pozná, že ARP nebude zodpovězen, proto posílá ARP reply s MAC adresou routeru 3 MAC routeru přiřazena k IP hosta v ARP na klientovi 4 klient posílá data na hosta s MAC adresou routeru klient proxy ARP router host Základy TCP/IP 35

Protokol ICMP Internet Control Message Protocol, slouží prořídící informace nad IP protokolem Echo Request, Reply... testování dosažitelnosti počítače příkazem ping Source Quench... žádost o snížení rychlosti toku datagramů Destination Unreachable... počítač (služba) nedostupný Redirect... výzva ke změně cesty Time Exceeded... vypršel Time-to-live (chyba v routování) Parameter Problem... chyba v záhlaví datagramu Timestamp Request, Reply... odhad doby přenosu Information Request, Reply... žádost o adresu sítě Address Mask Request, Reply... žádost o síťovou masku Základy TCP/IP 36

Směrování výchozí poč. IP: n1.h1 OSI 7-4 OSI 3 OSI 2 OSI 1 n2.h2 n2.h2 n2.h2 MAC12 n2.h2 n2.h2 router 1 IP: n1.h2 n2.h2 MAC12 n2.h2 n2.h2 MAC21 n2.h2 n2.h2 router 2 IP: n2.h1 n2.h2 MAC21 n2.h2 n2.h2 MAC22 n2.h2 n2.h2 cílový poč. IP: n2.h2 n2.h2 MAC22 n2.h2 Základy TCP/IP 37

Směrovací algoritmus zvol nejspeciálnější záznam (host, net, default) existuje? ne není cesta No route to host můj stroj? ano ponechat moje síť? ano poslat (podle ARP) direct route ne poslat směrovači indirect nebo default route Základy TCP/IP 38

Příklad směrovací tabulky Destination Gateway Mask 193.84.48.50 193.84.48.49 255.255.255.255 direct, host 194.50.16.64 194.50.16.71 255.255.255.224 direct, subnet 194.50.17.0 194.50.16.77 255.255.255.0 indirect, net default 193.84.48.50 0.0.0.0 default 194.50.17.0 193.84.48.48 77 194.50.16.64 71 49 50 Základy TCP/IP 39

Principy směrování směrování by měla umět každá stanice, v UNIXu je přímo součástí jádra směrovací tabulky obsahují záznamy: cíl, maska, gateway (dřívější členění cílů: host, net, default) cíle jsou řazeny od speciálních k obecnějším typy záznamů: direct (přímo připojená síť, gateway je vlastní adresa) indirect, default vznik záznamu: implicitní (automaticky po zadání příkazu ifconfig) explicitní (zadán příkazem route) dynamický (v průběhu práce od partnerů v síti) Základy TCP/IP 40

Statické řízení směrovacích tabulek Cesty se nastavují při startu pomocí příkazů route - nesnadné zálohování spojení (cykly) - problémy se subnettingem - nutná inicializace, nepružné při změnách + méně citlivé na problémy v síti + dostupné i ve zcela heterogenním prostředí vhodné pro jednodušší, stabilní sítě route add delete flush -f [[-]host] host [[-]net] net [[-netmask] mask] default 0 router interface [-interface] { }{ } [gw] { [metric] Základy TCP/IP 41 }

Redirekce původní obsah tabulky: default 5.0.0.8 UG nový obsah tabulky: default 5.0.0.8 UG 6.0.0.0 5.0.0.6 UGD 1. první datagram pro 6.0.0.1 síť 5.0.0.0 3. ICMP redirect 8 6 síť 2. redirekce 8.0.0.0 datagramu 4. další datagramy pro 6.0.0.1 síť 6.0.0.0 Základy TCP/IP 42

Dynamické řízení směrovacích tabulek Uzly sítě si navzájem vyměňují informace směrovacími protokoly + jednoduché změny konfigurace + směrovací tabulky se udržují automaticky - na jednoduchých sítích občas zdrojem zbytečných problémů starší varianta: daemon routed {-g -q } používá protokol RIP modernější řešení: daemon gated, konfigurační soubor /etc/gated.conf používá protokol RIP nebo OSPF pro externí routery (propojují autonomní systémy) se užívají protokoly EGP a BGP Základy TCP/IP 43

Diagnostika směrování Výpis směrovacích tabulek: netstat -r[n] Destination Gateway Flags Ipkts... Colls Interface 194.50.16.0 this U 15943... 0 tu0 127.0.0.1 loopback UH lo0 default gw UG tu0 193.84.57.0 gate UGD tu0 Kontrola cesty: traceroute 1 gw.thisdomain (194.50.16.222) 2 ms 1 ms 1 ms 2 gw.otherdomain (193.84.48.49) 12 ms 15 ms 15 ms Základy TCP/IP 44

Konfigurace TCP/IP UNIX IP adresa: ifconfig interface IP_adr [ netmask maska ] defaultní router: route add default router doména a nameserver: /etc/resolv.conf domain jméno_domény nameserver IP_adresa_nameserveru Windows 95 start dialogu: Control Panel Network TCP/IP Základy TCP/IP 45

Protokol BOOTP/DHCP FF.FF... MAC 255... 0.0.0.0 BOOTPS BOOTPS request MAC BOOTP server přiděluje IP podle MAC adresy v tabulce (/etc/bootptab) a odpovídá broadcastem nebo unicastem (musí si doplnit arp tabulku) podle RFC 1084 odpověď obsahuje IP adresu, síťovou masku, jméno, gateway, nameserver... routery standardně BOOTP nepropouštějí (limited broadcast), spojení se servrem zajišťuje BOOTP forwardování postupné rozšiřování vedlo ke vzniku nového protokolu DHCP: dynamické přidělování adres (šetří IP, ale je méně bezpečné), časové omezení pronájmu, interakce mezi klientem a servery,... Základy TCP/IP 46

Automatická konfigurace BOOTPS request: Ethernetová adresa klienta klient router s BOOTP forwardingem limited broadcast unicast server BOOTPC reply: IP adresa, maska, router... broadcast, unicast Základy TCP/IP 47

Model TCP aplikace Klient socket bind Server socket bind listen connect write read close accept read write close Základy TCP/IP 48

Model UDP aplikace Klient socket bind connect write sendto sendmsg read readfrom readmsg close Server socket bind connect read readfrom readmsg write sendto sendmsg close Základy TCP/IP 49

Start síťových daemonů přímý start ve startovacích scriptech intenzivně využívané, speciální služby, se složitou inicializací nepřímý start (on demand) provádí daemon inetd konfigurace v /etc/inetd.conf: bootps dgram udp wait root /etc/bootpd bootpd tftp dgram udp wait nobody /etc/tftpd tftpd /tftpboot whois stream tcp nowait nobody /etc/whoisd whoisd překonfigurování: kill -HUP PID server komunikuje přes filedeskriptory 0/1 Základy TCP/IP 50

Systém DNS Klient-sever aplikace, binární protokol nad UDP i TCP Typy serverů: primární: udržuje data o doméně sekundární: udržuje kopii dat caching-only: udržuje pouze vyřešené odkazy Reverzní dotazy (IP adresa jméno) se řeší pomocí reverzních domén: IP adrese 194.50.16.71 odpovídá záznam 71 v doméně 16.50.194.in-addr.arpa Diagnostika DNS: nslookup podpříkazy: set type, server, name, IPadr, ls, exit dig [@server] jméno [typ_dotazu] Základy TCP/IP 51

DNS dotaz a odpověď Dotaz: QUERY: alias.tns.cz IN CNAME Odpověď: FLAGS: Authoritative, Recursive QUERY: alias.tns.cz IN CNAME ANSWER: alias.tns.cz IN CNAME ns AUTHORITY: tns.cz IN NS ns.tns.cz ADDITIONAL: ns.tns.cz IN A 1.1.1.1 Problém: Příznak Authoritative se nevztahuje na sekci ADDITIONAL, legální server pro nějakou doménu tam může legálně umístit falešné údaje. Základy TCP/IP 52

Uživatelské příkazy TCP/IP ARPA (Internet) BSD (UNIX) kopírování souborů ftp rcp vzdálené logování telnet rlogin vzdálené provádění příkazů rexec rsh informace o uživatelích finger rwho on-line komunikace talk rwall Základy TCP/IP 53

Příkaz ftp File Transfer Protocol řídící relace: port 21 datový přenos (aktivní FTP): obrácený směr, port 20 Interaktivní příkaz: vlastní prompt visuální interface Logování na vlastní účet nebo anonymně: login: anonymous password: elektronická_adresa Seznam uživatelů se zakázaným FTP: /etc/ftpusers Uživatel FTP musí mít platný login shell (/etc/shells) Základy TCP/IP 54

Podpříkazy ftp navazování relace: ukončování relace: lokální příkazy: vzdálené příkazy: přenos souborů: open, user close, quit, bye lcd,!command cd, pwd, ls, dir get, put, mget, mput typ přenosu souborů: ascii, binary práce se soubory: pomocné příkazy: delete, rename, mkdir, rmdir prompt, hash, status, help, verbose,... Základy TCP/IP 55

Aktivní/pasivní datové spojení Aktivní spojení 1.1.1.1:1234 PORT 1,1,1,1,8,0 2.2.2.2:21 200 PORT command OK. LIST 1.1.1.1:2048 2.2.2.2:20 Pasivní spojení 1.1.1.1:1234 PASV 2.2.2.2:21 227 OK (2,2,2,2,8,1) LIST 1.1.1.1:1235 2.2.2.2:2049 Základy TCP/IP 56

Inicializační soubor ~/.netrc machine host login name password passwd macdef macro příkazy... macdef init inicializační příkazy... parametry makra: $1..., volání makra: $jméno hesla jen pro anonymní a speciální uživatele! mód souboru s hesly musí být rw------- vyvolání ftp bez inicializace: ftp -n Základy TCP/IP 57

BSD příkazy rcp -pr [[user@]host:]file... sémantika stejná jako u příkazu cp: kopíruje soubory (adresáře) pod cílovým jménem (do cílového adresáře) ke stroji host přistupuje jako uživatel user rsh host [-l user ] cmd provedení příkazu cmd na stroji host pod uživatelem user rlogin host [-l user ] přihlášení uživatele user na stroji host Základy TCP/IP 58

Autorizace BSD příkazů stejný uživatel? ano uživatel root? ne /etc/hosts.equiv client [user] ne ano ne ok? ano ~/.rhosts client [user] ne příkaz rlogin? ne ok? ano ano fail kontrola hesla OK Základy TCP/IP 59

OTP, Secure shell Konvenční příkazy posílají uživatelská hesla otevřeně po síti. Řešení: Systém OneTimePassword server vyšle jedinečný náhodný kód, uživatel na klientovi zadá do speciální kalkulačky kód a svoje heslo a dostane odpověď, kterou klient pošle servru Systém SecureShell programový balík nahrazující BSD příkazy šifruje veškerou komunikaci umožňuje zadávat heslo i u příkazu scp Základy TCP/IP 60

Elektronická pošta 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 E-mailová adresa (typicky): alias@doména nebo login@počítač např.: Libor.Forst@cuni.cz nebo forst@ms.ms.mff.cuni.cz Základy TCP/IP 61

Elektronický dopis Received: from alfik.ms.mff.cuni.cz by betynka.ms.mff.cuni.cz... Date: Thu, 16 Nov 1995 00:54:31 +0100 To: student1@ms.mff.cuni.cz From: Libor Forst <forst@cuni.cz> Subject: Test posty Cc: student2@ms.mff.cuni.cz 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! Základy TCP/IP 62

Ukázka SMTP protokolu 220 alfik.ms.mff.cuni.cz ESMTP Sendmail... HELO betynka 250 alfik Hello betynka, pleased to meet you MAIL FROM: <forst@cuni.cz> 250 2.1.0 <forst@cuni.cz>... Sender ok RCPT TO: <lf@tns.cz> 250 2.1.5 <lf@tns.cz>... Recipient ok DATA 354 Enter mail, end with "." on a line by itself dopis.... 250 2.0.0 h98g9fxt Message accepted for delivery QUIT 221 2.0.0 alfik closing connection Základy TCP/IP 63

Přístup k poště z pohledu uživatele a) přímé připojení na SMTP server Mail Transfer Agent Mail User Agent b) připojení přes POP nebo IMAP server SMTP server POP server WAN Základy TCP/IP 64

Příjem a odeslání pošty v SMTP a) přímé doručení mail-relay b) doručení přes forwarder WAN 2 3 1 mail-forwarder mbox IN MX 0 mbox IN MX 20 relay Základy TCP/IP 65

Příjem pošty na UNIXu Příjem pošty daemon sendmail, konfigurace sendmail.cf aliasy (/etc/aliases): alias: adresa, adresa... aktivace: příkaz newaliases Čtení pošty: mail není user-friendly osobní autoforward: ~/.forward adresa může mít tvar: " cmd" pozor na cykly Základy TCP/IP 66

Odesílání pošty na UNIXu Psaní pošty: mail [-v] [-s subject ] adresa... vhodné pro dávkové zpracování příkazy ~v, ~s subj, ~q Vlastní nastavení: $HOME/.mailrc možnost potlačení některých dotazů při odesílání možnost potlačení výpisu některých informací při čtení vlastní aliasy pro odesílání pošty, např.: alias project petr pavel novak@firma.cz Základy TCP/IP 67

Diskusní listy adresa: mail_list@mailserver (list)server: mail_list-request@mailserver listserv@mailserver listy: udržuje seznam abonentů rozesílá dopisy nebo oznámení udržuje archiv otevřené vs. uzavřené moderované n. nemoderované příkazy: help, information, lists, review, [un]subscribe, index, search Základy TCP/IP 68

Etika poštovního styku jazyk, výrazové prostředky používání subjectu míra zachování původního textu v odpovědi účelné posílání souborů, češtiny obtěžování uživatelů a sítě, řetězové dopisy Základy TCP/IP 69

Bezpečnost pošty Dopis je vždy otevřen 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ěď Základy TCP/IP 70

Symetrické šifrování Šifrování pro šifrování a dešifrování se používá stejný klíč výhoda: rychlé nevýhoda: partneři si musí klíč předat bezpečnou cestou Asymetrické šifrování pro šifrování a dešifrování se používá dvojice klíčů nevýhoda: pomalé výhoda: jeden klíč je veřejný, druhý tajný Hash vytvoření kódu z daného textu změny textu a hashe jsou navzájem neodvoditelné Základy TCP/IP 71

Šifrování dopisu volný text náhodný symetrický klíč veřejný klíč příjemce symetricky zašifrovaný text asymetricky zašifrovaný klíč symetricky zašifrovaný text asymetricky zašifrovaný klíč tajný klíč příjemce volný text náhodný symetrický klíč Základy TCP/IP 72

Elektronický podpis hash textu tajný klíč odesilatele volný text zašifrovaný hash volný text zašifrovaný hash veřejný klíč odesilatele hash textu hash textu =? Základy TCP/IP 73

Uniform Resource Identifier jednotný systém odkazů jediný klient pro více služeb nepostradatelná pro WWW historické členění: URL, URN,... protokol:// [jméno[:heslo]@]adresa[:port][cesta] př.: ftp://sunsite.mff.cuni.cz/os/freebsd http://www.cesnet.cz:8080 mailto: root@company.com Základy TCP/IP 74

Princip ditribuované databáze gopher.cuni.cz Gopher at Charles University 1. About this Gopher... 4. Czech Educational and Scientific Network... 9. User Directory Service for Czech Republic... Czech Root Gopher Server gopher.cesnet.cz 1. About this Gopher... 5. User Directory Service for Czech Republic... whois.cuni.cz Enter search key User Directory Service _ Základy TCP/IP 75

Hypertext Původní význam: text doplněný vazbami (podobně jako např. v Helpu ve Windows). Zvolením vyznačených slov lze získat podrobnější informaci nebo přejít na příbuzné téma. Dnešní chápání: blíže pojmu hypermediální text, neboli text doplněný nejen odkazy, ale i netextovými prvky (obrázky, zvuk, video...) Základy TCP/IP 76

World Wide Web WWW je distribuovaná hypertextová databáze Základní jednotkou je stránka (dokument) Dokumenty jsou psány v textovém jazyce HTML popisuje obsah i formu (styly - CSS) existují staticky nebo se vytvářejí dynamicky Odkazy: mohou vést na příbuzné dokumenty nebo programy jsou zapisovány ve tvaru URL jsou součástí textu příp. i obrázků Základy TCP/IP 77

Protokol HTTP URL: http://www.../index.html GET /index.html server HTTP/1.0 200 OK Content-type: text/html <HTML><HEAD> <TITLE>Stranka...</TITLE> </HEAD><BODY> <H1>Nadpis stránky</h1> <HR>... klient HTML stránka Základy TCP/IP 78

Příkazy HTTP Metoda Požadavek Odpověď GET HEAD POST --- --- parametry stránky PUT soubor --- požadovaná stránka požadovaná stránka CONNECT... tunel... --- Základy TCP/IP 79

Dynamické stránky Dynamika řízená na serveru: Formuláře + cgi-skripty, server-side include HTML preprocesor (PHP) Přenesení výpočetního výkonu na klienta: Java - jazyk myšlenkově vycházející z C++, s vyššími nároky na bezpečnost, s knihovnami pro jednoduchou tvorbu uživatelského rozhraní Java programy (applety), se na klienta přenášejí jako přeložený kód a on ho interpretuje a provádí (víceméně) nezávisle na platformě za pomoci lokálních knihoven Javascript - analogický princip, na klienta se ale přenáší zdrojový kód a on ho interpretuje Základy TCP/IP 80

Bezpečnost na WWW Bezpečnost uživatele 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 Základy TCP/IP 81

The End Základy TCP/IP 82