组播
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需要复制一份相同的数据包。它提高了数据传送效率,减少了骨干网络出现拥塞的可能性。
组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍:
1、单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。
2、组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
3、广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和网络设备控制广播传输
自己总结的一段组播路由协议的介绍:
组播路由协议(PIM-SM,PIM-DM)是路由器与路由器之间的路由协议,通过建立多播路由表来实现多播转发。
IGMP组播协议是运行在局域网上的路由器与主机之间,跟踪组成员的关系组播协议。
路由器通过执行多播路由协议(例如PIM-DM,PIM-SM等)来维护转发多播报文的路由表,通过IGMP协议来学习在直连网段上组成员的状态。主机通过发送IGMP Report消息来加入特定的IGMP组
1、组播技术体系结构
组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM。同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、CGMP等二层组播协议。
IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发
2、组播IP地址
组播IP地址用于标识一个IP组播组,其范围是从224.0.0.0到239.255.255.255。IP组播地址前四位均为1110。组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。
224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用; 224.0.1.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。常用的预留组播地址列表如下:
224.0.0.0 基准地址(保留)
224.0.0.1 所有主机的地址
224.0.0.2 所有组播路由器的地址
224.0.0.3 不分配
224.0.0.4 dvmrp(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器
224.0.0.5 ospf(Open Shortest Path First,开放最短路径优先)路由器
224.0.0.6 ospf dr(Designated Router,指定路由器)
224.0.0.7 st (Shared Tree,共享树)路由器
224.0.0.8 st 主机
224.0.0.9 rip-2 路由器
224.0.0.10 Eigrp(Enhanced Interior Gateway Routing Protocol ,增强网关内部路由线路协议)路由器
224.0.0.11 活动代理
224.0.0.12 dhcp 服务器/中继代理
224.0.0.13 所有pim (Protocol Independent Multicast,协议无关组播)路由器
224.0.0.14 rsvp (Resource Reservation Protocol,资源预留协议)封装
224.0.0.15 所有cbt 路由器
224.0.0.16 指定sbm(Subnetwork Bandwidth Management,子网带宽管理)
224.0.0.17 所有sbms
224.0.0.18 vrrp(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)
3组成员关系协议(IGMP)
IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
4、网络二层组播相关协议
网络二层组播相关协议包括IGMP Snooping ,IGMP Proxy和CGMP协议。 IGMP Snooping的实现机理是:交换机通过侦听主机发向路由器的IGMP成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。 IGMP Proxy与IGMP Snooping实现功能相同但机理相异:IGMP snooping只是通过侦听IGMP的消息来获取有关信息,而IGMP Proxy则拦截了终端用户的IGMP请求并进行相关处理后,再将它转发给上层路由器。
组播路由的配置拓扑如下:
组播路由的配置步骤如下:
(1) 所有三层设备都需要开启组播路由协议
(2) 三层设备的所有路由口需要配置PIM组播动态路由协议。
(3) 所有三层设备必需配置PIM域的RP集结点。
(4) 二层设备需要开启组播探听功能,以得知组播组的成员表
组播路由的配置如下:
Switch>enable
Switch#config terminal
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#exit
Switch(config)#interface f0/1
Switch(config-if)#switchport access vlan 10
Switch(config-if)#no shut
Switch(config-if)#exit
Switch(config)#interface f0/5
Switch(config-if)#switchport access vlan 20
Switch(config-if)#no shut
Switch(config-if)#exit
Switch(config)#interface f0/10
Switch(config-if)#switchport mode trunk
Switch(config-if)#no shut
Switch(config-if)#exit
Switch(config)#ip igmp snooping ivgl//配置IGMP SNOOPING的模式为IVGL
Switch(config)#ip igmp snooping vlan 10 mrouter interface f0/10//配置IGMP路由连接口
Switch(config)#ip igmp snooping vlan 20 mrouter interface f0/10//配置IGMP路由连接口
Switch(config)#end
SwitchA>enable
switchA#config terminal
switchA(config)#vlan 10
switchA(config-vlan)#vlan 20
switchA(config-vlan)#exit
switchA(config)#interface vlan 10
switchA(config-if)#ip address 192.168.10.1 255.255.255.0
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#interface vlan 20
switchA(config-if)#ip address 192.168.20.1 255.255.255.0
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#interface f0/1
switchA(config-if)#no switchport
switchA(config-if)#ip address 192.168.1.2 255.255.255.0
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#interface f0/10
switchA(config-if)#switchport mode trunk
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#router ospf
switchA(config-router)#network 192.168.10.0 0.0.0.255 area 0
switchA(config-router)#network 192.168.20.0 0.0.0.255 area 0
switchA(config-router)#network 192.168.1.0 0.0.0.255 area 0
switchA(config-router)#exit
switchA(config)#ip multicast-routing//开启组播路由协议
switchA(config)#interface vlan 10
switchA(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#interface vlan 20
switchA(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#interface f0/1
switchA(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchA(config-if)#no shut
switchA(config-if)#exit
switchA(config)#ip pim rp-address 192.168.1.1 //配置组播路由集结点
switchA(config)#end
switchB>enable
switchB#config terminal
switchB(config)#vlan 10
switchB(config-vlan)#vlan 20
switchB(config-vlan)#exit
switchB(config)#interface vlan 10
switchB(config-if)#ip address 192.168.30.1 255.255.255.0
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#interface vlan 20
switchB(config-if)#ip address 192.168.40.1 255.255.255.0
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#interface f0/1
switchB(config-if)#no switchport
switchB(config-if)#ip address 192.168.2.2 255.255.255.0
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#interface f0/5
switchB(config-if)#switchport access vlan 10
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#interface f0/10
switchB(config-if)#switchport access vlan 20
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#router ospf
switchB(config-router)#network 192.168.30.0 0.0.0.255 area 0
switchB(config-router)#network 192.168.40.0 0.0.0.255 area 0
switchB(config-router)#network 192.168.2.0 0.0.0.255 area 0
switchB(config-router)#exit
switchB(config)#ip mulitcast-routing//开启组播路由协议
switchB(config)#interface vlan 10
switchB(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchB(config-if)no shut
switchB(config-if)#exit
switchB(config)#interface vlan 20
switchB(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#interface f0/1
switchB(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
switchB(config-if)#no shut
switchB(config-if)#exit
switchB(config)#ip pim rp-address 192.168.1.1 //配置组播路由集结点
switchB(config)#end
router>enable
router#config terminal
router(config)#interface f0/0
router(config-if)#ip address 192.168.1.1 255.255.255.0
router(config-if)#no shut
router(config-if)#exit
router(config)#interface f0/1
router(config-if)#ip address 192.168.2.1 255.255.255.0
router(config-if)#no shut
router(config-if)#exit
router(config)#router ospf
router(config-router)#network 192.168.1.0 0.0.0.255 area 0
router(config-router)#network 192.168.2.0 0.0.0.255 area 0
router(config-router)#exit
router(config)#ip multicast-routing//开启组播路由协议
router(config)#interface f0/0
router(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
router(config-if)#no shut
router(config-if)#exit
router(config)#interface f0/1
router(config-if)#ip pim sparse-mode//配置组播路由协议为SM稀疏模式
router(config-if)#no shut
router(config-if)#exit
router(config)#access-list 10 permit host 224.1.1.1//配置允许的网络设备转发的组播组的数据
router(config)#ip pim rp-address 192.168.1.1 10//配置组播路由的集结点,调用允许的列表
router(config)#end
总结:配置组播可以满足现在的视频点播,视频会议等业务的网络环境,是一种一对多的网络环境,多对多的网络环境。路由器通过执行多播路由协议(例如PIM-DM,PIM-SM等)来维护转发多播报文的路由表,通过IGMP协议来学习在直连网段上组成员的状态。主机通过发送IGMP Report消息来加入特定的IGMP组。