Đnternette Ağ Katmanı



Benzer belgeler
Şekil 9.1 IP paket yapısı

Bilgisayar Programcılığı

HAFTA-3 ARP (Address Resolution Protocol) (Adres Çözümleme Protokolü)

IP ve MAC Adresleri. IP Adresleme. IP Adresleme. IP Terminolojisi. IPv4. IP Adresleme Standartları

Bilgisayar Ağları Computer Networks

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Ağ Temelleri Semineri. erbil KARAMAN

Computer Networks 7. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Alt Ağ Maskesi (Subnet Mask)

sayısının decimal karşılığı dur.

BİLGİSAYAR AĞLARI VE İLETİŞİM

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Datagram, bir başlık eklenerek, kaynak uçtan alıcı uca gönderilen veri birimidir. Her datagram sıra ile gönderilir.

BM 402 Bilgisayar Ağları (Computer Networks)

Bölüm3 Taşıma Katmanı. Transport Layer 3-1

Bilgisayar Sistemleri ilk ortaya çıktığında...

Serdar SEVİL. TCP/IP Protokolü

Internetin Yapı Taşları

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

OSI REFERANS MODELI-II

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

IP Protokolü. IP adreslerinin yapısını öğrenmek. IPv4 ve IPv6 arasındaki farkları sıralamak.

IPv4 ve IPv6 arasındaki farkları sıralamak. Ağ katmanında IP protokolüne yardımcı protokolleri öğrenmek.

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

TCP-IP PROTOKOLÜ MODÜLÜ

Internet in Kısa Tarihçesi

TEMEL NETWORK CİHAZLARI

Bilgisayar Programcılığı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 8. Ağ Adresi Dönüştürme (NAT-Network Address Translation)

BİLGİSAYAR 4 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ 1. DERS İNTERNET, TCP/IP, İNTERNETTE MESAJ VE BİLGİ AKTARIMI YARD. DOÇ. DR.

HAFTA-2 ARP(Address Resolution Protocol- Adres Çözümleme Protokolü)

Yönlendiriciler ve Yönlendirme Temelleri

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı EKi Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Gökhan AKIN ĐTÜ/BĐDB Ağ Grubu Başkanı - ULAK/CSIRT. Sınmaz KETENCĐ ĐTÜ/BĐDB Ağ Uzmanı

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

AĞ TEMELLERI. İSİM SOYİSİM: EMRE BOSTAN BÖLÜM: BİLGİSAYAR PROGRAMCILIĞI ÜNİVERSİTE: NİŞANTAŞI KONU: Konu 5. TCP/IP

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECİOĞLU

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Internet Kontrol Protokolleri

Computer Networks 5. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

ARP (Address Resolution Protocol) Poisoning -Ağın Korunma Yöntemleri

ETHERNET TEKNOLOJİSİ

IP Alt Ağlara Bölmek (Subnetting)

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Kas Salı, Çarşamba Öğr. Gör. Murat KEÇECİOĞLU

Bölüm 12: UDP ve TCP UDP (User Datagram Protocol)

IP Adres Sınıfları A sınıfı:1-126 B sınıfı: C Sınıfı: D sınıfı: E sınıfı:

Öğr. Gör. Ümit ATİLA

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı EKi Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

Free Cooling (Tibbo Ethernet Modüllü)

BİLGİSAYAR AĞLARI VE İLETİŞİM

Bölüm 10: ADRES ÇÖZÜMLEME. ADRES ÇÖZÜMLEME PROTOKOLÜ. IP DATAGRAMLARI.

Bölüm 8 : PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS MODELLERİ.

INTERNET NEDİR? Internet, birçok bilgisayar sisteminin birbirine bağlı

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 2. Ağ Modelleri

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

YÖNLENDİRİCİLER. Temel Bilgiler. Vize Hazırlık Notları

Hping ile IP, ICMP ve UDP Paketleri Oluşturma

Ağ Temelleri. Murat Ozdemir Ondokuz Mayıs Üniversitesi Bilgi İşlem Daire Başkanı 15 Ocak Ref: HNet.23

Ayni sistem(host) üzerinde IPC. Ağ(network) aracılığı ile IPC

Hazırlayan: Barış Şimşek. Bitirme Çalışması Sunumu. Ocak 2001, Trabzon KTÜ

Saldırı Tespit ve Engelleme Sistemleri Eğitimi Ön Hazırlık Soruları

IPv6 Geçiş Yöntemleri Analizi

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

