シリアルリレーサービスの概要
IR1101 のシリアルリレーサービスは、IOx アプリケーションが非同期シリアルポート(IOS-XE では /dev/ttyS1)と通信できるようにします。シリアルリレーサービスの設定は、IR800 の設定と同様です。
この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章は、次の項で構成されています。
IR1101 のシリアルリレーサービスは、IOx アプリケーションが非同期シリアルポート(IOS-XE では /dev/ttyS1)と通信できるようにします。シリアルリレーサービスの設定は、IR800 の設定と同様です。
IR1101 では、IOS-XE が非同期シリアルポートのデータパスと制御パスを完全に制御します。これは、PPP、raw ソケット、SCADA などの非同期ポートでサポートされている他のカプセル化にとっては不可欠です。IOx アプリケーションは、デバイスを完全に制御することはできません。すべてのデータと設定は、IOS-XE を介してデバイスに渡されます。実際のシリアルポートを IOx アプリケーションに公開する代わりに、シリアルリレーサービスは、/dev/ttyTun0 として列挙されるソフトウェアによってエミュレートされたシリアル tty デバイスを作成します(以下を参照)。
デバイスのペア /dev/ttyTun0 と /dev/ttyTun1 はデータトンネルを表し、データ転送中にパススルーゲートウェイとして機能します。/dev/ ttyTun1 は IOS-XE によって開かれ、IOS からアプリケーションへのすべての入出力データはデータ転送中にこのデバイスを使用します。回線 0/0/0 は、/dev/ttyTun1 との通信に使用されます。シリアルリレーサービスは、2 本の回線間の接続を許可するように事前に設定しておく必要があります。
IOx アプリケーションが /dev/ttyTun0 に文字を送信すると、トンネルドライバは自動的にデータを /dev/ttyTun1 にプッシュします。
IOS はデータを読み取り、シリアルリレーサービスに渡します。
シリアルリレーサービスは、リレーサービスのもう一方の端(この場合は回線 0/2/0)に関する情報を取得し、回線のバッファにデータを転送します。
ラインドライバは、バッファにデータがあると、実際のシリアルデバイス(/dev/ ttyS1)にデータをアクティブにプッシュします。
リバースパスは、/dev/ttyS1 と /dev/tun0 の役割を入れ替えても同様に機能します。
IOx アプリケーションが /dev/ttyTun0 で TCGETS ioctl コールを実行すると、トンネルドライバは /dev/cttyTun を使用して、IOS で実行されている CTTY ハンドラサービスに要求を送信します。
CTTY ハンドラサービスとカーネルドライバは、クライアント/サーバアーキテクチャを使用して設定オブジェクトと通信します。
TCGETS に関する要求を /dev/cttyTun から受信すると、CTTY ハンドラは要求を調べ、必要なデータを制御データ構造に入力するようにラインドライバに要求します。
制御データ構造を受信すると、CTTY ハンドラは /dev/cttyTun に応答を送信し、最終的に /dev/ttyTun0 に戻ります。
/dev/ttyTun0 は要求どおりに IOx アプリケーションに制御データを渡します。
同様のパスを TCSETS に当てはめると、CTTY ハンドラが下部の /dev/ttyS1 ドライバの設定を更新するようにラインドライバに要求します。
回線 0/2/0 のラインドライバと /dev/ttyTun0 のドライバ設定は、常に相互に同期しています。ボーレートの変更などの設定変更は、設定のオーバーヘッドを増加させずにラインドライバに透過的に伝達されます。これは、仮想シリアルポートが実際のシリアルポートのパラメータを設定できる IR800 シリーズのシリアルリレーの伝達機能をエミュレートしています。
IR1101#configure terminal
IR1101(config)#interface async 0/2/0
IR1101(config-if)#encapsulation relay-line
IR1101(config-if)#exit
IR1101(config)#relay line 0/2/0 0/0/0
IR1101(config)#exit
IR1101#