SK Moduł 7: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Linia 15: Linia 15:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd3.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd3.png|thumb|500px]]
|valign="top"|Jednym z zagadnień bezpośrednio dotyczących użytkowników sieci lokalnych jest uzyskanie przez ich hosty adresów IP. W zależności od stopnia złożoności sieci adresy takie mogą być przydzielane w sposób statyczny lub dynamiczny.
+
|valign="top"|Jednym z zagadnień bezpośrednio dotyczących użytkowników sieci lokalnych jest uzyskiwanie przez ich hosty adresów IP. W zależności od stopnia złożoności sieci adresy takie mogą być przydzielane w sposób statyczny lub dynamiczny.
  
Sposób statyczny polega na przydzieleniu przez administratora sieci komputerowej stałego adresu dla konkretnego interfejsu. Adres taki musi potem zostać przypisany do konkretnego interfejsu przez użytkownika danej stacji roboczej. Takie podejście wymaga od administratora, jak i użytkownika, wzajemnej komunikacji. Wymaga też bezwzględnego przestrzegania zasad określonych dla poprawnych adresów IP.  
+
Sposób statyczny polega na przydzieleniu przez administratora sieci komputerowej stałego adresu dla konkretnego interfejsu. Adres taki musi potem zostać przypisany do konkretnego interfejsu przez użytkownika danej stacji roboczej. Takie podejście wymaga od administratora, jak i użytkownika wzajemnej komunikacji. Wymaga też bezwzględnego przestrzegania zasad określonych dla poprawnych adresów IP.  
  
 
Lepszym rozwiązaniem jest przydzielanie adresów IP w sposób dynamiczny. Wśród wielu protokołów, które są do tego celu używane można wyróżnić:
 
Lepszym rozwiązaniem jest przydzielanie adresów IP w sposób dynamiczny. Wśród wielu protokołów, które są do tego celu używane można wyróżnić:
 
ARP/RARP
 
ARP/RARP
BOOTP
+
BOOTP
DHCP
+
DHCP
 
Protokoły te zostaną omówione dokładniej na następnych slajdach.  
 
Protokoły te zostaną omówione dokładniej na następnych slajdach.  
 
|}
 
|}
Linia 30: Linia 30:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd4.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd4.png|thumb|500px]]
|valign="top"|Protokół ARP (ang. address resolution protocol) został zaprojektowany w celu odwzorowania adresów IP na adres sprzętowy. Z zasady działania sieci komputerowych, a właściwie ze stosu protokołów TCP/IP, ISO, wynika sposób enkapsulacji w ramach przechodzenia danych przez poszczególne warstwy modelu ISO, czy też TCP/IP. W trakcie enkapsulacji pakietów pochodzących z warstwy sieciowej (L3) do nagłówka warstwy łącza danych wpisywany jest adres sprzętowy odbiorcy ramki. Jeśli pakiet jest wysyłany do komputera znajdującego się w sieci lokalnej, to w pole to wpisywany jest MAC-adres interfejsu komputera docelowego. Jeśli pakiet jest wysyłany do komputera znajdującego się w odległej lokalizacji, to w pole adresu sprzętowego ramki wpisywany jest MAC adres routera.
+
|valign="top"|Protokół ARP (ang. address resolution protocol) został zaprojektowany w celu odwzorowania adresów IP na adres sprzętowy. Z zasady działania sieci komputerowych, a właściwie ze stosu protokołów TCP/IP, ISO/OSI, wynika sposób enkapsulacji w ramach przechodzenia danych przez poszczególne warstwy modelu ISO/OSI, czy też TCP/IP. W trakcie enkapsulacji pakietów pochodzących z warstwy sieciowej (L3) do nagłówka warstwy łącza danych wpisywany jest adres sprzętowy odbiorcy ramki. Jeśli pakiet jest wysyłany do komputera znajdującego się w sieci lokalnej, to w pole to wpisywany jest MAC-adres interfejsu komputera docelowego. Jeśli pakiet jest wysyłany do komputera znajdującego się w odległej lokalizacji, to w pole adresu sprzętowego ramki wpisywany jest MAC adres routera.
 
O ile MAC adres nadawcy ramki jest znany, o tyle adres odbiorcy może być nieznany. Przed wysłaniem ramki pole przeznaczone na ten adres musi zostać uzupełnione.  
 
O ile MAC adres nadawcy ramki jest znany, o tyle adres odbiorcy może być nieznany. Przed wysłaniem ramki pole przeznaczone na ten adres musi zostać uzupełnione.  
  
Linia 77: Linia 77:
 
Poszczególne pola pakietu mają następujące znaczenie:
 
Poszczególne pola pakietu mają następujące znaczenie:
 
Typ sprzętu - 2B - określa typ interfejsu sieciowego stosowanego przez nadawcę. W przypadku interfejsu Internet wpisana jest tam wartość 1.  
 
Typ sprzętu - 2B - określa typ interfejsu sieciowego stosowanego przez nadawcę. W przypadku interfejsu Internet wpisana jest tam wartość 1.  
Typ protokołu - 2B - podaje typ protokołu, który wysłał żądanie  (odpowiedź). W przypadku protokołu IP wpisana jest tam wartość 0x0800.
+
Typ protokołu - 2B - podaje typ protokołu, który wysłał żądanie  (odpowiedź). W przypadku protokołu IP wpisana jest tam wartość 0x0800.
HLen - 1B - Długość adresu sprzętowego, w przypadku protokołu Ethernet 48 bitów.
+
HLen - 1B - Długość adresu sprzętowego, w przypadku protokołu Ethernet 48 bitów.
PLen - 1B - długość adresu protokołu warstwy sieciowej (L3), który został wyspecyfikowany w polu Typ protokołu. W przypadku IPv4 32 bity.
+
PLen - 1B - długość adresu protokołu warstwy sieciowej (L3), który został wyspecyfikowany w polu Typ protokołu. W przypadku IPv4 32 bity.
 
