Kapcsolási, forgalomirányítási és vezeték nélküli kommunikációs alapok
A DHCPv4 protokoll az IPv4-címek és az egyéb hálózati beállítások (alhálózati maszk, alapértelmezett átjáró IP címe, DNS szerver IP címe, domain név stb.) dinamikus kiosztásáért felel.
A DHCPv4 kliens/szerver módban működik. Ha egy kliens kommunikációt folytat egy DHCPv4-szerverrel, a szerver egy IPv4-címet oszt ki vagy ad bérbe a kliensnek. A kliens ezzel a bérelt IP-címmel kapcsolódik a hálózatra, amíg a bérleti idő le nem jár. A bérleti idő meghosszabbításához a kliensnek rendszeres időközönként fel kell keresnie a DHCP-szervert. Ez a bérleti mechanizmus garantálja, hogy az elköltöztetett vagy kikapcsolt kliensek ne tartsák meg azokat a címeket, amelyekre már nincs szükségük a továbbiakban. A bérleti idő lejárta után a DHCP-szerver gondoskodik arról, hogy a cím visszakerüljön a szükség szerint ismételten kiosztható címek készletébe.
Amikor a kliens elindul (vagy más módon kapcsolódik a hálózathoz), egy négy lépésből álló folyamattal kezdeményezi a bérleti jog megszerzését. Ahogy a 2. ábrán is látható, a kliens egy szórásos DHCP-felfedező (DHCPDISCOVER) üzenet szétküldésével kezdi meg a folyamatot, amelyben szerepel a saját MAC-címe. Ennek célja, hogy megtalálja a hálózaton elérhető DHCPv4-szervereket.
A DHCPDISCOVER üzenettel deríthetők fel a hálózatban működő DHCPv4-szerverek. Mivel a kliens nem rendelkezik érvényes IPv4-információval induláskor, a szerverrel való kommunikációhoz 2. rétegbeli és 3. rétegbeli szórási címeket használ.
Amikor a DHCPv4-szerver DHCPDISCOVER üzenetet kap, lefoglal egy rendelkezésre álló IPv4-címet, hogy bérbe adja a kliensnek. A szerver egy olyan ARP-bejegyzést is létrehoz, amely a kérést intéző kliens MAC-címéből, valamint a kliens által bérelt IPv4-címből áll. Ahogy a 3. ábrán is látható, a DHCPv4-szerver elküldi a foglalás tényét rögzítő DHCPOFFER üzenetet a kérést intéző kliensnek. A DHCPOFFER üzenet elküldése egyedi címzéssel történik,ahol a forráscím a szerver L2-es MAC-címe, a célcím pedig a kliens L2-es MAC-címe.
Ha a kliens DHCPOFFER üzenetet kap a szervertől, akkor egy DHCPREQUEST üzenetet küld vissza a 4. ábrán látható módon. Ez az üzenet használatos a bérlet indításához, illetve megújításához egyaránt. Amennyiben a bérlet indításához használjuk, a DHCPREQUEST egyfajta kötelező érvényű elfogadási értesítésként szolgál a kiválasztott szerver felé, míg az összes többi, foglalást rögzítő szerver felé értelemszerűen elutasítást jelent.
Sok vállalati hálózatban egyszerre több DHCPv4-szervert használnak. A DHCPREQUEST üzenet elküldése szórással történik, amely tájékoztatja a kiválasztott és az összes többi DHCPv4-szervert az ajánlat elfogadásáról.
A DHCPREQUEST üzenet megérkezése után a szerver egy, az adott címre küldött ICMP ping segítségével ellenőrzi, hogy az nincs-e már használatban, majd létrehoz egy új ARP-bejegyzést a bérlet tényéről, végül pedig egy egyedi címzésű DHCPACK üzenettel válaszol, az 5. ábrán látható módon. A DHCPACK üzenet tulajdonképpen a DHCPOFFER másolata, különbség csupán az üzenettípus mező értékében van. Amikor a kliens megkapja a DHCPACK üzenetet, naplózza a beállításokat, majd egy ARP-keresést végez a kiosztott címre vonatkozóan. Amennyiben az ARP-kérésre nem érkezik válasz, a kliens tudni fogja, hogy az IPv4-cím érvényes, és sajátjaként kezdi használni.
Ahogy a 6. ábrán is látszik, a bérleti idő lejártával a kliens egy DHCPREQUEST üzenetet küld közvetlenül annak a DHCPv4-szervernek, amely eredetileg kínálta fel az IPv4-címet. Amennyiben egy DHCPACK bizonyos időn belül nem érkezik meg, a kliens szórással egy újabb DHCPREQUEST-et indít, hogy valamelyik másik DHCPv4-szerver meghosszabbítsa a bérleti idejét.
A DHCPREQUEST üzenet megérkezése után a szerver egy DHCPACK visszaküldésével erősíti meg a bérleti adatokat, a 7. ábrán látható módon.
Az összes DHCPv4-tranzakcióhoz a DHCPv4-üzenet formátuma használatos. A DHCPv4-üzenetek beágyazása az UDP szállítási protokollon belül történik. A kliens által küldött DHCPv4-üzenetek az UDP 68-as forrásportját, illetve 67-es célportját használják. A szerver által a kliensnek küldött DHCPv4-üzenetek pedig az UDP 67-es forrásportját, illetve 68-as célportját használják.
Az ábrán egy DHCPv4-üzenet formátuma látható. A mezők nevei az alábbiak:
IPv4 cím vagy címtartomány kizárása
R1(config)# ip dhcp excluded-address 192.168.10.254 R1(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.9
DHCPv4-készlet (pool) beállítása
R1(config)# ip dhcp pool DHCP-KESZLET-1
Konkrét feladatok beállítása
R1(dhcp-config)# network 192.168.10.0 255.255.255.0 R1(dhcp-config)# default-router 192.168.10.1 R1(dhcp-config)# dns-server 192.168.11.2 R1(dhcp-config)# domain-name unideb.hu R1(dhcp-config)# exit
Ellenőrzés
Az összetett, hierarchikus hálózatokban a vállalati szerverek általában egy szerverfarmon találhatók. Ezek a szerverek DHCP, DNS, TFTP és FTP szolgáltatásokat nyújthatnak a hálózat számára. A hálózati kliensek jellemzően nincsenek egy alhálózaton ezekkel a szerverekkel. A kliensek gyakran szórásos üzenetek segítségével találják meg a szervereket, és veszik igénybe az általuk kínált szolgáltatásokat.
Az fenti ábrán a PC1 szórásos üzenet segítségével próbál IPv4-címet szerezni egy DHCP-szervertől. Ebben a példában az R1 forgalomirányító nincs beállítva, hogy DHCPv4-szerverként működjön, így a szórást sem továbbítja. Mivel a DHCPv4-szerver egy másik hálózaton van, ezért a PC1 nem kaphat IP-címet a DHCP segítségével. A probléma megoldására a rendszergazdák DHCPv4-szervereket adhatnak az összes alhálózathoz. Ugyanakkor ezen szolgáltatások több számítógépen történő futtatása többletköltséget és adminisztratív többletmunkát eredményez.
Ennél jobb megoldás lehet egy Cisco IOS segédcím (helper address) beállítása. Ez lehetővé teszi, hogy egy forgalomirányító DHCPv4-szórásokat továbbítson a DHCPv4-szerver felé. Amikor a forgalomirányító továbbküldi a címkéréseket, DHCPv4-közvetítőként működik. A példában szereplő topológiában a PC1 egy szórásos kéréssel próbál egy DHCPv4-szervert találni. Ha az R1 forgalomirányító DHCPv4-közvetítőként lenne beállítva, a kérést a 192.168.11.0 alhálózaton található DHCPv4-szerver felé továbbítaná.
Amikor az R1 forgalomirányító DHCPv4-közvetítőként van beállítva, elfogadja a DHCPv4-szolgáltatásra vonatkozó szórásos kéréseket, majd egyedi címzéssel továbbküldi azokat a 192.168.11.6 IPv4-címre. A show ip interface paranccsal ellenőrizhető a konfiguráció.
Nem csupán a DHCPv4-szolgáltatás esetében állítható be, hogy a forgalomirányító közvetítsen. Alapesetben az ip helper-address parancs hatására a készülékek a következő nyolc UDP alapú szolgáltatás forgalmát közvetítik:
R1(config)# interface g0/0 R1(config-if)# ip helper-address 192.168.11.6 R1(config-if)# exit
PC kliens:
C:\> ipconfig /release IP Address......................: 0.0.0.0 Subnet Mask.....................: 0.0.0.0 Default Gateway.................: 0.0.0.0 DNS Server......................: 0.0.0.0 C:\> ipconfig /renew IP Address......................: 192.168.10.15 Subnet Mask.....................: 255.255.255.0 Default Gateway.................: 192.168.10.1 DNS Server......................: 192.168.11.5
R1(config)# interface g0/0 R1(config-if)# ip address dhcp R1(config-if)# no shut R1(config-if)# exit