[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nat e kernel



Fabio ha scritto lo scorso 14/02/2006 16:51:
[...]
> 			   ----------------
> host1 -----------------| Firewall/        |ip pubblico
> host2------------------|Router            |-----------------   INTERNET
> 			   ----------------
> 
> il router fa il nat tra gli ip della lan e l'ip pubblico (SNAT).
> 
> se host1 e host2 fanno una "connessione"  UDP verso un host esterno 
> contemporaneamente, il router riceverà pacchetti udp di risposta con: ip 
> mittente = ip host esterno, e ip destinatario = ip pubblico (del router). 
> come fa a discriminare i pacchetti da inviare a host1 e host2? (cioè il 
> De-SNAT)?
> 
> Per le connessioni TCP, visto che il protocollo è connection-oriented, è 
> possibile identificare l'appartenenza di un pacchetto ad una connessione 
> aperta. ma per UDP?

?
Non ti lasciar fuorviare; anche nel caso del tcp è uno degli host (1 o
2) che per primo "chiede" una connessione ad un server pubblico; il NAT
traccia questa connessione (da host1/2 a server pubblico) e ne tiene
memoria per i successivi instradamenti; la stessa cosa può essere fatta
anche per un pacchetto udp, *ma* deve essere il NAT a farsi carico di
ciò - con il vincolo addizionale che non deve rimappare le porte
utilizzate in origine (e comunque, host1/2 deve iniziare una connessione
verso un server pubblico).

Tutto questo ovviamente e assolutamente AFAIK.



Reply to: