Top Banner
Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation Ing. Stefano Salsano e-mail: [email protected] AA2010/11 - Blocco nat Le slides di questo blocco sono quasi integralmente tratte da un seminario dell’Ing. Vito Ammirata, cui vanno i miei ringraziamenti
58

Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Dec 30, 2015

Download

Documents

rosaline-yroz

Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation. Ing. Stefano Salsano e-mail: [email protected] AA2010/11 - Blocco nat. Le slides di questo blocco sono quasi integralmente tratte da un seminario dell’Ing. Vito Ammirata, cui vanno i miei ringraziamenti. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Reti di Accesso e di TrasportoIntroduzione al NAT

Network Address Translation

Ing. Stefano Salsanoe-mail: [email protected]

AA2010/11 - Blocco nat

Le slides di questo blocco sono quasi integralmente tratte da un seminario dell’Ing. Vito Ammirata, cui vanno i miei ringraziamenti

Page 2: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 3: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 4: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

O meglio… CERCA di non modificare

Page 5: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 6: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 7: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 8: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 9: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 10: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 11: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 12: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

SIP: Source IP address, DIP: Destination IP, Sport: Source Port

Page 13: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 14: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 15: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 16: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 17: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 18: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 19: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 20: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 21: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 22: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 23: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 24: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 25: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

O meglio… non dovrebbe risentire

Page 26: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 27: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 28: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 29: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 30: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 31: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 32: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 33: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 34: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 35: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 36: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 37: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 38: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 39: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 40: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 41: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 42: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 43: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 44: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 45: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 46: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 47: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 48: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 49: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 50: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation
Page 51: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Classificazione dei NAT relativamente alla “apertura”

• I Nat si differenziano a secondo delle possibilità di accesso che offrono alle connessioni “entranti”

• È in realtà difficile fornire una classificazione semplice e completa di tutti i possibili NAT

• Nella RFC 3489 “STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)” i NAT vengono classificati in:– Full cone– Restricted Cone– Port restricted Cone– Symmetric

Page 52: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Classificazione dei NAT relativamente alla “apertura”

• Full Cone: A full cone NAT is one where all requests from the same internal IP address and port are mapped to the same external IP address and port. Furthermore, any external host can send a packet to the internal host, by sending a packet to the mapped external address.

• Restricted Cone: A restricted cone NAT is one where all requests from the same internal IP address and port are mapped to the same external IP address and port. Unlike a full cone NAT, an external host (with IP address X) can send a packet to the internal host only if the internal host had previously sent a packet to IP address X.

• Port Restricted Cone: A port restricted cone NAT is like a restricted cone NAT, but the restriction includes port numbers. Specifically, an external host can send a packet, with source IP address X and source port P, to the internal host only if the internal host had previously sent a packet to IP address X and port P.

• Symmetric: A symmetric NAT is one where all requests from the same internal IP address and port, to a specific destination IP address and port, are mapped to the same external IP address and port. If the same host sends a packet with the same source address and port, but to a different destination, a different mapping is used. Furthermore, only the external host that receives a packet can send a UDP packet back to the internal host.

Page 53: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Classificazione dei NAT relativamente alla “apertura”

• La classificazione contenuta nella RFC 3489 non riesce a tener conto di tutte le possibilità. La RFC 4787 (Network Address Translation (NAT) Behavioral Requirements for Unicast UDP) ne propone una più complicata

• Tra l’altro la RFC 3489 è stata sostituita dalla RFC 5389 “Session Traversal Utilities for NAT (STUN”

Page 54: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Comunicazioni attraverso i NAT

• L’apertura o meno di un NAT influenza le possibilità di comunicazione degli host che stanno dietro ad un NAT.

• Nelle comunicazioni client-server, quando il server si trova su IP pubblico e il client dietro un NAT, non ci sono problemi particolari (specialmente con TCP).

• Il problema riguarda le comunicazioni “end-to-end” (ad esempio per flussi UDP multimediali) che coinvolgono host dietro ai NAT. Se entrambi gli host sono dietro ai NAT, in certi casi non è possibile stabilire delle comunicazioni dirette.

Page 55: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Esercizio• Da svolgere possibilmente in gruppi di 4/5 persone

• Realizzare una comunicazione client server simmetrica su UDP attraverso NAT

• Ossia il client (su rete privata) deve inviare un pacchetto UDP contenente la stringa “Echo request”, con porta UDP sorgente X (X a piacere) e mettersi in ascolto sulla stessa porta UDP X

• Il server è in ascolto sulla porta UDP 30000 e risponde con un pacchetto UDP contenente la stringa “Echo reply” con porta UDP di destinazione uguale alla porta UDP sorgente del pacchetto “Echo request ricevuto”

• Verificare con TCP dump / Wireshark la conversione NAPT tra il dominio interno e quello esterno

Page 56: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Esercizio

C

NAT

S

Echo request

Echo request

Echo reply

Echo reply

UDP DPort: 30000

UDP SPort:X

Private IPaddresses:192.168.1.x

You can use public IP addresses or other

private IP addresses:10.0.1.x

Internal Address RealmExternal Address Realm

Page 57: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Esercizio• Potete scegliere la piattaforma su cui realizzare

l’esercizio, ad esempio (ma senza voler limitare la vostra fantasia):– Netkit, con realizzazione dei client e dei server in C o in Pyton– 3 PC di cui uno linux fa da NAT e due implementano client e

server in JAVA (quindi possono essere windows o linux)– 3 PC come sopra e il PC che fa da NAT è un PC windows su cui

è abilitata la condivisione della connessione (ad esempio potete condividere una connessione wifi sul lato “esterno” con uno o più PC “interni” collegati alla scheda ethernet

Page 58: Reti di Accesso e di Trasporto Introduzione al NAT Network Address Translation

Esercizio• Estensioni opzionali:

– Verificare che di tipo di NAT si tratta, provando dal server a rispondere con pacchetti verso la stessa coppia IP dest / UDP dest, ma con porta sorgente UDP diversa.

– Verificare dopo quanto tempo scade il timeout nel NAT, rispondendo al client con un tempo di ritardo crescente