Çoğumuz biliyoruz ki, ağda bulunan her cihazın kendine ait bir ip adresi bulunur. Cihazlar arası iletişim ip adresine göre yapılır. Tabi bu ağlar arası iletişim için geçerlidir, aynı ağda bulunan cihazlar 3. katmana çıkmadıkları için MAC adresleri ile konuşurlar, ip adresine gerek kalmaz. Peki ya bir cihaz ip adresini nereden, nasıl alır?

Basit, ya statik olarak (yani elle) ip adresini girersiniz ya da bu ip adresini dinamik bir şekilde sunucudan alırsınız. Eğer bir ağ yöneticisiyseniz ve ağda bulunan tüm hostlara ip adresi vereceksiniz, tüm bilgisayarlara tek tek gidip elle ip adresi girmeniz zor olacaktır. Bu yüzden ISP’nin (ISP:Internet Service Provider- İnternet Servis Sağlayıcı) size verdiği ip bloğunu alıp, host sayısını belirleyerek router konfigürasyonu yaparsınız ve hostlar router’dan ip adreslerini çekerler. Ya da bir DHCP sunucunuz olur, ip dağıtma işlemini oradan halledersiniz.

DHCP, hostlara dinamik olarak ip adresi dağıtan protokoldür. Çok büyük ağlarda bu şekilde ip dağıtımı olur. Peki nasıl olur?

DHCPv4

DHCPv4, IPv4 adreslerini ve diğer ağ yapılandırma bilgilerini bir ip havuzundan dinamik olarak atar ya da başka bir deyişle kiralar. DHCPv4, hizmetleri sağlamak için bir yönlendirici yapılandırabilir.

DHCP, UDP’de 67 ve 68 portlarını kullanır. UDP kullanmasının sebebi ise, tek paket göndererek işlerini bitirmesidir. Eğer TCP kullansaydı haberleşmeyi başlatmak ve bitirmek için toplamda 7 paket daha göndermesi gerekecekti, gönderilen paket Broadcast’e gideceği için (tüm cihazlar) verimi düşürecekti.

DHCP sunucuları ip adresini istemciye kiralarlar. Belirli bir süre sonra, istemci tekrar ip ister, sunucu aynı adresi istemciye tekrardan ayırır.

Bir cihazın DHCP sunucusundan ip adresi alabilmesi için ağa paket yollaması gerekir. Bu paketin source ip adresi (kaynak ip) 0.0.0.0’dır. Çünkü cihazın henüz ona ait bir ip adresi yoktur. DHCP Discover paketini gönderip “Bana ip verebilecek birisi var mı?” diye sorar. Bunu tüm ağa sorar, bu yüzden bu paketin destination ip adresi (hedef ip) 255.255.255.255’dir.

“Eğer bir paketin hedef ip’sine 255.255.255.255 yazarsanız, bu paket o ağdaki tüm cihazlara gider. Bu adres, Broadcast adresidir.”

Bu paketi alan DHCP sunucusu, DHCP Offer paketi ile cihaza cevap verir. “Evet, 192.168.1.30 ip’sini kullanmak ister misin?” Bu paketin hedef ip’si Unicast’tir. Yani cevap, ip adresi çağrısında bulunan cihaza gidiyor. Tek bir cihaz.

Buna karşılık olarak cihaz DHCP Request paketi ile cevap verir. “Bu ip’yi kullanmak istiyorum. Onaylıyor musun?” Bu paketin adresi de Broadcast’tir. Bu paketi onay beklemek gibi düşünebilirsiniz.

Son paket DHCP sunucusundan gelir. Sunucu, DHCP Ack paketi gönderir. “Kullanabilirsin, onaylıyorum.” Bunun da hedef ip’si Unicast’tir.

İşte bu paketlerin toplamına DORA Prosesi (DORA Process) denir.

Böylece sunucu ile istemci arasındaki iletişim sonlanmış olur. İstemci, ip adresi ve diğer parametreleri almıştır. Sunucunun ip adresini gönderdiği Offer paketinin içinde bulunan parametreler şunlardır:

Client IP Address (CIADDR) – 4 bytes (0.0.0.0) İstemcinin ip adresi

Your IP Address (YIADDR) – 4 bytes (192.168.1.30) İstemciye gönderilen ip adresi

Server IP Address (SIADDR) – 4 bytes (192.168.0.1) Gönderen server’ın ip adresi. Buradan, ip adreslerini bir router’ın dağıttığını anlayabiliriz. Çünkü gateway’in adresi ile aynı.

Gateway IP Address (GIADDR) – 4 bytes (192.168.0.1) Gateway’in yani router’ın ip adresi.

Client Hardware Address (CHADDR) – 16 bytes (MAC) MAC Adres

Server Name (SNAME) – 64 bytes

Boot Filename – 128 bytes

DHCP Options – Veriable. Bunun içerisinde option numaraları vardır. Bu numaralar ile, kiralanan ip adresinin bir takım bilgileri gönderilir. Mesela;

option1: Subnet Mask: 255.255.255.0 (SM bilgisi)

option51: Lease time: 1 saat (Ip adresinin ne kadar zaman için kiralandığı)

option58: Renewal time: 30 dakika (Kiralanan ip adresinin ne kadarda bir yenileneceği)

Cihaz, ip adresini kiraladıktan sonra ne kadarlık kiralamışsa yarı zamanı geldiğinde o ip için DHCP sunucusuna istek atar. Yani ip 1 saatliğine kiralanmışsa, 30 dakika sonra istemci, ip’yi tekrar kiralamak için istek yollar, sunucu aynı ip’yi tekrar ona 1 saatliğine verir. Peki kira yenileme işlemi nasıl yapılır?

Burada istemci DHCP Request paketi göndererek “Kiramı yenilemek istiyorum.” der.

Sunucu ise DHCP Ack paketi göndererek “Ip adresi kiralaması yenilendi.” diyor. Böylece istemci aynı ip adresini kullanmaya devam ediyor.

Şimdi de, bir router’ı DHCP sunucusu olarak nasıl konfigürasyonunu yapacağımıza bakalım.

1)ROUTER’IN IP DAĞITMASI İŞLEMİ


Böyle bir topolojimizin olduğunu düşünelim. R1’de ip dağıtması için ayarlamalar yapacağız.

Unutmayalım ki, DHCP konfigürasyonu yapmadan önce router’ın ağı tamamen tanıması gerekiyor.

İlk satırda, hangi ip aralığını dağıtmayacağımızı yazıyoruz. 1.1 ile 1.10 arasını ağa dağıtmayacağız. Sonra bir ip havuzu oluşturuyoruz. Adını HAVUZ olarak belirledik.

Ip havuzu oluşturduktan sonra otomatik olarak bir alt moda giriyoruz (dhcp-config). Tüm ayarlamalar burada yapılacak. Önce hangi ip uzayından ip dağıtacağımızı giriyoruz. Biz burada 192.168.1.0 uzayından ip dağıtacağız, subnet maskemiz ise 255.255.255.0 olacak.

Default router bilgisini veriyoruz, bu aslında default- gateway bilgisidir. Bu bilgiyi vermezsek bu havuzdan ip alan cihazlar internete çıkamazlar, internete çıkmak istiyorsan bu ip’ye sahip router’a git, diyoruz kısaca.

Domain name tanımlamanıza gerek yok, tanımlamasanız da oluyor. Tanımladığınızda, bir isme erişmek ya da ping atmak istediğinizde sonuna domain ismini koyarak cihaza erişmeye çalışır.

DNS Server’ın ip adresini de söyledikten sonra işimiz bitmiş oluyor. Sonra gidip, cihazdan ip çağrısında bulunacağız.

İstemciye gidip, ip konfigürasyonu kısmından static değil de DHCP’yi seçersek, gerekli bilgileri otomatik olarak alacaktır. Sizin tek tek yazmanıza gerek kalmamış oluyor. Fark ettiyseniz istemciye ip adresini 192.168.1.11 olarak verdi, çünkü ilk 10 ip’yi dağıtmamasını söylemiştik. Bundan sonraki isterse 192.168.1.12’yi verecek, bu işlem sırasıyla devam edecek.

