描述
广播和多播仅应用于UDP
TCP是单播
多播地址是最高字节的最低位为1.表示为多播地址:01:00:00:00:00:00.以太网中ff:ff:ff:ff:ff:ff也是多拨地址
多播的出现减少了对应用不感兴趣主机的处理负荷。使用多播,主机可加入一个或多个
多播组。这样,网卡将获悉该主机属于哪个多播组,然后仅接收主机所在多播组的那些多播
帧。
广播
广播分为:
受限的广播,
指向网络的广播
指向子网的广播
指向所有子网的广播
受限的广播
只指向255.255.255.255.
用于主机在配置IP数据报的时候 确定IP数据报的目的地址值。无法通过路由器(本地内网)。
在多网络接口的情况下 一般是选择最后一个网络接口进行广播。
指向网络的广播
主机号为全1(二进制)的地址
比如: A类的网络广播就是 netid(A类的网络号).255.255.255
路由器必须转发网络广播,但他也必须有一个不进行转发的选择(什么毛病?)
指向子网的广播
主机号为全1的地址,且有特定的子网号地址。这个要留意子网掩码对应的子网号和主机号。
指向所有子网的广播
有需要了解目的网络的子网掩码,为了与指向网络的广播区分开。
子网号和主机号全为1.
不建议使用此广播。改用多播
多播
IP多播提供两类服务
- 向多个目的地址传送数据
- 客户对服务器的请求,例如无盘工作站
1110是固定的。剩下的28位作为多播组号,也是点分十进制。范围从224.0.0.0到239.255.255.255
发送特定多播数据的主机集合称为主机组。可跨多个网络,主机组中对主机的数量没限制。不属于该组的主机可以向该组发送数据。
部分主机组是永久组。具体看RFC的最新文档。
国际互联网代理成员管理局(IANA)定义了一块特定的以太网地址块。高位24bit为00:00:5e。这样地址范围为00:00:5e:00:00:00~00:00:5e:ff:ff:ff。
其中一半分给了多播地址。为了表明是多播地址,任何以太网地址的首字节必须是01。这样多播地址就是01:00:5e:00:00:00~01:00:5e:7f:ff:ff
将以太网多播地址与IP多播组号对应起来。将多播组号中的地位32bit映射到以太网地址中的低32bit实现
IP多播组号最高位5bit是被忽略的,因此以太网多播地址与多播组是不唯一的。
32个不同的IP多播组号被映射为一个以太网地址。比如:
224.128.64.32(十六进制:e0.80.40.20)和224.0.64.32(十六进制e0.00.40.20)都映射为同一个以太网地址01:00:5e:00:40:20。
因为不唯一,所以网卡,驱动程序和IP就需要提供过滤功能。
网卡过滤处理方式:
- 根据对多播地址的散列值实行多播的过滤。但是仍然有概率接受到不想接收的多播数据
- 只接受一些固定数目的多播地址。如果主机想接受超过此固定数目的多播地址的时候,就需要用“多播混杂”模式。这样依然会有可能收到不想接收的多播数据
这两种方法都需要驱动程序过滤
单个物理网络的多播地址
加入一个多播组:
多播进程将目的IP地址指明为多播地址,然后网卡将其转换成以太网地址,然后把数据发出去。接收进程通知相应的IP层应用,把他们想接受的发往给定多播地址的数据报。并且设备驱动程序必须能够接受这些多播帧。接收进程可以有多个
通过路由器连接转发的多播数据
需要有一个数据让多播路由器了解确定网络中属于确定多播组的任何一个主机-----Internet组管理协议(IGMP)
FDDI和令牌环网络中的多播
FDDI网络使用相同的 D类I P地址到48 bit FDDI地址的映射过程 [Katz 1990]。令牌环网络
通常使用不同的地址映射方法,这是因为大多数令牌控制中的限制。