Les Ponts

Sommaire

du site

Dernière révision : 4 Août 2000

Retour à "IEEE 802"
Retour à "Interconnexion des réseaux locaux"
Retour à "Sommaire général Réseaux"

Qu'est-ce qu'un pont ?

C'est un dispositif matériel et logiciel permettant d' interconnecter des réseaux différents - ou de même type -.
Mais qui, contrairement aux routeurs, travaille dans la
couche liaison ;
ce qui lui confère un avantage de rapidité.

 

Il est bon cependant de ne pas prendre cette définition à la lettre car bon nombre d'autres éléments d' interconnexion comme les routeurs ou les commutateurs (switch) ont annexé la plupart des propriétés des ponts.


Les ponts comme adaptateurs de réseaux différents

On comprend l'utilité de connecter des réseaux différents comme par exemple un réseau ethernet avec un token-ring s'ils pré-existaient dans l'entreprise au moment de la décision d'agrandir le réseau par exelmple.

N.B. Les accès bidirectionnels des ponts aux divers réseaux s'appellent des PORTS.


Les ponts facilitent la circulation des données entre sous-réseaux

On comprend moins pourquoi interconnecter des réseaux locaux de même type, alors qu'en principe, toutes les machines d'une entreprise pourraient généralement se raccorder au même réseau.

Il y a plusieurs raisons à cela que nous justifierons par la suite :
Le dysfonctionnement d'une machine peut perturber gravement le réseau auquel elle est directement reliée. En constituant le réseau par interconnexion de petits réseaux reliés par des ponts, l'accident est confiné à un seul sous-réseau.
Dans certains types de réseau (ex. Token Ring) l'accroissement du nombre de stations ralentit les échanges. En agrandissant le réseau par réseuax de taille raisonnable reliés par des ponts on évite cet inconvénient.
Un réseau tel qu'Ethernet voit sa bande passante augmenter lorsque qu'il est constitué par des sous-réseaux interconnectés par des ponts.


Les ponts et les couches OSI

On entend souvent dire que, contrairement aux répéteurs qui travaillent en couche physique et aux routeurs qui travaillent sur des informations de couche réseau, les ponts travaillent en couche liaison.

Voyons cela de plus près :

Si les deux réseaux à connecter ont un maximum d'éléments différents, à savoir :
des supports physiques différents (ex. Ethernet et Token Ring)
des couches physiques différentes (même exemple)
des couches liaison différentes

Alors le pont doit comporter sur chacun de ses ports d'accès les éléments identiques et homologues au réseau auquel il est relié. et un logiciel qui agit au niveau liaison pour opérer la "traduction" ou "conversion" bi-directionnelle entre ces deux couches liaison différentes.

Mais des solutions intermédiaires sont possibles. Exemple :

La couche liaison de tout réseau aux normes IEEE 802 est LLC (Layer Link Control) la même pour les trois réseaux concernés : Ethernet II - Token Bus - Token Ring -
En ce cas, le pont a bien sur chaque port la couche liaison LLC, mais la "traduction" se fait au niveau de la couche MAC (Medium Acess Control). Or, cette couche est intermédiaire entre la liaison et le niveau physique : elle dépend du réseau : Ethernet II - Token Bus - Token Ring - auquel elle est reliée.

Pour plus d'informations sur la couche LLC, voir :
Pour les spécifications de la Commission IEEE 802 voir : .


Les avantages de l'adressage de trame

Pour comprendre la suite, il nous faut analyser un mode d'adressage de plus en plus fréquent, vu ses avantages de rapidité, l ' "adressage de trames".

Chaque machine d'un réseau dispose d'un numéro unique, généralement une adresse MAC qui la désigne sans ambiguité.

Détail des adresses MAC en

Les trames émises sur un réseau contiennent à la fois l'adresse du destinataire et celle de la machine ayant émis la trame.

Voici, très schématiquement l'emplacement habituel des adresses dans une trame liaison.

Les adresses destination et source sont généralement des adresses MAC.

Les délimiteurs sont, comme leur nom l'indique, des drapeaux pour que la couche liaison
puisse détecter le début d'une trame dans un trafic continu de bits.

Le terme d' "adressage de tame" est paradoxal puisque d'après l'OSI, l'adresage est l'apanage de la couche 3 réseau et non de la couche 2 liaison. Toutefois, ce type d'adressage a des avantages certains par rapport à l'adressage de niveau réseau - comme les adresses IP par exemple -

