计算机网络-组播数据转发原理

一、组播数据转发原理

前面已经学习了组播的基本概念和网络组成结构了,今天来学习下组播数据的转发。首先我们要先明确组播网络也是和单播一样需要网络可达的,因此也是需要单播网络支持的基础上配置组播转发数据。单播网络不通组播网络就没有意义了。

组播数据转发需要依赖路由表项。但是基于目的网络的路由表在转发组播数据时存在一定问题:

转发环路
转发环路
  • 组播源发送组播报文,组播IP为G1
  • 组播组成员也加入G1
  • RT1到达成员有两条路径,出接口有两个,因此都会发送组播报文
  • RT4收到两份重复报文转发给组播组成员
次优路径
次优路径

与上面类似会出现次优路径。

由于组播转发容易产生环路,次优,重复报文,所以组播路由表项除了目的网络和出接口外还需要添加组播源和入接口的信息。设备仅转发从特定唯一的入接口收到的组播数据,从而避免组播转发时产生环路,次优,重复报文(部分解决)等问题。因此出现了RPF(Reverse Path Forwarding,反向路径转发)来解决重复报文和次优路径问题。

二、RPF(Reverse Path Forwarding,反向路径转发)

对于相同的组播源,设备通过RPF(Reverse Path Forwarding,反向路径转发) 检查可以确定设备上唯一的组播流量入接口。

RPF
RPF

组播路由表项包含组播源与组播组,因此有时又被称为(S,G)表项

组播转发过程:

  • RT1是第一跳路由器,组播报文中包含组播源地址S1,加入的组为G1,表项为(S1,G1)
  • RT1通过路由表查看到达S1的路由,发现为直连,入接口为直连接口,然后出接口为IF1和IF2
  • RT2从RT1接收到组播报文,通过路由表查看(S1,G1),确定如接口为IF1,出接口为IF2
  • RT3从IF1和IF2分别接收到组播报文,通过查看路由表发现IF1的优先级更高,因此确定报文入接口为IF1,丢弃从IF2接收的组播报文,出接口为组播组成员IF3,从而形成无环的转发路径
  • 每个路由器都会进行RPF检查,通过路由表确定最优的入接口。

RPF(反向路径检查)在三层设备上通过IP路由确定最优到达组播源的路径,其他的为次优进行逻辑阻断。

原理: 组播路由器根据报文的源地址通过路由表(单播路由表、MBGP路由表或组播静态路由表)查找到达“报文源”的路由,查看到“报文源”的路由表项的出接口是否与收到组播报文的入接口一致。如果一致,则认为该组播报文从正确的接口到达,从而保证了整个转发路径的正确性和唯一性。这个过程就被称为RPF检查。每个组播路由都会进行RPF检查。

RPF检查工作原理
RPF检查工作原理
RPF路由选举规则
RPF路由选举规则

根据以下原则从这三条最优路由中选择一条作为RPF路由:

  • 如果配置了按照最长匹配选择路由,则从这三条路由中选出最长匹配的那条路由;
  • 如果这三条路由的掩码一样,则选择优先级最高的那条路由;
  • 如果它们的优先级也相同,则按照组播静态路由>MBGP路由>单播路由的顺序进行选择。

MBGP:MBGP(Multicast BGP,组播BGP)主要用于传递组播源相关的路由条目。

组播静态路由表:手工配置组播源与出接口的对应关系。

总的来说原理还是很晦涩难懂的,简单说就是根据组播源的地址查看自身路由器确定最优入接口进行转发。查看路由表的方式有三种:组播静态路由、MBGP路由、单播路由,因为现在没有配置组播静态和MBGP,因此通过单播路由的方式查看路由表确定最优路径。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1475133.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

docker 本地部署大模型(ollama)

docker 安装 ollama docker search ollama docker pull ollama/ollama###docker下载ollama部署 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama### 下载模型 docker exec -it ollama ollama pull llama3### 交互式运行模型docker exec -i…

Python采集京东标题,店铺,销量,价格,SKU,评论,图片

京东的许多数据是通过 JavaScript 动态加载的,包括销量、价格、评论和评论时间等信息。我们无法仅通过传统的静态网页爬取方法获取到这些数据。需要使用到如 Selenium 或 Pyppeteer 等能够模拟浏览器行为的工具。 另外,京东的评论系统是独立的一个系统&a…

SCI一区TOP|准随机分形搜索算法(QRFS)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,LA Beltran受到分形几何、低差异序列启发,提出了准随机分形搜索算法(Quasi-random Fractal Search, QRFS)。 2.算法原理 2.1算法思…

本地图片压缩工具

