background image

WYKŁAD IV

Dr inż. Sławomir Przyłucki

spg@spg51.net

MATERIAŁY: ftp://ftp.spg51.net

User: tsst
Passwd: tsst2011

 

 Idea ruchu multicastowego, adresy klasy D 

 Protokoły pomocnicze IGMP, ICMP
 Protokół IPv6, budowa nagłówka 
 Struktura adresów 
 Adresacja global, site, local
 Adresacja multicastowa i anycastowa

background image

 

Adres  multicastingowy  nie  identyfikuje  ani  konkretnej  maszyny,  ani 

też konkretnej podsieci i nie ma bezpośredniego związku z adresami 
IP innych klas identyfikujących dany komputer.

Uwaga:    adres 224.0.0.0.0 jest zabroniony

adres 224.0.0.1 określa grupę wszystkich maszyn korzystających
z multicastingu  w Internecie (ang. all host group).

R 1

R 2

A

B

C

D

E

F

G

D a t a g r a m   m u l t i c a s t i n g o w y

A d r e s   I P   =   1 1 1 0   +   g r u p a   m u l t i c a s t i n g u

TRANSMISJA 

TRANSMISJA 

MULTICASTINGOWA 

MULTICASTINGOWA 

 

Pula adresów IP dla multicastingu: 224.0.0.0 do 239.255.255.255

background image

1110

adres grupy multicast

 

Zestaw  hostów  nasłuchujących  nadejścia  datagramu,  wysyłanego 

pod  danym  adresem  grupy  multicast,  nazywany  jest  grupą  hostów. 
Grupa hostów może obejmować wiele sieci.

 

Członkowie  tej  grupy  są  przydzielani  dynamicznie  –  host  może 

przyłączyć  się  do  grupy  i  ją  opuścić,  kiedy  zechce.  Nie  ma  żadnych 
ograniczeń  liczby  hostów  w  grupie,  a  hosty  nie  musza  wysyłać 
komunikatów do grupy, aby do niej należeć.

 

Niektóre grupy adresów multicast zatwierdzone są jako dobrze znane 

adresy  i  są  nazywane  stałymi  grupami  hostów.  Obowiązuje  przy  tym 
zasada,  że  stały jest adres  grupy multicast  a nie jej członkowie,  którzy 
mogą się dynamicznie zmieniać.

ADRESY KLASY D 

ADRESY KLASY D 

background image

  Protokół  ICMP  (ang.  Internet  Control  Message  Protocol)  umożliwia 

ruterom  wysyłanie  do  innych  węzłów  komunikatów  o  błędach  i 
komunikatów 

kontrolnych 

– 

zapewnia 

komunikację

 między 

oprogramowaniem IP na jednej maszynie a oprogramowaniem IP na innej.

  Podobnie  jak  ruch  innego  rodzaju,  komunikaty  ICMP  podróżują  w 

intersieciach w częściach datagramów IP przeznaczonych na dane.

Datagram IP

20 bajtów

Nagłówek IP

Komunikat ICMP

UWAGA:  Gdy  datagram  powoduje  błąd,  ICMP  może  jedynie  powiadomić 
pierwotnego nadawcę o  przyczynie. Nadawca musi otrzymaną informację 
przekazać  danemu  programowi  użytkownika  albo  podjąć  inne  działanie 
mające na celu uporanie się z tym problemem.

PROTOKÓŁ ICMP  

PROTOKÓŁ ICMP  

background image

Komunikaty  protokołu  ICMP  są  przesyłane  wewnątrz  datagramów  IP. 
Każdy  komunikat  ma  własny  format.  Jednak  wszystkie  rozpoczynają 
się takimi samymi polami: 

Bajty.

1

2

3

4

Typ

Kod

Suma kontrolna

pole typ

 - określa jeden z 15 typów komunikatu

pole kod

 - opisuje kod błędu

pole suma kontrolna

 - zawiera 16-bitowe uzupełnienie słów komunikatu 

ICMP.

Dalsze pola zależą od typu komunikatu ICMP. 

