NAT<ı>(Network Address Translation) işlemi, OSI Referans katmanlarına göre Layer IV te çalışan bir yazılımdır.
Basit olarak yapıtğı işlem, gelen giden paketlerin başlıklarındaki IP Adreslerini belli kurallara göre değiştirmektir.
Aşağıdaki şekildeki bir networku ele alalım:
Resimleri görüntüleyebilmeniz için üye girişi yapmanız gerekmektedir. Üye değilseniz buraya tıklayıp üye olabilirsiniz.
10.0.0.0/8, 192.168.0.0/24 ve 172.16.0.0/12 IP blokları yerel ağlar, intranetler için rezerve edildiğinden dolayı internet bölgesinde geçersizdir.
Yukarıdaki şekilde tanımlanan bir networkte bir client'ın internete çıkarken 10.0.0.2 ipsini kullanarak çıkması mümkün olmadığı için internet isteklerini içeren paketlerin başlıklarında yer alan IP adresinin değiştirilmesi gerekir. Bu değişim işlemi NAT dır.
Problem:
Client sayısı 1'den fazla ve internette kullanılabilecek (registered) ip sayısı clientların sayısına eşit değilse (yani 1-1 eşleme yapılamıyorsa) bu sorunu nasıl çözeceğiz?
Çözüm:
Bu durumda NAT'ın bir alt kolu olan PAT<ı>(Port Address Translation) devreye giriyor.
Diğer bir deyişle DNAT<ı>(Dynamic NAT).
PAT işlemine başlamadan önce yazılım <ı>NAT Table dediğimiz adres dönüşüm tablosunu hazırlar. Tablo hazırlandıktan sonra ancak adres dönüşümü yapılabilir.
Aşağıda 10.0.0.2 IP Adresi bir client'ın internet isteğinin nasıl gerçekleştiğinin aşamaları yer almaktadır.
From = 10.0.0.2:1452 To = 195.46.148.28:80 -->
From = 212.175.151.101:1452 To = 195.46.148.28:80
From = 10.0.0.3:1452 To = 195.46.148.28:80 -->
From = 212.175.151.101:1455 To = 195.46.148.28:80
Bu işlem gerçekleştiği sırada NAT Table Durumu:
Sıra Local Address Global Address
1 10.0.0.2:1452 212.175.151.101:1452 Translated
2 10.0.0.3:1452 212.175.151.101:1455 Translated
Bu isteğin yanıtı geldiğinde ise öncelikle <ı>NAT Table kontrol edilir, eğer nat tableda böyle bir kayıta rastlanmazsa paket red edilir.
Şimdi gelen yanıtın dönüşümünü inceleyelim:
Gelen paket:
From = 195.46.148.28:80 To = 212.175.151.101:1452
NAT Table:
1 10.0.0.2:1452 212.175.151.101:1452 Translated
2 10.0.0.3:1452 212.175.151.101:1455 Translated
Bu durumda gelen paketin alıcı adresi NAT Tablosundaki karşılığı ile değiştirilecektir:
From = 195.46.148.28:80 To = 212.175.151.101:1452 -->
From = 195.46.148.28:80 To = 10.0.0.2:1452