Réseaux

Le protocole Ethernet

Définition

Le protocole Ethernet est un protocole de niveau 2 du modèle OSI.

Il définit le protocole d’accès au support physique et le format des unités de données transmises au niveau 2 de la couche OSI.

Il est défini par l’institution IEEE sous la réfrérence 802.3. D’autres références la complète telle que la définition des priorité pour la gestion de la congestion (802.1P), le controle d’accès (802.1X), la gestion l’isolation du trafic (802.1Q), etc.

Le protocole d’accès au support physique est le CSMA/CD. L’équivalent ou CSMA/CA. Cela dépendra de la tolopogie et du support physique

Unité de donnée et structure de l’en-tête

L’unité de donnée est la trame.

Elle contient:

  • L’adresse source de l’hôte émettrice de la donnée (6 octets)
  • L’adresse destination des destinataires du message. Elle peut être une adresse à cible unique (unicast) ou à cible de groupe (multicast ou broadcast) (6 octets)
  • La taille de la donnée utile transportée (Ethernet 802.3) ou la valeur du protocole de niveau 3 transporté par la trame (Ethernet II) (2 octets)
  • La donnée utile ( (1 à 1500 octets) pour les trames normales. Au delà on parle de jumbo frame (trame géante)
  • Le bourrage (padding) (dépend de la taille de la donnée utile et est utilisé lorsque la donnée transportée est inférieure à 46 octets)
  • Le champ de contrôle d’intégrité (CRC) (4 octets)

Les variantes du protocole Ethernet et les tag VLAN (802.1Q)

Comme indiqué dans le paragraphe précédent, Ethernet existe en version IEEE 802.3 ou en version Ethernet II (dit DIX. Car historiquement créé par DEC, Intel et Xérox).

La principale différence pratique est qu’en version IEEE802.3 le champ suivant l’adresse source représente la taille de la donnée transportée. Taille après laquelle le bourrage est réalisé.

La version Ethernet II donne dans ce même champ le code du protocole de niveau 3 transporté (ou un autre type de protocole our de champ).

Le tag VLAN (utilisé pour l’isolation du trafic au niveau 2) est indiqué dans ce champ également.

En cas de tag VLAN ce champ vaut 0x8100 (2 octets). Les deux octets qui suivent sont à interpréter de la façon suivante:

Tag control information (TCI): Deux octets contenant les deux sous-sections suivantes:

  • Priority code point (PCP): 3 bits indicant le niveau de priorité à accorder à la trame Ethernet (8 niveau distincts)
  • Drop eligible indicator (DEI): 1 bit qui indique si la trame peut être ignorée en cas de congestion
  • VLAN identifier (VID): 12 bits l’identifiant la valeur du VLAN (de 1 à 4095)

 

Les supports physiques

Le Protocole IP

Le format du paquet IP

Le format des paquets IP est défini dans la RFC 791  . Il s’agit de la référence officielle de l’IETF pour le protocole IP.

Ce paquet comporte tous les champs permettant le routage des flux Internet entre les sources et les destinations. Le protocole contient tous les paramètres permettant de gérer:

  • La sécurité de bout en bout
  • la qualité de service en terme d’assurance de délivrance des flux et de bande passante garantie
  • le routage de chaque paquet entre les différents noeuds des réseaux.

La RFC donne le format de paquet ci-dessous:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version|  IHL  |Type of Service|          Total Length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Identification        |Flags|      Fragment Offset    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Time to Live |    Protocol   |         Header Checksum       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Source Address                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Destination Address                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 

Ces différents champs se définissent comme suit:

  • La version 4 bits: Indique la version du protocole IP. Dans la pratique il s’agit de la version 4 ou la version 6.
  • La longueur de l’en-tête (4 bits). Elle définit la taille de l’en-tête IP. Ce champe est necessaire compte tenu de la taille variable de cet en-tête liée aux options.
  • Le type de service ( 8 bits). Ce champs permet de réaliser de la gestion de la qualité de service. Une suppression ou mise en tampon sélective du flux de données en fonction du marquage et du besoin de priorisation.
  • La longueur totale du paquet IP (16 bits). Il indique la longeur totale du paquet incluant la données utile.
  • L’identification du paquet (16 bits). Sur l’hôte destination ce champ permet de restituer le paquet dans le flux de données et aussi dans associer plusieurs fragments entre eux.
  • Les drapeaux (3 bits):
    • Bit 0: réservé
    • Bit 1: DF. Fragmentation (0) ou non fragmentaion (1)
    • Bit 2: MF. Plus de fragment à suivre (dans le cas de fragmentation
  • Positision du fragment (13 bits)
  • Time to Live ( 8bits). Ce champ est décrémenter à chaque saut et permet de limiter les effets des boucles de routage dans le réseau. Une fois que ce compteur atteint 0 le paquet est supprimé.
  • Protocole (8 bits). Il indique le protocole de la coupe suppérieur. Par exemple 6 pour le procole TCP ou 17 pour UDP. Le protocole de routage OSPF aura le numéro 89. Ceci permet aux destinataire d’aiguiller le paquet vers la bonne application parmi cellles qu’il héberge.
  • Header Checksum (16 bits). Ce chap effectue un controle d’intégrité sur l’en-tête.
  • Adresse source ( 32bits). Indique l’identité de la source du trafic. Il est possible (via la translation) de modifier ce champs sur le parcours du paquet.
  • Adresse destination (32 bits).  Indique l’identité de la destination du trafic. Il est possible (via la translation) de modifier ce champs sur le parcours du paquet.
  • Options (taille variable). Ce champ permet de remplir plusieurs fonctions. Parmi ces dernières:
    • Horodatage (Timestamp)
    • Identification des flux 
    • Enregistrement de la route suivie (adresses IP de chacun des noeuds traversés)
    • Routage par la source (stricte ou lâche)
    • Niveau de confidentialité du paquet
    • ….
  • Bourrage (variable)

Une petite vidéo pour présenter l’en-tête IP:

 

IPv4: Structure d’adressage

IPv4 est la version d’adressage IP la plus répandue.

Par défaut, c’est la version configurée sur les toutes les machines en réseaux. Tant sur le réseau Internet que sur les réseaux locaux.

La vidéo ci-dessous présente l’adressage IPv4, sa structure et les régistres de gestion des ressources.

IPv6: Structure d’adressage

IPv6 a été introduit afin de répondre au besoin de d’adressage avec la réduction des ressources IPv4.

Pour rappel, IPv4 est un mode d’adressage sur 4 octets (32 bits). Les ressources en adressage publique gérées par les différent registrs régionaux (https://en.wikipedia.org/wiki/Regional_Internet_registry) sont au plus bas. l’ARCEP présentait en 2019 les projections de ressource IPv4 disponible.  (voir ci-dessous)

 

 

Cette prénurie affecte principalement les nouvelles assignations d’adresses IP. Ceci veut dire que certaines adresses déjà assignées et ensuite réaffectées (recyclées) pourront à nouveau servir de nouveaux besoins et de nouveaux utilisateurs.

Différentes techniques permettent de palier cette pénurie et maintenir la connectivité aux sites (ou autres noeuds) Internet utilisant les adresses IPv4. Ces techniques feront l’objets de futures capsules.

La vidéo ci-dessous présente succintement l’adressage IPv6.

 

 

 

La couche 4 et les procoles TCP et UDP

Les prococoles TCP et UDP se situent au niveau de àla couche 4  du modèle OSI.

TCP est défini dans la référence RFC 793  . TCP est un protocole de communication en mode connecté. Cela veut dire que l’échange d’un trafic, les 3 phase suivantes doivent exister:

  1. Etablissement de la session (connexion)
  2. Maintient de la session et échange de données avec validation de la délivrance de chaque unité de donnée
  3. Clôture de la session.

Le protocole UDP lui est dit non connecté. Il est définit dans la RFC 768. Aucun processus d’établissement de session n’est necessaire. Aucun besoin de maintient de la session et aucun mécanismet de garantie de la délivrance de chaque unité de donnée.

 

 

Laisser un commentaire

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