[index] CentreCOM AR740 コマンドリファレンス 2.6

非同期コール/概要・基本設定


  - 基本設定
   - 物理インターフェース(非同期ポート)の設定
   - モデムの設定
   - モデムスクリプトの作成
   - ACCコールの作成
   - 上位層とのインターフェース
  - PPP接続の設定例
   - ルーター間接続
   - ダイヤルアップサーバー
  - デバッグ


ここでは、シリアルポートを使って非同期通信を行う非同期コールコントロール(ACC)機能について説明します。

本製品は、最高115200bpsでの通信が可能な非同期シリアルインターフェース(Asyn)を2ポート装備しています。これらの非同期ポートは通常コンソールポートとして使用しますが、モデム等を接続することにより外部への発信、外部からの着信が可能なWANポートとして使用することもできます。

ACCモジュールは、非同期ポート経由でモデム等を制御し、発着信や接続相手の認証、上位モジュールであるPPP(Point-to-Point Protocol)とのインターフェースを提供するモジュールです。

 

基本設定

非同期ポートを使って通信を行う場合の基本的な設定手順は次のようになります。

  1. 物理インターフェース(非同期ポート)の通信設定
  2. モデムの設定(手動設定またはモデムスクリプトによる自動設定)
  3. モデムスクリプトの作成(モデム初期化、発信、ログイン等のシーケンスをスクリプトに記述)
  4. ACCコールの作成(接続先、使用する非同期ポート、エンキャプセレーションなどを設定)
  5. 上位プロトコルの設定(必要に応じて)

以下、各手順について解説します。

 

物理インターフェース(非同期ポート)の設定

モデムを接続する非同期ポートの設定は次のようにしてください。設定は、SET ASYNコマンドで行います。


■ 非同期ポート「1」をモデム接続用の設定にします。ここでは、ポート速度を最高値の115200に設定しています。


 

モデムの設定

非同期ポートに接続するモデムの設定は次のようにしてください。モデムの設定は機種によって異なる可能性がありますので、モデムのマニュアルでご確認ください。


モデムの設定は、CONNECT PORTコマンドでモデムに接続し、コマンドモードで直接AT コマンドを入力して行うこともできますが、通常は次に述べるモデムスクリプトを使って自動的に行います。

 

モデムスクリプトの作成

非同期ポートに接続したモデムの制御は、モデムスクリプトの内容にしたがって行われます。モデムスクリプトは、ルーター・モデム間のやりとりを記述したテキストファイル(チャットスクリプト)です(拡張子は.mds)。

モデムスクリプトは、ADD ACC SCRIPTコマンドやEDITコマンドで作成できるほか、別のコンピューター上で作成したものをLOADコマンドでダウンロードして使うこともできます。
モデムスクリプトの内容は、以下の2つの要素からなります。

■ 送信ステートメント:モデムに送るコマンドをスクエアブラケット([])で囲んだものです。改行などの制御文字はキャレット(^)を使って「^m」(Ctrl-Mの意味)のように表します。たとえば、モデムを初期化するには次のように書きます。最後の「^m」を忘れるとモデムにコマンドが入力されないので注意してください。


Note - 送信ステートメントの文字列はそのまま送られます。コネクトスクリプトなどでログインパスワードを送信するときは、大文字小文字の区別に注意してください。

■ 受信ステートメント:期待する応答文字列と待ち時間をかっこ(())で囲んだものです。(待ち時間 文字列)の形式で指定します。ここで「待ち時間」は応答を待つ時間(秒)、「文字列」はモデムからの応答を示します。指定時間内に期待した応答を得られなかった場合はスクリプトの実行を中止し、DTR信号をオフにしてモデムに回線切断をうながします。たとえば、「ok」という文字列を5秒間待つには、次のように書きます。


待ち時間だけで文字列を指定しなかった場合は、単に指定時間だけ待機した後、次のステートメントに進みます。