typ, kod oraz suma kontrolna

PROTOKÓŁ ICMP - cd 

PROTOKÓŁ ICMP - cd 

Uwaga:  komunikaty  o  błędach  ICMP  nie  są  nigdy  generowane  jako 
odpowiedzi  na  datagram,  którego  adres  źródłowy  jest  zerowy,  jest 
adresem loopback, adresem typu brodcast lub multicast lub wysłany pod 
adres typu broadcast lub multicast. 

background image

KOMUNIKATY ICMP

KOMUNIKATY ICMP

background image

KOMUNIKATY ICMP - cd

KOMUNIKATY ICMP - cd

background image

Nazwa ping jest skrótem od Packet InterNet Groper. 

Program ping wysyłający zapytanie o echo nazywany jest klientema host, 
który  jest  pingowany,  określany  jest  mianem  serwera.  Większość 
implementacji  TCP/IP  obsługuje  serwer  Ping  bezpośrednio  na  poziomie 
jądra - serwer nie jest uruchamianym procesem. 

UWAGA:  Podobnie  jak  w  przypadku  innych  komunikatów  ICMP 
zawierających  zapytanie,  serwer  musi  odpowiedzieć  wykorzystując  pola 
identyfikator  i  numer  sekwencyjny.  Ponadto  wszystkie  opcjonalne  dane 
wysłane  przez  klienta  muszą  być  umieszczone  w  odpowiedzi.  Numer 
sekwencyjny  rozpoczyna  się  od  0  i  jest  zwiększany  za  każdym  razem, 
kiedy  wysyłane  jest  kolejne  zapytanie  o  echo.  Polecenie  ping  wyświetla 
numer  sekwencyjny  każdego  z  powracających  pakietów,  pozwalając  na 
stwierdzenie  braku  pakietów,  przemieszania  się  pakietów  lub  ich 
powielania. 

PROGRAM PING 

PROGRAM PING 

background image

ping ftp.task.gda.pl

Badanie korweta.task.gda.pl [153.19.253.204] z użyciem 32 bajtów danych:  
Odpowiedź z 153.19.253.204: bajtów=32 czas=70ms TTL=251  
Upłynął limit czasu żądania.  
Odpowiedź z 153.19.253.204: bajtów=32 czas=110ms TTL=251  
Upłynął limit czasu żądania.  

ping kik.pcz.czest.pl

Badanie kik.pcz.czest.pl [195.164.175.66] z użyciem 32 bajtów danych:
Odpowiedź z 195.164.175.66: bajtów=32 czas=1033ms TTL=53
Odpowiedź z 195.164.175.66: bajtów=32 czas=1222ms TTL=53
Odpowiedź z 195.164.175.66: bajtów=32 czas=480ms TTL=53
Odpowiedź z 195.164.175.66: bajtów=32 czas=170ms TTL=53

Statystyka badania dla 195.164.175.66:
    Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0 (0% utraconych),
Szacunkowy czas błądzenia pakietów w milisekundach:
    Minimum = 170ms, Maksimum =  1222ms, Średnia =  726ms

SUKCES

NIEPOWODZENIE

PROGRAM PING - cd

PROGRAM PING - cd

background image

  Program  ping  daje  możliwość  obejrzenia  opcji  zapisu  trasy  IP  (ang. 

record route — RR). 

 Wykonanie polecenie ping -R powoduje, że każdy ruter, który obsługuje 

datagram,  dodaje  do  pola  opcji  swój  adres  IP.  Kiedy  datagram  osiągnie 
punkt  docelowy,  lista  adresów  IP  powinna  zostać  przekopiowana  do 
wysyłanej  odpowiedzi  ICMP.  Wszystkie  rutery,  obsługujące  datagram 
odpowiedzi, również dodają swoje adresy do tej listy. Kiedy ping odbierze 
odpowiedź, wyświetla listę adresów IP.

OPCJA ZAPISU TRASY

OPCJA ZAPISU TRASY

background image

  

Program Traceroute wykorzystuje pola ICMP i TTL w nagłówku 

IP. 

 

Pole  TTL  (czas  życia)  jest  polem  8-bitowym,  które  wysyłający 

otwiera,  nadając  mu  pewną  wartość.  Zalecaną  wartością 
początkową jest 64.

 

Każdy  ruter,  który  obsługuje  datagram  na  jego  trasie  w  sieci, 

musi  zmniejszyć  tę  wartość  TTL  o  liczbę  sekund,  zazwyczaj 
jeden,  w  czasie  których  ruter  przetrzymuje  datagram.  Ponieważ 
większość  ruterów  przetrzymuje  datagram  przez  mniej  niż  jedną 
sekundę, pole TTL, zmniejszane za każdym razem o jeden, staje 
się dość dokładnym licznikiem przeskoków.

PROGRAM TRACEROUTE 

PROGRAM TRACEROUTE 

background image

t

racert pingwin.icm.edu.pl

 Śledzenie trasy do pingwin.icm.edu.pl [193.219.28.245]  

  1   <10 ms   <10 ms   <10 ms  defgate.matinf.pcz.czest.pl [195.164.172.65] 
 
  2   <10 ms   <10 ms   <10 ms  access.pcz.czest.pl [195.164.172.34]  
  3  1242 ms   811 ms   631 ms  Katowice-gw2-a3.nask.pl [193.59.205.25]  
  4  1232 ms   701 ms  1052 ms  Katowice-gw-s1-4.nask.pl [194.92.0.113]  
  5     *     2323 ms  1362 ms  Warszawa-gw-hssi5-1.nask.pl [193.59.202.50]  
  6  1192 ms  1141 ms     *     NIX-r1-atm0-0-5.nask.pl [195.187.0.250]  
  7   691 ms   281 ms   440 ms  nask-icm.icm.edu.pl [148.81.175.250]  
  8   221 ms  1141 ms  1552 ms  pingwin.icm.edu.pl [193.219.28.245]  

Śledzenie zakończone.  

PROGRAM TRACEROUTE - cd 

PROGRAM TRACEROUTE - cd 

 

W  normalnych  warunkach  żaden  system  nie  powinien  otrzymać 

datagramu z TTL równym 0. Zamiast obsługiwać takie datagramy, host 
zwraca  je  temu  hostowi,  który  był  źródłem  komunikatu  ICMP  „time 
exceeded".

background image

IPv4 VERSUS IPv6

IP Service

IP Service

IPv4 Solution

IPv4 Solution

IPv6 Solution

IPv6 Solution

Mobile IP with Direct 

Routing

Mobile IP 

with Direct 

Routing

DHCP

DHCP

Mobile IP

Mobile IP

IGMP/PIM/Multicast 

BGP

IGMP/PIM/Multicast 

BGP

IP Multicast

IP Multicast

MLD/PIM/Multicast 

BGP,Scope Identifier

MLD/PIM/Multicast 

BGP,

Scope Identifier

Mobility

Mobility

Autoconfiguration

Autoconfiguration

Serverless,

Reconfiguration, DHCP

Serverless,

Reconfiguration

, DHCP

32-bit, Network 

Address Translation

32-bit, Network 

Address Translation

128-bit, Multiple

Scopes

128-bit, Multiple

Scopes

Addressing Range

Addressing Range

Quality-of-Service

Quality-of-Service

Differentiated Service, 

Integrated Service

Differentiated Service, 

Integrated Service

Differentiated Service, 

Integrated Service

Differentiated Service, 

Integrated Service

Security

Security

IPSec Mandated, works 

End-to-End

IPSec Mandated,

 

works 

End-to-End

IPSec

IPSec

background image

  Pomimo  zwiększenia  rozmiaru  IP  w  wersji  6,  co  musiało  spowodować 

zwiększenie rozmiaru nagłówka, jego format stał się zdecydowanie prostszy. 
 

  Podstawowy  nagłówek  IPv6  ma  stały  rozmiar  równy  40  oktetów,  a  w 

stosunku do nagłówka IPv4 6 z 12 pól zostało usuniętych, pozostałe zostały 
poddane modyfikacji a kilka pół dodano całkowicie nowych. 

IPv4 VERSUS IPv6

background image

NAGŁÓWEK IPv6

Version Number: 

Jest to 4 bitowe pole (znaczenie podobne jak w IPv4). 

Traffic  Class:

 Jest  to  8  bitow  pole  podobne  znaczeniem  do  pola  ToS  (ang, 

type  of  service  ).  Traffic  Class  nadaje  pakietowi  klasę  ruchu,  która  może  być 
wykorzystywana przez modele QoS (np. Differentiated Services).

 

background image

NAGŁÓWEK IPv6 - cd

Flow  Label: 

Jest  to  nowe  w  stosunku  do  IPv4,  20  bitowe  pole.      Pole  to 

pozwala  na  przypisanie  pakietu  do  określonego  strumienia  w  celu  wyróżnienia 

go  w  warstwie  3.  Dzięki  temu  możliwe  jest  specyficzne  przetwarzanie  pakietu 

przez routery na ścieżce przesyłu. 

Payload  Length:

   Znaczenie  tego  pola  jest  podobne  do  pola  Całkowita 

Długość  (ang. 

Total  Length)    w  polu  IPv4,  pole  Payload  Length  wskazuje 

całkowitą długość danych w pakiecie.

background image

NAGŁÓWEK IPv6 - cd 

Next Header:

 Znaczenie tego pola jest podne do pola Protokół (ang. Protocol 

field) w nagłówku IPv4. Wartość tego pola wskazuje typ informacji dołączony za 
podstawowym  nagłówkiem  IPv6.  Może  to  być  wartość  wskazująca  na  pakiet 

warstwy  transportowej,  np.  TCP  lub  UDP    lub  na  tzw.  Nagłówek  Rozszerzony 

(ang. Extension Header) 

Hop Limit: 

 Znaczenie ego pola jest podobne do pola Czas Życia (ang. Time to 

Live) w nagłówku IPv4. Wartośc pola określa maksymalną liczbę hop-ów na trasie 

datagramu IPv6. 

background image

NAGŁÓWEK IPv6 - cd

Source Address:

 128 bitowy adres IPv6  nadawcy. 

 

Destination Address:

 128 bitowy adres Ipv6 odbiorcy. 

Należy  pamiętać,  że  w  nagłówku  IPv6  nie  występuje  pole  Checksum 
dzięki  czemu  modyfikacja  nagłówka  nie  powoduje  konieczności 
przeliczania pól kontrolnych.   

background image

ZMIANY W ADRESACJI IP

 

zwiększenie  wielkości  pola  adresu  IP  z  32  do  128  bitów

;  dzięki  temu 

otrzymuje  się  możliwość  polepszenia  ''hierarchii  adresowej'',  zwiększenia 
liczby adresów dla węzłów sieci i uproszczenie auto-konfiguracji adresów.

IPv4

32 bity = 4,294,967,296 możliwych do zaadresowania urządzeń

IPv6

128 bity: 4 razy większy rozmiar bitowy 
= 3.4 x 10

38

 możliwych do zaadresowania urządzeń

= 340,282,366,920,938,463,463,374,607,431,768,211,456

 

∼ 5 x 10

28

 adresów dla kazdej osoby na ziemi

background image

ADRESACJA IPv6

Adres multicast 

identyfikuje grupę interfejsów tak, że pakiet

wysłany na adres multicastowy trafi do wszystkich członków grupy. 

  Adresy  IPv6  są  liczbami  128-bitowymi  i  stanowią  identyfikatory  dla 

poszczególnych interfejsów lub zestawów interfejsów.

 Adresy są przydzielane do interfejsów, a nie do węzłów sieci. 

 Istnieją trzy typy adresów IPv6: 

unicast,  anycast , multicast. 

Adres unicast

 identyfikuje pojedynczy interfejs. 

Adres  anycast

 identyfikuje  grupę  interfejsów  tak,  że  pakiet  wysłany  na 

