组播 | 不同 VLAN 间数据转发实现逻辑 / 实验

注:本文为 “不同 vlan 间组播数据转发” 相关合辑。
图片清晰度受引文原图所限。
略作重排,如有内容异常,请看原文。


组播 VLAN:解决路由器为不同 VLAN 用户复制多份流量问题

aiaiai010101 于 2018-11-16 22:42:06 发布

一、组播 VLAN 与传统二层组播的传输流程对比

1.传统二层组播传输流程

当 VLAN2 和 VLAN3 的用户需要接收相同组播流时,上游路由器 RouterA 的物理接口会被逻辑划分为两个子接口,分别对应 VLAN2 和 VLAN3 两个网段。

由于组播传输遵循 “一个网段一份数据” 的原则,路由器需为每个子接口(即每个 VLAN)单独复制一份组播流,并通过 Trunk 链路发送至交换机 SwitchA。

交换机接收到两份重复的组播流后,再分别向 VLAN2 和 VLAN3 内的用户端口分发。此过程中,路由器与交换机之间的链路承载了两份相同数据,造成带宽浪费,同时路由器的复制操作也增加了其处理负载。

2.组播 VLAN 传输流程

在这里插入图片描述

部署组播 VLAN(如 VLAN4)后,路由器仅需向组播 VLAN 复制一份组播流,通过 Trunk 链路发送至交换机。

交换机作为组播流的分发点,利用组播 VLAN 与用户 VLAN(VLAN2、VLAN3)的绑定关系,在二层完成组播流的跨 VLAN 复制,并分别向 VLAN2 和 VLAN3 内的用户端口转发。

这一流程消除了路由器的重复复制操作,减少了上游链路的带宽占用,同时将组播复制的负载转移至二层交换机,优化了网络整体性能。

二、组播 VLAN 与用户 VLAN 的绑定机制

组播 VLAN 与用户 VLAN 的绑定关系是实现跨 VLAN 组播传输的核心,其核心规则与角色定义如下:

  • 组播 VLAN:作为网络侧接口所属的 VLAN,主要功能是实现组播流的汇聚。其显著特征为 一对多映射,即一个组播 VLAN 可同时绑定多个用户 VLAN,承载多个用户 VLAN 的组播需求。

  • 用户 VLAN:作为用户侧接口所属的 VLAN,用于接收来自组播 VLAN 的组播数据。其显著特征为 唯一性约束,即每个用户 VLAN 只能隶属于一个组播 VLAN,以此确保组播流来源唯一,避免数据冲突或重复接收。

这种绑定机制呈现 “逻辑嵌套” 结构:组播 VLAN 作为上层容器,负责从路由器接收组播流并进行集中管理;用户 VLAN 作为下层成员,通过绑定关系获取组播流,既实现了组播数据在不同 VLAN 间的高效分发,又保持了各 VLAN 的独立性和安全性。这一逻辑本质上类似于通过将物理接口划分为多个子接口,在逻辑层面实现组播数据的优化传输。

三、组播 VLAN 的应用价值

组播 VLAN 技术的引入,主要解决了传统组播在多 VLAN 场景下的两大痛点:

1.带宽优化:减少上游链路中重复组播流的传输,提升链路利用率。

2.设备减负:将组播复制的任务从路由器转移至二层交换机,降低核心路由设备的负载,增强网络稳定性。

该技术尤其适用于 IPTV、视频会议等需要跨 VLAN 传输大量相同组播数据的场景,能够显著提升网络的传输效率和可扩展性。


交换机路由器:不同 VLAN 间转发组播数据

o( ̄︶ ̄)o__小肉松 已于 2022-05-18 09:41:58 修改

1. 实验需求

现有一台处于 VLAN 10 的服务器,其能输出两组不同的组播数据,分别为 S1 和 S2。组播数据 S1 的接收者分布在 VLAN 20 和 VLAN 30,组播数据 S2 的接收者分布在 VLAN 20 和 VLAN 40。现仅有一台不支持组播路由协议 PIM 和 IGMP 的交换机,如何使得处于不同 VLAN 的接收者收到其所需要的组播数据?

在这里插入图片描述

2. 配置思路

正常情况下,由于交换机的 MAC 表中不存在目的 IP 地址为组播地址的项,因此组播报文将在该网段内进行广播(泛洪),使得处于同一 VLAN 的用户都能收到该组播报文。

