組播
組播(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組。