- Carrier Grade NAT
-
Un Carrier Grade NAT, Large Scale NAT ou NAT44 est un NAT à grande échelle utilisé par un fournisseur d'accès à Internet dans le but de diminuer la quantité d'adresses IPv4 nécessaires aux clients, et ainsi faire face à l'épuisement des adresses IPv4.
Sommaire
Fonctionnement
Il consiste à distribuer des adresses privées à la passerelle des nouveaux clients au lieu d'adresse publique et à traduire ces adresses en adresses publiques vers Internet. La succession du NAT chez le client et chez l'opérateur est parfois désignée sous le nom de « NAT444 »[1].
Le CGN utilise la traduction de port, de sorte qu'une seule adresse publique est utilisée par de nombreux clients simultanément. Un certain nombre de portes TCP et UDP sont réservées pour chacun des clients. Compte tenu du fait qu'il existe 65535 numéros de ports possibles, et en supposant qu'une adresse publique est utilisée par 100 clients, chaque client dispose d'environ 650 numéros de port, c'est-à-dire autant de connexions simultanées possibles[2].
Pour permettre l'accès au trafic généré par le client, le forum UPnP développe une extension du protocole appelé Internet Gateway Device Protocol (en) (IGD) pour permettre l'ouverture de ports publics sur le CGN. L'IETF a créé un groupe de travail nommé Port Control Protocol (PCP)[3] dans le même but[4].
Bien qu'il réduise fortement le besoin d'adresse IPv4 publique, le CGN n'est pas un système de transition d'IPv4 vers IPv6 à proprement parler, mais il est utilisé en combinaison avec d'autres approches pour assurer la continuité de la connectivité avec l'Internet IPv4[5].
Inconvénients du CGN
Il est possible que certaines applications qui font usage de connexions initiées par des hôtes sur Internet, de tunnels ou de type p2p ne fonctionnent plus correctement avec ce système[6].
Il est possible que les plages d'adresses utilisées chez le client et chez le fournisseurs d'accès se chevauchent, ce qui crée des problème additionnels décrits dans la RFC 5684[7].
D'autre part, les plages d'adresses privées réservées par la RFC 1918 ne sont pas illimitées : le réseau 10.0.0.0/8 peut numéroter de 10 à 16 millions de passerelles, en fonction de l'efficacité dans la distribution des adresses, ce qui peut s'avérer insuffisant pour certains opérateurs[8].
Il n'existe pas de consensus le nombre minimal de ports à attribuer à chaque client. Un nombre trop faible nuirait aux applications qui ouvrent de nombreuses connexions simultanées[9], comme Google Maps[10].
La géolocalisation des utilisateurs finaux grâce à leur adresse IP est également affectée[9].
Les applications qui n'utilisent pas TCP, UDP ou ICMP seront bloquées par ce mécanisme[9]. Ce notamment sera le cas des tunnels GRE (protocole 47) et 6in4 (protocole 41). Teredo est également impacté[11].
L'enregistrement des adresses IP ne pemettrait plus d'identifier des utilisateurs individuels, les serveurs n'enregistrant généralement pas les numéros de ports utilisés par le client. Une alternative qui consisterait en l'enregistrement par le fournisseur d'accès à Internet de chaque flux représenterait une quantité considérable d'information à enregistrer et conserver. Ceci a des conséquences sur la capacité des services de police à identifier les auteurs de délits sur Internet[6],[9].
CGN pour la transition vers IPv6
Le CGN peut être utilisé pour une transition progressive vers IPv6 en encapsulant le trafic IPv6 dans un tunnel IPv4, dans un schéma similaire à 6rd[12].
CGN et DS-Lite
À l'inverse, le CGN est utilisé dans la technique Dual-Stack Lite pour encapsuler le trafic IPv4 dans un tunnel IPv6 entre la passerelle du client (CPE) et le CGN. Dans ce cas, il n'y a pas de succession de deux NAT, le CGN faisant office de NAT unique. Pour le trafic IPv4 encapsulé, le CGN identifie chaque client grâce à l'adresse IPv6 du CPE, le CPE n'a donc pas besoin d'adresse IPv4[13].
Ceci suppose que le réseau de l'opérateur est capable de transporter nativement le trafic IPv6. Il requiert des CPE compatibles avec cette technique. Ceux-ci doivent être configurés avec l'adresse IPv6 du CGN[13].
Notes et références
- Large Scale NAT Architectures, Jeff Doyle, 3 septembre 2009
- Distributed NAT for broadband deployments post IPv4 exhaustion, Internet Draft, A. Durand, février 2008
- Port Control Protocol (PCP) working group
- Zero Addresses, One Solution, Two Problems », IETF Journal, mars 2011 Christian Jacquenet, «
- Large Scale NAT(LSN), T.Nishitani et al, IETF 75, août 2009
- Can Large Scale NAT Save IPv4?, Jeff Doyle, 4 octobre 2010
- (en) P. Srisuresh, B.Ford, « Unintended Consequences of NAT Deployments with Overlapping Address Space », Request for Comments no 5684, février 2010.
- Distributed NAT for broadband deployments post IPv4 exhaustion Internet Draft 2008
- RFC 6269 : Issues with IP Address Sharing, M. Ford et al, juin 2011
- IETF NAT tutorial, Dan Wing, IETF 78, mars 2010
- Assessing the Impact of NAT444 on Network Applications, Internet Draft, C. Donley et al, octobre 2010
- An Incremental Carrier-Grade NAT (CGN) for IPv6 Transition
- Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion, Internet Draft, A. Durand et al, mai 2011
Wikimedia Foundation. 2010.