一、什么是组播
作为IP传输三种方式之一,IP组播通信指的是IP报文从一个源发出,被转发到一组待定的接收
二、组播应在在哪些场景
- 多媒体、流媒体的应用。IPTV
- 培训、联合作业场合的通信。大学精品课
- 金融应用(胶票)。
三、为什么要用组播
- 组播相对单播和广播有如下优势:比单播,由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发。所以用户的增加不会导数信息源负载的加重以及网络资源消耗的显著增
- 相比广播,由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。
四、组播网络架构
- 组播源需要封装报文的目标地址,包括目标IP和目标MAC
- 路由器之间需要对组播报文进行路由寻址(相关技术点,PIM)
- 客户端到路由器需要加入特定的组播组(相关技术点IGMP)
五、组播地址
1.组播IP地址
D类地址为纽播地址,范围是从224.0.0.0到239.255.255255
1.1.场景永久预留地址
- 224.0.0.1All Systems on this Subnet
- 224.0.0.2 All Routers on this Subnet
- 224.0.0.5 OSPFIGP OSPFIGP All Routers
- 224.0.0.6 OSPFIGP OSPFIGP Designated Routers
- 224.0.0.9 RIP2 Routers
- 224.0.0.10 EIGRP Routers
- 224.0.0.13 All PIM Routers
- 224.0.0.18 VRRP
- 224.0.0.22 IGMP
- 224.0.0.102 HSRP
1.2.ASM组播地址
ASM是Any-Source Multicast,任意设备均可作为组播源。
- 可用做全网的ASM地址(相当于公网IP,要避免冲突)
- 224.3.0.0-224.3.0.63 Nasdag
- 233.252.12.0-238 252.13 255blizznet-tv-services
- 225.1.8.1北京电信iptv cctv1
- 内网ASM地址(相当于内网IP,在一个同域网内使用)
- 239.76.253100湖南电信Iptv湖南卫视
1.3.SSM组播地址
SSM全称为Source-Specific Multicast,译为指定源组播。客户端可以指定从哪个组播源获取数据,igmpv3开始支持SSM。
2.组播MAC地址
- IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位固定为0.
- 组播IP与组播MAC自动映射,IP地址的后23位映射为组播MAC,前25固定。MAC地址总长48位.
- 注意,规划网络的时候,避免组播MAC相同,IP地址中有5位,不管怎么变,组播MAC都相同。
- 为什么只映射23位
- 有一个有趣的故事是关于为什么只有23位有价值的 MAC地址空间分配给IP组播。回到20世纪90年代初,Steve Deering取得了一些关于IP组播研究工作的成果,因此,他希望IEEE配置16个连续不断的组织机构惟一性标识符(OUI)作为IP组播MAC地址使用。因为一个OUI 包含24位有价值的地址空间,16个连续不断的 OUI将提供全部28位有价值的MAC地址空间,并且允许一对一地把第3层IP组播地址映射到MAC地址。很遗憾,当时一个 OUI的价格是 1000 , S t e v e 的经理, J o n P o s t e l ,不愿花 1000,Steve的经理,Jon Postel,不愿花 1000,Steve的经理,JonPostel,不愿花 16000购买全部28位有价值MAC地址。相反,Jon愿意在预算外花$1000购买一个OUI。并且拿出一半地址(23位)给Steve供IP组播研究之用。
IGMP (Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
通俗点来讲,一个客户端需要加入某个组,就用igmp来通知他的路由器,他要离开某个组,也是用igmp来通知他的路由器。
3.组播IP与MAC的映射
- 需要组播IP地址与组播MAC地址的自动映射。
- MAC地址的低23bit为组播IP地址的低23bit。
3.1.映射导致的问题
组播IP地址映射成组播MAC地址时,会导致32个组播IP地址对应一个组播MAC问题。
六、PIM
1.PIM是什么
- PIM是组播路由协议,用于指导组播报文如何转发。
- PIM (Protocol Independent Multicast)称为协议无关组播,为什么叫这个名字,相对于MOSPF依赖OSPF单播路由协议、DVMRP依赖RIP单播路由协议,PIM可以运行在任何单播路由协议上,所以叫协议无关组播。