소개
이 문서에서는 FEC(Forwarding Error Correction)의 기본 사항과 Catalyst 9000 스위치 제품군의 기능을 검증하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Catalyst 9000-series 스위치
- 옵티컬 트렌시버
배경 정보
FEC란 무엇입니까?
FEC는 전송 전에 메시지 블록에 리던던트 비트들 및 에러 체킹 코드를 부가함으로써 비트스트림의 특정 개수의 에러들을 검출하고 정정하기 위해 사용되는 기술이다. 상기 추가는 수신단에서의 FEC 디코더가 원래의 메시지를 재구성할 수 있게 하기 위해 실제 데이터에 대한 충분한 정보를 포함한다. FEC 디코더는 에러 상태로 수신된 비트들을 식별하고 이들을 보정할 수 있다. 그런 다음 메시지를 네트워크의 상위 레이어에 전달하기 전에 중복 비트를 제거합니다. FEC 디코더는 이중화 비트만 사용하여 오류를 감지하고 수정하므로 오류가 발생한 전체 프레임의 재전송을 요청하지 않으므로 재전송에 사용될 대역폭을 절약할 수 있습니다.
FEC는 허용 가능한 비트 에러 레이트(BER)를 유지하면서 네트워크들이 데이터 레이트를 증가시키기 위한 방법을 제공한다. 그러나, 장점도 있다. 이러한 개선은 가용 대역폭의 일부를 소모하는 오류정정형 패리티 비트 형태의 오버헤드를 추가한 결과이다. 일반적으로, 코딩 이득이 높을수록 패리티 비트들의 수가 증가하며, 이는 코드워드들의 크기를 증가시킨다. FEC 디코더는 이들이 그것에 대해 동작할 수 있기 전에 전체 코드워드를 수신할 필요가 있다. 더 강한 FEC 알고리즘은 더 높은 코딩 이득을 제공하지만, 이들은 더 큰 코드워드들을 요구하며, 더 큰 코드워드들은 레이턴시를 증가시킨다.
광섬유 네트워크에 FEC가 필요한 이유는 무엇입니까?
클라우드 컴퓨팅, 스트리밍 비디오, 소셜 네트워킹의 인기 증가로 인해 인터넷 트래픽이 크게 증가했습니다. 급증하는 대역폭 수요를 충족하기 위해 광 네트워킹 업계는 데이터 속도를 100Gbps 이상으로 끌어올렸습니다. 광 전송은 색 분산, 모달 분산, 편광 모드 분산, 노이즈 등 다양한 신호 저하 소스에 취약하다.
실제 환경에서는 광 수신기의 정보 해결 능력에 잡음이 영향을 미칩니다. 따라서 수신기가 모든 비트를 정확하게 해결할 수 없어 데이터 전송에 오류를 유발한다. 더 빠른 신호를 위해 수신기 필터 대역폭을 넓혀야 하고 더 많은 노이즈 에너지가 통과해야 하기 때문에 이 문제는 더 빠른 속도로 악화됩니다. 다행히도 FEC는 이러한 문제를 보완하는데 도움을 줄 수 있습니다. 이 기술은 모든 네트워크 조건에서 모든 오류를 수정할 수는 없지만, 적절히 지정하면 네트워크 운영자가 더 저렴한 옵틱을 사용하면서도 타겟 BER(Bit Error Ratio)를 유지하면서 더 높은 전송률로 실행할 수 있습니다.
Catalyst 9000 Series 스위치는 2가지 유형의 FEC를 지원합니다.
FC-FEC
RS-FEC
FC-FEC 컨피그레이션 값은 cl74입니다
RS-FEC는 링크의 속도에 따라 두 개의 컨피그레이션 값을 가집니다.
25GB 또는 50GB: cl108
100GB: cl91
FEC 값을 협상하는 방법과 FEC가 필요한 경우 어떻게 해야 합니까?
FEC는 케이블 길이가 2m보다 길 때 25GBs 이상의 속도로 필요합니다.
코딩 및 디코딩을 수행하는 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가 auto로 설정되었거나 인터페이스의 상태를 확인할 수 있음을 나타낸다
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
FEC는 서로 다른 디바이스를 연결할 때 더 중요한 역할을 합니다. 서드파티 장비 또는 호스트 디바이스에 연결된 경우 대부분의 문제가 UCS 또는 Nexus 디바이스일 수 있습니다.
FEC가 기본 모드로 남아 있는 경우 두 디바이스 모두 사용할 FEC 설정을 협상해야 하므로 문제가 될 수 있습니다. FEC 설정을 수동으로 설정하는 것이 좋지만 링크의 양쪽을 일치시켜야 합니다.
TMGMatrix를 사용해야 하는 트랜시버에서 어떤 FEC 설정을 허용하는지 확인하려면 다음을 수행합니다.
https://tmgmatrix.cisco.com/
일단 트렌시버 PID 또는 디바이스로 필터링하면

그런 다음 트렌시버의 CUE 카드를 클릭합니다.

CUE 카드에는 FEC 설정을 포함하여 트랜시버에 대해 알아야 할 모든 데이터가 표시됩니다.

관련 정보