4. ネイティブ ATM PVC

PVC は直接接続しているマシンでも、 スイッチ経由で接続しるマシンでも、 いずれの場合も使用できます。 後者の場合、セルフォワードの設定は、 スイッチに対して手動で行なわなければなりません。

4.1. トラフィックツール

aread/awritebr/bw は、ATM の API にアクセスするための簡単なプログラムです。 awrite は AAL5 PDU の第二パラメータに渡したテキスト文字列を送信し、 aread は AAL5 PDU を 1 個 受信して、その内容を 16 進数で表示します。 両プログラムとも、該当するシステムコールの戻り値と、 errno の現在値も表示します。

bw は、標準入力も、(番号を第四パラメータに渡した場合は) 8kB の AAL5 PDU にある任意のデータを含むブロックのストリームも、 いずれも送信します。 br は AAL5 PDU を受信して、その内容を標準出力に書き出します。

aread, awrite, br, bw, これら四つの第一パラメータは、常に PVC アドレス、 つまり、ATM インタフェース番号と VPI 番号、それに VCI 番号を、 ドットで区切って並べたものです。 インタフェース番号は、ゼロなら省略してもかまいません。 例えば、以下のようなものです。

中には、 VPI == 0 しかサポートしていないアダプタもあるので、 注意して下さい。また、例えば 0 から 1023 までというように、 VCI の範囲にも制限があるかも知れません。 インタフェース番号は、スタート時にドライバが表示する、 初期化メッセージで分かります。 atm0 ならインタフェース 0 で、 atm1 ならインタフェース 1、等々 というようになります。 (例えば atmtcp ばかりではなく) 本物の ATM アダプタを装備しているシステムなら、 アダプタは、通常 atm0 にあります。

aping は、PVC 上で短い AAL5 PDU の送受信を行ないます。 このプログラムは、送信するメッセージがエコーバックされるか、 他端の同じようなプログラムがメッセージストリームを生成すると思っていますが、 長時間何もメッセージを受信しないと、エラーを報告します。 aping は、aread のように、 PVC を指定して起動します。

"本物の"テストの際は、 このパッケージに付いてくる、 ttcp の修正版を使用して下さい。 修正前のオリジナルは ftp://ftp.sgi.com/sgi/src/ttcp/ にあります。 修正に際しては、以下のオプションを付け加えました。

-a

UDP/TCP ではなく、ネイティブの ATM を使用します。 PVC については、アドレスは [itf.]vpi.vci 形式でなければなりません。 SVC については、ATM のエンドシステムの有効なアドレスにしてください。

-P num

num セル毎秒のピークセルレートで、 CBR コネクションを使用します。 デフォルトでは、UBR を使用します。

-C

(UDP チェックサムを無効にします。

例:

4.2. ダイレクトセルアクセス

デバイスドライバがサポートしているアダプタでは、 素のセル ("AAL0") にアクセスします。 個々のセルは、 atmdump で作れるし受信もできます。 以下のその例を載せます。