呵呵,其实发广播消息还不能知到,因为广播是向所有机器发送的。
集线器是工作在物理层,它收到信息是不知到发向那个端口的,所有它会所有端口发送这个信息,网卡收到这个信息后会查这个信息的目的地址,如查发现不是发给自己的就丢掉,如果是自己的就接收。
而交换机工作在链路层,它收到信息后会查它的路由表,如查目的地址在表内,它就向相应的端口发送过去,如果不在就向所有端口发送这个信息。
根据这个原理,你可以写一个网卡驱动,在网卡收到特定的信息后,不管是不是发给自己的,都返回一个特别的信息,然后再把这个驱动给所有机都装上。这样,你有可能知到是不是交换网了。
哦,可能这样是不行的,因为丢掉信息是网卡自己处理的,和驱动无关,你应该自己生产一批网卡,然后给所有机都装上。
如查觉得这样太麻繁,可以自己做集线器,和交换机给它们用,然的用加上自己定义协议。。呵呵。。。。