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 |
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 :#
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...
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.
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.
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.
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.
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).
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.
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.
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.
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