针对处于 VLAN 10 的组播数据 S1,要使处于另一网段 VLAN 20 和 VLAN 30 的接收者收到组播数据,只需将 VLAN 20 和 VLAN 30 设置为允许带有标签 vlan_id=10 的报文通过,即可实现将组播数据 S1 和 S2 发送到 VLAN 20 和 VLAN 30。由于 VLAN 30 不需要 S2,故在 VLAN 20 中配置 ACL 禁止 S2 即可。对于组播数据 S2,VLAN 20 和 VLAN 40 的配置原理相同。

FAQ:

  1. 不可以针对组播数据 S1 的目的 IP 地址配置静态路由吗?针对一个目的 IP 地址,只能设置一个下一跳。现在需要将 S1 转发到 VLAN 20 和 VLAN 30,存在两个下一跳,但 S1 的数据只有一份,因此配置静态路由无法实现。
  2. 不可以使用策略路由捕获组播数据,然后重定向到 VLANIF20 或 VLAN30IF 吗?与静态路由的方法同理,由于 S1 的数据只有一份,但存在两个下一跳,因此策略路由也无法实现。

3. 具体配置

实验环境

  1. 一台能发送组播报文的 PC 机(模拟服务器),其能发出组播数据 S1(目的 IP = 224.3.29.71)、组播数据 S2(目的 IP = 224.3.29.72)。
  2. 一台 H3C 交换机,型号为 S5130-EI
  3. 一台 PC 机,其能接入不同 VLAN 中,开启抓包软件 Wireshark 验证是否收到组播数据。

H3C 交换机具体配置

# 创建本地账号‘admin’
local user adminpassword simple admin123service-type telnetauthorization-attribute user-role network-admin # 设置用户权限,network-admin 为最高权限# 开启远程终端 0 - 4 号,允许其能使用账号‘admin’使用 telnet 服务
user-interface vty 0 4authentication-mode scheme # 远程用户密码与本地用户一致user-role network-admin # 设置用户权限,network-admin 为最高权限protocol inbound telnet # 配置 vty 支持 telnet 协议# 创建 VLAN 10、VLAN 20、VLAN 30 和 VLAN 40
vlan 10quit
vlan 20quit
vlan 30quit
vlan 40quit# 配置 VLAN 的网关
interface Vlan-interface1 # 配置交换机管理流量网段的网关ip address 172.168.141.254 255.255.255.0
interface Vlan-interface10 # 配置 192.168.10.0/24 网段的网关ip address 192.168.10.1 255.255.255.0
interface Vlan-interface20 # 配置 192.168.20.0/24 网段的网关ip address 192.168.20.1 255.255.255.0
interface Vlan-interface30 # 配置 192.168.30.0/24 网段的网关ip address 192.168.30.1 255.255.255.0
interface Vlan-interface40 # 配置 192.168.40.0/24 网段的网关ip address 192.168.40.1 255.255.255.0# 创建 ACL,仅允许组播组‘224.3.29.71 255.255.255.255’、ICMP 报文通过
acl advanced 3000rule 5 permit ip destination 224.3.29.71 0rule 10 permit icmprule 15 deny ip# 创建 ACL,仅允许组播组‘224.3.29.72 255.255.255.255’、ICMP 报文通过
acl advanced 3001rule 5 permit ip destination 224.3.29.72 0rule 10 permit icmprule 15 deny ip# 创建 ACL,仅允许组播组‘224.3.29.71 255.255.255.255’、‘224.3.29.72 255.255.255.255’、ICMP 报文通过
acl advanced 3002rule 5 permit ip destination 224.3.29.71 0rule 10 permit ip destination 224.3.29.72 0rule 15 permit icmprule 20 deny ip# 批量配置端口,设置其为 VLAN 20 的接口,并允许 VLAN 10 的报文穿越
interface range GigabitEthernet 1/0/9 to GigabitEthernet 1/0/10port link-type hybridundo port hybrid vlan 1port hybrid vlan 10 20 untagged # 允许 VLAN 20、VLAN 10 报文通过并摘掉其 VLAN 标签port hybrid pvid vlan 20 # 设置接口属于 VLAN 20 网段packet-filter 3002 outbound # 配置 ACL 3002 于接口发出方向,仅允许特定组播报文、ICMP 报文通过# 批量配置端口,设置其为 VLAN 30 的接口,并允许 VLAN 10 的报文穿越
interface range GigabitEthernet 1/0/11 to GigabitEthernet 1/0/12port link-type hybridundo port hybrid vlan 1port hybrid vlan 10 30 untaggedport hybrid pvid vlan 30packet-filter 3000 outbound# 批量配置端口,设置其为 VLAN 40 的接口,并允许 VLAN 10 的报文穿越
interface range GigabitEthernet 1/0/13 to GigabitEthernet 1/0/14port link-type hybridundo port hybrid vlan 1port hybrid vlan 10 40 untaggedport hybrid pvid vlan 40packet-filter 3001 outbound

