什么是QoS?为什么GPON需要QoS?
QoS(Quality of Service,服务质量) 是一种网络控制机制,它通过为不同类型的流量提供不同的优先级,来确保关键应用的服务质量,从而避免网络拥塞带来的性能下降。

在GPON网络中,OLT(光线路终端)和多个ONU(光网络单元)共享一个PON(无源光网络)光纤链路,这个链路的总带宽是固定的(下行2.488 Gbps,上行1.244 Gbps),当多个ONU(每个ONU下又可能有多个用户)同时有数据要发送时,必然会存在带宽竞争。
如果没有QoS机制,所有的流量(如视频会议、网络游戏、网页浏览、邮件下载)都会“一视同仁”地竞争带宽,这会导致:
- 关键业务延迟:视频会议会卡顿,游戏会掉线。
- 网络拥塞:一个用户的大文件下载会拖慢整个网络的速度。
- 体验不可控:运营商无法向客户提供差异化的服务等级。
GPON必须具备强大的QoS能力,以实现对不同业务流量的精细化管理和带宽保障。
什么是层次化QoS?
层次化QoS 是一种将QoS策略进行分级、分层实施的模型,在GPON中,这个模型清晰地反映了网络的结构和业务流量的流向。

想象一个公司的组织架构:CEO -> 部门总监 -> 项目经理 -> 员工。 层次化QoS也类似,它从上到下,逐级分配带宽和优先级,确保上级的决策能被下级严格执行。
GPON的层次化QoS模型主要分为两个核心层次:
-
OLT(光线路终端)级别:OLT QoS
- 这是最高级别的QoS,负责管理整个PON口的总带宽,并将带宽和QoS策略分配给其下的每一个ONU。
- OLT是“总指挥”,它决定了每个ONU能分到多少“蛋糕”(带宽),以及这个“蛋糕”里哪些部分是“高级食材”(高优先级)。
-
ONU(光网络单元)级别:ONU QoS
(图片来源网络,侵删)- 这是次级QoS,每个ONU独立管理自己分到的带宽,并将其进一步分配给连接在其下的各个终端用户(如电脑、手机、IPTV机顶盒)。
- ONU是“部门经理”,它从OLT那里拿到资源后,再根据自己部门内部(各个用户)的需求进行二次分配。
通过这种分层结构,QoS策略既能宏观调控整个PON口的负载,又能微观控制每个用户的业务体验,实现了端到端的精细化管理。
GPON层次化QoS的关键技术机制
GPON层次化QoS的实现依赖于一系列标准化的技术机制,这些机制在G.984协议族中有详细定义。
A. OLT QoS 机制(对ONU的调度)
OLT对ONU的调度是GPON QoS的核心,主要通过以下机制实现:
动态带宽分配
DBA是GPON的灵魂,它不是一个静态的、固定的带宽分配方案,而是动态的、按需分配的,OLT会周期性地(通过GEM Port-ID字段)轮询每个ONU,询问它们是否有数据需要发送以及需要多少带宽。
-
工作流程:
- OLT发送一个“授权”(Grant)消息给某个ONU,允许它在特定的时间窗口内发送数据。
- ONU收到授权后,将自己的上行数据(包含来自多个用户的数据)发送到OLT。
- OLT分析ONU的流量报告,了解其内部各业务的带宽需求。
- OLT根据预设的QoS策略(如优先级、承诺带宽),结合当前PON口的剩余带宽,计算出下一次授权的大小和起始时间,并下发给ONU。
-
关键作用:实现了带宽的公平、高效利用,并保证了高优先级业务的低延迟。
T-CONT (Transmission Container - 传输容器)
T-CONT是OLT进行DBA调度的基本单位。每个ONU可以拥有一个或多个T-CONT,OLT通过为不同的T-CONT分配不同的授权,来实现对不同业务的差异化服务。
一个T-CONT定义了一组具有相同QoS特性的GEM Port(GPON的封装容器),根据业务类型的不同,T-CONT分为五种类型:
| T-CONT类型 | 业务类型 | DBA授权类型 | 特点 |
|---|---|---|---|
| Type 1 | 主动授权 | 固定带宽 | 保证恒定速率,用于对抖动和延迟极度敏感的业务,如T1/E1专线、语音。 |
| Type 2 | 断续授权 | 保证带宽 | 保证最小带宽,但允许在有空闲带宽时抢占,用于视频会议等。 |
| Type 3 | 断续授权 | 非保证带宽 | 没有带宽保证,尽力而为,用于网页浏览、邮件等Best-Effort业务。 |
| Type 4 | 断续授权 | 混合授权 | 结合了Type 2和Type 3,既有保证带宽,也有非保证带宽部分。 |
| Type 5 | 非请求授权 | 尽力而为 | OLT不主动授权,ONU有数据就发,竞争带宽,用于突发性小的业务。 |
QoS Profile(QoS模板)
OLT可以为每个T-CONT配置一个QoS Profile,这个模板定义了该T-CONT的QoS行为,包括:
- 业务优先级:通常用8位的优先级字段(在GEM帧头中)来标识,值越小,优先级越高。
- 承诺信息速率:保证分配的最小带宽。
- 最大信息速率:允许使用的最大带宽,用于流量整形,防止流量突发影响其他业务。
- 最大突发尺寸:允许一次性发送的最大数据量。
通过为不同的业务(如语音、视频、数据)分配不同类型的T-CONT和不同的QoS Profile,OLT就能实现复杂的带宽策略。
B. ONU QoS 机制(对用户的调度)
ONU作为OLT的“下属”,其QoS机制相对简单,但同样重要,它主要负责将OLT分配给自己的带宽,公平地分配给其下的多个用户。
- 实现方式:ONU内部通常使用队列调度算法,如严格优先级队列 或加权轮询队列。
- 工作流程:
- ONU从OLT那里获得一个总的上行授权。
- ONU内部会将来自不同用户(或不同服务)的数据包放入不同的队列中,为IPTV业务创建一个高优先级队列,为上网业务创建一个低优先级队列。
- 在发送数据时,ONU的调度器会按照预设的优先级规则(如SPQ)从队列中取包发送,高优先级队列的数据会被优先发送,从而保证其低延迟。
层次化QOS的完整工作流程举例
让我们通过一个“用户观看IPTV同时下载文件”的场景来理解整个流程:
- 用户侧:用户的机顶盒产生IPTV流量,电脑产生下载流量,这些流量通过ONU的以太网口进入。
- ONU QoS:
- ONU识别出IPTV流量,将其打上高优先级标签(如802.1p优先级为5),放入“高优先级队列”。
- 下载流量被打上低优先级标签(如802.1p优先级为0),放入“低优先级队列”。
- ONU内部的调度器准备将这两个队列的数据封装到GEM帧中,准备上传。
- OLT QoS (DBA & T-CONT):
- OLT通过DBA轮询该ONU。
- ONU向OLT报告:“我有一个高优先级的IPTV业务需要100Mbps,一个低优先级的下载业务希望有50Mbps。”
- OLT检查QoS策略:
- 为IPTV业务分配一个 Type 2 T-CONT,并设置其CIR为100Mbps,QoS Profile中优先级最高。
- 为下载业务分配一个 Type 3 T-CONT,设置其MIR为50Mbps,优先级较低。
- OLT计算出授权,下发给ONU:“你可以在接下来的时间片内,先发送你的高优先级队列数据(最多100Mbps),然后可以发送低优先级队列数据(最多50Mbps)。”
- 数据传输:
ONU严格按照OLT的授权和优先级顺序发送数据,IPTV数据包被优先发送,几乎没有延迟和抖动。
