Ana içeriğe geç

Bölüm 37: Adresin Anatomisi

13 dakikalık okumaGüncelleme:

Ağlar'a “Sen”i Katmak kitabının bir bölümü: adres çubuğuna yazdığın tek bir isteğin peşinden bakırla fiberin fiziğine inip karşı taraftan geri dönen uzun bir teknik yolculuk.

Kısım 6: Router'dan Router'a (Bölüm 37-44)

Tüm bölümler
  1. Giriş
  2. Adres Çubuğundan İsteğe
  3. Paket Anahtarlamalı Yol
  4. İsimden Adrese
  5. DNS Kayıtları
  6. Önbellek, Tazelik ve Güven
  7. Port Numarası ve Soket
  8. Bağlantısız Taşıma: UDP
  9. Üç Adımlı El Sıkışma
  10. Simetrik Şifreleme
  11. Açık Anahtarlı Kriptografi
  12. TLS El Sıkışması
  13. Sertifika Zinciri
  14. HTTP Mesajının Anatomisi
  15. Durum, Çerez ve Oturum
  16. HTTP/2'den HTTP/3'e
  17. İçerik Dağıtım Ağları
  18. Diğer Uygulama Protokolleri
  19. Katmanlı Mimari
  20. Hizmet ve Protokol
  21. Encapsulation ve Başlıklar
  22. Paket Yakalama ve Çözümleme
  23. Ağ Interface Kartı
  24. Fiziksel Adresleme
  25. Hata Sezme ve CRC
  26. Adres Çözümleme: ARP
  27. Ortam Erişimi: CSMA/CD
  28. Switch'ler
  29. Ağ Topolojileri
  30. Sanal Yerel Ağlar
  31. Kablosuz Erişim: 802.11
  32. Radyo Kanalı ve Kapasite
  33. Kablosuz Ağ Güvenliği
  34. Hücresel Ağlar
  35. Spektrum ve Kuşaklar
  36. Hareketlilik ve Aktarma
  37. Adres Kiralama: DHCP
  38. Adresin Anatomisi
  39. Adres Tükenmesi ve IPv6
  40. Router Mimarisi
  41. Kuyruk Yönetimi
  42. Cihaz Yapılandırma
  43. Routing Protokolleri
  44. Kontrol Düzlemi ve SDN
  45. Ağ İzleme ve Yönetimi
  46. Alanlar Arası Routing
  47. Adres Çevirisi
  48. Ara Kutular
  49. Tünelleme ve IPsec
  50. Firewall'lar
  51. Ağ Saldırıları
  52. Operatör ve Metro Ağları
  53. Bitten Sinyale
  54. Sembol Hızı ve Kanal Kapasitesi
  55. Multiplexing Teknikleri
  56. İletim Ortamları
  57. Bakır Kablo Sonlandırma
  58. Fiber Sonlandırma
  59. Fiber Optik İletim
  60. Bakır Erişim Ağı: DSL
  61. DSL'de Hız ve Mesafe
  62. Pasif Optik Ağlar
  63. Kablo Erişim Ağları
  64. Kablo Modem ve CMTS
  65. Denizaltı Kabloları
  66. Veri Merkezi Ağları
  67. Encapsulation Çözme
  68. Güvenilir Aktarım
  69. Tıkanıklık Denetimi
  70. Trafik Çözümleme
  71. Gecikme Bütçesi
  72. Soket Programlama
  73. Eşten Eşe ve Protokol Tasarımı
  74. Uyarlanır Video Akışı
  75. Gerçek Zamanlı Ses ve Görüntü
  76. Kablosuz Sensör Ağlarının Mimarisi
  77. Sensör Ağlarında Ortam Erişimi
  78. Sensör Ağlarında Yönlendirme ve IP
  79. Zaman Eşitleme ve Konum Bulma
  80. Sensör Ağı Uygulamaları
  81. Mobil Kablosuz Sensör Ağları
  82. Son Söz

Ev router’ı sana bir adres, bir maske ve bir default gateway vermişti. Maskeyi kullanmadan bıraktım.

