Windowsでグローバルブロードキャストアドレス(255.255.255.255)の動作を変更する方法
望ましい行動 アプリケーションがグローバルブロードキャストIPアドレス255.255.255.255にパケットを送信するとき、ff:ff:ff:ff:ff:ffすべてのインターフェイスで、パケットをイーサネットグローバルブロードキャストアドレス()に送信したいと思います。 Linuxおよびおそらく他のOSでも、これは動作するようです。Windows XPとWindows 7はこれに関して異なる動作を示し、どちらの動作も私の状況には望ましくありません。 Windows XPの動作 パケットは最初のネットワークインターフェイスに正しく送信されます(インターフェイスの順序は「ネットワーク接続/詳細設定/詳細設定」で指定されています)。他のインターフェースにも送信されます。 これまでのところすべてが正常です。問題は、他のインターフェイスに送信する場合、ブロードキャストパケットの送信元アドレスが最初のインターフェイスのIPアドレスであることです。たとえば、次のネットワーク構成を想像してください(順序は重要です)。 アダプター1:IPアドレス 192.168.0.1 アダプター2:IPアドレス 10.0.0.1 アダプター3:IPアドレス 172.17.0.1 ブロードキャストパケットを送信すると、次のパケットが送信されます(送信元IPアドレスと宛先IPアドレスが含まれます)。 アダプター1:192.168.0.1=>255.255.255.255 アダプター2:192.168.0.1=>255.255.255.255 アダプター3:192.168.0.1=>255.255.255.255 実際には、ブロードキャストパケットを使用するアプリケーションは、アダプター1以外のインターフェイスでは動作しません。私の意見では、これはWindows XPのTCP / IPスタックの明らかなバグです。 Windows 7の動作 ネットワークインターフェイスの順序を変更しても、Windows 7には影響がないようです。代わりに、ブロードキャストはIPルートテーブルによって制御されているようです。 IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.202.254.254 10.202.1.2 286 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.3 10 10.202.0.0 …