Ereignisse
19. Nov., 23 Uhr - 21. Nov., 23 Uhr
Gewinnen Sie den Wettbewerbsvorteil, den Sie mit leistungsstarken KI- und Cloud-Lösungen benötigen, indem Sie microsoft Ignite online besuchen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
In diesem Thema werden die Konzepte der Windows-Netzwerkschnittstelle auf hoher Ebene beschrieben, einschließlich der Möglichkeiten, sie im Code zu identifizieren, und ihrer Eigenschaften..
Wichtig
Dieses Thema richtet sich an Entwickler, die sich mit Windows-Desktop-Netzwerk-Apps und Kernel-Modus-Netzwerktreibern befassen. Dennoch können einige der hier vorgestellten Informationen auch für Systemadministratoren hilfreich sein, die Netzwerkschnittstellen über PowerShell-Cmdlets verwalten.
Eine Netzwerkschnittstelle ist der Punkt, an dem zwei Netzwerkgeräte oder Protokollebenen eine Verbindung herstellen. In der Regel wird dies durch eine physische Netzwerkschnittstellenkarte (Network Interface Card, NIC) für die Verbindung zwischen einem Computer und einem privaten oder öffentlichen Netzwerk dargestellt. Sie kann jedoch auch die Form einer softwaregeschützten Komponente wie der Loopbackschnittstelle (127.0.0.1
für IPv4 oder ::1
für IPv6) annehmen.
Netzwerkschnittstellen werden von der Internet Engineering Task Force (IETF) in RFC 2863 definiert und sollen nicht von Windows definiert werden. Ausführliche Fragen zur Bedeutung von Netzwerkschnittstellenbezeichnern wie ifIndex finden Sie in den Definitionen der IETF. Im restlichen Thema werden die Details zur Windows-spezifischen Implementierung erläutert.
Unter Windows kann eine Netzwerkschnittstelle auf unterschiedliche Weise identifiziert werden. Einige dieser Bezeichner werden verwendet, um Netzwerkschnittstellen voneinander zu unterscheiden, aber nicht alle Bezeichner sind aufgrund ihrer unterschiedlichen Eigenschaften für diese Aufgabe gleichermaßen geeignet. Im Allgemeinen werden Netzwerkschnittstellen durch eine Netzwerkadresse für externe Komponenten identifiziert. Dies kann z. B. eine Knoten-ID und eine Portnummer oder einfach eine eindeutige Knoten-ID sein.
Im Code kann eine Netzwerkschnittstelle auf vielfältige Weise identifiziert werden. In der folgenden Tabelle werden die Möglichkeiten beschrieben, wie eine Netzwerkschnittstelle zusammen mit den zugehörigen Eigenschaften identifiziert werden kann. Wir empfehlen die Verwendung der Schnittstellen-GUID (ifGuid) für die Programmierung, es sei denn, eine bestimmte API erfordert einen anderen Netzwerkschnittstellenbezeichner.
Hinweis
In der folgenden Tabelle stellen fett formatierte Zellen eine Eigenschaft dar,die für Netzwerkprogrammierer wünschenswert ist.
Identifier | Size | Ist im System eindeutig | Ist in der Welt eindeutig | Ist vorhersehbar | Wird wiederverwendet, wenn die NIC entfernt wird | Bleibt auch nach Neustarts bestehen | Kann von Endbenutzern jederzeit geändert werden | Kann von Treibern jederzeit geändert werden | Allgemeine Vertrautheit mit Endbenutzern | Ist immer präsent |
---|---|---|---|---|---|---|---|---|---|---|
ifIndex | 4 Bytes | Ja | Nr. | Nein | Ja | Nein1 | Nein | Nein | Einige2 | Ja |
NetLuid | 8 Bytes | Ja | Nr. | Nein | Ja | Ja | Nein | Nein | Nein | Ja |
ifGuid | 16 Bytes | Ja | Normalerweise3 | No | Nein | Ja | Nein | Nein | Nein | Ja |
ifAlias | 514 Bytes | Ja für NICs4 | No | Manchmal5 | Ja | Ja | Ja | Nein | Ja | Normalerweise4 |
ifDescr | 514 Bytes | Normalerweise6 | No | Nein | Ja | Ja | Nein | Ja | Ja | Normalerweise |
ifPhysAddress (MAC-ADRESSE) | 0 bis 32 Bytes | In der Regel für NICs | In der Regel für NICs | Ja | An Hardware gebunden | Ja | Nein | Nein | Ja | Normalerweise 7 |
PnP-Instanz-ID | Bis zu 400 Byte | Ja | Nr. | Nein | Ja | Ja | Nein | Nein | No | In der Regel für NICs8 |
PnP-Position (PCI-Steckplatznummer) | Bis zu 400 Byte | Ja | Keine | Ja | Ja | Ja | Nein | Nein | Manchmal. | Manchmal8,9 |
Hinweise für die vorherige Tabelle:
netsh
Befehle verwenden ifIndex
oder index
als Eingabe. Daher sind einige administrative Benutzer mit der ifIndex-Eigenschaft vertraut, wenn sie den Befehl netsh
häufig verwenden.In der vorherigen Tabelle sind alle Eigenschaften mit Ausnahme der Plug and Play -Eigenschaften (PnP) für Desktop-Apps im Benutzermodus und Kernelmodustreiber über einen freigegebenen Header (Netioapi.h) sichtbar. Die PnP-Eigenschaften sind über den Devpkey.h-Header sichtbar und werden sowohl von Desktop-Apps im Benutzermodus als auch von Kernelmodustreibern verwendet. Weitere Informationen finden Sie z. B. in der DEVPKEY-Dokumentation.
Die IP-Hilfs-API ist auch für Benutzermodus-Desktop-Apps und Kernelmodustreiber verfügbar.
Die Oberfläche der UWP-API macht die ifGuid-Eigenschaft nur direkt verfügbar. Es ist jedoch möglich, dass Entwickler einer UWP-App die GetIfTable2-Funktion mithilfe von P/Invoke importieren, wenn sie auf andere Netzwerkschnittstelleneigenschaften zugreifen müssen.
Informationen zu Management Information Base (MIB-)Definitionen für Netzwerkschnittstellen finden Sie unter RFC 2863.
Informationen zu NDIS-Netzwerkschnittstellen in Netzwerktreibern finden Sie unter NDIS-Netzwerkschnittstellen.
Referenz zur Netioapi.h-API finden Sie unter netioapi.h-Header.
Ereignisse
19. Nov., 23 Uhr - 21. Nov., 23 Uhr
Gewinnen Sie den Wettbewerbsvorteil, den Sie mit leistungsstarken KI- und Cloud-Lösungen benötigen, indem Sie microsoft Ignite online besuchen.
Jetzt registrieren