_IPPROTO-IP-Socketoptionen

In den folgenden Tabellen werden IPPROTO_IP Socketoptionen beschrieben, die für Sockets gelten, die für die IPv4-Adressfamilie (AF _ INET) erstellt wurden. Weitere Informationen zum Abrufen und Festlegen von Socketoptionen finden Sie auf den Referenzseiten der getsockopt- und setsockopt-Funktion.

Um Protokolle aufzählen und unterstützte Eigenschaften für jedes installierte Protokoll zu finden, verwenden Sie die WSAEnumProtocols-, WSCEnumProtocols-oder WSCEnumProtocols32-Funktion.

Einige Socketoptionen erfordern mehr Erklärung, als diese Tabellen vermitteln können. solche Optionen enthalten Links zu zusätzlichen Seiten.

Optionen

Option Herunterladen Set Optval-Typ BESCHREIBUNG
IP_ADD_IFLIST ja DWORD (IF_INDEX) Fügt der IFLIST, die der Option "IP_IFLIST ist, einen Schnittstellenindex hinzu.
IP_ADD_MEMBERSHIP ja ip_mreq Verbinden Sie den Socket mit der angegebenen Multicastgruppe auf der angegebenen Schnittstelle.
IP_ADD_SOURCE_MEMBERSHIP ja ip _ mreq _ source Verbinden Sie die angegebene Multicastgruppe auf der angegebenen Schnittstelle, und akzeptieren Sie die Von der angegebenen Quelladresse stammenden Daten.
_ _ IP-BLOCKQUELLE ja ip _ mreq _ source Entfernt die angegebene Quelle als Absender aus der angegebenen Multicastgruppe und -schnittstelle.
IP_DEL_IFLIST ja DWORD (IF_INDEX) Entfernt einen Schnittstellenindex aus der IFLIST, die der option IP_IFLIST ist. Einträge können nur von der Anwendung entfernt werden. Beachten Sie daher, dass Einträge möglicherweise veraltet sind, sobald eine Schnittstelle entfernt wird.
IP _ DONTFRAGMENT ja ja DWORD (boolean) Gibt an, dass Daten unabhängig von der lokalen MTU nicht fragmentiert werden sollen. Nur für nachrichtenorientierte Protokolle gültig. Microsoft TCP/IP-Anbieter achten diese Option für UDP und ICMP.
IP _ DROP _ MEMBERSHIP ja ip _ mreq Verlässt die angegebene Multicastgruppe von der angegebenen Schnittstelle. Dienstanbieter müssen diese Option unterstützen, wenn Multicast unterstützt wird. Die Unterstützung wird in der WSAPROTOCOL _ INFO-Struktur angegeben, die von einem WSAEnumProtocols-Funktionsaufruf mit folgendem Wert zurückgegeben wird: XPI _ SUPPORT _ MULTIPOINT=1, XP1 _ MULTIPOINT _ CONTROL _ PLANE=0, XP1 _ MULTIPOINT DATA _ _ PLANE=0.
IP _ DROP _ SOURCE _ MEMBERSHIP ja ip _ mreq _ source Löscht die Mitgliedschaft in der angegebenen Multicastgruppe, Schnittstelle und Quelladresse.
IP_GET_IFLIST ja DWORD[] (IF_INDEX[]) Ruft die aktuelle IFLIST ab, die der IP_IFLIST zugeordnet ist. Gibt einen Fehler zurück, IP_IFLIST nicht aktiviert ist.
IP _ HDRINCL ja ja DWORD (boolean) Wenn auf TRUE festgelegt, gibt die Anwendung den IP-Header an. Gilt nur für SOCK _ RAW-Sockets. Der TCP/IP-Dienstanbieter kann das ID-Feld festlegen, wenn der von der Anwendung angegebene Wert 0 (null) ist. Die OPTION _ IP HDRINCL wird nur auf den SOCK _ RAW-Protokolltyp angewendet. Ein TCP/IP-Dienstanbieter, der SOCK _ RAW unterstützt, sollte auch IP _ HDRINCL unterstützen.
IP_IFLIST ja ja DWORD (boolean) Ruft den IP_IFLIST des Sockets ab oder legt diese fest. Wenn diese Option auf TRUE festgelegt ist, ist der Empfang von Datagrammen auf Schnittstellen in der IFLIST beschränkt. Datagramme, die auf anderen Schnittstellen empfangen werden, werden ignoriert. IFLIST wird leer gestartet. Verwenden IP_ADD_IFLIST und IP_DEL_IFLIST, um iflist zu bearbeiten.
_IP-MTU ja DWORD Ruft die Schätzung des Systempfads der MTU ab. Der Socket muss verbunden sein.
IP _ MTU _ DISCOVER ja ja DWORD (PMTUD _ STATE) Ruft den MTU-Ermittlungsstatus des Pfads für den Socket ab oder legt diesen fest. Der Standardwert ist IP _ PMTUDISC _ NOT _ SET. Für Streamsockes führen IP _ PMTUDISC _ NOT _ SET und IP _ PMTUDISC _ DO die PFAD-MTU-Ermittlung aus. IP-Adresse _ PMTUDISC _ DONT und IP _ PMTUDISC _ PROBE deaktivieren den Pfad der MTU-Ermittlung. Bei Datagrammsockets erzwingen IP _ PMTUDISC _ DO, dass alle ausgehenden Pakete das DF-Bit festgelegt haben, und der Versuch, Pakete zu senden, die größer als der Pfad MTU sind, führt zu einem Fehler. IP-Adresse _ PMTUDISC _ DONT erzwingen, dass für alle ausgehenden Pakete das DF-Bit nicht festgelegt ist, und pakete werden gemäß der MTU der Schnittstelle fragmentiert. IP-Adresse _ PMTUDISC _ PROBE erzwingen, dass alle ausgehenden Pakete das DF-Bit festgelegt haben, und ein Versuch, Pakete zu senden, die größer als die Mtu der Schnittstelle sind, führt zu einem Fehler.
IP _ MULTICAST _ IF ja ja DWORD Ruft die ausgehende Schnittstelle zum Senden von IPv4-Multicastdatenverkehr ab oder legt sie fest. Diese Option ändert nicht die Standardschnittstelle für den Empfang von IPv4-Multicastdatenverkehr. Der Eingabewert zum Festlegen dieser Option ist eine 4-Byte-IPv4-Adresse in Der Netzwerk-Byte-Reihenfolge. Dieser DWORD-Parameter kann auch ein Schnittstellenindex in Netzwerk-Byte-Reihenfolge sein. Jede IP-Adresse im Block 0.x.x.x (erstes Oktett von 0) mit Ausnahme der IPv4-Adresse 0.0.0.0 wird als Schnittstellenindex behandelt. Ein Schnittstellenindex ist eine 24-Bit-Zahl, und der IPv4-Adressblock 0.0.0.0/8 wird nicht verwendet (dieser Bereich ist reserviert). Der Schnittstellenindex kann verwendet werden, um die Standardschnittstelle für Multicastdatenverkehr für IPv4 anzugeben. Wenn optval 0 (null) ist, wird die Standardschnittstelle für den Empfang von Multicast zum Senden von Multicastdatenverkehr angegeben. Beim Abrufen dieser Option gibt optval den aktuellen Standardschnittstellenindex zum Senden von Multicast-IPv4-Datenverkehr in Host-Byte-Reihenfolge zurück.
IP _ _ MULTICAST-SCHLEIFE ja ja DWORD (boolean) Steuert, ob daten, die von einer Anwendung auf dem lokalen Computer (nicht notwendigerweise vom gleichen Socket) in einer Multicastsitzung gesendet werden, von einem Socket empfangen werden, der mit der Multicastzielgruppe auf der Loopbackschnittstelle verbunden ist. Der Wert TRUE bewirkt, dass von einer Anwendung auf dem lokalen Computer gesendete Multicastdaten an einen lauschenden Socket auf der Loopbackschnittstelle übermittelt werden. Der Wert FALSE verhindert, dass von einer Anwendung auf dem lokalen Computer gesendete Multicastdaten an einen lauschenden Socket auf der Loopbackschnittstelle übermittelt werden. Standardmäßig ist IP _ MULTICAST _ LOOPBACK aktiviert.
_ _ IP-MULTICAST-TTL ja ja DWORD Legt den TTL-Wert fest, der dem IP-Multicastdatenverkehr auf dem Socket zugeordnet ist, bzw. ruft ihn ab.
_IP-OPTIONEN ja ja Char [] Gibt IP-Optionen an, die in ausgehende Pakete eingefügt werden sollen. Durch das Festlegen neuer Optionen werden alle zuvor angegebenen Optionen überschrieben. Durch festlegen von optval auf 0 (null) werden alle zuvor angegebenen Optionen entfernt. IP OPTIONS-Unterstützung ist nicht erforderlich. Um zu überprüfen, ob IP-OPTIONEN unterstützt werden, verwenden Sie _ _ getsockopt, um aktuelle Optionen zu erhalten. Wenn getsockopt fehlschlägt, werden _ IP-OPTIONEN nicht unterstützt.
URSPRÜNGLICHE _ _ IP-ANKUNFT, _ WENN ja ja DWORD (boolean) Gibt an, ob die funktion LPFN_WSARECVMSG (WSARecvMsg) optionale Steuerungsdaten zurückgeben soll, die die Ankunftsschnittstelle enthalten, an der das Paket für Datagrammsockets empfangen wurde. Mit dieser Option kann die IPv4-Schnittstelle, an der das Paket empfangen wurde, in der WSAMSG-Struktur zurückgegeben werden. Diese Option ist nur für Datagramm und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein).
_IP-PKTINFO ja ja DWORD Gibt an, dass Paketinformationen von der WSARecvMsg-Funktion zurückgegeben werden sollen.
_ _ IP-EMPFANGSÜBERTRAGUNG ja ja DWORD (boolean) Ermöglicht oder blockiert den Empfang von Übertragungen.
IP _ RECVIF ja ja DWORD (boolean) Gibt an, ob der IP-Stapel den Steuerungspuffer mit Details darüber auffüllen soll, welche Schnittstelle ein Paket mit einem Datagrammsocket empfangen hat. Wenn dieser Wert true ist, gibt die LPFN_WSARECVMSG-Funktion (WSARecvMsg) optionale Steuerungsdaten zurück, die die Schnittstelle enthalten, an der das Paket für Datagrammsockes empfangen wurde. Mit dieser Option kann die IPv4-Schnittstelle, an der das Paket empfangen wurde, in der WSAMSG-Struktur zurückgegeben werden. Diese Option ist nur für Datagramm und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein).
_IP-RECVTOS ja ja DWORD (boolean) Gibt an, ob der IP-Stapel den Steuerungspuffer mit einer Nachricht auffüllen soll, die das IPv4-Headerfeld des Typs des Diensts (TOS) für ein empfangenes Datagramm enthält. Wenn dieser Wert true ist, gibt die LPFN_WSARECVMSG-Funktion (WSARecvMsg) optionale Steuerungsdaten zurück, die den Wert des TOS-IPv4-Headerfelds des empfangenen Datagramms enthalten. Mit dieser Option kann das TOS-IPv4-Headerfeld des empfangenen Datagramms in der WSAMSG-Struktur zurückgegeben werden. Der zurückgegebene Nachrichtentyp ist _ IP-TOS. Alle DSCP- und ECN-Bits des TOS-Felds werden zurückgegeben. Diese Option ist nur für Datagrammsockets gültig (der Sockettyp muss SOCK _ DGRAM sein).
IP _ RECVTTL ja ja DWORD (boolean) Gibt an, dass Hopinformationen (TTL) in der funktion LPFN_WSARECVMSG (WSARecvMsg) zurückgegeben werden sollen. Wenn optval beim Aufruf von setsockoptauf 1 festgelegt ist, ist die Option aktiviert. Wenn diese Option auf 0 festgelegt ist, ist die Option deaktiviert. Diese Option ist nur für Datagramm- und Unformatiertocket gültig (der Sockettyp muss SOCK _ DGRAM oder SOCK _ RAW sein).
_IP-TOS ja ja DWORD (boolean) Nicht verwenden. Der Typ der Diensteinstellungen (TOS) sollte nur mithilfe der Quality of Service festgelegt werden. Weitere Differentiated Services finden Sie Quality of Service Abschnitt "Plattform-SDK".
_IP-Tl ja ja DWORD (boolean) Ändert den vom TCP/IP-Dienstanbieter festgelegten Standardwert im TTL-Feld des IP-Headers in ausgehenden Datagrammen. _IP-TTL-Unterstützung ist nicht erforderlich. Um zu überprüfen, ob IP-Tl unterstützt wird, verwenden Sie _ getsockopt, um aktuelle Optionen zu erhalten. Wenn getsockopt fehlschlägt, wird die _ IP-Tl nicht unterstützt.
_ _ IP-ENTSPERRUNGSQUELLE ja ip _ mreq _ source Fügt der angegebenen Multicastgruppe und -schnittstelle die angegebene Quelle als Absender hinzu.
IP _ UNICAST _ IF ja ja DWORD (IF _ INDEX) Ruft die ausgehende Schnittstelle zum Senden von IPv4-Datenverkehr ab oder legt sie fest. Diese Option ändert nicht die Standardschnittstelle für den Empfang von IPv4-Datenverkehr. Diese Option ist für mehrfach vernetzte Computer wichtig. Der Eingabewert zum Festlegen dieser Option ist eine 4-Byte-IPv4-Adresse in Der Netzwerk-Byte-Reihenfolge. Dieser DWORD-Parameter muss ein Schnittstellenindex in Netzwerk-Byte-Reihenfolge sein. Jede IP-Adresse im Block 0.x.x.x (erstes Oktett von 0) mit Ausnahme der IPv4-Adresse 0.0.0.0 wird als Schnittstellenindex behandelt. Ein Schnittstellenindex ist eine 24-Bit-Zahl, und der IPv4-Adressblock 0.0.0.0/8 wird nicht verwendet (dieser Bereich ist reserviert). Der Schnittstellenindex kann verwendet werden, um die Standardschnittstelle zum Senden von Datenverkehr für IPv4 anzugeben. Die GetAdaptersAddresses-Funktion kann verwendet werden, um die Informationen zum Schnittstellenindex zu erhalten. Wenn optval 0 (null) ist, wird die Standardschnittstelle zum Senden von Datenverkehr auf nicht angegeben festgelegt. Beim Abrufen dieser Option gibt optval den aktuellen Standardschnittstellenindex zum Senden von IPv4-Datenverkehr in der Host-Bytereihenfolge zurück.
IP_USER_MTU ja ja DWORD Ruft eine Obergrenze für die IP-Schicht-MTU (in Bytes) für den angegebenen Socket ab oder legt diese fest. Wenn der Wert höher als die Schätzung des Pfads mtu des Systems ist (den Sie für einen verbundenen Socket abrufen können, indem Sie die option IP_MTU Socket abfragen), hat die Option keine Auswirkungen. Wenn der Wert niedriger ist, werden ausgehende Pakete, die größer als dieser sind, fragmentiert oder können nicht gesendet werden, abhängig vom Wert von IP_DONTFRAGMENT. Der Standardwert ist IP_UNSPECIFIED_USER_MTU (MAXULONG). Zur Typsicherheit sollten Sie die Funktionen WSAGetIPUserMtu und WSASetIPUserMtu verwenden, anstatt die Socketoption direkt zu verwenden.
_ _ IP-WFP-UMLEITUNGSKONTEXT _ ja ja WSACMSGHDR mit Steuerdaten Ein Datagrammsocket-Hilfsdatentyp _ (cmsg-Typ), um den Umleitungskontext für einen UDP-Socket anzugeben, der von einem Benutzermodus Windows WFP-Umleitungsdiensts (Filtering Platform) verwendet wird.
_ _ IP-WFP-UMLEITUNGSDATENSÄTZE _ ja ja WSACMSGHDR mit Steuerdaten Ein Datagrammsocket-Hilfsdatentyp _ (cmsg-Typ), um den Umleitungsdatensatz für einen UDP-Socket anzugeben, der von einem Benutzermodus Windows WFP-Umleitungsdiensts (Filtering Platform) verwendet wird.

