ana sayfa : araştırma : TCP-IP ve İnternet : dinamik bilgisayar konfigürasyonu [ 6 / 7 ]

GERİ

VI. DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL)   Dinamik Bilgisayar Konfigürasyon Protokolu

       TCP/IP protokolünü kullanan bir ağda her bilgisayar için ortalama beş adet parametre tanımlamak gerekir;

·         IP adresi

·         Subnet maskesi,

·         Default gateway adresi,

·         DNS sunucu adresi,

·         WINS sunucu adresi.

Ağdaki bilgisayar sayısı artıkça bu parametrelerin bilgisayarlara girilmesi hem büyük bir yük getirir, hem de bu sırada çok yapılır. Örneğin, 100 kullanıcılı bir ağda toplam 500 adet parametrenin doğru şekilde girilmesi gerekir. 500 adet parametreyi girerken muhakkak hata yapılır. IP adresleri çakışır bu yüzden  iletişim kurulamaz. Subnet maskeleri yanlış verilirse, kendi ağımızdaki ve başka ağlardaki makinelere erişemeyiz. Default gateway adresi yanlış verilirse, kendi ağımızdaki makinelerle iletişim kurabiliriz, ama bir başka ağa bağlanamayız. DNS ve WINS adresleri yanlış verilirse, isim-IP adresi çözümlemesini DNS sunucudan ya da WINS sunucudan yapamayız.

       Bu parametreleri doğru bir şekilde girmenin daha kolay bir vardır ve bu sistemin adı DHCP’dir: Dinamik Bilgisayar Konfigürasyon Protokolü.

       DHCP, bilgisayarlara IP adresi ve subnet maskesi başta olmak üzere TCP/IP parametrelerini otomatik olarak dağıtan bir protokoldür. DHCP, daha eski bir protokolün, BOOTP protokolünün geliştirilmişidir. BOOTP, disket sürücü ya da sabit diski bulunmayan bilgisayarların TCP/IP konfigürasyonunu yapmak üzere geliştirilen bir protokoldür.

       DHCP kullanımı şu şekilde gerçekleştirilir;

       Bir makine DHCP sunucu olarak kurulur. DHCP sunucu da diğer bilgisayarlara dağıtılacak adresler için bir adres aralığı ve bir subnet maskesi tanımlanır. IP adresi ve subnet maskesi dışında dağıtılabilecek parametreler de (default gateway, DNS ve WINS sunucu adresleri gibi) tanımlanabilir.

       DHCP istemci olarak belirlenmiş bilgisayarlar DHCP sunuculara başvurduklarında adres havuzlarından uygun bir adres seçilip subnet maskesi ile birlikte istemciye gönderilir. Bu sırada seçimlik bilgiler (default gateway adresi, WINS sunucu ve DNS sunucu adresleri gibi) de istemciye gönderilebilir.

       Eğer istemci bilgisayar bu adres önerisini kabul ederse önerilen adres istemciye belli bir süre için verilir. Eğer IP adres havuzunda verilebilecek bir adres kalmamışsa ve istemci başka bir DHCP sunucudan da adres alamıyorsa TCP/IP iletişimine geçilemez.

       DHCP sunucudan adres kiralama işlemi dört aşamada gerçekleşir:

       1- İlk olarak istemci, ‘Benim IP adresi, subnet maskesi vb. bilgileri içeren TCP/IP konfigürasyonuna ihtiyacım var. Eğer ortamda bir DHCP sunucu varsa bana TCP/IP konfigürasyon parametreleri göndersin’ anlamında bir mesajı broadcast olarak yayınlar. Bunun sebebi ise çünkü hem kendisinin IP adresi yok, hem de DHCP sunucunun adresini bilmiyor. Bu mesaja DHCP DISCOVER (DHCP KEŞİF) mesajı denir.

       Mesajda çıkış IP adresi olarak 0.0.0.0, hedef IP adresi olarak da 255.255.255.255 adresi bulunur. Çıkış MAC adresi olarak istemci kendi MAC adresini yazar. Hedef MAC adresini bilmediği için buraya da FFFFFFFFFFFF adresini yazar  (FFFFFFFFFFF:MAC düzeyinde broadcast adresidir).

       2-DHCP DISCOVER mesajını alan DHCP sunucu ya da sunucular kendi adres havuzlarını kontrol ederler ve uygun bir adres bulurlarsa bu adresi bir öneri olarak istemciye gönderirler. İstemcinin halihazırda bir IP adresi bulunmadığı için bu mesaj da broadcast olarak yayınlanır. Bu mesaja DHCP OFFER (DHCP ÖNERİ) mesajı denir. Mesajda çıkış IP adresi olarak DHCP sunucunun IP adresi, hedef IP adresi olarak 255.255.255.255 bulunur. Çıkış MAC adresi olarak DHCP sunucunun MAC adresi, hedef MAC adresi olarak da istemcinin MAC adresi yer alır. Bu standart adreslerin yanı sıra bir de sunucu tanımlayıcı (identifier) bilgisi bulunur. Bu da sunucunun IP adresine eşittir. DHCP OFFER mesajında, önerilen IP adres bilgisinin yanı sıra adres kiralama süresi de bulunur.

       3-İstemci kendisine ilk ulaşan DHCP OFFER mesajını kabul eder ve bu adresi almak istediğini göstermek için DHCP REQUEST (DHCP İSTEK) mesajı yayınlar. Tabii, yine broadcast olarak. Bu mesajın içinde adres önerisini kabul ettiği DHCP sunucunun bilgisi de bulunmaktadır (sunucu tanımlayıcı).

       Eğer ortamda bir DHCP sunucu yoksa ne olur? DHCP OFFER mesajı yayınlanmayacaktır. Bu durumda istemci IP önerisi için 1 saniye bekler. Bir saniye içinde öneri gelmezse DHCP DISCOVER mesajını üç kez tekrarlar (9, 13 ve 16. Saniyeler artı 0 ile 1000 milisaniye arasındaki rastgele bir süre sonunda). Eğer toplam dört mesaj sonrasında da bir öneri alamazsa denemeden vazgeçmez. Her beş dakikada bir mesajını tekrarlar.

       4- Son olarak adres önerisi kabul edilen DHCP sunucu, işlem tamam anlamına bir onay mesajı gönderir. Bu mesaja da DHCP ACK (DHCP ONAY) mesajı diyoruz. İstemci ancak DHCP ACK mesajını alınca TCP/IP haberleşmesini kullanabilir.

       DHCP sunucudan kullanıcıya üç adet parametre gönderilir.

       Default Gateway adresi (Router)

       WINS sunucu adresi (NetBIOS Name Servise)

       DNS sunucu adresi (Domain Name Server)

