Dynamic Host Configuration Protocol (DHCP)

0

Dynamic Host Configuration Protocol (DHCP)

Network’ün doğru çalışması için TCP/IP Network’ündeki tüm bilgisayarların bir IP adresi olması gerekir. IP adresleri her bilgisayarda el ile yapılandırılabilir veya Network’deki her istemci bilgisayara otomatik olarak IP adresi atayan bir DHCP sunucusu yüklenebilir. Diğer bilgisayarlara dinamik olarak IP adresi sağlayan bir veya birden çok DHCP sunucusu yapılandırarak, Network’deki bilgisayarlara IP adresleri sağlanır. Ancak, DHCP sunucusunun kendisine statik bir IP adresi atanmalıdır.

TCP/IP protokolünün kullanıldığı nertworklerde, her bir bilgisayarı tanımlamak için 32 bit uzunluğundaki IP adresleri kullanılır. Bu 32 bitlik sayı, oktet olarak adlandırılan 8 bitlik dört parçaya ayrılarak ve aralarına nokta konularak gösterilir. Bir TCP/IP networkünde aynı IP adresine sahip birden fazla bilgisayar bulunamaz. Bu yüzden IP adreslerini bilgisayarlara atanması işi çok önemlidir ve oldukça dikkat etmeyi gerektirir.

TCP/IP tabanlı networklerde bilgisayarın IP konfigürasyonu Admine çok fazla iş yükü bindirir. DHCP, Admin’in iş yükünü büyük ölçüde azaltır, yanlış veya hatalı IP girişini önler.

dhcp

Automatic Private IP Addressing (APIPA)

APIPA, network’de bir DHCP sunucusu kullanılamıyorsa veya yoksa, Windows tabanlı bir bilgisayarın kendisine bir Internet Protokolü (IP) adresi atayabilmesini sağlar. Bu özellik TCP/IP kullanılan küçük bir Yerel Alan Ağı’nın (LAN) yapılandırılmasını ve desteklenmesini kolaylaştırır. Internet Assigned Numbers Authority (IANA), Otomatik Özel IP Adreslemesi için 169.254.0.0-169.254.255.255 adreslerini ayırmıştır. Böylece, APIPA, yönlendirme adresleriyle çakışmaması garanti edilen bir adres sağlar.

Ağ bağdaştırıcısına bir IP adresi atandıktan sonra, bilgisayar aynı ağa bağlı olan ve APIPA için de yapılandırılmış veya 255.255.0.0 alt ağ maskesi kullanılarak IP adresi el ile 169.254.x.y adres aralığında (burada x.y, istemcinin benzersiz tanımlayıcısıdır) yapılandırılmış olan diğer bilgisayarlarla TCP/IP kullanarak iletişim kurabilir. Bilgisayarın başka alt ağlardaki bilgisayarlarla veya otomatik özel IP adreslemesi kullanmayan bilgisayarlarla iletişim kuramayacağını unutmayın. Otomatik özel IP adreslemesi varsayılan olarak etkindir.

Aşağıda ki durumlarada APIPA devre dışı bırakılmak istenebilir: 
Networkde yönlendiriciler kullanılmaktadır.
Network’de Internet’e bir NAT veya proxy sunucu olmadan bağlanılmaktadır.

APIPA’yı devre dışı bırakmak isterseniz aşağıdaki adımları takip edin:
TCP/IP bilgilerini el ile de yapılandırabilirsiniz ve bu durumda tüm DHCP yapılandırması devre dışı bırakılır. Aşağıdaki yöntemlerden birini kullanarak otomatik özel IP adreslemesini devre dışı bırakabilirsiniz (ancak DHCP devre dışı bırakılmaz). Windows Millennium Edition, Windows98 veya Windows 98 İkinci Sürüm’de, aşağıdaki kayıt defteri anahtarına 0x0 değeriyle “IPAutoconfigurationEnabled” DWORD kayıt defteri girdisini ekleyebilirsiniz:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\DHCP
Windows 2000, Windows XP ve Windows Server 2003’te, aşağıdaki kayıt defteri anahtarına 0x0 değeriyle “IPAutoconfigurationEnabled” DWORD kayıt defteri girdisi eklenerek APIPA devre dışı bırakılabilir: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Adapter GUID> Not Adapter GUID alt anahtarı, bilgisayarın LAN bağdaştırıcısı için bir genel benzersiz tanımlayıcıdır. IPAutoconfigurationEnabled DWORD girdisinin değerini 1 olarak ayarlayarak APIPA’yı etkinleştirebilirsiniz; bu ayar, bu değer kayıt defterinden kaldırıldığındaki varsayılan durumdur.

