1. 以太网卡
多播:网卡MAC地址的最后一字节的第一位置为1,如:01:00:00:00:00:00
广播:可以看成是多播的一种特殊情况,所有位置为1,即:ff:ff:ff:ff:ff:ff
2. IP层广播类型
liminited broadcast address:即 255.255.255.255,主机配置阶段会发送此中广播,目的地为此地址的不会被路由器转发;
net-directed broadcast:主机号全为1的广播,如 calss A的net-directed broadcast 为: netid.255.255.255;
subnet-directed broadcast:子网号是指定的,主机号全是1,所以需要知道掩码位数;
3. UDP 广播限制
如果要向一个广播地址发送UDP数据报,需要在之前对soket设置SO_BROADCAST选项,UDP socket 默认是不支持广播的。(也不是每个系统都有这个限制)
4. ping 远程子网广播地址
中间路径上的路由器,并不知道这是一个子网广播地址,认为这是一个普通的主机地址,知道最后的子网路由器,发现这是一个子网广播地址,这个路由器决定是否继续转发这个广播。
5. IP 多播
D类地址是多播地址,后28位为多播组ID
IP多播地址 到 MAC多播地址 的映射不是一一映射,只映射25位到MAC地址
BSD系统中,广播的UDP数据报不能分割;(习题12.4)
RIP v1通过广播交换信息,RIP v2 即支持广播,也支持多播;(10.5)
6. 主机收到网络帧后的过滤过程
接口层(即网卡)收到数据后,根据其设置情况决定对广播包的处理,如处于promiscuous mode,那么就会接受任何帧;接口层再交给驱动层,驱动层会查看帧中的字段来判断上层的协议,有可能不是TCP/IP协议族,以后的事情就是协议族的事了。
Figure 12.1. Filtering that takes place up the protocol stack when a frame is received.