IPv6 Teknolojisi
Yayın tarihi
Okuma süresi
6 dk okuma

IPv4 ve IPv6 Arasındaki Farklar

IPv4 ile IPv6 arasındaki farklar: adres boyutu, başlık yapısı, parçalama, SLAAC, geçiş yöntemleri ve proxy açısından sonuçlar; tablo ve yaygın yanlışlarla.

IPv4 ile IPv6 arasındaki farklar yalnızca adresin uzunluğundan ibaret değildir. Başlık yapısı, parçalama kuralları, otomatik yapılandırma ve iki ailenin bir arada yaşama biçimi de değişir. Bu yazı farkları tek tek, doğrulanmış bilgilerle anlatır ve sonunda proxy kullanıcısı için ne anlama geldiklerini özetler.

Adres boyutu ve gösterim

IPv4 adresi 32 bittir ve noktayla ayrılmış dört ondalık sayı olarak yazılır: 192.0.2.1. IPv6 adresi 128 bittir ve iki nokta üst üsteyle ayrılmış sekiz onaltılık parça olarak yazılır: 2001:db8::1 (RFC 4291 §2.2 (yeni sekmede açılır)). Her parça en çok dört onaltılık basamaktır; bu parçaya yazılarda 16 bitlik grup ya da "hextet" denir. Hextet resmi bir RFC terimi değildir.

Sayılar şöyledir:

IPv4IPv6
Uzunluk32 bit128 bit
Toplam adres4.294.967.296340.282.366.920.938.463.463.374.607.431.768.211.456
Metin biçimi4 ondalık sekizli8 onaltılık parça
Tek bir /64 içindeki adres—18.446.744.073.709.551.616

Sık duyulan "IPv6, IPv4'ün dört katı adres sunar" cümlesi yanlıştır. Dört, bit sayısının oranıdır (128/32). Adres sayısı oranı 296'dır, yani yaklaşık 7,9 × 1028.

IPv6 adreslerinin kısaltma kuralları vardır: baştaki sıfırlar atılır, ardışık sıfır grupları :: ile bir kez kısaltılır, harfler küçük yazılır (RFC 5952 (yeni sekmede açılır)). 2001:0db8:0000:0000:0000:0000:0000:0001 kısa biçimde 2001:db8::1 olur. Kuralların tamamını IPv6 adresi nasıl kısaltılır yazısında bulabilirsiniz.

IPv6 adresleri ve IPv4 adresleri arasında bir eşleme biçimi de vardır. IPv4-mapped adres, bir IPv4 adresini IPv6 biçiminde taşır. RFC 5952 §5 bu tür adresler için karma yazımı önerir: ::ffff:192.0.2.1. Aynı adres ::ffff:c000:201 olarak da yazılabilir; ikisi de geçerlidir. Dönüşümleri elle yapmak yerine IPv4-IPv6 dönüştürücüyü kullanabilirsiniz.

Başlık yapısı

IPv6 temel başlığı sabit 40 bayttır. Alanlar: sürüm, trafik sınıfı, akış etiketi (20 bit), yük uzunluğu, sonraki başlık, atlama sınırı (hop limit), kaynak adres ve hedef adres (RFC 8200 §3 (yeni sekmede açılır)). IPv4 başlığı ise IHL alanıyla uzunluğunu bildirir: asgari 20 bayt, en çok 60 bayt (RFC 791 §3.1 (yeni sekmede açılır)).

ÖzellikIPv4IPv6
Temel başlık20–60 baytsabit 40 bayt
Başlık sağlama toplamıvaryok
Ömür alanıTime-to-LiveHop Limit
Seçeneklertemel başlıktagenişletme başlıklarında
Akış etiketiyok20 bit

Birkaç ayrıntıyı doğru anlamak gerekir.

  • Sağlama toplamı. IPv6 temel başlığında başlık sağlama toplamı yoktur. Bu, bütünlük kontrolü kalmadığı anlamına gelmez: TCP, UDP ve ICMPv6 sağlama toplamları adresleri içeren bir sözde başlıkla hesaplanır ve IPv6'da UDP sağlama toplamı zorunludur.
  • Genişletme başlıkları. İsteğe bağlı bilgi temel başlıktan ayrı başlıklarda taşınır ve her biri bir "sonraki başlık" değeriyle tanımlanır.
  • TTL yerine Hop Limit. Alan adı, işlevini daha doğru anlatacak biçimde değiştirildi; her ileten düğüm değeri 1 azaltır.
  • Hız konusunda dikkat. RFC, sadeleştirmenin amacını yaygın durumda işlem maliyetini düşürmek olarak belirtir. Bu bir tasarım hedefidir; "IPv6 daha hızlıdır" genellemesi bunun üzerine kurulamaz.

Parçalama ve MTU