Windows Unterstützung für IP _ PROTO-Optionen

Option Windows 10 Windows 8 Windows Server 2012 Windows 7 Windows Server 2008 Windows Vista
IP_ADD_IFLIST Ab Windows 10 Version 1803
_IP-MITGLIEDSCHAFT HINZUFÜGEN _ x x x x x x
_IP-QUELLMITGLIEDSCHAFT HINZUFÜGEN _ _ x x x x x x
_ _ IP-BLOCKQUELLE x x x x x x
IP_DEL_IFLIST Ab Windows 10 Version 1803
_IP-DONTFRAGMENT x x x x x x
IP _ DROP _ MEMBERSHIP x x x x x x
IP _ DROP _ SOURCE _ MEMBERSHIP x x x x x x
IP_GET_IFLIST Ab Windows 10 Version 1803
IP _ HDRINCL x x x x x x
IP_IFLIST Ab Windows 10 Version 1803
IP _ MULTICAST _ IF x x x x x x
IP _ _ MULTICAST-SCHLEIFE x x x x x x
_ _ IP-MULTICAST-TTL x x x x x x
_IP-OPTIONEN x x x x x x
URSPRÜNGLICHE _ _ IP-ANKUNFT, _ WENN x x x x
_IP-PKTINFO x x x x x x
_ _ IP-EMPFANGSÜBERTRAGUNG x x x x x x
IP _ RECVIF Ab Windows 10 Version 1703 x x x x x
IP _ RECVTTL x
_IP-TOS x x x
_IP-Tl x x x x x x
_ _ IP-ENTSPERRUNGSQUELLE x x x x x x
IP _ UNICAST _ IF x x x x x x
_ _ IP-WFP-UMLEITUNGSKONTEXT _ x x x
_ _ IP-WFP-UMLEITUNGSDATENSÄTZE _ x x x

