IP多播概念和实现

2023-11-18

目录

基本概念

硬件多播

IGMP和多播路由选择协议


基本概念

IP多播(曾译为组播)的目的是更好地支持一对多通信,即一个源点发送到多个终点,例如实时信息的交付(新闻,股市行情),软件更新,交互式会议及其他多媒体通信

下图中的多播组有90个成员,采用多播可以大大节约网络资源

互联网范围的多播需要靠支持多播协议的多播路由器实现

IP多播所传送的分组需要使用多播IP地址

在多播数据报的目的地址写入多播组的标识符,即IP地址中的D类地址,并且首部中的协议字段值为2,表明使用网际组管理协议IGMP

硬件多播

每个TCP/IP协议的以太网地址中,只有23位可用作多播,而D类IP地址可供分配的有28位,因此前5位不能构成以太网硬件地址

 多播IP地址和以太网硬件地址的映射关系不是唯一的,如图所示

IGMP和多播路由选择协议

多播需要网际组管理协议各多播路由选择协议两种协议

其中网际组管理协议是为了使路由器知道多播组成员的信息

多播路由选择协议则是为了把多播数据报用最小代价传送给所有的组成员

IGMP

IGMP不知道IP多播组包含的成员数,也不知道这些成员分布在哪些网络上,而是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组

 

 IGMP工作分两个阶段:

第一阶段:加入多播组

1.当某个主机加入一个新的多播组时,需要向多播组的多播地址发送IGMP报文,声明自己要成为该组的成员

2.本地的多播路由器收到IGMP报文后,将组成员关系转发给互联网上的其他多播路由器

第二阶段:探询组成员变化情况

1.因为组成员关系是动态的,所有本地多播路由器要周期性探询本地局域网上的主机,以便知道这些主机是否还有继续是组的成员

2.只要对某个组有一个主机响应,多播路由器就认为这个组是活跃

3.一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器

多播路由选择

多播路由选择实际上就是要找出以源主机为根节点的多播转发树;在多播转发树上的路由器不会收到重复的多播数据报;不同的多播组对应不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树

多播路由选择协议在转发多播数据报时使用三种方法:

洪泛与剪除、隧道技术(tunneling)、基于核心的发现技术

洪泛与剪除

适合较小的多播组

RPB感觉有点像迪杰斯特拉

 剪枝

 隧道技术

适合多播组的位置在地理上很分散

基于核心的发现技术

每一个多播组指定一个核心路由器,核心路由器创建出多播转发树

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IP多播概念和实现 的相关文章

  • C/C++ &与&&

    表示逻辑与的意思 即为and 当运算符两边的表达式的结果都为true时 整个运算结果才为true 否则 只要有一方为false 则结果为false 比如 12 23的结果就是1 12 1 的结果是1 123 0的结果就是0 还具有短路的功能
  • Gdb 调试核心已转存储-调试VINS-FUSION/ORB-SLAM

    GDB调试C 工程非ROS 1 通过运行可执行程序来进入gdb CMakeLists中的修改 SET CMAKE BUILD TYPE Debug SET CMAKE CXX FLAGS DEBUG ENV CXXFLAGS O0 Wall
  • 2023-05-29 Unity 2进制5——Excel配置表工具

    文章目录 一 Excel 读取操作 一 打开 Excel 表 二 获取单元格信息 二 Excel 表配置工具 一 基础知识 二 配置工具 三 演示步骤 1 ExcelTool 2 BinaryMgr 一 Excel 读取操作 一 打开 Ex
  • 推荐系统(3)——最经典的推荐算法(协同过滤算法原理部分)

    一 最经典的推荐算法 协同过滤推荐算法 Collaborative Filtering 算法思想 物以类聚 人以群分 基本的协同过滤推荐算法基于以下假设 跟你喜好相似的人喜欢的东西你也很有可能喜欢 基于用户的协同过滤推荐 User base
  • 思科模拟器:三层交换实现不同vlan间的通信(图文)

    我们实现不同vlan间通信不止有这一种办法 比如我们常用的单臂路由可以实现不同vlan间通信 我以前的博客也有发布 不会的可以关注一下以前的文章 但是他经常应用于中小企业他的缺陷有 1 单臂 为网络骨干链路 容易形成网络瓶颈 2 子接口依然
  • python 包、模块学习总结

    模块基础 1 基本概念 模块是最高级别的程序组织单元 它将程序代码和数据封装起来以便重用 从实际角度来看 模块往往对应于python程序文件 或是用外部语言如C Java或C 编写而成的扩展 每一个文件都是一个模块 并且模块导入其他模块之后

随机推荐

  • gitlab安装并汉化

    gitlab安装并汉化 准备工作 Gitlab安装包分2种gitlab ce gitlab ee gitlab为社区免费版本 gitlab ee为企业收费版本 在功能上没有太大的区别 应没有使用过与安装过 网也没有资料 只是在网查询到一篇文
  • git上传仓库内容超过100M解决方法git

    git上传仓库内容超过100M解决办法git 报错例如 原因是上传文件最大只能上传100M 所以这里要把太大的文件删除 然后重新提交git 操作步骤如下 1 先找到文件的具体路径 执行方法上述报错中有 参考 git rev list obj
  • vscode c++解决包含头文件红色波浪线问题

    安装c c 插件后 按ctrl shift p 点击打开了c cpp properties json文件 对其中的IncludePath进行编辑 示例如下 includePath workspaceFolder workspaceFolde
  • CAP理论

    CAP理论在互联网界有着广泛的知名度 知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则 大家都非常清楚地理解了CAP 任何分布式系统在可用性 一致性 分区容错性方面 不能兼得 最多只能得其二 因此 任何分布式系统的设计只是在三者中的不
  • 靶机练习 No.23 Vulnhub靶机DarkHole 2 .git信息泄露 .bash_history历史命令提权

    靶机练习 No 23 Vulnhub靶机DarkHole 2 0x00 环境准备 0x01 信息收集 步骤一 ip 探测 步骤二 端口扫描 0x02 漏洞挖掘 思路一 web漏洞挖掘 git信息收集 思路二 22ssh 爆破 步骤一 git
  • CentOS7 运维 - 系统基础优化大全

    CentOS7 运维 系统基础优化大全 一 更换Yum源 国内源地址 备份CentOS官方源 使用阿里yum源 使用本地yum源 使用清华yum源 推荐 二 防火墙 临时关闭防火墙 永久关闭防火墙 关闭SELinux 临时关闭 永久关闭 三
  • Linux下SVN操作常用命令

    1 检出 svn co http 路径 目录或文件的全路径 本地目录全路径 username 用户名 password 密码 svn co svn 路径 目录或文件的全路径 本地目录全路径 username 用户名 password 密码
  • FLUKE DSX-5000 CH线缆测试仪怎么升级到新国标

    FLUKE DSX 5000 CH线缆测试仪怎么升级新标准GB T50312 2016 下面山东朗坤小编带给您FLUKE DSX 5000 CH线缆测试仪升级带有新标准软件的整体步骤 一起来学习吧 升级到5 1之后必须使用Linkware9
  • 全网最全总结,有源码,期望、有效值、方差、相关系数、自相关函、互相关函数,还分不清吗

    原文来自公众号 工程师看海 1 期望 期望也就是平均值 是一个数值 反应的是随机变量平均取值的情况 期望也叫做加权平均 在信号中代表直流分量 当随机变量X满足均匀分布时 对一段长度为N的离散序列X x n n 0 1 2 N 1 其期望E
  • 深度学习-1.1卷积

    卷积是一种数学运算 教科书上一般定义 首先有两个函数函数 f g 然后这两个函数的卷积 f g 如下 连续形式 离散形式 1 先将函数g t 延y轴翻转为g t 这是 卷 的由来 2 其中n是卷积的参数 将g t 平移n个长度 变为g n
  • Lua调用C的动态库步骤及接口分析

    Lua调用C的动态库 C语言可以完成一些lua不好实现的功能 当程序主体使用lua完成时 便需要掌握该技巧调用C来帮助我们达到目的 通过调用C的动态库简化操作流程 大致流程如下 使用C语言编写方法提供给lua调用 将C文件打包成动态库 lu
  • excel中怎样将数据合并到一个单元格用逗号隔开

    打开需要操作的Excel表格 将数据合并在一个单元格 并用逗号隔开 如图所示 excel中怎样将数据合并到一个单元格用逗号隔开 选中B1单元格 并输入分隔符号逗号 excel中怎样将数据合并到一个单元格用逗号隔开 单击B1单元格 向下拖动B
  • 使用 ChatGPT 辅助学习——为自己找一个老师

    我们每个人都有许多标签 例如高中生 成绩中等 文科 根据这些标签我和其他拥有相同标签的人分配了相同的教程 班级和老师 这可以带来效率上的提升 因为同一份教程 老师就可以服务几十上百人 而无须为每个人定制 但也正是这样造成了忽略个性的问题 而
  • STM32F103野火之中断

    顾名思义STM32中中断分为内核中断和外部中断 内核中断称为 异常 外部中断称为 中断 IPR寄存器STM只使用了高四位低四位没有使用所以共有2 4种情况 EXTI的功能框图分为两个部分 红色轨迹 模式为中断控制 有中断控制寄存器位决定 绿
  • Hyperledger Fabric 示例启动流程(二)

    test network启动流程 1 启动测试网络 此命令创建一个由两个对等节点和一个排序节点组成的Fabric网络 network sh up createOrgs 使用cryptogen工具或者Fabric CA来创建Org1 Org2
  • 嵌入式linux如何下载程序,Linux平台的下载程序-嵌入式系统-与非网

    有许多网络文件下载工具可以在Windows平台下很好地工作 如NetAnts 网际快车 TelePro等 还有像WebZip那样功能强大的离线浏览器 这些工具使我们可以在Windows环境下很轻松地下载网站上的文件 目录 网站的一部分 甚至
  • 大数据抗疫的“洪荒之力”:多地政府借力大数据技术,多家企业上马大数据产品...

    来源 数据猿 ID datayuancn 当心 几十万 3M口罩 全是假货 可能会携带病毒细菌 世上有两样东西不能直视 一是太阳 二是人心 生死之间 利益之前 最不可低估的就是人性的恶 目录精要 武汉火神山医院利用天翼云大数据检测疫情 潍坊
  • vscode运行cpp文件:检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\C++ Code\test1\test1\test1.cpp)禁用波形曲线。

    刚为vscode配置好C 编译环境准备刷leetcode 结果写cpp文件时发现 include头文件总是报错 我就很迷惑了 include
  • Debian10常用命令

    文章目录 1 常用文件路径 2 用户和组管理 3 网络配置 4 主机名修改 5 vim编辑器 6 文件的操作 7 关机命令 1 常用文件路径 网卡配置文件 etc network interfaces dns配置文件 etc resolv
  • IP多播概念和实现

    目录 基本概念 硬件多播 IGMP和多播路由选择协议 基本概念 IP多播 曾译为组播 的目的是更好地支持一对多通信 即一个源点发送到多个终点 例如实时信息的交付 新闻 股市行情 软件更新 交互式会议及其他多媒体通信 下图中的多播组有90个成