DHCP nedir? DHCP Sunucular Nasıl Çalışır?

Günlük hayatımızda kullandığımız ve Internet'e bağlı tüm cihazlar (bilgisayarlar, telefonlar, akıllı televizyonlar ve benzeri) bulundukları ağ ve Internet üzerinde haberleşebilmek için kullanabilecekleri bir adrese ihtiyaç duyarlar. Tıpkı bir mektubu gönderirken olduğu gibi, Internet üzerinde gönderilen bilgiler de ulaştırılacakları adresi bilmelidir. Bu adrese IP (Internet Protocol) adresi denir. Tabii ki bu adresleri cihazlarımız normalde kendileri kafalarına göre alamazlar (bazı durumlar hariç, bknz APIPA). Adresleme işlemleri sırasında düzeni sağlayacak ve oluşabilecek karışıklıkları önleyecek bir protokole ve ağ elemanlarına ihtiyaç duyulur.

DHCP (Dynamic Host Control Protocol)

DHCP bu ihtiyacı karşılamak için tasarlanmış bir protokoldür. Böylece ağdaki cihazlara bir uyum ve düzen içinde kullanabilecekleri adresler atanır. Varsayılan olarak bilgisayar ve cep telefonu gibi elektronik cihazlar herhangi bir ağa bağlandıklarında ağ üzerinde DHCP görevini üstlenmiş bir cihaz olup olmadığını sorgularlar. Eğer bu görevi gerçekleştirecek bir ağ elemanı varsa bu sorguya cevap verir. Sonrasında bu ikili arasında bir müzakere başlar. Müzakere sonucunda atanacak IP adresine karar verilmiş olur. DHCP görevi gören eleman (modeminiz yada DHCP Sunucusu olabilir) atanacak adresin ağın düzenine ve adresleme planına uygun bir adres atadığından ve ağdaki diğer cihazlara atamış olduğu adresten farklı olduğundan emin olmak zorundadır. Aksi takdirde birden fazla cihaz aynı adrese sahip olabilir ve bu durumda IP çakışması olur (IP Conflict). IP çakışması oluştuğunda, aynı adrese sahip bilgisayarların diğer bilgisayarlar ile iletişiminde sorunlar ortaya çıkacaktır. Bilgisayarınız sizi IP çakışması olduğunu farkederse yeni adres almaya çalışacaktır. (Sabit IP alacak şekilde ayarlanmadıysa tabii).

IP Adres Kiralama

DHCP ile size atanan adres geçici bir süre için verilmektedir. Bu sebeple bu adres "kiralık" olarak nitelendirilir. DHCP servisini sağlayan cihaz size bu adresi verdikten sonra, kendi tablosunda adresin verildiği bilgisayarı ve verildiği süreyi belirten bir kayıt yaratır. Aynı şekilde bilgisayarınızda kendisine verilen bu adresin geçerliliğinin dolduğu tarihi kayıt altında tutar. Sürenin dolmasına yaklaşıldığında bilgisayarınız DHCP ağ elemanı ile iletişime geçerek süresinin uzatılmasını talep eder. Süre dolduğunda "kira" yenilenmezse (mesela cihazınız uzun bir süre kapalı kaldıysa) ve bahsi geçen adres bu sırada başka bir cihaza verildiyse, cihazınıza başka bir adres verilecektir. Bu merak etmenizi gerektiren bir durum değildir. Ağ içinde geçerli olan bir adres aldığınız sürece - ki DHCP'nin görevi budur - diğer cihazlara otomatik atanan adreslerden bir farklı olmayacaktır. Ayrıca bilgisayarınız ve ağınızı şekillendiren tüm cihazlar ve kullanılan protokoller bu tarz durumların üstesinden ustalıkla gelecek şekilde dizayn edilmiştir, her şey çoğu zaman siz farkına bile varmadan çözümlenir.

Peki neden böyle bir kiralama işlemi yapılıyor? Bunun sebebi IP adreslerinin sayıda olmasıdır. Böylece ağ üzerinde artık bir cihaz tarafından kullanımda olmayan adreslerin, kullanılabilecek adresler havuzuna geri teslim edilmesi gerekir. Çoğu evde kullanılan adresleme şemasını ele alacak olursak, 192.168.0.X (x cihazınızın alacağı adresin son bloğu, kalan kısım sabit) şeklinde bir adres alınır. Bu adres şeması ile de 192.168.0.2 ile 192.168.0.254 arasında adres alabilirsiniz. (192.168.0.1 modeminizin adresidir). Örnek olarak evinizdeki ağa geçici olarak bağlanan bir arkadaşınızı düşünün. DHCP servisini sunan cihaz bu adresi alınmış olarak işaretlediği için eğer bir süre sınırı vermeseydi bu adresi başka bir cihaz kullanamazdı. 

Şimdi öncelikle ev ve küçük ölçekli ağlarda adreslemenin nasıl yapıldığına daha sonra da karmaşık ağlarda bu işlerin altından nasıl kalkıldığına bir bakalım.



Ev Ağlarında Adresleme Nasıl Yapılır?

Modemler, birden çok ağ cihazı kullanılarak gerçekleştirilecek işlerin tek cihazda toplanmasını sağlarlar. Bu görevlerden biri de DHCP ile adres atamasıdır. Evinizde ve küçük ofis ağlarında adresleme işlemleri Modem denilen cihaz tarafından üstlenilir. Evinizin ağına bağlandığınız anda size aynı ağa bağlı olduğunuz sürece kullanacağınız bir adres verilir ve iletişiminiz bu adres ile gerçekleştirilir. Verilen adresler ve kiralar modeminiz tarafından bir tabloda tutulur. DHCP ayarlarınızı ve tabloyu modeminizin arayüzünden görebilir ve değiştirebilirsiniz.

Modem DHCP Ayarları
Resmi büyütmek için üstüne tıklayabilirsiniz.

DHCP'yi Açmak ve Kapatmak

DHCP protokolünün kullanımını modem arayüzünüzden açıp kapatabilirsiniz. Bu özelliği kapatmanız durumunda cihazlar otomatik olarak adres alamayacağı için Sabit (Static) olarak adres ataması yapılmadığı sürece söz konusu cihaz (bilgisayar, cep telefonu...) ağ üzerinde iletişim kuramayacak ve Internete erişemeyecektir. Statik adres ataması nasıl yapılır?

Başlangıç Yerel IP Adresi

Bu adresin sadece bir kısmı düzenlenebilir durumdadır. IP adresleri 4 bloktan oluşur ve her blok 0 ile 255 arasında değer alabilir (her blok 8 bit toplamda 32 bit). Daha gelişmiş yönlendiricilerde (router'lar) diğer blokların da değiştirilmesine olanak tanır, ancak bu başka bir makalenin konusu olduğu için detaya girmiyoruz. Başlangıç adresi ağda adres talebinde bulunan cihazlara verilmeye başlanacak adresi belirtir. Belirtilen sayıya kadar olan adresleri reserve etmiş olursunuz (ağınızda kesinlikle adresi aynı olmasını istediğiniz cihazlar için, yazıcı gibi...). Bu sayıdan itibaren 254'e kadar olan tüm adresler atanabilir durumdadır.

CPE Sayısı (Customer-premises Equipment)

Kısacası kullanıcılara ait bilgisayarlar, telefonlar ve diğer tüm ağa bağlı cihaz ve bunlara atanabilecek adres sayısını belirtir. Başlangıç IP adresi ile uyumlu bir değer seçilmelidir. Bu sayıyı örnek olarak 20 olarak atarsanız, henüz müsait adresler olsa dahi modeminiz daha fazla dağıtım gerçekleştirmeyecektir. Başlangıç IP adresinin altında kalacak şekilde ayarlayabilirsiniz ancak üstüne çıkamazsınız.

Kiralama Süresi (DHCP Lease Time)

Cihazlara atanan adreslerin ne kadar süreliğine kiralanacağını belirtir. Buradan süreyi arttırabilir yada azaltabilirsiniz. Ağ ile ilgili konseptleri iyice kavramadan değişiklik yapmanızı tavsiye etmiyoruz.

DHCP Server: Büyük Ağlarda Adres Ataması Nasıl Yapılır?




Ev ağlarına göre daha büyük ve karmaşık ağlarda modemler gerekli ihtiyacı karşılayamazlar. Daha gelişmiş ve ağır yüklerin altından kalkabilecek ağ elemanları kullanılmalıdır. DHCP Sunucusu da böyle büyük organizasyonlarda IP dağıtımını, şirketin bilgisayar sistemleri tarafından belirlenen düzende dağıtılması için görevlendirilen bir bilgisayardır. Bu sunucular çok daha detaylı bir şekilde adresleme şeması oluşturulmasına olanak tanır. Örnek olarak bir şirketteki farklı pozisyonlara ait bilgisayarlara farklı adres havuzlarından adres ataması yapılabilir. Sunucu bilgisayarlar Windows Server gibi sunucusal görevleri gerçekleştirmek için özelleştirilmiş işletim sistemleri kullanırlar. Server işletim sistemleri ile geçerli bilgisayarın DHCP rolünü üstlenmesini sağlabilirsiniz.

Adresleme Nasıl Yapılır?

Genel konsepti anladığımıza göre şimdi işin biraz daha derinine inerek IP isteyen cihaz (client) ile IP dağıtan cihaz (host) arasındaki iletişiminin nasıl şekillendiğine göz atabiliriz.



DHCP Discover (Keşif): Bu aşamada kullandığınız cihaz (client) ağ üzerinde bir DHCP elemanı olup olmadığını anlamak için ağa bir genel yayılım paketi (broadcast) gönderir. Bu paket ağda aktif olan tüm bilgisayarlara gider ancak sadece DHCP elemanı üstüne alınır.

DHCP Offer (Teklif): DHCP elemanı (host), cihazınıza (client) elindeki müsait adreslerden birini teklif eder.

DHCP Request (İstek): Cihazınız adresin uygun olduğuna karar verdiyse adresi DHCP hostundan ister.

DHCP Ack (Anlaşıldı): Son olarak DHCP elemanı adresi tablosunda alındı olarak işaretler ve iletişimin başarıyla tamamlandığını belirtmek için "anlaşıldı" bildirisi gönderir. Böylece adresleme tamamlanmış olur.

Protokol Paketinin İçeriği

DHCP, kiralanan IP adresinin yanı sıra bazı diğer adresleri ve bilgileri de içerir. Bu adreslerden biri cihazın Internet'e ulaşabilmek için kullanması gereken Gateway (modem yada router'ın) adresidir. Bir diğeri ise IP adreslerini isimlere dönüştürmek için kullanacağı DNS sunucusunun adresidir. Ayrıca DHCP sunucusu tabii ki kendi adresini de iletişimin devam edebilmesi adına gönderir. Cihazınızın gönderdiği pakette ise cihaza ait fiziksel (MAC) adresi de gönderilir. MAC adresi değiştirilemez kabul edildiği için DHCP elemanları tablolarında cihazınızı bu adres ile tanımlarlar.