Ağ Protokolleri. Aysel Aksu. Nisan, 2016

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

TCP/IP protokol kümesini tanımlamak. Bu protokol kümesindeki katmanları sıralamak.

Bölüm 5 İletim(Transport) Katmanı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Ağları - 1 (BİL 403)

TCP/IP Modeli. TCP/IP protokol kümesini tanımlamak. Bu protokol kümesindeki katmanları sıralamak.

BİLİŞİM TEKNOLOJİLERİ

22/03/2016. OSI and Equipment. Networking Hardware YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici. Hub

Lab7-Dinamik Yönlendirme ve RIP

Bir ağ içerisinde bulunan tüm cihazların bir IP adresi olmak zorundadır. Cihazlar haberleşmelerini bu IP adresi üzerinden sağlar ancak cihazların

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

Computer Networks 4. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

Yeni Nesil Ağ Güvenliği

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

BIL321 VERİ İLETİŞİMİ LABORATUVARI

03/03/2015. OSI ve cihazlar. Ağ Donanımları Cihazlar YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici REPEATER

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

Bölüm. Internet: Dayandığı Teknik Temeller

NETWORK BÖLÜM-5 OSI KATMANLARI. Öğr. Gör. MEHMET CAN HANAYLI CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU 1/27

Öğr. Gör. Serkan AKSU


AĞ TEMELLERİ 4.HAFTA CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU

Đstanbul Teknik Üniversitesi Bilgi Đşlem Daire Başkanlığı. 9 Kasim 2007 INET-TR Ankara

Cisco 881 Router ve AirLink ES4X0, WAN Failover Tanımı

BILGİSAYAR AĞLARI. Hakan GÖKMEN tarafından hazırlanmıştır.

Asıl başlık stili için tıklatın

Temel Ağ Bilgileri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Katmanı Tasarımı kaydet-yönlendir

VERĠ HABERLEġMESĠ OSI REFERANS MODELĠ

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Uygulama 6. Sunum 5. Oturum 4. Taşıma 3. Ağ 2. Veri iletim 1

Simülasyona Dayalı Ağ Temelleri Dersi Eğitimi

BLGM 344 DENEY 3 * AĞ PROGRAMLAMAYA GİRİŞ

Transkript:

Đnternette Ağ Katmanı Ağ katmanı gözüyle internet çok sayıda subnetin birbiriyle bağlanmasıdır. Tam tanımlı bir yapısı yoktur, çok sayıdaki bölgesel subnetler backbone lar yardımıyla birbirine bağlanır. Bölgesel subnetlere ise çevresindeki üniversiteler, devlet kurumları, şirketler, ISPler vs. bağlanır. Böyle bir yapı aşağıdaki şekilde betimlenmiştir.

Bütün bu yapıyı ayakta tutan Đnternet Protokolü (IP) dir. Ağlararası bağlantıyı sağlamak için tasarlanmış bir protokoldür. Görevi, datagramları kaynaktan hedefe ilgili bilgisayarların aynı ağda veya farklı ağlarda olmasına bakmaksızın mümkün olduğu kadar (garanti değil) taşımaktır. Đnternetin işleyişi şöyle özetlenebilir. Taşıma katmanı üst katmandan veriyi alır ve datagramlara böler. Datagramlar max. 64Kbyte olabilir, fakat tipik olarak 1500 byte tır (Ethernet çerçevesine sığması için). Daha sonra gerekiyorsa daha küçük parçalara bölünerek internet üzerinden hedefe gönderilir. Hedef bilgisayarda bu parçalar ağ katmanında birleştirilerek orijinal datagram elde edilir. Daha sonra bu datagramlar orijinal mesajın elde edilmesi için taşıma katmanına sunulur.

IP Protokolü Protokolü incelemeye datagram yapısını incelemekle başlayalım. Bir IP datagramı başlık ve text kısımlarından oluşur. Başlığın 20 bytelık bir sabit kısmı ve değişken boyutlu isteğe bağlı kısmı bulunmaktadır.

Version alanı datagramın hangi sürüme ait olduğunu belirler. IPv4, IPv6 vs. olabilir. Başlık boyutu değişken olabileceği için boyut bilgisi IHL alanında verilir. Type of service alanında datagramın nasıl bir servis taşıdığı bildirilir. Buna göre ağın datagrama davranışı ayarlanabilir. Örneğin dosya transferi için güvenilirlik ön plandayken gecikmeler çok önemli değildir. Tersine telekonferans için gecikmeler daha önemlidir. Total length kısmında datagramın başlık ve veriyi içeren toplam uzunluğu byte cinsinden verilmektedir. Toplam 16 bitle 65535 byte max. uzunluk tanımlanabilir. Eğer datagramlar parçalanarak gönderiliyorsa hangi parçanın hangi datagrama ait olduğu Identification alanındaki kimlik bilgisiyle verilir. DF biti yakılmışsa yoldaki routerlara Don t Fragment - Parçalama isteği bildirilir. Bu hedef bilgisayarın parçaları birleştirme yeteneği olmadığında gerçekleşir. MF (More Fragments) biti parçalanmış bir datagramda sonuncu parça dışında tüm parçalarda yakılır. Fragment offset ilgili paketin bir datagramın kaçıncı parçası olduğunu söyler. Time to live alanı paketin saniye cinsinden kalan yaşam süresini verir. Bu şekilde aynı paketin sürekli ağda dönmesi engellenir. Genellikli saniye yerine hop sayısı kullanılır. Protocol alanı datagramın ait olduğu protokolü belirler. TCP, UDP vs. olabilir.

Header checksum başlığın hata kontrolü için gerekli checksumı içerir. Source & Destination address alanları göndericinin ve alıcının IP adreslerini içerir. Teorik olarak internette her bilgisayar ayrı IP adresine sahiptir Ȯptions alanı başlıktaki alanların yetersiz oldukları durumlarda ek parametre eklenmesi için ayrılmış bölümdür. Options olmadan başlık 20 byte sürerken, IHL = 15 için options da dahil 60 byte sürebilir. Options alanında tanımlanabilecek durumlar aşağıdaki tabloda özetlenmiştir:

IP Adresleri Đnternetteki her host ve router, ağ ve host sayılarını veren bir IP adresine sahiptir. Bu adres tektir ve ağdaki başka kimse bu adrese sahip olamaz İP adresi 32 bittir. Gerçekte bu adres bir bilgisayara değil ağ arayüzüne aittir. Eğer bir bilgisayar aynı anda iki ağa kayıtlı ise iki ayrı IP adresine sahip olmalıdır. Ama çoğunlukla bilgisayarlar tek ağa bağlandıkları için tek IP adresine sahiptir. Beş adresleme sınıfı bulunmaktadır. Bunlar aşağıda verilmiştir:

Baştaki sabit bitler adres sınıfını, network alanı bilgisayarın bulunduğu ağın adresini, host alanı ise ağ içinde o bilgisayarın numarasını verir. A sınıfı 16 milyon üyesi bulunan 128 ağı, B sınıfı 64k üyesi bulunan 16384 ağı, C sınıfı 256 üyesi bulunan 2 milyon ağı, belirler. D sınıfı ise o ağdaki bütün bilgisayarlara datagram göndermekte kullanılır. E sınıfı adresler ileriki zamanlarda ihtiyaç duyulmasına karşı tutulmaktadır. Ağ numaraları sadece ICANN (Internet Corporation for Assigned Names and Numbers) kuruluşu tarafından verilmektedir. Bununla birlikte ICANN ağ numaralarının bir kısmını yerel otoritelere verip, atamayı yerel otoriteler de yapabilir. 32 bitlik IP numarası genellikle noktalı formatta yazılır. Her nokta arasında 8 bit = 1 byte bulunur. Dolayısıyla IP adresleri 0.0.0.0 dan başlayıp 255.255.255.255 e kadar uzanır. Bazı IP adreslerinin özel anlamları vardır, örneğin 0.0.0.0 adresi bilgisayarın kendisini, -1 (255.255.255.255) adresi ise o ağdaki bütün bilgisayarlara yapılacak broadcastı belirler. 127.xx.yy.zz ile tanımlanan adresler ağa çıkmaz, loopback testi için ayrılmıştır. Bu paketler yerel olarak bilgisayarın içinde işlenir ve gelen paket işlemi görürler. Eğer network alanı hep 0 lardan oluşuyorsa IP datagramının hedefi o ağdaki bir hosttur. Ayrıca network numarası verilip host adresi hep 1 lerden oluşuyorsa ilgili ağa broadcast yapılır (Genellikle bu servis ağ yöneticileri tarafından engellenir).

