소개
PW(Pseudowire)는 MPLS 네트워크에서 엔드 투 엔드 서비스를 제공하는 데 사용됩니다. VPLS와 같은 멀티포인트 서비스 뿐만 아니라 포인트투포인트(point-to-point) 서비스를 제공할 수 있는 기본 구성 요소입니다. VPLS는 실질적으로 패킷이 이동하는 브리지 도메인을 생성하는 데 사용되는 PW의 메시입니다.
편집자: Kumar Sridhar
사전 요구 사항
이 문서의 독자는 다음 사항에 대해 잘 알고 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 Cisco® CPT(Carrier Packet Transport) 제품군, 특히 CPT50을 기반으로 합니다.
Pseudowire 개념
의사 와이어는 개념적으로 다음과 같습니다.
엔드 투 엔드 서비스는 2개의 파트로 구성됩니다. AC(Attachment Circuit) 부품 및 Pseudowire 부품 전체 회로의 엔드 투 엔드 회선은 여전히 Cisco CTC(Transport Controller)에서 Pseudowire라고 합니다. 그러나 다음 트러블슈팅을 위해 여기에 표시된 두 가지 부품 구분을 염두에 두십시오.
또한 위에서 구성한 Pseudowire 서비스를 저장할 터널이 생성되어야 합니다. 터널은 보호(여기에 나와 있는 것처럼)되거나 보호되지 않을 수 있습니다.
Pseudowire 부품은 터널 엔드포인트에서 실질적으로 시작하고 정지합니다(여기에 표시된 MPLS 캡슐화 블록을 제외하는 경우).
AC 부분은 터널 끝점에서 시작하여 EFP(Ethernet Flow Point)가 정의된 클라이언트 측 인터페이스까지 이동하여 이 Pseudowire를 통해 전송되는 특정 클라이언트 트래픽을 식별합니다. AC는 2개이며 각 끝에 하나씩 있습니다.
AC는 고객 트래픽을 네이티브 형식으로 전달합니다. 즉, VLAN 기반 의사 와이어나 이더넷 기반 의사 와이어(PW 생성 마법사의 AC 유형 상자)를 생성하는지 여부에 따라 VLAN 태깅을 사용하거나 사용하지 않는 이더넷 프레임을 전달합니다. 그런 다음 특정 PW 서비스 및 해당 서비스가 타고 있는 터널의 MPLS 레이블이 추가됩니다. 그런 다음 회로의 Pseudowire 부분을 통해 MPLS 클라우드로 패킷이 전송됩니다. 이 프로세스를 MPLS 용어로 Label Imposition이라고 합니다. 원단에서 반대 프로세스가 발생합니다. 즉, 레이블이 제거되거나 Label Disposition이 발생하고, 이제 네이티브 이더넷 프레임으로 돌아간 패킷은 Pseudowire 회로의 원단 AC 부분을 통해 다른 쪽 끝으로 전달됩니다.
의사 와이어 트러블슈팅
Pseudowire 서비스가 엔드 투 엔드로 작동하려면 Pseudowire 부품과 2개의 AC 부품이 함께 작동해야 합니다. 회로의 트러블슈팅에는 각 부품이 포함되며, 각 AC-PW-AC 부품은 문제가 있는 위치를 식별하기 위해 개별적으로 디버깅됩니다.
다음 트러블슈팅 논의에서는 PW가 올바르게 구성되었고 모든 레이어 1 또는 물리적 레이어 문제가 이미 디버깅되어 제외되었다고 가정합니다.
첫째, PW 부분의 디버깅은 쉽습니다. 엔드 노드의 IOS 창에서 실행되는 "show mpls l2 vc" 명령을 통해 회로를 식별하는 것으로 시작합니다. 연결의 VCID(Virtual Circuit Identifier) 및 대상 노드 주소를 확인합니다.
10.88.130.201#show mpls l2 vc
로컬 intf 로컬 회로 대상 주소 VC ID 상태
------------- -------------------------- --------------- ---------- ----------
Gi36/2 이더넷 VLAN 200 202.202.202.202 12 UP
VFI vfi::1 VFI 202.202.202.202 124 UP
VFI vfi::1 VFI 204.204.204.204 124 UP
여기서, 관심 PW는 Gi36/2 인터페이스를 기준으로 VLAN 200으로 설정된 첫 번째 PW이다. 인터페이스 상태가 UP인지 확인합니다.
show mpls l2 vc 12 detail 명령은 PW에 대한 많은 정보를 제공합니다. 아래에 강조 표시된 필드는 터널 ID, 원격 노드 ID, 레이블 스택, PWID 번호 및 통계와 같은 중요한 필드입니다.
10.88.130.201#show mpls l2 vc 12 detail
로컬 인터페이스: Gi36/2 up, 라인 프로토콜 up, Eth VLAN 200 up
대상 주소: 202.202.202.202, VC ID: 12, VC 상태: up
출력 인터페이스: Tp102, 지정된 레이블 스택 {16 19}
기본 경로: Tunnel-tp102, active
기본 경로: ready
다음 홉: point2point
생성 시간: 00:32:52, 마지막 상태 변경 시간: 00:05:42
신호 프로토콜: 수동
상태 TLV 지원(로컬/원격): 활성화/해당 없음
LDP 경로 감시: 활성화됨
Label/status 상태 머신: established, LruRru
마지막 로컬 데이터 플레인 상태 거부: 오류 없음
마지막 BFD 데이터 플레인 상태 검색: 전송되지 않음
마지막 로컬 SSS 회로 상태 거부: 오류 없음
마지막으로 보낸 로컬 SSS 회로 상태: 오류 없음
마지막 로컬 LDP TLV 상태 전송: 오류 없음
마지막 원격 LDP TLV 상태 rcvd: 오류 없음
마지막 원격 LDP ADJ 상태 거부: 오류 없음
MPLS VC 레이블: 로컬 18, 원격 19
PWID: 7
그룹 ID: 로컬 0, 원격 0
MTU: 로컬 1500, 원격 1500 <---- 로컬 값과 원격 값이 일치해야 함
시퀀싱: 수신 비활성화, 전송 비활성화
제어 단어: 설정
SSO 설명자: 202.202.202.202/12, 로컬 레이블: 18
SSM 세그먼트/스위치 ID: 20513/12320(사용됨), PWID: 7
VC 통계:
트랜짓 패킷 합계: 수신 10, 전송 0
전송 바이트 합계: 수신 1320, 전송 0
트랜짓 패킷 삭제: 수신 0, 시퀀스 오류 0, 전송 0
PW가 다운된 경우 터널(여기서 터널 102)의 상태가 양호한지 확인하고, 양호하지 않은 경우 터널 문제를 해결합니다. 터널 문제 해결은 이 문서의 범위를 벗어납니다.
스택의 레이블이 위와 같이 정의되었는지 확인합니다. 즉, 레이블이 비어 있지 않은지 확인합니다. 적절한 PWID 번호를 사용하여 show platform mpls pseudowire pwid 명령을 실행하여 하드웨어에 PW가 프로그래밍되었는지 확인합니다.
10.88.130.201#show platform mpls pseudowire pwid 7
PW Id: 7
PW VC 키: 7
PW AC 키: 786434
PW 바인드가 HW에서 수신되는지 여부: 예
HW에서 PW 설정 여부: 예
현재 대기 상태: 아니요
---------------------------------------------
—AC 데이터 —
HW에서 AC 설정 여부: 예
AC 인터페이스: GigabitEthernet36/2
AC 회로 ID: 2
AC- 내부 VLAN: 0
AC- 외부 VLAN: 200
AC- MPLS 포트 ID: 0x1800000A
AC- 포트 Id: 31
AC- 모듈 Id: 36
AC- efp: 예
AC- 캡슐화: 단일 태그
AC- Ing RW Oper: 없음
AC- 이그레스 RW 작동: 없음
AC- Ing RW TPID: 0
AC- Ing RW VLAN: 0
AC- Ing RW 플래그: 0x0
---------------------------------------------
—ATOM 데이터—
상호 연동 유형: Vlan
유형 4 PW 4091에 대한 피어 요청 VLAN ID
MPLS 포트 ID: 0x1800000B
SD 태그 사용: 예
제어 단어 사용: 예
---------------------------------------------
—부과 데이터—
---------------------------------------------
원격 VC 레이블: 19
발송 정수 번호: 9
BCM 포트: 28
BCM ModId: 4
터널 이그레스 개체: 100008
장애 조치 ID: 1
장애 조치 터널 이그레스 객체: 100009
장애 조치(failover) BCM 포트: 0
장애 조치(failover) BCMModId: 0
---------------------------------------------
—처리 데이터—
---------------------------------------------
로컬 레이블: 18
IF 번호: 12
MSPW입니까: 아니요
---------------------------------------------
— 부과 측면 —
VLAN_XLATE 테이블에서 VlanId 200에 대한 항목을 찾을 수 없습니다.
소스_VP[10]
dvp: 11개
ING_DVP_TABLE[11]
nh_index: 411
ING_L3_NEXT_HOP[411]
vlan_id: 4095
port_num: 28
module_id: 4
삭제: 0
EGR_L3_NEXT_HOP[411]
mac_da_profile_index: 1
vc_and_swap_index: 4099
intf_num: 22
dvp: 11개
EGR_MAC_DA_PROFILE[1]
DA Mac: 1 80.C20.0 0
EGR_MPLS_VC_AND_SWAP_LABEL_TABLE[4099]
mpls_label(VC 레이블): 19
EGR_L3_INTF[22]
SA Mac: 4055.3958.E0E1
MPLS_TUNNEL_INDEX: 4
EGR_IP_TUNNEL_MPLS[4]
(lsp) MPLS_LABEL0
(lsp) MPLS_LABEL1
(lsp) MPLS_LABEL2
(lsp) MPLS_LABEL3
— 속성 측면 —
MPLS_ENTRY[1592]
레이블: 18
source_vp: 11
nh_index: 11
소스_VP[11]
DVP: 10
ING_DVP_TABLE[10]
nh_index: 410
ING_L3_NEXT_HOP[410]
Port_num: 31
module_id: 36
삭제: 0
EGR_L3_NEXT_HOP[410]
SD_TAG:VINTF_CTR_IDX: 134
SD_TAG:RESERVED_3: 0
SD_TAG:SD_TAG_DOT1P_MAPPING_PTR: 0
SD_TAG:NEW_PRI: 0
SD_TAG:신규_CFI: 0
SD_TAG:SD_TAG_DOT1P_PRI_SELECT: 0
SD_TAG:RESERVED_2: 0
SD_TAG:SD_TAG_TPID_INDEX: 0
SD_TAG:SD_TAG_ACTION_IF_NOT_PRESENT: 0
SD_TAG:SD_TAG_ACTION_IF_PRESENT: 3
SD_TAG:HG_L3_OVERRIDE: 0
SD_TAG:HG_LEARN_OVERRIDE: 1
SD_TAG:HG_MC_DST_PORT_NUM: 0
SD_TAG:HG_MODIFY_ENABLE: 0
SD_TAG:DVP_IS_NETWORK_PORT: 0
SD_TAG:DVP: 10
SD_TAG:SD_TAG_VID: 0
ENTRY_TYPE: 2
오류: EGR_VLAN_XLATE 테이블에서 항목을 찾을 수 없습니다!
EGR_VLAN_XLATE[-1]
soc_mem_read: 메모리 EGR_VLAN_XLATE에 대해 잘못된 인덱스 -1
로그는 PW가 올바른 VLAN 및 레이블과 함께 하드웨어에 바인딩되고 설정되었음을 나타냅니다. 이는 이전에 확인된 내용과 일치합니다.
데이터 포인트가 일치하지 않거나 누락된 경우, 하드웨어의 PW를 설정하고 바인딩하지 않은 드라이버에서 문제가 발생합니다. 이는 소프트웨어 또는 하드웨어 결함을 가리킵니다.
지금까지 모두 정상인 경우 IOS 명령 "ping mpls pseudowire 202.202.202.202 12 reply mode control-channel"을 사용하여 내부적으로 PW 부분을 ping할 수 있습니다. 이는 PW 부분을 한 터널 끝점에서 다른 터널 끝점으로 ping할 뿐 회로의 AC 부분에 닿지 않는다는 점을 다시 한 번 확인합니다.
10.88.130.201#ping mpls pseudowire 202.202.202.202 12 reply mode control-channel
202.202.202.202로 5, 100바이트 MPLS Echos를 전송하고
시간 초과는 2초이고 전송 간격은 0msec입니다.
코드: '!' - 성공, 'Q' - 요청을 보내지 않음, '.' - 시간 초과,
'L' - 레이블이 지정된 출력 인터페이스, 'B' - 레이블이 지정되지 않은 출력 인터페이스,
'D' - DS 맵 불일치, 'F' - FEC 매핑 없음, 'f' - FEC 불일치,
'M' - 형식이 잘못된 요청, 'm' - 지원되지 않는 tlvs, 'N' - 레이블 항목 없음,
'P' - rx intf label 포트 없음, 'p' - LSP의 조기 종료,
'R' - 트랜짓 라우터, 'I' - 알 수 없는 업스트림 인덱스,
'l' - FEC 변경으로 레이블 전환, 'd' - 반환 코드는 DDMAP 참조,
'X' - 알 수 없는 반환 코드, 'x' - 반환 코드 0
중단할 이스케이프 시퀀스를 입력합니다.
!!!!!
성공률은 100%(5/5), 왕복 최소/평균/최대 = 1/1/4ms
이제 이전에 수행한 것처럼 PW에서 통계를 확인합니다.
10.88.130.201#show mpls l2 vc 12 det | Beg 통계
VC 통계:
트랜짓 패킷 합계: 수신 5, 전송 0
전송 바이트 합계: 수신 650, 전송 0
트랜짓 패킷 삭제: 수신 0, 시퀀스 오류 0, 전송 0
ping이 성공했으며 5개의 ping 에코 패킷이 수신된 것으로 기록됩니다. 또한 ping 요청 패킷은 전송된 것으로 기록되지 않습니다. 에코 요청/응답 패킷은 CPU에 의해 카운터 후의 스트림으로 전송되므로 기록되지 않습니다.
Ping이 작동하지 않을 경우, 터널을 작동하려면 뒤로 물러나서 디버그해야 합니다.
PW 부분이 여전히 양호해 보이면 각 끝의 AC 부분에 초점을 맞춥니다. 이는 디버그 지원이 많지 않기 때문에 어려운 부분이며 AC 경로에는 Cisco CPT50의 경우와 마찬가지로 여러 카드와 인터페이스가 포함될 수 있습니다.
하지만 확인할 수 있는 사항이 거의 없습니다.
테스터에서 패턴을 보내거나 클라이언트 측 장비에서 ping을 수행하여 CPT 상자의 클라이언트 대면 인터페이스에서 수신하는 패킷을 관찰할 수 있습니다. 이는 포트 기반 PW에서는 쉽지만 VLAN 기반 PW에서는 쉽습니다. 인터페이스에서 VLAN당 패킷을 표시하지 않기 때문입니다. 어떤 경우든 클라이언트 측 인터페이스에 대한 "show int ..." 명령은 패킷 카운트가 증가했음을 적어도 패킷이 올바르게 인식되고 다른 VLAN 기반 회로가 활성화되지 않았음을 나타내는 기호로 표시해야 합니다.
AC를 통해 들어오는 이러한 패킷은 MPLS 레이블로 지정된 다음 PW를 통해 반대편으로 전송된다는 점을 기억하십시오. 따라서 PW 부분의 통계에 전송된 패킷으로 표시되어야 합니다. 따라서" show mpls l2 vc 12 detail에서 자세히 살펴보십시오. | beg statistics"
10.88.130.201#show mpls l2 vc 12 detail | 구걸 통계학
VC 통계:
전송 패킷 합계: 수신 0, 전송 232495
전송 바이트 합계: 수신 0, 전송 356647330
트랜짓 패킷 삭제: 수신 0, 시퀀스 오류 0, 전송 0
그리고 해당 패킷은 먼 쪽 끝의 동일한 명령에서 패킷 "수신"으로 표시되어야 합니다. 따라서 이 엔드에서의 전송 PW 패킷과 먼 엔드에서의 수신 PW 패킷은 클라이언트 장비에서 전송된 패킷 수와 일치해야 합니다. 동일한 명령 사용" show mpls l2 vc 12 detail | 맨 끝에 있는 "beg statistics"는 다음을 보여줍니다.
10.88.130.202#show mpls l2 vc 12 detail | beg statis
VC 통계:
트랜짓 패킷 합계: 수신 232495, 전송 0
전송 바이트 합계: 수신 356647330, 보내기 0
트랜짓 패킷 삭제: 수신 0, 시퀀스 오류 0, 전송 0
한쪽 끝의 전송과 다른 쪽 끝의 수신 간의 패킷에서 일치를 확인할 수 있습니다.
MPLS 카운터를 지워야 하는 경우 "clear mpls counters" 명령을 사용합니다.
통계를 확인하는 또 다른 방법은 SPAN 기능을 사용하여 들어오는 EFP 트래픽을 CPT 노드의 예비품 포트로 복제한 다음 이 포트에서 통계를 찾아 고객 인터페이스에서 받은 패킷을 모니터링하는 것입니다.
마지막으로 여러 패브릭 및 라인 카드에서 BCM 셸 명령을 실행하여 패킷을 내부적으로 추적할 수 있지만, 이 문서의 범위를 벗어납니다.