轉自: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 |
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