소개
이 문서에서는 Cisco IOS® XR 라우터 내의 인터페이스에서 CRC(Cyclic Redundancy Check) 오류를 해결하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 Cisco IOS XR 플랫폼에 대한 지식이 있는 것을 권장합니다.
참고: Cisco에서는 Cisco IOS XR 및 관리자 CLI 액세스 권한이 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 다음을 비롯한 Cisco IOS XR 플랫폼을 기반으로 합니다.
- Cisco ASR 9000 Series 라우터(예: ASR 9006 및 ASR 9010)
- Cisco NCS 540 Series 라우터
- Cisco NCS 560 Series 라우터
- Cisco NCS 5500 Series 라우터
- Cisco NCS 5700 Series 라우터
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
CRC는 전송 중에 원시 데이터에 대한 우발적인 변경을 탐지하기 위해 디지털 네트워크 및 저장 장치에서 사용되는 기본적인 오류 감지 코드입니다. 통신 채널 상의 잡음 또는 간섭으로 인해 발생할 수 있는 손상을 식별하여 데이터의 무결성을 보장한다.
CRC 작동 방식
CRC는 데이터의 블록을 이진 다항식으로 취급하여 동작한다. 발신자 끝에서 수학적 알고리즘은 이 데이터 다항식을 미리 정의된 고정된 제수 다항식(generator polynomial)으로 나눈다. 이 다항식 분할의 나머지는 CRC 체크섬(또는 체크 값)이라고 불리는 짧은 고정 길이의 이진 시퀀스이다. 그런 다음 이 체크섬이 원본 데이터에 추가되어 함께 전송됩니다.
데이터를 수신하면, 수신기는 (추가된 체크섬을 포함하여) 수신된 데이터에 대해 동일한 CRC 계산을 수행한다. 데이터가 오류 없이 전송되었다면, 이 분할의 나머지는 0이어야 한다. 나머지가 0이 아닌 경우 전송 중에 오류가 탐지되었음을 나타내며 데이터가 손상된 것으로 간주됩니다. CRC는 특히 버스트 오류(여러 연속 손상된 비트)와 같은 일반적인 오류를 탐지하는 데 효과적이며, 이는 많은 통신 채널에서 널리 사용됩니다.
문제
Cisco IOS XR 플랫폼은 물리적 인터페이스(예: 이더넷, 옵티컬 등)에서 CRC 검사를 활용하여 링크 신뢰성을 유지합니다. CRC 오류 카운터를 포함하는 인터페이스 통계를 제공합니다. 높은 CRC 오류 수는 일반적으로 케이블, 커넥터 또는 트렌시버에 결함이 있는 것과 같은 물리적 레이어 문제를 나타냅니다. Cisco IOS XR 진단 명령을 사용하면 엔지니어가 CRC 오류를 실시간으로 모니터링하고 다른 인터페이스 오류와 상호 연결하여 종합적인 문제 해결을 할 수 있습니다. CRC 오류 데이터가 Cisco IOS XR 텔레메트리 및 로깅 시스템에 통합되어 사전 대응적 네트워크 상태 모니터링이 가능합니다.
NCS 5500/5700 Series 및 ASR 9000 Series와 같은 플랫폼에서 CRC 오류 추세는 다운타임을 최소화하기 위해 경보 또는 자동화된 워크플로를 트리거할 수 있습니다.
인터페이스 CRC 오류 식별
트러블슈팅의 첫 번째 단계는 CRC 오류가 실제로 발생하고 특정 인터페이스에서 증가하고 있는지 확인하는 것입니다.
1단계. Cisco IOS XR CLI에서 라우터에 로그인하고 이 명령을 실행하여 인터페이스에 대한 CRC 오류 수가 증가하고 있는지 확인합니다.
샘플 명령 출력:
RP/0/RP0/CPU0:N540X-12Z16G-SYS-D#show interfaces Te0/0/0/26
Mon Jul 21 19:50:25.842 WIB
TenGigE0/0/0/26 is up, line protocol is up
Interface state transitions: 39
Dampening enabled: penalty 0, not suppressed
half-life: 1 reuse: 750
suppress: 2000 max-suppress-time: 4
restart-penalty: 0
Hardware is TenGigE, address is xxx.xxx.xxx (bia xxx.xxx.xxx)
Description: 10G:
Internet address is Unknown
MTU 9212 bytes, BW 10000000 Kbit (Max: 10000000 Kbit)
reliability 255/255, txload 0/255, rxload 6/255
Encapsulation ARPA,
Full-duplex, 10000Mb/s, 10GBASE-LR, link type is force-up
output flow control is off, input flow control is off
Carrier delay (up) is 2000 msec, Carrier delay (down) is 100 msec
loopback not set,
Last link flapped 1w4d
Last input 00:00:00, output 00:00:00
Last clearing of "show interface" counters 01:35:40
30 second input rate 249013000 bits/sec, 27739 packets/sec
30 second output rate 34886000 bits/sec, 11563 packets/sec
152403495 packets input, 172646518724 bytes, 0 total input drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 84723 multicast packets
13 runts, 0 giants, 0 throttles, 0 parity
3731 input errors, 3718 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
66477366 packets output, 24050248792 bytes, 0 total output drops
Output 0 broadcast packets, 77461 multicast packets
0 output errors, 0 underruns, 0 applique, 0 resets
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
입력 오류 아래에서 CRC 카운터를 찾습니다. 이 값이 증가하면 CRC 오류가 있는지 확인합니다.
2단계. Cisco IOS XR CLI에서 라우터에 로그인하고 이 명령을 실행하여 인터페이스에 대한 CRC 오류 수가 증가하고 있는지 확인하고 자세한 통계를 제공합니다.
샘플 명령 출력:
RP/0/RP0/CPU0:N540X-12Z16G-SYS-D# show controllers Te0/0/0/26 stats
Mon Jul 21 19:50:56.139 WIB
Statistics for interface TenGigE0/0/0/26 (cached values):
Ingress:
Input total bytes = 173638989945
Input good bytes = 173638989945
Input total packets = 153271045
Input 802.1Q frames = 0
Input pause frames = 0
Input pkts 64 bytes = 1332238
Input pkts 65-127 bytes = 14101870
Input pkts 128-255 bytes = 9711091
Input pkts 256-511 bytes = 4850242
Input pkts 512-1023 bytes = 4395212
Input pkts 1024-1518 bytes = 117306517
Input pkts 1519-Max bytes = 1577617
Input good pkts = 153271045
Input unicast pkts = 153185898
Input multicast pkts = 85158
Input broadcast pkts = 0
Input drop overrun = 0
Input drop abort = 0
Input drop invalid VLAN = 0
Input drop invalid DMAC = 0
Input drop invalid encap = 0
Input drop other = 0
Input error giant = 0
Input error runt = 13
Input error jabbers = 0
Input error fragments = 9
Input error CRC = 3729
Input error collisions = 0
Input error symbol = 370
Input error other = 0
Input MIB giant = 0
Input MIB jabber = 0
Input MIB CRC = 3729
Egress:
Output total bytes = 24170362757
Output good bytes = 24170362757
Output total packets = 66833308
Output 802.1Q frames = 0
Output pause frames = 0
Output pkts 64 bytes = 10113
Output pkts 65-127 bytes = 35246624
Output pkts 128-255 bytes = 14254990
Output pkts 256-511 bytes = 2888642
Output pkts 512-1023 bytes = 3779102
Output pkts 1024-1518 bytes = 10642390
Output pkts 1519-Max bytes = 11455
Output good pkts = 66833308
Output unicast pkts = 66755447
Output multicast pkts = 77865
Output broadcast pkts = 0
Output drop underrun = 0
Output drop abort = 0
Output drop other = 0
Output error other = 0
입력 오류 CRC 및 입력 MIB CRC 카운터는 CRC 오류에 대한 명확한 표시를 제공합니다.
인터페이스 CRC 오류의 일반적인 원인
Cisco IOS XR 및 기타 네트워크 디바이스에서 CRC 오류가 발생하는 일반적인 원인은 일반적으로 물리적 레이어 문제 또는 컨피그레이션 오류에서 비롯됩니다. 가장 자주 발생하는 근본 원인은 다음과 같습니다.
- 손상되거나 오작동하는 물리적 미디어:구리 또는 파이버 케이블 또는 DAC(Direct Attach Cable)가 포함됩니다.
- 트렌시버/옵틱에 장애가 발생하거나 손상된 경우: SFP, SFP+, QSFP 등으로 인해 성능이 저하되거나 장애가 발생할 수 있습니다.
- 패치 패널 포트 오류:패치 패널의 커넥터가 손상되거나 더러워질 수 있습니다.
- 결함이 있는 네트워크 디바이스 하드웨어: 라인 카드, 라인 카드 ASIC, MAC(Media Access Control) 또는 패브릭 모듈에 있는 특정 포트를 포함할 수 있습니다.
- 연결된 호스트/디바이스의 NIC(Network Interface Card) 오작동:원격 단의 하드웨어에 결함이 있을 수 있습니다.
- 컨피그레이션 불일치: 예: MTU(Maximum Transmission Unit) 크기 불일치는 디바이스 간에 발생하며, 이로 인해 큰 패킷이 잘못 잘려 CRC 오류가 발생할 수 있습니다.
Cisco IOS XR 라우터에서 인터페이스 CRC 오류 해결 절차
CRC 오류가 식별되면 체계적인 문제 해결 및 해결을 위해 다음 단계를 수행합니다.
1단계. 인터페이스 카운터 지우기
트러블슈팅을 진행하기 전에 인터페이스 카운터를 지워 새 기준을 얻고 CRC 오류가 계속 증가하는지 확인합니다. Cisco IOS XR CLI에서 라우터에 로그인하고 인터페이스 카운터를 지우려면 이 명령을 실행합니다.
# clear counter interface
예를 들면 다음과 같습니다.
# clear counter interface Te0/0/0/26
선택을 취소한 후 show interfaces <interface> 및 show controllers <interface> 통계를 사용하여 인터페이스를 다시 모니터링하여 CRC 오류가 계속 증가하고 있는지 확인합니다.
2단계. MTU(Configuration Mismatches) 확인
CRC 오류의 경우 물리적 문제보다는 덜 일반적이지만, MTU 불일치는 때때로 프레임 잘림 및 후속 CRC 오류로 이어질 수 있습니다.
MTU 설정 확인:
로컬 라우터 및 연결된 피어 디바이스의 인터페이스에 구성된 MTU를 확인합니다.
출력에서 MTU <value> 바이트를 찾습니다.
샘플 명령 출력:
RP/0/RP0/CPU0:N540X-12Z16G-SYS-D#show interfaces Te0/0/0/26
Mon Jul 21 19:50:25.842 WIB
TenGigE0/0/0/26 is up, line protocol is up
Interface state transitions: 39
Dampening enabled: penalty 0, not suppressed
half-life: 1 reuse: 750
suppress: 2000 max-suppress-time: 4
restart-penalty: 0
Hardware is TenGigE, address is xxx.xxx.xxx (bia xxx.xxx.xxx)
Description: 10G:
Internet address is Unknown
MTU 9212 bytes, BW 10000000 Kbit (Max: 10000000 Kbit)
reliability 255/255, txload 0/255, rxload 6/255
Encapsulation ARPA,
Full-duplex, 10000Mb/s, 10GBASE-LR, link type is force-up
output flow control is off, input flow control is off
Carrier delay (up) is 2000 msec, Carrier delay (down) is 100 msec
loopback not set,
Last link flapped 1w4d
Last input 00:00:00, output 00:00:00
Last clearing of "show interface" counters 01:35:40
30 second input rate 249013000 bits/sec, 27739 packets/sec
30 second output rate 34886000 bits/sec, 11563 packets/sec
152403495 packets input, 172646518724 bytes, 0 total input drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 84723 multicast packets
13 runts, 0 giants, 0 throttles, 0 parity
3731 input errors, 3718 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
66477366 packets output, 24050248792 bytes, 0 total output drops
Output 0 broadcast packets, 77461 multicast packets
0 output errors, 0 underruns, 0 applique, 0 resets
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
작업: 링크의 양쪽 끝에서 MTU 설정이 일치하는지 확인합니다. 일치해야 하는 경우 조정합니다.
3단계. 물리적 레이어 문제 해결(케이블링 및 트렌시버)
물리적 레이어 문제는 CRC 오류의 가장 일반적인 원인입니다.
- 물리적 미디어 검사 및 교체:
- 케이블(파이버, 구리, DAC)에 손상, 끊김 또는 날카로운 굴곡이 있는지 육안으로 검사합니다.
- 케이블이 라우터 인터페이스와 연결된 장치 모두에 단단히 장착되어 있는지 확인합니다.
- 작업: 케이블을 정상 작동이 확인된 케이블로 교체합니다. 오류가 멈추면 원래 케이블에 결함이 있는 것입니다.
- 옵티컬 전력 레벨 확인(파이버 인터페이스):
- 광 전력이 낮거나 과도하게 높으면 신호 열화 및 CRC 오류가 발생할 수 있다.
- show controllers <interface> all 명령을 사용하여 트랜시버의 광 전력 값(Tx Power 및 Rx Power)을 확인합니다.
샘플 명령 출력:
RP/0/RP0/CPU0:N540X-12Z16G-SYS-D# show controller Te0/0/0/26 all
Mon Jul 21 19:50:32.643 WIB
Operational data for interface TenGigE0/0/0/26:
State:
Administrative state: enabled
Operational state: Up
LED state: Green On
Phy:
Media type: R fiber over 1310nm optics
Optics:
Vendor: CISCO-ACCELINK
Part number: RTXM228-401-C88
Serial number: ACW26040HE6
Wavelength: 1310 nm
Digital Optical Monitoring:
Transceiver Temp: 39.000 C
Transceiver Voltage: 3.265 V
Alarms key: (H) Alarm high, (h) Warning high
(L) Alarm low, (l) Warning low
Wavelength Tx Power Rx Power Laser Bias
Lane (nm) (dBm) (mW) (dBm) (mW) (mA)
-- ----- ------ ------ ------ ------ ------
0 n/a -2.5 0.5603 -17.2 0.0192l 35.250
DOM alarms:
Receive Power: Warning low
Alarm Alarm Warning Warning Alarm
Thresholds High High Low Low
------- ------- ------- -------
Transceiver Temp (C): 75.000 70.000 0.000 -5.000
Transceiver Voltage (V): 3.630 3.465 3.135 2.970
Laser Bias (mA): 75.000 70.000 18.000 15.000
Transmit Power (mW): 2.239 1.122 0.151 0.060
Transmit Power (dBm): 3.500 0.500 -8.202 -12.204
Receive Power (mW): 2.239 1.122 0.036 0.015
Receive Power (dBm): 3.500 0.500 -14.413 -18.386
Alarms:
Current:
No alarms
Statistics:
FEC:
Corrected Codeword Count: 0
Uncorrected Codeword Count: 0
- Tx Power 및 Rx Power 값을 Warning low/high 및 Alarm low/high 임계값과 비교합니다. 값이 정상 작동 범위를 벗어난 경우(출력에서 '경고 최저' 또는 '경보 최저/최고'로 표시됨) 광 경로 문제를 해결합니다(예: 커넥터가 깨끗한지, 파이버 패치 케이블을 교체하고 과도한 감쇄가 없는지 확인).
옵티컬 전원 수준이 적절하거나 트랜시버 자체에 결함이 있다고 생각되면 트랜시버(SFP, SFP+, QSFP 등)를 정상 작동이 확인된 트랜시버로 교체해 보십시오.
4단계. 하드웨어 문제 해결(포트 또는 라인 카드)
물리적 미디어와 트렌시버가 제외된 경우, 라우터 하드웨어와 관련된 문제여야 합니다.
이 테스트는 외부 케이블과 트렌시버를 우회하여 포트 자체 내에서 트래픽을 루프백하여 인터페이스의 내부 회로를 확인합니다.
4.1단계. 내부 루프백 구현:
# clear counter interface
# conf t
# interface
# loopback internal
# commit
4.2단계. CRC 오류 확인:
- show interface Te0/0/0/26을 사용하여 인터페이스에서 CRC 오류를 모니터링합니다.
- CRC 오류증가중이면 외부 광학 모듈 또는 외부 광 경로(예: 파이버, 패치 패널, 원격 장치)에 문제가 있음을 의미합니다. 4단계(외부 루프백)로 진행하거나 외부 네트워크 구성 요소에 집중합니다.
- CRC 오류가 계속 증가하면 해당 포트 또는 라인 카드에 대한 라우터의 내부 회로에 문제가 있음을 강력히 시사합니다. 이 경우 라인 카드 또는 라우터 자체를 교체해야 합니다.
4.3단계. 테스트가 완료되면 내부 루프백을 제거합니다.
# conf t
# interface <interface-id>
# no loopback internal
# commit
외부 루프백 테스트(하드 루프):
이 테스트에서는 물리적 루프백 커넥터를 사용하여 트랜시버를 비롯한 포트의 물리적 커넥터에서 신호를 다시 루프백합니다. 따라서 문제가 트렌시버와 관련된 문제인지 아니면 포트의 내부 처리와 관련된 문제인지 파악하는 데 도움이 됩니다.
4.4단계. 루프백 커넥터 사용
이는 인터페이스의 물리적 포트에서 전송(Tx)을 수신(Rx) 경로에 물리적으로 연결하는 데 도움이 됩니다.
4.5단계. 외부 루프백 툴킷 사용
또한 인터페이스의 물리적 포트에서 전송(Tx) 및 수신(Rx) 경로를 물리적으로 연결하고 명령줄 인터페이스에 외부 루프백을 적용할 수도 있습니다.
# clear counter interface
# conf t
# interface Te0/0/0/26
# loopback external
# commit
CRC를 유발하는 하드웨어를 식별하려면 외부 루프백 민감도를 사용하십시오. CRC 오류가 중지되면 문제가 더 업스트림(예: 원격 장치, 케이블)으로 이어질 수 있습니다. 계속하면 트랜시버 또는 포트 하드웨어가 의심됩니다.
4.6단계. 테스트가 완료되면 외부 루프백을 제거합니다.
루프백 커넥터/툴킷도 제거합니다.
# conf t
# interface Te0/0/0/26
# no loopback external
# commit
- 인터페이스를 다른 포트/라인 카드로 이동:
- 가능하면 케이블과 트렌시버를 동일한 라인 카드의 다른 포트로 이동해 보십시오. 오류가 지속되면 라인 카드 자체에 결함이 생길 수 있습니다.
- 오류가 중지되면 원래 포트에 결함이 있을 수 있습니다.
- 동일한 라인 카드의 여러 포트에 오류가 지속되는 경우 다른 라인 카드로 이동해 보십시오(가능한 경우). 이렇게 하면 특정 포트, 라인 카드 또는 섀시에 문제가 있는지 여부를 격리하는 데 도움이 됩니다.
5단계. 알려진 문제 및 버그 확인
하드웨어 교체를 진행하기 전에 알려진 소프트웨어나 하드웨어 버그가 있는지 확인하는 것이 좋습니다.
- Cisco Bug Search Tool:Cisco Bug Search Tool(BST)에서 플랫폼, 인터페이스 유형 및 소프트웨어 버전을 검색합니다.
- Cisco 지원 문서:Cisco Field Notice, Release Notes, 알려진 주의 사항을 검토합니다.
일치하는 버그가 있는 경우 권장 해결 방법 또는 업그레이드 경로를 수행합니다.
6단계. 하드웨어 교체
알려진 소프트웨어 버그 제외를 포함하여 이전의 모든 트러블슈팅 단계가 모두 완료되었고 문제가 여전히 지속되는 경우 하드웨어(옵틱, 트랜시버, 라인 카드 또는 섀시)에 결함이 있을 수 있습니다.
Cisco TAC(Technical Assistance Center)에 옵틱 또는 라인 카드의 RMA(Return Merchandise Authorization)에 대한 케이스를 적절하게 제기합니다.
이러한 트러블슈팅 단계를 체계적으로 수행하면 Cisco IOS XR 플랫폼의 인터페이스 CRC 오류를 효과적으로 진단하고 해결할 수 있습니다.