IEEE802.3ah协议学习(3)——MPCP多点控制协议

本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

 

http://www.ieee802.org/21/doctree/2006_Meeting_Docs/2006-11_meeting_docs/802.3ah-2004.pdf

 

64.3 Multi-Point Control Protocol (MPCP)

 

As depicted in Figure 64–3, the Multi-point MAC Control functional block comprises the following functions:

a) Discovery Processing. This block manages the discovery process, through which an ONU is discovered and registered with the network while compensating for RTT.

b) Report Processing. This block manages the generation and collection of report messages, through which bandwidth requirements are sent upstream from the ONU to the OLT.

c) Gate Processing. This block manages the generation and collection of gate messages, through which multiplexing of multiple transmitters is achieved.

 

多点MAC控制功能模块包括以下功能:

a) 发现处理(Discovery Processing):该模块管理发现流程,通过该进程发现ONU 并使其注册到网络中,同时对其RTT 进行补偿。

b) 报告处理(Report Processing):该模块管理报告消息的产生和搜集,ONU 通过该模块在上行方向向OLT 发送带宽请求。

c) 选通处理(Gate Processing):该模块管理GATE 消息的产生和搜集,通过该模块实现多个发送端的复用。

 

As depicted in Figure 64–3, the layered system may instantiate multiple MAC entities, using a single physical layer. Each instantiated MAC communicates with an instance of the opcode specific functional blocks through the Multi-point MAC Control. In addition some global variables are shared across the multiple instances. Common state control is used to synchronize the multiple MACs using MPCP procedures. Operation of the common state control is generally considered outside the scope of this document.

如图64-3所示,分层的系统可以实例化多个MAC实体,而只使用一个物理层。每个实例化的MAC通过MPCP和与操作码(opcode)相关的功能模块的实例进行通信。此外,多个实例共享一些全局变量。通过MPCP使用公共状态控制来同步多个MAC。有关公共状态控制的操作不在本标准规范的范围内。

 

64.3.1 Principles of Multi-Point Control Protocol

 

Multi-point MAC Control enables a MAC Client to participate in a point-to-multi-point optical network by allowing it to transmit and receive frames as if it was connected to a dedicated link. In doing so, it employs the following principles and concepts:

多点MAC控制通过控制MAC客户端的接收和发送使其工作在点对多点光网络中,而对MAC客户端来说就好象连接到一个独享的链路上。为了达到此目的,多点MAC控制协议遵循以下原则:

 

a) A MAC client transmits and receives frames through the Multi-point MAC Control sublayer.

b) The Multi-point MAC Control decides when to allow a frame to be transmitted using the client interface Control Multiplexer.

c) Given a transmission opportunity, the MAC Control may generate control frames that would be transmitted in advance of the MAC Client’s frames, utilizing the inherent ability to provide higher priority transmission of MAC Control frames over MAC Client frames.

d) Multiple MACs operate on a shared medium by allowing only a single MAC to transmit upstream at any given time across the network using a time-division multiple access (TDMA) method.

e) Such gating of transmission is orchestrated through the Gate Processing function.

f) New devices are discovered in the network and allowed transmission through the Discovery Processing function.

g) Fine control of the network bandwidth distribution can be achieved using feedback mechanisms supported in the Report Processing function.

h) The operation of P2MP network is asymmetrical, with the OLT assuming the role of master, and the ONU assuming the role of slave.

 

a) MAC客户端通过多点MAC 控制子层发送和接收帧。

b) 多点MAC 控制决定何时允许客户端接口控制复用器发送一个帧。

c) 在某些情况下,当MAC 客户端发送帧时MAC 控制可能产生控制帧,并利用MAC 控制帧传送优先级高于MAC 客户帧的特性,优先发送MAC 控制帧。

d) 通过使用时分复用(TDMA)的方法,在任意给定时刻仅允许一个MAC 在网络中发送上行帧,使得多个MAC 可以在共享介质上操作。

e) 通过GATE 处理功能协调此类发送的GATE

f) 通过发现处理功能在网络中发现新设备并允许其发送数据。

g) 利用报告处理功能提供的反馈机制可以合理地控制网络带宽的分配。

h) P2MP 网络的操作是非对称的,其中OLT 为主设备,ONU 为从设备。

 

64.3.2 Compatibility considerations

 

64.3.2.1 PAUSE operation

 

Even though MPCP is compatible with flow control, optional use of flow control may not be efficient in the case of large propagation delay. If flow control is implemented, then the timing constraints in Clause 31B supplement the constraints found at 64.3.2.4.

虽然MPCP和流量控制兼容,但是在传输时延很大的情况下可选的流量控制使用效率不高。

 

NOTE—MAC at an ONU can receive frames from unicast channel and single-copy-broadcast (SCB) channel. If the SCB channel is used to broadcast data frames to multiple ONUs, the ONU’s MAC may continue receiving data frames from SCB channel even after the ONU has issued a PAUSE request to its unicast remote-end.

注意:ONU端的MAC可以接收来自单播信道和单拷贝广播(SCB)信道的帧。如果SCB信道用于向多个ONU广播数据帧,那么即使ONU已向它的单播远端发出了PAUSE请求,ONUMAC仍然可以继续从SCB信道接收数据帧。

 

64.3.2.2 Optional Shared LAN Emulation

 

By combining P2PE, suitable filtering rules at the ONU, and suitable filtering and forwarding rules at the OLT, it is possible to emulate an efficient shared LAN. Support for shared LAN emulation is optional, and requires an additional layer above the MAC, which is out of scope for this document. Thus, shared LAN emulation is introduced here for informational purposes only.

通过结合P2PEONU端的适当过滤规则以及OLT端的适当过滤转发规则,可以仿真一个有效的共享LAN。共享LAN仿真的支持是可选的,它需要MAC层上额外的一层,这超出了本标准规定的范围。因此,这里的共享LAN仿真仅仅做为一般性说明。

 

Specific behaviour of the filtering layer at the RS is specified in 65.1.3.3.2.

 

64.3.2.3 Multicast and single copy broadcast support

 

In the downstream direction, the PON is a broadcast medium. In order to make use of this capability for forwarding broadcast frames from the OLT to multiple recipients without multiple duplication for each ONU, the single-copy broadcast (SCB) support is introduced.

在下行方向,PON是一种广播介质。为利用PON的这一能力,使OLTONU发送广播帧时不对每个ONU都拷贝该帧,因此引入单拷贝广播(SCB)支持。

 

The OLT has at least one MAC associated with every ONU. In addition one more MAC at the OLT is marked as the SCB MAC. The SCB MAC handles all downstream broadcast traffic, but is never used in the upstream direction for client traffic, except for client registration. Optional higher layers may be implemented to perform selective broadcast of frames. Such layers may require additional MACs (multicast MACs) to be instantiated in the OLT for some or all ONUs increasing the total number of MACs beyond the number of ONUs + 1.

OLT针对每个ONU至少有一个MAC与之对应。此外,OLT还有一个标记为SCBMACSCBMAC处理所有下行广播业务,但是不能用于上行方向的业务流(客户注册除外)。组播功能可通过可选的上层功能实现。这些层可能需要在OLT中进行为某些或者所有的ONU实例化额外的MAC(组播MAC),从而使MAC的总数超过(ONU+1)个。

 

