Materiały do wykładu 13.Protokołyintersieci Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 11 czerwca 2013
Intersieć zbudowana jest z sieci fizycznych. Siećfizycznaskładasięzwęzłów. Struktura intersieci 13.1 Sieci fizyczne są połączone za pomocą ruterów. Ruter posiada co najmniej dwa interfejsy sieciowe, po jednym dla każdej z łączonych sieci.
Adresy IP 13.2 Każdy interfejs sieciowy(węzeł) ma przydzielony unikatowy adres. Adres jest 32-bitową liczbą całkowitą. Adresy zapisujemy jako cztery liczby 8-bitowe z przedziału 0 do 255 oddzielone kropkami, przykładowo 178.71.131.22. Adres składa się z dwóch pól, identyfikujących odpowiednio: sieć(podsieć), węzeł w sieci(podsieci). Pola te są wyznaczone przez maskę podsieci.
Adres IP przykład 13.3 adres 178.71.131.22 maska 255.255.240.0 adres/maska 178.71.131.22/20 adres 10110010 01000111 10000011 00010110 maska 11111111 11111111 11110000 00000000 adres sieci 10110010 01000111 10000000 00000000 adres sieci 178.71.128.0
Klasa A odpowiada masce 255.0.0.0 1.0.0.0 do 126.0.0.0 Klasa B odpowiada masce 255.255.0.0 128.0.0.0 do 191.255.0.0 Klasa C odpowiada masce 255.255.255.0 192.0.0.0 do 223.255.255.0 KlasaD 224.0.0.0 do 239.255.255.255 KlasaE 240.0.0.0 do 247.255.255.255 Adresowanie bezklasowe Klasy adresów IP 13.4
Adresy specjalne(1) 13.5 Adres ograniczonego rozgłaszania w bieżącej sieci 255.255.255.255 Adres ukierunkowanego rozgłaszania same jedynki w polu węzła Adrespodsieci samezerawpoluwęzła Nie powinien być przypisywany żadnemu interfejsowi. Adres bieżącego węzła 0.0.0.0 Używany, gdy nadawca nie zna(jeszcze) swojego adresu. Nie jest poprawnym adresem odbiorcy. Adreswęzławbieżącejsieci samezerawpoluadresupodsieci Używany, gdy nadawca nie zna adresu swojej podsieci. Nie jest poprawnym adresem odbiorcy.
Adresy rozgłaszania grupowego 224.0.0.0 do 239.255.255.255 Adresy prywatne 10.0.0.0 do 10.255.255.255 172.16.0.0 do 172.31.255.255 192.168.0.0 do 192.168.255.255 Adresy reprezentujące bieżący węzeł 127.0.0.0 do 127.255.255.255 zwykle 127.0.0.1 Adresy specjalne(2) 13.6
Konfigurowanie interfejsów sieciowych $/sbin/ifconfig Program ifconfig 13.7 lo Link encap:local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:2832 errors:0 dropped:0 overruns:0 TX packets:2832 errors:0 dropped:0 overruns:0 eth0 Link encap:ethernet HWaddr 00:60:8C:B3:EB:E2 inet addr:148.81.12.166 Bcast:148.81.12.255 Mask:255.255.255.0 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:5359911 errors:57 dropped:57 overruns:47 TX packets:563378 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x300
Protokół IP(1) 13.8 Internet Protocol Usługa zawodnego przenoszenie pakietów transport z użyciem dostępnych możliwości gubienie pakietów duplikowanie pakietów zmiana kolejności pakietów Przenoszenie bezpołączeniowe każdy pakiet obsługiwany niezależnie możliwe różne drogi dla pakietów wysłanych do tego samego celu
Protokół IP(2) 13.9 Definiuje format pakietu(datagramu), podstawowej jednostki przesyłania danych w intersieciach. Definiuje pojęcie rutera i algorytm wyznaczania tras(trasowania). Definiuje sposób przetwarzania pakietów w węzłach sieci.
Nagłówek IP 13.10 0 1 2 3 01234567890123456789012345678901 Version IHL Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Nagłówek i dane to razem maksymalnie 65535 oktetów
Trasowanie 13.11 Pakiet adresowany do bieżącej podsieci jest przesyłany do odbiorcy bezpośrednio. Pakiet adresowany do innej podsieci jest przesyłany do rutera. Każda maszyna przetwarzająca pakiet używa tablicy tras do wyznaczenia: adresu węzła, do którego wysłać pakiet; interfejsu, po którym wysłać pakiet. Każdy wiersz tablicy tras zawiera: adres podsieci lub węzła łącznie z maską, identyfikator interfejsu, ewentualny adres następnego rutera.
Program route 13.12 $/sbin/route-n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.1.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.2.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 0.0.0.0 10.1.2.31 0.0.0.0 UG 0 0 0 eth0 $/sbin/route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 87.206.152.0* 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default chello087206152 0.0.0.0 UG 0 0 0 eth0 Niektóre flagi: U--trasajestzestawiona(ang.up) H--celjestwęzłem(stacją,ang.host) G-- użyj rutera(bramki, ang. gateway)!-- trasa odrzucenia(ang. reject)
ARP 13.13 Address Resolution Protocol Odwzorowywanie adresów IP na adresy fizyczne Rozgłaszanie ARP Pamięć podręczna adresów
Program arp 13.14 Zarządzanie pamięcią podręczną protokołu ARP $/sbin/arp-n Address HWtype HWaddress Flags Mask Iface 87.206.152.1 ether 00:14:F1:E9:5A:05 C eth0 $/sbin/arp Address HWtype HWaddress Flags Mask Iface melkor.mimuw.edu.pl ether 08:00:20:75:D9:63 C eth0 jaskier.mimuw.edu.pl (incomplete) eth0 zaa.mimuw.edu.pl ether 08:00:20:1D:D3:D4 C eth0 lipa.mimuw.edu.pl ether 00:C0:F0:16:92:E2 C eth0 spider12.mimuw.edu.pl ether 00:00:EF:06:0D:CC C eth0
TimetoLive czasżyciapakietu TTL 13.15 Zapobieganie nieskończonemu krążeniu pakietów w sieci Każdy ruter zmiejsza TTL o liczbę sekund, przez które pakiet oczekujenaobsługę,aleconajmniejo1. GdywartośćTTLspadniedozera,pakietjestporzucany,ado nadawcy wysyłany jest komunikat ICMP o błędzie.
Program traceroute 13.16 WysyłapakietyUDPnanieużywanyportzTTLustawionymna kolejne wartości, począwszy od 1. Rutery odpowiadają komunikatem ICMP TIME EXCEEDED. Host docelowy odpowiada komunikatem ICMP PORT UNREACHABLE. $ traceroute www.uw.edu.pl traceroute to uw.edu.pl(193.0.72.140), 30 hops max, 38 byte packets 1 spider2(10.2.0.1) 0.380ms 0.575ms 0.496ms 2 c96(193.0.96.31) 1.868ms 0.982ms 1.053ms 3 kp-mm-r1.rtr.net.icm.edu.pl(213.135.52.58) 1.003 ms 0.943 ms 4 www.uw.edu.pl(193.0.72.140) 1.126 ms 1.731 ms 1.169 ms
Fragmentacja 13.17 MTUsieci Fragmentacja w ruterze kierującym do sieci o mniejszym MTU Składanie u odbiorcy Maksymalny czas oczekiwania na wszystkie fragmenty Opcja nie fragmentuj
Podobny do traceroute Umożliwia odkrycie MTU ścieżki $ tracepath www.uw.edu.pl Program tracepath 13.18 1: dyn-10-2-8-41.mimuw.edu.pl(10.2.8.41) 0.427ms pmtu 1500 1: spider2.mimuw.edu.pl(10.2.0.1) 1.114ms 2: c96.mimuw.edu.pl(193.0.96.31) asymm 3 1.765ms 3: kp-mm-r1.rtr.net.icm.edu.pl(213.135.52.58) asymm 4 2.027ms 4: www.uw.edu.pl(193.0.72.140) 3.855ms reached Resume:pmtu1500hops4back4
UDP 13.19 User Datagram Protocol Usługa zawodnego dostarczania pakietów, te same własności co IP Niezawodność musi być zapewniona w warstwie aplikacji. W praktyce dobrze zachowuje się w sieciach lokalnych. Rozszerza IP o mechanizm portów.
Porty 13.20 Adres IP identyfikuje węzeł sieci(host, komputer). Adres IP nie rozróżnia użytkowników ani procesów. Adresatem komunikatów sieciowych jest aplikacja(proces). Wskazanie procesu przez jego identyfikator jest niepraktycze. Odbiorca wskazywany jest na podstawie realizowanej funkcji. Port protokołu to abstrakcyjny cel komunikacji Porttoliczbacałkowitazzakresu1do65535 Powszechnie znany przydział portów
Nagłówek UDP 13.21 0 78 1516 2324 31 +--------+--------+--------+--------+ Source Destination Port Port +--------+--------+--------+--------+ Length Checksum +--------+--------+--------+--------+ dataoctets... +----------------... Każdy komunikat zawiera IP i port nadawcy oraz odbiorcy. To umożliwia wysłanie odpowiedzi. Maksymalnadługośćdanychwpakiecieto2 16 9oktetów.
Transmission Control Protocol TCP(1) 13.22 Usługa niezawodnego dostarczania strumienia oktetów Brak struktury strumienia odbiorca nie może stwierdzić, w jakich porcjach nadawca wkłada dane do strumienia. Jeden protokół ogólnego zastosowania Oddzielenie aplikacji od szczegółów pracy sieci Niezależny od sieci bazowej
TCP(2) 13.23 Protokół połączeniowy Połączenie dwukierunkowe Pasywne i aktywne otwarcie połączenia Oddzielne zamykanie połączenia w każdym kierunku Połączenie identyfikowane przez adresipnadawcy port nadawcy adres IP odbiorcy port odbiorcy
TCP(3) 13.24 Ten sam adres i port może być wykorzystywany w wielu istniejących jednocześnie połączeniach. Mechanizm potwierdzania i retransmisji Mechanizm kontroli przepływu
Nagłówek TCP 13.25 0 1 2 3 01234567890123456789012345678901 Source Port Destination Port Sequence Number Acknowledgment Number Data U A P R S F Offset Reserved R C S S Y I Window G K H T N N Checksum Urgent Pointer Options Padding data
Problem wyczerpywania adresów 13.26 AdresówIPv4jestmniejniż2 32. Przy obserwowanym tempie rozwoju Internetu już dawno zabrakłoby adresów. Adresowanie bezklasowe NAT network address translation
IPv6 13.27 128-bitowe adresy FF05:0:0:0:0:0:0:B3 FF05::B3 ::128.10.2.1 Uproszczony format nagłówka Opcje i rozszerzenia protokołu w dodatkowych nagłówkach Wsparcie dla rezerwowania zasobów IPsec obowiązkowy w IPv6(opcjonalny w IPv4)
Nagłówek IPv6 13.28 Version Traffic Class Flow Label PayloadLength NextHeader HopLimit + + + Source Address + + + + + + Destination Address + + +
DNS 13.29 Domain Name System Trudno jest pamiętać adresy IP. Łatwiejsze do zapamiętania są adresy z czymś się kojarzące. Struktura hierarchiczna, drzewiasta Główny poziom hierarchii com,edu,gov,mil,net,org,int,pl,de,cz,sk,ru,... Nazwa może oznaczać adres maszyny, skrzynki pocztowej itp. Zapytania odwrotne
Protokół DNS 13.30 KorzystazUDPnaporcie53. Przeszukiwanie iteracyjne lub rekurencyjne Typy rekordów A adresip CNAME nazwa kanoniczna MX wymiennikpoczty NS serwernazw PTR nazwadziedziny SOA części hierarchii, za które odpowiada dany serwer...
$ dig www.uw.edu.pl Program dig(domain information groper) 13.31 ; <<>> DiG 9.3.1 <<>> www.uw.edu.pl ;; global options: printcmd ;; Got answer: ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10604 ;;flags:qrrdra;query:1,answer:2,authority:5,additional:5 ;; QUESTION SECTION: ;www.uw.edu.pl. IN A ;; ANSWER SECTION: www.uw.edu.pl. 5176 IN CNAME uw.edu.pl. uw.edu.pl. 23 IN A 193.0.72.140 ;; AUTHORITY SECTION: uw.edu.pl. uw.edu.pl. uw.edu.pl. uw.edu.pl. uw.edu.pl. 4832 IN NS arwena.nask.waw.pl. 4832 IN NS ns2.net.icm.edu.pl. 4832 IN NS dns.fuw.edu.pl. 4832 IN NS ns1.net.icm.edu.pl. 4832 IN NS wask.wask.wroc.pl.
Program dig(2) 13.32 ;; ADDITIONAL SECTION: wask.wask.wroc.pl. 4795 IN A 156.17.254.3 dns.fuw.edu.pl. 398 IN A 193.0.80.11 arwena.nask.waw.pl. 4936 IN A 193.59.201.28 ns2.net.icm.edu.pl. 5398 IN A 212.87.0.71 ns1.net.icm.edu.pl. 4795 IN A 193.0.71.133 ;;Querytime:4msec ;; SERVER: 10.1.3.1#53(10.1.3.1) ;;WHEN:WedJun 409:42:382008 ;;MSGSIZE rcvd:266 $dig-x10.1.1.1 ;<<>>DiG9.3.1<<>>-x10.1.1.1 ;; global options: printcmd ;; Got answer: ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8821 ;;flags:qraardra;query:1,answer:1,authority:3,additional:3 ;; QUESTION SECTION: ;1.1.1.10.in-addr.arpa. IN PTR
Program dig(3) 13.33 ;; ANSWER SECTION: 1.1.1.10.in-addr.arpa. 86400 IN PTR students.mimuw.edu.pl. ;; AUTHORITY SECTION: 10.in-addr.arpa. 10.in-addr.arpa. 10.in-addr.arpa. 86400 IN NS rainbow.mimuw.edu.pl. 86400 IN NS intra-ns.mimuw.edu.pl. 86400 IN NS paranoja.mimuw.edu.pl. ;; ADDITIONAL SECTION: intra-ns.mimuw.edu.pl. 86400 IN A rainbow.mimuw.edu.pl. 86400 IN A 10.1.3.1 10.1.1.4 paranoja.mimuw.edu.pl. 86400 IN A 10.1.2.4 ;;Querytime:4msec ;; SERVER: 10.1.3.1#53(10.1.3.1) ;;WHEN:WedJun 409:52:332008 ;;MSGSIZE rcvd:190
$ dig students.mimuw.edu.pl MX Program dig(4) 13.34 ; <<>> DiG 9.3.1 <<>> students.mimuw.edu.pl MX ;; global options: printcmd ;; Got answer: ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5230 ;;flags:qraardra;query:1,answer:0,authority:1,additional:0 ;; QUESTION SECTION: ;students.mimuw.edu.pl. IN MX ;; AUTHORITY SECTION: mimuw.edu.pl. 86400 IN SOA intra-ns.mimuw.edu.pl. hostmaster.mimuw.edu.pl. 2008060301 28800 7200 604800 86400 ;;Querytime:4msec ;; SERVER: 10.1.3.1#53(10.1.3.1) ;;WHEN:WedJun 409:55:462008 ;;MSGSIZE rcvd:95
Pliki configuracyjne 13.35 $ cat/etc/hosts 127.0.0.1 localhost 10.1.2.4 paranoja.mimuw.edu.pl paranoja $ cat/etc/resolv.conf search mimuw.edu.pl nameserver 10.1.2.9 nameserver 10.1.3.1 nameserver 10.1.1.4