|}
 
|}
  
Linia 87: Linia 87:
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd10.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd10.png|thumb|500px]]
 
|valign="top"|Operacja  (Działanie) - 2B - identyfikuje czy jest to żądanie, czy też odpowiedź protokołu ARP lub RARP. Poszczególne wartości oznaczają: 1 - żądanie ARP, 2 - odpowiedź ARP, 3 - żądanie RARP, 4 - odpowiedź RARP
 
|valign="top"|Operacja  (Działanie) - 2B - identyfikuje czy jest to żądanie, czy też odpowiedź protokołu ARP lub RARP. Poszczególne wartości oznaczają: 1 - żądanie ARP, 2 - odpowiedź ARP, 3 - żądanie RARP, 4 - odpowiedź RARP
Adres sprzętowy nadawcy (ang. Sender hardwer address) - MAC adres urządzenia nadającego.
+
Adres sprzętowy nadawcy (ang. Sender hardwer address) - MAC adres urządzenia nadającego.
Adres protokołowy nadawcy - logiczny adres urządzenia nadającego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.  
+
Adres protokołowy nadawcy - logiczny adres urządzenia nadającego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.  
Adres sprzętowy odbiorcy - podaje MAC adres urządzenia docelowego, pod warunkiem, że jest znany przez nadawcę.
+
Adres sprzętowy odbiorcy - podaje MAC adres urządzenia docelowego, pod warunkiem, że jest znany przez nadawcę.
Adres protokołowy odbiorcy - logiczny adres urządzenia docelowego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.
+
Adres protokołowy odbiorcy - logiczny adres urządzenia docelowego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.
 
|}
 
|}
  
Linia 140: Linia 140:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd15.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd15.png|thumb|500px]]
|valign="top"|- Ciaddr - 4B - pole na adres IP klienta. Jeśli klient nie zna jeszcze swojego adresu, to w to pole wstawiana jest wartość 0. Jeżeli znany jest adres to znajduje się tam jego wartość.
+
|valign="top"|
  Yiaddr - 4B - przydzielony adres klienta. Pole adresu ustawiane przez serwer.
+
  Ciaddr - 4B - pole na adres IP klienta. Jeśli klient nie zna jeszcze swojego adresu, to w to pole wstawiana jest wartość 0. Jeżeli znany jest adres to znajduje się tam jego wartość.
  Siaddr - 4B - adres IP serwera, który jest używany w procesie uruchamiania
+
Yiaddr - 4B - przydzielony adres klienta. Pole adresu ustawiane przez serwer.
  Giaddr - 4B - adres IP bramy
+
  Siaddr - 4B - adres IP serwera, który jest używany w procesie uruchamiania.
 +
  Giaddr - 4B - adres IP bramy.
 
  Chaddr - 16B - adres sprzętowy klienta.
 
  Chaddr - 16B - adres sprzętowy klienta.
  Nazwa serwera - 64B - pole ustawiane przez serwer
+
  Nazwa serwera - 64B - pole ustawiane przez serwer.
 
  Nazwa pliku ładującego - 128B. Plik używany przy starcie.
 
  Nazwa pliku ładującego - 128B. Plik używany przy starcie.
 
  Dane specyficzne dla producenta.
 
  Dane specyficzne dla producenta.
Linia 161: Linia 162:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd17.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd17.png|thumb|500px]]
|valign="top"|Protokół  DHCP (ang. Dynamic Host Configuration Protocol) bazuje na BOOTP i jego jest ulepszoną wersją.  
+
|valign="top"|Protokół  DHCP (ang. Dynamic Host Configuration Protocol) bazuje na BOOTP i jest jego ulepszoną wersją.  
  
 
Standard tego protokołu został opublikowany w roku 1993 w dokumencie RFC 2131.
 
Standard tego protokołu został opublikowany w roku 1993 w dokumencie RFC 2131.
Linia 181: Linia 182:
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd19.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd19.png|thumb|500px]]
 
|valign="top"|Serwer DHCP może przydzielać adresy IP na trzy różne sposoby:  
 
|valign="top"|Serwer DHCP może przydzielać adresy IP na trzy różne sposoby:  
 
 
Alokacja ręczna – adres IP dla klienta jest przydzielany przez administratora. Protokół DHCP przesyła adres do klienta.  
 
Alokacja ręczna – adres IP dla klienta jest przydzielany przez administratora. Protokół DHCP przesyła adres do klienta.  
 
Alokacja automatyczna – protokół DHCP przypisuje klientowi stały adres IP.  
 
Alokacja automatyczna – protokół DHCP przypisuje klientowi stały adres IP.  
Linia 194: Linia 194:
 
DHCP Offer - oferta DHCP
 
DHCP Offer - oferta DHCP
 
DHCP Request - żądanie DHCP
 
DHCP Request - żądanie DHCP
DHCP Acknowledge
+
DHCP Acknowledge - odpowiedź na żądanie
 
|}
 
|}
  
