Les dessous d’une connexion ADSL

 

 

 Comment circulent les informations entre un client haut débit et le reste du monde ? Ce n’est pas si évident que ça. Cet article a pour but de détailler un peu la chaîne entre votre ordinateur et le réseau de votre fournisseur d’accès.
Les dessous d’une connexion ADSL

7 avril 2004

Un lien point à pointAvant tout, il est fondamental de comprendre trois choses :

  le flux IP entre un utilisateur et le réseau de son FAI passe par un lien PPP. Point to Point Protocol a été conçu pour pouvoir transporter un flux de type IP par exemple, sur un support matériel qui n’est pas conçu pour supporter un réseau, comme une liaison série (RS 232 ou USB), une ligne téléphonique analogique... Par extension, PPP a été implémenté sur des couches réseau comme Ethernet (PPP over Ethernet) ou ATM (PPP over ATM).
  une connexion PPP, c’est une connexion PPP. Qu’elle soit établie sur une liaison série, une ligne téléphonique analogique, "over Ethernet", "over ATM" ou "over" n’importe quoi d’autre, si le support du dessous change, ce qu’elle va transporter reste identique : une couche IP, qui elle-même portera TCP, UDP, ICMP, qui eux-mêmes porteront HTTP, SMTP, POP3, IMAP4 etc.
  l’utilisateur aura accès à l’internet depuis le réseau de son FAI et seulement depuis celui-ci. En effet, tout le flux IP entre l’utilisateur et le reste du monde passera par le réseau du FAI. Ceci reste vrai quel que soit le type de connexion utilisé (RTC, NUMERIS, ADSL, câble...),Un traceroute le montre à l’évidence.
Le lien PPP n’est autre qu’un "bout de fil" qui permet à l’abonné de se connecter au réseau de son FAI, presque de la même manière que s’il connectait sa machine à un routeur chez son FAI avec un bout de câble RJ 45.

Voici un exemple à partir d’une connexion RTC Free :

  Un traceroute vers www.grenouille.com :

 debian :# traceroute www.grenouille.com 
traceroute to grenouille.com (213.186.35.33), 30 hops max, 38 byte packets
1 192.168.254.254 (192.168.254.254)...
2 montpellier-6k-1-a5.routers.proxad.net (213.228.12.62) ...
3 cbv-6k-1-a0-s.routers.proxad.net (213.228.2.253)...
4 th2-6k-1-a6.routers.proxad.net (213.228.3.12)...
5 ge.p11.molosse.routers.ovh.net (213.186.32.241)...
6 ge.p11.brutus.routers.ovh.net (213.186.32.149)...
7 ns351.ovh.net (213.186.35.33)...
debian :#

  Un traceroute vers
www.ibm.com :
 debian :# traceroute www.ibm.com traceroute : Warning :  
www.ibm.com has multiple addresses ;using 129.42.17.99
traceroute to www.ibm.com (129.42.17.99), 30 hops max, 38 byte packets
1 192.168.254.254 (192.168.254.254)...
2 montpellier-6k-1-a5.routers.proxad.net (213.228.12.62) ...
3 cbv-6k-1-a0-s.routers.proxad.net (213.228.2.253)...
4 prs-b1-geth14-1.telia.net (213.248.71.13)...
5 prs-bb2-pos0-3-0.telia.net (213.248.70.9)...
6 ldn-bb2-pos7-0-0.telia.net (213.248.65.113)...
7 nyk-bb2-pos6-0-0.telia.net (213.248.65.94)...
8 nyk-bb1-pos0-0-0.telia.net (213.248.80.133)...
9 nyk-i1-pos3-0.telia.net (213.248.82.14)...
10 so-0-1-0.edge1.NewYork1.Level3.net (209.244.160.161)...
11 ge-2-1-0.bbr1.NewYork1.Level3.net (64.159.4.145)...
12 so-0-0-0.mp1.Denver1.Level3.net (64.159.4.226)...
...

Nous voyons bien que pour aller chez OVH comme pour aller chez IBM, les trois premiers "hops" sont identiques

