111 vues

Multicast sur FreeDMR – le réseau de transport

Multicast sur FreeDMR – le réseau de transport

Nous l’avons vu dans l’article précèdent, le Multicast nécessite pour se propager un réseau structuré à base de routeurs compatibles, ce qui est loin d’être le cas sur internet.

C’est pourquoi nous allons construire ce réseau, capable de véhiculer les trames multicast.

Nous allons utiliser pour cela une stack réseau qui s’appelle Openvswitch. Openvswitch est un des éléments des réseaux que l’on nomme SDN – Software Defined Network (Réseau défini de manière logicielle).

Cet opensource logiciel permet d’implanter sur une machine linux un switch « virtuel », qui va fonctionner comme un switch hardware, à la différence près que l’on va pouvoir le configurer à distance. Ainsi plus besoin d’être sur place pour déplacer les cordons de brassage RJ45 d’un port à l’autre.  Tout peut se faire à distance, à l’aide d’un logiciel de gestion que l’on appelle Orchestrator (mais qui nous le verrons plus tard n’est pas indispensable pour ce que nous voulons faire).

Dès lors que Openvswitch est installé sur chaque serveur linux (serveur FreeDMR en l’occurrence), il va être possible d’établir des liens multiples entre différents serveurs, établissant ainsi un réseau mesh, qui va être capable de se reconfigurer en temps réel pour acheminer les trames multicast vers tous les serveurs reliés au réseau.

Mais quel intérêt à constituer ce genre de réseau, alors que la version actuelle de FreeDMR prévoit dans son fonctionnement l’utilisation de liens openbridge multiples avec le contrôle des redondances ? Tout simplement, le fonctionnement en SDN et mesh est éprouvé au niveau industriel et repose sur des mécanismes et protocoles standardisés, indépendants des logiciels qui les utilisent. Ces mécanismes, robustes, sont bien plus fiables que ce qui peut être fait au niveau d’un logiciel, en l’occurrence la gestion intégrée des openbridges, même s’il faut le reconnaitre un travail considérable a été accompli à ce niveau.

Nous sommes ici au niveau des couches 2 et 3 du modèle ISO.

Pour rappel, voici la composition du modèle ISO.

Source https://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI

La couche 1 est la couche physique. Elle concerne les médias de transmission. Ce peut être de la fibre optique, du câble UTP/STP avec lequel on constitue le pré câblage de locaux ou de cordons de brassage cuivre, du coaxial (eh oui avant la paire torsadée, on utilisait du coaxial 50 Ohms fin (thin) pour les liaisons entre ordinateurs, et du coaxial épais (thick) de couleur jaune, pour les liaisons de plus grande distance (500m).

La couche 2 est dite de liaison. Ce sont des trames, identifiées par des adresses MAC, qui circulent sur la couche 1. A ce propos, dans un modèle ISO, chaque couche communique avec sa voisine. De même, chaque couche communique avec la même couche distante.

Les switches fonctionnent au niveau 2 (ils aiguillent les trames vers les bons ports, en fonction de l’adresse MAC de destination, grâce à une table qui repère depuis quel port arrive une adresse MAC).

La couche 3 est la couche réseau. C’est à ce niveau que se trouvent les adresses IP, et bien entendu le routage des trames IP. Les routeurs fonctionnent à ce niveau. Certains switches intelligents fonctionnent aussi à ce niveau.

La couche 4 est la couche transport. C’est ici que l’on trouve le protocole TCP, qui est un protocole en mode connecté (par opposition à l’UDP qui est lui non connecté). Le mode connecté permet de garantir que les paquets réseau arrivent tous à destination (si l’un deux manque, une requête est émise par le receveur, afin que l’émetteur renvoie le paquet manquant), remet le cas échéant les paquets dans le bon ordre, avant de présenter la totalité des paquets reçus à la couche supérieure.

Le mode déconnecté n’offre pas ces garanties, les paquets sont reçus les uns après les autres, sans contrôle de l’ordre, et sans demande de ré émission d’un paquet manquant. En contrepartie, en l’absence des mécanismes de contrôle, le débit s’en trouve accru.

La couche 5, session, gère les ouvertures et fermetures de session, et réalise l’arbitrage entre tous les systèmes communicants (qui parle avec qui, à qui le tour de parler, etc…), et gère aussi les erreurs.

La couche 6, présentation, est chargée, de traiter les données contenues dans les trames, et les mettre en forme pour qu’elles soient utilisables par les logiciels.

Les logiciels sont au niveau 7 du modèle OSI.

Pour en revenir à notre réseau mesh, voici à quoi ressemble aujourd’hui le réseau France qui relie plusieurs serveurs entre eux, avec également la participation de serveurs étrangers, comme le Portugal, l’Italie, la Sardaigne, le Maroc, la Belgique.

Chaque switch virtuel de chaque serveur est relié par de multiples liens de type GRE (tunnels) aux switches virtuels des autre serveurs. Les switches gèrent l’état des liaisons et mettent en sommeil ou réactivent chaque lien en fonction du besoin. RSTP (Rapid Spanning Tree Protocol) a, quant à lui, pour rôle d’éviter les boucles, et participe à la reconfiguration rapide des chemins entre les serveurs.

Nous aborderons dans le prochain article les modalités pratiques (pré requis, logiciels nécessaires, paramétrages), qui vont nous permettre de mettre en application tout ce que nous venons de voir.

F1SCA Jean-Marc

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *