İçeriğe geç
academia.sh

Ders 12 / 18

DHCP

Dinamik adres kiralamanın dört adımı, kira süresi ve yenileme eşikleri, örnek plandan havuz çıkarımı ve aktarım aracısının rolü.

İçindekiler

Önceki dersler örnek ağdaki her adresin elle atandığını varsaydı. Sunucu odasındaki on makine için bu varsayım sürdürülebilir; misafir kablosuz ağındaki yüz cihaz için değildir. Her cihaza adres, maske, geçit ve ad sunucusu bilgisini tek tek girmek olanaksızdır.

Bu dersin sorusu, bir cihazın ağa bağlandığı anda bu dört bilgiyi nereden alacağıdır. Yanıt bir tavuk–yumurta sorunuyla başlar: cihazın bilgiyi isteyebilmesi için bir adresi olması gerekir, ama adresi olmadığı için istemektedir.

Adressiz Konuşmak

Sorun, bağlantı katmanı üzerinden çözülür. Cihaz kendi adresi yerine belirsiz adres 0.0.0.0 kullanır ve hedef olarak sınırlı yayın adresi 255.255.255.255 yazar. Çerçeve düzeyinde hedef, yayın adresi ff:ff:ff:ff:ff:ff olur. Bu yayın, yayın alanındaki tüm cihazlara ulaşır; içlerinden yapılandırma dağıtan olan yanıt verir.

DHCP (Dynamic Host Configuration Protocol), bu alışverişi yürüten protokoldür. UDP üzerinde çalışır; istemci 68, sunucu 67 numaralı bağlantı noktasını kullanır. Taşıma katmanının seçimi zorunludur: bağlantı kurulumu gerektiren bir protokol, adres yokken kullanılamaz.

Dört Adım

Kiralama dört mesajla tamamlanır.

Adım Mesaj Yön Adresleme Taşıdığı bilgi
1 Keşif (discover) İstemci → Yayın 0.0.0.0255.255.255.255 İstemcinin donanım adresi, işlem kimliği
2 Teklif (offer) Sunucu → İstemci Sunucu adresi → Yayın veya tekil Önerilen adres, maske, geçit, kira süresi
3 İstek (request) İstemci → Yayın 0.0.0.0255.255.255.255 Kabul edilen teklif ve sunucunun kimliği
4 Onay (acknowledge) Sunucu → İstemci Sunucu adresi → Yayın veya tekil Kiralamanın kesinleşmesi ve seçenekler

Üçüncü adımın neden yayınla gönderildiği ilk bakışta anlaşılmaz: istemci hangi sunucudan teklif aldığını bilmektedir. Gerekçe, birden çok sunucunun bulunabilmesidir. İstek yayınla gittiğinde, teklifi kabul edilmeyen sunucular da bunu görür ve ayırdıkları adresi geri bırakır. Yayın olmasaydı bu adresler bir kira süresi boyunca boşuna tutulurdu.

İkinci adımda istemcinin henüz adresi olmadığı için sunucunun yanıtı bir tuhaflık içerir: yanıt, henüz atanmamış bir adrese gönderilmelidir. Gerçekleştirimler bunu iki yolla çözer — ya yanıtı yayınla gönderir ya da istemcinin donanım adresine doğrudan çerçeve kurar. İstemci, hangi yolu tercih ettiğini keşif mesajındaki bir bayrakla bildirir.

Seçenekler

Kiralamanın asıl değeri, adresle birlikte gelen yapılandırma bilgisidir. Bunlar seçenek (option) alanlarında taşınır:

Seçenek Taşıdığı bilgi Örnek ağdaki değeri (yönetim bölümü)
Alt ağ maskesi Ağ/düğüm sınırı 255.255.255.224
Yönlendirici Varsayılan geçit 192.168.10.193
Ad sunucusu Çözümleyici adresleri 192.168.10.226
Alan adı Arama son eki Kurumun iç alan adı
Kira süresi Geçerlilik Saniye cinsinden
Sunucu kimliği Kiralamayı veren Sunucunun adresi
Yenileme eşikleri T1 ve T2 Kira süresinin oranları

Maskenin bu listede olması, Alt Ağlara Bölme dersindeki saptamayı hatırlatır: adres tek başına eksik bilgidir. Kiralama, adresi maskesiyle birlikte teslim eder.

Kira Süresi ve Yenileme

Adres kalıcı olarak verilmez, kiralanır (lease). Sürenin sonunda kiralama düşer ve adres havuza döner. Süreli olmasının nedeni, ağa bir kez bağlanıp giden cihazların adresleri süresiz tutmasını önlemektir.

