图3.10 ARQ进程中的确认帧
当源工作站在媒介中传输数据时,它要等待一个终端站发送的确认帧。未接收到或者是接收到错误数据而启动重传输程序,就叫做ARQ(自动重复请求)。
终端能够重新发送3种类型的确认帧:
1)ACK。终端正确地接收到帧中的数据信息,并且这些数据信息是正确的。
2)NACK。终端正确地接收到数据,但是其中一些数据被破坏。这项检查是由CRC(循环冗余校验)完成的。然后,终端发出请求,要求信号源重新发送被破坏的数据片段。
3)FAIL。数据没有发送到终端,或者是终端缓冲区已满,不能再接收和处理数据。
图3.10从时间的角度说明了HomePlug 1.0 PLC标准中各种类型的确认帧。通过允许信号源和终端之间的这种交换处理,大大提高了媒介接入的质量。
信号源和终端使用数据帧中的一块区域来鉴别那些将要回送至源工作站的响应帧,将这块区域定义为FCS(帧校验序列),用于检查终端接收到的数据的完整性。
同样的方法,终端工作站使用这块区域的一部分(RFCS区域,FCS响应)重发确认信息。源工作站通过对比发送的FCS和接收到的RFCS来获知数据是否被正确接收(见图3.11)。
图3.11 ARQ进程中利用FCS和RFCS进行帧校验
ACK响应
在ACK情形下,终端工作站重新发送一个包含源工作站传输的数据帧中的RFCS的响应帧给信号源。信号源利用这块区域获知数据是否被正确接收或者判断是否有影响数据传输的冲突发生。
图3.12描述了HomePlug 1.0标准中这种确认机制。(www.xing528.com)
图3.12 在HomePlug 1.0中应答式确认
NACK响应
在NACK中,为了指出在传输过程中数据被破坏,终端工作站会在竞争周期之后重发给信号源一个响应帧。反过来,信号源会重新发送一个NACK信息和重新传输被破坏的数据片段(见图3.13)。
图3.13 在HomePlug 1.0中非应答式确认
FAIL响应
FAIL响应表明,由于一个冲突或者是数据接收缓冲区的阻塞,终端不能使用接收到的数据帧。终端并不能预料它所能接收到的数据传输速率和所有接收到数据的存储情况。
在这一情形下,FAIL响应竞争期强制规定为10ms,如图3.14所示。
终端站记录了FAIL状态出现在片段中的次数。如果这个值超过了给定的门限值,那么终端站就会要求信号源从业务块第一片段重新发送服务模块。
HomePlug AV中的SACK响应
在HomePlug标准的AV版本中,新加入了一个响应,即SACK(选择性ACK)。因为事实上,就有用的吞吐量而言,两工作站之间的PLC链路不一定是对称的。由于电力网络的特性,数据传输在各个方向上的影响是不一样的。SACK响应被PLC网络的中心设备即CCo用于管理整个链路,换言之就是CCo管理网络中PLC工作站之间的各种链路,以及分配TDMA媒介接入技术帧结构中的传输时间。
图3.14 在HomePlug 1.0中失败响应
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。