什麼是單播、組播、廣播?面試官這麼問你,你能回答哪幾點?

現網普遍是非對稱性網絡架構,也即出口帶寬總和遠遠小於骨幹接入帶寬總和(

網絡主幹的帶寬遠遠小於所有用戶帶寬之和)。這種網絡架構適應於通過組播去縮減中間鏈路的帶寬成本。

下文所講的均是IPv4協議的單播、組播、廣播。(IPv6協議已經取消了廣播)

單播:一點對一點的通信

單播就是單點對單點的通信,交換機轉發時不會進行復制而直接轉發。若10個主機需要向服務器申請相同的數據,則服務器需要發送10次數據。

單播優點:

1. 服務器能夠及時響應客戶機的請求。

2. 服務器針對每個客戶不同的請求發送不同的數據,容易實現個性化服務。

單播缺點:

1. 服務器針對每個客戶機發送數據流, 服務器流量=客戶機數量×客戶機流量 ;在客戶數量大、每個客戶機流量大的流媒體應用中服務器不堪重負。

2. 現有的網絡帶寬是金字塔結構,城際省際主幹帶寬僅僅相當於其所有用戶帶寬之和的 5%。如果全部使用單播協議,將造成網絡主幹不堪重負。現在的 P2P 應用就已經使主幹經常阻塞,只要有 5 %的客戶在全速使用網絡,其他人就不要玩了。而將主幹擴展 20 倍幾乎是不可能。

組播:一點對多點(組)通信

組播有組播組的概念,需要相同資源的一組主機可以加入相同的組播組。組播資源在交換機側進行復制,傳送給相應主機。如下圖所示:

什麼是單播、組播、廣播?面試官這麼問你,你能回答哪幾點?

組播越靠近用戶側,越節省骨幹帶寬

組播優點:

1、與單播比較,主機A應用單播方式給主機B發送n份相同的數據包,需要發送n次),主機A應用組播發送n份相同的數據,只需要發送1次。若組播組就近放在接入層,那骨幹鏈路的帶寬資源可大大縮減。組播在發送大量相同數據包的情況下優勢就非常明顯了,普遍應用在直播業務上。

舉個例子:使用基於組播的直播業務,一臺系統可以支撐數萬客戶同時收看一個或者多個頻道直播。假設一共提供 100 個頻道的電視節目,每個頻道是 1M 的 MPEG4 高清晰碼流,則無論有 1 萬客戶還是 100 萬客戶,其佔用的網絡主幹都是 100M ,而 3 ~ 5 臺服務器硬件的投資不到 100 萬。

2、因為需要相同的數據流的多主機可以加到相同的組播組,進而共享一條組播流。進而節省上行骨幹帶寬資源。

3、組播和單播一樣可以在Internet網絡上傳輸(廣播不可以)。

組播缺點:

1、組播傳輸層應用UDP協議,UDP是不可靠傳輸,沒有TCP的糾錯和重傳機制。發生丟包或者錯誤包無法進行彌補修復,需要通過一定的容錯機制和QOS 加以彌補。

2、組播客戶認證、QOS配置要求比較高。很多運營商網絡業務的QOS並沒有設置的那麼複雜,若要改至應用組播需要重新部署QOS,進一步完善QOS配置、對接客戶認證等。增加了改造成本。

廣播:數據包在一個廣播域內泛洪

廣播型網絡中,指在 IP 子網內廣播數據包。服務器會向子網的(廣播域)每一個主機都發送一份數據包,不論這些主機是否樂於接收該數據包。故而廣播的使用範圍非常小。

廣播優點:

1、網絡部署簡單,一個廣播域跑就是。

2、服務器不用向每個客戶機單獨發送數據,在一個廣播域的客戶機都會統一收到數據,因此服務器的負載流量相對小些。

廣播缺點:

1、基於廣播的通信,針對每個客戶的要求和時間及時提供個性化服務。

2、我們都知道路由器會隔離廣播域,交換機的VLAN也會隔離廣播域。廣播報文禁止在Internet上傳輸。

綜上所述,組播被廣泛應用於直播業務、視頻監控業務、媒體廣播、媒體推送、信息緩存、事件通知等。

後續再聊聊組播的應用條件及組播涉及的協議,最好能拍個視頻搭建個環境測試下組播。對網絡技術或Python開發的可以持續關注,可以加我關注。


分享到:


相關文章: