【OMCI实践】ONT上线过程的omci消息(六)
引言
在前四篇文章中,主要介绍了ONT上线过程的OMCI交互的第一、二、三个阶段omci消息,本篇介绍第四个阶段,OLT下发配置到ONT。前三个阶段,每个厂商OLT和ONT都遵循相同标准,OMCI的交换过程大同小异。但第四个阶段,下发的OMCI消息跟OLT的型号、ONT的配置强相关,甚至相同ONT配置,相同厂商的OLT不同的GPON板卡,OMCI消息都有可能不同,本文以Nokia的7360局端为例,简单介绍OLT会下发那些配置到ONT,仅供大家参考。
Extended VLAN tagging operation configuration data(create,0x0401)
Message Type = Create
Managed Entity Class: Extended VLAN tagging operation configuration data (00ab)
该受管实体组织与VLAN标记相关的数据,且只对上行方向进行特定的标记操作。该受管实体的实例由OLT创建和删除。
该受管实体的零个或一个实例可为终结或修改以太网流的任意受管实体的实例而存在。
当该受管实体与UNI侧终结点关联时,先完成上行分类和标记操作,再向其他过滤、桥接或交换功能实体转发流。在下行方向,向UNI侧终结点转发帧之前,最后完成的操作是所规定的反向操作。
当该受管实体与ANI侧终结点关联时,先完成上行分类和标记操作,再排队向OLT发送。在下行方向,向其他过滤、桥接或交换功能实体转发流之前,首先进行规定的反向操作。
Managed Entity Instance: 0x0401
Attribute List
01: Association type (0a),关联类型:该属性规定了与Extended VLAN tagging ME关联的ME类型,具体规定如下:
0 MAC bridge port configuration data
1 IEEE 802.1p mapper service profile
2 Physical path termination point Ethernet UNI
3 IP host config data or IPv6 host config data
4 Physical path termination point xDSL UNI
5 GEM IW termination point
6 Multicast GEM IW termination point
7 Physical path termination point MoCA UNI
8 Reserved
9 Ethernet flow termination point
10 Virtual Ethernet interface point
11 MPLS pseudowire termination point
12 EFM bonding group
如果配置MAC桥,则码点1、5、6和11与MAC桥的ANI侧关联,其他码点与UNI侧关联。码点0与ANI侧关联还是与UNI侧关联取决于MAC桥端口的位置。
当与ANI侧关联时,Extended VLAN tagging ME规定上行出口规则;当下行模式属性值为0时,它规定下行入口规则。当与UNI侧关联时,Extended VLAN tagging ME规定上行入口规则;当下行模式属性值为0时,它规定下行出口规则。
07: Associated ME pointer (0401),关联ME指针:该属性指向与Extended VLAN tagging operation configuration data ME关联的受管实体。

Extended VLAN tagging operation configuration data(set)
Message Type = Create
Managed Entity Class: Extended VLAN tagging operation configuration data (00ab)
Managed Entity Instance: 0x0401
03: Input TPID (8100),
输入TPID:该属性指明表入口(过滤操作)侧操作所用的TPID值。典型值包括0x88a8和0x8100。
04: Output TPID (8100),
输出TPID:该属性指明表出口(标记操作)侧操作所用的TPID值。典型值包括0x88a8和0x8100。
05: Downstream mode (00),
下行模式:无论关联关系如何,Extended VLAN tagging operation configuration data ME只对上行流进行操作。该属性规定了下行映射模式,具体规定如下:
——0:下行方向进行的操作是上行方向操作的反向操作。对于一对一 VLAN 映射,反向操作无特殊规定。对于多对一映射,应按以下规则进行。如果多条操作规则生成了相同的 ANI 侧标签配置从而导致多对一映射,则按列表中的第一条规则进行反向操作。如果过滤器不关心的域被提供的 ANI 侧标签中的域替代从而导致多对一映射,则反向操作是将 ANI 侧相应域设置为最低值。
——1:下行方向不进行任何操作。
——其他值:预留。
08: DSCP to P-bit mapping (0000002492494924926db6db924924b6db6ddb6db6ffffff),DSCP 0~7映射到优先级0,8~15映射到1,16~23映射到2,依次类推
DSCP到P-bit映射:该属性定义了DSCP到P-bit的映射。该属性可以看成是64个3比特组构成的比特串序列。64个序列条目表示了6比特的DSCP域所有可能的取值。3比特组表示关联DSCP值映射的P-bit值。
0000002492494924926db6db924924b6db6ddb6db6ffffff,共192比特,每3个比特对应一个DSCP优先级,
000000,转换成二进制是000 000 000 000 000 000 000 000,所以DSCP 0~7,都映射到优先级0(000)
249249,转换成二进制是001 001 001 001 001 001 001 001,所以DSCP 8~15,都映射到优先级1(001)
492492、6db6db、924924、b6db6d、db6db6、ffffff按相同方法解析

Multicast operations profile(0x0401,creat)
Message Type = Create
Managed Entity Class: Multicast operations profile (0135)
该受管实体表示组播策略。MDU可使用多个这样的策略,如果要求可直接关联到用户。一些属性用于配置IGMP Snooping和proxy参数。该受管实体由OLT创建和删除
该受管实体的实例可与零个或多个multicast subscriber config info ME实例关联。
Managed Entity Instance: 0x0401
Attribute List
01: IGMP version (02),
IGMP版本:该属性规定支持的IGMP协议版本。支持某个版本暗示可以支持较早版本。如果ONT不支持要求的版本,它应拒绝试图写或创建ME的操作。具体取值如下,缺省值为2。
——1:IGMP 版本 1(废止);
——2:IGMP 版本 2;
——3:IGMP 版本 3;
——其他值:预留。
02: IGMP function (00),
IGMP功能:该属性激活IGMP功能。缺省值0表示transparent IGMP snooping only,值1表示IGMP snooping with proxy reporting(SPR),值2表示IGMP Proxy。功能定义应与其他IGMP配置属性规定
的能力一致。
03: Immediate leave (01),
立即离开:该布尔属性激活立即离开功能。缺省值false去激活立即离开功能,true激活。
04: Upstream IGMP TCI (0000),
上行IGMP TCI:在上行IGMP标签控制属性的控制下,上行IGMP TCI属性定义了添加到上行IGMP消息的VLAN ID和P-bit。
05: Upstream IGMP tag control (00),
上行IGMP标签控制:该属性控制上行IGMP TCI属性。(可读,可写,创建时设置)
——0:透传上行 IGMP 流,既不添加、剥离标签,也不修改标签。
——1:为上行 IGMP 流添加 VLAN 标签(包括 P-bit),VLAN 由上行 IGMP TCI 属性规定。
——2:替换上行 IGMP 流的完整 TCI(VLAN ID 和 P-bit),新标签由上行 IGMP TCI 属性规定。
——3:只替换上行 IGMP 流的 VLAN ID,保留原 CFI 和 P-bit。新 VLAN ID 由上行 IGMP TCI 属性的VLAN 域规定。
——其他值:预留。
06: Upstream IGMP rate (00000010),限制每秒只能转发16个IGMP消息
上行IGMP速率:该属性限制了上行IGMP流的最大速率。超过限制的流被丢弃。该属性值以消息数/秒为单位。缺省值0表示没有速率限制。
10: Robustness (02),
健壮性:该属性允许为网络中可能的报文丢失进行调整。缺省值0使ONT遵循IETF建议复制从上游来的query消息的健壮性值。
11: Querier IP address (00000000),
查询者IP地址:该属性规定了用于代理查询者的IP地址。缺省值0.0.0.0不是一个合法地址,但在本应用中有效(见RFC4541)。
12: Query interval (00000096),查询间隔是150秒
查询间隔:该属性规定了通用查询间隔时间,以秒为单位。缺省值是125秒。
13: Query max response time (00000064),
查询最大响应时间:该属性是代理增加到发往UNI的通用查询消息的最大响应时间。以十分之一秒为单位,缺省值是100(10秒)

小结:该受控实体设置IGMP相关参数,包括IGMP版本等
Multicast operations profile(0x0401,set)
Message Type =Set
Managed Entity Class: Multicast operations profile (0135)
该受管实体表示组播策略。MDU可使用多个这样的策略,如果要求可直接关联到用户。一些属性用于配置IGMP Snooping和proxy参数。该受管实体由OLT创建和删除
Managed Entity Instance: 0x0401
06: Upstream IGMP rate (00000010),限制每秒只能转发16个IGMP消息
上行IGMP速率:该属性限制了上行IGMP流的最大速率。超过限制的流被丢弃。该属性值以消息数/秒为单位。缺省值0表示没有速率限制。
12: Query interval (00000096),查询间隔是150秒
查询间隔:该属性规定了通用查询间隔时间,以秒为单位。缺省值是125秒。

