計算機網(wǎng)絡復習 ch1-4 組播

正文之前

所謂的沉迷美劇,我來揭秘一下到底是哪一個美劇?!短┨埂穨

正文

Multicasting-組播

  • IP組播(IP multicast)又稱為IP多播,特點:
    • IP組播是介于單播和廣播之間的一種分組傳送形式,它既不指定明確的接收者, 也不是將數(shù)據(jù)分發(fā)給網(wǎng)絡上的所有主機。
    • 發(fā)送者不關心接收者所處的位置,只要將數(shù)據(jù)發(fā)送到約定的目的地址,剩下的工 作就交給網(wǎng)絡去完成。
    • 這樣做的好處在于,發(fā)送者只產(chǎn)生一份數(shù)據(jù),而不用為每個接收者分別復制一份 ,而且發(fā)送者不必維護接收者的信息。
    • 網(wǎng)絡中的路由器設備必須收集接收者的信息,并按照正確的路徑實現(xiàn)組播報文的 轉(zhuǎn)發(fā)和復制。
  • Multicast

    • 在 IP 網(wǎng)上一對多的傳輸
    • 支持視頻會議,
    • e-learning, 培訓等
  • 組播的三個組成部分

    • 1.組播地址(能被組播識別的地址集)
    • 2.組成員機制(主機加入和退出組的機制)
    • 3.組播路由協(xié)議(路由器有效傳送組播到各個網(wǎng)絡的組成員,且不會過度消耗網(wǎng)絡資源的路由協(xié)議)

  • 從數(shù)據(jù)格式來看,組播與單播使用共同的IP報文結構和上層封裝,只是目的 地址使用一段特殊的地址空間。這段地址在IPv4中被稱為D類地址空間: 224.0.0.0-239.255.255.255。
  • 這段地址雖然看上去是連續(xù)地址,但不能聚合為網(wǎng)段地址,而是每個IP獨立 分配和使用。


  • 特殊的組播地址
    • 224.0.0.1 所有組播主機和路由器
    • 224.0.0.2 所有組播路由器
    • 224.0.0.4 DRMRP 路由器
    • 224.0.0.5 所有 OSPF 的路由器
    • 224.0.0.6 OSPF 指派路由器
    • 224.0.0.9 RPIv2 路由器
    • 224.0.0.10 EIGRP 路由器
    • 224.0.0.13 PIM 路由器
    • 224.0.0.22 IGMPv3
    • 224.0.0.25 RGMP
    • 224.0.1.1 NTP 網(wǎng)絡時間協(xié)議

組成員機制

  • 要將組播數(shù)據(jù)準確發(fā)送給組成員,必須先確定哪些網(wǎng)絡的哪些主機是組成員,只有先確定了成員的位置,才能正確轉(zhuǎn)發(fā)組播。

  • 當組成員不再需要接收組播的時候,就應該停止向成員發(fā)送組播,要確 定組成員不再需要接收組播,就必須在成員退出時明確通告發(fā)送者。

  • 要確定組成員,有兩種方式:查詢和報告

    • 查詢,就是一臺路由器向網(wǎng)絡中發(fā)出查詢消息,查詢是否要主機要加入組 ,如果有主機應答,那么路由器就可以請求上游路由器把組播流量前轉(zhuǎn)到這個子網(wǎng)中,如果沒有主機應答,則請求上游路由器停止向其前轉(zhuǎn)組播流量。
    • 報告,主機也可以不必等待路由器的查詢,可以主動向路由器請求加入某個組,退出時也要向路由器發(fā)送退出消息,讓路由器停止向其轉(zhuǎn)發(fā)組播流量。
  • <u>IGMP (Internet Group Management Protocol)因特網(wǎng)組管理協(xié)議, IGMP運行在路由器和主機之間</u>

    • IGMP實現(xiàn)的功能是雙向的:一方面,主機通過IGMP協(xié)議通知本地路由器希望加入并接收某個特定組播組的信息;另一方面,路由器通過IGMP協(xié)議周期性地查詢局域網(wǎng)內(nèi)某個已知組 的成員是否處于活動狀態(tài)(即該網(wǎng)段是否仍有屬于某個組播組的成員),實現(xiàn)對所連網(wǎng)絡 組成員關系的收集與維護。
    • 通過上述IGMP機制,在組播路由器里建立起一張表,其中包含路由器的各個接口以及在接 口所對應的子網(wǎng)上都有哪些組的成員。當路由器接收到某個組的數(shù)據(jù)報文后,只向那些有 該組成員的接口上轉(zhuǎn)發(fā)數(shù)據(jù)報文。
    • 至于數(shù)據(jù)報文在路由器之間如何轉(zhuǎn)發(fā)則由組播路由協(xié)議決定,IGMP協(xié)議并不負責。
  • 當組播發(fā)送者和組成員在不同網(wǎng)絡時,需要路由器為組播數(shù)據(jù)提供轉(zhuǎn)發(fā) ,那么路由器就必須確認自己直連的網(wǎng)絡中是否存在組成員,可以使用 查詢和報告來發(fā)現(xiàn)組成員,IGMP用來完成這樣的工作。

  • 加入/離開組播過程:
    • 加入過程: 當主機加入一個組播組時,不是等待路由器發(fā)出成員查詢報文時再響應 加入,而是立即主動地向一個該組播地址發(fā)出一個成員報告(類型為0x2)表示加入 ,這樣在該組內(nèi)沒有其它組成員的情況下縮短了主機加入該組播組的延遲。
## 組播路由協(xié)議

組播協(xié)議總體結構:

  1. 路由器、主機之間:IGMP
  2. 路由器、路由器之間:PIM
  3. 路由器、交換機之間:CGMP
  • PIM協(xié)議

    • 如果要讓路由器也能像轉(zhuǎn)發(fā)單播數(shù)據(jù)一樣,將組播根據(jù)路由表來精確地轉(zhuǎn)發(fā)到目的地,那就需要讓路由器擁有像單播路由表一樣的組播路由表。

    • 要讓路由器生成一張功能完全的組播路由表,就需要在路由器之間運行一種協(xié)議,這種協(xié)議可以讓組播源和目的之間的路由表生成單播表一樣地生成組播表,最后路由器根據(jù)這張組播路由表來完成組播的轉(zhuǎn)發(fā)。

    • 這個協(xié)議就是PIM(Protocol Independent Multicast)。

  • PIM基本概念:組播樹

    • 組播發(fā)送者到接收者之間的轉(zhuǎn)發(fā)線路,被稱為組播轉(zhuǎn)發(fā)樹。
    • 組播發(fā)送者就好比是組播樹的樹根,組播總是從根發(fā)向接收者。從發(fā)送者到接收者之間的路由器,都是在組播樹上的,因為這些路由器在中間提供組播轉(zhuǎn)發(fā)。
    • 要完成從發(fā)送者到接收者之間的組播轉(zhuǎn)發(fā),組播樹上的路由器都應該記 住組播的出口,每臺中間路由器都記住出口之后,最終便形成了組播樹,而要記住組播的出口信息,這就是組播路由表的工作
  • PIM基本概念:組播反向路徑轉(zhuǎn)發(fā)

    • 因為組播經(jīng)常會有多個接收者分布在不同的網(wǎng)絡,所以當路由器在轉(zhuǎn)發(fā) 組播時,也通常需要將同一份數(shù)據(jù)從多個接口發(fā)出去
    • 由此可以看出,轉(zhuǎn)發(fā)組播的路由器,必須擁有發(fā)現(xiàn)環(huán)路、避免環(huán)路的能 力。
    • 所有的組播路由器就必須只將數(shù)據(jù)往接收者的方向轉(zhuǎn)發(fā),而絕不能往發(fā) 送者的方向轉(zhuǎn)發(fā)
    • 向發(fā)送者轉(zhuǎn)發(fā)稱為RPF(Reverse Path Forwarding),組播路由器在收 到組播數(shù)據(jù)后,都要對數(shù)據(jù)進行RPF檢測,組播路由表記住接收者的接 口,就能正常將數(shù)據(jù)發(fā)給組成員,而記住了發(fā)送者的接口后,就可以避 免路由器將數(shù)據(jù)往回發(fā)而產(chǎn)生路由環(huán)路了。
    • 組播路由器上朝發(fā)送者方向的接口被稱為RPF接口,只有從RPF接口發(fā)來的數(shù)據(jù)才能被轉(zhuǎn)發(fā),從其它接口過來的數(shù)據(jù)被認為是無效的。
  • PIM基本概念:PIM-Dense Mode(密集模式 )和PIM-Sparse Mode(稀疏模式)
    • PIM要為路由器學習組播路由表從而建 立組播樹,有兩種不同的方式,這兩種 不同方式在PIM中分兩種模式來運行, 為PIM-DM(密集模式)和PIM-SM(稀疏 模式)
    • PIM-DM模式中,組播源會向所有PIM鄰 居發(fā)出查詢,查詢數(shù)據(jù)包中包含組的地 址,下一跳PIM鄰居還會繼續(xù)向它的鄰 居發(fā)出查詢數(shù)據(jù)包,這些查詢數(shù)據(jù)包會 在所有PIM鄰居之間傳遞。
    • 如果查詢數(shù)據(jù)包發(fā)向一個連接了組成員 的網(wǎng)絡,這時路由器收到組成員的報告 之后,就會向自己上一跳鄰居(RPF接 口方向的鄰居)發(fā)送加入組的消息,以 宣布自己要接收組播,從而將組播轉(zhuǎn)發(fā) 到組成員
  • PIM基本概念:PIM-DM(密集模式)

    • 如果網(wǎng)絡中有一個組,地址為:224.1.1.1,發(fā)送者為100.1.1.1,那么就 應該記錄路由為(100.1.1.1,224.1.1.1),還要記錄的就是組播的出口 ,這些信息構成組播路由表。

    • 路由器收到的224.1.1.1組播就會指定出口發(fā)出去。PIM-DM模式中這樣記 錄組播路由的方式被稱為(S,G),其中S就是組播源地址,G就是組地址, 而出口則會被標為forwarding。

    • 如果只有一個組224.1.1.1,而發(fā)送者除了100.1.1.1之外,還有 100.1.1.2和100.1.1.3,那么依照(S,G)的記錄方式,就需要同時記錄 (100.1.1.1,224.1.1.1),(100.1.1.2,224.1.1.1),(100.1.1.3 ,224.1.1.1),也就是說(S,G)的路由記錄方式,會因為組源地址的增加 而增加記錄條目。

    • 對于不需要接收組播的PIM接口,PIM-DM模式照樣會將其記錄在路由表中 ,但被標為pruning。

    • 在PIM-DM模式下,組播發(fā)送源將數(shù)據(jù)發(fā)給組播路由器,然后路由器依照組 播路由表朝著接收者的方向轉(zhuǎn)發(fā),這樣的路徑,是依靠單播路由表計算出 來的最短路徑,也就是說從發(fā)送者到接收者之間的路徑,總是最短的,所 以PIM-DM模式建立起來的組播樹,如(S,G)記錄的組播樹被稱為最短路 徑樹shortest-path tree (SPT),因為SPT中記錄個每個組播發(fā)送者的源 地址,故又被稱為源樹。

  • PIM基本概念:PIM-SM(稀疏模式)

    • PIM-SM模式的工作過程和PIM-DM模式是不同的,在建立組播樹時,PIM-SM 并不會讓路由器發(fā)送查詢數(shù)據(jù)包去查詢組成員,而組成員的發(fā)現(xiàn)是靠組成 員自己主動向路由器發(fā)送報告。
    • 當一臺路由器從接口上收到組成員的報告之后,就會向自己的上一跳鄰居 發(fā)送加入消息,以通告自己需要接收組播,如果上一跳鄰居還不是組播發(fā) 送者,那么上一跳鄰居會繼續(xù)再向上一跳鄰居發(fā)送加入消息,直到組播源 收到加入消息為止。
    • 通過這樣的方式,就可以建立組播源到組成員之間的組播樹。
    • PIM-SM模式和PIM-DM模式除了在發(fā)現(xiàn)組成員的方式上不同之外,記錄路由 表的方式也不一樣
    • 例如網(wǎng)絡中有一個組,地址為:224.1.1.1,發(fā)送者為100.1.1.1,PIM-SM 模式路由器記錄為(,224.1.1.1),可以看出,PIM-SM模式并不關心組 播的源地址,而統(tǒng)統(tǒng)將源地址使用星號來表示
    • 這樣一來,PIM-SM為一個組只記錄一個條目,而不管這個組有多少個發(fā)送 者。這樣的記錄方式稱為(,G) ,其中就是組播源地址,G就是組地址 。如果有10個組,每個組有5個發(fā)送者,使用(S,G)的記錄方式,需要 記錄10×5=50條,而使用(*,G)的記錄方式,則只需要10條,所以使用 PIM-SM模式,可以大大縮減組播路由表的空間,從而大大節(jié)省系統(tǒng)資源。

  • PIM-SM RP(Rendezvous Point)
    • 在PIM-SM模式中,由于記錄組播信息 采用(*,G)的方式,而并不關心組播 源地址,因此造成路由器不知道組播 發(fā)送者的IP地址是什么,也就無法完 成RPF反向路徑檢測。

    • 在這種情況下,PIM-SM在網(wǎng)絡中選出 一個組播會聚點,即Rendezvous Point (RP)

    • RP就是組播網(wǎng)絡的核心,發(fā)送者統(tǒng)一 將組播數(shù)據(jù)發(fā)送到RP,然后RP再將數(shù) 據(jù)發(fā)到接收者,也就是說接收者收到 的數(shù)據(jù),都是由RP轉(zhuǎn)發(fā)過來的。

    • 路由器也就認為RP的地址,就是組播 源的IP地址。

    • 因為RP在PIM-SM中被當作核心,而(* ,G)的記錄方式中并不知道組播源的 地址,大家都會認為RP就是組播源

    • 最后PIM-SM中的組播樹,即(*,G)形 式的樹被稱為共享樹(RPT)。

  • PIM DR(在PIM-DM和PIM-SM模式下都會選舉)

    • 因為IGMP V1不選舉IGMP查詢器,如果有多臺路由器連接同一 個多路訪問網(wǎng)段(以太網(wǎng))時,就必須選舉PIM Designated Router(DR)來避免重復查詢
    • 這個DR的選舉,是由PIM協(xié)議進行的,選擇IP地址高的為DR。 PIM DR路由器在IGMP v1中充當IGMP查詢器的功能,來向主機 發(fā)送IGMP查詢
    • 在PIM-SM中,組播源沒有機制用來宣 告自己的存在,又因為PIM路由器都認 為RP才是組播源,而當直接的組播源 向RP發(fā)送組播時,會導致某些路由器 RPF檢測失敗。
    • 例如圖中R2只會接收從接口F0/1發(fā)進 來的組播,從其它接口發(fā)進來的,都 會被認為是環(huán)路而被丟棄。因此在真 正的源12.1.1.1將組播從R2的F0/0發(fā) 進來時,R2會因為RPF檢測失敗,從而 丟棄所有的組播數(shù)據(jù),這樣一來,組 播也就無法通信了。
    • 因此在PIM網(wǎng)絡中,真正的源需要向RP 發(fā)送注冊消息,以宣告自己的存在, 而發(fā)送注冊消息在多路訪問的網(wǎng)絡中 則是由DR來代為完成的。
    • 真正的源向RP發(fā)出第一個組播包時, DR將此包封裝在單播中發(fā)向RP,這稱 為注冊,發(fā)送的注冊消息會從DR到RP 之間建立一條源樹,也就是(S,G) 的記錄,這樣,在源到RP之間創(chuàng)建的 源樹就可以幫助避免RPF檢測失敗
    • 當RP和真正的源之間創(chuàng)建(S,G)條 目之后,就會通知DR停止以單播發(fā)送 ,從而轉(zhuǎn)回發(fā)送真正的組播。
    • 誤認為RP是源而導致RPF檢測失敗的情 況,只有在RP到源這段上游網(wǎng)絡中的 路由器才會存在,而RP到組成員的這 段網(wǎng)絡中是不會出現(xiàn)這種情況的。
    • 選擇DR的數(shù)據(jù)包為30秒一次,105秒保 持時間,如果過了保持時間沒有收到 DR的數(shù)據(jù)包,則會重新選舉IP地址最 高的為DR
  • PIM-SM 前轉(zhuǎn)器(Forwarder)

    • 選PIM前轉(zhuǎn)器的規(guī)則是,比較哪臺路由 器的路由表中,到組播源的路由的AD( Administrative Distance)值最小, 如果AD值相同(如使用同一種路由協(xié)議 ),再比較誰到源的metric值最小,如 果metric值還相同,則選擇IP地址大的 。
    • 在圖中,如果R3和R4到組播源R1的路由 條目中是使用同一個路由協(xié)議學到的, 則比較metric值,如果metric值相同, 則比較R3和R4的IP地址,這個IP地址是 同網(wǎng)段相互建PIM鄰居所使用的IP地址 ,因為34.1.1.4比34.1.1.3要大,所以 前轉(zhuǎn)器為R4,因此R2會選擇從R4到達組 成員,并且把到R3的出口剪除。

