802.11协议中的广播与tcp/ip中的广播

这两种广播经常一起用,有时候总是分不清楚,这里记录一下以备忘.

先说一下802.11协议中的广播,也就是通常所说的WiFi协议中的广播.它是指目的地址为FF:FF:FF:FF:FF:FF的帧,目的地址也就是通常说的address1的位置,也就是在802.11 mac header的第5个字节起算的6个字节.

这里以常见的广播包Beacon帧为例来看一下:

802.11协议中的广播与tcp/ip中的广播

可以看到它的address1处为全FF,此包由ap发出来,当然了sta也可以发送广播包.广播包与路由器本身没有直接关系.在空间中所有收到此包的设备,都应该接收此类包.广播的目的就是要把这个包发给所有在信号范围内的设备.

 

而Ip层的广播包,是指的是目的ip地址为255.255.255.255或者192.168.1.255之类的数据包,它与802.11的广播包没有直接关系.Ip层的广播包通常由路由器下的子设备发出,发向路由器.路由器收到此包后,会向所有连接到此路由器上的子设备转发此包.

这里以dhcp discover包为例来看下:

802.11协议中的广播与tcp/ip中的广播可以看到,其address1的位置的目的地址是路由器的物理地址,而不是全FF.而它的address3的位置是全F,omnipeek也有标准,这是ethernet broadcast.也就是说,此包是发向路由器的无线包,信号范围内的其它设备不必接收此802.11的包,直接过滤即可.而路由器收到此包后,需要向其子设备转发此包.当然了,实际上路由器并不需要转发,因为它就是dhcp server本身.设备发送此包就是把找dhcp server的.

 

所以,两种广播包是有本质区别的,802.11的包发向信号内所有设备;而ip层的广播包只发给路由器,再由路由器视情况决定是否转发给其局域网内的子设备(不一定时信号范围内的所有设备).