- 10
- 0
- 约 14页
- 2017-06-03 发布于湖北
- 举报
Chapter 2 IP Multicasting at Layer 2 (first half )
第二单元 第二层的 IP 组播(上)
如果你不知道什么是第二层的话,那么请停下来去看看 OSI 的七层模型。(不太可能吧?)
如果你疑惑第三层里的组播怎么会跟第二层扯上关系,那么读完本单元你会得到答案。
Layer 2 Multicast Addressing 第二层组播编址
这里我们要讲一讲在以太网和 FDDI 网络中三层组播地址与二层组播地址间映射的问题。
这个图简单了点,不过还是很清楚的。
三层组播地址前四个二进制位固定为 1110,所以后面共有28 位可变。
MAC 地址一共 48 位,分 6 节,前面三节为 01-00-5E 的专门用于与三层多播地址建立映射。
且第四节的首位固定为 0,所以MAC 地址中有 23 位可变。
我们就是把组播地址的后 23 位映射到 MAC 地址的后 23 位上。
没错,映射时漏掉了 28 位可变组播地址的前 5 位。
为什么呢?这可不是设计者的原意,说起来是个笑话了。
[历史故事]Steve 博士在最初研究组播技术时认为需要 16 个 OUI 地址才能映射所有的 28 位
组播地址到 MAC 地址。不幸的是,在当时 IEEE 为厂商分配一个 OUI 要 1000 美元。更不
幸的是,当初研究经费紧张。顾问团只同意买一个 OUI,还要留一半用于别的研究项目,可
怜的 Steve 博士 !他一定没有想到组播发展到现在会得以如此广泛的应用,不然他肯定就算
靠 pass the hat around (原文是这样写的,是募捐的意思吧?)也要搞到这笔钱吧。☺
于是,就出现了今天的 32 :1 的地址重叠。
当然了,重叠并不可怕,只要不让会引起重叠的组播地址同时应用就可以了,这样可用的组
播地址至少还有 223 这么多个。如果你了解组播地址在令牌环网中的映射,你就觉得这 32 :
1 的重叠简直是微不足道了。
在令牌环网中,三层组播地址被简单映射为功能地址 C0-00-00-04-00-00 (在令牌环网中因
为二进制位是反序的,实际是 03-00-00-20-00-00 )或全 1 地址 FF-FF-FF-FF-FF-FF 。缺省使
用全 1 地址,可以用接口命令 ip multicast use-functional 更改为使用功能地址。
哈哈,228 个组播地址映射到一个 MAC 地址上面,Faint!
所以,在令牌环网上跑多播是不可能了,正在使用令牌环网的用户,要么放弃组播,要么放
弃令牌环网。在以太网与令牌环网一争高下的过程中,以太网又一次胜出了。
Introduction to IGMP (IGMP 简介)
IGMP (Internet Group Management Protocol )主要用于主机向路由器通知其加入某个多播组
的行为,以便路由器向其转发到达特定多播组的数据包。
IGMP 目前共有三个版本,版本 1 在 RFC 1112 中阐述,版本 2 在 RFC 2236 中阐述,版本 3
目前仍在开发之中。
IGMP Version 1 (IGMP 版本 1)
版本 1 采用路由器查询和主机报告两种方法维护组成员关系。
路由器向 224.0.0.1 (all hosts )地址发送TTL=1 的查询包,这种查询每 60-120s 发生一次,
如果在一个 LAN 上面存在多台路由器,则只有其中的一台作为 Designated/Elected 的路由器
发送查询信息。
主机可以向路由器发送 TTL=1 的组成员关系报告,在主机想要加入某个多播组或是收到来
自路由器的组成员关系查询消息时发出。因为同一网段上的主机只要有一台想要接收到达某
个多播组的消息,路由器就会将到达这一多播组的消息发至该网段,所以主机的报告采用压
制的方式,对某一个组信息的接收请求只需有一台主机报告即可。
上图是版本 1 的消息包格式,Ver= 1,Type= 1 表示主机成员关系查询,Type=2 表示主机成员
关系报告。Group Address 表示 Report 消息中主机要加入的多播组。
当一个主机要加入多播组时,它可以立即向路由器发送成员关系报告,不必等待查询,这样
就减少了端系统最初加入一个多播时的延时。
路由器也会定期的发出组成员关系查询,同一网段中只需一台欲接收组播信息的主机响应查
询即可。其它同属于该组的主机的响应被压制。(Response Suppression :每台主机在响应发
自路由器的查询之前
原创力文档

文档评论(0)