When connecting the SCB MAC to an 802.1D bridge port it is possible that loops may be formed due to the broadcast nature. Thus it is recommended that this MAC not be connected to an 802.1D bridge port.

当把SCB MAC连接到802.1D桥接端口时,由于广播自身特点从而有可能形成回路。因此建议不把SCB MAC连接到802.1D桥接端口。

SCB channel configuration as well as filtering and marking of frames for support of SCB is defined in 65.1.3.3.2.

65.1.3.3.2节定义了SCB通道配置以及用于SCB支持的帧过滤和标记。

 

64.3.2.4 Delay requirements

 

The MPCP protocol relies on strict timing based on distribution of timestamps. A compliant implementation needs to guarantee a constant delay through the MAC and PHY in order to maintain the correctness of the timestamping mechanism. The actual delay is implementation dependent, however, a complying implementation shall maintain a delay variation of no more than 16 bit times through the implemented MAC stack.

MPCP协议依赖于严格定时,这是通过分发时间戳来实现。为了维护时间戳机制的正确性,相应的实现必须保证从MACPHY的时延不变。实际的时延大小取决于实现方式。但是,遵循规范的实现应该使所实现的MAC栈时延维持在一定范围内,而该范围变化不超过16比特时间。

 

The OLT shall not grant less than 1024 time_quanta into the future, in order to allow the ONU processing time when it receives a gate message. The ONU shall process all messages in less than this period. The OLT shall not issue more than one message every 1024 time_quanta to a single ONU. The unit of time_quantum is defined as 16 ns.

为了使得ONU在接收到GATE消息后有足够的处理时间,OLT不能发布起点时刻早于当前时刻加上1024个时间量子(time_quantum)的授权。ONU应该用小于这个时间段的时间来处理所有的消息。OLT不应该以大于每1024个时间量子(time_quantum)一个消息的速度向一个ONU发布消息。时间量子(time_quantum)的单位是16ns

 

64.3.3 Discovery Processing

 

Discovery is the process whereby newly connected or off-line ONUs are provided access to the PON. The process is driven by the OLT, which periodically makes available Discovery Time Windows during which off-line ONU’s are given the opportunity to make themselves known to the OLT. The periodicity of these windows is unspecified and left up to the implementer. The OLT signifies that a discovery period is occurring by broadcasting a discovery gate message, which includes the starting time and length of the discovery window. Off-line ONUs, upon receiving this message, wait for the period to begin and then transmit a REGISTER_REQ message to the OLT. Discovery windows are unique in that they are the only times where multiple ONUs can access the PON simultaneously, and transmission overlap can occur. In order to reduce transmission overlaps, a contention algorithm is used by all ONUs. Measures are taken to reduce the probability for overlaps by artificially simulating a random distribution of distances from the OLT. Each ONU shall wait a random amount of time before transmitting the REGISTER_REQ message that is shorter than the length of the discovery time window. It should be noted that multiple valid REGISTER_REQ messages can be received by the OLT during a single discovery time period. Included in the REGISTER_REQ message is the ONU’s MAC address and number of maximum pending grants. Upon receipt of a valid REGISTER_REQ message, the OLT registers the ONU, allocating and assigning new port identities (LLIDs), and bonding corresponding MACs to the LLIDs.

发现是指新连接或者非在线的ONU接入PON的进程。该进程由OLT发起,它周期性地产生合法的发现时间窗口(Discovery Time Windows),使OLT有机会检测到非在线的ONU。发现时间窗口的周期没有定义,由厂商决定。OLT通过广播一个发现GATE消息来通知ONU发现窗口的周期。发现GATE消息包含发现窗口的开始时间和长度,非在线ONU接收到该消息后将等待该周期的开始,然后向OLT发送REGISTER_REQ消息。发现窗口是唯一有多个ONU同时访问PON的窗口,因此这些发送可能发生冲突。为了减少发送冲突,所有的ONU应使用同一种竞争算法。通过模拟ONUOLT距离的随机分布等措施可以减少冲突发生的概率。每个ONU在发送REGISTER_REQ消息前应等待一段随机大小的时间,该时间段小于发现时间窗口的长度。值得注意的是在一个发现时间周期内OLT可能会接收到多个有效的REGISTER_REQ消息。REGISTER_REQ消息中包括ONUMAC地址以及最大等待授权(Pending Grant)的数目。OLT接收到有效的REGISTER_REQ消息后,将注册该ONU,分配和指定新端口的标识(LLID),并将相应的MACLLID绑定。

 

The next step in the process is for the OLT to transmit a Register message to the newly discovered ONU, which contains the ONU’s LLID, and the OLT’s required synchronization time. Also, the OLT echoes the maximum number of pending grants. The OLT now has enough information to schedule the ONU for access to the PON and transmits a standard GATE message allowing the ONU to transmit a REGISTER_ACK. Upon receipt of the REGISTER_ACK, the discovery process for that ONU is complete, the ONU is registered and normal message traffic can begin. It is the responsibility of Layer Management to perform the MAC bonding, and start transmission from/to the newly registered ONU. The discovery message exchange is illustrated in Figure 64–14.

发现进程的下一步是OLT向新发现的ONU发送注册(Register)消息,该消息包含ONULLID以及OLT要求的同步时间。同时,OLT还应对ONU最大等待授权的数目进行响应。此时OLT已经有足够的信息用于调度ONU 访问PON 并发送标准的GATE 消息允许ONU 发送REGISTER_ACK。当接收到REGISTER_ACK,该ONU的发现进程完成,该ONU注册成功并且可以开始发送正常的消息流。层管理(Layer Management)负责执行MAC绑定并开始对新注册的ONU进行发送和接收。图64-14给出了发现消息的交换过程,图64-15、图64-16和图64-17分别给出了发现处理服务接口(OLT广播实例)、发现处理服务接口(OLT单播实例)和发现处理服务接口(ONU)。

 

There may exist situations when the OLT requires that an ONU go through the discovery sequence again and reregister. Similarly, there may be situations where an ONU needs to inform the OLT of its desire to deregister. The ONU can then reregister by going through the discovery sequence. For the OLT, the REGISTER message may indicate a value, Reregister or Deregister, that if either is specified will force the receiving ONU into reregistering. For the ONU, the REGISTER_REQ message contains the Deregister bit that signifies to the OLT that this ONU should be deregistered.

OLT可以要求ONU重新执行发现进程并重新注册。同样,ONU也可以通知OLT请求注销,然后通过发现进程进行重注册。OLTREGISTER消息可以设置一个值来指示重注册(Reregister)或注销(Deregister),如果规定了上述的任一种,则将强制接收到该消息的ONU进行重注册。对于ONUREGISTER_ACK消息可包含注销位,该比特通知OLT应注销本ONU

  

64.3.3.1 Constants

 

No constants defined.

 

64.3.3.2 Variables

 

BEGIN

This variable is defined in 64.2.2.3.

 

data_rx