发送组播报文的 Python 代码

import socket
import struct
import time# 创建一个套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
adapter_ip = "192.168.10.200"  # 网卡 IP
sock.bind((adapter_ip, 0))multicast_group = ('224.3.29.71', 10000)  # 组播报文目的地址
sock.settimeout(10)ttl = struct.pack('b', 10)  # 本博主数据结构与算法第 10 篇对 struct 二进制结构体进行介绍
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, ttl)try:i = 0while True:msg = str(i) + ", src=" + str(sock.getsockname()) + ", multicast_group=" + str(multicast_group)sent = sock.sendto(msg.encode('UTF-8'), multicast_group)print("已发送消息:" + msg)i += 1time.sleep(2)
finally:sock.close()

via:

  • 组播 VLAN 优化网络-CSDN博客
    https://blog.csdn.net/aiaiai010101/article/details/84146694

  • 【交换机路由器】不同 vlan 间转发组播数据_跨vlan组播-CSDN博客
    https://blog.csdn.net/made_in_china_too/article/details/124826581

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

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

相关文章

渗透测试常用指令

互联网设备的开放信息查询网站: https://fofa.info/ https://www.zoomeye.org/ https://quake.360.net/quake/#/index https://x.threatbook.com/v5/mapping https://hunter.qianxin.com/ 目录 一、网络探测与扫描 traceroute whatweb ping fping nc n…

51单片机串行通信的设计原理有哪些?

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机…

设计模式十四:适配器模式(Adapter Pattern)