Il ne nécessite pas, en plus de l'analyse de la trame niveau 2, la décapsulation de l'entête liaison, la transmission au niveau 3 réseau qui en décode par la suite l'adresse. C'est ce que l'on appelle "remonter jusqu'au niveau réseau".
Le décodage des adresses de niveau liaison peut se faire extrêmement rapidement par des circuits VLSI .

Le gain de temps réalisé est tel que les réseaux de haute rapidité les plus récents l'ont adopté sous des formes très élaborées.

Pour comprendre l'importance de l'adressage de niveau (trame),
lisez les fiches concernant "Commutation" ; "Frame Relay" & "ATM" - :

Pour comprendre l'importance et l'intérêt de la VLSI se reporter à :

 


Fonctionnement d'un pont

1. Chacun des ports d'un pont écoute en "mode promiscuous" tout le trafic sur le réseau auquel il est relié. Ce terme signifie que les cartes d'interface réseau d'un pont, contrairement à celles des stations, ne rejettent pas les trames dont l'adresse ne correspond pas à la leur propre.

2. Au départ, le pont ne "sait" rien de son environnement. Il envoie donc chaque trame entrante vers l'ensemble des ports de sortie, sauf, bien entendu, le port par laquelle elle est entrée. Cela s'appelle "procéder par innondation".

3. Mais il dispose d'une mémoire cache où il note l'adresse de provenance (adresse source) de chacune des trames entrantes en correspondance avec le numéro de port par lequel elle est entrée. Il se crée donc progressivement une table lui permettant de repérer chacune des stations de l'ensemble du réseau pourvou qu'elles aient émis au moins une trame. C'est la table dite de "routage" que l'on devrait appeler "table de pontage" ou de "commutation"

.

Un exemple de ce qui pourrait être une "table de pontage" d'un routeur.

Adresses SOURCE des trames entrantes
Numéro du port d'entrée
B2 56 15 4F 5D 2E
3
F2 A6 FE 45 78 22
1
C2 36 43 B3 56 1F
2
etc.
etc

4. Dès la seconde trame reçue, le pont compare l'adresse de destination avec celle(s) de la table.
S'il trouve cette adresse dans la table, il sait par quel port de sortie il faudra l'envoyer. On évitera ainsi des encombrements inutiles dus aux trames envoyées sans discernement à l'ensemble des ports par ignorance de leur destination exacte.Les inondations, encombrantes pour le réseau et pénalisant sa bande passante, se font de moins en moins fréquentes au fur et à mesure que le cache se remplit.

5. Qu'il la trouve ou pas, il tentera d'acquérir un nouveau couple (adresse source + numéro de port d'entrée) grâce à la trame entrée, s'il ne s'y trouve déjà.

6. Lorsque le logiciel du pont reçoit une trame dont l'adresse correspond à celle du port par lequel elle est entrée, il élimine cette trame (on dit qu'il la filtre). Les trames qu'un hôte d'un réseau envoie à un autre hôte du même réseau sont confinées par le pont dans ce même réseau. Elles ne vont donc pas encombrer les autres réseaux où elles n'ont rien à y faire. Par ailleurs, la division d'un seul réseau type 802.3-Ethernet en plusieurs réseaux connectés par des ponts évite un grand nombre de collisions. En effet, si chacun des sous-réseaux constitués regroupe des personnes concernées par des tâches coopérantes, les collisions se produiront principalement à l'intérieur des sous-réseaux et ne viendront pas perturber les réseaux voisins.

7. Comme dans toute mémoire cache, il faut limiter la durée de vie des informations qu'elle contient. En effet, des stations peuvent disparaître dans les réseaux pontés. On l'appelle ici " aging time ". Une information de temps est en fait ajoutée à chaque entrée du cache lors de sa création


Améliorations apportées dans un environnement - CSMA/CD - Ethernet - 802.3 - :


Améliorations apportées dans un environnement 802.5 - Token Ring -:

Le nombre de stations dans un réseau à topologie d'anneau, est limité par les retards cumulés lors les passages dans chaque station.
La synchronisation niveau bit étant réalisée sur une technologie à boucle de phase (PLL : Phase Locked Loop) l'excursion de gigue peut atteindre des valeurs dépassant la plage de capture du dispositif, provoquant ainsi la désynchronisation des stations réceptrices.
La présence du pont n'ajoute qu' un nœud supplémentaire dans chaque anneau. L'ensemble des deux réseaux peut donc apparaître comme un réseau dont la capacité en stations est presque le double de la capacité de chacun d'eux.


Inconvénients et insuffisances

Un pont introduit un délai de transmission qui peut être préjudiciable aux réseaux à timing serré.

