Menü

NETWORK ADDRESS TRANSLATION ( NAT )

07 Nisan 2015 - Network, Network Services, Server Platforms, Windows Server
NETWORK ADDRESS TRANSLATION ( NAT )

Yazımızda NAT nedir, nerelerde kullanılır ve tasarımı hakkında kapsamlı bilgi vereceğim.

Yeni bir network tasarladığımızda yapımızda bugüne kadar bahsettiğimiz birçok network teknolojisini gerek maliyetlerinden dolayı gerekse yapımıza uygun olmaması nedeniyle kullanmaya bilirsiniz ancak NAT teknolojisini bugün dünyanın en büyük network ağı olan www(World wide web)’den tutunda, evlerimizde bağlı olan adsl modemlere kadar büyük bir kullanım alanı vardır.

Bunun nedeni, İnternette kullandığımız IP adreslerini internet servis sağlayıcılar, ICANN adlı firmadan satın alırlar. Her geçen gün artan internete giren nüfus sayısını düşünürsek IP adresleri yetmeyecektir. NAT ‘ın yapısını daha iyi anlamak için şu an kullandığımız ipv4 dahilinde 5 sınıf olan A;B;C;D;E sınıfı ip adreslerini kullanmaktayız. D sınıfı ip’ler multicast adresleme için ayrılırken, E sınıfı ip’lerde gelecek uygulamalar için saklanmış olup güncel kullanım alanlarına dahil olmamaktadır. A;B ve C sınıfı ip’ler ise halen kullanılmaktadır. Internet Protocol Version 4 (IPv4) 32 bitlik adres yapısı nedeniyle yetersiz kalmıştır, bunun yerine yakın bir zamanda IPv6 yapısına geçilmesi kaçınılmaz olmuştur. Aşağıda IPv4 ve IPv6 karşılaştırmasını veriyorum.

128 bitlik adres (IPv6) yapısı demek

adet IPv6 adresi demektir.

32 bitlik adres (IPv4) yapısı demek

adet IPv4 adresi demektir.

Ip adreslerindeki bu yetersizlikten dolayı genel kullanım için NAT(Network Access Translation) ve servis sağlayıcılar ve yönlendirme içinse CDIR(Classless Inter Domain Routing) gibi teknolojiler geliştirilmiştir.

İnternette gideceğimiz yeri bulmak için IP adresleri kullanırız. Ancak her IP adresini internet ortamında kullanamıyoruz. Public ortamda kullanmak için iç networklerimizin kullanmadığı real ip dediğimiz kayıtlı satın alınmış ip bloklarını kullanılır.

Private networklere özel ayrılan ip bloklarına ise “Address Allocation for Private Internets” denir.

“ Kısacası NAT private adres yapısını Public adres yapısına dönüştüren teknoloji diyebiliriz. ”

 

 

Bunu daha iyi anlamak için kendi yapınızı ele alalım evinizde bir yada birkaç bilgisayardan oluşan ağınız, 192.168.1.0 bloğunda bu blok(Inside blok) ile internete direk çıkış sağlayamazsınız, bunun için servis sağlayıcınız(Türk Telekom) satın aldığı IP aralıkları vardır(Outside blok),Outside ip bloğuna ulaşmak için bir NAT cihazı olan adsl modem ile servis sağlayıcının sağladığı ip’lere statik yada dinamik ip dağıtarak ,kendi inside ip bloğumuzdan çıkış yapabiliyoruz.

Adsl modemlerinde genel olarak PPPoE  veya PPPoA (internet), Ethernet (yerel) ve geridöngü (Loopback) arayüzleri vardır. Her 3 arayüzüne de IP adresleri atanır. Internet tarafına siz bağlantı kurduğunuzda servis sağlayıcı tarafından, yerel tarafa ise biz IP atarız. Geridöngü (Loopback) varsayılan olarak 127.0.0.1 alır. ADSL yönlendiricimiz bize ilk geldiğinde onun ethernet arayüzüne bağlanmak için inside bloğundan 192.168.1.0 aralığı gibi adresleri kullanırız.

Bilgisayarınızdan bir istek gönderdiğinizde bu istek ADSL yönlendiricinizin Ethernet arayüzüne gelir ve NAT bunu çevirip diğer arayüze yönlendirir ve o bağlantı için NAT tablosunda bir kayıt tutulur. Yerel ağ tarafında isterse yüz bilgisayar olsun internete çıktıklarında bir tane IP adresi ile kullanacaklardır. O adreste tabi ki servis sağlayıcının size verdiği adrestir. İşte burada NAT bir IP adresi kullanarak yüzlerce bilgisayarı internet ortamında haberleşmesini sağlıyor. Böylece IP adresi sıkıntısı bir süreliğine önlenmiş oluyor.

NAT olmasaydı, Şirketimizde 50 terminal internete çıkarmak için 50 tane IP ye ihtiyacımız olacaktı. Nat’ı kullanarak bunun önüne geçilmiş ve IP yetersizliği önlenmiş oldu. IPv6 ile bu sorun ortadan kalkacaktır.

