一台设备中的两个网卡,分别用2个进程控制,他们会共享网卡数据吗?
本帖最后由 herocsz 于 2010-06-02 08:46 编辑
有网友反映问题描述不清楚,现在重新表述下,如下:
我现在有一台设备,设备上有2个网卡,让2个网卡同时上网,想用2个进程控制2个网卡,上网还有断网。
网卡1只发送数据,网卡2只接收数据。
问题是:他们在连接上网络后,如果接收网络数据,会不会进程2的接收数据通过网卡1进来了?
还是进程1的数据只能由网卡1接收和发送,进程2的数据只能由网卡2接收和发送?
还有,linux下能否支持当2个网卡同时拨号上网成功后,都能起作用?
比如说:我想让进程1发送数据,它会不会通过网卡2出去了?
我让进程2接收数据,它会不会通过网卡1接收了?
另外: 我开始用2个线程控制2个网卡,发现当网卡1先拨号上网后,发送数据;接着网卡2拨号上网后,接收数据。此时,网卡1好像没用了,不能发数据了。
好像linux系统不支持2个网卡同时拨号上网。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
本帖最后由 yulihua49 于 2010-06-07 09:57 编辑
无理的要求,完全不符合ISO7层协议的宗旨和TCP/IP的实现!
如果一定要做,1.关闭系统全部网络协议栈。2.自己写驱动,仅实现链路层协议。3.此系统仅对同协议的特定对象通信。
因为如果不关闭协议栈,系统驱动程序会立即接管网卡,并不按照你的要求使用设备。
另外,作为以太网卡,分别收发并无意义,如果是IEEE802.3协议,收发是半双工的,即,每一个瞬间,在整个网段上只有一个端点可发送。如果你正在接受,就不可能发送,即,两个网卡根本不可能并行工作。其他协议如IEEE802.5也是同理,都是半双工协议。
实现起来很复杂,接收数据很难控制
LZ说的这个实现很困难。
不知道为什么要这么实现。用2个网卡分别做收发,和用一个网卡会高出太多的性能啊。
发送数据的走向可以通过路由表和子网划分进行控制,但接收数据不在你的控制范围内。
问题没说清楚
此外,进程不关心物理设备。设备管理是操作系统的事情。你要关心的是端口。
你的问题很不明确啊。。。。。。。。。。。
一个进程只能关注自己使用端口
如何捆绑?
绑到不同IP上就行