组播地址FAQ
介绍:本实例通过IP-以太网阐述组播与以太网组播的关系,以及以太网组播的详细流程。
1) IP组播是什么?
协议层级常需要与组群互动,进行发现、通知和查询工作。IP在第三层进行组播,即使用组播IP地址。一个multicast IP地址可以有多个成员,组播数据包会被IP层路由器转发至组群成员所在的路由器,随后利用以太网的组播功能将数据包传递至组播成员的网卡接口。例如,OSPF通过发送Hello包来发现局域网中的OSPF邻居,HSRP则利用组播包来将状态信息通知给其他HSRP路由器。
2) 以太网如何进行组播?
以太网具有广播特性,当一个节点发送数据包时,这些数据包会在以太网中泛滥,导致每个以太网网卡接口都能接收到这些数据包。接口接收到数据包后,并不会立即交给节点CPU处理,而是先进行MAC地址比较。若数据包的目的MAC地址与接口的MAC地址相同,则接收并交给计算机处理,否则会丢弃该数据包。组群成员的网卡接口除了硬件MAC地址(unicast MAC),还配备有组播MAC地址(multicast MAC)。当接口接收到组播包时,会将此包的目的MAC地址(组播MAC)与自己的MAC地址进行比较,若一致则接收此包。这样,局域网内的所有组群成员,都会接收到发往该组群的组播包。
3) IP-Ethernet组播地址与组播MAC地址之间的关联?
许多MAC组播地址是从IP组播地址转换而来的。以OSPF IP组播地址224.0.0.5为例,转换为MAC组播地址的步骤如下:
(1) 将IP地址(32位)以二进制形式表示:1110000: 00000000: 00000000: 00000101
(2) 抽出最右边的23位作为A:0000000: 00000000: 00000101
(3) 使用IEEE定义的组播01:00:5e作为B,B有24位(二进制表示为00000001:00000000:01011110)
(4) 合成相应的MAC组播地址:将B、0、A依次连接,B在最左边,0在中间,A在最右边。共48位,二进制表示为00000001:00000000:01011110:000000000: 00000000: 00000101,十六进制表示为01:00:5e:00:00:05。
4) 有多少个IP组播地址?
IP协议将224.0.0.0至239.255.255.255之间的IP地址用作组播地址。以下是部分组播地址列表:
- 224.0.0.0:基地址(预留)
- 224.0.0.1:所有主机组播组,包含同一网络段上的所有系统
- 224.0.0.2:所有路由器组播组,包含同一网络段上的所有路由器
- 224.0.0.5:Open Shortest Path First(OSPF)所有SPF路由器地址,用于向网络段上的所有OSPF路由器发送Hello包
- 224.0.0.6:OSPF所有DR路由器地址,用于向网络段上的OSPF指定路由器发送OSPF路由信息
- 224.0.0.9:RIP版本2组地址,用于向网络段上的所有RIP v2感知路由器发送路由信息
- 224.0.0.10:EIGRP组地址,用于向网络段上的所有EIGRP路由器发送路由信息
5) 是否有以太网专用的MAC组播地址?以下是几个以太网专用的组播地址:
- Ethernet multicast address:Type Field:0x0802,用于CDP(Cisco Discovery Protocol)和VTP(VLAN Trunking)
- 01-00-0C-CC-CC-CC:Type Field:0x0802,用于Cisco Shared Spanning Tree Protocol
- 01-80-C2-00-00-00:Type Field:0x0802,用于Spanning Tree Protocol(对于桥接设备)IEEE 802.1D
版权声明:本文由哟品培原创或收集发布,如需转载请注明出处。