DHCP ile alınmış adres bilgileri control panel’deki network uygulaması aracılığı ile görülemez. TCP/IP konfigürasyonunu ya komut satırından IPCONFIG komutunu vereceğiz ya da registry’nin içine bakarak.

İstemci, TCP/IP parametrelerini registry’de aşağıdaki key’de saklar:

       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\adapter\Parameters\Tcpip


       IPCONFIG komutunu komut satırından verirsek IP adresimiz, subnet maskemiz ve default gateway adresimiz görüntülenir: 

Şekil-6.1 IPCONFIG Komutunun Gösterdiği Ağ Parametreleri

 

 


       Komut satırından ipconfig komutu verildiğinde IP adresimiz, subnet maskemiz ve default gateway adresimiz görüntüleniyor. Peki, opsiyon olarak gönderilen bilgileri nasıl göreceğiz? Bunun için komutu “ipconfig/all”şeklinde vermek gerekiyor:

Şekil-6.2 IPCONFIG /ALL Komutunun Gösterdiği Ağ Parametreleri

Şekildeki komutları açıklayacak olursak;

Ana Bilgisayar Adı: Host ismi

DNS Sunucuları: DNS sunucuların adresleri

Düğüm Türü: İsim çözümleme yöntemi.

NetBIOS Kapsam Kimliği: NetBIOS kapsam tanımı. Hemen hemen hiç kullanmamak gerekir.

IP Dolaştırma Etkin: IP yönlendirme yapılıyor mu?

WINS Proxy Etkin: WINS vekil ajan görevimiz var mı?

NetBIOS Çözünürlüğü DNS Kullanır: NetBIOS isim çözümlemesi sırasında DNS kullanılıyor mu?

 

