用光纤收发器可以将Ethernet的传输距离延伸到100公里以上,但是在长距离的传输过程中由于误码的原因,可能导致以太网交换机设备的“死机”。
在对FHC0110-XX光纤收发器的系统设计中,针对这一问题,根据我们对故障原因的分析及理解,提出一套解决方案可以最大限度地减少交换机“死机”现象。
一、 故障原因分析:
如图1-1所示为数据传输过程及差错控制点。
A点的有效数据发出后,在路途中的两个光纤收发器中不作差错校验,只有数据帧到达B点的交换核心时才做差错校验,将错误帧丢弃,而正确帧进入BUFFER,等待转发。但是,所有的差错校验过程都是一个程序控制过程,当某些特定的错误帧进入时,无论是帧长度检测还是CRC检验都不能查出错误,这种帧也被认为是正确帧进入BUFFER,但这类帧永远无法转发出去,进而在BUFFER中造成堆积,当BUFFER的占用量大到一定程度时,导致交换机无法继续运行。
二、FHC0110-XX的解决方案:
判断BUFFER中的数据堆积是由于交通捅塞造成的、错误帧造成的,还是其它原因造成的,因此对于一个复杂系统无法用简单的手段处理。但是,对于光纤收发器因为它只有两个端口,如果可以实现交换机的上述检测功能,又出现了BUFFER堆积的问题时,我们可以简单了判断为光纤收发器的状态不正常,因而可以将它Reset。
针对这一理解,解决方案就是在FHC0110-XX系列光纤收发器中内置以太网交换核心及一个大BUFFER,使其具有差错校验功能(当然,这样设计还具有其它的功能,在此不多述),同时在系统的设计中加入自动Reset功能,当系统判定自身进入严重故障状态时,自动进行Reset,从而最大限度地避免上位系统的故障可能。
如图2-1指示了FHC0110-XX的工作过程。FHC0110-XX完成数据链路层的全部功能,对数据做帧级的差错校验及处理,同时FHC0110-XX具有2KMAC地址表,只有当一个数据帧具有确实存在的MAC地址,可以正确转发时,才将该帧发出,否则只能堆积在自身的BUFFER中,如果收发器也出现BUFFER大量堆积时,它认为自身状态严重故障,实施Reset动作,清除所有BUFFER中的数据,这样导致的结果是部分传输的数据丢失,但可以避免网络设备“死机"。
在使用FHC0110-XX的系统环境中,只有当段的双绞线出现大量误码时,才可能导致交换机B的“死机”现象,而由光路上来的误码已由FHC0110-XX处理,有效地提高交换机的端口及整机交换效率,降低“死机”的风险。