🌐 IPv4 Adres Sınırlaması ve NAT (Ağ Adresi Çevirisi)
🔢 IPv4 Adreslerinin Sınırlılığı
Networking temel bilgilerinde değinildiği üzere, IPv4 (32-bit adresleme kullandığı için) teorik olarak yaklaşık 4.3 milyar (2³²) IP adresi sağlayabilir. Ancak bu sayı, gerçek dünyada tahsis edilen bloklar, rezervli adresler (örneğin özel adres aralıkları) ve yönlendirme gereksinimleri nedeniyle fiilen daha az kullanılabilir.
Bugün milyarlarca cihaz (bilgisayar, telefon, kamera, IoT cihazları vs.) internete bağlandığı için IPv4 adres havuzunun yetersiz kalacağı uzun zamandır biliniyordu. İşte bu noktada devreye NAT (Network Address Translation) giriyor.
🔁 NAT Nedir ve Neden Kullanılır?
NAT’in temel fikri şudur: Birden fazla cihazın internete erişimi için tek bir genel IP adresi kullanmak.
Örneğin: Bir şirkette 20 bilgisayar varsa, her biri için ayrı ayrı 20 adet genel (public) IP almak yerine, tek bir public IP ile tüm cihazlara internet erişimi sağlanabilir.
Bu işlem, ağ geçidinde (genellikle router) çalışan NAT mekanizmasıyla yapılır. NAT cihazı:
-
Dahili (private) IP adreslerini ve portlarını,
-
Harici (public) IP adresi ve portlarıyla eşleştiren bir çeviri tablosu (NAT Table) tutar.
🧠 NAT’in Çalışma Mantığı
💡 Örnek Senaryo:
-
Bilgisayar:
192.168.0.129:15401
(IP:Port) -
NAT destekli Router:
212.3.4.5
(public IP) -
Web sunucusu:
93.184.216.34:80
Kullanıcı internette bir sayfa açtığında:
-
İstek, NAT cihazına iletilir.
-
Router isteği dış ağa gönderirken port numarasını değiştirerek paketi şu şekilde gönderir:
212.3.4.5:19273 → 93.184.216.34:80
-
NAT tablosu, orijinal iç kaynak ve harici port arasında eşleme yapar:
-
192.168.0.129:15401 ↔ 212.3.4.5:19273
-
-
Web sunucusundan gelen yanıt da aynı port ile geldiğinde, NAT cihazı paketi doğru iç cihaza yönlendirir.
📊 NAT Tablosu Örneği:
İç IP ve Port | Dış IP ve Port |
---|---|
192.168.0.129:15401 | 212.3.4.5:19273 |
192.168.0.130:15402 | 212.3.4.5:19274 |
🧱 NAT Türleri
NAT Türü | Açıklama |
---|---|
SNAT (Source NAT) | İç kaynağın IP adresi ve portunun dış IP/port ile değiştirilmesi. Genelde internete çıkışta kullanılır. |
DNAT (Destination NAT) | Dış isteklerin iç sunuculara yönlendirilmesinde kullanılır (örneğin port yönlendirme - Port Forwarding). |
PAT (Port Address Translation) | En yaygın kullanılan türdür. Tek bir dış IP üzerinden çok sayıda cihazın bağlantısı için portları farklılaştırarak eşleme yapar. |
Static NAT | Belirli bir iç IP ↔ dış IP eşlemesi sabittir. Genelde sunucular için kullanılır. |
Dynamic NAT | İç adreslerin, belirli bir dış IP havuzundan dinamik olarak eşlendiği yöntemdir. |
🔒 NAT ve Güvenlik
-
NAT, istem dışı dış erişimi engellediği için güvenlik katmanı gibi çalışır.
-
Dış ağdan gelen istekler, NAT tablosunda eşleşme yoksa içeri alınmaz.
-
Ancak bu güvenlik özelliği asıl olarak bir firewall işlevi değildir; güvenlik sağlamak için stateful firewall ile birlikte kullanılması gerekir.
⚠️ NAT’ın Sınırlamaları
-
P2P bağlantıları zorlaşır: NAT arkasındaki cihazlara dışarıdan doğrudan bağlantı kurmak zordur.
-
VoIP, Online oyunlar ve VPN'ler gibi bazı uygulamalar NAT traversal teknikleri gerektirir (örnek: STUN, TURN, UPnP).
-
End-to-end bağlantı modeli bozulur, bu nedenle IPv6’da NAT genellikle kullanılmaz.
✅ Özetle
-
NAT, IPv4 adres kıtlığına karşı geçici ama etkili bir çözümdür.
-
Yüzlerce cihazı tek bir public IP ile internete çıkarabilir.
-
Günümüzde çoğu ev ve kurumsal ağ NAT + PAT ile çalışmaktadır.
-
NAT sayesinde IPv4 ile büyük ölçekli ağlar hala işlevsel şekilde çalışabiliyor, ancak gelecek IPv6’ya geçiştir.
Düşün ki evinde bir sürü insan var: sen, çocuklar, eşin… Herkesin kendi odası var ama dış dünyayla iletişim kurmak için tek bir telefon hattınız var. Yani, dışarıyı aynı numarayla arıyorsunuz ama içeride herkes farklı kişi.
Sen dışarıyı aradığında, mesela pizzacıya sipariş verdiğinde, pizzacı sadece "Evden biri aradı" diye görür. O numarayı görüyor (dış dünyaya açık olan telefon numarası), ama içeride kimin aradığını bilemez. Senin evdeki telefonun iç numarası 101, eşininki 102, çocuğunki 103 diyelim. O hattı yöneten merkez (modem/router), pizzacıdan gelen cevabı kimin aradığını bildiği için doğru odaya (101'e) yönlendiriyor.
İşte NAT tam olarak bu işi yapar:
-
Evin içindeki telefonlar: bilgisayarlar, telefonlar (hepsi özel IP adresinde)
-
Dış dünyaya açık olan telefon hattı: tek bir genel IP adresi
-
Merkezdeki yönlendirici: modem/router (bu NAT işini yapar)
🎯 Ne işe yarıyor?
-
Evdeki tüm cihazlar internete tek bir IP ile çıkabiliyor (IP tasarrufu).
-
Dışarıdan kimse senin evdeki her odayı (cihazı) direkt göremiyor. Bu da biraz gizlilik ve güvenlik sağlıyor.
Kısaca:
💬 "Evde 10 kişi var ama dışarıya tek bir numarayla ulaşıyorsunuz. Gelen aramalar da o numaradan doğru kişiye yönlendiriliyor."
NAT, internet dünyasında tam olarak bunu yapıyor.
PAT (Port Address Translation) ve NAT (Network Address Translation), ağda IP adreslerinin yönlendirilmesi ve kaynakların paylaşılması ile ilgili iki önemli kavramdır. Ancak ikisi arasında bazı önemli farklar vardır. İşte bu iki teknolojiyi detaylı olarak açıklayıp, aralarındaki farkları inceleyelim.
NAT (Network Address Translation)
NAT, özel (private) IP adreslerini genel (public) IP adreslerine dönüştüren bir ağ yönlendirme tekniğidir. Genellikle bir ağın içindeki birden fazla cihazın, tek bir genel IP adresi üzerinden internetle iletişim kurmasını sağlar. NAT, yönlendiricilerde (routers) yaygın olarak kullanılır.
Temel İşleyişi:
-
Özel ağda (örneğin, 192.168.x.x) bir cihaz internetle iletişim kurmak istediğinde, NAT cihazı, bu özel IP'yi genel IP'ye dönüştürür.
-
Dönüştürülen genel IP, internet üzerindeki hedefe gönderilir.
-
Gelen yanıtlar, NAT cihazı tarafından doğru iç IP'ye yönlendirilir.
Türleri:
-
Static NAT: Belirli bir özel IP, her zaman aynı genel IP'ye dönüştürülür.
-
Dynamic NAT: Özel IP adresi, önceden tanımlanmış bir genel IP adres havuzundan birine dönüştürülür.
-
Overloading (PAT ile beraber): Birden fazla iç cihazın, tek bir genel IP adresi üzerinden internete çıkmasını sağlar.
PAT (Port Address Translation)
PAT, NAT'ın bir alt kümesi olarak düşünülebilir. Temel olarak, birden fazla iç cihazın, tek bir genel IP adresini kullanarak internetle iletişim kurmasını sağlar, ancak her bir cihazın farklı port numaraları ile ayrılmasını sağlar. Bu, daha fazla cihazın aynı genel IP üzerinden iletişim kurabilmesini mümkün kılar.
Temel İşleyişi:
-
Bir iç cihaz internete erişmeye çalıştığında, PAT her cihaz için farklı bir port numarası atar. Bu port numarası, genel IP adresine eklenir.
-
İnternete yapılan her istek, belirli bir port numarasıyla ilişkilendirilir, böylece gelen veri hangi iç cihaza yönlendirileceği bilinir.
Örnek:
-
İç ağdaki cihazlar (192.168.1.10, 192.168.1.11) tek bir genel IP (203.0.113.5) üzerinden internete bağlanabilir.
-
Cihaz 192.168.1.10, 203.0.113.5:10001 portu üzerinden bağlanırken, 192.168.1.11, 203.0.113.5:10002 portu üzerinden bağlanır. Bu portlar, PAT tarafından dinamik olarak atanır.
PAT ve NAT Arasındaki Farklar
-
Port Kullanımı:
-
NAT, genellikle özel IP adreslerinin genel IP adreslerine dönüştürülmesi için kullanılır ve her cihaz için ayrı bir genel IP gerekebilir.
-
PAT, NAT'ın daha spesifik bir türüdür ve tüm iç cihazlar için yalnızca bir genel IP adresi kullanır. Ancak her bir bağlantı, farklı bir port numarasıyla ayırt edilir.
-
-
IP Adresi Başına Bağlantı Sayısı:
-
NAT, her özel IP için bir genel IP adresi tahsis edebilir. Bu, her iç cihazın internete ayrı bir IP adresiyle çıkmasını gerektirir.
-
PAT, yalnızca bir genel IP adresi kullanarak birden fazla iç cihazın internete çıkmasını sağlar. Aynı genel IP adresi üzerinden birden fazla bağlantıyı ayırt edebilmek için port numaralarını kullanır.
-
-
Verimlilik:
-
NAT, daha fazla genel IP adresi gerektirir, bu nedenle kaynak kullanımını artırabilir.
-
PAT, yalnızca bir genel IP adresi kullanarak verimli bir şekilde birden fazla cihazı yönlendirebilir, bu da daha az genel IP adresi gerektirir.
-
Sonuç:
-
NAT daha genel bir kavram olup, özel IP adreslerini genel IP adreslerine dönüştürür.
-
PAT ise NAT'ın bir türüdür ve tek bir genel IP adresi kullanarak birden fazla iç cihazın internet erişimini sağlar, her bağlantı için farklı port numaraları kullanır.