Makinen hedefin bu ağda olmadığını işte o maskeyle anladı. Yaptığı iş tek bir şeyden ibaret: iki sayıyı karşılaştırmak. Peki neyi neyle karşılaştırıyor?

Bir adres kaç parçadan oluşur?

IPv4 adresi aslında tek bir sayı. Uzunluğu 32 bit, yani 4 bayt. Kimse otuz iki basamaklı bir ikili diziyi gözüyle okuyamadığı için adres 8 bitlik dört parçaya bölünüp noktayla ayrılıyor. Her parçanın adı, 23. bölümde MAC adresinde de gördüğümüz gibi, oktet.

Bir oktet 256 farklı değer taşır: en küçüğü 0, en büyüğü 255. Üst sınır keyfi bir seçim değil, sekiz bitin tamamının bir olması: 11111111. Okteti 256 olan bir adres hiçbir interface’e girmez.

Dört oktet tek bir isim taşımıyor. Adres iki bilgiyi birden söylüyor: makinenin hangi ağda olduğunu ve o ağın içindeki yerini. İlkine ağ parçası, ikincisine makine parçası deniyor.

Posta kodunu düşün. Kod mektubu doğru dağıtım merkezine götürür, kapı numarası o merkezin içinde tek bir kapıyı bulur. IP adresi aynı iki işi tek bir sayıya sıkıştırıyor: ağ parçası merkezi söylüyor, makine parçası kapıyı. Yalnız bir fark var: zarfta posta kodu ile kapı numarası ayrı satırlarda yazılıdır; IP adresinde ise tek bir sayı vardır ve sınırın nereye düştüğünü adresin kendisi söylemez.

Bir posta ayırma rafı: altı sıra, her sırada dört göz ve her gözün üstünde nereye ait olduğunu söyleyen bir etiket. Adresin ön kısmı gözü seçer, kalanı o gözün ardındaki tek kapıyı bulur.

Bu dört oktet, 20. bölümdeki encapsulation’da üçüncü zarfın, yani network layer başlığının kaynak ve hedef alanlarına yazılıyor. MTU o zarfın boyunu sınırlar, içindeki adresin yapısına karışmaz.

Sınırı kim çiziyor?

Sınırı söyleyen şey alt ağ maskesi. Maske de 32 bittir ve dört okteti vardır. Ama bir adres değildir. Hiçbir makineye atanmaz, hiçbir paketin üstüne yazılmaz.

Maskenin deseni serbest de değil. Solda kesintisiz bir dizi bir, sağda kesintisiz bir dizi sıfır bulunur. Birler ağ parçasını işaretler, sıfırlar makine parçasını. Bu kural yüzünden bir maske oktetinde topu topu dokuz ondalık değer görünebilir.

0   128   192   224   240   248   252   254   255

Adresle maskeyi buluşturan işlem bitsel VE. Adresin her biti maskedeki karşılığıyla eşleşir ve maskenin sıfır olduğu her yerde sonuç sıfırlanır. Geriye yalnızca ağ parçası kalır. Çıkan değerin adı ağ adresi.

Somut bir vaka kuralım. Örneği ev ağından belgeleme bloğuna taşıyorum; alt ağa bölmeyi 203.0.113.0/24 üstünde göstermek daha temiz. Belgelemeye ayrılmış o bloktan 203.0.113.70 adresini alıyorum, maskeyi de 255.255.255.192 seçiyorum.

adres    203.0.113.70      11001011 00000000 01110001 01000110
maske    255.255.255.192   11111111 11111111 11111111 11000000
                                                      --------
VE       203.0.113.64      11001011 00000000 01110001 01000000

Hesabın tamamı son oktette olup bitiyor: 70 ile 192’nin VE’si 64. İlk üç oktet maskede baştan sona bir olduğu için olduğu gibi geçiyor. Şimdi aynı adresi daha kısa bir maskeden geçir. 255.255.255.0 ile sonuç 203.0.113.0 çıkar. Adres değişmedi, maske değişti, ağ değişti.

