バイナリ同期通信

バイナリ同期通信BSCまたはBisync)は、IBMの文字指向型半二重リンクプロトコルで、1967年のSystem/360の導入後に発表されました。これは、第二世代コンピュータで使用されていた同期送受信(STR)プロトコルに代わるものです 。その目的は、メッセージの3つの異なる文字エンコーディングで共通のリンク管理規則を使用できることでした。

6ビットのトランスコードは古いシステムを想起させるものでした。128文字のUSASCIIと256文字のEBCDICは未来を見据えていました。トランスコードはすぐに姿を消しましたが、BisyncのEBCDICとUSASCII方言は引き続き使用されました。

かつてBisyncは最も広く使われていた通信プロトコルであったが[ 1 ]、2013年現在でも限定的に使用されている。[ 2 ] [ 3 ]

フレーミング

Bisyncは、メッセージのフレーミングの複雑さにおいて、後継のプロトコルとは異なります。後継のプロトコルは、プロトコルによって送信されるすべてのメッセージに 単一のフレーミング方式を使用します。HDLC 、デジタルデータ通信メッセージプロトコル(DDCMP)、ポイントツーポイントプロトコル(PPP)などはそれぞれ異なるフレーミング方式を採用していますが、特定のプロトコル内ではフレーム形式は1つしか存在しません。Bisyncには5つの異なるフレーミング形式があります。

BSCリンク制御文字
チャーEBCDIC (16進数)USASCII (16進数)トランスコード(16進数)説明
シン32163A同期アイドル
SOH010100見出しの開始
STX02020Aテキストの開始
ETB26170F送信ブロックの終了
ETX03032Eテキスト終了
終了時刻37041E送信終了
ENQ2D052D問い合わせ
ナク3D153D否定的な承認
DLE10101階データリンクの脱出
ITB1階1F(アメリカ)1D(米国)中間ブロックチェック文字

ACK0ACK1(偶数/奇数肯定応答)は、EBCDICの場合はDLE '70'xとDLE /、USASCIIの場合はDLE 0とDLE 1、トランスコードの場合はDLE -とDLE Tの2つの文字としてエンコードされます。WABT (送信前待機)は DLE "、DLE ?、またはDLE Wとしてエンコードされます 。

すべてのフレーム形式は、少なくとも2つのSYNバイトで始まります。SYNバイトのバイナリ形式は、バイトの回転が元のバイトと同じにならないという特性があります。これにより、受信側は受信したビットストリーム内でSYNパターンを検索することで、フレームの先頭を見つけることができます。SYNパターンが見つかった場合、暫定的なバイト同期が達成されたことになります。次の文字もSYNであれば、文字同期が達成されたことになります。次に、受信側はフレームを開始できる文字を検索します。このセットに含まれない文字は「リーディンググラフィック」と呼ばれます。これらは、フレームの送信元を識別するために使用されることがあります。長いメッセージには、同期を維持するために約1秒ごとにSYNバイトが挿入されます。これらは受信側によって無視されます。

通常のブロック終了文字(ETBまたはETX)の後にはチェックサム(ブロックチェック文字またはBCC)が続きます。USASCIIの場合、これは1文字のLRC(水平冗長検査)です。TranscodeおよびEBCDICの場合、チェックサムは2文字のCRC(巡回冗長検査)です。データフレームには、ITB文字に続く中間チェックサムが含まれる場合があります。長いデータフレームに中間チェックサムを含めることができるため、エラー検出確率が大幅に向上します。USASCII文字は、追加のチェックのために奇数パリティを使用して伝送されます。

ラインターンアラウンドの後には、NAK、EOT、ENQ、ACK0、ACK1などの パッド文字が必要です。送信がEOTまたはETXで終了した場合、パッド文字はBCCの後に続きます。このパッド文字は、すべて「1」のビット、または「0」と「1」が交互に現れます。次の送信は、上記のいずれか、またはSYNのいずれかのパッド文字で始まります。

制御情報を含むオプションのヘッダーを、フレーム内のデータの前に配置することができます。ヘッダーの内容はプロトコルでは定義されておらず、各デバイスごとに定義されています。ヘッダーが存在する場合、その前にはSOH(見出し開始)文字が、その後にはSTX(テキスト開始)文字が続きます。[ 4 ]

テキストデータは通常、見出しの後に続き、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線式)を使用することで、ターンアラウンドタイムを削減し、パフォーマンスを向上させることができます。ただし、4線式システムの設置とサポートには追加の費用がかかります。一般的な全二重通信では、データパケットは一方のペアのワイヤで送信され、確認応答はもう一方のペアのワイヤで返されます。

トポロジー

