소개
이 문서에서는 Active Measurement Protocol 및 지연 측정을 위한 Synchronizing bit (S bit) 사용에 대해 설명합니다. IOS-XR 플랫폼에서 S 비트의 지원 기능에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 항목에 대한 기본 지식을 갖춘 것을 권장합니다.
사용되는 구성 요소
이 문서의 정보는 Cisco ASR9000 디바이스 - IOS-XR 5.3.4 릴리스.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문제: TWAMP S 비트가 잘못 설정되었습니다.
TWAMP를 사용하여 두 TWAMP 지원 디바이스 간의 단방향 및 왕복 성능을 측정할 수 있습니다. 서드파티 프로브와 IOS-XR 5.3.4에서 실행되는 CRS/ASR9000 디바이스 간의 TWAMP 기반 IP SLA(Internet Protocol Service Level Agreement)를 테스트하면 TWAMP Server는 S 비트를 False로 설정합니다. 따라서, 프로브 장치에 의해 단방향 지연이 계산되지 않는다.
TWAMP 기본
RFC4656에 지정된 OWAMP(One-way Active Measurement Protocol)는 네트워크 디바이스 간 단방향 메트릭을 측정하는 공통 프로토콜을 제공합니다. OWAMP를 양방향으로 사용하여 두 네트워크 요소 간의 양방향 단방향 메트릭을 측정할 수 있습니다. 다만 왕복 또는 양방향 측정은 수용하지 않는다.
RFC5357에 설명된 TWAMP(Two-Way Active Measurement Protocol)는 IP 기반 네트워크에 대한 왕복 및 양방향 메트릭의 성능 측정을 추가하여 RFC-4656에 정의된 OWAMP(One-Way Active Measurement Protocol) 사양에 따라 확장되는 표준 기반 및 매우 효과적인 성능 모니터링 프로세스입니다. TWAMP는 벤더에 구애받지 않는 방법으로 두 TWAMP 지원 엔드포인트 간의 단방향 및 왕복 성능을 정확하게 측정합니다.
RFC4656(One-Way Active Measurement Protocol)에 따라, 타임스탬프를 생성하는 당사자가 외부 소스를 통해 UTC에 동기화된 클럭을 갖는 경우 첫 번째 비트 S를 설정해야 합니다.
예를 들어 다음과 같은 경우 S 비트를 설정해야 합니다.
- GPS(Global Positioning System) 하드웨어는 현재 위치 및 시간을 획득했음을 나타내는 데 사용됩니다.
- NTP(Network Time Protocol)는 계층 0 소스 등 외부 소스와 동기화되었음을 나타내는 데 사용됩니다.
- 시간 소스에 대한 외부 동기의 개념이 없으며, S 비트를 설정해서는 안 된다.
The Error Estimate specifies the estimate of the error and
synchronization. It has the following format:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|Z| Scale | Multiplier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TWAMP 엔티티는 다음과 같습니다.
TWAMP 시스템은 4개의 논리적 엔티티로 구성됩니다.
· 서버 - 하나 이상의 TWAMP 세션을 관리하고 엔드포인트에서 세션당 포트도 구성
· session-reflector - TWAMP 테스트 패킷을 수신하는 즉시 측정 패킷을 반영합니다.
· control-client - TWAMP 테스트 세션의 시작과 중지를 시작합니다.
· session-sender - 세션 리플렉터로 전송된 TWAMP 테스트 패킷을 인스턴스화합니다.
TWAMP 프로토콜은 다음과 같습니다.
TWAMP 프로토콜에는 다음과 같은 세 가지 고유한 메시지 교환 범주가 포함됩니다.
메시지는 Control-Client와 Server 간에 세션 연결을 설정합니다. 먼저 전달된 피어의 ID는 챌린지 응답 메커니즘을 통해 설정됩니다. 서버는 무작위로 생성된 챌린지를 전송하고, 그러면 Control-Client는 공유 비밀에서 파생된 키를 사용하여 챌린지를 암호화하여 응답을 전송합니다. ID가 설정되면 다음 단계에서는 TWAMP-Test 스트림 패킷뿐만 아니라 후속 TWAMP-Control 명령에 바인딩되는 보안 모드를 협상합니다.
참고: 서버는 여러 제어 클라이언트의 연결 요청을 수락할 수 있습니다.
TWAMP-Control 프로토콜은 TCP를 통해 실행되며 측정 세션을 인스턴스화하고 제어하는 데 사용됩니다. 명령의 순서는 다음과 같으나 연결 설정과 달리 TWAMP-Control 명령은 여러 번 전송할 수 있습니다. 그러나 여러 request-session 명령을 session-start 명령 이전에 보낼 수는 있지만 메시지가 순서를 벗어나서 발생할 수는 없습니다.
◦ 세션 요청
◦ 시작
◦ 세션 중지
TWAMP-Test는 UDP를 통해 실행되며 Session-Sender와 Session-Reflector 간에 TWAMP-Test 패킷을 교환합니다. 이러한 패킷에는 패킷 이그레스 및 인그레스 인스턴스가 포함된 타임스탬프 필드가 포함됩니다. 또한 각 패킷에는 외부 시간 소스(예: GPS 또는 NTP)와의 발신자(session-sender 또는 session-reflector)의 동기화 스큐(synchronization skew)를 나타내는 오류 추정치가 포함됩니다. 패킷에는 Sequence Number(시퀀스 번호)도 포함됩니다.
TWAMP-Control 및 TWAMP-test 스트림에는 세 가지 보안 모드, 즉 인증되지 않음, 인증 및 암호화됨이 있습니다.
문제 해결
일부 플랫폼은 하드웨어 타임 스탬프를 제공하기 위해 특정 컨피그레이션 또는 구축에 의존할 수 있습니다. 특히 Cisco ASR9000 Series 라우터는 클럭 소스로 PTP(Precision Time Protocol) 동기화가 필요합니다. 이 솔루션은 일부 사용자 시나리오에서 제공되지 않을 수 있습니다. 다른 타임 스탬핑 소스(NTP 클럭 소스, RouteProcessor(RP)에서 실행되는 데몬을 통해)를 사용할 수 있도록 다른 플랫폼 종속 레이어에서 제공하는 타임 스탬프 값을 무시하고 플랫폼 독립 타임 스탬프로 되돌리기 위해 ipsla hw-timestamp disable의 새로운 컨피그레이션이 도입되었습니다.
NTP 클럭 동기화가 활성화 및 활성화된 경우 IP SLA 컨피그레이션에서 hw-timestamp disable 명령을 사용하여 하드웨어 타임스탬프를 비활성화합니다.
ipsla
hw-timestamp disable
responder
twamp
timeout 100
!
!
server twamp
timer inactivity 100
Cisco ASR 9000 Series Aggregation Services Router 릴리스 정보, 릴리스 6.0.1에는 새로운 TWAMP 정확도 향상 기능이 도입되었습니다.
TWAMP 정확도 향상은 TWAMP 측정에서 마이크로초 단위의 세분화를 제공합니다. 이러한 개선을 통해 와이어에 최대한 가깝게 인그레스 및 이그레스 타임스탬프를 수집하여 더 정확하게 확인할 수 있습니다.
IOS XR 릴리스를 6.1.X 이상으로 업그레이드하여 TWAMP Accuracy Enhancement 기능을 사용하고 원하는 동작의 달성을 확인할 수 있습니다.
다음 단계를 수행하여 문제를 해결하고 패킷 캡처를 해결할 수 있습니다
- twamp 서버 및 responder(예: 120s)의 시간 초과에 대해 더 높은 값을 구성하므로 수집 전에 정보가 너무 빨리 만료되지 않습니다.
- 디버그를 활성화해야 하므로 디바이스에서 디버깅 로그 메시지를 로깅 버퍼로 전송하도록 구성해야 합니다. 로깅 버퍼의 크기는 테스트 중에 디버깅 메시지가 롤오버되지 않도록 충분히 크게 구성해야 합니다.
- 디바이스와 프로브 간에 교환되는 모든 패킷이 캡처되는지 확인합니다(UDP 프로브 패킷뿐만 아니라 세션 설정을 위한 TCP).
- 테스트가 수행되는 위치에 따라 ASR9000 또는 CRS 디바이스에서 나열된 명령을 수집합니다.
1단계. Probe에서 테스트를 시작하기 전에 다음을 수집합니다.
- 터미널 길이 0
- 설치 활성 합계 표시
- 관리: 플랫폼 표시
- admin show hw-module fpd location all
- 쇼 런
- ipsla twamp 표준
- show ipsla twamp 상태
- show ntp status
- ntp 연결 세부 정보 표시
2단계. 디바이스에서 모든 Twamp 디버그를 활성화한 다음 로그를 지웁니다.
- 패킷 캡처 시작
- 프로브에서 테스트 시작
참고: 프로브에서 실행되는 유일한 twamp 테스트인 경우 이 경우 출력이 너무 많이 생성되지 않습니다.
3단계.테스트가 완료된 후 이러한 명령을 수집합니다
- 로그 표시
- ipsla twamp 연결 세부 정보 표시
- ipsla twamp 연결 요청 표시
- ipsla twamp 세션 표시
- show ipsla trace twamp all verbose
- show ipsla trace twamp initialization verbose
해결 방법: IOS-XR에서 S bit가 구현되지 않음
RFC 4656에 따라 시간 소스에 대한 외부 동기화 개념이 없는 경우 비트를 설정하지 않아야 합니다. 따라서 S 비트는 IOS-XR 플랫폼에서 구현되지 않습니다.