技術講座

[技術分野■ADSL■無線■光ファイバー■衛星通信■CATV■伝送技術■交換技術■データ通信■ネットワーク技術■ルーティング技術]

[技術講座(データ通信―1)]                 (2002/11/12作成)

 データ通信の技術進歩は著しく、知識習得が追いつかないほどめまぐるしく変化し続けています。ここでは、それらの新技術を理解するうえで必要なデータ通信の基礎技術についてまとめることにしました。

1.通信制御

 データ通信(ディジタル)は、変復調装置(モデム)を利用し、公衆電話網(アナログ)を介してデータ伝送を行うことから始まりました。その後、高速モデムの開発によって、電話網の帯域幅に基づく伝送速度の制限も克服されました。ディジタル伝送ではシンボル間の干渉を防ぐために、位相特性(群遅延)に対して比較的厳しい規準が課せられます。そのため、NTT等のコモンキャリアは、ディジタル伝送用の専用線をサービスしています。

 一方、電話回線の帯域3kHz内で位相特性を修正する技術も進歩し、位相ひずみを自動的に補正する自動等化器では一連のトレーニング信号のやり取りを行い、回線特性を計測して受信側モデムの等化回路が調整されます。ダイヤル接続のときは個々の呼ごとにトレーニングが行われます。このような通信信号を制御することをデータリンク制御(DLC)といいます。

1.1 HDLC(ハイレベルデータリンク制御手順)

 HDLCは国際標準化機構(ISO)が制定した規格です。ハイレベルデータリンク(HDLC:High level Data Link Control)制御手順といわれ、それまでのベーシック手順を発展させた伝送手順です。SDLC手順は米IBMが開発した手順で、HDLCはこれを基に作られました。ここではまず手順の約束事(プロトコル)から説明します。HDLC手順は端末間で符号上制約なしにデータを同期伝送するための手順で、ISDNやPHSなどの制御にも、この手順、定義が採用されています。HDLC手順では伝送制御用の情報は全てフレームを通して一定の位置に収められています。図1にフレームフォーマットを示します。情報部(情報フィールド)は制御用の部分とは独立しており、ファクシミリ等用の上位の制御手順を入れることができ、階層構造を形成することが容易になっています。



                    図1 HDLCのフレーム構成


 HDLCはフラグ同期で、フラグコード"01111110" (7E)hで同期をとります。また、フレームの開始と終わりを示すものです。データ転送において、数フレームに対してOKの応答(伝送確認を1個)とすることができます。これは同時監視方式と呼ばれ、ブロック単位で個々に応答確認するベーシックのような交互監視(ストップアンドスタート方式)に比較し、伝送効率を上げることができます。図1(b)はフラグシーケンスを除いたフレーム長についての規定を示します。誤り検出はCRCを用い、生成多項式にはX16+X12+X5+1を使用しています。図2に誤り検査対象を示します。生成多項式により作成されたフレーム検査シーケンス(FCS)は16ビットで、図2に示す位置にあります。



            図2 フレームの構成と誤り検査の範囲


(1)データリンク(DLC)の機能

 HDLC手順はOSI 7階層レベルのデータリンク層に機能分類されています。HDLCはこの層(レイヤ)の標準の考えより前から存在し、データリンク手順(DLC)の1つと分類されていました。通信システムには通信誤りが存在し、データ保証するためにある対策を講じます。それはエラーを検出することと、当該メッセージを再送するか、または受信側のみでエラー訂正することです。メッセージはある区切り(ブロック単位)で送られ、ブロックごとにエラー発生を検出します。伝送制御では、テキスト(text)はメッセージと同じ意味で使われています。データは設定されたデータリンクを通して、誤り制御や同期コードなどのために分割されたテキスト(メッセージ単位)で送られます。フレーム(frame)は伝送するデータ情報のテキスト分割と、テキストの制御を示す情報を付けることであり、リンクレベルの伝送制御の機能です。

 基本ベーシック手順では、文字単位のパリティチェックを基に分割するテキストが作られています。従って、テキスト自体の中に制御用のコード、例えばテキストの先頭を示すSTXが存在することができません。もしSTXが出現すると、そこがテキストの先頭と間違えて識別してしまいます。このため拡張ベーシック手順が用意され、工夫がなされています。HDLCのフラグは、特別のビットパターンでデータブロックの区切りを識別するために用いられ、これをユーザデータの一部としてテキストの中に入れて送出してはなりません。誤って挿入されることを防ぐために、図3に示すようにゼロインサート(挿入)と呼ぶ手法を使っています。"1"が5ビット連続したらその直後に"0"を挿入することです。



       図3 ゼロインサートの必要性


 これによりデータの保障ができるが欠点もあります。第1にビット挿入のための送信元のデータに遅延が生じます。このため音声データのように実時間性を重視する用途にはジッタと呼ばれる到着時間の揺らぎを生じさせ、対策が必要になります。第2にビット挿入はユーザのデータが持つキャラクタ構造を壊してしまい、8ビットで文字を示す関係がなくなってしまいます。キャラクタ単位の構造ではビット挿入の手法をとりません。しかし、あるキャラクタが送れないとか、キャラクタの内部に制約が生じてしまうなどで、完全な透過性(トランスペアレンシー)は望めません。

 HDLCはビットベースで、キャラクタについては完全な透過性が保障されています。ベーシック手順はキャラクタベースで、伝送制御符号をテキスト内に入れて伝送する際には、その前にDLEキャラクタを付けて透過性を持たせています。HDLCはアポートと呼ばれる処理を採用しています。これは、伝送の途中で送信を打ち切った場合にフラグの代わりに送出するもので、"1"の連続です。受信側では"1"が連続して8個以上続くことでアポートを検出します。フラグで開始されていても、アポートを検出した場合には、そのフレームは不正として取り扱います。

<3つの動作モード>

 リンクレベルの回線制御方式は、次の3つの動作モードに分類されました。この概念はベーシックでも存在しましたが、HDLCとともに明確になりました。

(a) DLCの動作モード
 @ 非平衡型(1次局/2次局)
 A 平衡型(コンテンションタイプ:Contention)
 B 非平衡型と平衡型の組み合わせ

 @、Aの違いはデータリンクの制御、つまり発信権の調整をある特定の局が責任を持って行うか、それとも互いの局が対等の立場で責任を持つかです。ポーリング/セレクションは非平衡型の中でよく使われており、様々な変形があります。ベーシックに比較しHDLCのほうが論議が尽くされ、種々のバリエーションに対応できる用意があります。

(b) HDLCの動作モード
 HDLCの動作モードも3つあり、データリンク確立に先立って動作設定コマンドでこの中の1つを決定します。
 @ 正規応答モード(NRM:Normal Response Mode)
 A 非同期応答モード(ARM:Asynchronous Response Mode)
 B 非同期平衡モード(ABM:Asynchronous Balanced Mode)

 @の正規応答モードでは伝送制御は完全に1次局が管理し、2次局は1次局からの送信許可コマンドを受け取ったときだけ1次局にレスポンスを送信することができます。Aの非同期応答モードも伝送制御権は1次局のみが持っていますが、2次局は1次局からの送信許可がなくてもレスポンスを送り返すことができます。Bの非同期平衡モードは制御権が対等な平衡モードです。このモードのとき1次局、2次局の区別なく複合局と呼ばれます。複合局は相手の許可がなくてもレスポンスだけでなくコマンドも送ることができます。表1に各モードの内容をまとめて示します。


             表1 HDLCのクラスとモード

手順クラス
モ ー ド
内       容
非(不)平衡型 動作モード 正規応答モード
  (NRM)
2次局は1次局からのコマンドによりすべて制御される
非同期応答モード
  (ARM)
2次局は1次局からのコマンドの受信がなくてもレスポンスの送信が始められる
平 衡 型 非同期平衡モード
  (ABM)
相手複合局の許可がなくてもコマンドまたはレスポンスの送信が始められる
平 衡 型
および
非(不)平衡型
非動作モード 初期モード
  (IM)
データリンクの制御機能を初期化するモードで、データリンク制御プログラムなどは1次局や複合相手局からの操作によって初期化される
切断モード
 (DCM)
データリンクから論理的に切断されたモードで、2次局または複合局がとり得る


(2)コマンド/レスポンス

 HDLCの伝送単位をフレームと呼び、フレームはコマンドレスポンスに分かれます。1次局はコマンドのみを送出でき、2次局はレスポンスのみを送出できます。複合局はコマンド/レスポンスの双方を送出できます。図1に示したフレームフォーマットの制御部8ビットの組み合わせにより、フレームの種類、送受信順序番号およびP(ポール)ビット/F(ファイナル)ビットを表しています。図4にフレーム構成と内容を示します。



 フラグシーケンス (F)
 一つのフレームの開始と終了を知らせる8ビットの特定パターンで、同期をとる役目も果たす。ビットの構成は常に「01111110」であり、これと同じビットパターンをフレーム中に発見すると、DTEはこれを終結フラグと判断する。このため、フレーム中のフラグシーケンス以外のフィールドにこのビットパターンがあれば、転送の前に1のビットが5個連続すると送信側DTEでは強制的に0を6ビット目に挿入する。

 アドレスフィールド (A)
 送信するフレームの宛先または自局のアドレスを示す。そのフレームがコマンドである場合は、受信すべき2次局(複合局)のアドレス、レスポンスである場合は、どの2次局(複合局)から送られたかを示すアドレスである。

 制御フィールド (C)
 相手局に対して動作の指令や応答を示す。コマンドやレスポンスの種類、連続転送を誤りなく行うためのシーケンス番号、送信要求や送信終了を表すポール/ファイナルビット(P/F)が、ビット単位でこのフィールドに設定される。

 情報フィールド (I)
 転送すべき情報を入れる部分であり、長さは自由であるが、DTEの持つ特性や通信回線の品質などを考慮して最適なビット長を決める。

 フレームチェックシーケンス (FCS)
 伝送上の誤りを発見するためのビットシーケンスで、アドレスフィールド、制御フィールド、情報フィールドが正しく送られたかをチェックするためにある。


             図4 HDLCフレーム構成


 コマンドとレスポンスとして組合せ使用するとき、手順クラスによって差異があり、標準的な組合せが勧告に含められています。また、手順クラスに分けず共通に使用されるモードがあります。データリンクの制御機能の初期化、およびデータリンクを論理的に切り離している状態を表すモードで、次の2つです。

 @ 初期モード
 A 切断モード

 HDLCの制御フィールド(C)には、フレームの種別など伝送制御情報が集められています。アドレスフィールド(A)では、コマンドは送信相手のアドレスを、レスポンスは送信元のアドレスを表示します。情報フィールド(I)には、送受信装置相互間で実際に転送される情報メッセージが格納されます。制御フィールドのb1、b2ビットはフレームの種別を表しています。b1 = "0" のとき、情報フレーム(Iフレーム)であることを示します。b1b2 = "10" は監視フレーム(Sフレーム)、b1b2 = "11" は非番号制フレーム(Uフレーム)を示します。

 表2に制御部のフレームの種類とビット構成を示します。この表で "0"、"1" と固定された以外の箇所でのビットの組合せにより、さらに細部の内容を示すようになっています。b5P/Fは、コマンドの場合P(poll)ビット、レスポンスの場合F(final)ビットとなることを意味しています。送受信順序番号は、情報を転送するためのIフレームの送信順序番号N(S)と、次に受信するIフレームに期待する番号、即ち受信順序番号N(R)を指しています。IフレームにはN(S)とN(R)の両方がありますが、Sフレームは受信順序番号のみです。


     表2 制御部のフレームの種類とビット構成

フレームの種類
制御部のビット構成
略 称
b1
b2 b3 b4
b5
b6 b7 b8
 情報フレーム
0
N(S)
P/F
N(R)
 Iフレーム
 監視フレーム
1
0
S
P/F
N(R)
 Sフレーム
 非番号制フレーム
1
1
M
P/F
M
 Uフレーム


(a) 情報フレーム
 b1 = "0" のフレームは情報フレームで、Iフレームとも呼ばれます。送信側ではb2〜b4のN(S)に、自分が送信する情報フレームの順序番号を付けて送出します。この番号は誤り制御において、ブロック抜けと二重取り込み防止の役を果たします。番号は3ビットで0から始まり7までの8通りで、モジュロ8の循環式となっています。情報フレームのb6〜b8には受信順序番号N(R)を付けて送出します。N(R)の相手側への送信によって、受信番号の1つ前の送信番号のIフレームまでを誤りなく受信したことを通知しています。

(b) 監視フレーム
 b1b2 = "10"のときは監視フレームで、Sフレームともいわれます。この用途は、情報フレームに対する返事(レスポンス)と伝送制御用のコマンドで、表3に内容を示します。Sフレームは受信順序番号のみで、機能はb1〜b4によって区分されます。RRコマンド/レスポンスは、相手(1次局、2次局いずれでもよい)からきたN(S) = i のフレームに対する返事として用います。N(S) = i に対し、N(R) = i + 1でRRを返すと、「N(S) = i までのフレームは正しく受け入れたのでi + 1番目のフレームを受け入れる準備ができている」という意味を持ちます。


          表3 監視フレーム(Sフレーム)の分類

種   類
制 御 部 の ビット 構 成
機 能 概 要
b1
b2
b3
b4
b5
b6
b7
b8
RRコマンド/レスポンス
1
0
0
0
P/F
N(R)
情報フレームの受信可能を示す
情報フレームを正しく受信したことを通知する
REJコマンド/レスポンス
1
0
0
1
P/F
N(R)
情報フレームの受入拒否
指定した情報フレーム以降の再送要求
RNRコマンド/レスポンス
1
0
1
0
P/F
N(R)
情報フレームの受信不可能を通知
busy状態を通知する
SREJコマンド/レスポンス
1
0
1
1
P/F
N(R)
指定した1つの情報フレームの再送要求

 



(c) 非番号制フレーム
 b1b2 = "11"は非番号制フレームまたはUフレームとも言われ、順序番号は付きません。これにはモード設定の要求やその応答異常状態の通報など多くの種類があります。 b5のP/Fビットは、送信権の管理順序番号のチェック要求に使用するためのビットです。コマンドではPビット、レスポンスではFビットと名づけ、Pビットの"1"のコマンドとFビット"1"が1対1で対応します。Pビッを"1"にすると、1次局(複合局)は2次局(相手複合局)に対してレスポンスの送信を勧誘することを意味します。一方、FビットはP = "1"のコマンドに対してレスポンスを送りますが、その最後のフレームにおいてF = "1" としなければなりません。

 半二重モード正規応答モード(NRM)では、送信権の管理のためにP/Fビットを使用します。1次局(複合局)は、最後に送るコマンドのPビットを"1"にし、2次局(相手複合局)はPビットがON("1")となったこのコマンドを受信したときに、レスポンスフレームを1次局に送信できます。2次局はフレームの連続送信ができますが、最後のフレームのFビットは"1"にし、送信権を1次局(複合局)に返します。その後のフレーム送信には、再び1次局からの許可を必要とします。NRMでは1次局と2次局の関係であり、ARMとABMでも、半二重ではデータリンクレベルの伝送制御手順はNRMと同じになります。

 ARMとABMの全二重モードでは、順序番号のチェックの要求のためにもP/Fビットを使用します。P = "1" のコマンドは1次局(複合局)が相手局に対して、最も早く送信するレスポンスフレームのFビットを"1"にするように勧誘します。また両方向同時伝送の場合は、P = "1"のコマンドを受けると、2次局(相手複合局)は最も早い時期にF = "1"のレスポンスを送らなければなりません。このときはレスポンスフレームの送信の終わりを意味せず、引き続いて後続のレスポンスフレームを送ってよいことになっています。P/Fビットが"1"であるフレームを受け取るごとに、互いに管理している情報メッセージフレームの順序番号が抜けていないか、受け取った番号と自局で管理している番号が異なるかどうかを調べます。そして必要であれば再送を要求します。このようにP/Fビットが"1"であるフレームを受信した時点で、順序番号の誤りを検査することをチェックポインティング(check pointing)と呼びます。

 衛星回線など送達確認なしに伝送するフレーム数を大きくする必要がある場合、送受信番号を7ビットに拡張できます。この拡張モードを用いると、0から最大127までとることができます。このような大きな伝播遅延のためにHDLCがタイムアウトを繰り返し、通信不能(ハングアップ)になるのを避ける手法にスライディングウィンドウがあります。順序番号抜けの誤りはフレーム再送により回復する手順が普通です。フレーム再送によって回復できないときは、データリンク再設定からやり直すのを基本としています。

(3)NRM(正規応答モード)の手順

 非平衡型手順クラスとして、NRM(正規応答モード)の手順をモードの確立から切断まで示します。

 @ 正規応答モードでのデータリンクを確立するために、1次局はUフレームの中のSNRMコマンドを2次局に送ります。SNRMはset normal response mode の略で、NRMの設定コマンドです。このフレームには情報部はなく、フラグ、アドレス、SNRMの制御部、FCS、フラグの順で送出されます。 1次局から2個、2次局から3個の情報フレームを交互に送信し、両者ともに正しく受信された場合の手順を図5に示します。この図では9個のフレームが示されています。フラグ、アドレス、FCSは除いてあります。1次局のみがコマンドを送出でき、2次局はレスポンスを送出します。