また、待ち時間を指定せずに文字列だけを指定した場合は、指定文字列を受信するまで無期限に待ちつづけます。


Note - 受信ステートメントの文字列は大文字小文字を区別しません。

モデムスクリプトは、実行される時期によって3種類に分類できます。


以下、モデムスクリプトの具体例を示します。

ダイヤルスクリプトの例

リセットスクリプトの例

コネクトスクリプトの例

■ モデムスクリプトを作成するときは、最初に手動接続してモデムやログイン先の応答を確認するとよいでしょう。CONNECT PORTコマンドでモデムが接続されているポートを指定すると、端末から直接モデムにコマンドを入力できるようになります。たとえば、非同期ポート「1」にモデムが接続されている場合、コマンドプロンプトから次のように入力します。



ルーターのコンソールに戻るにはBreakを送ります。コンソールからログインしている場合は、「Break」キーを入力するか、端末ソフトの機能を使ってBreakを送信してください。また、Telnetでログインしている場合は、「Ctrl-P」を入力してください。Breakを送信すると、モデムとのセッションがサスペンド状態となり、次のように表示されます。


この状態では、モデムとの接続がまだ保持されているため、完全に接続を切るには、次のように入力します。指定する番号(セッション番号)は、SHOW SESSIONSコマンドで確認できます。



 

ACCコールの作成

非同期ポートを使って通信を行うには、接続先情報をACCコールとして定義する必要があります。ACCコールはISDN接続におけるISDNコールと同様のもので、ADD ACC CALLコマンドで作成します。

■ リモートサイト06-1234-2222にダイヤルするACCコール「remote」を作成します。DIRECTIONには有効な呼の方向を「ORIGINATE」(発呼のみ)、「ANSWER」(着呼のみ)、「BOTH」(発呼、着呼の両方)から指定します。ENCAPSULATIONには使用する非同期回線上で使用するプロトコルを指定します。PPPの場合はPPPとなります。AUTHENTICATIONは着信時の認証方式を指定するもので、PASSWORD(パスワード認証)かNONE(なし)を指定します。ここではPPPレベルで認証を行うものと仮定し、NONEを指定します。ASYNには、モデムを接続している非同期ポート番号を指定します。DSCRIPT、RSCRIPTはそれぞれダイヤルスクリプト、リセットスクリプトの指定です。コネクトスクリプトはCSCRIPTで指定します。


ダイヤルスクリプト「dial.mds」

リセットスクリプト「reset.mds」

■ DIALパラメーターを使用すると、ダイヤルスクリプト実行時に引数%1として値を渡すことができます。このパラメーターに接続先電話番号を指定することで、ダイヤルスクリプトを汎用的に書けるようになります。


ダイヤルスクリプト「dial.mds」

スクリプト実行時には、%1がDIALパラメーターで指定した値に置き換えられます。この例では「0612342222」に置き換えられるため、「ate0q1dt0612342222」というモデムコマンドが実行されることになります。

■ 着呼時にPPPインターフェースを動的作成する場合は、PPPTEMPLATEパラメーターでPPPテンプレート番号を指定します。着信専用のときはDIRECTIONにANSWERを指定します。また、ダイヤルスクリプトは不要なので指定しません。


■ ACCコールを手動で起動(発信)するには、ACTIVATE ACC CALLコマンドを使います。起動できるのは、発信可能なACCコール(DIRECTIONパラメーターにORIGINATEかBOTHを指定したもの)だけです。


■ ACCコール上にダイヤルオンデマンドのPPPインターフェースが作成されている場合は、必要に応じてACCコールが自動的に発呼し、無通信状態が一定時間続くと自動的に切断されます。PPPインターフェースのダイヤルオンデマンドは、CREATE PPPコマンド/SET PPPコマンドのIDLEパラメーターで設定します。

また、ダイヤルオンデマンドがオフのPPPインターフェースが作成されている場合は、ルーター起動時に自動的に発呼します。

