Home » Comment ça marche, Internet

Internet, les liens virtuels (9)

3 septembre 2010 9 commentaires
tags : , , ,
Download PDF

Comme on l’a déjà vu, internet est un monde peuplé de câbles divers et variés (cuivre, fibres …) ainsi que de quelques liaisons sans fil (wifi, satellite …) mais la logique du réseau en lui même n’est pas plate comme l’est l’infrastructure physique, loin s’en faut.

Il existe une infinité de mécanismes permettant de virtualiser des liens, si bien qu’aujourd’hui, la topologie logique d’un réseau telle qu’on la voit quand on l’étudie n’a pas grand chose à voir avec la réalité.

Avant d’aller plus loin, je dois vous parler des switchs. Dans les temps reculés de l’histoire des réseaux, on utilisait des hubs (bon, pas si reculé que ça, j’en ai encore un accroché à un mur dans mon sous sol).  Le principe etait simple, tout paquet arrivant sur le hub était immédiatement copié sur tous les ports pour aller vers toutes les machines qui se chargeaient de faire le tri. C’était pas le Pérou, du coup on a inventé le switch qui, lui, fait le tri et n’envoie a chaque machine que le trafic qui lui est réellement destiné.

Le hub, tout comme le switch, n’a (sauf exception) pas la moindre fichue idée de ce qu’est une adresse IP. Il ne fonctionne qu’avec les adresses MAC propres a chaque équipement. Lorsqu’une machine a un paquet pour une autre, elle lance a la cantonade (broadcast) un appel sur le réseau local « heyy, c’est quoi la mac qui utilise telle IP » et construit son petit paquet avec cette MAC. Le switch, quant a lui, connait toutes les macs présentes et sait que ce paquet ira sur tel port. Il sait aussi faire des choses magiques comme par exemple se virtualiser lui même.

Prenons un exemple tout bête. Lorsque vous branchez votre box ADSL, vous la reliez d’un coté a votre ordinateur et de l’autre a la prise de téléphone. La box agit, entre autre, comme un convertisseur de média entre l’ADSL utilisé par votre FAI et l’ethernet utilisé par l’ordinateur.

Imaginez maintenant que votre FAI arrive directement en ethernet chez vous (avec la fibre par exemple). Si la machinbox n’effectue aucune action intéressante, vous pouvez éventuellement brancher directement la fibre sur votre ordinateur. Mais si votre FAI ne vous octroie qu’une seule IP, vous aurez besoin de la machinbox pour faire du NAT. vous branchez donc la fibre a la box, la box a un switch et vos ordinateurs aussi.

Mais vous pouvez aussi brancher la fibre au switch et pas a la box. Du coup, vous vous dites que le trafic fait directement fibre -> ordinateur. Eh ben raté, votre switch peut tout a fait créer un réseau virtuel (VLAN) entre la fibre et la box et un second entre la box et les ordinateurs. Vu depuis votre chaise vous avez un réseau en étoile autour de votre switch, mais vu depuis l’extérieur, vos ordinateurs sont derrière la machinbox.

Abordons un exemple plus poilu. Vous avez crée votre petit réseau de voisinage dans votre bled et pour le raccorder à internet via la fédération FDN, vous devez tirer 120km de fibre a travers la foret des Landes pour aller jusqu’à un datacenter situé à Bordeaux.

Ça va vous couter les deux couilles, mais une entreprise locale est prête à financer une partie de l’opération si elle elle peut utiliser la fibre par la suite. Par contre, le milieu associatif, c’est pas trop son trip, elle, au bout, elle veut mettre Orange. Bon, l’erreur est humaine, il ne faut pas lui en vouloir.

Pas de problème monsieur, un switch à chaque bout de la fibre, un vlan pour le petit FAI, et un autre pour l’entreprise. Les flux de données emprunteront le meme chemin pendant un temps mais seront 100% isolés l’un de l’autre.

Un autre exemple de virtualisation très répandu, c’est L2TP. C’est l’un des protocoles qui, lorsque vous êtes (par exemple) abonné chez FDN, transportent vos données depuis votre modem ADSL jusqu’au coeur du réseau FDN. Vous n’avez strictement aucun moyen de savoir par ou passe votre trafic, ni géographiquement, ni du point de vue des opérateurs intermédiaires.

Il existe beaucoup d’autres moyens de virtualiser le réseau, la liste serait trop longue, mais il faut quand même que je vous parle des fameux VPN (parce qu’à la base, je ne voulais parler que de ça).

Pour bien comprendre le VPN, il suffit de faire comme si c’était un lien physique et bien réel. Vous êtes abonné chez votre FAI, mais pour éviter de vous faire trancher votre internet par HADOPI quand mamie télécharge Derrick, il vous faut une IP qui n’a pas un tatouage « français » sur la tête. Vous allez donc prendre votre pelle, votre pioche et un gros bateau et aller tirer votre fibre jusqu’à New York ou vous trouverez l’IP qui fera le bonheur de grand maman.

Ou alors, vous êtes plus pragmatique et vous faites un VPN. point de vue réseau, c’est strictement la même chose, à ceci prêt que le VPN sera toujours moins performant qu’une liaison directe puisque les données empruntent des chemins détournés.

En pratique, quand vous établissez un VPN, vous créez une carte réseau virtuelle dans l’ordinateur (et dans celui de l’autre coté) et un système de transport quelconque assure la création d’un câble virtuel entre les deux. Ce câble peu éventuellement être chiffré pour assurer la confidentialité des données (c’est d’ailleurs à ça que servaient les VPN au départ, cacher le contenu des transmissions aux opérateurs intermédiaires)