Linia 212: Linia 212:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd22.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd22.png|thumb|500px]]
|valign="top"|5) Serwer potwierdza otrzymanie żądania wysyłając komunikat pozytywnego potwierdzenia (DHCPACK). Komunikat ten zawiera informacje na temat dzierżawy oraz informacje konfiguracyjne.
+
|valign="top"| Serwer potwierdza otrzymanie żądania wysyłając komunikat pozytywnego potwierdzenia (DHCPACK). Komunikat ten zawiera informacje na temat dzierżawy oraz informacje konfiguracyjne.
6)  Klient po otrzymaniu potwierdzenia wchodzi w stan powiązania. W stanie tym klient ma przypisany adres IP danej sieci. Klient ma przypisane trzy liczniki czasu dla informacji o dzierżawie (wygaśnięcie, odnowienie, ponowne nawiązanie dzierżawy)
+
Klient po otrzymaniu potwierdzenia wchodzi w stan powiązania. W stanie tym klient ma przypisany adres IP danej sieci. Klient ma przypisane trzy liczniki czasu dla informacji o dzierżawie (wygaśnięcie, odnowienie, ponowne nawiązanie dzierżawy)
7) Klient ma ustawione parametry dzierżawy i w  zależności od tych parametrów po upływie 50% czasu dzierżawy lub też dopiero po upłynięciu dzierżawy próbuje odnowić dzierżawę. Wysyła w tym celu do serwera udzielającego dzierżawy adresu IP komunikat DHCPREGUEST. Możliwe jest też zwolnienie adresu IP przed czasem. Klient wysyła wtedy komunikat DHCPRELEASE.  
+
Klient ma ustawione parametry dzierżawy i w  zależności od tych parametrów po upływie 50% czasu dzierżawy lub też dopiero po upłynięciu dzierżawy próbuje odnowić dzierżawę. Wysyła w tym celu do serwera udzielającego dzierżawy adresu IP komunikat DHCPREQUEST. Możliwe jest też zwolnienie adresu IP przed czasem. Klient wysyła wtedy komunikat DHCPRELEASE.  
 
|}
 
|}
  
Linia 221: Linia 221:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd23.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd23.png|thumb|500px]]
|valign="top"|8) Klient po wysłaniu żądania do serwera wchodzi w stan odnowienia w oczekiwaniu na odpowiedź serwera.  Serwer przyjmując żądanie może przyjąć to żądanie - wysyła wtedy komunikat DHCPACK. Jeśli serwer odrzuci żądanie przedłużenia dzierżawy, to wysyła komunikat DHCPNACK. Po odrzuceniu żądania klient przechodzi do stanu inicjacji (zwalani również adres).
+
|valign="top"|Klient po wysłaniu żądania do serwera wchodzi w stan odnowienia w oczekiwaniu na odpowiedź serwera.  Serwer przyjmując żądanie może przyjąć to żądanie - wysyła wtedy komunikat DHCPACK. Jeśli serwer odrzuci żądanie przedłużenia dzierżawy, to wysyła komunikat DHCPNACK. Po odrzuceniu żądania klient przechodzi do stanu inicjacji (zwalnia również adres IP).
9) Jeśli klient nie otrzyma od serwera odpowiedzi w określonym czasie, to przechodzi do rozgłaszania komunikatu DHCPREQUEST do wszystkich serwerów DHCP.
+
Jeśli klient nie otrzyma od serwera odpowiedzi w określonym czasie, to przechodzi do rozgłaszania komunikatu DHCPREQUEST do wszystkich serwerów DHCP.
10 ) Jeśli klient otrzyma pozytywną odpowiedź to przechodzi do stanu powiązania.
+
Jeśli klient otrzyma pozytywną odpowiedź to przechodzi do stanu powiązania.
 
|}
 
|}
  
Linia 232: Linia 232:
 
|valign="top"|Na slajdzie została przedstawiona sekwencja wymiany komunikatów DHCP pomiędzy klientem a serwerem:
 
|valign="top"|Na slajdzie została przedstawiona sekwencja wymiany komunikatów DHCP pomiędzy klientem a serwerem:
 
Klient wysyła komunikat DHCPDISCOVER
 
Klient wysyła komunikat DHCPDISCOVER
  Serwer( y) odpowiadają komunikatem DHCPOFFER
+
  Serwer(y) odpowiadają komunikatem DHCPOFFER
 
  Klient po wybraniu oferty wysyła komunikat DHCPREQUEST
 
  Klient po wybraniu oferty wysyła komunikat DHCPREQUEST
 
  Serwer potwierdza wysyłając komunikat DHCPACK
 
  Serwer potwierdza wysyłając komunikat DHCPACK
Linia 243: Linia 243:
 
|valign="top"|Format pakietu DHCP jest prawie identyczny z formatem pakietu BOOTP.
 
|valign="top"|Format pakietu DHCP jest prawie identyczny z formatem pakietu BOOTP.
 
Różnica występuje tylko na dwóch polach:  
 
Różnica występuje tylko na dwóch polach:  
Pole Flagi —  2B - jest odpowiednikiem nie używanego pola w pakiecie BOOTP, w którym wszystkie bity pola maja wartość 0. W pakiecie DHCP najstarszy bit tego pola  ma wartość 1, zaś wszystkie pozostałe mają wartość 0. Wartość najbardziej znaczącego bitu oznacza komunikat rozgłoszeniowy. Klient DHCP może zażądać od serwera DHCP wysłania odpowiedzi przy pomocy komunikatu rozgłoszeniowego IP.
+
Pole Flagi —  2B - jest odpowiednikiem nie używanego pola w pakiecie BOOTP, w którym wszystkie bity pola mają wartość 0. W pakiecie DHCP najstarszy bit tego pola  ma wartość 1, zaś wszystkie pozostałe mają wartość 0. Wartość najbardziej znaczącego bitu oznacza komunikat rozgłoszeniowy. Klient DHCP może zażądać od serwera DHCP wysłania odpowiedzi przy pomocy komunikatu rozgłoszeniowego IP.
 
Pole Opcje — 64B jest odpowiednikiem pola Dane producenta w komunikatach BOOTP. Pole to zawiera dodatkowe dane konfiguracyjne, takie jak: okres dzierżawy, maska podsieci dla lokalnej sieci, adres IP serwera czasu, adres IP serwera domeny oraz rozmiar pliku inicjującego.  
 
