Carrier Grade NAT

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Carrier Grade NAT en IPv4.

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.

Fonctionnement[modifier | modifier le code]

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].

La RFC 6598 réserve le bloc d'adresses 100.64.0.0/10 pour l'utilisation à l'intérieur du réseau de l'opérateur.

Inconvénients du CGN[modifier | modifier le code]

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èmes 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 sera notamment le cas des tunnels GRE (protocole 47) et 6in4 (protocole 41). Teredo est également concerné[11].

L'enregistrement des adresses IP ne permettrait 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[modifier | modifier le code]

Carrier Grade NAT en IPv4. Le CGN sert également de passerelle 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[modifier | modifier le code]

Dual-Stack 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 (RFC 6333[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 (RFC 6333).

Notes et références[modifier | modifier le code]

  1. Large Scale NAT Architectures, Jeff Doyle, 3 septembre 2009
  2. Distributed NAT for broadband deployments post IPv4 exhaustion, Internet Draft, A. Durand, février 2008
  3. RFC 6887 Port Control Protocol (PCP), avril 2013
  4. Christian Jacquenet, « Zero Addresses, One Solution, Two Problems », IETF Journal,‎ mars 2011
  5. Large Scale NAT(LSN), T.Nishitani et al, IETF 75, août 2009
  6. a et b Can Large Scale NAT Save IPv4?, Jeff Doyle, 4 octobre 2010
  7. (en) P. Srisuresh, B.Ford, « Unintended Consequences of NAT Deployments with Overlapping Address Space », Request for comments no 5684, février 2010.
  8. Distributed NAT for broadband deployments post IPv4 exhaustion Internet Draft 2008
  9. a, b, c et d RFC 6269 : Issues with IP Address Sharing, M. Ford et al, juin 2011
  10. IETF NAT tutorial, Dan Wing, IETF 78, mars 2010
  11. Assessing the Impact of NAT444 on Network Applications, Internet Draft, C. Donley et al, octobre 2010
  12. An Incremental Carrier-Grade NAT (CGN) for IPv6 Transition
  13. (en) A. Durand et al., « Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion », Request for comments no 6333, août 2011.

Lien externe[modifier | modifier le code]

  • RFC 7021 Assessing the Impact of Carrier-Grade NAT on Network Applications, septembre 2013