1.什么是广播?
广播: “广播”可以理解为一个人通过广播喇叭对在场的全体说话,这样做的好处是通话效率高,信息一下子就可以传递到全体。
一个广播包的截图如下
以太网的目的地址是:FF:FF;FF;FF;FF;FF;FF
IP目的地址是:192.168.1.255(是一个子网广播)
2.广播的分类:
受限的广播:受限的广播地址是 2 5 5 . 2 5 5 . 2 5 5 . 2 5 5。
指向网络的广播:指向网络的广播地址是主机号为全 1的地址。A类网络广播地址为n e t i d . 2 5 5 . 2 5 5 . 2 5 5,其中
n e t i d为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
指向子网的广播:指向子网的广播地址为主机号为全 1且有特定子网号的地址。作为子网直接广播地址的 I P地址需要了解子网的掩码。例如,如 果路由器收到发往 1 2 8 . 1 . 2 . 2 5 5的数据报,当 B类网络1 2 8 . 1的子网掩码为2 5 5 . 2 5 5 . 2 5 5 . 0 时,该地址就是指向子网的广播地 址;但如果该子网的掩码为2 5 5 . 2 5 5 . 2 5 4 . 0,该地址就不是指向子网的广播地址。
指向所有子网的广播:指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子 网号及主机号为全 1。例如,如果目的子网掩码为2 5 5 . 2 5 5 . 2 5 5 . 0,那么I P地址1 2 8 . 1 . 2 5 5 . 2 5 5是一个指向所有子网的广播地 址。然而,如果网络没有划分子网,这就是一个指向网络的广播。
我上图ping的地址就是一个指向子网的广播。
再来看一个截图:
很有趣的是,我ping一个广播地址只有一个主机回应了我,就是192.168.1.1(这是一个路由器,必须要对广播进行回应,要不然就没法提供DHCP服务了),然而其他主机就没有对我进行回应,然后经过一番讨论,认为是LAN中的主机开启了防火墙,对ping屏蔽了。后来实验,发现是windows主机默认对广播包不会回应。同样的linux也是默认不回应。
因为linux操作起来比windows要方便,所以我用linux实验通过更改配置来让他进行广播包的回应,命令如下:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
最后结果如下
192.168.1.123 这个主机对广播包进行了回应。这就说明了发出一个广播包局域网内的主机需要进行回应。