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.0 → 255.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.0 → 255.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, hedef255.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/16bloğ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.