<socket>, élément (paramètres réseau)
Spécifie si les opérations de socket utilisent des ports de terminaison.
<socket
alwaysUseCompletionPortsForConnect="true|false"
alwaysUseCompletionPortsForAccept="true|false"
ipProtectionLevel ="EdgeRestricted|Restricted|Unrestricted|Unspecified"
/socket>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut |
Description |
---|---|
alwaysUseCompletionPortsForAccept |
Indique si le socket doit toujours utiliser des ports de terminaison pour les appels à la méthode Accept. La valeur par défaut est false. |
alwaysUseCompletionPortsForConnect |
Indique si le socket doit toujours utiliser des ports de terminaison pour les appels à la méthode Connect. La valeur par défaut est false. |
ipProtectionLevel |
Spécifie le System.Net.Sockets.IPProtectionLevel par défaut à utiliser pour un socket. La valeur par défaut dépend de la version de Windows. |
Éléments enfants
Aucun
Éléments parents
Élément |
Description |
---|---|
Configure les options réseau de base pour l'espace de noms System.Net. |
Notes
Les attributs alwaysUseCompletionPortsForConnect et alwaysUseCompletionPortsForAccept sont utilisés pour spécifier le comportement par défaut concernant l'utilisation de ports de terminaison par les classes dans System.Net.Sockets. namespace. Les ports de terminaison sont recommandés pour les applications serveur hautement performantes.
La valeur par défaut pour les attributs alwaysUseCompletionPortsForAccept et alwaysUseCompletionPortsForConnect est false.
La propriété AlwaysUseCompletionPortsForAccept peut être utilisée pour obtenir la valeur actuelle de l'attribut alwaysUseCompletionPortsForAccept de fichiers de configuration applicables. La propriété AlwaysUseCompletionPortsForConnect peut être utilisée pour obtenir la valeur actuelle de l'attribut alwaysUseCompletionPortsForConnect de fichiers de configuration applicables.
L'attribut ipProtectionLevel spécifie le System.Net.Sockets.IPProtectionLevel par défaut à utiliser pour un socket. La propriété IPProtectionLevel permet la configuration d'une restriction pour un socket IPv6 à une portée spécifiée, telle que les adresses avec le même préfixe de lien local ou site local. Cette option permet aux applications de placer des restrictions d'accès sur les sockets IPv6. Ces restrictions permettent à une application qui s'exécute sur un réseau local privé de se renforcer facilement et efficacement contre les attaques externes. Cette option étend ou limite la portée d'un socket d'écoute, en permettant l'accès illimité des utilisateurs privés et publics lorsque cela s'avère nécessaire ou en restreignant uniquement l'accès au même site, comme requis.
Ce paramètre d'attribut ipProtectionLevel affecte le trafic entrant initial uniquement :
Serveur TCP qui écoute des connexions entrantes sur un socket.
Application UDP qui reçoit un paquet sur un socket.
Ce paramètre de configuration n'affecte pas les connexions TCP déjà établies (le trafic n'est pas restreint dans les deux directions) et n'affecte pas une application qui envoie des paquets UDP.
Les valeurs possibles pour le paramètre de l'attribut ipProtectionLevel correspondent aux niveaux de protection définis spécifiés dans l'énumération System.Net.Sockets.IPProtectionLevel comme suit :
Valeur d'attribut |
Description |
EdgeRestricted |
Le niveau de protection IP est limité à un périmètre donné. Cette valeur peut être utilisée par les applications conçues pour fonctionner sur Internet. Ce paramètre n'autorise pas la traversée du traducteur d'adresses réseau (NAT) à l'aide de l'implémentation de Windows Teredo. Ces applications peuvent contourner les pare-feux IPv4 ; elles doivent donc être renforcées contre les attaques Internet dirigées sur le port ouvert. Sous Windows Server 2003 et Windows XP, la valeur par défaut pour le niveau de protection IP sur un socket est Périmètre limité. |
Restricted |
Le niveau de protection IP est limité. Cette valeur peut être utilisée par les applications intranet qui n'implémentent pas de scénarios Internet. Ces applications ne sont généralement pas testées ou renforcées contre les attaques Internet. Ce paramètre limitera uniquement le trafic reçu aux liens locaux. |
Non restreint |
Le niveau de protection IP est illimité. Cette valeur peut être utilisée par les applications conçues pour fonctionner sur Internet, notamment les applications qui tirent parti des fonctions de traversée NAT IPv6 intégrées à Windows (Teredo, par exemple). Ces applications peuvent contourner les pare-feux IPv4 ; elles doivent donc être renforcées contre les attaques Internet dirigées sur le port ouvert. Sous Windows Server 2008 R2 et Windows Vista, la valeur par défaut pour le niveau de protection IP sur un socket est illimitée. |
Non spécifié |
Le niveau de protection IP n'est pas spécifié. Sous Windows 7 et Windows Server 2008 R2, la valeur par défaut pour le niveau de protection IP sur un socket n'est pas spécifiée. |
La valeur par défaut pour l'attribut ipProtectionLevel est Non spécifié.
La propriété IPProtectionLevel peut être utilisée pour obtenir la valeur actuelle de l'attribut ipProtectionLevel de fichiers de configuration applicables.
Fichiers de configuration
Cet élément peut être utilisé dans le fichier de configuration de l'application ou dans le fichier de configuration machine (Machine.config).
Exemple
L'exemple de code suivant indique comment spécifier que les ports de terminaison doivent être utilisés et que le System.Net.Sockets.IPProtectionLevel par défaut ne doit pas être restreint.
<configuration>
<system.net>
<settings>
<socket
alwaysUseCompletionPortsForAccept="true"
alwaysUseCompletionPortsForConnect="true"
ipProtectionLevel="Unrestricted"
/>
</settings>
</system.net>
</configuration>
Voir aussi
Référence
System.Net.Configuration.SocketElement