1.组播地址
组播报文的目的地址使用D类IP地址, D类地址不能出现在IP报文的源IP地址字段。
单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”的原理在IP网络中传输。
然而在ip组播环中,数据包的目的地址不是一个,而是一组,形成组地址。
所有的信息接收者都加入到一个组内,并且一旦加入之后,流向组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包。
组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。
2.分类
组播组可以是永久的也可以是临时的。
组播组地址中,有一部分由官方分配的,称为永久组播组。
永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。
永久组播组中成员的数量都可以是任意的,甚至可以为零。
那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。
224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;
224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;
224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
3.组播地址
列表如下:
224.0.0.0 基准地址(保留)
224.0.0.1 所有主机的地址 (包括所有路由器地址)
224.0.0.2 所有组播路由器的地址
224.0.0.3 不分配
224.0.0.4 dvmrp路由器
224.0.0.5 所有ospf路由器
224.0.0.6 ospf DR/BDR
224.0.0.7 st路由器
224.0.0.8 st主机
224.0.0.9 rip-2路由器
224.0.0.10 Eigrp路由器
224.0.0.11 活动代理
224.0.0.12 dhcp 服务器/中继代理
224.0.0.13 所有pim路由器
224.0.0.14 rsvp封装
224.0.0.15 所有cbt路由器
224.0.0.16 指定sbm
224.0.0.17 所有sbms
224.0.0.18 vrrp
以太网传输单播ip报文的时候,目的mac地址使用的是接收者的mac地址。
但是在传输组播报文时,传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播mac地址。
组播mac地址是和组播ip地址对应的。
iana(internet assigned number authority)规定,组播mac地址的高24bit为0x01005e,mac 地址的低23bit为组播ip地址的低23bit。
由于ip组播地址的后28位中只有23位被映射到mac地址,这样就会有32个ip组播地址映射到同一mac地址上。
4.什么是IP组播?
协议层常需要和组群打交道,进行发现、通知、查询等工作。
IP用组播IP地址在第三层组播,一个multicast IP address 可以有多个成员,
组播数据包会被IP层路由器转发到组群成员所在的路由器,然后用以太网的组播功能把数据包送到组播成员的网卡接口。
例,OSPF 用Hello来发现局域网中的OSPF邻居,HSRP发送Hello组播包把自己的状态通知其它的HSRP路由器。
5.以太网怎么组播的 (multicast)?
以太网具有广播属性,一个节点发送的数据包会被以太网泛洪,导致每一个以太网网卡接口都会收到这个数据包。
接口收到数据包后,并不马上交给节点CPU处理,而是进行MAC地址比较,
如果数据包的目的MAC地址和接口的MAC地址一样,它才接受,把数据包交给计算机,
否则就把数据包丢弃。组群成员的网卡接口除了硬件MAC地址 (unicast MAC),
还有组播MAC地址 (multicast MAC)。接口收到组播包,会把此包的目的MAC地址 (是个组播MAC)和自己的MAC地址比较,
如果组播地址相同,就会接受此包。这样,局网内这个组群的所有成员,都会收到送往该组群的组播包。