Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit le comportement NAT (Network Address Translation) dans les routeurs fonctionnant sous CUBE (Cisco Unified Border Element), CME ou CUCME (Cisco Unified Communications Manager Express), les passerelles et CUSP (Cisco Unified SIP Proxy).
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
La traduction d’adresses réseau est une technique couramment utilisée pour traduire des adresses IP sur des paquets qui circulent entre des réseaux en utilisant des espaces d’adressage différents. L'objectif de ce document n'est pas de réviser la NAT. Ce document vise plutôt à fournir une analyse complète de la NAT telle qu'elle est utilisée dans les réseaux VoIP de Cisco. En outre, le champ d'application est limité aux composants qui constituent la technologie MS-Voice.
Figure 1
Remarque : il peut être utile de considérer la NAT comme une aide pour acheminer des paquets IP vers et depuis des réseaux utilisant un espace d'adressage privé. En d’autres termes, la fonction NAT rend routables les adresses non routables
La Figure 2 illustre la topologie référencée dans les illustrations suivantes.
Figure 2
Ce glossaire est essentiel pour comprendre et décrire la NAT
Remarque : soyez à l'aise avec ces termes. Toute note ou document sur NAT est sûr de s'y référer
Il s’agit de la forme la plus simple de la NAT, dans laquelle chaque adresse interne est traduite statiquement en une adresse externe (et vice versa).
Figure 3
La CLI de configuration pour la traduction ci-dessus est la suivante
interface Ethernet0/0
ip address 10.1.1.3 255.255.255.0
ip nat inside
!
interface de série 0/0
adresse ip 200.1.1.251 255.255.255.252
ip nat outside <— Obligatoire ![2]
ip nat inside source static 10.1.1.2 200.1.1.2
ip nat inside source static 10.1.1.1 200.1.1.1
Dans la NAT dynamique, chaque hôte interne est mappé à une adresse d’un pool d’adresses.
L'ILC suivante illustre la configuration de la NAT dynamique
Lorsque le pool (d'adresses IP) est plus petit que l'ensemble d'adresses à traduire, cette fonctionnalité est pratique.
La Figure 4 illustre la PAT.
Figure 4
La mise en oeuvre de la fonction NAT de Cisco est très polyvalente avec de nombreuses options. Quelques-unes sont répertoriées ci-dessous, mais veuillez vous reporter à http://www.cisco.com/en/US/partner/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html pour obtenir des détails sur la liste complète des améliorations.
Un trou d'épingle dans le langage NAT fait référence au mappage entre les tuples <adresse IP hôte, port> et <adresse globale, port global>. Il permet au périphérique NAT d'utiliser le numéro de port de destination (qui serait le port global) des messages entrants pour mapper la destination vers l'IP hôte et le port qui a lancé la session. Il est important de noter que les trous d'épingle expirent après une période de non-utilisation et que l'adresse publique est renvoyée au pool NAT.
Quels sont donc les problèmes et les préoccupations liés à la fonction NAT dans les réseaux VoIP ? Rappelez-vous que la NAT dont nous avons parlé jusqu'à présent (appelée NAT de base) traduit uniquement l'adresse IP dans l'en-tête de paquet IP et recalcule la somme de contrôle, bien sûr, mais la signalisation VoIP transporte les adresses intégrées dans le corps des messages de signalisation. En d'autres termes, au niveau de la couche 5
La Figure 5 illustre l'effet de laisser les adresses IP intégrées non traduites. La signalisation d'appel a réussi, mais le proxy SIP du fournisseur de services ne parvient pas à acheminer les paquets de support (RTP) vers l'adresse de support envoyée par l'agent d'appel !
Figure 5
L'utilisation de Contact par le terminal SIP est un autre exemple : dans SDP pour communiquer l'adresse à laquelle le terminal souhaite recevoir des messages de signalisation pour les nouvelles requêtes.
Ces problèmes sont résolus par une fonctionnalité appelée passerelle de couche application (ALG).
Un ALG comprend le protocole utilisé par les applications spécifiques qu'il prend en charge (par exemple, SIP) et effectue l'inspection des paquets de protocole et la « correction » du trafic qui le traverse. Pour une description correcte de la façon dont les différents champs sont corrigés pour la signalisation d'appel SIP, consultez http://www.voip-info.org/wiki/view/Routers+SIP+ALG.
Sur les routeurs Cisco, la prise en charge du SIP ALG est activée par défaut sur le port TCP 5060 standard. Il est possible de configurer ALG pour prendre en charge des ports non standard pour la signalisation SIP. Reportez-vous à http://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr_nat/configuration/15-mt/nat-tcp-sip-alg.html.
Attention : Attention ! Il n'existe aucune RFC ou autre norme qui précise quels champs incorporés doivent être traduits pour les différents protocoles VoIP. Par conséquent, les mises en oeuvre varient d'un fournisseur d'équipement à l'autre, ce qui entraîne des problèmes d'interopérabilité (et des cas TAC).
Étant donné que les passerelles ne sont pas, par définition, des périphériques ip à ip, la fonction NAT n'est pas applicable.
Cette section du document examine les scénarios d'appel avec CME pour comprendre pourquoi la NAT doit être utilisée.
Scénario 1. Téléphones locaux
Scénario 2. Téléphones distants (avec adresses IP publiques)
Scénario 3. Télétravailleur distant
Remarque : dans tous les cas, pour que le flux audio puisse s'effectuer, l'adresse IP CME doit être routable
Dans ce scénario (Figure 6), les deux téléphones impliqués dans l'appel sont des téléphones minces avec des adresses IP privées.
Figure 6
Remarque : n'oubliez pas que le téléphone maigre connecté lors d'un appel à un autre téléphone maigre du même système CME envoie ses paquets multimédias directement à l'autre téléphone. C'est-à-dire que le protocole RTP entre les téléphones locaux ne passe PAS par CME.
Par conséquent, NAT n'est pas applicable ou requis dans ce cas.
Remarque : CME détermine si le support (RTP) doit être directement ou non basé sur le fait que les deux téléphones impliqués dans un appel sont minces et dans le même segment de réseau. Sinon, CME s'insère dans le chemin RTP.
Dans ce scénario (Figure 7), CME s'insère dans le flux RTP de sorte que le RTP des téléphones se termine sur le CME. CME réinitialise les flux vers l'autre téléphone. Comme CME est installé à la fois sur le réseau interne (privé) et sur le réseau externe et envoie son adresse interne au téléphone interne et son adresse externe (publique) au téléphone externe, la fonction NAT n'est pas requise ici non plus.
Notez cependant que les ports UDP/TCP (signalisation et RTP) doivent être ouverts entre le téléphone IP distant et l'adresse IP source CME. Cela signifie que les pare-feu ou autres périphériques de filtrage sont configurés pour autoriser les ports en question.
Figure 7
Remarque : notez que la signalisation [messages] se termine toujours sur CM
Il s'agit de téléphones IP se connectant à CME sur un réseau étendu pour prendre en charge les télétravailleurs dont les bureaux sont distants du routeur CME. Les conceptions les plus courantes sont celles impliquant des téléphones avec des adresses IP routables et des téléphones avec des adresses IP privées.
Si les deux téléphones impliqués dans l'appel sont configurés avec des adresses IP routables publiques, les supports peuvent circuler entre les téléphones directement (Figure 8). Par conséquent, une fois de plus, la fonction NAT n'est pas nécessaire !
Figure 8
Dans ce scénario, l'appel est signalé entre des téléphones minces configurés avec des adresses IP privées. En général, les routeurs de bureau à domicile (SOHO) ne sont pas compatibles avec le protocole SCCP. c'est-à-dire incapable de traduire les adresses IP intégrées dans les messages SCCP. Cela signifie qu'à la fin de l'établissement de l'appel, les téléphones se terminent par l'adresse IP privée de l'autre. Comme les deux téléphones sont privés, CME signale l'appel entre eux de sorte que le flux audio circule directement entre les téléphones. Cependant, cela aboutira à un son unidirectionnel ou non (puisque les adresses IP privées, par définition, ne peuvent pas être routées vers sur Internet !), à moins que l'une des solutions de contournement suivantes ne soit implémentée-
· Configurer des routes statiques sur les routeurs SOHO
· Établir une connexion VPN IPsec aux téléphones
Une meilleure façon de résoudre ce problème serait de configurer « mtp ». La commande mtp garantit que les paquets de média (RTP) des téléphones distants transitent par le routeur CME (Figure 9).
Figure 9
La solution « mtp » est meilleure en raison des complications liées à l'ouverture des ports de pare-feu. Les paquets multimédias circulant sur un réseau étendu peuvent être bloqués par un pare-feu. Cela signifie que vous devez ouvrir des ports sur le pare-feu, mais lesquels ? Avec CME relayant l'audio, les pare-feu peuvent être facilement configurés pour transmettre les paquets RTP. Le routeur CME utilise un port UDP spécifique (2000 !) pour les paquets multimédias. Ainsi, en autorisant simplement les paquets vers et depuis le port 2000, TOUT le trafic RTP peut être transmis.
La Figure 10 illustre la configuration de mtp.
Ephone 1
mac 1111.222.3333
type 7965
mtp
bouton 1:1
Figure 10
Tout n'est pas merveilleux avec mtp. Dans certains cas, mtp peut ne pas être souhaitable
Ainsi, si vous avez une configuration WAN qui peut transférer des paquets multicast et que vous pouvez autoriser des paquets RTP à travers votre pare-feu, vous pouvez décider de ne pas utiliser MTP.
Notez que les téléphones SIP n'ont pas été mentionnés dans les scénarios ci-dessus. En effet, si l'un des téléphones est un téléphone SIP, CME s'insère dans le chemin audio. Cela devient alors le scénario local à distant décrit précédemment, dans lequel la NAT n'est pas requise.
Le CUBE exécute de manière inhérente les fonctions NAT et PAT lorsqu'il termine et relance toutes les sessions. Le CUBE substitue sa propre adresse à l'adresse de tout terminal avec lequel il communique, masquant ainsi (traduisant) efficacement l'adresse de ce terminal.
Par conséquent, la fonction NAT n'est pas requise avec la fonction CUBE. Il existe un scénario de service VoIP dans lequel la NAT est requise sur le CUBE, comme décrit dans la section suivante.
Un bref aperçu du service de téléphonie hébergée vous aidera à comprendre la raison d'être de cette fonctionnalité.
Le service de téléphonie hébergée est une nouvelle forme de service VoIP dans laquelle la plupart des équipements se trouvent sur le site du fournisseur de services. Ils fonctionnent avec les passerelles domestiques (HGW), qui implémentent uniquement la NAT de base (c'est-à-dire la NAT au niveau des couches 3 et 4). Par exemple, Verizon installe le terminal de réseau optique (ONT), qui fournit des services FiOS à domicile ; l'appel vocal est signalé à l'aide d'un processus SIP intégré à l'ONT. La signalisation SIP est effectuée sur le réseau IP privé de Verizon vers de nouveaux commutateurs logiciels, qui fournissent le service et le contrôle pour établir des communications vocales à d'autres clients de voix numérique FiOS, ou à des clients de téléphone traditionnels.
Parmi les principales exigences du fournisseur pour le service de téléphonie hébergé figurent :
Compte tenu de ce qui précède, quelles sont les options disponibles pour mettre en oeuvre un tel service ?
L'option NAT SBC répond aux exigences du fournisseur énumérées ci-dessus.
Le SBC NAT fonctionne comme suit (Figure 11)
Figure 11
Voici un exemple de configuration pour un SBC NAT typique.
ip nat sip-sbc
proxy 200.200.200.10 5060 15.3.33.22 5060 protocole udp
call-id-pool call-id-pool
session-timeout 300
mode allow-flow-around
port de priorité
!
ip nat pool sbc1 15.3.33.61 15.3.33.69 netmask 255.255.0.0
ip nat pool 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 inside source list 1 pool sbc1 overload
ip nat inside source list 2 pool sbc2
ip nat outside source list 3 pool outside-pool add-route
ip nat inside source list 4 pool call-id-pool
!
access-list 1 permit 10.1.1.0 0.0.0.255
access-list 1 permit 171.1.1.0 0.0.0.255
access-list 2 permit 20.1.1.0 0.0.0.255
access-list 2 permit 172.1.1.0 0.0.0.255
access-list 3 permit 15.4.0.0 0.0.255.255
access-list 3 permit 15.5.0.0 0.0.255.255
access-list 4 permit 10.1.0.0 0.0.255.255
access-list 4 permit 20.1.0.0 0.0.255.255
Les figures 13 et 14 illustrent le flux d'appels en termes de traductions. Il convient de noter les points suivants :
— Téléphone SIP A - 15.3.33.62 2001
— Téléphone SIP B - 15.3.33.62 2002
Figure 13
Figure 14
Dans les versions précédentes (de la NAT SBC), les terminaux SIP devaient envoyer des paquets keep-alive pour maintenir le trou d'épingle SIP Registration ouvert (pour permettre au trafic sortant->entrant de circuler, par exemple des appels entrants). Les paquets keep-alive pouvaient être n'importe quel paquet SIP envoyé par le terminal ou le registrar (commutateur logiciel). Les versions récentes n'en ont pas besoin, le NAT-SBC lui-même (contrairement aux commutateurs logiciels) obligeant les terminaux à se réenregistrer fréquemment pour garder les trous d'épingle ouverts.
Note: Les symptômes d'un sténopé d'enregistrement expiré peuvent être obscurs, avec des échecs de signalisation d'appel aléatoires.
CUSP a la notion d'un réseau logique, qui se réfère à un ensemble d'interfaces locales qui sont traitées de la même manière pour (par ex. interface, port, transport pour écoute). Lorsque vous configurez un réseau logique sur CUSP, vous pouvez le configurer pour utiliser la NAT. Une fois configuré, SIP ALG est automatiquement activé. Cela est utile lorsque certains réseaux logiques.
Un symptôme évident peut être qu'un appel échoue dans une direction ou dans les deux. Les symptômes moins évidents peuvent inclure :
Les résultats du débogage pour quelques scénarios sont présentés ci-dessous. Elles sont pour la plupart explicites !
Les lignes de configuration et de débogage pour la NAT de base sont présentées ci-dessous.
Les lignes de sortie de debug ip nat sip sont affichées. Dans ce cas, l'adresse IP intégrée sur un paquet sortant est traduite.
Aperçu:
Voix sur IP et NAT
Matrice de fonctionnalités NAT
Traversée NAT hébergée :
NAT SBC
ALG :
CME
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
23-May-2017 |
Première publication |