@のSNRMコマンドフレームの制御フィールドのP/FはP1 = "1" となっていて、2次局にレスポンスを勧誘(要求)しています。



             図5 情報フレームの送受信の手順


 Aは2次局のレスポンスでRRを返しています。RRは表3に示すように、受信準備ができて受け入れ可能であることを示します。2次局から送出するフレームは全てレスポンスで、P/FはFビットの方を使い、ここではF1 = "1"となっています。次に受け入れる予定の情報フレームの番号は0なので、N(R) = "0" としてレスポンスフレームに入れます。

 Bは1次局が連続して2個のフレームを送出することを示しています。これはコマンドフレームなのでPビットであり、P2 = "0"、P3 = "1" です。P3 = "1" にして2次局にレスポンスを勧誘します。このようにして会話型の手順が成立します。

 Cは2次局が送出する情報フレームのレスポンスで、連続して3個送り出しています。レスポンスなのでFビットであり、F2 = "0"、F3 = "0"、F4 = "1"です。F4 = "1" はこれで2次局が送出する情報が終わりであることを示しています。この3個とも1次局から情報フレーム2個を正しく受け取っているので、N(R) = "2" となっています。

 Dのフレームは、1次局がデータリンクを終結させるべくDISCコマンドを送っています。Eは2次局が終結を受け取ったことを回答する返事のレスポンスで、これで切断の動作に入ります。

 図6はA局、B局間でデータリンクが確立された後、互いに情報フレームの転送を行う場合、両局において送信順序番号N(S)の確認のために、この送信順序番号及び受信順序番号N(R)を、状態変数V(S)およびV(R)で付与管理する手順を概念的に示したフローです。ここでは全てのフレームは正常に受信されるものとし、順序誤りによる再送手順は示していません。



             図6 情報フレームの転送フロー


 図7は同じ正規応答モード(NRM)で1次局から情報フレーム3個を送出し、2次局でこれを受信するとき、2番目のフレームを正しく受信できなかった場合を示しています。ここには11個のフレームがあり、正規応答モードの確立から誤り検出による再送出をし、2次局から1個の情報フレームを送出して終了する手順を示しています。



             図7 正規応答モード(NRM)


 @では1次局は2次局をアドレスで指定し、正規応答モード確立のSNRMを送出します。

 Aはレスポンスフレームで、アドレスで指定された2次局からのUAレスポンスによる応答です。UAフレームのFビットは、2次局から2つ以上のフレームを続けて送る意思がないので、フレームを最終とするF1 = "1" とします。これでデータリンクが設定されました。

 Bは情報フレームで3個連続して送出されます。送信順序番号N(S)は0、1、2と増加します。受信順序番号は次に自局で受信を期待する情報フレームの順序番号を表しており、3フレームともN(R) = "0"が付けられます。Bの情報フレームのP/Fは1次局から送出されるコマンドなのでPビットになり、2次局からの応答を求めるために3番目のフレームのP4ビットのみ"1"となります。

 Cは2次局が送信番号"1"のフレームを正しく受信できなかったので、REJレスポンスを送り返し再送を要求します。REJレスポンスのビット構成は、表3にしめすように"1001P/FN(R)"であり、N(R)の番号でどのフレーム以降が正しく受け取れなかったかを表します。ここではN(R) = "1"として、最初の0番目の情報フレームは正しく受け取ったことを表しています。次に自局(2次局)が受信を期待する情報フレームは"1"の順序番号であることを示します。Cの情報フレームを受け取った1次局は、Dで順序番号"1"および"2"の情報フレームを再送します。

 Dは連続した2個の情報フレームで、N(S) = "1"およびN(S) = "2"を持つBフレームの2番目、3番目と同じものです。

 Eは2次局からの情報フレームです。これはこの局からの初めての情報フレームの発信であるので、N(S)は"0"です。また、1次局から順序番号"2"まで正しく受け取っていりことを示すN(R) = "3"を受信順序番号とします。EはFビットは"1"にして、この1個で終わりfinalであることを1次局に知らせます。

 Fのフレームは1次局がデータリンクを終結させるDISCコマンドであり、2次局はGのUAレスポンスで応答しています。これで2次局も切断モードになります。

 図8は2次局も直ちに情報フレームを送信し、同時に両方向伝送が行われる正規応答モード(NRM)を示します。ここではCDが同時に伝送路にある全二重伝送です。このほかに非同期応答モード、非同期平衡モードがあり、またそれぞれに拡張モードがあるので、全部で6種となります。表4にこれらをまとめて示します。



             図8 正規応答モード(NRM)


          表4 HDLCのモード

正規応答モード normal response mode (NRM)
非同期応答モード asynchronous response mode (ARM)
非同期平衡モード asynchronous balanced mode (ABM)
拡張正規応答モード normal response mode extended (NRME)
拡張非同期応答モード asynchronous response mode extended (ARME)
拡張非同期平衡モード asynchronous balanced mode extended (ABME)


<基本手順クラス>

 例に挙げた正規応答モード(NRM)の手順の中でも、そのコマンドとレスポンスの種類の組み合わせが色々考えられます。これらを個々に約束として決めてHDLCの手順をそれぞれ設定することも考えられますが、通常はこれらの組み合わせに標準を用意してあり、これを採用します。基本手順クラスとそのモード指定として用意してあるのは次の3つです。

 @ 非平衡正規応答モード(UN:unbalanced operation NRM)クラス
 A 非平衡非同期応答モード(UA:unbalanced operation ARM)クラス
 B 平衡形非同期平衡モード(BA:balanced operation ABM)クラス

 この基本クラスにある付加、修飾をすれば、目的にかなう手順の組み合わせを設定することができます。この標準タイプのコマンド/レスポンスを表5に示します。HDLC手順には、データリンクレベルの回線制御方式としての機能が全て含まれています。ベーシック手順は、HDLCより先に作成され広く使われていますが、種々の変形はこの基本手順クラスを基に作られ、主流となっています。HDLCは、IBM社が開発したSDLC(NRMと同等)を基に、ANSI、ISO、CCITTなどが協力して作成したもので、世界標準となりました。


     表5 標準タイプのコマンド/レスポンス

手順クラス
非(不)平衡型手順クラス
UB
平衡型手順クラス
BA
二次局等の
モード
正規応答モード
NRM
非同期応答モード
ARM
非同期平衡モード
ABM
発信できる コマンド/レスポンス
一次局
二次局
一次局
二次局
複合局

コマンド

レスポンス
コマンド
レスポンス
コマンド
レスポンス
I I I I I I
RR RR RR RR RR RR
RNR RNR RNR RNR RNR RNR
SNRM FRMR SARM FRMR SARM FRMR
DISC UA DISC UA DISC UA
  DM   DM   DM


1.2 ベーシック手順

 電話回線では交換機が回線の利用権を決めています。一方、分岐する専用線では利用権の決定にベーシック手順が使用されていました。これがデータ通信用に検討され、JIS規格の基本型データ伝送制御手順(旧JIS C6362、新JIS X 5002)となりました。通称、規格化されたベーシック手順のことで基本型伝送手順とも呼ばれ、国際標準のISO規格のいくつかを基に、国内標準として作成されました。表6にJIS規格で規定しているデータリンク手順の5つのフェーズ(段階)を示します。フェーズ1と5は交換網に対するステップで、フェーズ2から4がデータリンク手順の主要部となります。フェーズ2のデータリンク確立は回線制御の種別を決める段階で、ベーシックではポーリング/セレクティング(コンテンション)といわれます。HDLCでの@非平衡型(1次局/2次局)、A平衡型(コンテンションタイプ)、B非平衡型と平衡型の組み合わせ、に対応します。図9に伝送制御の5つのフェーズを示します。


          表6 伝送制御の基本手順

フェーズ
データ通信の動作
概           要
1
回線の接続 交換網を利用する場合のみ必要で、相手をダイヤルで接続する
2
データリンクの確立 回線やDTEが正しい相手とつながり、データの送受信を可能な状態にする
3
情報の伝達
(データの送受信)
実際にデータの送受信が行われる段階で、正確な伝送を行うために、何らかの誤り制御を行いながら伝送される
4
終   結
(データリンクの解放)
データの伝送が終了して、互いに終了を確認し、データリンクを解く。これによりデータリンク確立以前の初期状態に戻る
5
回線の切断 交換網で接続された場合のみ必要で、回線との接続を断つ



             図9 伝送制御の5つのフェーズ


(1)ポーリング/セレクション

 ポーリング/セレクション(polling/selection)は非平衡型(unbalanced data link)のことで、最もよく使用されています。平衡型(balanced data link)はコンテンション(contention)といわれます。違いはデータリンクの制御、つまり発信権の調整をある特定の局が責任を持つか、対等で早い者勝ちとするかの区別です。ポーリングは制御局が1つの従属局にデータの送信を問い合わせる方式で、セレクティングは制御局が1つの従属局を選んでデータの受信を勧誘する方式です。ベーシック手順では図10に示すように、制御局(親局)を1次局、従属局(子局)を2次局の代わりに用います。ポーリング/セレクティングはデータリンクレベルのみでなく、無線TDMAなどでも使用されています。



             図10 集中制御と分散制御


 フェーズ3は情報の転送の段階で、データを送るときのブロック化、つまり誤り制御や同期コード付与のために、伝送する情報をあるフォーマットのブロックにするフレーム化(frame)も含んでいます。JIS規格の基本型データ伝送制御手順の基本モードは半二重通信で、使用する伝送符号は表7に示すように、JIS7単位符号伝送制御キャラクタ(TCC:Transmission Control Character)です。


          表7 ベーシック手順の伝送制御キャラクタの定義

符  号
名         称
定        義
SOH start of heading (ヘディング開始) 情報メッセージのヘディングの開始用
STX start of text (テキスト開始) テキストに先行し、ヘディングを終結するのに用いられる
ETX end of text (テキスト終了) テキストを終結する伝送制御キャラクタ
EOT end of transmission (伝送終了) 全データブロックの伝送の終了を示す
ENQ enquiry (問合せ) 相手局からの応答を要求する
ACK acknowledge (肯定応答) 送信側に対する肯定的応答として受信側から送られる
DLE data link escape (伝送制御拡張) 後に続く一定数の連続したキャラクタの意味を変える
NAK negative acknowledge (否定応答) 送信側に対する否定的応答として受信側から送られる
SYN synchronous idle (同期信号) 同期伝送システムの場合、他に全く符合のない(アイドル)状態に端末装置間の同期をとり、それを維持するための信号を与える
ETB end of transmission block (伝送ブロック終結) 伝送上の目的で、データが幾つかのブロックに分けられるとき、そのデータの伝送ブロックの終わりを示すために用いられる


<同期式伝送・非同期式伝送>

 基本モードでも伝送回線のタイミング方式、つまり同期方式は同期式、非同期式いずれにも適用可能です。伝送上の時間基準の設定で、非同期伝送はビットや文字をグループ化し、グループ内で個々の信号に規定された時間間隔が関係付けられますが、他のグループに対しては関係を持ちません。従って、受信側では個々のグループごとにサンプルブロックの設定を取り直します。これに対して同期伝送はグループ間の関係が保たれ、一定の速度で連続的に送出されるので、受信側は入力データに同期されたサンプルブロックを保持することになります。

 非同期伝送方式の1つとして調歩同期があります。調歩同期は、スタートビットとストプビットで区切られた各文字ごとに、スタートビットによりタイミング設定します。ベーシック手順で同期伝送により送信する場合は、各フレームの先頭に伝送制御文字のSYNを1個または2個挿入します。また、フレーム内の各ブロックを識別するために、SOH、STX、ETB、ETXなどの制御文字が使用されます。図11にブロックを作る際のフレーム分割法を示します。ベーシック手順の基本型では、テキスト内への伝送制御文字の挿入が禁止されています。



             図11 分割法の形態


 フレームの構成は伝送情報データであるテキストとヘディング(heading)、ヘディングを識別するSOH、テキストの初めと終わりを識別するSTXおよびETXからなっています。図11に示す分割法のうち適切なものを選定してブロック化します。ブロックごとにエラーをチェックし、誤りがあればそのブロックの再送を要求する手続きとなっており、エラー率が一定とすると、ブロック長によって伝送効率が変化します。通常のエラー率では100キャラクタ前後が適正で、エラー率が低い回線では長い方が効率が良くなります。

 ブロックに付けられるBCC(Block Check Character)の例を図12に示します。これは同期伝送の例で、SYNキャラクタ2個によるキャラクタ同期です。BCCは水平パリティで、フレームまたはブロックの最後に付加されます。BCCの検査対象はSOHコード(ヘディングがない場合はSTXコード)の直後からETXコードを含むまでであり、SYNコードは対象からはずすことになっています。また、ETX(またはETBコード)とBCCコードの間にはSYNを挿入できません。



             図12 BCC(水平パリティ)の例


 フェーズ4はデータリンク終結で、情報データの転送が終了したことを互いに確認して次のフェーズに進みます。フェーズ5は回線切断で、通信回線の断のことです。電話でのフックオン(受話器を元の位置に置くこと)にあたります。

 伝送制御文字SYN(0110100、16進表示で16h)は、このビット列が受信されるタイミングでサンプリングブロックとブロックの開始をみています。この文字により基準時間を設定するのでキャラクタ同期といわれています。HDLC手順でのフラグシーケンス(01111110)による同期設定手段はフラグ同期といわれ、同期伝送です。HDLCは同期伝送のみですが、ベーシック手順では非同期伝送、同期伝送の両方式に対応しています。同期伝送の基本型ベーシック手順ではSYNを2個(bi-sync)付けますが、1個(mono-sync)の変形もあります。連続して送信されたデータストリームは、同期が取られたらそのまま保持され、そのグループ内で同期を取り直すことはありません。連続して送信するために空白を埋めたいときは、多くの場合SYN符号が使われますが、同期を取るSYNと区別してタイムフィラ(time-filler)と呼んでいます。図13に基本モードのフレームでのやり取りの例を示します。



            図13 監視フレームの種別


(2)ベーシック手順のフレーム

 ベーシック手順ではフレームは次の2種に分けられます。
  (a) 監視フレーム
  (b) 情報メッセージフレーム

 さらに監視フレームは方向別に次の2つに分けられます。
  ・ 順方向フレーム
  ・ 逆方向フレーム

 図13において、やり取りは制御局がアドレス番号8の従属局へ情報をセレクティングによって送っています。データリンクの確立および開放は2方向別の監視フレームにより行われます。順方向フレーム@はSYN、SYNの同期確立用コード、セレクティングアドレス(sa)およびENQコードから成っています。これは表8に示す順方向監視フレームセレクティングにおける局選択のフレームです。セレクティングアドレス(sa)は、従属局(従局)を指定するアドレスで、"S08"と3バイト送っています。この番号はシステム構築時に自由に決められます。ENQで終わりとなります。


   表8 順方向監視フレーム

種        類
フレーム構成
ポーリング
[EOT] (pa) ENQ
セレクティング
局選択 [EOT] (sa) ENQ
識別・状態問合せ
初期状態からの脱出
[(px)] ENQ
終 結
正常終結 [(px)] EOT
異常終結 EOT
回線切断
DLE EOT
応答督促
[(px)] ENQ
放 棄
ブロック放棄 [(px)] ENQ
局放棄 EOT


 @による受信可否の問い合わせに対して、Aで応答しています。この従属局(従局)が制御局(主局)に送り返す制御フレームを逆方向監視フレームと呼びます。フレームAでは先頭に同期用のSYNコードが2つ、その後にプレフィックス(px)、終わりにACKコードがあります。表9に逆方向監視フレームの構成を示します。この表の肯定応答、セレクティング、非番号制にAフレームが該当します。

     表9 逆方向監視フレーム

種   類
フレーム構成
非番号制
番号制
肯定応答 セレクティング [(px)] ACK  
情報メッセージ EOT DLEαとDLEβの交互応答
否定応答 ポーリング
[(px)] EOT
セレクティング [(px)] NAK NAKまたはDLEβ
情報メッセージ [(px)] NAK NAK
回線切断
EOT
中断 ブロック中断
EOT
局中断
DLE<
(px):プレフィックス(入出力機器を示す)
αとβ:0(30)hと1(31)hまたはACK(06)hとNAK(15)hのどちらかの組合せにする
"<"の記号は(3C)hである


 逆方向監視フレームはブロック別の誤りチェックにおいて、正しければOKを伝え次のブロックを勧誘し、誤りなら否定応答で再送を要求します。番号制は、ブロックの順序を奇偶で伝えて、相手が確認する手段を含んだもので、そうでないものが非番号制です。

 Bは情報フレームで、従属局(従局)にメッセージを送っています。ヘディング(hdg)とテキストを1つのブロックにして伝送しています。CはAと同じ逆方向監視フレームで、誤りチェックの結果正しいと回答するフレームです。2個のSYNとEOTで構成され、表9に示すように、情報メッセージへの非番号制肯定応答です。Dは主局が従局に送信するデータが最早ないことを表すフレームで、表8の順方向監視フレームの中の正常終結です。データリンクの終結と回線断は別のフェーズとして取り扱われており、このための監視フレームは、表8,表9に示す回線切断のDLE EOT、EOTです。

<拡張モード>

 基本型データ伝送手順には基本モードの他に拡張モードがあり、複雑な手順に対応できるようにしています。JIS規格におけるモードの規定は次のとおりです。

 (1) 基本モード・・・JISで定める10個の伝送制御キャラクタを用い、7単位符号を伝送す半二重通信であり、同期方式は調歩式、同期式を問わず、またデータ信号速度に制限がない。
 (2) 拡張モード
  (a) 会話モード
    コンピュータと端末間で主局と従局を入れ替えながら会話的に情報を交換し合う。
  (b) 両方向同時伝送モード
    ポイントツーポイント接続の2局間で、同時に両方向のデータが転送される。通信回線としては全二重通信回線が必要である。同時監視方式である。
  (c) 複数従局セレクティングモード
    コンピュータから同時に複数の端末装置に同じデータを送る同報通信が可能である。
  (d) コードインデペンデントモード
    JIS7単位以外のビット構成の符号を伝送できる。伝送制御キャラクタを伝送できる透過性モードにする。DLEコード付加。

<透過性(トランスペアレント)>

 ブロック化して情報データを送るのに、ベーシック手順ではブロックの始め、終わりの識別に伝送制御キャラクタ(TCC)を使用しています。また通信の始め、終了やデータリンク確立などにもこの伝送制御キャラクタが使用されています。基本モードでは情報メッセージのフレームのヘディング、テキスト部分にSYNコードを除いて伝送制御キャラクタがあってはなりません。これらは禁止されたコードであり、挿入する場合は拡張モードのコードインデペンデントモードにします。この禁止された文字、コードを挿入できるようにすることを透過性(トランスペアレント)にするといいます。これに対して基本モードは非透過性であるといわれます。

 図14(b)にコードインデペンデントモードを示します。受信側ではDLEを伴ったSOH、またはDLEを伴ったSTXコードを受け取ると、コードインデペンデントモードになったと判断して、DLEコードを伴わないSOH、STXとして取り扱います。また、2つ続いたDLEコードは1つのDLEコードとして解釈します。



     図14 基本モードとコードインデペンデントモードの差


(3)HDLCとベーシックの比較

 基本型データ伝送制御手順(規格化されたベーシック手順)といわれるJIS X 5002とHDLC手順を比較し、主な特徴や機能をまとめたものを表10に示します。


          表10 ベーシック手順とHDLC手順の比較

項目
ベーシック手順
HDLC手順
 
TCC データ TCC BCC

TCC:伝送制御キャラクタ
BCC:ブロックチェックキャラクタ
                                                                      

F A C データ FCS F

F:フラグ(01111110)
A:アドレス
C:制御
FCS:フレームチェックシーケンス

方 式
通信方式
応答監視方式
誤り検出方式
ブロック長
データの透過性
 
全二重/半二重
交互監視
パリティチェック/CRC
キャラクタの倍数
データに表れたDLEの次のDLEを挿入・除去
全二重/半二重
同時監視/交互監視
CRC
任意のビット数
フラグ間の5個連続した"1"の次に"0"を挿入・除去
性 能
伝送効率
低い
・1ブロックごとに必ず送信確認する                  
高い
・フレームの連送可
・ダブルナンバリング
信頼性 低い
・データの重複が発生することがある
・テキストのみチェックフィールドを持つ
高い
・データの抜け、重複が発生しない
・すべての伝送単位(フレーム)にチェックフィールドを持つ 
汎用性 小さい
・業務処理、端末特性への依存性が大きい
大きい
・通信プロトコルは、上位プロトコルと完全に分離している


 (a) 回線制御方式、つまり送信権はポーリング/セレクティングコンテンションの2つの方式がベーシックにあります。HDLC3種で、@非平衡型、A平衡型、B非平衡型と平衡型の組み合わせに分類され、その中でのモードがこれらに対応して3種あります。

 (b) 通信方式としては、ベーシック手順で半二重片方向通信、半二重片方の交互伝送方向切替、全二重同時両方向ができます。基本モードでは半二重のみですが、拡張モードでそれ以外も可能としています。HDLCは全て対応しています。

 (c) ベーシックでは送信側は受信側の応答を待って次のブロクを送るという逐次応答によるACK、NAKを基にしています。最初に出現したこの応答監視方式から改良して、応答を待たずに次のブロックを次々と送信する同時監視方式も可能としています。HDLCは、当初から同時監視方式です。

 (d) ベーシック手順ではJIS 7単位符号であり、HDLCはビットの列であって符号に関係しません。

<端末の入出力機器(デバイス)>

 ベーシックではポーリング/セレクション(polling/selection)が最もよく使われます。これはHDLCの非平衡型(unbalanced data link)に対応し、同じ機能動作を行うことができます。ポーリング/セレクティングは種々の変形があります。図15と図16に手順の一例を示します。図15に示すポーリングでのデータ無を示す逆方向監視フレームはEOTのみ返し、プレフィックス(px)は送っていません。図16のセレクティングでもプレフィックスは省略されています。ACK、EOTは2個連続して同じ符号を送ることがよくあります。また、最後に送出する情報データメッセージの中にEOTを組み込んで送り、順方向監視フレームのやり取りを省くものがあります。



                 図15 ポーリング方式




           図16 セレクティング方式


 ベーシックでは中央の制御局で端末の入出力機器まで見ていることが多いです。中央で端末のデバイスまで監視するのが慣例で、これがHDLCと異なる点です。図15と図16にデバイスアドレスを示すDAが記されています。ベーシックが作成された時期の回線制御プログラムの考え、つまり一元的に中央局で制御するという思想に沿ったものです。一元的制御は便利ですがかなりのオーバヘッドを生じることになります。

<タイムアウト>

 時間監視をあるステップ間、あるポイント間で行い、所定の時間以上かかるときタイムアウトとします。タイムアウトが発生すると、制御局は異常状態として回復プログラムを走行させるのが通例です。これを「無応答タイマが制御局(1次局)の回復処理を行わせた」と表現します。この時間監視は制御局で次の要素を考慮して、個々のシステムで決めています。これらはベーシックとHDLCで共通しています。

 @ ポーリング/セレクティングあるいは非平衡型での相手局(2次局)との信号伝播時間
 A 相手局(2次局)の処理実行時間
 B 半二重の場合には通信方向を切り替えるのに要する時間

 HDLC等でタイマとして規定されているものを以下に示します。

(1) 応答確認用タイマT1
 P = 1のコマンド送出でスタートし、F = 1のレスポンス受信でストップするレスポンス待ちタイマで、タイムアウトにより適切なコマンドを送出し、再送制御の契機に用いられます。

(2) 応答送信用タイマT2
 正常に受信したP = 0のIフレームに対して、Sレスポンスフレームを遅延させるためのタイマで、P = 0のIフレーム受信でスタートし、タイムアウトでF = 0のSレスポンスフレームを送信します。タイマ動作時P = 0のIフレームを受信してもタイマストップはせず、P = 1のコマンドフレームを受信したときストップします。

(3) 相手局受信ビジー監視タイマT3
 相手局受信ビジーを監視するためのタイマで、RNRフレーム受信でスタートし、タイムアウトでSコマンドフレームを送信して相手の状態を問い合わせます。タイマ動作中RNRフレームを受信するとタイマを再スタートし、RRフレームを受信するとタイマをストップします。

(4) リンク監視タイマT4
 マルチフレーム確認動作モードにおいて、フレームの送受信が一定時間以上ないとき、データリンクの正常性を監視するタイマでT1と排他的に動作し、F = 1のレスポンス受信でスタートし、P = 1のコマンド送信でストップし、F = 0のレスポンス受信で再スタートします。タイムアウトでリンクの確認動作(Sフレームの送受信)を行います。

1.3 データリンク層とスライディングウインドウ

 データリンク層間でやり取りするデータブロック単位をフレーム(frame)、ネットワーク層間での単位をパケット(packet)と呼ぶことにします。図17にこれらの関係を示します。データリンク層(第2層)では、送信側が高速で送り出し受信側がそれより低速のマシンで受け入れるとき、受信側がフレームを受け取るために送信側の制御を行う処理をしており、これをフロー制御といいます。制御方式としては一方向伝送で用いられる応答監視方式(ストップアンドスタート方式)と、両方向同時伝送の全二重伝送で用いられる同時監視方式があります。物理層(第1層)からはビットの流れそのものがデータリンク層に渡されます。データリンク層ではこれをある単位でバッファリングしてデータフレーム単位にします。これを上の層であるネットワーク層(第3層)に渡し、ネットワーク層ではさらに多量の単位であるパケットにして取り扱います。



          図17 データリンク層関係のモデル


<ウインドウサイズ1>

 スライディングウインドウのプロトコルでは、伝送されるすべてのフレームに順序番号(sequence number)が付与されます。"0"から最大値までの巡回式で、通常2n−1が最大値に設定され、nビットに適合したものとなります。応答監視方式はn = 1を使用しているものと考えられます。スライディングウインドウのプロトコルを考える上で、送信側はいつでも相手が受け取りを確認していないフレームを保有できる用意があるとしています。送信用のバッファに蓄積されているもので、この状態を送信用ウインドウ(sending window)にフレームを入れるといいます。同様に受信側は、受信したフレームを入れる容器(バッファ)を用意しています。これを受信用ウインドウ(receiving window)といいます。

 図18にウインドウサイズが1の動作状況を示します。(a)は初期状態を示します。(b)は最初のフレームが送出された直後の状態を示します。ウインドウが1つだけ時計回りに回っています。(c)は最初のフレームを受信側が受け、受信用ウインドウが回転した状態を示します。(d)は最初のフレームの受け入れが確認され、ウインドウが1つ回転した状態を示します。ウインドウサイズ1は停止待機プロトコル(ストップアンドスタート方式)に相当します。送信用ウインドウは、伝送でフレームが失われたりエラーが発生したりするのに備えて、受け入れ確認されない状態のフレーム(アウトスタンディング)を再送用に保有しています。受信用ウインドウは受けられるフレームだけ受け入れて、それ以上は捨て去ります。このため、サイズ1では必然的に順序番号どおりでの伝送となります。



               図18 スライディングウインドウの動作


 図19にウインドウサイズ1におけるパケットの伝送、つまりネットワーク層の交信状況を示します。(a)ではAの方が先にデータリンク層を作動させた場合を示しています。Aのネットワーク層から最初にパケットA0が取り出され、これからフレームが作られ、送出されます。これをA送(0、1、A0)で示しています。Bの受信側はデータリンク層でチェックし、このフレームが期待しているとおりならネットワーク層に渡します。これをB受(0、1、A0)で表し、ネットワーク層に届けられたものとして○印を付けています。ACKは確認用(Acknowledgement)の情報で、ウインドウサイズ1では"0"または"1"の2通りだけに限られます。(b)では同時にパケットが送り出され、データリンク層がほぼ同時にフレームを出し、Aのフレームの方が先にBに到着した場合を示します。



                  図19 パケットの伝送動作


 初期状態で次に送るフレーム送信状態変数、順序番号変数V(S) = 0、次に受信するフレームを示す受信状態変数V(R) = 0です。ここで、A側のT1タイマ(応答確認用タイマ)が短く設定してあると仮定します。最初にA側はA0のフレームをBに、B側はB0のフレームをAにほとんど同時に送出します。このA0、B0ともネットワーク層にまで受け取られます。ここでA0のみを受けたB側はV(R)を歩進しV(R) = 1とします。もしA側がタイムアウトにより最初のフレームと同一のものを再送すると、再送は同じA送(0、1、A0)であり、受け入れを拒否されます。A側は最初のB0を受けて、相乗りしてきた応答確認を見ますが、B0はAに対する応答ではないので、確認応答の情報はありません。そのためA側はA送(0、0、A0)としてA0を送出します。このフレームはB側でB受(0、0、A0)となりますが、破棄されます。これは無駄なフレーム伝送になっています。このように、ウインドウサイズ1のときはA、Bの両側のタイミング合わせ(同期)が重要になります。

<ウインドウサイズ n>

 フレームが受信側に到着するまでの時間と、その応答確認が戻ってくるまでの合計の往復時間を考える必要があります。例えば人工衛星を利用する回線で500msの往復伝播遅延があり、50kbpsのバンド帯であるとします。この回線で1000ビットのフレームを伝送することを想定します。

 t = 0で送信側が最初のフレームを送信し始める
 t = 20msでフレームは完全に送信しきる
 t = 270msで受信側にフレームが完全に到着し終わる
 t = 520ms経過して応答確認の情報が送信側に戻ってくる

 今までのストップアンドスタート、つまりウインドウサイズ1のとき、全体に対する送信比率として500/520もの割合で無駄であり、送信はほんの4%しか行っていません。長い伝播時間で、ごく短い応答確認の信号では回線使用効率は悪くなります。これを改善する手段としては、ウインドウサイズを大きくすることです。送信側が連続して、往復時間の間送信を続けられるようにします。この例ではt =520msの往復時間の間に当たる26フレームを連続して送り続けられるようにします。これはウインドウサイズを26にすることに相当します。26フレームをt = 520msで送り終わると、フレーム0番の応答確認(ACK)が到着します。この例では、送信側は20msごとに応答確認情報を受けます。従って、20msごとに新たにフレームを送出できるので、連続の番号順に次々と送信できます。この間の最大アウトスタンディング数は26です。

 チャネル容量をb [bit/s]とし、フレーム長l [bit]、往復伝播時間R [s]とすると、1フレームを送信しきる時間はl/b [s]となります。データフレームの最後のビットが送出し終わってから、そのビットが受信側に着くのはR/2 [s]かかります。そして応答確認(ACK)が戻るまでに少なくともこれと同じR/2 [s]かかるので、合計R [s]の遅延があります。停止待機プロトコルで行う場合、送信している時間はl/bで、回線をデータ伝送のために使用している時間です。そしてRが使用していない時間つまり空時間です。従って、回線効率は次式で求められます。

     (l/b)/(1/b+R) = l/(l+bR)

 往復時間Rの間もデータ送出し、回線効率を上げる手法をパイプライン方式(pipelining)と呼びます。パイプライン方式におけるエラー処理として、「n逆戻り(go back n)」「選択繰返し(selective repeat)」「一括プロトコル(blast protocol)の3通りの方法があります。図20にパイプラインの処理方法を示します。(a)のn逆戻りは、エラーがあったらその後のフレームを全て廃棄する方法です。これは受信用ウインドウが1に該当するもので、廃棄したフレームに対しては確認応答情報(ACK)を返しません。データリンク側はどんなフレームも受け取らず、送信側はパイプラインを空にするまで送り続け、T1タイムアウトでエラーフレーム以降を再送します。(b)の選択繰返しは、悪いフレームの次の正しいフレームを受け取り蓄積し、パイプラインの終わりのフレームを受け取った後で、エラーフレームのみを送信側が送出します。(c)の一括プロトコルは、全フレームを一括してみており、パケット送出間隔を監視してタイムアウトしたら強制的に最初からフレームを再送出します。これはネットワーク層とデータリンク層の間のやり取りに関するルールです。



                 図20 パイプラインの処理方式


<相乗り方式>

 ある方向に幾つかのブロック、データフレームを連続して送り、方向を切り替えてから幾つかのデータフレームを連続して送信します。1つのフレームだけで応答フレーム(ACK)を送るために方向を切り替えるのではなく、応答情報を逆方向のデータフレームに相乗りして送ります。AからBへのデータ伝送において、AからBへの応答情報もそのデータフレームに相乗りさせて伝送されます。これを相乗り方式(ピギーバック:piggybacking)といいます。混ぜ合わされた中からデータ情報と応答情報を分離するには、ヘッダの分析によっています。つまり、ヘッダに応答(ACK)の情報を組み込んで送出します。1つのフレームだけを見て応答フレーム(ACK)を返している分離型のACKフレームは、応答(ACK)フレームのためにヘッダが付きます。相乗り方式では応答情報のためのヘッダはなく、伝送効率を上げることができます。


[出典]
 (1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)

 以上、通信制御についてまとめました。次回はパケット交換網についてまとめる予定です。



[技術講座(データ通信―2)]                  (2002/12/08作成)

 前回の通信制御に引き続き、パケット交換網についてまとめました。

2.パケット交換網

 パケット交換網はコモンキャリアと呼ばれる通信業者側から推進され、データ通信回線を既存のディジタル電話網を使ってさらに効率的に利用する必要性から生み出されました。一方、データ処理の通信アプリケーションが各メーカでそれぞれ個別に開発され、利用者側で混乱するようになりました。パケットが統一を期待された1970年頃はまだARPANETのパケット技術が開発中であり、HDLCもなく、用語やネットワークも独自のものでした。この頃の問題点は、データ通信のハードウエアとソフトウエアの標準的なインタフェースでした。米国のエレクトロニクス産業協会(EIA)でのRS-232C規格およびITU(旧CCITT)のVシリーズ勧告などがこの努力の結果でした。

 CCITT勧告X.25は、その当時としての標準リンクアクセスプロトコルとして出されました。各メーカがこの規格(標準インタフェース)をサポートすれば、それぞれのメーカの機器が混在しても、どのアプリケーションでも使用できるようになるものを実現しました。X.25勧告はデータリンクレベル等の規定をも含んでいます。この規格でデータ処理側から見て通信回線の内容が全く分からなくてもよいもの(バーチャルサーキット)がインタフェースとして取り入れられました。バーチャルサーキットは、通信している端末または端末の入出力機器から見て、通信回線の制御はこのバーチャルサーキットを満足すれば十分であるという拡大した意味になりました。通信しているデバイス間で通信網はトランスペアレントであると呼んでいる機能です。

 パケットは単一のプロトコル、例えばHDLCあるいはベーシックにいずれかという唯一のインタフェースではなく、多様なインタフェースを包含しています。種々のデータリンクレベルの手順の上にあるものとして階層構成を明確にした点でも、当時としては新しいものでした。

2.1 パケット交換方式

 パケット交換は端末とネットワーク間を、DTEとDCEを結ぶ標準インタフェース(X.25)で動いているものがほとんどです。パケット交換方式は、データをある長さのブロックに分割し、そのブロックごとに宛先符号、シーケンス番号などを含むヘッダを付け、蓄積交換技術を用いて転送する方式です。このデータブロックをパケット(packet)と呼びます。パケットはフレーム(frame)とも呼ばれ、HDLC等で使われているのと同じです。交換網内を転送されたパケットは、最終目的地の交換機に集められ、シーケンス番号に従ってパケットの順序をそろえて着信端末へ送出されます。

 パケット交換方式では、伝送パケットが存在する時間だけチャネルを割り当て、その他の時間はチャネルを他の通信に開放するので、回線の使用効率は著しく向上します。パケット交換網におけるパケットのフォーマットは、ネットワークによって全く違ったものになりますが、標準的なパケットフレームフォーマットを図21に示します。



          図21 典型的なパケットフォーマット


<メッセージ交換>

 パケット交換が導入される前に、データ通信の要求を満たすためにATT、NTTなどのコモンキャリアからの専用線を用いて、これに交換機能を追加し、利用に供されたシステムがあり、付加価値網と呼ばれています。この代表的なものは米国のTELENETおよびTYMNETです。これらの付加価値事業者の出現がパケットサービスの導入に影響しました。日本では付加価値事業者は第二種通信事業者として認められています。

 公衆ディジタル網(Public Digital Network:PDN)はX.25規格で始められ、やがてISDNも含まれることになりました。しかし、この前身にメッセージ交換と呼ばれるサービスがありました。これはコンピュータのメモリ(ディスクファイル)に入力メッセージを蓄積し、適当な出力線が利用可能になったときに自動的に送出するものです。各メッセージにはパケットフォーマットと同様のヘッダが含まれていて、これに宛先やルート選択情報が与えられているものです。ネットワーク側がメッセージ交換よりパケット交換を利用した理由は以下のとおりです。

 @ パケットでは遅延が比較的短く、会話型のやり取りでもあたかも専用線が設定されたかのように、同等のサービスができる。
 A インタフェースの標準化とともに、速度変換、符号変換もサービスとして提供できる。

(1)バーチャルコール(VC)

 公衆パケット交換サービスとしては、バーチャルコールサービスデータダイヤグラムサービスがあります。NTT等のコモンキャリアはバーチャルコール(Virtual Call)サービスを推進しました。このバーチャルサーキット網は回線交換パケット交換の両方の機能を持っています。コール(呼)の要求、トラフィックに対して回線容量が動的に割り当てられる接続交換ですが、複数パケットメッセージは網内の同じルートを通るグループにまとめられます。会話型の通信が始まる前に、網を通じて1つのルートが設定され、それに係わるすべてのノードコネクション(接続:connection)されたことを知り、すべてのノードはどのルートに送り出すかを知っていて、バッファに蓄積したデータをそこへ送り出します。コネクションは各ノードのポインタの鎖です。

 バーチャルコールは、通信を開始してから終了するまでを1つのコール(呼:Call)とよばれ、物理的に接続された電話での呼と違い、論理的に接続された仮想的な呼であることから仮想呼、すなわちバーチャルコールという名称が付けられました。バーチャルサーキト(仮想回線)は、網のノードにあるアドレスとポインタを含む1つの論理的な概念で、専用の伝送装置は持ちません。セッション(session)でバーチャルサーキットは作られ、網内に流れる呼開放(call clear)情報によって開放されます。ここでセッションとは、端末の使用開始から終了までの間におけるDTEとDCEの一連のやり取りを意味しています。

 端末間でやり取りされる各パケットのセッションは、網内で必ずしも同じパス(path)を使用するとは限りません。バーチャルサーキトは各時点でのトラフィック状況に応じて、この設定フェーズが決められます。これは従来の回線交換と類似の技術です。呼設定のセッションは、呼設定のメッセージがネットワーク内を伝送し、各ノードはどの出リンクを選択すべきかの決定を行うもので、電話回線の接続交換と同じです。

 バーチャルサーキットでは、順序(シーケンス:sequence)どおりにパケットの伝送を行うことができます。各ノードはあるパケットを確認し、そのコネクションに関係するパケットと分かれば、順序どおりに送出します。従って、バーチャルサーキットでは個々のパケットのアドレスを付ける必要がありません。セッションで一度バーチャルサーキットが設定されてしまえば、完全な宛先アドレスの代わりに各リンクに関するバーチャルサーキット識別子(VCI)を用いることができます。バーチャルサーキット識別子は、本質的にはパケット交換機(ノード)の呼のプロセッサにあるメモリアドレスに対するポインタのことです。指定されたメモリアドレスには実際の最終目的のみでなく、パケットのルート選定に関する情報が与えられるように仕組まれています。

(2)公衆パケット網アクセスプロトコル

 公衆パケット交換サービス、具体的にはNTTのDDXやKDDのVENUS-Pでは、利用する端末(DTE)に対して伝送手順(プロトコル)を定めることになりました。これは物理レイヤ、データリンクレイヤ、パケットレイヤの3つの機能群別の層(レイヤ)に分けられています。ここでは物理レイヤを除き、その上位のデータリンクレベルとパケットレイヤの機能を取り上げます。

 網アクセスプロトコルは、公衆パケット交換網が開始された当時の状況から2種に分類されました。1つは網を提供するコモンキャリアのNTTやKDDがX.25勧告を満足するプロトコル(含ハードウエア)を装着していると認めるDTEに対する約束事と、X.25プロトコルを持たないDTEに対するものです。前者を実装する端末、コンピュータをパケット(モード)端末(PT)といい、後者を非パケット(モード)端末(NPT)と呼びます。NPTは当時の一般のデータ端末です。この非パケット端末を公衆パケット交換網に収容するためにPAD(Packet Assembly/Disassembly)が用意されました。PADは公衆パケット交換網を介して調歩式端末などの一般の端末が通信できるようにコモンキャリアが準備しました。この状況を図22(a)に示します。PADの基本機能はX.3勧告にあり、パケットの組立/分解、パケット転送、バーチャルコールの管理などです。その他のXシリーズ勧告の概要を表11にまとめて示します。



          図22 公衆パケット交換網プロトコル


          表11 Xシリーズ勧告