Aynı adresi iki farklı maskeden geçirince ne olduğunu görelim:

Aynı adres, iki maske, iki ağ
adres · 203.0.113.7011001011203000000000011100011130100011070maske /24 · 255.255.255.0111111112551111111125511111111255000000000ağ 203.0.113.0makine parçası 8 bitmaske /26 · 255.255.255.19211111111255111111112551111111125511000000192ağ 203.0.113.64makine parçası 6 bitadres aynı kaldı, sınır yer değiştirdi
Adres dört oktete bölünüyor. 203.0.113.70 tek bir 32 bitlik sayı. Noktalar sayının içinde yok; okunabilsin diye 8 bitlik dört parçaya bölünüp yazılıyor.
  1. Adres dört oktete bölünüyor. 203.0.113.70 tek bir 32 bitlik sayı. Noktalar sayının içinde yok; okunabilsin diye 8 bitlik dört parçaya bölünüp yazılıyor.
  2. /24 maskesi altına iniyor. Maskenin ilk üç okteti tamamen bir, sonuncusu tamamen sıfır. Birlerin bittiği yer ağ parçasının bittiği yer.
  3. Bitsel VE ilk ağı veriyor. Maskenin sıfır olduğu her bit sıfırlanıyor, geriye 203.0.113.0 kalıyor. Son oktetin tamamı makineye ayrılmış durumda.
  4. Maske /26 olarak uzuyor. Aynı adres, farklı maske. Son oktette iki bit daha ağa geçiyor ve sınır oktetin ortasına düşüyor: 11000000, yani 192.
  5. Sonuç başka bir ağ. 70 ile 192 arasındaki VE işlemi 64 veriyor ve ağ adresi 203.0.113.64 oluyor. Adres hiç değişmedi, ağ değişti.

Makine bu işlemi her paket için iki kez yapıyor. Önce hedef adresi kendi maskesinden geçiriyor, sonra kendi adresini aynı maskeden. İki sonuç eşitse hedef aynı ağdadır ve frame doğrudan ona yazılır. Eşit değilse paket varsayılan geçide çıkar. Gerçek işletim sistemleri bu karşılaştırmayı ayrı bir adım olarak yapmıyor: kendi ağı routing tablosunda bir satır olarak durur ve karar tablo aramasının içinde verilir. O aramayı 39. bölümde açacağız.

Bir önceki durağın borcu tam burada kapanıyor. Adresi 203.0.113.70/26 olan makine 198.51.100.9 numaralı hedefe paket yazacak. Hedefi kendi maskesinden geçirince 198.51.100.0 buluyor, kendi ağı ise 203.0.113.64. İkisi eşleşmiyor. Paket bu yüzden geçide, yani 203.0.113.65’e gidiyor: frame’in hedef MAC alanına geçidin adresi yazılıyor, IP başlığındaki hedef ise 198.51.100.9 olarak kalıyor.

Aynı hesap daha eski bir borcu da kapatıyor. Makine 25. bölümde ARP’ı yalnızca kendi ağındaki komşular için soruyordu. Kimin komşu sayılacağına karar veren işlem buydu.

Sınır bazen çok yakından geçer. 203.0.113.130 aynı maskeden 203.0.113.128 olarak çıkıyor ve bu değer 203.0.113.64 ile eşit değil. İki makine kâğıt üstünde komşu görünse de aynı alt ağda değil.

Her ağın iki adresi baştan gider. Makine bitlerinin tamamı sıfır olan değer ağ adresidir, tamamı bir olan değer broadcast adresidir. Atanabilir ilk adres ağ adresinden bir sonraki, son adres broadcast adresinden bir öncekidir.

Kartın fabrikadan gelen adresi ve bütün komşuları birden uyandıran broadcast adresi tanıdık. Buradaki broadcast adresi onun network layer’daki karşılığı. Bu adrese eskiden başka bir ağdan da paket gönderilebiliyordu; 1990’ların sonunda tek bir sahte paketi bir ağın bütün makinelerine çoğaltan Smurf saldırıları bununla yapıldı. RFC 2644’ten beri router’lar dışarıdan gelen bu tür broadcast’i varsayılan olarak geçirmiyor.