Subnetler (LANlar arası subnet değil, bir LAN içindeki subnetler) Network adresi bir ağı tanımlar. O ağın içindeki bütün bilgisayarlar aynı network numarasına sahiptir. Örneğin bir üniversitede ilk internet bağlantısını B sınıfı adresleme ile Bilgisayar Bölümü gerçekleştirmiş olsun. Başlangıçta ana router sadece bu bölüm bilgisayarlarına servis vereceği için sorun yoktur. Ancak sırayla diğer bölümler de internet bağlantısı istediğinde hepsinin de aynı Ethernet üzerinden tekrarlayıcılar yardımıyla bağlanması gerekecektir. Fakat Ethernette en fazla dört tekrarlayıcı kullanılabilir. Dolayısıyla yaklaşık dört bölüm sonra Ethernet kapasitesine ulaşılmış olacaktır. Ayrıca ana routerın 64bin adresi yönetmesi de zor olacaktır. Yeni kayıtlanacak bölümler için 64bin kullanıcılı ikinci bir network adresi alınması da verimli bir yöntem olmayacaktır.

Bu problemin çözümü üniversitenin ağını örneğin her bölüm için ayrı bir subnet tanımlayarak bölmektir. Dış dünyadan bakıldığında bütün subnetler aynı ağa ait gibi görünecektir ancak her subnet kendi routerına sahip olacak ve bir ana router üzerinden dış dünyaya çıkacaktır. Böyle bir ağ yapısı önceki yansıda verilmiştir. B sınıfı adres yapısı için 14 bitlik network numarası üniversitenin ana routerını belirler. Bundan sonraki host numarasını belirleyen 16 bitten bir kısmı subnetleri tanımlamak için kullanılır. Dolayısıyla dışarıdan gelen bir paketin subnet adresi kısmına bakan ana router paketi ilgili subnete ait routera yönlendirilir. Paket son kullanıcıya bu subnet routerı tarafından iletilir. Bu işlemi gerçekleştirmek için ana router network+subnet ve host numaralarını ayırdetmek için aşağıda gösterilen bir subnet mask a ihtiyaç duyar. Bu örnek için subnet mask 255.255.252.0 dır. Alternatif bir gösterim de maskenin uzunluğunu bildirmektir, 255.255.252.0/22 gibi. Dışarıdan subnet yaratılması farkedilmez. Dolayısıyla yeni subnet tanımlamak ICANN a başvurmayı gerektirmez.

Bu örnekteki subnetler 130.50.4.1, 130.50.8.1, 130.50.12.1 vs. adreslerini alabilirler, bunun nedeni adreslere ikili sistemde bakıldığında anlaşılabilir: Subnet 1 : 10000010 00110010 000001 00 00000001 Subnet 2 : 10000010 00110010 000010 00 00000001 Subnet 1 : 10000010 00110010 000011 00 00000001 Subnet olmadığında bir ağdaki adresleme yöntemi dış ağları adreslemek için (network, 0) ve ağ içi bilgisayarları adreslemek için (thisnetwork, host) tabloları içerir. Her adres çifti için o adrese ulaşılabilecek rotalar verilir. Bir paket geldiğinde öncelikle network numarasına bakılır, eğer başka bir ağı işaret ediyorsa oraya gönderilmek üzere sonraki routera iletilir. Eğer yerel bir bilgisayarı işaret ediyorsa paket doğrudan hedefine gönderilir. Bu şekilde router sadece kendi yerel üyelerinin tablosunu tutmak zorundadır. Uzaktaki bilgisayarları sadece network adresi olarak tanır. Subnet kavramı da katıldığında router adres yapısına (this-network, subnet, 0) ve (this-network, this-subnet, host) da eklenir. Dolayısıyla router sadece kendi subnetindeki hostları ve diğer subnet routerlarını tanır. Diğer subnet üyelerinin detaylarını bilmesine gerek yoktur. Router yapması gereken işlem IP adresini subnet mask ile AND lemek ve sonucu kendi tabloları ile karşılaştırmaktır. Örneğin ana routera 130.50.15.6 hedefine bir paket geldiğinde 255.255.252.0/22 ile AND lenerek bu paketin 130.50.12.0 subnetine gideceği bulunur ve o subnet routerına iletilir. Subnet yaratmak router tablolarını önemli ölçüde

