IPv6client64:ff9b::c633:642aNAT64translator+ DNS64IPv4server198.51.100.42v6 client reaches v4 destination, transparently

NAT64 ve DNS64

11 dk okumaAğ oluşturma

Reliance Jio'nun büyük bir kısmı olan T-Mobile US gibi bazı hücresel ağlar yıllardır yalnızca IPv6'yı çalıştırıyor. Kullanıcıları hala web'in geri kalanı gibi IPv4 sitelerine ulaşıyor. Çeviri, IPv4 ve IPv6 dünyaları arasında köprü oluşturan bir çift teknoloji olan NAT64 ve DNS64 aracılığıyla gerçekleşir. IPv6 geçişinin sessiz orta perdesini nasıl netleştirdiğini anlamak.

Makalenin tam metni aşağıda İngilizce olarak verilmektedir.

NAT64 ve DNS64, yalnızca IPv6 istemcilerinin yalnızca IPv4 sunucularına erişmesine olanak tanıyan teknolojilerdir. Birlikte, ağların İnternet'in IPv4 kısmına erişimi kaybetmeden yalnızca IPv6 dağıtmasına olanak tanırlar. T-Mobile US, diğer bazı büyük mobil operatörler ve birçok kurumsal ağ, üretimde bu modeli kullanıyor.

Çözdükleri sorun

IPv4'ten IPv6'ya geçiş kademeli olarak gerçekleşti. Birçok sunucu hâlâ yalnızca IPv4'tür. Ağınız yalnızca IPv6 çalıştırıyorsa, protokoller geriye dönük olarak uyumlu olmadığından istemcileriniz bu sunuculara doğrudan erişemez.

Bunun basit yanıtı çift yığınlıdır; her cihaz hem IPv4 hem de IPv6 adresine sahiptir. Çift yığın çalışır ancak iki paralel ağ yığınının süresiz olarak korunmasını gerektirir. Bazı ağlar, tek yığınlı IPv6'ya geçmeye ve kalan IPv4 erişimi için çeviriyi kullanmaya karar verdi.

NAT64 nasıl çalışır

NAT64, ağ sınırında durum bilgisi olan bir çeviricidir. Şu özelliklere sahiptir:

  • Yalnızca IPv6 ağına bakan bir IPv6 arayüzü
  • IPv4 İnternet'e bakan bir IPv4 arayüzü (IPv4 adresleri havuzuyla)
  • IPv6 kaynaklarını tahsis edilmiş IPv4 bağlantı noktalarına eşleyen bir çeviri tablosu

Bir IPv6 istemcisi bir IPv6 istemcisine erişmek istediğinde IPv4 sunucusu:

  1. İstemci, IPv4 hedefini kodlayan özel bir IPv6 adresine bir IPv6 paketi gönderir.
  2. NAT64 çeviricisi, paketi IPv6 arayüzünde alır.
  3. IPv4 hedefini IPv6 adresinden çıkarır, IPv4 havuzundan bir bağlantı noktası ayırır ve yeniden yazar. paketi tahsis edilmiş IPv4 kaynağı + bağlantı noktasına sahip bir IPv4 paketi olarak sunar.
  4. Paket IPv4 hedefine normal şekilde akar.
  5. Yanıt paketi NAT64'ün IPv4 arayüzüne geri gelir.
  6. NAT64 eşlemeyi arar, IPv6 paketini yeniden oluşturur ve onu geri iletir client.

Kavramsal olarak NAT44'e benzer (normal tür), ancak her adımda protokol çevirisi vardır.

Yerleşik IPv4 içeren IPv6 adresi

NAT64, IPv4 adresinin sonuncuya katıştırıldığı belirli bir IPv6 öneki kullanır (iyi bilinen önek 64:ff9b::/96'dır). 32 bit:

  • NAT64 aracılığıyla 198.51.100.42'ye ulaşmak için istemci 64:ff9b::c633:642a adresini kullanır (bunun son 32 biti onaltılık olarak 198.51.100.42'yi kodlar).

İstemci Bunun bir çeviri olduğunu bilmem gerekiyor; yalnızca bir IPv6 adresi görüyor. Ancak istemci bu özel adresi nereden alıyor?

DNS64 boşluğu dolduruyor

Çoğu istemci IP adreslerine doğrudan bağlanmaz; ana bilgisayar adlarına DNS aracılığıyla bağlanır. DNS64, şu sentezi gerçekleştiren değiştirilmiş bir DNS çözümleyicidir:

  1. Client, example.com için DNS'yi sorgular.
  2. DNS64 çözümleyici, AAAA (IPv6) kaydını arar. Varsa, normal şekilde döndürün.
  3. Yalnızca bir A (IPv4) kaydı varsa, DNS64, IPv4 adresini NAT64 önekine yerleştirerek sahte bir AAAA kaydı sentezler.
  4. Client, normal bir AAAA kaydı gibi görünen şeyi geri alır.
  5. Client, IPv6'ya bağlanır adresi.
  6. Paket NAT64 üzerinden akar ve IPv4'e çevrilir.

İstemci bunların hiçbirinden habersizdir. IPv6'yı görür, IPv6'yı gönderir, yanıtları IPv6 olarak geri alır. Çeviri görünmez. İstemci uyumluluğu için

