测距技术
测距的原因是因为上行链路只有一条光纤,每一个ONU到OLT的距离是不一样的,却使有TDMA技术,但是也极有可能在同一时刻到达分光器,所以为了避免冲突,我们需要提前测量出每一个ONU到OLT的往返时延,然后给ONU进行时延补偿,让它们逻辑上到达OLT的距离的一校的,这个时候再各自在自己的时隙上发送数据,就不会出现冲突。
如图,没有测距的时候,大家可能在同一时刻到达分光器,数据会有重叠的情况,但是有了测距之后,我们就可以避免冲突。测距的方式包括带内开窗法、带外法、扩频法,那么我们本章的话介绍一下带内开窗法。
测距方法(开窗法)
通过带内开窗法,我们就可以计算出RTT值,也就是往返时延,那么这个值是怎么得出来的,它主要依靠的是MPCP消息中的本地时间戳,通过时间戳我们就可以计算出ONU到OLT的RTT值,那么具体过程如下,包含了OLT平面和ONU平面,同要通过OLT发现GATA帧的时间和REPORT的时间,就可以计算向ONU到OLT的往返时延,我们看一下具体的过程。
比如说现在OLT在T1时刻发出GATE帧到ONU,ONU到到这个帧之后,它就公把自己的时间戳也改为T1,当然这个肯定不是OLT的时间,OLT的时间可以已经是Tn了,我们就不管,紧接着ONU的话会在T2时候发送REPORT消息,到达OLT,OLT收到报文的时候,自己本地时间就变成T3,但它收到的报文的时间是T2,OLT在拿到了这三个时间之后,那么这是如何计算出RTT值的?那么其实结果就是T3减T1的值再去差T2减T1的值就等于RTT值,这个值就是OLT从发送到接收到该报文花费的时间,也就是T3差T1,减去ONU内部消耗的时间,也就是T2减T1,这两个值一减,就得到了往返时延,最终的结果就是T3减T2。往返时延计算出来之后,我们再给不同的ONU增加不同的均衡时延,实现数据的同步,这样的话就可以避免冲突,ONU在注册的时候就会启动测距过程,另外为了避免ONU注册冲突,还会采用一个随机延迟时间法。