Domanda semplice e la risposta è ovviamente il livello 3, ma possiamo dire che PAT sta lavorando sul livello 4 anche perché si occupa di numeri di porta che è una funzione di livello 4?
O è solo un protocollo di livello 3?
Domanda semplice e la risposta è ovviamente il livello 3, ma possiamo dire che PAT sta lavorando sul livello 4 anche perché si occupa di numeri di porta che è una funzione di livello 4?
O è solo un protocollo di livello 3?
Risposte:
NAT funziona al livello 3 perché sta modificando l'intestazione IP. Se si utilizza PAT, si potrebbe sostenere che funziona anche a livello 4 perché POTREBBE cambiare la porta di origine del pacchetto nel caso in cui non sia univoco.
È possibile assegnare NAT a diversi indirizzi interni solo a uno o pochi indirizzi esterni utilizzando una funzione chiamata Port Address Translation (PAT), che viene anche definita "sovraccarico", un sottoinsieme della funzionalità NAT.
PAT utilizza numeri di porta di origine univoci sull'indirizzo IP globale interno per distinguere le traduzioni. Poiché il numero di porta è codificato in 16 bit, il numero totale potrebbe teoricamente essere fino a 65.536 per indirizzo IP.
PAT tenterà di preservare la porta di origine originale, se questa porta di origine è già allocata PAT tenterà di trovare il primo numero di porta disponibile a partire dall'inizio del gruppo di porte appropriato 0-5111, 512-1023 o 1024-65535.
Se non esiste ancora alcuna porta disponibile dal gruppo appropriato e più di un indirizzo IP è configurato, PAT passerà all'indirizzo IP successivo e tenterà di allocare nuovamente la porta di origine originale. Questo continua fino a quando non si esauriscono le porte e gli indirizzi IP disponibili.
Quindi la porta verrà modificata solo nel caso in cui non sia univoca.
Questo link a Cisco è una buona panoramica di NAT.
Nat è un processo a più livelli. Comprende almeno i livelli 3 (IP) e 4 (TCP, UDP, ecc.). In alcuni casi può anche coinvolgere il livello 7 (applicazione).
Un NAT uno a uno deve almeno modificare gli indirizzi IP (livello 3), i checksum IP (livello 3) e i checksum TCP / UDP (livello 4).
Uno o più NAT hanno bisogno almeno di modificare gli indirizzi IP (layer 3), checksum IP (layer 3), porte TCP / UDP (layer 4) e checksum TCP / UDP (layer 4).
Un NAT così minimo romperà molte cose (ad esempio ftp in modalità attiva). La maggior parte dei NAT andrà quindi oltre le nozioni di base ed eseguirà anche la traduzione e il monitoraggio di almeno alcuni indirizzi IP nei dati dell'applicazione (livello 7).
Pensa a come questo deve essere coerente tra i pacchetti dallo stesso dispositivo ... almeno all'interno delle sessioni. Potresti quindi sostenere che dovresti posizionarlo al livello 5 o anche più in alto. Solo perché tende a modificare le intestazioni IP non dovrebbe escluderlo dalla considerazione dei livelli superiori. I livelli inferiori potrebbero non sapere nulla dei livelli superiori, ma i livelli superiori possono conoscere e manipolare quelli inferiori. In effetti, il livello 6 sembra appropriato. Da Wikipedia:
Le entità a livello di applicazione possono utilizzare sintassi e semantica diverse se il servizio di presentazione fornisce una grande mappatura tra di esse.
La mappatura tra gli indirizzi, anche se gli indirizzi sono al livello 3 anziché al livello 7, sembra una cosa da fare a livello di presentazione.