音声サービス
音声サービスの概要
アダプティブ サービス インターフェイスには、VoIP(Voice over IP)トラフィックに対応するためにインターフェイス タイプ lsq-fpc/pic/port を指定できる音声サービス機能が含まれています。このインターフェイスは、RFC 2508低 速シリアルリンク用IP/UDP/RTPヘッダーの圧縮で定義されているCRTP(Compressed RTP)を使用します。
CRTPは、ほとんどの場合、40バイトのIP/UDP/RTPヘッダーを2〜4バイトに圧縮することにより、VoIPトラフィックが低速リンクをより効果的に使用できるようにします。
ASおよびマルチサービスPIC上の音声サービスは、ATM2、DS3、E1、E3、OC3、OC12、STM1、T1の物理インターフェイスタイプ(これらのインターフェイスのチャネル化されたバージョンを含む)を介したシングルリンクPPPカプセル化IPv4トラフィックをサポートします。
音声サービスでは、別途サービスルールを設定する必要はありません。
音声サービスは、M320ルーターを除く、ジュニパーネットワークスM SeriesマルチサービスエッジルーターでもLFIをサポートします。音声サービスの設定の詳細については、 音声サービスのサービスインターフェイスの設定を参照してください。
リンクサービスIQインターフェイス(lsq)の場合のみ、マルチクラスMLPPP(MCML)でCRTPを設定できます。MCMLは、複数のリンクを使用した場合に発生するパケットの順序付けの問題を大幅に簡素化します。MCMLを使用しない場合、パケットの順序付けの問題を回避するために、単一フローに属するすべての音声トラフィックが単一リンクにハッシュされます。MCMLを使用すると、音声トラフィックを優先度の高いクラスに割り当てることができ、複数のリンクを使用できます。リンクサービスIQインターフェイスでのMCMLサポートの詳細については、 サービスPICでのリンクサービスとCoSの設定を参照してください。
音声サービス用のサービスインターフェイスの設定
圧縮などの音声サービスプロパティを定義するには、インターフェイスタイプ lsq-で指定された音声サービスインターフェイスのステートメントと値を設定します。以下のステートメントを含めることができます。
encapsulation mlppp; family inet { address address; } compression { rtp { f-max-period number; maximum-contexts number <force>; port { minimum port-number; maximum port-number; } queues [ queue-numbers ]; } } fragment-threshold bytes;
以下の階層レベルでこれらのステートメントを含めることができます。
[edit interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number][edit logical-systems logical-system-name interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number]
以下のセクションでは、サービスインターフェイス上の音声サービスを設定するための詳細な手順について説明します。
MLPPP バンドルの論理インターフェイス アドレスの設定
MLPPPバンドルの論理アドレスを設定するには、 address ステートメントを含めます。
address address { ... }
以下の階層レベルでこのステートメントを設定できます。
[edit interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number family inet][edit logical-systems logical-system-name interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number family inet]
address インターフェイスのIPアドレスを指定します。ASおよびマルチサービスPICは、IPバージョン4(IPv4)アドレスのみをサポートしているため、 family inet ステートメントの下で設定されます。
サービスインターフェイスに固有ではない、設定できるその他のアドレッシングプロパティについては、 ルーティングデバイス用Junos OSネットワークインターフェイスライブラリを参照してください。
音声トラフィックの圧縮の設定
compressionステートメントを含めることで、サービスインターフェイスが音声トラフィック圧縮を処理する方法を指定できます。
compression { rtp { f-max-period number; maximum-contexts number <force>; port { minimum port-number; maximum port-number; } queues [ queue-numbers ]; } }
以下の階層レベルでこのステートメントを含めることができます。
[edit interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number][edit logical-systems logical-system-name interfaces (lsq | ls)-fpc/pic/port unit logical-unit-number]
以下のステートメントは、示された圧縮プロパティを設定します。
f-max-period number—フルヘッダーの送信間に挿入する圧縮パケットの最大数を設定します。ステートメントを含めない場合、デフォルトは255パケットです。maximum-contexts number <force>—ネゴシエーション中に受け入れるRTPコンテキストの最大数を指定します。オプションのforceステートメントでは、ネゴシエートされた値に関係なく、最大RTPコンテキストに指定された値をPICで使用する必要があります。このオプションは、リンク速度に基づくRTPコンテキスト値に基づくJunos OSリリースとの相互運用性を可能にします。port、minimum port-number、maximum port-number—RTP圧縮が有効になるUDP宛先ポート値の範囲の下限と上限を指定します。port-number値の範囲は 0 から 65,535 です。RTP圧縮は、指定した範囲内のポートを通過するトラフィックに適用されます。queues [ queue-numbers ]—キューq0、q1、q2、およびq3の 1 つ以上を指定します。RTP圧縮は、指定されたキュー内のトラフィックに適用されます。注:ポート範囲と1つ以上のキューの両方を指定した場合、どちらかの条件が満たされると圧縮が行われます。
遅延に敏感なパケット インターリーブの設定
CRTPを設定すると、ソフトウェアによって自動的にリンクのフラグメント化およびインターリーブ(LFI)が有効になります。LFIは、長いパケットをより小さなパケットにフラグメント化し、リアルタイムフレームとインターリーブすることで、過度の遅延を低減します。これにより、リアルタイムトラフィックに過度の遅延を引き起こすことなく、リアルタイムおよび非リアルタイムのデータフレームを低速リンクで一緒に伝送することができます。ピアインターフェイスが小さいフラグメントを受信すると、フラグメントを元のパケットに再アセンブリします。例えば、パケット化された音声などの遅延の影響を受けやすい短いパケットは、一般的なデータパケットのような遅延の影響を受けにくい大きなパケットよりも競合する可能性があります。
デフォルトでは、[edit interfaces interface-name unit logical-unit-number]階層レベルでcompression rtpステートメントを含めると、LFIは常にアクティブになります。LFIの動作を間接的に制御するには、同じ論理インターフェイスにfragment-thresholdステートメントを設定します。例えば、[edit interfaces interface-name unit logical-unit-number]階層レベルにfragment-threshold 256ステートメントを含めると、256バイトを超えるすべてのIPパケットがフラグメント化されます。
例:音声トラフィックの圧縮の設定
MLPPPカプセル化を使用してT1インターフェイスで圧縮を設定します。128バイトを超えるすべてのIPパケットのフラグメント化を設定します。
[edit interfaces]
t1-1/0/0 {
unit 0 {
family mlppp {
bundle lsq-1/1/0.1;
}
}
}
lsq-1/1/0 {
encapsulation mlppp;
unit 1 {
compression {
rtp {
port minimum 2000 maximum 64009;
}
}
family inet {
address 30.1.1.2/24;
}
fragment-threshold 128;
}
}
音声サービスのカプセル化の設定
音声サービスインターフェイスは、以下の論理インターフェイスカプセル化タイプをサポートしています。
デフォルトのカプセル化であるマルチリンクポイントツーポイントプロトコル(MLPPP)
AAL5 LLC上のATM2 IQ MLPPP
フレームリレーPPP
カプセル化に関する一般的な情報については、 ルーティングデバイス用 Junos OS ネットワークインターフェイスライブラリを参照してください。また、音声サービスインターフェイスで物理インターフェイスのカプセル化を設定することもできます。
音声サービスのカプセル化を設定するには、 encapsulation ステートメントを含めます。
encapsulation type;
以下の階層レベルでこのステートメントを含めることができます。
[edit interfaces interface-name unit logical-unit-number][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
音声サービスインターフェイスの場合、 type 変数の有効な値は atm-mlppp-llc、 frame-relay-ppp 、または multilink-pppです。
また、対応するカプセル化タイプ(フレームリレーまたはPPP)で物理インターフェイスを設定する必要があります。LSQ インターフェイスは、次の物理インターフェイス タイプでサポートされています:ATM2 IQ、DS3、E1、E3、OC3、OC12、STM1、T1(これらのインターフェイスのチャネル化されたバージョンを含む)。例については、「 例:音声サービスの設定」を参照してください。
frame-relay-pppカプセル化でサポートされているプロトコルタイプはfamily mlpppのみです。
音声サービス用のネットワークインターフェイスの設定
音声サービスインターフェイスの設定を完了するには、次のセクションで説明するように、MLPPPカプセル化と音声サービスバンドル、またはPPPカプセル化と圧縮インターフェイスのいずれかで物理ネットワークインターフェイスを設定する必要があります。
MLPPP カプセル化による音声サービスバンドルの設定
音声サービスインターフェイスの場合、リンクバンドルをチャネルとして設定します。物理インターフェイスは通常、MLPPPをサポートできるネットワークに接続されています。音声トラフィックでサポートされているインターフェイスタイプは、T1、E1、T3、E3、OC3、OC12、STM1で、これらのインターフェイスのチャネル化されたバージョンも含まれます。
M SeriesルーターとT Seriesルーターには、以下の注意点が適用されます。
バンドル インターフェイスでサポートされる最大スループットは 45 Mbps です。
T3物理インターフェイスの下の論理インターフェイスを、同じバンドルまたは異なるバンドルにバンドルすることはサポートされていません。
MLPPP 用の物理インターフェイス リンクを設定するには、以下のステートメントを含めます。
bundle interface-name;
以下の階層レベルでこのステートメントを設定できます。
[edit interfaces interface-name unit logical-unit-number family mlppp][edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family mlppp]
family mlpppを設定する場合、他のプロトコル設定は許可されません。リンクバンドルの詳細については、マルチリンクまたはリンクサービスバンドル内のリンクの設定を参照してください。
PPP カプセル化による圧縮インターフェイスの設定
PPPカプセル化用の物理インターフェイスを設定するには、音声圧縮に使用するサービスインターフェイス(lsq-(リンクサービスIQ)インターフェイス)も指定する必要があります。
圧縮インターフェイスを設定するには、 compression-device ステートメントを含めます。
compression-device interface-name;
以下の階層レベルでこのステートメントを設定できます。
例:音声サービスの設定
T1物理インターフェイスとMLPPPバンドルカプセル化を使用して、音声サービスを設定します。
[edit interfaces]
t1-0/2/0:1 {
encapsulation ppp;
unit 0 {
family mlppp {
bundle lsq-1/3/0.1;
}
}
}
lsq-1/3/0 {
unit 1 {
encapsulation mlppp;
family inet {
address 10.5.5.2/30;
}
compression {
rtp {
f-max-period 100;
queues [ q1 q2 ];
port {
minimum 16384;
maximum 32767;
}
}
}
fragment-threshold 128;
}
}
バンドルせずにフレームリレーカプセル化を使用して音声サービスを設定します。
[edit interfaces]
t1-1/0/0 {
encapsulation frame-relay;
unit 0 {
dlci 100;
encapsulation frame-relay-ppp;
compression-device lsq-2/0/0.0;
}
}
lsq-2/0/0 {
unit 0 {
compression {
rtp {
f-max-period 100;
queues [ q1 q2 ];
port {
minimum 16000;
maximum 32000;
}
}
}
family inet {
address 10.1.1.1/32;
}
}
}
ATM2物理インターフェイスを使用して音声サービスを設定します(説明のために、対応するサービスクラス設定が提供されています)。
[edit interfaces]
at-1/2/0 {
atm-options {
vpi 0;
pic-type atm2; # only ATM2 PICs are supported
}
unit 0 {
vci 0.69;
encapsulation atm-mlppp-llc;
family mlppp {
bundle lsq-1/3/0.10;
}
}
unit 1 {
vci 0.42;
encapsulation atm-mlppp-llc;
family mlppp {
bundle lsq-1/3/0.11;
}
}
}
lsq-1/3/0 {
unit 10 {
encapsulation multilink-ppp;
}
# Large packets need to be fragmented.
# Fragmentation can also be specified per forwarding class.
fragment-threshold 320;
compression {
rtp {
port minimum 2000 maximum 64009;
}
}
}
unit 11 {
encapsulation multilink-ppp;
}
fragment-threshold 160;
[edit class-of-service]
scheduler-maps {
sched {
# Scheduling parameters apply to bundles on the AS or Multiservices PIC.
# Unlike DS3/SONET interfaces, there is no need to create
# a separate scheduler map for the ATM PIC. ATM defines
# CoS constructs under the [edit interfaces at-fpc/pic/port] hierarchy.
...
}
}
fragmentation-maps {
fragmap {
forwarding-class {
ef {
# In this example, voice is carried in the ef queue.
# It is interleaved with bulk data.
# Alternatively, you could use multiclass MLPPP to
# carry multiple classes of traffic in different
# multilink classes.
no-fragmentation;
}
}
}
}
interfaces {
# Assign fragmentation and scheduling parameters to LSQ interfaces.
lsq-1/3/0 {
unit 0 {
shaping-rate 512k;
scheduler-map sched;
fragmentation-map fragmap;
}
unit 1 {
shaping-rate 128k;
scheduler-map sched;
fragmentation-map fragmap;
}
}
}