ADD ACC CALLコマンドのAUTHENTICATIONパラメーターは、着呼時のログイン認証について設定するパラメーターです。


Note - AUTHENTICATIONパラメーターは、リモートシステムとの物理接続が完了した直後に行われるログイン認証の有無を指定するものです。おもに端末ログインやSLIP接続時の認証に使います。PPPレベルでの認証(PAPやCHAP)には関係しませんのでご注意ください。PPPレベルでCHAP等の認証を行うときは、通常AUTHENTICATIONパラメーターにNONEを指定します。

Note - SLIPはサポート対象外です。

ADD ACC CALLコマンドのENCAPSULATIONパラメーターは、非同期回線上で使用する伝送手順(データリンク層プロトコル)を指定するものです。PPPを使う場合はPPPを、SLIPを使う場合はSLIPかCSLIPを指定してください。

■ ACCコールの設定内容を変更するにはSET ACC CALLコマンドを使います。たとえば、ACCコール「remote」のダイヤル先を変更するには、次のようにします。


■ ACCコールの設定情報を確認するには、SHOW ACC CALLコマンドを使います。


■ ACCコールを削除するには、DELETE ACC CALLコマンドを使います。


 

上位層とのインターフェース

ACCコール上で使用できるデータリンク層プロトコルには、PPP(Point-to-Point Protocol)とSLIP(Serial Line Internet Protocol)の2種類があります。これらのインターフェースは次のようにして設定します。

■ ACCコール上にPPPインターフェースを作成するときは、OVERパラメーターにACCコール名を「ACC-callname」の形式で指定します。「ACC-」は固定文字列、「callname」はコール名です。ダイヤルオンデマンドを有効にするため「IDLE=ON」を付けるようにしてください。


■ SLIPインターフェースの場合、特に作成の操作は必要ありません。ACCコールのENCAPSULATIONパラメーターにSLIPかCSLIPを指定した場合、「SLIPn」という名前のSLIPインターフェースが自動的に(暗黙のうちに)作成されます。「n」は、ACCコール作成時にASYNパラメーターで指定した非同期インターフェースの番号です。たとえば、asyn1上にSLIP用のACCコールを作成した場合、インターフェース名はslip1となります。

このインターフェースは、SHOW INTERFACEコマンド等では見ることができませんが、ADD IP INTERFACEコマンドでIPアドレスを割り当てることができます。


Note - SLIPはサポート対象外です。

 

PPP接続の設定例

PPPは、シリアル回線経由で複数プロトコルの通信を可能にするプロトコルです。モジュール型の設計により認証などの機能も提供されています。現在、もっとも一般的に使用されているWANプロトコルです。

  1. 物理インターフェースとして非同期(Asyn)ポートを使用する。非同期ポートにはシリアルケーブルでモデムやTAを接続します。
  2. モデム、TA経由での呼を管理するため、非同期(ACC)コールを作成して、接続先の電話番号、使用する非同期ポート、モデムスクリプトなどを指定する。ACCコールは、BRI、PRIポート上で使用するISDNコールとよく似た働きをします。ただし、ISDNの場合は回線制御機構がルーターに内蔵されているのに対し、ACCコールでは発着信の制御を外部のモデムに依存している点が異なります。
  3. ACCコール上にPPPインターフェースを作成する。具体的には、CREATE PPPコマンドのOVERパラメーターにACCコール名を「ACC-」+コール名の形式で指定します。これは、モデム等により交換回線網上に張られた「呼」を物理的な伝送路と見なしていることを示します。

 

ルーター間接続

2つのLANをアナログ回線経由で接続します。IPアドレスは、それぞれのルーターで固定的に設定します。

ルーターA
  1. 非同期ポートの設定を行います。


  2. ACCコールを作成し、接続先を登録します。相手ルーターの認証はPPPのリンク確立後に行うため、AUTHENTICATIONパラメーターにはNONEを指定します。


  3. 相手ルーターのPPPユーザー名を登録します。


  4. PPPインターフェースを作成します。物理インターフェースには、ACCコール名の前に「ACC-」を付けたものを指定します。


  5. IPの設定をします。


