轉multicast vs broadcast

weixin_33816946發表於2015-09-23

轉自:http://blog.csdn.net/bloghome/article/details/4682984

一、multicast概述:
 
多媒體應用整合了聲音、圖形、動畫、文字以及視訊,這種應用在現在的網路環境中也越來越多。多媒體流量在網路中主要有三種傳播方式:
1、unicast (單播)
2、broadcast (廣播)
3、multicast (多播)
每種傳播方式對網路頻寬都有不同的影響。
 
unicast會對每個客戶端分別傳送一份流量的拷貝,如果目的客戶端數量很大,unicast不得不傳送多次,這如果發生在shared鏈路上,頻寬佔用是非常巨大的。
 
broadcast只傳送一份拷貝,但是所有客戶端都必須停下手中的工作,去檢查下這份流量是否是發給自己的,佔用客戶端的CPU處理時間,如果僅僅是一般的broadcast流量,因為流量都比較小,但多媒體流量的廣播卻會佔用高達7Mbps甚至更高的頻寬,這會佔用幾乎所有的頻寬。如果客戶端數量較小,這種方式顯然是不合適的。
 
multicast是多媒體網路環境下最佳方式,對一組使用者只傳送一個資料包的拷貝。
 
 
二、multicast特性
1、多播是將資料統一傳送給一個host group(主機組)
2、採用“無連線的”傳輸方式,即UDP,也可稱為“best effort”
3、成員可隨時加入退出,即動態成員管理,成員可加入多個host group(主機組)
4、成員不受數量及所處位置的限制
5、支援多host group(主機組)
6、多播傳送端,即源端並不需要加入host group(主機組)
7、多播組成員不需要傳送資料
 
還有幾點,對比unicast來說,多播因為只傳送一次資料拷貝,幾乎能同時分別到達各客戶端,而單播不得不由源按順序分別多次傳送資料拷貝,這樣資料到達目的端是有延遲的。
 
再有,多播組成員可以保持匿名,多播因為採用的是UDP機制,這就要求在接收端需要有排錯機制。
 
 
三、multicast地址
多播地址為D類地址,即224.0.0.0 - 239.255.255.255。不同於A、B、C類IP地址的是,D類地址是不分層的,無結構化的。
 
multicast地址可以是動態分配,也可是被靜態指定。靜態指定的地址多為well-known地址,IANA負責對這些地址進行分配,靜態地址是永久的host group(主機組),它與TCP、UDP中的well-known埠號是類似的。比如224.0.0.5和224.0.0.6就是OSPF用來在DR/BDR與DROTHER之間進行資料交換的,224.0.0.10分配給了RIPv2,224.0.0.9是EIGRP專用的。
 
Description Range 
Reserved link local address 224.0.0.0 to

224.0.0.255
Globally scoped address

224.0.1.0 to

238.255.255.255

Source specific multicast 232.0.0.0 to

232.255.255.255 
GLOP address 233.0.0.0 to

233.255.255.255
Limited scope address 239.0.0.0 to

239.255.255.255 
 
 
reserved link local address:IANA分配給本地網段的網路協議的,路由裝置不會將這些包轉發出去,這是通過在包頭中設定TTL值為1來實現的。224.0.0.1指定了所有主機,224.0.0.2指定了所有路由器。
 
globally scoped address:這些地址可在internet上進行傳遞
 
source specific multicast:為SSM
 
glop address:與AS繫結使用
 
limited scope address:本地as或domain內使用,路由器上應對這些地址進行過濾,一般侷限在公司內,或大學內部。
 
 
四、multicast tree(多播樹)
1、source distribution tree(源分發樹)
2、shared distribution tree(共享分發樹)
 
源分發樹表示為:(S,G),例如(192.168.2.2,224.1.1.1)
共享分發樹表示為:(*,G),例如(*,224.2.2.2)
 
對比:
1、源樹的好處是:有最優化的路徑選擇,據點是當在一個有許多源及host group的網路中,會對源路由器產生巨大的影響,導致資源耗盡。
2、共享樹的優點是節省資源,但從源到目的的路徑並不一定是最佳的
 
 
五、PIM
PIM是ip routing protocol-independent,獨立於路由協議的,但是仍然需要有路由表存在,這是防止環路的要求。
 
PIM分為sparse mode和dense mode
 
 
六、IGMP和CGMP
IGMP v1:包含組成員查詢包,組成員回覆包。3個60秒無回覆則取消此成員
IGMP v2:新增leave report,版本2的成員查詢訊息,可隨時脫離多播組
IGMP v3:新增版本3的組成員查詢及回覆訊息
IGMP v3lite:思科私有協議,不具有廣泛意義
CGMP用來對交換機通告多播組成員mac地址,用在router上,適合與低端交換機配合使用,思科私有協議
IGMP snooping是IETF的標準協議,用在switch上,用來偵聽多播組成員mac地址,佔用資源非常大,高階交換機才能應用。
 
 
七、配置multicast
 
1、ip multicast-routing
ip pim sparse-mode | dense-mode | sparse-dense-mode
 
2、配置auto-rp,思科私有協議,PIM version 1
ip pim send-rp-announce type number scope ttl group-list access-list-number  //定義rp
ip pim send-rp-discovery scope ttl //定義rp代理
 
3、配置PIM version 2
ip pim version 1 | 2
ip pim bsr-border
ip pim bsr-candidate interface hash-mask-length [priority] //代理
ip pim rp-candidate type number ttl group-list access-list-number //RP
 
 
 
八、monitoring ip multicast
show ip mroute
show ip mroute summary
show ip mroute active
show ip mroute count
show ip pim interface
show ip interface

相關文章