Dalam jaringan komputer, jaringan alamat translation (NAT) adalah proses memodifikasi alamat jaringan informasi dalam header paket datagram saat transit lalu lintas di sebuah routing perangkat untuk tujuan remapping suatu ruang alamat ke lainnya. Paling sering hari ini, NAT digunakan dalam hubungannya dengan jaringan masquerading (masquerading atau IP) yang merupakan teknik yang menyembunyikan seluruh ruang alamat, biasanya terdiri dari jaringan swasta alamat (RFC 1918), di belakang sebuah alamat IP yang lain, biasanya alamat publik ruang. Mekanisme ini diimplementasikan pada sebuah routing perangkat yang menggunakan Stateful terjemahan ke meja peta yang "tersembunyi" alamat ke dalam sebuah alamat dan kemudian menuliskannya kembali yang keluar Internet Protocol (IP) pada paket keluar sehingga tampak berasal dari router. Dalam mundur jalur komunikasi, tanggapan yang dipetakan kembali ke alamat IP yang berasal menggunakan aturan-aturan ( "negara") yang disimpan dalam terjemahan meja. Terjemahan tabel aturan didirikan pada mode ini adalah bersemangat setelah jangka waktu yang singkat tanpa baru lalu lintas menyegarkan negara mereka.
Seperti dijelaskan, dengan metode transit hanya memungkinkan lalu lintas melalui router bila berasal di masqueraded jaringan, sejak ini menetapkan terjemahan meja. Namun, sebagian besar perangkat NAT today memungkinkan administrator jaringan untuk mengatur terjemahan tabel entri untuk tetap digunakan. Fitur ini sering disebut sebagai "static NAT" atau port forwarding dan memungkinkan lalu lintas yang berasal di 'luar' untuk mencapai jaringan yang host di jaringan masqueraded.
Karena popularitas teknik ini, lihat di bawah ini, istilah NAT telah menjadi hampir sama dengan metode IP masquerading.
Jaringan memiliki alamat terjemahan konsekuensi serius (lihat di bawah ini, Drawbacks, Manfaat) pada kualitas konektivitas Internet-hati dan membutuhkan perhatian untuk rincian pelaksanaannya. Akibatnya, banyak metode telah dibuat untuk mengatasi masalah yang dihadapi. Lihat artikel di NAT traversal.
1 Ikhtisar
2 Dasar NAT dan PAT
3 Jenis-jenis NAT
4 NAT dan TCP / UDP
5 Tujuan terjemahan alamat jaringan (DNAT)
6 SNAT
7 Dinamis terjemahan alamat jaringan
8 Aplikasi terpengaruh oleh NAT
9 Drawbacks
10 Manfaat
11 Contoh-contoh perangkat lunak NAT
12 Referensi
13 Lihat juga
14 Pranala luar
Ikhtisar
Pada pertengahan tahun 1990-an menjadi populer NAT alat untuk mengurangi dengan alamat IPv4 kelelahan. Hal ini telah menjadi standar, sangat diperlukan dalam fitur router untuk rumah dan kantor kecil koneksi Internet.
Kebanyakan sistem menggunakan NAT melakukannya untuk mengaktifkan beberapa host pada jaringan pribadi untuk mengakses Internet dengan menggunakan satu alamat IP publik (lihat gateway). Namun, pada awalnya NAT breaks envisioned model IP end-to-end konektivitas di Internet, memperkenalkan komplikasi dalam komunikasi antar host memiliki kinerja dan dampak.
NAT obscures jaringan internal dari struktur: semua lalu lintas muncul ke pihak luar seperti itu berasal dari mesin gateway.
Jaringan alamat terjemahan melibatkan kembali menulis sumber dan / atau tujuan alamat IP dan biasanya juga TCP / UDP port jumlah IP paket karena lulus melalui NAT. Checksum (keduanya IP dan TCP / UDP) juga harus ditulis ulang untuk mengambil rekening perubahan.
Khas dalam konfigurasi jaringan lokal yang menggunakan salah satu yang "swasta" alamat IP subnets (di RFC 1918). Private Network Alamat adalah 192.168.xx, 172.16.xx melalui 172.31.xx, dan 10.xxx (atau menggunakan notasi CIDR, 192.168/16, 172.16/12, dan 10 / 8), dan router pada jaringan yang memiliki alamat pribadi (seperti 192.168.0.1) di ruang alamat. Router juga terhubung ke Internet dengan satu "publik" alamat (dikenal sebagai "kelebihan beban" NAT) atau beberapa "publik" alamat yang ditetapkan oleh ISP. Karena lalu lintas lolos dari jaringan lokal ke Internet, alamat sumber di masing-masing paket diterjemahkan dengan cepat dari alamat pribadi untuk umum alamat (es). Router trek data dasar tentang setiap sambungan aktif (terutama alamat dan port tujuan). Ketika sebuah balasan kembali ke router, menggunakan sambungan data pelacakan itu tersimpan selama fase outbound untuk menentukan di mana di jaringan internal untuk meneruskan balasan; dengan TCP atau UDP client port yang digunakan untuk nomor demultiplex paket yang dalam hal keberatan NAT, atau alamat IP dan nomor port ketika beberapa alamat publik yang tersedia, pada paket kembali. Untuk sistem di Internet, router itu sendiri tampil sebagai sumber / tujuan untuk lalu lintas.
Dasar NAT dan PAT
Ada dua tingkat terjemahan alamat jaringan.
Dasar NAT. Ini melibatkan terjemahan hanya alamat IP, port tidak pemetaan.
PAT (Port Address Translation). Cukup juga disebut "NAT" atau "Network Address Port Translation, NAPT". Ini melibatkan kedua terjemahan alamat IP dan nomor port.
Semua paket internet memiliki alamat IP sumber dan tujuan alamat IP. Kedua atau salah satu dari sumber dan tujuan alamat mungkin diterjemahkan.
Beberapa paket internet tidak memiliki nomor port. Misalnya, ICMP paket tidak memiliki nomor port. Namun, luas massal lalu lintas Internet TCP dan UDP paket, yang memiliki nomor port. Paket yang memiliki nomor port memiliki sumber nomor port tujuan dan nomor port. Kedua atau salah satu dari sumber dan tujuan pelabuhan mungkin diterjemahkan.
NAT yang melibatkan terjemahan sumber alamat IP dan / atau sumber port disebut sumber NAT atau SNAT. Ini kembali menulis alamat IP dan / atau nomor port dari komputer yang berasal paket.
NAT yang melibatkan terjemahan tujuan alamat IP dan / atau nomor port tujuan disebut NAT atau DNAT tujuan. Ini kembali menulis alamat IP dan / atau nomor port tujuan yang sesuai untuk komputer.
DNAT dan SNAT dapat diterapkan secara bersamaan untuk paket internet.
CATATAN: "PAT ', seperti yang disebutkan di sini, disebut oleh Cisco sebagai NAT' overloading ', seperti dijelaskan dalam artikel ini HowStuffWorks, yang diberikan kepada HowStuffWorks oleh Cisco: http://computer.howstuffworks.com/nat3.htm
Jenis-jenis NAT
Terjemahan alamat jaringan diimplementasikan dalam berbagai skema menerjemahkan alamat dan nomor port, yang mempengaruhi setiap aplikasi komunikasi protokol berbeda. Beberapa aplikasi yang menggunakan protokol alamat IP informasi harus menentukan alamat eksternal yang digunakan untuk masquerading, dan selanjutnya, sering perlu untuk meneliti dan menggolongkan jenis pemetaan yang digunakan pada perangkat NAT. Untuk tujuan ini, yang sederhana traversal dari UDP lebih NATs (kelengar) protokol dikembangkan. It diklasifikasikan sebagai NAT pelaksanaan penuh cone NAT, (alamat) dibatasi kerucut NAT, Port restricted cone NAT atau simetris NAT [1] [2] dan metodologi yang diusulkan untuk pengujian perangkat yang sesuai. Namun, prosedur ini telah usang dari standar status sebagai metode telah dibuktikan salah dengan benar dan tidak memadai untuk menilai banyak perangkat. Metode baru yang telah standar pada RFC 5.389 (2008) dan pingsan akronim baru sekarang mewakili judul, spesifikasi: Session Utilitas untuk NAT Traversal.
Full cone NAT, juga dikenal sebagai satu-ke-satu NAT
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2.
(Alamat) Restricted cone NAT
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host (hostAddr: ada) dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2 hanya jika iAddr: port1 sebelumnya telah mengirimkan paket ke hostAddr: ada. "apapun" adalah nomor port tidak masalah.
Port-Restricted cone NAT
Seperti (Alamat) Restricted cone NAT, tetapi pembatasan termasuk nomor port.
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host (hostAddr: port3) dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2 hanya jika iAddr: port1 sebelumnya telah mengirimkan paket ke hostAddr: port3.
Symmetric NAT
Setiap permintaan yang sama dari alamat IP internal dan port tertentu tujuan alamat IP dan port mapping ke sumber eksternal yang unik alamat IP dan port.
Jika sama internal host mengirimkan paket bahkan dengan sumber yang sama alamat dan port tetapi untuk tujuan yang berbeda, yang berbeda pemetaan yang digunakan.
Eksternal hanya host yang akan menerima paket dari internal host dapat mengirim kembali paket.
Terminologi ini telah menjadi sumber banyak kebingungan, karena telah membuktikan di memadai menjelaskan nyata NAT perilaku. [3] Banyak implementasi NAT menggabungkan jenis ini, dan karena itu lebih baik untuk mengacu ke individu spesifik NAT perilaku bukannya menggunakan Cone / Symmetric terminologi. Apalagi, sebagian besar NAT penerjemah menggabungkan setangkup NAT untuk koneksi keluar dengan statis port pemetaan, di mana paket masuk ke alamat dan port eksternal yang diarahkan ke alamat tertentu internal dan port. Beberapa produk dapat redirect paket ke beberapa host internal, misalnya untuk membagi beban antara beberapa server. Namun, ini memperkenalkan masalah dengan komunikasi yang lebih canggih telah banyak saling paket, sehingga jarang digunakan.
Banyak implementasi NAT mengikuti pelabuhan pelestarian desain. Bagi kebanyakan komunikasi, mereka menggunakan nilai-nilai yang sama sebagai internal dan eksternal nomor port. Namun, jika dua host internal berusaha untuk berkomunikasi dengan host eksternal yang sama dengan menggunakan nomor port yang sama, di luar nomor port yang digunakan oleh kedua host akan dipilih secara acak. Seperti NAT akan kadang-kadang dirasakan sebagai (alamat) restricted cone NAT dan lain sebagai setangkup NAT.
NAT dan TCP / UDP
"Pure NAT", operasi pada IP saja, mungkin atau tidak benar parse totally protokol yang berkaitan dengan informasi IP, seperti ICMP, tergantung pada apakah payload adalah diinterpretasikan oleh host pada "dalam" atau "di luar" penerjemahan . Secepat stack protokol yang dinaiki, bahkan dengan dasar sebagai protokol TCP dan UDP, protokol yang akan merusak NAT kecuali mengambil tindakan di luar jaringan lapisan.
IP memiliki checksum dalam setiap paket, header, yang menyediakan deteksi kesalahan hanya untuk kepala. IP datagrams Mei-bagi dan menjadi penting untuk kembali ke NAT fragmen ini agar benar recalculation tinggi tingkat checksum pelacakan dan benar yang dimiliki oleh paket yang sambungan.
Utama transportasi lapisan protokol, TCP dan UDP, memiliki checksum yang mencakup semua data yang mereka bawa, serta TCP / UDP header, ditambah "pseudo-header" yang berisi sumber dan tujuan alamat IP dari paket yang membawa TCP / UDP header. Untuk NAT berasal berhasil lulus TCP atau UDP, harus recompute pada TCP / UDP checksum header diterjemahkan berdasarkan alamat IP, bukan yang asli, dan memasukkan ke dalam bahwa checksum TCP / UDP judul pertama paket yang ditetapkan bagi dari paket. Penerimaan NAT harus recompute IP checksum pada setiap paket lolos ke tujuan tuan rumah, dan juga mengenal dan recompute yang TCP / UDP header menggunakan alamat dan retranslated pseudo-header. Ini bukan masalah diselesaikan secara tuntas. Salah satu solusi untuk penerimaan NAT kembali ke seluruh segmen kemudian recompute checksum yang dihitung di semua paket.
Berasal host mungkin melakukan unit transmisi maksimum (MTU) path discovery (RFC 1191) untuk menentukan ukuran paket yang dapat dikirim tanpa fragmentasi, dan kemudian menetapkan "don't fragment" bit dalam header paket yang sesuai bidang.
Tujuan terjemahan alamat jaringan (DNAT)
DNAT adalah teknik transparan untuk tujuan mengubah alamat IP dari id-rute paket dan melaksanakan fungsi inverse untuk setiap balasan. Setiap router yang terletak di antara dua endpoints ini dapat melakukan transformasi dari paket.
DNAT umumnya digunakan untuk mempublikasikan layanan di jaringan pribadi yang dapat diakses publik pada alamat IP.
SNAT
Penggunaan istilah SNAT bervariasi oleh vendor. Banyak vendor ada definisi eksklusif untuk SNAT. Umum adalah definisi Sumber NAT, di banding Tujuan dari NAT (DNAT).
Microsoft menggunakan istilah untuk NAT Aman, berkaitan dengan perpanjangan ISA Server dibahas di bawah ini. Per Cisco Systems, SNAT berarti Stateful NAT.
The Internet Engineering Task Force (IETF) mendefinisikan SNAT sebagai Softwires Network Address Translation. Ini adalah jenis NAT bernama setelah Softwires kelompok kerja yang diisi dengan standarisasi discovery, dan metode encapsulation untuk menghubungkan jaringan di IPv4 dan IPv6 jaringan IPv6 di jaringan IPv4 jaringan.
Dynamic terjemahan alamat jaringan
NAT dinamis, seperti NAT statis, tidak umum dalam jaringan yang lebih kecil tetapi lebih besar ditemukan di kompleks perusahaan dengan jaringan. Cara dinamis dari beberapa NAT statis NAT adalah tempat yang statis NAT menyediakan satu-ke-satu ke publik internal static IP pemetaan, Dynamic NAT tidak sama tetapi tanpa membuat pemetaan kepada publik IP statis dan biasanya menggunakan grup umum yang tersedia IP.
Aplikasi terpengaruh oleh NAT
Beberapa aplikasi Layer protokol (seperti FTP dan SIP) mengirim eksplisit alamat dalam jaringan mereka aplikasi data. FTP dalam mode aktif, misalnya, menggunakan sambungan terpisah untuk mengontrol lalu lintas (perintah) dan untuk lalu lintas data (isi file). Bila meminta transfer file, host membuat permintaan mengidentifikasi data yang sesuai dengan koneksi jaringan lapisan dan transportasi lapisan alamat. Jika tuan rumah membuat permintaan sederhana yang terletak di belakang firewall NAT, menerjemahkan alamat IP dan nomor port TCP atau membuat informasi yang diterima oleh server yang tidak valid. The Session Initiation Protocol (SIP) mengatur suara melalui IP (VoIP) komunikasi dan menderita masalah yang sama. SIP dapat menggunakan beberapa port untuk mengatur sambungan dan mengirimkan suara melalui streaming RTP. Alamat IP dan nomor port yang di encoded payload data dan harus diketahui sebelum traversal dari NATs. Tanpa teknik khusus, seperti pingsan, perilaku yang tidak terduga NAT dan komunikasi Mei gagal.
Aplikasi Layer Gateway (ALG) perangkat lunak atau perangkat keras Mei benar masalah ini. ALG modul perangkat lunak yang berjalan pada sebuah firewall NAT pembaruan perangkat apapun payload data yang dilakukan oleh salah alamat translation. ALGs jelas perlu memahami tinggi-lapisan protokol yang mereka butuhkan untuk memperbaiki, maka setiap protokol dengan masalah ini memerlukan ALG terpisah.
Lain kemungkinan solusi untuk masalah ini adalah dengan menggunakan NAT traversal teknik menggunakan protokol seperti pingsan atau ICE atau kepemilikan pendekatan dalam sesi perbatasan controller. NAT traversal dapat di kedua-TCP dan UDP berbasis aplikasi, tetapi dengan UDP berbasis teknik yang sederhana, lebih luas dipahami, dan lebih kompatibel dengan legacy NATs. Dalam kedua kasus, tingginya tingkat protokol harus dirancang dengan NAT traversal diketahui, dan tidak bekerja terpercaya di setangkup NATs atau buruk-behaved legacy NATs.
Kemungkinan lainnya adalah UPnP (Universal Plug and Play) atau Bonjour (NAT-PMP), tapi ini memerlukan kerjasama dari perangkat NAT.
Paling tradisional klien-server protokol (FTP sebagai pengecualian utama), namun tidak mengirimkan informasi kontak lapisan 3 dan karenanya tidak memerlukan perawatan khusus oleh NATs. Sebenarnya, menghindari komplikasi NAT adalah suatu kebutuhan praktis saat merancang baru-lapisan protokol yang lebih tinggi hari ini.
NATs juga dapat menimbulkan masalah di mana IPsec enkripsi dan diterapkan dalam kasus di mana beberapa perangkat seperti SIP telepon berada di belakang NAT. Telepon yang mengenkripsi signaling mereka dengan IPsec encapsulate pelabuhan IPsec informasi di dalam paket yang berarti bahwa NA (P) T perangkat tidak dapat mengakses dan menterjemahkan pelabuhan. Dalam kasus ini, yang NA (P) T kembali ke perangkat sederhana NAT operasi. Ini berarti bahwa semua lalu lintas kembali ke NAT akan dipetakan ke salah satu klien menyebabkan layanan gagal. Ada beberapa solusi untuk masalah ini, satu adalah dengan menggunakan TLS yang beroperasi di tingkat 4 dalam OSI Reference Model dan karenanya tidak masker nomor port, atau Encapsulate yang IPsec dalam UDP - yang kedua adalah solusi yang dipilih oleh TISPAN aman untuk mencapai NAT traversal.
Kerentanan DNS protokol yang diumumkan oleh Dan Kaminsky pada 8 Juli 2008 adalah tidak langsung dipengaruhi oleh NAT port pemetaan. Untuk menghindari server DNS cache poisoning, sangat tidak diinginkan untuk menterjemahkan sumber UDP port jumlah permintaan DNS keluar dari server DNS yang berada di belakang firewall yang menerapkan NAT. Kerja yang dianjurkan sekitar untuk kerentanan DNS adalah untuk membuat semua server DNS caching menggunakan randomized UDP port sumber. Jika fungsi dari NAT-randomizes yang sumber port UDP, DNS server yang akan dibuat rentan.
Drawbacks
Alam di belakang NAT-enabled router tidak mempunyai end-to-end konektivitas dan tidak dapat berpartisipasi dalam beberapa protokol Internet. Pelayanan yang membutuhkan inisiasi dari TCP koneksi dari luar jaringan, atau bernegara protokol seperti yang menggunakan UDP, dapat terganggu. Kecuali router NAT membuat suatu upaya untuk mendukung protokol seperti itu, masuk paket tidak dapat mencapai tujuan mereka. Beberapa protokol dapat menampung satu contoh NAT berpartisipasi antara host ( "passive mode" FTP, misalnya), kadang-kadang dengan bantuan dari Application Layer Gateway (lihat di bawah), tapi gagal ketika kedua sistem terpisah dari internet oleh NAT. Penggunaan NAT juga complicates tunneling protokol seperti IPsec karena NAT memodifikasi nilai dalam header yang mengganggu integritas pemeriksaan yang dilakukan oleh IPsec dan protokol tunneling lainnya.
End-to-end konektivitas telah menjadi inti dari prinsip Internet, misalnya didukung oleh Badan Arsitektur Internet. Peristiwa Internet arsitektur dokumen mengamati bahwa NAT merupakan pelanggaran yang ke-Akhir-akhir Prinsip, tetapi tidak ada yang NAT yang valid peran desain dalam hati. [4] Ada lagi sangat prihatin dengan penggunaan IPv6 NAT, dan banyak arsitek IPv6 percaya IPv6 dimaksudkan untuk menghapus kebutuhan untuk NAT. [5]
Karena jangka pendek-sifat hidup dari Stateful terjemahan dalam tabel NAT router, perangkat pada jaringan internal kehilangan IP konektivitas yang sangat biasanya dalam waktu singkat kecuali mereka menerapkan NAT tetap-hidup oleh mekanisme di luar sering mengakses host. Ini dramatis shortens kuasa pada baterai cadangan dioperasikan-tangan dan telah diadakan perangkat thwarted lebih luas dari deployment IP asli internet perangkat diaktifkan.
Beberapa penyedia layanan Internet (ISP) hanya menyediakan pelanggan dengan "lokal" alamat IP. [Kutipan diperlukan] Dengan demikian, pelanggan tersebut harus eksternal untuk mengakses layanan ISP jaringan melalui NAT. Akibatnya, para pelanggan dapat mencapai tidak benar-akhir-akhir untuk konektivitas, melanggar prinsip-prinsip inti dari internet seperti yang diungkapkan oleh Internet Architecture Board.
Manfaat
Keuntungan utama IP-masquerading NAT adalah bahwa hal itu telah menjadi solusi yang praktis mendatang kelelahan dari ruang alamat IPv4. Jaringan yang sebelumnya memerlukan Kelas B rentang IP atau blok alamat jaringan Kelas C dapat terhubung ke Internet dengan hanya satu alamat IP. Aturan yang lebih umum adalah memiliki komputer yang membutuhkan bidirectional benar dan unfettered konektivitas routable disertakan dengan alamat IP, sementara yang memiliki komputer yang tidak menyediakan pelayanan kepada pengguna di luar keletihan jauh di belakang NAT dengan hanya beberapa alamat IP yang digunakan untuk mengaktifkan akses internet.
Beberapa [6] juga disebut proyek keuntungan yang besar keberatan, karena penundaan perlunya penerapan IPv6, kutipan:
"... Ada kemungkinan bahwa [NAT] luas menggunakan akan menunda perlu mengaparkan IPv6. ... Ini mungkin aman untuk mengatakan bahwa jaringan akan menjadi lebih makmur tanpa NAT, ..."
Meskipun bukan solusi keamanan serius itu sendiri, kurangnya konektivitas penuh bidirectional dapat dipandang pada beberapa situasi sebagai fitur daripada batasan. Sebagaimana yang NAT tergantung pada mesin di jaringan lokal apapun untuk melakukan koneksi ke host pada sisi lain dari router, itu mencegah aktivitas berbahaya diprakarsai oleh host dari luar daerah yang mencapai host. Namun, manfaat yang sama dapat dicapai dengan implementasi firewall pada perangkat routing.
Contoh perangkat lunak NAT
IPFilter
PF (Firewall): The OpenBSD Packet Filter.
Iptables masquerading
Berkeley Software Distribution
Internet Connection Sharing (ICS)
WinGate
Cisco ios
Seperti dijelaskan, dengan metode transit hanya memungkinkan lalu lintas melalui router bila berasal di masqueraded jaringan, sejak ini menetapkan terjemahan meja. Namun, sebagian besar perangkat NAT today memungkinkan administrator jaringan untuk mengatur terjemahan tabel entri untuk tetap digunakan. Fitur ini sering disebut sebagai "static NAT" atau port forwarding dan memungkinkan lalu lintas yang berasal di 'luar' untuk mencapai jaringan yang host di jaringan masqueraded.
Karena popularitas teknik ini, lihat di bawah ini, istilah NAT telah menjadi hampir sama dengan metode IP masquerading.
Jaringan memiliki alamat terjemahan konsekuensi serius (lihat di bawah ini, Drawbacks, Manfaat) pada kualitas konektivitas Internet-hati dan membutuhkan perhatian untuk rincian pelaksanaannya. Akibatnya, banyak metode telah dibuat untuk mengatasi masalah yang dihadapi. Lihat artikel di NAT traversal.
1 Ikhtisar
2 Dasar NAT dan PAT
3 Jenis-jenis NAT
4 NAT dan TCP / UDP
5 Tujuan terjemahan alamat jaringan (DNAT)
6 SNAT
7 Dinamis terjemahan alamat jaringan
8 Aplikasi terpengaruh oleh NAT
9 Drawbacks
10 Manfaat
11 Contoh-contoh perangkat lunak NAT
12 Referensi
13 Lihat juga
14 Pranala luar
Ikhtisar
Pada pertengahan tahun 1990-an menjadi populer NAT alat untuk mengurangi dengan alamat IPv4 kelelahan. Hal ini telah menjadi standar, sangat diperlukan dalam fitur router untuk rumah dan kantor kecil koneksi Internet.
Kebanyakan sistem menggunakan NAT melakukannya untuk mengaktifkan beberapa host pada jaringan pribadi untuk mengakses Internet dengan menggunakan satu alamat IP publik (lihat gateway). Namun, pada awalnya NAT breaks envisioned model IP end-to-end konektivitas di Internet, memperkenalkan komplikasi dalam komunikasi antar host memiliki kinerja dan dampak.
NAT obscures jaringan internal dari struktur: semua lalu lintas muncul ke pihak luar seperti itu berasal dari mesin gateway.
Jaringan alamat terjemahan melibatkan kembali menulis sumber dan / atau tujuan alamat IP dan biasanya juga TCP / UDP port jumlah IP paket karena lulus melalui NAT. Checksum (keduanya IP dan TCP / UDP) juga harus ditulis ulang untuk mengambil rekening perubahan.
Khas dalam konfigurasi jaringan lokal yang menggunakan salah satu yang "swasta" alamat IP subnets (di RFC 1918). Private Network Alamat adalah 192.168.xx, 172.16.xx melalui 172.31.xx, dan 10.xxx (atau menggunakan notasi CIDR, 192.168/16, 172.16/12, dan 10 / 8), dan router pada jaringan yang memiliki alamat pribadi (seperti 192.168.0.1) di ruang alamat. Router juga terhubung ke Internet dengan satu "publik" alamat (dikenal sebagai "kelebihan beban" NAT) atau beberapa "publik" alamat yang ditetapkan oleh ISP. Karena lalu lintas lolos dari jaringan lokal ke Internet, alamat sumber di masing-masing paket diterjemahkan dengan cepat dari alamat pribadi untuk umum alamat (es). Router trek data dasar tentang setiap sambungan aktif (terutama alamat dan port tujuan). Ketika sebuah balasan kembali ke router, menggunakan sambungan data pelacakan itu tersimpan selama fase outbound untuk menentukan di mana di jaringan internal untuk meneruskan balasan; dengan TCP atau UDP client port yang digunakan untuk nomor demultiplex paket yang dalam hal keberatan NAT, atau alamat IP dan nomor port ketika beberapa alamat publik yang tersedia, pada paket kembali. Untuk sistem di Internet, router itu sendiri tampil sebagai sumber / tujuan untuk lalu lintas.
Dasar NAT dan PAT
Ada dua tingkat terjemahan alamat jaringan.
Dasar NAT. Ini melibatkan terjemahan hanya alamat IP, port tidak pemetaan.
PAT (Port Address Translation). Cukup juga disebut "NAT" atau "Network Address Port Translation, NAPT". Ini melibatkan kedua terjemahan alamat IP dan nomor port.
Semua paket internet memiliki alamat IP sumber dan tujuan alamat IP. Kedua atau salah satu dari sumber dan tujuan alamat mungkin diterjemahkan.
Beberapa paket internet tidak memiliki nomor port. Misalnya, ICMP paket tidak memiliki nomor port. Namun, luas massal lalu lintas Internet TCP dan UDP paket, yang memiliki nomor port. Paket yang memiliki nomor port memiliki sumber nomor port tujuan dan nomor port. Kedua atau salah satu dari sumber dan tujuan pelabuhan mungkin diterjemahkan.
NAT yang melibatkan terjemahan sumber alamat IP dan / atau sumber port disebut sumber NAT atau SNAT. Ini kembali menulis alamat IP dan / atau nomor port dari komputer yang berasal paket.
NAT yang melibatkan terjemahan tujuan alamat IP dan / atau nomor port tujuan disebut NAT atau DNAT tujuan. Ini kembali menulis alamat IP dan / atau nomor port tujuan yang sesuai untuk komputer.
DNAT dan SNAT dapat diterapkan secara bersamaan untuk paket internet.
CATATAN: "PAT ', seperti yang disebutkan di sini, disebut oleh Cisco sebagai NAT' overloading ', seperti dijelaskan dalam artikel ini HowStuffWorks, yang diberikan kepada HowStuffWorks oleh Cisco: http://computer.howstuffworks.com/nat3.htm
Jenis-jenis NAT
Terjemahan alamat jaringan diimplementasikan dalam berbagai skema menerjemahkan alamat dan nomor port, yang mempengaruhi setiap aplikasi komunikasi protokol berbeda. Beberapa aplikasi yang menggunakan protokol alamat IP informasi harus menentukan alamat eksternal yang digunakan untuk masquerading, dan selanjutnya, sering perlu untuk meneliti dan menggolongkan jenis pemetaan yang digunakan pada perangkat NAT. Untuk tujuan ini, yang sederhana traversal dari UDP lebih NATs (kelengar) protokol dikembangkan. It diklasifikasikan sebagai NAT pelaksanaan penuh cone NAT, (alamat) dibatasi kerucut NAT, Port restricted cone NAT atau simetris NAT [1] [2] dan metodologi yang diusulkan untuk pengujian perangkat yang sesuai. Namun, prosedur ini telah usang dari standar status sebagai metode telah dibuktikan salah dengan benar dan tidak memadai untuk menilai banyak perangkat. Metode baru yang telah standar pada RFC 5.389 (2008) dan pingsan akronim baru sekarang mewakili judul, spesifikasi: Session Utilitas untuk NAT Traversal.
Full cone NAT, juga dikenal sebagai satu-ke-satu NAT
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2.
(Alamat) Restricted cone NAT
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host (hostAddr: ada) dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2 hanya jika iAddr: port1 sebelumnya telah mengirimkan paket ke hostAddr: ada. "apapun" adalah nomor port tidak masalah.
Port-Restricted cone NAT
Seperti (Alamat) Restricted cone NAT, tetapi pembatasan termasuk nomor port.
Setelah internal alamat (iAddr: port1) yang dipetakan ke alamat eksternal (eAddr: port2), setiap paket dari iAddr: port1 akan dikirim melalui eAddr: port2. Eksternal host (hostAddr: port3) dapat mengirimkan paket ke iAddr: port1 dengan mengirimkan paket ke eAddr: port2 hanya jika iAddr: port1 sebelumnya telah mengirimkan paket ke hostAddr: port3.
Symmetric NAT
Setiap permintaan yang sama dari alamat IP internal dan port tertentu tujuan alamat IP dan port mapping ke sumber eksternal yang unik alamat IP dan port.
Jika sama internal host mengirimkan paket bahkan dengan sumber yang sama alamat dan port tetapi untuk tujuan yang berbeda, yang berbeda pemetaan yang digunakan.
Eksternal hanya host yang akan menerima paket dari internal host dapat mengirim kembali paket.
Terminologi ini telah menjadi sumber banyak kebingungan, karena telah membuktikan di memadai menjelaskan nyata NAT perilaku. [3] Banyak implementasi NAT menggabungkan jenis ini, dan karena itu lebih baik untuk mengacu ke individu spesifik NAT perilaku bukannya menggunakan Cone / Symmetric terminologi. Apalagi, sebagian besar NAT penerjemah menggabungkan setangkup NAT untuk koneksi keluar dengan statis port pemetaan, di mana paket masuk ke alamat dan port eksternal yang diarahkan ke alamat tertentu internal dan port. Beberapa produk dapat redirect paket ke beberapa host internal, misalnya untuk membagi beban antara beberapa server. Namun, ini memperkenalkan masalah dengan komunikasi yang lebih canggih telah banyak saling paket, sehingga jarang digunakan.
Banyak implementasi NAT mengikuti pelabuhan pelestarian desain. Bagi kebanyakan komunikasi, mereka menggunakan nilai-nilai yang sama sebagai internal dan eksternal nomor port. Namun, jika dua host internal berusaha untuk berkomunikasi dengan host eksternal yang sama dengan menggunakan nomor port yang sama, di luar nomor port yang digunakan oleh kedua host akan dipilih secara acak. Seperti NAT akan kadang-kadang dirasakan sebagai (alamat) restricted cone NAT dan lain sebagai setangkup NAT.
NAT dan TCP / UDP
"Pure NAT", operasi pada IP saja, mungkin atau tidak benar parse totally protokol yang berkaitan dengan informasi IP, seperti ICMP, tergantung pada apakah payload adalah diinterpretasikan oleh host pada "dalam" atau "di luar" penerjemahan . Secepat stack protokol yang dinaiki, bahkan dengan dasar sebagai protokol TCP dan UDP, protokol yang akan merusak NAT kecuali mengambil tindakan di luar jaringan lapisan.
IP memiliki checksum dalam setiap paket, header, yang menyediakan deteksi kesalahan hanya untuk kepala. IP datagrams Mei-bagi dan menjadi penting untuk kembali ke NAT fragmen ini agar benar recalculation tinggi tingkat checksum pelacakan dan benar yang dimiliki oleh paket yang sambungan.
Utama transportasi lapisan protokol, TCP dan UDP, memiliki checksum yang mencakup semua data yang mereka bawa, serta TCP / UDP header, ditambah "pseudo-header" yang berisi sumber dan tujuan alamat IP dari paket yang membawa TCP / UDP header. Untuk NAT berasal berhasil lulus TCP atau UDP, harus recompute pada TCP / UDP checksum header diterjemahkan berdasarkan alamat IP, bukan yang asli, dan memasukkan ke dalam bahwa checksum TCP / UDP judul pertama paket yang ditetapkan bagi dari paket. Penerimaan NAT harus recompute IP checksum pada setiap paket lolos ke tujuan tuan rumah, dan juga mengenal dan recompute yang TCP / UDP header menggunakan alamat dan retranslated pseudo-header. Ini bukan masalah diselesaikan secara tuntas. Salah satu solusi untuk penerimaan NAT kembali ke seluruh segmen kemudian recompute checksum yang dihitung di semua paket.
Berasal host mungkin melakukan unit transmisi maksimum (MTU) path discovery (RFC 1191) untuk menentukan ukuran paket yang dapat dikirim tanpa fragmentasi, dan kemudian menetapkan "don't fragment" bit dalam header paket yang sesuai bidang.
Tujuan terjemahan alamat jaringan (DNAT)
DNAT adalah teknik transparan untuk tujuan mengubah alamat IP dari id-rute paket dan melaksanakan fungsi inverse untuk setiap balasan. Setiap router yang terletak di antara dua endpoints ini dapat melakukan transformasi dari paket.
DNAT umumnya digunakan untuk mempublikasikan layanan di jaringan pribadi yang dapat diakses publik pada alamat IP.
SNAT
Penggunaan istilah SNAT bervariasi oleh vendor. Banyak vendor ada definisi eksklusif untuk SNAT. Umum adalah definisi Sumber NAT, di banding Tujuan dari NAT (DNAT).
Microsoft menggunakan istilah untuk NAT Aman, berkaitan dengan perpanjangan ISA Server dibahas di bawah ini. Per Cisco Systems, SNAT berarti Stateful NAT.
The Internet Engineering Task Force (IETF) mendefinisikan SNAT sebagai Softwires Network Address Translation. Ini adalah jenis NAT bernama setelah Softwires kelompok kerja yang diisi dengan standarisasi discovery, dan metode encapsulation untuk menghubungkan jaringan di IPv4 dan IPv6 jaringan IPv6 di jaringan IPv4 jaringan.
Dynamic terjemahan alamat jaringan
NAT dinamis, seperti NAT statis, tidak umum dalam jaringan yang lebih kecil tetapi lebih besar ditemukan di kompleks perusahaan dengan jaringan. Cara dinamis dari beberapa NAT statis NAT adalah tempat yang statis NAT menyediakan satu-ke-satu ke publik internal static IP pemetaan, Dynamic NAT tidak sama tetapi tanpa membuat pemetaan kepada publik IP statis dan biasanya menggunakan grup umum yang tersedia IP.
Aplikasi terpengaruh oleh NAT
Beberapa aplikasi Layer protokol (seperti FTP dan SIP) mengirim eksplisit alamat dalam jaringan mereka aplikasi data. FTP dalam mode aktif, misalnya, menggunakan sambungan terpisah untuk mengontrol lalu lintas (perintah) dan untuk lalu lintas data (isi file). Bila meminta transfer file, host membuat permintaan mengidentifikasi data yang sesuai dengan koneksi jaringan lapisan dan transportasi lapisan alamat. Jika tuan rumah membuat permintaan sederhana yang terletak di belakang firewall NAT, menerjemahkan alamat IP dan nomor port TCP atau membuat informasi yang diterima oleh server yang tidak valid. The Session Initiation Protocol (SIP) mengatur suara melalui IP (VoIP) komunikasi dan menderita masalah yang sama. SIP dapat menggunakan beberapa port untuk mengatur sambungan dan mengirimkan suara melalui streaming RTP. Alamat IP dan nomor port yang di encoded payload data dan harus diketahui sebelum traversal dari NATs. Tanpa teknik khusus, seperti pingsan, perilaku yang tidak terduga NAT dan komunikasi Mei gagal.
Aplikasi Layer Gateway (ALG) perangkat lunak atau perangkat keras Mei benar masalah ini. ALG modul perangkat lunak yang berjalan pada sebuah firewall NAT pembaruan perangkat apapun payload data yang dilakukan oleh salah alamat translation. ALGs jelas perlu memahami tinggi-lapisan protokol yang mereka butuhkan untuk memperbaiki, maka setiap protokol dengan masalah ini memerlukan ALG terpisah.
Lain kemungkinan solusi untuk masalah ini adalah dengan menggunakan NAT traversal teknik menggunakan protokol seperti pingsan atau ICE atau kepemilikan pendekatan dalam sesi perbatasan controller. NAT traversal dapat di kedua-TCP dan UDP berbasis aplikasi, tetapi dengan UDP berbasis teknik yang sederhana, lebih luas dipahami, dan lebih kompatibel dengan legacy NATs. Dalam kedua kasus, tingginya tingkat protokol harus dirancang dengan NAT traversal diketahui, dan tidak bekerja terpercaya di setangkup NATs atau buruk-behaved legacy NATs.
Kemungkinan lainnya adalah UPnP (Universal Plug and Play) atau Bonjour (NAT-PMP), tapi ini memerlukan kerjasama dari perangkat NAT.
Paling tradisional klien-server protokol (FTP sebagai pengecualian utama), namun tidak mengirimkan informasi kontak lapisan 3 dan karenanya tidak memerlukan perawatan khusus oleh NATs. Sebenarnya, menghindari komplikasi NAT adalah suatu kebutuhan praktis saat merancang baru-lapisan protokol yang lebih tinggi hari ini.
NATs juga dapat menimbulkan masalah di mana IPsec enkripsi dan diterapkan dalam kasus di mana beberapa perangkat seperti SIP telepon berada di belakang NAT. Telepon yang mengenkripsi signaling mereka dengan IPsec encapsulate pelabuhan IPsec informasi di dalam paket yang berarti bahwa NA (P) T perangkat tidak dapat mengakses dan menterjemahkan pelabuhan. Dalam kasus ini, yang NA (P) T kembali ke perangkat sederhana NAT operasi. Ini berarti bahwa semua lalu lintas kembali ke NAT akan dipetakan ke salah satu klien menyebabkan layanan gagal. Ada beberapa solusi untuk masalah ini, satu adalah dengan menggunakan TLS yang beroperasi di tingkat 4 dalam OSI Reference Model dan karenanya tidak masker nomor port, atau Encapsulate yang IPsec dalam UDP - yang kedua adalah solusi yang dipilih oleh TISPAN aman untuk mencapai NAT traversal.
Kerentanan DNS protokol yang diumumkan oleh Dan Kaminsky pada 8 Juli 2008 adalah tidak langsung dipengaruhi oleh NAT port pemetaan. Untuk menghindari server DNS cache poisoning, sangat tidak diinginkan untuk menterjemahkan sumber UDP port jumlah permintaan DNS keluar dari server DNS yang berada di belakang firewall yang menerapkan NAT. Kerja yang dianjurkan sekitar untuk kerentanan DNS adalah untuk membuat semua server DNS caching menggunakan randomized UDP port sumber. Jika fungsi dari NAT-randomizes yang sumber port UDP, DNS server yang akan dibuat rentan.
Drawbacks
Alam di belakang NAT-enabled router tidak mempunyai end-to-end konektivitas dan tidak dapat berpartisipasi dalam beberapa protokol Internet. Pelayanan yang membutuhkan inisiasi dari TCP koneksi dari luar jaringan, atau bernegara protokol seperti yang menggunakan UDP, dapat terganggu. Kecuali router NAT membuat suatu upaya untuk mendukung protokol seperti itu, masuk paket tidak dapat mencapai tujuan mereka. Beberapa protokol dapat menampung satu contoh NAT berpartisipasi antara host ( "passive mode" FTP, misalnya), kadang-kadang dengan bantuan dari Application Layer Gateway (lihat di bawah), tapi gagal ketika kedua sistem terpisah dari internet oleh NAT. Penggunaan NAT juga complicates tunneling protokol seperti IPsec karena NAT memodifikasi nilai dalam header yang mengganggu integritas pemeriksaan yang dilakukan oleh IPsec dan protokol tunneling lainnya.
End-to-end konektivitas telah menjadi inti dari prinsip Internet, misalnya didukung oleh Badan Arsitektur Internet. Peristiwa Internet arsitektur dokumen mengamati bahwa NAT merupakan pelanggaran yang ke-Akhir-akhir Prinsip, tetapi tidak ada yang NAT yang valid peran desain dalam hati. [4] Ada lagi sangat prihatin dengan penggunaan IPv6 NAT, dan banyak arsitek IPv6 percaya IPv6 dimaksudkan untuk menghapus kebutuhan untuk NAT. [5]
Karena jangka pendek-sifat hidup dari Stateful terjemahan dalam tabel NAT router, perangkat pada jaringan internal kehilangan IP konektivitas yang sangat biasanya dalam waktu singkat kecuali mereka menerapkan NAT tetap-hidup oleh mekanisme di luar sering mengakses host. Ini dramatis shortens kuasa pada baterai cadangan dioperasikan-tangan dan telah diadakan perangkat thwarted lebih luas dari deployment IP asli internet perangkat diaktifkan.
Beberapa penyedia layanan Internet (ISP) hanya menyediakan pelanggan dengan "lokal" alamat IP. [Kutipan diperlukan] Dengan demikian, pelanggan tersebut harus eksternal untuk mengakses layanan ISP jaringan melalui NAT. Akibatnya, para pelanggan dapat mencapai tidak benar-akhir-akhir untuk konektivitas, melanggar prinsip-prinsip inti dari internet seperti yang diungkapkan oleh Internet Architecture Board.
Manfaat
Keuntungan utama IP-masquerading NAT adalah bahwa hal itu telah menjadi solusi yang praktis mendatang kelelahan dari ruang alamat IPv4. Jaringan yang sebelumnya memerlukan Kelas B rentang IP atau blok alamat jaringan Kelas C dapat terhubung ke Internet dengan hanya satu alamat IP. Aturan yang lebih umum adalah memiliki komputer yang membutuhkan bidirectional benar dan unfettered konektivitas routable disertakan dengan alamat IP, sementara yang memiliki komputer yang tidak menyediakan pelayanan kepada pengguna di luar keletihan jauh di belakang NAT dengan hanya beberapa alamat IP yang digunakan untuk mengaktifkan akses internet.
Beberapa [6] juga disebut proyek keuntungan yang besar keberatan, karena penundaan perlunya penerapan IPv6, kutipan:
"... Ada kemungkinan bahwa [NAT] luas menggunakan akan menunda perlu mengaparkan IPv6. ... Ini mungkin aman untuk mengatakan bahwa jaringan akan menjadi lebih makmur tanpa NAT, ..."
Meskipun bukan solusi keamanan serius itu sendiri, kurangnya konektivitas penuh bidirectional dapat dipandang pada beberapa situasi sebagai fitur daripada batasan. Sebagaimana yang NAT tergantung pada mesin di jaringan lokal apapun untuk melakukan koneksi ke host pada sisi lain dari router, itu mencegah aktivitas berbahaya diprakarsai oleh host dari luar daerah yang mencapai host. Namun, manfaat yang sama dapat dicapai dengan implementasi firewall pada perangkat routing.
Contoh perangkat lunak NAT
IPFilter
PF (Firewall): The OpenBSD Packet Filter.
Iptables masquerading
Berkeley Software Distribution
Internet Connection Sharing (ICS)
WinGate
Cisco ios
Tidak ada komentar:
Posting Komentar