广播和多播仅应用于UDP数据报,而TCP是面向连接的协议,它分别运行于两主机(由IP地址确定)的两进程(由端口号确定)间的一条连接,因而不可能使用广播或者多播.
主机对信道传送过来的帧地过滤过程:
1.网卡查看由信道传送过来的帧,确定是否接收该帧,如果接收就传递给设备驱动程序.如果帧检验和出错,网卡就丢弃该帧.多数网卡被设置成混合模式,这种模式能够接收每个帧的一个复制.
2.设备驱动程序对帧进行过滤,首先,帧类型中必须指定要使用的协议;其次,进行多播过滤来检测该主机是否发往多播地址说明的多播组.
3.设备驱动程序把数据帧传到下一层,如帧类型为IP数据报时就传入IP层.IP根据IP地址中的源地址和目的地址进行更多的过滤.
4.每次UDP接收到IP传来的数据报,就根据目的端口号,有时还根据源端口号进行过滤.如果当前没有进程使用应该目的端口号,就丢弃应该数据报,并产生一个ICMP不可达报文.文章如果UDP数据报检验和出错,将被子丢弃.
广播
广播IP地址有四种:受限的广播,指向网络的广播,指向子网的广播,指向所有子网的广播.
受限的广播地址是255.255.255.255.数据报仅出现在本地网络中.
指向网络的广播的广播地址为主机号为全1的地址.一个路由器必须转发指向网络的广播,但它也有一个不转发器的选择.
指向子网的广播的广播地址是有特定的子网号且主机号全为1.它需要了解子网的子网掩码.
指向所有子网的广播地址是子网号和主机号均为1,它也需要知道子网掩码.
多播
多播地址为D类IP地址,高四位均为1110,低28位为多播组ID. 可以表示为点分十进制形式.范围是224.0.0.0到224.255.255.255.一些多播组地址被IANA指定为知名地址.如:224.0.0.1代表"该子网内所有的系统组",224.0.0.2代表"该子网内所有的路由器组".
为指明一个多播地址,任何一个以太网地址的首字节必须为ox01.IANA有一个以太网地址块,高位24位为:00:00:5e.IANA将其中一半分配给多播地址,所以与IP多播地址相对应的以太网地址范围是:01:00:5e:00:00:00到01:00:5e:7f:ff:ff.
多播组到以太网地址的转换:多播组ID低23位对应以太网的低23位,而且这是多对一的关系,也就是一个以太网地址对应多个多播组ID.由于多播组中高五位在被子映射到以太网地址过程中被子忽略,所以32个多播组号被映射为一个以太网地址.