您當前的位置:首頁 > 攝影

組播簡介

作者:由 jasonj333 發表于 攝影時間:2022-09-02

組播簡介

前言

“資料來源向特定的多個接收端傳送相同的資料時,如果採用單播,資料來源需要分多次傳送。如果採用廣播,廣播域內所有主機都能收到。而如果採用組播,只需要傳送一份資料給組播路由器,由組播路由器根據組播組複製多份,傳送給組播組內的所有主機。由此可見,組播方式解決了單播情況下資料的重複複製及頻寬的重複佔用,也解決了廣播方式下頻寬資源的浪費”

組播

組播,Multicast,又稱多播,它允許把所發訊息傳送給所有可能目的地中的一個經過選擇的子集,即嚮明確指出的多種地址輸送資訊。是一種在一個傳送者和多個接收者之間進行通訊的方法

組播類似於微信群聊,使用者申請加入微信群,傳送方發信息到微信群,微信群內所有使用者收到相同的資訊

組播簡介

微信群發和組播不是完全相同,微信群發的傳送方也需要申請加入微信群,而組播的資料來源並不需要如此,但是大致的模式是這樣

組播簡介

根據上圖,資料來源是主機,使用者是主機,那中間的組播組呢?是什麼承載了組播組?

是組播路由器,使用者根據IGMPv2協議傳送請求報文,路由器收到IGMP報文後,把使用者加入自己的組播組。組播報文到達路由器時,也是路由器根據組播組複製多份發給組內的主機

這裡我們說的是路由器收到IGMP報文,而不是發給路由器,要明白區別所在。為什麼這麼說,因為IGMP報文的目的ip地址只可能是一個,而從資料來源到使用者之間可能經歷N多的路由器,使用者必須加入從資料來源到使用者這條路徑上的所有路由器的組播組,如果想實現這個功能,可以把IGMP報文發給資料來源,那麼IGMP必定經過這條路徑上的所有路由器

為什麼要讓使用者加入路徑上的所有路由器的組播組?因為資料來源發組播報文時,組播報文會經過路徑上的所有路由器轉發,這些路由器的組播組裡必須要有使用者,才能正確地發出去

所以使用者首先要做的就是發IGMP報文給資料來源,傳送報文給目的主機需要知道它的IP地址,那使用者知道資料來源的IP地址嗎?

RP

想象一下家裡的電視收看電影片道CCTV-1,電視只知道這個頻道對應的IP地址是238。1。1。1,你並不知道是誰在往這個頻道上傳送資料,也就是說你並不知道資料來源是誰,IP是多少。但是你還是能收看資料來源發到這個頻道的節目,怎麼辦到的?Rendezvous Point,簡稱RP點

RP

Rendezvous Point,集中點,就像是中介機構一樣,雖然使用者不知道資料來源的IP地址,但是可以讓資料來源知道RP點的IP地址,可以讓使用者知道RP點的IP地址,讓RP在使用者和資料來源之間架起一座橋樑

如何獲取資料來源IP

組播簡介

組播源把組播238。1。1。1封裝在一個單播(源ip是1。1。1。1,目的ip2。2。2。2)發給RP,稱為組播源的單播註冊

接收端發一個IGMP請求給RP

RP收到後,把資料來源發給RP的單播複製一份,發給接收端

接收端收到這條報文,發現源ip是1。1。1。1,就取到了資料來源的ip地址

如何實現組播

組播簡介

接收端發IGMP報文給組播源,經過的所有路由器都會把接收端加入組播組238。1。1。1

組播源傳送資料,目的IP是組播IP 238。1。1。1

路由器收到資料,具體發給誰,由路由器的OIL(outgoing interface list)來維護

二層組播這裡沒有涉及到

更多汽車網路診斷內容,請關注:

汽車網路診斷通訊