プロトコルの勧告
勧告の内容
X.3
PADの基本機能とユーザが選択するPADパラメータを規定している勧告
X.25
パケット(モード)端末と公衆パケット交換網の間のプロトコルを規定し、公衆パケット網を利用するユーザが守るべき網アクセスプロトコルを規定する勧告
X.28
調歩式端末とPADの間のプロトコルを規定する勧告
X.29
PADとパケット(モード)端末の間のプロトコルを規定する勧告
X.32
電話網をアクセスラインとし、パケットモードでデータを転送する端末用網アクセスプロトコルを規定する勧告
X.75
公衆パケット交換網が他の網と相互接続するためのプロトコルを規定する勧告


<LAPB>

 データリンクレベルはLAPB(Link Access Procedure B)と呼ばれています。X.25勧告が出されたときはまだHDLCがなかったのですが、後にHDLC勧告が出されたとき、LAPBは平衡型の一種であることが分かったので、Balanced modeのBを付けました。X.25ではHDLCのコマンドSABMまたはその拡張モードSABMEによるリンク設定がなされます。現在、パケットフレームのみでなく、FAX等の情報もHDLCを利用して伝送されています。この状況を図23に示します。HDLCの情報部(Iフレーム)に伝送目的のパケットフレームやFAXの情報を入れます。パケット端末はLAPBが装着されています。



          図23 FAXとパケットをHDLCを利用して伝送


 公衆ディジタル網(PDN)の場合の概念を図24に示します。利用者側から見ると、X.25を満足するPTと一般のNPTいずれも網アクセスプロトコルのみで、ネットワークの構成、機能は隠蔽されています。公衆ディジタル網として始められたパケットサービスでは、アナログ回線用の変復調装置に代えて回線接続装置(DSU)が導入され、網との接続に使用されることになりました。



       図24 公衆ディジタル網の概念図


<回線設定手段>

 パケット交換網導入の回線設定で論議された基本的な手段は次の3つです。

 @ ダイナミック(動的)経路設定:ダイナミック(動的)ルーチング
 A バーチャルサーキット(仮想回線)
 B 固定パス:スタティック(固定)ルーチング

 この技術はルーチングといわれ、データ通信のみでなく一般のネットワークに共通のものです。図25(a)はダイナミックルーチング、(b)はバーチャルサーキットと固定パスでのパケット転送状況を示します。



       図25 回線設定(ルーチング)の手段


 ダイナミックルーチングは、パケット転送の都度適切な経路を選択するもので、障害やトラフィックの急激な変化に順応できます。一方、1つのメッセージが網内の異なるルートを通るので、目的地にバラバラに到着し、順番どおりに組み立てる必要があります。さらに欠落したパケットが単なる遅延か、全く失われたのか不明で、複雑な処理になります。固定パスは2点間で常に決まったルートにするので、恒久的なバーチャルサーキットを割り付けることに相当します。活動していないバーチャルサーキットを網内に保有しないようにし、必要に応じて設定する固定パス方式は、固定VC(PVC)としてサービス提供されています。パケット交換といえばバーチャルサーキットを指し、X.25はこの経路設定手段によっています。世界中のコモンキャリアがエンドツーエンドで、確実な通信を保障することを主眼にしたからです。ダイナミックルーチングによるデータダイヤグラムサービスは無視されました。

<VCとPVCの呼設定>

 X.25ではユーザセッションを確立するとき(DTEがパケット通信を開始するとき)VCとPVCの2種があります。図26に交換型バーチャルコール(Virtual Call:VC)を示します。発信側のDTEはセッションの設定要求(call-request:CR)を送ります。ネットワーク側DCEに到着し、通常は受け取られます。時に拒否されることもあります。設定要求が受け付けられると呼受付(call-accepted:CA)が相手側DTEから戻され、要求側まで返送されます。この2つはX.25のコントロールパケットといわれ、どちらにもセッションまたは呼設定のための識別情報が含まれています。X.25では同時に行われるユーザセッション数の制限があり、受付を拒否されることもあります。呼設定がなされた後ユーザデータを格納したパケット(データパケット)が交換されます。このときX.25はパケットのフロー制御ウインドウ方式で行っています。すべてのユーザデータの転送が終われば、発信側が呼解放のためにclear-request(復旧要求)パケットを送ります。相手の受信側が確認のclear-confirmation(復旧確認)パケットを送ると、セッションは終了します。



          図26 交換型バーチャルコール(VC)


 この交換型VCはDDX-P(パケット交換サービス)としてNTTが提供しています。このほかDDX-C(回線交換サービス)といわれるVCを常時保持の固定VC(Permanent VC:PVC)で提供しています。これは電話網での回線接続と似ていますが、あくまで仮想呼(Virtual Call)です。図27に固定VCのセッションを示します。これは、両方の端末がPVCとして設定されることに合意している場合のみ設定されます。送信側DTEがパケット網DCEにパケットを送ったとき、パケットに含まれる識別情報によってPVCの要求であり、DCEと両側のDTEが合意していることが分かると、送信側DTEと受信側DTEはVCにて接続されます。セッションによる確認動作は行われず、VCにより常にデータ転送が可能になります。また、PVCでは呼設定のみでなく呼解放でも手続きによるやり取りは不要です。



          図27 固定VC(PVC)の設定


 VCは専用線と同じように固定の相手とのデータ転送に便利です。ディジタル伝送路と接続する端末は、モデムではなくDSU(Digital Service Unit)を用います。電話網を通して端末をパケット網に収容するサービスもあり、このときのアナログ回線の伝送にはモデムが用いられます。

<パケット多重>

 パケット通信ではブロック化したパケットにアドレスを持ち、これにより各パケットの識別を行うので、同一の物理回線上異なる宛先のパケットを乗せることができます。これをパケットの多重化といいます。アドレスをラベルと見てラベル多重ということもあります。この場合、音声の時分割多重の回線交換方式とは異なり、伝送路上のパケット相互の間隔や長さを調整するための同期が不要なので、パケット通信は非同期型の転送といえます。時分割多重では各チャネルにタイムスロットを同期的に割り当て、チャネルが時間を割り当てたスロット内で送信します。対応するソースに送るべきものがあるか否かにかかわらず割り当てられます。これに対してパケット多重では、データストリームのブロックにタイミングを合わせ、ソースが活動を始めたときのみタイムスロットを割り当てます。それ故これをブロック同期あるいはパケット同期と呼びます。ここでの同期・非同期は、伝送リンク上のタイミングとは関係ありません。パケットは同期式のHDLCで包まれて伝送されるし、調歩式の非同期式でも伝送されます。非同期のパケットは、統一したタイミング同期によるSDH網で伝送されています。

 日本ではデータグラムサービスのパケット交換はありません。これはコネクションレス型といわれ、相手端末のデータパケット受信を待たずに、パケット交換機が正常受信した応答を返す方式です。これをローカル方式といいます。これに対して、相手までのVC接続を確認してからデータパケットを送出するのを、エンドツーエンド方式といいます。この両者を図28に示します。



       図28 エンドツーエンド方式とローカル方式


<パケット網への端末の収容>

 公衆パケット交換網は一般の端末、いわゆる非パケット(モード)端末(NPT)を接続できるようにPADを用意し、各種の伝送手順に対応できるようにしています。PADはベーシック手順のヘッダや伝送制御文字を除いて、通常ベーシックのブロック長のままパケットに組み立てます。逆にDCEからのパケットは、通常そのままの長さで1ブロックとし、ベーシック手順にのせて送出されます。調歩式端末がパケット網に収容される場合には、ネットワークを通してPADを制御する信号がパケット端末側(PT)から送られます。このとき、PTがパケットの組立/分解機能を制御し、処理するために参照するパラメータをPADパラメータと呼びます。PADに関するXシリーズ勧告は3つあり、X.3はPADの機能自体を規定し、X.28は端末とPADの間のプロトコル、X.29はパケット端末(PT)とPADの間のプロトコルを規定しています。図29にこれらの関係を示します。



          図29 X.3,X.28,X.29,X.25勧告の関係


<LAPBの手順>

 LAPB(Link Access Procedure Balanced)は、DTEがネットワーク(DCE)にアクセスするデータリンクレベルの手順の標準タイプです。LAPBはHDLC手順のサブセットで、オプションを付けてパケット交換用としています。HDLCは階層構成を成していて、図30に示すようにパケットレベルフォーマットを包み込んでいます。HDLCのフレームの種類は、制御フレームCによって識別されます。HDLCは標準の基本的な手順クラスを用意しており、このなかの平衡型非同期平衡モード(BA)クラスをX.25は採用しました。



       図30 HDLCとパケットフォーマットの関係


 表12にLAPBで使用するコマンド/レスポンスを示します。LAPBでは基本手順クラスのBAよりREJ(reject)のみが多いだけで、これは回線使用効率を向上させるためのものです。LAPBは拡張モードもとることができます。モジュラス128を使用する拡張順序番号を付けることができます。これは衛星回線のように、遅延の大きい回線に使用すると有効とみられています。


        表12 LAPBのコマンド/レスポンス

(a) 基本(モジュロ8)動作

フォー マット
コマンド
レスポンス
符  号
情報伝達 I(情報)  
 0 | N(S)
P
N(R)
監 視 RR(受信可) RR(受信可)  1 0 0 0
P/F
N(R)
RNR(受信不可) RNR(受信不可)  1 0 1 0
P/F
N(R)
REJ(リジェクト) REJ(リジェクト)  1 0 0 1
P/F
N(R)
非番号制 SABM(非同期平衡モード設定)    1 1 1 1
P
1 0 0
DISC(切断)    1 1 0 0 
P
0 1 0
  DM(切断モード)  1 1 1 1 
F
0 0 0
UA(非番号制確認)  1 1 0 0
F
1 1 0
FRMR(フレームリジェクト)  1 1 1 0 
F
0 0 1

(b) 拡張(モジュロ128)動作

フォー マット
コマンド
レスポンス
符  号
情報伝達 I(情報)  
 0 |    N(S)
P
N(R)
監 視 RR(受信可) RR(受信可)  1 0 0 0 0 0 0 0
P/F
N(R)
RNR(受信不可) RNR(受信不可)  1 0 1 0 0 0 0 0
P/F
N(R)
REJ(リジェクト) REJ(リジェクト)  1 0 0 1 0 0 0 0
P/F
N(R)
非番号制 SABME(拡張非同期平衡モード設定)    1 1 1 1
P
1 1 0    
DISC(切断)    1 1 0 0
P
0 1 0    
  DM(切断モード)  1 1 1 1
F
0 0 0    
UA(非番号制確認)  1 1 0 0
F
1 1 0    
FRMR(フレームリジェクト)  1 1 1 0
F
0 0 1    


 制御フィールドCによって、フォーマットフレームは3種類に分類されます。情報(転送)はIフレーム、監視はSフレーム、非番号制はUフレームといわれ、P/F(poll/final)やN(S)、N(R)の送信あるいは受信順序番号など全くHDLC手順と同じです。リンク設定は、SABMフレームあるいはSABMEフレーム(モジュラス128)を、DTEあるいはDCEが送信することにより開始されます。この状況を図31に示します。 データリンクレベルのやりとりは、このようにHDLCそのものです。情報Iフレームでパケットデータが転送されます。X.25はIフレームのみでパケットレベルの情報を転送することを規定しています。



     図31 LAPBの手順


 データリンクレイヤでの誤り制御は、フレーム再送による回復ができない場合はフレームリジェクト状態となり、リンク再設定つまりSABMフレームからのやり直しで、HDLCと同じです。X.25データリンクレイヤで複数の物理回線を使用するMLP(Multi-Link Procedure)手順を規定しています。各回線上では単一のLAPBを用い、これを1つにまとめて単一リンクとして制御します。この状況を図32に示します。MLPに対して、1本の物理回線で単一のリンクを設定するものをSLP(Single Link Procedure)といいます。物理回線(伝送路レベル)のチャネル間の同期で、SLPの上位にリンクレイヤサブエンティティを作り、これを実現しています。



       図32 MLPの原理


 パケットデータはIフレームの情報フィールドに1個入れられます。Iフレームに複数のパケットをつめることはありません。HDLCのIフレームで、個々にCRCによるエラー検出をされることからほとんどエラーは発生しません。これはパケットレイヤレベル、つまりネットワーク内でも同じです。

(3)ルーチング/フロー制御とデータ保証

 フロー制御には主としてウインドウ制御バッファ制御の2種があります。バッファ制御は、X.25のパケット交換では端末制御に使用しており、端末のバッファ不足のとき、一時的に入力規制をするのに使用されます。ウインドウ制御はネットワークで用いられます。ルーチングでは、個々の呼接続要求に対する網内の伝送路や経路の割り当てを行い、直通ルートあるいは代替ルートを決定することになります。パケット交換ではノード(交換機)の障害を回避する代替ルートや、近隣ノードの待ち行列状況による出リンク選択などの判断が、蓄積交換のためさらに加えられます。

 フロー制御はネットワークを流れるトラフィック量の管理です。代替ルーティングの制御がネットワーク内の伝送路を如何に利用するかという観点であるのに対し、フロー制御はトラフィックをさばく観点からのコントロールです。都市の自動車の交通(トラフィック)によくたとえられます。ある交叉点で1つの方向に車が流れると、道路が空いているにもかかわらず車の進行が妨げられることがあります。つまり、ある方向における過度なトラフィック通過は、他の方向における障害になります。電話網で、ネットワークに加えるトラフィック量(呼設定要求)を増加していくと、接続完了し運べるトラフィック量は順次増加しますが、ある点から接続不可の呼が急増し、運べるトラフィック量が減少し始めます。さらに加える呼接続要求を増すと全く接続できなくなり、運べる呼が皆無となるネットワークも現れます。これは網内の共通の処理設備(伝送路や交換機)を呼接続のため競合して求め合い、呼が拒絶されて放棄されるために起こります。フロー制御は円滑にトラフィックが運べるように共通設備を制御することです。

 パケット交換のみでなく一般の交換網において、ルーチングとフロー制御は密接に関係した運用上の必要事項です。パケット網の特徴はフロー制御でのバッファ管理です。蓄積してその宛先を見て出ルートを決定しており、バッファがいっぱいのときはそれ以上のパケットを受信できないことです。パケット交換ノードは、データ送信しても直ちに蓄積しているバッファを解放しません。バッファは相手先の受信ノードから受け取りの肯定応答があってから解放されます。つまりローカル方式ではなく、エンドツーエンド方式です。コネクション(指向)型といわれ、データ保証あり(guarantee reliable delivery)です。フロー制御は、パケット交換網のインタフェースノード(ネットワークノード)のすべての過負荷の状態を知り、呼(コール)の遅延を少なくすることと、新たな呼を拒否することです。

 X.25のフロー制御の考え方は、データリンクのウインドウの考え方と似ています。フローは各論理チャネルごと各通信出線ごとにDTE-DCE間のインタフェースで制御されます。フローは受信側のバッファで制御されており、P(S)およびP(R)フィールドはウインドウを調整するのに用いられます。第2層データリンクレベルと第3層パケットレベルの両層でフロー制御にウインドウを使っています。X.25ではウインドウの大きさを特別に大きくできます。

 あるパケット網サービスでは、トランザクションタイプの呼(1個または2個のパケット)しか送らないアプリケーションで、たとえばクレジットの問い合わせ、口座などの転送などに適した特別な手順と、単純化したファーストセレクト(fast-select)と呼ばれる転送のサービスがあります。これはデータ保障のための面倒な手順を簡略化したものです。

2.2 X.25のパケットレベルプロトコル

(1)X.25パケットフォーマット

 X.25のパケットフォーマットはパケットのタイプ、VCおよびPVCに対するサービスの種類により異なります。呼設定、データ転送などのタイプの別です。ファシリティ(facility)がついているパケットは、ユーザがファーストセレクトなどの付加的機能を要求したときのためのものです。X.25パケットレベルでデータ転送に用いられるパケットフォーマットを図33(a)に、VC設定に用いる制御パケットフォーマットを(b)、(c)に示します。表13にX.25VCおよびPVCサービス別に対するパケットタイプの一覧を示します。


表13 サービス別のパケットタイプ一覧

パケットタイプ
サービス
DCEからDTEへ
DTEからDCEへ
VC
PVC
呼設定および解放
   
着呼
接続完了
切断指示
DCE復旧確認
発呼要求
着呼受付
復旧要求
DTE切断確認




 
データおよび割込み
   
DCEデータ
DCE割込み
DCE割込み確認
DTEデータ
DTE割込み
DTE割込み確認




○  
フロー制御およびリセット
   

DCE受信可
DCE受信不可
リセット指示
DCEリセット確認           

DTE受信可
DTE受信不可
DTEリジェクト
リセット要求
DTEリセット確認








リスタート
   
リスタート指示
DCEリスタート確認
リスタート要求
DTEリスタート確認


診   断
   
診断  
登   録
   
登録確認               

登録要求





               図33 X.25パケットフォーマット


 X.25パケットフォーマットは、最初の3(または4)オクテット(オクテットは8ビット=1バイト)はすべて共通となっています。図33(a)に示すデータ転送用フォーマットの最初の3(または4)オクテットがこれに相当し、この部分をヘッダと呼んでいます。各フィールドの定義を以下に示します。

<ゼネラルフォーマット識別子(GFI)>

 データパケットには、フロー制御や通番管理によるデータデータ抜け防止のために、通し順序番号が付けられています。これをP(S)、P(R)と記し、これにはモジュロ8または128の2種類があり、ヘッダの長さが3または4オクテットと異なります。GFIでこれを区別するために"01"(モジュロ8)または"10"(モジュロ128)の2ビットを使います。GFIのDビットは、エンドツーエンドの確認を取るための手順を使うか否かを表示するためのものであり、QビットはX.29に使い方の例が示されています。図34にQビットの働きを示します。Q= "1"のときはDTEとネットワークの間の通信で、Q= "0"のときはDTEとDTEの間の通信を行います。X.29はX.25のバーチャルコール接続を切り替えます。Q= "0"でのユーザのデータをそのままの転送か、それともQ= "1"でPADの機能を加えた転送かのスイッチングをしています。X.25のパケット網に非パケット端末NPTを接続するため、PADはフロントエンド的なキャラクタ制御を持っており、非パケット端末へのユーザデータに対しては、その端末に適合した細かい制御が必要となっています。



          図34 Qビットの働き


<論チャネル識別子(論理チャネルグループ番号LCGNおよび論理チャネル番号LCN)>

 VC設定を行い経路(ルート)が決定されるときに、DTE-DCEインタフェースにおいて論理チャネル識別子(VCI)が割り当てられます。このVCIは論理チャネルグループ番号(LCGN)と論理チャネル番号(LCN)の組み合わせで指定されます。LCGNが4ビット(24=16)、LCNが8ビット(28=256)なので16×256=4096個の論理チャネルが識別できます。図33(b),(c)は呼設定用に用いる制御パケットで、DTEアドレスがヘッダに記されています。図33(a)はデータ転送用のデータパケットで、ヘッダにはDTEアドレスがなく、論理チャネルグループ番号(LCGN)と論理チャネル番号(LCN)のみがあります。
 LCGN=0、LCN=0の組み合わせは特別な場合、リスタート手順の場合などのため論理チャネルとして使用せず、また交換機のアドレス展開の限度から4096個すべての論理チャネル識別子(VCI)が使用できることはなく、ネットワークとしての限度があります。