464XLAT

NAT64 + DNS64 neredeyse her şey için çalışır, ancak bazı uygulamalar bozulur; özellikle de IPv4 değişmezlerini (ana bilgisayar adlarını değil) iletenler. Çözüm 464XLAT (CLAT — Müşteri Tarafı Çevirmeni):

  • İstemci cihazı, bir IPv4 yığınına sahipmiş gibi davranan bir CLAT çalıştırır.
  • IPv4'e ihtiyaç duyan uygulamalar, IPv6'ya çevrilen CLAT ile konuşur.
  • IPv6 paketi geçer Normalde NAT64.

Android ve iOS'un her ikisi de 464XLAT'ı destekler. T-Mobile US bu kombinasyonu kullanır. Sonuç: T-Mobile'daki bir Android telefon, ağ katmanında yalnızca IPv6'ya sahiptir ancak uygulamalar sanki IPv4 hala çalışıyormuş gibi davranır.

Konuşlandırıldığı yer

  • T-Mobile US — 2014'ten beri NAT64 ile yalnızca IPv6'yı çalıştırmaktadır.
  • Reliance Jio (Hindistan) — Yalnızca IPv6 dağıtımı, IPv4 için NAT64 hedefler.
  • Çoğunlukla IPv6 dahili ağlarına sahip birçok kurumsal ağ, eski yalnızca IPv4 hizmetleri için NAT64 kullanır.
  • Bazı bulut sağlayıcıları yalnızca IPv6 için NAT64 hizmetleri sunar VPCs.

Limitations

  • State-heavy. Çevirmen her etkin bağlantı için durumu korur. Kaynak gereksinimleri trafikle birlikte artar.
  • Bağlantı başına sınırlar. Herhangi bir NAT gibi, bağlantı noktası havuzu da IPv4 adresi başına eşzamanlı bağlantılara bir tavan belirler.
  • Bazı protokoller zorluk çeker. IP adreslerini yüklerine (eski SIP, FTP) yerleştiren protokoller, uygulama katmanı ağ geçitlerine ihtiyaç duyar. Çoğu modern protokolde bu sorun yoktur.
  • DNS-yalnızca çeviri. DNS'yi atlayan ve IPv4 değişmezlerine bağlanan uygulamaların CLAT.
  • DNSSEC komplikasyonlarına ihtiyacı vardır. Sentezlenen AAAA kayıtları kaynak tarafından imzalanmaz; DNSSEC'yi doğrulayan istemciler bunları reddedebilir. Çözümler mevcuttur ancak karmaşıklığı artırır.

Oyunsonu

NAT64 bir geçiş teknolojisidir. Beklenen son durum, yalnızca IPv4 hedeflerinin kenarlarda ele alınan nadir istisnalar olmasını sağlayacak kadar evrensel IPv6'dır. O zamana kadar NAT64 + DNS64 + 464XLAT, ağların hizmette bozulma olmadan yalnızca IPv6'ya geçebilmesinin yoludur. Kombinasyon on yılı aşkın bir süredir üretimdedir ve ciddi dağıtım için yeterince olgunlaşmıştır.

Sık sorulan sorular

NAT64'ün arkasında mıyım?
Muhtemelen T-Mobile US, Reliance Jio veya belirli bir yalnızca IPv6 ağında değilseniz hayır. Çoğu ev ve kurumsal ağ, saf IPv6 + NAT64 yerine çift yığınlıdır (her iki protokol).
NAT64 performansı etkiler mi?
Mütevazı bir şekilde. Çeviri adımı mikrosaniyeler ekler; the state table adds memory overhead. Tipik web taramasında etki ölçülemez. Çok yüksek bağlantı hızına sahip iş yükleri için ek yük önemlidir.
VPN NAT64 ile çalışır mı?
Çoğunlukla. Çoğu VPN istemcisi varsayılan olarak IPv4'e tünel açar; NAT64 bunları şeffaf bir şekilde yönetir. Çift NAT ile iyi çalışmayan bazı VPN protokollerinde sorunlar olabilir; modern WireGuard ve OpenVPN yapılandırmaları bunu doğru şekilde yönetir.
Neden tüm ağlar NAT64 kullanmıyor?
Çift yığın, operasyonel olarak daha basittir ve iyi anlaşılır. NAT64, IPv4 istemciler için hâlâ çalışıyorken marjinal fayda sağlamak üzere karmaşıklık katar. NAT64 ile yalnızca saf IPv6, esas olarak bir kuruluşun yeterli IPv4 adresine sahip olmadığı veya IPv6'ya bağlanmak istediği durumlarda caziptir.
NAT64 ile CGNAT arasındaki fark nedir?
CGNAT, IPv4'ten IPv4'e çeviridir (içeride özel IPv4, dışarıda genel IPv4). NAT64, IPv6'dan IPv4'e çeviridir. Farklı protokol katmanları; her ikisi de IPv4 kıtlığına yönelik geçiş teknolojileridir ancak farklı sorunları çözerler.
NAT64 ve DNS64 Açıklaması: Yalnızca IPv6 Ağlarının IPv4 İnternetiyle Nasıl Konuştuğu