Le VPN le plus basique se bornera à ouvrir une connexion TCP entre votre ordinateur et un serveur VPN chez le fournisseur, mais il existe un tas de moyen vicieux et plus ou moins performant pour faire un VPN. Le lien virtuel peut être établi a peu près sur n’importe quoi, au travers de multiples connexions pouvant ressembler à une session de navigation sur le web pour tromper un firewall d’entreprise qui n’autorise que le web par exemple. On peut aussi utiliser le système DNS ou l’ICMP. Certains sont même allés jusqu’à créer des liens virtuels de ce genre ou les données sont transportées par pigeons voyageurs (système de transmission loin d’être inefficace point de vue débit) pendant que d’autres réfléchissent à la meilleure façon d’utiliser pastebin ou twitter pour la transmission.

Lorsque les gens qui veulent réguler et censurer internet auront compris ces principes, on aura fait un grand pas :)

9 Comments »

  • Sniper said:

    Merci pour tes articles, j’aime beaucoup

  • -Fred- said:

    Très intéressant oui.

    La solution m’intéresse pour mes propres besoins, à savoir disposer d’au moins une adresses IP fixe par exemple ou ne pas subir certaines limitations de mon FAI actuel.

    Ce que je comprend donc, c’est qu’il y a plusieurs possibilités pour mettre un VPN en œuvre.
    Il y a par contre plusieurs choses que je ne comprend pas ou pour lesquelles il me faudrait un éclairage supplémentaire :

    – Si j’ai bien compris, un VPN peut relier deux réseaux ou des machines sur des réseaux locaux à d’autres sous réseaux ou réseaux, c’est bien ça ?

    – Une machine locale peut-elle être joignable de l’extérieur à la fois « normalement », c’est à dire via la box et le NAT, et via un VPN ? Je présume que oui mais c’est un peu flou pour moi.

    – Une machine connectée à un VPN peut-elle obtenir une adresse IPv6, quand bien même elle serait connectée dans un réseau domestique avec une box classique ou un petit modem/routeur ? Encore une fois, j’imagine que tout est possible mais bon.

    – Côté matériel, ça suppose quoi en plus ? Ça doit dépendre des cas de figure mais si on veut juste connecter quelques machines locales à un VPN, doit-on simplement doit-on ajouter simplement le bout de configuration nécessaire dans chacune d’elles ou confier la tâche à un matériel dédié ?

    – Un VPN, c’est bien mais il faut trouver un réseau auquel se connecter virtuellement, non ?

    – Depuis le début de mon message, j’utilise uniquement le terme VPN (Virtual Private Network) et pas VLAN (Virtual Local Area Network). L’un englobe peut être l’autre, c’est flou pour moi. Est-ce que tu pourrais en donner les définitions et surtout les différences.

    En tout cas, je me répète mais c’est très intéressant !

  • Bruno (author) said:

    Toutes les réponses à tes questions tiennent dans « un VPN n’est jamais qu’un cable virtuel reliant deux endroits » :)

    Oui, tu peux relier deux réseaux, non la machine n’est plus joignable totalement via le nat puisqu’elle a sa route par défaut pointée sur le VPN (mais on peut jouer a coup de routes spécifiques), biensur qu’on peut faire de l’ipv6 sur un VPN si l’autre bout a de l’ipv6 à fournir, coté matos il faut quelque chose pour recevoir le bout du VPN. Si plusieurs machines doivent l’utiliser, c’est bien d’avoir une petite box pour le faire, mais sinon, le VPN peut tout a fait fonctionner de façon isolée sur un windows. Evidemment il faut trouver un réseau à qui se connecter et qui puisse router des IP .. sinon .. ca marche moins bien

    Et pour les VLAN, rien à voir, il s’agit uniquement d’une techno de virtualisation dans des switchs, ça se situe en dessous d’IP, jamais au dessus.

  • -Fred- said:

    Ok, merci pour tes précisions.

    Bon, je ne vais pas monopoliser ton sujet avec mon besoin perso et ses particularités sans doute toutes relatives.

    Ceci dit, les fournisseurs VPN que j’ai pu trouver sont plus axés anonymat qu’IPv6. Dans un autre article (dossier comment devenir son propre FAI #2), tu évoques une solution VPN à l’étude chez FDN. Ça a des chances de se concrétiser ?

  • Bruno (author) said:

    Oui, y’a des tests en cours il me semble.

    Mais si tu veux un VPN v6, suffit d’aller sur http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers et de choisir celui qui te plais :)

  • -Fred- said:

    Bonjour,

    Il me vient une nouvelle question :
    Plutôt que de souscrire à un service offrant juste un lien VPN, n’est-il pas plus intéressant de placer son routeur connecté à internet dans un datacenter par exemple et de tout faire comme un grand ?

  • Bruno (author) said:

    Mmmmmh oui … Et du routeur dans le datacenter jusqu’à chez toi, tu met quoi ? :)

  • -fred- said:

    J’ai naïvement pensé que je devais configurer ma machine locale pour qu’elle se connecte au VPN. Comme un utilisateur nomade désireux de se connecter depuis n’importe où au réseau de sa société via un VPN.

    Tu me met le doute là. Il y a un truc qui m’aurait échappé ?

  • Bruno (author) said:

    J’avais mal compris ta question. Oui, bien sur, tu peux te faire ta petite tête VPN à toi dans un datacenter. Ça n’a d’intérêt que si tu as confiance dans les gens qui tiennent le réseau ou elle est connecté :)

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


huit + = 13