This variable is defined in 64.2.2.3.

 

data_tx

This variable is defined in 64.2.2.3.

 

grantEndTime

This variable holds the time at which the OLT expects the ONU grant to complete. Failure of a REGISTER_ACK message from an ONU to arrive at the OLT before grantEndTime is a fatal error in the discovery process, and causes registration to fail for the specified ONU, who may then retry to register. The value of grantEndTime is measured in units of time_quantum.

TYPE: 32-bit unsigned

该变量表示OLT期望ONU授权完成的时刻。在发现进程中,如果ONUREGISTER_ACK消息不能在grantEndTime前到达OLT,则这个致命错误将导致指定的ONU注册失败,该ONU可在以后重新注册。GrantEndTime的单位是时间量子(time_quantum)。类型:32比特无符号数

 

insideDiscoveryWindow

This variable holds the current status of the discovery window. It is set to true when the discovery window opens, and is set to false when the discovery window closes.

TYPE: Boolean

该变量表示发现窗口的当前状态。当发现窗口打开时,该值为true,当发现窗口关闭时,该值为false

 

localTime

This variable is defined in 64.2.2.2.

 

opcode_rx

This variable is defined in 64.2.2.3.

 

opcode_tx

This variable is defined in 64.2.2.3.

 

pendingGrants

This variable holds the maximum number of pending grants that an ONU is able to queue.

TYPE: 16 bit unsigned

 

registered

This variable holds the current result of the Discovery Process. It is set to true once the discovery process is complete and registration is acknowledged.

TYPE: Boolean

该变量表示发现进程的当前结果。一旦发现进程完成并且确认注册完成,该值为true

syncTime

This variable holds the time required to stabilize the receiver at the OLT. It counts time_quanta units from the point where transmission output is stable to the point where synchronization has been achieved. The value of syncTime includes laser on time (Ton), gain adjustment interval (Treceiver_settling), clock synchronization interval (Tcdr), and codegroup alignment interval (Tcode_group_align), as specified in 60.7.13.2. The OLT conveys the value of syncTime to ONUs in Discovery GATE and REGISTER messages. During the synchronization time only IDLE patterns can be transmitted by an ONU.

TYPE: 16 bit unsigned

该变量表示稳定OLT端接收机所需的时间。它从发送输出稳定时刻开始计时,直到获得同步时刻为止,以时间量子(time_quantum)为单位计数。syncTime的值包括激光开启时间(Ton)、增益调整时间(Treceiver_settling)、时钟同步时间(Tcdr)以及码组对齐时间(Tcode_group_align)OLTsyncTime的值通过发现GATE和注册消息传给ONU。在同步期间,ONU只能发送IDLE

 

timestampDrift

This variable is defined in 64.2.2.3.

 

64.3.3.3 Functions

 

ReceiveFrame(DA, SA, Length/Type, data)

This function is defined in 64.2.2.4.

 

TransmitFrame(DA, SA, Length/Type, data)

This function is defined in 64.2.2.4.

 

64.3.3.4 Timers

 

discovery_window_size_timer

This timer is used to wait for the event signalling the end of the discovery window.

VALUE: The timer value is set dynamically based on the parameters received in a DISCOVERY GATE message.

该定时器用于标识发现窗口终止的事件。

该定时器的值是根据接收到的发现选通(DISCOVERY GATE)消息中的参数而动态设定的。

 

mpcp_timer

This timer is used to measure the arrival rate of MPCP frames in the link. Failure to receive frames is considered a fatal fault and leads to deregistration.

该定时器用于测量链路中MPCP帧的到达速率。未能接收到帧将是致命错误并将导致注销。

 

64.3.3.5 Messages

 

MA_CONTROL.request(DA, GATE, discovery, start, length, discovery_length, sync_time)

The service primitive used by the MAC Control client at the OLT to initiate the Discovery Process. This primitive takes the following parameters:

DA: multicast or unicast MAC address.

GATE: opcode for GATE MPCPDU as defined in Table 31A–1.

discovery: flag specifying that the given GATE message is to be used for discovery only.

start: start time of the discovery window.

length: length of the grant given for discovery.

discovery_length: length of the discovery window process.

sync_time: the time interval required to stabilize the receiver at the OLT.

OLT端的MAC控制客户端使用该服务原语来发起发现进程。该原语使用如下参数:

DA 组播或单播MAC地址。

GATE 64- 1中定义的GATE MPCPDU操作码。

Discovery 该标志表示指定的GATE消息仅用于发现。

start 发现窗口的开始时刻。

length 用于发现的授权的长度。

discovery_length:发现窗口进程的长度。

sync_time OLT端用于稳定接收机所需的时间间隔。

 

MA_CONTROL.request(DA, GATE, grant_number, start[4], length[4], force_report[4])

This service primitive is used by the MAC Control client at the OLT to issue the GATE message to an ONU. This primitive takes the following parameters:

DA: unicast MAC address.

GATE: opcode for GATE MPCPDU as defined in Table 31A–1.

grant_number: number of grants issued with this GATE message. The number of grants ranges from 0 to 4.

start[4]: start times of the individual grants. Only the first grant_number elements of the array are used.

length[4]: lengths of the individual grants. Only the first grant_number elements of the array are used.

force_report[4]: flags indicating whether a REPORT message should be generated in the corresponding grant. Only the first grant_number elements of the array are used.

OLT端的MAC控制客户端使用该服务原语向ONU发布GATE消息。该原语使用如下参数:

DA 单播MAC地址。

GATE 64-1中定义的GATE MPCPDU操作码。

grant_number GATE消息一起发布的授权的个数。授权个数从04

start[4] 各个授权的开始时刻。目前只使用数组中第1grant_number元素。

length[4] 各个授权的长度。目前只使用数组中第1grant_number元素。

force_report[4] 标识是否在相应的授权中产生REPORT消息,只使用数组中第1grant_number元素。

 

MA_CONTROL.request(DA, REGISTER_REQ, status)

The service primitive used by a client at the ONU to request the Discovery Process to perform a registration. This primitive takes the following parameters:

DA: multicast MAC Control address as defined in Annex 31B.

REGISTER_REQ: opcode for REGISTER_REQ MPCPDU as defined in Table 31A–1.

status: This parameter takes on the indication supplied by the flags field in the REGISTER_REQ MPCPDU as defined in Table 64–3.

 

MA_CONTROL.indication(REGISTER_REQ, status, flags, pending_grants, RTT)

The service primitive issued by the Discovery Process to notify the client and Layer Management that the registration process is in progress. This primitive takes the following parameters:

REGISTER_REQ: opcode for REGISTER_REQ MPCPDU as defined in Table 31A–1.

status: This parameter holds the values incoming or retry. Value incoming is used at the OLT to signal that a REGISTER_REQ message was received successfully. The value retry is used at the ONU to signal to the client that a registration attempt failed and will be repeated.

flags: This parameter holds the contents of the flags field in the REGISTER_REQ message. This parameter holds a valid value only when the primitive is generated by the Discovery Process is in the OLT.

pending_grants: This parameters holds the contents of the pending_grants field in the REGISTER_REQ message. This parameter holds a valid value only when the primitive is generated by the Discovery Process in the OLT.

RTT: The measured round trip time to/from the ONU is returned in this parameter. RTT is stated in time_quanta units. This parameter holds a valid value only when the primitive is generated by the Discovery Process in the OLT.

 

MA_CONTROL.request(DA, REGISTER, LLID, status, pending_grants)

The service primitive used by the MAC Control client at the OLT to initiate acceptance of an ONU. This primitive takes the following parameters:

DA: multicast MAC Control address as defined in Annex 31B.

REGISTER: opcode for REGISTER MPCPDU as defined in Table 31A–1.

LLID: This parameter holds the logical link identification number assigned by the MAC Control client.

status: This parameter takes on the indication supplied by the flags field in the REGISTER MPCPDU as defined in Table 64–4.

pending_grants: This parameters echoes back the pending_grants field that was previously received in the REGISTER_REQ message.

 

MA_CONTROL.indication(REGISTER, SA, LLID, status)

This service primitive is issued by the Discovery Process at the OLT or an ONU to notify the MAC Control client and Layer Management of the result of the change in registration status. This primitive takes the following parameters:

REGISTER: opcode for REGISTER MPCPDU as defined in Table 31A–1.

SA: This parameter represents is the MAC address of the OLT.

LLID: This parameter holds the logical link identification number assigned by the MAC Control client.

Status: This parameter holds the value of accepted/denied/deregistered/reregistered.

 

MA_CONTROL.request(DA, REGISTER_ACK, status)

This service primitive is issued by the MAC Control clients at the ONU and the OLT to acknowledge the registration. This primitive takes the following parameters:

DA: multicast MAC Control address as defined in Annex 31B.

REGISTER_ACK: opcode for REGISTER_ACK MPCPDU as defined in Table 31A–1.

status: This parameter takes on the indication supplied by the flags field in the REGISTER MPCPDU as defined in Table 64–5.

 

MA_CONTROL.indication(REGISTER_ACK, SA, LLID, status, RTT)

This service primitive is issued by the Discovery Process at the OLT to notify the client and Layer Management that the registration process has completed. This primitive takes the following parameters:

REGISTER_ACK: opcode for REGISTER_ACK MPCPDU as defined in Table 31A–1.

SA: This parameter represents the MAC address of the reciprocating device (ONU address at the OLT, and OLT

address at the ONU).

LLID This parameter holds the logical link identification number assigned by the MAC Control client.

status This parameter holds the value of accepted/denied/reset/deregistered.

RTT The measured round trip time to/from the ONU is returned in this parameter. RTT is stated in time_quanta units. This parameter holds a valid value only when the invoking Discovery Process is in the OLT.

 

Opcode-specific function(opcode)

Functions exported from opcode specific blocks that are invoked on the arrival of a MAC Control message of the appropriate opcode.

 

64.3.3.6 State Diagram

 

Discovery process in the OLT shall implement the discovery window setup state diagram shown in Figure 64–18, request processing state diagram as shown in Figure 64–19, register processing state diagram as shown in Figure 64–20, and final registration state diagram as shown in Figure 64–21. The discovery process in the ONU shall implement registration state diagram as shown in Figure 64–22.

 

Instantiation of state machines as described in Figure 64–18, Figure 64–19, and Figure 64–20 is performed only at the Multi-point MAC Control instance attached to the broadcast LLID. Instantiation of state machines as described in Figure 64–21 and Figure 64–22 is performed for every Multi-point MAC Control instance, except the instance attached to the broadcast channel.

 

  

64.3.4 Report Processing

 

The Report Processing functional block has the responsibility of dealing with queue report generation and termination in the network. Reports are generated by higher layers and passed to the MAC Control sublayer by the MAC Control clients. Status reports are used to signal bandwidth needs as well as for arming the OLT watchdog timer.

报告处理功能模块负责处理网络中的队列状态报告的产生和终结。上层产生报告并由MAC控制客户端传递给MAC控制子层。状态报告用于上报带宽的需求,也可用来为OLT安装看门狗定时器(watchdog Timer)。

 

Reports shall be generated periodically, even when no request for bandwidth is being made. This keeps a watchdog timer in the OLT from expiring and deregistering the ONU. For proper operation of this mechanism the OLT shall grant the ONU periodically.

即使没有带宽请求,也应该周期性的产生报告,这将保证OLT的看门狗定时器不会因超时注销ONU。为了保证该机制正常运转,OLT将周期性地向ONU授权。

 

The Report Processing functional block, and its MPCP protocol elements are designed for use in conjunction with an 802.1P capable bridge.

报告处理功能模块以及MPCP协议设计为可与IEEE 802.1P桥协同使用。

 

  

64.3.4.1 Constants

 

mpcp_timeout

This constant represents the maximum allowed interval of time between two MPCPDU messages. Failure to receive at least one frame within this interval is considered a fatal fault and leads to deregistration.

TYPE 32-bit unsigned

VALUE 03-B9-AC-A0 (1 second)

 

report_timeout

This constant represents the maximum allowed interval of time between two REPORT messages generated by the ONU.

TYPE 32-bit unsigned

VALUE 00-2F-AF-08 (50 milliseconds)

 

64.3.4.2 Variables

 

BEGIN

This variable is used when initiating operation of the functional block state machine. It is set to true following initialization and every reset.

TYPE: Boolean

 

data_rx

This variable is defined in 64.2.2.3.

 

data_tx

This variable is defined in 64.2.2.3.

 

opcode_rx

This variable is defined in 64.2.2.3.

 

opcode_tx

This variable is defined in 64.2.2.3.

 

registered

This variable is defined in 64.3.3.2.

 

64.3.4.3 Functions

 

TransmitFrame(DA, SA, Length/Type, data)

This function is defined in 64.2.2.4.

 

64.3.4.4 Timers

 

report_periodic_timer

ONUs are required to generate REPORT MPCPDUs with a periodicity of less than report_timeout value. This timer counts down time remaining before a forced generation of a REPORT message in an ONU.

 

mpcp_timer

This timer is defined in 64.3.3.4.

 

64.3.4.5 Messages

 

MA_CONTROL.request(DA, REPORT, report_number, report_list)

This service primitive is used by a MAC Control client to request the Report Process at the ONU to transmit a queue status report. This primitive may be called at variable intervals, independently of the granting process, in order to reflect the time varying aspect of the network. This primitive uses the following parameters:

DA: multicast MAC Control address as defined in Annex 31B.

REPORT: opcode for REPORT MPCPDU as defined in Table 31A–1.

report_number: the number of queue status report sets located in report list. The report_number value ranges from 0 to a maximum of 13.

report_list: the list of queue status reports. A queue status report consists of two fields: valid and status. The parameter valid, is a boolean array with length of 8, ‘0’ or false indicates that the corresponding status field is not present (the length of status field is 0), while ‘1’ or true indicates that the corresponding status field is present (the length of status field is 2 octets). The index of the array is meant to reflect the same numbered priority queue in the 802.1P nomenclature.

