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
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.
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
- 1. Protocole objectif-c défini dans son propre fichier .h?
- 2. Les fragments XML sont-ils valides?
- 3. Comment construire les paquets pour ce protocole UDP?
- 4. comment comparer les adresses IP
- 5. First & Suivre défini pour les expressions arithmétiques
- 6. Comment faire pour que Fiddler écoute toutes les adresses IP
- 7. Mise en cache de fragments avec Memcached
- 8. comment créer xml à partir de fragments xml
- 9. Simulation de plusieurs adresses IP pour les tests
- 10. Que fait le protocole SSL pour les applications Web?
- 11. Comment trouver les plages d'adresses IP à partir de la liste des adresses IP
- 12. Comment obtenir l'adresse IP de boost :: asio :: ip :: tcp :: socket?
- 13. Qu'est-ce que le protocole FIX pour les institutions financières?
- 14. Pour les ressources C#, pourquoi Properties n'est pas défini?
- 15. ip_len défini sur de très grandes valeurs
- 16. Comment les prises Java fonctionnent-elles avec les IP publiques?
- 17. Quels sont les contrôles de flux les plus fréquemment utilisés pour gérer la communication de protocole?
- 18. Exception de protocole WCF
- 19. Validation de champ pour une adresse IP
- 20. Longueur maximale des fragments d'URL (hachage)
- 21. Rails - le cache des fragments n'expire pas
- 22. Remplissage automatique avec qcompleter pour les fragments au milieu d'un mot
- 23. Avantages de conserver un protocole pour un modèle de données
- 24. Outil pour dessiner des diagrammes de séquence de protocole
- 25. faire exception java: java.net.MalformedURLException: aucun protocole
- 26. Protocole Bluetooth?
- 27. directives de développement de protocole
- 28. Accès aux valeurs de propriété d'un protocole?
- 29. Code-behind pour DataTemplate défini dans ResourceDictionary
- 30. Plugin Mozilla pour le protocole de bureau à distance