Aşağıdaki kısımda ise ağ kartımızla ilgili bilgileri görüyoruz:

Tanım: Tanımlama. Kartımızın adı.

Fiziksel Adres: Fiziksel adres. Yani MAC adresi.

DHCP Etkin: DHCP istemci miyiz?

IP Adresi: IP adresimiz.

Alt Ağ Maskesi: Subnet maskesi.

Varsayılan Ağ Geçidi: Varsayılan çıkış kapısı. Yönlendiricinin adresi

DHCP Server: DHCP sunucunun adresi.

Birincil WINS Sunucusu: Birincil WINS sunucunun adresi.

İkincil WINS Sunucusu: İkincil WINS sunucunun adresi.

Kira Sağlanan: DHCP’den alınan adresin kira süresi başlangıcı.

Kira Bitişi: DHCP’den alınan adresin kira süresi bitimi. 

       Yukarıda verilen şekilde bazı alanların karşılıkları yoktur. Çünkü bu komutun sonucu DHCP sunucu kurulu olmayan bir makinede alınmıştır.     

       Herhangi bir nedenle DHCP’den aldığımız IP adresini serbest bırakmak istersek yine ipconfig komutunu vereceğiz. Ekleyeceğimiz parametre ise release (serbest bırak)

       Serbest bıraktıktan sonra tekrar DHCP’den adres alalım dersek yine ipconfig komutunu veriyoruz; bu sefer parametre olarak renew (yenile) ile kullanılır.

       TCP/IP’de herşeyin bir süresi vardır. Hiçbir şey sonsuza kadar sürmez. DHCP sunucudan alınan IP adresinin de bir süresi vardır. DHCP yolu ile alınan adres belli bir süreliğine kiralanmış sayılır. DHCP ile alınmış adresin de kira süresinin bitiminden önce yenilenmesi gerekir.

       NT 4.0’da DHCP ile alınan adresin süresi üç gündür. DHCP hizmetinin kuruluşu sırasında bu değer değiştirilebilir.

       Yukarda bir istemcinin DHCP ile adres bilgisini nasıl elde ettiğini gördük. Bu adres belli bir süre için geçerlidir ve istemci bu süre sonunda da adresi kullanmak istiyorsa kira kontratını yenilemelidir. Bu işlerin gerçekleşmesi için;

       DHCP istemcileri kira sürelerinin yüzde ellisi geçtiğinde kira kontratlarını yenilemek isterler. Bu işlem iki aşamada olur:

       1-Adresini yenilemek isteyen işlemci bir DHCP REQUEST mesajı gönderir. Artık kendisinin bir IP adresi olduğu için ve DHCP sunucunun da adresini de bildiği için broadcast olarak değil, doğrudan DHCP sunucuya mesajı gönderir.

       2-Eğer DHCP sunucu ayakta ise ve süre uzatma isteğini onaylıyor ise bir DHCP ACK (Onay)  mesajı göndererek süreyi uzattığını bildirir. Bu mesaj içinde seçimlik parametrelerin (default gateway, WINS ve DNS sunucu adresleri gibi) en son hali de yer alır.

       İstemci aldığı DHCP mesajına göre kendi konfigürasyonunu düzenler.

       Eğer istemci kira süresini uzatmak istediğinde DHCP sunucu ile ilişki kurulamıyorsa ne olur?  Ev kiraladığınızda ne oluyorsa burada da aynısı oluyor. Yani, kontrat  süresi bitimine kadar evi kullanmaya devam ettiğiniz gibi kiralanan IP adresi de kullanılmaya devam ediyor.

       İstemci ilk girişiminde kira kontratını yenileyememişse kalan sürenin dörtte üçü tamamlandığında herhangi bir DHCP sunucu ile ilişkiye geçmeye çalışır. Bu amaçla bir DHCP REQUEST mesajını broadcast olarak yayınlar. Bu mesajı alan sunucular isteği ya da DHCP ACK mesajı ile onaylarlar ya da DHCP NACK mesajı ile onaylamazlar.

            Kira kontrat süresi bitiminde istemci hala adres kontratını yenileyememişse artık IP adresini kullanamaz. Baştaki IP adresi kiralama işlemine döner.

6.1 DHCP Sunucu Hizmetinin Kuruluşu  

       DHCP sunucuyu kurarken ve konfigüre ederken yapabileceğimiz çok şey bulunmaktadır.

       Her şeyden önce DHCP sunucular aynı zamanda DHCP istemci olamayacakları için DHCP sunucuların IP adresini statik olarak vermek gerekir. Daha sonra istemcilere vereceğimiz IP adres havuzunu (scope) tanımlamalıyız. Örneğin, IP adreslerimiz 128.1.1.1’den başlayıp 131.1.1.250’ye kadar gidebilir. Ayrıca ağımızda geçerli olacak subnet maskesini de vermeliyiz. Örneğin, 255.255.255.0 gibi.

       Bilgisayar ağımızda bulunan makinelerin hepsi DHCP istemcisi olmayabilir. Bu durumda onların adreslerini statik olarak vermeli ve DHCP’nin adres havuzundan çıkarmalıyız.

       Bazı makinaların ise hep aynı IP adresini almaları gerekir. Bu durumda da bu makinalar için bazı IP adreslerini rezerve etmeliyiz. Ayrıca IP adreslerini dağıtırken default gateway, DNS sunucu, WINS sunucu adresleri gibi adresleri de dağıtabiliriz.

       DHCP hizmeti daha önceden Windows NT Server bilgisayarlara kuruluyor idi ancak şu anda Windows 2000 Advanced Server işletim sistemi DHCP server olarak set edileblir. Bu bilgisayarlar üzerinde TCP/IP protokolü bulunmalı, IP adresi statik girilmelidir.

       DHCP sunucu servisi, Windows NT ve Windows 2000 Advanced Server’ın  Control Panel’deki Network uygulamasının Services sayfasından kurulur. Her servisin yüklenmesinden sonra olduğu gibi sistem resetlenir. Sistem açıldığında Administrative Tools (Yönetim Araçları) menüsü altında DHCP Manager (DHCP Yönetici) başlıklı bir menü şıkkı görünür. DHCP hizmeti buradan konfigüre edilir.

       DHCP sunucu hizmetinin konfigürasyonu sırasında dağıtılacak IP adresleri havuzu, yani, scope tanımlanır. Bir DHCP sunucuda birden fazla adres havuzu bulunabilir. Eğer bilgisayar ağımız birbirine yönlendiriciler yardımı ile bağlanan birden fazla subnet’i içeriyorsa birden fazla havuz işimize yarayacaktır. Böyle bir durumda alt ağlardan birinde bulunan bir DHCP sunucu yardımı ile bütün istemcilere IP dağıtabiliriz.

       DHCP sunucuda bir altağ (subnet) için yalnızca bir adres havuzu tanımlanabilir. Adres havuzunun yanısıra IP adresi dağıtılırken gönderilebilecek seçimlik bilgiler de tanımlanır. DHCP sunucuda birden fazla havuz bulunabileceği için seçimlik bilgiler ya havuza özel olabilir, ya da bütün havuzlarda geçerli olabilir. Eğer ortamımızda DHCP sunucudan hep aynı IP adresini alması gereken istemciler varsa bunlar için IP adres rezervasyonu da yapılabilir.

Bir DHCP adres havuzu (scope) oluşturmak için;

        

 

 

 

 

 

 

 

 

 

 

 

   

 Şekil-6.3 DHCP sunucuda bir adres havuzunun oluşturulması

Şekil-6.3’de DHCP sunucudan adres havuzunun nasıl alındığı gösterilmiştir.

1-Start menüsünden, Programs ve oradan da Administrative Tools’u seçilir. Sonra da DHCP Manager’a tıklayalım.

2-Local Machine’in üzerine tıklayalım.

3-Scope menüsünden Create (yarat)’a tıklayalım.

4-Create Scope başlıklı diyalog kutusu görünecektir.

 

Burada yer alan alanların açıklamaları şu şekildedir:

Veri Alanı                                          Açıklama       

IP Address Pool                                 IP adres havuzu

Start Address (Başlangıç Adresi)          İstemcilere verilecek ilk adres

End Address (Bitiş Adresi)                  İstemcilere verilecek son adres