Pole Opcje — 64B jest odpowiednikiem pola Dane producenta w komunikatach BOOTP. Pole to zawiera dodatkowe dane konfiguracyjne, takie jak: okres dzierżawy, maska podsieci dla lokalnej sieci, adres IP serwera czasu, adres IP serwera domeny oraz rozmiar pliku inicjującego.  
  
Linia 255: Linia 255:
 
|valign="top"|Wypełnienie (kod opcji 0) — dopełnia poniższe pola do granic pełnych słów.  
 
|valign="top"|Wypełnienie (kod opcji 0) — dopełnia poniższe pola do granic pełnych słów.  
 
Maska podsieci (kod opcji 1) — przedstawia maskę podsieci dla danej podsieci fizycznej.
 
Maska podsieci (kod opcji 1) — przedstawia maskę podsieci dla danej podsieci fizycznej.
Przesuniecie czasu (kod opcji 2) — oznacza czas UCT (Universal Coordinated Time) w sekundach.
+
Przesunięcie czasu (kod opcji 2) — oznacza czas UCT (Universal Coordinated Time) w sekundach.
 
Router (kod opcji 3) — wymienia adresy IP wszystkich routerów dostępnych w podsieci.
 
Router (kod opcji 3) — wymienia adresy IP wszystkich routerów dostępnych w podsieci.
 
Serwery czasu (kod opcji 4) — wymienia adresy IP wszystkich serwerów czasu dostępnych dla klienta.
 
Serwery czasu (kod opcji 4) — wymienia adresy IP wszystkich serwerów czasu dostępnych dla klienta.
Linia 275: Linia 275:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd28.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd28.png|thumb|500px]]
|valign="top"|Serwery LPR (kod opcji 9) — wymienia adresy IP wszystkich serwerów drukarek wierszowych (Line PRinter) dostępnych dla klienta.
+
|valign="top"|Serwery Impress (kod opcji 10) — wymienia adresy IP wszystkich serwerów Imagen Impress dostępnych dla klienta.
Serwery Impress (kod opcji 10) — wymienia adresy IP wszystkich serwerów Imagen Impress dostępnych dla klienta.
 
 
Serwery lokalizacji zasobów (kod opcji 11) — wymienia adresy IP wszystkich serwerów lokalizacji zasobów dostępnych dla klienta.
 
Serwery lokalizacji zasobów (kod opcji 11) — wymienia adresy IP wszystkich serwerów lokalizacji zasobów dostępnych dla klienta.
 
Nazwa hosta (kod opcji 12) — przedstawia nazwę klienta, która może mieć długość do 63 bajtów.
 
Nazwa hosta (kod opcji 12) — przedstawia nazwę klienta, która może mieć długość do 63 bajtów.
Linia 286: Linia 285:
 
{| border="0" cellpadding="4" width="100%"
 
{| border="0" cellpadding="4" width="100%"
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd29.png|thumb|500px]]
 
|valign="top" width="500px"|[[Grafika:SK_M7_Slajd29.png|thumb|500px]]
|valign="top"|Plik zrzutu zawartości (kod opcji 14) — przedstawia ścieżkę do pliku, do którego powinien zostać zrzucony obraz pamięci klienta w przypadku jego załamania. Ten plik jest używany w sytuacjach, gdy domyślny plik inicjujący klienta staje się niedostępny z uwagi na awarie serwera.
+
|valign="top"|Plik zrzutu zawartości (kod opcji 14) — przedstawia ścieżkę do pliku, do którego powinien zostać zrzucony obraz pamięci klienta w przypadku jego załamania. Ten plik jest używany w sytuacjach, gdy domyślny plik inicjujący klienta staje się niedostępny z uwagi na awarię serwera.
 
Nazwa domeny (kod opcji 15) — przedstawia nazwę domeny DNS, która powinna być użyta przez klienta do rozwiązania nazwy DNS hosta.
 
Nazwa domeny (kod opcji 15) — przedstawia nazwę domeny DNS, która powinna być użyta przez klienta do rozwiązania nazwy DNS hosta.
 
Serwer wymiany (kod opcji 16) — przedstawia adres IP serwera wymiany dostępnego dla klienta.
 
Serwer wymiany (kod opcji 16) — przedstawia adres IP serwera wymiany dostępnego dla klienta.
Linia 301: Linia 300:
 
2. Brama przekazująca przechwytuje żądanie i rozpoznaje podsieć, do której zadanie trzeba przesłać.
 
2. Brama przekazująca przechwytuje żądanie i rozpoznaje podsieć, do której zadanie trzeba przesłać.
 
3. W docelowej podsieci jeden lub kilka serwerów DHCP odbierze rozgłoszenie i może odpowiedzieć klientowi, przekazując parametry konfiguracyjne (w tym podając dostępny adres IP).
 
3. W docelowej podsieci jeden lub kilka serwerów DHCP odbierze rozgłoszenie i może odpowiedzieć klientowi, przekazując parametry konfiguracyjne (w tym podając dostępny adres IP).
4. Brama przekazująca DHCP/BOOTP przesyła odpowiedzi do klienta, który wybiera jedną z nich. Następnie klient wysyła komunikat żądania do odpowiedniego serwera i otrzymuje dzierżawę, która ponownie zostaje przekazana przez bramę.
+
4. Brama przekazująca DHCP/BOOTP przesyła odpowiedzi do klienta, który wybiera jedną z nich. Następnie klient wysyła komunikat żądania od odpowiedniego serwera i otrzymuje dzierżawę, która ponownie zostaje przekazana przez bramę.
 
|}
 
|}
  
Linia 310: Linia 309:
 
|valign="top"|W module tym zostały opisane metody uzyskiwania adresu IP.
 
|valign="top"|W module tym zostały opisane metody uzyskiwania adresu IP.
 
Metoda statyczna wymaga kontaktu użytkownika z administratorem w celu uzyskania parametrów do pliku konfiguracyjnego.  
 