一、简介 1、一款免费的本地图片压缩工具,支持多种图片格式并且没有体积限制,支持批量压缩。本地运行的方式保护了图片的隐私。它兼容 JPG、PNG、GIF、SVG 等多种格式,并允许用户设置压缩强度、尺寸和输出格式 二、下载 1、文末有下载链接,不明白可以私聊我哈(麻烦咚咚咚,…

一.2.(4)放大电路静态工作点的稳定;

1.Rb对Q点及Au的影响 输入特性曲线:Rb减少,IBQ,UBEQ增大 输出特性曲线:ICQ增大,UCEQ减少 AUUO/Ui分子减少,分母增大,但由于分子带负号,所以|Au|减少 2.Rc对Q点及Au的影响 输入特性曲…

【TB作品】51单片机 Proteus仿真00016 乒乓球游戏机

课题任务 本课题任务 (联机乒乓球游戏)如下图所示: 同步显示 oo 8个LED ooooo oo ooooo 8个LED 单片机 单片机 按键 主机 从机 按键 设计题目:两机联机乒乓球游戏 图1课题任务示意图 具体说明: 共有两个单片机,每个单片机接8个LED和1 个按键,两个单片机使用串口连接。 (2)单片机…

UE C++ 多镜头设置缩放 平移

一.整体思路 首先需要在 想要控制的躯体Pawn上,生成不同相机对应的SpringArm组件。其次是在Controller上,拿到这个Pawn,并在其中设置输入响应,并定义响应事件。响应事件里有指向Pawn的指针,并把Pawn的缩放平移功能进行…

处理训练和验证数据集

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

C++和Python蚂蚁搬食和蚊虫趋光性和浮标机群行为算法神经网络

🎯要点 🎯机器人群行为配置和C行为实现:🖊脚底机器人狭隘空间导航避让障碍物行为 | 🖊脚底机器人使用摄像头耦合共振,实现同步动作 | 🖊脚底机器群使用相机,计算彼此间“分子间势能…

Docker——简介、安装(Ubuntu22.04)

1、简介 Docker 是一个开源的容器化平台,旨在简化应用程序的开发、交付和运行。它通过将应用程序及其所有依赖项打包到一个称为容器的标准化单元中,使应用程序能够在任何环境中一致地运行。Docker 解决了“在我的机器上能运行”的问题,使开发…

8、开发与大模型对话的独立语音设备

一、设计原理 该系统的核心部分主要由ESP32-WROVER开发板和ESP32-CAM摄像头、MAX9814麦克风放大器模块、MAX98357功放、声音传感器和SU-03T语音识别芯片构成。通过使用ESP32-WROVER开发板,用户可以实现通过语音与ai进行交互并进行人脸识别。 系统中,从外部输入电源中获取电源…

计算机网络-组播分发树与组播协议

一、组播分发树 前面我们大致了解了下组播的转发原理,通过RPF反向路径检查可以形成无环的组播转发路径,今天继续学习下组播分发树和组播协议。 组播数据转发需要保证转发路径无环,无次优路径且无重复包。通过RPF机制与组播路由协议&#xff0…

王老师 linux c++ 通信架构 笔记(一)

(0)本门课程会涉及很多知识。在此集中记录,做笔记,也可能加入别的专栏。 (1) vmware 15 的下载和密钥上网查找。 ubuntu - 16 - 04 的版本才 800 M ,来 csdn 找镜像 下载。 (2&#…

React Native 和 Flutter 的开发对比

React Native (RN) 和 Flutter 都是用于构建跨平台移动应用程序的流行框架。两者都具有各自的优势和劣势,选择哪个框架取决于您的具体需求和项目。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 以下是一些 RN 和 Flutter…

1012-27SF 同轴连接器

型号简介 1012-27SF是Southwest Microwave的2.92 mm连接器。该连接器使用不锈钢合金外壳和镀金接触表面提供了良好的耐腐蚀性和耐磨损性,延长了连接器的使用寿命。适用于高频应用,最高可达 40 GHz,使其适用于微波和射频通信、雷达系统等领域。…

VMware Workstation桥接模式无法上网

问题背景 我之前创建过一个虚拟机,当时虚拟机的网络模式使用的是桥接模式,配置好了固定ip地址,是可以正常上网的,中间没有做任何网络上面的配置。但是今天再打开这台虚拟机时,发现竟然不能上网了。 物理主机的ip信息配…

【掌握C++ string 类】——【高效字符串操作】的【现代编程艺术】

专栏&#xff1a;C学习笔记 上一篇&#xff1a;【C】——【 STL简介】——【详细讲解】 1. 为什么要学习 string 类&#xff1f; 1.1 C 语言中的字符串 在 C 语言中&#xff0c;字符串是以 \0 结尾的字符集合。如下所示&#xff1a; #include <stdio.h>int main() {c…

AI产品经理必懂的13种技术

AI产品经理和互联网产品经理一样&#xff0c;也会面临要不要懂技术&#xff0c;懂什么技术&#xff0c;到什么程度的问题&#xff0c;本章针对这一常见问题给出了解答。 AI产品经理一定要懂技术&#xff0c;懂技术重点是要懂产品方案包含的AI算法、数据、算力及硬件的相关技术…

nftables(2)表、链、规则查询和管理(新增、插入、修改、删除)

简介 在上篇文章中&#xff0c;我们介绍了nftables基本原理以及与iptables的区别&#xff0c;nftables安装和配置保存的操作。这篇文章主要介绍nftables的基本操作&#xff0c;表、链、规则的新增、插入、修改、删除等操作。 注意&#xff1a;在进行nftables实验时和iptables…

AI自动生成PPT怎么用?看完这篇文章你就知道啦

小暑&#xff0c;作为夏季的第五个节气&#xff0c;标志着炎炎夏日的正式到来。在这个时节&#xff0c;阳光明媚&#xff0c;万物生长&#xff0c;人们的心情也随着气温的升高而变得热烈。 然而&#xff0c;对于许多职场人士来说&#xff0c;小暑的到来也意味着需要准备各种汇报…