<パケットタイプとヘッダビット>

 ヘッダようにパケットタイプを示すためにパケットタイプ識別子フィールドがあります。このフィールド(第3オクテット)の第1ビットが"1"の場合は呼制御パケットを表し"0"の場合はデータパケットを示します。表14にパケットタイプ識別子(packet type identifier)のビット位置を示します。データパケットでは、モジュロ8の場合このフィールドに各3ビットでP(S)、P(R)が設定されます。P(S)とP(R)の間の1ビット(Mビット)は、"1"の場合まだ後にデータパケットが続いていることを示します。モジュロ128の場合は7ビットでP(S)とP(R)を表します。第3オクテットと第4オクテットがこれに割り当てられています。


     表14 X.25パケットレベルのサービス識別とヘッダ

種類
DCEからDTEへ
DTEからDCEへ
 ビット位置
8 7 6 5 4 3 2 1
呼設定および解放 Incoming Call(CN) Call Request(CR) 0 0 0 0 1 0 1 1
Call Connected(CC) Call Accepted(CA) 0 0 0 0 1 1 1 1
Clear Indication(CI) Clear Request(CQ) 0 0 0 1 0 0 1 1
Clear Confirmation(CF) Clear Confirmation(CF) 0 0 0 1 0 1 1 1
データおよびインタラプト Data(DT) Data(DT) P(R) |M|P(S) | 0
Interrupt(IT) Interrupt(IT) 0 0 1 0 0 0 1 1
Interrupt Confirmation(IF) Interrupt Confirmation(IF) P(R) | 0 0 0 0 1
フロー制御およびリセット Receive Ready(RR) Receive Ready(RR) P(R) | 0 0 1 0 1
Receive Not Ready(RNR) Receive Not Ready(RNR) 0 0 1 0 0 1 1 1
Reset Indication(RI) Reset Request(RQ) 0 0 0 1 1 0 1 1
Reset Confirmation(RF) Reset Confirmation(RF) 0 0 0 1 1 1 1 1
リスタート Restart Indication(SI) Restart Request(SQ) 1 1 1 1 1 0 1 1
Restart Confirmation(SF) Restart Confirmation(SF) 1 1 1 1 1 1 1 1
P(S):送信側送信シーケンス番号、P(R):送信側受信シーケンス番号、M:More Data Mark

<ファシリティ>

 X.25は1つのネットワーク内で複数のユーザが互いに通信するために規定しています。X.75は2つの異なるネットワークのユーザに対して通信を確立するネットワーク間接続を目的としています。X.75はX.25のプロトコルで運用されることを前提としており、VC、PVC、LCGN、LCNはそのままです。制御パケット、データパケットも同じフォーマットであり、取り扱う階層も同じです。

 X.75はX.25のファシリティで示されています。これらのファシリティによるユーザ機能が付加できます。主なものは次のとおりです。

 @ スループット配分:呼出し側のDTEから通信速度の指定ができる。
 A パケット再送:拒否されたパケットをP(S)、P(R)を用いて再送する。
 B 着呼禁止:Incoming Call閉鎖ともいい、遠隔地で発生したVCを着信DTEに渡さない。
 C 発呼禁止:Outgoing Call閉鎖ともいい、DTEからの全論理チャネルの発呼を禁止する。ローカルでのVC発呼をDCEが受け付けない。
 D 単方向発論理チャネルまたは単方向着論理チャネル:論理チャネルは呼の設定が発呼または着呼のどちらかに限られる。One-Way論理チャネル
 E パケットシーケンス番号の拡張:パケットシーケンスをモジュロ128で付与する。P(S)とP(R)が8から128になる。このファシリティを使用しない場合はモジュロ8で動作する。
 F 着信課金:バーチャルコールの着信側に課金する。
 G ファーストセレクト:トランザクション型のアプリケーションに適する機能です。DTEが起呼要求パケットにデータを乗せて起呼できます。受信側でこれを受け取ると呼解放がきたとみなし、DCEから切断支持パケットにデータを乗せて応答できるようにしています。

(2)PADの機能

 X.25のパケットレベル(ネットワーク層)に、非パケットモードのインタフェースを設ける勧告が出されています。これはPAD(Packet Assembly/Disassembly:パケット統合/分解)と呼ばれ、X.3で規定されています。主な機能は次のとおりです。

 @ 端末からのキャラクタを集めて(assemble)組み立て、パケット端末(PT)向けのパケットを作る。ユーザパケット(DTパケット)の作成。
 A パケットを分解し(disassemble)、スタート/ストップタイプ(調歩式)等の非パケット端末(NPT)用のデータを作る。
 B バーチャル呼の呼設定/呼解放の処理をする。ここでは発呼要求パケット(CR)や復旧要求パケット(CQ)などの呼制御用パケットの送出、受信を含んでいます。X.25へのプロトコル変換です。
 PADは各端末ごとに設定情報、プロファイルを保有しており、PADがサービスする各端末に対して選択して使用します。オペレーティングシステムが、各端末ごとの設定情報、キャラクタの処理パラメータを保持し監視しているのと同様に、PADもパスワードその他の情報をパラメータとして保持し、このパラメータの設定に従ってパケット組立・分解を行います。これをPADパラメータといい、独立に最大22個規定されています。表15にPADパラメータの一覧を示します。


     表15 PADパラメータ一覧表

X.3パラメータ参照
意味
オプション等
1.PADリコール データ転送モードからコマンドモードへ移る 標準はキャラクタDLE使用
2.エコー 端末から送信されるエコーキャラクタを制御 0でエラーあり1でエコーなし
3.データ転送 データ転送のための信号とPADによって認識されるキャラクタを定義  
4.アイドルタイマ遅延 データ転送の信号として端末のタイマ間隔を選択  
5.補助装置制御 PADがX-ON/X-OFFを使って端末からのデータのフローを制御できるようにする  
6.PADサービス信号の制御 端末がPADのメッセージを受信できるようにする プロンプトやPADごと独自のサービス信号を指定できる
7.DTEからの中断信号の受信をした際のPADノオペレーション 端末から中断信号を受信した際のPADの振る舞いを定義 割込パケット送出とか、リセットとかの指定ができる
8.出力廃棄 端末への出力待ちのデータの廃棄を制御  
9.改行後のパデイング 端末に改行信号を送出した後にパディング用キャラクタのPAD挿入を制御  
10.行折り返し 端末への出力行をPADが折り返しするかどうかを表わす  
11.DTEのバイナリ速度 端末速度を表示  
12.PADのフロー制御 端末へPADが送出するデータのフローを端末が制御できるようにする  
13.ラインフィード挿入 改行信号が端末に送られた後にPADがラインフィードを挿入するのを制御 データ内のCRにLF付加あるいはエコーのCRにLFを付加する等の選択
14.ラインフィードパディング ラインフィードを端末に送信した後にパディング用キャラクタをPADが挿入するのを制御 復帰、改行時間の保証
15.編集 データ転送モード中にPADによる編集を可能にするかどうかを制御  
16.文字削除 文字削除信号に使われるキャラクタを選択  
17.行削除 行削除信号に使われるキャラクタを選択  
18.行表示 行表示信号に使われるキャラクタの選択  
19.PADサービス信号の編集 PADサービス信号の編集フォーマット制御  
20.エコーのマスク エコー(パラメータ2)可になっているときに端末にエコーされないキャラクタを選択 制御キャラクタのエコーをマスク
21.パリティの取り扱い 端末から/へのキャラクタに対するパリティのチェックと生成の制御  
22.ページ待ち 一度に表示される行数の指定 規定された数のLFがPADから送られた後調歩式DTEにそれ以後の送信を停止


 図35、図36に端末とPADおよびパケット端末の間を接続する手順を示します。PADの初期化は端末の要求に合わせることであり、端末からのサービス要求信号をPADが受付け、必要な情報を検出します。この情報はサービス要求信号に符号化して伝送されるものや、伝送速度のように場合によってはモデムで判定して与えられるものなどがあります。サービス要求信号が受け付けられると、PADとNPTの間でパケットの機能をどのように使用するかを設定するために通信が開始されます。通信はNPTからPADへのPADコマンド信号とPADが出すPADサービス信号とで行われています。



     図35 電話接続からのデータ転送手順




       図36 電話接続からのパケット網の呼接続手順


 PADコマンド信号によってPADの初期化が終了すると、PADはPADコマンドを待つ状態(PAD待ち状態)に入ります。選択PADコマンドをPADに送信すると、PADは発呼要求パケット(CR)を組み立て、バーチャルコールの設定を行います。相手パケット端末がバーチャルコールを受付け、接続完了パケット(CC)を返送してくると、PADはこれを分解し、PADサービス信号の接続完了PADサービス信号にして、NPTに送出します。このときパケット(CC)内にあるファシリティにより、PADサービス信号の細部が変わったものになります。これ以降データ転送が開始されます。

 パケット端末(PT)からのデータパケット(DT)は、通常そのまま8ビットのデータとして調歩式のスタートストップビットをつけてNPTに送られます。NPTからPADに送られたキャラクタはPAD内のバッファに蓄積され、ある時点でデータパケット(DT)として送信されます。ある時点とは、表15のPADパラメータ番号3(データ転送)で指定されたキャラクタをNPTが送ったときです。例えばこれをキャリッジリターンCRにすると、1行ごとにパケットに組み立てて送信します。また、データ転送中のPAD付加機能として、データ転送中のPADへPADパラメータ変更を行えるようにするため、PAD再呼び出しキャラクタを送ることができ、PADはPADコマンドを受け入れる状態(PAD待ち状態)になります。

[出典]
 (1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)

 以上、パケット交換網についてまとめました。次回はLANとOSIについてまとめる予定です。



[技術講座(データ通信―3)]                   (2003/01/15作成)

 前回のパケット交換網に引き続き、LANとOSIについてまとめました。

3.LANとOSI

 ローカルエリアネットワーク(Local Area Network:LAN)は、構内あるいはビル内に限られたネットワークという文字通りの意味でしたが、最近は地域的な制限がなくなってきています。LANの製品としてルータなどのLAN同士を接続する機器が現れ、各メーカの製品を繋ぎ広い範囲までも結べるものになりました。LANで使用されるソフトウエア製品も進展し、ネットワーク/トランスポート層の接続制御に関するものが多くなっています。伝送路の物理的レベルの製品も標準化が進んでいます。LANの製品として有名なのはイーサネット(Ethernet)で、1980年Xerox社が中心となりDEC、Intelと共同開発しました。これはCSMA/CDタイプのバス型ネットワークで、発表当時は伝送媒体に同軸ケーブルを使用していました。これに対してIBM社が85年にトークンリングを発表しました。これはIBM社のSNAを中心にした環境で現在でも使用されています。80年代はこのCSMA/CD方式とトークンリングが主体でした。

 一方、1970年代に米国の研究所・大学間のネットワークARPANET向けにTCP/IPが開発されました。これは研究所・大学でのLAN、ネットワークを相互に接続するに当たり標準的なものとなり、後にインターネットといわれ普及します。LAN製品は大別して2種に分けられます。一方はEthernetやFDDIなどの標準に準拠するもの、他方はメーカ中心の独自方式です。LANは基本的に伝送路を共用し、同じアクセス方式の端末の資源利用を行うことです。異なるクラスの端末間、例えばパソコン上にTCP/IPとそのアプリケーションを提供する製品も出現しました。LAN上でn対nの通信ができ、電子メール、ファイル転送のアプリケーションが一般的に製品に付加されています。

3.1 LANの標準化

 表16に示すように、標準に準拠したLANの主な規格は3種挙げることができます。IEEE(米国電気電子学会)が規格化したIEEE802.3(Ethernet)、IEEE802.5(トークンリング)、およびANSI(米国規格協会)が規格化したFDDIです。IEEE(Institute of Electrical and Electronics Engineers)は、いくつかのLANの標準規格を発表しています。IEEE802.2は論理リンク(LLC)についてであり、IEEE802.6は都市エリアネットワーク(Metropolitan Area Network:MAN)についての標準です。IEEEはLANのデータリンク層をLLCとMACに2分しました。


      表16 標準化LANの比較

 
IEEE802.3
IEEE802.5
FDDI
バンド幅・転送速度 10Mbps 4または16Mbps 100Mbps
ステーション数 1024 250 500
ステーション間最大距離 2.8km 30m 2km(MMF)
40km(SMF)
ネットワーク最大延長 2.8km 構成による 100km
論理トポロジー バス 単一リング 2重リング、2重リングツリー
物理トポロジー スター、バス、階層型スター リング、スター、階層型スター リング、スター、階層型スター
アクセス手法 CSMA/CD トークンパッシング タイムドトークンパッシング
フレーム送出数/アクセス 1個 1個 複数
最大フレーム長 1518バイト 4500バイト(4)、
17800バイト(16)
4500バイト

(注)MMF:Multimode fiber  SMF:Single-mode fiber


 図37に示すように、OSIの7つのレイヤの第2層であるデータリンク層をさらに2つの層、副層(sub-layer)に分け、下からMAC層(媒体アクセス制御層:media access control)とLLC層(論理リンク制御層:logical link control)としました。MAC層はCSMA/CDのEthernetとトークンリングとで別になり、LLCは共通のものになりました。これによりフレーム構成と階層化が明確になり、MAC層はLANの方式により異なるがMAC層のアドレスは共通のものとなりました。これでEthernetに接続する端末がトークンリングに接続するLANと通信することが可能になりました。IEEE802.3標準はCSMA/CD(Carrier Sense Multiple Access with Collision Detection)であり、IEEE802.5標準はトークン(パッシング)リングです。FDDI標準は100Mbpsのトークン(パッシング)リングを使用し、タイムドトークンプロトコルをベースとしています。



     図37 データリンク層とLLC,MACの対応

 図38はこれらIEEEとFDDIのLANの標準規格をOSIの7層と対比して示したもので、いずれもIEEE802.2のLCCプロトコルとIEEE802.1の上位層プロトコルを使用しています。

          
          
図38 FDDIとLAN標準規格の層関係

データリンク制御
についての概念はLANでもそのまま使用され、ポーリング/セレクション、コンテンション、スライディングウインドウの考え方が適用できます。LANという商品名で多種多様な用語で表現されている中で、IEEE802委員会がLANの標準化を推進し、標準規格を出しました。主なものは次のとおりです。

 IEEE802.1 高レベルインタフェース(及び媒体アクセス、MAC、ブリッジ)
 IEEE802.2 論理リンク制御(LLC)
 IEEE802.3 CSMA/CD
 IEEE802.4 トークンバス
 IEEE802.5 トークンリング
 IEEE802.6 都市エリアネットワーク(MAN)
 IEEE802.7 広帯域LAN
 IEEE802.8 光ファイバーLAN
 IEEE802.9 統合データ音声ネットワーク(IVDLAN)

 IEEEは音声とデータを統合的に扱うIVD LAN(Integrated Voice LAN)をISDNの関係から審議しています。また、セキュリティ無線LANについても討議しています。メーカ独自のLANはホストコンピュータとの関係から、まだ広く使用されており、伝送路の集約という点からIEEEも考慮を払った面があります。IEEE802.4トークンバスは伝送路アクセスにトークンパッシングを使用し、ループ上の伝送路でなく、バス形状の伝送路で可能とする方式です。これは同軸ケーブル使用で、1Mbps、5Mbps、10Mbpsと伝送速度も差異があり、符号差動マンチェスタ多値デュオバイナリーなどの差異がある多種をカバーする規格です。IEEE802.3 CSMA/CDとIEEE802.5トークン(パッシング)リングは、表16に概要を示しています。これは標準形となり普及している規格です。

 FDDI(Fiber-Distributed Data Interface)は、ANSI(American National Standard Institute)の委員会X3T9.5が標準を調整し作成しました。光ファイバを使った大容量LANで、100Mbpsの速度を扱います。表16に示すように、速度ばかりでなく伝送距離も拡大しています。マルチモード光ファイバ(MMF)で100kmまで延長でき、シングルモード光ファイバ(SMF)ではステーション間を40kmとすることができ、LANが同一構内や建物内のネットワークを指していたころから拡張したものになりました。FDDIは障害に強く、問題の起こったノードは迂回することで復旧します。
 
  FDDIは図38に示すSMT、PMD、PHY、MACなどいくつかのモジュールからなります。FDDIは二重リングの伝送路構成で、プロトコルは二重リング上で動作する時間付きトークン手順で、タイムドトークンパッシングといわれます。表16でのバンド幅はデータレート(データ転送速度)を意味します。バンド幅は回線を伝送する1秒間当たりのデータ量で表わされます。この用語も通信速度を示すのに使われます。ネットワーク最大延長距離と伝送路の構成は、IEEE802.5ではステーション間距離として100mが勧められ、最大は300mです。

  表16に示したようにネットワークトポロジーには、論理トポロジー物理トポロジーの2種に分けられます。後者はネットワーク形状(接続状態)による分類で、図39に示すように大きく3種に分類されます。論理トポロジーはステーションのアクセス方法、つまり動作規則にしたがってネットワークを見る接続上の分類です。IEEE802.4トークンパッシングバスでは、物理トポロジーはバスであり、配線接続は分岐枝ですが、動作規則ではトークンがステーションから次のステーションへと周回するリングです。つまり論理トポロジーはリングで、物理トポロジーはバスと、異なったものになっています。



           図39 ネットワーク形状(物理トポロジー)


  IEEE802.3等のCSMA/CD方式は、物理トポロジーも論理トポロジーもバスで、1つのバスにすべてのステーションが接続されています。バスは無線、有線およびこれらの混在形で構成されても1つのバスです。リピータによって階層的に接続されることもありますが、物理的にも論理的にも1つのバスであることに違いはありません。