La même chose, depuis la même prise téléphonique, mais avec une connexion Wanadoo :

 debian :# traceroute www.grenouille.com  
traceroute to grenouille.com (213.186.35.33), 30 hops max, 38 byte packets
1 nsmon114.francetelecom.net (193.251.96.142)...
2 GE1-1-102.ncmon302.Montpellier.francetelecom.net (193.251.121.34)...
3 pos6-0.nrlyo202.Lyon.francetelecom.net (193.252.101.26)...
4 193.252.103.110 (193.252.103.110)...
5 193.252.103.117 (193.252.103.117)...
6 193.252.103.253 (193.252.103.253)...
7 th2-6k-1-a6.routers.proxad.net (213.228.3.12)...
8 ge.p11.molosse.routers.ovh.net (213.186.32.241)...
9 ge.p11.brutus.routers.ovh.net (213.186.32.149)...
10 ns351.ovh.net (213.186.35.33)...

debian :# traceroute www.ibm.com
traceroute : Warning : www.ibm.com has multiple addresses ;
using 129.42.19.99
traceroute to www.ibm.com (129.42.19.99), 30 hops max, 38 byte packets
1 nsmon114.francetelecom.net (193.251.96.142)...
2 GE1-1-102.ncmon302.Montpellier.francetelecom.net (193.251.121.34)...
3 pos6-0.nrlyo202.Lyon.francetelecom.net...
4 193.252.103.110 (193.252.103.110)...
5 pos9-0.ntsta202.Paris.francetelecom.net...
6 193.251.126.158 (193.251.126.158)...
7 Level.GW.opentransit.net (193.251.240.214)...
8 ae-0-17.mp1.Paris1.Level3.net (212.73.240.97)...
9 so-3-0-0.mp1.London2.Level3.net (212.187.128.46)...
10 so-1-0-0.bbr1.Washington1.Level3.net (212.187.128.138) ...
11 so-0-0-0.mp1.Denver1.Level3.net (64.159.4.226)...

Ici, ce sont les quatre premiers "hops" qui sont identiques.

Nous pourrions recommencer la démonstration à l’infini, dans le premier cas, nous constaterons que nous passons toujours par le réseau Proxad et dans le second cas par le réseau France Télécom.

Donc, quel que soit le mode de connexion, l’abonné établit un lien PPP entre sa machine locale et un serveur situé dans le réseau de son FAI. Ce lien PPP va permettre d’intégrer la machine de l’abonné dans le réseau du FAI pendant toute la durée de sa connexion. Pour ce faire, plusieurs opérations sont réalisées :
  Etablissement du lien PPP,
  Authentification de l’abonné (nom d’utilisateur et mot de passe). Cette authentification se fait entre l’abonné et un serveur RADIUS (Remote Authentification Dial In User Service).
  Si l’authentification réussit, le serveur RADIUS va attribuer à l’abonné une adresse IP publique, et quelques informations nécessaires au bon fonctionnement en réseau : un masque de sous réseau, l’adresse IP de la passerelle par défaut et au moins une adresse IP de DNS.

Jusqu’ici, la procédure reste identique pour le RTC, Numeris, ADSL et même le câble. Les différences apparaissent sur la façon d’établir le lien PPP entre l’abonné et le FAI. Dans le cas d’une connexion par RTC, ça reste assez simple, puisque l’on utilise le réseau téléphonique de la même façon que si l’on téléphonait. En effet le modem RTC va créer un signal analogique modulé qui voyagera comme de la voix, sur le POTS (Plain Old Telephone Service). Dans le cas de l’ADSL, ça va être nettement plus compliqué.

Est-il nécessaire d’en savoir plus pour exploiter correctement sa connexion ? Si l’on ne veut pas s’occuper de ce qu’il se passe au dessous du niveau 3 (niveau IP), ce qui a été vu suffit, nous ferons abstraction du reste en disant que les opérateurs assurent pour nous un support à notre couche IP.
Le maillon faible de cette approche reste le raccordement du modem à la machine de l’abonné.
  Quel modem choisir, USB ou Ethernet ?
  Que faut-il installer et configurer suivant le cas ?