Option Windows Server 2003 Windows XP
IP_ADD_IFLIST
_IP-MITGLIEDSCHAFT _ HINZUFÜGEN x x
_IP-ADRESSE: _ _ QUELLMITGLIEDSCHAFT HINZUFÜGEN x x
_ _ IP-BLOCKQUELLE x x
IP_DEL_IFLIST
IP _ DONTFRAGMENT x x
IP _ DROP _ MEMBERSHIP x x
IP _ DROP _ SOURCE _ MEMBERSHIP x x
IP_GET_IFLIST
IP _ HDRINCL x x
IP_IFLIST
IP _ MULTICAST _ IF x x
IP _ _ MULTICAST-SCHLEIFE x x
IP _ MULTICAST _ TTL x x
_IP-OPTIONEN x x
IP _ ORIGINAL _ ARRIVAL _ IF
IP _ PKTINFO x x
_IP-EMPFANGSÜBERTRAGUNG _ x x
IP _ RECVIF
IP _ RECVTTL
_IP-TOS
_IP-Gültigkeitsdauer x x
IP _ UNBLOCK _ SOURCE x x
IP _ UNICAST _ IF
_ _ IP-WFP-UMLEITUNGSKONTEXT _
_ _ IP-WFP-UMLEITUNGSDATENSÄTZE _