Subnet Mask (Subnet Maskesi) İstemcilere verilecek subnet maskesi

Exclusion Range                                    (Hariç Tutma Aralığı)  Yukarda tanımlanan adres havuzu içindeki özel bir bölümü hariç tutmak için tanımlanan hariç tutma aralığının başlangıç ve bitiş adresleri

Start Address                                       Başlangıç adresi

End Address                                        Bitiş Adresi

Lease Duration (Kira Süresi)                IP Adresinin Kullanılma Süresi

Unlimited (Sınırsız)                               İstemcilere verilen adreslerin bir süre sınırı yoktur.        

Limited To

(Yandaki Süre ile Sınırlıdır)                   Verilen Adresler yalnızca yandaki   

süre sonuna kadar geçerlidir.

Name (isim)                                         Bu scope’un ismi

Comment (Yorum)                               scope ile ilgili yorum

       Bu alanlara bilgi girdikten sonra OK tuşuna basılıp bir adres havuzu oluşturulacak ve kullanıcıya bu adres havuzunu aktive edip etmeyeceği sorulacaktır. YES tuşuna tıklarsanız havuz aktive edilir yani, artık IP adres dağıtılabilir.

       DHCP Manager programında aktif havuzlar sarı bir lamba ile gösterilir. Bir havuzun yanında lamba yanmıyorsa o havuz aktif değildir ve buradan adres dağıtımı yapılamaz.Eğer ağda DHCP istemci yapılamayan bilgisayarlar bulunuyorsa onların adreslerini statik olarak girmek ve bu adresleri IP havuzundan hariç tutmak gerekir.  

6.2 DHCP Sunucunun Seçimlik Bilgilerini Konfigüre Etmek

       DHCP sunucu istemcilere IP adresi ve subnet maskesi bilgilerini gönderirken default gateway, WINS ve DNS sunucu adresleri gibi başka bilgilerde gönderebilir. Bu ek bilgiler DHCP Manager içinden DHCP Options şıkkından tanımlanabilir.

       Seçimlik bilgiler ya sunucuda tanımlı olan bütün havuzlar için tanımlanır ya da bir havuza ait olabilir.

Seçimlik bilgileri girmek için;

DHCP Manager’da bir adres havuzu seçilir.

DHCP Options menüsünden Global ya adresi scope şıkkı seçilir. Karşımıza DHCP Options başlıklı diyalog kutusu gelir.

            Şekil-6.4’de DHCP Options menüsü görünmektedir bu menüden istediğimiz konfigürasyonu gerçekleştirebiliriz.


Şekil-6.4 DHCP Seçimlik Bilgilerinin Tanımlanması

       Şekildeki Unused Options(Tanımlı Olmayan Seçenekler) başlıklı kutu içerisinde tanımlayabileceğimiz parametreler ile sistem ayarları gerçekleştirilir. Buradaki bazı özellikler Win NT tarafından kullanılır. Diğerleri seçilirse DHCP sunucu bu bilgileri istemcilere gönderir fakat diğer işletim sistemlerini kullanan istemciler bu özellikleri aktif olarak kullanabilir.

Tablo-6.1 Seçimlik Bilgilerin Anlamları

Seçimlik Bilgi

Açıklama

003 Router

Router’in adresini tanımlamak için kullanılır. Pratikte bu adres default gateway adresidir.

006 DNS

DNS sunucuların adresini tanımlamak için kullanılır.

044 WINS/NBNS Servers

WINS sunucunun adresi. Eğer istemci üzerinde bir WINS sunucu adresi elle girilmişse elle girilen adres geçerli olur.

046 WINS/NBT node type

TCP/IP üzerinde NetBIOS isim çözümlemesinin nasıl yapıldığını gösterir. Verilebilecek değerler;

B-node(Broadcast),P-node(Peer)

M-node(Mixed;Karışık),

H-node(Hybrid;Melez)

047 NetBIOS Scope ID

