BI-PSI - Počítačové sítě - proseminář
Č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
[email protected]
14.2.2011
1/30
BI-PSI - Počítačové sítě - proseminář
Úvod do předmětu ●
Jiří Smítka
●
konzultace: Út 10:50 MK:203
<
[email protected]>
(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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Rodina protokolů TCP/IP v4
14.2.2011
5/30
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Rodina protokolů TCP/IP DNS
RPC
FTP
OSPF ARP
HTTP
TCP
RARP
POP
UDP IP
ICMP
SMTP
...
... ...
počítačová síť
14.2.2011
8/30
BI-PSI - Počítačové sítě - proseminář
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 32 těchto adres je 2 , 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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Struktura IP adresy – třídní adresy 32 bitů IP adresy číslo sítě třída A síť=8 bitů
číslo počítače v síti 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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Čí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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Supernet 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
14.2.2011
1101 00110111
18/30
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
●
IP-BOB
IP-ALICE
Bob přijal dotaz díky broadcastu a poslal: MAC-ALICE
●
MAC-ALICE
MAC-BOB
IP-ALICE
IP-BOB
Alice již může poslat Bobovi zprávu: MAC-BOB
14.2.2011
MAC-ALICE
IP-BOB
IP-ALICE 21/30
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
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
BI-PSI - Počítačové sítě - proseminář
Dotazy ? Poté následují praktické příklady na směrování...
14.2.2011
30/30