Nat, içeriden bir istek olmadıkça veya siz izin vermedikten sonra dışarıdan hiç kimse içeriye erişemez”.

Nat ile yapabileceklerimizi özetle şöyle sıralayabiliriz;

NAT ÇEŞİTLERİ ;Nat çeşitleri yapısı ip atamasına benzemektedir, ip’nin statik yada dinamik olmasına benzetebilirsiniz.

nat1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Şekilde belirtiğim gibi tek bir ip adresiyle PAT(Port Address Translation) yöntemiyle ip adresinin overloading(aşırı yükleme) yaparak farklı port numaraları ile çıkışları sağlanır.

Başka bir değişle 65000 farklı port üzerinden tek bir kayıtlı IP adresi, yerel ağdaki tüm bilgisayarların dış ağa(internete) çıkışını sağlar.

 Statik ve Dinamik Nat işlemi yapılırken;

Privete ip’ye sahip bir terminal, Public taraftaki web sunucusuna bağlanmak ister, burada aslında bağlanmak istediğimiz web sunucuda başka bir private ip adresine sahiptir, kendi network’ünde gerçekleşen nat işlemi ile o da public ortama çıkış imkanı sağlar.

Ardından istek paketi NAT’a geldiğinde, yönlendirici NAT tablosuna bakar. Resimde olduğu gibi statik olarak biz bir eşleme girmişsek, yönlendirici ilgili IP adresi ile çevirme işlemini yapar ve gerekli yere yönlendirir. Girmemişsek IP adresi havuzumuzdan boşta duran bir IP adresi ile eşleştirir. Bu durumda sadece geçerli olan bağlantı için tabloya bir eşleme kaydı girilir.

Web server paketi alır ve bizim public taraftaki ilgili IP adresine cevap gönderir çünkü çevirim olmuştur ve web sunucusunun bizim iç taraftaki ağımızdan haberi yoktur. Yönlendirici, tablosundaki Private – Public eşleşmesine bakar ve bu paketi private taraftaki gerekli yere yönlendirir.

İşlem tamamlanana kadar bu işlem devam eder,  Bittiğinde değişken dinamik nat ise nat tablosundan silinir.

PORT ADDRESS TRANSLATION ( PAT )

Port Address Translation tek bir public ip üzerinden, private ağ(yerel ağ)’daki birçok cihaz için ip adresine bir benzersiz port numarası ekler.

Örneğin aynı network’deki iki bilgisayarın servis sağlayıcının atadığı bir public ip adresi ile aynı anda www.google.com’a ulaşmak istediğinde, yönlendirici her bilgisayar  için ip ve port ataması yaparak, aynı ip adresine ve hatta aynı port’a erişim sağlanır.

nat3

 

 

 

 

 

 

 

 

 

 

 

Port adres çevrimi diğer ismi “Overloading” ’dir. PAT ‘i anlatmadan önce port kavramını anlamamız gerekir, Örneğin bir web sayfasını açmaya çalıştığımızda öncelikle kendi network’ümüzden çıkışta bir port (kapı) ile çıkış sağlar buna source port (kaynak port) denir. İsteğimiz web server üzerinde http portu olan 80 nolu (https ise 443) porta yada bir değişle kapısına gider, buna destination port (hedefport) denir.

TCP Sesion’nın yani bağlantının kurulması için kaynak port gereklidir. 1024 ile 65535 arasında herhangi bir port olabilir, buna yazılımınız veya donanımınız karar verir.

PAT(Port Address Translation)işlemi yapılırken;

Private ağdaki istemci, public ağdaki web server’a bağlatı kurmak ister. Paket router’a geldiğinde, Router NAT tablosuna bakar ve router bu isteği nat tablosuna yazar, sonrasında router hedef ip ile kaynak ip’yi eşleştirir ve farklı bir ip adresi port’a yönlendirir. Web server bu isteğe cevap gönderir ancak web server bizim private network’ümüzü bilemez. Router burada tabloya tekrar bakarak web server’ın cevabını ,bizim private network adresimize geri bildirim yapar.

İşlem tamamlanana kadar bu süreç devam eder ve işlem tamamlandığında tablodan bu kayıt silinir. Bu yönlendirme işlemini manuel olarak yapma imkanımız vardır, buna örnek olarak RDP(Romete Desktop Protokol)’u verebiliriz. Bağlanmak istediğimiz iç networkdeki terminali gerekli izinleri vererek 3389 nolu porta yönlendiririz yani PAT tablosuna el ile giriş yaparız, dışarıdan bir istek geldiği zaman router PAT tablosuna bakarak erişime izin verir.

nat4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

            Hakkı İNKAYA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Please follow and like us:
facebooktwittergoogle_pluslinkedinrssby feather
pinterestlinkedinmailby feather

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir