天天看點

Multicast(多點傳播)

RIPv2 hello包:

EIGRP hello包:

OSPF hello包及其它協定資料包:

IP位址分為A/B/C/D/E類,D類就是多點傳播位址

IPV4分為單點傳播、多點傳播、廣播:

單點傳播中每一路TCP/IP會話都要占用一路帶寬進行傳輸;

廣播是隻占用一路帶寬進行傳輸,但所有裝置都要接收處理;

多點傳播相當于一個折中方案,也就是隻占用一路帶寬進行傳輸,特定的裝置組才接收處理,這個特定的裝置組就以某個多點傳播位址來表示(裝置必須是這個組的成員,或者說裝置必須加入這個組)

多點傳播的好處:

1、 增強效率

2、 優化性能

3、 分布式的應用

多點傳播是基于UDP進行傳輸的,缺點如下:

1、 不可靠的,盡力而為的傳輸;

2、 無擁塞避免,而TCP有滑動視窗機制和确認機制;

3、 包的複制;

4、 無序列号機制;

多點傳播工作主要由兩部分構成:

S:源,産生多點傳播流的裝置,源位址是個單點傳播位址;

G:組,接收多點傳播流的裝置組,目的位址是個多點傳播位址,如下:

<b>IP group addresses:</b>

Class D address(high-order three bits are set)

Range from 224.0.0.0(11100000.00000000.00000000.00000000) through 239.255.255.255239.255.255.255(11101111.11111111.11111111.11111111)

<b>Well-know addresses assigned by IANA</b>

Reserved use:244.0.0.0 through 244.0.0.255

224.0.0.l---all muticast systems on subnet(所有的多點傳播都監聽這個位址)

224.0.0.2---all routers on subnet(這個子網的所有路由器)

224.0.0.4---all DVMRp routers(早期的基于RIP的多點傳播路由選擇協定)

224.0.0.13--all PIMv2 routers 關注重點

224.0.0.5,6,9,10 used by unicast routing protocols

224.0.1.39--RP 宣告

224.0.1.40--RP 發現

PIM與協定無關。

組織機構範圍:239.0.0.0-239.255.255.255

父:239.1.0.0/16

站點:239.1.8.0/16

多點傳播應用類型

點到多點

多點到多點

多點到點

多點傳播位址通常分為三大類:

1、 保留的本地鍊路位址:被一些網絡協定所使用,在一個子網内使用;

2、 全局範圍位址:在網際網路上做多點傳播路同時使用

3、 管理範圍位址:相當于多點傳播位址中的私有位址,可子網化,類似于RFC1918

問題1:224.224.224.224屬于D類位址,其子網路遮罩為多少?

答:224224.224.224屬于D類位址,D類位址保留作為多點傳播使用,其沒有ABC類所因有的子網路遮罩,但在區域網路中可以根據自己的設定而定,所謂ABCDE類隻是傳統的分類,将逐漸被IPV6、CIDR和VLSM所淘汰。

問題2IP位址可分為ABCDE五類,如192.168.1.10本屬于C類位址,但有了子網路遮罩後,IP位址的分類就無效了,例如:子網路遮罩255.255.0.0那麼上述位址就變成了B類位址,是這樣嗎?

如何建構第二層的多點傳播地地下:多點傳播MAC位址的建構

<a href="http://ltyluck.blog.51cto.com/attachment/200909/27/170459_1254065670HXsu.gif"></a>

一個多點傳播MAC位址可對應多個多點傳播IP位址,就是因為丢棄那5個bits造成

第二層的多點傳播位址(多點傳播MAC位址,與本機MAC位址無任何關系,隻與多點傳播IP位址有關系)從IP多點傳播位址中衍生,計算方法是把IP位址的最後23位拷貝到MAC位址的最後23位,然後把這23位前面的那一位置0,MAC位址的前24位必須為0x01-00-5E。例如:多點傳播IP位址224.0.1.128,16進制表示0xE0-00-01-10,最低的23位為0x00-01-10,計算得出的MAC位址為:0x01-00-5E-01-10

多點傳播通信的三個階段:

第一個階段:源告訴它的本地路由器它是一個多點傳播組的源,源不需要知道給誰發送流量,它隻管發送到本地路由器上,目标位址是一個多點傳播位址,代表了某種應用;

第二個階段:主機告訴它的本地路由器它想加入某個多點傳播組;重點關注

第三個階段:路由器建立組國分發樹,形成一個從S到G的路徑;重點關注

第二個階段使用IGMPV2。不再講IGMPV1,因為它是設計給WIN95所使用

