Ceci est une ancienne révision du document !


Qu'est-ce qu'Internet ?

Internet - Le routage

Comprendre ce que nous faisons lorsque nous utilisons internet.

Un réseau est le transport d'une information d'un point A à un point B via des nœuds d'acheminement 1) reliés entre eux par des lignes, directement entres eux ou bien par d'autres nœuds et lignes.

Internet utilise la commutation de paquet, par opposition à la commutation de circuit.

Commutation de circuit

Le téléphone crée une ligne en continuité, de nœud en nœud, du point A au point B et en réserve le circuit dans sa totalité tout le temps que durera l'appel. Ou bien encore comme un commutateur électrique qui allume ou éteint une ampoule. :-)

Le réseau par circuit du téléphone

  1. doit connaître l'intégralité des nœuds du réseau,
  2. créer une ligne unique, réservée,
  3. la maintenir constante entre tous les nœuds, tout le temps de la communication, que l'on se parle ou non.

Le réseau par circuit ne permet pas non plus la communication simultanée et différenciée. Sinon, pour le réseau du téléphone, les propos destinés à un point seraient alors mêlés à tous les propos simultanés des point ouverts et reliés au même circuit.
Ça arrive, hein ! :-).

Commutation de paquet

Pour acheminer un fichier, internet utilise une ligne du point A à un premier nœud et y envoie un paquet2) numéroté, sans planification pour la suite de l'acheminement jusqu'au destinataire.
Le nœud choisi va acheminer ce paquet vers un nouveau nœud de son voisinage immédiat, toujours sans planification de la totalité du chemin.
Ce nouveau nœud agira de même, les suivant aussi, jusqu'à destination.

Chaque paquet du même fichier passera ainsi entre des nœuds qui pourront être différents de ceux ayant traité le paquet précédent, avant de parvenir au point B qui se chargera lui de les remettre en bon ordre afin de recréer le fichier originel à la réception.

Le réseau par paquet achemine le fichier :

  1. en le découpant par paquets numérotés,
  2. sans prédictibilité3),
  3. avec un risque de perte occasionnel.

Cela permet des communications multiples et simultanées, dans un parfait mélange.

Par exemple, de A, lors de l'expédition en parallèle d'un fichier vers B et d'un autre vers F, les paquets de chacun des fichiers pourront être mêlés lors de leurs acheminement, mais arriveront bien différenciés à chacun de leurs ports respectifs.

Récapitulatif

  1. Sur le minitel par exemple, on ne pouvait se connecter que sur un site à la fois, alors qu'avec internet, on peut se connecter sur plusieurs sites web en même temps.
  2. Sur internet, on raisonne paquet par paquet et non par circuit en continue.
  3. Le même terminal (notre pc) peut communiquer en parallèle avec plusieurs serveurs différents sans que cela se mélange.
  4. Lorsque l'on télécharge un fichier, le serveur envoie de toutes petites parties du fichier total par paquets indépendants, les bouts sont numérotés pour être reconstruits à la destination et rendre le fichier dans sa totalité.
Sur internet, il n'existe pas de continuité dans le circuit utilisé. Les paquets sont acheminés indépendamment les uns des autres.

Nota historique

La commutation par paquet vient de France (Cyclade), internet qui l'utilise vient des États Unis.

Bases de routage

Comment chaque paquet se transmet.

Routage statique

On dit à une machine de communiquer tel fichier à tel autre machine par une sortie qui, généralement correspond à votre fournisseur d'accès. C'est le premier passage obligé.
En image, cela correspond au cheminement allant de la sortie d'une voiture depuis le garage jusqu'au portail avant la voie publique.

Une route s'écrit par exemple ainsi :

 192.168.0.0/24 via 1.2.3.4

Cela veut dire : Pour faire suivre à telle adresse IP, il faut faire suivre à telle personne.

En français : pour toutes les destinations vers machin jusqu'à truc, il faut passer par ça.

