Réception de connexions entrantes sur des sockets IPv6 ou IPv4

Les plateformes UNIX reçoivent des connexions entrantes IPv4 et IPv6 sur le même socket. Sous Microsoft Windows il n'est pas possible de recevoir des connexions entrantes IPv4 et IPv6 sur le même socket. Si IPv6 est désactivé, Microsoft Windows reçoit uniquement les connexions IPv4. Si IPv6 est activé et que le port n'est pas associé à une adresse, seules les connexions IPv6 sont reçues. Pour recevoir à la fois les connexions IPv4 et IPv6, définissez deux ports : l'un associé à une adresse IPv4 et l'autre à une adresse IPv6. Cette opération s'effectue très facilement pour NRPC, mais jusqu'à présent les serveurs Internet permettent uniquement la prise en charge d'un seul port HCL Notes®.

HCL Domino® prend en charge deux ports Notes® pour les serveurs Internet. L'interface utilisateur indique deux noms de port Notes® dans la variable NOTES.INI SMTPNotesPort. Par exemple,

SMTPNotesPort=TCPIP,TCPIP6 

Si l'un des ports est arrêté (arrêt du port tcpip), les serveurs Internet arrêtent temporairement les deux ports, puis relancent l'écoute sur le port restant. Par ailleurs, les connexions sortantes pour toute adresse fonctionnent sur n'importe quel port TCP. Pour les connexions sortantes, Domino® crée le socket qui permettra de gérer l'adresse cible demandée.

Etablissement de connexions sortantes avec un port TCP associé à une adresse IP

Lorsqu'un client ou un serveur établissant des connexions sortantes est doté d'un port TCP associé à une adresse IP spécifique, par le biais du paramètre NOTES.INI SMTPNotesPorts= <TCPIPAddress>, le port associé peut uniquement établir des connexions sortantes correspondant au type de l'adresse IP associée. Si, par exemple, un serveur associe le port Notes® TCPIP à une adresse IPV4 et un port Notes® TCPIP6 à une adresse IPV6, le port TCPIP peut uniquement établir des connexions sortantes vers des adresses IPV4, et le port TCPIP6 peut uniquement établir des connexions sortantes vers des adresses IPV6.

Dans une configuration qui inclut des ports Notes® IPV4 et IPV6 associés à des adresses IP, les documents de connexion répertoriant les ports doivent également faire apparaître tous les ports TCP via lesquels la connexion peut être établie. Si, par exemple, vous créez un document Connexion serveur d'un serveurA vers un serveurB et que le nom DNS du serveurB peut convertir aussi bien une adresse IPV4 qu'une adresse IPV6, si vous souhaitez que la connexion fonctionne aussi bien via IPV4 que via IPV6, vous devez ajouter ces deux ports dans le document de connexion.

En cas de création et d'utilisation d'un socket IPv4 ou IPv6

Utilisez cet ensemble de règles pour définir si vous devez utiliser un socket IPv4 ou IPv6 :

  • Lors de la connexion ou de l'écoute, si IPv6 n'est pas activé, créez un socket IPv4.
  • Si l'opération de connexion ou d'écoute s'effectue par le biais d'une adresse associée, utilisez un socket correspondant au type de l'adresse.
  • Si l'opération d'écoute s'effectue, qu'aucune adresse n'est associée et qu'IPv6 est activé, utilisez un socket IPv6.
  • Si l'opération d'écoute s'effectue, qu'aucune adresse n'est associée et qu'IPv4 est désactivé, utilisez un socket IPv4.
Remarque : L'adresse 0 signifie qu'une tache d'écoute peut écouter n'importe quelle adresse. Lors de l'application des règles ci-dessus, tenez compte des points suivants :
  • Pour créer un socket IPv6 qui écoute n'importe quelle adresse IPv6, n'associez pas d'adresse.
  • Pour créer un socket IPv4 qui écoute n'importe quelle adresse IPv4, associez-le à l'adresse ::ffff:0.0.0.0

Avec les serveurs UNIX, un socket IPv6 associé à n'importe quelle adresse accepte toutes les connexions entrantes, mais sous Windows ce même socket écoute uniquement les connexions IPv6 entrantes.

Sous Linux, si un port est associé à "n'importe quelle" adresse et qu'IPv6 est activé, un second port ne peut pas être associé à une adresse IPv4 ou IPv6 spécifique. Si vous essayez d'associer un second port, le message d'erreur L'adresse est déjà en cours d'utilisation s'affiche.