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?
sumber
Jawaban:
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
sumber
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.
sumber