简介
本文档介绍转发纠错(FEC)的基础知识以及如何验证Catalyst 9000系列交换机上的功能。
先决条件
要求
Cisco 建议您了解以下主题:
背景信息
什么是FEC?
FEC是一种技术,用于在传输前通过附加冗余位和错误检查代码到消息块来检测并纠正比特流中的一定数量的错误。加法包含关于实际数据的足够信息,以使接收端的FEC解码器能够重构原始消息。FEC解码器可以识别错误接收的位并进行纠正。然后,在将消息传递到网络上层之前,它会删除冗余位。由于FEC解码器仅使用冗余位来检测和纠正错误,因此它不会请求重新传输整个错误帧,从而节省了原本用于重新传输的带宽。
FEC为网络提供了一种提高数据速率,同时保持可接受的位错误率(BER)的方法。 不过,这其中也存在取舍。这种改进是由于以纠错奇偶校验位的形式增加了开销,这消耗了一些可用带宽。一般来说,编码增益越高,奇偶校验位的数量就越多,这增加了码字的大小。FEC解码器需要接收完整的码字才能对其执行操作。更强的FEC算法提供更高的编码增益,但它们需要更大的码字,而更大的码字会增加延迟。
为什么光纤网络需要FEC?
云计算、流视频和社交网络日益普及,极大地增加了互联网流量。为了满足飞速增长的带宽需求,光纤网络行业已将数据速率推高至100 Gbps甚至更高。光传输容易受到各种信号退化的影响,包括色散、模式色散、偏振模色散和噪声。
在现实世界中,光接收器解析信息的能力受到噪声的影响。因此,接收方无法准确解析所有位,导致数据传输出错。这一问题在更高速的时候会更加严重,因为接收方必须扩大滤波器带宽以允许更快的信号,并且必须允许更多的噪声能量通过。幸运的是,FEC可以帮助补偿此问题。虽然该技术无法在所有网络条件下纠正所有错误,但如能正确指定,它可帮助网络运营商以更高的传输速率运行,同时保持目标误码率(BER),同时使用更便宜的光纤。
Catalyst 9000系列交换机支持2种类型的FEC:
FC-FEC
RS-FEC
FC-FEC配置值为cl74
RS-FEC有两个配置值,具体取决于链路速度:
25GB或50GB:cl108
100GB:cl91
我们如何协商FEC值以及何时需要FEC?
当电缆长度超过2米时,需要25GB或更高的速度的FEC。
执行编码和解码的FEC块通常位于交换机/路由器的ASIC中。在其他情况下,例如在一些100G光纤中,它位于模块本身中。
默认情况下,FEC在自动模式下启用;但是,主机软件可能支持特定应用协议的其他FEC子句。用户可以决定启用这些功能,具体取决于其特定应用。
拓扑
拓扑 1
配置和验证
配置:
Cat9300X-24Y(config)# interface tw1/1/2
Cat9300X-24Y(config-if)#fec ?
auto Enable FEC Auto-Neg
cl108 Enable clause108 with 25G
cl74 Enable clause74 with 25G
off Turn FEC off
Cat9300X-24Y(config-if)#fec auto
验证:
Cat9300X-24Y# show running-config interface tw1/1/2
!
interface TwentyFiveGigE1/1/2
end
没有FEC配置表明FEC已设置为自动,或者您可以检查接口的状态
Cat9300X-24Y# show interface tw1/1/2
TwentyFiveGigE1/1/2 is up, line protocol is up (connected)
--snip--
Full-duplex, 25Gb/s, link type is force-up, media type is SFP-25GBase-SR
Fec is auto < -- The configured setting for FEC is displayed here
input flow-control is on, output flow-control is off
ARP type: ARPA, ARP Timeout 04:00:00
--snip--
链路两端的FEC不匹配可能会中断设备之间的连接,即使其他一切正常。
示例:
Cat9300X-24Y#show running-config interface tw1/1/2
Building configuration...
Current configuration : 47 bytes
!
interface TwentyFiveGigE1/1/2
fec cl74
end
Cat9300X-24Y#show interface tw1/1/2
TwentyFiveGigE1/1/2 is down, line protocol is down (notconnect)
|
Cat9300X-48X#show running-config interface tw1/1/6
Building configuration...
Current configuration : 37 bytes
!
interface TwentyFiveGigE1/1/6
end
Cat9300X-48X#show interface tw1/1/6
TwentyFiveGigE1/1/6 is down, line protocol is down (notconnect)
|
Cat9300X-24Y#show interfaces transceiver
If device is externally calibrated, only calibrated values are printed.
++ : high alarm, + : high warning, - : low warning, -- : low alarm.
NA or N/A: not applicable, Tx: transmit, Rx: receive.
mA: milliamperes, dBm: decibels (milliwatts).
Optical Optical
Temperature Voltage Current Tx Power Rx Power
Port (Celsius) (Volts) (mA) (dBm) (dBm)
--------- ----------- ------- -------- -------- --------
Twe1/1/6 37.4 3.29 7.4 -0.4 -4.9
|
Cat9300X-48X#show interfaces transceiver
If device is externally calibrated, only calibrated values are printed.
++ : high alarm, + : high warning, - : low warning, -- : low alarm.
NA or N/A: not applicable, Tx: transmit, Rx: receive.
mA: milliamperes, dBm: decibels (milliwatts).
Optical Optical
Temperature Voltage Current Tx Power Rx Power
Port (Celsius) (Volts) (mA) (dBm) (dBm)
--------- ----------- ------- -------- -------- --------
Twe1/1/2 37.8 3.33 7.8 -0.8 -1.2
|
您可以看到,即使接收信号良好,由于FEC配置不匹配,两端的端口也都在关闭。在这种情况下,您需要匹配FEC配置,在两者中选择“auto”或“cl74”。
在排除链路故障时,采取以下步骤:
1.收发器与设备的兼容性
2.同一链路中收发器之间的兼容性
3.收发器和正在使用的光缆之间的兼容性
4.各场址之间的谈判
4.1.速度
4.2.外汇基金
当连接不同的设备时,FEC更加重要。我们发现大多数连接到第三方设备或主机设备时会出现的问题,可能是UCS或Nexus设备。
如果FEC处于默认模式,则两台设备都需要协商要使用的FEC设置,这可能是一个问题。最好手动设置FEC设置,但链路两端之间需要匹配。
要查看收发器上允许的FEC设置,您需要使用TMGMatrix:
https://tmgmatrix.cisco.com/
一旦按收发器PID或设备过滤:

然后点击收发器的CUE卡:

CUE卡显示您需要了解的有关收发器的所有数据,包括FEC设置:

相关信息