wyklad 13

Transkrypt

wyklad 13
Sieci komputerowe
Inicjowanie działania
i autokonfiguracja
wykład 13
protokoły BOOTP i DHCP
rok ak. 2004/2005
Agata Półrola
Katedra Informatyki Stosowanej UŁ
[email protected]
http://www.math.uni.lodz.pl/~polrola
Zapotrzebowanie
Rozwi zanie:
Ka dy komputer doł czony do sieci
TCP/IP musi zna swój adres IP aby móc
wysyła i odbiera datagramy;
Uzyskanie potrzebnych informacji mo e
nast pi w drodze interakcji klient – serwer
Potrzebny jest zatem protokół
umo liwiaj cy komputerowi uzyskanie
adresu IP (i ewentualnie innych
potrzebnych informacji) od wiadcz cego
odpowiedni usług serwera
do poprawnej
komunikacji potrzebuje
równie : maski podsieci, adresu routera,
adresu serwera DNS
W niektórych przypadkach informacje te
nie s pami tane przez komputer (przykład:
stacje bezdyskowe)
Rozwi zanie I: protokół RARP
Rozwi zanie II: protokół BOOTP
Pierwsze rozwi
zanie tego rodzaju to
(omówiony ju ) protokół RARP
Protokół BOOTP (Bootstrap Protocol)
został opracowany jako alternatywa dla
RARP
Klient i serwer komunikuj si u ywaj c
protokołu UDP (i IP), zatem
oprogramowanie obsługuj ce t
e by zaimplementowane
komunikacj mo
jako program u ytkowy
Wady:
działa na niskim poziomie, u ywanie go wymaga
bezpo redniego dost pu do sprz tu sieciowego
odpowied RARP zawiera mało informacji (tylko
adres IP którego ma u ywa klient)
u ywa do identyfikacji klienta adresu
sprz towego, co mo e by problemem w sieciach,
w których adresy sprz towe nie s stałe
Protokół BOOTP – c.d.
Komputer – klient BOOTP wysyła swoj
pro b u ywaj c adresu ograniczonego
rozgłaszania (255.255.255.255)
bezpo rednia komunikacja ograniczona jest zatem
do sieci lokalnej
Serwer odsyła odpowied klientowi
u ywaj c adresu ograniczonego rozgłaszania
albo
wykorzystuj c adresu sprz towy klienta
otrzymany w zapytaniu BOOTP
nie jest potrzebne dostosowywanie oprogramowania
do specyfiki konkretnej sieci (rozwi za sprz towych)
Protokół BOOTP – c.d.
Poniewa komunikacja bazuje na UDP, wi c nie
ma gwarancji dostarczenia komunikatów
Odpowiedzialno za poprawny przebieg
komunikacji spoczywa na kliencie
Gubienie datagramów obsługiwane jest
w standardowy sposób: klient wysyłaj c pro b
uruchamia zegar, je li nie otrzyma odpowiedzi
w odpowiednim czasie, to wysyła pro b
ponownie
Protokół BOOTP – c.d.
Protokół BOOTP – c.d.
operacja
Protokół BOOTP – c.d.
etapy
Protokół BOOTP – c.d.
operacja – pro ba (1) czy odpowied (2) (pro by
i odpowiedzi maj ten sam format)
typ sprz tu, długo adresu sprz towego – jak
w protokole ARP (Ethernet – typ 1)
etapy – maksymalna liczba routerów przez które
mo e przej komunikat; klient umieszcza 0; je li
serwer – po rednik odbierze komunikat i zdecyduje
si przekaza go do innej maszyny, to zwi ksza
warto pola
identyfikator transakcji – liczba u ywana przez
klienta do powi zania odpowiedzi z pytaniem
sekundy – liczba sekund jaka upłyn ła od momentu
rozpocz cia przez klienta procedur startowych
dł.adr.sprz.
identyfikator transakcji
sekundy
nieu ywane
adres IP klienta
twój adres IP
adres IP serwera
adres IP routera
adres sprz towy klienta (16 oktetów)
nazwa serwera (64 oktety)
nazwa pliku startowego (128 oktetów)
obszar opcji (64 oktety)
BOOTP wymaga u ywania przez UDP sum
kontrolnych
BOOTP wymaga od IP przesyłania pro b
i odpowiedzi BOOTP z ustawionym bitem
„nie fragmentuj”, aby mo na było obsłu y
równie klientów maj cych zbyt mało
pami ci na zło enie datagramu
BOOTP obsługuje wielokrotne odpowiedzi –
przetwarzana jest tylko pierwsza
typ sprz tu
adres IP klienta i dalsze pola – główne dane
w komunikacie. Klient wypełnia wszystkie pola które
zna, pozostałym nadaje warto zero.
Je li klient zna nazw lub adres serwera, to mo e j umie ci!
w pytaniu, wtedy odpowiedzi udzieli mu tylko ten serwer.
W przeciwnym wypadku odpowiedzi udzielaj wszystkie
serwery, które otrzymały zapytanie
Protokół BOOTP
mo e by! u ywany tak e przez klientów
znaj cych ju swoje adresy IP, np. w celu otrzymania nazwy
pliku startowego. W takim przypadku wypełniaj oni pole
adres IP klienta.
Je li w pro bie BOOTP pole adres IP klienta jest zerowe,
to w odpowiedzi serwer odsyła mu adres IP umieszczony
w polu twój adres IP
Protokół BOOTP – c.d.
W przypadku, gdy celem klienta jest znalezienie pliku
z obrazem systemu, który miałby by u niego
załadowany, protokół BOOTP umo liwia wykonanie
dwuetapowej procedury startowej:
Protokół BOOTP – c.d.
BOOTP dostarcza klientowi danych pozwalaj cych znale obrazu systemu (pole nazwa pliku startowego)
klient pobiera plik startowy o podanej nazwie, u ywaj c
innego protokołu (plik ten mo e by umieszczony na innym
serwerze ni serwer BOOTP)
pole obszar opcji umo liwia przesłanie przez
serwer pewnych dodatkowych informacji:
Umo liwia to klientowi poproszenie o okre lony system operacyjny
(np. UNIX – nazwa ta jest umieszczana przez niego w polu nazwa
pliku startowego). Serwer wpisuje
w to pole
rzeczywist nazw
pliku (nazwy
plików mog by! ró ne dla ró nych klientów, np.
w zale no ci od architektury)
pierwsze cztery oktety nazywane s „magicznym
ciasteczkiem” (magic cookie) i definiuj format
elementów w dalszej cz ci pola. Standardowy
format elementów (opisywany przez ciasteczko
o warto ci 99.130.83.99) to jeden oktet typu, jeden
oktet długo ci i pewna liczba oktetów b d cych
warto ci " elementu.
opcje pozwalaj na przesłanie np. maski podsieci,
bie
cego czasu, nazwy klienta, adresów IP routerów
itp.
Protokół BOOTP – c.d.
Rozwi zanie III: protokół DHCP
Protokół BOOTP został zaprojektowany z my l o wzgl dnie stałym rodowisku, w którym ka dy
host jest podł czony na stałe do sieci:
administrator tworzy na serwerze plik konfiguracyjny
BOOTP, okre laj cy zestaw parametrów BOOTP dla
ka
dego klienta
klient identyfikowany jest zazwyczaj na podstawie
adresu sprz towego przysłanego w pytaniu. Pozwala
to serwerowi odesła odpowiednie dane pobrane
z powy
szego pliku
BOOTP umo liwia szybkie okre lenie konfiguracji
hosta na podstawie jego identyfikatora, ale
konfiguracja jest zapisana w pliku i zawsze taka sama
W przypadku zmieniaj cego si rodowiska (np.
ró ne komputery przeno ne doł czane do sieci)
protokół BOOTP nie jest wystarczaj cy
Problem pojawia si równie , je eli adresów IP
w danej sieci jest zbyt mało na to, by przydzieli
stały adres ka demu komputerowi, ale liczba
komputerów pracuj cych równocze nie jest
zazwyczaj mniejsza (posiadana pula adresów
mogłaby by wi c w danej chwili wystarczaj ca)
Pojawia si potrzeba dynamicznej konfiguracji
Protokół DHCP – c.d.
Protokół DHCP – c.d.
Dynamiczne konfigurowanie w złów umo liwia
protokół DHCP (Dynamic Host Configuration
Protocol)
DHCP rozszerza BOOTP na dwa sposoby:
Klient rozgłasza pro b DHCP, u ywaj c adresu
ograniczonego rozgłaszania.
Komunikacja klient – serwer bazuje na protokole UDP
Je li po wysłaniu pro by klient nie dostanie odpowiedzi,
to ponawia pro b
Serwery DHCP w sieci lokalnej oferuj klientowi adresy
IP; klient negocjuje z odpowiednim serwerem
wypo yczenie wybranego adresu
Adres jest wypo yczany na pewien ustalony czas (zale
ny
od specyfiki sieci i potrzeb klienta)
Pod koniec czasu wynajmu klient musi albo
wynegocjowa przedłu enie czasu wynajmu, albo
zwróci adres
Protokół DHCP – c.d.
Je li klient nie uzyska adnej odpowiedzi przed upływem
czasu wynajmu, to musi przesta u ywa adresu i
rozpocz starania o nowe IP
Przy nast pnym doł czeniu do sieci klient mo e poprosi o przydzielenie tego samego adresu który miał poprzednio
(je li go zapami tał)
Wynajem adresu mo na zako czy przed czasem (klient
informuje serwer e ju nie b dzie korzystał z
przydzielonego IP)
Podobnie jak w BOOTP, serwer DHCP nie musi si znajdowa w sieci lokalnej; mo
na u y serwera
po rednicz cego, który przeka
e pro b serwerowi DHCP
umieszczonemu w innej sieci fizycznej, a po otrzymaniu
odpowiedzi przeka
e j klientowi
Protokół DHCP – c.d.
Wi kszo pól komunikatu DHCP jest taka sama jak
w BOOTP
%
zamiast pola nieu ywane wyst puje pole znaczniki.
Nadanie pierwszemu bitowi tego pola warto ci 1
oznacza, e klient prosi o rozgłoszenie odpowiedzi
(zazwyczaj serwer odsyła j bezpo rednio do klienta
korzystaj c z adresu sprz towego zawartego w
pro bie)
Pole opcje ma taki sam format jak w przypadku
BOOTP i uwzgl dnia wszystkie opcje u
ywane
w tamtym protokole. Dodatkowe opcje umo liwiaj
np. okre lenie typu komunikatu DHCP (pro ba o
przydział adresu, pro ba o przedłu enie wynajmu itp)
„r czna” konfiguracja przydziału
administrator ustala w pliku konfiguracyjnym, jaki adres ma
otrzymywa ! dany klient (jak w BOOTP)
konfiguracja automatyczna
klient wł czaj c si do sieci wysyła pro b o przydzielenie
adresu IP
serwer wybiera wolny adres IP z puli adresów do przydziału
i odsyła go klientowi
Protokół DHCP – c.d.
DHCP obsługuje trzy metody przydziału
adresów:
umo
liwia przesłanie wszystkich potrzebnych
klientowi informacji w jednym komunikacie
pozwala przydzieli klientowi adres w sposób
dynamiczny i na krótki czas:
gdy komputer podł cza si po raz pierwszy do sieci serwer
przypisuje mu adres IP; przy kolejnych podł czeniach klient
otrzymuje zawsze ten sam adres
przydział dynamiczny
serwer „wynajmuje” adres klientowi na okre lony czas
Protokół DHCP – c.d.
Staranie o przedłu enie wynajmu rozpoczynane jest po
upływie 50% czasu. Klient wysyła do serwera pro b o przedłu enie zawieraj c obecne IP, mo e te
zasugerowa czas przedłu
enia. Serwer mo e si zgodzi lub nie.
Je li serwer nie wyrazi zgody na przedłu enie wynajmu,
klient musi przesta u
ywa tego adresu i rozpocz starania o nowe IP
Je li klient wysłał pro b o przedłu enie, ale nie
otrzymuje odpowiedzi, to po upływie 87,5% czasu
wynajmu zakłada, e serwer jest nieosi galny i
rozpoczyna procedur przewi zywania adresu – stara si skontaktowa z innym serwerem DHCP w sieci lokalnej
i uzyska od niego potwierdzenie wynajmu tego adresu
Protokół DHCP – c.d.
operacja
typ sprz tu
dł.adr.sprz.
etapy
identyfikator transakcji
sekundy
znaczniki
adres IP klienta
twój adres IP
adres IP serwera
adres IP routera
adres sprz towy klienta (16 oktetów)
nazwa serwera (64 oktety)
nazwa pliku startowego (128 oktetów)
opcje (zmienna długo # $ )
Protokół DHCP – c.d.
Protokół DHCP mo e (ale nie musi)
współpracowa z DNS (starsze wersje
serwerów DNS nie umo liwiały w ogóle
takiej współpracy)

Podobne dokumenty