網絡知識點之-組播協議

組播協議,是一種允許將一臺主機發送的數據通過網絡路由器和交換機復制到多個加入此組播的主機,一對多的通訊方式。

簡介

組播協議與廣泛使用的單播協議的不同之處在于,一個主機用單播協議向n個主機發送相同的數據時,發送主機需要分別向n個主機發送,共發送n次。一個主機用組播協議向n個主機發送相同的數據時,只要發送1次,其數據由網絡中的路由器和交換機逐級進行復制并發送給各個接收方,這樣既節省服務器資源也節省網絡主干的帶寬資源。與廣播協議相比,只有組播接收方向路由器發出請求后,網絡路由器才復制一份數據給接收方,從而節省接收方的帶寬。而廣播方式無論接收方是否需要,網絡設備都將所有廣播信息向所有設備發送,從而大量占據接收方的接入帶寬。

組播協議歷史

在1980年代初斯坦福大學的一位博士生叫Steve Deering,在為其導師David Cheriton工作,設計一種叫做Vsystem的分布式操作系統。此操作系統允許一臺計算機使用MAC層組播向在本地Ethernet段的一組其他計算機傳遞信息。隨著工作的擴展組播必須跨越路由器,所以必須將組播擴展到OSI模型的第三層,此歷史重任落到了Steve Deering身上,他總結了組播路由的通信協議基礎,并最終在1991年12月發表的博士論文中進行了詳細的闡述。

優勢

組播協議的優勢在于當需要將大量相同的數據傳輸到不通主機時:

1.能節省發送數據的主機的系統資源和帶寬;

2.組播是有選擇地復制給又要求的主機;

3.組播可以穿越公網廣泛傳播,而廣播則只能在局域網或專門的廣播網內部傳播;

4. 組播能節省網絡主干的帶寬。

缺點

與單播協議相比,組播沒有補包機制,因為組播采用的是UDP的傳輸方式,并且不是針對一個接受者,所以無法有針對的進行補包。所以直接組播協議傳輸的數據是不可靠的。

組成

組播協議主要包括組管理協議(IGMP)和組播路由協議(密集模式協議(如DVMRP,PIM-DM)、稀疏模式協議(如PIM-SM,CBT) 和鏈路狀態協議(MOSPF))。

* 組管理協議IGMP

主機使用IGMP通知子網組播路由器,希望加入組播組;路由器使用IGMP查詢本地子網中是否有屬于某個組播組的主機。

* 加入組播組

當某個主機加入某一個組播組時,它通過“成員資格報告”消息通知它所在的IP子網的組播路由器,同時將自己的IP模塊做相應的準備, 以便開始接收來自該組播組傳來的數據。如果這臺主機是它所在的IP子網中第一臺加入該組播組的主機, 通過路由信息的交換,組播路由器加入組播分布樹。

* 退出組播組

在IGMP v1中,當主機離開某一個組播組時,它將自行退出。組播路由器定時(如120秒) 使用“成員資格查詢” 消息向IP子網中的所有主機的組地址(224.0.0.1)查詢,如果某一組播組在IP子網中已經沒有任何成員, 那么組播路由器在確認這一事件后, 將不再在子網中轉發該組播組的數據。與此同時,通過路由信息交換, 從特定的組播組分布樹中刪除相應的組播路由器。 這種不通知任何人而悄悄離開的方法, 使得組播路由器知道IP子網中已經沒有任何成員的事件延時了一段時間,所以在IGMP v2.0中,當每一個主機離開某一個組播組時, 需要通知子網組播路由器,組播路由器立即向IP子網中的所有組播組詢問,從而減少了系統處理停止組播的延時。

* 組播路由協議

要想在一個實際網絡中實現組播數據包的轉發,必須在各個互連設備上運行可互操作的組播路由協議。 組播路由協議可分為三類:密集模式協議(如DVMRP,PIM-DM)、稀疏模式協議(如PIM-SM,CBT) 和鏈路狀態協議(MOSPF),下面分別介紹各個協議的工作原理。

* 距離向量組播路由協議