IGMPV2支援目前所有的WINDOWS及UNIX平台。它用于在本地子網的路由器與主機之間進行通信,是以它的包的TTL值是等于1的,它是個第三層協定,依靠同為第三層的IP協定進行封裝和傳輸,IGMP在IP包中的協定号為2(協定号為1的IGMP,也是直接封裝在IP包中的);

如果我們使用到了一些交換機這類的話,我們就需要去修改它的TTL值。

三層防環使用的是TTL值

二層防環使用的是STP

RFC 2236(IGMPV2的參考文檔)

Leave group message 離開資訊IGMPV2才有

類型字段:

類型1:兩種查詢,正常查詢群組定制查詢

類型2:版本1的成員關系報告,表示IGMPV2

IGMPV2-主機加入一個組:

H2如果想加入某個組,那麼它就會啟動自身的關于這個多點傳播組的應用程式程序,這個程序會向多點傳播位址224.0.0.2發關一個membership report的資訊,H1/H3以及路由器都收到了這個資訊,H2在沒有得到回應之前每隔10秒發送一次來確定路由器能收到此報告,路由器收到後将H2增加到這個特定的組映射表中,并通過外出接口尋找此多點傳播流量(這用于多點傳播流量還沒有到達此路由器的情況);(以下為多點傳播流量已經到達此路由器的情況)路由器每隔60秒會通過對内接口向内發送general query,看看某個它知道的組是否有主機願意加入(路由器向某個子網内轉發多點傳播資訊的前提條件是這個組裡面至少要有一台活動的主機願意去接收相關資訊),H2收到後會開啟一個随機的遞減計數器,當計數器清0時H2會發送一個membership report來響應general query,如果H1也想成為這個組的成員,它會否回應路由器的這個general query?不會的,因為一個組裡面隻需要一台主機響應即可。

單點傳播:主要關心我們的資料從那裡去,如何去

多點傳播:主要關心我們的資料從那裡來,如何來(剛才與單點傳播相反)

IGMPV2-離開一個組:

1、 H2 sends a leave message。類型4的離組消息說要離開224.1.1.1這個組,目的位址為224.0.0.2

2、 Router sends <b>group-specific query</b>。連續三次發了都沒有主機響應路由器就停止向這個子網轉發這個組的流量。目的位址為224.0.0.1

3、 A remaining member host (H3) sends report, so group remains active.目的位址為224.0.0.2

IGMPV3目前處于開發狀态

查詢者選舉:

如果在一個網絡中出口有多台路由器,那麼IP位址,誰大誰成為查詢者

當某個子網存在有多個出口路由器時,就要進行一個查詢者選舉,以此來決定是A還是B來作為子網中的查詢者,鞭原則是最高接口IP位址。上圖中描術有誤,實際上B為查詢者,A在對它進行監聽。

IGMPV2計時器

Query Interval 查詢間隔 每隔60秒 (1-65535)

Query Timeout 查詢逾時 逾時時間120秒 (60-300)

Maz Reponse Time最大響應時間 10秒 主要應用在IGMPV2/3裡面。 可調範圍(0-25.5秒)

實際工程中,路由器不會如上那樣直接連接配接主機的,中間還有二層交換機的存在,二層交換機對于廣播包群組播包的處理描述如下:

當交換機的某個接口收到廣播包或多點傳播包,交換機會各這個接口所屬VLAN内的其它所有接口(這個接口除外)以及trunk接口進行轉發。

二層交換機預設将多點傳播包作為廣播包對待,這樣就很占用帶寬和資源,最好能做到下需要的端口就不轉發多點傳播資料流,為實作此目标,有三種方法:

1、 手工添加靜态條目,将多點傳播MAC位址與需要接收的主機所連接配接的交換機端口進行綁定,實際工程不使用此方法。

2、 CGMP私有,運作于思科的路由器與交換機之間,CGMP協定包由思科的路由器産生并發送,交換機隻是去讀取

工作在路由器與交換機之間的。

GDA:多點傳播組的MAC位址

USA:單點傳播源MAC位址

<a href="http://ltyluck.blog.51cto.com/attachment/200909/27/170459_1254065672gEj1.png"></a>

Version-This is always set to version 1

Type-There are two types of CGMpacket created by a cisco router and sent to a cisco switch:

Type 1-Join packet – sent by the router to tell the switch to add a member to the multicast

Type 2 – Leave packet – sent by the router to tell the switch to remove the member from the multicast group

Group D

工作過程:

1、 the router infornms the switch on shich port it sits,by sending a Join packet with the GDA set to zero(0000.0000.0000)

第一步、路由器通過CGMP包告訴交換機我有一個多點傳播接口,你把這個多點傳播接口的MAC位址添加到你的CAM表裡,GDA全0,USA是路由器的以太口MAC位址

