Zum Hauptinhalt springen

7.2. Extensions to the IP Module (Erweiterungen zum IP-Modul)

7.2. Extensions to the IP Module (Erweiterungen zum IP-Modul)

Um den Empfang von Multicast-IP-Datagrammen zu unterstützen, muss das IP-Modul auf zwei Arten erweitert werden: Führen einer Liste von Hostgruppenmitgliedschaften, die mit jeder Netzwerkschnittstelle verbunden sind, und Filtern eingehender IP-Datagramme nach Datagrammen, die an Hostgruppen adressiert sind, denen der Host angehört.

Die Liste der Hostgruppenmitgliedschaften wird als Reaktion auf JoinHostGroup- und LeaveHostGroup-Aktionen aktualisiert. Jeder Mitgliedseintrag sollte eine Zählung der Anzahl von JoinHostGroup-Anfragen für eine bestimmte Gruppe auf einer bestimmten Schnittstelle enthalten, die noch nicht durch LeaveHostGroup-Anfragen storniert wurden, sodass derselben Gruppe auf derselben Schnittstelle mehrfach beigetreten werden kann. Wenn der erste Join durchgeführt wird und es noch keinen Mitgliedseintrag für diese Gruppe gibt, wird ein neuer Mitgliedseintrag erstellt. Wenn der letzte verbleibende Leave für eine Gruppe auf einer Schnittstelle durchgeführt wird, wird der Mitgliedseintrag für diese Gruppe auf dieser Schnittstelle gelöscht.

Wann immer ein IP-Datagramm empfangen wird, prüft das IP-Modul, ob die Zieladresse mit einer Hostgruppenadresse in einem der Mitgliedseinträge übereinstimmt, und wenn ja, übergibt es eine Kopie des Datagramms an jedes in der Protokollmenge des Mitglieds angegebene Protokoll höherer Ebene. Für alle Mitgliedsprotokolle höherer Ebene, die dasselbe Protokoll höherer Ebene angeben, wird nur eine Kopie des übereinstimmenden Datagramms übergeben. Ein eingehendes Datagramm wird nicht einfach verworfen, weil es an eine Hostgruppe adressiert ist, der der Host anscheinend nicht angehört. Es könnte sich um ein eingehendes Multicast-Datagramm handeln, dessen Lebensdauer abgelaufen ist, in diesem Fall wird es an das ICMP-Protokoll übergeben.

Ein Fehlerzähler namens "fehlerhafte Multicast-IP-Datagramme empfangen" sollte geführt werden und jedes Mal inkrementiert werden, wenn ein Multicast-IP-Datagramm den erforderlichen Time-to-Live-Schwellenwert nicht erreicht, eine ungültige IP-Quelladresse hat oder auf einer Netzwerkschnittstelle empfangen wird, die IP-Multicasting nicht unterstützt, aber ansonsten ein gültiges IP-Datagramm zu sein scheint. (Diese Erweiterung ist eine Verallgemeinerung der Adressfehlerprüfung, die von einem nicht-Multicast-IP-Modul durchgeführt wird.)