7 IP adresleme: IPv4 ve IPv6
İki bilgisayarın adresi 192.168.10.70 ve 192.168.10.130. İlk üç sayı aynı. Aynı ağdalar mı? Verilen bilgiyle bunu söyleyemeyiz. Eksik olan tek bilgi prefix, yani adresin sonuna yazılan /24, /26 gibi sayı. Bu hafta prefix’i konuşacağız.
Sınavda sorulur: IPv4’ün 32 bit yapısı ve octet gösterimi; prefix’in ağ/host ayrımını belirlemesi; /24–/28 ile maske eşlemesi; private ve public IPv4; 169.254.0.0/16 link-local; 0.0.0.0/0 varsayılan rota; IPv6’da 128 bit, hexadecimal, ::1, fe80::/10 ve dual stack.
Sınav dışı (bilgi amaçlı): 255.255.255.255 limited broadcast ve 224.0.0.0/4 IPv4 multicast bloğu, IPv6 kısaltma alıştırmaları, IPv6 prefix hesabı, ayrıntılı IPv6 adres türleri, SLAAC/DHCPv6 yapılandırması.
7.1 Bu iki cihaz birbirine doğrudan ulaşabilir mi?
Bu soruyu her cihaz her paket için sorar ve cevabına göre iki farklı şey yapar:
Hedef benim prefix'imin içinde mi?
├─ Evet → doğrudan hedefe gönder
└─ Hayır → varsayılan ağ geçidine gönder
Cevabı IP adresinin kendisi değil, prefix belirler. Bu hafta prefix’in ne olduğunu, gelecek hafta onunla nasıl hesap yapılacağını göreceğiz.
7.2 IPv4 adresi: 32 bit
IPv4 adresi 32 bittir. Kolay okunsun diye 8 bitlik dört parçaya (octet) ayrılır ve parçalar aralarına nokta konarak ondalık sayıyla yazılır:
192 168 1 25
11000000 10101000 00000001 00011001
Her octet 0–255 arasında değer alır, çünkü 8 bitle 00000000 ile 11111111 arasındaki, yani 0 ile 255 arasındaki değerler yazılabilir. Bu yüzden 192.168.1.300 diye bir adres olamaz.
Bu hafta adresleri sürekli binary’ye çevirmeyeceğiz. Binary’ye yalnızca prefix’in neden var olduğunu anlamak için bakıyoruz.
7.3 Vaka 1: İlk üç octet aynı, ağ farklı
A: 192.168.10.70/26
B: 192.168.10.130/26
İki cihaz aynı switch’e bağlı, ağda router yok. Teknisyen ilk üç octet aynı olduğu için ikisini aynı yerel ağda sanıyor. A’dan B’ye ping başarısız oluyor.
7.3.1 Kanıt ne söylüyor
/26 prefix’i, adresin ilk 26 bitinin ağ bölümü olduğunu söyler. Geriye kalan 6 bit host bölümüdür. Bu durumda son octet 64’lük bloklara bölünür:
0–63 ← ilk ağ
64–127 ← A burada
128–191 ← B burada
192–255
A ve B farklı ağlardadır. Aralarında iletişim kurmak için bir router gerekir.
192.168.1.70/24 ile 192.168.1.70/26 aynı host adresini yazıyor gibi görünür ama ağ sınırları farklıdır. Bir cihazın “bu hedef benim ağımda mı?” kararı tamamen prefix’e bağlıdır. Prefix’e bakmadan “ilk üç sayı aynı, demek ki aynı ağdalar” demek, Vaka 1’deki teknisyenin yaptığı hatadır.
7.3.2 Prefix ile maske aynı bilginin iki yazımıdır
Ağın sınırı alt ağ maskesi (subnet mask) ile de yazılabilir. ipconfig çıktısındaki Subnet Mask satırında gördüğün değer budur:
| Prefix | Subnet mask |
|---|---|
/24 |
255.255.255.0 |
/25 |
255.255.255.128 |
/26 |
255.255.255.192 |
/27 |
255.255.255.224 |
/28 |
255.255.255.240 |
Bu tabloyu gelecek hafta sürekli kullanacaksın. Şimdilik /26 ile 255.255.255.192 değerinin aynı sınırı gösterdiğini bilmen yeterli.
7.4 Vaka 2: 169.254.x.x adresi
IPv4 Address : 169.254.42.17
Subnet Mask : 255.255.0.0
Default Gateway :
7.4.1 Kanıt ne söylüyor
169.254.0.0/16 bloğu IPv4 link-local adreslere ayrılmıştır. Link-local adres yalnız cihazın bağlı olduğu yerel bağlantıda geçerlidir; router bu adresli paketleri başka ağa geçirmez. Bu adresi hiçbir DHCP sunucusu dağıtmaz; cihaz DHCP’den cevap alamadığında onu kendi kendine seçer.
Windows bu davranışa APIPA (Automatic Private IP Addressing) der. Başka işletim sistemleri de aynı şeyi yapar; yalnız “APIPA” adını kullanmaz.
Bu adresi gördüğünde aklına ilk şu gelsin: “DHCP’den yapılandırma alınamadı.” 9. haftada bu vakayı ayrıntısıyla çözeceğiz.
7.5 Vaka 3: Aynı adres binlerce evde
Senin evin : 192.168.1.10
Arkadaşının evi : 192.168.1.10
Çakışma yok. Neden?
7.5.1 Kanıt ne söylüyor
192.168.1.10 bir özel (private) adrestir. Özel adresler internette yönlendirilmez; yalnız yerel ağların içinde kullanılır.
| Blok | CIDR | Aralık |
|---|---|---|
| 10’lu | 10.0.0.0/8 |
10.0.0.0 – 10.255.255.255 |
| 172’li | 172.16.0.0/12 |
172.16.0.0 – 172.31.255.255 |
| 192.168’li | 192.168.0.0/16 |
192.168.0.0 – 192.168.255.255 |
172’li bloğun sınırına dikkat: 172.16–172.31 arası özeldir, 172.32.x.x değildir. Bu, sınavda en sık yapılan sınır hatasıdır.
Public IPv4 adresleri ise internette yönlendirilmek üzere dağıtılır. Public adres “güvensiz”, private adres “güvenli” demek değildir; bu ayrım yalnız adresin internette yönlendirilip yönlendirilmediğiyle ilgilidir. İki tür adresi birbirine bağlayan NAT’ı 9. haftada göreceğiz.
7.6 Özel anlamı olan IPv4 değerleri
7.6.1 0.0.0.0/0: varsayılan rota
Yönlendirmede bütün IPv4 hedeflerini kapsayan prefix’tir. Bir cihaza host adresi olarak atanmaz. 9. haftada şu satırı okuyacağız:
default via 192.168.1.1
Anlamı: “daha özel bir rota bulamazsan buraya gönder.”
7.7 IPv6’yı tanıma düzeyi
IPv6’nın geliştirilmesinin başlıca nedenlerinden biri, IPv4 adreslerinin tükenmesidir. IPv6 128 bit adres kullanır ve hexadecimal yazılır (Deering and Hinden 2017):
2001:db8:1234:5678:abcd:ef01:2345:6789
Bu derste IPv6 ile ayrıntılı hesap yapmayacağız. Sınavda IPv6 adresini görünce tanıman ve üç kavramı açıklayabilmen beklenir:
| Değer | Anlamı | IPv4 karşılığı |
|---|---|---|
::1 |
IPv6 loopback | 127.0.0.1 |
fe80::/10 |
IPv6 link-local blok | 169.254.0.0/16 fikrine yakın |
| Dual stack | IPv4 ve IPv6’yı birlikte kullanmak | Yok |
Bir arayüzde global IPv6 adresinin yanında bir de fe80:: adresi görmek normaldir.
Baştaki sıfırlar atılabilir, ardışık sıfır grupları :: ile kısaltılabilir:
2001:0db8:0000:0000:0000:0000:0000:0001
→ 2001:db8::1
Bir adreste :: yalnız bir kez kullanılır; yoksa kaç grubun atlandığı anlaşılmaz. Kısaltma alıştırmaları sınavda sorulmaz.
7.8 Ekranda ne gördük
> ipconfig
IPv4 Address. . . : 192.168.20.45
Subnet Mask . . . : 255.255.255.0 ← /24: ağım 192.168.20.0–255
Default Gateway . : 192.168.20.1 ← prefix'imin içinde, doğru
IPv6 Address. . . : 2001:db8::1a2b ← global IPv6 (dual stack)
Link-local IPv6 . : fe80::a1b2:c3d4 ← fe80::/10, normal
> ping ::1 ← IPv6 loopback: kendi yığınım çalışıyor mu?
Reply from ::1: time<1ms
Aynı arayüzde hem IPv4 hem IPv6 adresi bulunması dual stack’tir ve güncel ağlarda normaldir.
7.9 Gelecek haftaya köprü
Gelecek hafta prefix ile gerçek hesaplar yapacağız. Haftaya şu soruyla başlayacağız:
192.168.1.70/26hangi ağdadır, broadcast adresi nedir, kullanılabilir host aralığı hangisidir?
Bu haftadan aklında kalması gereken tek şey: prefix ağın sınırını belirler.
7.11 Tek sayfa özet
- IPv4 32 bittir, dört octetle yazılır, her octet
0–255. - Prefix ağın sınırını belirler. Aynı adres farklı prefix’lerle farklı ağlara düşer.
- Her cihaz her paket için sorar: hedef benim prefix’imin içinde mi? İçindeyse doğrudan, değilse ağ geçidine.
/24=255.255.255.0,/25=.128,/26=.192,/27=.224,/28=.240.- Özel bloklar:
10/8,172.16/12,192.168/16. Dikkat:172.32.x.xözel değildir. 169.254.0.0/16= DHCP’den yapılandırma alınamadı (APIPA).0.0.0.0/0varsayılan rota: daha özel bir rota yoksa paket ağ geçidine gider.- IPv6: 128 bit, hexadecimal,
::1loopback,fe80::/10link-local, dual stack ikisinin birlikte kullanımı.
7.12 Bu bölümün kazanımları
Bu bölümü bitiren öğrenci:
- IPv4’ün 32 bit yapısını ve octet aralığını açıklar.
- Prefix’e bakarak adresin ağ ve host bölümlerini ayırır.
- Prefix ile subnet maskesini eşleştirir.
- Private ve public IPv4 adreslerini ayırır.
169.254.0.0/16link-local adresinin ne anlama geldiğini açıklar.0.0.0.0/0varsayılan rotasını tanır ve yönlendirme tablosunda paketin nereye gideceğini bulur.- IPv6’yı tanıma düzeyinde açıklar (
::1,fe80::/10, dual stack).
