組播、單播、多播

来源:https://www.cnblogs.com/linhaostudy/archive/2019/02/06/10353598.html
-Advertisement-
Play Games

當前的網路中有三種通訊模式:單播、廣播、組播(多播),其中的組播出現時間最晚但同時具備單播和廣播的優點,最具有發展前景。 一、單播: 主機之間“一對一”的通訊模式,網路中的交換機和路由器對數據只進行轉發不進行複製。如果10個客戶機需要相同的數據,則伺服器需要逐一傳送,重覆10次相同的工作。但由於其能 ...


當前的網路中有三種通訊模式:單播、廣播、組播(多播),其中的組播出現時間最晚但同時具備單播和廣播的優點,最具有發展前景。

一、單播:

主機之間“一對一”的通訊模式,網路中的交換機和路由器對數據只進行轉發不進行複製。如果10個客戶機需要相同的數據,則伺服器需要逐一傳送,重覆10次相同的工作。但由於其能夠針對每個客戶的及時響應,所以現在的網頁瀏覽全部都是採用IP單播協議。網路中的路由器和交換機根據其目標地址選擇傳輸路徑,將IP單播數據傳送到其指定的目的地。

單播的優點:

  1. 伺服器及時響應客戶機的請求
  2. 伺服器針對每個客戶不通的請求發送不通的數據,容易實現個性化服務。

單播的缺點:

  1. 伺服器針對每個客戶機發送數據流,伺服器流量=客戶機數量×客戶機流量;在客戶數量大、每個客戶機流量大的流媒體應用中伺服器不堪重負。
  2. 現有的網路帶寬是金字塔結構,城際省際主幹帶寬僅僅相當於其所有用戶帶寬之和的5%。如果全部使用單播協議,將造成網路主幹不堪重負。現在的P2P應用就已經使主幹經常阻塞,只要有5%的客戶在全速使用網路,其他人就不要玩了。而將主幹擴展20倍幾乎是不可能。

二、 廣播:

主機之間“一對所有”的通訊模式,網路對其中每一臺主機發出的信號都進行無條件複製並轉發,所有主機都可以接收到所有信息(不管你是否需要),由於其不用路徑選擇,所以其網路成本可以很低廉。有線電視網就是典型的廣播型網路,我們的電視機實際上是接受到所有頻道的信號,但只將一個頻道的信號還原成畫面。在數據網路中也允許廣播的存在,但其被限制在二層交換機的區域網範圍內,禁止廣播數據穿過路由器,防止廣播數據影響大面積的主機。

廣播的優點:

  1. 網路設備簡單,維護簡單,布網成本低廉
  2. 由於伺服器不用向每個客戶機單獨發送數據,所以伺服器流量負載極低。

廣播的缺點:

  1. 無法針對每個客戶的要求和時間及時提供個性化服務。
  2. 網路允許伺服器提供數據的帶寬有限,客戶端的最大帶寬=服務總帶寬。例如有線電視的客戶端的線路支持100個頻道(如果採用數字壓縮技術,理論上可以提供500個頻道),即使服務商有更大的財力配置更多的發送設備、改成光纖主幹,也無法超過此極限。也就是說無法向眾多客戶提供更多樣化、更加個性化的服務。
  3. 廣播禁止在Internet寬頻網上傳輸。

三、組播:

主機之間“一對一組”的通訊模式,也就是加入了同一個組的主機可以接受到此組內的所有數據,網路中的交換機和路由器只向有需求者複製並轉發其所需數據。主機可以向路由器請求加入或退出某個組,網路中的路由器和交換機有選擇的複製並傳輸數據,即只將組內數據傳輸給那些加入組的主機。這樣既能一次將數據傳輸給多個有需要(加入組)的主機,又能保證不影響其他不需要(未加入組)的主機的其他通訊。

組播的優點:

  1. 需要相同數據流的客戶端加入相同的組共用一條數據流,節省了伺服器的負載。具備廣播所具備的優點。
  2. 需要相同數據流的客戶端加入相同的組共用一條數據流,節省了伺服器的負載。具備廣播所具備的優點。
  3. 此協議和單播協議一樣允許在Internet寬頻網上傳輸。

組播的缺點:

  1. 與單播協議相比沒有糾錯機制,發生丟包錯包後難以彌補,但可以通過一定的容錯機制和QOS加以彌補。
  2. 現行網路雖然都支持組播的傳輸,但在客戶認證、QOS等方面還需要完善,這些缺點在理論上都有成熟的解決方案,只是需要逐步推廣應用到現存網路當中。

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 要使用域環境,您必須將電腦加入域。只有加入域的電腦才能使用域資源。在連接期間,將在域中創建一個電腦帳戶,以便將電腦作為成員進行身份驗證。前邊兩節我們寫到Windows Server 2016-客戶端加域埠彙總及Windows Server 2016-客戶端加域準備工作,那接下來三章我們簡單... ...
  • 本人研究linux的防火牆系統也有一段時間了,由於近來涉及到的工作比較紛雜,久而久之怕生熟了。趁有時間,好好把這方面的東西總結一番。一來是給自己做個沉澱,二來也歡迎這方面比較牛的前輩給小弟予以指點,共同學習,共同進步。 能在CU上混的人絕非等閑之輩。因此,小弟這裡說明一下:本系列博文主要側重於分析N ...
  • 5.11 庫的使用 代碼的復用是電腦程式設計語言中的一個重要的概念。可以把編譯好的目標文件模塊統一放到一個庫中,使得程式員可以在不同的程式中共用這些代碼。 在Linux操作系統下,最後連接生成可執行文件時,如果鏈接的是一般的.o文件,則整個文件的內容都會被裝入可執行文件中;如果鏈接的是庫,則只是從 ...
  • 實現在文件目錄下(包括桌面)通過 Shift+右鍵打開管理員模式的 Powershell 視窗 ...
  • 一、bind伺服器安裝 bind:開源、穩定、應用廣泛的DNS服務。bind的軟體包名bind,服務名稱named. 查看是否安裝bind, 安裝bind包: bind服務主要配置文件: /etc/named.conf //主配置文件 /etx/named.rfc1912.zones //區域配置文 ...
  • 前話:因為感興趣吧也是專業需要,所以自學了U盤重裝系統以及在win10的情況下安裝Ubuntu16.04雙系統。藉此博客,記錄下我安裝Ubuntu的過程,方便日後回憶。 正因如此,本篇博客會寫的十分簡略,如有不便請見諒。 如果你是一位新手,推薦一位大神的博客。 補充知識點:關於磁碟使用GUID格式分 ...
  • 一、概述 NAT英文全稱是“Network Address Translation”,中文意思是“網路地址轉換”,它是一個IETF(Internet Engineering Task Force, Internet工程任務組)標準,允許一個整體機構以一個公用IP(Internet Protocol) ...
  • ldap客戶端配置安裝目錄的子目錄C:\OpenLDAP\etc\openldap,編輯slapd.conf,修改密碼,保存並關閉文件。rootdn "cn=Manager,dc=my-domain,dc=com"(在111行,管理員賬號)rootpw 123456(在115行,管理員密碼)進入安裝 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...