Dalam jaringan komputer , network address translation (NAT) adalah proses memodifikasi alamat IP informasi dalam header paket IP saat transit di lalu lintas perangkat routing .
Jenis paling sederhana dari NAT menyediakan terjemahan 1-1 dari alamat IP. RFC 2663 mengacu pada jenis NAT sebagai dasar NAT. Hal ini sering juga disebut sebagai satu-ke-satu NAT.
Dalam jenis NAT hanya alamat IP, checksum header IP dan setiap checksum
tingkat yang lebih tinggi yang mencakup alamat IP perlu diubah.
Sisa paket dapat dibiarkan tak tersentuh (paling tidak untuk dasar TCP /
UDP fungsi, beberapa protokol tingkat yang lebih tinggi mungkin perlu
terjemahan lebih lanjut). Nat dasar dapat digunakan ketika ada kebutuhan untuk menghubungkan dua jaringan IP dengan tidak kompatibel pengalamatan.
Namun itu adalah umum untuk menyembunyikan ruang alamat IP seluruh, biasanya terdiri dari alamat IP pribadi , di belakang satu alamat IP (atau dalam beberapa kasus sekelompok kecil alamat IP) di lain ruang alamat (biasanya umum).
Untuk menghindari ambiguitas dalam penanganan paket yang dikembalikan,
satu-ke-banyak NAT harus mengubah informasi tingkat yang lebih tinggi
seperti TCP / UDP port dalam komunikasi keluar dan harus memiliki sebuah
tabel terjemahan sehingga paket kembali dapat diterjemahkan dengan
benar kembali. RFC 2663 menggunakan NAPT yang panjang (alamat jaringan dan terjemahan port) untuk jenis NAT. Nama-nama lainnya termasuk PAT (port address translation), IP masquerading, Overload NAT dan banyak-ke-satu NAT. Karena ini adalah jenis yang paling umum dari NAT sering disebut hanya sebagai NAT.
Seperti dijelaskan, metode ini memungkinkan komunikasi melalui router
hanya saat percakapan berasal dari jaringan menyamar, karena ini
menetapkan tabel terjemahan. Sebagai contoh, sebuah web browser
dalam jaringan menyamar dapat menelusuri website luar, tapi di luar web
browser tidak dapat menelusuri situs web dalam jaringan menyamar.
Namun, sebagian besar perangkat NAT hari ini memungkinkan administrator
jaringan untuk mengkonfigurasi entri tabel terjemahan untuk digunakan
permanen. Fitur ini sering disebut sebagai "NAT statis" atau port forwarding dan memungkinkan lalu lintas yang berasal dari jaringan "luar" untuk mencapai host yang ditunjuk dalam jaringan menyamar.
Pada pertengahan 1990-an NAT menjadi alat populer untuk mengurangi konsekuensi dari IPv4 kelelahan alamat . [1] Hal ini telah menjadi fitur, umum yang sangat diperlukan dalam 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.
Jaringan terjemahan alamat memiliki serius kelemahan pada kualitas konektivitas internet dan membutuhkan perhatian ke rincian pelaksanaannya. Secara khusus semua jenis NAT memecahkan model awalnya direncanakan IP end-to-end konektivitas di Internet dan NAPT membuat sulit bagi sistem belakang NAT untuk menerima komunikasi yang masuk. Akibatnya, NAT traversal metode telah dirancang untuk meringankan masalah yang dihadapi.
Salah satu untuk Nat banyak
Mayoritas Nat memetakan host pribadi ganda untuk satu alamat IP publik terbuka. Dalam konfigurasi khas, jaringan lokal menggunakan salah satu yang ditunjuk "swasta" alamat IP subnet ( RFC 1918 ). Sebuah router pada jaringan yang memiliki alamat pribadi di ruang alamat. Router juga terhubung ke Internet dengan alamat "publik" yang diberikan oleh penyedia layanan Internet .
Karena lalu lintas lolos dari jaringan lokal ke Internet, alamat sumber
di masing-masing paket diterjemahkan dengan cepat dari alamat pribadi
ke alamat publik. Router trek data dasar tentang setiap sambungan aktif (terutama alamat tujuan dan port).
Ketika balasan kembali ke router, menggunakan sambungan data pelacakan
itu tersimpan selama fase outbound untuk menentukan alamat pribadi pada
jaringan internal yang untuk meneruskan jawabannya.
Semua paket internet memiliki alamat IP sumber dan alamat IP tujuan.
Biasanya paket yang lewat dari jaringan pribadi untuk jaringan publik
akan memiliki alamat sumber mereka dimodifikasi sementara paket lewat
dari jaringan publik kembali ke jaringan pribadi akan memiliki alamat
tujuan mereka dimodifikasi. Konfigurasi lebih kompleks juga mungkin.
Untuk menghindari ambiguitas dalam bagaimana menerjemahkan paket yang
dikembalikan, modifikasi lebih lanjut untuk paket-paket yang diperlukan.
Sebagian besar lalu lintas internet adalah TCP dan UDP paket dan untuk
protokol ini nomor port akan berubah sehingga kombinasi IP dan informasi
port pada paket yang dikembalikan dapat jelas dipetakan ke alamat
pribadi yang sesuai dan informasi port. Protokol tidak didasarkan pada TCP atau UDP memerlukan teknik terjemahan lainnya.
Paket ICMP biasanya berhubungan dengan koneksi yang ada dan perlu
dipetakan menggunakan IP yang sama dan pemetaan port sebagai koneksi.
Metode terjemahan Pelabuhan
Ada beberapa cara pelaksanaan terjemahan alamat jaringan dan port.
Dalam beberapa protokol aplikasi yang menggunakan informasi alamat IP,
aplikasi yang berjalan pada node dalam jaringan menyamar perlu
menentukan alamat eksternal dari NAT, yaitu, alamat yang rekan-rekan
komunikasinya mendeteksi, dan, selanjutnya, sering perlu untuk memeriksa
dan mengkategorikan jenis pemetaan yang digunakan.
Biasanya hal ini dilakukan karena yang diinginkan untuk membuat sebuah
jalur komunikasi langsung (baik untuk menghemat biaya mengambil data
melalui server atau untuk meningkatkan kinerja) antara dua klien yang
keduanya berada di belakang Nat terpisah. Untuk tujuan ini, traversal dari UDP lebih sederhana Nat (STUN) protokol dikembangkan ( RFC 3489 , Maret 2003). Ini diklasifikasikan sebagai implementasi NAT NAT kerucut penuh, (alamat) dibatasi kerucut NAT, port dibatasi kerucut NAT atau simetris NAT dan mengusulkan metodologi untuk pengujian perangkat yang sesuai.
Namun, prosedur ini telah usang sejak dari status standar, sebagai
metode yang telah terbukti rusak dan tidak memadai untuk benar menilai
banyak perangkat. Metode baru telah dibakukan dalam RFC 5389 (Oktober 2008) dan singkatan STUN sekarang merupakan judul yang baru dari spesifikasi: Sesi Traversal Utilitas untuk NAT.
Full-kerucut NAT, juga dikenal sebagai satu-ke-satu NAT
| |
(Alamat) dibatasi kerucut NAT
| |
Port-dibatasi kerucut NAT Seperti alamat dibatasi kerucut NAT, namun larangan tersebut termasuk nomor port.
| |
Symmetric NAT
|
Terminologi ini telah menjadi sumber banyak kebingungan, karena telah
terbukti tidak memadai untuk mendeskripsikan kehidupan nyata perilaku
NAT. [2]
Banyak implementasi NAT menggabungkan jenis ini, dan karena itu lebih
baik untuk merujuk pada perilaku spesifik NAT individu daripada
menggunakan Cone tersebut / Symmetric terminologi. Apalagi, sebagian besar NAT penerjemah menggabungkan setangkup NAT untuk koneksi keluar dengan statis port pemetaan, di mana paket masuk ke alamat eksternal dan port diarahkan ke alamat internal spesifik dan pelabuhan. 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
yang memiliki banyak paket yang saling berhubungan, sehingga jarang
digunakan.
Jenis NAT dan NAT Traversal
Masalah NAT traversal muncul ketika dua rekan-rekan di belakang NAT berbeda mencoba untuk berkomunikasi. Salah satu cara untuk memecahkan masalah ini adalah dengan menggunakan port forwarding , cara lain adalah dengan menggunakan berbagai teknik NAT traversal. Teknik yang paling populer untuk TCP NAT traversal adalah TCP lubang meninju , yang memerlukan NAT untuk mengikuti desain pelabuhan pelestarian untuk TCP, seperti yang dijelaskan di bawah ini.
Banyak implementasi NAT mengikuti pelabuhan pelestarian desain terutama untuk TCP, yang berarti bahwa mereka menggunakan nilai yang sama seperti nomor port internal dan eksternal. NAT pelestarian port untuk koneksi TCP keluar sangat penting untuk TCP NAT traversal , karena program biasanya mengikat socket yang berbeda TCP ke port singkat untuk koneksi TCP yang berbeda, membuat NAT prediksi pelabuhan tidak mungkin untuk TCP.
Di sisi lain, untuk UDP, Nat tidak perlu memiliki pelestarian port
karena aplikasi biasanya menggunakan kembali soket UDP yang sama untuk
mengirim paket ke host yang berbeda, membuat prediksi pelabuhan
langsung, karena merupakan port sumber yang sama untuk setiap paket.
Selain itu, pelabuhan pelestarian
di NAT untuk TCP memungkinkan protokol P2P untuk menawarkan
kompleksitas kurang dan latency kurang karena tidak ada kebutuhan untuk
menggunakan pihak ketiga untuk menemukan port NAT sejak aplikasi sudah
tahu port NAT. [3]
Namun, jika dua host internal berusaha untuk berkomunikasi dengan host
eksternal yang sama dengan menggunakan nomor port yang sama, nomor port
eksternal yang digunakan oleh host kedua akan dipilih secara acak. NAT tersebut akan kadang-kadang dianggap sebagai (alamat) dibatasi kerucut NAT dan kali lain sebagai simetris NAT.
Studi terbaru menunjukkan bahwa sekitar 70% dari klien di P2P jaringan menggunakan beberapa bentuk NAT. [4]
Implementasi
Membangun Komunikasi Dua Arah
Setiap paket TCP dan UDP berisi sumber alamat IP dan nomor port sumber dan juga alamat IP tujuan dan nomor port tujuan. Port alamat / IP address membentuk socket . Secara khusus, port sumber dan alamat IP sumber membentuk soket sumber.
Untuk layanan yang dapat diakses publik seperti server web dan mail server nomor port adalah penting. Sebagai contoh, port 80 menghubungkan ke web server yang perangkat lunak dan port 25 untuk mail server di SMTP daemon . Alamat IP dari server publik juga penting, sama keunikan global ke alamat pos atau nomor telepon. Kedua alamat IP dan port harus benar dikenal oleh semua host yang ingin berhasil berkomunikasi.
Alamat IP pribadi seperti yang dijelaskan dalam RFC 1918 adalah signifikan hanya pada jaringan pribadi di mana mereka digunakan, yang juga berlaku untuk port host.
Port adalah titik akhir komunikasi yang unik pada host, jadi koneksi
melalui perangkat NAT dikelola oleh pemetaan gabungan dari port dan
alamat IP.
PAT menyelesaikan konflik yang akan timbul melalui dua host yang
berbeda menggunakan nomor port sumber yang sama untuk membangun hubungan
yang unik pada saat yang sama.
Analogi Sebuah
Sebuah perangkat NAT mirip dengan sistem telepon di sebuah kantor yang memiliki satu nomor telepon umum dan beberapa ekstensi. Outbound panggilan telepon yang dibuat dari kantor semua muncul datang dari nomor telepon yang sama. Namun, panggilan masuk yang tidak menentukan ekstensi tidak dapat ditransfer kepada individu dalam kantor.
Dalam skenario ini, kantor adalah LAN pribadi, nomor telepon utama
adalah alamat IP publik, dan ekstensi individu adalah nomor port yang
unik. [5]
Terjemahan dari Endpoint yang
Dengan NAT, semua komunikasi dikirim ke host eksternal benar-benar berisi alamat IP eksternal dan informasi port pada NAT bukan IP host internal atau nomor port.
- Ketika komputer di jaringan (internal) swasta mengirimkan paket ke jaringan eksternal, perangkat NAT akan mengganti alamat IP internal di bidang sumber dari header paket (alamat pengirim) dengan alamat IP eksternal pada NAT. PAT kemudian dapat menetapkan sambungan nomor port dari kolam port yang tersedia, memasukkan nomor port ini di bidang port sumber (seperti nomor kotak pos), dan meneruskan paket ke jaringan eksternal. Perangkat NAT kemudian membuat sebuah entri dalam tabel terjemahan yang berisi alamat IP internal, port sumber asli, dan port sumber diterjemahkan. Paket berikutnya dari sambungan yang sama dijabarkan ke nomor port yang sama.
- Komputer yang menerima sebuah paket yang telah mengalami NAT mengadakan sambungan ke alamat port dan IP yang ditetapkan dalam paket berubah, menyadari fakta bahwa alamat yang diberikan sedang diterjemahkan (analog dengan menggunakan nomor kotak pos).
- Sebuah paket datang dari jaringan eksternal dipetakan ke alamat IP yang sesuai internal dan nomor port dari tabel terjemahan, menggantikan alamat IP eksternal dan nomor port pada header paket yang datang (mirip dengan terjemahan dari kotak pos nomor untuk alamat jalan ) . Paket tersebut kemudian diteruskan melalui jaringan dalam. Jika tidak, jika tujuan port jumlah paket yang masuk tidak ditemukan dalam tabel terjemahan, paket akan dibuang atau ditolak karena perangkat PAT tidak tahu di mana untuk mengirimnya.
NAT hanya akan menerjemahkan alamat IP dan port dari host internal,
menyembunyikan titik akhir sebenarnya dari sebuah host internal di
jaringan pribadi.
Visibilitas Operasi
Operasi NAT biasanya transparan untuk kedua host internal dan eksternal.
Biasanya host internal sadar dari alamat IP yang benar dan port TCP atau UDP dari host eksternal. Biasanya perangkat NAT dapat berfungsi sebagai gateway default untuk host internal.
Namun host eksternal hanya sadar akan alamat IP publik untuk perangkat
NAT dan port tertentu yang digunakan untuk berkomunikasi atas nama host
internal tertentu.
NAT dan TCP / UDP
"Pure NAT", yang beroperasi pada IP saja, mungkin atau mungkin tidak
benar mengurai protokol yang benar-benar peduli dengan informasi IP,
seperti ICMP , tergantung pada apakah payload adalah diinterpretasikan oleh host pada "dalam" atau "luar" penerjemahan . Begitu tumpukan protokol dilalui, bahkan dengan protokol dasar seperti TCP dan UDP , protokol akan memecah kecuali NAT mengambil tindakan di luar lapisan jaringan.
Paket IP memiliki checksum dalam setiap header paket, yang menyediakan deteksi kesalahan hanya untuk header.
Datagram IP dapat menjadi terpecah-pecah dan perlu untuk NAT untuk
berkumpul kembali fragmen ini untuk memungkinkan perhitungan kembali
yang benar dari tingkat yang lebih tinggi checksum pelacakan dan benar
dari yang paket milik yang koneksi.
Protokol lapisan utama transportasi, TCP dan UDP, memiliki checksum
yang mencakup semua data yang mereka bawa, serta header TCP / UDP,
ditambah "pseudo-header" yang berisi sumber dan tujuan alamat IP dari
paket yang membawa TCP / UDP header.
Untuk NAT berasal lulus TCP atau UDP berhasil, harus recompute checksum
TCP / UDP header berdasarkan alamat IP diterjemahkan, bukan yang asli,
dan menempatkan checksum yang ke header TCP / UDP dari paket pertama set
terfragmentasi paket.
NAT penerima harus recompute IP checksum pada setiap paket lolos ke
host tujuan, dan juga mengenali dan menghitung ulang header TCP / UDP
menggunakan alamat diterjemahkan kembali dan pseudo-header. Ini bukan masalah terselesaikan.
Salah satu solusinya adalah untuk NAT penerima untuk memasang kembali
seluruh segmen kemudian recompute checksum dihitung di semua paket.
Tuan rumah yang berasal mungkin melakukan unit transmisi maksimum (MTU) penemuan jalan untuk menentukan ukuran paket yang dapat dikirim tanpa fragmentasi, dan kemudian mengatur jangan fragmen (DF) bit di bidang header paket yang sesuai.
Tujuan terjemahan alamat jaringan (DNAT)
DNAT adalah teknik untuk transparan mengubah tujuan alamat IP dari en-route paket dan melakukan fungsi invers untuk setiap balasan. Setiap router yang terletak di antara dua endpoint dapat melakukan transformasi dari paket.
DNAT umumnya digunakan untuk mempublikasikan layanan yang terletak di jaringan pribadi pada diakses publik alamat IP . Ini menggunakan DNAT juga disebut port forwarding , atau DMZ bila digunakan pada seluruh server, yang menjadi terkena WAN, menjadi analog dengan sebuah dipertahankan militer zona demiliterisasi (DMZ).
SNAT
Arti dari istilah SNAT bervariasi oleh vendor. Banyak vendor memiliki definisi eksklusif untuk SNAT. Sebuah ekspansi yang umum adalah sumber NAT, mitra tujuan NAT (DNAT). Microsoft menggunakan singkatan Aman NAT, sehubungan dengan ISA Server . Untuk Cisco Systems, SNAT berarti stateful NAT.
jaringan terjemahan alamat Aman
Dalam jaringan komputer , proses penerjemahan alamat jaringan dilakukan dengan cara yang aman melibatkan penulisan ulang sumber dan / atau tujuan alamat dari IP paket ketika mereka melalui sebuah router atau firewall .
jaringan terjemahan alamat Dinamis
NAT Dinamis, seperti NAT statis, tidak umum dalam jaringan yang lebih
kecil tetapi ditemukan dalam perusahaan yang lebih besar dengan jaringan
yang kompleks.
Cara dinamis NAT berbeda dari NAT statis adalah bahwa di mana NAT
statis menyediakan satu-ke-satu pemetaan internal untuk alamat IP publik
statis, dinamis NAT tidak membuat pemetaan ke alamat IP publik statis
dan biasanya menggunakan sekelompok publik yang tersedia IP alamat.
Aplikasi terpengaruh oleh NAT
Beberapa Application Layer protokol (seperti FTP dan SIP ) mengirim eksplisit alamat jaringan dalam data aplikasi mereka. FTP
dalam mode aktif, misalnya, menggunakan koneksi yang terpisah untuk
lalu lintas kontrol (perintah) dan untuk lalu lintas data (isi file). Ketika meminta transfer file, host membuat permintaan mengidentifikasi koneksi data yang sesuai dengan yang lapisan jaringan dan lapisan transport alamat.
Jika host membuat permintaan tersebut terletak di belakang firewall NAT
sederhana, terjemahan dari alamat IP dan / atau nomor port TCP membuat
informasi yang diterima oleh server tidak valid. The Session Initiation Protocol (SIP) mengatur banyak Voice over IP (VoIP) panggilan, dan menderita masalah yang sama. SIP dan SDP dapat menggunakan beberapa port untuk mengatur sambungan dan mengirimkan aliran suara melalui RTP . Alamat IP dan nomor port dikodekan dalam data payload dan harus diketahui sebelum traversal dari Nat. Tanpa teknik khusus, seperti STUN , NAT perilaku tidak dapat diprediksi dan komunikasi mungkin gagal.
Lapisan aplikasi gerbang (ALG) perangkat lunak atau perangkat keras dapat memperbaiki masalah ini. Modul perangkat lunak ALG berjalan pada firewall NAT pembaruan perangkat data payload dibuat valid oleh terjemahan alamat.
Algs jelas perlu memahami protokol layer yang lebih tinggi bahwa mereka
harus memperbaiki, dan setiap protokol dengan masalah ini memerlukan
ALG terpisah. Sebagai contoh, pada sistem Linux, ada kernel modul yang disebut koneksi pelacak yang berfungsi untuk melaksanakan algs. Namun, ALG tidak bekerja jika saluran kontrol dienkripsi (misalnya FTPS ).
Solusi lain yang mungkin untuk masalah ini adalah dengan menggunakan NAT traversal teknik menggunakan protokol seperti STUN atau ICE , atau pendekatan proprietary dalam pengendali perbatasan sesi . NAT traversal adalah mungkin dalam TCP dan UDP berbasis aplikasi, tetapi teknik UDP berbasis lebih sederhana, lebih luas dipahami, dan lebih kompatibel dengan Nat warisan. [ kutipan diperlukan ]
Dalam kedua kasus, protokol tingkat tinggi harus dirancang dengan NAT
traversal dalam pikiran, dan tidak bekerja andal di Nat simetris atau
Nat warisan buruk berperilaku.
Kemungkinan lain adalah UPnP (Universal Plug and Play) atau NAT-PMP (NAT Pelabuhan Protokol Pemetaan), tetapi memerlukan kerja sama dari perangkat NAT.
Paling tradisional client-server protokol (FTP sebagai pengecualian
utama), namun, jangan mengirim informasi kontak lapisan 3 dan karena itu
tidak memerlukan perawatan khusus oleh Nat.
Bahkan, menghindari komplikasi NAT adalah suatu kebutuhan praktis saat
merancang baru-lapisan protokol yang lebih tinggi hari ini (misalnya
penggunaan SFTP bukan FTP).
Nat juga dapat menyebabkan masalah di mana IPsec enkripsi diterapkan dan dalam kasus di mana beberapa perangkat seperti SIP telepon berada di belakang NAT.
Telepon yang mengenkripsi signaling mereka dengan IPsec merangkum
informasi port dalam sebuah paket dienkripsi, yang berarti bahwa NA (P) T
perangkat tidak dapat mengakses dan menerjemahkan pelabuhan. Dalam kasus ini, NA (P) T perangkat kembali ke operasi NAT sederhana.
Ini berarti bahwa semua lalu lintas kembali ke NAT akan dipetakan ke
salah satu klien menyebabkan layanan kepada lebih dari satu klien "di
belakang" NAT gagal. Ada beberapa solusi untuk masalah ini: satu adalah dengan menggunakan TLS , yang beroperasi pada tingkat 4 dalam OSI Reference Model dan karena itu tidak menutupi nomor port; lain adalah untuk merangkum IPsec dalam UDP - yang terakhir menjadi solusi yang dipilih oleh TISPAN aman untuk mencapai NAT traversal.
DNS protokol kerentanan diumumkan oleh Dan Kaminsky pada 8 Juli 2008 secara tidak langsung terpengaruh oleh pemetaan port NAT. Untuk menghindari server DNS cache keracunan
, sangat diinginkan untuk tidak menerjemahkan nomor port UDP sumber
permintaan DNS keluar dari server DNS yang berada di belakang firewall
yang mengimplementasikan NAT.
Karya-sekitar direkomendasikan untuk kerentanan DNS adalah untuk
membuat semua DNS caching server menggunakan port UDP secara acak
sumber. Jika fungsi NAT de-merandomisasi UDP port sumber, server DNS akan menjadi rentan.
Keuntungan dari PAT
Selain keuntungan yang disediakan oleh NAT:
- PAT (Port Address Translation) memungkinkan host internal untuk berbagi satu alamat IP eksternal.
- Pengguna yang tidak memerlukan dukungan untuk koneksi inbound tidak mengkonsumsi alamat IP publik .
Kekurangan
Tujuan utama IP-masquerading NAT adalah bahwa hal itu telah menjadi
solusi praktis untuk kelelahan yang akan datang dari ruang alamat IPv4. Bahkan jaringan yang besar dapat dihubungkan ke Internet hanya dengan satu alamat IP.
Pengaturan lebih umum adalah memiliki komputer yang membutuhkan
end-to-end konektivitas disertakan dengan alamat IP routable, sementara
memiliki mesin yang tidak memberikan layanan kepada pengguna di luar di
belakang NAT dengan hanya beberapa alamat IP yang digunakan untuk
mengaktifkan akses internet, bagaimanapun, ini membawa beberapa masalah,
diuraikan di bawah.
"[...] Adalah mungkin bahwa perusahaan [NAT] meluasnya penggunaan secara signifikan akan menunda kebutuhan untuk menggunakan IPv6. [...] Hal ini mungkin aman untuk mengatakan bahwa jaringan akan lebih baik tanpa NAT [...]"
Host di belakang NAT-enabled router tidak memiliki end-to-end konektivitas dan tidak dapat berpartisipasi dalam beberapa protokol Internet. Pelayanan yang membutuhkan inisiasi dari TCP koneksi dari jaringan luar, atau status protokol seperti mereka yang menggunakan UDP , dapat terganggu. Kecuali router NAT membuat upaya khusus untuk mendukung protokol tersebut, paket yang masuk tidak dapat mencapai tujuan mereka. Beberapa protokol dapat menampung satu contoh NAT berpartisipasi antara host ("mode pasif" FTP , misalnya), terkadang dengan bantuan sebuah gateway aplikasi-tingkat (lihat di bawah), tapi gagal ketika kedua sistem terpisah dari internet oleh NAT. Penggunaan NAT juga mempersulit tunneling protokol seperti IPsec karena NAT memodifikasi nilai dalam header yang mengganggu integritas memeriksa dilakukan oleh IPsec dan protokol tunneling lainnya.
End-to-end konektivitas telah menjadi prinsip inti dari Internet, misalnya didukung oleh Dewan Arsitektur Internet .
Dokumen arsitektur Internet saat ini mengamati bahwa NAT merupakan
pelanggaran Prinsip End-to-End, tapi itu NAT memang memiliki peran yang
valid dalam desain-hati. [7]
Ada kekhawatiran jauh lebih dengan penggunaan IPv6 NAT, dan arsitek
IPv6 banyak percaya IPv6 dimaksudkan untuk menghapus kebutuhan untuk
NAT. [8]
Karena sifat berumur pendek dari tabel stateful terjemahan dalam router
NAT, perangkat pada jaringan internal kehilangan IP konektivitas
biasanya dalam waktu yang sangat singkat kecuali mereka menerapkan NAT tetap-hidup mekanisme sering mengakses host luar.
Hal ini secara dramatis lebih pendek cadangan daya pada baterai
dioperasikan perangkat genggam dan telah digagalkan penyebaran lebih
luas seperti IP-pribumi perangkat internet-enabled. [ rujukan? ]
Beberapa penyedia layanan Internet (ISP), terutama di India , Rusia , sebagian di Asia
dan lainnya "mengembangkan" daerah menyediakan pelanggan hanya dengan
"lokal" alamat IP, karena sejumlah alamat IP eksternal dialokasikan
kepada entitas [ rujukan? ]. Dengan demikian, pelanggan harus mengakses layanan eksternal ke jaringan ISP melalui NAT.
Akibatnya, pelanggan tidak dapat mencapai benar end-to-end
konektivitas, yang melanggar prinsip-prinsip inti dari Internet sebagai
ditetapkan oleh Dewan Arsitektur Internet [ rujukan? ].
- Skalabilitas - Sebuah implementasi yang hanya melacak port dapat cepat terkuras oleh aplikasi internal yang menggunakan beberapa koneksi simultan (seperti HTTP permintaan untuk halaman web dengan benda tertanam banyak). Masalah ini dapat dikurangi dengan melacak alamat IP tujuan selain port (sehingga berbagi port lokal tunggal dengan host remote banyak), dengan mengorbankan kompleksitas implementasi dan CPU / sumber daya memori dari perangkat terjemahan.
- Kompleksitas Firewall - Karena alamat internal semua menyamar di balik satu alamat publik yang dapat diakses, adalah mustahil untuk host eksternal untuk memulai sambungan ke host internal tertentu tanpa konfigurasi khusus pada firewall untuk koneksi ke depan ke port tertentu. Aplikasi seperti VOIP , videoconference , dan peer-to-peer aplikasi harus menggunakan NAT traversal teknik untuk fungsi.
Spesifikasi
Alamat Lookup dan Alih Port (diculik, atau RAT) memungkinkan sebuah
host yang nyata alamat IP berubah dari waktu ke waktu untuk tetap dapat
dicapai sebagai server melalui alamat IP rumah tetap. Pada prinsipnya, ini harus memungkinkan pengaturan server DHCP pada jaringan yang dikelola.
Meskipun bukan solusi mobilitas sempurna, diculik bersama dengan
protokol yang akan datang seperti DHCP-DDNS, mungkin akhirnya menjadi
alat yang berguna dalam gudang admin jaringan.
diculik
(reachability IP Menggunakan Dua kali Network Address Translation dan
Port) Perangkat RAT peta datagram IP untuk CN yang terkait dan 0MN
dengan menggunakan tiga bidang tambahan: jumlah IP jenis dan sumber
lapisan transport dan pengenal tujuan koneksi ( misalnya port TCP nomor
atau ICMP echo request / balasan kolom ID).
Cisco diculik implementasi PAT (Port Address Translation) atau overloading, dan peta beberapa alamat IP privat ke alamat IP publik. Beberapa alamat dapat dipetakan ke satu alamat karena setiap alamat pribadi dilacak oleh sejumlah port. PAT menggunakan nomor port sumber yang unik pada alamat IP di dalam global untuk membedakan antara terjemahan. Nomor port dikodekan dalam 16 bit.
Jumlah total alamat internal yang dapat diterjemahkan ke satu alamat
eksternal secara teoritis bisa setinggi 65.536 per alamat IP. Secara realistis, jumlah port yang dapat diberi alamat IP tunggal adalah sekitar 4000. PAT akan berusaha untuk melestarikan port sumber asli.
Jika ini sumber port sudah digunakan, PAT akan menetapkan nomor port
pertama tersedia mulai dari awal kelompok pelabuhan, sesuai 0-511
512-1023, atau 1024-65535.
Bila tidak ada port yang tersedia dan ada lebih dari satu alamat IP
eksternal dikonfigurasi, PAT bergerak ke alamat IP berikutnya untuk
mencoba untuk mengalokasikan port sumber asli lagi. Proses ini berlanjut sampai kehabisan port yang tersedia dan alamat IP eksternal.
3COM US Patent 6.055.236
(Metode dan sistem untuk mencari layanan jaringan dengan terjemahan
alamat jaringan terdistribusi) Metode dan sistem untuk mencari layanan
jaringan dengan terjemahan alamat jaringan terdistribusi.
Sertifikat digital dibuat yang memungkinkan perangkat jaringan
eksternal pada jaringan eksternal, seperti Internet, untuk permintaan
layanan dari perangkat jaringan internal pada jaringan didistribusikan
terjemahan alamat jaringan internal, seperti jaringan area lokal
rintisan.
Sertifikat digital meliputi informasi yang diperoleh dengan Protokol
Alokasi Port yang digunakan untuk terjemahan alamat jaringan
terdistribusi. Sertifikat digital diterbitkan di jaringan internal sehingga mereka dapat diakses oleh perangkat jaringan eksternal.
Sebuah perangkat jaringan eksternal mengambil sertifikat digital,
ekstrak informasi yang sesuai, dan mengirimkan paket permintaan layanan
ke perangkat jaringan internal pada jaringan terdistribusi jaringan
terjemahan alamat internal. Perangkat jaringan eksternal yang dapat menemukan dan permintaan layanan dari perangkat jaringan internal.
Sebuah perangkat jaringan eksternal juga dapat meminta layanan
keamanan, seperti keamanan Internet Protocol ("IP Security") layanan
dari perangkat jaringan internal.
Perangkat jaringan eksternal dan perangkat jaringan internal dapat
membangun layanan keamanan (misalnya, Internet Key Exchange protokol
layanan).
Perangkat jaringan internal dan perangkat jaringan eksternal kemudian
dapat membentuk Asosiasi Keamanan menggunakan Parameter Indeks Keamanan
("SPI") yang diperoleh menggunakan alamat protokol jaringan terjemahan
terdistribusi.
Perangkat jaringan eksternal dapat meminta layanan, dan layanan
keamanan pada perangkat jaringan internal pada jaringan jaringan
terjemahan mendistribusikan alamat internal yang sebelumnya tidak
diketahui dan tidak tersedia untuk perangkat jaringan eksternal.
Contoh perangkat lunak NAT
- Internet Connection Sharing (ICS): Windows NAT + DHCP sejak W98SE
- WinGate : seperti ICS ditambah banyak kontrol
- iptables : paket Linux filter dan NAT (interface untuk Netfilter)
- Ipfilter : Solaris, NetBSD, FreeBSD, xMach.
- PF (firewall) : Filter Packet OpenBSD.
- Netfilter Linux filter paket kerangka
Tidak ada komentar:
Posting Komentar