La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive il comportamento NAT (Network Address Translation) nei router che operano come CUBE (Cisco Unified Border Element), CME o CUCME (Cisco Unified Communications Manager Express), Gateways e CUSP (Cisco Unified SIP Proxy).
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni di questo documento si basano
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Network Address Translation è una tecnica comunemente utilizzata per tradurre gli indirizzi IP in pacchetti che passano tra reti utilizzando spazi di indirizzi diversi. Lo scopo di questo documento non è rivedere il NAT. Piuttosto, questo documento ha lo scopo di fornire una revisione completa di NAT come viene usato nelle reti VoIP di Cisco. Inoltre, l'ambito di applicazione è limitato ai componenti che costituiscono la tecnologia MS-Voice.
Figura 1
Nota: potrebbe essere utile pensare al NAT come un aiuto per instradare i pacchetti IP in entrata e in uscita dalle reti utilizzando lo spazio degli indirizzi privato. In altre parole, NAT rende instradabili gli indirizzi non instradabili
La Figura 2 mostra la topologia a cui si fa riferimento nelle illustrazioni che seguono.
Figura 2
Questo glossario è fondamentale per comprendere e descrivere NAT
Nota: questi termini possono essere facilmente accettati. Qualsiasi nota o documento su NAT farà sicuramente riferimento a tali informazioni
Questa è la forma più semplice di NAT, dove in ogni indirizzo interno viene convertito staticamente in un indirizzo esterno (e viceversa).
Figura 3
La CLI per la configurazione per la traduzione di cui sopra è la seguente
interface Ethernet0/0
indirizzo ip 10.1.1.3 255.255.255.0
ip nat inside
!
interfaccia Serial0/0
indirizzo ip 200.1.1.251.255.255.255.252
ip nat esterno <— Obbligatorio![2]
origine interna ip nat statica 10.1.1.2 200.1.1.2
origine interna ip nat statica 10.1.1.1 200.1.1.1
Nel NAT dinamico, ogni host interno è mappato a un indirizzo da un pool di indirizzi.
La seguente CLI illustra la configurazione di NAT dinamico
Quando il pool (di indirizzi IP) è più piccolo del set di indirizzi da tradurre, questa funzione si rivela utile.
La figura 4 illustra PAT.
Figura 4
L'implementazione di Cisco NAT è molto versatile con una vasta gamma di opzioni. Di seguito sono elencati alcuni miglioramenti, ma per ulteriori informazioni sull'elenco completo, visitare il sito Web all'indirizzo http://www.cisco.com/en/US/partner/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html.
Un foro nel linguaggio NAT si riferisce al mapping tra le tuple <indirizzo IP host, porta> e <indirizzo globale, porta globale>. Consente al dispositivo NAT di utilizzare il numero della porta di destinazione (che sarebbe la porta globale) dei messaggi in arrivo per mappare nuovamente la destinazione all'IP host e alla porta da cui ha avuto origine la sessione. È importante notare che dopo un periodo di non utilizzo si verifica il timeout dei fori e l'indirizzo pubblico viene restituito al pool NAT.
Quindi, quali sono i problemi e le preoccupazioni con NAT nelle reti VoIP? Bene, ricordate che il NAT di cui abbiamo parlato fino ad ora (lossemente chiamato NAT di base) traduce solo l'indirizzo IP nell'intestazione del pacchetto IP e ricalcola il checksum, ovviamente, ma la segnalazione VoIP porta gli indirizzi integrati nel corpo dei messaggi di segnalazione. In altre parole, al livello 5
Nella Figura 5 è illustrato l'effetto della mancata conversione degli indirizzi IP incorporati. La segnalazione della chiamata è stata completata, ma il proxy SIP presso il provider di servizi non è riuscito a instradare i pacchetti multimediali (RTP) all'indirizzo multimediale inviato dall'agente di chiamata.
Figura 5
Un altro esempio è l'uso del contatto da parte dell'endpoint SIP: in SDP per comunicare l'indirizzo a cui l'endpoint desidera ricevere i messaggi di segnalazione per le nuove richieste.
Per risolvere questi problemi, è disponibile una funzionalità denominata ALG (Application Layer Gateway).
Un GAL conosce il protocollo utilizzato dalle applicazioni specifiche che supporta (ad esempio SIP) e controlla i pacchetti del protocollo e "corregge" il traffico che attraversano. Per una buona descrizione di come i vari campi sono corretti per la segnalazione delle chiamate SIP, fare riferimento a http://www.voip-info.org/wiki/view/Routers+SIP+ALG.
Sui router Cisco, il supporto per ALG SIP è abilitato, per impostazione predefinita, sulla porta TCP standard 5060. È possibile configurare ALG per supportare porte non standard per la segnalazione SIP. Fare riferimento a http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr_nat/configuration/15-mt/nat-tcp-sip-alg.html.
Attenzione: Attenzione! Non esiste un RFC o un altro standard che specifichi quali campi incorporati devono essere tradotti per i vari protocolli VoIP. Di conseguenza, le implementazioni variano, a seconda dei fornitori di apparecchiature, determinando problemi di interoperabilità (e casi TAC).
Poiché i gateway, per definizione, non sono dispositivi ip-to-ip, NAT non è applicabile.
Questa sezione del documento esamina gli scenari di chiamata con CME per capire perché NAT deve essere utilizzato.
Scenario 1. Telefoni locali
Scenario 2. Telefoni (con indirizzi IP pubblici)
Scenario 3. Teleworker remoto
Nota: in tutti i casi, affinché l'audio fluisca, l'indirizzo IP del CME deve essere instradabile
In questo scenario (Figura 6), i due telefoni coinvolti nella chiamata sono telefoni magri con indirizzi IP privati.
Figura 6
Nota: ricordare che il telefono skinny collegato in una chiamata con un altro telefono skinny nello stesso sistema CME invia i pacchetti multimediali direttamente all'altro telefono; ad esempio, l'RTP da telefono locale a telefono locale NON passa attraverso CME.
Pertanto, NAT non è applicabile o richiesto in questo caso.
Nota: CME determina se i media (RTP) devono essere direttamente o meno basati sul fatto che i due telefoni coinvolti in una chiamata siano entrambi sottili e nello stesso segmento di rete. In caso contrario, CME si inserisce nel percorso RTP.
In questo scenario (Figura 7), la CME si inserisce nel flusso RTP in modo che il RTP dai telefoni venga terminato sulla CME. CME riprodurrà i flussi verso l'altro telefono. Dal momento che CME si trova sia sulla rete interna (privata) che su quella esterna e invia il suo indirizzo interno al telefono interno e l'indirizzo esterno (pubblico) al telefono esterno, NAT non è richiesto nemmeno in questo caso.
Tuttavia, le porte UDP/TCP (segnalazione e RTP) devono essere aperte tra il telefono IP remoto e l'indirizzo IP di origine CME. Ciò significa che i firewall o altri dispositivi di filtraggio sono configurati in modo da consentire le porte in questione.
Figura 7
Nota: si noti che i [messaggi] di segnalazione sono sempre terminati in CM
Questo si riferisce ai telefoni IP che si connettono a CME su una WAN per supportare i telelavoratori che hanno uffici remoti dal router CME. I progetti più comuni sono quelli che prevedono l'utilizzo di telefoni con indirizzi IP instradabili e telefoni con indirizzi IP privati.
Se entrambi i telefoni coinvolti nella chiamata sono configurati con indirizzi IP pubblici e instradabili, i supporti possono passare direttamente tra i telefoni (Figura 8). Pertanto, ancora una volta, non c'è bisogno di NAT!
Figura 8
In questo scenario, la chiamata viene segnalata tra telefoni skinny configurati con indirizzi IP privati. In generale, i router degli uffici domestici (SOHO) tendono a non essere "compatibili con SCCP". ossia incapace di tradurre gli indirizzi IP incorporati nei messaggi SCCP. Ciò significa che, al completamento della configurazione delle chiamate, i telefoni terminano con l'indirizzo IP privato dell'altro. Poiché entrambi i telefoni sono privati, CME segnalerà la chiamata tra di loro in modo che l'audio fluisca direttamente tra i telefoni. Ciò, tuttavia, determinerà un audio unidirezionale o non direzionale (poiché gli indirizzi IP privati, per definizione, non possono essere indirizzati a su Internet!), a meno che non venga implementata una delle seguenti soluzioni alternative:
· Configurazione di route statiche sui router SOHO
· stabilire una connessione VPN IPsec ai telefoni
Un modo migliore per risolvere questo problema sarebbe configurare "mtp". Il comando mtp garantisce che i pacchetti multimediali (RTP) provenienti dai telefoni remoti transitino attraverso il router CME (Figura 9).
Figura 9
La soluzione "mtp" è migliore a causa delle complicazioni legate all'apertura delle porte del firewall. I pacchetti multimediali che passano su una WAN possono essere ostruiti da un firewall. Ciò significa che è necessario aprire le porte del firewall, ma quali? Con il CME che trasmette l'audio, i firewall possono essere facilmente configurati per passare i pacchetti RTP. Il router CME utilizza una porta UDP specifica (2000!) per i pacchetti multimediali. Pertanto, permettendo solo i pacchetti da e verso la porta 2000, TUTTO il traffico RTP può essere passato.
La Figura 10 mostra come configurare il protocollo mtp.
Telefono 1
mac 1111.222.3333
tipo 7965
mtp
tasto 1:1
Figura 10
Non è tutto meraviglioso con mtp. In alcune situazioni il protocollo mtp potrebbe non essere opportuno
Pertanto, se si dispone di una configurazione WAN in grado di inoltrare pacchetti multicast e si possono consentire pacchetti RTP attraverso il firewall, è possibile decidere di non utilizzare il protocollo MTP.
Si noti che i telefoni SIP non sono stati menzionati negli scenari sopra riportati. Ciò è dovuto al fatto che se uno dei telefoni è un telefono SIP, CME si inserisce nel percorso audio. Questo diventa quindi lo scenario da locale a remoto descritto in precedenza, in cui NAT non è richiesto.
Il CUBE esegue intrinsecamente le funzioni NAT e PAT man mano che termina e rigenera tutte le sessioni. Il CUBE sostituisce il proprio indirizzo con l'indirizzo di qualsiasi endpoint con cui comunica, nascondendo (traducendo) in modo efficace l'indirizzo di tale endpoint.
Pertanto, NAT non è richiesto con la funzione CUBE. In uno scenario di servizio VoIP in cui è richiesto NAT sul CUBE, come descritto nella sezione successiva.
Una breve panoramica sul servizio di telefonia ospitata consentirà di comprendere le ragioni alla base di questa funzionalità.
Il servizio di telefonia ospitata è una nuova forma di servizio VoIP in cui la maggior parte degli attrezzi risiede nella sede del fornitore di servizi. Lavorano con i gateway domestici (HGW), che implementano solo NAT di base (ad esempio NAT a L3/L4). Ad esempio, Verizon installa il terminale di rete ottica (ONT), che fornisce i servizi FiOS a casa; la chiamata vocale viene segnalata utilizzando un processo SIP incorporato nel ONT. La segnalazione SIP viene effettuata attraverso la rete IP privata di Verizon ai nuovi soft switch, che forniscono il servizio e il controllo per stabilire comunicazioni vocali con altri clienti FiOS Digital Voice, o ai clienti telefonici tradizionali.
Tra i principali requisiti del provider per il servizio di telefonia ospitata vi sono:
Alla luce di quanto sopra, quali opzioni esistono per l'implementazione di tale servizio?
L'opzione NAT SBC soddisfa i requisiti del provider elencati sopra.
L'SBC NAT funziona come segue (Figura 11)
Figura 11
Di seguito è riportata la configurazione di esempio per un NAT SBC tipico.
ip nat sip-sbc
proxy 200.200.200.10 5060 15.3.33.22 5060 protocollo udp
call-id-pool call-id-pool
session-timeout 300
modalità allow-flow-around
porta di sostituzione
!
pool ip nat sbc1 15.3.33.61 15.3.33.69 netmask 255.255.0.0
pool ip nat sbc2 15.3.33.91 15.3.33.99 netmask 255.255.0.0
ip nat pool call-id-pool 1.1.1.1 1.1.255.254 netmask 255.255.0.0
ip nat pool outside-pool 200.200.200.100.200.200.200.200 netmask 255.255.255.0
ip nat interno elenco origini 1 pool sbc1 overload
ip nat interno elenco fonti 2 pool sbc2
ip nat lista origini esterne 3 pool esterno add-route
ip nat nell'elenco delle origini 4 pool call-id-pool
!
access-list 1 permesso 10.1.1.0 0.0.0.255
access-list 1 permesso 171.1.1.0 0.0.0.255
access-list 2 permesso 20.1.1.0 0.0.0.255
access-list 2 allow 172.1.1.0 0.0.0.255
access-list 3 allow 15.4.0.0 0.0.255.255
access-list 3 allow 15.5.0.0 0.0.255.255
access-list 4 allow 10.1.0.0 0.0.255.255
access-list 4 allow 20.1.0.0 0.0.255.255
La Figura 13 e la Figura 14 illustrano il flusso di chiamate in termini di traduzioni. Si rilevano i seguenti punti:
— SIP Phone A - 15.3.33.62.2001
— SIP Phone B - 15.3.33.62.2002
Figura 13
Figura 14
Nelle versioni precedenti (di SBC NAT), gli endpoint SIP dovevano inviare pacchetti keep-alive per tenere aperto il foro di registrazione SIP (per consentire il flusso out-in>nel traffico, ad esempio le chiamate in entrata). I pacchetti keep-alive potevano essere qualsiasi pacchetto SIP inviato dall'endpoint o dal registrar (soft switch). Le versioni più recenti eliminano questa necessità, in quanto la stessa NAT-SBC (a differenza dei soft switch) costringe gli endpoint a registrarsi di nuovo frequentemente per tenere i fori aperti.
Nota: I sintomi di un foro di registrazione scaduto possono essere oscuri, con errori casuali di segnalazione delle chiamate.
CUSP ha il concetto di rete logica, che si riferisce a una raccolta di interfacce locali per le quali vengono trattati in modo simile (ad esempio interfaccia, porta, trasporto per l'ascolto). Quando si configura una rete logica in CUSP, è possibile configurarla per l'utilizzo di NAT. Dopo la configurazione, SIP ALG viene abilitato automaticamente. Ciò è utile quando si utilizzano determinate reti logiche.
Un sintomo ovvio potrebbe essere che una chiamata non riesce in una o in entrambe le direzioni. I sintomi meno evidenti possono includere:
Di seguito sono riportati i risultati del debug per un paio di scenari. Per la maggior parte sono auto-esplicativi!
Di seguito sono riportate le righe di configurazione e debug per NAT di base.
Vengono mostrate le linee di output del comando debug ip nat sip. In questo caso, l'indirizzo IP incorporato in un pacchetto in uscita viene convertito.
Panoramica:
VoiP e NAT
Matrice funzionalità NAT
Attraversamento NAT ospitato:
NAT SBC
ALG.
CME
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
23-May-2017 |
Versione iniziale |