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.