计算机网络-基于PIM-DM+IGMP的组播实验配置

前面我们将IGMP协议和PIM-DM协议理论知识都学完了,现在开始进入实践,毕竟只有完成实践是最好的检验方式。IGMP是用于感知组播组成员,而PIM-DM是用于在域内构建组播分发树的的协议,本次实验使用这两项技术进行分析与实践。

一、拓扑结构

拓扑说明与一些注意事项。组播主要用于一些组播流量、IP电话、IPTV等,在ensp支持使用vlc播放器进行组播推流,因此首先需要安装vlc播放器。

VLC
VLC

然后将工具配置在ensp中,设置--工具设置--VLC选择安装完成后的软件路径。

工具设置
工具设置

拓扑:

组播实验拓扑
组播实验拓扑

这里只有一个组播源因此IGMP使用默认v2即可,AR2、3、4使用交换机连接触发断言机制,连接组播组成员的接口开启igmp,组播转发网络的接口都启用PIM DM,所有设备都在OSPF 1 的Area 0 区域,所有路由器开启组播路由功能

二、基础网络配置

包括IP与路由互通配置,保证组播组成员与组播源能够互相ping通。

组播源设置使用MCS,设置ip地址以及组播组地址

组播源
组播源
组播组设置
组播组设置

AR1:

interface GigabitEthernet0/0/0ip address 10.0.1.2 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 10.0.2.1 255.255.255.0 
#
interface GigabitEthernet0/0/2ip address 10.0.3.1 255.255.255.0 
#
ospf 1 area 0.0.0.0 network 10.0.1.0 0.0.0.255 network 10.0.2.0 0.0.0.255 network 10.0.3.0 0.0.0.255

AR2:

interface GigabitEthernet0/0/0ip address 10.0.6.2 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 10.0.2.2 255.255.255.0 
#
interface GigabitEthernet0/0/2ip address 172.16.0.254 255.255.255.0 
#
ospf 1 area 0.0.0.0 network 10.0.2.0 0.0.0.255 network 10.0.6.0 0.0.0.255 network 172.16.0.0 0.0.0.255

AR3:

interface GigabitEthernet0/0/0ip address 10.0.6.3 255.255.255.0 
#
interface GigabitEthernet0/0/2ip address 10.0.3.3 255.255.255.0 
#
ospf 1 area 0.0.0.0 network 10.0.3.0 0.0.0.255 network 10.0.6.0 0.0.0.255

AR4:

interface GigabitEthernet0/0/0ip address 10.0.6.4 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 10.0.7.4 255.255.255.0 
#
interface GigabitEthernet0/0/2ip address 192.168.1.254 255.255.255.0 
#
ospf 1 area 0.0.0.0 network 10.0.6.0 0.0.0.255 network 10.0.7.0 0.0.0.255 network 192.168.1.0 0.0.0.255

AR5:

interface GigabitEthernet0/0/0ip address 10.0.7.5 255.255.255.0 
#
ospf 1 area 0.0.0.0 network 10.0.7.0 0.0.0.255

测试网络连通性:

PC连通性
PC连通性

三、组播配置

其实组播配置也不难。

  • 所有路由器开启组播路由功能
  • 组播转发网络接口开启PIM DM
  • 连接组播组成员的接口开启igmp enable

这里先把配置配上,然后组播源再开始播放视频推流进行抓包查看现象。

# AR1
multicast routing-enable            # 全局开启组播路由功能
#
interface GigabitEthernet0/0/0ip address 10.0.1.2 255.255.255.0 pim dm                             # 启用PIM DM模式
#
interface GigabitEthernet0/0/1ip address 10.0.2.1 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/2ip address 10.0.3.1 255.255.255.0 pim dm# AR2
multicast routing-enable            # 全局开启组播路由功能
#
interface GigabitEthernet0/0/0ip address 10.0.6.2 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/1ip address 10.0.2.2 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/2ip address 172.16.0.254 255.255.255.0 igmp enable                          # 开启igmp功能,默认为igmp v2# AR3
multicast routing-enable            # 全局开启组播路由功能
#
interface GigabitEthernet0/0/0ip address 10.0.6.3 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/2ip address 10.0.3.3 255.255.255.0 pim dm# AR4
multicast routing-enable            # 全局开启组播路由功能
#
interface GigabitEthernet0/0/0ip address 10.0.6.4 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/1ip address 10.0.7.4 255.255.255.0 pim dm
#
interface GigabitEthernet0/0/2ip address 192.168.1.254 255.255.255.0 igmp enable# AR5
multicast routing-enable            # 全局开启组播路由功能
#
interface GigabitEthernet0/0/0ip address 10.0.7.5 255.255.255.0 pim dm

