Technologie počítačových sítí

11. přednáška

 

Obsah jedenácté přednášky:

DHCP

 
 

-       Zprávy DHCP

-       Funkce procesu zápůjčky

-       Inicializace

-       Výběr

-       Požadavek

-       Vazba

-       Obnovení

-       Obnovení vazeb

 

 



 

11. DHCP


Protokol DHCP zjednodušuje správu konfigurace adresy IP pomocí automatického konfigurování adres pro síťové klienty. Standard protokolu DHCP zajišťuje používání serverů DHCP, které jsou definovány jako jakýkoli počítač, na němž běží služba DHCP. Server DHCP automaticky přiřazuje adresy IP a podobná nastavení konfigurace proto­kolu TCP/IP počítačů na síti podporujících protokol DHCP.

 

Každé zařízení na síti založené na protokolu TCP/IP musí mít jedinečnou adresu IP, aby bylo schopno přistupovat k síti a jejím prostředkům. Bez protokolu DHCP je nutno provést nakonfigurování protokolu IP ručně u nových počítačů, počítačů přesunovaných z jedné podsítě na jinou a počítače odebírané ze sítě.

 

Nahoru

 

11.1 Funkce DHCP

 

Protokol DHCP je založen na modelu klient/server, jak je znázorněno na obrázku.

 

 

Správce sítě zakládá jeden nebo více serverů DHCP, které udržují informace o konfi­guraci protokolu TCP/IP a poskytují konfiguraci adres klientům podporujícím službu DHCP ve formě nabídky zápůjčky.

 

Server DHCP uchovává informace o konfiguraci v databázi, která zahrnuje:

 

  • Parametry konfigurace protokolu TCP/IP platné pro všechny klienty na síti.
  • Platné adresy IP udržované ve fondu adres pro přiřazení klientům, stejně jako ad­resy vyhrazené pro ruční přiřazení.
  • Doba trvání zápůjčky nabízená serverem – doba, po kterou může být adresa IP používána před nutností obnovení zápůjčky.

 

Klient podporující službu DHCP při přijetí nabídky zápůjčky obdrží:

           

  • Platnou adresu IP pro síť, ke které se připojuje.
  • Další parametry konfigurace protokolu TCP/IP, které se označují jako možnosti DHCP.

 Nahoru

 

11.2 Výhody protokolu DHCP

 

Instalací protokolu DHCP na svou rozlehlou síť získáte následující výhody:

 

  • Bezpečnou a spolehlivou konfiguraci. Protokol DHCP minimalizuje chyby v konfiguraci způsobené manuální konfigurací adres IP, například chyby v psaní, stejně jako minimalizuje konflikty adres způsobené přiřazením již aktuálně použí­vané adresy IP dalšímu počítači.
  • Sníženou správu sítě.
  • Konfigurace protokolu TCP/IP je centralizovaná a automatizovaná.
  • Správci sítě mohou centrálně definovat konfigurace protokolu TCP/IP jak obecně, tak pro konkrétní podsíť.
  • Klientům lze automaticky přiřazovat plný rozsah dalších konfiguračních hod-not protokolu TCP/IP pomocí možností DHCP.
  • Změny adres pro konfigurace klienta, které musí být často aktualizovány, na-příklad klienti se vzdáleným přístupem, kteří se neustále pohybují, lze provádět efektivně a automaticky při spuštění klienta ze svého nového umístění.
  • Většina směrovačů může předat požadavky na konfiguraci pomocí služby DHCP, čímž se omezují požadavky na nastavení serveru DHCP na každé pod­síti, pokud k tomu není důvod.

 Nahoru

 

11.3 Autokonfigurace protokolu IP

 

Klienti na platformě Windows si mohou automaticky nakonfigurovat adresu IP a mas­ku podsítě v případě, že je server DHCP v okamžiku spuštění systému nedostupný. Tato vlastnost nazvaná APIPA (Automatic Private IP Addressing) je užitečná pro klienty na malých soukromých sítích.

 

Při autokonfiguraci klienta DHCP probíhá následující proces:

 

1.                  Klient DHCP se snaží lokalizovat server DHCP a získat adresu a konfiguraci.