Un pont de base n'augmente pas la bande passante de l'ensemble des réseaux associés du fait que toutes les trames sont transmises de part et d'autre. Le trafic est le même que si les réseaux étaient joints.

Dans le cas d'un pont disposant de tampons internes à la fois pour les tames entrantes et des files d'attente pour les trames de sortie sur chacun des ports, toutes les stations peuvent émettre en même temps et recevoir en même temps


Ponts et boucles

 

Résumé pour ceux qui n'ont pas le temps de tout lire !

Lorsque qu'un ensemble de réseaux reliés par des ponts est physiquement réalisé de telle manière
que des trames peuvent revenir sur un pont par lequel elles sont déjà passées,
il peut se produire des ambiguités sur les destinations inscrites dans les tables.

Des multiplications de trames allant en tous sens
et un encombrement massif de certains réseaux peut en résulter.

Soit on évite physiquement les boucles.
Soit ou on dote les routeurs d'un algorithme de repérage logique
qui lui fait apparaître une structure virtuelle sans boucle.
C'est l'algorithme de l'arbre recouvrant.

 

 

Explication :

Nous allons examiner un cas particulier de dysfonctionnement d'un pont : le cas où des boucles existent dans une topologie maillée d'un réseau.
Pour décrire simplement ce phénomène, nous allons constituer une boucle avec deux réseaux et trois ponts les reliant.

On se situe au départ, lorsque les caches (tables) des ponts B1 B2 B3 sont vides.
La station A envoie une trame, peu importe sa destination.
Les trois routeurs notent que A se trouve sur le Réseau 1 (chacun note en fait que A se trouve du côté du port P1, ce qui revient au même). Les routeurs enregistrent ces trames dans leurs files d'attente et, ne sachant encore rien, procèdent par inondation, c'est à dire qu'ils s'apprêtent à envoyer les trames à tous les ports sauf vers Réseau 1.
L'inondation se limitant ici aux ports P2.

Ils tentent donc de transférer 3 trames identiques sur le Réseau 2.
Ils le feront sûrement, dès que possible, en encombrant le Réseau 2 de ce surplus inutile de trames identiques … Mais l'un des ponts est forcément plus rapide que les autres, mettons B3.

La trame provenant de A et transmise par B3 parcourt maintenant le Réseau 2 et ne tarde pas à atteindre les ports P2 des ponts B1 et B2. B1 et B2 notent alors que la station A doit se trouver sur le Réseau 2 !

Pire ! Supposons que B1 ait réussi sur ces entrefaites à envoyer au Réseau 2 la première trame restée dans la file d'attente.
Cette trame sera reçue par B2 et B3 sur leurs ports P2. B2 notera que A est toujours sur Réseau 2 et B3 notera que A s'est déplacée vers Réseau 2 !

B2 et B3 mettent donc cette trame en file d'attente en partance pour Réseau 1 puisqu'ils ne doivent pas renvoyer la trame sur le port d'où elle est censée résider ! Si on continue le raisonnement, on s'aperçoit que non seulement les trames identiques font des aller-retour incessants, mais encore qu'elles ne cessent de proliférer, encombrant ainsi de plus en plus l'ensemble des réseaux.

On montre que ce phénomène se produit chaque fois qu'un réseau présente des boucles dans sa topologie. Les boucles peuvent être évitées mais elles sont parfois bénéfiques :
Lorsque l'on veut décongestionner des tronçons de réseau fortement encombrés.
Pour introduire une redondance des liaisons en prévision de dysfonctionnements de la connectivité.

On a donc développé des stratégies de localisation des nœuds permettant d'éviter cet effet pernicieux : celle dite de "l'arbre recouvrant " développée ci-dessous est la plus efficace.

Fin de l'explication, impatients, vous pouvez reprendre la lecture !


Arbre recouvrant " spannig tree "

 

Résumé

Un arbre recouvrant est une stratégie de localisation de l'ensemble des nœuds d'un réseau comportant des boucles,
au travers de laquelle le réseau apparaît comme s'il présentait une structure sans boucles (un arbre)
tout en permettant d'atteindre l'ensemble des nœuds (recouvrant).

 

 

Les ponts mettent en œuvre cette stratégie grâce à un protocole spécial qui repose sur l'échange entre eux de messages nommés BPDU (Bridge Protocol Data Units) par le comité 802.1.

Ces messages de configuration doivent permettre à l'ensemble des ponts d'un réseau :

1. D'élire collectivement un pont unique qui sera appelé pont racine.
2. De calculer la plus courte des distances en bonds (hops) entre chaque pont et le pont racine.
3. De choisir dans chaque réseau un pont désigné parmi ceux qui se rattachent à ce réseau.
4. De choisir dans chaque pont le port racine : celui qui présente le plus court trajet au pont racine.
5. De choisir dans chaque pont les ports à inclure dans l'arbre recouvrant : port racine plus tous les ports pour lesquels le pont a été choisi comme pont désigné par les réseaux qui y sont attachés.


Ponts transparents : pour ou contre les ponts ?


L'adjectif " transparent " a été appliqué aux ponts construits suivant les stratégies qui viennent d'être décrites, pour indiquer que leur insertion dans un système de réseaux n'impliqu, en principe, aucune modification des réseaux auxquels ils sont rattachés.

Vous achetez, vous branchez, et ça marche de manière autonome !

Il est vrai que des améliorations notables sont automatiquement apportées par la présence de ponts :

Diminution des collisions car confinées dans chaque sous-réseau
Bande passante améliorée du fait de la diminution des trames mal distribuées

Reste que l'on reproche aux ponts un certain nombre d'effets négatifs :

La probabilité de perte d'une trame augmente : liaisons encombrées pour la remise d'une trame provoquant le débordement du tampon de trames. Des trames devront alors être éliminées sans avoir été remises à leurs destinataires.

Le temps d'attente augmente : processus de calcul interne non immédiat

La durée de vie d'une trame augmente : pour les même raisons

Le taux d'erreur augmente : on crée une réception une transmission supplémentaires. La mémorisation interne peut avoir des défaillances.

Les trames peuvent se mélanger en cas de reconfiguration de l'arbre recouvrant.

La duplication de trames est possible dans un réseau bouclé à la création de l'arbre recouvrant.

 

Ponts à " routage " par la source

Eviter la confusion ici sur le mot "routage".
Le routage proprement dit implique les adresses de niveau 3 réseau.
Ce n'est pas le cas ici puisque les ponts n'explorent que la couche 2 liaison.

Historique

Le " routage " par la source a été développé par le comité IEEE 802.5 pour l'interconnexion des Token-Ring.

C'est une méthode alternative à celle utilisée par les ponts transparents.

On a bien essayé de rassembler les deux technologies dans des ponts désignés par " SR-TB "
(Source Routing - Transparent Bridge) mais cela s'est avéré trop complexe.

Le routage par la source n'a été retenu que comme ressource complémentaire aux ponts transparents
dans les ponts dits " SRT " Source Routing Transparent.


Le " routage " par la source implique les stations dans la stratégie.

Il permet à chaque station d'un réseau, de connaître, parmi les ponts reliés à ce même réseau, le pont le plus approprié pour faire parvenir les trames au plus vite et sans accroître l'encombrement du réseau

Ce type de " routage " utilise généralement des entêtes de trame comportant un champ d'informations de routage appelé RIF Routing Information Field.

1. Chaque station envoie préalablement des trames d'exploration en diffusion générale.

2. Chaque pont recevant ce type de trame y copie sa propre adresse et diffuse cette trame à tous les réseaux sauf à celui d'où elle provient.

3. Toutes les stations reçoivent cette trame et la renvoient à la station émettrice avec une description de la route suivie : adresses de réseau, de station, numéros des ponts traversés etc.

4. La station émettrice possède donc toutes les informations lui permettant, le cas échéant, de faire un choix des routes suivant des critères tels que : délais d'acheminement, nombre de ponts traversés, longueur maximale de la trame, etc.

A titre purement indicatif nous donnons ci-dessous les différents types d'en têtes de routage :

@Destination
@Source
RIF
DSAP
SSAP
Contrôle
Données
FCS

RIF : (RIF Routing Information Field.)

Type de trame (3 bits)
Longueur (5 bits)
Direction (1 bit)
Longueur Trame Max (3 bits)
Route

Type de trame : - Routée spécifiquement - Exploratrice de tous les chemins - Exploratrice de l'arbre recouvrant -
Longueur du champ RIF ·
Direction : sens de parcours de la route ·
Longueur trame Max. 516,1500,2052,4472,8144, 11407, 17800, 65535 ·
Route : Suite de champs de 16 bits (12 bits numéro de LAN, 4 bits n° de pont)

Les indications sont données à titre purement indicatif : une étude approfondie des ponts dépasserait largement notre propos..

Bibliographie
Titre
Auteur
Editeur
Interconnexions - Ponts - Routeurs
Radia Perlman
Adison Wesley

Document en évolution