Geçide ağ adresinden sonraki ilk adresi vermek ise bir kural değil. Yerleşmiş bir gelenek, çoğu ağda öyle bulursun.

Bir bloğu nasıl bölersin?

Maskeyi noktalı ondalık yazmak yerine kaç bitinin bir olduğunu söylemek daha kısa. Eğik çizgili gösterimin tamamı bu: /20 demek, maskenin ilk 20 biti bir ve kalan 12 biti sıfır demek. Çizgiden sonraki sayının adı önek uzunluğu.

RFC 4632 yazımı sabitliyor: dört oktetlik bir değer, eğik çizgi, sonra sıfır ile otuz iki arasında bir tam sayı. Tanımlı önek uzunluğu sayısı böylece 33 oluyor.

Alt ağ kurmak, makine bitlerinden bir kısmını ödünç bit olarak ağ parçasına almaktır. Ağ bitleri hiç değişmez; uzayan şey maskedir. Denklem sabit: ağ bitleri artı ödünç bitler artı makine bitleri 32 eder.

Bütün alt ağ hesabı iki formüle iniyor. b ödünç alınan bit sayısı, h geriye kalan makine bit sayısı olsun:

alt ağ sayısı      = 2^b
alt ağ başına adres = 2^h
atanabilir adres    = 2^h − 2

Sondaki iki, her alt ağın yuttuğu ağ adresi ile broadcast adresi. Üç formülden yalnızca ikisini ezberlemek yeter, üçüncüsü çıkarma.

Tersinden de çalışıyor ve sahada asıl kullanılan yön bu: elinde makine sayısı var, önek arıyorsun. “Bana 50 adres lazım” dediğinde 2^h − 2 ≥ 50 eşitsizliğini sağlayan en küçük h değerini bulursun. h=5 için 30, yetmiyor; h=6 için 62, yetiyor. Önek 32 − 6 = /26.

Son okteti kullanan öneklerin tamamı tek bir merdivene sığıyor ve bu merdiveni akılda tutmak alt ağ hesabının yarısıdır:

önekmaskeblok büyüklüğütoplamatanabilir
/24255.255.255.0256256254
/25255.255.255.128128128126
/26255.255.255.192646462
/27255.255.255.224323230
/28255.255.255.240161614
/29255.255.255.248886
/30255.255.255.252442
/31255.255.255.254222
/32255.255.255.255111

Merdiven her satırda ikiye bölünüyor: maskeye bir bit eklemek blok büyüklüğünü yarıya indiriyor. Sağdaki iki sütunun /31 ve /32 satırlarında birbirine eşit olmasının ayrı bir hikâyesi var; ona birazdan geleceğiz.

203.0.113.0/24 bloğunu dört parçaya bölmek istiyorsun. Dört parça 2 bit ödünç almak demek. Yeni önek /26 ve maske 255.255.255.192 oluyor. Makine parçası 6 bit kalıyor, yani her alt ağda 64 adres var ve bunun 62’si atanabilir.

Sınırları ikili yazmadan bulmanın kısayolu blok büyüklüğü. Maskenin son oktetteki değerini 256’dan çıkarırsın: 256 eksi 192, 64. Alt ağlar son oktette 64’er adımla ilerler.

alt ağağ adresiatanabilir aralıkbroadcast adresi
1203.0.113.0.1 - .62203.0.113.63
2203.0.113.64.65 - .126203.0.113.127
3203.0.113.128.129 - .190203.0.113.191
4203.0.113.192.193 - .254203.0.113.255

Aynı hesap başka bir blokta da yürüyor. 198.51.100.0/24 sekiz parçaya bölünürse önek /27 olur, maske 255.255.255.224 çıkar ve blok büyüklüğü 32’ye iner. Her parçada 30 atanabilir adres kalır.