(1)IEEE802.3 CSMA/CD

 媒体アクセス方式、つまりどのステーション(端末あるいは処理装置等のアクセスノードを指す)がネットワークへのアクセス権を得るかの方式によりLANが分類されています。IEEE802.3標準アクセス方式CSMA/CDです。これはイーサネットを基にしており、最初は同軸ケーブルを媒体としていました。名前のとおりの動作機能であり、手順を追うと、

 (1) Carrier Sense データ送信を行うステーションは、伝送を開始する前にモニタして他のステーションが伝送をしていないか、つまりキャリアが出ていないかを調べます。

 (2) Multiple Access 伝送媒体が未使用のときは、フレームの送信を開始します。他の端末は伝送媒体に流れるデータをいつもチェックし、それが当ステーション宛の場合はデータを取り込み、他のステーション宛のデータは廃棄します。つまりMultiple Accessは1つの論理バスを多数のステーション(最大1024台)が共用するTDMA方式であることを指しています。

 (3) with Collision Detection 送信中のステーションが、常に媒体をモニタしてデータの衝突が発生しているかチェックしていることを指します。2台のステーションがチャネルが開いていることを認識して同時に伝送を開始し得ることがあり、2つの信号が媒体上で衝突(collision)することがあります。衝突した場合は、ジャム信号を出して送信を中断し、乱数で決まる一定時間だけ待った後、再度データを送信します。これはランダムバックオフと呼ばれ、再び伝送する前にランダムな時間だけ待機することで、再び衝突しないように互いに異なる期間にしています。

 フレームの機能別層構成と組み立てられたフレームを図40、図41に示します。物理層MAC(Media Access Control)層、LLC(Logical Link Control)層からなり、LLC層はトークンバスと共用になっています。オクテット(octet)はバイトと同じ8ビットを表わしますが、バイトは文字や機能コードの意があるのに、オクテットは単なる8ビットの区切り内の数を示すのに用いられます。


  図41に示すように、タイミングの設定(同期)のためのプリアンブル(preamble)が最初にあります。プリアンブルは記録再生やバースト伝送等の信号にも最初にあり、送受の機器のタイミングを決めて、受信側でのサンプリング判定に使用する同期用信号です。これはある特定の同期パターンを有するブロックを幾つか繰り返します。ここでは”10101010”のオクテットが繰り返されます。

 フレームの先頭を知らせるSFD(Start Frame Delimiter)は”10101011”のビットパターンで構成され、開始デリミタといわれる7オクテットです。図40に示すようにプリアンブルとSFDは物理層で、宛先アドレス、送信元アドレス、データ長さ部、上位データ(LLC)を格納するための情報部、最小フレーム長さを満たすためのパッド部、および誤り検出用のFCS(CRC)でMAC層、LLC層のデータリンクレベルのフレーム信号を構成し、この後に物理層のフレーム間ギャップに12オクテット分の間隙があります。

 MAC層のフレーム信号の動作を図42に示します。この図で各ステーションは単一の論理バスに接続されています。物理的なバスをそのまま表わしており、両端のターミネータは信号の反射防止用です。このような1本の伝送路構成をセグメントといっています。通常状態では各ステーション(局)はバスに信号があるかどうかを監視しています。



               図42 媒体アクセス手段(MAC層)

  図42の@は、ステーションBよりバスが開いていることを確認して媒体伝送路にデータフレームを送出したことを表わしています。Aではこのデータフレームが両方向に両端に向かって進行しています。他のステーションはMAC層の宛先アドレスを見て、当ステーション宛のフレームであればそれを取り入れます。図ではノードAが宛先として指定されているので、このフレームをステーションAが取り入れることを示しています。Cの送信元は、送信するとともに、一定時間の間他端末が発信しないことで、発信権が得られます。また、これは相手がデータを受け取ったとして次のデータを送出してよい事を示しています。

 このようにMAC層ではステーションBからステーションAにフレームを届けることをしていますが。宛先ステーション(ここではステーションA)が動作中であるか、正しく受け取ったか、さらに受け取ったときに再送手順まで保障しているわけではありません。この手順はLLC層が受け持っています。MAC副層ではコンテンションに特徴される先取りと衝突検出に機能を限っています。MACアドレスとはMAC副層内でのアドレス(宛先アドレス、送信元アドレス)を指し、ブリッジと呼ばれるLAN間接続でのアドレスとして使用されています。

(2)トークンパッシング方式

 IEEE802.5標準アクセス方式はトークンリングで、IEEE802.4はトークンバスで、両者ともトークンパッシング方式を基にしています。これはデータの送信権を与えるトークン(token)と呼ばれる信号を一群のステーションの間に巡回させておき、データを送信しようとする局(ステーション)は、このトークンを捉えることにより送信が可能になる方式です。トークン保持規制(token holding rule)によって決められた時間だけ伝送する権利を与えます。トークンパッシング方式が適用されるネットワークはリング(ループ)型が主流ですが、バス(ブランチ)型も用いられます。

 図43にトークンパッシングリング方式の原理を示します。リング状のネットワーク構成があり、ネットワークの中は必ず1つの方向にデータが転送されます。各局は流れの上の方の局からデータを受け取り、下のほうの局にデータを送り出します。すべての局の間でデータ交換がないときは、トークンと呼ばれるデータユニットがリングの中を回っています。トークンを受け取るとそれを隣の局へ渡します。つまり再生中継しています。ある局(例えばA局)が相手局(C局)にデータを転送したいとすると、トークンがA局に到着するのを待ちます。到着するとA局はトークンを取り込み、転送したいデータをフレームの形でリング上に送り出します。


               
                     図43 トークンパッシングリング


 このフレームはパケット形のデータ構成で、宛先アドレス、発信元アドレス、制御ビット、転送メッセージデータ、検査符号の形をしています。フレームは図43(b)のようにA局からB局、B局からC局へと順次隣へ中継されます。C局に到着すると、C局は宛先アドレスから自局宛のフレームと判断して、このフレームをコピーするとともにコピーしたことを制御ビットの中に表わしておきます。さらにC局はこのフレームをD局へと中継します。そしてこのフレームが一巡してA局に戻ったとき、C局がコピーしたことを確かめてA局はフレームを消去するとともに、B局へは新たなトークンを送り出します。するとトークンがまたリングの中を回る形になります。

 トークンリングは物理的なリング形状の上を動く時分割多重ループであり、一方向性のものです。ループ網の各ノードは自分の割り当てのタイムスロットに情報を挿入し、また抜き出してコピーすることで伝送します。他のプロトコルと同様に、トークンパッシングシステムでも何らかのウインドウ制御が行われますが、IEEE802.5の標準は多重トークンは許しておらず、また、1つのトークンを二度使うことも許されていません。多重トークンとなっていないのは、仕組みが複雑になるためです。802.5はネットワークアクセスでノードに優先権の差を与えています。これはトークン中に優先度指示子を持ち、優先度付きリングを成り立たせることで実現しています。

 図44にトークンリングとトークンバスのトポロジーを示します。トークンバスはバス接続形式の伝送路ですが、各局は次の論理的な受信局のアドレスパケットのヘッダに書き込むことでトークンを回していきます。信号はバス上を流れ物理的にはすべての局が監視していますが、トークンは送信局がヘッダに書き込んだ宛先アドレスによって受信局に受け取られます。トークンが障害を起こしているステーションに渡ったとき、送信局はタイムアウトを起こし、決められた回数だけ再送を試みた後に後続の局へ送信します。



図44 トークンリングとトークンバスのトポロジー

  トークンはステーションのアドレスに基づいて数値の小さくなる順にステーション間を渡されていきます。自局宛のトークンを受け取ると、その局はデータを送信することが可能となります。送信を完了すると、その局は論理リング上の次の局にトークンを渡します。トークンを持っている局は、返答を要求するデータフレームを送ることによって、その送信権(トークン)を後続局へ引き渡すこともできます。

 各ステーションは、トークンフレームを送信した後に、後続局がそれを受け取り作動を始めたことを確かめることが可能です。例えば、もしあるフレームが有効なフレームで、自局送出のトークンフレームに適切なものと判定すると、送信局は後続局がトークンを受け取って送信を行っているものとみなします。あるいは、送信局が有効なフレームを検出できなかったら、送信局はネットワーク上の局を評価し、あたらしい後続局を決めることによって障害を迂回する手段とすることもできます。

  図44の下のIEEE802.4のようなトークンバス方式では、バスの共通線接続でもアクセス権はステーション間を順次巡回します。また論理的なリングに入っていない局もデータを受信し、トークンを保持する局へ返答することが可能です。例えば図44下のトークンバスネットワーク上のF局は、トークンパッシングの順番に入っていないので通信の統制局となれませんが、フレームの受信とその応答はできます。

 802.4ではバスに接続されている局は、応答ウインドウと呼ばれるノードを切り替え接続するルーチング機能があります。これは次の役目をします。
 @ トークンを保持しているときノードは後続局を求めるフレームを発行します。フレーム中のアドレスはその局と次の後続局の間のもとしています。
 A トークン保持局は1ウインドウ時間(スロット時間ともいい、端から橋への伝播時間間の2倍に等しい)待機します。
 B 返答がない場合:トークンは後続局に送られます。
 C 返答がある場合:要求局が後続局設定フレームを送り返答します。保持局はこの返答により後続局のアドレスを変えます。
 D 要求局はトークンを受け取りアドレスを設定して処理を続けます。

 トークンパッシングの順序に組み込まれる動作を述べましたが、逆に各ノードはトークンパッシングから外れることもできます。外れる局はトークンを受け取ったときに前の局に後続局設定フレームを送り、今後はスキップして後続局にトークンを送るよう前局に指示します。パケット交換ノードがヘッダ情報処理を行うことから、LANのような地域内に限られたネットワークでも、広地域を対象にした公衆パケット交換と同様のルーチング機能を持ちます。

(3)FDDIなどのネットワーク

 FDDIは広いバンド幅(100Mbps)のLAN技術です。当初は光ファイバを用いることを前提としていましたが、非シールドより対線を使用する規格も作成されています。一般的には二重リングとして構成され、図45に示すように一方が時計回り、他は反時計回りの転送を行います。ステーションは片方あるいは両方のリングに接続されます。送受信はコンセントレータ(集線装置)を通して行われます。コンセントレータは二重リング(主リングと副リングと呼ぶ)に直接取り付けられます。両リングへの二重接続は信頼性を考慮したものです。2局間のリングが故障すると、二重接続されている局は転送方向を逆にし、健全なリングを構成できます。局が故障すると、故障局の両隣接局は二重リングを折り返して、ただ1つのリングが生き延びるように再構成することができます。



     図45 FDDI の二重リング(二重双方向周回リング)

FDDIはイーサネットやトークンリングなどのLANをも接続するLAN接続用として使用されることがあり、この構成を図46に示します。



           図46 FDDI のネットワーク構成


 FDDIはIEEE802.5と同じように、トークンリングメディアアクセス法を使用します。局がデータを転送するときは、トークンと呼ばれるMAC制御フレームを獲得しなければなりません。いったん局がMACデータフレームを転送すると、その局はトークンを得たリングに対して新たにトークンを生成して書き込みます。各局はリングからすべてのフレームを読み取り、そのMACフレームの宛先自局のMACアドレスと同一かどうかチェックします。アドレスが一致しなければ、局はそのフレームを下流に流します。アドレスが一致すれば、メディアからそのフレームをコピーしてLLC機構に渡します。FDDI MACプロトコルといわれる規定によるフレームは、イーサネットのMAC層と同じ48ビット(6オクテット)のユーザアドレスが通常使用されます。16ビットのときもあります。

 目標時間付のトークン巡回(TTR;Timed Token Rotation)プロトコルと呼ばれる規定も採用されています。局が送信した自分のフレームがリング全体を一巡することを検査して、それを取り除く責任があります。また局(ステーション)はトークンを獲得し、規約で許される範囲でフレームを多数送信できます。フレームが送信され終わると局は即座にトークンを解放します。伝送されているフレームは各局で再生、中継され、送信元に一巡して取り除かれます。トークンはリング上に一度に1つ(once at-a-time)しか存在しませんが、複数のフレームはリング状に存在することが可能です。

  トークン巡回許容時間(TTR)を大きな値に設定すると、広い地域に多くの局が散在する場合、高負荷をかけると高い利用率を示してさばいてくれます。小さな値にすると、パケット化した音声データ、動画データなどの遅延に敏感なアプリケーションに対して帯域幅を保障するのに有効です。

 標準LANに限らずLANでは伝送媒体に対する商品の知識や分類が大きな比重を占めます。表17に標準LANについての概要を示します。


        表17 標準化LANの伝送媒体

名 称
IEEE802.3
(Ethernet)
IEEE802.5
(トークンリング)
FDDI
アクセス方式 CSMA/CD トークンリング トークンリング
伝送速度 10Mbps 4M/16Mbps 100Mbps
論理トポロジー バス リング リング
伝送媒体 標準同軸ケーブル(10BASE5)
細心同軸ケーブル(10BASE2)
非シールドより対線(10BASE-T)
光ファイバ(FOIRL*2)
シールド付きより対線
非シールドより対線
                    
光ファイバ
非シールドより対線
                  
物理トポロジー バス型(10BASE5/2)
スター型(10BASE-T,FOIRL)
リング型 リング型


  現在では標準同軸ケーブルを使用する1Mbpsの製品はほとんど使用されていません。イーサネットの製品は伝送媒体によって10BASE5、10BASE2、10BASE-T、FOIRL(fiber optic inter repeater link)の4種に分けられます。ケーブルを表わすのに次の表記が使われます。
    n BASE m
 ここで、nはデータ伝送速度を表わします。たとえばnが10の場合には10Mbpsです。また、BASEは伝送方式を示します。BASEはベースバンドを表わし、これがBROADの場合はブロードバンド伝送方式です。mは1ケーブルセグメント長を100m単位で表わします。例えばmが数字の5の場合にはケーブル長が500mです。またmがアルファベットの場合は、ケーブルの種類を表わし、mがTならツイストペア、Fなら光ファイバケーブルです。現在10BASE-Tが普及し、非シールドより対線で10Mbpsの伝送ができます。
  
 図47にイーサネットのネットワーク接続構成を示します。ハブ(HUB)という集線装置を通して共通バスに接続し、ハブからはスター状に10BASE-Tで端末に接続します。1本の同軸ケーブルで構成する伝送路の単位をセグメントと呼び、ハブはLANセグメントをスター型に接続します。図48にトークンリングのネットワーク接続構成を示します。集線装置はMAU(Media Access Unit)と呼ばれ、端末はこれを経由して接続されます。



     図47 イーサネットのネットワーク接続構成



     図48 トークンリングネットワーク接続構成

3.2 OSI参照モデル

 ISO(国際標準化機構:International Standards Organization)はCCITT(国際電信電話諮問委員会、現在はITU-T)と共同作業を行い、異機種間の情報通信を可能とするための標準を発表しました。これがOSIの7つのモデルレイヤです。OSIは文字通り開放型システム間相互接続(Open System Interconnection)で、この目標はOSI標準に従えばどのシステムとも通信可能とする、つまり”Open:解放する”ことにあります。コンピュータがネットワークを介して通信可能とするには、メーカ独自のプロトコルを廃し、標準的な一貫性があるプロトコルにする必要があります。OSIモデルでは通信を7つのレベル(Layer:レイヤ=層)に分割しています。図49にOSIモデルを示します。このように機能的に分割することで問題を単位に細分して、それぞれの部分を他と関係させずに解決を図り、合意を得ることができました。

(1)OSIモデル−7つの層

 図49に示す各層の機能の概略は次のとおりです。


                図49 OSIモデルと7つのレイヤ


 (1) 物理層(physical layer)
 データリンク層伝送路(伝送媒体)とのインタフェース部分で、データリンク層からのデータ伝送要求に従って伝送路にデータを送信し、また受信する働きをします。伝送路にはいろいろな種類がありますが、この物理層の介在によって、端末は伝送路の物理的な性質を意識せずにデータ伝送ができます。RS-232CやV.24などがこの物理層の規格です。

 (2) データリンク層(data link layer)
 論理ネットワークの上でデータを円滑に伝送するのがデータリンク層の役目で、このために用いる通信路(コネクション)をデータリンクといいます。データ伝送を開始する前に、端末は相手端末との間にデータリンクを張り、HDLC手順によってデータ伝送をします。つまりHDLCはデータリンク層の機能の1つです。物理層はビットを送ることだけに着目していますが、ビットをある単位のブロック、つまりフレーム(frame)にするのがこの層の役目です。データリンク層はフレームに印を付けるために各フレームの前か後ろなどに区切りを識別する符号をつけ、誤り検出、修正のためのチェックサム(checksum)等の付加をします。

 (3) ネットワーク層
 上位のトランスポート層の通信機能にデータの透過的な転送サービスを提供します。言い換えると、コンピュータや端末装置は、交換網がどのように構成されているかと言うことを意識しないでデータ転送ができます。ネットワーク層のプロトコルの代表例としてITU勧告のX.25パケット制御手順があります。通常LANでは送信側が受信側の場所を探す必要はありません。送信側がデータを送り出すと受信側はそれを取り入れるだけです。広域なネットワークになるとデータは目的の到着地に着くまで中継されます。つまり中継接続されるためのルーチング(経路制御:routing)を行います。この層はルーチングに関するプロトコルを取り扱います。X.25プロトコルはコネクション指向の代表であり、コネクションレスの代表はIP(Internet Protocol)です。

 (4) トランスポート層
 データ通信網の両端で実際に通信しているシステムの間で、確実にデータが転送されることを保証する層です。トランスポート層は、上位層が回線品質通信サブシステムの物理的な構成を意識しないでも、両端の端末の間で正しく通信ができるようにする役目を持っています。ITU-TのT.70のトランスポートプロトコルは、この層のプロトコルの一例です。トランスポート層は上のセッション層からメッセージを受け取ると、単一のブロック、つまりパケット(packet)にして、それぞれに連番をつけてから送信します。トランスポート層のヘッダによって、どのパケットが送信されたか、どれが受信されたかが分かります。また、ネットワークに蓄積しているパケットの状況とこれを円滑に通過させるフロー制御が含まれます。ここでのフロー制御についての規定はトラフィック管理上からのものです。伝送路の代替接続はルーチング制御で、これはネットワーク層の分担です。X.25の場合はパケットは目的の到着端末へ正しい順番で到着します。一方、IPの場合には、あるパケットが前のパケットよりも先に到着することもあり、これを正しい順序にするのもトランスポート層の役目です。

 (5) セッション層(session layer)
 両端の応用プロセス間で効率よく通信するときの情報の送り方(半二重や全二重、送信権など)の制御、およびデータ授受の同期の制御をします。セッション層では一連のデータ交換を会話として考え、会話の単位ごとにデータ転送の確認をとる仕組みが定義されています。本質的にセッション層はトランスポート層の機能の枠からはみ出した部分の集合といえます。現在どの集団が会話しているかを記録するためにダイアログ(対話)制御を提供し、同期化機構も提供します。プロセスのスケジューリングを相手側のOSとともに行うもので、会話の単位ごとにデータ確認をとる仕組みが定義されています。ITU-T勧告T.62がこれに対応しています。ユーザは長時間の転送の間にチェックポイントを挿入することが可能となり、万一クラッシュと言う事態が発生しても、開始時点でなく、最後のチェックポイントまで戻るだけで済みます。

 (6) プレゼンテーション層(presentation layer)
 情報をどのような表現形式で相手に伝えるかという情報の構造を扱っています。一般に、応用層のプログラムは、データ構造(構文)がそれぞれ異なっているので、送信側と受信側で共通のデータ構造になるように変換します。すなわち、データ入力、表示、制御などに関する差異に対応し、情報の安全性を高めるための暗号化や画像などの圧縮を行います。端末の入出力とファイル転送に必要なデータ構造の管理、変換などがこれに属します。プレゼンテーション層はビットの意味に関しての事項である人名、住所、金額などのフィールドを定義して、ある構文構成でメッセージにします。そしてメッセージが特定の形式の特定コードのレコードを含んでいることを、送信側から受信側に知らせることができ、異なる内部表現を採用しているマシン同士の通信が容易になります。

 (7) アプリケーション層(application layer)
 利用者およびネットワーク運用管理のためのプロトコルを実行し、2つの利用者プログラム間の通信を可能にします。具体的には、バンキングや座席予約などの特定の業務に共通的に使われるプロトコルや、ファイル転送プロトコル、異機種端末を見かけ上統一的に扱えるようにする仮想端末プロトコルなどがあります。

 OSI参照モデルの7層のレイヤ作成に当たって表現された用語は、概念的、抽象的なものとなっています。このなかでネットワークの基本的な概念として、コネクション型あるいはコネクション指向(connection oriented)とコネクションレス(connection less)という通信モデルの用語が生まれました。