IPv4'te büyük bir paket yolda yönlendiriciler tarafından parçalanabilir. IPv6'da parçalama yalnızca kaynak düğümde yapılır; yönlendiriciler paketi parçalamaz (RFC 8200 §4.5 (yeni sekmede açılır)). Parça bilgisi ayrı bir parça başlığında taşınır.

IPv6, internetteki her bağlantının en az 1280 bayt MTU'ya sahip olmasını ister. Yol MTU keşfinin uygulanması şiddetle önerilir. "IPv6'nın asgari MTU'su 1500'dür" yanlıştır; 1500 yaygın bir yapılandırma değeridir, asgari sınır 1280'dir.

Proxy kullanıcısı için pratik sonuç şudur: tünelleme ve çeviri katmanları MTU'yu düşürebilir. Büyük yanıtlarda takılma yaşıyorsanız yol MTU'yu da bir şüpheli olarak düşünün.

Adres yapılandırma: SLAAC ve DHCPv6

IPv4'te adres çoğunlukla DHCP ile verilir ya da elle girilir. IPv6'da bir arayüz kendi adresini bağımsız olarak oluşturabilir. Bu mekanizmaya SLAAC (durumsuz adres otomatik yapılandırması) denir (RFC 4862 (yeni sekmede açılır)). Adımlar:

  1. Arayüz etkinleşince fe80::/10 içinde bir bağlantı-yerel (link-local) adres oluşur.
  2. Adres kullanılmadan önce yinelenen adres tespiti yapılır.
  3. Yönlendirici duyurusundaki ön ekle birleşerek küresel adres oluşur.

SLAAC, ön ek uzunluğu artı arayüz kimliği uzunluğunun 128 olmasını bekler; bu yüzden fiilen /64 ister. Bir /64'ü daha küçük parçalara bölerseniz SLAAC çalışmaz. DHCPv6 ise adres atar ancak ön ek uzunluğu taşımaz. Ön ek konusunu IPv6 prefix nedir yazısında ele aldık.

Arayüz kimliğinin nasıl üretildiği de değişti. Eski değiştirilmiş EUI-64 yöntemi MAC adresinden türer ve donanım adresini geri elde edilebilir bırakır. Bu yüzden RFC 8064 kararlı adresler için RFC 7217'yi (alt ağ başına kararlı, anlamsal olarak opak kimlik) varsayılan yapmayı önerir. Geçici (gizlilik) adresler ise RFC 8981'e göre varsayılan olarak 1 gün tercihli, 2 gün geçerli ömürle üretilir. Gizlilik adresleri tek başına anonimlik sağlamaz: ön ek aynı kalır ve topolojik konumu belirler.

NAT, yayın ve komşu keşfi

IPv4'te adres kıtlığı, birçok cihazın tek bir genel adresi paylaştığı NAT uygulamasını yaygınlaştırdı. IPv6'da her arayüz küresel adres alabilir. Bu, bir cihazın dışarıdan erişilebilir olduğu anlamına gelmez; erişimi güvenlik duvarı kuralları belirler.

Yayın (broadcast) adresi IPv6'da yoktur; işlev çoklu yayın adresleriyle karşılanır (RFC 4291 §2 (yeni sekmede açılır)). Bunun iki sonucu var:

  • IPv4'teki "2n − 2 kullanılabilir adres" hesabı IPv6'da yoktur. Ağ ve yayın adresi ayırma kuralı uygulanmaz.
  • Adresler cihaza değil arayüze atanır; bir arayüzde birden çok adres bulunabilir.

IPv4'te adres çözümlemesi için ARP kullanılır; IPv6'da bu görevi ICMPv6 tabanlı komşu keşfi (NDP, RFC 4861) üstlenir. Bu yazı NDP'nin ayrıntısına girmez.

Geçiş yöntemleri: iki dünya nasıl bir arada çalışır?

IPv4'ten IPv6'ya geçiş tek seferde olmadı ve olmayacak. Birlikte yaşama için üç ana yaklaşım vardır.

Çift yığın (dual stack). Cihaz ve ağ iki protokolü de çalıştırır. Hedefin hem A hem AAAA kaydı varsa istemci ikisinden birini seçer. Çoğu modern sistem bu biçimde çalışır.

Tünelleme. IPv6 paketi IPv4 paketinin içinde taşınır. 6to4 (2002::/16) ve Teredo bu aileye girer. 6to4 hakkında sık duyulan yanlış: RFC 7526 yalnızca anycast 6to4 mekanizmasını (192.88.99.0/24) kullanımdan kaldırmıştır; 2002::/16 ön eki ve tekil yayın 6to4 kaldırılmamıştır. Bu mekanizmaların bugünkü yaygınlığını ölçmedik, o yüzden bir oran vermiyoruz.