Bölmenin bir bedeli var. Tek bir /24 bloğunda 256 adresin ikisi kaybolur; kayıp oranı %0,8’de kalır. Aynı blok dört /26’ya ayrılınca kayıp sekize çıkar ve oran %3,1 olur.

Bedel en uçta çıplak görünür. İki router’ı bağlayan noktadan noktaya bir hat için /30 kullanılır ve dört adresin yalnızca ikisi işe yarar. Verim %50.

Bu israfın bir çaresi var ve merdivenin sondan ikinci satırında duruyor. RFC 3021, noktadan noktaya hatlarda /31 kullanmayı serbest bırakıyor. Mantığı şu: ağ adresi ile broadcast adresi ancak bir alt ağda “ötekiler” varken anlamlıdır. Bir hattın iki ucu varsa broadcast yapmaya gerek yok: karşı taraf zaten tek bir makine. Öyleyse iki adresi de interface’e verebilirsin ve verim %50’den %100’e çıkar. Bir operatörün binlerce hattı olduğunda kazanılan adres sayısı ciddi. Merdivenin son satırındaki /32 ise bir ağ değil, tek bir makineye giden bir yol; loopback interface’lerinde ve routing tablosunda karşına çıkacak.

Bir tasarım problemi: aynı blok, dört farklı beden

Şimdiye kadar blokları hep eşit parçalara böldük. Gerçek bir ağda departmanlar eşit büyüklükte olmuyor ve eşit bölmek adres israf ediyor. Çözümün adı değişken uzunluklu maske (VLSM): aynı blok içinde farklı öneklere sahip alt ağlar kurmak.

Elinde 192.168.10.0/24 var ve dört ihtiyaç bekliyor:

bölümgereken makine
Satış50
Muhasebe25
Depo10
İki router arası hat2

Kural tek: en büyükten başla. Küçükten başlarsan büyük blok için hizalı bir yer kalmaz, çünkü her alt ağ kendi büyüklüğünün katı olan bir adreste başlamak zorunda.

Satış, 50 makine. 2^6 − 2 = 62 ≥ 50, önek /26, blok 64. İlk boş adres .0. → 192.168.10.0/26, kullanılabilir .1-.62, broadcast .63.

Muhasebe, 25 makine. 2^5 − 2 = 30 ≥ 25, önek /27, blok 32. İlk boş adres .64; 64, 32’nin katı olduğu için hizalı. → 192.168.10.64/27, kullanılabilir .65-.94, broadcast .95.

Depo, 10 makine. 2^4 − 2 = 14 ≥ 10, önek /28, blok 16. İlk boş adres .96, 16’nın katı. → 192.168.10.96/28, kullanılabilir .97-.110, broadcast .111.

Hat, 2 adres. 2^2 − 2 = 2, önek /30, blok 4. İlk boş adres .112. → 192.168.10.112/30, kullanılabilir .113-.114, broadcast .115.

Sonuç tabloya döküldüğünde:

bölümağaralıkbroadcastboşa giden
Satış192.168.10.0/26.1 - .62.6312
Muhasebe192.168.10.64/27.65 - .94.955
Depo192.168.10.96/28.97 - .110.1114
Hat192.168.10.112/30.113 - .114.1150

Geriye 192.168.10.116 ile 192.168.10.255 arası, yani 140 adres boşta kalıyor. Yarın beşinci bir bölüm eklendiğinde yer var.

Şimdi aynı işi eşit bölmeyle yapmayı dene. Dört bölüm için dört alt ağ, yani /26. Satış sığar, ama Depo 62 adreslik bir bloğun içinde 10 makineyle oturur ve 52 adres ölür; iki adreslik hat 60 adres yakar. Boşa giden toplam yine 161 adres, VLSM’dekiyle birebir aynı. Fark, bu kez hepsinin dört bloğun içine hapsolmuş olması: elinde beşinci bir alt ağ için hiç yer kalmaz. VLSM’in kazandırdığı şey adres değil, gelecekte manevra alanı.

