計(jì)算機(jī)網(wǎng)絡(luò)復(fù)習(xí) ch1-4 組播

正文之前

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

正文

Multicasting-組播

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

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

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

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


  • 特殊的組播地址
    • 224.0.0.1 所有組播主機(jī)和路由器
    • 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)絡(luò)時(shí)間協(xié)議

組成員機(jī)制

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

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

  • 要確定組成員,有兩種方式:查詢和報(bào)告

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

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

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

組播協(xié)議總體結(jié)構(gòu):

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

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

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

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

  • PIM基本概念:組播樹

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

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

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

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

    • 如果只有一個(gè)組224.1.1.1,而發(fā)送者除了100.1.1.1之外,還有 100.1.1.2和100.1.1.3,那么依照(S,G)的記錄方式,就需要同時(shí)記錄 (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)的路由記錄方式,會(huì)因?yàn)榻M源地址的增加 而增加記錄條目。

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

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

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

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

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

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

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

    • 路由器也就認(rèn)為RP的地址,就是組播 源的IP地址。

    • 因?yàn)镽P在PIM-SM中被當(dāng)作核心,而(* ,G)的記錄方式中并不知道組播源的 地址,大家都會(huì)認(rèn)為RP就是組播源

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

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

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

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

正文之后

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

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

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

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

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