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.

IPv4 ve IPv6 adresleme, private/public adresler ve prefix kavramının özeti.

IPv4 ve IPv6 adresleme, private/public adresler ve prefix kavramının özeti.
NoteBu haftanın kapsamı

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.

ImportantPrefix değişirse ağ da değişir

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.6.2 255.255.255.255: limited broadcast (sınav dışı)

Cihazın bağlı olduğu yerel ağdaki herkese giden IPv4 broadcast adresidir. Router’lar bu adrese giden paketi başka ağlara yönlendirmez.

NoteÜç farklı “herkes” adresini karıştırma

FF:FF:FF:FF:FF:FF bir MAC broadcast’idir (3. hafta). 255.255.255.255 bir IPv4 broadcast’idir. 192.168.1.255 ise 192.168.1.0/24 ağının kendi broadcast adresidir (8. hafta). Üçü farklı katmanlarda, farklı kapsamlarda çalışır.

7.6.3 224.0.0.0/4: IPv4 multicast (sınav dışı)

Multicast, bir mesajın yalnız belirli bir cihaz grubuna gönderilmesidir. IPv6’da olduğu gibi IPv4’te de vardır. Multicast protokolleri bu dersin konusu değil; bu bloğu gördüğünde tanıman yeterli.

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.

NoteBilgi amaçlı: IPv6 kısaltma

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/26 hangi 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.10 Sınav provası

Önce kendi cevabını seç; sonra cevap anahtarında her şıkkın neden doğru veya yanlış olduğunu oku. Sınav maddeleri bu mantıkla yazılır.

Madde 1. IPv4 adresi kaç bittir ve her octet hangi aralıkta değer alır?

  • A. 32 bit; her octet 0–255
  • B. 32 bit; her octet 0–127
  • C. 128 bit; her octet 0–255
  • D. 32 bit; her octet 1–254
  • E. 64 bit; her octet 0–255

Madde 2. 192.168.1.25/26 içindeki /26 neyi belirtir?

  • A. Adresin 26. subnet’te olduğunu
  • B. Adresin 26 farklı subnete bölünebileceğini
  • C. Ağda en fazla 26 host bulunabileceğini
  • D. Adresin ilk 26 bitinin ağ bölümü olduğunu
  • E. Gateway adresinin .26 ile bittiğini

Madde 3. Aşağıdaki adreslerden hangisi özel (private) bir IPv4 adresi değildir?

  • A. 10.4.200.7
  • B. 192.168.100.5
  • C. 172.20.1.1
  • D. 10.255.255.254
  • E. 172.32.5.10

Madde 4. 169.254.10.20 adresi, DHCP kullanan küçük bir ağda neyi düşündürür?

  • A. Cihaz IPv6 kullanmaya geçmiştir
  • B. Cihaz DHCP’den adres alamamıştır
  • C. Cihazın kablosu 100 m sınırını aşmıştır
  • D. Cihaz bir public IP adresi almıştır
  • E. Cihaza yanlış DNS sunucusu verilmiştir

Madde 5. 0.0.0.0/0 yönlendirmede ne anlama gelir?

  • A. Bir multicast grubunu
  • B. Cihazın henüz adres almadığını
  • C. Bir hizmetin tüm arayüzlerde dinlediğini
  • D. Yerel ağın broadcast adresini
  • E. Tüm IPv4 hedeflerini kapsayan varsayılan rotayı

Madde 6. 192.168.1.20/24 adresli bir cihazın yönlendirme tablosunda iki satır var:

192.168.1.0/24  → doğrudan (yerel ağ)
0.0.0.0/0       → 192.168.1.1

Cihaz 93.184.216.34 adresine paket gönderiyor. Paket nereye gider?

  • A. 192.168.1.1 adresine, yani ağ geçidine
  • B. Hiçbir yere; tabloda bu hedefe ait bir satır yok
  • C. Yerel ağdaki bütün cihazlara, broadcast olarak
  • D. 0.0.0.0 adresine
  • E. Doğrudan hedefe, yerel ağ üzerinden

Madde 7. IPv6’da ::1 ve fe80::/10 ne anlama gelir?

  • A. ::1 broadcast; fe80::/10 public adres bloğu
  • B. ::1 multicast; fe80::/10 loopback bloğu
  • C. ::1 loopback; fe80::/10 link-local blok
  • D. ::1 varsayılan rota; fe80::/10 multicast blok
  • E. ::1 link-local; fe80::/10 loopback

Madde 8. Bir cihazın arayüzünde hem IPv4 hem IPv6 adresi bulunmasına ne denir?

  • A. Multicast
  • B. Tünelleme
  • C. Link-local
  • D. Dual stack
  • E. NAT

Madde 1. Doğru: A. IPv4 32 bittir ve 8 bitlik dört octete ayrılır; 8 bit 0–255 arasında değer alabilir.

  • B yanlış: 0–127 7 bitlik bir aralıktır; octet 8 bittir.
  • C yanlış: 128 bit IPv6’dır ve octet değil hexadecimal gruplarla yazılır. Octet aralığı doğru olduğu için şık ilk bakışta doğru görünebilir.
  • D yanlış: Octet aralığı 0–255’tir; 0 ve 255 de geçerli octet değerleridir.
  • E yanlış: 64 bitlik bir IP sürümü bu derste yoktur.

Madde 2. Doğru: D. Prefix, adresin kaç bitinin ağ bölümü olduğunu söyler. Kalan 6 bit host bölümüdür.

  • A yanlış: Eğik çizgiden sonraki sayı bir sıra numarası gibi okunabilir. Ama prefix bir sıra numarası değildir.
  • B yanlış: Prefix subnetting’de kullanıldığı için bölünme sayısı sanılabilir. Oysa prefix, ağ bölümünün bit uzunluğudur.
  • C yanlış: Ağla ilgili bir sayı görünce onu host sayısı sanmak kolaydır. Ama /26 bloğunda toplam 64 adres vardır; klasik kullanımda 62’si hosta verilir. Prefix host sayısını değil, ağ bölümünün bit sayısını gösterir.
  • E yanlış: Gateway çoğu zaman .1 gibi akılda kalan bir sayıyla bittiği için sayı ona bağlanabilir. Ama prefix ile gateway adresi arasında böyle bir ilişki yoktur.

Madde 3. Doğru: E. Özel aralık 172.16.0.0–172.31.255.255’tir. 172.32.x.x bu aralığın dışındadır; en sık yapılan sınır hatası budur.

  • A yanlış: 10.0.0.0/8 tamamen özeldir.
  • B yanlış: 192.168.0.0/16 tamamen özeldir.
  • C yanlış: 172.16–172.31 aralığındadır.
  • D yanlış: 10.0.0.0/8 aralığındadır, yani özel bir adrestir.

Madde 4. Doğru: B. 169.254.0.0/16 link-local bloğudur ve hiçbir DHCP sunucusu bu adresi dağıtmaz. Cihaz DHCP’den yapılandırma alamayınca kendi link-local adresini seçmiştir.

  • A yanlış: “Link-local” terimi IPv6’da da geçtiği için karışıklık doğabilir. Ama 169.254.x.x bir IPv4 adresidir; IPv6 link-local karşılığı fe80::/10’dur.
  • C yanlış: Kötü kablo bağlantıyı bozduğu için adres sorununa da yol açıyor sanılabilir. Ama mesafe sorunu bağlantıyı kararsız hâle getirir; cihazın link-local adres almasına yol açmaz.
  • D yanlış: 192.168, 10 ya da 172.16 ile başlamadığı için public sanılabilir. Ama 169.254.x.x public bir adres değildir.
  • E yanlış: Sitelerin açılmaması DNS’i akla getirir. Ama yanlış DNS durumunda cihazın geçerli bir IP’si olur, yalnız isim çözme bozulur.

Madde 5. Doğru: E. Daha özel bir rota yoksa paketin gönderileceği yolu belirtir.

  • A yanlış: Multicast bloğu 224.0.0.0/4’tür.
  • B yanlış: Adres alamamış cihazın belirtisi 169.254.x.x’tir.
  • C yanlış: Sunucu yapılandırmasında 0.0.0.0 bu anlamda kullanılabildiği için akla gelir. Ama yönlendirme tablosunda anlamı farklıdır.
  • D yanlış: Limited broadcast 255.255.255.255’tir.

Madde 6. Doğru: A. Hedef 192.168.1.0/24 içinde değil. Daha özel bir rota olmadığı için tüm hedefleri kapsayan 0.0.0.0/0 satırı kullanılır ve paket ağ geçidine gider.

  • B yanlış: 0.0.0.0/0 bütün IPv4 hedeflerini kapsar. Varsayılan rota tam da bu durum için vardır.
  • C yanlış: Cihaz hedefe nasıl gideceğini tablodan biliyor; broadcast’e başvurmak için bir neden yok.
  • D yanlış: 0.0.0.0/0 bir hedef adres değil, bütün hedefleri kapsayan bir prefix’tir. Paket o satırdaki ağ geçidine gönderilir.
  • E yanlış: Doğrudan teslim yalnız 192.168.1.0/24 içindeki hedefler için geçerlidir; 93.x bu ağın dışında.

Madde 7. Doğru: C. ::1, IPv4’teki 127.0.0.1’in karşılığıdır; fe80::/10 bloğundaki adresler yalnız yerel bağlantıda geçerlidir.

  • A yanlış: IPv6’da IPv4’teki gibi broadcast yoktur; fe80:: adresleri de global değildir.
  • B yanlış: IPv6 multicast ff00::/8 bloğundadır; tanımlar karışmış.
  • D yanlış: Kavramlar başka değerlerle karıştırılmış.
  • E yanlış: İkisinin tanımı yer değiştirmiş.

Madde 8. Doğru: D. IPv4 ve IPv6’nın birlikte kullanılmasıdır; güncel ağlarda normaldir.

  • A yanlış: Multicast, bir mesajı bir cihaz grubuna göndermektir.
  • B yanlış: Tünelleme bir protokolü diğerinin içinde taşımaktır; ikisinin yan yana çalışması dual stack’tir.
  • C yanlış: Link-local yalnız yerel bağlantıda geçerli bir adres türüdür.
  • E yanlış: NAT adres çevirisidir.

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/0 varsayılan rota: daha özel bir rota yoksa paket ağ geçidine gider.
  • IPv6: 128 bit, hexadecimal, ::1 loopback, fe80::/10 link-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/16 link-local adresinin ne anlama geldiğini açıklar.
  • 0.0.0.0/0 varsayı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).
Back to top

Kaynakça

Deering, S., and R. Hinden. 2017. Internet Protocol, Version 6 (IPv6) Specification. RFC 8200. https://doi.org/10.17487/RFC8200.