Bir uyarı da düşeyim: VLSM’in çalışabilmesi için routing protokolünün maskeyi ilanla birlikte taşıması gerekiyor. Taşımayanlar, yani birazdan göreceğin sınıflı düzenin kalıntıları (RIP’in ilk sürümü gibi), aynı ağda iki farklı önek gördüklerinde yanlış karar veriyor. Routing protokollerini karşılaştırırken bu ayrımı tekrar kullanacağız.

Bölmenin sebebi adres tasarrufu mu?

Alt ağın tanımı aslında topolojik. Arada router olmadan birbirine ulaşabilen interface’ler bir alt ağ oluşturur. Adresin yapısı bu fiziksel gerçeği yazıya dökmekten ibaret.

Bölmenin ilk gerekçesi de adres tasarrufu değil, broadcast trafiği. Ağ büyüdükçe broadcast etki alanı büyür ve bütün makineler yoğun broadcast’in ortasında kalır. İkinci gerekçe yönetim: farklı yerlerdeki bölümler birbirini etkilemez ve tek bir ağ numarası içeriden bölünebilir.

Bu esneklik sonradan kazanıldı. 1993’e kadar internetin genelinde sınırı maske değil, adresin ilk okteti çiziyordu. Üç beden vardı ve arada kalan kurumların hiçbirine uymuyordu. Sınırı sınıftan alıp maskeye taşıyan sınıfsız gösterim bu üç bedeni ortadan kaldırdı; eğik çizgili yazım da oradan geliyor.

DerinleşmeSınıflı adresleme neden battı ve CIDR neyi kurtardı?

Sınıflı düzende maske ezberden okunurdu. İlk oktet 1 ile 126 arasındaysa adres A sınıfıdır ve maskesi 255.0.0.0; 128 ile 191 arasındaysa B sınıfıdır ve maskesi 255.255.0.0; 192 ile 223 arasındaysa C sınıfıdır ve maskesi 255.255.255.0.

Sınıf aslında adresin ilk bitlerine yazılıydı. A sınıfında ilk bit sıfır, B sınıfında ilk iki bit bir-sıfır, C sınıfında ilk üç bit bir-bir-sıfır. 224 ile 239 arası multicast için D sınıfına, 240 ve üstü deneysel kullanım için E sınıfına ayrılmıştı.

Düzenin kapasitesi tek tabloya sığıyor.

sınıfağ sayısıağ başına makine
A12616.777.214
B16.38265.534
C2.097.150254

Can alıcı kusur satırların birinde değil, iki satır arasındaki boşlukta. RFC 4632’nin tespiti açık: C sınıfının 254 adresi çoğu kurum için azdı, B sınıfının 65.534 adresi ise fazlaydı. Arada bir beden yoktu.

Sayıyla bakınca israf görünür oluyor. Üç yüz makinelik bir kuruma B sınıfı verilirse 65.234 adres hiç kullanılmadan o kurumun üstünde kalır. Bloğun %99,5’i çöpe gider.

Yürürlükteki belge RFC 4632: Fuller ve Li imzalı, Ağustos 2006 tarihli, BCP 122 numaralı. Kendinden önce gelen RFC 1519’u yürürlükten kaldırdı.

Bedelini de aynı belge yazıyor. Sınıflar kalkınca adresin ilk bitlerine bakıp maskeyi tahmin etmek imkânsız hale geldi. RFC 4632 bu yüzden maskenin ya da önek uzunluğunun routing protokollerinde açıkça taşınmasını şart koşuyor. Taşımayan eski protokoller kullanım dışı kaldı.

Bölmenin tersi de var. Komşu ağları tek bir kısa önekte birleştirmeye üst ağ oluşturma (supernetting, rota toplama) deniyor; öneki 3 bit kısaltmak sekiz komşu ağı tek satıra indiriyor. RFC 4632’ye göre paket anahtarlamalı bir ağda routing durumunu küçültmenin bilinen tek yolu bu.