适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成客户端期望的另一个接口,使原本不兼容的类可以一起工作。适配器模式的类型类适配器(通过多重继承实现)对象适配器(通…

力扣经典算法篇-38-组合(回溯算法)

1、题干 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 示例 2: 输入:…

多人命题系统

目 录 摘 要 Abstract 1 系统概述 1.1 概述 1.2课题意义 1.3 主要内容 2 系统开发环境 2. 1 JAVA简介 2. .2 B/S架构 2.3 SSM三大框架 2.4访问数据库实现方法 2.5 系统对MySQL数据库的两种连接方式 3 需求分析 3.1技术可行性:技术背景…

UDP_千兆光通信(四)Tri Mode Ethernet MAC ip核

Tri Mode Ethernet MAC ip核使用与例程分析 一、 Tri Mode Ethernet MAC ip核功能 二、 Tri Mode Ethernet MAC ip核配置 数据传输速率 主要设置接口 帧滤波功能选择,以及流控选择 三、 Tri Mode Ethernet MAC ip核使用 3.1 ip核接口 3.2 ip核接口说明 3.2.1 tx_ifg_delay 3.2…

Linux网络:多路转接 epoll

Linux网络:多路转接 epoll一、epoll三个接口函数1、epoll_create2、epoll_ctl3、epoll_wait二、epoll的工作原理三、epoll的echo_server1、EpollServer类2、构造函数3、事件循环4、事件派发5、事件处理6、测试四、LT和ET模式1、LT2、ET五、项目代码一、epoll三个接口…

uniapp 微信小程序 列表点击分享 不同的信息

<button open-type"share" plain class"item share" click.stop"shareFn(item)"><text>分享</text> </button>import {onShareAppMessage} from dcloudio/uni-applet shareObj ref({})// 将点击后的分享设置信息 关键…

C# 匿名方法详解

C# 匿名方法详解 引言 在C#编程语言中,匿名方法是使用Lambda表达式创建的没有名称的方法。它们在LINQ查询、事件处理和其他场合中非常有用。本文将详细介绍C#匿名方法的基本概念、语法、使用场景以及优势。 匿名方法的概念 匿名方法是一种无需显式定义名称的方法。在C#中,…

SD卡简介与驱动开发

基本概念 存储卡有很多种类&#xff0c;CF卡、记忆棒、SD卡、XD卡、MMC卡、MS卡、TF卡、MicroSD卡等。平时最常见的有SD卡和MicroSD卡两种&#xff0c; SD卡和MicroSD只是两张卡的大小不同&#xff0c;规格版本是完全相同的&#xff0c;均由SD卡协会推出。 SD卡有不少规范&…

大数据平台数仓数湖hive之拉链表高效实现

对于缓慢变化的维度表&#xff0c;如客户表&#xff0c;员工表&#xff0c;为了不丢失历史数据&#xff0c;又不至于太浪费存储空间&#xff0c;我们采用拉链表实现。 实现过程如下&#xff1a; 1、采集初始数据&#xff1a; 1.1 从mysql导出数据到hdfs /data/dolphinschedu…

【VSCode】常用插件推荐(持续更新~)

以下的这些插件都有使用过&#xff0c;可取对自己编码有用的选择安装。&#x1f9e0; 智能补全 / 提示类插件 1. Auto Import在编码时选择有对应导入包的选项&#xff0c;自动为 JS/TS 文件中的使用项补全并添加 import 声明&#xff0c;极大提高开发效率。2. Iconify IntelliS…

ICML 2025 | 深度剖析时序 Transformer:为何有效,瓶颈何在?

本文介绍帝国理工学院等机构在 ICML 2025 发表的最新研究成果。该研究并未提出新模型&#xff0c;而是对现有时间序列 Transformer 模型进行了一次深刻的拷问——为何结构更简单的 Transformer&#xff08; PatchTST, iTransformer&#xff09;在各大基准测试中&#xff0c;反而…

AIBOX内置5G天线设计

AIBOX内置5G天线设计AIBOX的天线种类天线种类及数量&#xff1a;运营商5G天线*4&#xff0c;1.4G天线*2、wifi天线*1天线形式&#xff1a;内置PCB天线。天线安装方式&#xff1a;卡扣固定&#xff0c;安装至设备外壳内壁。RG-178同轴线或UFL1.37mm同轴线连接至主板&#xff0c;…

低通滤波器的原理以及作用

低通滤波器&#xff08;Low-Pass Filter, LPF&#xff09;是一种允许低频信号通过&#xff0c;同时衰减或阻止高频信号的电子电路或数字信号处理算法。其核心原理和作用如下&#xff1a;一、工作原理 1. 频率选择性- 低通滤波器基于频率对信号进行筛选&#xff0c;其传递函数在…

[AI Coding] 一.腾讯CodeBuddy IDE内测、安装及基本用法(国产AI IDE启航)

在人工智能迅猛发展的今天&#xff0c;AI Coding 正逐步改变传统编程范式。广义上&#xff0c;AI Coding 是指以大语言模型&#xff08;LLMs&#xff09;为核心驱动&#xff0c;借助自然语言理解能力&#xff0c;自动生成、补全、调试与解释代码的智能编程方式。它不仅显著降低…

《网安处罚裁量基准》码农合规指北 v1.0——if (违规) { 罚金++ } else { 合规运行 }

尊敬的审核&#xff1a; 本人文章《〈网安处罚裁量基准〉码农合规指北 v1.0——if (违规) { 罚金 } else { 合规运行 }》 1. 纯属技术交流&#xff0c;无任何违法内容 2. 所有法律引用均来自公开条文 3. 请依据《网络安全法》第12条“不得无故删除合法内容”处理 附&#xff1a…

机器学习——逻辑回归(LogisticRegression)实战案例:信用卡欺诈检测数据集

使用逻辑回归识别 信用卡欺诈行为&#xff1a;基于creditcard.csv的实战与评估分析 项目背景 在金融行业中&#xff0c;信用卡欺诈检测是一项关键任务。欺诈交易在整个交易中占比极低&#xff0c;导致数据极度不平衡。本案例通过经典数据集 creditcard.csv&#xff0c;构建逻辑…

Helm在Kubernetes中的应用部署指南与案例解析

在上一章节中&#xff0c;我们已经介绍了Helm的部署和基本使用方法。本章将通过实际案例&#xff0c;详细演示如何使用Helm在Kubernetes集群中部署应用。一、Helm 核心价值解析优势解决的问题类比传统方式应用模板化重复编写 YAML 文件手动编写 20 资源清单文件版本控制缺乏部署…

如何最简单、通俗地理解线性回归算法? 线性回归模型在非线性数据上拟合效果不佳,如何在保持模型简单性的同时改进拟合能力?

线性回归作为统计学与机器学习领域中最基础且最重要的算法之一&#xff0c;其应用广泛且深远。它不仅是回归分析的入门方法&#xff0c;更是后续复杂模型构建的重要理论基础。理解线性回归算法的本质&#xff0c;既有助于提升数据分析的能力&#xff0c;也能为掌握更复杂的机器…