(2)コネクション指向とコネクションレス

 OSI参照モデルのコネクション指向は、今までのバーチャルサーキット(仮想回線)であり、コネクションレスデータダイヤグラムを表わしています。X.25プロトコルがバーチャルサーキット(VC)と呼ばれる論理的な回線の設定をデータパケット転送の前に行い、パケットはこのVC上を転送されます。発信側端末と相手間の転送ルートが決定してから、このルートに沿って転送されます。コネクションレスはトランザクション(transaction)ともいわれ、独立した通信単位(データグラム)に基づいています。各通信単位は、その単位を解釈するために必要となるすべての情報を含んでいます。例としてよく郵便が使われます。郵便は封筒ごとに宛先、発信元を書いて送ります。転送ルートが変わっても封筒を見れば到着点に達する情報、発信元情報など、転送に必要となるすべてを読み取ることができます。

 コネクション指向のプロトコルを使う場合は、送信側と受信側はまず接続を明示的に確立し、可能であれば使うプロトコルについて協議してからデータを交換します。コネクション指向の例としては電話があげられます。通話を始めるときダイヤル接続して、設定をしてから通話します。通話が終わると設定を解放、つまり回線を切ります。電話ネットワークを始めとするX.25ネットワークであるコネクション指向タイプは、バースト状トラフィックを扱うには必ずしも適していません。比較的長時間にわたって連続するメッセージを扱うのに適しています。電話の例を挙げると、ダイヤル接続に10〜20秒かかり、相手確認を考慮すると数秒で終わるような通話のときは、これらの手順にかける時間は大きな比重を占めます。

  バースト状トラフィックはいつ発生するかわかりませんが、メッセージの転送要求が発生したときは直ちに実行する必要があります。このバースト状トラフィックを能率よく転送する方法として、コネクションレスがあります。これは宛先アドレスをつけてネットワークに送り出すことで済みます。標準LANとして挙げたIEEE802.3(イーサネット)、IEEE802.5(トークンリング)、FDDIはコネクションレスです。宛先アドレスをつけて伝送媒体に送り出します。その宛先と一致したアドレスを持つノードがフレームを取り込んで受信されます。

(3)階層(レイヤ)の実際

 現在のネットワークは階層化の考えに基づいています。FAXの伝送はほとんどHDLCによって運ばれています。前述のように、HDLCのデータフィールドの箇所にFAXの伝送手順とデータを入れていることを指しています。X.25のパケットもHDLCにより階層化フレームで伝送されています。無線利用のディジタル伝送でも、無線アクセス制御のTDMA方式によるフレームは、HDLCフレームを乗せています。このようにOSI7層は受け入れられているように思えますが、実際には部分的な範囲となっています。

 現在では、地理的分散や種々のプロトコルの間の状況に対処するため、階層化の概念が発達しました。図50にX.25パケットがHDLCを基に伝送される状況をあらためて示します。前述の図と違うところは、OSIの階層名をつけた点です。OSIモデル、別名OSIアーキテクチャと呼ばれる概念は、通信に関するコンピュータオペレーティングシステム(OS)の機能、あるいはコンピュータのすべての活動を要約しているとみなせます。



          図50 X.25とHDLCのレイヤ(層)の関係



  単純に考えると、地理的に離れた処理装置に共通のメモリがないので、プロセスAがプロセスBと通信したい場合は、自分自身のアドレス空間にメッセージを書き出し、システムコールを発行します。この呼び出しによりOSはメッセージを取り出し、ネットワークを介してプロセスBへ送信します。このときプロセスAとプロセスBは約束事が必要です。通信に必要な活動を分類し、情報の表現方法からメッセージの紛失に対する処理まですべて必要と言うことになります。
 OSIモデルの7つのレイヤとともに導入された用語は、現在広く話題を集めているインターネット、TCP/IPに比較すると抽象的です。プログラム機能の集合にエンティティという用語が導入され、これは作動している機能モジュールを指しています。

 (1) エンティティ
 OSIの開放型で通信しているエンドシステムA、Bがあり、A、Bのある層を(N)層とすると、その上の層は(N+1)層、下位は(N-1)層となります。OSIの各層には1個ないし数個のエンティティが存在し、(N)エンティティは(N-1)層から提供される(N-1)サービスを利用し、さらに通信相手の(N)エンティティと協力して自層内の(N)機能(function)を実行、(N+1)層に(N)サービスを提供します。(N)、(N+1)、(N-1)は、任意の層エンティティとそれに接続する層エンティティを指すのに使われます。

  図51にエンティティの概念を示します。(N)は1〜7の数で、例えばトランスポート層でN=4とすると、(N+1)はセッション層であり、(N-1)はネットワーク層です。各NエンティティはN機能((N)function)を実行します。つまりトランスポート層はトランスポート機能を実行し、セッション層はその(N-1)になるトランスポート層から提供されるトランスポートサービスを利用し、相手のセッション層と通信します。



                     図51 エンティティの概念



 OSIネットワークの管理は、エンティティとアプリケーションを制御することが主体となります。アプリケーション層でのアプリケーションプログラムは、分割され実行するとき、応用プロセスとしてシステム内にあります。これが通信するために各層のソフト、ハードをエンティティとして識別し、これらのOSIの資源の活性化、管理、エンティティ間のコネクションなどを行います。管理は応用プロセスの管理、例えば応用プロセスの初期化、起動、終了などの管理と、システム管理の2つに分けることができます。図52において、N層にある(N)エンティティが、下の(N-1)エンティティに結合され通信しています。このように上から何本かで来た通信の要求を、資源を有効にするためまとめる多重化と、受信側でこれを逆多重化して分割するなどがエンティティの管理です。



     図52 エンティティの通信管理


 (2) サービス
 ある層と隣接する層とのインタフェースは、サービス(service)と言う概念で結ばれています。OSIにおけるサービスとは、(N)層のエンティティが利用者である(N+1)層のエンティティに提供するもので、(N)サービスといいます。この(N)サービスは、(N-1)層から受ける(N-1)サービスに、プロトコルにより相手の(N)エンティティと通信して得られる色々な事象を加えたものです。さらにこの(N)サービスは、(N)サービスアクセスポイント(SAP)を通して(N+1)層のエンティティに提供されます。例文として「TCP/IPのインターネット層はトランスポート層にデータグラムサービスを提供する」と言う表現は、「OSIの表現(N)エンティティが(N+1)エンティティに提供するNファシリティの集合(セット)は(N)サービスと呼ばれる」と一致します。

 サービス定義の目的は、正しく定義された管理可能な機能の集合を提供するプロトコルを開発できるようにするために、層が実行する機能(と提供されるファシリティ)をサービスの組み合わせの形で表わし、この例文のように初めての用語「TCP/IPのインターネット層」を識別するのに役立つようにすることです。サービスはある層のエンティティと、その直ぐ上または下のエンティティとの間の関係を表現する手段として有用です。

 データグラム型サービス(コネクションレス)とVCサービス(コネクション指向)の両方をトランスポート層は持っていますが、この例文ではデータグラムサービスだけがアクティブになる限定付きです。層の機能はサブシステムに分割されており、サブシステムの中でアクティブになる要素がエンティティです。層の全体の機能モジュールを指すのではありません。

 あるサービスは一組のプリミティブ(primitive)で指定されたものとなります。利用者あるいはエンティティがサービスを利用するのにこのプリミティブを用います。これを図53に示します。SAPを経由してやり取りされるサービスは、図に示すように@、A、B、Cに示した4種があります。これはサービスプリミティブ(service primitive)と呼ばれ、必ずしも4つが組になるとは限りません。



          図53 サービスポイント(SAP)とプリミティブ


いま、具体的なサービスとして起呼接続(connect)、データ転送(data-transfer)、切断(disconnect)を取り上げ、電話通話を想定してこの集合一組(セット)を考えます。

 (1) 起呼接続サービスを分析し、そのプリミティブ種別を図54に示します。上層に対話者、下層に電話網を対応させ、SAPは電話機とします。起呼接続では4つのプリミティブがセットになっています。要求(request)は起呼者(calling party)が相手の電話番号をダイヤルすることです。指示(indication)は起呼者が呼び出しのベルがなっていることを電話機から聞くことです。指示は電話網つまり提供者から出されます。被呼者側(called party)へは電話網から要求があること(着信があること)を表示する指示としてベルを鳴動します。応答(response)は被呼者が送受器を取り上げることでもあります。そして確認(confirm)はベル鳴動の信号を電話機に送出するのを停止し、また、発呼側には呼び出し音を送出していたのを止めることです。確認は両方とも電話網から提供されます。



          図54 電話機をSAPとしたプリミティブ内容


  起呼接続サービスは、このように4つのプリミティブにより成り立っています。プリミティブは多くの場合、パラメータを持っています。電話の起呼接続では相手の電話番号パラメータに該当します。起呼接続サービスは必ず4つのプリミティブで構成されます。なぜなら相手の応答と確認によって起呼接続となるからで、途中放棄は起呼接続ではないと定義づけています。

 (2) データ転送は会話に相当します。このデータ転送サービスは2つのプリミティブもしくは4つのプリミティブから成り立ちます。例えば「天気予報サービスを受ける」と言う場合は、被呼側からの情報(要求)を発呼側で表示するだけの2つのプリミティブです。しかし「相手を観劇に誘う」という場合は、要求のパラメータに出し物、劇場、時間などが付帯し、相手がこれを受け入れた指示だけで終わる2つのプリミティブのこともあるし、さらに応答、確認まで進行する4つのプリミティブのこともあります。データ転送サービスでも対話者と電話網という層があり、この層間のSAPである電話機を通して情報はやり取りされます。

 (3) 切断はどちらかの送受器掛けが要求であり、回復復旧は指示です。これは2つのプリミティブで構成されるサービスであり、応答、確認を含んでいません。OSIではこれらのサービスを確認型サービス(confirmed service)と非確認型サービス(unconfirmed service)に2分割しています。起呼接続サービスは確認型サービスであり、切断は非確認型サービスです。データ転送は確認型あるいは非確認型の両方のケースがあります。サービスの進行において、各プリミティブは衝突などのこともあります。これは折衝(negotiation)の管理と呼ばれ、プロトコルの機能に含まれます。

  実際のネットワーク内における階層は、起呼の際にそのパラメータに最大データサイズをつけて要求プリミティブを出し、呼ばれた下層エンティティがこの最大データサイズを受け入れられないという場合があり、これも折衝に含まれています。この場合、一般的には短い方が優先します。

 まとめとして、ISOの概念(concept)は次の抽象論理により成り立っています。これにより先行のX.25やTCP/IPも美しい形式に整理されているので、重要なものとなっています。これはN層とあるように特定の層を指すのではなく、階層により情報を交換する通信システム全体をカバーします。

 ・サービスはプリミティブの一組(セット)で構成され、下層が上層に提供する。上層は利用者であり、そのエンティティは下層が提供するサービスを利用する。
 ・プロトコルは同じレベル層間(同位層間)で交換される情報のフレーム形式、パケット形式、メッセージ種別や折衝の規則(ルール)を指す。
 ・エンティティはプロトコルをサービスの明確化、意味づけ、定義に使用する。自層内と相手の同位エンティティは協調して動作し、上層にサービスを提供する。
 同位エンティティを指すピア(peer)という用語は、ISOモデルより古くから使用され、ピアツーピアの通信は対等レベルの意です。

(3)PDUとSDU

 OSIでは情報はデータ単位と呼ばれ、プロトコルデータ単位(PDU:Protocol Data Unit)とサービスデータ単位(SDU:Service Data Unit)の2種類があります。例えば、(N)層の同位エンティティ間で(N)プロトコルに従って送受信される転送データの単位が(N)-PDUです。(N)-SDUは、(N)コネクションの両端で(N)層と(N+1)層のエンティティ間で受け渡されるデータ単位です。(N+1)層を流れる(N+1)-PDUは、(N)層に渡されると(N)-SDUと言い換えられます。(N)層では、これにプロトコル制御情報(PCI)を追加して(N)-PDUを作成し、(N)同位エンティティに転送します。もちろん、データ単位を受信したときには、この逆の処理がなされます。

 これらの関係を図55に示します。この関係をセッション層とトランスポート層に当てはめてみます。セッション層内のセッションエンティティは第5層にあって、第4層、つまりトランスポート層で提供されるサービスのユーザであり、トランスポートサービスユーザと呼ばれます。トランスポートサービスの提供にかかわる要素は、その下層でトランスポートエンティティと呼ばれます。トランスポートサービスをアクティブに提供する(サービスを起動する)トランスポートエンティティは、集合的にトランスポートサービス提供者と呼ばれます。トランスポートサービス提供者によって、トランスポートサービスがセッションエンティティに提供される点は、トランスポートアクセス点またはTSAP点と呼ばれ、SAPの1つです。



               図55 層間インタフェースとエンティティ


  トランスポート層のプロトコルデータ単位PDUはT-PDU、セッション層のプロトコルデータ単位PDUはS-PDUとも言い換えられます。PDUはその層が同位層と交信するためのある形式化された転送用のデータ単位で、パケットもこの一種です。セッション層の役目は、業務内容により種々あるプロセス(アプリケーションプロセス)間で、対話の開始、区切り、終了などの管理、つまり対話(dialog)の管理と、情報を転送するのに交互に転送(半二重)か、または双方向同時(全二重)かの選択、データ転送の確認のとり方(確認型サービス/非確認型サービス)に基づく「コネクション指向の保証型/コネクションレスの保証なし」の選択などを決定しています。セッション層は利用者として情報を区切り、セッション層同士間で管理する番号をつけて下層のトランスポート層に渡すことにしています。

 例としてドキュメント転送にかかわるエンティティの働きを簡単化して示すと次のようになります。セッション層の同位層ではドキュメント名、章、ページの3つのヘッダでその単位が識別できます。PDUに識別用ヘッダをつけたものがS-PDUになります。セッション層は上層(N+1層)として、TSAPを通してN層に当たるトランスポート層にデータを渡すため、インタフェースデータユニット(IDU:Interface Data Unit)を作ります。セッション層のSDUはS-SDUと呼ばれ、トランスポート層のそれはT-SDUです。IDUはSDUとある制御用情報から成り立っています。SDUはネットワークを経由して相手同位層(セッション層)で復元されるドキュメントの単位を指しています。図56にPDUとSDUの関係を示します。



               図56 PDUとSDUの関係


 ある制御情報はインタフェース制御情報(ICI)あるいはプロトコル制御情報(PCI)といわれています。トランスポート層のエンティティは、渡されたSDUを細かく分割することになり、T-SDUを作ります。T-エンティティは、トランスポート層のT-PDUをヘッダをつけて作成します。インタフェース/プロトコル制御情報(ICI/PCI)は、一口でプロトコルヘッダ(protocol header)といわれています。これによってプロトコルのルールを記し、交換される他のデータと区別し、その扱い方を伝えることができます。ヘッダ情報は、対等のレイヤにしか意味を持たないので、このヘッダとデータの組合せは直ぐ下の層に渡されます。ヘッダとデータは1つの塊のように扱われます。

 通信し合うNエンティティ間で交換される言葉が(N)PDUであり、各(N)PDUの構造は各(N)プロトコルごとに定義されています。(N)プロトコルがとるアクションを決定するために解釈するビットは、集合的に(N)インタフェース/プロトコル制御情報、(N)ICIまたは(N)PCIと呼ばれています。(N)サービス提供者が、ある(N)サービスユーザから別の(N)サービスユーザへ運ぶデータは(N)ユーザデータと呼ばれます。転送される(N)ユーザデータは、(N)PCIによるヘッダを先頭に付加されて(N)PDUとなります。そして1つあるいは複数の(N)PDUは、(N)SDUを構成するサービスパラメータの集合の1つとして(N)SAPを通して渡されます。図57にプロトコルとサービスの関係を示します。



          図57 プロトコルとサービスの関係


  (N)PDUはユーザデータと制御情報からなり、後者は通信や区切り識別などです。簡単に言えば、送信側では各レイヤごとに制御に必要なヘッダを付けます。受信側では各レイヤごとにそのヘッダの処理をしてヘッダを除き、内容を調べます。この方法で同位層間の通信が行われます。この状況を図58に示します。OSIの思想によりマシン1のプロセスAが、他のマシン2のプロセスBと通信する場合の様子を、図59に示します。物理層で実際に送られるメッセージは、物理層を外側にしてアプリケーション層までのレイヤのヘッダが付きます。また、場合によってはトレイラ(trailer)も付加されます。このOSIの概念では、LANのような高速伝送では問題です。個々の層でヘッダの付加や削除を行い、内容調査をすることはCPU時間を費やすオーバーヘッドとなります。



          図58 ヘッダ付加と層間通信



           図59 OSI概念によるヘッダ構成

[出典]
 (1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)

 以上、LANとOSIについてまとめました。次回は分散システムについてまとめる予定です。



[技術講座(データ通信―4)]                    (2003/02/08作成)

 前回の「LANとOSI」に引き続き、分散システムについてまとめました。

4.分散システムとサーバ/クライアント

 中央処理装置(CPU)として大型機を有し、社内や組織のデータを集中管理する旧来のシステムである中央集中型システム(centralized system)に対して、多数のCPUからなるシステムが実現されており、分散システム(distributed system)といわれています。これが生み出された理由として、1980年代から32ビット、64ビットのCPUまで強力なマイクロプロセッサが開発され、CPUがメインフレームコンピュータに匹敵する能力を持ち、しかも経済的になってきたことがあげられます。

一方、高速なLANの発達により、100Mbpsを超える速度でマシン間を転送する手段が容易になりました。これらが分散システムを作っているといえます。

 分散システムはユーザに多数のプロセッサで作業していることを意識させないためのシステムです。つまり、ユーザがある処理を行うためにコマンドをタイプすると、多数のプロセッサから適切なものを選択し、入力ファイルをそこへ転送し、結果を指定されている場所へ出力することをユーザが意識しません。

 ネットワークは多数の自律的(autonomous)なコンピュータを結ぶものです。一方、分散システムは多数のプロセッサを気づかせない、つまり透明(transparent)にするものです。分散システムのオペレーティングシステム(分散オペレーティングシステム)は複雑なソフトウェアで、分散システムの中核をなしています。ネットワークから見た分散OSという点から、分散オペレーティングシステムは注目されています。

 集中型システムに小型コンピュータあるいはパソコンを接続して、メインフレームのデータの一部などを取り出し、保有したものをファイルサーバ(file server)と呼んでいます。これが分散システム(ネットワーク)の始まりで、大型メインフレームと小型コンピュータの両方で、ファイルを取り扱いだしたものです。これがクライアント(client)とサーバ(server)という分散OSモデルの概念に発展しています。

