이 문서에서는 Cisco IOS® SAA(Service Assurance Agent) 및 RTTMON(Round Trip Time Monitor) 기능과 Cisco 라우터를 사용하여 데이터 네트워크에서 지연, 지터 및 패킷 손실을 측정하는 방법에 대해 설명합니다.
데이터 네트워크에서 새로운 애플리케이션이 등장함에 따라, 고객은 새로운 애플리케이션 출시의 영향을 정확하게 예측하는 것이 점점 더 중요해지고 있습니다. 얼마 전까지만 해도 애플리케이션에 대역폭을 쉽게 할당하고 애플리케이션이 상위 레이어 프로토콜의 시간 제한 및 재전송 기능을 통해 트래픽 흐름의 폭발적인 특성에 적응하도록 했습니다. 그러나 이제 음성 및 비디오와 같은 새로운 세계 애플리케이션은 데이터 네트워크의 전송 특성 변화에 더 민감합니다. 성공적인 구현을 위해서는 새로운 세계 애플리케이션을 구축하기 전에 네트워크의 트래픽 특성을 이해해야 합니다.
VoIP(Voice over IP)는 지연 및 지터라고 하는 네트워크 동작에 취약하며, 이로 인해 음성 애플리케이션이 일반 사용자가 용납할 수 없는 수준으로 저하될 수 있습니다. 지연은 네트워크의 특정 지점에서 특정 지점까지 걸리는 시간입니다. 지연은 단방향 또는 왕복 지연으로 측정할 수 있습니다. 단방향 지연 계산은 고가의 정교한 테스트 장비를 필요로 하며 대부분의 엔터프라이즈 고객의 예산과 전문 지식을 초과합니다. 하지만 왕복 지연 측정이 더 쉽고 비용이 덜 드는 장비가 필요하다. 일방향 지연의 일반적인 측정을 얻으려면 왕복 지연을 측정하고 결과를 2로 나눕니다. 일반적으로 VoIP는 통화 품질이 떨어질 때까지 최대 150ms의 지연을 허용합니다.
지터는 점대점에서 점대점으로 시간에 따른 지연 변화입니다. VoIP 통화에 전송 지연이 너무 크게 달라지면 통화 품질이 크게 저하됩니다. 네트워크에서 허용되는 지터의 양은 음성 경로의 네트워크 장비 상의 지터 버퍼의 깊이에 의해 영향을 받는다. 사용 가능한 지터 버퍼가 많을수록 네트워크는 지터의 영향을 줄일 수 있습니다.
패킷 손실로 인해 데이터 경로에 있는 패킷이 손실되어 음성 애플리케이션이 심각하게 저하됩니다.
VoIP 애플리케이션을 구축하기 전에 음성 애플리케이션이 작동하는지 확인하기 위해 데이터 네트워크의 지연, 지터 및 패킷 손실을 평가하는 것이 중요합니다. 지연, 지터 및 패킷 손실 측정은 트래픽 우선순위의 올바른 설계 및 컨피그레이션뿐만 아니라 데이터 네트워크 장비의 버퍼링 파라미터를 지원합니다.
SAA 및 RTTMON MIB는 버전 12.0(5)T 이상에서 사용할 수 있는 Cisco IOS 소프트웨어 기능입니다. 이러한 기능을 사용하면 데이터 네트워크에서 지연, 지터 및 패킷 손실 통계를 테스트하고 수집할 수 있습니다. IPM(Internetwork Performance Monitor)은 기능을 구성하고 SAA 및 RTTMON 데이터를 모니터링할 수 있는 Cisco 네트워크 관리 애플리케이션입니다. SAA 및 RTTMON 기능을 사용하여 소규모 Cisco IOS 라우터를 에이전트로 구축하여 고객 엔드스테이션을 시뮬레이션함으로써 지연, 지터 및 패킷 손실을 측정할 수 있습니다. 라우터를 지연 및 지터 프로브라고 합니다. 또한 지연 및 지터 프로브는 기본 값이 결정되면 원격 모니터링(RMON) 경보 및 이벤트 트리거를 사용하여 구성할 수 있습니다. 이를 통해 지연 및 지터 프로브는 네트워크에서 미리 결정된 지연 및 지터 서비스 레벨을 모니터링하고 임계값을 초과할 경우 NMS(Network Management System) 스테이션에 알림을 전송할 수 있습니다.
지연 및 지터는 Cisco IOS 소프트웨어 코드 버전 12.05T 이상을 사용하여 Cisco 라우터 17xx 이상을 구축하고 Cisco IOS SAA 기능을 구성하여 측정할 수 있습니다. 라우터는 호스트 옆에 있는 캠퍼스 네트워크에 배치해야 합니다. 엔드 투 엔드 연결에 대한 통계를 제공합니다. 네트워크에서 가능한 모든 음성 경로를 측정하는 것은 현실적이지 않으므로 일반적인 음성 경로의 통계 샘플링을 제공하는 프로브를 일반적인 호스트 위치에 배치합니다. 예를 들면 다음과 같습니다.
로컬 캠퍼스-캠퍼스 경로
384 kbs Frame Relay 회로를 통한 로컬 캠퍼스-원격 캠퍼스 경로
ATM PVC(Permanent Virtual Circuit)를 통한 로컬 캠퍼스-원격 캠퍼스
FXS(Foreign Exchange Station) 포트를 사용하여 Cisco 라우터에 연결된 기존 전화기를 사용하는 VoIP 구축의 경우, 전화기에 연결된 라우터를 사용하여 지연 및 지터 프로브 역할을 합니다. 구축되면 프로브는 통계를 수집하고 라우터에 SNMP(Simple Network Management Protocol) MIB 테이블을 채웁니다. 그런 다음 Cisco IPM 애플리케이션 또는 SNMP 폴링 툴을 통해 데이터에 액세스할 수 있습니다. 또한 베이스라인 값이 설정되면 지연, 지터 및 패킷 손실에 대한 임계값이 초과될 경우 NMS 스테이션에 알림을 전송하도록 SAA를 구성할 수 있습니다.
SAA를 테스트 메커니즘으로 사용하는 장점 중 하나는 음성 통화를 시뮬레이션할 수 있다는 것입니다. 예를 들어, G.711 음성 통화를 시뮬레이션한다고 가정해 보겠습니다. RTP/UDP 포트 14384 이상을 사용하며, 약 64kb/s이며 패킷 크기는 200바이트 {(페이로드 160바이트 + IP/UDP/RTP(압축되지 않음) })입니다.아래 그림과 같이 SAA 지연/지터 프로브를 설정하여 이러한 유형의 트래픽을 시뮬레이션할 수 있습니다.
지터 작업은 다음을 수행해야 합니다.
RTP/UDP 포트 번호 14384으로 요청을 보냅니다.
172바이트 패킷(페이로드 160 + RTP 헤더 크기 12 바이트) + 28바이트(IP + UDP)를 전송합니다.
각 주파수 주기에 대해 3000개의 패킷을 전송합니다.
60초 동안 매 패킷을 20밀리초 간격으로 보내고 10초 후 다음 주파수 주기를 시작합니다.
이러한 매개변수는 60초 동안 64kb/s를 제공합니다.
(데이터그램 3000개 * 데이터그램당 160바이트)/ 60초) * 바이트당 8비트 = 64kb/s
라우터의 컨피그레이션은 다음과 같이 표시됩니다.
rtr 1 type jitter dest-ipaddr 172.18.179.10 dest-port 14384 num-packets 3000+ request-data-size 172* frequency 70 rtr schedule 1 life 2147483647 start-time now
참고: IP+UDP는 라우터가 내부적으로 크기에 자동으로 추가하므로 request-data-size에서 고려되지 않습니다.
참고: 현재 Cisco IOS는 작업당 1000개의 패킷만 지원합니다. 이 한도는 향후 릴리스에서 인상될 예정입니다.
다음 예의 라우터는 60초마다 60초 음성 통화를 시뮬레이션하고 양쪽 방향의 지연, 지터 및 패킷 손실을 기록합니다.
주: 지연 계산은 왕복 시간이며 단방향 지연을 얻으려면 2로 나누어야 합니다.
saarouter1# rtr responder rtr 1 type jitter dest-ipaddr 172.18.179.10 dest-port 14384 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now saarouter2# rtr responder rtr 1 type jitter dest-ipaddr 172.18.178.10 dest-port 14385 num-packets 1000 request-data-size 492 rtr schedule 1 life 2147483647 start-time now saarouter3# rtr responder rtr 1 type jitter dest-ipaddr 172.18.179.100 dest-port 14385 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now saarouter4# rtr responder rtr 1 type jitter dest-ipaddr 172.18.178.100 dest-port 14385 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now
지연 및 지터 프로브는 SNMP MIB 테이블에 이후 배치되는 데이터 수집을 시작합니다. rttMonStats 테이블은 최근 1시간 동안의 모든 지터 연산의 1시간 평균을 제공합니다. rttMonLatestJitterOper 테이블은 마지막으로 완료된 작업의 값을 제공합니다. 지연 및 지터에 대한 일반적인 통계의 경우 rttMonStats 테이블을 매시간 폴링합니다. 좀 더 세분화된 통계를 보려면 rttMonLatestJitterOper 테이블을 지터 연산보다 높은 주파수 레벨로 폴링합니다. 예를 들어 지연 및 지터 프로브가 5분마다 지터를 계산하는 경우 5분 미만의 간격으로 MIB를 폴링하지 마십시오.
다음 화면 캡처는 HP OpenView Network Node Manager MIB 폴에서 수집한 rttMonJitterStatsTable의 데이터를 보여줍니다.
다음 SAA 데이터 그래프는 한 쌍의 지연 및 지터 프로브에 대해 8시간 동안의 지연, 지터 및 패킷 손실 데이터 포인트의 모음입니다.
지연 및 지터 프로브의 명령줄에서 Cisco IOS show 명령을 사용하여 데이터를 볼 수도 있습니다. Perl Expect 스크립트를 사용하여 명령줄에서 데이터를 수집하고 나중에 분석할 수 있도록 텍스트 파일로 내보낼 수 있습니다. 또한, 명령줄 데이터는 지연, 지터 및 패킷 손실의 실시간 모니터링 및 트러블슈팅에 사용될 수도 있습니다.
다음 예는 saarouter1 라우터의 show rtr collection-stats 명령의 명령 출력을 보여줍니다.
#show rtr collection-stats 100 Collected Statistics Entry Number: 100 Target Address: 172.16.71.243, Port Number: 16384 Start Time: 13:06:04.000 09:25:00 Tue Mar 21 2000 RTT Values: NumOfRTT: 600 RTTSum: 873 RTTSum2: 1431 Packet Loss Values: PacketLossSD: 0 PacketLossDS: 0 PacketOutOfSequence: 0 PacketMIA: 0 PacketLateArrival: 0 InternalError: 0 Busies: 0 Jitter Values: MinOfPositivesSD: 1 MaxOfPositivesSD: 1 NumOfPositivesSD: 23 SumOfPositivesSD: 23 Sum2PositivesSD: 23 MinOfNegativesSD: 1 MaxOfNegativesSD: 1 NumOfNegativesSD: 1 SumOfNegativesSD: 1 Sum2NegativesSD: 1 MinOfPositivesDS: 1 MaxOfPositivesDS: 1 NumOfPositivesDS: 7 SumOfPositivesDS: 7 Sum2PositivesDS: 7 MinOfNegativesDS: 1 MaxOfNegativesDS: 1 NumOfNegativesDS: 18 SumOfNegativesDS: 18 Sum2NegativesDS: 18 Entry Number: 100 Target Address: 172.16.71.243, Port Number: 16384 Start Time: 14:06:04.000 09:25:00 Tue Mar 21 2000 RTT Values: NumOfRTT: 590 RTTSum: 869 RTTSum2: 1497 Packet Loss Values: PacketLossSD: 0 PacketLossDS: 0 PacketOutOfSequence: 0 PacketMIA: 0 PacketLateArrival: 0 InternalError: 0 Busies: 0 Jitter Values: MinOfPositivesSD: 1 MaxOfPositivesSD: 1 NumOfPositivesSD: 29 SumOfPositivesSD: 29 Sum2PositivesSD: 29 MinOfNegativesSD: 1 MaxOfNegativesSD: 1 NumOfNegativesSD: 7 SumOfNegativesSD: 7 Sum2NegativesSD: 7 MinOfPositivesDS: 1 MaxOfPositivesDS: 1 NumOfPositivesDS: 47 SumOfPositivesDS: 47 Sum2PositivesDS: 47 MinOfNegativesDS: 1 MaxOfNegativesDS: 1 NumOfNegativesDS: 5 SumOfNegativesDS: 5 Sum2NegativesDS: 5
초기 데이터 수집을 통해 베이스라인 값이 설정되면 네트워크에서 지연, 지터 및 패킷 손실 레벨을 모니터링하는 여러 가지 방법이 있습니다. 한 가지 방법은 SAA threshold 명령입니다. 또 다른 방법은 Cisco IOS 메인라인 코드에서 RMON Alarm and Event라는 기능을 사용하는 것입니다.
SAA feature set threshold 명령은 반응 이벤트를 발생시키는 상승 임계값(히스테리시스)을 설정하고, 동작에 대한 이력 정보를 저장한다. 지연 및 지터 프로브에 대한 다음 SAA 임계값 컨피그레이션은 지터의 모니터링을 활성화하고 5ms 임계값을 위반할 경우 SNMP 트랩을 생성합니다.
saarouter1# rtr 100 rtr reaction-configuration 100 threshold-falling 5 threshold-type immediate
지연 및 지터 프로브는 SAA Cisco IOS 기능 또는 Cisco IOS RMON 경보 및 이벤트 방법을 사용하여 미리 결정된 임계값을 모니터링합니다. 어떤 경우든 라우터는 지연, 지터 및 패킷 손실을 모니터링하고 SNMP 트랩을 통해 NMS 스테이션에 임계값 위반을 알립니다.
다음 RMON 경보 및 이벤트 트랩 컨피그레이션에서는 상승 임계값이 최대 왕복 시간 140ms를 초과하면 saarouter1이 SNMP 트랩을 생성합니다. 또한 최대 왕복 시간이 100ms 이하로 떨어지면 또 다른 트랩을 보냅니다. 그런 다음 라우터의 로그와 NMS 스테이션 172.16.71.19로 트랩이 전송됩니다.
saarouter1# rmon alarm 10 rttMonJitterStatsRTTMax.100.120518706 1 absolute rising-threshold 140 100 falling-threshold 100 101 owner jharp rmon event 100 log trap private description max_rtt_exceeded owner jharp rmon event 101 log trap private description rtt_max_threshold_reset owner jharp
지터는 단방향 레이턴시의 변화이며 전송된 연속 패킷의 송수신 타임스탬프를 기반으로 계산됩니다.
타임스탬프 | 발송인 | 응답기 |
---|---|---|
T1 | pkt1 보내기 | |
T2. | 수신 pkt1 | |
T3 | pkt1에 대한 회신 보내기 | |
T4 | pkt1에 대한 회신 수신 | |
T5 | pkt2 보내기 | |
T6 | 수신 pkt2 | |
T7 | pkt2에 대한 회신 보내기 | |
T8 | pkt2에 대한 회신 수신 |
위의 패킷 1 및 패킷 2에 대해 다음과 같은 소스 및 대상 계산을 사용합니다.
소스에서 대상으로의 지터(JitterSD) = (T6-T2) - (T5-T1)
대상에서 소스로 보내는 지터(JitterDS) = (T8-T4) - (T7-T3)
지터는 연속된 두 패킷마다 타임스탬프를 사용하여 계산됩니다. 예를 들면 다음과 같습니다.
Router1 send packet1 T1 = 0 Router2 receives packet1 T2 = 20 ms Router2 sends back packet1 T3 = 40 ms Router1 receives packet1 response T4 = 60 ms Router1 sends packet2 T5 = 60 ms Router2 receives packet2 T6 = 82 ms Router2 sends back packet2 T7 = 104 ms Router1 receives packet2 response T8 = 126 ms Jitter from source to destination (JitterSD) = (T6-T2) - (T5-T1) Jitter from source to destination (JitterSD) = (82 ms - 20 ms) - (60 ms - 0 ms) = 2 ms positive jitter SD Jitter from destination to source (JitterDS) = (T8-T4) - (T7-T3) Jitter from destination to source (JitterDS) = (126 ms - 60 ms) - (10 4ms - 40 ms) = 2 ms positive jitter DS
CISCO1720—2개의 WAN 슬롯과 Cisco IOS IP Software가 있는 10/100BaseT 모듈형 라우터
MEM1700-16U24D—Cisco 1700 16MB에서 24MB DRAM 공장 업그레이드
MEM1700-4U8MFC—Cisco 1700 4MB에서 8MB 미니 플래시 카드 팩토리 업그레이드
CAB-AC - 전원 코드, 110V
S17CP-12.1.1T—Cisco 1700 IOS IP PLUS
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
02-Dec-2013 |
최초 릴리스 |