IP组播基础

news/2024/5/15 18:02:18

原理概述

       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 组播的方式传输视频数据,以对公司的部分员工进行内部培训。
 

 


http://www.mrgr.cn/p/78726016

相关文章

MLIR多层中间表示——用MLIR构建编译器(中)

1.3. 玩具语言IR方言 玩具语言方言:方言 在TableGen中声明性指定 def Toy_Dialect : Dialect {let summary = Toy IR Dialect;let description = [{这是对玩具语言方言的一个更长的描述...}];// 方言的命名空间.let name = toy;// 方言类定义所在的C++命名空间let cppNamespac…

Gitlab的流水线任务【实现每小时自动测试 dev分支的更新】

背景 在现代软件开发实践中,持续集成(Continuous Integration, CI)是确保代码质量和快速响应软件缺陷的关键策略。GitLab 提供了强大的 CI/CD 功能,允许开发者自动化测试和部署流程。本文将介绍如何设置 GitLab 流水线计划任务&a…

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

OSCP靶场--pc

OSCP靶场–pc 考点(CVE-2022-35411[rpc漏洞chisel端口转发]) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -Pn -sC -sV 192.168.178.210 --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-28 04:07 EDT Nmap scan rep…

景联文科技高质量大模型训练数据汇总!

3月25日,2024年中国发展高层论坛年会上,国家数据局局长刘烈宏在“释放数据要素价值,助力可持续发展”的演讲中表示,中国10亿参数规模以上的大模型数量已超100个。 当前,国内AI大模型发展仍面临诸多困境。其中&#xff…

快速创建zookeeper集群

先说明,zookeeper集群的3个节点都放在同一个虚拟机(穷),所以搭建是一个伪集群,因为一个服务器挂机,所有节点都会停止。工作实际情况安装到三个服务器,并修改节点配置的ip地址即可(红…

itextPdf生成pdf简单示例

文章环境 jdk1.8&#xff0c;springboot2.6.13 POM依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.ite…

C++多重继承与虚继承

多重继承的原理 多重继承(multiple inheritance)是指从多个直接基类中产生派生类的能力。 多重继承的派生类继承了所有父类的属性。 在面向对象的编程中&#xff0c;多重继承意味着一个类可以从多个父类继承属性和方法。 就像你有一杯混合果汁&#xff0c;它是由多种水果榨取…

Visio中存在问题的解决方法

公式缩放 mathtype公式在visio缩放之后&#xff0c;出现了变形。 解决方法&#xff1a;每次输入公式都通过 插入->对象->mathType Equation 新建一个公式。可以避免 注&#xff1a;网上有的说在word中使用mathtype编写公式&#xff0c;之后复制到visio中。 插入波形 选择…

python知识点总结(十)

python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能&#xff0c;并且将执行结果写入日志文件中2、队列和栈的区别&#xff0c;并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下&#xff1a;5、CPU处理线程最慢的…

C# 获取程序路径的几种方法及其区别【WPF】

遇到的问题 但最近发现一个问题:如果程序是由用户通过exe文件直接打开的,获取同目录下配置文件不会有问题;但如果程序是由第三方应用启动的,通过不同方式获取的“当前目录”会有不同。以下是常用的记住获取当前目的的方法: System.Environment.CurrentDirectory System.IO…

C语言分支循环语句详解

分支和循环语句是什么 在我们写程序的时候&#xff0c;总会遇到想一直循环执行某种语句的时候&#xff0c;这时候我们就要使用一种语句叫循环语句&#xff0c;或者带一些判断条件的语句&#xff0c;在C语言中提供了像这些的循环语句和分支语句 if else 语句 这是一种判断语句…

P8623 [蓝桥杯 2015 省 B] 移动距离 Python

[蓝桥杯 2015 省 B] 移动距离 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。其楼房的编号为 $1,2,3, \cdots $ 。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为 6 6 6 时&#xff0c;开始情形如…

学习总结!

1.构造器&#xff1a; 构造器通常也叫构造方法、构造函数&#xff0c;构造器在每个项目中几乎无处不在。当你new一个对象时&#xff0c;就会调用构造器。构造器格式如下&#xff1a; [修饰符&#xff0c;比如public] 类名 (参数列表&#xff0c;可以没有参数){ //这里不能有r…

Unity PS5开发 天坑篇 之 URP管线与HDRP管线部署流程以及出包介绍04

目录 一, URP管线、HDRP管线下的Unity项目部署 1. PS5开发论坛关于Unity可支持的版本说明: 2. URP管线下的项目与部署 2.1 Build PS5 URP Project 2.2 运行画面 3. HDRP管线下的项目与部署 3.1 附上可以运行的画面: 4. PS5打包方式介绍 4.1 PC串流调试模式: Build Typ…

面试题--3.18

1. http与https的区别&#xff0c;以及https的认证过程及加密算法 &#xff1f; 区别&#xff1a; https协议需要到CA申请证书&#xff0c;一般免费证书较少&#xff0c;因而需要一定费用。 http是超文本传输协议&#xff0c;信息是明文传输&#xff0c;https则是具有安全性…

打造核心竞争力:高效Web系统数据中台的设计与实践_光点科技

在数字化的浪潮中&#xff0c;数据已经成为企业赖以生存和发展的核心资源。一个高效的Web系统数据中台&#xff0c;能够赋予企业在激烈的市场竞争中立于不败之地的能力。本文将深入探讨如何设计和实施一个能够提升企业数据管理水平和支持业务决策的高效数据中台架构。 数据中台…

接单收入超过主业!程序员必备的兼职接单平台汇总

这个月副业接单的款项到账了&#xff0c;由于接了个大单&#xff0c;这个月净收入5w&#xff0c;一下子副业收入超过了主业。不得不说&#xff0c;程序员接单确实是一条赚钱的新路子&#xff0c;都说节流不如开源&#xff0c;这下我是真的体会到了&#xff01; 今天&#xff0c…

计算机组成原理 — 指令系统

指令系统 指令系统指令的概述指令的格式指令的字长取决于 操作数类型和操作种类操作数的类型数据在存储器中的存放方式操作类型 寻址方式指令寻址数据寻址立即寻址直接寻址隐含寻址间接寻址寄存器寻址寄存器间接寻址基址寻址变址寻址堆栈寻址 RISC 和 CISC 技术RISC 即精简指令…

Camera subdev注册流程

参考资料: 极客笔记https://deepinout.com/camera-sensor-driver/camera-sensor-driver-sensor-subdev-register-flow.htmlCamera驱动模型:用户空间通过CSL协议层,才能访问到Camera subdev,/dev/v4l-subdevx都不是固定的 可以通过cat /sys/class/video4linux/v4l-subdevx/n…