多播路由选择

目录

1 多播路由选择

1.1 转发多播数据报时使用三种方法

(1) 洪泛与剪除

RPB 的要点:

1.检查,转发

2.形成以源为根节点的多播转发树

3.剪枝与嫁接

(2) 隧道技术 (tunneling)

(3) 基于核心的发现技术

1.2 几种多播路由选择协议


1 多播路由选择

·实际上就是要找出以源主机为根节点的多播转发树

·不同的多播组对应于不同的多播转发树。

·同一个多播组,对不同的源点也会有不同的多播转发树。

M 个源,N 个多播组,需要 MⅹN 棵以源为根的多播转发树。

1.1 转发多播数据报时使用三种方法

(1) 洪泛与剪除

·适合于较小的多播组,所有组成员接入的局域网也是相邻接的。

·开始时,路由器转发多播数据报使用洪泛的方法(这就是广播)。

·为避免兜圈子,采用反向路径广播 RPB (Reverse Path Broadcasting) 的策略。

RPB 的要点:
1.检查,转发

2.形成以源为根节点的多播转发树

·如果存在几条同样长度的最短路径,选择 IP 地址最小的。

·最后就得出了以源为根节点的、用来转发多播数据报的多播转发树。

3.剪枝与嫁接

·剪枝:如果在多播转发树上的某个路由器发现它的下游树枝(即叶节点方向)已没有该多播组的成员,就把它和下游的树枝一起剪除。

·嫁接:当某个树枝有新增加的组成员时,可以再接入到多播转发树上。

(2) 隧道技术 (tunneling)

隧道技术在多播中的应用

(3) 基于核心的发现技术

·对于多播组的大小在较大范围内变化时都适合。

·对每一个多播组 G 指定一个核心 (core) 路由器,并给出它的 IP 单播地址

·核心路由器按照前面讲过的 2 种方法创建出对应于多播组 G 的转发树核心路由器为根节点)。

·为一个多播组构建一棵转发树,而不是为每个(源,组)组合构建一棵转发树。

·构建转发树开销较小,扩展性较好。

·如果有一个路由器 R1 向核心路由器发送数据报,那么它在途中经过的每一个路由器都要检查其内容。

·当数据报到达参加了多播组 G 的路由器 R2 时,R2 就处理这个数据报。

        ·如果 R1 发出的是一个多播数据报,其目的地址是 G 的组地址,R2 就向 G 的成员转发这个多播数据报。

        ·如果 R1 发出的数据报是一个请求加入多播组 G 的数据报,R2 就把这个信息加到它的路由中,并用隧道技术向 R1 转发每一个多播数据报的副本。

1.2 几种多播路由选择协议

·距离向量多播路由选择协议 DVMRP (Distance Vector Multicast Routing Protocol)。

        -互联网上使用的第一个多播路由选择协议

·基于核心的转发树 CBT (Core Based Tree)。

·开放最短通路优先的多播扩展 MOSPF (Multicast Extensions to OSPF)

·协议无关多播-稀疏方式 PIM-SM (Protocol Independent Multicast-Sparse Mode) 。

        -唯一成为互联网标准的一个协议

·协议无关多播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)。

欢迎一起学习~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git 合并多条提交记录

我要合并多条提交记录(合并前7条为一条),实现如下效果: 使用git rebase // 查看前10个commit git log -10 // 将7个commit压缩成一个commit;注意:vim编辑器 git rebase -i HEAD~4 // add已经跟踪的文件 g…

Linux(二)

远程登录 Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在IDC机房的,所以我平时登录linux系统都是通过远程登录的。 Linux系统中是通过ssh服务实现的远程登录功能。默认ssh服务开启了22端口,而且当我们安装…

Leetcode—38. 外观数列【中等】

2024每日刷题&#xff08;111&#xff09; Leetcode—38. 外观数列 实现代码 class Solution { public:string countAndSay(int n) {string ans "1";while(--n) {string next;for(int i 0; i < ans.size(); i) {int cnt 1;char c ans[i];while(i 1 < an…

Centos7配置登录失败处理导致root被锁定处理办法

1、应用场景 root用户被系统锁定&#xff0c;无法登录系统。 2、问题现象 root锁定无法登录系统 3、原因 设置登录失败处理并对root用户生效&#xff0c;一直尝试错误的root密码或暴力破解root密码&#xff0c;导致无法自动解锁Linux的root账户 4、解决方案 1.将虚拟机开…

vue使用es的reduce方法编译报错Error: Can‘t resolve ‘core-js/modules/es.array.reduce.js‘

哈喽 大家好啊 最近在vue使用es的reduce方法编译报错Error: Cant resolve core-js/modules/es.array.reduce.js 报错如图所示&#xff1a; 解决方案&#xff1a; npm install --save core-js 然后重新编译下将正常了 参考原文: 使用import异步加载语法报错_module not foun…

云原生数据库 GaiaDB 的核心技术演进和解析

导读 在越来越强调云原生的环境下&#xff0c;存算分离作为一种新的架构理念&#xff0c;已经是大势所趋。新的技术架构带来新的问题和挑战&#xff0c;百度智能云的云原生数据库 GaiaDB 采用 Quorum 分布式协议、高性能网络、高可靠分布式存储引擎等技术实现更高的性能和可用性…

微信小程序checkbox多选

效果图 <view class"block"><view class"header"><view class"header-left"><text class"pu-title">数据</text><text class"pu-tip">至少选择一个指标</text></view>&l…

【python】python爱心代码【附源码】

一、实现效果&#xff1a; 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 二、完整代码&#xff1a; import math import random import threading import time from math import sin, cos, pi, log from tkinter import * import re# 烟花相关设置 Fireworks [] m…

数据结构与算法:图论(邻接表板子+BFS宽搜、DFS深搜+拓扑排序板子+最小生成树MST的Prim算法、Kruskal算法、Dijkstra算法)

前言 图的难点主要在于图的表达形式非常多&#xff0c;即数据结构实现的形式很多。算法本身不是很难理解。所以建议精通一种数据结构后遇到相关题写个转换数据结构的接口&#xff0c;再套自己的板子。 邻接表板子&#xff08;图的定义和生成&#xff09; public class Graph…

【51单片机】直流电机实验和步进电机实验

目录 直流电机实验直流电机介绍ULN2003 芯片介绍硬件设计软件设计实验现象 步进电机实验步进电机简介步进电机的工作原理步进电机极性区分双极性步进电机驱动原理单极性步进电机驱动原理细分驱动原理 28BYJ-48 步进电机简介软件设计 橙色 直流电机实验 在未学习 PWM 之前&…

计算机毕业设计 | springboot商城售后管理系统(附源码)

1&#xff0c;绪论 1.1 开发背景 在数字化时代的推动下&#xff0c;产品售后服务管理机构面临着信息化和网络化的挑战。传统的手工管理和纸质档案已经无法满足管理人员和读者的需求。为了提高产品售后服务管理机构的管理效率和服务质量&#xff0c;开发和实现一个基于Java的售…

cesium-测量高度垂直距离

cesium做垂直测量 完整代码 <template><div id"cesiumContainer" style"height: 100vh;"></div><div id"toolbar" style"position: fixed;top:20px;left:220px;"><el-breadcrumb><el-breadcrumb-i…