<socket>-Element (Netzwerkeinstellungen)
Hiermit wird angegeben, ob Socketvorgänge Abschlussports verwenden.
<configuration>
<system.net>
<settings>
<Socket>
Syntax
<socket
alwaysUseCompletionPortsForConnect="true|false"
alwaysUseCompletionPortsForAccept="true|false"
ipProtectionLevel="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Attribut | Beschreibung |
---|---|
alwaysUseCompletionPortsForAccept |
Dieses Attribut gibt an, ob der Socket immer Abschlussports für Accept-Methodenaufrufe verwenden soll. Der Standardwert ist false . |
alwaysUseCompletionPortsForConnect |
Dieses Attribut gibt an, ob der Socket immer Abschlussports für Connect-Methodenaufrufe verwenden soll. Der Standardwert ist false . |
ipProtectionLevel |
Hiermit wird die System.Net.Sockets.IPProtectionLevel-Standardenumeration angegeben, die für einen Socket verwendet werden soll. Der Standardwert hängt von der Windows-Version ab. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | Beschreibung |
---|---|
settings | Konfiguriert grundlegende Netzwerkoptionen für den System.Net-Namespace. |
Bemerkungen
Die Attribute alwaysUseCompletionPortsForAccept
und alwaysUseCompletionPortsForConnect
werden verwendet, um das Standardverhalten für die Verwendung von Abschlussports durch die Klassen im System.Net.Sockets-Namespace anzugeben. Abschlussports werden für Hochleistungs-Serveranwendungen empfohlen.
Der Standardwert für die Attribute alwaysUseCompletionPortsForAccept
und alwaysUseCompletionPortsForConnect
ist false.
AlwaysUseCompletionPortsForAccept kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForAccept
-Attributs aus den entsprechenden Konfigurationsdateien abzurufen. AlwaysUseCompletionPortsForConnect kann verwendet werden, um den aktuellen Wert des alwaysUseCompletionPortsForConnect
-Attributs aus den entsprechenden Konfigurationsdateien abzurufen.
Das ipProtectionLevel
-Attribut gibt die System.Net.Sockets.IPProtectionLevel-Standardenumeration an, die für einen Socket verwendet werden soll. Die IPProtectionLevel-Eigenschaft ermöglicht die Konfiguration einer Einschränkung für einen IPv6-Socket auf einen angegebenen Bereich (z. B. Adressen mit demselben linklokalen oder standortlokalen Präfix). Mit dieser Option können Anwendungen Zugriffsbeschränkungen für IPv6-Sockets festlegen. Mit solchen Einschränkungen kann sich eine im privaten LAN ausgeführte Anwendung selbst einfach und stabil vor externen Angriffen schützen. Diese Option erweitert oder beschränkt den Bereich eines lauschenden Sockets und ermöglicht so bei Bedarf den uneingeschränkten Zugriff von öffentlichen und privaten Benutzer*innen oder beschränkt den Zugriff nur auf denselben Standort.
Diese ipProtectionLevel
-Attributeinstellung wirkt sich nur auf den anfänglichen eingehenden Datenverkehr aus:
TCP-Server, der auf eingehende Verbindungen für einen Socket lauscht
UDP-Anwendung, die ein Paket für einen Socket empfängt
Diese Konfigurationseinstellung wirkt sich nicht auf bereits hergestellte TCP-Verbindungen (Datenverkehr ist in beide Richtungen uneingeschränkt) und Anwendungen aus, die UDP-Pakete senden.
Die möglichen Werte für die ipProtectionLevel
-Attributeinstellung entsprechen den definierten Schutzstufen, die in der System.Net.Sockets.IPProtectionLevel-Enumeration wie folgt angegeben sind:
Attributwert | Beschreibung |
---|---|
EdgeRestricted | Die IP-Schutzebene ist auf den Netzwerk-Edge beschränkt. Dieser Wert wird von Anwendungen verwendet, die für den Betrieb über das Internet konzipiert sind. Diese Einstellung lässt die NAT-Überquerung (Netzwerkadressenübersetzung) mithilfe der Windows Teredo-Implementierung nicht zu. Diese Anwendungen können IPv4-Firewalls umgehen und müssen daher vor Internetangriffen auf den geöffneten Anschluss geschützt werden. Unter Windows Server 2003 und Windows XP ist der Standardwert für die IP-Schutzebene für einen Socket "EdgeRestricted". |
Eingeschränkt | Die IP-Schutzebene ist eingeschränkt. Dieser Wert wird von Intranetanwendungen verwendet, die keine Internetszenarios implementieren. Diese Anwendungen werden im Allgemeinen nicht getestet oder vor Internetangriffen geschützt. Diese Einstellung beschränkt den empfangenen Datenverkehr auf linklokalen Datenverkehr. |
Nicht eingeschränkt | Die IP-Schutzebene ist nicht eingeschränkt. Dieser Wert wird von Anwendungen verwendet, die für den Betrieb über das Internet konzipiert sind. Dazu zählen Anwendungen, die in Windows integrierte IPv6-NAT-Überquerungsfunktionen nutzen (z. B. Teredo). Diese Anwendungen können IPv4-Firewalls umgehen und müssen daher vor Internetangriffen auf den geöffneten Anschluss geschützt werden. Unter Windows Server 2008 R2 und Windows Vista ist der Standardwert für die IP-Schutzebene für einen Socket "Unrestricted". |
Nicht angegeben. | Die IP-Schutzebene ist nicht angegeben. Unter Windows 7 und Windows Server 2008 R2 ist der Standardwert für die IP-Schutzebene für einen Socket "Unspecified". |
Der Standardwert für das ipProtectionLevel
-Attribut lautet Unspecified.
Die IPProtectionLevel-Eigenschaft kann verwendet werden, um den aktuellen Wert des ipProtectionLevel
-Attributs aus den entsprechenden Konfigurationsdateien abzurufen.
Konfigurationsdateien
Dieses Element kann in der Anwendungskonfigurationsdatei oder in der Computerkonfigurationsdatei ("Machine.config") verwendet werden.
Beispiel
Das folgende Beispiel zeigt, wie Sie angeben, dass Abschlussports verwendet werden sollen und die System.Net.Sockets.IPProtectionLevel-Standardenumeration uneingeschränkt sein soll.
<configuration>
<system.net>
<settings>
<socket
alwaysUseCompletionPortsForAccept="true"
alwaysUseCompletionPortsForConnect="true"
ipProtectionLevel="Unrestricted"
/>
</settings>
</system.net>
</configuration>