DHCP IP Adreslerini Nasıl Dağıtır? 

Eğer kullandığınız ağda 10 tane bilgisayar varsa, siz bu bilgisayarların IP adreslerini, DNS’lerini, Subnet Mask’lerini ve Default Gateway’lerini manüel olarak verebilirsiniz. Bu size fazla bir zaman kaybettirmez. Ama ağınızdaki bilgisayarların sayısı yüzler hatta binlerle ifade ediliyorsa bu işlemler o kadar basit olmayacaktır. Yani bu işlem hem oldukça ciddi bir zaman alacaktır hemde hata yapma ihtimali çok yülselecektir. DHCP, tüm bu bilgisayarlara IP adreslerini, subnet mask değerlerini, varsayılan ağ geçidi adresini ve daha birçok TCP/IP protokol parametresini istemcilere otomatik olarak dağıtacak ve hata yapmayacak bir hizmetdir.

DHCP sunucu sadece IP dağıtmakla kalmayıp istemci bilgisayarlar için tüm gerekli TCP/IP protokollerini yerine getirerek istemci bilgisayarların networke ulaşabilmesi için gerekli olan hizmeti sağlar. Network’deki herhangi bir değişiklik anında istemci bilgisayarlarla tektek uğraşmak yerine merkezi bir yönetim sayesinde tüm makinelerde çok çabuk ve hatasız bir şekilde işlem yapma olanağı sağlar.

Burada unutulmaması gereken network’de bazı aygıtlar yada server hizmeti veren bilgisayarlar sabit bir IP almak durumundadır. Bunlaradan biride DHCP Server’dır.

Şimdi DHCP’nin çalışma mantığına gelelim:

DHCP bilgisayarlara verdiği IP’yi bellir bir süre için kiralar (Lease). Kiralama süresi varsayılan olarak 8 gündür. DHCP tarafından atanan bir IP 8 gün boyunca başka hiçbir aygıta atanmaz. İstemci bilgisayarlar belirlediğiniz kiralama süresini yarılayınca DHCP sunucuya kullandıkları IP adresinin kiralama süresinin uzatılmasını belirten bir mesaj yollarlar (bu mesaj direkt olarak DHCP sunucuya yollanır) ve genelliklede kiralama süreleri uzatılır. Eğer istemci DHCP sunucudan kiralama süresi uzatma mesajına herhangi bir yanıt alamazsa geriye kalan zamanın yarısı kadar süre sonra kiralama süresi uzatma isteğini yineler (yani uzatma süresinin yüzde 87.5’luk dilimi bitince). Bu mesaj network’e broadcast yoluyla iletilir. Eğer istemci kiralama süresi içerisinde, herhangi bir şekilde kiralama süresini uzatamazsa kiralama süresi bitiminde yeni bir IP adresi alması için gerekli olan adımları yineler ve yeni bir IP adresi almaya çalışır. Bu süre networkümüzün ihtiyaçlarına uygun olarak değiştirilebilir. Belli bir süre sonra tekrar IP yenilenir.

Bir istemci bilgisayarın DHCP server’dan bir IP adresi alması işlemi dört aşamada gerçekleşir.

1) DHCP Discover
2) DHCP Offer
3) DHCP Request
4) DHCP Packnowledgment

kiralama

1.DHCPDiscover: IP adresini DHCP server’dan alacak şekilde konfigüre edilen istemci bilgisayar açıldığında, network ortamına DHCPDISCOVER olarak adlandırılan bir paketi broadcast ( hedef adresi 255.255.255.255 olan paket) olarak  yollar ve ortamdaki DHCP sunucunun kendisine cevap vermesini bekler.

2. DHCPOffer: DHCP server bu istemciden gelen mesajı aldıktan sonra bu istemciye DHCPOFFER olarak adlandırılan bir paket yollar. Bu pakette, DHCP sunucu istemciye kullanabileceği bir IP adresi, subnet mask, bu IP adresinin kiralama süresi ve DHCP serverin IP adresi gibi bilgiler bulunur.