ルーターB
  1. 非同期ポートの設定を行います。


  2. ACCコールを作成し、接続先を登録します。相手ルーターの認証はPPPのリンク確立後に行うため、AUTHENTICATIONパラメーターにはNONEを指定します。


  3. 相手ルーターのPPPユーザー名を登録します。


  4. PPPインターフェースを作成します。物理インターフェースには、ACCコール名の前に「ACC-」を付けたものを指定します。


  5. IPの設定をします。


■ モデムスクリプトdial.mdsの内容は次のとおりです。

■ モデムスクリプトreset.mdsの内容は次のとおりです。

■ PPPインターフェースには、必ずしもIPアドレスを設定する必要はありません。IPアドレスを設定しないインターフェースをUnnumbered IPインターフェースと呼びます。Unnumberedを使用する場合は、手順5のIPの設定で次の2行を変更します。

ルーターA


ルーターB


 

ダイヤルアップサーバー

アナログ回線経由でダイヤルアップを受け入れられるように設定します。接続してきたユーザーには、ユーザー認証データベースに登録されたIPアドレスを割り当てます。

ルーター(ダイヤルアップサーバー)
  1. 非同期ポートの設定を行います。


  2. PPPユーザーを登録します。IPADDRESS、NETMASKパラメーターは、このユーザーが接続してきたときに割り当てるIPアドレスとネットマスクです。ダイヤルアップユーザーに割り当てるネットマスクは、通常255.255.255.255になります。


  3. ユーザーが接続してきたときに動的に作成されるPPPインターフェースのテンプレートを作成します。ルーターのユーザー認証データベースを使って認証を行い、認証方式にはCHAPかPAPのどちらかを使います。


  4. ACCコールを作成します。着信専用なのでDIRECTIONにはANSWERを指定します。PPPTEMPLATEには、着信時に動的作成するPPPインターフェースのテンプレートを指定します。また、接続ユーザーの認証はPPPのリンク確立後に行うため、AUTHENTICATIONパラメーターにはNONEを指定します。


    RSCRIPT(リセットスクリプト)には、モデムを初期化し、自動応答をオンにするためのモデムコマンドを記述します。DSCRIPT(ダイヤルスクリプト)は不要なので指定しません。
  5. LAN側のIP設定をします。


■ モデムスクリプトreset.mdsの内容は次のとおりです。

■ IPプールを使ってアドレスを動的に割り当てるには、手順2、3を次のように変更します。この例では、192.168.10.211〜192.168.10.220の範囲から空いているアドレスを動的に割り当てます。


■ RADIUSサーバーを使ってユーザーに割り当てるIPアドレスを管理するには、手順2、3を次のように変更します。ユーザーアカウントはRADIUSサーバー上で管理するため、ADD USERコマンドは必要ありません。その代わり、ADD RADIUS SERVERコマンドでRADIUSサーバーのIPアドレスと共有パスワードを指定する必要があります。


RADIUSサーバーのクライアント情報ファイルとユーザー情報ファイルの例を示します。設定ファイルの書式はサーバーによって微妙な違いがあるので注意してください。詳細はRADIUSサーバーのマニュアルをご覧ください。

[/etc/raddb/clients]

[/etc/raddb/users]

 

デバッグ

■ 非同期コールのデバッグをオンにするには、ENABLE ACC CALL DEBUGコマンドを使います。


■ 接続に失敗する場合、非同期ポートの設定を確認してください。CD信号線の解釈の仕方(SET ASYNコマンドのCDCONTROLパラメーター)がCONNECT(CDオンで接続、オフで切断と認識する)になっているかどうか確認してください。







(C) 1997 - 2008 アライドテレシスホールディングス株式会社

PN: 613-000215 Rev.C