Pour un ordinateur, cela s'écrit en binaire ainsi :
de 3232235520 à 3232235775 via 16909056

Ce binaire pour vous dire que :

  • il faut savoir que les ordinateurs ne parlent qu'en chiffres,
  • les opérations de routage ne parlent que de chiffres plus petits que…(un chiffre) ou plus grand que…(un chiffre).

Very easy, is'nt ? ;-)

Donc, une route (nommée plus justement préfixe) c'est :

  • pour les adresses de tant à tant, c'est par là (car ils sont plus petits que…),
  • pour les adresses de tant à tant, c'est par là (car ils sont plus grands que…).

Conclusion

Avec le routage statique, chaque nœud du réseau connait les adresses précises de ses voisins et par quels voisins il faut passer pour joindre tel autre bout du réseau. C'est tout.

Exemple

Une adresse (une destination, ou une source, ou un nœud d'acheminement…), c'est par exemple :

 192.168.0.12

Une route ou un préfixe (ce qui désigne une plage d'adresses.) c'est :

 192.168.0.0/24

Une passerelle (Par comparaison avec le courrier, le bureau de poste) c'est :

 1.2.3.4

Les routeurs

Une BiduleBox, est un routeur simple qui a :

  1. 1 passerelle (celle du FAI4) ),
  2. 2 adresses ,
  3. 3 préfixes-routes.

Un routeur plus gros, qui correspondrait par exemple aux nœuds des acheminements sur internet, possède environ 150 passerelles et 300.000 préfixes.

Les préfixes connus de notre BiduleBox sont :

  • les IP (adresses) de nos pc reliés à la BiduleBox.
  • la Box
  • Le routeur du FAI
  • Internet

La Box a une première route :
192.168.0.0/24 C'est la route directe vers nos pc personnels.
Lorsque la Box reçoit des messages à destination de ces préfixes, elle sait que c'est de ce côté là qu'elle doit les router : direction la patte 2.

La Box a aussi un interlocuteur connu, c'est le routeur du FAI. Pour lui : direction la patte 1.

Ça veut dire que tout ce qui n'est pas pour la patte 2 (nos pc perso) sera pour la patte 1, le FAI et internet derrière.

Ainsi, dans notre routeur BiduleBox :

  1. Toute provenance vers les préfixes de nos pc iront patte 2.
  2. Toute provenance vers les 4 milliards de préfixes restant iront sur la patte 1 et internet.

Le nœud que représente notre routeur BiduleBox connait parfaitement les nœuds (nos pc et le routeur du FAI) de proximité immédiate, et seulement ceux-là. :-)

Le routage dynamique

Pour créer un routage dynamique, il est nécessaire de “nommer un réseau” (son AS : Autonomus System) c'est le numéro de l'opérateur.

Le calcul du routage se fait par un échange d'information des AS qui se disent mutuellement. Par exemple :
Je sais joindre telle adresse en trois sauts, via : tel AS → tel AS → tel AS.

Les routeurs passent leur vie à se partager les nouvelles routes pour joindre la même adresse.
En cas de pépin, ils précisent également la nouvelle route à emprunter.

C'est à dire qu'un routeur va apprendre des 5 routeurs qui le cotoient chacune des 300.000 routes qui lui sont proposées et va prendre la meilleure route possible entre chaque AS pour l'acheminement des paquets.

Le noeud d'échange

C'est le rassemblement dans un bâtiment de toutes les lignes d'interconnection des routeurs sur un seul point.

Autres noms :

Cela permet de se raconter un très grand nombre de routes avec un minimum de câbles de connection.

Chacun des opérateurs (AS) gère et connait l'acheminement dans son réseau. Lorsque deux AS s'échangent des routes possibles, on dit qu'ils sont interconnectés.

  1. Chacun annonce des routes
  2. Chacun apprend des routes.