Autant de questions auxquelles nous ne pouvons pas répondre sans enfoncer un peu plus les mains dans le cambouis.

D’autres questions comme :
  Comment, à partir de son unique ligne téléphonique fixe, propriété de France Télécom, peut-on choisir son fournisseur d’accès ?
  Comment, sur une ligne prévue pour passer des signaux analogiques à 4 KHz maximum, peut-on atteindre des débits de plusieurs méga bits pas seconde, alors que les modems "classiques" plafonnent définitivement à 56 Kbps ?

Pourraient à la rigueur rester sans réponse, du moment que ça marche... Mais si vous êtes là, c’est que vous avez tout de même envie de comprendre.

Ceci nous amène à quelques considérations philosophiques...
Réfléchissez un peu et vous constaterez que dans la vie, nous passons notre temps à fonctionner sur des abstractions. Le bricoleur moyen, qui utilise sa perçeuse, sait qu’en appuyant sur la gachette, l’outil va tourner et percer. Si c’est un "bon" bricoleur, il saura même choisir l’outil et sa vitesse de rotation en fonction du matériau à percer et du diamètre de perçage. Mais est-il capable d’apréhender les lois de l’électromagnétisme grâce auxquelles le moteur tourne ? Peut-il décrire précisément comment l’énergie électrique nécessaire est produite et transportée jusqu’à sa prise murale ? Vous le voyez, le bricoleur moyen s’appuie sur pas mal d’abstractions pour faire ses trous.

Ici, nous serons amenés aussi à nous asseoir sur des abstractions. Le réseau qui assure le transport IP (et PPP) jusqu’au FAI le fait. Comment ? On dira que c’est une abstraction parcequ’il n’y a que le gestionnaire de ce réseau qui pourra nous le dire avec exactitude, s’il le veut bien. Mais encore une fois, nous sommes là pour essayer de comprendre...

Quelques mots à propos du "dégroupage"

Avant de rentrer plus dans les détails, il faut préciser quelques points importants.

La fameuse "boucle locale", c’est à dire l’ensemble des paires de cuivres qui relient les abonnés (téléphonie fixe) à leur centre de raccordement est et reste pour l’instant la propriété de France Télécom. Il s’en suit que quelque soit le fournisseur d’accès ADSL concerné, il devra emprunter cette boucle locale, qui ne lui appartient pas. Comment faire alors ? France Télécom propose actuellement trois solutions :

L’option 5
C’est encore la plus courante. France Télécom assure la totalité du transport entre l’abonné et le réseau du FAI. Nous verrons plus en détails cette possibilité un peu plus loin.

L’option 3
Un peu plus compliquée, C’est France Télécom qui gère le transport de l’information sur la boucle locale, puis, un transporteur tiers achemine les données entre le réseau du FAI et le centre de raccordement (pour aller vite). Très peu utilisée dans la pratique, et finalement très proche techniquement de l’option 5.

L’option 1
C’est celle dont on parle le plus actuellement, il s’agit du dégroupage. Dans ce cas, France Télécom se contente de louer l’accès à la boucle locale aux FAIs. Les fournisseurs sont donc maîtres de la qualité de leur prestation. Ils ne sont dépendants que de la qualité physique de la boucle locale.

Une première approche simplifiée

Commençons par un petit dessin sommaire :

 

Lorsque vous vous êtes abonné, vous avez reçu un modem (modem USB, Ethernet, modem/routeur, système plus complexe, comme par exemple la "freebox" de Free ADSL).

Il suffit de connecter ce modem à votre ordinateur d’une part et au réseau téléphonique d’autre part pour que le support physique de la connexion soit en place. Faire fonctionner le tout nécessite toutefois quelques configurations logicielles supplémentaires, de nature variable suivant le type d’équipement utilisé pour le raccordement. C’est un "détail" que nous approfondirons plus loin.

Les bouts de fils

Sur l’illustration ci dessus :

1. Représente le "bout de câble" qui relie votre machine au modem. Ce bout de câble peut être de type :

3. Représente le lien à fort débit (généralement de la fibre optique) qui véhicule les données numériques de l’ensemble des abonnés connectés au même DSLAM.

4.Est encore un lien à fort débit, qui relie le BAS au réseau de votre FAI. Ce lien va offrir des "tunnels", nous en verrons l’utilité plus loin.

5. Nous sommes maintenant sur le réseau du fournisseur d’accès.

Les équipements

DSLAM
Digital Subscriber Line Access Multiplexer. C’est une sorte d’entonnoir ou de gouttière, qui ramasse les flux numériques de chaque abonné et les fait converger par multiplexage sur un seul lien à fort débit.

BAS
Broadband Access Server. Là, il va falloir devenir un peu plus technique. Lorsque l’on a réussi une connexion avec son FAI, on a établi un lien PPP (Point to Point Protocol) entre son ordinateur et le BAS. Ce lien PPP va transporter les protocoles supérieurs IP, TCP, UDP ICMP... C’est au niveau du BAS que l’authentification du client va se faire et que les paramètres IP vont être transmis (serveur RADIUS, généralement).

Routeur
C’est l’équipement qui va assurer la liaison entre le BAS et le réseau du fournisseur d’accès. Nous avons vu que le lien n°4 relie le BAS à ce routeur et que les données circulent généralement dans un tunnel de type L2TP (Layer 2 Tunnel Protocol). Il s’agit de construire un VPN (Virtual Private Network : réseau privé virtuel) entre le BAS et le réseau du fournisseur d’accès.

Les protocoles du réseau

ATM
Les opérateurs de télécom aiment ATM (Asynchronous Transfert Mode). Pourquoi ? Parce que ATM est très bien adapté au transport de paquets commutés, avec des circuits (virtuels) point à point, avec une gestion de QoS (Quality of Service) fine, autant de services utiles pour passer sur le même réseau de la téléphonie, de la vidéo et des données informatiques.

Ethernet
Comparativement, les réseaux informatiques aiment Ethernet, qui n’a absolument rien à voir avec ATM, si ce n’est que, dans le modèle OSI à 7 couches, les deux protocoles pourraient à la rigueur être situés au même niveau (2). C’est en grande partie faux, ATM peut remplacer non seulement Ethernet mais aussi IP, voire TCP. Mais pour ce qui nous intéresse ici, ATM transportera de l’IP ou du PPP et donc jouera un rôle similaire à Ethernet.

Comment faire alors ?
ATM propose une couche d’abstraction : AAL5 (ATM Abstraction Layer 5) qui permet de transporter à peu près tout autre protocole de réseau. Ainsi, par le biais de cette couche d’abstraction, ATM peut transporter (avec tout ce qu’il y aurait au dessus) :
  de l’Ethernet (niveau 2),
  du PPP (niveau 2),
  de l’IP (niveau 3)...

Tout ceci a son importance pour bien comprendre toute la fine cuisine élaborée par les opérateurs.

Le tronçon 3 de l’illustration a comme support ATM.

Le tronçon 4 est spécifié comme du "réseau IP", mais par quoi est transportée la couche IP ? Seul l’opérateur du réseau pourra le dire. IP peut en effet être transporté par ATM, par Ethernet, par Ethernet sur ATM...

Ce qui peut paraitre surprenant, c’est que le tronçon 2 (entre votre prise téléphonique et le DSLAM) utilise également ATM. Autrement dit, votre modem ADSL est un terminal ATM.

Entre votre ordinateur et votre modem, ça pourra être :
  de l’Ethernet si :

Et par dessus tout ça...
On va construire un lien PPP, qui doit aller de votre ordinateur jusqu’au BAS, et qui sera porté :
  par Ethernet (PPPoE : PPP over Ethernet) entre votre machine et le modem, si la liaison en dessous est de type Ethernet,
  par ATM (PPPoA : PPP over ATM)entre votre machine et le modem, si la liaison en dessous est de type ATM.

Entre le modem et le BAS, ce n’est à la limite plus trop notre affaire, mais ça a des chances d’être du PPPoA.

Ce lien PPP transportera IP entre votre ordinateur et le BAS. Comme c’est du PPP, il y a une IP à chaque bout :
  la votre, généralement dynamique, qui vous est attribuée lors de l’établissement de la session PPP par le serveur d’authentification,
  à l’autre bout, celle qui va constituer pour vous votre passerelle par défaut (à ne pas confondre avec celle du routeur, situé plus loin, entre les tronçons 4 et 5 de l’illustration).

De façon plus détaillée...

Dans le cas de la collecte IP/ADSL (option 5, qui est en fait le plus complexe), c’est à dire le cas où FT prend totalement en charge l’acheminement des données depuis l’abonné jusqu’au FAI, tout ce qui est situé entre le modem de l’abonné et l’EAS (routeur assurant l’interconnexion avec le réseau du FAI) est géré par France Télécom. Dans le cas du dégroupage "total", la topologie ne peut être que simplifiée, puisque le FAI a un accès direct au DSLAM. Principe

Permettre la mise en place d’un lien PPP entre l’utilisateur (abonné ADSL) et le serveur d’accès de son FAI à travers le réseau France Télécom.

Ce lien PPP va être supporté par le résau ATM entre le modem de l’utilisateur et le BAS, puis par un tunnel L2TP (VPN) entre le BAS et le serveur du FAI. Cette méthode, à propri compliquée, va permettre à plusieurs FAI de proposer leurs services aux abonnés à une ligne fixe FT. En effet, il est possible de créer dans le réseu IP de FT autant de VPN qu’il sera nécessaire pour connecter les utilisateurs à leur FAI respectif.

La collecte ADSL a pour but de fournir la structure matérielle nécessaire à l’établissement du tunnel L2TP entre le BAS et les équipements du FAI concerné. Voyons ce que ça donne sur un petit dessin :

 

 

Quoi de plus ici ?
Toute la partie "Collecte IP/ADSL". Cette partie a pour objet de créer un tunnel VPN (Virtual Private Network) entre le BAS et le réseau du FAI et de faire passer dans ce tunnel le lien PPP qui relie le client à son fournisseur. Pratiquement, ça permet d’utiliser le réseau IP France Télécom pour relier le BAS aux installations du FAI, qui peuvent être distantes, comme si elles étaient directement raccordées au BAS.

Autrement dit :
  Le client est authentifié via le proxy RADIUS fourni par FT. Un proxy, encore appelé "serveur mendataire" va servir d’intermédiaire entre le client ADSL, quel que soit son fournisseur, et le serveur RADIUS de son fournisseur,
  le tunnel VPN est construit sur L2TP (Layer 2 Tunneling Protocol) entre le BAS et le LNS (L2TP Network Server) du fournisseur,
  ce tunnel va permettre le passage du lien PPP entre le client ADSL et le réseau du FAI, comme si ce lien était établi directement entre le BAS et le réseau du fournisseur, comme on l’a vu dans l’approche simplifiée.

L’EAS est un routeur fourni par France Télécom, qui permet d’interconnecter le réseau IP FT à celui du fournisseur.

Comme vous le voyez, c’est plus compliqué, mais ça ne change strictement rien au fonctionnement de la connexion, à partir de la couche IP.

Etablir PPP côté abonné

Nous savons maintenant que le lien PPP va voyager "over ATM" entre le modem et le DSLAM. Reste à savoir comment le faire voyager entre votre ordinateur (ou routeur domestique) et votre modem.

Vous avez un modem Ethernet
Pas le choix, ayant un lien Ethernet entre la machine et le modem, il faudra utiliser PPPoE.

Vous avez un modem USB
USB est une liaison série. Vous avez ici le choix de la couche de transport de PPP :
  créer une couche Ethernet sur la liaison série et utiliser PPPoE,
  créer une couche ATM sur la liaison série et utiliser PPPoA.

Ceci est possible par l’installation sur l’ordinateur du driver approprié (suivant la disponibilité pour un modem doné). Nous verrons les subtilités, mais l’un comme l’autre devraient arriver à des performances tout à fait comparables, avec, peut-être, un léger avantage pour PPPoA.

