Aller au contenu principal

8. Protocol Packet Processing (Traitement des paquets de protocole)

Ce chapitre décrit en détail comment les routeurs OSPF traitent les paquets de protocole reçus. C'est la partie centrale de l'implémentation OSPF, couvrant la logique de traitement de tous les types de paquets.

Aperçu du chapitre (Chapter Overview)

OSPF utilise 5 types différents de paquets de protocole, chacun avec un flux de traitement spécifique :

  • Paquets Hello
  • Paquets Database Description (DD)
  • Paquets Link State Request (LSR)
  • Paquets Link State Update (LSU)
  • Paquets Link State Acknowledgment (LSAck)

8.1 Réception de paquets de protocole (Receiving Protocol Packets)

Traitement général de réception (General Reception Processing)

Étape 1 : Réception couche IP

  • Adresse de destination : 224.0.0.5 (AllSPFRouters) ou 224.0.0.6 (AllDRouters) ou unicast
  • Numéro de protocole : 89 (OSPF)
  • IP TTL : Doit être 1 (sauf liens virtuels)

Étape 2 : Validation d'en-tête OSPF

Élément de vérificationExigenceTraitement en cas d'échec
Version NumberDoit être 2Rejeter le paquet
Packet Type1-5 valideRejeter le paquet
ChecksumDoit être correctRejeter le paquet
Area IDDoit correspondreRejeter le paquet
AuthenticationDoit passerRejeter le paquet

8.2 Traitement des paquets Hello (Hello Packet Processing)

Réception de paquets Hello

Flux de traitement

Recevoir Hello

Valider paramètres Hello

Rechercher/Créer voisin

Mettre à jour état voisin

Vérifier élection DR/BDR

Validation des paramètres Hello

Paramètres devant correspondre

ParamètreDescriptionTraitement en cas de non-correspondance
Network MaskMasque réseauRejeter le paquet
Hello IntervalIntervalle d'envoi HelloRejeter le paquet
Dead IntervalIntervalle d'expiration voisinRejeter le paquet
OptionsDrapeaux d'optionsRejeter le paquet

8.3 Traitement des paquets Database Description (DD Packet Processing)

Réception de paquets DD

Condition préalable

  • L'état du voisin doit être >= ExStart
  • Sinon, rejeter le paquet

Branches de logique de traitement

Branche 1 : État ExStart

Détermination du Master

if (DD reçu contient drapeaux I, M, MS):
if (Router ID voisin > Router ID local):
Ce routeur devient Slave
Le voisin devient Master
Accepter le numéro de séquence du voisin
else:
Ignorer ce DD

Réception de paquets LSR

Condition préalable

  • L'état du voisin doit être >= Exchange
  • Sinon, rejeter le paquet

Flux de traitement

Recevoir LSR

Parcourir la liste de demandes

Rechercher chaque LSA dans LSDB

Trouvé : Ajouter à la réponse LSU
Non trouvé : Événement BadLSReq

Envoyer paquet LSU

Réception de paquets LSU

Complexité du traitement

  • LSU peut contenir plusieurs LSA
  • Chaque LSA est traité indépendamment
  • Type de paquet le plus complexe

Validation LSA

Étape 1 : Validation de base

Élément de vérificationExigence
LS ChecksumDoit être correct
LS TypeDoit être un type connu
LS AgeDoit être <= MaxAge (3600s)

Réception de paquets LSAck

Flux de traitement

Recevoir LSAck

Parcourir la liste des en-têtes LSA confirmés

Rechercher dans Link State Retransmission List

Trouvé et correspond : Retirer de la liste de retransmission
Non trouvé ou ne correspond pas : Ignorer cette confirmation

8.7 Envoi de paquets de protocole (Sending Protocol Packets)

Décision d'envoi

Paquets Hello

  • Envoi périodique (Hello Interval)
  • Destination : AllSPFRouters (224.0.0.5)

Paquets DD

  • Pendant la synchronisation de base de données
  • Destination : Adresse unicast du voisin

Paquets LSU

  • Réponse à LSR : Unicast
  • Inondation de nouveaux LSA : Multicast ou unicast

8.8 Mécanisme de retransmission (Retransmission Mechanism)

Objectif

  • Suivre les LSA non confirmés
  • Chaque voisin maintient une liste indépendante

RxmtInterval

  • Valeur par défaut : 5 secondes
  • Configurable
  • Doit être augmenté pour les liens à haute latence

Résumé technique (Technical Summary)

Principes de traitement clés

  1. Validation stricte

    • Tous les paquets doivent passer plusieurs couches de validation
    • Tout non-correspondance entraîne un rejet immédiat
    • Garantit la sécurité du protocole
  2. Piloté par état

    • L'état du voisin détermine la logique de traitement
    • Transitions d'état claires
    • Évite les opérations invalides
  3. Transmission fiable

    • Mécanisme de confirmation
    • Mécanisme de retransmission
    • Détection par numéro de séquence

Références (References)


Note : Le traitement des paquets de protocole est au cœur de l'implémentation OSPF. Comprendre le flux de traitement de chaque type de paquet est essentiel pour une implémentation correcte et le dépannage.