Pour permettre le lancement des échanges, chaque routeur commence par annoncer :

  1. son nom (numéro),
  2. son adresse précise (IP),
  3. les plages d'adresses (les routes - prefixes) qu'il contient et gère directement via les BidulesBox qu'il fournit.

Immédiatement, tous les AS qui le cotoient savent :

  1. son nom
  2. son adresse précise,
  3. toutes les plages d'adresses qu'il contient

et lui communiquent les leurs.

Pour l'AS-1

  • Telle plage d'adresses.
  • Telle plage d'adresses.
  • Telle plages d'adresses.
  • ….

Pour l'AS-2

  • Telle plage d'adresses.
  • Telle plage d'adresses.
  • Telle plage d'adresses.
  • ….

etc.

C'est pas le meilleur des mondes possibles ça ? ;-)

Quelques termes

Peering

Le peering est l'échange des routes locales uniquement contenues dans chacun des AS interconnectés.

En règle générale, ce service (peering ou GIX OU IXP…) est gratuit.

Transit

Le Transit, c'est quand deux opérateurs (AS) s'annoncent des routes qui ne sont pas les leurs, ce sont des adresses qui ne sont pas à destination du second réseau mais vont transiter quand même par son réseau pour arriver à la sortie vers le réseau d'un autre AS, qui lui-même, éventuellement, sera utilisé comme transitaire, jusquà l'AS final qui distribuera le paquet à l'adresse dont il a la gérance.

Typiquement, entre un opérateur de France et un aux États Unis, les paquets vont systématiquement transiter par 3 ou 4 AS.

Ce service est systématiquement facturé.

Symétrie du trafic

La symétrie du trafic est la quantité envoyée entre les réseaux et ne peut pas être identique partout. Ce point n'a d'intérêt que commercialement. :-)

Par exemple un fournisseur de contenu comme Youtube sera davantage un expéditeur de paquets plutôt qu'un récepteur, sinon marginalement.

Des négociations privées sont en cours pour faire cesser ou bien pour monnayer ces trafics unilatéraux. Trafics qui n'ont par ailleurs aucune incidence technique, hein ! :-)

Volume

Le volume est la quantité de paquets traitée par une AS.

Par un lien sur lequel on va émettre des millions de videos tous les jours, les AS qui les véhiculent ont tout intérêt à s'interconnecter directement pour éviter les trafics monnayés.

Négociations des AS

Actuellement, les négociations entrent les AS portent sur ces trois points :

  1. Le peering
  2. La symétrie du réseau
  3. Le volume échangé.

Résumé

On route toujours des paquets.

Même pour lire une video, où on a besoin d'un flot en continue, avec un reseau qui fonctionnne par paquets, il suffit d'accumuler un premier nombre de paquets dans un buffer, puis de commencer la diffusion.
Au cas où un paquet vient à se perdre, le routeur a tout le temps d'en redemander un exemplaire pour conserver l'approvisionnement des paquets en continue et maintenir le visionnage de la video sans interruption.

Le routeur pour telephone.

Un routeur pour téléphone est épouvantablement plus compliqué car il doit prendre connaissance de tout le réseau avant de créer et contruire un circuit.

Le routeur pour internet.

Le routeur pour internet ne fait que deux choses, des milliards de fois mais seulement deux. Il décide d'envoyer le paquet reçu là ou là, selon l'adresse contenue qui est inférieure à ou supérieure à un chiffre donné. C'est tout.


Un routeur pour internet est universel.

  • Il se contente de transporter sans comprendre qui que quoi du paquet transporté.

Il n'y a pas de nature d'adresse.

  • Il n'y a pas des adresses d'un type pour serveurs et des adresses d'un type différent pour clients.

Le réseau transporte des paquets. Il ne sait pas qui est client et qui est serveur.
Par contrario, sur un réseau d'eau (qui est en fait un réseau par circuit) on sait qui est le serveur d'eau et qui est l'utilisateur client de l'eau.