Multicast subscriber config info(0x0401,create)
Message Type = Create
Managed Entity Class: Multicast subscriber config info (0136)
该受管实体组织与802.1桥用户端口组播管理关联的数据,包括基于映射器而不是基于桥的模型时的802.1p映射器。该受管实体的实例由OLT创建和删除。为了后向兼容性,期望不关联multicast subscriber config info ME的用户端口支持不受限的组播接入。该受管实体可视为无限制而不是允许。
该受管实体的实例与MAC bridge port configuration data ME或802.1p mapper service profile ME实例关联。
Managed Entity Instance: 0x0401
受管实体ID:该属性为受管实体的每个实例提供唯一的编码。通过使用相同的ID,该受管实体隐含链接到MAC bridge port configuration data ME或802.1p mapper ME。
Attribute List
01: ME type (00),ME类型:该属性指示了受管实体ID属性隐含链接的ME类型。
——0:MAC bridge port configuration data;
——1:802.1p mapper service profile。
02: Multicast operations profile pointer (0401),
组播操作描述文件指针:该属性指向multicast operations profile ME的一个实例。
03: Max simultaneous groups (0000),
同时发生的最大组:该属性规定了某一时刻可复制到客户端端口的最大动态组播组数。缺省值0表示无限制。
04: Max multicast bandwidth (002dc6c0),
最大组播带宽:该属性规定了某一时刻可传输到客户端端口的最大输入动态带宽,单位为字节/秒。缺省值0表示无限制。
05: Bandwidth enforcement (01),
带宽执行:该布尔属性缺省值为false,表示超过最大组播带宽的企图被记录并执行。值true表示上述企图被记录且拒绝。输入带宽值从动态接入控制列表中提取,包括新加入请求组和预先存在的组。

Extended VLAN tagging operation configuration data(0x0401,set)
Message Type = Set
Managed Entity Class: Extended VLAN tagging operation configuration data (00ab)
Managed Entity Instance: 0x0401
06: Received frame VLAN tagging operation table (f8000000e8005000c00f0000000f8002),单层标签帧的缺省处理规则;接收帧VLAN标记操作表:该属性是对上行帧进行过滤和标记操作的表。每个表项表示一条标记规则,包括过滤部分(前7个域)和处理部分(后7个域)。每个到达的上行帧按顺序逐条匹配每个规则。匹配的第一个规则作为激活规则,按照这条规则对帧进行处理。
06: Received frame VLAN tagging operation table (e8005000e8000000c00f0000000f8003),双层标签帧的缺省处理规则;
06: Received frame VLAN tagging operation table (f8000000f6825000c00f0000000f6822),无标签帧的缺省处理规则;

Multicast Subscriber Monitor(0x0401,create)
Managed Entity Class: Multicast Subscriber Monitor (0137)
该受管实体提供与组播业务相关的各端口当前状态。它可用于状态监控或诊断目的。状态表包括当前端口订阅的所有组,包括动态和静态的。
Message Type: Create (4)
Managed Entity Instance: 0x0401
受管实体ID:该属性为受管实体的每个实例提供唯一的编码。通过使用相同的ID,该受管实体隐含链接到MAC bridge port configuration data ME或802.1p mapper ME。
01: ME type (00),ME类型:该属性指示了受管实体ID属性隐含链接的ME类型。
——0:MAC bridge port configuration data;
——1:802.1p mapper service profile。

T-CONT(0x8000,set)
Message Type: Set (8)
Managed Entity Class: T-CONT (0106)
该受管实体的实例表示和PLOAM层Alloc-ID相关的逻辑连接组。T-CONT可以承载GEM层优先级队列或流量调度器中的GEM帧。
Managed Entity Instance: 0x8000
受管实体ID:该属性为受管实体的每个实例提供了唯一编号。这个2字节的编号同实现T-CONT的物理能力相关联。它表示为0xSSBB。其中SS表示包含该T-CONT的槽位ID(0表示ONT是一个整体)。BB是ONT给该T-CONT分配的编号。T-CONT按升序编号,每个槽位均在0..255的范围内取值。
01: Alloc-id (0118),
Alloc-id:该属性把OLT通过Assign_AllocID PLOAM消息所分配的Alloc-id关联到T-CONT。该属性值的范围为0x0000~0x0FFF。在OLT通过OMCI通道设置该属性值之前,该属性的缺省值是0x00FF。