Uzayın her köşesi de bölünmeye açık değil. Dört milyarlık alanın içinden bazı bloklar kesilip özel işlere ayrıldı; bir adresin hangi bloğa düştüğünü tanımak arıza ararken ilk adımdır:

blokadıne demek
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16özel kullanıminternete çıkmaz; evindeki adres bunlardan biri
127.0.0.0/8loopback (geri döngü)paketi makinenin kendisine gönderir, kabloya hiç çıkmaz
169.254.0.0/16link-localadres sunucusu bulunamayınca makinenin kendine seçtiği alan
100.64.0.0/10operatör NATabonelerin operatörün içindeki adresleri
224.0.0.0/4multicasttek bir makineyi değil, bir grubu adresler
192.0.2.0/24 198.51.100.0/24 203.0.113.0/24belgelemekitaplarda ve örneklerde kullanılmak üzere ayrıldı
255.255.255.255sınırlı broadcastyalnızca bu ağdaki herkes; router geçirmez
0.0.0.0/8“bu ağ”henüz adresi olmayan makinenin kaynak adresi

Tablonun altıncı satırı bu kitabın kendisini de açıklıyor: örneklerde hep 203.0.113.x görmenin sebebi, o bloğun bunun için ayrılmış olması. Gerçek bir kuruma ait adres yazmak, okurun onu bir hedef sanmasına yol açardı.

Yedinci satırdaki 255.255.255.255 özel bir broadcast: hedefi bilinmeyen ilk konuşmalarda kullanılıyor. Makine daha kendi adresi yokken 36. bölümde adres sunucusunu arıyordu; o mesajın hedefi bu adres, kaynağı ise sekizinci satırdaki 0.0.0.0. İki uç durum aynı anda: adresi olmayan bir makine, kimliği olmayan bir alıcıya sesleniyor.

Bütün bu yapıyı kendi makinende tek komutla görebilirsin. Windows’ta ipconfig adresi ile maskeyi ayrı satırlara yazar; Linux’ta ip -brief addr ikisini birleştirip 203.0.113.70/26 biçiminde tek parça verir. İki çıktı da aynı 32 biti anlatıyor, biri noktalı ondalık maskeyle, öteki önek uzunluğuyla.

Özet

  • Adres tek bir sayıdır: 32 bitlik değer okunabilsin diye 8 bitlik dört oktete bölünür ve noktalı ondalık yazılır.
  • Sınırı maske çizer: adres kendi ağ parçasının nerede bittiğini söylemez, bunu yanındaki 32 bitlik desen söyler.
  • Karar bitsel VE ile verilir: makine hem hedefi hem kendini aynı maskeden geçirir, sonuçlar eşitse komşudur, eşit değilse paket geçide çıkar.
  • Bölmenin bedeli iki adrestir: her alt ağ bir ağ adresi ile bir broadcast adresi yutar, dörde bölünen bir blok sekiz adres kaybeder; noktadan noktaya hatlarda /31 bu bedeli sıfırlar.
  • Hesap iki formüle iniyor: 2^b alt ağ sayısını, 2^h − 2 alt ağ başına atanabilir adresi verir; sahada bunları tersinden, gereken makine sayısından öneke doğru kullanırsın.
  • VLSM eşit bölmeyi bırakır: en büyük bölümden başlayıp her alt ağı kendi büyüklüğünün katına hizalarsan, aynı /24 bloğunda dört farklı beden yan yana durur ve geriye manevra alanı kalır.
  • Önek uzunluğu maskenin kısaltmasıdır: eğik çizgiden sonraki sayı maskedeki bir bitlerinin adedidir ve sınıfların yerini almıştır.

Adresin anatomisini çıkardık: otuz iki bit, bir maske ve maskenin çizdiği bir sınır. Ama bu düzenin toplamı baştan belli, çünkü 32 bitin alabileceği değer sayısı sabit: 4.294.967.296. Dört milyarı biraz aşan bu havuz bütün dünyaya yetiyor mu?

38. bölüme devam et: Adres Tükenmesi ve IPv6