3. DHCORequest: İstemci bu paketi aldıktan sonra paketi yollayan DHCP server’a DHCPREQUEST olarak adlandırılan bir paket yollar.

4. DHCpKnowledgment: Ardından bu paketi alan DHCP sunucu, istemciye önerdiği IP adresini DHCP veritabanına, belirlenen kiralama dönemi boyunca kullanılmak üzere yazar. Ardından istemciye bu işlemin tamamlandığını belirten DHCPACKNOWLEDGMENT paketini yollar.

DHCP, tabiki sadece IP dağıtmakla kalmaz gerekli olan DNS, WINS, Subnet Mask ve AĞ Geçiti gibi gerekli değerleride son gönderilen paketle birlikte gönderir

kira2

DHCP Scope

Scope, bir DHCP sunucuda tanımlanan ve istemcilere dağıtılacak IP adres aralığıdır. Bir DHCP sunucusunun istemcilerden gelecek IP adresi isteklerine cevap verebilmesi için, DHCP sunucuda en az bir tane scope oluşturulmalı ve aktif edilmelidir.

scope

Scope bazında geçerli olacak DHCP seçeneklerinin bazıları istemci tarafında da ayarlanabilir. Örneğin bir istemcinin kullanacağı ağ geçidi adresini manuel olarak girebilirsiniz. Bu durumda eğer DHCP sunucu da bir ağ geçidi adresi dağıtıyorsa istemci tarafında tanımlanan ağ geçidi adresi geçerli olur. Yani istemci tarafında yapılan tüm konfigürasyonlar, DHCP tarafından gönderilen konfigürasyonların üzerine yazar.

DHCP Options

DHCP sadece IP dağıtmaz. Toplamda 79 tane scope option’u vardır. Kurulumda basit olarak, Rooter, domain adı, DNS ve WINS bilgileri girilir. Diğer opsiyonlar Scope altında Scope options’tan tanımlanır.

options

DHCP seçenekleri, DHCP sunucuyu kullanan istemcilere IP adresi ve subnet mask değerlerinin dışında atanan diğer network parametreleridir. (Örneğin DNS sunucu adresi, varsayılan ağ geçidi adresi, WINS sunucu adresi vb gibi). Bu seçenekler DHCP sunucuda üç farklı düzeyde uygulanabilir. Bunlar;

  • Server Seçenekleri
  • Scope Seçenekleri
  • stemci Seçenekeleri

Server seçenekleri, DHCP sunucuda tanımlanan tüm scopelarda geçerli olacak seçeneklerdir.

Scope seçenekleri ise sadece o scope’dan IP adresi alan istemcileri etkileyecek seçeneklerdir.

İstemci seçenekleri ise belirlenen üreticiye ve kullanıcı gurubuna göre geçerli olacak seçeneklerdir.

DHCP Rezervation

Networkdeki bazı bilgisayarların her zaman aynı IP adresini kullanmaları gerekebilir. Bu durumda ya bu bilgisayarların IP adreslerini el ile olarak girmeli yada DHCP sunucuda bu IP adreslerini sadece bu bilgisayarların kullanabileceği şekilde saklamalısınız. İşte bu işleme “Reservation” işlemi denir ve bir scope’da tanımlanan adres rezarvasyonlarını “Reservations” konteynırına tıklayarak görebilirsiniz. Bu işlemi gerçekleştirmek için istemci bilgisayarın MAC adresinin bilinmesi gerekir. MAC adresi 48 bit uzunluğunda bir sayı olup herbir network kartı için tektir. Bir bilgisayarın MAC adresini öğrenmek için komut satırından ipconfig /all konutunu girmelisiniz. Bu komutun çalıştırılmasından sonra ekrana yazılan bilgiler arasında, istemcinin kullandığı network kartının MAC adresi de bulunur.

reservation

Bilgisayarlara el ile olarak girebilir. Böylelikle istemci bilgisayar yada aygıt, problemsiz bir şekilde network’e katılır ve çalışmaya başlar. Fakat, network’de sunucu vazifesi gören her hangi bir aygıtın herhangi bir nedenden dolayı IP adresi değiştiğinde, el ile tekrar bu bilgileri istemci bilgisayara girmek durumunda kalırız. İşte burada DHCP Rezervation’un bize sağlamış olduğu kolaylıkdan yararlanarak merkezi bir noktadan tüm bilgisayarlara ulaşmış oluyoruz.

DHCP Relay Agent

Router’ların özeliklerinden birisi de kendisine bağlı subnetlerden herhangi birisinden gelen broadcast mesajlarının diğer subnetlere iletilmesini önlemektir. Fakat DHCP, broadcast temelli bir servistir ve DHCP mesajları yönlendirici kullanılan network’de sadece DHCP sunucunun bulunduğu subnetdeki istemciler ve sunucu arasında alınıp verilebilecektir. Bu durumda diğer subnetlerdeki istemciler herhangi bir şekilde DHCP sunucuyla iletişime geçemeyecek ve geçerli bir IP adresi alamayacaktır.

Router kullanılan networklerde DHCP servisinin düzgün çalışabilmesi için izlenebilecek üç farklı yöntem vardır. Bunlar;

a) Her bir subnet’e bir DHCP sunucu kurulur. Böylece her bir subnet için gerekli olan konfigürasyonlar bu sunucu üzerinde gerçekleştirilir.

b) Subnetleri birleştiren yönlendiriciyi DHCP mesajlarını geçirecek şekilde (RFC 1542 uyumlu) konfigüre etmek. Bu durumda yönlendirici, subnetler arasında sadece DHC broadcast mesajlarını geçirecek ve diğer broadcast mesajların geçmesini engelleyecektir. Böylece subnetlerin herhangi birisine kurduğunuz bir DHCP sunucu ile tüm subnetlerdeki istemcilere hizmet verebilirsiniz.

c) Her bir subnet’de bir tane DHCP Relay Agent bulundurmak. DHCP Relay Agent kendi subnet’inden yapılan DHCP broadcast mesajlarını alarak yönlendiriciden geçebilecek hale getirir yani direkt olaak DHCP sunucuya yollar ve DHCP sunucudan gelen yanıtı da kendi subnet’ine broadcast yoluyla yollar.

Şekilde de görüldüğü gibi B subnetteki Broadcastleri alır DHCP’ye unicast olarak iletir. Bu nedenle RFC-1542 uyumlu rooterlardan daha performanslıdır. Bu noktada DHCP hangi networke ip vereceğini gelen paketin bilgisindeki, IP isteyen PC’nin bağlı olduğu network’ün Router’ının iç bacağının IP’sine göre verecektir.

DHCP Relay Agent’ın 8 aşamalı bir çalışma mantığı vardır;

Relayagent

İstemci bilgisayar ile Relay Agent arasında Broadcast olarak iletişim yapılırken, Relay Agent ile DHCP Server arasında Unicast iletişim söz konusudur. Böylelikle diğer network’e faklı bir Server kurmak yerine Relay Agent ile yönetimi tek noktada toplamış oluruz.

Relayagent1

DHCP Backup ve Restore

DHCP veritabanı aşağıdaki bilgileri içerir;

  • Scoplar
  • Adres kira bilgileri 
  • Rezerve edilmiş adres bilgileri

Windows Server 2003’de bu veritabanının bulunduğu klasör;

% Systemroot% \System32\Dhcp ‘dir. (C:\WINDOWS\system32\dhcp)

Veritabanının içeriğinde aşağıdaki dosyalar bulunur.

  • Dhcp.mdb
  • Tmp.edb
  • J50.log and J50*.log
  • Res*.log
  • J50.chk

DHCP server’ında meydana gelebilecek bir hataya yada arızaya karşı mutlaka yedek alınması gerekmektedir.

Hiçbir veri veritabanına direk yazılmaz öncelikle log dosyalarına yazılır. Bu yazıldıktan sonra belli aralıklarla j50.chk bu logları kontrol eder ve veritabanına bu logları atar. Database’e atılan loglar silinmez. Database çalışmak için yeni log dosyaları üretmek zorundadır. Eğer hardisk doluysa öncelikle RESERVATION logları devreye girer. Öncelikle res1.log içine yazar, bu da dolduysa res.2.log içine yazar. Bu da biterse çalışma için log’a ihtiyaç duyan DHCP servisleri çalışmayı durdurur. Bu database boşalınca yeniden düzgün çalışır.

Databese’in yedeğinin alınması az sayıda bilgisayar var ise önemsizdir. Ama çok sayıda bilgisayar varsa bu database’in kaybolması ciddi bir sorunlar doğurabilir.

backup

Share.

About Author

Leave A Reply