Priority queue-G(0x8000,set)
Message Type: Set (8)
Managed Entity Class: Priority queue-G (0115)
该受管实体表示GEM端口网络CTP使用的优先级队列。如果N个优先级队列处在ONT或线路卡或ONT内核中,ONT会在创建电路组或T-CONT受管实体后,自动创建N个优先级队列-G受管实体的实例。上行方向,优先级队列-G受管实体同T-CONT受管实体相关。在创建T-CONT受管实体的实例后,将会自动创建优先级队列-G受管实体的实例。
Managed Entity Instance: 0x8000,
受管实体ID:该属性为受管实体的每个实例提供唯一的编号。最高有效位表示方向(0b1:上行,0b0:下行)。15个最低有效位表示列队ID。队列ID由ONT按照升序进行编号。在ONT中,下行列队ID的
取值范围是 0~0x7FFF,而上行列队ID的取值范围是0x8000~0xFFFF。
07: Traffic Scheduler-G Pointer (8001)
流量调度-G指针:该属性指向与本优先级队列关联的流量调度-G 受管实体实例。在自动创建实例后,该属性为零(0)。该指针用在当该优先级队列与某个流量调度连接时的时候使用。其缺省值是 0。
08: Weight (02)
权重:该属性表示WRR权重。由流量调度-G的指针属性或相关端口属性指示的流量调度或T-CONT(其策略是WRR)都使用这种权重。 在创建实例后,该属性设置了其值为0x01。