配置完成后暂时是没有什么表项和现象的,因为组播源没有开启播放,没有组播流量触发全网泛洪,组播组成员没有加组无法形成igmp组表项和igmp路由表项。

四、开启组播功能

可以在下面的接口开启抓包观察下现象。 开启抓包

首先可以观察到连接组播组成员的接口发送的普遍组查询报文,每隔60s左右发送一次,向下行接口发往224.0.0.1.

igmpv2查询报文
igmpv2查询报文
报文详情
报文详情

组播源配置:设置完成路径和组播组ip,点击一下组播组MAC地址自动生成,最后点击运行。

组播源设置
组播源设置
播放视频
播放视频
报文
报文

通过抓包查看到组播源向组播组224.1.1.1通过UDP推送流量。

在AR2的G0/0/0口查看到了断言报文以及状态刷新报文,通过查看发现AR2和AR3都发送了断言报文,但是由于AR3的IP地址优先,因此AR3下行接口作为winner发送状态刷新报文。

AR2抓包
AR2抓包

组播组成员加组:

PC加组
PC加组
成功接收到组播流量
成功接收到组播流量

通过抓包查看到组播组成员发送的组成员关系报告,需要加入源为10.0.1.1的组播组224.1.1.1.

报文1
报文1
报文详情
报文详情

AR4查看igmp组表项和igmp路由表项。

AR4查看表项
AR4查看表项
组播路由表
组播路由表
组播实现
组播实现

这里还有一个剪枝报文的前面没有抓包到,算了。由于组播转发网络开启PIM DM,每个路由器都会维护PIM路由表项即使不转发组播流量,然后从第一跳组播路由器会定期发送状态刷新报文全网泛洪。

组播分发树SPT:

最终SPT
最终SPT

本文由 mdnice 多平台发布

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

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

相关文章

upload-labs漏洞靶场~文件上传漏洞

寻找测试网站的文件上传的模块,常见:头像上传,修改上传,文件编辑器中文件上传,图片上传、媒体上传等,通过抓包上传恶意的文件进行测试,上传后缀名 asp php aspx 等的动态语言脚本,查…

电脑新加的硬盘如何分区?新加硬盘分区选MBR还是GPT

最近有网友问我,电脑新加的硬盘如何分区?电脑新加的硬盘分区选MBR还是GPT要看引导模式采用uefi还是传统的legacy模式,如果采用的是uefi引导模式,分区类型对应的就是gpt分区(guid),如果引导模式采用的是legacy,对应的分区类型为mb…

Spring Boot集成sse实现chatgpt流式交互

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 什么是sse? SSE可以指代两种不同的概念:一是指“服务器发送事件”(Server-Sent Events),另一种是指英特尔的“因特网数据流单指令序列扩展”(Streaming SIMD Extensions)。…

循环结构(三)——do-while语句

目录 🍁引言 🍁一、语句格式 🚀格式1 🚀格式2 🍁二、语句执行过程 🍁三、实例 🚀【例1】 🚀【例2】 🚀【例3】 🍁总结 🍁备注 &am…

Unity获取Animator动画播放完成事件

整理了一些在日常经验中处理动画播放完成事件的方法 方法: 1.Dotween配合异步实现 2.状态机计时方法实现 3.原生动画行为方法实现 方法一:Dotween异步方法 using UnityEngine; using System.Threading.Tasks; using DG.Tweening;public class PlayerAnimAsync : M…

Java——多线程(6/9):线程池、处理Runnable、Callable任务(认识线程池-线程池的工作原理,ThreadPoolExecutor构造器)

目录 认识线程池 介绍 线程池的工作原理 如何创建线程池 介绍 ThreadPoolExecutor构造器 代码实例 线程池的注意事项 线程池处理Runnable任务 ExecutorService的常用方法 代码实例 新任务拒绝策略 线程池处理Callable任务 ExecutorService的常用方法 代码实例…

如何从智联招聘网站快速抓取职位详情?两大技巧揭秘

摘要: 本文将揭秘如何利用Python爬虫技术,高效且合法地从智联招聘网站抓取职位详情信息。通过实战示例,展现两大核心技巧,助你在大数据时代抢占先机,为你的市场分析、人才研究提供强大支持。 一、引言:数据…

排序算法:冒泡排序,golang实现

