在 IPv6 或 IPv4 Sockets 上接收送入的連線

UNIX 平台會在相同的 Socket 上接收 IPv4 及 IPv6 兩種送入的連線。Microsoft Windows 則無法在相同的 Socket 上同時接收送入的 IPv4 及 IPv6 連線。如果已停用 IPv6,Microsoft Windows 僅會接收 IPv4 連線。如果 IPv6 功能啟用時且該埠沒有鏈結到某個位址,僅能收到 IPv6 連線。若要收到 IPv4 及 IPv6 兩種連線,請先定義兩個埠:一個鏈結至 IPv4 位址,而另一個則鏈結於 IPv6 位址。對 NRPC 來說這很容易辦到,但直到目前為止,網際網路伺服器僅提供對單一 HCL Notes® 埠的支援。

HCL Domino® 可支援網際網路伺服器的兩個 Notes® 連接埠。使用者介面會在 NOTES.INI 變數 SMTPNotesPort 中指定兩個 Notes® 連接埠名稱。例如,

SMTPNotesPort=TCPIP,TCPIP6 

如果其中一個埠關閉時(停用埠 tcpip),網際網路伺服器會立即關閉兩個埠,並重新接收其餘的埠。同時,任何位址的發送連線也都能在任何的 TCP 埠上成功發送。對發送連線來說,Domino® 會建立適當的 Socket 來處理嘗試的目標位址。

對 IP 位址使用 TCP 埠進行發送連線

當用戶端或伺服器進行發送連線時,發生某個 TCP 通訊埠使用 NOTES.INI 設定值 SMTPNotesPorts= <TCPIPAddress> 來連結到特定的 IP 位址,則此通訊埠僅能進行連結 IP 位址類型的發送連線。例如,如果伺服器將「Notes® 連接埠 TCPIP」連結到 IPV4 位址,且將「Notes® 連接埠 TCPIP6」連結到 IPV6 位址,則埠 TCPIP 僅能對 IPV4 位址進行發送連線,而埠 TCPIP6 則僅能對 IPV6 位址進行發送連線。

在含有鏈結至 IP 位址的 IPV4 和 IPV6 Notes® 連接埠的配置中,列於「連線」文件中的埠必須包含所有可以在其上進行連線的 TCP 通訊埠。例如,如果您要從 伺服器A 建立「伺服器連線」文件到 伺服器B 中,則 伺服器B 的 DNS 名稱可以解析成 IPV4 位址和 IPV6 兩種位址,而且如果您要連線作業於 IPV4 或 IPV6,您必須將兩種埠加入「連線」文件中。

當您建立和使用 IPv4 或 IPv6 socket 時

請使用下列的規則集來決定要使用 IPv4 socket 還是 IPv6 socket:

  • 連線或接收時,如果 IPv6 未啟用,就永遠要建立 IPv4 socket。
  • 連線或接收鏈結位址時,請使用符合該位址類型的 socket。
  • 接收且不鏈結位址,且 IPv6 功能啟用時,請使用 IPv6 socket。
  • 接收且不鏈結位址,且 IPv6 關閉時,請使用 IPv4 socket。
註: 位址 0 表示接收程式將會接收任何位址。套用先前的規則集時,請注意下列事項:
  • 若要建立IPv6 socket 來接收任何 IPv6 位址,請勿鏈結至某個位址。
  • 若要建立接聽全部 IPv4 位址的 IPv4 Socket,請將它連結至位址 ::ffff:0.0.0.0

UNIX 伺服器上,連結所有位址的 IPv6 Socket 會接受所有送入的連線,但在 Windows 上,相同的 Socket 僅接聽送入的 IPv6 連線。

Linux 上,如果某個埠連結至「任何」位址且 IPv6 功能是啟用的,則第二個埠便無法連結至特定的 IPv4 或 IPv6 位址。如果嘗試連結,則會傳回「位址已在使用中」的錯誤訊息。