Metoda statyczna wymaga kontaktu użytkownika z administratorem w celu uzyskania parametrów do pliku konfiguracyjnego.  
 
 
Metody automatycznego pozyskiwania adresu takie jak RARP, BOOTP, czy DHCP mogą to zadanie ułatwić. Obecnie najszerzej jest stosowana metoda DHCP. Wraz z wprowadzaniem IPv6 będzie również stosowany protokół DHCPv6
 
Metody automatycznego pozyskiwania adresu takie jak RARP, BOOTP, czy DHCP mogą to zadanie ułatwić. Obecnie najszerzej jest stosowana metoda DHCP. Wraz z wprowadzaniem IPv6 będzie również stosowany protokół DHCPv6
 
|}
 
|}
  
 
<hr width="100%">
 
<hr width="100%">

Wersja z 20:59, 18 gru 2006

SK M7 Slajd1 pop.png

SK M7 Slajd2.png
W module tym zostaną przedstawione informacje dotyczące sposobów uzyskiwania adresów IP poprzez stacje klienckie. Zostaną też omówione podstawowe protokoły do automatycznego uzyskiwania adresów.

SK M7 Slajd3.png
Jednym z zagadnień bezpośrednio dotyczących użytkowników sieci lokalnych jest uzyskiwanie przez ich hosty adresów IP. W zależności od stopnia złożoności sieci adresy takie mogą być przydzielane w sposób statyczny lub dynamiczny.

Sposób statyczny polega na przydzieleniu przez administratora sieci komputerowej stałego adresu dla konkretnego interfejsu. Adres taki musi potem zostać przypisany do konkretnego interfejsu przez użytkownika danej stacji roboczej. Takie podejście wymaga od administratora, jak i użytkownika wzajemnej komunikacji. Wymaga też bezwzględnego przestrzegania zasad określonych dla poprawnych adresów IP.

Lepszym rozwiązaniem jest przydzielanie adresów IP w sposób dynamiczny. Wśród wielu protokołów, które są do tego celu używane można wyróżnić: ARP/RARP BOOTP DHCP Protokoły te zostaną omówione dokładniej na następnych slajdach.


SK M7 Slajd4.png
Protokół ARP (ang. address resolution protocol) został zaprojektowany w celu odwzorowania adresów IP na adres sprzętowy. Z zasady działania sieci komputerowych, a właściwie ze stosu protokołów TCP/IP, ISO/OSI, wynika sposób enkapsulacji w ramach przechodzenia danych przez poszczególne warstwy modelu ISO/OSI, czy też TCP/IP. W trakcie enkapsulacji pakietów pochodzących z warstwy sieciowej (L3) do nagłówka warstwy łącza danych wpisywany jest adres sprzętowy odbiorcy ramki. Jeśli pakiet jest wysyłany do komputera znajdującego się w sieci lokalnej, to w pole to wpisywany jest MAC-adres interfejsu komputera docelowego. Jeśli pakiet jest wysyłany do komputera znajdującego się w odległej lokalizacji, to w pole adresu sprzętowego ramki wpisywany jest MAC adres routera.

O ile MAC adres nadawcy ramki jest znany, o tyle adres odbiorcy może być nieznany. Przed wysłaniem ramki pole przeznaczone na ten adres musi zostać uzupełnione.

Zadaniem protokołu ARP jest zatem odwzorowanie 32 bitowego adresu IP (w IPv4) w 48 bitowy adres sprzętowy.


SK M7 Slajd5.png
Załóżmy, że komputer X chce przesłać dane do komputera Y.

Adresy sprzętowy przechowywany jest w tablicy ARP, która jest swego rodzaju pamięcią podręczną. Przed wysłaniem ramki host sprawdza tablicę ARP, czy znajduje się już tam adres hosta docelowego. Jeśli jest już tam ten adres wpisany, to ramka jest wysyłana.

Natomiast jeśli nie ma tam wpisanego MAC adresu to komputer X wysyła żądanie przesłania MAC adresu komputera Y, na adres rozgłoszeniowy 255.255.255.255. Pakiet taki zostanie odebrany przez wszystkie komputery w sieci. Komputer Y, którego adres IP został przypisany do poszukiwanego MAC adresu odpowie poprzez wysłanie swojego adresu sprzętowego. Adres ten zostanie wpisany w tablicę ARP hosta X, który wysyłał żądanie ARP. Dla zmniejszenia nakładów potrzebnych do ustalenia MAC adresu komputera X, który żądał przesłania adresu również komputer Y, który odpowiedział wysyłając swój adres sprzętowy zapisuje sobie adres fizyczny komputera X.


SK M7 Slajd6.png
W ten sposób w przypadku potrzeby późniejszego wysyłania pakietów do tego samego hosta, komputer wysyłający ma już w pamięci podręcznej wpisany ten adres.

Gdyby za każdym razem, każdy komputer wysyłał taki żądanie na adres rozgłoszeniowy, to nastąpiłoby znaczne obciążenie sieci. Z tego względu algorytm ten ma kilka udoskonaleń. Jednocześnie z przesłaniem żądania ARP wszystkie komputery, które to żądanie otrzymały zapisują sobie MAC adres nadawcy takiego żądania (komputera X) do tablicy ARP oraz odpowiedź komputera Y. Zwykle pierwsze zapytanie ARP jest wysyłane tuż po uruchomieniu komputera. Gdy poszukiwanego komputera nie ma w sieci lokalnej na zapytanie odpowiada router podając MAC adres swojego interfejsu.


SK M7 Slajd7.png
Na slajdzie został pokazany zrzut z ekranu uzyskany po wywołaniu programu arp dla stacji roboczej działającej pod system operacyjnym UNIX. Jak widać na załączonym listingu w pamięci podręcznej przechowywane są dane dotyczące interfejsu adresu IP. Najważniejsze z nich to informacje o adresie IP (w przykładzie jest podany jego symboliczny odpowiednik) oraz odpowiadającym mu adresie sprzętowym.