Çeviri (NAT64/DNS64). Yalnızca IPv6 ağındaki bir istemcinin yalnızca IPv4 sunucuya ulaşmasını sağlar. DNS64 sentetik AAAA kaydı üretir, NAT64 paketleri çevirir. Kapsamı tekil yayın TCP, UDP ve ICMP ile sınırlıdır. Adım adım anlatım için NAT64 ve DNS64 yazısına bakın.

Üç yöntem farklı sorunları çözer. Tünelleme "IPv6'ya IPv4 yolundan ulaşma" sorunudur; çeviri ise "IPv6 istemcinin IPv4 sunucuya ulaşması" sorunudur. İkisini karıştırmayın: 6to4 ve Teredo, NAT64'ün başka adı değildir.

Proxy açısından sonuçlar

Fark tablosunu proxy kullanımına çevirelim:

FarkProxy açısından sonuç
Çok büyük adres uzayıBir alt ağdan çok sayıda çıkış adresi sunmak mümkün olur
/64 standart alt ağdırAdresler aynı ön ekten gelir; hedef bunu tek blok olarak görebilir
İki ayrı adres ailesiYalnızca IPv6 çıkış, yalnızca IPv4 hedefe doğrudan ulaşamaz
Çeviri katmanı seçeneğiNAT64 ile ulaşım mümkündür; hedef çevirici adresini görür
Köşeli parantez gösterimiIPv6 literal'i [adres]:port yazılır
Parçalama ve MTUTünel ve çeviri yolları MTU sorunu çıkarabilir

Bu tablodan çıkan pratik kural: IPv6 proxy, hedef IPv6 destekliyorsa güçlü bir araçtır. Destek yoksa tek başına yetmez. IPv6 proxy nedir yazısı bu sınırları satın alma kararı açısından ele alıyor.

Yaygın yanlış inanışlar

İnanışGerçek
IPv6, IPv4'ün dört katı adrese sahipAdres sayısı oranı 296'dır
IPv6 daha hızlıdırBu bir tasarım hedefi; ölçülmüş genel kazanç iddiası yok
IPv6 otomatik olarak daha güvenlidirGüvenlik yapılandırmaya ve yazılıma bağlıdır
IPv6'da TTL alanı varAlanın adı Hop Limit'tir
IPv6'da parçalama yokturVardır, yalnızca kaynak düğümde yapılır
IPv6'da yayın adresi varYoktur; çoklu yayın kullanılır
Geniş adres uzayı taramayı imkânsız kılarBöyle bir sonuç kaynaklarla desteklenmez
IPv6 adresi bir cihazın kalıcı kimliğidirGeçici adresler ve ağ başına değişen opak kimlikler bunu çürütür

Kısa özet

  • IPv6 adresi 128 bittir; IPv4'ten 296 kat fazla adres sunar, "dört kat" yanlıştır.
  • Başlık sabit 40 bayttır, sağlama toplamı alanı yoktur, parçalama yalnızca kaynakta yapılır.
  • SLAAC fiilen /64 ister; yayın adresi yoktur.
  • Geçiş yöntemleri çift yığın, tünelleme ve çevirmedir; her biri ayrı bir sorunu çözer.
  • IPv6 otomatik olarak daha hızlı ya da daha güvenli değildir.

Sık sorulan sorular

IPv4 ile IPv6 arasındaki en büyük fark nedir?

En belirgin fark adres uzunluğudur. IPv4 adresi 32 bit, IPv6 adresi 128 bittir. Toplam adres sayısı oranı 2 üssü 96'dır; bu 79.228.162.514.264.337.593.543.950.336 eder ve "dört kat" demek yanlıştır.

IPv6 IPv4'ten daha hızlı mıdır?

Bunu genel bir kural olarak söyleyemeyiz. IPv6 başlığı işlem maliyetini düşürmeyi hedefler, ancak bu bir tasarım amacıdır, ölçülmüş bir hız kazancı değildir. Gerçek başarım ağa, yola ve yazılıma bağlıdır.

IPv6 otomatik olarak daha güvenli midir?

Hayır. IPv6 adresleme ve protokol yapısını değiştirir, ancak güvenlik duvarı kuralları, yazılım güncellemeleri ve yapılandırma güvenliği ayrıca yönetilmelidir. Büyük adres uzayı da tek başına koruma sayılmaz.

IPv6'da yayın (broadcast) adresi var mı?

Hayır. IPv6'da yayın adresi yoktur; işlevi çoklu yayın (multicast) adresleriyle karşılanır. Bu yüzden IPv6'da "2 üssü n eksi 2 kullanılabilir adres" hesabı da yapılmaz.

IPv4 ve IPv6 birlikte nasıl çalışır?

Çift yığın (dual stack) bir cihaz her iki protokolü de çalıştırır. Yalnızca IPv6 ağından IPv4 sunucuya erişmek için NAT64 ve DNS64 gibi çeviri katmanları, ya da IPv4 üzerinden IPv6 taşıyan tüneller kullanılır.