Freigeben über


<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>  

Siehe auch