Ce qui fait internet, ce sont les 40.000 AS qui sont interconnectés et qui utilisent le protocole IP pour nommer leurs adresses.
Leur travail le plus important consiste à éviter les doublons d'adresse entre eux tous. :-)

Tous les autres réseaux (IP ou autres) sont des réseaux privés qui utilisent des adresses qui ne sont pas celles utilisées par les AS.


On ne signifie jamais ce que contient les paquets.


Plusieurs machines connectées sur le réseau internet peuvent s'interconnecter en même temps. (Par exemple sur facebook). ;-)


Une machine peut être serveur et client, c'est à dire que l'on peut consulter plusieurs sites et envoyer des pages web à des consultants, tout cela en même temps.

La numérotation des paquets.

Pour savoir quel paquet va avec quel paquet et non pas un autre, le plus simple en informatique est de numéroter les paquets.

Pour savoir quel paquet va avec quel paquet et non pas un autre, le plus simple en informatique est de rajouter un numéro sur les paquets.
C'est ce que l'on appelle un numéro de port.
En fait le numéro de port est simplement un identifiant de la connection.
La machine indique : tel connection porte tel numéro chez moi.

Exemple avec une requête web :

Si nous tapons cette url que nous cherchons :
http://www.fdn.fr/minitel.avi

Voilà ce que cela donne sur le réseau :

 A5038 ---> D.53 : où habite www.fdn.fr ?

Ce qui veut dire :

  1. Ma machine emet depuis le port numéro (par exemple) : A5038 (quand on emet on utilise toujours un port au hasard)
  2. à destination du serveur D (comme dns)
  3. sur le port 53
  4. une requête qui dit : où habite http://www.fdn.fr

Si le serveur ne connait pas le port où il faut renvoyer la réponse, il va retourner la réponse sur la bonne machine, mais pas nécessairement pour la bonne question.

Le serveur répond :

 D.53 ---> A5038 : il est en 80.67.169.12 (W) (W pour web).

Soit :

  1. port du serveur : D.53
  2. port de la requête de ma machine : A5038
  3. IP de l'AS du destinataire : 80.67.169.12 (W) cette AS se chargeant de communiquer la requête à l'adresse finale dont elle possède la gérance.

La machine envoie alors par un autre port, le port 80 :

 A.5039 ---> W.80 : donne-moi le fichier /minitel.avi

Retour :

 W.80 ---> A.5039 : //tiens, gaffe, c'est long ! Prévoir plusieurs paquets, environ 600.000 !//

Résumé

Vu du réseau de transport, il n'y a pas de différence structurelle entre les paquets de la question et ceux de la réponse.
La seule différence qui se fera, c'est au niveau des ports utilisés.

  • Autant le numéro de port du client n'a pas d'importance au-delà de la connection établie, sinon pour permettre l'acheminement de la bonne réponse à la bonne question, pas plus.

Il peut donc être indifférent.

  • Autant le numéro de port du serveur est vital.

Par exemple :

Si les serveurs Web et DNS sont la même machine,

  • sur le port 53 c'est le port DNS des noms de domaine,
  • sur le port 80, c'est bien le port du serveur Web que j'interroge.

Il est donc important que les numéros de port des applications sur les serveurs, soient fixés.

1)
des lieux où aboutissent une ligne et où plusieurs lignes différentes peuvent être utilisées
2)
une partie du fichier total. Par rapport au téléphone, un paquet représente un millième de seconde de conversation
3)
en ne prenant connaissance de la disponibilité que d'un seul nœud d'acheminement, sans se préoccuper des nœuds suivants jusqu'à destination
4)
fournisseur d'Adresse Internet
5)
Global Internet Exchange
6)
Internet Exchange Point
7)
Accord internet d'échange
internet/part1.1287649548.txt.gz · Dernière modification : 2010/10/21 10:25 de smolski
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0