第二步、交換機被配置去監聽CGMP的包,現在交換機知道路由器的哪個詳細的端口

第三步:路由器每隔60秒給交換機發送一次CGMP包用于維持關系,這樣交換機就知道該路由器的多點傳播轉發一直在持續。

工作過程2:

第一步:主機發送IGMP的成員關系報告給路由器說要想加入226。239。1。10這個多點傳播

第二步:路由器收到後将此多點傳播IP位址衍算出一個多點傳播的MAC位址,以CGMP加入包的方式發送給交換機,此包中具體内容就是一個GDA與主機USA的映射關系表。交換機将主機的MAC位址加入自己的CAM表中,這樣交換機已經知道了這個多點傳播的發送者和接收者的民接口了;

第三步:當形成了上一步的關聯後,這時當路由器給交換機轉發多點傳播包時,交換機不會再按預設的方式,将

離開工作過程:

第一步:發送退組包;

第二步:交換機收到路由器發出的組定制查詢後,會向這個組關聯的所有的端口進行轉發。

第三步:如果還有主機需要接收主播資訊,路由器就會以CGMP的方式發送一個離組包通知交換機将那台離開的主機的相關多點傳播MAC映射從CAM表中删除掉,并繼續向剩下的主機發送多點傳播資訊,這時的USA是退組的那台主要的MAC位址。

第四步:如果沒有主機響應,那麼路由器就會以CGMP的方式發送一個離組包給交換機告訴它将所有這個組的多點傳播MAC映射删除掉,這時的USA是00-00-00-00-00,并不再轉發多點傳播資訊。

1、 IGMP snocping業界标準,隻需要交換機支援并啟動了IGMP snooping功能,由交換機自動完成,思科交換機預設是開啟此功能的。

多點傳播路由選擇協定:建構多點傳播分發樹實作從S到G的資料轉發

多點傳播分發樹分成兩種:

1、 源分發樹/Source-rooted,也叫最短路徑樹

源就是樹根,而路徑上的路由是branch

2、 共享分發樹/shared trees,在共享分發樹中,我們要選擇一個特定的根,這個特定的根叫做RP/集合點,也就是說流量從RP發出再逐漸向下分發的,而源也會往RP上進行注冊。

總結:

相同點:

1、 都形成無環路徑;

2、 成員都是動态的加組或離組;

3、 當某個主機通知最近的路由器想加入某個組時,該路由器會禹它上遊的路由器去請求多點傳播資料,同樣,當某個組不再有成員時,該路由器會向上遊路由器發出通知并執行一個剪切的操作并停止轉發。

不同點:

樹的形狀及工作方式不同。

Reverse Path Forwarding:多點傳播路由中可靠性、安全性的表現。比如路由器兩個接口s0/e0,e0下接了192.168.1.0/24這個網絡,而此時在s0的入口向方如果收到一個多點傳播流要求此路由器進行轉發,且這個多點傳播流的源位址是192.168.1.200,路由器會将這個源位址,與自己的路由表進行比對,發現情況異常,則不會轉發此多點傳播資料流,也不會形成路由環路。

Types of multicast protocols:用多點傳播路由選擇協定來建構上面所說的分發樹。

1、 Dense mode protocols:假定組成員密集的存在于網絡之中,并且有足夠的帶寬建立和維護分發樹;

如DMVRP(底層必須是RIP)/MOSPF(底層必須是OSPF)/PIM-DM

特點:通常用于區域網路呀小網絡;是一個push的模型(從路由器向其它路由器推,推到每個角落,當其它路由器表示不想接收後再一級一級的向上修剪回去);通常使用源分發樹;

2、 Sparse mode protocols:假定網絡帶寬很低,而且組成員稀疏的分布在網絡中,如PIM-SM/CBT

特點:通常用于廣域網;是一個pull的模型(路由器等待一個加入包到達後再去建立一個分發樹,主機主動去路由器上接多點傳播流量);通常使用共享分發樹;

PIM:protocol independ multicast/獨立于協定的多點傳播路由器選擇協定或者叫做與協定無關的多點傳播路由選擇協定,不依賴于其它路由協定的存在而存在,PIM也不關注從哪種路由選擇協定中得到了路由表,但它使用單點傳播路由表來确認資料的源位址。

現在使用版本的PIMV2,協定号13,直接封裝在IP包中,使用多點傳播位址224.0.0.13進行協定包的轉發

PIM的三種工作模式:PIM-DM/PIM-SM/PIM-SM-DM

PIM-DM與協定無關的密集模式

PIM-SM與協定無關的稀疏模式

PIM-SM-DM與協定無關的雜合模式

本文轉自 ltyluck 51CTO部落格,原文連結:http://blog.51cto.com/ltyluck/207224

繼續閱讀