![來自 DHCP 的多個 IP 位址](https://rvso.com/image/668011/%E4%BE%86%E8%87%AA%20DHCP%20%E7%9A%84%E5%A4%9A%E5%80%8B%20IP%20%E4%BD%8D%E5%9D%80.png)
我遇到一個問題,多個進程需要將 TCP 套接字綁定到 Windows Server 2008 中的相同連接埠。
目前,我認為這會導致一些意外的不穩定行為,因為進程之間存在競爭條件,您無法知道哪個資料包將被傳遞到哪個進程。
將進程分離到不同的機器顯然是不可能的,所以我想嘗試的解決方案是透過不同的IP位址綁定到這個連接埠。
現在,我知道我可以netsh interface ipv4 add address
在 Windows 中新增靜態 IP。但是,是否可以新增位址並允許 DHCP 為每個虛擬介面分配 IP?
答案1
如果這是一台虛擬機,一種方法是簡單地添加虛擬網路接口,每個接口都運行 DHCP。
但實際上,我認為想要透過 DHCP 請求 IP 位址沒有多大意義,因為您必須將伺服器進程本身配置為綁定到特定的 IP 位址,如果您「由 DHCP 重新分配。也許如果您可以綁定到介面而不是 IP 位址,那麼它仍然有意義。這取決於相關的應用程式。
不過,分配多個靜態 IP 位址可能更有意義。
僅供參考,您不需要使用 netsh 來執行此操作,這可以在「進階」按鈕下的介面的 IPv4 屬性中完成。您可以在那裡新增多個地址。