D類地址是用于組播,也就是以1110開頭,剩下28位用于鑒別組播地址(剩下的這28是個無結構的地址), 以01005e開頭的MAC地址用于表示MAC的組播地址,剩下的23位用于標識組播,IP組播地址對于MAC地址有一個映射關系,也就是IP組播的后23對應Mac組播的后23位,
這樣就有可能出現多個IP對應一個MAC的現象,它們之間用Arp來解析。
如果一個局域網使用組播,那么所有的主機必須加入一個all-host組(組播地址為224.0.0.1),但是Host可以決定是否去接受組播。當一個組播交通決定傳輸之前,router需要知道那個Host想接收組播,IGMPv1, IGMPv2用于發現是否有這個組播組的成員在它直連的子網里,IGMP用一個querying device去請求和報告Host加入和離開組播組,它有兩種message, 一個是query messages 用于組播路由器去發現Member, 還有一個是report message,它是由主機發送,報告那個主機想加入組播組,IGMP間斷的發送query message到224.0.0.1(用于標識所有主機), 直連網段中的其中一臺Host發送report message來報告誰想接收組播,但是如果Host 想加入組播組,它可不必等待query message, Host 可以主動的發送一個report message到224.0.0.2(標識組播組中的所有組播路由器)
IGMPv2 提供了leave meassage,主機主動發送這個離開信息到224.0.0.2,表明這臺主機想離開這個組播組,query router發送一個query message ( specific-group)的信息從那個接收離開組的端口,如有其它的主機還想加入這個組播組,則向這個query device發送一個specific-group 的report message, 如果在一定時間內沒有主機反應這個group-specific query message, 則表明沒有本地成員在這個組里面
在交換機轉發組播中,由于IP組播映射到一個Layer 2 multicast address, 所以組播必須發送到所有的交換機端口,當一臺主機向組播路由器報告成員信息,組播由路由器發送到交換機,由于組播使用組播地址傳送流量,所以它不知道實際的目的mac地址,因而它將它發送到所有的交換機端口,可以使用劃分VLAN來解決這個問題,但是使用VLAN不能動態的添加和刪除成員,這樣,交換機必須處理每一個組播包,加大了處理延時,降低了交換機的性能,這樣就出現了一個router to switch的解決方法---CGMP, CGM允許交換機向組播路由器學習有關組成員的信息,在這個環境里,rotuer是一個CGMP服務器,switch是一個Client, 當router 接收一個組播包,它立即創建一個CGMP包,這個包發送到一個well-know地址,所交換機都能收到這個包,然后交換機解釋這個包,創建一個forwarding table。
在每個物理段中,一個指明路由器被選擇,指明路由器構造一個分布樹,連接一個組播組有所有的成員,以保證高效的傳輸。這個router可copy所有進入的包,然后把它發送到它的分支樹,因為組播組是動態的所以分布樹也必須是動態的升級,一個分支加入一個分布樹就像一個新的成員加入組播組,相反的說,如果這個分支沒有接收者,剛這個分支被刪除。
有兩種分布樹可以在組播路由中使用:1.源指定(source specific) 2.共享(shared), 指定源的方式針對于每個組播組的源 處理Spanning tree,例如,如果10個成員在10個分離的子網,創建基于10個組播組的10個不同的路由樹被, 源指定使用從源到目的的最短路徑最小化了延時,source-based 的分布樹使用一個叫相反路徑轉發的機制(Reverse Path Forwarding RPF), 當一個router接收一個帶源的組播包,它在它所有的端口轉發這個包,除了接收這個包的端口,然而,轉發只發生在提供最短路徑返回發送者的鏈路,如果這個包到達了一個不是最短的路徑上,則這個包被discard。
提供一個到組播指明路由器和源之間的鏈路叫作父鏈路,router的處出端口叫子鏈路。
在共享樹(shared-tree)的方式, 所有的包沿著分布樹發送到組播組,不考慮發送的源,這種方式削減了處理時間,但是導致了較大的端到端的延時
然而,不同于spanning-tree機制,不同的組播組定義了不同的分布樹,如果一個設備想接收數據,它必須加入這個組的共享樹,組播路由協議通過檢測一個點播的路由可達來建交分布樹。
組播包使用IP Header的TTL域來限制它的可達范圍,每經過一個路由器,TTL的值減1,如果TTL過期,則這個包被拋棄,Packet的TTL大于接口的TTL門限,則被轉發,如果等于小于接口的門限則拋棄。
0 限制在同一個主機,從來不被發送到任何接口
1 限制在相同的子網,從來不被router轉發
15限制在相同的site, 組織,或部門
63限制在相同的區域
127worldwide
191workwide, limited bandwidth
255unrestricted in scope ; global
IP組播路由協議用于發現組播組和建立每個組播組的分布樹
client to router : IGMP
Router to Switch: CGMP
Router to Router : DVMRP, PIM, MOSPF, CBT
組播路由協議有以下兩種方式: 密集方式路由(dense-mode routing)和稀疏方式路由(sparse-mode routing)
怎樣選用這兩種方式,取決于組播組的成員在整個網絡中的分布,如果網絡中幾乎所有的路由器都為每個組播組分發組播信息則使用Dense-mode, 為了維護分布樹,Dense-mode組播路由協議間歇的flood網絡組播信息,Dense-mode適用于組成員密集的分布在整個網絡,而且有足夠的帶寬來容忍flood。
sparse-mode路由協議用于每個組播只有很少的幾個路由器(并不意味著每個組播組只有很少的成員),它意味著組播組成員被廣泛的分散,例如Inte.net Muticast, sparse-mode也假設網絡帶寬很有限,sparse-mode不使用flood, 開始時它先建立一個空的分布樹,只有當成員請求加入組播組時,它才向分布樹添加一個分支。
dense-mode路由協議包括: Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First (MOSPF), Protocol Independent Multicast Dense Mode(PIMDM)
DVMRP大多數用于組播主干(MBONE)路由器, 它使用反路徑flood(reverse path flooding), 當DVMRP接收一個包時,它在它連接的所有路徑上flood這個包,除了接收路徑,這樣,這個包可以到達所有的LAN, 如果某個網段沒有任何組播組的成員,則路由器發送一個削減信息返回分布樹,這人削減信息防止后來的包發送到這個沒有成員的區域,DVMRP使用它自己集成的路由協議去決定包返回源的路徑, 這個點播路由協議很像RIP,它基于hop counts, 為了可以讓新的主機加入組播組,DVMRP間斷的flood, DVMRP很少在大的網絡中使用。DVMRP的擴展性不好,因為它依靠Flood.
MOSPF(Cisco不支持)依賴于它集成的OSPF, MOSPF適用于單獨的路由域,例如一個網絡被一個單獨的組織控制, OSPF是一個鏈路狀態路由協議, MOSPF把組播信息加入OSPF鏈路狀態廣告, 在一個OSPF/MOSPF網絡中,每個路由器基于鏈路狀態信息維護一個詳細的網絡拓補, 一個MOSPF路由器使用鏈路狀態廣告去學習在連接LAN中有那個組播組被激活,它通過這個信息構造分布樹,MOSPF基于包的源和目的地址來轉發包,一個基于每source-group 的分離最短路徑分布樹被建立,分布樹當網絡拓補發生變化以及cache過期時被重新計算,MOSPF適用于在同一時間只有少量的soure-group被激活,不推薦MOSPF使用于不穩定的環境中。
PIM DM和DVMRP相似,都使用相反路徑flooding(reverse path flooding), 當PIM DM接收一個包時,它在它連接的所有路徑上flood這個包,除了接收路徑,如果某個網段沒有任何組播組的成員,則路由器發送一個削減信息返回分布樹, 協議獨立意味著它不依賴任何一個指定的點播路由協議,這個原則適用于dense-mode和sparse-mode,PIM可以使用所有的點播路由協議,PIM適用于發送者和接收者的距離很近,也適用于很少的發送者和很多的接收者,以及流量很高的情況.
Sparse-mode的兩種組播路由協議:
Protocol Independent Multicast Sparse Mode (PIM SM) 和 Core-Based Trees (CBT)
PIM SM適用于只有較少的接收者,以及流量不頻繁,這個協議可以同時處理幾個組播數據流,非常適合應用于WAN 或者是Internet, 它定義一個集合點(rendezvous point), 一個發送者必須發送數據到這個集合點,接收者在接收數據之前要先在集合點登記, 路由器自動的優化路徑, PIM可以在某些組播組中使用dense-mode的同時,在另外一些組中使用sparse-mode.
在CBT環境中,所有的組成員共享一個單獨的樹,組播流在相同的分布樹上傳輸,不考慮源, CBT和Spanning-tree相似,除了為每個組播組創建一個分離的樹,一個基于Core的樹可以使用一個單獨的路由器,或是一組路由器做為核心,路由器通過發送一個加入信息加入核心,核心發送一個確認返回路由器,一個加入信息不需要必須被核心確認,這臺路由器成為分布樹的一個分支
例子:
一個client發送一個IGMP 加入信息,下一跳的router接收這個信息,記錄IGMP的源MAC地址, 然后產生一個CGMP包發送到switch, 交換機使用這個CGMP信息動態的在switch talbe中建立一個表項,這個表項是實際組播Host地址到交換機端口映射
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月