CIDR (Classless InterDomain Routing - Sınıfsız InterDomain Routing) Đnternetteki adresler hızla tükenmektedir. Teorik olarak IP adresi ile 2 milyar bilgisayar adreslenebilmektedir. Ancak adreslerin sınıflarla kategorize edilmesi ve her ağın atanan tüm numaraları kullanmaması bu adreslerin milyonlarcasını boşa harcamaktadır. Genellikle B sınıfı adresler 64bin kullanıcı ile çoğu kuruluşun ihtiyacından çok daha fazla kaynak ayırmaktadır. Çoğu ağ kurucusu 256 kullanıcıya izin veren C sınıfı adresi ağın büyümesini sınırladığı için B sınıfı adreslemeyi tercih etmemektedir. Bu sorunu aşmak için CDIR da olduğu gibi sınıf yapısı tümüyle terkedilebilir. Temel mantık geriye kalan serbest IP adresleri sınıf yapısının sabit boyutlarının tersine değişken boyutlarla ağlara atanabilir. Örneğin bir kuruluş 2000 adrese ihtiyaç duyuyorsa 2048 adreslik bir blok atanır (B sınıfı adresleme 64bin atayacaktır). Sınıflı yapıda her ağın adresindeki bit sayısı sınıf tarafından belirlidir. Dolayısıyla routerlardaki (network adresi, çıkış hattı) bilgisi basittir. CIDR da routerlardaki tablolar karmaşıklaştıracaktır. Artık routerlardaki her network bilgisinde (IP address, subnet mask, çıkış hattı) üçlü bilgisi bulundurulmalıdır Router gelen paketi tablosundaki her network-subnet mask ile teker teker karşılaştırıp tutan üçlü bulmak zorundadır. Konuyu bir örnekle inceleyelim.

Örneğin Cambridge, Edinburgh ve Oxford üniversitelerinin ihtiyaç duyduğu 2048, 1024 ve 4096 adres yukarıdaki tablodaki IP adresleri arasında atansın. Son kolonda her üniversitenin kullandığı subnet mask verilmektedir. Dolayısıyla bütün dünyadaki routing tabloları aşağıdaki gibi ayarlanmalıdır: Adres Subnet Mask C:11000010 00011000 00000 000 00000000 11111111 11111111 11111000 00000000 E:11000010 00011000 000010 00 00000000 11111111 11111111 11111100 00000000 O:11000010 00011000 0001 0000 00000000 11111111 11111111 11110000 00000000 Şimdi 194.24.17.4 veya 11000010 00011000 00010001 00000100 adresinin nasıl işlediğini görelim. Paketi alan router öncelikle bütün subnet masklarla bu adresi AND ler (routerda başka masklar varsa onlarla da maskelemeyi gerçekleştirir). Sonuçta 11000010 00011000 00010000 00000000

Router bu adresin sadece Oxford adresiyle çakıştığı algılayıp paketi Oxford Üniversitesi ne giden çıkıştan sonraki routera gönderir. Şimdi konuyu sadece dört çıkışı olan (Minneapolis, New York, Dallas ve Denver) Omaha, Nebraska routerı açısından inceleyelim. Router yazılımı bu üniversite adresleri yeni yüklendiklerinde hepsinin aynı çıkıştan çıkacaklarını farkedince hepsini içerecek bir toplam adres ve subnet mask oluşturur: 194.24.0.0/19 veya 11000010 00000000 00000000 00000000 ve 11111111 11111111 11100000 00000000 Her üç üniversite için gelecek paketler bu subnet masktan geçtikten sonra yukarıdaki aynı adresi vereceklerdir. Dolayısıyla bu paketler New York çıkışına yönlendirilecektir. Eğer New York routerı Londra ya giden tek çıkışa sahipse benzer bir toplam adres/subnet mask çifti kullanarak paketleri Londra ya yollar. Veya Londra ve Edinburgh a farklı çıkışlar varsa, bu toplam adres oluşturulamaz ve paketler ayrı ayrı subnet masklarla karşılaştırılır. (Neden?) Bu tür toplam adres/subnet mask yöntemi internette routerların yükünü azaltmak için sıklıkla kullanılmaktadır.