Sabit IP Adresi (Static Address)

Eğer kullandığınız cihaz sabit bir IP adresi almak üzere ayarlanmışsa (yazıcı gibi cihazlar için gerekli olabilir), ağa bağlanıldığında DHCP sunucusu hiç aranmayacaktır. Cihazlarda bu ayarlar yapılırken, o sırada başka bir cihaza aynı adresin atanmamış olduğuna dikkat edilmesi gerekir. Yoksa IP çakışması meydana gelecektir. DHCP ayarlarında, bu adresler otomatik olarak dağıtılmayacağı için, reserve edilmiş IP aralığından adres atanma gerekir. DHCP tarafından dağıtılan adreslere dinamik - otomatik IP adresi denir.

DHCP'nin Avantajları

Bu protokol sayesinde cihazlarımızı ağa ve Internet'e bağlarken elle adres ataması yapmaktan kurtulmuş oluyoruz. Özellikle daha karmaşık olan ağlar düşünüldüğünde, 600 adet bilgisayara elle statik IP ataması yapmak gerçekten uzun ve yorucu bir iş olacaktır. Protokol sayesinde sadece kabloyu bilgisayara takmanız yada WiFi ağına bağlanmanız yeterli, gerisini protokole bırakın.

Adres Ataması Yapılamadığı Durumlarda Ne Olur?

Bir ağda DHCP bulunmaması yada geçici olarak servis dışı kalması durumunda, Windows işletim sistemi kullanan bilgisayarlara ait bir özellik olan APIPA devreye girecektir. APIPA, DHCP bulunmayan ağlarda bilgisayarların kendi aralarında organize olarak adresleme yapmaya çalışmasını düzenleyen bir özelliktir. Böylece kısıtlı da olsa bir iletişim söz konusu olmuş olur. Daha fazla bilgi için APIPA ile ilgili makalemizi buradan okuyabilirsiniz.

Yorumlar



Bu blogdaki popüler yayınlar

IP Adresi nedir? Nasıl çalışır?

C# LAN üzerinde TCP Bağlantısı ile Veri Aktarımı (Konsol)

Ağ Topolojileri nelerdir? Hangi topoloji bir ağ için daha uygun?

Android Programlama: EditText Kullanarak Kullanıcıdan Girdi Almak