Vous êtes ici : Accueil Fondamentaux Timing Ethernet

Timing Ethernet

Les notions de temps dans les technologies Ethernet Half-duplex sont d'une importance capitale. Elles permettent également de préciser le mécanisme de reprise de transmision (Backoff) pour la ou les cartes réseaux impliquées dans une collision. Le succès d'Ethernet est d'avoir gardé une compatibilité totale qu'elle qu'ait été l'évolution croissante des vitesses sur différents supports, notamment grâce à un mécanisme d'adaptation (négociation).

1. Unité de mesure indépendante de la vitesse : le bit time.

Le bit time est l'unité de mesure de référence dans le calcul des délais Ethernet. En fonction de la vitesse de la technologie cette notion absolue, « transmettre un bit en un temps », donnera un délai concret :

Considérant que 1 µs = 0,000001 s et que  1 ns = 0,000000001 s,
10 Mbps correspond à la transmission de 1 bit en 0,1 µs ou en 100 ns ;
100 Mbps correspond à la transmission de 1 bit en 0,01 µs ou en 10 ns ;
1 Gbps correspond à la transmission de 1 bit en 0,001 µs ou en 1 ns.

Grâce à cette unité de mesure, les valeurs resteront identiques quelle que soit la vitesse de la technologie.

2. CSMA/CD dans les technologies Ethernet Half-Duplex 10 Mbps.

Il est important d'avoir à l'esprit que le mécanisme ici présenté concerne les premières technologies Ethernet en Half-Duplex où le phénomène des collisions est inhérent sur un médium physique partagé.

2.1. Détection de la porteuse

Chaque station souhaitant émettre détecte si il y a absence de porteuse. En cas contraire, le média est déjà pris. Dès que l'absence de porteuse est constatée, autrement dit, dès qu'il y a silence, la carte réseau continue à attendre dans un délai minimum de 96 bit time (9,6 µs). Ce délai est appelé le Interframe Gap Spacing (IFG). Il correspond à la place minimale entre deux trames sans erreurs de collision, la place nécessaire entre le dernier bit du champ FCS et le premier bit du champ preambule de la trame suivante.

2.2. La transmission

Après l'IGF, à condition qu'il y ait toujours absence de porteuse, la carte réseau commence à transmettre. Si aucune collision n'est détectée, la station considère que la transmission s'est déroulée avec succès.

Une collision est détectée localement par une carte émettrice si il y a une augmentation de l'amplitude du signal, sur du câble coaxial, ou sur de la paire torsardée (en Half-Duplex), si les deux paires RX et TX sont utilisées simultanément.

En cas de collision, ce sont seulement les cartes émettrices, nécessairement impliquées, qui agissent. Elles renforcent la collision en émettant un signal de bourrage (jam signal) de broadcast d'une longueur de 32 bits. Cette trame est remplie d'une suite de 1 et de 0 binaires. Dans un logiciel d'analyse, on aura une suite de 0xA (1010 binaire) ou de 0x5 (101 binaire). Si la collision est détectée pendant la transmission du préambule (64 bits de 1 et 0), les 32 bits de bourrage y sont ajoutés. L'algorithme Back-Off entre alors en jeu pour la reprise de la transmission.

Les cartes réseau vont considérer que si aucune collision n'est détectée endéans un délai de 512 bit time (autrement dit après l'envoi des 64 premiers octets en 51,2 µs sur du 10 Mbps), le canal est acquis et aucune collision tardive ne peut intervenir sur un réseau bien conçu (respectant les normes).

2.3. La détection de collision et le slot time.

Les collisions apparaissent sur un réseau Half-Duplex à cause du partage d'un média. Elles sont possibles car la transmission d'un signal prend un certain délai de propagation. Le slot-time est défini à 512 bit-time sur du 10 Mbps et 100 Mbps Ethernet. Il est déterminé par le temps moyen maximal théorique de la transmission d'un symbole d'une extrémité à l'autre du réseau. Dans cette fourchette de temps, deux stations pourraient émettre en même temps alors qu'aucune porteuse n'aurait été détectée ! Il s'ensuivrait des collisions. Etant donné que le champ data d'une trame doit être au minimum de 46 octets et que les champs d'en-tête ont une longueur fixe de 22 octets, on considérera qu'une trame valide aura toujours au moins une longueur de 512 bits, le slot time.

2.4. L'algorithme Backoff

L'algorithme Backoff est un mécanisme qui permet de faire en sorte que deux ou plusieurs stations impliquées dans une collision retransmettent leur trame dans des délais différents générés de manière aléatoire. En fonction du nombre d'essais de retransmission (15 maximum, le seizième jette la trame), la fourchette de délais de reprise grandit de manière exponentielle. Cette fourchette va de zéro à un nombre entier multiplié par le slot time.
Ce nombre entier est calculé comme suit :

 

0 =< a < 2 exp k où k = min(n,10)

 

La variable k est le nombre de collisions intervenues (le nombre d'essais) dans un maximum de 10. La variable a peut prendre une valeur aléatoire entre 0 et 1023 quand k = 10. On voit dans le tableau ci-dessous que les temps de backoff vont croître de manière exponentielle après un nombre consécutifs de collisions. En fonction du nombre d'essai, on peut estimer le nombre de stations impliquées. Dnas un cas estimé de plus de 1023 stations impliquées, on estime que la situation a dépassé des limites raisonables d'un réseau performant.

 

 

Essai

Nombre estimé d'autres stations impliquées

Plage de nombre aléatoire

Plage de délais Backoff (µs)

1

1

0 ... 1

0 ... 51,2

2

3

0 ... 3

0 ... 153,6

3

7

0 ... 7

0 ... 358,4

4

15

0 ... 15

0 ... 768,0

5

31

0 ... 31

0 ... 1587,2

6

63

0 ... 63

0 ... 3225,6

7

127

0 ... 127

0 ... 6502,4

8

255

0 ... 255

0 ... 13056,0

9

511

0 ... 511

0 ... 26163,2

10

1023

0 ... 1023

0 ... 53377,6

11

1023

0 ... 1023

0 ... 53377,6

12

1023

0 ... 1023

0 ... 53377,6

13

1023

0 ... 1023

0 ... 53377,6

14

1023

0 ... 1023

0 ... 53377,6

15

1023

0 ... 1023

0 ... 53377,6

16

/

/

Trame jetée

 

 

3. La nature des collisions


On trouvera trois types de collisions.

 

Primo, une collision locale est une collision détectée sur un segment physique telle que les cartes réseau la détecte dans le cadre du mécanisme CSMA/CD décrit ci-dessus. Elle intervient avant la transmission des 64 premiers octets.

Deusio, une collision distante est une collision qui ne dispose pas d'une longueur minimale de 64 octets et dont le champ FCS est invalide à la vérification du récepteur mais qui n'est pas détectée en tant que collision locale (activité simultanée RX et TX, augmentation d'amplitude du signal). En général, ce type de collision intervient au-delà du matériel intermédiaire tel qu'un hub ou un répéteur. Elle intervient avant la transmission des 64 premiers octets. C'est l'erreur la plus courante sur les réseaux UTP.

Tertio, une collision tardive est la seule qui intervient après les 64 premiers octets. Ce type de collision est ignorée par les cartes réseau et intervient dans le cas où les stations sont trop éloignées physiquement pour détecter une collision. Le respect de la règle 5-4-3-2-1, -cinq segments physiques, quatre répéteurs, trois segments occupés par des stations, 2 segments de liaison entre répéteurs et un seul domaine de collision- permet d'éviter les collisions tardives.

En fait, les sources de latence, principalement les cartes réseaux, le support lui-même et les matériels intermédiaires ont leur limite de propagation et de re-synchronisation du signal. Ces limites physiques sont vulgarisées dans la règle.

4. Fast Ethernet Full-Duplex

Dans un contexte où un canal serait dédié à la transmission TX et un autre à la réception RX dans un réseau commuté, aucune collision (sauf d'éventuelles tardives) ne peuvent arriver. Cette amélioration élimine la problématique vue ci-dessus. L'utilisation d'un mécanisme Full-Duplex associé aux capacités croissantes en bande passante a fait d'Ethernet une technologie de plus en plus fiable, facile à implémenter et à utiliser, de moindre coût et standardisée.

Un autre facteur de succès des technologies Ethernet est leur capacité à assurer une compatibilité entre les différentes évolutions. Outre le respect du format des trames, cette compatibilité est assurée par un mécanisme d'auto-négociation assuré par l'envoi régulier d'un signal «link pulse» qui permet aux stations de déterminer dans un ordre précis avec une négociation progressive le type de communication commune en vitesse et en mode Half- ou Full- duplex. Toutefois, en fonction des pilotes développés pour les chipsets des cartes réseaux, ils reste possible de forcer par logiciel le type de communication.

En ce qui concerne le format de trame, le champ preambule qui est utile à la synchronisation dans un contexte de transmission asynchrone (Half-Duplex) devient redondant et inutile mais a été gardé dans la perspective d'une inter-opérabilité des technologies.

5. Annexes

5.1. Caractéristiques générales du protocole Ethernet

 

5.2. La structure d'une trame Ethernet

Trames Ethernet

 

Preamble
SFD
Individual/ Group Address Bit
Globally/ Locally Administered Address Bit
Destination Address
Source Address
Length
LLC/Data
Frame Check Sequence

6. Sources

Comme source d'informations complémentaires, on conseillera vivement le site de l'Industrial Ethernet University.

Mots-clés associés : , , , , ,