同系列文章
【OMCI实践】ONT上线过程的omci消息(一)-CSDN博客
【OMCI实践】ONT上线过程的omci消息(二)-CSDN博客
【OMCI实践】ONT上线过程的omci消息(三)-CSDN博客
【OMCI实践】ONT上线过程的omci消息(四)-CSDN博客
【OMCI实践】ONT上线过程的omci消息(五)-CSDN博客
原创不易,你的支持是我最大的动力,欢迎大家点赞,收藏,关注!
相关文章:
【OMCI实践】ONT上线过程的omci消息(六)
引言 在前四篇文章中,主要介绍了ONT上线过程的OMCI交互的第一、二、三个阶段omci消息,本篇介绍第四个阶段,OLT下发配置到ONT。前三个阶段,每个厂商OLT和ONT都遵循相同标准,OMCI的交换过程大同小异。但第四个阶段&…...
C语言(13)------------>do-while循环
1.do-while循环的语法 我们知道C语言有三大结构,顺序、选择、循环。我们可以使用while循环、for循环、do-while循环实现循环结构。之前的博客中提及到了前两者的技术实现。可以参考: C语言(11)------------->while循…...
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票 作者:某七年数据开发工程师 | 2025年02月23日 关键词:SQL窗口函数、连续问题、股票分析、腾讯面试题 一、问题背景与难点拆解 在股票量化分析场景中,"连续N天满足条件"是高频面试题类型。本题要求在单表stoc…...
HybridCLR+Adressable+Springboot热更
本文章会手把手教大家如何搭建HybridCLRAdressableSpringboot热更。 创作不易,动动发财的小手点个赞。 安装华佗 首先我们按照官网的快速上手指南搭建一个简易的项目: 快速上手 | HybridCLR 注意在热更的代码里添加程序集。把用到的工具放到程序集里…...
电脑连接示波器显示波形
通过网线连接示波器和电脑,将示波器波形显示在电脑上直接复制图片至报告中,以下是配置步骤。 一、设备 网线,Tektronix示波器,电脑 二、使用步骤 1.用网线连接电脑和示波器 2.电脑关掉WiFi,查看IPv4网关地址…...
监听其他音频播放时暂停正在播放的音频
要实现当有其他音频播放时暂停当前音频,你可以使用全局事件总线或 Vuex 来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。 首先,你需要创建一个事件总线。你可以在项目的一个公共文件中创建它,例如 eventBus.js…...
小熊猫C++安装EasyX最新教程
1.下载EasyX 官网下载: EasyX 官网https://easyx.cn/ 2.将下载文件改格式解压 注意:下载文件为.exe格式,需将其格式改成.zip格式! 如何改格式? a.若文件名字未显示.exe (1).打开此电脑 (2).点击上端的查看 (…...
安装VM和Centos
安装VM 一、打开虚拟机 二、选择典型 三、选择光盘 四、指定虚拟机位置 五、设置磁盘大小并拆分为多个文件 六、完成 安装Centos 一、上述过程完成后我们直接打开虚拟机 二、语言选择中文 三、默认安装位置并点击完成 四、点击开始安装 五、点击设置密码 设置完密码后点击完成…...
git 命令 设置别名
在Git中,您可以通过以下命令查看所有的alias(别名): git config --get-regexp alias 这个命令会列出所有配置的alias,例如: alias.st.status alias.co.checkout alias.br.branch ... 如果您想查看某个特定a…...
React + TypeScript 全栈开发最佳实践
React TypeScript 全栈开发最佳实践 一、环境搭建与项目初始化 node.js和npm的安装请参考我的文章。 1.1 脚手架选择与工程创建 # 使用Vite 5.x创建ReactTS项目(2025年主流方案) npx create-vitelatest my-app --template react-ts cd my-app npm in…...
springboot志同道合交友网站设计与实现(代码+数据库+LW)
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本志同道合交友网站就是在这样的大环境下诞生,其可以帮助使用者在短时间内处理完毕庞大的数据信…...
防火墙双机热备---VRRP,VGMP,HRP(超详细)
双机热备技术-----VRRP,VGMP,HRP三个组成 注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向 防火墙双机热备: 1.主备备份模式 双机热备最大的特点就是防火墙提供了一条专门的备份通道(心…...
MQTT实现智能家居------4、在Linux上运行MQTT
进入主目录,创建一个MQTT文件夹 cd ~ mkdir MQTT 用FileZilla连接开发板,将我发布的压缩包解压以后放进MQTT 安装cmake sudo apt-get install cmake g编译 & 运行 echo sudo apt-get update >> build.sh #向build.sh文件写入内容 chmod…...
VMware建立linux虚拟机
本文适用于初学者,帮助初学者学习如何创建虚拟机,了解在创建过程中各个选项的含义。 环境如下: CentOS版本: CentOS 7.9(2009) 软件: VMware Workstation 17 Pro 17.5.0 build-22583795 1.配…...
大模型文集开篇稿
2023年,我国AI大模型行业规模已达到147亿元人民币(前瞻产业研究院 数据)。AI大模型的行业应用及技术进步能有效提升各行业生产要素的产出效率并提高了数据要素在生产要素组合中的地位。供给方面,当前AI大模型企业主要通过深化通用…...
python pickle模块
pickle 是 Python 的一个标准模块,它实现了基本的二进制协议,用于对象的序列化和反序列化。序列化是指将对象转换为字节流的过程,这样对象就可以被保存到文件中或通过网络传输。反序列化是指将字节流转换回对象的过程。 使用 pickle 序列化对…...
第16届蓝桥杯模拟赛3 python组个人题解
第16届蓝桥杯模拟赛3 python组 思路和答案不保证正确 1.填空 如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。 请问, 2024 的最大的质因数是多少? 因为是填空题,所以直接枚举2023~2 &am…...
企业知识管理战略整合新路径
跨部门知识协同机制 现代企业知识管理的核心挑战在于突破组织孤岛效应,跨部门知识协同机制的构建需依托结构化流程与智能化工具的融合。通过建立标准化知识元数据体系,企业可实现文档分类、版本控制及权限管理的统一规范,其中Baklib作为云端…...
GO 快速升级Go版本
由于底层依赖升级了,那我们也要跟着升,go老版本已经不足满足需求了,必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …...
RBAC授权
4 RBAC授权 4.1 什么是RBAC 在Kubernetes中,所有资源对象都是通过API进行操作,他们保存在etcd里。而对etcd的操作我们需要通过访问kube-apiserver来实现,上面的Service Account其实就是APIServer的认证过程,而授权的机制是通过RBA…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
