歴史
バイナリ同期通信
バイナリ同期通信 ( BSCまたはBisync )は、IBMの文字指向の半二重リンクプロトコルであり、System / 360の導入後に1967年に発表されました。これは、第2世代のコンピューターで使用される同期送受信(STR)プロトコルを置き換えました。その目的は、メッセージの3つの異なる文字エンコーディングで一般的なリンク管理ルールを使用できることでした。 6ビットのトランスコードは、古いシステムを後方に見ました。 128文字のUSASCIIと256文字のEBCDICが楽しみでした。トランスコードはすぐに消えましたが、BisyncのEBCDICおよびUSASCII方言は引き続き使用されていました。
かつてBisyncは最も広く使用されていた通信プロトコルであり、2013年にはまだ使用が制限されています。
フレーミング
Bisyncは、メッセージフレーミングの複雑さで成功したプロトコルとは異なります。後のプロトコルは、プロトコルによって送信されるすべてのメッセージに対して単一のフレーミングスキームを使用します。 HDLC、デジタルデータ通信メッセージプロトコル(DDCMP)、ポイントツーポイントプロトコル(PPP)などには、それぞれ異なるフレーミングスキームがありますが、特定のプロトコル内には1つのフレーム形式しかありません。 Bisyncには5つの異なるフレーミング形式があります。
チャー | EBCDIC (16進数) | USASCII (16進数) | トランスコード (16進数) | 説明 |
---|---|---|---|---|
SYN | 32 | 16 | 3A | 同期アイドル |
SOH | 01 | 01 | 00 | 見出しの開始 |
STX | 02 | 02 | 0A | テキストの始まり |
ETB | 26 | 17 | 0F | 伝送ブロックの終わり |
ETX | 03 | 03 | 2E | テキストの終わり |
EOT | 37 | 04 | 1E | 伝送終了 |
ENQ | 2D | 05 | 2D | 問い合わせ |
NAK | 3D | 15 | 3D | 否定的な承認 |
DLE | 10 | 10 | 1F | データリンクエスケープ |
ITB | 1F | 1F(米国) | 1D(米国) | 中間ブロックチェック文字 |
ACK0およびACK1 (偶数/奇数の肯定応答)は、2文字としてエンコードされます。DLE '70'x、EBCDICの場合はDLE /、USASIIの場合はDLE 0およびDLE 1、トランスコードの場合はDLE-およびDLE Tです。 WABT (送信前に待機)は、DLE "、DLE?、またはDLE Wとしてエンコードされました。
すべてのフレーム形式は、少なくとも2つのSYNバイトで始まります。 SYNバイトのバイナリ形式には、バイトの回転が元のバイトと等しくないという特性があります。これにより、受信者は、受信したビットストリームでSYNパターンを検索することにより、フレームの先頭を見つけることができます。これが見つかると、仮のバイト同期が達成されました。次の文字もSYNである場合、文字の同期が達成されています。受信者は、フレームを開始できるキャラクターを検索します。このセット外の文字は、「主要なグラフィックス」と呼ばれます。フレームの送信者を識別するために時々使用されます。長いメッセージには、同期を維持するために約1秒ごとにSYNバイトが挿入されます。これらは受信者によって無視されます。
通常のブロック終了文字(ETBまたはETX)の後にチェックサム(ブロックチェック文字またはBCC)が続きます。 USASCIIの場合、これは1文字の縦方向冗長検査(LRC)です。トランスコードおよびEBCDICの場合、チェックサムは2文字の巡回冗長検査(CRC)です。データフレームには、ITB文字が前に付いた中間チェックサムを含めることができます。長いデータフレームに中間チェックサムを含めるこの機能により、エラー検出確率を大幅に改善できます。 USASCII文字も、追加のチェックのために奇数パリティを使用して送信されます。
ラインターンアラウンド(NAK、EOT、ENQ、ACK0、ACK1)の後にパッド文字が必要です。送信がEOTまたはETXで終了する場合、パッドはBCCに従います。このパッドは、すべて「1」ビットか、「0」と「1」ビットが交互になっています。次の送信は、上記またはSYNのいずれかのパッド文字で始まります。
制御情報を含むオプションの見出しは、フレーム内のデータの前に置くことができます。見出しの内容はプロトコルによって定義されていませんが、特定のデバイスごとに定義されています。見出しが存在する場合、その先頭にSOH(見出しの開始)文字が続き、その後にSTX(テキストの開始)が続きます。
通常、 テキストデータは見出しの後に続き、STXで始まり、ETX(テキストの終わり)またはETB(送信ブロックの終わり)で終了します。
通常のデータフレームでは、特定の文字をデータに表示できません。これらはブロック終了文字です。ETB、ETX、ENQ、ITB、SYN文字です。したがって、送信できる一意の文字の数は、トランスコードで59、USASCIIで123、またはEBCDICで251に制限されています。
透過的なデータフレーミングは、64、128、または256文字の無制限のアルファベットを提供します。透過モードでは、ETB、ETX、SYNなどのブロックフレーミング文字の前にDLE文字があり、制御の重要性を示します(DLE文字自体はシーケンスDLE DLEで表されます)。この手法は、ビットスタッフィングとの類推により、キャラクタースタッフィングとして知られるようになりました。
リンク制御
リンク制御プロトコルはSTRに似ています。設計者は、単純な伝送エラーから保護しようとしました。このプロトコルでは、すべてのメッセージに確認応答(ACK0 / ACK1)または否定応答(NAK)が必要であるため、小さなパケットの送信では送信オーバーヘッドが大きくなります。プロトコルは、破損したデータフレーム、失われたデータフレーム、および失われた確認応答から回復できます。
エラー回復は、破損したフレームの再送信によるものです。 Bisyncデータパケットにはシリアル番号が付けられていないため、受信者が気付かないうちにデータフレームが失われる可能性があると考えられています。したがって、ACK0とACK1が交互に展開されます。送信機が間違ったACKを受信した場合、データパケット(またはACK)が失われたと想定できます。潜在的な欠陥は、ACK0がACK1に破損すると、データフレームが重複する可能性があることです。
ACK0およびACK1のエラー保護は弱いです。 2つのメッセージ間のハミング距離は2ビットのみです。
プロトコルは半二重(2線式)です。この環境では、送信のパケットまたはフレームは厳密に単方向であり、確認応答などの最も単純な目的でも「ターンアラウンド」が必要です。ターンアラウンドには、
- 伝送方向の反転、
- ラインエコーの静止、
- 再同期。
2線式環境では、これにより顕著な往復遅延が発生し、パフォーマンスが低下します。
一部のデータセットは全二重動作をサポートしており、全二重(4線)を多くの状況で使用して、ターンアラウンドタイムを排除することでパフォーマンスを向上させることができます。通常の全二重では、データパケットは一方のワイヤペアに沿って送信され、確認応答はもう一方のワイヤペアに沿って返されます。
トポロジー
多くのBisyncトラフィックはポイントツーポイントです。ポイントツーポイント回線では、オプションで競合を使用してマスターステーションを決定できます。この場合、1つのデバイスが制御のために入札するためにENQを送信できます。他のデバイスは、ACK0を応答して入札を受け入れて受信の準備をするか、NAKまたはWABTを拒否して応答することができます。場合によっては、ダイヤル電話ネットワークを介して端末を複数のホストに接続できます。
マルチドロップは、最初のBisyncプロトコルの一部です。マスターステーション(通常はコンピューター)は、アナログブリッジを介して同じ通信回線に接続されている端末を順次ポーリングできます。これは、各デバイスに順番にアドレス指定されたENQ文字のみで構成されるメッセージを送信することで実現されます。次に、選択したステーションは、マスターにメッセージを送信するか、送信するデータがないことを示すEOTで応答します。
Bisyncアプリケーション
Bisyncの本来の目的は、System / 360メインフレームと別のメインフレームまたはIBM 2780やIBM 3780などのリモートジョブエントリ(RJE)端末との間のバッチ通信でした。RJE端末は、限られた数のデータ形式をサポートします:パンチカードイメージ端末にラインイメージを入出力し、印刷します。 Mohawk Data Sciencesなどの一部のIBM以外のハードウェアベンダーは、テープからテープへの転送などの他の目的でBisyncを使用していました。プログラマは、RJE端末またはその他のデバイスを簡単にエミュレートできます。
IBMは、プログラミングサポートを提供するためにアセンブラー言語マクロを提供しました。システム/ 360時代には、これらのアクセス方法はBTAM(基本的なテレコミュニケーションアクセス方法)とQTAM(キューテレコミュニケーションアクセス方法)でしたが、後にテレコミュニケーションアクセス方法(TCAM)に置き換えられました。 IBMはSystem / 370にVTAM(Virtual Telecommunications Access Method)を導入しました。
IBMのCICSなどのテレプロセッシングモニター、リモートDUCS(ディスプレイユニット制御システム)などのサードパーティソフトウェア、およびWestiプラットフォームでは、Bisync回線制御を使用してリモートデバイスと通信していました。
アカデミックコンピューティングネットワークであるBitnetは、他の地理的領域の接続ネットワークとともに、Bisyncを使用してピーク時に3000台のコンピューターシステムを接続しました。
金融ネットワークSWIFTは、BSCプロトコルを使用して、リージョナルセンターと専用回線を介した機関(銀行)サーバーとの通信を行いました。 1990年半ばに、BSCはX.25インフラストラクチャに置き換えられました。
擬似双方向アプリケーション
一部の重要なシステムは、異なるリンク制御プロトコルでBisyncデータフレーミングを使用します。ヒューストン自動スプーリングプログラム(HASP)は、Bisync半二重ハードウェアと独自のリンク制御プロトコルを使用して、小型コンピューターとHASPを実行するメインフレーム間の全二重マルチデータストリーム通信を提供します。 Bisyncの用語では、これは会話モードです 。
初期のX.25ネットワークの中には、透過的なBisyncデータフレームがHDLC LAPBデータと制御パケットをカプセル化する接続スキームを許容するものがありました。 2012年現在、いくつかのベンダーはTCP / IPデータストリーム内でBisync伝送をカプセル化します。
配置
Bisyncは、1970年代に、Systems Network Architecture(SNA)によって置き換えられました。SNAは、通信を使用して複数のホストと複数のプログラムでネットワークを構築できるようにします。 X.25とインターネットプロトコルは、SNAと同様に、単なるリンク制御以上のものを提供する後のプロトコルです。
Bisyncデバイス
多数のデバイスがBisyncプロトコルを使用しています。これらのいくつかは次のとおりです。
- IBM 3270ディスプレイターミナルサブシステムコントロールユニット。
- IBM 2780データ伝送端末。
- IBM 2703トランスミッションコントロール。
- IBM HASPワークステーション。
- IBM 1130コンピューティングシステム。
- IBM 2922プログラマブルターミナル。