多くのBisyncトラフィックはポイントツーポイントです。ポイントツーポイント回線では、マスターステーションを決定するためにコンテンションをオプションで使用できます。この場合、一方のデバイスは制御権を競うためにENQを送信します。もう一方のデバイスは、競い合いを受け入れて受信準備をするためにACK0を、拒否するためにNAKまたはWABTを返信します。ダイヤル電話網を介して、端末を複数のホストに接続できる場合もあります。

マルチドロップは、初期のBisyncプロトコルの一部です。マスターステーション(通常はコンピュータ)は、アナログブリッジを介して同じ通信回線に接続された端末を順番にポーリングすることができます。これは、各デバイスに順番に宛てたENQ文字のみを含むメッセージを送信することで実現されます。選択されたステーションは、マスターにメッセージを送信するか、送信するデータがないことを示すEOTで応答します。

アプリケーション

Bisyncの本来の目的は、System/360メインフレームと別のメインフレーム、またはIBM 2780IBM 3780などのリモート・ジョブ・エントリ(RJE)端末間のバッチ通信でした。RJE端末は、パンチカード画像の入出力と端末への印刷行画像といった、限られた数のデータ形式をサポートしています。Mohawk Data Sciencesなど、IBM以外のハードウェアベンダーの中には、テープ間転送などの他の用途にBisyncを使用していたところもあります。プログラマーはRJE端末やその他のデバイスを簡単にエミュレートできます。

IBMはプログラミング支援のためにアセンブラ言語マクロを提供していました。System/360時代、これらのアクセス方式はBTAM(基本通信アクセス方式)とQTAM (待機通信アクセス方式)でしたが、QTAMは後に通信アクセス方式(TCAM)に置き換えられました 。IBMはSystem/370でVTAM(仮想通信アクセス方式)を導入しました。

IBM のCICSなどのテレプロセシング モニターや、 Remote DUCS (ディスプレイ ユニット制御システム) やWestiプラットフォームなどのサードパーティ ソフトウェアは、Bisync ライン制御を使用してリモート デバイスと通信します。

学術コンピューティング ネットワークBITNET は、他の地理的エリアの接続ネットワークとともに、ピーク時には Bisync を使用して 3000 台のコンピュータ システムを接続していました。

金融ネットワークSWIFTは、専用線を介した地域センターと金融機関(銀行)サーバー間の通信にBSCプロトコルを使用していました。1990年代半ばに、BSCはX.25インフラストラクチャに置き換えられました。

一部の重要なシステムでは、異なるリンク制御プロトコルを用いたBisyncデータフレーミングが使用されています。Houston Automatic Spooling Priority(HASP)は、Bisync半二重ハードウェアと独自のリンク制御プロトコルを組み合わせて、小型コンピュータとHASPを実行するメインフレーム間で全二重マルチデータストリーム通信を提供します。Bisyncの用語では、これは会話モードです。

初期のX.25ネットワークの一部では、透過的なBisyncデータフレームがHDLC LAPBデータと制御パケットをカプセル化する接続方式が採用されていました。2012年現在、複数のベンダーがTCP/IPデータストリーム内にBisync伝送をカプセル化しています。

配置

1970年代には、Bisyncはシステムネットワークアーキテクチャ(SNA)に取って代わられ始めました。SNAは、通信を利用して複数のホストと複数のプログラムを含むネットワークを構築できるアーキテクチャです。X.25 インターネットプロトコルは、SNAと同様に、単なるリンク制御以上の機能を提供する後発のプロトコルです。

デバイス

多数のデバイスが Bisync プロトコルを使用しています。その一部を以下に示します。

類似のプロトコル

他のコンピュータベンダーも、Bisyncに類似した独自のバイト指向プロトコルを提供していました。広く使用されているプロトコルとしては、DEC (Digital Equipment Corporation)デジタルデータ通信メッセージプロトコル[ 5 ]や、Burroughs Corporationポーリングアンドセレクトプロトコルなどがあります。

参照

参考文献

  1. ^ Scuilli, Joseph A. (1981年10月26日). 「地上波から衛星放送への切り替えが新たな選択肢を生み出す」 . Computerworld . 2012年8月27日閲覧
  2. ^ Cisco. 「バイナリ同期および非同期通信(Bisync/Async)」 . 2013年10月23日閲覧
  3. ^ Gartner. 「バイナリ同期通信(BSC)」 . IT用語集. 2013年10月23日閲覧
  4. ^ IBM Corporation.一般情報 - 2進同期通信(PDF) .
  5. ^ Peterson, Larry; Davie, Bruce (2012).コンピュータネットワーク:システムアプローチ. Elsevier . 2023年8月17日閲覧

さらに読む