ベーシック手順 / Basic Procedure
■ ベーシック手順 ベーシック手順。ベーシック伝送制御手順。 米IBMのBSC手順を基に、ISOが1972年に標準化したプロトコル。 基本的に、文字(テキスト)情報を伝送するために設計された、 キャラクタベースのプロトコルである。 当初、汎用コンピュータ等で使われたが、 文字以外の情報を送れず、また伝送効率が悪いなど欠点も多く、 その後、HDLC手順に移行した。 ■ 伝送キャラクタ。 ベーシック手順で伝送されるデータは、基本的には文字情報のみ。 具体的には、JIS7単位コード符号である。 ベーシック手順では、基本的にバイナリデータを送信できない。 これは伝送するバイナリデータの中に、 下記に説明する伝送制御キャラクタと同一のビット列が、 含まれている可能性があるためである。 ■ 伝送制御キャラクタ。 ベーシック手順は、 10種類の伝送制御キャラクタを定義しており、 この伝送制御キャラクタを用いて伝送の制御を行う。 伝送制御キャラクタは、 単独で送受信されるもの(ENQ,EOT、ACK,NAKなど)と、 文字データにヘッダやトレーラとして付加されるもの(SOHやSTX,ETX,ETBなど) に分類される。 ■ 拡張ベーシック手順。 ベーシック手順を拡張して、伝送データの中に 伝送制御キャラクタと同一のビット列が含まれる場合でも、 正しく伝送できるようにしたもの。 具体的には、 伝送制御キャラクタの前には必ずDLEコードを付加して伝送することとし、 DLEを伴わない場合には、単なる伝送対象データとして区別できるようにした。 これをコードインディペデントモードと呼ぶ。 また、拡張ベーシック手順では、 両方向伝送モード(全二重モード)もサポートしている。 ■ 情報メッセージ。 ベーシック手順における情報伝送単位は、情報メッセージである。 情報メッセージは、 伝送経路やメッセージ番号などの補助的な情報を書いたヘディングと、 データの本文にあたるテキストから構成される。 ヘディングはSOH(Start of Heading)に始まり、STX (Start of Text)で終わる。 その後に続くテキストは、STXに始まりETX(End of Text)で終わる。 ■ 転送ブロック。 ベーシック手順では、情報メッセージを伝送する際には、 複数の伝送ブロックに分割して送る。 あらかじめ情報メッセージを小さなブロックに分割して送れば、 もしもデータ誤りが発生した場合でも、エラーの出たブロックのみを再送すればよく、 再送が必要なデータ量を少なくすることができるからである。 ブロックに分割した場合には、 分割した各ブロックに制御キャラクターを付加する。 ヘディング部分を分割したブロックであれば、 SOHとETB(End of Transmission Block)で挟む。 テキスト部分であれば、STXでとETBで挟む。 ただし、情報メッセージの最後のブロックは、ETXで終了する。 ■ データリンクの確立方式。 ベーシック手順におけるデータリンク確立方法には、 コンテンション方式とポーリング/セレクティング方式の2つがある。 ■ コンテンション方式。 ポイントツーポイント接続で用いられる。 双方の局は対等の立場にあり、制御権を早い者勝ちで奪う会う。回線争奪方式。 各局は送信要求が生じた時点で初めてデータリンク確立動作に入り、 それが相手より早ければ、主局となる。 もしも、まったく同時に送信要求を発した場合、伝送路上でお互いの要求が衝突する。 このとき両者は、設定された時間間隔でリトライを行う。 ■ ポーリング/セレティング方式。 ホストコンピュータに多数の端末が接続された集中制御型のシステムで用いられる。 送信権の制御はすべて中央の制御局が行う。 従属局が主導的にリンクを確立することはできない。 (1) ポーリング。 制御局は、定期的に、全ての従属局に対して、 送りたいデータの有無を順番に聞いていく。 回線負担は大きくなる。 (2) セレクティング。 制御局は、自ら送りたいデータがあるときだけ、 従属局に、送っても良いかを問合せ、データを送信する。 回線負担は小さい。 ■ データの送受信形態。 ベーシック手順は、基本的には半二重モードである。 しかし、拡張モードとして、会話モード、全二重モード、 複数従属セレクションモード、などがある。 [会話モード] リンクを維持したまま伝送方向を反転できる。 [全二重モード] 同時に両方向のデータを伝送できる。 [複数従属セレクションモード] 端末装置にデータを同報する。 ■ 具体的な通信手順。 ベーシック手順の具体的な通信手順は、以下のようになる。 (1) データリンクの確立。 (2) データの転送。 (3) 誤り検出と再送制御。 (4) データリンクの終了。 ■ データリンクの確立 ベーシック手順では、データリンクを確立するとき、 まず送信側からENQ(Enquiry)シーケンスを送信する。 このENQシーケンスは、受信側ホストは自分が通信したい相手に間違いないか、 受信準備は良いかを問うものである。 そして、相手端末から、ACK(DLE ACK)が返されると、データリンクが確立される。 もしも、NAK(DLE NAK)が返された場合には、データリンクは確立しない。 ■ データの転送 データリンクが確立されると、 送信側は、情報メッセージの送信を開始する。 このとき、同期方式としてキャラクタ同期(SYN同期)を用いる。 すなわち、送信側は、特に送るべきデータがなくても 常に8ビットのSYNキャラクタを送り続ける。 受信側では、SYNキャラクタ以外のビットパターンを受け取ると、 データの送信が始まったと理解して、データとして読み込む。 ■ 誤り検出と再送制御。 ベーシック手順では、各ブロックの最後に、 1〜2バイト長のBCS(Block Code Sequence)が付加される。 これを利用して、垂直・水平パリティ方式による誤り検出を行なう。 もしデータに誤りが無ければ、受信側はDLE ACKとDLE NAKを交互に返答する。 送信側は、DLE ACKとDLE NAKが交互に返答される限り、 データ誤りは起こっていないと判断する。 もしデータに誤りがあった場合は、受信側は、直前の返答と同じ返答を返す。 こうしてDLE ACKとDLE NAKの交互性が崩れた場合は、 送信側では、伝送誤りがあったと判断し、対応するブロックを再送する。 ベーシック手順では、 こうして、1つ1つのブロックに対して、確認応答を取ってから、 次のブロックを送受信するという、一問一答型の制御をする。 このため、ベーシック手順は、データの転送効率はあまりよくない。 またベーシック手順では、 誤り検出の対象となるのはデータ本体だけであり、 伝送制御キャラクタはチェックの対象にならない。 ■ データリンクの終了 情報メッセージの伝達が終了すると、 送信側は、EOT(End of Transmission) を送信する。 さらに、送信側と受信側でEOT符号のやり取りをして終結する。 最後にモデムが、物理回線を切断して通信は終了する。 以上。 2004/02/06 am