Perché è necessario nat quando il proxy è sufficiente? [chiuso]


8

La mia macchina è connessa in una LAN locale. per connettersi a Internet il traffico passa attraverso il server proxy. la mia comprensione del server proxy è che invia la richiesta per conto del mittente della richiesta originale. Quindi, quando il server risponde, invia la risposta al proxy pensando che sia il client. Il proxy quindi inoltra la risposta alla mia macchina.
Prendi il caso della traduzione dell'indirizzo di rete . La tua richiesta passa attraverso il router nat. Il router nat fornisce quindi un indirizzo IP pubblico e memorizza questa mappatura nella sua tabella. La risposta (dal server) viene inviata a questo indirizzo pubblico assegnato. Che il router nat risolve dal tuo indirizzo IP locale dalla tabella e inoltra la risposta al tuo computer.
La mia domanda perché Nat è richiesto quando il proxy stesso è in grado di mediare il traffico e fornire accesso a Internet?


1
Un chiarimento: il router NAT non fornisce un indirizzo IP pubblico. Riscrive semplicemente i pacchetti come se provenissero dal proprio IP pubblico anziché dall'IP del client. Quindi i pacchetti di risposta vengono rispediti all'IP esterno il NAT, che quindi riscrive nuovamente i pacchetti con l'IP del client e inoltra il pacchetto.
SEE

Risposte:


5

MadHatter ha scritto un'eccellente spiegazione per i non addetti ai lavori sulle differenze tra proxy e NAT.

Per maggiori dettagli tecnici ti consiglio di leggere il modello OSI e il modello TCP / IP. Nat opera successivamente al 3 del modello OSI (livello di rete, IP in questo caso) e i proxy generalmente operano al livello 7 (livello Applicazione, HTTP o qualunque cosa tu stia facendo il proxy).

NAT e proxy stanno anche cercando di risolvere problemi leggermente diversi. NAT nasconde un numero di IP privati ​​dietro un numero inferiore di IP pubblici per alleviare la carenza di indirizzi IP, mentre i proxy stanno creando un "punto di strozzamento" della rete per motivi di sicurezza, controllo o prestazioni


Mi è sempre stato detto che NAT funziona nei livelli 3 e 4
codeaviator il

@codeaviator un commento equo - rimando agli esperti di networkengineering.stackexchange.com :)
dwurf

15

Mi sembra che tu abbia compreso abbastanza bene i fondamenti qui, e la risposta breve è che se stai usando un proxy con un indirizzo pubblico, non hai bisogno di NAT - per i protocolli che sono mediati dal proxy .

Tuttavia, ci sono più protocolli in cielo e in terra di quelli che si sogna nella tua filosofia ; non tutti sono proxy e i proxy non esistono nemmeno per tutto ciò che lo sono, quindi NAT è un utile fallback per quelli.

Modifica : un proxy è un dispositivo di elaborazione che funziona a livello di applicazione. Un proxy HTTP riceve richieste HTTP per un sito remoto e, come hai sottolineato, si spegne su quel sito stesso ed effettua la richiesta e restituisce la risposta al client richiedente. Per farlo, deve comprendere l'HTTP a un livello dettagliato.

Allo stesso modo, potresti scrivere un proxy FTP, ma dovrebbe comprendere i dettagli di MKD, DELE, LIST e simili comandi del protocollo ftp, al fine di delegare correttamente le richieste del client. Qualsiasi proxy che vuole lavorare in modo trasparente in genere deve comprendere intimamente gli interni del protocollo al fine di delegare tale protocollo.

SOCKS è in qualche misura un'eccezione a questa regola, ma è perché il protocollo SOCKS mette in atto un'interfaccia più generale per il proxy, richiedendo che ogni client sia SOCKSified e quindi in grado di fare le giuste richieste del proxy SOCKS per impostare il tipo di proxy che ciascuno richiede, che non è esattamente trasparente.


Cosa intendi con "Protocolli che non sono suscettibili"?
suraj,

@MadHatter: cosa intendi con non procurabile? Non è sufficiente avere i proxy proxy come gateway predefinito?
Ashwin,

Per sollevare un altro aspetto: per l'utente non tecnico il NAT dovrebbe funzionare immediatamente (in modo trasparente) mentre il proxy deve essere "installato" sul lato client.
Nessuno il

@Nobody - non proprio. I proxy trasparenti sono abbastanza onnipresenti e richiedono una configurazione zero sul client.
SEE

2
@Nobody: la tua comprensione è sbagliata. NAT e proxy (trasparenti o meno) sono tecnologie completamente diverse.
SEE
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.