
S'il y a bien une correspondance grossière entre les protocoles de la pile IP et les couches du modèle, on ne peut pas considérer que la pile IP soit vraiment compatible avec le modèle. En particulier, la séparation des couches dans la pile IP est nettement plus approximative. En voici 2 illustrations.
Pour être conforme au modèle, un protocole d'une pile ne doit pas dépendre des protocoles des autres couches, mais uniquement du service fourni. À titre d'exemple de non-conformité, considérons la détection des erreurs dans une pile IP. Les 2 protocoles
TCP et
UDP ont dans leur en-tête une
somme de contrôle pour la détection des erreurs. Le calcul de cette somme fait intervenir une partie de l'en-tête IP. Les protocoles TCP et UDP ne sont donc pas indépendants de IP. Cela se remarque notamment au fait que lors de passage de
IP version 4 à
IP version 6, il faut redéfinir la façon de calculer ces sommes de contrôle alors que les protocoles eux-mêmes n'ont pas réellement changé.
Lorsqu'un datagramme
UDP, protocole de niveau transport en principe, arrive à une adresse (paire
IP, numéro de port>) alors qu'il n'a pas de processus destinataire, l'erreur est signalée à l'émetteur en lui envoyant un paquet ICMP indiquant « port inaccessible ». Or ICMP est en principe un protocole de niveau réseau. La machine recevant ce paquet doit donc examiner la partie données de ce paquet pour déterminer le processus devant recevoir la notification d'erreur. Différence de protocole et perte de transparence des données sont 2 cas de mauvaise séparation des couches. Notons à cette occasion que TCP utilise en revanche un mécanisme normal pour cette situation : la levée de l'indicateur RST dans le message d'erreur.BY TAATJENE
Comments