Mengapa nat diperlukan ketika proxy cukup? [Tutup]

8

Mesin saya terhubung di LAN lokal. untuk terhubung ke internet, lalu lintas melewati server proxy. pemahaman saya tentang server proxy adalah bahwa ia mengirimkan permintaan atas nama pengirim permintaan asli. Jadi ketika server membalas, ia mengirim balasan ke proxy dengan berpikir bahwa itu adalah klien. Proxy kemudian meneruskan balasan ke mesin saya.
Ambil contoh terjemahan Alamat Jaringan . Permintaan Anda melewati router nat. Router nat kemudian memberikan Anda alamat ip publik dan menyimpan pemetaan ini di tabelnya. Balasan (dari server) dikirim ke alamat publik yang ditetapkan ini. Yang mana nat router menyelesaikan ke alamat ip lokal Anda dari tabel dan meneruskan balasan ke mesin Anda.
Pertanyaan saya mengapa nat diperlukan ketika proxy itu sendiri dapat memediasi lalu lintas dan memberi Anda akses ke internet?

Ashwin
sumber
1
Satu klarifikasi - router NAT tidak memberikan Anda alamat IP publik. Itu hanya menulis ulang paket Anda seolah-olah mereka berasal dari IP publiknya sendiri dan bukan IP klien Anda. Kemudian, paket balasan dikirim kembali ke IP luar NAT, yang kemudian menulis kembali paket-paket itu dengan IP klien Anda dan meneruskan paket tersebut.
EEAA

Jawaban:

5

MadHatter telah menulis penjelasan orang awam yang sangat baik tentang perbedaan antara proxy dan NAT.

Untuk detail teknis lebih lanjut saya sarankan Anda membaca pada model OSI dan model TCP / IP. Nat beroperasi di kemudian 3 dari model OSI (lapisan jaringan, IP dalam hal ini) dan proxy umumnya beroperasi pada lapisan 7 (lapisan Aplikasi, HTTP atau apa pun yang Anda proksi).

NAT dan proksi juga berusaha memecahkan masalah yang sedikit berbeda. NAT menyembunyikan sejumlah IP pribadi di belakang sejumlah kecil IP publik untuk mengurangi kekurangan alamat IP, sementara proksi menciptakan "choke point" jaringan untuk alasan keamanan, audit atau kinerja

dwurf
sumber
Saya selalu diberi tahu bahwa NAT bekerja pada layer 3 & 4
codeaviator
@codeaviator komentar yang adil - Saya tunduk pada para pakar di networkengineering.stackexchange.com :)
dwurf
15

Tampaknya bagi saya bahwa Anda telah memahami fundamental di sini dengan cukup baik, dan jawaban singkatnya adalah bahwa jika Anda menggunakan proxy dengan alamat publik, Anda tidak perlu NAT - untuk protokol yang dimediasi oleh proxy .

Namun, ada lebih banyak protokol di surga dan bumi daripada yang diimpikan dalam filosofi Anda ; tidak semua dari mereka proxiable, dan proksi tidak ada bahkan untuk semua yang ada, jadi NAT adalah cadangan berguna bagi mereka.

Sunting : Proxy adalah perangkat komputasi yang berfungsi pada level aplikasi. Proxy HTTP menerima permintaan HTTP untuk situs jarak jauh, dan seperti yang Anda tunjukkan, ia pergi ke situs itu sendiri dan membuat permintaan, dan meneruskan jawabannya kembali ke klien yang meminta. Tetapi harus memahami HTTP pada tingkat terperinci untuk melakukan ini.

Demikian pula, Anda dapat menulis proksi FTP, tetapi harus memahami rincian perintah MKD, DELE, LIST, dan sejenisnya protokol ftp, agar dapat mem-proksi permintaan klien dengan benar. Proksi apa pun yang ingin bekerja secara transparan umumnya harus memahami secara mendalam internal protokol untuk mem-proxy protokol itu.

SOCKS sampai batas tertentu merupakan pengecualian terhadap aturan ini, tetapi itu karena protokol SOCKS menempatkan antarmuka yang lebih umum untuk proxy, yang mengharuskan setiap klien untuk SOCKSified, dan karena itu mampu membuat permintaan yang tepat dari proxy SOCKS untuk mengatur tingkatkan jenis proksi yang diperlukan, yang tidak sepenuhnya transparan.

MadHatter
sumber
Apa yang Anda maksud dengan "Protokol yang tidak dapat ditembus"?
Suraj
@ MadHatter: Apa yang Anda maksud dengan tidak proxiable? Bukankah cukup memiliki proxy ip sebagai gateway default?
Ashwin
Untuk meningkatkan aspek lain: Untuk pengguna non-teknis, NAT harus bekerja di luar kotak (secara transparan) sementara proksi harus "dipasang" di sisi klien.
Tidak ada yang
@ Tidak Ada - tidak juga. Proxy transparan cukup di mana-mana, dan tidak membutuhkan konfigurasi pada klien.
EEAA
2
@ Tidak ada - pemahaman Anda salah. NAT dan proxy (transparan atau tidak) adalah teknologi yang sama sekali berbeda.
EEAA