The parameter status is an array of 16-bit unsigned integer values. This array consists only of entries whose corresponding bit in filed valid is set to true.

MAC控制客户端使用该服务原语请求ONU端的报告进程发送队列状态报告。为了反映网络的实时变化,可独立于授权进程并在任意间隔内调用该原语。该原语使用如下参数:

report_list 队列状态报告列表。队列状态报告包括两个域:validstatus。参数valid是长度为8的布尔型数组,‘0’‘false’表示不存在相应的状态位(状态域的长度为0),‘1’‘ture’表示存在相应的状态域(状态域的长度是28位字节)。数组的索引和IEEE 802.1P命名规则中的优先级队列的编号一致。参数status16比特无符号整型数组,该数组仅包含valid域中相应比特为ture的条目。

 

MA_CONTROL.indication(REPORT, RTT, report_number, report_list)

The service primitive issued by the Report Process at the OLT to notify the MAC Control client and higher layers the queue status of the MPCP link partner. This primitive may be called multiple times, in order to reflect the time-varying aspect of the network. This primitive uses the following parameters:

REPORT: opcode for REPORT MPCPDU as defined in Table 31A–1.

RTT: this parameter holds an updated round trip time value which is recalculated following each REPORT message reception.

report_number: the number of queue status report sets located in report list. The report_number value ranges from 0 to a maximum of 13.

report_list: the list of queue status reports. A queue status report consists of two fields: valid and status. The parameter valid, is a boolean array with length of 8, ‘0’ or false indicates that the corresponding status field is not present (the length of status field is 0), while ‘1’ or true indicates that the corresponding status field is present (the length of status field is 2 octets). The index of the array is meant to reflect the same numbered priority queue in the 802.1P nomenclature.

The parameter status is an array of 16-bit unsigned integer values. This array consists only of entries whose corresponding bit in filed valid is set to true.

 

Opcode-specific function(opcode)

Functions exported from opcode specific blocks that are invoked on the arrival of a MAC Control message of the appropriate opcode.

 

64.3.4.6 State Diagram

 

The report process in the OLT shall implement the report processing state diagram as shown in Figure 64–23. The report process in the ONU shall implement the report processing state diagram as shown in Figure 64–24. Instantiation of state machines as described is performed for Multi-point MAC Control instances attached to unicast LLIDs only.

 

 

 

 

64.3.5 Gate Processing

 

A key concept pervasive in Multi-point MAC Control is the ability to arbitrate a single transmitter out of a plurality of ONUs. The OLT controls an ONU’s transmission by the assigning of grants.

多点MAC控制的关键是它能够对多个ONU进行仲裁并选出一个发送器。OLT通过分配授权来控制ONU的发送。

 

The transmitting window of an ONU is indicated in GATE message where start time and length are specified. An ONU will begin transmission when its localTime counter matches start_time value indicated in the GATE message. An ONU will conclude its transmission with sufficient margin to ensure that the laser is turned off before the grant length interval has elapsed.

GATE消息指示ONU的发送窗口,包括窗口的开始时间和长度。当ONUlocalTime计数器和GATE消息中的start_time相同时,ONU开始发送。ONU将给结束发送留有足够的余量,从而保证在授权长度间隔用完前关闭激光器。

 

Multiple outstanding grants may be issued to each ONU. The OLT shall not issue more than the maximal supported maximal outstanding grants as advertised by the ONU during registration (see pending grants in 64.3.6.3).

可以向一个ONU发送多个授权。OLT发送授权数目不应多于ONU注册进程中声明支持的最大授权个数。

 

In order to maintain the watchdog timer at the ONU, grants are periodically generated. For this purpose empty GATE messages may be issued periodically.

为了维护ONU端的看门狗定时器,OLT将周期性地产生授权。因此也会定期发送空的GATE消息。

 

When registered, the ONU ignores all gate messages where the discovery flag is set.

在注册的时候,ONU将忽略所有已设置发现标志的GATE消息。

 

 

64.3.5.1 Constants

 

discoveryGrantLength

This constant represents the duration of ONU’s transmission during discovery attempt. The value of discoveryGrantLength includes MPCPDU transmission time and tailGuard as defined in 64.2.2.1. discoveryGrantLength is represented in units of time_quanta.

TYPE: 32 bit unsigned

VALUE: 00-00-00-26 (608 ns)

 

gate_timeout

This constant represents the maximum allowed interval of time between two GATE messages generated by the OLT to the same ONU.

TYPE 32-bit unsigned

VALUE 00-2F-AF-08 (50 milliseconds)

 

laserOffTime

This constant holds the time required to terminate the laser. It counts in time_quanta units the time period required for turning off the PMD, as specified in 60.7.13.1.

TYPE: 32 bit unsigned

VALUE: 00-00-00-20 (512 ns)

 

laserOnTime

This constant holds the time required to initiate the PMD. It counts in time_quanta units the time period required for turning on the PMD, as specified in 60.7.13.1.

TYPE: 32 bit unsigned

VALUE: 00-00-00-20 (512 ns)

 

max_future_grant_time

This constant holds the time limiting the future time horizon for a valid incoming grant.

TYPE: 32 bit unsigned

VALUE: 03-B9-AC-A0 (1 second)

 

min_processing_time

This constant is the time required for the ONU processing time.

TYPE: 32 bit unsigned

VALUE: 00-00-04-00 (16.384 us)

 

tqSize

This constant is defined in 64.2.2.1.

 

64.3.5.2 Variables

 

BEGIN

This variable is used when initiating operation of the functional block state machine. It is set to true following initialization and every reset.

TYPE: Boolean

 

counter

This variable is used as a loop iterator counting the number of incoming grants in a GATE message.

TYPE: integer

 

currentGrant

This variable is used for local storage of a pending grant state during processing. It is dynamically set by the Gate Processing functional block and is not exposed. The state is a structure field composed of multiple subfields.

TYPE: structure {

DA 48 bit unsigned, a.k.a MAC address type

start 32 bit unsigned

length 16 bit unsigned

force_report boolean

discovery boolean}

 

data_rx

This variable is defined in 64.2.2.3.

 

data_tx

This variable is defined in 64.2.2.3.

 

effectiveLength

This variable is used for temporary storage of a normalized net time value. It holds the net effective length of a grant normalized for elapsed time, and compensated for the periods required to turn the laser on and off, and waiting for receiver lock.

TYPE: 32 bit unsigned

 

fecEnabled

This variable is defined in 64.2.2.3.

 

grantList

This variable is used for storage of the list of pending grants. It is dynamically set by the Gate Processing functional block and is not exposed. Each time a grant is received it is added to the list.

The list elements are structure fields composed of multiple subfields.

The list is indexed by the start subfield in each element for quick searches.

TYPE: list of elements having the structure define in currentGrant

 

insideDiscoveryWindow

This variable is defined in 64.3.3.2.

 

maxDelay

This variable holds the maximum delay that can be applied by an ONU before sending the REGISTER MPCPDU. This delay is calculated such that the ONU would have sufficient time to transmit the REGISTER message and its associated overhead (FEC parity date, endof-frame sequence, etc.) and terminate the laser before the end of the discovery grant.

TYPE 16 bit unsigned

 

nextGrant

This variable is used for local storage of a pending grant state during processing. It is dynamically set by the Gate Processing functional block and is not exposed. The content of the variable is the next grant to become active.

TYPE: element having same structure as defined in currentGrant

 

nextStopTime

This variable holds the value of the localTime counter corresponding to the end of the next grant.

TYPE: 32 bit unsigned

 

registered

This variable is defined in 64.3.3.2.

 

stopTime

This variable is defined in 64.2.2.3.

syncTime

This variable is defined in 64.3.3.2.

 

transmitAllowed

This variable is defined in 64.2.2.3.

 

64.3.5.3 Functions

 

empty(list)

This function is use to check whether the list is empty. When there are no elements queued in the list, the function returns true. Otherwise, a value of false is returned.

 

InsertInOrder(sorted_list, inserted_element)

This function is used to queue an element inside a sorted list. The queueing order is sorted. In the condition that the list is full the element may be discarded. The length of the list is dynamic and it's maximal size equals the value advertised during registration as maximum number of pending grants.

 

IsBroadcast(grant)

This function is used to check whether its argument represents a broadcast grant, i.e., grant given to multiple ONUs. This is determined by the destination MAC address of the corresponding GATE message. The function returns the value true when MAC address is a global assigned MAC Control address as defined in Annex 31B, and false otherwise.

 

PeekHead(sorted_list)

This function is used to check the content of a sorted list. It returns the element at the head of the list without dequeuing the element.

 

Random(r)

This function is used to compute a random integer number uniformly distributed between 0 and r. The randomly generated number is then returned by the function.

 

RemoveHead(sorted_list)

This function is used to dequeue an element from the head of a sorted list. The return value of the function is the dequeued element.

 

TransmitFrame(DA, SA, Length/Type, data)

This function is defined in 64.2.2.4.

 

64.3.5.4 Timers

 

gntStTmr

This timer is used to wait for the event signalling the start of a grant window.

VALUE: The timer value is dynamically set according to the signaled grant start time.

 

gntWinTmr

This timer is used to wait for the event signalling the end of a grant window.

VALUE: The timer value is dynamically set according to the signaled grant length.

 

gate_periodic_timer

The OLT is required to generate GATE MPCPDUs with a periodicity of less than gate_timeout value. This timer counts down time remaining before a forced generation of a GATE message in the OLT.

 

mpcp_timer

This timer is defined in 64.3.3.4.

 

rndDlyTmr

This timer is used to measure a random delay inside the discovery window. The purpose of the delay is to apriori reduce the probability of transmission overlap during the registration process, and thus lowering the expectancy of registration time in the PON.

VALUE: A random value less than the net discovery window size less the REGISTER_REQ MPCPDU frame size less the idle period and laser turn on and off delays less the preamble size less the IFG size. The timer value is set dynamically based on the parameters passed from the client.

 

64.3.5.5 Messages

 

MA_CONTROL.request(DA, GATE, grant_number, start[4], length[4], force_report[4])

This service primitive is defined in 64.3.3.5.

 

MA_CONTROL.indication(GATE, start, length, force_report, discovery, status)

This service primitive issued by the Gate Process at the ONU to notify the MAC Control client and higher layers that a grant is pending. This primitive is invoked multiple times when a single GATE message arrives with multiple grants. It is also generated at the start and end of each grant as it becomes active. This primitive uses the following parameters:

GATE: opcode for GATE MPCPDU as defined in Table 31A–1.

start: start time of the grant. This parameter is not present when the status value is deactive.

length: length of the grant. This parameter is not present when the status value is deactive.

force_report: flags indicating whether a REPORT message should be transmitted in this grant. This parameter is not present when the status value is deactive.

discovery: This parameter holds the value true when the grant is to be used for the discovery process, and false otherwise. This parameter is not present when the status value is deactive.

status: This parameter takes the value arrive on grant reception, active when a grant becomes active, and deactive at the end of a grant.

 

Opcode-specific function(opcode)

Functions exported from opcode specific blocks that are invoked on the arrival of a MAC Control message of the appropriate opcode.

 

64.3.5.6 State Diagrams

 

The gating process in the OLT shall implement the gate processing state diagram as shown in Figure 64–26.The gating process in the ONU shall implement the gate processing state diagram as shown in Figure 64–27. Instantiation of state machines as described is performed for all Multi-Point MAC Control instances.

 

 

 

 

 

64.3.6 MPCPDU structure and encoding

 

MPCP PDU (MPCPDU) are basic IEEE 802.3 frames; they shall not be tagged (see Clause 3). The MPCPDU structure is shown in Figure 64–30, and is further defined in the following definitions:

MPCP PDU(MPCPDU)为基本的IEEE 802.3帧,这些帧不应该加上标记。MPCPDU结构如图64-30所示,详细的定义如下:

 

a) Destination Address (DA). The DA in MPCPDU is the MAC Control Multicast address as specified in the annexes to Clause 31, or the individual MAC address associated with the port to which the MPCPDU is destined.

a) 目的地址(DA)MPCPDU 中的DA MAC 控制组播地址,或者是MPCPDU 的目的端口关联的单独MAC 地址。

b) Source Address (SA). The SA in MPCPDU is the individual MAC address associated with the port through which the MPCPDU is transmitted. For MPCPDUs originating at the OLT end, this can be the address any of the individual MACs. These MACs may all share a single unicast address, as explained in 64.1.2.

b) 源地址(SA)MPCPDU 中的SA 是和发送MPCPDU 的端口相关联的单独的MAC 地址。对于源于OLT 端的MPCPDU,源地址可以是任意一个单独MAC 的地址。如B.1.3 节的规定,所有这些MAC 可以共享一个单一的单播地址。

 

c) Length/Type. MPCPDUs are always Type encoded, and carry the MAC_Control_Type field value as specified in 31.4.1.3.

c) Length/TypeMPCPDU 都进行类型编码,并且承载MAC_Control_Type 域值。

 

d) Opcode. The opcode identifies the specific MPCPDU being encapsulated. Values are defined in Table 31A–1.

d) Opcode:操作码指示所封装的特定MPCPDU。值的定义在表64-1中。

 

e) Timestamp. The timestamp field conveys the content of the localTime register at the time of transmission of the MPCPDUs. This field is 32 bits long, and counts 16 bit transmissions. The timestamp counts time in 16 bit time granularity.

e) Timestamp:在MPCPDU 发送时刻,时间戳域传递localTime 寄存器中的内容。该域长度为32 比特,对16 比特发送进行计数。时间戳计时步进值为16 比特。

 

f) Data/Reserved/PAD. These 40 octets are used for the payload of the MPCPDUs. When not used they would be filled with zeros on transmission, and be ignored on reception.

f) Data/Reserved/PAD:这40 个八位字节用于MPCPDU 的有效载荷。当不使用这些字节时,在发送时填充为0,并在接收时忽略。

 

g) FCS. This field is the Frame Check Sequence, typically generated by the underlying MAC. Based on the MAC instance used to generate the specific MPCPDU, the appropriate LLID shall be generated by the RS.