正文之后

這后面幾節(jié)確實沒前面做的用心了。。。沒轍啊,當時都要考試了,怎么可能一點點的把后面的也做出來啊。。昨晚我都沒時間刷題了。。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第二章 物理層 頻分復用:頻分復用的用戶在同樣的時間占用不同的帶寬資源(頻率帶寬) 時分復用:時分復用的用戶在不同...
    PramaWells閱讀 4,018評論 1 3
  • 網(wǎng)絡層提供的兩種服務 在計算機網(wǎng)絡領域,網(wǎng)絡層應該向運輸層提供怎樣的服務(面向連接還是無連接)曾引起了長期的爭論,...
    srtianxia閱讀 4,229評論 0 12
  • 內(nèi)容來自網(wǎng)絡資料整理 1. 電路交換與分組交換的區(qū)別? 優(yōu)劣對比。 電路交換是以電路連接為目的的交換方式,通信之前...
    Tycc閱讀 1,022評論 0 4
  • 組播簡介 作為一種與單播(Unicast)和廣播(Broadcast)并列的通信方式,組播(Multicast)技...
    wsf535閱讀 1,636評論 0 1
  • C竟然評價我發(fā)給她的基努·里維斯的帥照(我的屏保),說:這是全世界的老公。我太憂傷,對這全世界都看過的電影來說,我...
    逆歸閱讀 432評論 0 1

友情鏈接更多精彩內(nèi)容