Les petits malins vont se dire : Puisqu’on est sur une liaison série (USB), pourquoi ne pas faire passer PPP directement dessus, puisque c’est possible, et éliminer une couche inutile ? Elle n’est pas inutile. PPP directement sur une liaison série ne sait pas attribuer d’adresse MAC (Medium Access Control) Adresse utilisable au niveau 2 du modèle OSI, et l’ajout de la couche Ethernet ou ATM contourne cette limite de PPP.

Vous avez un modem/routeur intégré
Vous aurez le choix que vous aura donné le constructeur (généralement PPPoE). Sur ce type d’équipement, vous ne pouvez rien installer, sauf les mises à jour "firmware" que le constructeur publiera éventuellement.

Remarques à propos du MTU

Parceque finalement, c’est là que vous êtes attendus. Maximum Transfert Unit, taille maximale de données utiles à transporter, est imposé par la couche 2 :
  Ethernet : 1500
  ATM : 9180

Comme nous devons passer du PPP, qui nécessite quelques octets pour sa structure (8 pour être exact) :
  si nous utilisons PPPoE, il nous restera un MTU de 1492,
  si nous utilisons PPPoA, compte tenu du fait qu’à un moment donné, nous nous retrouverons sur de l’Ethernet, nous pourrons avoir sans problèmes un MTU de 1500.

Les clients PPPoE de vos ordinateurs savent ça, et règleront votre pile IP de manière à disposer d’un MTU de 1492 au plus. Une fois encore, l’abstraction nous sauvera, il n’y aura pas de fuites...

Mais que se passe-t-il si vous partagez votre connexion sur un LAN (Local Area Network : Réseau local) ?

Vos machines du LAN utilisent Ethernet et un MTU de 1500. Les paquets totalement remplis seront trop gros pour passer sur PPPoE, il y aura une fuite à l’abstraction.

Pour contourner ce problème, il faudra agir sur tous les hôtes du LAN, soit de façon automatique :
  MTU Path Discovery est un moyen pour découvrir le bon MTU pour un chemin donné. Il faut que tous les noeuds du chemins sachent exploiter cette possibilité pour que ça fonctionne correctement,
  MMS Clamp, qui agit au niveau TCP (niveau 3) mais pas sur UDP. C’est un paramètre ajusté lors de l’établissement de la connexion TCP entre deux noeuds. Cette technique est utilisable sur des routeurs NAT, par exemple réalisés avec Linux et IPtables.

Soit manuellement en paramétrant chaque hôte du LAN pour fixer son MTU à 1492.

Dans le cas d’un partage, il sera alors plus efficace d’utiliser PPPoA chaque fois que ce sera possible.


Vocabulaire


  
ATM : Asynchronous Transfert Mode
  
AAL5 : ATM Abstraction Layer 5
  
EAS : Equipement d’Acces aux Services
  
L2TP : Layer two Tunneling Protocol
  
LAC : L2TP Access Concentrator
  
LNS : L2TP Network Server
 
 PAS : Plateforme d’Acces aux Services (Proxy RADIUS)
  
PPP : Point to Point Protocol
  
PPPoA : PPP over ATM
  
PPPoE : PPP over Ethernet
  
POTS : Plain Old Telephone Service
  
RADIUS : Remote Authentification Dial In User Service

Liens utiles

Infos diverses sur ADSL (en français)
  
ADSL68 : Créé pour aider les internautes " adsliens " qui ont des soucis avec leur accès haut débit,
  
Les technologies xDSL : Un cours sur xDSL,

Les RFC
  
RFC 1661 : Point to Point Protocol (en français),
  
RFC 2364 : PPPoA (en français),
  
RFC 2516 : PPPoE (en français),

Divers
  
Les bases de ATM : Quelques notions de base sur les réseaux ATM en français,
  
La loi des abstractions qui fuient : Un article plutôt philosophique sur l’imperfection de toutes choses, à rapprocher, dans une certaine mesure de la célèbre Loi de Murphy. Pas du tout technique, mais qui pourra vous aider à vous refroidir les neuronnes.

 

From : http://www.piaf.asso.fr