有三种 IP 地址:单播地址、广播地址和多播地址。
单播地址:通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口。
广播地址:一个主机要向网上的所有其他主机发送帧。
多播地址:多播处于单播和广播之间,帧仅传送给属于多播组的多个主机。
主机对由信道传送过来帧的过滤过程:
1)网卡查看由信道传送过来的帧,确定是否接收该帧,如果帧检验和错,网卡将丢弃该帧,若接收后就将它传往设备驱动程序。
2)设备驱动程序进行另外的帧过滤。首先,帧类型中必须指定要使用的协议;其次进行多播过滤来检测该主机是否属于多播地址说明的多播组。
3)设备驱动程序随后将数据帧传送给下一层,比如,当帧类型指定为 IP 数据报时,就传往 IP 层。IP 层根据 IP 地址中的源地址和目的地址进行更多的检测,如果正常,则将数据报传给下一层。
4)IP 层会将数据报传给 TCP 或者 UDP,每次 UDP 收到由 IP 层传来的数据报,就根据目的端口号,有时还有源端口号进行数据报过滤。如果当前没有进程使用该端口号,就丢弃数据报并产生一个 ICMP 不可达报文。如果 UDP 数据报存在检验和错误,将被丢弃。
注意:多播的出现减少了对应用不感兴趣主机的处理负荷。
广播
受限的广播
受限的广播地址为 255.255.255.255,该地址用于主机配置过程中 IP 数据报的目的地址。此时,主机可能还不知道他所在的网络的网络掩码,甚至连他的 IP 地址都不知道。
在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据仅仅出现在本地网络中。
大多数 BSD 系统将 255.255.255.255 看作是配置后第一个接口的广播地址,并且不提供向所属具备广播能力的接口传送数据报的功能。指向网络的广播
指向网络的广播地址是主机号全为1的地址,A 类网络广播地址为 netid.255.255.255,其中 netid 为 A 类网络的网络号。一个路由器必须转发指向网络的广播,但他也必须有一个不进行转发的选择。指向子网的广播
指向子网的广播地址为主机号为全1且有特定子网号的地址,作为子网直接广播地址的 IP 地址需要了解子网的掩码。指向所有子网的广播
指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。
多播
多播提供两类服务:
1)向多个目的地址传送数据。
2)客户对服务器的请求。多播组地址
多播组地址包括为 1110 的最高 4 bit 和多播组号。它通常可表示为点分十进制数,范围从 224.0.0.0 到 239.255.255.255。多播组地址到以太网地址的转换
D 类 IP 地址被称为多播组地址,通过其低位 23 bit 映射到相应以太网地址中便可实现多播组地址到以太网地址的转换,由于地址映射不是唯一的,因此需要其他的协议实现额外的数据报过滤。