g) FCS:该域为帧校验序列,一般由下层MAC 产生。

 

 

 

64.3.6.1 GATE description

 

The purpose of GATE message is to grant transmission windows to ONUs for both discovery messages and normal transmission. Up to four grants can be included in a single GATE message. The number of grants can also be set to zero for using the GATE message as an MPCP keep alive from OLT to the ONU. The GATE MPCPDU is an instantiation of the Generic MPCPDU, and is further defined using the following definitions:

GATE消息的目的在于给ONU分配发送窗口,使得ONU可以进行发现消息的发送以及正常的数据发送。一个GATE消息可包括4个授权。为了将GATE消息作为MPCP从而使得OLTONU保持激活状态,授权的个数可以被设置为0GATE MPCPDU是通用MPCPDU的一个实例,如图64-31所示,进一步定义如下:

a) Opcode. The opcode for the GATE MPCPDU is 00-02.

a) OpcodeGATE MPCPDU 的操作码是00-02

 

b) Flags. This is an 8 bit flag register that holds the following flags: The Number of grants field contains the number of grants, composed of valid Length, Start Time pairs in this MPCPDU. This is a number between 0 and 4. Note: when Number of grants is set to 0, sole purpose of message is conveying of timestamp to ONU.

The Discovery flag field indicates that the signaled grants would be used for the discovery process, in which case a single grant shall be issued in the gate message.

The Force Report flag fields ask the ONU to issue a REPORT message related to the corresponding grant number at the corresponding transmission opportunity indicated in this GATE.

b) Flag:由一个8 比特标志(Flag)寄存器保存下列标志,如表64-1所述。Number of grants标志域包含授权的个数,授权由有效长度以及该MPCPDU 中的开始时间组成。个数介于04 之间。注意:当Number of grants 设为0 时,那么该消息的唯一目的就是向ONU 传递时间戳。Discovery 标志域表明被标记的授权将用于发现进程,在这种情况下GATE 消息将发布一个单一的授权。Force Report 标志域请求ONU 发布REPORT 消息,而该消息和GATE中标明的相应发送机会的授权序号对应。

 

c) Grant #n Length. Length of the signaled grant, this is an 16 bit unsigned field. The length is counted in 16 bit time increments. There are 4 Grants that are possibly packed into the GATE MPCPDU. The laserOnTime, syncTime, and laserOffTime are included in and thus consume part of Grant #n Length.

c) Grant #n Length。被标记的授权的长度,该域为16 比特无符号数。长度以16 比特时间计数。在GATE MPCPDU 中有可能封装4 个授权。长度包含laserOnTimesyncTime 以及laserOffTime,因此它们占用了Grant #n Length 的一部分。

 

d) Grant #n Start Time. Start time of the grant, this is an 32 bit unsigned field. The start time is compared to the local clock, to correlate the start of the grant. Transmitted values shall satisfy the condition Grant #n Start Time < Grant #n+1 Start Time for consecutive grants within the same GATE MPCPDU.

d) Grant #n Start Time。授权的开始时刻,为32 比特无符号域。将开始时刻和本地时钟比较,从而校正授权的开始时刻。在同一个GATE MPCPDU 中连续的两个授权的发送值应该满足条件Grant #n Start Time<Grant #n+1 Start Time

 

e) Sync Time. This is an unsigned 16 bit value signifying the required synchronization time of the OLT receiver. During the synchronization time the ONU shall send IDLE code-pairs. The value is counted in 16 bit time increments. The advertised value includes synchronization requirement on all receiver elements including PMD, PMA and PCS. This field is present only when the gate is a discovery gate, as signaled by the Discovery flag and is not present otherwise.

e) Sync Time。该值为16 比特无符号数,表示OLT 接收器同步所需的时间。在同步期间,ONU将发送IDLE 码字对。该值以16 比特时间为单位递增计数。给出的值包括所有接收器同步所需的时间,而这些接收器包括PMDPMAPCS。仅当该GATE 为发现GATE 时,该域才存在,否则该域不存在。是否为发现GATE Discovery 标志标识。

 

Pad/Reserved. This is an empty field that is transmitted as zeros, and ignored on reception when constructing a complying MPCP protocol implementation. The size of this field depends on the used Grant #n Length/Start Time entry-pairs, and varies in length from 13 – 39 accordingly. The GATE MPCPDU shall be generated by a MAC Control instance mapped to an active ONU, and as such shall be marked with a unicast type of LLID, except when the discovery flag is set where the MAC Control instance is mapped to all ONUs and such frame is marked by the broadcast LLID.

Pad/Reserved。当构建遵循规范的MPCP 协议实现时,该域是一个以比特0 填充的空域,在接收的时候被忽略掉。该域的大小取决于Grant #n Length Start Time,因此长度大小介于13 39 之间。 GATE MPCPDU应由激活ONUMAC控制实体产生,该MPCPDU应被标记为LLID的单播类型。而当ONUMAC控制实体设置了Discovery flag,该MPCPDU应被标记为广播LLID

  

64.3.6.2 REPORT description

 

REPORT messages have several functionalities. Time stamp in each REPORT message is used for round trip (RTT) calculation. In the REPORT messages ONUs indicate the upstream bandwidth needs they request per 802.1Q priority queue. REPORT messages are also used as keep-alives from ONU to OLT. ONUs issue REPORT messages periodically in order to maintain link health at the OLT as defined in 64.3.4. In addition, the OLT may specifically request a REPORT message.

报告(REPORT)消息有几个功能。每个报告消息中的时间戳用于计算RTTONU在每个报告消息中指明针对每个802.1Q优先级队列所需的上行带宽。同时报告消息用于保持ONUOLT的激活状态。为了保持OLT端的链路如B.3.4 节所规定,ONU将周期性地发布报告消息。此外OLT可以明确的请求一个报告消息。

 

The REPORT MPCPDU is an instantiation of the Generic MPCPDU, and is further defined using the following definitions:

报告MPCPDU是通用MPCPDU的一个实例,如图64-32所示,具体定义如下:

 

a) Opcode. The opcode for the REPORT MPCPDU is 00-03.

a) 操作码(Opcode)。报告MPCPDU 的操作码是00-03

 

b) Number of Queue Sets. This field specifies the number of requests in the REPORT message. A REPORT frame may hold multiple sets of Report bitmap and Queue #n as specified in the Number of Queue Sets field

b) 队列的数量(Number of Queue Sets)。该域具体说明报告消息中请求队列的个数。报告帧可以包括Number of Queue Sets 域中声明的第n 个队列(Queue #n)和报告位图(Report bitmap)组成的多个集合。

 

c) Report bitmap. This is an 8 bit flag register that indicates which queues are represented in this REPORT MPCPDU.

c) 报告位图(Report bitmap)。这是一个8 比特标志寄存器,指明哪些队列在ReportMPCPDU 中,如表64-2所示。

 

 

 

d) Queue #n Report. This value represents the length of queue# n at time of REPORT message generation. The reported length shall be adjusted to account for the necessary inter-frame spacing and FEC parity data overhead, if FEC is enabled. The Queue #n Report field is an unsigned 16 bit integer representing transmission request in units of time quanta. This field is present only when the corresponding flag in the Report bitmap is set.