2.                  Jestliže nelze server DHCP nalézt, případně neodpovídá, klient DHCP si sám nakonfiguruje adresu IP a masku podsítě za použití vybrané adresy ze sítě třídy B rezervované pro Microsoft, 169.254.0.0 s maskou podsítě 255.255.0.0. Klient DHCP hledá konflikty adres, aby se ujistil, že vybraná adresa již není na příslušné síti používána. Pokud je nalezen konflikt, klient vybere jinou adresu IP: Klient se pokusí o autokonfiguraci až do 10 adres.

3.                  Jakmile klient DHCP uspěje při samostatném výběru adresy, nakonfiguruje s touto adresou IP své síťové rozhraní. Klient pak na pozadí pokračuje v intervalech 5 minut v hledání serveru DHCP. Jestliže klient najde server DHCP později, opustí svou autokonfiguraci. Klient DHCP pak použije adresu nabídnutou serverem DHCP (a jakékoli další informace možností DHCP) a zaktualizuje své nastavení konfigurace protokolu IP.

 

Jestliže již dříve klient DHCP obdržel zápůjčku serveru DHCP:

 

1.                  Jestliže je zápůjčka klientovi během spouštění systému stále platná (nevypršela), klient se pokusí obnovit tuto zápůjčku.

2.                  Jestliže během snahy obnovit zápůjčku klient neuspěje při lokalizaci serveru DHCP, bude se snažit provést příkaz ping na přednastavenou bránu uvedenou v zápůjčce a bude pokračovat jedním z následujících způsobů:

·        Jestliže je provedení příkazu ping úspěšné, klient DHCP předpokládá, že je stále umístěn na stejné síti, odkud získal svou aktuální zápůjčku a pokračuje v jejím užívání.

·        Jestliže je provedení příkazu ping neúspěšné, klient DHCP předpokládá, že byl přesunut na síť, kde nejsou služby DHCP dostupné. Klient pak provede autokon­figuraci své adresy IP.

 

Nahoru

 

11.4 Proces zápůjčky DHCP


Klient podporující službu DHCP obdrží od serveru DHCP zápůjčku na adresy IP. Před vypršením časového omezení zápůjčky musí server DHCP tuto zápůjčku klientovi ob­novit nebo klient musí získat novou zápůjčku.

 

Zápůjčky jsou v databázi serveru DHCP uchovávány přibližně jeden den po vypršení. Tato poskytnutá lhůta chrání zápůjčku klienta v případě, že klient a server jsou v různých časových pásmech, jejich interní ho­diny nejsou synchronizovány nebo klient je v době vypršení zápůjčky mimo síť.

 Nahoru

 

11.4.1 Zprávy DHCP

 

Tabulka popisuje zprávy DHCP vyměňované mezi klientem a serverem.

 

Typ zprávy

Popis

DHCPDiscover

Požadavek na přidělení IP adresy s DHCP serveru. Jelikož se jedná o první přihlášení (klient ještě nemá IP adresu) je zdrojová adresa IP paketu 0.0.0.0.

DHCPOffer

Pokud server obdrží paket DHCPDiscover odpoví paketem DHCPOffer obsahující nezapůjčenou IP adresu a další informace o nastavení protokolu TCP/IP.

DHCPRequest

Pokud klient obdrží paket DHCPOffer, odpoví serveru paketem DHCPRequest a tím potvrdí obdržení IP adresy.

DHCPAcknowkedge

(DHCPAck)

Tímto paketem potvrdí klientovi doručení paketu DHCPRequest a dodá i další informace nezbytné pro dokončení konfigurace TCP/IP protokolu.

DHCPNak

Pokud přidělaná IP adresa již není platná, nebo byla přidělena jinému klientovi, odpoví server paketem DHCPNak a proces zápůjčky započne znovu.

DHCPDecline

Jestliže klient zjistí, že nabízené parametry konfigurace TCP/IP protokolu jsou neplatné, pošle serveru paket DHCPDecline.

DHCPRelease

Klient zašle paket DHCPRelease serveru, aby uvolnil a zrušil jakoukoliv zápůjčku, která pro něj byla vytvořena.

 

 Nahoru

 

11.4.2 Funkce procesu zápůjčky

 

Jakmile se poprvé spustí klient podporující DHCP a pokusí se připojit k síti, automaticky následuje inicializační proces k získání zápůjčky od serveru DHCP.

 

  1. Klient DHCP požaduje adresu IP prostřednictvím všesměrového vysílání zprávy DHCPDiscover na lokální podsíti.
  2. Klientovi je nabídnuta adresa, když server DHCP reaguje zprávou DHCPOffer obsahující adresu IP a informace o konfiguraci pro zápůjčku.

 

  1. Klient sdělí přijetí nabídky výběrem nabízené adresy a odpovědí serveru pomocí zprávy DHCPRequest.
  2. Klientovi je přiřazena adresa a server DHCP mu pošle zprávu DHCPAck potvrzují­cí zápůjčku. Ve zprávě mohou být obsaženy i informace o dalších možnostech DHCP.
  3. Poté, co klient obdrží potvrzení, nakonfiguruje si vlastnosti protokolu TCP/IP za použití jakékoli informace o možnosti DHCP obsažené v odpovědi a připojí se k síti.

 

Ve vzácných případech může server DHCP vrátit klientovi negativní potvrzení. To se může stát, jestliže klient žádá neplatnou nebo duplikovanou adresu. Jestliže klient ob­drží negativní potvrzení (DHCPNak) musí klient začít celý proces zápůjčky znovu.

 

 Nahoru

 

11.5 Stavy klienta DHCP v procesu zápůjčky

 

Cyklus klienta DHCP přes šest různých stavů klienta během procesu zápůjčky DHCP. Když je klient DHCP a server DHCP na stejné podsíti, zprávy DHCPDiscover, DHCPOffer, DHCPRequest a DHCPAck jsou posílány přes všesměrové vysílání na úrov­ni MAC a IP.

 

Aby klienti DHCP mohli komunikovat se serverem DHCP na vzdálené síti, musí připojující směrovač nebo směrovače podporovat předávání zpráv DHCP mezi klientem DHCP a serverem DHCP za použití služby BOOTP/DHCP Relay Agent.

 

Nahoru

 

11.5.1 Inicializace

 

Tento stav nastane při první inicializaci zásobníku protokolu TCP/IP na počítači klien­ta DHCP. Klient ještě nemá od serveru DHCP vyžádanou adresu IP. Tento stav také na­stane, pokud je klientovi odepřena adresa IP, kterou požaduje, nebo pokud adresa IP, kterou původně měl, byla uvolněna. Stav inicializace je znázorněn na obrázku.

 

Když je klient DHCP v tomto stavu, jeho adresa IP je 0.0.0.0. Při získávání platné adre­sy klient prostřednictvím všesměrového vysílání pošle zprávu DHCPDiscover z portu UDP 68 na port UDP 67 se zdrojovou adresou 0.0.0.0 a cílovým umístěním 255.255.255.255 (klient dosud nezná adresu serverů DHCP). Zpráva DHCPDiscover ob­sahuje adresu MAC klienta DHCP a název počítače.

 Nahoru

 

11.5.2 Výběr

 

Pak se klient přesune do stádia výběru, kdy vybírá odpověď serveru DHCP, DHCPOffer. Všechny servery DHCP, které obdržely zprávu DHCPDiscover a mohou klientovi DHCP nabídnout platné adresy IP, reagují zprávou DHCPOffer odesílanou z portu UDP 68 na port UDP 67. Zpráva DHCPOffer je poslána prostřednictvím všesměrového vysílání MAC a IP, protože klient DHCP ještě nemá platnou adresu IP, kte­rou lze použít jako cílové umístění.

 

Server DHCP rezervuje adresu IP, aby nebyla na­bízena jinému klientovi DHCP:

Zpráva DHCPOffer obsahuje adresu IP a odpovídající masku podsítě, identifikátor ser­veru DHCP (adresu IP nabízejícího serveru DHCP) a dobu trvání zápůjčky. Stav výběru je znázorněn na obrázku.

 

Klient DHCP čeká na zprávu DHCPOffer. Neobdrží-li zprávu DHCPOffer od serveru DHCP při spouštění systému, pokusí se o to znovu čtyřikrát (v intervalech 2, 4, 8 a 16 sekund plus náhodný čas mezi 0 a 1000 milisekund). Jestliže klient DHCP neob­drží zprávu DHCPOffer po čtyřech pokusech, počká 5 minut a pak se pokouší znovu, vždy v 5minutových intervalech.

 Nahoru

 

