이 문서에서는 CEF(Cisco Express Forwarding)의 분산 형식을 실행하는 Cisco 7500 및 12000 Series 라우터에 사용할 수 있는 일관성 검사에 대해 설명합니다. Cisco IOS® Software Release 12.0(15)S 및 기타 릴리스 트레인에 도입된 일관성 검사기는 라인 카드에 정보를 포워딩하고 RP(Route Processor)가 동기화되지 않을 때 이를 탐지하도록 설계되었습니다. Cisco IOS는 검사기에서 문제가 발견되면 다음 로그 메시지를 보고합니다.
%FIB-4-RPPREFIXINCONST2: RP missing prefix for 133.160.0.0/16 (present in routing table) %FIB-4-RPPREFIXINCONST2: RP missing prefix for 133.160.0.0/16 (present in routing table) %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.17.0/32
이 문서에서는 CEF 불일치에 대한 문제 해결 팁도 제공합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco IOS Software 릴리스 12.0(15)S 이상
Cisco 7500 및 12000 Series 라우터
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
일관성 검사기가 검토 중인 내용을 이해하려면 먼저 CEF 포워딩 테이블을 이해하고 정의해야 합니다.
CEF는 라우터가 인바운드에서 아웃바운드 인터페이스로 패킷을 전달하는 데 사용하는 고속 스위칭 메커니즘에 대해 설명합니다. CEF는 라우터 메모리에 저장하는 두 가지 데이터 구조 또는 테이블 집합을 사용합니다.
FIB(Forwarding Information Base) - 포워딩 결정을 내리는 데 사용되는 정보 데이터베이스를 설명합니다. 라우팅 테이블 또는 경로 캐시와 개념상 유사하지만, 구현은 다릅니다.
인접성 - 링크 레이어 전체에서 단일 홉을 통해 서로 연결할 수 있는 경우 네트워크의 두 노드가 인접한 것으로 간주됩니다.
다음 중 하나가 발생하면 FIB 테이블이 업데이트됩니다.
다음 홉의 변경에 대한 ARP(Address Resolution Protocol) 캐시 항목이 제거되거나 시간 초과됩니다.
접두사에 대한 라우팅 테이블 항목이 변경되거나 제거됩니다.
다음 홉에 대한 라우팅 테이블 항목이 변경되거나 제거됩니다.
Cisco 7500 및 12000 Series 라우터는 dCEF(distributed CEF)를 지원합니다. 이 경우 라인 카드는 RP와 동일한 FIB 및 인접성 테이블의 로컬에 저장된 사본을 사용하여 패킷 포워딩을 결정합니다. RP와 라인 카드 사이의 테이블은 동기화된 상태로 유지되어야 합니다. RP의 테이블에 대한 모든 변경 사항은 라인 카드로 전달되어야 합니다.
IPC(Inter-Process Communication)는 분산 패킷 전달을 지원하는 라우터에서 사용하는 프로토콜입니다. CEF 업데이트는 IPC 메시지 내부의 XDR(External Data Representation) 정보 요소로 인코딩됩니다. 다음 다이어그램은 CEF 데이터 구조 배포 메커니즘을 보여줍니다.
두 가지 유형의 불일치가 있습니다.
라인 카드에 특정 접두사와 같은 정보가 없습니다.
라인 카드에서 서로 다른 next hop IP 주소와 같은 다양한 정보.
router#show ip cef 24.20.84.32 24.16.0.0/13, version 833173, cached adjacency to POS6/0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 4.24.234.153, 0 dependencies, recursive next hop 4.24.234.153, POS6/0 via 4.24.234.152/30 valid cached adjacency router#execute-on all show ip cef 24.20.84.32 ========= Line Card (Slot 1) ======= 24.16.0.0/13, version 408935, cached adjacency 0.0.0.0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 157.130.213.1, 0 dependencies, recursive next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30 valid cached adjacency ========= Line Card (Slot 2) ======= 24.16.0.0/13, version 13719, cached adjacency 0.0.0.0 0 packets, 0 bytes Flow: AS 6172, mask 13 via 157.130.213.1, 0 dependencies, recursive next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30 valid cached adjacency
CEF 불일치를 나타내는 한 가지 표시는 다음 출력에 표시된 대로 show cef linecard 명령의 "CEF-ver" 열의 차이입니다.
7505-2A#show cef linecard CEF table version 35, 11 routes Slot CEF-ver MsgSent XDRSent Window LowQ MedQ HighQ Flags 1 0 0 0 LC wait 0 0 0 disabled 2 31 95 422 24 0 0 0 up, sync 3 34 105 544 24 0 0 0 up, sync
다음 조건이 true인 경우 RP 및 LC의 show ip cef summary 명령 출력에 동일한 수의 경로와 인접성이 표시되어야 합니다.
모든 라인 카드가 "up, sync" 상태입니다.
RP와 LC의 XDR 큐가 비어 있습니다("LowQ/MedQ/HighQ" 열은 RP의 cef 라인 카드와 라인 카드의 show cef linecard의 "처리할 RP 메시지" 데이터).
참고: Cisco 12000 Series Engine 2 LC는 예외입니다. 여기서 PSA(Packet Switching ASIC)는 ACL을 구현하기 위해 추가 경로를 설치합니다.
Cisco IOS Software Release 12.0(22)S에는 CEF 일관성 검사기 v2(Cisco IOS Software Release12.1E에 있음)가 포함되어 있으므로 지금 show ip cef 불일치성 명령을 실행하여 문제를 보고할 수 있습니다.
RP와 라인 카드의 라우팅 데이터베이스에 업데이트가 이루어지면 이러한 데이터베이스에 대한 배포 메커니즘의 비동기 특성으로 인해 불일치가 발생할 수 있습니다. CEF는 독립적으로 실행되는 수동 및 활성 정합성 검사를 지원합니다. 다음 표에서는 이러한 검사기에 대해 설명합니다.
탐지 메커니즘 | 작동 시간 | 설명 |
---|---|---|
LC 탐지 | 라인 카드 | FIB 테이블에서 누락된 IP 접두사를 검색하여 라인 카드에서 작동합니다. IP 접두사가 없으면 라인 카드는 이러한 주소에 대한 패킷을 전달할 수 없습니다. 그런 다음 Lc-detect가 확인을 위해 IP 접두사를 RP로 전송합니다. RP에서 관련 항목이 있음을 탐지하면 불일치가 감지되고 오류 메시지가 표시됩니다. 또한 RP는 IP 접두사가 불일치함을 확인하는 신호를 라인 카드로 다시 보냅니다. |
Scan-lc | 라인 카드 | 구성된 기간 동안 FIB 테이블을 살펴보고 다음 n 접두사를 RP에 전송하여 라인 카드에서 작동합니다. RP는 정확한 조회를 수행합니다. 접두사가 누락된 경우 RP는 불일치를 보고합니다. 마지막으로 RP는 라인 카드로 확인을 다시 전송합니다. |
Scan-rp | 라우트 프로세서 | 구성된 기간 동안 FIB 테이블을 살펴보고 다음 n 접두사를 라인 카드에 전송하여 RP(scan-lc와 반대)에서 작동합니다. 라인 카드는 정확한 조회를 수행합니다. 접두사가 누락된 경우 라인 카드는 불일치를 보고하고 마지막으로 확인을 위해 RP에 신호를 보냅니다. |
스캔 리브 | 라우트 프로세서 | 모든 RP(심지어 비분산형)에서 작동하고 RIB를 스캔하여 접두사 엔트리가 RP FIB 테이블에 있는지 확인합니다. |
다음 명령을 사용하여 활성화된 일관성 검사기 및 관련 변수를 구성합니다.
ip cef table consistency-check type [period] [count] - 검사기에 대한 일반 매개변수를 제어합니다.
ip cef table consistency-check - 지원되는 유형을 활성화 또는 비활성화하고 스캔한 스캔 및 접두사 기간을 제어합니다(lc-detect가 아님). 일관성 검사기는 기본적으로 비활성화되어 있습니다.
불일치는 발생하지 않아야 하며, 불일치를 조사해야 합니다. 문제 해결 시 다음 CEF debug 및 show 명령을 사용합니다.
일부 show 명령은 출력 인터프리터 툴 에서 지원되는데(등록된 고객만), 이 툴을 사용하면 show 명령 출력의 분석 결과를 볼 수 있습니다.
참고: debug 명령을 실행하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.
show ip cef 불일치 레코드 세부 정보 - 탐지 메커니즘에 대한 통계를 표시합니다. 또한 확인(현재 4) 수에 대한 세부 정보를 기록하지만 일치하지 않는 경우도 있습니다.
show ip cef unconsistent - 상태에 대한 요약을 표시합니다.
Table consistency checkers (settle time 15s) lc-detect: running 0/0/0 queries sent/ignored/received scan-lc: running [100 prefixes checked every 60s] 0/0/1053 queries sent/ignored/received scan-rp: running [100 prefixes checked every 60s] 1053/0/0 queries sent/ignored/received scan-rib: running [1000 prefixes checked every 60s] 81/0/81 queries sent/ignored/received Inconsistencies: 0 confirmed, 0/4 recorded
show ip cef 불일치 레코드 - records 키워드를 사용하여 기록된 불일치를 덤프합니다.
show ip cef 불일치 레코드 세부 정보 및 실행 슬롯 표시
router#exec slot 2 show ip cef inconsistency records detail ========= Line Card (Slot 2) ======= Table consistency checkers (settle time 65s) lc-detect: running 0/0/0 queries sent/ignored/received scan-lc: running [100 prefixes checked every 60s] 1289156/0/0 queries sent/ignored/received scan-rp: running [100 prefixes checked every 60s] 0/0/1068308 queries sent/ignored/received scan-rib: running [1000 prefixes checked every 60s] 0/0/0 queries sent/ignored/received Inconsistencies: 340 confirmed, 1/4 recorded Test table insert mode: normal Test table remove mode: normal -------- Inconsistency record 0 -------- Prefix entry for 192.168.3.10/32 present on RP, missing on slot 2 Detected at 00:01:46.736 by scan-rp Event log entries relevant for 192.168.3.10: +00:00:00.000: *.*.*.*/* New FIB table [OK] 0x403FA4E8 0x403FA530 0x4009C1FC 0x4009C1E8 +00:00:03.092: *.*.*.*/* Flush ADJ table [OK] 0x404000B0 0x4040EEC0 0x4040F100 0x40401F64 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 +00:00:03.100: *.*.*.*/* Flush FIB table [OK] 0x404039D0 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 +00:00:03.124: *.*.*.*/* New FIB table [OK] 0x404039D8 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC 0x4009C1E8 First event occurred at 00:00:07.600 (2w5d ago) Last event occurred at 00:00:10.724 (2w5d ago)
참고: 불일치 레코드에 대한 SNMP 액세스가 없습니다. 이 기능은 Cisco IOS의 향후 릴리스에 추가될 수 있습니다.
clear cef linecard - 라인 카드에 IP 접두사가 없는 경우 이 명령을 사용하여 라인 카드 FIB에 접두사를 다시 설치합니다.
clear ip route - RP에 접두사가 없는 경우 이 명령을 사용하여 RP FIB에 접두사를 다시 설치합니다.
일관성 검사기가 문제를 발견하면 문제를 정확하게 해결하기 위해 다음 명령 출력이 필요합니다.
show ip cef - RP의 FIB에 항목을 표시합니다.
exec all show ip cef - 라인 카드에 CEF FIB 값을 표시합니다.
show tech cef - CEF에 대한 기술 지원에 대한 정보를 제공합니다.
show ip cef 불일치 레코드 세부 정보 - RP에 대한 CEF FIB 불일치 세부 정보를 표시합니다.
exec slot show ip cef 불일치 레코드 세부 정보 - 라인 카드에 CEF FIB 불일치 세부 정보를 표시합니다.
no ip cef table consistency-check - 검사기를 끕니다.
debug ip cef table consistency-checkers - 쿼리 및 검사 이벤트를 디버깅하도록 합니다.
CEF 불일치를 지우려면 clear ip cef un불일치 명령을 사용합니다. 일관성 검사를 해제하려면 no ip cef table consistency-check 명령을 사용합니다. 일관성 검사기를 끄면 보고된 문제가 해결되지 않습니다. 시스템이 일관성 없이 계속 실행되므로 예기치 않은 동작이 발생할 수 있습니다.
드물게 CEF 일관성 검사기의 원래 버전에서 오탐을 보고할 수 있습니다. 이 문제는 CEF 데이터베이스가 업데이트(특히 대규모 업데이트 중)되고 RP에서 라인 카드로 새 정보가 배포되는 경우 임시 타이밍 윈도우에 의해 발생합니다. 오탐 메시지는 속도가 매우 제한적이어서 CPU에 미치는 영향보다는 번거로운 것일 수 있지만, Cisco에서는 특정 일관성 문제를 해결하지 않는 한 CEF 일관성 검사기를 비활성화하는 것이 좋습니다.
업데이트 과정에서 접두사에 대한 오탐의 가능성을 최소화하기 위해 정박 시간을 조정할 수 있습니다. 정박 시간은 탐지에 부과되는 지연입니다. ip cef table consistency-check [still-time] 명령을 사용합니다. 이 명령은 이벤트 로그가 있는 것에 의존합니다. 그렇지 않은 경우, 해결 시간은 사실상 0입니다.
RP에 없는 인접성 접두사(/32s for ARP entries)의 팬텀 탐지를 방지하기 위해 기본값 65초가 선택되었습니다. ARP 삭제는 RP의 두 단계에서 발생합니다.
인접성이 불완료로 표시되고 인접성 접두사가 삭제됩니다.
1분 인접성 워커는 인접성을 삭제하고 라인 카드에 이를 알려 줍니다.
이 프로세스는 라인 카드에 인접성 접두사가 있지만 RP에는 없는 경우 최대 60초의 창으로 연결됩니다.
참고: 일관성 검사기의 버전 2.0에서는 잘못된 불일치의 문제가 해결되었습니다.
다음은 CEF 일관성 검사기의 알려진 Cisco 버그를 정리한 것입니다. 이 목록은 완전하지 않습니다.
Cisco 버그 ID CSCdt18447(등록된 고객만 해당) CEF 이벤트 로거/일관성 검사기 CPU
Cisco 버그 ID CSCuk23390(등록된 고객만 해당) lc-detect는 인터럽트 레벨에서 malloc fail을 발생시킵니다.
Cisco 버그 ID CSCuk23290(등록된 고객만 해당) CEF 불일치 이벤트 레코더는 스토리지를 잘못 할당할 수 있습니다.
Cisco 버그 ID CSCdt04645(등록된 고객만 해당) 메모리 누수(lc-stat 일관성 검사기 프로세스를 포함하여 분산 CEF를 실행할 수 있는 모든 항목에 영향을 줌)에 대한 문제를 해결합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
10-Aug-2005 |
최초 릴리스 |