d) Queue #n Report。该值表示在报告消息产生时刻队列n 的长度。根据必要的帧间隔以及FEC(如果FEC 使能)校验数据开销可适当调整该长度。该域为16 比特无符号整数,以时间量子(time_quantum)为单位。仅当报告位图的相应标志设置时,该域才有效。

 

e) Pad/Reserved. This is an empty field that is transmitted as zeros, and ignored on reception when constructing a complying MPCP protocol implementation. The size of this field depends on the used Queue Report entries, and accordingly varies in length from 0 to 39.

e) Pad/Reserved。当构建遵循规范的MPCP 协议实现时,这是一个比特0 填充的空域,并且在接收的时候忽略掉。该域的大小取决于已使用的队列报告的条目数,因此长度大小介于0 39 之间。REPORT MPCPDU由某个激活的ONUMAC控制实体产生。该MPCPDU被标记为单播类型的LLID

 

The REPORT MPCPDU shall be generated by a MAC Control instance mapped to an active ONU, and as such shall be marked with a unicast type of LLID.

 

 

 

64.3.6.3 .REGISTER_REQ description

 

The REGISTER_REQ MPCPDU is an instantiation of the Generic MPCPDU, and is further defined using the following definitions:

REGISTER_REQ MPCPDU是通用MPCPDU的一个实例,如图64-33所示,具体定义如下:

 

a) Opcode. The opcode for the REGISTER_REQ MPCPDU is 00-04.

a) Opcode。报告REGISTER_REQ 的操作码是00-04

 

b) Flags. This is an 8 bit flag register that indicates special requirements for the registration

b) Flags。这是一个8 比特的标志寄存器,用以说明注册的具体要求,如表64-3所示。

 

 

 

 

c) Pending grants. This is an unsigned 8 bit value signifying the maximum number of future grants the ONU is configured to buffer. The OLT should not grant the ONU more than this maximum number of Pending grants vectors comprised of {start, length, force_report, discovery} into the future.

c) Pending grants。这是一个8 比特无符号值,表明ONU 被配置成可以缓存即将到达授权的最大数目。OLT 不应该将多于该数目的授权赋予ONU。等待授权的向量为{start,length,force_report,discovery}

 

d) Pad/Reserved. This is an empty field that is transmitted as zeros, and ignored on reception when constructing a complying MPCP protocol implementation.

d) Pad/Reserved。当构建遵循规范的MPCP 协议实现时,这是一个以比特0 填充的空域,并且在接收的时候被忽略掉。

 

The REGISTER_REQ MPCPDU shall be generated by a MAC Control instance mapped to an undiscovered ONU, and as such shall be marked with a broadcast type of LLID.

REGISTER_REQ MPCPDU由某个未发现ONUMAC控制实体产生。该MPCPDU被标记为广播类型的LLID

 

 

 

64.3.6.4 REGISTER description

 

The REGISTER MPCPDU is an instantiation of the Generic MPCPDU, and is further defined using the following definitions:

a) DA. The destination address used shall be an individual MAC address.

b) Opcode. The opcode for the REGISTER MPCPDU is 00-05.

c) Assigned Port. This field holds a 16 bit unsigned value reflecting the LLID of the port assigned following registration.

d) Flags. this is an 8 bit flag register that indicates special requirements for the registration.

e) Sync Time. This is an unsigned 16 bit value signifying the required synchronization time of the OLT receiver. During the synchronization time the ONU transmits only IDLE code-pairs. The value is counted in 16 bit time increments. The advertised value includes synchronization requirement on all receiver elements including PMD, PMA and PCS.

f) Echoed pending grants. This is an unsigned 8 bit value signifying the number of future grants the ONU may buffer before activating. The OLT should not grant the ONU more than this number of grants into the future.

g) Pad/Reserved. This is an empty field that is transmitted as zeros, and ignored on reception when constructing a complying MPCP protocol implementation.

The REGISTER MPCPDU shall be generated by a MAC Control instance mapped to all ONUs and such frame is marked by the broadcast LLID.

 

 

 

REGISTER MPCPDU是通用MPCPDU的一个实例,如图64-34所示,具体定义如下:

a) DA。目的地址应该是单独的MAC 地址。

b) Opcode。用于REGISTER MPCPDU 的操作码是00-05

c) Assigned Port。该域为16 比特无符号的值,它反映注册后指配端口的LLID

d) Flags。这是一个8 比特的标志寄存器,表示注册的特定需求,如表64-4所示。

e) Sync Time。该域为16 比特无符号数,表明OLT 接收器同步所需的时间。在同步期间ONU 仅发送IDLE 码字对,16 比特时间增量对该值进行计数。给出的值包括所有接收器的同步要求,其中包括PMDPMA 以及PCS

f) Echoed pending grants。该域为8 比特无符号数,表明ONU 在激活前可以缓存的即将到达授权的个数。OLT 不赋予ONU 多于该个数的授权。

g) Pad/Reserved。当构建遵循规范的MPCP 协议实现时,这是一个以比特0 填充的空域,并且在接收的时候被忽略掉。

REGISTER MPCPDU由对应于所有ONUMAC控制实体产生,并被标记为广播LLID

 

 

 

64.3.6.5 REGISTER_ACK description

 

The REGISTER_ACK MPCPDU is an instantiation of the Generic MPCPDU, and is further defined using the following definitions:

a) Opcode. The opcode for the REGISTER_ACK MPCPDU is 00-06.

b) Flags. this is an 8 bit flag register that indicates special requirements for the registration.Echoed assigned port. This field holds a 16 bit unsigned value reflecting the LLID of the port assigned following registration.

c) Echoed Sync Time. This is an unsigned 16 bit value echoing the required synchronization time of the OLT receiver as previously advertised (see 64.3.6.4).

d) Pad/Reserved. This is an empty field that is transmitted as zeros, and ignored at reception when constructing a complying MPCP protocol implementation.

The REGISTER_ACK MPCPDU shall be generated by a MAC Control instance mapped to an active ONU, and as such shall be marked with a unicast type of LLID.

 

 

 

REGISTER_ACK是通用MPCPDU的一个实例,如图64-35所示,具体定义如下:

a) Opcode。用于REGISTER_ACK MPCPDU 的操作码是00-06

b) Flags。这是一个8 比特的标志寄存器,声明注册的特定需求,如表64-5所示。

c) Echoed assigned port。该域为16 比特无符号数,它反映注册后指配端口的LLID

d) Echoed Sync Time。这是一个16 比特无符号数,响应先前所通告的OLT 接收器所需同步时间。

e) Pad/Reserved。当构建遵循规范的MPCP 协议实现时,这是一个以比特0 填充的空域,在接收的时候被忽略掉。

REGISTER_ACK MPCPDU由对应于某个激活的ONUMAC控制实体产生,该MPCPDU被标记为单播类型的LLID

 

http://www.ieee802.org/21/doctree/2006_Meeting_Docs/2006-11_meeting_docs/802.3ah-2004.pdf

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值