第十二章:组播 — 组播路由协议
和单播路由协议类似,组播路由器在进行数据转发时也要依赖于组播路由协议。组播路由器依靠自己维护的组播路由表,对数据报文进行转发。
组播路由协议的主要作用:
确定朝向组播源的接口,这个接口被称为上游接口,在组播路由表的一个表项中,只允许存在一个上游接口,只有从上游接口到达的组播流量才被是为是合法的。
确定朝向组播接收者的接口,这个接口被称为下游接口。组播流量到达后,会被转发到下游接口,但组播流量永远不会从上有接口转发出去,因为这样有可能形成回路。
维护组播路由表项,每一个组播路由表项都以一对二元组(组播源及组播组)进行标识,每一个组播路由表项都包含上游、下游接口信息。
12.5.1 组播分发树
组播路由协议一个很重要的任务就是,在组播网络中构建一个无环树,也就是组播分发树(Multicast Distribution Tree),简称组播树。常见的组播树有以下两种:
1、SPT(Shortest-Path Tree,最短路径树)
在SPT中,使用(S, G)表项,以组播源为根,组播组路由器会为组播组分别建立独立的SPT。
(S, G)表项中,S为组播源IP地址,G为组播组IP地址,表项中还包含着上游接口和下游接口信息。例如下图所示,假设只存在一个组播组239.1.1.13。所以在R1中的(S,G)表项为:(10.1.1.1,239.1.1.13),上游接口为连接组播源的接口,路由器其余的两个接口为下游接口。
SPT有很大的局限性,因为SPT会为每个组播源建立单独的SPT树,当组播网络规模大、组播源数量众多时,组播网络会很臃肿,众多的组播路由表项会给路由器造成较大负担。
2、RPT(Rebdezvous Point Tree,共享树)
在RPT中,首选会选择一个性能较好的路由器作为RP,然后以RP为中心,向各个组播接收者发送组播报文,而网络中所有的组播源仅需要将组播流量都发送给RP即可。
RPT使用的是(*,G)表项,“ * ”代表的是任意组播源,RP只需要为每个组播组维护一个(*,G)表项即可。但是从上图发现,对于R2而言,组播流量先到RP再到R2并不是最优路径,但是组播路由协议中也有相应的机制来规避这种次优路径的问题。
第十二章:组播 — 组播路由协议相关推荐
- matlab矩阵最大无关组,MATLAB 第十二章 矩阵的秩与向量组的最大无关组.ppt
MATLAB 第十二章 矩阵的秩与向量组的最大无关组 MATLAB 高等数学实验 实验十二矩阵的秩与向量组的最大无关组 实验目的 学习利用MATLAB命令求矩阵的秩, 对矩阵进行初等行变换, 求向量组 ...
- Linux云计算【第一阶段】第十二章:网络管理、进制及SSH管理与攻防
第十二章:网络管理及SSH管理与攻防 [重难点] 一.网络发展概述 局域网 城域网 广域网 基本网络协议 客户端与服务器的概念 从客户端到服务器的经过 No.1 客户端与服务器的概念 客户端: 即表示 ...
- 「第十二章」Web框架安全
「第三篇」服务器端应用安全批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写 ...
- 鸟哥的Linux私房菜(服务器)- 第十二章、网络参数控管者: DHCP 服务器
第十二章.网络参数控管者: DHCP 服务器 最近更新日期:2011/07/27 想象两种情况:(1)如果你在工作单位使用的是笔记本电脑,而且常常要带着你的笔记本电脑到处跑, 那么由第四章.连上 In ...
- CoreJava 笔记总结-第十二章 并发-1
第十二章 并发 线程 package chapter12_concurrent.threads;public class ThreadsTest {public static final int DE ...
- linux i2c adapter 增加设备_「正点原子Linux连载」第六十二章Linux SPI驱动实验(一)...
1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南>关注官方微信号公众号,获取更多资料:正点原子 第六十二章Linux SPI驱动实验 上一 ...
- 第十二章_网络搭建及训练
文章目录 第十二章 网络搭建及训练 CNN训练注意事项 第十二章 TensorFlow.pytorch和caffe介绍 12.1 TensorFlow 12.1.1 TensorFlow是什么? 12 ...
- 20190825 On Java8 第十二章 集合
第十二章 集合 java.util 库提供了一套相当完整的集合类(collection classes)来解决这个问题,其中基本的类型有 List . Set . Queue 和 Map. 不要在新代 ...
- 《Kotlin 程序设计》第十二章 Kotlin的多线程:协程(Coroutines)
第十二章 Kotlin的多线程:协程(Coroutines) Kotlin 1.1 introduced coroutines, a new way of writing asynchronous, ...
- MLAPP————第十二章 隐线性模型
第十二章 隐线性模型 12.1 要素分析(factor analysis) 在我们之前提到的混合模型中,数据的生成都是由某个隐状态控制的,然后是那个隐状态控制的分布生成的,但是这样的模型在表示上还是具 ...
最新文章
- 【ZJOI2008】树的统计(树链剖分)
- CodeVIO:紧耦合神经网络与视觉惯导里程计的稠密深度重建(ICRA2021 Best Paper Finalist)...
- Java并发编程:线程池
- Codeforces Round #462 (Div. 2)题解
- W ndoWs7重启按F11没用,windows7无法正常启动按F8也没有效果的解决方法
- Angular Template expression operators介绍
- ubuntu系统下Java环境JDK的安装
- 索引超出矩阵维度怎么修改程序_seo怎么学?seo自己能学会吗?
- mysql 优化器_mysql之优化器、执行计划、简单优化
- 写一个带输入输出的存储过程_携程大佬带你写一个可扩展的Spring插件。
- 7部必看的纪录片,每一部都堪称经典,让人叹为观止!
- Selenium用户指南 - 第一章 Selenium 2.0 文档修订注解
- arcgis for js 画圆圈(会跟地图一起缩小),而不是打点然后加半径的圆点(不会缩小),制作打卡功能选点。可以点击地图自动画圆圈
- ARM GICv3 ITS介绍及代码分析
- 如何设置分布式IO模块Profinet的地址
- 猪猪女孩有多蠢,猫爪杯就有多火
- 百万调音师—Audition EQ均衡器
- eclipse + pydev远程调试OpenStack
- python验证手机号是否注册过微博
- 转载:中国部分酱香型白酒名录