České vysoké učení technické v Praze FAKULTA INFORMAČNÍCH TECHNOLOGIÍ katedra počítačových systémů Komunikace v sítích TCP/IP (1) Jiří Smítka jiri.smitka@fit.cvut.cz 14.2.2011 1/30
Úvod do předmětu Jiří Smítka <jiri.smitka@fit.cvut.cz> konzultace: Út 10:50 MK:203 (nebo i jinak pošlete e-mail) Veškeré informace naleznete na webu: https://edux.fit.cvut.cz/courses/bi-psi/ 14.2.2011 2/30
Náplň proseminářů Proseminář není přednáška, je to cvičení 1. Komunikace v síti TCP/IP - adresace, překlad adres, konfigurace. 2. Komunikace v síti TCP/IP - programové rozhraní BSD Socketů. TEST 1 3. Protokoly - teoretické modely, komunikující automaty, Petriho sítě. 4. Efektivita linkových protokolů. TEST 2 5. Opakování na základě výsledků testu. 14.2.2011 3/30
Náplň cvičení 2 laboratorní úlohy zapojení a nakonfigurování zadané sítě 2 programovací úlohy protokoly TCP a UDP programovací jazyk: java, c, c++ povinnost průběžně zálohovat na server baryk.fit.cvut.cz čtěte důkladně zadání na webu 14.2.2011 4/30
Rodina protokolů TCP/IP v4 14.2.2011 5/30
Historie 1974 první zmínka o TCP 1978 oficiální uvedení TCP/IP 1983 ARPANET adoptuje TCP/IP 1991 začátek prací na TCP/IP v 6 1995 první RFC dokumenty k v 6 14.2.2011 6/30
RFC - Request for Comments 1969 Jon Postel, Internet Society množina technických a organizačních dokumentů Internet Engineering Task Force (IETF) Internet Engineering Steering Group (IESG) 14.2.2011 7/30
Rodina protokolů TCP/IP DNS RPC FTP HTTP POP SMTP... OSPF TCP UDP... ARP RARP IP ICMP... počítačová síť 14.2.2011 8/30
IP adresa (verze 4) jednoznačná identifikace konkrétního síťového zařízení v prostředí sítě TCP/IP příklad: 147.32.83.179 těchto adres je 2 32, některé jsou však rezervované (vnitřní potřeba protokolu + vyhrazené adresy) hierarchická struktura problém nedostatku adres => NAT 14.2.2011 9/30
IP adresy (verze 4) byly rozdány Dne 3.2.2011 byly přiděleny poslední bloky IP adres regionálním správcům 14.2.2011 10/30
Takže adresy došly co bude dál? To se teprve uvidí Svět ještě chvíli vydrží adresy došly pouze v registru IANA Zatím pořád ještě lze IPv4 adresu získat Politika přidělování se však neustále zpřísňuje Mírná zásoba je ještě v legacy blocích (bloky, z nichž bylo čerpáno před vznikem regionálních správců 14.2.2011 11/30
Zásoby Nejhůře je na tom APNIC, konec v září 2011 Evropa vydrží cca do podzimu 2012 Afrika má zásoby na 4 roky Co potom? Po přidělení posledních adres lokálním správcům se trh zablokuje. Vznikne (tolik potřebný) tlak na řešení zřejmě přechod na IPv6 (anebo vznikne zase nějaká kulišárna) 14.2.2011 12/30
Struktura IP adresy třídní adresy 32 bitů IP adresy číslo sítě číslo počítače v síti třída A síť=8 bitů počítač=24 bitů 0sssssss pppppppp pppppppp pppppppp třída B síť=16 bitů počítač=16 bitů 10ssssss ssssssss pppppppp pppppppp třída C síť=24 bitů počítač=8 bitů 110sssss ssssssss ssssssss pppppppp třída D multicast (skupinová adresace) 1110mmmm mmmmmmmm mmmmmmmm mmmmmmmm třída E experimentální účely 1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx 14.2.2011 13/30
Struktura IP adresy beztřídní adresy 32 bitů IP adresy číslo sítě číslo počítače v síti Můžeme libovolně umístit předěl mezi číslem sítě a číslem počítače. Rozdělení většinou značíme pomocí lomítka příklad: 10.1.1.1/24 číslo sítě je prvních 24 bitů = 10.1.1.0 14.2.2011 14/30
Vyhrazené rozsahy IP adres 0.0.0.0 = tento počítač na této síti 255.255.255.255 = všechny počítače v internetu Otázka: Proč nemohu poslat zprávu na všechny počítače v celém v Internetu? privátní adresy: 10.0.0.0 až 10.255.255.255 172.16.0.0 až 172.31.255.255 192.168.0.0 až 192.168.255.255 14.2.2011 15/30
Číslo sítě, číslo počítače a maska sítě 192.168.45.55 11000000 10101000 00101101 00110111 255.255.255.0 11111111 11111111 11111111 00000000 192.168.45.0 11000000 10101000 00101101 00000000 55 00110111 Poznámka: masku sítě 255.255.255.0 lze také vyjádřit zápisem 192.168.45.55/24 (tedy že prvních 24 bitů adresy je číslo sítě) 14.2.2011 16/30
Subnet Rozdělíme část sítě na další podsítě: 192.168.45.55 11000000 10101000 00101101 00110111 255.255.255.240 11111111 11111111 11111111 11110000 192.168.45.48 11000000 10101000 00101101 00110000 7 0111 RFC 950: adresa podsítě nesmí být samé 0 nebo 1 RFC 1878: adresa podsítě mohou být samé 0 nebo 1 14.2.2011 17/30
Supernet BI-PSI - Počítačové sítě - proseminář Spojíme několik podsítí do jedné větší sítě: 192.168.45.55 11000000 10101000 00101101 00110111 255.255.240.0 11111111 11111111 11110000 00000000 192.168.32.0 11000000 10101000 00100000 00000000 3383 1101 00110111 14.2.2011 18/30
Speciální IP adresy 000...0 tento počítač na této síti 000...node počítač na této síti síť.000...0 adresa sítě síť.111...1 broadcast do sítě 111...1 broadcast na lokální síti 127.x.x.x loopback (127.0.0.1) 169.254.0.0/16 Link Local (RFC5735) 14.2.2011 19/30
Komunikace dvojí adresy Uzly v síti mají 2 adresy IP adresu a MAC adresu IP adresa např. 192.168.43.105 MAC adresa např. 00:0A:6A:11:22:33 Vzájemné provázání pomocí ARP dotazu 14.2.2011 20/30
Komunikace příklad ARP dotazu Alice chce odeslat zprávu Bobovi Jenže nezná jeho MAC adresu... Alice vyšle do sítě ARP dotaz: FFFFFFFFFFFF MAC-ALICE IP-BOB IP-ALICE Bob přijal dotaz díky broadcastu a poslal: MAC-ALICE MAC-BOB IP-ALICE IP-BOB Alice již může poslat Bobovi zprávu: MAC-BOB MAC-ALICE IP-BOB IP-ALICE 14.2.2011 21/30
Komunikace gateway ARP funguje pouze v lokální síti MAC adresu uzlu za směrovačem nezjistím (může být i jiná technologie) Musím nějak zjistit, zda patří IP adresa cíle do lokální sítě nebo ne K tomu slouží maska sítě Komunikace mimo přímo připojenou síť se směruje na IP adresu brány (gateway) 14.2.2011 22/30
Komunikace příklad na gateway Alice má IP adresu 10.1.1.1/8 a Bob má IP adresu 212.1.2.3 Alice chce poslat zprávu Bobovi, avšak nezná jeho MAC adresu Alice spočítá, že číslo její sítě je 10.0.0.0 Pokud by byl Bob ve stejné síti, měl by stejnou masku, jenže 10.0.0.0 212.0.0.0 (pozor, Alice může mít připojeno více sítí na více rozhraních) Alice proto pošle zprávu na gateway IP zjistí ze své konfigurace a MAC pomocí ARP 14.2.2011 23/30
Komunikace NAT (překlad adres) Umí zamaskovat celou síť za 1 IP adresu Využívá k tomu volné porty na směrovači, kde se překlad provádí Každý síťový proces lze identifikovat trojicí ( IP adresa, port, protokol ) NAT překládá dvojice (adresa,port) na jiné hodnoty (adresa,port) Umí tedy překládat zdrojovou i cílovou IP adresu i zdrojový i cílový port 14.2.2011 24/30
Komunikace NAT, příklad 1 Alice chce umět posílat Bobovi zprávu ze všech počítačů ve své lokální síti, ale má pouze 1 veřejnou IP adresu Bob je pochopitelně mimo lokální síť Alice přiřadí všem svým počítačům privátní IP adresy, jednu přiřadí i vnitřnímu rozhraní směrovače Alice nastaví na vnějším rozhraní směrovače veřejnou IP adresu a zapne NAT 14.2.2011 25/30
Komunikace NAT, příklad 2 Bob by rád občas poslal Alici zprávu na konkrétní počítač v její síti, která má privátní adresový prostor a na směrovači NAT Alice nastaví na směrovači pravidlo: Zpráva (konkrétního protokolu), která přišla na veřejnou IP adresu směrovače a jeho port N je přesměrována do vnitřní sítě na počítač s IP adresou dest_ip a port M. 14.2.2011 26/30
Komunikace NAT z pohledu uživatele Moje domácí síť má 6 PC a 1 server Všechny počítače by měli mít přístup na Internet, mám však přidělenou pouze 1 veřejnou IP adresu Server by měl sloužit jako WWW server (bezpečnost nade vše) Koupím router za pár korun a nastavím na něm dynamický NAT, navíc vložím statický záznam o překladu příchozích http požadavků na můj server. 14.2.2011 27/30
Komunikace NAT trochu lépe Poté, co moji síť zcela rozložili hackeři, rozdělím svoji síť na: Privátní část Demilitarizovanou zónu (DMZ) Do DMZ portu směrovače zapojím server Do LAN portů směrovače zapojím PC Do WAN portu zapojím přípojku Internetu 14.2.2011 28/30
Komunikace NAT z pohledu ISP NAT šetří IP adresy, ale zdržuje Za 1 IP adresu nelze zamaskovat nekonečně mnoho privátních adres (počet volných portů) NAT problém s nedostatkem IPv4 adres pouze odkládá, avšak neřeší Protože IP adresy mapujeme při NATu na porty, milují ISP komunikační protokoly jako BitTorrent (otevře desetitisíce portů). 14.2.2011 29/30
Dotazy? Poté následují praktické příklady na směrování... 14.2.2011 30/30