ARP-Cache - Informationen zur Implementierung von Microsoft Windows 2000 tcp/IP

ARP-Cache
Sie können das ARP-Dienstprogramm verwenden, um Einträge im ARP-Cache anzuzeigen, hinzuzufügen oder zu löschen. Beispiele sehen Sie unten. Manuell hinzugefügte Einträge sind statisch und werden nicht automatisch aus dem Cache entfernt, während dynamische Einträge aus dem Cache entfernt werden (weitere Informationen dazu entnehmen Sie bitte dem Abschnitt "Alterung des ARP-Caches").
Mithilfe des Befehls arp können Sie den ARP-Cache anzeigen, wie hier gezeigt:
C:\>arp –a
Schnittstelle: 199.199.40.123
Internetadresse Physikal. Adresse Typ
199.199.40.1 00-00-0c-1a-eb-c5 dynamisch
199.199.40.124 00-dd-01-07-57-15 dynamisch
Schnittstelle: 10.57.8.190
Internetadresse Physikal. Adresse Typ
10.57.9.138 00-20-af-1d-2b-91 dynamisch
Der Computer in diesem Beispiel ist mehrfach vernetzt - hat mehr als eine NIC - so dass es für jede Schnittstelle einen eigenen ARP-Cache gibt.
In dem folgenden Beispiel wird der Befehl arp –s verwendet, um einem ARP-Cache einen statischen Eintrag hinzuzufügen, der von der zweiten Schnittstelle für den Host verwendet wird, dessen IP-Adresse 10.57.10.32 und dessen NIC-Adresse 00608C0E6C6A ist.
C:\>arp -s 10.57.10.32 00-60-8c-0e-6c-6a 10.57.8.190
C:\>arp –a
Schnittstelle: 199.199.40.123
Internetadresse Physikal. Adresse Typ
199.199.40.1 00-00-0c-1a-eb-c5 dynamisch
199.199.40.124 00-dd-01-07-57-15 dynamisch
Schnittstelle: 10.57.8.190
Internetadresse Physikal. Adresse Typ
10.57.9.138 00-20-af-1d-2b-91 dynamisch
10.57.10.32 00-60-8c-0e-6c-6a statisch
Alterung des ARP-Caches
Windows NT und Windows 2000 passen die Größe des ARP-Caches automatisch an, damit die Systemanforderungen erfüllt sind. Wenn ein Eintrag von einem ausgehenden Datagramm für zwei Minuten nicht verwendet wird, wird der Eintrag aus dem ARP-Cache entfernt. Einträge, die referenziert sind, werden aus dem ARP-Cache nach zehn Minuten entfernt. Manuell hinzugefügte Einträge werden aus dem Cache nicht automatisch entfernt. Ein neuer Registrierungsparameter, ArpCacheLife, wurde in Windows NT 3.51 Service Pack 4 hinzugefügt, um mehr Verwaltungskontrolle über die Alterung zu ermöglichen. Dieser Parameter wird in Anhang A beschrieben.
Mit dem Befehl arp –d löschen Sie Einträge aus dem Cache, wie unten dargestellt:
C:\>arp -d 10.57.10.32
C:\>arp –a
Schnittstelle: 199.199.40.123
Internetadresse Physikal. Adresse Typ
199.199.40.1 00-00-0c-1a-eb-c5 dynamisch
199.199.40.124 00-dd-01-07-57-15 dynamisch
Schnittstelle: 10.57.8.190
Internetadresse Physikal. Adresse Typ
10.57.9.138 00-20-af-1d-2b-91 dynamisch
ARP stellt nur ein ausgehendes IP-Datagramm für eine bestimmte Zieladresse in die Warteschlange, während die IP-Adresse in eine MAC-Adresse (Media Access Control) aufgelöst wird. Wenn eine UDP-basierte (User Datagram Protocol) Anwendung mehrere IP-Datagramme an eine einzelne Zieladresse ohne Pausen dazwischen sendet, können einige der Datagramme verworfen werden, wenn nicht bereits ein ARP-Cache-Eintrag vorhanden ist. Eine Anwendung kann dies ausgleichen, indem sie die iphlpapi.dll-Routine SendArp() aufruft, um einen ARP-Cacheeintrag zu erstellen, bevor der Paketstrom gesendet wird. Weitere Informationen zur IP-Hilfs-API finden Sie im Microsoft Knowledge Base-Artikel Q193059 (englischsprachig) oder im Plattform-SDK (deutsch) bzw. (englischsprachig) .
Internet Protocol (IP)
IP ist die Poststelle des TCP/IP-Stapels, wo das Sortieren und Ausliefern der Pakete erfolgt. In dieser Schicht wird jedes ausgehende oder eingehende Paket als Datagramm bezeichnet. Jedes IP-Datagramm trägt die Quell-IP-Adresse des Senders und die Ziel-IP-Adresse des beabsichtigten Empfängers. Anders als bei den MAC-Adressen bleiben die IP-Adressen in einem Datagramm während der gesamten Reise eines Datenpakets durch ein Internet unverändert. Die Funktionen der IP-Schicht werden nachfolgend beschrieben.
Routing
Routing ist eine Primärfunktion von IP. Datagramme werden an das IP vom höheren UDP und TCP und von der (den) niedrigeren NIC(s) weitergegeben. Jedes Datagramm wird mit einer Quell- und Ziel-IP-Adresse beschriftet. IP prüft die Zieladresse an jedem Datagramm, vergleicht sie mit einer lokal verwalteten Routingtabelle und beschließt, welche Maßnahme zu ergreifen ist. Es gibt drei Möglichkeiten für jedes Datagramm:
Es kann an eine Protokollschicht oberhalb vom IP auf dem lokalen Host weitergegeben werden.
Es kann mithilfe einer der lokal angebundenen NICs weitergeleitet werden.
Es kann verworfen werden.
DieRoutingtabelle verwaltet vier verschiedene Arten von Routen. Diese sind unten in der Reihenfolge aufgeführt, in der sie nach einer Entsprechung durchsucht werden:
Host (eine Route zu einer einzelnen bestimmten Ziel-IP-Adresse)
Subnetz (eine Route zu einem Subnetz)
Netzwerk (eine Route zu einem gesamten Netzwerk)
Standard (wird verwendet, wenn es keine andere Entsprechung gibt)
Um eine einzelne Route zu ermitteln, die für die Weiterleitung eines IP-Datagramms verwendet wird, verwendet IP den folgenden Prozess:
Für jede Route in der Routingtabelle führt IP ein bitweises logisches AND zwischen der Ziel-IP-Adresse und der Netzmaske durch. IP vergleicht das Ergebnis mit dem Netzwerkziel und sucht so eine Entsprechung. Wenn sie zusammenpassen, markiert IP die Route als eine, die der Ziel-IP-Adresse entspricht.
Aus der Liste der passenden Routen ermittelt IP die Route, die die meisten gesetzten Bits in der Netzmaske hat. Dies ist die Route, die in den meisten Bits der Ziel-IP-Adresse entspricht und daher die beste Route für das IP-Datagramm. Dies wird als die Suche nach der am längsten oder besten passenden Route bezeichnet.
Wenn mehrere am besten passende Routen gefunden werden, verwendet IP die Route mit der niedrigsten Metrik. Wenn mehrere am besten passende Routen mit der niedrigsten Metrik gefunden werden, kann IP eine der Routen auswählen.
Mit dem Befehl route print können Sie die Routingtabelle über die Eingabeaufforderung anzeigen, wie unten dargestellt:
C:\>route print
=========================================================================
Schnittstellenliste
0x1 ........................... MS TCP Loopback-Schnittstelle
0x2 ...00 a0 24 e9 cf 45 ...... 3Com 3C90x Ethernet Adapter
0x3 ...00 53 45 00 00 00 ...... NDISWAN Miniport
0x3 ...00 53 45 00 00 00 ...... NDISWAN Miniport
0x3 ...00 53 45 00 00 00 ...... NDISWAN Miniport
0x3 ...00 53 45 00 00 00 ...... NDISWAN Miniport
=========================================================================
=========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Anzahl
0.0.0.0 0.0.0.0 10.99.99.254 10.99.99.1 1
10.99.99.0 255.255.255.0 10.99.99.1 10.99.99.1 1
10.99.99.1 255.255.255.255 127.0.0.1 127.0.0.1 1
10.255.255.255 255.255.255.255 10.99.99.1 10.99.99.1 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 224.0.0.0 10.99.99.1 10.99.99.1 1
255.255.255.255 255.255.255.255 10.99.99.1 10.99.99.1 1
Standardgateway: 10.99.99.254
=========================================================================
Ständige Routen:
Keine
Die oben dargestellte Routingtabelle gilt für einen Computer mit der IP-Adresse der Klasse A 10.99.99.1, der Subnetzmaske 255.255.255.0 und dem Standardgateway 10.99.99.254. Sie enthält die folgenden acht Einträge:
Der erste Eintrag, für Adresse 0.0.0.0. ist die Standardroute.
Der zweite Eintrag ist für das Subnetz 10.99.99.0, in dem sich dieser Computer befindet.
Der dritte Eintrag an Adresse 10.99.99.1 ist eine Hostroute für den lokalen Host. Sie gibt die Loopback-Adresse an; dies hat Sinn, da für ein an den lokalen Host gerichtetes Datagramm intern ein Loopback durchgeführt werden sollte.
Der vierte Eintrag betrifft die Netzwerk-Broadcastadresse.
Der fünfte Eintrag betrifft die Loopback-Adresse 127.0.0.0.
Der sechste Eintrag betrifft das IP-Multicasting, das weiter unten in diesem Dokument diskutiert wird.
Der letzte Eintrag betrifft die Adresse für eingeschränktes Broadcasting (nur Einsen).
Das Standardgateway ist das gegenwärtig aktive Standardgateway. Es ist nützlich, dieses zu kennen, wenn mehrere Standardgateways konfiguriert sind.
Auf diesem Host ist, wenn ein Paket an 10.99.99.40 geschickt wird, die am besten passende Route die lokale Subnetzroute (10.99.99.0 mit der Maske 255.255.255.0). Das Paket wird über die lokale Schnittstelle 10.99.99.1 gesendet. Wenn ein Paket an 10.200.1.1 gesendet wird, ist die am besten passende Route die Standardroute. In diesem Fall wird das Paket an das Standardgateway weitergeleitet.
Die Routingtabelle wird in den meisten Fällen automatisch verwaltet. Wenn ein Host initialisiert wird, werden Einträge für das (die) lokale(n) Netzwerk(e), Loopback, Multicast und konfigurierte Standardgateway hinzugefügt. Es können weitere Routen in der Tabelle erscheinen, sofern die IP-Schicht diese feststellt. Beispielsweise kann das Standardgateway für einen Host der Tabelle eine bessere Route für ein bestimmtes Netzwerk, Subnetz oder einen Host per ICMP mitteilen, wie weiter unten in diesem Whitepaper beschrieben. Routen können auch manuell mit dem Befehl Route oder mit einem Routingprotokoll hinzugefügt werden. Der Schalter -p (beständig) kann zusammen mit dem Befehl Route verwendet werden, um permanente Routen anzugeben. Beständige Routen werden in der Registrierung unter dem Registrierungsschlüssel gespeichert.
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\Tcpip
\Parameters
\PersistentRoutes
Windows 2000 TCP/IP führt eine neue metrische Konfigurationsoption für Standardgateways ein. Diese Metrik ermöglicht eine bessere Kontrolle darüber, welches Standardgateway zu einem bestimmten Zeitpunkt aktiv ist. Der Standardwert für die Metrik ist 1. Eine Route mit einem niedrigeren Metrikwert wird einer Route mit einer höheren Metrik vorgezogen. Im Fall eines Standardgateways verwendet der Computer das mit der niedrigsten Metrik, sofern dieses nicht inaktiv zu sein scheint. In diesem Fall kann die Identifizierung von inaktiven Gateways ein Umschalten zum Gateway mit der nächstniedrigen Metrik auf der Liste veranlassen. Metrische Daten für Standardgateways können im Dialogfeld Erweiterte TCP/IP-Einstellungen festgelegt werden. DHCP-Server stellen eine Basismetrik und eine Liste der Standardgateways bereit. Wenn ein DHCP-Server eine Basis von 100 und eine Liste mit drei Standardgateways bereitstellt, werden die Gateways mit den metrischen Daten von 100, 101 bzw. 102 konfiguriert. Eine DHCP-seitige Basis gilt nicht für statisch konfigurierte Standardgateways.
Die meisten AS (Autonomous System) verwenden ein Protokoll wie das RIP-Router (Routing Information Protocol) oder OSPF (Open Shortest Path First), um untereinander Routingtabellen auszutauschen. Windows 2000 Server unterstützt diese Protokolle. Windows 2000 Professional unterstützt Silent RIP.
Standardmäßig verhalten sich Windows-basierte Systeme nicht wie Router und leiten keine IP-Datagramme zwischen Schnittstellen weiter. Routing und RAS sind jedoch in Windows 2000 Server integriert. Sie können aktiviert und konfiguriert werden, so dass sie alle Multiprotokoll-Routingdienste bereitstellen.
So verwalten Sie Routing und RAS
Zeigen Sie im Menü Start auf Programme.
Zeigen Sie auf Verwaltung, und klicken Sie dann auf Routing und RAS.
Wenn mehrere logische Subnetze auf demselben physischen Netzwerk ausgeführt werden, können Sie mit dem folgenden Befehl IP anweisen, alle Subnetze als lokal zu behandeln und das ARP direkt für das Ziel zu verwenden:
route add 0.0.0.0 MASK 0.0.0.0 <my local ip address>
Damit werden Pakete, die für nicht lokale Subnetze bestimmt sind, direkt an die lokalen Medien weitergeleitet, statt an einen Router gesendet zu werden. Im Wesentlichen kann die lokale Schnittstellenkarte zum Standardgateway bestimmt werden. Dies kann nützlich sein, wenn mehrere Netzwerke der Klasse C auf demselben physischen Netzwerk ohne Router zur Außenwelt oder in einer Proxy-ARP-Umgebung verwendet werden.
Erkennung von doppelten IP-Adressen
Die Erkennung von doppelten Adressen ist eine wichtige Funktion. Wenn der Stapel zum ersten Mal initialisiert wird oder eine neue IP-Adresse hinzugefügt wird, werden unbegründete ARP-Anforderungen für die IP-Adressen des lokalen Hosts übertragen. Die Anzahl der zu versendenden ARPs wird von dem Registrierungsparameter ArpRetryCount kontrolliert, der den Standardwert 3 hat. Wenn ein anderer Host auf eine dieser ARPs reagiert, ist die IP-Adresse bereits vergeben. Wenn dies passiert, wird der Windows-basierte Computer dennoch gestartet, die Schnittstelle, die die konfliktverursachende Adresse enthält, wird jedoch deaktiviert, eine Systemprotokolldatei erstellt und eine Fehlermeldung angezeigt. Wenn der Host, der die Adresse verteidigt, ebenfalls ein Windows-basierter Computer ist, wird ein Systemprotokolleintrag erstellt und eine Fehlermeldung auf diesem Computer angezeigt. Um den Schaden zu reparieren, der möglicherweise an den ARP-Caches auf den anderen Computern entstanden ist, sendet der konfliktverursachende Computer erneut eine ARP, die die Originalwerte in den ARP-Caches der anderen Computer wiederherstellt.
Ein Computer, der doppelte IP-Adressen verwendet, kann gestartet werden, wenn er nicht an das Netzwerk angeschlossen ist; in diesem Fall würde kein Konflikt festgestellt. Wenn er dann jedoch mit dem Netzwerk verbunden wird, wird jeder Windows NT-basierte Computer mit einer konfliktverursachenden Adresse beim ersten Versenden einer ARP-Anforderung nach einer anderen IP-Adresse den Konflikt feststellen. Der Computer, der den Konflikt feststellt, gibt eine Fehlermeldung aus und protokolliert das Ereignis ausführlich in einer Systemprotokolldatei. Ein Beispiel für einen Protokolleintrag zu einem Ereignis sehen Sie unten:
Das System hat einen Adressenkonflikt für die IP-Adresse 199.199.40.123 mit dem System mit der Netzwerk-Hardwareadresse 00:DD:01:0F:7A:B5 festgestellt. Als Folge davon können Netzwerkoperationen auf diesem System abgebrochen werden.
DHCP-kompatible Clients informieren den DHCP-Server, wenn ein IP-Adressenkonflikt entdeckt wird, und anstatt den Stapel ungültig zu machen, fordern sie eine neue Adresse vom DHCP-Server an und fordern den Server auf, die konfliktverursachende Adresse als fehlerhaft zu kennzeichnen. Diese Fähigkeit wird allgemein als Unterstützung von DHCP-Abweisung bezeichnet.
Multihoming
Wenn ein Computer mit mehr als einer IP-Adresse konfiguriert ist, wird er als ein mehrfach vernetztes System bezeichnet. Multihoming wird auf drei verschiedene Weisen unterstützt:
Mehrere IP-Adressen pro NIC
Um Adressen für eine Schnittstelle hinzuzufügen, zeigen Sie im Menü Start auf Einstellungen, und klicken Sie dann auf Netzwerk und DFÜ-Verbindungen. Klicken Sie mit der rechten Maustaste auf LAN-Verbindung und dann auf Eigenschaften. Wählen Sie Internetprotokoll (TCP/IP) aus, klicken Sie auf Eigenschaften, und klicken Sie dann auf Erweitert. Klicken Sie im Dialogfeld Erweiterte Einstellungen auf der Registerkarte IP-Einstellungen auf Hinzufügen, um IP-Adressen hinzuzufügen.
NetBIOS über TCP/IP (NetBT) stellt nur eine Verbindung zu einer IP-Adresse pro Schnittstellenkarte her. Wenn eine NetBIOS-Namensregistrierung gesendet wird, wird nur eine IP-Adresse pro Schnittstelle registriert. Diese Registrierung erfolgt über die IP-Adresse, die in der Benutzeroberfläche zuerst aufgeführt ist.
Mehrere NICs pro physischem Netzwerk. Abgesehen von der Hardware gelten keine Einschränkungen.
Mehrere Netzwerke und Medientypen. Abgesehen von der Hardware gelten keine Einschränkungen. Informationen zu den unterstützten Medientypen finden Sie im Abschnitt "Die NDIS-Schnittstelle und darunter".
Wenn ein IP-Datagramm von einem mehrfach vernetzten Host versendet wird, wird es an die Schnittstelle mit der anscheinend besten Route zum Ziel weitergegeben. Dementsprechend kann das Datagramm die Quell-IP-Adresse einer Schnittstelle in dem mehrfach vernetzten Host enthalten, jedoch von einer anderen Schnittstelle in den Medien platziert werden. Die Quell-MAC-Adresse in dem Rahmen ist die Adresse der Schnittstelle, die tatsächlich den Rahmen an die Medien überträgt, und die Quell-IP-Adresse ist die, von der die sendende Anwendung ihn erhalten hat. Dabei handelt es sich nicht unbedingt um eine der IP-Adressen, die mit der sendenden Schnittstelle in der Benutzeroberfläche Netzwerkverbindungen verbunden sind.
Wenn ein Computer mehrfach vernetzt ist und NICs an getrennte Netzwerke angeschlossen sind (Netzwerke, die von einander getrennt sind und sich gegenseitig nicht kennen, wie z. B. ein über Remotezugriff verbundenes Netzwerk und eine lokale Verbindung), können Routingprobleme entstehen. Häufig ist es in einem solchen Fall erforderlich, statische Routen zu Remotenetzwerken einzurichten.
Wenn ein Computer so konfiguriert wird, dass er in zwei getrennten Netzwerken mehrfach vernetzt ist, empfiehlt es sich, das Standardgateway in dem Haupt- oder größten und am wenigsten bekannten Netzwerk einzurichten. Fügen Sie dann entweder statische Routen hinzu, oder verwenden Sie ein Routingprotokoll, um Konnektivität zu den Hosts auf dem kleineren oder besser bekannten Netzwerk bereitzustellen. Vermeiden Sie das Konfigurieren von verschiedenen Standardgateways für beide Seiten. Dies kann zu einem unvorhersehbaren Verhalten und zum Konnektivitätsverlust führen.
Anmerkung Zu jedem gegebenen Zeitpunkt kann es nur ein aktives Standardgateway für einen Computer geben.
Weitere Informationen zur Namensregistrierung, Auflösung und Wahl der NIC bei ausgehenden Datagrammen bei mehrfach vernetzten Computern finden Sie in den Abschnitten "TCP (Transmission Control Protocol)", "NetBIOS über TCP/IP" und "Windows Sockets" dieses Whitepapers.
CIDR (Classless Inter-Domain-Routing)
Durch CIDR, beschrieben in den RFCs 1518 und 1519, entfällt das Konzept der Klasse bei der Zuweisung der IP-Adresse und dem Verwaltungsprozess. An der Stelle von vordefinierten, bekannten Grenzen weist CIDR Adressen zu, die durch eine Startadresse und einen Bereich definiert sind, wodurch der verfügbare Adressraum effizienter verwendet werden kann. Der Bereich definiert den Netzwerkteil der Adresse. Beispielsweise könnte eine Zuweisung von einem ISP an einen Firmenclient als 10.57.1.128 /25 ausgedrückt werden. Dies würde zu einem Block von 128 Adressen für die lokale Nutzung führen, wobei die obereren 25 Bits der das Netzwerk kennzeichnende Teil der Adresse wären. Eine herkömmliche, klassenweise Zuweisung würde ausgedrückt als .0.0.0 /8, ..0.0 /16 oder ...0 /24. Da diese zurückgefordert werden, werden sie mit den klassenlosen CIDR-Methoden erneut zugewiesen.
Angesichts der installierten Basis von Systemen, die Klassen verwenden, bestand die anfängliche Implementierung von CIDR im Verketten von Teilen des Klasse C-Adressraums. Dieser Prozess wurde als Supernetting bezeichnet. Mithilfe von Supernetting können mehrere Netzwerkadressen der Klasse C zu einem logischen Netzwerk konsolidiert werden. Damit Supernetting verwendet werden kann, müssen die IP-Netzwerkadressen, die verbunden werden sollen, dieselben höheren Bits haben, und die Subnetzmaske wird gekürzt, um Bits aus dem Netzwerkteil der Adresse herauszunehmen und diese dem Hostteil hinzuzufügen. Beispielsweise können die Netzwerkadressen der Klasse C 199.199.4.0, 199.199.5.0, 199.199.6.0 und 199.199.7.0 zusammengefasst werden, indem eine Subnetzmaske 255.255.252.0 für jede von ihnen verwendet wird:
NET 199.199.4 (1100 0111.1100 0111.0000 0100.0000 0000)
NET 199.199.5 (1100 0111.1100 0111.0000 0101.0000 0000)
NET 199.199.6 (1100 0111.1100 0111.0000 0110.0000 0000)
NET 199.199.7 (1100 0111.1100 0111.0000 0111.0000 0000)
MASKE 255.255.252.0 (1111 1111,1111 1111.1111 1100.0000 0000)
Wenn Routingentscheidungen getroffen werden, werden nur die Bits verwendet, die von der Subnetzmaske erfasst werden, so dass für Routingzwecke alle diese Adressen Teil desselben Netzwerkes zu sein scheinen. Alle verwendeten Router müssen CIRD unterstützen und können eine besondere Konfiguration erfordern. Windows 2000 TCP/IP unterstützt 0-er und 1-er Subnetze, wie in RFC 1878 beschrieben.
IP-Multicasting
IP-Multicasting wird verwendet, um effiziente Multicastdienste für Clients bereitzustellen, die sich unter Umständen nicht in demselben Netzwerksegment befinden. Windows Sockets-Anwendungen können einer Multicastgruppe beitreten, um beispielsweise an einer WAN-Konferenz teilzunehmen.
Windows 2000 ist Level-2 (senden und empfangen)-kompatibel mit RFC 1112. IGMP ist das Protokoll, das zur Verwaltung von IP-Multicasting verwendet wird. Darauf gehen wir weiter unten in diesem Dokument ein.
IP über ATM
In Windows 2000 wird die Unterstützung von IP über ATM eingeführt. RFC 1577 (und Nachfolger) definieren die Basisoperation eines IP über ein ATM-Netzwerk oder genauer gesagt, eines Logischen IP-Subnetzes über ein ATM-Netzwerk. Ein Logisches IP-Subnetz (oder LIS) ist eine Gruppe von IP-Hosts, die direkt miteinander kommunizieren können. Zwei Hosts, die zu verschiedenen Logischen IP-Subnetzen gehören, können nur durch einen IP-Router kommunizieren, der ein Mitglied beider Subnetze ist.
ATM-Adressenauflösung
Da ein ATM-Netzwerk ein Nicht-Broadcastnetz ist, sind ARP-Broadcasts (wie von Ethernet oder Token Ring verwendet) keine geeignete Lösung. Stattdessen wird ein dedizierter Address Resolution Protocol Server (oder ARP-Server) verwendet, um die Auflösung der IP in die ATM-Adresse bereitzustellen.
Eine der Stationen in einem LIS wird als ein ARP-Server gekennzeichnet (und die ARP-Serversoftware wird darauf geladen). Stationen, die die Dienste des ARP-Servers verwenden, werden als ARP-Clients bezeichnet. Alle IP-Stationen innerhalb eines LIS sind ARP-Clients. Jeder ARP-Client ist mit einer ATM-Adresse des ARP-Servers konfiguriert. Wenn ein ARP-Client gestartet wird, baut er eine ATM-Verbindung zu dem ARP-Server auf und sendet ein Paket an den Server, das die IP- und ATM-Adressen des Clients enthält. Der ARP-Server erstellt eine Tabelle der Zuordnungen von IP-Adressen zu ATM-Adressen. Wenn ein Client ein IP-Paket hat, das an einen anderen Client gesendet werden soll (dessen IP-Adresse bekannt ist, aber dessen ATM-Adresse unbekannt ist), fragt er zunächst die ATM-Adresse des gewünschten Clients bei dem ARP-Server ab. Wenn er eine Antwort mit der gewünschten ATM-Adresse enthält, stellt der Client eine direkte ATM-Verbindung zum Zielclient her und sendet die IP-Pakete für diesen Client über diese Verbindung.
Die Clients fahren alle ATM-Verbindungen, einschließlich der Verbindung zum Server, wieder herunter, wenn die Verbindungen nicht aktiv sind. Alle Clients aktualisieren ihre IP- und ATM-Adressinformationen in gewissen Abständen beim Server (Standard ist 15 Minuten). Ein Eintrag, der nach 20 Minuten (Standardwert) nicht aktualisiert wird, wird vom Server gelöscht. Der ATM ARP-Client und ARP-Server unterstützen beide eine Reihe von einstellbaren Parametern der Registrierung, die in Anhang A aufgeführt sind.
ICMP (Internet Control Message Protocol)
ICMP ist ein Wartungsprotokoll, das in RFC 792 spezifiziert ist und normalerweise als Teil der IP-Schicht angesehen wird. ICMP-Mitteilungen werden in IP-Datagrammen eingeschlossen, so dass sie durch ein Netzwerk geroutet werden können. Windows NT und Windows 2000 verwenden ICMP:
Zum Erstellen und Verwalten von Routingtabellen.
Zum Durchführen der Routersuche.
Zur Unterstützung bei der Ermittlung der maximalen Übertragungseinheit des Pfades.
Für Diagnoseprobleme (ping, tracert, pathping).
Zum Anpassen der Datenflusssteuerung zur Verhinderung der Sättigung von Verbindung oder Router.
ICMP-Routersuche
Windows 2000 kann Router gemäß der Spezifikation in RFC 1256 suchen. Die Suche nach Routern stellt eine verbesserte Methode zum Konfigurieren und Erkennen von Standardgateways bereit. Anstatt manuell oder DHCP-konfigurierte Standardgateways zu verwenden, können Hosts dynamisch Router in ihren Subnetzen suchen. Wenn der primäre Router ausfällt oder der Netzwerkadministrator die Routereinstellungen ändert, können Hosts automatisch zu einem Backup-Router wechseln.
Wenn ein Host, der die Routersuche unterstützt, initialisiert wird, tritt er der IP-Multicastgruppe aller Systeme (224.0.0.1) bei und hört dann die Routerankündigungen ab, die Router an diese Gruppe senden. Hosts können auch Routeranfragemeldungen an die Alle-Router-IP-Multicastadresse (224.0.0.2) senden, wenn eine Schnittstelle initialisiert wird, um eine Verzögerung bei der Konfiguration zu verhindern. Windows 2000 sendet maximal drei Anfragen in Intervallen von ca. 600 Millisekunden.
Die Verwendung der Routersuche wird gesteuert von den Registrierungsparametern PerformRouterDiscovery und SolicitationAddressBCast. Standardwert in Windows 2000 ist DHCP-Steuerung.
Wenn SolicitationAddressBCast auf 1 gesetzt wird, werden Routeranfragen als Broadcast statt als Multicast gesendet, wie in der RFC beschrieben.
Verwalten der Routingtabellen
Wenn ein Windows-basierter Computer initialisiert wird, enthält die Routingtabelle normalerweise nur wenige Einträge. Einer dieser Einträge gibt ein Standardgateway an. Datagramme, die eine Ziel-IP-Adresse mit keiner besseren Entsprechung in der Routingtabelle haben, werden an das Standardgateway gesendet. Da die Router jedoch Informationen über Netzwerktopologie gemeinsam verwenden, kann es sein, dass das Standardgateway eine bessere Route zu einer gegebenen Adresse kennt. Wenn dies der Fall ist, leitet der Router das Datagramm normal weiter, nachdem er ein Datagramm erhalten hat, das einen besseren Pfad nehmen konnte. Danach benachrichtigt es den Absender über die bessere Route mit einer Umleitungs-ICMP-Meldung. Diese Meldungen können die Umleitung für einen Host, ein Subnetz oder für ein gesamtes Netzwerk beinhalten. Wenn ein Windows-basierter Computer eine Umleitungs-ICMP-Meldung erhält, wird eine Gültigkeitsprüfung durchgeführt, um sicherzustellen, dass diese von dem Gateway des ersten Abschnitts auf der aktuellen Route kam und dass sich das Gateway in einem direkt angebundenen Netzwerk befindet. Falls dies der Fall ist, wird der Routingtabelle für diese Ziel-IP-Adresse eine Hostroute mit einer Gültigkeitsdauer von 10 Minuten hinzugefügt. Wenn die Umleitungs-ICMP-Meldung nicht von dem Gateway des ersten Abschnitts auf der aktuellen Route kam oder wenn das Gateway sich nicht in einem direkt angebundenen Netzwerk befindet, wird die Umleitungs-ICMP-Meldung ignoriert.
Ermittlung der maximalen Übertragungseinheit für den Pfad (Automatic Path Maximum Transmission Unit, PMTU)
TCP arbeitet mit der Ermittlung der maximalen Übertragungseinheit für den Pfad (Automatic Path Maximum Transmission Unit, PMTU), die weiter unten im Abschnitt "TCP (Transmission Control Protocol)" dieses Whitepapers beschrieben wird. Der Mechanismus beruht auf ICMP-Meldungen Ziel nicht erreichbar.
Verwendung von ICMP zur Problemdiagnose
Das Befehlszeilen-Dienstprogramm Ping wird verwendet, um ICMP-Echoanforderungen an eine IP-Adresse zu senden und auf die ICMP-Echoreaktionen zu warten. Ping berichtet über die Anzahl von erhaltenen Antworten und die Zeitintervalle, die zwischen der Anforderung und dem Erhalten der Antwort liegen. Es gibt viele verschiedene Optionen, die zusammen mit dem Dienstprogramm Ping verwendet werden können. Auf Ping wird im Abschnitt zur Problembehandlung dieses Whitepapers weiter eingegangen.
Tracert ist ein Dienstprogramm zum Verfolgen von Routen, das sehr hilfreich sein kann. Tracert funktioniert so, dass es die ICMP-Echoanforderungen an eine IP-Adresse sendet, während das TTL-Feld ) im IP-Header um einen Schritt erhöht wird. Begonnen wird bei 1. Die zurückgegebenen ICMP-Fehler werden analysiert. Jede nachfolgende Echoanforderung sollte einen Abschnitt weiter in das Netzwerk gehen, bevor das TTL-Feld 0 erreicht und der Router, der versucht, es weiterzuleiten, eine IMP-Fehlermeldung Zeitüberschreitung zurückgibt. Tracert druckt eine geordnete Liste der Router in dem Pfad aus, die diese Fehlermeldungen zurückgegeben haben. Wenn der Schalter -d (führe keine umgekehrte DNS-Abfrage zu jeder IP-Adresse aus) verwendet wird, wird die IP-Adresse der naheliegenden Schnittstelle des Routers gemeldet. Das Beispiel weiter unten veranschaulicht die Verwendung von Tracert zur Suche nach der Route von einem Computer, der sich über eine DFÜ-Verbindung über PPP (Point-to-Point Protocol) bei einem Internetdienstanbieter in Seattle eingewählt hat bei http://www.whitehouse.gov (englischsprachig).
C:\>tracert www.whitehouse.gov
Routenverfolgung zu www.whitehouse.gov [128.102.252.1]
über maximal 30 Abschnitte:
1 300 ms 281 ms 280 ms roto.seanet.com [199.181.164.100]
2 300 ms 301 ms 310 ms sl-stk-1-S12-T1.sprintlink.net [144.228.192.65]
3 300 ms 311 ms 320 ms sl-stk-5-F0/0.sprintlink.net [144.228.40.5]
4 380 ms 311 ms 340 ms icm-fix-w-H2/0-T3.icp.net [144.228.10.22]
5 310 ms 301 ms 320 ms arc-nas-gw.arc.nasa.gov [192.203.230.3]
6 300 ms 321 ms 320 ms n254-ed-cisco7010.arc.nasa.gov [128.102.64.254]
7 360 ms 361 ms 371 ms www.whitehouse.gov [128.102.252.1]
Pathping ist ein Dienstprogramm, das an der Befehlszeile ausgeführt wird, das die Funktionalität von Ping und Tracert verbindet und einige neue Funktionen einführt. Neben der Verfolgungsfunktionalität von Tracert sendet Pathping ein Pingsignal an jeden Abschnitt entlang der Route für eine bestimmte Zeitdauer und zeigt Ihnen die Verzögerung und den Paketverlust, wodurch sich feststellen lässt, ob sich eine schwache Verbindung im Pfad befindet.
QoS (Quality of Service) und RSVP (Resource Reservation Protocol)
Eine weitere neue Funktion in Windows 2000 ist die Unterstützung von QoS. Windows 2000 unterstützt mehrere QoS-Mechanismen, wie das RSVP (Resource reServation Protocol), DiffServ (Differentiated Services), IEEE 802.1p, ATM QoS und weitere. Die von Windows 2000 unterstützten QoS-Mechanismen werden durch eine einfache GQoS-API (Generic QoS) abstrahiert. Nachfolgend eine Übersicht über die Unterstützung für QoS durch den Stapel und die zugehörigen Systemkomponenten.
Die GQoS-API ist eine Erweiterung der Winsock-Programmieroberfläche. Sie enthält APIs und Systemkomponenten, die Anwendungen mit einer Methode zur Reservierung von Netzwerkbandbreite zwischen Client und Server bereitstellen. Windows 2000 ordnet QoS-Anforderungen automatisch QoS-Mechanismen wie RSVP, Diffserv, 802.1p oder ATM QoS zu. RSVP ist ein Signalprotokoll der Schicht 3, das zum Reservieren von Bandbreite für einzelne Datenströme in einem Netzwerk verwendet wird. RSVP ist ein QoS-Mechanismus für einzelne Datenströme, da es für jeden Datenstrom eine Reservierung vornimmt. Diffserv ist ein weiterer QoS-Mechnismus der Schicht 3. Diffserv definiert 6 Bits im IP-Header, die bestimmen, welche Priorität das IP-Paket hat3 . Diffserv-Verkehr kann in 64 mögliche Klassen eingestuft werden, die als abschnittsabhängiges Verhalten (Per Hop Behavior, PHB) bezeichnet werden. Andererseits ist 802.1p ein QoS-Mechanimus der Schicht 2, der definiert, mit welcher Priorität Geräte der Schicht 2, wie Ethernetschalter, das Datenaufkommen behandeln sollen. 802.1p definiert 8 Prioritätsklassen von 0 bis 7. DiffServ und 802.1p werden als Aggregat-QoS-Mechanismen bezeichnet, da sie alle den Datenverkehr in einer endlichen Anzahl von Prioritätsklassen definieren.
Die folgende Sequenz von Ereignissen charakterisiert die Interaktion einer Anwendung mit GQoS:
Die Anwendung fordert QoS abstrakt über GQoS an.
Die Anforderung der Anwendung wird in RSVP-Signalmeldungen übersetzt. RSVP-Signalmeldungen gehen in das Netzwerk hinaus und reservieren Bandbreite auf allen RSVP-fähigen Knoten auf dem Netzwerkpfad.
Zusätzlich zur Einrichtung von Reservierungen unterliegen die RSVP-Nachrichten der Überwachung durch Richtlinienserver im Netzwerk. Richtlinienserver können die RSVP-Anforderung ablehnen, wenn diese die Netzwerkrichtlinien verletzt. Dadurch kann der Netzwerkadministrator regeln, wer QoS bekommt.
Nachdem die RSVP-Reservierung installiert ist, beginnt Windows 2000 alle ausgehenden Pakete für diesen Datenstrom mit der entsprechenden DiffServ-Klasse und 802.1p-Priorität zu markieren.
Wenn der Datenverkehr vom Datenstrom seinen Weg durch das Netzwerk nimmt, profitiert er von der 802.1p-Priorität in 802.1p-fähigen Ethernetschaltern, von RSVP-Reservierungen in RSVP-fähigen Routern und von der DiffServ-Priorität in DiffServ-fähigen Blasen (Clouds) im Netzwerk.
Es gibt noch verschiedene weitere QoS-Mechanismen - wie z. B. ISATM (Integrated Services über ATM), das automatisch GQoS-Anforderungen der ATM-QoS auf klassische IP über ATM-Netzwerken abbildet. ISSLOW (Integrated Services Over Low Bit Rate) ist ein weiterer QoS-Mechanismus, der die Latenzzeit für Datenverkehr mit Priorität in langsamen WAN-Verbindungen verbessert. Zusätzlich zu der GQoS-API hat eine Kontroll- oder Verwaltungsanwendung Zugriff auf die Netzwerkverkehr-Steuerungsfunktionalität über die TC-API (Traffic Control). Die TC-API ermöglicht einer Kontroll- oder Managementanwendung die Unterstützung beim Bereitstellen einer gewissen Qualität des Dienstes für nicht QoS-fähige Anwendungen. Windows 2000 stellt auch einen Richtlinienserver mit dem Namen QoS-Zugangssteuerung (QoS Admission Control Service, QoS ACS) bereit. Der QoS-ACS ermöglicht Netzwerkadministratoren die Kontrolle darüber, wer in dem Netzwerk QoS bekommt. Der QoS-ACS verfügt auch über eine API mit dem Namen LPM-API (Local Policy Module). Die LPM-API ermöglicht ISVs das Erstellen von angepassten Richtlinienmodulen, die auf der Richtliniendurchsetzungsfunktionalität im QoS-ACS aufbauen.
Abbildung 2 unten stellt die Systemkomponenten dar, die QoS und RSVP betreffen. GQoS ist ein QoS-Anbieter, der die RSVP-Signale aufrufen, Verkehrssteuerung auslösen und die Anwendung über Ereignisse benachrichtigen kann. Rsvp.exe ist zuständig für die RSVP-Signale an das und von dem Netzwerk sowie für den Aufruf von Traffic.dll zum Hinzufügen von Datenflüssen und Filtern zu dem Stapel. Die Paketklassifizierung ist zuständig für das Klassifizieren von Paketen gemäß den Paketfiltern, die von Traffic.dll angegeben werden. Der Paketplaner verwaltet separate Warteschlangen für jede Klassifizierung von Datenverkehr und enthält einen Konformitätsanalysetool, Shaper und Paketsequenzer. Der Shaper verwaltet Datenflüsse in die Paketwarteschlangen mit der vereinbarten Rate, und der Sequenzer speist Pakete in die Netzwerkschnittstelle in der Prioritätsfolge der Warteschlangen ein, die er verwaltet. Datenverkehr, der keine QoS-Spezifikation hat, geht in die Höchstleistungswarteschlange, welche die niedrigste Priorität hat.
|