<socket> , element (ustawienia sieciowe)

Określa, czy operacje gniazda używają portów uzupełniania.

<Konfiguracji>
  <system.net>
    <Ustawienia>
      <Gniazdo>

Składnia

<socket  
  alwaysUseCompletionPortsForConnect="true|false"  
  alwaysUseCompletionPortsForAccept="true|false"  
  ipProtectionLevel="EdgeRestricted|Restricted|Unrestricted|Unspecified"  
/>  

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Atrybut Opis
alwaysUseCompletionPortsForAccept Wskazuje, czy gniazdo powinno zawsze używać portów uzupełniania dla akceptowania wywołań metody. Wartość domyślna to false.
alwaysUseCompletionPortsForConnect Wskazuje, czy gniazdo powinno zawsze używać portów uzupełniania dla wywołań metody Connect. Wartość domyślna to false.
ipProtectionLevel Określa wartość domyślną System.Net.Sockets.IPProtectionLevel , która ma być używana dla gniazda. Wartość domyślna zależy od wersji systemu Windows.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element Opis
ustawienia Konfiguruje podstawowe opcje sieci dla System.Net przestrzeni nazw.

Uwagi

Atrybuty alwaysUseCompletionPortsForAccept i alwaysUseCompletionPortsForConnect służą do określania domyślnego zachowania w odniesieniu do używania portów uzupełniania przez klasy w System.Net.Socketsprzestrzeni nazw . Porty uzupełniania są zalecane w przypadku aplikacji serwera o wysokiej wydajności.

Wartość domyślna atrybutów alwaysUseCompletionPortsForAccept i alwaysUseCompletionPortsForConnect to false.

Można AlwaysUseCompletionPortsForAccept go użyć do pobrania bieżącej wartości atrybutu alwaysUseCompletionPortsForAccept z odpowiednich plików konfiguracji. Można AlwaysUseCompletionPortsForConnect go użyć do pobrania bieżącej wartości atrybutu alwaysUseCompletionPortsForConnect z odpowiednich plików konfiguracji.

Atrybut ipProtectionLevel określa wartość domyślną System.Net.Sockets.IPProtectionLevel , która ma być używana dla gniazda. Właściwość IPProtectionLevel umożliwia konfigurację ograniczenia dla gniazda IPv6 do określonego zakresu, takich jak adresy z tym samym łączem lokalnego lub lokalnego prefiksu lokacji. Ta opcja umożliwia aplikacjom wprowadzenie ograniczeń dostępu do gniazd IPv6. Takie ograniczenia umożliwiają aplikacji działającej w prywatnej sieci LAN proste i niezawodne wzmacnianie się przed atakami zewnętrznymi. Ta opcja rozszerza lub zawęża zakres gniazda nasłuchiwania, umożliwiając nieograniczony dostęp od użytkowników publicznych i prywatnych, jeśli jest to konieczne, lub ograniczenie dostępu tylko do tej samej witryny, zgodnie z potrzebami.

To ipProtectionLevel ustawienie atrybutu wpływa tylko na początkowy ruch przychodzący:

  • Serwer TCP nasłuchujący połączeń przychodzących na gniazdach.

  • Aplikacja UDP odbierając pakiet na gniazdach.

To ustawienie konfiguracji nie ma wpływu na już ustanowione połączenia TCP (ruch jest nieograniczony w obu kierunkach) i nie ma wpływu na aplikację wysyłającą pakiety UDP.

Możliwe wartości ustawienia atrybutu ipProtectionLevel odpowiadają zdefiniowanym poziomom ochrony określonym w wyliczenie w System.Net.Sockets.IPProtectionLevel następujący sposób:

Wartość atrybutu Opis
EdgeRestricted Poziom ochrony adresów IP jest ograniczony do krawędzi. Ta wartość będzie używana przez aplikacje przeznaczone do obsługi przez Internet. To ustawienie nie zezwala na przechodzenie przez translator adresów sieciowych (NAT) przy użyciu implementacji Teredo systemu Windows. Te aplikacje mogą pomijać zapory IPv4, dlatego aplikacje muszą być wzmocnione przed atakami internetowymi skierowanymi na otwarty port. W systemach Windows Server 2003 i Windows XP wartość domyślna dla poziomu ochrony IP w gniazdie jest ograniczona.
Z ograniczeniami Poziom ochrony adresu IP jest ograniczony. Ta wartość będzie używana przez aplikacje intranetowe, które nie implementują scenariuszy internetowych. Te aplikacje zazwyczaj nie są testowane ani wzmacniane przed atakami w stylu internetowym. To ustawienie ograniczy odebrany ruch tylko do połączenia lokalnego.
Bez ograniczeń Poziom ochrony adresu IP jest nieograniczony. Ta wartość będzie używana przez aplikacje przeznaczone do obsługi przez Internet, w tym aplikacje korzystające z funkcji przechodzenia translatora adresów sieciowych IPv6 wbudowanych w system Windows (na przykład Teredo). Te aplikacje mogą pomijać zapory IPv4, dlatego aplikacje muszą być wzmocnione przed atakami internetowymi skierowanymi na otwarty port. W systemach Windows Server 2008 R2 i Windows Vista wartość domyślna poziomu ochrony IP w gniazdie jest nieograniczona.
Nie określono Poziom ochrony adresu IP jest nieokreślony. W systemach Windows 7 i Windows Server 2008 R2 wartość domyślna poziomu ochrony IP w gniazdie jest nieokreślona.

Wartość domyślna atrybutu ipProtectionLevel jest nieokreślona.

Właściwość IPProtectionLevel może służyć do pobierania bieżącej wartości atrybutu ipProtectionLevel z odpowiednich plików konfiguracji.

Pliki konfiguracji

Tego elementu można użyć w pliku konfiguracji aplikacji lub pliku konfiguracji maszyny (Machine.config).

Przykład

W poniższym przykładzie pokazano, jak określić, że mają być używane porty uzupełniania i że wartość domyślna System.Net.Sockets.IPProtectionLevel powinna być nieograniczona.

<configuration>  
  <system.net>  
    <settings>  
      <socket  
        alwaysUseCompletionPortsForAccept="true"  
        alwaysUseCompletionPortsForConnect="true"  
        ipProtectionLevel="Unrestricted"  
       />  
    </settings>  
  </system.net>  
</configuration>  

Zobacz też