NAT (Network Address Translation - Ağ Adres Çevirisi) IP adresi sayısı gittikçe azalmaktadır. Bu nedenle mevcut adresler verimli kullanılmalıdır. Bu örneğin herkese statik bir adres tanımlamak yerine dinamik IP adresi atam ile gerçekleştirilebilir. Birkaç yüzbin müsterisi olan bir dial-up ISP si için 64,534 adres yeterli olabilir. Herkes aynı anda bağlı olmayacağı için, bağlantıyı bitiren müşterinin IP numarası yeni bağlanan bir müşteriye atanarak çok sayıda müşteri kısıtlı sayıdaki IP adresi ile idare edilebilir. Ancak sabit IP isteyen örneğin ticari müşteriler veya bağlantısı hiç kopmayan ADSL kullanıcıları uzun zaman boyunca bir IP adresini meşgul edebilir. Bu durumda bütün kullanıcılar için 64bin adres yeterli olmayabilir. IPv6 yetersiz IP adresi sayısına çözüm sunmaktadır. Ancak dünyada IPv4 ten IPv6 ya geçiş çok yavaş olmaktadır. Buna alternatif olarak NAT yöntemi önerilmiştir. NAT ın temel mantığı her kuruluşa tek bir IP numarası atamak, dolayısıyla dış dünyadan bütün ağın tek bir adres gibi görülmesi, fakat ağ içinde her bilgisayara ayrı IP atayarak ağ-içi routing işlerini bu IP adresleriyle yapmaktır. Eğer ağ-içindeki bir paket dışarıya çıkacaksa, bu paket adres çeviricide dış dünya adresine çevirilir. Dolayısıyla ağ-içinde olmak kaydıyla dünyada farklı ağlar aynı IP adreslerini kullanabilir. Bu amaçla üç bölge ayrılmıştır, şirket içi ağlarda bu adresler serbestçe kullanılabilir.

10.0.0.0-10.255.255.255/8 (16,777,216 host) 172.16.0.0-172.31.255.255/12 (1,048,576 host) 192.168.0.0-192.168.255.255/16 (65.536 host) Tek kural bu adreslere sahip bir paket dışarıda internette bulunamaz. Genellikle ilk adres grubu tercih edilir. NAT ın çalışması aşağıdaki şekilde verilmiştir:

Burada NAT kutusunun yaptığı işlem içerideki 10.0.0.1 IP adresini dışarıdaki 198.60.42.12 adresine çevirmektir. NAT kutusu genellikle güvenliği de sağlayan bir firewall ile birleştirilir. Buradaki sorun dışarıdan ağın içindeki bir bilgisayara paket gelirse hangi bilgisayara geldiğinin bulunmasıdır. Sonuçta bütün dış dünya paketler NAT kutusunun adresine gelmektedir. IP datagram başlığında bu bilgiyi koyabilecek bir yer yoktur. Options bölümünde taşınması ise bütün dünyadaki IP yazılımlarının değiştirilmesi anlamına gelir. NAT gerçekte ağ-içi bilgisayarları tanımlamakta kullandığı şey TCP/UDP port numarasıdır. TCP portu 16 bitlik bir sayıdır. Bir bilgisayarın Taşıma katmanının kullandığı adres bu port numarasıdır. Normalde 0-1023 numaralı portlar belirli işler için ayrılmıştır. Ancak 1023-65535 portları serbesttir. NAT kutusu ağ-içinden gelen her yerel IP numaralı paketi kendi IP numarası (198.60.42.12) ve bir tabloda tuttuğu o bilgisayara karşılık gelen TCP port numarasıyla dış dünyaya gönderir. Benzer şekilde dışarıdan gelen paketin TCP portuna bakarak içerideki hedeflenen bilgisayarı tablodan bulur. NAT ADSL, kablo modem kullanıcıları vs. için geçerli olan IP adresi sıkıntısını ortadan kaldırabilir.

NAT çok ciddi bir problemi çözmekle birlikte IP topluluğu tarafından pek sevilmez. Bunun asıl nedeni NAT ın bir geçici çözüm olması ve asıl çözümü geciktirmesinin yanında bir takım ihlallerde bulunmasıdır. Đlk olarak internette herkesin tek adresi olması kuralını ihlal ederek birden fazla kişinin yerel de olsa aynı adresi kullanmasına izin verir. NAT OSI nin en temel kuralı olan katmanların bağımsızlığını ihlal eder. Ağ katmanıyla taşıma katmanını bağımlı hale getirir. Đleride TCP yerine TCPv2 geliştirildiğinde bu bağımlılık yüzünden ağ katmanının da değiştirilmesi gereklidir. Bazı süreçler TCP veya UDP kullanmazlar. Bu durumda bu paketlerin NAT tan çıkması ya mümkün değildir veya özel bir işlem görmesi gerekir. Bazı uygulamalar paketin veri kısmına IP adresi koyarlar. NAT taki çevrim sırasında paketin hedef adresi değiştirilirken bu adres değiştirilemez ve soruna sebep olur. FTP bu şekilde çalışır ve önlem alınmazsa NAT la birlikte çalışamaz.