SK M7 Slajd8.png
Protokół ARP służył do znalezienia adresu sprzętowego dla hosta o znanym numerze IP. W hostach starszej generacji (ale również obecnie), w maszynach bezdyskowych istniał problem braku adresu IP maszyny po restarcie. Większość maszyn ma zwykle zapisany na dysku swój adres IP. Ze względu na brak takiej możliwości w urządzeniach bezdyskowych należało jakoś ten adres uzyskać z odpowiedniego serwera. Zadaniem takim był obarczony protokół wstecznego rozwiązywania adresów RARP (ang. Reverse Address Resolution Protocol). Protokół ten pozwala również zapytywać nie tylko o adres IP danej stacji wysyłającej to żądanie, ale również inne hosty. Na zapytania bezdyskowych stacji roboczych odpowiada dedykowany serwer RARP.

SK M7 Slajd9.png
Protokoły ARP i RARP mają taki sam format pakietu. Różnią się tylko wartościami wpisów w poszczególne pola.

Poszczególne pola pakietu mają następujące znaczenie: Typ sprzętu - 2B - określa typ interfejsu sieciowego stosowanego przez nadawcę. W przypadku interfejsu Internet wpisana jest tam wartość 1. Typ protokołu - 2B - podaje typ protokołu, który wysłał żądanie (odpowiedź). W przypadku protokołu IP wpisana jest tam wartość 0x0800. HLen - 1B - Długość adresu sprzętowego, w przypadku protokołu Ethernet 48 bitów. PLen - 1B - długość adresu protokołu warstwy sieciowej (L3), który został wyspecyfikowany w polu Typ protokołu. W przypadku IPv4 32 bity.


SK M7 Slajd10.png
Operacja (Działanie) - 2B - identyfikuje czy jest to żądanie, czy też odpowiedź protokołu ARP lub RARP. Poszczególne wartości oznaczają: 1 - żądanie ARP, 2 - odpowiedź ARP, 3 - żądanie RARP, 4 - odpowiedź RARP

Adres sprzętowy nadawcy (ang. Sender hardwer address) - MAC adres urządzenia nadającego. Adres protokołowy nadawcy - logiczny adres urządzenia nadającego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu. Adres sprzętowy odbiorcy - podaje MAC adres urządzenia docelowego, pod warunkiem, że jest znany przez nadawcę. Adres protokołowy odbiorcy - logiczny adres urządzenia docelowego w protokole warstwy sieciowej (L3), wskazanym w polu Typ protokołu.


SK M7 Slajd11.png
W trakcie wymiany komunikatów pomiędzy urządzeniami następuje wypełnianie brakujących pól: adresu sprzętowego lub adresu logicznego w zależności od typu protokołu. Adresy nadawcy zamieniane są z adresem odbiorcy. Zmieniane jest również pole Operacja i wstawiana jest tam wartość identyfikująca odpowiedź.

W przypadku wysyłania pakietu ARP na adres rozgłoszeniowy w pole adresu sprzętowego wpisywana jest wartość sprzętowego adresu rozgłoszeniowego. W przypadku protokołu Ethernet jest to wartość MAC FF:FF:FF:FF:FF:FF.


SK M7 Slajd12.png
Protokół RARP posiada niestety kilka istotnych niedociągnięć, które wyeliminowały go z powszechnego użycia. Istotnym ograniczeniem jest brak możliwości przesyłania innych parametrów sieci, np. natmaski. W związku z tym stał się bezużyteczny w sieciach o adresacji bezklasowej.

Innym bardzo uciążliwym mankamentem jest identyfikowanie hosta tylko po MAC adresie. Zatem jest bezużyteczny w sieciach, w których adresy sprzętowe są przydzielane w sposób dynamiczny.

Protokół ten ma obecnie marginalne znaczenie również ze względu na fakt, że nie zwraca wielu innych, bardzo potrzebnych informacji o sieci. Rozwinięciem tego protokołu są BOOTP oraz DHCP, które zastąpiły RARP.


SK M7 Slajd13.png
Innym protokołem, który umożliwia dynamiczne przydzielenie adresów jest protokół BOOTP (ang. Bootstrap Protocol). Protokół ten był zaprojektowany w celu zastąpienia protokołu RARP, ze względu na istotne braki tego ostatniego. M.in. protokół BOOTP może być używany w sieciach, w których adresy sprzętowe są przydzielane w sposób dynamiczny, choć tutaj również ten protokół nie spisuje się najlepiej.

Protokół BOOTP używa w warstwie transportowej do komunikacji protokołu UDP.


SK M7 Slajd14.png
Pakiet protokołu BOOTP zawiera 15 pól. Długość tych pól nie ulega zmianie. Ułatwia to znacznie kwestie związane z implementacją protokołu. Format pakietu protokołu BOOTP został przedstawiony na rysunku. Znaczenie poszczególnych pól jest następujące:

Op - 1B - typ wiadomości, która będzie przesyłana. Może być to żądanie przesłania pakietu BOOTP (BOOTREQEST) lub odpowiedź na takie żądanie (BOOTREPLY).

HType - 1B - typ adresu sprzętowego. 
HLen - 1B - długość adresu sprzętowego. 
Hops - określa liczbę serwerów, przez które komunikat był już przesyłany. Na początku klient ustawia wartość tego pola na 0. W czasie przesyłania tego komunikatu do kolejnych serwerów liczba ta (Hops) jest zwiększana o 1.
XID - 4B - generowana losowo liczba  całkowita, używana do identyfikacji żądania wysłanego przez klienta z odpowiedzią na to żądanie
Sekundy - 2B - pole przechowujące czas wyrażony w sekundach od uruchomienia klienta.
Nie używane - 2B - pole nie używane 

