소개
이 문서에서는 음성 코덱 대역폭 계산 및 VoIP(Voice over IP)를 사용할 때 대역폭을 수정하거나 보존하는 기능에 대해 설명합니다.
배경 정보
패킷 음성 네트워크를 구축할 때 고려해야 할 가장 중요한 요소 중 하나는 적절한 용량 계획입니다. 용량 계획 내에서 대역폭 계산은 양호한 음성 품질을 위해 패킷 음성 네트워크를 설계하고 문제를 해결할 때 고려해야 할 중요한 요소입니다.
참고: 이 문서를 보완하기 위해 TAC Voice Bandwidth Codec Calculator(등록된 고객만 해당) 툴을 사용할 수 있습니다. 이 도구는 패킷 음성 통화에 필요한 대역폭을 계산하는 방법에 대한 정보를 제공합니다.
VoIP - 통화당 대역폭
이러한 프로토콜 헤더 가정은 계산에 사용됩니다.
-
IP(20바이트)/UDP(User Datagram Protocol)(8바이트)/RTP(Real-Time Transport Protocol)(12바이트) 헤더의 경우 40바이트
-
압축된 실시간 프로토콜(cRTP)은 IP/UDP/RTP 헤더를 2 또는 4바이트로 줄입니다(cRTP는 이더넷을 통해 사용할 수 없음).
-
MP(Multilink Point-to-Point Protocol) 또는 FRF(Frame Relay Forum).12 L2(Layer 2) 헤더의 경우 6바이트
-
MP 및 Frame Relay 프레임의 end-of-frame 플래그에 대한 1바이트.
-
이더넷 L2 헤더의 경우 18바이트. 여기에는 4바이트의 FCS(Frame Check Sequence) 또는 CRC(Cyclic Redundancy Check)가 포함됩니다.
참고: 이 표에는 Cisco Call Manager 또는 Cisco IOS® Software H.323 게이트웨이의 기본 음성 페이로드 크기 계산만 포함됩니다. 다른 음성 페이로드 크기 및 기타 프로토콜(예: VoFR(Voice over Frame Relay), VoATM(Voice over ATM)을 포함하는 추가 계산의 경우 TAC Voice Bandwidth Codec Calculator(등록된 고객만 해당) 툴을 사용합니다.
코덱 정보 |
대역폭 계산 |
코덱 및 비트 전송률(Kbps) |
코덱 샘플 크기(바이트) |
코덱 샘플 간격(ms) |
평균 의견 점수(MOS) |
음성 페이로드 크기(바이트) |
음성 페이로드 크기(ms) |
PPS(Packets Per Second) |
대역폭 MP 또는 FRF.12(Kbps) |
대역폭(cRTP MP 또는 FRF.12(Kbps) 포함) |
대역폭 이더넷(Kbps) |
G.711(64Kbps) |
80바이트 |
10밀리초 |
4.1 |
160바이트 |
20밀리초 |
50 |
82.8킬로바이트 |
67.6Kbps |
87.2Kbps |
G.729(8Kbps) |
10바이트 |
10밀리초 |
3.92 |
20바이트 |
20밀리초 |
50 |
26.8Kbps |
11.6Kbps |
31.2Kbps |
G.723.1(6.3Kbps) |
24바이트 |
30밀리초 |
3.9 |
24바이트 |
30밀리초 |
33.3 |
18.9Kbps |
8.8Kbps |
21.9Kbps |
G.723.1(5.3Kbps) |
20바이트 |
30밀리초 |
3.8 |
20바이트 |
30밀리초 |
33.3 |
17.9Kbps |
7.7Kbps |
20.8Kbps |
G.726(32Kbps) |
20바이트 |
5밀리초 |
3.85 |
80바이트 |
20밀리초 |
50 |
50.8Kbps |
35.6Kbps |
55.2Kbps |
G.726(24Kbps) |
15바이트 |
5밀리초 |
|
|
20밀리초 |
50 |
42.8킬로바이트 |
27.6Kbps |
47.2Kbps |
G.728(16Kbps) |
10바이트 |
5밀리초 |
3.61 |
60바이트 |
30밀리초 |
33.3 |
28.5Kbps |
18.4Kbps |
31.5Kbps |
G722_64k(64Kbps) |
80바이트 |
10밀리초 |
4.13 |
160바이트 |
20밀리초 |
50 |
82.8킬로바이트 |
67.6Kbps |
87.2Kbps |
ilbc_mode_20(15.2Kbps) |
38바이트 |
20밀리초 |
해당 없음 |
38바이트 |
20밀리초 |
50 |
34.0Kbps |
18.8Kbps |
38.4Kbps |
ilbc_mode_30(13.33Kbps) |
50바이트 |
30밀리초 |
해당 없음 |
50바이트 |
30밀리초 |
33.3 |
25.867킬로와트시 |
15.73킬로와트시 |
28.8Kbps |
용어 설명
코덱 비트 전송률(Kbps) |
코덱을 기반으로, 음성 통화를 전달하기 위해 전송해야 하는 초당 비트 수입니다. (코덱 비트 속도 = 코덱 샘플 크기/코덱 샘플 간격). |
코덱 샘플 크기(바이트) |
코덱을 기준으로, 각 코덱 샘플 간격에서 DSP(Digital Signal Processor)가 캡처한 바이트 수입니다. 예를 들어, G.729 코더는 8Kbps의 비트 속도로 샘플당 10바이트(80비트)에 해당하는 10ms의 샘플 간격으로 작동합니다. (코덱 비트 속도 = 코덱 샘플 크기/코덱 샘플 간격). |
코덱 샘플 간격(ms) |
코덱이 작동하는 샘플 간격입니다. 예를 들어, G.729 코더는 8Kbps의 비트 속도로 샘플당 10바이트(80비트)에 해당하는 10ms의 샘플 간격으로 작동합니다. (코덱 비트 속도 = 코덱 샘플 크기/코덱 샘플 간격). |
평균 의견 점수(MOS) |
MOS는 전화 연결의 음성 품질을 평가하는 데 사용되는 시스템입니다. MOS를 사용하면 음성 샘플의 품질을 1(나쁨)에서 5(우수)의 척도로 다양한 청취자가 판단합니다. 코덱에 대한 MOS를 제공하기 위해 점수의 평균을 구합니다. |
음성 페이로드 크기(바이트) |
음성 페이로드 크기는 패킷에 채워진 바이트(또는 비트)의 수를 나타냅니다. 음성 페이로드 크기는 코덱 샘플 크기의 배수여야 합니다. 예를 들어, G.729 패킷은 10, 20, 30, 40, 50 또는 60바이트의 음성 페이로드 크기를 사용할 수 있습니다. |
음성 페이로드 크기(ms) |
음성 페이로드 크기는 또한 코덱 샘플의 관점에서 표현될 수 있다. 예를 들어, 20ms의 G.729 음성 페이로드 크기(10ms 코덱 샘플 2개)는 20bytes[(20bytes*)의 음성 페이로드를 나타냅니다
/(20ms) = 8Kbps ] |
PPS |
PPS 는 코덱 비트 레이트를 전달하기 위해 매 초마다 전송해야 하는 패킷의 수를 나타낸다. 예를 들어, 패킷 당 음성 페이로드 크기가 20바이트(160비트)인 G.729 통화의 경우 초당 50개의 패킷을 전송해야 합니다[50pps = (8Kbps) / (패킷 당 160비트)]. |
대역폭 계산 공식
다음 계산이 사용됩니다.
샘플 계산
예를 들어, cRTP, MP를 사용하는 G.729 통화의 필수 대역폭(8Kbps 코덱 비트 속도)은 다음과 같으며 음성 페이로드의 기본 20바이트는 다음과 같습니다.
-
총 패킷 크기(바이트) = (6바이트의 MP 헤더) + (2바이트의 압축된 IP/UDP/RTP 헤더) + (20바이트의 음성 페이로드) = 28바이트
-
총 패킷 크기(비트) = (28바이트) * 바이트 당 8비트 = 224비트
-
PPS = (8Kbps 코덱 비트 레이트) / (160비트) = 50pps
참고: 160비트 = 20바이트(기본 음성 페이로드) * 8비트/바이트
-
통화당 대역폭 = 음성 패킷 크기(224비트) * 50pps = 11.2Kbps
Cisco Call Manager 및 Cisco IOS 게이트웨이에서 음성 페이로드 크기 구성
패킷당 음성 페이로드 크기는 Cisco Call Manager 및 Cisco IOS 게이트웨이에서 구성할 수 있습니다.
참고: Cisco IOS 게이트웨이가 Cisco Call Manager에 MGCP(Media Gateway Control Protocol) 게이트웨이로 구성된 경우 모든 코덱 정보(코덱 유형, 페이로드 크기, 음성 활동 감지 등)는 Cisco CallManager에 의해 제어됩니다.
Cisco Call Manager에서 패킷당 음성 페이로드 크기는 시스템 전체에 걸쳐 구성할 수 있습니다. 이 속성은 Cisco Call Manager 관리(Service > Service Parameters > select_server > Cisco Call Manager)에서 다음 세 가지 서비스 매개변수로 설정됩니다.
-
PreferredG711MsPacketSize - (기본 설정: 20ms. 사용 가능한 설정: 10, 20, 30ms.)
-
PreferredG729MsPacketSize - (기본 설정: 20ms. 사용 가능한 설정: 10, 20, 30, 40, 50, 60ms.)
-
PreferredG723MsPacketSize - (기본 설정: 30ms. 사용 가능한 설정: 30~60ms.)
Cisco Call Manager에서 음성 페이로드 크기는 밀리초(ms) 샘플 단위로 구성됩니다. 코덱을 기반으로 이 테이블에서는 일부 ms 샘플을 실제 페이로드 크기(바이트)에 매핑합니다.
코덱 |
음성 페이로드 크기(ms) |
음성 페이로드 크기(바이트) |
의견 |
G.711 |
20ms(기본값) |
160바이트 |
코덱 비트 속도는 항상 유지됩니다. 예: G.711 코덱 = [240바이트 * 8(비트/바이트)] / 30ms = 64Kbps |
30밀리초 |
240바이트 |
G.729 |
20ms(기본값) |
20바이트 |
30밀리초 |
30바이트 |
G.723 |
30ms(기본값) |
|
|
Cisco IOS 게이트웨이에서는 VoIP 패킷의 음성 페이로드 크기(바이트)를 CLI를 통해 변경할 수 있는 기능이 Cisco IOS Software Release 12.0(5)T에 추가되었습니다. 새 명령 구문은 다음과 같습니다.
Cisco-Router(config-dial-peer)#codec g729r8 bytes ?
Each codec sample produces 10 bytes of voice payload.
Valid sizes are:
10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230
Any other value within the range will be rounded down to nearest valid size.
<10-230> Choose a voice payload size from the list above
음성 페이로드 크기 변경의 영향
패킷당 코덱 샘플의 수는 VoIP 통화의 대역폭 및 지연을 결정하는 또 다른 요인입니다. 코덱은 샘플의 크기를 정의하지만 패킷에 배치된 총 샘플 수는 초당 전송되는 패킷 수에 영향을 줍니다.
음성 페이로드 크기를 늘리면 VoIP 대역폭이 줄어들고 전체 지연이 증가합니다. 다음 예에서는 이를 설명합니다.
참고:
- L2 헤더는 이 계산에서 고려되지 않습니다.
- 이 계산은 페이로드 크기가 두 배로 증가하는 동안 필요한 초당 패킷 수가 이후 절반으로 감소됨을 보여줍니다.
- ITU-T(International Telecommunication Union Telecommunication Standardization Sector) G.114 사양에 정의된 대로, 음성의 권장 단방향 전체 지연은 150ms입니다. 프라이빗 네트워크의 경우 200ms가 합리적인 목표이며 250ms가 최대여야 합니다.
음성 활동 감지
회선 교환 음성 네트워크를 사용할 경우 모든 음성 통화는 음성 통화의 양과 무음에 관계없이 64Kbps 고정 대역폭 링크를 사용합니다. VoIP 네트워크를 사용하면 모든 대화와 침묵이 패킷화됩니다. VAD(Voice Activity Detection)를 사용하면 무음 패킷을 억제할 수 있습니다.
VAD는 시간이 지남에 따라 평균 24개 이상의 통화량으로 최대 35%의 대역폭 절감을 제공할 수 있습니다. 모든 개별 음성 통화 또는 특정 포인트 측정에서 이 절감액을 실현하는 것은 아닙니다. 네트워크 설계 및 대역폭 엔지니어링의 목적상, 특히 동시에 24개 미만의 음성 통화를 전송하는 링크에서는 VAD를 고려하지 않아야 합니다. 대기 중 음악 및 팩스 등의 다양한 기능은 VAD를 비효율적으로 만듭니다. 전체 음성 통화 대역폭을 위해 네트워크를 설계하면 VAD가 제공하는 모든 절감 효과를 데이터 애플리케이션에서 사용할 수 있습니다.
또한 VAD는 CNG(Comfort Noise Generation)도 제공합니다. 연결이 끊어진 통화에 대해 무음으로 오인할 수 있으므로 CNG는 통화가 양측에 정상적으로 연결된 것처럼 보이도록 로컬에서 생성된 백색 노이즈를 제공합니다. G.729 Annex-B 및 G.723.1 Annex-A에는 통합 VAD 기능이 포함되어 있지만, 그렇지 않으면 각각 G.729 및 G.723.1과 동일하게 수행됩니다.
Cisco Call Manager에서 다음 서비스 매개변수를 사용하여 VAD를 활성화할 수 있습니다(기본적으로 비활성화됨).
-
SilenceSuppressionSystemWide - 이 매개변수는 모든 스키니 엔드포인트(예: Cisco IP Phone 및 Skinny 게이트웨이)에 대한 VAD 설정을 선택합니다.
-
SilenceSuppressionWithGateways - 이 매개 변수는 모든 MGCP 게이트웨이에 대한 VAD 설정을 선택합니다. 이는 H.323 게이트웨이에는 영향을 미치지 않습니다. H.323 게이트웨이의 VAD는 게이트웨이에서 비활성화되어야 합니다.
Cisco Call Manager Administration(Cisco Call Manager 관리)에서 이러한 서비스 매개변수를 찾을 수 있습니다(Service > Service Parameters(서비스 매개변수) > select_server > Cisco CallManager).
RTP Header-Compression 또는 Compressed RTP(cRTP)
모든 VoIP 패킷은 음성 샘플과 IP/UDP/RTP 헤더의 두 가지 구성 요소로 구성됩니다. 음성 샘플은 DSP(Digital Signal Processor)에서 압축되며 사용된 코덱에 따라 크기가 달라질 수 있지만 이 헤더의 길이는 일정한 40바이트입니다. 기본 G.729 통화의 음성 샘플 20바이트와 비교하면 이러한 헤더가 상당한 오버헤드를 구성합니다. cRTP에서는 이러한 헤더를 2바이트 또는 4바이트로 압축할 수 있습니다. 이러한 압축으로 VoIP 대역폭이 크게 절약됩니다. 예를 들어 기본 G.729 VoIP 통화는 cRTP 없이 24Kb를 사용하지만 cRTP가 활성화된 경우 12Kb만 사용합니다.
cRTP는 VoIP 통화를 링크 단위로 압축하므로 IP 링크의 양쪽 끝을 cRTP로 구성해야 합니다.
Cisco IOS Software Release 12.0.5T 이전 버전에서는 cRTP가 프로세스 스위칭되어 CPU 성능으로 인해 cRTP 솔루션의 확장성이 크게 제한됩니다. 이러한 문제의 대부분은 Cisco IOS Software 릴리스 12.0.7T~12.1.2T에 도입된 다양한 cRTP 성능 개선을 통해 해결되었습니다. 이것은 역사에 대한 요약입니다.
-
cRTP는 Cisco IOS Software 릴리스 12.0.5T 이하에서 프로세스 스위칭됩니다.
-
Cisco IOS Software Release 12.0.7T와 12.1.1T에서는 cRTP에 대한 고속 스위칭 및 Cisco Express Forwarding-switching 지원이 도입됩니다.
-
Cisco IOS Software 릴리스 12.1.2T에서는 알고리즘 성능 개선 사항이 도입되었습니다.
cRTP를 고속 스위칭 경로로 이동하면 VoIP 게이트웨이 및 중간 라우터가 처리할 수 있는 RTP 세션(VoIP 통화) 수가 크게 증가합니다.
압축을 위한 휴리스틱
RTP에는 고유한 패킷 헤더가 없으므로 RTP 스트림(cRTP용)은 휴리스틱을 사용하여 UDP 스트림(cUDP)과 구별됩니다. 압축을 위한 RTP 패킷을 탐지하기 위해 현재 사용되는 정확한 휴리스틱은 다음과 같습니다.
관련 정보