第 1 页 共 24 页 MPCP 协议详细介绍 1 MPCP帧结构 MPCP 定义了5 种消息,称之为MPCP DATA UNITs, GATE、REPORT、REGISTER_RQ、REGISTER、REGISTER_ACK,他们用于 OLT 和ONU 之间的信息交换。所有的 MPCPDU 为64 字节的 MAC 控制帧,包括以下域: 1、 DA(目的地址),6 个字节域,所有的 MPCPDU 都使用一个共同的多播 MAC 目的地址,其值为:01-80-C2-00-00-01,但是 REGISTER 报文除外,其使用 ONU 的实际 MAC 地址。 2、 SA(源地址),在 OLT 中,对应一个 GMII 接口有多个 MAC 实例,因此不同的 MAC发出的数据都必须携带其对应的 SA。 3、 类型域值为8808 4、 Opcode区分MAC控制帧类型。0001为PAUSE帧,0002为GATE帧,0003 为REPORT帧,0004 为REGISTER_REQ 帧,0005 为REGISTER 帧,0006 为REGISTER_ACK帧。 5、 TIMESTAMP,时标;用于同步 OLT 与 ONU 的 MPCP CLOCK,其参考点为DA 的首字节。 6、 Opcode-specific field:用于传输特定的 MPCP 功能,不用的时候置 0; 7、 FCS,CRC32 第 2 页 共 24 页 1.1 REPORT帧 REPORT 帧是ONU 用来向OLT 上报本地队列状态的。 1.1.1 Qu eu e #n report 这个域的内容表示的不是实际的队列字节长度,其为传送这些字节需要的时间,这个时间还要考虑上前导码、帧间隔、FEC 检验域等时间。 1.1.2 Report bitmap Queue 有效指示,相应位为1 则表示此 QUEUE 域值有效,否则无效。总共对应 8 个队列。 第 3 页 共 24 页 1.1.3 Nu mber of Qu eu e Sets 由于OLT 分配给ONU 的时隙不会正好等于ONU 中的数据队列的发送时间,因此在时隙边界有可能会浪费部分的带宽(不能传送被切断的以太网帧),所以802.3ah 工作组进入了多个qu eu e sets,每个qu eu e set 都表示从队列开始的队列指示,但是分别指示了不同的长度,如果OLT 分配的时隙中无法发送整个队列的话,则可以选择其中一种qu eu e set 来作为给ONU 分配时隙的依据。简单而言,就是ONU 提供了本地队列长度的多个门限截至位置,这些位置可以给OLT 以更加灵活有效的带宽分配依据。 第 4 页 共 24 页 1.2 GATE 帧 1.2.1 Nu mber of Grants/flags Nu mber of Grants/Flag 域中的低3 比特(比特2~比特0)表示此GATE 中携带的窗口授权个数,最多不能超过4 个,其值从0 变化到4,当为0 时...