H3CSE課本上沒說的關於組播的那些事兒

學到組播這一塊,發現課本上有很多沒有講的細節,對我這種外行來說,只能去查查其他的資料,把這一塊補充完善一下~~

1. 兩個特定的組播地址:224.0.0.1 表示本網段上的所有主機

                       224.0.0.2 表示本網段上所有的路由器

2.  主機通過組地址和接口來識別一個組播組

主機保留了一個表,此表中包含以組播地址和程序的映射,程序如何實現組播的呢?

OSI七層參考模型

應用層      某個程序需要加入一個組播組 通過某種渠道獲得了組播地址

表示層      

會話層

傳輸層      (組播基於UDP 所以組播繼承了UDP的一些缺點)

網絡層      主機存在了此組播組的組播IP(此主機還會存在單播IP和環回地址等

數據鏈路層  根據組播IP生成一個組播MAC(當然也會存在單播MAC等其他MAC

物理層

IGMP運行於IP層 IGMP被當作IP層的一部分

IGMP報文的IP部首中TTL被設置爲1,目的是保證此IGMP報文不被其他路由器轉發到其他網段

5. 組播MAC永遠都不會出現在組播幀的源MAC的位置

組播幀會構建成這樣的:

目的MAC          MAC                承載數據

生成的組播MAC    網卡接口的單播MAC    

這就導致了二層交換機學習不到組播MAC的端口映射表項,那麼組播就變成廣播了,背離了組播的初衷,於是出現了IGMP Snooping技術

6. IGMP Snooping技術又出現了一個問題。

在未引入IGMP Snooping技術之前的網絡環境是類似於集線器環境,但是引入IGMP Snooping之後,交換機工作在二層上。這是有區別的。

在集線器這種一層設備環境下,無論是什麼設備發出的報文,所有的主機或者路由器都會收到,那麼爲了防止Membership Report報文在集線器上氾濫,就有了IGMP成員報告抑制機制加以約束,但是運行了IGMP Snooping後的二層交換機就出現問題了。因爲,交換機的轉發是依靠內部的MAC和端口的映射表,如果membership report報文被泛洪,那麼其他端口上的組成員主機就會依據IGMP成員報告抑制機制而沉默,不再發送其自己的membership report報文,導致了交換機無法得知此端口上還有相應的組成員,接下來就會造成報文無法投遞。所以,對於membership report報文,交換機僅僅會在路由器端口轉發,而不會在其他動態成員端口上轉發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章