![]() |
guill.net
-
La page des réseaux
|
![]() ![]() |
Le transport des datagrammes IP par différents réseaux physiques
Le mécanisme d'encapsulation
Le mécanisme de fragmentation
La longueur théorique maximale d'un datgramme IP est de 65535 octets. En pratique la taille maximale du datagramme est limitée par la longueur maximale des trames transportées sur le réseau physique.
La fragmentation du datagramme internet devient alors nécessaire dès que sa taille ne lui permet plus d'être directement transporté dans une seule trame physique.
Les modules internet des équipements prennent en charge le découpage et le réassemblage des datagrammes.
Gestion de la fragmentation
Dans l'en-tête du datagramme
les informations suivantes sont utilisées pour gérer la fragmentation
:
-L'indicateur bit ''Dernier
Fragment'', indique au récepteur lors de sa remise à zéro
qu'il s'agit du dernier fragment.
-Le champ ''indentification''
(16 bits) sert à distinguer les fragments d'un datagramme de ceux
d'un autre datagramme.
-Le champ ''fragment offset''
(12 bits) indique au récepteur la position du fragment dans le datagramme
original.
Exemple pour fragmenter un long datagramme, un module internet crée par exemple deux nouveaux datagrammes formés de la façon suivante :
1 - Le contenu de l'entête du datagramme original est recopié dans les deux nouveaux en-têtes.
2 - Les données du datagramme original sont divisées en deux portions, dont la ( ou les premières) est multiple de 8 octets. La taille de la seconde (donc ici la dernière) portion n'est pas nécessairement un multiple de 8 octets.
3 - Pour le premier datagramme
issu de la fragmentation :
- Le bit ''Dernier fragment''
est basculé à 1
- Le champ ''Longueur totale''
est renseigné avec la taille du datagramme.
- Le champ ''fragment offset''
est renseigné avec la valeur du même champ du datagramme original
plus celle de la position du fragment reçu dans ce datagramme. Ce
champ est calculé de la même façon pour tous les datagrammes
issus d'une fragmentation.
4 - Pour le second datagramme
- Le bit ''Dernier fragment''
est placé à la même valeur que celui du datagramme
original.
- Le champ ''fragment offset''
est renseigné avec la valeur du même champ du datagramme original
plus celle de la position du fragment reçu dans ce datagramme.
Pour réassembler les
fragments d'un datagramme internet, le module destination réassemble
les datagrammes dont les valeurs des quatre champs suivants sont identiques
:
- Identification
- @IP source
- @IP destination
- Protocole
La recombinaison est réalisée
en replaçant la portion de données contenue dans chaque fragment
dans un tampon à la position relative indiquée par le champ
''Fragment Offset'' lu dans l'entête.
Le dernier fragment aura
son bit ''Dernier fragment'' à zéro.
Exemple de fragmentation
Présentation du datagramme IP
Les fonctions de la couche IP
Les fonctions d'IP sont les
suivantes :
- Acheminement des datagrammes
à travers les réseaux IP.
- Fragmentation et réassemblage
des paquets, pour adapter les datagrammes aux caractéristiques des
réseaux physiques.
- Technique de destruction
des paquets ayant transités trop longtemps sur un réseau.
- Multiplexage de protocoles.
- Routage dynamique et auto-adaptatif.
- Nombreuses options possibles
Ce que ne fait pas IP:
- Pas de garantie d'acheminement.
- Pas de contrôle
d'erreur
- Pas de contrôle
de flux
- Pas de reséquencement
des données.
Format de l'en-tête
.
Les différents champs sont expliqués ci-dessous :