2009-07-13 3 views
0

Je teste la capacité d'un pilote de périphérique réseau à faire face à des paquets corrompus. Le cas spécifique que je veux tester est un quand un gros paquet TCP est fragmenté le long du chemin en raison d'une MTU plus petite dans le chemin. Ce qui m'intéresse le plus dans la fragmentation IP du gros paquet TCP, est-ce que l'attribut de protocole du paquet Fragment IP est défini sur TCP pour chaque paquet, ou seulement sur le premier fragment?Comment l'attribut de protocole est-il défini pour les fragments IP?

Répondre

1

Le champ de protocole sera défini sur TCP (6) pour chaque fragment.

De RFC 791 - Internet Protocol

Pour fragmenter un datagramme Internet, un module de protocole Internet (pour exemple, dans une passerelle), crée deux nouvelles Internet datagrammes et copie les contenu des champs d'en-tête Internet à partir du long datagramme dans les deux nouveaux en-têtes Internet . ... Cette procédure peut être généralisée pour une division n-way, plutôt que la division bidirectionnelle décrite.

Le protocole fait partie de l'en-tête et sera par conséquent copié dans chacun des fragments.

1

La fragmentation IP est une activité de couche 3, tandis que le paquet sera marqué TCP, les fragments intermédiaires ne seront pas utilisables par TCP. La couche TCP devra attendre un réassemblage du paquet IP réel (non fragmenté) avant de pouvoir le traiter.

Wikipedia IP Fragmentation référence.


Path MTU-Discovery mettra à jour habituellement la source MTU et les paquets TCP (en fait des segments) seront envoyés avec des tailles limitées pour ne pas provoquer la fragmentation sur le chemin

Questions connexes