目录 前言 冒泡排序 代码示例 1. 算法包 2. 冒泡排序代码 3. 模拟排序 4. 运行程序 5. 从大到小排序 循环细节 外层循环 内层循环 总结 循环次数测试 假如 10 条数据进行排序 假如 20 条数据进行排序 假如 30 条数据进行排序 假设 5000 条数据,对比…

荒原之梦考研:专科考研成功的可能性大吗?

专科还是本科不是决定考研能否成功的关键因素,决定考研能否成功的关键因素是自己是否有清晰的规划、是否有足够的专注能力,以及是否能够吃得了考研的“苦”。 首先要有清晰的规划,比如说,不是我们每个人足够努力就都能考上 TOP1 …

很简单的Win10+Win7双系统教程|UEFI篇

前言 前段时间有写过一篇关于Windows10Windows7双系统安装教程,但这个教程为了比较保险,就进入了WinPE维护系统进行操作。 但有很多小伙伴就有点搞不懂了,都不知道WinPE是什么系统,也不知道怎么去解决这个问题。 今天咱们就来讲…

centos7部署智能dns实战应用

主DNS:192.168.101.129 备DNS:192.168.101.128 原理: 一、下载软件 bind-9.17.9.tar.xz的下载地址:https://ftp.isc.org/isc/bind9/9.17.9/bind-9.17.9.tar.xz。更多的bind版本可以从https://ftp.isc.org/isc/bind9/下载。 二&a…

【深入探秘Hadoop生态系统】全面解析各组件及其实际应用

深入探秘Hadoop生态系统:全面解析各组件及其实际应用 引言 在大数据时代,如何高效处理和存储海量数据成为企业面临的重大挑战。根据Gartner的统计,到2025年,全球数据量将达到175泽字节(ZB),传…

学习安卓开发遇到的问题

问题1:学习禁用与恢复按钮中: java代码报错:报错代码是 R.id.btn_enable;case R.id.btn_disable;case R.id.btn_test: 代码如下:(实现功能在代码后面) package com.example.apptest;import static java.…

【时时三省】unity test 测试框架 介绍(适用于C语言进行测试的)

1,关于 unity test 测试框架的介绍 unity test 是 ThrowTheSwitch.org 的一个主要工程。它是专注于为嵌入式工具链而生的C语言单元测试框架。它可以适用于大工程或者小工程都可以。它的核心文件是一个.c文件和两个头文件。 备注: 下载源码地址&#xff…

应急响应-Web3

打开虚拟机之后,运行解题系统: 共有三个问题! 攻击者的两个IP地址 首先我们看到机器的桌面上还是存在phpstudy,那就还是先去看看是不是从web层面进行的攻击,上传webshell从而getshell。 利用D盾尝试对phpstudy目录进…

WordPress资源下载类主题 CeoMax-Pro_v7.6绕授权开心版

CeoMax-Pro强大的功能 在不久的将来Ta能实现你一切幻想!我们也在为此而不断努力。适用于资源站、下载站、交易站、素材站、源码站、课程站、cms等等等等,Ta 为追求极致的你而生。多风格多样式多类型多行业多功能 源码下载:ceomax-pro7.6.zip…

【系统架构设计师】二十四、安全架构设计理论与实践②

目录 三、系统安全体系架构规划框架 3.1 信息系统安全体系规划 3.2 信息系统安全规划框架 3.2.1 信息系统安全规划依托企业信息化战略规划 3.2.2 信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑 3.2.3 信息系统安全规划以信息系统与信息资源的安全保护为核心…

[环境配置]Pycharm:Failed to start [PowerShell.exe]

解决方法,点Local旁边的 号,点击Command Prompt,即可在Pycharm中呼出控制台。 如果要修改Command Prompt的启动时访问的cmd.exe的路径,可以去Settings→Tools→Terminal中,修改Shell Path实现,改为cmd.exe…

AWS开发人工智能:如何基于云进行开发人工智能AI

随着人工智能技术的飞速发展,企业对高效、易用的AI服务需求日益增长。Amazon Bedrock是AWS推出的一项创新服务,旨在为企业提供一个简单、安全的平台,以访问和集成先进的基础模型。本文中九河云将详细介绍Amazon Bedrock的功能特点以及其收费方…

117页PPT埃森哲-物流行业信息化整体规划方案

一、埃森哲-物流行业信息化整体规划方案 资料下载方式,请看每张图片右下角信息 埃森哲在物流行业信息化整体规划项目中的核心内容,旨在帮助物流企业通过信息技术的应用实现业务流程的优化、运营效率的提升以及市场竞争力的增强。以下是埃森哲在此类项目…