SK M7 Slajd15.png
Ciaddr - 4B - pole na adres IP klienta. Jeśli klient nie zna jeszcze swojego adresu, to w to pole wstawiana jest wartość 0. Jeżeli znany jest adres to znajduje się tam jego wartość.
Yiaddr - 4B - przydzielony adres klienta. Pole adresu ustawiane przez serwer.
Siaddr - 4B - adres IP serwera, który jest używany w procesie uruchamiania.
Giaddr - 4B - adres IP bramy.
Chaddr - 16B - adres sprzętowy klienta.
Nazwa serwera - 64B - pole ustawiane przez serwer.
Nazwa pliku ładującego - 128B. Plik używany przy starcie.
Dane specyficzne dla producenta.

SK M7 Slajd16.png
Protokół ten nie został zaprojektowany do dynamicznego przydzielania adresów. W związku z tym administrator musi stworzyć plik konfiguracyjny dla każdego urządzenia. Plik ten zawiera odpowiednie parametry sieci. Administrator musi dodawać do niego w sposób ręczny hosty oraz zarządzać bazą danych protokołu BOOTP. Relacja pomiędzy liczbą adresów a liczbą hostów jest jak 1:1. Innymi słowy każdy z hostów, któremu będzie przydzielany adres IP musi mieć profil BOOTP z przypisanym dla niego adresem IP. Każdy z profili musi mieć różne adresy IP, żeby uniknąć przypisania jednocześnie dwóm różnym hostom takich samych adresów logicznych.

SK M7 Slajd17.png
Protokół DHCP (ang. Dynamic Host Configuration Protocol) bazuje na BOOTP i jest jego ulepszoną wersją.

Standard tego protokołu został opublikowany w roku 1993 w dokumencie RFC 2131.

Do współpracy z nowszą wersją protokołu IPv6 został opracowany protokół DHCPv6. Standard tego protokołu został opublikowany w dokumencie RFC 3315

Oprócz dostarczania adresu IP protokół DHCP został zaprojektowany również do przekazywania innych cennych parametrów konfiguracyjnych. Te dodatkowe funkcjonalności zostały opisane w dokumencie RFC 2132.


SK M7 Slajd18.png
Tabela przedstawia porównanie cech protokołów DHCP i BOOTP.

SK M7 Slajd19.png
Serwer DHCP może przydzielać adresy IP na trzy różne sposoby:

Alokacja ręczna – adres IP dla klienta jest przydzielany przez administratora. Protokół DHCP przesyła adres do klienta. Alokacja automatyczna – protokół DHCP przypisuje klientowi stały adres IP. Alokacja dynamiczna – protokół DHCP dzierżawi klientowi adres IP na pewien ograniczony odcinek czasu.


SK M7 Slajd20.png
DHCP DISCOVER - poszukiwanie serwera DHCP

DHCP Offer - oferta DHCP DHCP Request - żądanie DHCP DHCP Acknowledge - odpowiedź na żądanie


SK M7 Slajd21.png
Działanie protokołu DHCP składa się z kilku faz:

Po uruchomieniu stacji klienckiej rozpoczyna się faza inicjacji. Klient rozgłasza w sieci komunikat poszukiwania serwera DHCP (DHCPDISCOVER). Jeśli serwer DHCP znajduje się w innej sieci, to musi być zapewnione przesyłanie tego komunikatu przez router.

Serwery, które otrzymały komunikat DHCPDISCOVER i mogą przydzielić adres IP wysyłają komunikat oferty DHCPOFFER. W komunikacie tym zawarte są: adres IP i dane konfiguracyjne.
Klient może otrzymać odpowiedzi od różnych serwerów musi zatem wybrać jedną z tych ofert.
Po wybraniu oferty, klient wysyła do wybranego serwera komunikat żądania (DHCPREQUEST)  prosząc o dane konfiguracyjne.

SK M7 Slajd22.png
Serwer potwierdza otrzymanie żądania wysyłając komunikat pozytywnego potwierdzenia (DHCPACK). Komunikat ten zawiera informacje na temat dzierżawy oraz informacje konfiguracyjne.

Klient po otrzymaniu potwierdzenia wchodzi w stan powiązania. W stanie tym klient ma przypisany adres IP danej sieci. Klient ma przypisane trzy liczniki czasu dla informacji o dzierżawie (wygaśnięcie, odnowienie, ponowne nawiązanie dzierżawy) Klient ma ustawione parametry dzierżawy i w zależności od tych parametrów po upływie 50% czasu dzierżawy lub też dopiero po upłynięciu dzierżawy próbuje odnowić dzierżawę. Wysyła w tym celu do serwera udzielającego dzierżawy adresu IP komunikat DHCPREQUEST. Możliwe jest też zwolnienie adresu IP przed czasem. Klient wysyła wtedy komunikat DHCPRELEASE.


SK M7 Slajd23.png
Klient po wysłaniu żądania do serwera wchodzi w stan odnowienia w oczekiwaniu na odpowiedź serwera. Serwer przyjmując żądanie może przyjąć to żądanie - wysyła wtedy komunikat DHCPACK. Jeśli serwer odrzuci żądanie przedłużenia dzierżawy, to wysyła komunikat DHCPNACK. Po odrzuceniu żądania klient przechodzi do stanu inicjacji (zwalnia również adres IP).

Jeśli klient nie otrzyma od serwera odpowiedzi w określonym czasie, to przechodzi do rozgłaszania komunikatu DHCPREQUEST do wszystkich serwerów DHCP. Jeśli klient otrzyma pozytywną odpowiedź to przechodzi do stanu powiązania.