DVMRP由單播路由協議RIP擴展而來,兩者都使用距離向量算法得到網絡的拓撲信息,不同之處在于RIP根據路由表前向轉發數據, 而DVMRP則是基于RPF。為了使新加入的組播成員能及時收到組播數據,DVMPR采用定時發送數據包給所有的LAN的方法, 然而這種方法導致大量路由控制數據包的擴散,這部分開銷限制了網絡規模的擴大。另一方面,DVMRP使用跳數作為計量尺度, 其上限為32跳,這對網絡規模也是一個限制。提出了分層DVMRP,即對組播網絡劃分區域, 在區域內的組播可以按照任何協議進行,而對于跨區域的組播則由邊界路由器在DVMRP協議下進行,這樣可大大減少路由開銷。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208533.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Git全局設置命令---設置提交人郵箱

介紹 使用git命令設置提交人郵箱。 命令 git config --global user.email "xxxxxxxx.com"

JAVA實現敏感詞高亮或打碼過濾:sensitive-word

練手項目中實現發表文章時檢測文章是否帶有敏感詞,以及對所有敏感詞的一鍵過濾功能 文章目錄 效果預覽實現步驟 效果預覽 隨便復制一篇內容到輸入框 機器審核文章存在敏感詞,彈消息提示并進入人工審核階段(若機器審核通過,則無需審…

eclipse的日志文件放在什么位置

eclipse的日志文件放在<workspace的目錄>/.metadata目錄下面&#xff0c;例如&#xff1a;

html中一個div中平均一行分配四個盒子,可展開與收起所有的盒子

html中一個div中平均一行分配四個盒子&#xff0c;可展開與收起所有的盒子 1.截圖顯示部分 2.代碼展示部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"wid…

pytorch中五種常用隨機矩陣構造方法:rand、randn、randn_like、randint、randperm

1 torch.rand&#xff1a;構造均勻分布張量 torch.rand是用于生成均勻隨機分布張量的函數&#xff0c;從區間[0,1)的均勻分布中隨機抽取一個隨機數生成一個張量&#xff0c;其調用方法如下所示&#xff1a; torch.rand(sizes, outNone) ?? Tensor 參數&#xff1a; sizes&…

12.8_黑馬數據結構與算法筆記Java

目錄 044 遞歸 e04 冒泡排序2 044 遞歸 e05 插入排序1 044 遞歸 e05 插入排序2 045 多路遞歸 斐波那契 046 多路遞歸 斐波那契 時間復雜度 047 多路遞歸 斐波那契 兔子問題 048 多路遞歸 斐波那契 青蛙跳臺階 049 遞歸 優化 記憶法 050 遞歸 爆棧問題 051 遞歸 尾調用…

Linux驅動開發一

一、Linux驅動開發與裸機開發的區別 1、開發思維區別 裸機驅動&#xff1a; &#xff08;1&#xff09;底層&#xff0c;跟寄存器打交道&#xff0c;有些MCU提供了庫 Linux驅動&#xff1a; &#xff08;1&#xff09;Linux下驅動開發直接操作寄存器不現實 &#xff08;2…

【MATLAB源碼-第97期】基于matlab的能量谷優化算法(EVO)機器人柵格路徑規劃,輸出做短路徑圖和適應度曲線。

操作環境&#xff1a; MATLAB 2022a 1、算法描述 能量谷優化算法&#xff08;Energy Valley Optimization, EVO&#xff09;是一種啟發式優化算法&#xff0c;靈感來源于物理學中的“能量谷”概念。它試圖模擬能量在不同能量谷中的轉移過程&#xff0c;以尋找最優解。 在EVO…

Springboot+FastJson實現解析第三方http接口json數據為實體類(時間格式化轉換、字段包含中文)

場景 若依前后端分離版手把手教你本地搭建環境并運行項目&#xff1a; 若依前后端分離版手把手教你本地搭建環境并運行項目_前后端分離項目本地運行-CSDN博客 在上面搭建SpringBoot項目的基礎上&#xff0c;并且在項目中引入fastjson、hutool、lombok等所需依賴后。 系統需…

K8S學習指南(1)-docker的安裝

文章目錄 引言1. Windows 系統中安裝 Dockera. 確認系統要求b. 下載 Docker Desktopc. 安裝 Docker Desktopd. 配置 Docker Desktope. 驗證安裝 2. Ubuntu 系統中安裝 Dockera. 更新包列表b. 安裝依賴包c. 添加 Docker GPG 密鑰d. 添加 Docker APT 倉庫e. 安裝 Dockerf. 添加用…

unity 2d 入門 飛翔小鳥 小鳥跳躍 碰撞停止揮動翅膀動畫(十)

1、切換到動畫器 點擊make transition和exit關聯起來 2、設置參數 勾選掉Has Exit Time 3、腳本給動畫器傳參 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : MonoBehaviour {//獲取小鳥&#xff08;剛體&#xff09;p…

linux常用命令-pip命令詳解(超詳細)

文章目錄 前言一、pip命令介紹1. pip命令簡介2. pip命令的基本語法3. 常用的pip命令選項4. 常用的pip命令參數 二、pip命令示例用法1. 安裝包2. 卸載包3. 列出已安裝的包4. 搜索包5. 升級包 總結 前言 pip 是 Python 的包管理器&#xff0c;用于安裝和管理 Python 包。它提供了…

JVM常見垃圾回收器

串行垃圾回收器 Serial和Serial Old串行垃圾回收器&#xff0c;是指使用單線程進行垃圾回收&#xff0c;堆內存較小&#xff0c;適合個人電腦 Serial作用于新生代&#xff0c;采用復制算法 Serial Old作用于老年代&#xff0c;采用標記-整理算法 垃圾回收時&#xff0c;只有…

Windows 系統,TortoiseSVN 無法修改 Log 信息解決方法

使用SVN提交版本信息時&#xff0c;注釋內容寫的不全。通過右鍵TortoiseSVN的Show log看到提交的的注釋&#xff0c;右鍵看到Edit log message的選項&#xff0c;然而提交后卻給出錯誤提示&#xff1a; Repository has not been enabled to accept revision propchanges; ask …

linux如何刪除大文件的第一行(sed)

可以用sed命令實現&#xff1a; 刪除文檔的第一行 1. sed -i 1d <file>刪除文檔的最后一行 1. sed -i $d <file>在文檔指定行中增加一行 # 示例如下&#xff1a; echo "1"; echo "2"; echo "4"; echo "5"; # 想要在echo…

【PHP】php發送郵箱驗證碼格式美化,樣式美化

效果展示&#xff1a; 格式美化前 格式美化后 代碼 大多數框架都自帶有封裝好的發送email方法&#xff0c;就不多贅述&#xff0c;主要寫格式&#xff1a; <? php// 驗證碼過期時間 $expire 120; // 發件人郵箱 $from_email xx163.com; // 收件人 $to_email to163.com…

硬件產品經理常用的ChatGPT通用提示詞模板

產品策略&#xff1a;請幫助我制定一個硬件產品的產品策略。 市場調研&#xff1a;如何進行硬件產品的市場調研&#xff1f; 用戶需求&#xff1a;如何確定硬件產品的用戶需求&#xff1f; 產品設計&#xff1a;如何設計一個優秀的硬件產品&#xff1f; 用戶體驗&#xff1…

數據分析基礎之《matplotlib(5)—直方圖》

一、直方圖介紹 1、什么是直方圖 直方圖&#xff0c;形狀類似柱狀圖卻有著與柱狀圖完全不同的含義。直方圖牽涉統計學的概念&#xff0c;首先要對數據進行分組&#xff0c;然后統計每個分組內數據元的數量。在坐標系中&#xff0c;橫軸標出每個組的端點&#xff0c;縱軸表示頻…

無人機巡山護林,林業無人機智能助力綠色守護

隨著全球環保意識的不斷提高&#xff0c;無人機巡山護林已經成為解決森林巡檢難題的一種獨特而高效的方式。在我國&#xff0c;各地正積極探索無人機在森林防火、病蟲害監測以及生態調查等領域的創新應用。隨著無人機技術的不斷演進&#xff0c;其在推動森林保護和可持續發展方…

HTML實現每天單詞積累

注冊頁面 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>注冊</title><style>body {font-family: Arial, sans-serif;background-color: #f5f5f5;}form {max-width: 500px;margin: 50px auto;padding: 40px…