adres anycastowy trafi do jednego z interfejsów z grupy. 

W IPv6 nie ma adresów broadcastowych. 

background image

FORMAT ADRESÓW IPv6

 Preferowana forma

 x:x:x:x:x:x:x:x, gdzie ''x'' jest jedną z ośmiu liczb 16-

bitowych zapisanych w postaci szesnastkowej, np. 

FEDC:BA98:7654:3201:FEDC:BA98:7654:3210 

1080:0:0:0:8:800:200C:417A 

 O rodzaju adresu decyduje początkowy układ bitów , tzw. 

Format Prefic FP

 

uzupełniony o prefiks sieciowy :

background image

TEKSTOWA INTERPRETACJA 

ADRESÓW IPv6 

  Skrócona  forma

 -  dla  uproszczenia  zapisywania  adresów 

zawierających długie łańcuchy zer wprowadzono skrót: ''::'', oznaczający 

pojawienie  się  kilku,  następujących  po  sobie  16-bitowych  zer.  Znak  ''::'' 

może wystąpić tylko raz w zapisie adresu,np. 

1080:0:0:0:8:800:200C:417A adres unicastowy 

FF01:0:0:0:0:0:0:43 adres multicastowy 

0:0:0:0:0:0:0:1 adres loopback 

0:0:0:0:0:0:0:0 adres “nieokreślony 

można zapisać jako: 

1080::8:800:200C:417A 

FF01::43 

::1 

:: 

 Zapis adresu w formacie URL: 

background image

PODSTAWOWY SCHEMAT ADRESU 

UNICAST IPv6

 Przestrzeń adresowa IPv6 jest alokowana przez 5 RIRs:

AfriNIC, APNIC, ARIN, LACNIC, RIPE NCC

 

ISP otrzymuje przestrzeń adresową od właściwego RIRa

 Lokalni operatorzy sieciowi (ang. Enterprises) otrzymują przestrzeń 
adresową IPv6 od właściwego ISP

• 

Dla tuneli 6to4 zarezetwowano pule 2002::/16

background image

PODSTAWOWY SCHEMAT ADRESU 

UNICAST IPv6 - cd

Proces przyznawania adresów IPv6 wygląda następująco: 

 

Organizacja  IANA  wydzieliła  przestrzeń  2000::/3  dla  poczatkowego 

wykorzystania w ruchu unicast

 RIR posiada pule /12 i wydziela z niej pule z prefiksem /32 prefix (lub 

większym) dla poszczególnych IPv6 ISP

 Każdy z ISP może zalokować pule prefiksów /48 dla swoich końcowych 

odbiorców

background image

INTERFACE ID

 Najmłodsze 64 bity adresu unicastowego mogą być określone na 

kilka poniższych sposobów: 

 auto-konfiguracja na podstawie 64-bitowego EUI-64 (poprzez rozwinięcie 

adresu MAC)

 auto-generacja na podstawie generatora liczb losowych 

 przypisanie poprzez DHCP

 konfiguracja ręczna (administratora sieci) 

background image

INTERFACE ID – TWORZENIE EUI-64

Adres EUI-64 jest tworzony poprzez wstawienie FFFE oraz operacje 
OR z bitem okeślającym unikalność adresu MAC

background image

KLASY ADRESÓW:  UNICAST GLOBAL

  Res  – 

Wielkość  segmentu  wynosi  8  bitów.  Bity  zarezerwowane  dla 

przyszłego poszerzania wielkości TLA ID lub NLA ID. 

 TLA ID – Top-Level Aggregation Identifier. 

Wielkość segmentu wynosi 

13 bitów. TLA ID identyfikuje najwyższy poziom w hierarchii routowania. 
ID  typu  TLA  administrowane  są  przez  IANA,  są  zarezerwowane    dla 
największych dostawców Internetu.

background image

KLASY ADRESÓW:  UNICAST GLOBAL - cd

 NLA ID – Next-Level Aggregation Identifier. 

Wielkość segmentu wynosi 

24 bity. NLA ID używany jest do identyfikowania adresów klienckich. 

 SLA ID – Site-Level Aggregation Identifier.

 Wielkość segmentu wynosi 

16 bitów. SLA ID używany jest przez indywidualne sieci klienckie w celu 
identyfikacji podsieci w ich obrębie.

background image

KLASY ADRESÓW:  UNICAST LINK LOCAL

 Adres link-local jest elementem struktury Neighbor Discovery i zawsze 

konfiguruje  się  automatycznie,  nawet  w  przypadku  braku  wszelkich 
innych adresów emisji pojedynczej. 

 Adresy link-local zawsze zaczynają sie od FE80. 

 Router IPv6 nigdy nie przekazuje ruchu link-local poza łącze.

background image

KLASY ADRESÓW: UNICAST  SITE LOCAL

Adres  globalny  oraz  adres  site-local  posiadają  identyczną  strukturę  za 
pierwszymi 48 bitami adresu. W adresach globalnych SLA ID identyfikuje 
podsieci w obrębie danej organizacji. W przypadku adresów site-local ID 
podsieci (Subnet ID) pełni tą samą funkcję. Z tego powodu możliwe jest 
utworzenie  podsieciowej  infrastruktury  używanej  zarówno  przez  adresy 
site-local jak i globalne.

 Adresy site-local nie są osiagalne z innych sieci i nie są routowane do 

Internetu. 

 Adresy site-local są odpowiednikami prywatnych adresów IPv4 

background image

ADRESY MULTICASTOWE  

Znaczniki  (ang.  Flags):

 Wskazują 

znaczniki 

ustawione 

adresie 

grupowym.  Wielkość  tego  segmentu 
wynosi  4  bity.  Zgodnie  z  RFC  2373, 
jedynym  zdefiniowanym  znacznikiem 
jest  Transient  (T).  Ustawiony  na  0, 
znacznik  T  sygnalizuje  iż  adres 
grupowy  jest  na  stałe  przypisanym 
(dobrze  znany)  adresem  grupowym 
ustalonym przez IANA. Ustawiony na 1, 
wskazuje 

tymczasowość 

przydzielonego adresu grupowego.

background image

ADRESY MULTICASTOWE - cd  

W celu identyfikacji węzłów dla zakresów node-local i link-local, 
zdefiniowano następujące adresy: 

FF01::1 (wszystkie węzły z zakresu  node-local) 
FF02::1 (wszystkie węzły z zakresu  link-local) 

W celu identyfikacji wszystkich routerów dla zakresów node-local, link-
local, oraz site-local zdefiniowano następujące adresy: 

FF01::2 (wszystkie routery z zakresu  node-local) 
FF02::2 (wszystkie routery z zakresu  link-local) 
FF05::2 (wszystkie routery z zakresu  site-local) 

background image

ADRESY ANYCASTOWE 

Adres  emisji  dowolnej  (ang.  anycast)

 przypisany  jest  do  wielu 

interfejsów.  Pakiety  zaadresowane  na  adres  emisji  dowolnej  są 
przesyłane przez infrastrukturę routującą do najbliższego interfejsu 
do którego jest przypisany adres emisji dowolnej.

background image

ADRESY IPv6 - PODSUMOWANIE

 Host IPv6 jest przypisany jest do następujących adresów emisji 

pojedynczej: 

 Adres link-local dla każdego interfejsu,
 Adres site-local oraz jeden bądź wiele adresów global,
 Adresy zwrotne (::1)

 Oprócz tego, każdy z hostów nasłuchuje na następujących adresach 

multiemisji (opisanych powyżej): 

 Adres multiemisji wszystkich węzłów z zakresu node-local (FF01::1), 
 Adres multiemisji wszystkich węzłów z zakresu link-local (FF02::1), 
 Adres węzła wywoływanego (ang. solicited-node) dla każdego adresu 

emisji pojedynczej i każdego interfejsu, 

 Adres multiemisji dla grup, do których przystąpiono.


Document Outline