您的位置:首页 > 其它

IP – Ethernet Multicast 地址间的关系 (案例图解,动画过程、配套仿真)

2010-10-31 20:44 239 查看
这个图解用最简单的拓扑、场景来显示IP – 以太网 多播地址的配置、转换、洪泛、接受、丢弃的过程。案例有两个版本:仿真、图解。图解版本是从仿真截图,并加标注解释,说明步骤的演进。

- 背景[/b]:IP用多播IP地址在第三层多播,一个multicast IP address 可以有多个成员,多播数据包会被路由器转发到所有的成员。以太网在第二层也有多播MAC地址,网卡接口除了一个固定的硬件地址 (Unicast MAC), 还可以有几个多播MAC地址 (multicast MAC address)。由于以太网有广播的属性,数据包会被洪泛到所有的以太网接口,网卡接口在收到一个数据包时,把数据包的目的地址和自己的MAC地址比较,有一个相同,就接受此包,否则丢弃。如果几个接口都有同一个多播MAC地址,它们在收到多播包时,都会接受此包,产生了多播的效果。
- IP-Ethernet [/b]多播地址的关系[/b]。IP地址是个逻辑地址,多播数据包会被路由器转发送到多播地址成员所在的子网,如果子网是个以太网,里面有几个节点都是这个多播地址的成员,怎么能够把数据包送到每一个成员呢?这得靠以太网的多播MAC地址机制。但以太网的多播地址是怎么配置的?这个IP多播地址和以太网多播地址是什么关系?
这个图解介绍几个相关知识点并用OSPF Hello的案例把它们联系起来:IP多播地址转换到MAC多播地址,以太网洪泛,以太网接口怎么接受、丢弃所收到的数据包。
- 预备知识[/b]:以太网单播MAC地址 (Ethernet unicast MAC)。
- 多播地址仿真[/b]: 这个图解教程是根据 Multicast仿真创作。仿真用动画显示,读者可以互动的检查数据包内容,观察数据包 – OSPF邻居表之间第二层和第三层的因果关系。

拓扑[/b]





1. [/b]拓扑:[/b]局网中有四台路由器经以太网线相连,R2, R3, R4运行OSPF (蓝色),R1没有运行OSPF。
2. [/b]配置[/b]OSPF: [/b]用[/b]OSPF multicast IP [/b]地址生成[/b] multicast MAC [/b]地址:[/b]OSPF路由器各有两个MAC地址,一个是硬件地址,另一个是OSPF多播MAC地址 MAC.OSPF。在路由器上配置OSPF时,会把OSPF 多播IP地址224.0.0.5 转换为一个多播MAC地址 MAC.OSPF ()
转换步骤是:1)把IP地址224.0.0.5 (AllSPFRouters)的32位用二进制表现,然后抽出最右边的23位,叫做A。
2) 把IEE定义的组播prefix 01:00:5e作为B. B有24位。
3) 合成相应的MAC组播地址如下:
连接 B, 0, A 形成一个多播MAC地址 (Hex)01:00:5e:00:00:05。在这个案例,我们用MAC.OSPF表示。
3. [/b]R2 [/b]多播[/b]Hello[/b]
OSPF路由器一开始都不知道自己的邻居是谁,R2 先发送OSPH Hello。这是一个多播包,它的目的MAC地址是MAC.OSPF.
4. [/b]Hello[/b]被洪泛到[/b]R1, R3, R4. R1[/b]丢弃[/b]Hello, R3, R4 [/b]接受[/b]Hello.[/b]
以太网是个广播媒介,Hello被洪泛到网内所有的接口。路由器的接口收到Hello时,把它的目的MAC地址 (MAC.OSPF) 和自己的MAC地址比较,若相同就接受,否则丢弃。
R1 的MAC地址 (MAC.R1) 和 MAC.OSPF不一样,就把Hello丢弃。
R3 的MAC地址 (MAC.R3, MAC.OSPF) 有一个和 MAC.OSPF一样,就接受Hello,并把R2添加到邻居表。。
R4 的MAC地址 (MAC.R4, MAC.OSPF) 有一个和 MAC.OSPF一样,就接受Hello,并把R2添加到邻居表。。
【注】若要观察 Hello 在以太网中洪泛,被路由器接受、丢弃的过程,可运行IP-Ethernet 多播地址仿真[/b]。

5. [/b]R[/b]3 [/b]发送 [/b]Hello. [/b]R2, R4[/b]接受[/b]hello, R1[/b]丢弃[/b]Hello.[/b]
R3 发送的Hello 被以太网洪泛到 R1, R2, R4的接口。R1 丢弃Hello, R2, R4接受Hello, 并把R3添加到邻居表。
6. [/b]R[/b]4 [/b]发送 [/b]Hello. [/b]R2, R3[/b]接受[/b]Hello, R1[/b]丢弃[/b]Hello.[/b]
R4 发送的Hello 被以太网洪泛到 R1, R2, R4 的接口。R1 丢弃Hello, R2, R3接受Hello, 并把R3添加到邻居表。
经过三轮Hello, 局网中的三台路由器已经知道了彼此是邻居,可以进行下一步的OSPF工作了。

本场景动画过程请见IP-Ethernet 多播地址仿真[/b]

参考资料:
Visualland ,以太网仿真目录IP-Ethernet 多播地址仿真[/b]
谢希仁 计算机网络第五版 3.4.3 MAC层
Wikepedia Multicast http://en.wikipedia.org/wiki/Multicast, MAC address http://en.wikipedia.org/wiki/MAC_address
Multicast IP – MAC地址转换 http://www.firewall.cx/multicast-intro.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息