4.1 分散システム

 分散システムは、人間相互のコミュニケーションを高める効果があります。例えばパソコンをインターネットに接続する一種の分散システムにすることで、質の高いものになることがすでに知られています。分散システムの利点として、産業ベースのインターネットとは離れた点から見ると、次の項目があげられています。

 @ データの共有  多くのユーザが情報にアクセスすることが可能になる。
 A 装 置 の 共 有 カラープリントのような高価な機器を多くのユーザが利用できる。
 B 通 信 向 上 単一CPUに比較し、電子メールのような通信手段が導入しやすくなり、円滑なコミュニケーションが可能になる。
 C 柔  軟  性  価格上の比較を考慮して、利用可能なマシンへの付加を適当に分散することができる。また、1つのCPUの故障は、その1台だけの故障にとどまり、他にそれほど影響しない。

 分散システムは当初、ネットワークを通じて遠隔地と情報交換するものであったのが、CPUの処理協調やデータベースの共有で、さらに大きな能力とシステム障害時における機能の肩代わりとして発展してきました。

 分散システムでは、データベース、つまりファイル利用から形態を見ることが多いのです。動機や目的として、ある銀行システムで、1個のファイルシステムであったものを、東日本・西日本といった別サイトの顧客ファイルとし、同一の客のデータを2カ所で保有するように変更し、障害時の対策とするといった場合、あるいは企業での集中大型マシンにあるファイルを、ある課などの部局が、その担当する箇所を別のサイトの小型マシンで保有し、そこでの処理で独自性を持ちたいなど、データ利用面が多数あります。

 データベースの内容を統一あるものにするには、1つのトランザクション(処理:transaction)、例えば顧客の現金預け入れ処理で、データベースの更新を同時にする必要が生じます。あるいは全く瞬時に更新できないなら、同じであること(=integrity)を保証する必要があります。これを分散トランザクション処理では、同時実行やデータベースのインテグリティ(一貫性)を保証しなければならないと言っています。

 大型メインフレームのファイルを端末または小型コンピュータが利用するものは、対等のファイルや処理能力の分散ではなく、垂直分散形態といわれ、対等なものは水平分散形態と言っています。前者がクライアント/サーバで、後者はピアツーピア(peer-to-peer)に該当します。

 データベースの更新あるいはあるプロセスの実行において、処理の同時性が問題となります。例えば、名古屋で顧客が現金預け入れをしたとき、トランザクションは東・西のファイルで同時にその顧客の照会を閉じ、検索・更新し、その内容変更の確認をして、再び問い合わせに応答できる状態にします(コミット、commitmentするという)。これは両方同時に並行処理し、両者から終了の合図を待つか、それとも片方ずつ順次行う2相コミットメントという手段によるかといったタイミング処理手順の関係を制御する必要があります。

 1つの処理を行い、その結果を次の処理またはプロセスの順次処理とするか、または並行処理にするかは、各々の業務による時間制約上の要求で変わります。また、通信状況やコンピュータの資源により、動的にトランザクション処理が変化します。ファイル内でのデータの検索・更新、更新の確認は、本来アプリケーションでの命令であり、システムの集中型・分散型に関係しません。逆の観点から見ると、分散システム、集中システムの区別なくプログラミングできるように、オペレーティングシステムが仕組むべきものといえます。

 計算機システムは、アプリケーションの命令を実行するのに、スケジューリング、入出力制御、メモリの割り振りなどの様々な処理を行い、なかには並列的に実行しているものがあります。この並列して進める並行並列処理(パイプライン制御)といわれるものがあります。これは東・西といった場所が異なり、独立したマシンで処理し、その結果を待つのとは異なります。同一の集中化CPUシステムまたは複数のCPUによる分散システムで一体化したオペレーティングシステム(OS)によって、これらのパイプライン制御は行われます。

 パイプライン処理方式は、大型のベクトル行列演算等の処理専用のCPUをもうけることにより、処理能力の分担が円滑になり高速化が図られることから、多くのシステムで採用されています。多くの先行並列処理では、複数のCPU共有メモリアクセスしてデータを共用する方式のマルチプロセッサです。

 単一のCPUによるシステムで、プログラムの実行が入出力装置へのアクセスのため中断されるのに対して、割り込みなどの方法により、その他のプログラムの実行をわずかのスチールを除けば見かけ上並行して行っているのを多重プログラムといっています。複数のCPUによる分散システムでは、これらの作業をOSが協調して行うことになります。

 単一の大型集中マシンの思想の延長として、同一のメーカーの系列による通信制御処理装置(CCP)等の前置処理装置(front end processor)や、データベース向けの後置処理装置(back end processor)等の機能分散により、中央処理装置の能力を高める目的の分散化が行われています。この目的では多重プログラムが重要ですが、異なるメーカーの機種をLANなどで接続する分散化では違ってきます。LANシステムでコンピュータを接続すると、業務処理は別ですが、対等の立場で接続(ピアツーピア)となります。1台のステーションでクライアントとサーバの二役をこなすことになります。

 ある業務へのトラフィックが増加すると、そこのステーションはサーバとして主に稼働し、クライアントとして稼働できなくなります。さらに、トラフィックが増加すると、他の業務処理も影響され、システム全体のレスポンスが悪くなります。フロー制御等の配慮が必要で、対等接続でなくクライアント/サーバの機能分離をも検討することになります。

(1)分散システムの分類

 分散システムと、特定の目標のため並列処理をする並列システム(parallel system)とを別にする人もいますが、この差異を明確にすることが難しく、後者も分散システムに含めることにします。共同作業をCPUを接続して行うことも、分散システムの広い意味の中に入れます。

 分散システムではソフトウェアが複雑になります。データの共有が容易という長所は、ソフトが適切に動作するという仮定の上に成立します。逆に見ると、アクセス制御セキュリティで大きな危険を生じることにもなります。また、通信そのもののためのソフト/ハードが必要になり、誤りやメッセージの紛失といった障害に対する措置が必要です。さらに、ネットワークの飽和とか回線に適合する変更処理なども発生します。

 分散システムの種類の分け方に、共有メモリを持つ/持たないに基づく分類があります。共有メモリを持つものをマルチプロセッサ(multi-processor)といいます。共有メモリを持たないものをマルチコンピュータ(multi-computer)と呼んでいます。マルチプロセッサでは単一の仮想アドレス空間があり、すべてのCPUで共有しています。マルチコンピュータでは、マシン毎に固有のメモリを持っています。

 別の分類として密結合(tightly coupled)と疎結合(loosely coupled)があります。密結合では、並列システムとしてある問題を解くために利用されることが多いです。疎結合では、ある処理をしてから結果を回線を通して送るといったもので、メッセージ到着も遅れがあります。おおむねマルチプロセッサはマルチコンピュータより密な結合といえます。マルチプロセッサは、メモリアクセス速度でデータを交換することができるからです。

 しかし今では、光ファイバを用いてメモリアクセス速度でデータを送受できるので、マルチコンピュータでも密のアクセス速度となり、密疎がそのままマルチプロセッサ、マルチコンピュータとは言えなくなってきました。

 また、ネットワークの接続形態からの分類があります。バス(bus)接続スイッチ(switch)接続の2つの接続方式からの分類です。バス接続では、単一のネットワークで構成される媒体で、すべてのマシンが接続されています。

 スイッチ接続システムでは、ケーブルのような単一ネットがありません。個々のマシンから線、媒体が出されています。スイッチの切り替えで接続され、その中をメッセージが移動します。

 バス方式のマルチプロセッサは複数のCPUで構成され、通常アドレスラインとデータラインがあって、メモリ上のアドレスを与えて目的のワードの情報を読みとり、また逆に書き込みます。あるCPUがアドレスを得てメモリに書き込み、別のCPUが同じアドレスで読むと、書き込んだそのワードを得ることができます。

4.2 サーバ/クライアント

 今日、TCP/IPをはじめ多くの分散システム通信ネットワークは、クライアント/サーバモデルに基づいています。パーソナルコンピュータやワークステーションがクライアントで、クライアントはネットワークを経由してサーバと通信します。クライアントのやるべきことは、サーバのサービスに単純な要求を出すことで、サーバはこれを実行し、その結果を応答としてクライアントに返します。

 これはOSI階層モデルを採用すれば大きなオーバヘッドを生じるので、単純化する意図から始まったといえます。この概念で、遠隔手続き呼び出し(リモートプロシジャコール:Remote Procedure Call:RPC)の処理もサポートしています。

(1)クライアント/サーバ

 OSIの階層化モデルに沿ったプロトコル構造は一見すると単純で、各層の通信が行えると思いがちです。しかし、ヘッダの処理が層別に必要なことは、かなりのオーバヘッドの原因となります。LANで100Mbpsの伝送速度のFDDI等が使用されてくると深刻な問題となります。

 LANは本来、大型のメインフレームが中心にあって、これに端末が1本ずつ配線されていたのを、1本の共用の媒体伝送路に集める共用媒体のアクセス方式から始まっています。ネットワーク内の様々な資源を多くの端末で共有することが可能となり、ワークステーション(WS)などが接続され、プリンタを共有しました。

 大型メインフレームの能力を使い、メインフレームの大型ファイルを端末が利用することから、ネットワーク内のファイルをあるクライアント(client)が自分のローカルディスクのようにアクセスできるようになってきました。大型メインフレームから協調移動して分散化してきました。ここでは大型機がサービスします。

 クライアントはネットワーク内のサーバのサービス機能を利用する端末をいい、サーバは端末すなわちクライアントにサービスを提供するもの、またはその機能を指しています。図60でパソコン A、Bは、あたかも自分のローカルファイルのように、サーバのファイルを利用できます。パソコンがLANに接続されているときは、多くの場合クライアントの機能を果たします。



          図60 パソコンのクライアント

(2)オペレーティングシステム

 オペレーティングシステム(OS)は、様々な機能を集めたコンピュータの中心にあるプログラムの集合体です。図61に最も単純なシステムで、最小必要限のOSの構造を想定したモデルを示します。



          図61 システムコール

 OSから提供されるサービスをシステムコール(system call)といいます。引数を与えてあらかじめ定義された場所で起動します。つまりユーザプログラムは「カーネルにトラップをかける」手順のことです。マシンをユーザモード(user mode)からカーネルモード(Kernel mode)に切り替え、制御をOSへ移します。カーネルモードはスーパバイザモード(supervisor mode)とも呼ばれています。

 図61のモデルは、シンプルユーザの会話型システムを処理するものを前提に述べています。OSとユーザプログラムとの間のインタフェースは、OSが提供されるある特別な命令群(システムコール)です。

 プロセス(process)は本質的に実行中のプログラムです。実行可能なプログラムやプログラムのデータとプログラムカウンタ、スタッフポインタ、その他レジスタなど、プログラムの事項に必要なすべての情報で成り立っています。

 OSからサービスを利用する場合、ユーザプログラムのプロセスは、レジスタやスタッフに設定してからストラップし、システムコールに引数を与えて起動します。OSは呼び出し時の引数をチェックして、実行すべきシステムコールを決定します。ここではテーブルを見て、このポインタに入っているアドレス番号で、あるシステムコールを呼び出します。これでサービスの手続きをしてサービスコールは終わり、制御がユーザプログラムに戻ります。

 OSのカーネルは、最近は小規模化しています。大型のメインフレームのOSでは、すべて集中して統一的でしたが、クライアントプロセス(client process)と呼ばれるユーザプログラムレベルで、大型メインフレームの機能をユーザプロセスで実現するという方法がとられています。

(3)LANによる分散化

 OSは長い改良の経過を持っています。図62にクライアントプロセスが現れた頃のカーネルモードユーザモードの関係を示します。ユーザモードの左側に2つのクライアントプロセスがあり、さらに並んでプロセスサーバ端末サーバファイルサーバがあります。クライアントとサーバは両方ともユーザプロセスであり、カーネルではありません。カーネルは、クライアントとサーバを接続交換する交換機の役目をしています。


          図62 分散OSの階層

 ファイルのあるブロックを読みとるという処理を見ると、ユーザプロセスのクライアントプロセスが、カーネルを通してこれもユーザプロセスのファイルサーバと通信し、その処理の要求を送り、返答をもらうことで目的を達しています。

 すべてのカーネルクライアントとサーバの間の通信を扱っています。サーバはファイルサーバ、端末サーバ、プロセスサーバ、メモリサーバといったシステムの一面のみを扱います。これにより小型・単純になり、管理が容易になります。マシンは単一のプロセスとして実行させることもできるし、複数のクライアント、複数のサーバ、またはクライアントとサーバの両方を実行させることも可能です。

 LANを使用する分散システムでは、OSIモデルの概念による階層化によらず、クライアント/サーバを適用しています。これでオーバヘッドを回避するために、単純なコネクションレスを使用しています。コネクションレスは、トラフィックがバースト的に発生するところでは、簡単な処理で伝送路に送出できるので適しています。

 図63にコネクションレス型の要求と応答プロトコル(request/reply protocol)の概念を示します。クライアントはサーバへ要求メッセージを送って何らかのサービス(ファイルブロックの読み取りなど)を要求します。サーバは作業を行って、要求されたデータを戻すか、あるいは作業が実行できなかった理由を示すエラーコードを返します。



     図63 要求と応答プロトコル

 クライアントは要求を送り応答を受け取ります。コネクションレスと全く適合しています。コネクション指向の仮想コール(VC)のように、使用前に接続を確立したり、使用後に接続を切断したりする必要はありません。

 プロトコルの層、これはスタックとして積み上げることからプロトコルスタックといわれますが、少なくてすみます。図64にイーサネト、トークンリングによるクライアント/サーバの階層を示します。このように必要なプロトコルのレベルは3つだけでよいのです。つまり、物理層、データリンク層、および第5層の要求と応答のプロセスレベルです。これはOSIのセッション層に相当します。要求に対する規定と、これに対する応答についての規定です。この要求と応答を管理する機構がクライアントとサーバ間にないので、第5層より上の層はLANシステムには存在しません。



 図64 クライアント/サーバのモデル

 クライアント/サーバのモデルは、TCP/IPのようなコネクション指向プロトコルを避けて、コネクションレスでLAN上に走行し、単純なコネクションレスによる要求と応答のプロトコルによっています。これによりOSIの概念によるオーバヘッドを防いでいます。

(4)ファイル共用のNFSと電子メール

 LANはサーバ機能により、ネットワーク内の様々な資源を多くの端末で共用します。クライアントは、あたかも自分のローカルディスクにあるように、サーバのファイルにアクセスできます。このような共用は、ファイルだけでなくプリンタやモデムなど、あらゆる資源を共用できます。

 資源の共用は、UNIXで標準に組み込まれているプロトコルTCP/IPなどのソフトで実現できます。TCP/IPは分散をLANにより行って、これに適合する分散OSがクライアント/サーバという概念で発展しています。

 図65は、ワークステーションをLANで接続しています。各ワークステーションは、LAN用のOSにより運用されます。個々のワークステーションは、メモリ(=ローカルメモリ)を持ち、互いにサーバ、クライアントの関係が成立するOSとなっています。



           図65 ワークステーションとクライアント/サーバ

 ワークステーションの代わりに、パソコンのOSによるパソコンLANも実現しています。図66にNFS(network filling system)のアクセス機構を示します。NFSはLANを通してファイルを共用する標準のアプリケーションです。パソコンではこれをサーバ側、クライアント側に搭載して運用します。



          図66 NFSのアクセス機構

 LANでのn対nの交換接続が可能なことから、代表のアプリケーションとして電子メールが挙げられます。電子メールソフトを各端末に実装することで、端末間でメールをやりとりすることが可能となります。図67に電子メールの仕組みを示します。送信側がメールサーバに送信すると、メールサーバから相手側にメールがあることを通知します。着信側はこの通知でメールサーバにアクセスし、メールを受け取ります。端末から送信したメールは、メールサーバ=メールボックス(mail box)に蓄積してあり、メールサーバは着信側がネットワークにログインしていれば、通知を受信側の端末に表示します。



            図67 電子メール

 これらはクライアント/サーバシステムによる、クライアント側OSとサーバ側OSの結合によるもので、ネットワークOSと共通のデータリンクレベルのインタフェース、要求/応答(request/reply protocol)による単純な階層を、LANの1セグメントで構成します。

 ここでは個々のローカルなOSを持つワークステーション、パソコン等を前提としています。図66のようにNFSのために手直しあるいは付加するものであり、ネットワークオペレーティングシステムといわれます。

 図68にNSF(1970年代米国National Science Foundationのシステム)を走行している状態を示します。ここでは1筐体しか示していませんが、ファイルシステムは複数の筐体に収納されたファイルサーバが接続されています。ファイルサーバ(file server)は、クライアントや他のサーバでないマシンのユーザプログラムから要求を受け入れ、ファイルを読み、あるいは書き込みを行います。要求が入る毎にこれを調べ、実行し、応答を返します。



          図68 NFSと要求/応答プロトコル

 UNIXやMS-DOSと同様に、ファイルは階層構成をしています。ファイルシステムのどの位置でも、クライアントサーバは位置することができます。ログイン時にマウントするといいます。ワークステーションで、ファイルをあるマシンから別のマシンへコピーするリモートコピーコマンド(rcp)を使って次のようにします。
     rcp machine1:file1 machine2:file2
これで、マシンmachine1のファイルfile1をマシンmachine2へコピーし、そこでfile2という新しい名前を与えます。

 これが行えることは、ネットワークで共有なファイルシステムを持っていること、すべてのワークステーションからのアクセスが可能であることと同じです。筐体に入ったハードでなく、ワークステーションに装着できるNSFもあります。

 個々のワークステーション、ファイルサーバは別々のOSで動作しているのが普通です。NFSにはベースとなるOSで製品化されていますが、異なるOSと連絡を取るための約束が必要です。

 単一のプロセッサシステム、大型マシンも共用メモリを前提としてOSが成り立っています。それに対して、LANでのNFS等はメモリが分散されており、プロセス間の通信で処理が進行します。これはネットワークOSが作動させているので、疎結合の分散システムと呼んでいます。

 図69に2通りのバッファに対する機能を示します。(a)にバッファリングされないものを示します。(b)はメールサーバでのメールボックス機能を示していて、メッセージをバッファするものです。メッセージを受信しようとしているプロセスは、そのためのメールボックスを作成することをカーネルに指示し、探しているネットワークパケットのアドレスを指定しています。これでそのアドレスを持っている着信メッセージは、すべてメールボックスに蓄積されます。



          図69 メッセージの2通りのバッファ手段

 プロセス間の通信は、要求/応答プロトコルで(a)、(b)両者とも行われます。(a)はメールボックスに蓄積でなく、アドレスが特定のプロセス内のものを参照する手段です。例えばreceive(addr,&m)の呼び出しは、呼び出し側のプロセスがアドレスaddrを取り込んでおり、そのアドレスへ送信されるメッセージを1つ受信できる状態を、そのプロセスを実行しているカーネルに知らせます。mに指定した単一メッセージバッファは、着信メッセージの保持用です。メッセージが到着すると、受信側のカーネルはメッセージをそのバッファにコピーします。これが完了すると、受信側のプロセスは次の段階に進むことになります。

 電子メール、ファイル共用のNFS等のアプリケーションが異なるクラスの端末、異なるメーカ間で利用できるように、ネットワークOSやTCP/IPで、アプリケーション同士直接通信できるAPI(Application Programming Interface)があります。広域網をも介したメールシステム間通信も可能となり、LANは広がっています。ルータを中心としたLAN間接続の製品も現れ、低価格化が進んでいます。

 ネットワークOSは、各ワークステーション、端末が個々のOSで走行しており、これを修正・手直しするものであり、分散OS統一的なOSを目指しています。


[出典]
 (1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)

 以上、分散システムについてまとめました。次回はネットワーク技術についてまとめる予定です。

 

[技術分野■ADSL■無線■光ファイバー■衛星通信■CATV■伝送技術■交換技術■データ通信■ネットワーク技術■ルーティング技術]