İstemci süreyi beklemez; iki eşikte yenileme dener:

Eşik Zamanlama Davranış
T1 Kira süresinin %50’si Kiralamayı veren sunucuya doğrudan yenileme isteği
T2 Kira süresinin %87,5’i Herhangi bir sunucuya yayınla yeniden bağlanma isteği
Bitiş %100 Adres bırakılır, süreç baştan başlar

Sekiz saatlik bir kirada T1 dört saatte, T2 yedi saatte gelir. Yenileme başarılıysa süre sıfırdan başlar ve adres değişmez. Bu yüzden bir cihaz, kira süresi kısa olsa bile çoğunlukla aynı adresi korur.

Kira süresi seçimi bir ödünleşimdir. Kısa süre, ayrılan adreslerin havuza hızla dönmesini sağlar ve yoğun bir misafir ağında havuz tükenmesini önler; karşılığında yenileme trafiği artar. Uzun süre trafiği azaltır; karşılığında ayrılan adresler uzun süre bloke kalır ve yapılandırma değişiklikleri geç yayılır.

Örnek Ağın Havuzları

Değişken Uzunluklu Alt Ağlar dersinde kesinleşen plan, kiralama yapılandırmasına dönüştürülmelidir. Her alt ağda adresler üçe ayrılır: yönlendiriciye ayrılan ilk adres, elle atama için ayrılan bir aralık, geri kalanı dinamik havuz.

import ipaddress

# (bölüm, blok, elle atama için ayrılan adres sayısı, dinamik istemci beklentisi)
BOLUMLER = [
    ("Misafir kablosuz", "192.168.10.0/25", 9, 100),
    ("Laboratuvar", "192.168.10.128/26", 5, 45),
    ("Yönetim", "192.168.10.192/27", 9, 11),
    ("Sunucu", "192.168.10.224/28", 13, 0),
    ("Bağlantı", "192.168.10.240/30", 1, 0),
]

for ad, cidr, ayrilan, beklenen in BOLUMLER:
    net = ipaddress.ip_network(cidr)
    d = list(net.hosts())
    yonlendirici = d[0]
    ayrilmis = d[1:1 + ayrilan]
    havuz = d[1 + ayrilan:]
    ayrilmis_metin = (f"{ayrilmis[0]}-{ayrilmis[-1]}" if ayrilmis else "yok")
    havuz_metin = (f"{havuz[0]}-{havuz[-1]} ({len(havuz)})" if havuz else "yok")
    print(f"{ad:18s} {cidr:20s} yönlendirici={str(yonlendirici):15s} "
          f"elle={ayrilmis_metin:31s} havuz={havuz_metin:35s} "
          f"pay={len(havuz) - beklenen if havuz else 0}")
Misafir kablosuz   192.168.10.0/25      yönlendirici=192.168.10.1    elle=192.168.10.2-192.168.10.10      havuz=192.168.10.11-192.168.10.126 (116)  pay=16
Laboratuvar        192.168.10.128/26    yönlendirici=192.168.10.129  elle=192.168.10.130-192.168.10.134   havuz=192.168.10.135-192.168.10.190 (56)  pay=11
Yönetim            192.168.10.192/27    yönlendirici=192.168.10.193  elle=192.168.10.194-192.168.10.202   havuz=192.168.10.203-192.168.10.222 (20)  pay=9
Sunucu             192.168.10.224/28    yönlendirici=192.168.10.225  elle=192.168.10.226-192.168.10.238   havuz=yok                                 pay=0
Bağlantı           192.168.10.240/30    yönlendirici=192.168.10.241  elle=192.168.10.242-192.168.10.242   havuz=yok                                 pay=0

Sunucu ve bağlantı ağlarında dinamik havuz yoktur; sunucuların adresleri değişmemelidir ve noktadan noktaya bağlantının iki ucu yönlendiricidir.

Havuz payları anlamlıdır. Misafir ağında beklenen 100 cihaz için 116 adres vardır; 16 adreslik pay, aynı anda beklenenden fazla cihazın bağlanmasını karşılar. Kira süresi bu ağda kısa tutulmalıdır: gelip geçen cihazların adresleri havuza çabuk dönmelidir.

Ayrılmış Adres ve Sabit Kiralama

Elle atama aralığı, kiralama sunucusunun hiç dokunmadığı adreslerdir. Ancak bir cihaza sabit adres vermenin ikinci bir yolu daha vardır: sabit kiralama (reservation). Sunucu, belirli bir donanım adresine her zaman aynı IP adresini verir.

Kursun izlediği istemci bu yolla yapılandırılmıştır:

