首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

dm9000接收不是发放自己的数据

2012-10-19 
dm9000接收不是发给自己的数据假设有三台arm11组成一个局域网,(都使用dm9000,,,arm1 192.168.1.11,,,arm2

dm9000接收不是发给自己的数据
假设有三台arm11组成一个局域网,(都使用dm9000,,,arm1 192.168.1.11,,,arm2 192.168.1.12,,,arm3 192.168.1.13)
arm1想要发送数据给arm2: 应用发送数据给协议栈,驱动从协议栈得到数据并且已经封装成skb,此skb里的数据就是一个完整的以太网包,驱动向网卡寄存器里写入此包,然后网卡将数据发到到网线上,那么arm2的dm9000和arm3的dm9000应该都会接收到arm1发来的以太网包---是不是?假如是,那么如果arm3的网卡接收到了数据并上传给应用层,这样arm1传给arm2的信息不就暴露了吗?



[解决办法]
交换机确实会过滤,如果是老式的集线器,局域网中的机器就能收所有机器的包。
大部分网络芯片都有开启混杂模式的功能。如果网络芯片没有这个功能,驱动或协议栈也应该处理。

热点排行