IPv6

Cem Topkaya
4 min readAug 26, 2021

--

128 Bit uzunluğunda bir adresten bahsediyoruz. 32 Bit uzunluğunda 4 bölümden meydana gelen IPv4 yetmedi (120.180.190.245 gibi) şimdi 8 parçadan meydana gelen IPv6 ile ağ tanımlamalarını konuşacağız.

XXXX:XXXX:XXXX:XXXX:YYYY:YYYY:YYYY:YYYY
------------------- -------------------
Network Portion Interface Identifier
64 bit 64 bit

İlk 64 bit (X ile gösterilen) ağ bitleridir, kalanlar (Y ile gösterilen) ana bilgisayarın arabirim tanımlayıcısıdır (ana bilgisayar bitleri). Ağ kısmı (network portion), bir ISP veya kayıtlayıcı (ARIN veya RIPE) tarafından sağlanır.

https://www.youtube.com/watch?v=8IqXQ88QXfc
IANA -> RIRs -> ISP -> Koç Holding -> Mühendisin Bilgisayarı

IANA (Internet Assigned Numbers Authority) bölgelerinde kullanacakları IP adreslerini RIRs’e atar (Regional Internet Registrars). RIRs ise aldığı IP bloğunu ISP firmalarına atar. ISP ise müşterilerine “network portion” olarak adres tanımlaması yapar *.

https://www.arin.net/about/welcome/region/

Çok noktaya yayın özellikli (multi-cast) bağlantılarda ve noktadan noktaya bağlantılarda (point-to-point), her yönlendirici (router) periyodik olarak yayın grubuna “kullanılabilirliğini” bildiren bir yönlendirici reklam paketi (Router Advertisement) gönderir. Yönlendiriciler, ana bilgisayarların birkaç dakika içinde varlıklarını öğrenmeleri için yeterince sık yönlendirici reklamları gönderir. Yönlendirici reklamları, bir ana bilgisayarın yönlendirici ile aynı bağlantıda (bağlantıda) olup olmadığını belirlemek için kullanılan bir alt ağ önekleri listesi içerir (2001:D8:AB:5::/64 gibi). Bir ana bilgisayar, tüm yönlendiricilerden yönlendirici reklamları alır ve varsayılan yönlendiricilerin bir listesini oluşturur.

127.0.0.1'in Loopback adresi olduğunu biliyoruz. Public ve Private ağ adresler; “internette (public) ve ev/iş ağında (private)” kullanabildiğimiz adreslerdir. IPv4 için özel ağ adresleri şunlardır:

Router Advertisemend mesajını alan ana bilgisayar bu mesaja kendi arayüz bilgisini ekleyerek router’a (yönlendiriciye) cevap olarak döner. Bu cevaba komşu reklam mesajı (Neighbor Advertisement) denir.

Bu iletişime SLAAC (Stateless Adress Auto-Configuration) diyoruz. DHCP ile bilindik IP adresi alma kısmı aynı şekilde v6 için de çalışıyor.

Router: -------2001:D8:AB:5::/64 ---------> BilgisyarWindows ana bilgisayar
Bilgisyar: ---- 2001:D8:AB:5:<keyfi 64 bit değer üretir> -> Router
Linux/Mac/Unix
Bilgisyar: ---- 2001:D8:AB:5:<EUI-64'e göre değer üretir> --> Router

Ağ kısmı “Modified EUI-64” ile şöyle oluşur:

  • Ağ kartımızın MAC (Media Access Control) adresi 00–0C-29–0C-47-D5 olsun
  • 7. bitinden itibaren tam ortasına FF-FE gelecek şekilde şu hale getiriyoruz: 00–0C-29-FF-FE-0C-47-D5 > 000C-29FF-FEOC-47D5 olarak yazılır.
  • 48 Bit (12 bölüm x 4 bit) MAC adresi araya 16 bit (FF-FE = 4+4+4+4) gelince 64 bitlik ağ kısmı oluşuyor.

Sadece interface identifier kısmındaki 64 bit ile 2 üzeri 64 farklı IP adresi üretebiliyoruz. Her bir X ve Y, 4 bitlik bir onaltılık değeri (0,1,2..D,E,F) temsil eder.

