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.

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

Commutation de circuit

Un exemple simple de réseau de circuit :

Un commutateur électrique qui allume ou éteint une ampoule créant et réservant ainsi un circuit en continu. :-)

Le téléphone un exemple type de réseau par 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.

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 la communication simultanée et différenciée. Le circuit par commutation de circuit planifie et maintien le circuit ouvert entre le point A et le point B, tout le temps de la communication.

Par exemple, les propos de A destinés à un point F seraient alors mêlés à tous les propos simultanés des point C ou D qui seraient 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 côtoient 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 nœud d'échange

C'est le rassemblement dans un bâtiment de toutes les lignes d’interconnexion 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 vidéo, où on a besoin d'un flot en continue, avec un réseau qui fonctionne 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 vidéo sans interruption.

Le routeur pour téléphone.

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

Les ports standardisés des serveurs.

  • Port 53 = DNS (l'annuaire)

Si vous enlevez le DNS, vous êtes obligé de taper les adresses des machines

  • Port 80 = le web
  • Port 443= le web chiffré
  • Port 25 = l'envoie du mail
  • Port 110 = sert à relever une boîte au lettre
  • Port 179 = BGP (routage)

C'est le port utilisé par les routeurs pour se raconter leur vie.

  • etc…

Il y a en tout une centaine de ports réservés.

Traduction d'adresse

Les paquets sont généralement partis dans l'ordre, mais, du fait des aléas du réseau, ils arrivent dans un ordre différents.

Un réseau local privé

Chez nous, on peut avoir besoin d'adresses pour :

  • ordinateur
  • portable-un
  • portable-une
  • téléphone-un
  • téléphone-une
  • imprimante

Tout cela fait 6 adresses.
Multiplié par le nombre d'internaute, environ deux milliards, cela fait plus de 12 milliards d'adresses.
Il n'y a que 4 milliards d'adresses possibles sur Internet actuellement.

Pour traiter cela, on choisi des blocs d'adresses qui sont interdites sur le réseau.
Exactement comme il y a des numéros de téléphone que vous n'avez pas le droit d'avoir, par exemple, les 00 qui sont réservés pour l'international. Il n'y a pas non plus de numéros de téléphone par 99

Il y a des plages qui sont pas autorisées ou qui sont réservées à des usages internes.

De la même manière, sur le réseau, il y a des plages d'adresses qui sont interdites sur le réseau publique.
C'est à dire que les serveurs savent que s'il y a des paquets qui utilisent une de ces adresses, en provenance ou à destination, il doit les jeter.

Ces adresses sont correctes, juste c'est l'application d'une convention qui dit : “Ces adresses-là, on ne les distribue à personne.
Nous pouvons donc être certain qu'aucune de ces adresses ne sont utilisées par personne sur Internet, et c'est pourquoi nous pouvons les utiliser chez nous, en privé.

Nous pouvons ainsi relier nos six appareils connectés cnous en réseau privé avec pour chacun une adresse privée qui n'interférera jamais avec une adresse publique sur le web.
Il n'y a aucune route d'annoncée pour ces adresses et, sur le web, les serveurs vont immédiatement en jeter les paquets.

Une adresse privée ne donne aucun moyen de parler en public.

Exemple de requête depuis une adresse privée et traitée par notre BiduleBox

Depuis une adresse privée :

 192.168.0.42

Vers le port xxx (n'importe quoi) à destination d'une adresse publique :

 80.67.109.12.80

La BiduleBox note :

 6734 est 192.168.0.42.5076 (5076 est le port pour cette requête)

Puis elle efface les adresses privées et met la vrai adresse de la BiduleBox en spécifiant le numéro de port qu'elle a réservé pour le retour de la requête :

 80.67.176.93.6734 vers 80.67.169.12.80

Ce paquet à bien maintenant une adresse publique client (la demande) et une adresse publique serveur.

Le serveur à l'adresse publique :

 80.67.169.12.80

répond à l'adresse publique de la BiduleBox :

 80.67.176.93.6734

Pas du tout à destination de la machine qui a demandé la page.

La BiduleBox regarde ses notes et voit que le port 6734 est pour la machine 192.168.0.42.5076 et le lui remet.

La machine n'a pas connaissance des bidouilles faites, qu'on a changé le destinataire de la requête, changer l'expéditeur, tout bricolé dans le milieu, et pourtant, cela arrive tout bien au même endroit.

C'est ce que fait votre routeur personnel quand il permet du partage de connexions. Lui il a une vraie connexion, et il la prête aux machines qui sont connectées dessus.

Un modem, c'est juste une partie qui gère le traitement du signal, il n'a pas d'adresse IP.

Il y a un modem, et il y a un routeur. L'ensemble s'appelle d'ailleurs un Modem-Routeur.

Ça marche en tant que machine client, cela ne permet de stocké un serveur. L'adresse IP :

 192.168.0.42.80

n'est pas joignable de l'extérieur.

Ce petit artifice d'utilisation vous empêche d'avoir un serveur. Vous pouvez consulter des données à l'extérieur, vous ne pouvez pas faire consulter des données depuis l'extérieur à cette adresse-là :

 192.168.0.42.80

C'est ce que l'on appel de la traduction en entrée.

1)
des lieux intermédiaires au destinataire où aboutissent une ligne et d'où plusieurs lignes différentes peuvent être utilisées pour l'acheminement suivant
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'Accès Internet
5)
Global Internet Exchange
6)
Internet Exchange Point
7)
Accord Internet d'échange
internet/part1.txt · Dernière modification : 2010/10/25 08:30 de Thomas
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0