İşte DHCP’yi seçtiğiniz anda DORA prosesi gerçekleşmiş olup, istemci ağa sorar ve ip’sini almış olur. Tabi bu işlem çok kısa bir süre içinde gerçekleşir.

“Router’ın varsayılanda DHCP servisi açıktır, eğer kapatmak istersek config modda iken no service dhcp yazmamız yeterlidir.”

Kimin hangi ip’yi aldığını öğrenmek için;

“show ip dhcp binding” komutunu kullanırız. Burada kullandığımızda sadece bir istemci ip aldığı için bir kayıt çıkıyor. Topolojide bulunan laptop DHCP’den ip almıştı, laptopun ip’si ve MAC adresi gözüküyor. Eğer yanındaki PC1 de dinamik ip alırsa;

pc’nin de kaydı eklenir. Pc 1.12 ile biten ip’yi aldı.

Bu komut ise statik ile dinamik ip çakışması varsa onu gösterir. Bizde çakışma olmadığı için kayıt çıkmıyor.

Dediğimiz gibi, ip dağıtma işlemini ya router ya da DHCP sunucusu halleder. DHCP sunucusu genellikle hostlarla aynı ağda bulunmaz, routerın başka tarafında olurlar. Bir cihaz ip adresi almak için ortama broadcast paketi yollar, ama routerlar broadcast adresine giden paketleri geçirmezler. Eğer geçirselerdi bir broadcast paketi dünyadaki tüm cihazlara giderdi.

Router’ın ip isteme paketini geçirmesi ve DCHP’ye iletmesi için komut kullanmamız gerekmektedir.

DHCPv4 RELAY (DHCP AKTARMA)

Router gelen ip istek paketini alır, unicast’e çevirir ve diğer ağda sadece DHCP sunucusuna gönderir.

Sana gig0/0 interfacesinden gelen ip istek paketlerini al, unicast olarak 192.168.3.10 ip’li sunucuya gönder.

2)DHCP SUNUCUSUNU YAPILANDIRMA

Şu ana kadar bu işi router ile yapmayı gördük. Şimdi ise bir sunucu ile nasıl yapılabildiğini göreceğiz.

Serverımıza gelip DHCP servisini başlatıyoruz. Burada gerekli bilgiler giriliyor. Ip havuzumuza isim veriyoruz. DG, SM, DNS bilgilerini giriyoruz.

Start IP Address kısmına ip adreslerini kaçtan başlatacaksak oradan itibaren yazıyoruz.

Maximum Number of Users kısmına ise kaç tane host’a ip dağıtılacaksa sayısını yazıyoruz. Tüm bilgiler girildikten sonra Add kısmına tıklayıp ip havuzumuzu kaydettik. Artık istemciler DHCP sunucusundan ip adresi alabilirler.

6 Yorumlar

  1. Merhaba Didem Hanım
    Pc1 de ip adresi hatalımı yoksa önce elle ip verip sonra routerdan çekmesi için mi farklı ip adresi verildi?
    Güzel yazı olmuş elinize sağlık

  2. Merhaba Didem hanım,

    Aşağıdaki ifade yanlış olmuş, isp’nin size verdiği ip bloğunu alıp hostlara dağıtmazsınız. Isp sizlere public ip bloğu verirken , hostlara dağıtmanız gereken ip bloğu mutlaka private olmalıdır.
    Okuyan arkadaşların kafa karışıklığı yaşamaması için belirtmek istedim. Elinize sağlık.
    ——————————————————————————————————————–
    Bu yüzden ISP’nin (ISP:Internet Service Provider- İnternet Servis Sağlayıcı) size verdiği ip bloğunu alıp, host sayısını belirleyerek router konfigürasyonu yaparsınız ve hostlar router’dan ip adreslerini çekerler.
    ——————————————————————————————————————–

  3. Merhaba didem hanım. Çiçek bahçeleri gibi çok düzenli bir çalışma olmuş. Sizi tebrik eder basarilarinizin devamını dilerim. Gerçekten faydalı oluğunu düşünüyorum.

Cevap Ver

Lütfen yorumunuzu yazınız!
Lütfen isminizi buraya giriniz