2001:db8::/32 örnek bir IPv6 adresinin verildiği veya model ağ oluşturma senaryolarının açıklandığı her yerde kullanılmalıdır. İnternete açık bir IP adresi değildir. Aşağıdaki örnekte yer alan IPv4 ve IPv6 değerleri internete açık olmayan içeride kullanılabilecek örnek adres aralıklarıdır.

dual stack = çift yığın, cihazların IPv4 ve IPv6'yı paralel olarak çalıştırabileceği anlamına gelir. Bilgisayarların IPv4 ve IPv6 içeriğine aynı anda erişmesine olanak tanır.

Çift yığınlı (dual stack) cihazlar, hem IPv4 hem de IPv6 paketlerini oluşturabilen ve anlayabilen ağ arabirimlerine sahip bir aygıttır. Yani bu cihazların öyle ethernet kartları vardır ki; hem 4. versiyon hem 6. versiyon IP adresleri alabilirler.

Çift yığınlı bir aygıt bir hedef bilgisayarın adını sorgularsa ve

  • DNS ona bir IPv4 adresi (bir DNS A Kaydı) verirse, IPv4 paketleri gönderir.
  • DNS bir IPv6 adresiyle (bir DNS AAAA Kaydı) yanıt verirse, IPv6 paketleri gönderir.
IP v4 ile v6 Başlık bilgileri

2 byte uzunluğunda onluk düzende 11 değerini ikilik düzende yazacak olsak 00000000 00001011 kullanacağız. Soldan sağa ilk 1 karakterine gelinceye kadarki 0 değerleri hiç işimize yaramayacak. Bu yüzden IPv6 adresinin 0 ile başlayan bölümlerini yok sayabiliriz.

8 bölümlü olacak ancak 6 bölüm var ve 2 adet iki nokta üst üste görünüyor. Kayıp 2 bölümün bu iki nokta üst üste arasında olduğunu düşünebiliriz.

Ancak adresimizde farklı yerlerde 0 değerleri yok sayabileceğimiz bölümler olsaydı çözümlememiz mümkün olmayacağı için 0 ları yazmamız gerekirdi. Aşağıda ayrıntılı görelim:

2001:0ABC:0000:1234:0000:0000:00C5:00F5
2001: ABC: :1234: : C5: F5 = 2001:ABC::1234::C5:F5
---- ---- ---- ---- ---- ---- ---- ---- ---- --- - --- - - --
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7

Kısaltılmış halinde 7 bölüm görülüyor ancak 1 bölüm hangi kısımda yok sayılıyor (3 mü 5 mi) bilemeyeceğimiz için bu şekilde kısaltma doğru olmayacak. Bu yüzden sadece 1 tane çift iki nokta üst üste kullanabiliriz.

fe80:0000:0000:0000:cabc:c800:00a7:08d5   Baştaki sıfırları kaldırın:fe80:   0:   0:   0:cabc:c800:  a7: 8d5  2 veya daha fazla sıfır grubunu çift iki nokta üst üsteyle kısalt:fe80::              cabc:c800:  a7: 8d5Sonuç fe80::cabc:c800:a7:8d5

Başka bir örnek:

2000:0bb0:0000:0000:0000:0000:00a0:0002Baştaki sıfırları kaldırın:
2000: bb0: 0: 0: 0: 0: a0: 2
2 veya daha fazla sıfır grubunu çift iki nokta üst üsteyle kısalt:2000:bb0::a0:2

Aralık Tanımları

Örneğin 2001:db8::/32, açıklanan aralığın 001000000000000100001101110111000 ikili basamaklara ayarlanmış ilk 32 bit’e sahip olduğu anlamına gelir.

2001:db8::/32   2    0    0    1:        d    b    8::/32
0010 0000 0000 0001:0000 1101 1011 1000 ^
---- ---- ---- ---- ---- ---- ---- ---- |
4 4 4 4 4 4 4 4 = 32 bit
2001:db8:abcd:8000::/50
---- --- ---- ---- ^
16 12 16 16 = 50 bit

--

--

Cem Topkaya
Cem Topkaya

Written by Cem Topkaya

Evlat, kardeş, ağabey, eş, baba, müzik sever, öğrenmek ister, paylaşmaya can atar, iyi biri olmaya çalışır, hakkı geçenlerden helallik ister vs.

No responses yet