Bemerkungen

Im Microsoft Windows Software Development Kit (SDK), das für Windows Vista und höher veröffentlicht wurde, hat sich die Organisation der Headerdateien geändert, und die _ IPPROTO-IP-Ebene wird in der Headerdatei Ws2def.h definiert, die automatisch in der Winsock2.h-Headerdatei enthalten ist. Einige der IPPROTO-IP-Socketoptionen _ sind in der Headerdatei Ws2ipdef.h definiert, die automatisch in der Headerdatei Ws2tcpip.h enthalten ist. Die verbleibenden IPPROTO-IP-Socketoptionen _ werden in der Headerdatei Wsipv6ok.h definiert, die automatisch in der Winsock2.h-Headerdatei enthalten ist. Die Headerdateien Ws2def.h, Ws2ipdef.h und Wsipv6ok.h sollten nie direkt verwendet werden.

Im Plattform-SDK, das für Windows Server 2003 und Windows XP veröffentlicht wurde, wird die IPPROTO-IP-Ebene _ in der Winsock2.h-Headerdatei definiert. Einige der _ IPPROTO-IP-Socketoptionen sind in der Headerdatei Ws2tcpip.h definiert. Die verbleibenden IPPROTO-IP-Socketoptionen _ werden in der Headerdatei Wsipv6ok.h definiert, die automatisch in der Winsock2.h-Headerdatei enthalten ist. Die Headerdatei Wsipv6ok.h sollte nie direkt verwendet werden.

Requirements (Anforderungen)

Anforderung Wert
Header
Ws2def.h (einschließlich Winsock2.h);
Ws2ipdef.h (einschließlich Ws2tcpip.h);
Wsipv6ok.h (einschließlich Winsock2.h)