SK M7 Slajd24.png
Na slajdzie została przedstawiona sekwencja wymiany komunikatów DHCP pomiędzy klientem a serwerem:

Klient wysyła komunikat DHCPDISCOVER

Serwer(y) odpowiadają komunikatem DHCPOFFER
Klient po wybraniu oferty wysyła komunikat DHCPREQUEST
Serwer potwierdza wysyłając komunikat DHCPACK

SK M7 Slajd25.png
Format pakietu DHCP jest prawie identyczny z formatem pakietu BOOTP.

Różnica występuje tylko na dwóch polach: Pole Flagi — 2B - jest odpowiednikiem nie używanego pola w pakiecie BOOTP, w którym wszystkie bity pola mają wartość 0. W pakiecie DHCP najstarszy bit tego pola ma wartość 1, zaś wszystkie pozostałe mają wartość 0. Wartość najbardziej znaczącego bitu oznacza komunikat rozgłoszeniowy. Klient DHCP może zażądać od serwera DHCP wysłania odpowiedzi przy pomocy komunikatu rozgłoszeniowego IP. Pole Opcje — 64B jest odpowiednikiem pola Dane producenta w komunikatach BOOTP. Pole to zawiera dodatkowe dane konfiguracyjne, takie jak: okres dzierżawy, maska podsieci dla lokalnej sieci, adres IP serwera czasu, adres IP serwera domeny oraz rozmiar pliku inicjującego.

Pozostałe pola mają takie samo znaczenie jak w BOOTP


SK M7 Slajd26.png
Wypełnienie (kod opcji 0) — dopełnia poniższe pola do granic pełnych słów.

Maska podsieci (kod opcji 1) — przedstawia maskę podsieci dla danej podsieci fizycznej. Przesunięcie czasu (kod opcji 2) — oznacza czas UCT (Universal Coordinated Time) w sekundach. Router (kod opcji 3) — wymienia adresy IP wszystkich routerów dostępnych w podsieci. Serwery czasu (kod opcji 4) — wymienia adresy IP wszystkich serwerów czasu dostępnych dla klienta.


SK M7 Slajd27.png
Serwery nazw (kod opcji 5) — wymienia adresy IP wszystkich serwerów nazw dostępnych dla klienta.

Serwery DNS (kod opcji 6) — wymienia adresy IP wszystkich serwerów DNS dostępnych dla klienta. Serwery dziennika (kod opcji 7) — wymienia adresy IP wszystkich serwerów dziennika dostępnych dla klienta. Serwery cookie (kod opcji 8) — wymienia adresy IP wszystkich serwerów cookie dostępnych dla klienta. Serwery LPR (kod opcji 9) — wymienia adresy IP wszystkich serwerów drukarek wierszowych (Line PRinter) dostępnych dla klienta.


SK M7 Slajd28.png
Serwery Impress (kod opcji 10) — wymienia adresy IP wszystkich serwerów Imagen Impress dostępnych dla klienta.

Serwery lokalizacji zasobów (kod opcji 11) — wymienia adresy IP wszystkich serwerów lokalizacji zasobów dostępnych dla klienta. Nazwa hosta (kod opcji 12) — przedstawia nazwę klienta, która może mieć długość do 63 bajtów. Rozmiar pliku inicjującego (kod opcji 13) — przedstawia rozmiar domyślnego pliku inicjującego klienta.


SK M7 Slajd29.png
Plik zrzutu zawartości (kod opcji 14) — przedstawia ścieżkę do pliku, do którego powinien zostać zrzucony obraz pamięci klienta w przypadku jego załamania. Ten plik jest używany w sytuacjach, gdy domyślny plik inicjujący klienta staje się niedostępny z uwagi na awarię serwera.

Nazwa domeny (kod opcji 15) — przedstawia nazwę domeny DNS, która powinna być użyta przez klienta do rozwiązania nazwy DNS hosta. Serwer wymiany (kod opcji 16) — przedstawia adres IP serwera wymiany dostępnego dla klienta. Główna ścieżka dostępu (kod opcji 17) — przedstawia ścieżkę do dysku systemowego klienta. Ścieżka do rozszerzeń (kod opcji 18) — oznacza plik zawierający informacje, podobnie jak pole danych producenta w komunikacie odpowiedzi BOOTP. Plik można pobrać za pomocą TFTP.


SK M7 Slajd30.png
Częstym przypadkiem jest stawianie serwerów DHCP w jednej z podsieci. Komputery, które chcą uzyskać pakiet z serwera DHCP muszą skorzystać z routera pośredniczącego (bramy). Uzyskanie parametrów konfiguracyjnych odbywa się w następujących fazach:

1. Klient DHCP wysyła przez port 68 TCP żądanie parametrów konfiguracyjnych. 2. Brama przekazująca przechwytuje żądanie i rozpoznaje podsieć, do której zadanie trzeba przesłać. 3. W docelowej podsieci jeden lub kilka serwerów DHCP odbierze rozgłoszenie i może odpowiedzieć klientowi, przekazując parametry konfiguracyjne (w tym podając dostępny adres IP). 4. Brama przekazująca DHCP/BOOTP przesyła odpowiedzi do klienta, który wybiera jedną z nich. Następnie klient wysyła komunikat żądania od odpowiedniego serwera i otrzymuje dzierżawę, która ponownie zostaje przekazana przez bramę.


SK M7 Slajd31.png
W module tym zostały opisane metody uzyskiwania adresu IP.

Metoda statyczna wymaga kontaktu użytkownika z administratorem w celu uzyskania parametrów do pliku konfiguracyjnego. Metody automatycznego pozyskiwania adresu takie jak RARP, BOOTP, czy DHCP mogą to zadanie ułatwić. Obecnie najszerzej jest stosowana metoda DHCP. Wraz z wprowadzaniem IPv6 będzie również stosowany protokół DHCPv6