QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1581|回复: 1

请教:关于MAC混合模式的问题

[复制链接]
发表于 2006-3-13 22:27:25 | 显示全部楼层 |阅读模式
关于CAM Control Register有以下一段说明:
The three accept bits in the CAM control register are used to override CAM rejections. To place the MAC in promiscuous mode.
... ...
[0] Station accept (StationAcc)
[1] Group accept (GroupAcc)
[2] Broadcast accept (BroadAcc)
... ...
按说明, 我在程序中设寄存器CAMCON 的值为0x00000003,将CAM[0]整字以及CAM[1]的高16位(总48位)设好随意一个MAC地址,并使能(CAMEN第0位置1)。将板接到网上开始监测数据包,结果在板上只看到广播包(Broadcast )及组播包(Group ), 而单播包(Station )却没看到。
我将MAC改为一台实际PC机上网卡MAC地址, 同时这一台机不断发出icmp包, 板上同样也没能看到单播包。郁闷了好几周,到这向各位大侠求救~~
哪位大侠玩过混合模式的, 救救偶啊~~先谢过了。
 楼主| 发表于 2006-3-15 21:08:10 | 显示全部楼层
找到原因了.仅简单设为混合模式把接收到的数据给显示出来,  没有实现如ARP之类其他的协议.把板接到网上, 只收到组播和广播.后来在程序中加了发送icmp echo request包功能,便可以在板上看到icmp echo reply的单播包. 而在本网段中的其他单播数据包却没看了. 琢磨一阵后明白了, 板子所接入的是交换机, 交换机维持一张表, 其中是接口号和流入这个接口数据包的源MAC 地址, 当交换机收到一个数据包后, 将数据包里目的MAC地址和表中的MAC地址对照, 找到相应接口发出去. 若接入网络通信设备是一般的HUB, 就可以直接看到网段内所有的流量了.
板子没问题, 程序没问题, 一个常识记不起来, 白郁闷了很久~~//sigh
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-7 05:42 , Processed in 0.107884 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表