11.5.3 Požadavek

 

Poté, co klient DHCP obdrží ze serveru zprávu DHCPOffer, klient se přesune do stavu požadavku. Klient DHCP zná adresu IP, kterou chce zapůjčit, takže pošle prostřednictvím všesměrového vysílání zprávu DHCPRequest na všechny servery DHCP. Klient musí použít všesměrové vysílání, protože stále nemá přiřazenou adresu IP. Stav poža­davku je znázorněn na obrázku.

Jestliže byla adresa IP klienta známa (tzn. že počítač byl restartován a snaží se zapůjčit si původní adresu), všesměrové vysílání sledují všechny servery DHCP. Server DHCP, který může zapůjčit požadovanou adresu IP, odpoví buď úspěšným potvrzením (DHCPAck) nebo neúspěšným potvrzením (DHCPNak). Zpráva DHCPNak je použita v případě, že požadovaná adresa IP není dostupná nebo klient se fyzicky přesunul na jinou podsíť, která požaduje jinou adresu IP. Po obdržení zprávy DHCPNak se klient vrací do stavu inicializace a začíná proces zápůjčky znovu.

 

Nahoru

 

11.5.4 Vazba

 

Server DHCP reaguje na zprávu DHCPRequest prostřednictvím zprávy DHCPAck. Tato zpráva obsahuje platnou zápůjčku na vyjednanou adresu IP a jakékoli možnosti DHCP nakonfigurované správcem serveru DHCP. Stav vazby je znázorněn na obrázku.

 

Server DHCP pošle zprávu DHCPAck prostřednictvím všesměrového vysílání IP. Poté, co klient DHCP obdrží zprávu DHCPAck, dokončí inicializaci zásobníku protokolu TCP/IP. Je nyní považován za vázaného klienta DHCP, který může používat protokol TCP/IP ke komunikaci na síti.

 

Adresa IP zůstává přiřazena klientovi až do ručního uvolnění adresy klientem nebo do vypršení doby zápůjčky a odmítnutí zápůjčky serverem DHCP.

 

Nahoru

 

11.5.5 Obnovení

 

Informace o adresování IP jsou zapůjčeny klientovi a klient je zodpovědný za obnovo­vání zápůjčky. Dle výchozího nastavení se klient DHCP snaží obnovit svou zápůjčku po uplynutí 50 procent doby trvání zápůjčky. Kvůli obnovení zápůjčky posílá klient DHCP zprávu DHCPRequest serveru DHCP, od kterého původně zápůjčku obdržel.

Server DHCP automaticky zápůjčku obnoví prostřednictvím zprávy DHCPAck. Tato zpráva DHCPAck obsahuje novou zápůjčku a parametry možností DHCP. To zajišťuje, že klient DHCP může aktualizovat svá nastavení protokolu TCP/IP v případě, že správ­ce sítě změnil některá nastavení serveru DHCP. Stav obnovení je znázorněn na obráz­ku.

 

 

Jakmile klient DHCP obnoví zápůjčku, navrátí se do stavu vazby. Zprávy o obnovení (DHCPRequest a DHCPAck) jsou posílány jednosměrným provozem na úrovni IP a MAC.

 Nahoru

 

11.5.6 Obnovení vazeb

 

Jestliže klient DHCP není schopen komunikovat se serverem DHCP, od kterého získal svou zápůjčku, a vypršelo již 87,5 procenta doby trvání zápůjčky, bude se snažit kon­taktovat jakýkoli dostupný server DHCP pomocí zpráv DHCPRequest odesílaných prostřednictvím všesměrového vysílání. Jakýkoli server DHCP může reagovat zprávou DHCPAck a obnovit zápůjčku, případně zprávou DHCPNak, kterou donutí klienta DHCP k inicializaci a novému začátku procesu zápůjčky. Stav obnovení vazeb je znázorněn na obrázku.

 

 

 

Jestliže doba zápůjčky vyprší, nebo klient obdrží zprávu DHCPNak, musí klient DHCP okamžitě přestat užívat svou aktuální adresu IP. Jakmile k tomuto dojde, je komunika­ce přes protokol TCP/IP přerušena až doby, kdy klient získá novou adresu IP.

 

 

Nahoru