我想XP上装多个3G MODEM拔号,作为多通道设备发送数据。
现在发现多个网卡可以拔号正常,能够获得多个i不同IP地址,但在SOCK中,将多个数据流BIND()到不同源IP地址发送,经过实测,数据实际并没有从不同MODEM发出,而是通过路由表中优先级最高的一个MODEM发出。
查了一个,好象这个是由MS的IPV4协议模栈使用的"Weak End System" 模型决定,而XP以后的OS,则使用另外模型,没有这个问题。另外,在LINUX的OS下,只要在SOCKET中设置一个参数,就可以保证发送数据与网卡绑定。
这个问题可以MSDN上找:KB175396 - Windows Socket Connection from a Multiple-Homed Computer
在一些建议中,MS的IPV6协议栈也"strong End System" 模型,因此也可以保证网卡绑定。但3G拔号分配的是IPV4地址?是不是要配置隧道?如何配置?