Donanım adresi Verilen adres Yöntem
00:00:5e:00:53:01 192.168.10.196 Sabit kiralama

İki yöntem arasındaki fark yönetimseldir. Elle atamada yapılandırma cihazın üzerindedir; maske veya geçit değiştiğinde her cihaza tek tek gidilmelidir. Sabit kiralamada yapılandırma merkezdedir; cihaz adresini yine kiralamayla alır, ancak her zaman aynısını alır. Ağ genelinde bir seçenek değiştiğinde tek yerde değişir.

Sabit kiralamanın dayandığı donanım adresi, gizlilik için adresini değiştiren cihazlarda sabit kalmayabilir. Bu durumda kiralama tutmaz ve cihaz havuzdan adres alır.

Aktarım Aracısı

Keşif mesajı yayınla gider, yayın ise yönlendiriciyi geçmez. Örnek ağın beş alt ağı vardır; her birine ayrı bir kiralama sunucusu koymak gereksiz bir yönetim yüküdür.

Çözüm aktarım aracısıdır (relay agent). Yönlendirici, kendi arayüzüne gelen yayını yakalar, merkezî sunucuya tekil bir paket olarak iletir ve mesaja hangi arayüzden geldiğini belirten bir alan ekler. Sunucu bu alana bakarak hangi havuzdan adres vereceğine karar verir.

Örnek ağda sunucu odasındaki 192.168.10.226 adresi hem ad çözümleme hem kiralama hizmeti veriyorsa, yönlendiricinin her iç arayüzünde aktarım tanımlanır. Yönetim bölümündeki bir istemcinin keşif mesajı, arayüz alanında 192.168.10.193 bilgisiyle sunucuya ulaşır ve sunucu yönetim havuzundan adres verir.

Arıza Kalıpları

Yetkisiz kiralama sunucusu. Yayın alanına eklenen bir cihaz kiralama teklifleri gönderiyorsa, istemciler ilk gelen teklifi kabul eder. Yanlış geçit veya yanlış ad sunucusu dağıtılabilir. Karşı önlem anahtar düzeyindedir: kiralama yanıtlarının yalnızca belirlenmiş bağlantı noktalarından gelmesine izin verilir.

Havuz tükenmesi. Havuzdaki tüm adresler kiralanmışsa yeni istemciler adres alamaz. Belirti, bazı cihazların çalışıp bazılarının çalışmamasıdır. Ölçü, havuz doluluğunu izlemek ve kira süresini talebe göre ayarlamaktır.

Yerel bağlantı adresine düşme. Adres alamayan bir arayüz 169.254.0.0/16 bloğundan kendine adres seçer. Bir cihazın bu blokta adres taşıması, kiralamanın başarısız olduğunun doğrudan işaretidir: sunucu erişilemez, aktarım tanımlı değil veya havuz tükenmiştir.

Adres çakışması. Elle atanan bir adres havuz aralığının içindeyse, aynı adres bir de kiralanabilir. Planı yaparken elle atama aralığının havuzun dışında tutulması bu yüzdendir.

Özet

  • İstemci adresi olmadan konuşur: kaynak 0.0.0.0, hedef 255.255.255.255; protokol UDP üzerinde 67 ve 68 numaralı bağlantı noktalarını kullanır.
  • Kiralama dört mesajla tamamlanır; üçüncü adım yayınla gider ki kabul edilmeyen teklifleri veren sunucular adresleri geri bıraksın.
  • Adresle birlikte maske, geçit, ad sunucusu ve kira süresi de teslim edilir.
  • Yenileme kira süresinin %50 ve %87,5 eşiklerinde denenir; başarılı yenilemede adres değişmez.
  • Örnek planda misafir havuzu 116, laboratuvar 56, yönetim 20 adrestir; sunucu ve bağlantı ağlarında dinamik havuz yoktur.
  • Yayın yönlendiriciyi geçmediğinden çok alt ağlı ağlarda aktarım aracısı kullanılır; 169.254.0.0/16 bloğundan adres, kiralamanın başarısız olduğunu gösterir.

Sonraki Adım

Örnek ağdaki tüm cihazlar artık adres sahibidir; ancak bu adreslerin hepsi özel kullanım bloğundandır ve genel İnternet’te yönlendirilmez. Kurumun elinde tek bir genel adres vardır: 203.0.113.10. Sonraki ders, yüzlerce özel adresin tek bir genel adres üzerinden dışarı nasıl çıktığını, çevrim tablosunun nasıl tutulduğunu ve bu düzeneğin uçtan uca bağlantıya ne yaptığını ele alacak.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat