IP组播基础
原理概述
IANA ( Internet Assigned Numbers Authority )将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类,其中的 D 类为组播 IP 地址,范围是224.0.0.0~239.255.255.255。
一个 IP 报文,其目的地址如果是单播 IP 地址,则称为单播 IP 报文;如果是组播 IP 地址,则称为组播 IP 报文;如果是广播 IP 地址,则称为广播 IP 报文。发送 IP 报文时,如果发送的是单播 IP 报文,则这样的发送方式称为 IP 单播方式,简称 IP 单播;如果发送的是组播 IP 报文,则这样的发送方式称为 IP 组播方式,简称 IP 组播;如果发送的是广播 IP 报文,则这样的发送方式称为 IP 广播方式,简称 IP 广播。
IP 单播是一种点到点的通信模式,而 IP 组播则是一种点到多点的通信模式。一个发送者需要同时向多个接收者发送完全相同的信息时,如果采用单播方式,则网络需要传输大量的报文,相比之下,采用组播方式可以大大减少需要传输的报文数量,从而可以节约大量的网络资源。随着 Internet 的不断发展,电子商务、网络会议、视频点播、远程教学等服务大量兴起,这些服务大多符合点到多点的模式,特别适合于 IP 组播的应用。
在组播方式下,组播报文将沿着组播路由协议建立的树型路由从信息源传递到众多的终端用户。在这个过程中,只有该组播组的成员才能收到并处理该组播组的报文,而对于不是该组播组的成员,要么不能收到该组播组的报文,要么收到后直接丢弃。
虽然 IP 广播也是一种点到多点的通信模式,但相比之下, IP 组播总的来说更具优势。例如, IP 组播是可以跨越网段的,而 IP 广播只能限制在一个网段内。另外, IP 组播也比 IP 广播具有更好的安全性。
实验目的
理解IP组播的基本原理和应用场景
观察IP单波、组播、广播现象
掌握组播源的配置方法
实验内容
实验拓扑如图所示,本实验模拟了一个简单的公司网络,R1为公司的一台网关设备,PC-4是网络管理员所使用的终端,直接连接到R1上,公司其它员工的终端通过交换机S1与R1相连。现在,公司需要通过在组播服务器Source-1上播放视频对员工进行内部培训,除了少数人事部门的员工(使用的终端是PC-3)不需要观看此视频外,其他员工均需要观看学习。管理员需要通过测试和比较,在单波,广播,组播中选择一种最为合适的方式传输该视频数据。
实验拓扑

1.基本配置
根据拓扑图,进行相应的基本配置,并使用ping命令检测R1与PC-1之间的连通性。

其余直连网段的连通性在此省略。
2.观察单播方式
单播报文的目的IP地址只能标识一个唯一的接收者,只有该接收者才能收到并处理该IP报文;其它接收者要么不能收到此报文,要么收到后也不会处理,而是直接丢弃。
在R1上使用PC-1的单播IP地址10.0.1.1作为目的地址进行ping操作,然后分别在PC-1,PC-2和PC-3的Ethernet0/0/1接口查看报文的接收情况,如下图所示。

PC-1的Ethernet 0/0/1接口的报文情况

PC-2的Ethernet 0/0/1接口的报文情况
PC-3的Ethernet 0/0/1接口的报文情况
可以观察到,PC-2和PC-3没有收到ICMP消息,只有PC-1收到了。如果三个用户都需要接收到ping包。
如果多个用户需要获得相同的信息,那么在单播方式下,网络中需要传输的报文数量和用户数量成正比。用户数量越多,网络中包含相同信息的报文数量就越多,这样既浪费网络设备的CPU资源又浪费网络的带宽资源。
3.观察广播方式
一个广播IP地址标识了某确定网段内的所有网络设备,该网段内每个网络设备都会收到并处理该网段的广播报文。
在R1上配置RIPv1协议,使用R1通过广播方式发送RIP报文,然后在PC-1,PC-2和PC-3的Ethernet0/0/1接口查看报文接收情况
[r1]rip 1
[r1-rip-1]network 10.0.0.0
PC-1的Ethernet 0/0/1接口的报文情况
PC-2的Ethernet 0/0/1接口的报文情况
PC-3的Ethernet 0/0/1接口的报文情况
可以看到,PC-1,PC-2和PC-3都收到了R1通过广播方式发送的RIP报文。
广播方式只在同一个网段中才有效,不能跨越网段。另外,广播方式是无法区分接收者的,这对于信息的安全性和服务的有偿性而言都是一个问题。
4.观察组播方式
使用组播方式时,只有加入到该组播组的成员才能收到并处理该组播组的报文。对于不是该组播组的成员,要么不能收到该组播组的报文,要么收到后直接丢弃。
在R1上完成组播的基本配置,包括在全局模式下开启组播功能,在GE0/0/0接口下开启组播功能,在 GE 0/0/1和 GE 0/0/2接口下开启组播功能及 IGMP 功能。
[r1]multicast routing-enable
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]pim dm
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]pim dm
[r1-GigabitEthernet0/0/1]igmp enable
[r1-GigabitEthernet0/0/1]int g0/0/2
[r1-GigabitEthernet0/0/2]pim dm
[r1-GigabitEthernet0/0/2]igmp enable
组播服务器 Source -1需要使用 VLC 播放视频的方式来发送组播。首先,在网上下载并安装一个 VLC 软件,然后,在 eNSP 软件的主界面中点击右上方工具栏的设置按钮,在"工具设置"页面中设置 VLC 软件路径

打开组播服务器Source-1的配置界面,在“基础配置”页面中配置IP地址、掩码等,然后点击“应用”
接下来在“组播源”页面中配置组播组MAC地址01-00-5E-01-01-01和组播组IP地址224.1.1.1
在Source-1的设置界面中选择一个视频文件的路径后,点击“运行”播放视频。
在PC-4上使用IGMPv2加入224.1.1.1组播组,启动VLC,如下图所示

可以观察到,在 PC -4上已能播放组播源的视频了。另一方面,如果 PC -1和 PC -2不加入该组播组,则即使启动 VLC 也无视频播放出来,同时,在 PC -1和 PC -2的 Ethernet 0/0/1接口抓取不到任何 UDP 的视频数据。
当 PC -1和 PC -2加入组播组224.1.1.1后,重新启动 VLC ,则观察到可播放视频。此时,只有 PC -3没加入该组播组,在 PC -3上启动 VLC 也无视频播放。
至此,网络管理员应该可以得出结论了,即:应该选择 IP 组播的方式传输视频数据,以对公司的部分员工进行内部培训。
相关文章:
IP组播基础
原理概述 IANA ( Internet Assigned Numbers Authority )将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类,其中的 D 类为组播 IP 地址,范围是224.0.0.0~239.255.255.255。 一个 IP 报文,其目的地址如果是单播 IP 地址ÿ…...
Pytorch的named_children, named_modules和named_children
在 PyTorch 中,named_children、named_modules 和 named_parameters 是用于获取神经网络模型组件和参数的三种不同的方法。下面是它们各自的作用和区别: named_parameters:递归地列出所有参数名称和tensornamed_modules:递归地列…...
3.28总结
1.java学习记录 1.方法的重载 重载换而言之其实就是函数名不变,但是其中的参数需要改变,可以三个方面改变(参数类型,参数顺序,参数个数这三个方面入手,这样可以运用的) 但是:注意…...
C# 命名空间的两种定义哦写法与区别
这两种写法在C#中都是有效的,但是它们代表了不同的语法风格和C#版本特性。 第一种写法: namespace Nebula.PDF; public class PdfDocument {}这是C# 9.0及更高版本中引入的顶级语句(top-level statements)特性。它允许你直接在文…...
Rustdesk客户端编译后固定密码不稳定时好时坏
环境: rustdesk1.19 问题描述: Rustdesk客户端编译后固定密码不稳定时好时坏 解决方案: 出现固定密码不稳定的问题可能有多种原因,下面是一些可能的解决方法: 密码强度:确保所设置的固定密码足够强大…...
小程序利用WebService跟asp.net交互过程发现的问题并处理
最近在研究一个项目,用到asp.net跟小程序交互,简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮 出现如下错误: 百思不得其解,试了若干方法,都不行。 因为…...
TitanIDE与传统 IDE 比较
与传统IDE的比较 TitanIDE 和传统 IDE 属于不同时代的产物,在手工作坊时代,一切都是那么的自然,开发者习惯 Windows 或 MacOS 原生 IDE。不过,随着时代的变迁,软件行业已经步入云原生时代,TitanIDE 是顺应…...
反序列化动态调用 [NPUCTF2020]ReadlezPHP1
在源代码上看到提示 访问一下看看 代码审计一下 <?php #error_reporting(0); class HelloPhp {public $a;public $b;public function __construct(){$this->a "Y-m-d h:i:s";$this->b "date";}public function __destruct(){$a $this->a;…...
Hadoop面试重点
文章目录 1. Hadoop 常用端口号2.Hadoop特点3.Hadoop1.x、2.x、3.x区别 1. Hadoop 常用端口号 hadoop2.xhadoop3.x访问HDFS 端口500709870访问 MR 执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020 2.Hadoop特点 高可靠:Hadoop底层维护多个数…...
【ONE·基础算法 || 分治·快排并归】
总言 主要内容:编程题举例,理解分治的思想(主要是对快排、并归的应用)。 文章目录 总言1、基本介绍2、颜色分类(medium)2.1、题解 3、快速排序(medium)3.1、题解ÿ…...
Python 从0开始 一步步基于Django创建项目(11)注册新用户
1、修改C:\D\Python\Python310\study\snap_gram\users路径下的urls.py 添加‘注册新用户’URL。 #注册新用户 path(register/,views.register,nameregister), 2、修改C:\D\Python\Python310\study\snap_gram\users路径下的views.py 编写URL对应的视图函数register。 def r…...
银行监管报送系统介绍(十二):非居民金融账户涉税信息报送
国家税务总局、财政部、中国人民银行、中国银行业监督管理委员会、中国证券监督管理委员会、国家金融监督管理总局2017年5月9日发布、2017年7月1日起施行的《非居民金融账户涉税信息尽职调查管理办法》。 一、《管理办法》出台的背景是什么? 受二十国集团&…...
土壤有机质空间分布数据
土壤有机质(soil organic matter)是土壤中含碳有机化合物的总称,包括土壤固有的和外部加入的所有动植物残体及其分解产物和合成产物。主要来源于动植物及微生物残体,可分为腐殖质和非腐殖物质。一般占土壤固相总重的10%以下&#…...
Unity图集编辑器
图集编辑器 欢迎使用图集编辑器新的改变编辑器图片 欢迎使用图集编辑器 Unity图集操作很是费劲 无法批量删除和添加图集中的图片 新的改变 自己写了一个图集编辑器 客: 支持批量删除 左键点击图片代表选中 右键点击图标定位到资产支持批量添加 选中图片拖拽到编…...
【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(六)
面向对象OOP 首先,我们要明确,面向对象不是语法,是一个思想,是一种 编程模式面向: 面(脸),向(朝着)面向过程: 脸朝着过程 》 关注着过程的编程模…...
hbase启动错误-local host is“master:XXXX“ destination is:master
博主的安装前提: zookeeper安装完成,且启动成功 hdfs高可用安装,yarn高可用安装,且启动成功 报错原因:端口配置不对 解决方案: 输入:hdfs getconf -confKey fs.default.name 然后把相应的…...
基于SpringBoot的“招生管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“招生管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图 学生注册界面图 …...
Chinese-LLaMA-Alpaca-2模型量化部署测试
简介 Chinese-LLaMA-Alpaca-2基于Meta发布的可商用大模型Llama-2开发, 是中文LLaMA&Alpaca大模型的第二期项目. 量化 模型的下载还是应用脚本 bash hfd.sh hfl/chinese-alpaca-2-13b --tool aria2c -x 8应用llama.cpp进行量化, 主要参考该教程. 其中比较折腾的是与BLAS…...
flutter 打包成web应用后怎么通过url跳转页面
在 Flutter 中,如果你想要在打包成 Web 应用后通过 URL 跳转页面,你可以利用 Flutter 提供的路由导航系统和 URL 策略。以下是具体步骤: 1. 配置路由 在 Flutter 应用中定义路由,一种简单的方式是使用 MaterialApp 构造器的 rou…...
【设计模式】中介者模式的应用
文章目录 1.概述2.中介者模式的适用场景2.1.用户界面事件2.2.分布式架构多模块通信 3.总结 1.概述 中介者模式(Mediator Pattern)是一种行为型设计模式,它用于解决对象间复杂、过度耦合的问题。当多个对象(一般是两个以上的对象&…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