NetBIOS scope ID’sini tanımlar. TCP/IP üzerinden NetBIOS iletişimi yalnızca aynı scope ID’sine sahip makinalar arasında gerçekleşebilir.    

       Henüz tanımlı olmayan bilgileri seçip add tuşu ile Active Options(Tanımlı Seçimlik Bilgiler) kutusuna atılır. Bundan sonra istediğimiz bilgiyi işaretleyip Value(Değer) tuşuna tıklayarak seçimlik bilginin değerini girebiliriz. Bu değer IP Adres, Long, String, Word, Byte, Binary tiplerinden biri olabilir.

       Bir istemciye IP adres ayırmak için Scope menüsünden Add Reservations (Rezervasyon Ekle) seçeneği ile bu işlemi gerçekleştiririz. Bu seçeneği işaretlediğimizde şekil 6.5’de olduğu gibi Add Reserved Clients diyalog kutusu çıkacaktır. Bu kutudaki alanların açıklaması ise şu şekildedir. 

           

            IP Address(IP Adresi)                                     İstemciye Verilecek IP Adresi

            Unique Identifier                                                          Mac Adresi

            Client Name(İstemcinini İsmi)                           Bilgisayar İsmi


            Client Comment                                                           İstemci Hakkındaki Yorum

Şekil-6.5 Bir İstemciye Bir IP Adresini Ayırma

       Şekle göre 00ce125336a1 Mac adresine sahip olan bilgisayara 194.27.1.44 nolu IP adresini ayırarak bu IP adresinin her seferinde aynı makineye verilmesi sağlanır.

6.3 DHCP Sunucuların Kurulum Yerleri

       DHCP ile IP adres alımı broadcast mesajlara dayandığı için ağımızı oluşturan her bölüme bir DHCP sunucu kurmak gerekiyor gibi görünüyor. Ama bölümlerin birine kuracağımız DHCP sunucu ile diğer bölümlere de hizmet vermek mümkündür. Tek bir DHCP sunucunun bulunduğu ağlarda diğer bölümlerde birer bilgisayar DHCP röle ajanı konfigüre edilir.

       DHCP röle ajanı konumdaki bilgisayarlar kendi bölümlerindeki DHCP isteklerini DHCP sunucuya aktarırlar. DHCP sunucu üzerinde alt ağların her biri için farklı adres aralıkları bulunur. DHCP sunucu kendisine bir röle ajan tarafından IP isteği iletilince bu ajanın adresine bakarak hangi IP adres aralığından adres vermesi gerektiğini bulur. O IP adres aralığında boş bir adres varsa onu röle ajanına gönderir. Röle ajanı da IP adresi istekte bulunan bilgisayara aktarır.    

6.4 DHCP Röle Ajanı


       DHCP sunucu ağdaki bilgisayarlara IP adresi dağıtma işlemini gerçekleştiriyordu. DHCP röle ajanı ise farklı ağ segmentlerinde bulunan DHCP sunucunun olmadığı ağdaki bilgisayarlara IP adresi dağıtma görevini üstlenir. Şekil- 6.6’da DHCP röle ajanının ağdaki durumu görülmektedir.

Şekil-6.6 DHCP Röle Ajanı

        Bu şekilde iki segmentten oluşan bir bilgisayar ağı bulunmaktadır. DHCP sunucu ağın soldaki segmentine kurulu durumdadır. DHCP sunucudan adres alma işlemi broadcast tipindeki mesajlara dayandığı için sunucu kendi segmentine IP adresi dağıtma işini gerçekleştirir. Ama diğer segmente adres dağıtamıyor çünkü broadcast mesajları yönlendiriciden geçemiyor.

       Diğer segmentteki bilgisayarlara IP adresi vermek için sağdaki segmente de DHCP sunucu kurulabilir ve bu sorunu çözer. Ama o bölüme DHCP kurmak istemiyorsak o zaman o segmentteki bir bilgisayarı DHCP Röle Ajanı olarak kuruyoruz.

            Bunun için NT sunucu makinelerden birine DHCP Relay Agent servisi yüklenir ve o makineye diğer segmentte bulunan DHCP sunucunun adresi girilir. DHCP sunucuda da diğer segmentten gelecek olan isteklere yanıt vermek için ayrıca bir adres havuzu tanımlıyoruz. Bundan sonra ikinci segmentteki bir makine IP adresi almak istediğinde isteğini DHCP röle ajanına iletecek, oda DHCP sunucunun ayrılan adres havuzundan adresi alarak ilgili yere verecektir.