MOOC:Verb22

From Livre IPv6

Revision as of 17:34, 21 September 2021 by Jprioual (Talk | contribs) (Conclusion)

Encapsulation de protocoles

-Dans cette deuxième activité, nous aborderons les mécanismes d'encapsulation de protocoles.

Vue d'ensemble

Tout d'abord, vous observez dans ce schéma la représentation de l'encapsulation, qui utilise le principe de l'empilement des couches de protocoles.

Ces couches sont représentatives des traitements à effectuer pour réaliser des échanges à travers un système d'information.

Les couches basses sont utilisées par les organes réseau pour réaliser le relais des trames et des paquets.

Alors qu'aux extrémités, le traitement de l'ensemble de l'édifice est nécessaire pour injecter ou extraire l'information, puis la traiter dans diverses applications.

Dans cette animation, nous proposons une représentation simplifiée du réseau avec un lien direct disposant d'un débit constant et sans erreur. La source désire émettre des données qui, pour descendre dans les couches, devront être introduites dans un bloc message au niveau application.

Ce bloc message sera lui-même encapsulé dans un segment au niveau transport.

L'émission de ce segment dans le réseau nécessitera l'envoi d'un ou plusieurs datagrammes, eux-mêmes encapsulés dans des trames, avant que l'on puisse les transmettre sur le lien avec un codage adapté au canal de transmission.

Côté récepteur, on assiste au mécanisme de décapsulation qui consiste en une vérification du format et à l'interprétation des en-têtes de protocoles, puis à la remontée des différents niveaux, si le traitement l'autorise, pour enfin disposer des données, une fois arrivées à destination.

Couches basses

Revenons sur une partie très sensible de cet édifice, les couches basses.

Au niveau physique, nous allons disposer d'un canal de transmission qui nécessite un codage adapté au support fourni.

Comme il peut s'agir d'un support câblé ou sans fil, on utilise des techniques de codage qui fiabilisent les échanges tout en améliorant, autant que faire se peut, le débit de la liaison.

Au niveau 2, le rôle de la couche liaison de données est entre autres de transformer la couche physique en une liaison a priori exempte d'erreur de transmission pour la couche réseau.

Après avoir réalisé le décodage, cette couche est capable d'écarter le trafic nécessaire à la synchronisation et de reconnaître le début et la fin des trames.

Toujours au niveau liaison de données, en cas de réception erronée, elle peut écarter les trames, en cas de non-respect du format défini ou d'erreur de transmission.

La vérification du champ CRC ou "checksum", situé en fin de trame, aide à faire ce tri.

Dans notre exemple, l'en-tête Ethernet dispose des champs "adresse", "MAC destination", puis "MAC source", et du champ "EtherType", qui nous permettra de reconnaître le format du protocole encapsulé au niveau supérieur.

Notons que la taille des différents champs nécessaires à l'encapsulation alourdit d'autant plus les messages lors de la transmission effective sur le support.

On parlera de "débit nominal" pour définir le débit constant fourni au niveau physique.

Et lorsqu'on observe le résultat effectif du transfert de données au niveau applicatif, c'est le débit utile que perçoit l'utilisateur dans ces usages : il est moindre.

Au niveau de la couche liaison de données, les différents standards de protocoles disponibles au niveau liaison imposent des tailles de charge utile variées.

Cette taille est appelée "MTU" : Maximum Transmission Unit.

Cette contrainte imposera d'ajuster la découpe des différents blocs de protocoles pour améliorer le débit utile.

Couches intermédiaires

Au niveau réseau, le rôle de la couche réseau est de gérer l'acheminement des paquets à travers une topologie réseau locale ou étendue.

Etant donné que la taille minimum de l'en-tête IPv6 est de 40 octets, le MTU résiduel d'une trame Ethernet classique est donc de 1 500-40 : 1 460 octets.

Sachant que ces 1 460 octets de données seront probablement encore amputés d'en-têtes au niveau transport. Par exemple, 20 octets minimum pour TCP, 8 octets pour UDP.

À ce niveau, rappelons qu'aucun champ CRC n'a été retenu, car nous en avons déjà au niveau liaison.

Et les couches supérieures vont s'en charger.

Au niveau 4, le rôle de la couche transport est de préparer l'envoi et le traitement des segments acheminés.

Avec IPv6, les modifications apportées au protocole de niveau 4, UDP et TCP, sont minimes.

La principale adaptation pour IPv6 concerne le calcul de checksum au niveau transport.

Ce calcul englobe le pseudo en-tête.

Donc, pour UDP, ce calcul de checksum, qui était facultatif en IPv4, est devenu obligatoire.

Conclusion

Dans cette animation, nous remarquons que le tri des paquets permet d'écarter toute erreur potentielle.

Aussi, pour résumer en quoi consiste l'encapsulation de protocoles, cela permet aux équipements intermédiaires de se focaliser sur les couches de protocoles qui les concernent. L'introduction d'IPv6 permet d'optimiser ces traitements dans les routeurs ou les commutateurs de niveau 3 compatibles IPv6.

Tandis qu'aux extrémités, la sécurité des échanges repose en grande partie sur l'étude des champs et extensions de protocoles proposés dans chacune des couches.

Quelques champs étudiés dans des access-lists, les pare-feu, proxys.

Au niveau 2, on trouvera les adresses MAC, champs EtherType, VLAN, Qos.

Au niveau 3, les adresses IP, DiffServ, Flow Label, Next Header.

Au niveau 4, les numéros de port, et les drapeaux.

Personal tools