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

| 手順クラス |
モ ー ド |
内 容 |
|
| 非(不)平衡型 | 動作モード | 正規応答モード (NRM) |
2次局は1次局からのコマンドによりすべて制御される |
| 非同期応答モード (ARM) |
2次局は1次局からのコマンドの受信がなくてもレスポンスの送信が始められる | ||
| 平 衡 型 | 非同期平衡モード (ABM) |
相手複合局の許可がなくてもコマンドまたはレスポンスの送信が始められる | |
| 平 衡 型 および 非(不)平衡型 |
非動作モード | 初期モード (IM) |
データリンクの制御機能を初期化するモードで、データリンク制御プログラムなどは1次局や複合相手局からの操作によって初期化される |
| 切断モード (DCM) |
データリンクから論理的に切断されたモードで、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フレーム |
| 種 類 |
制 御 部 の ビット 構 成 |
機 能 概 要 |
|||||||
| 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つの情報フレームの再送要求
|
||




| 正規応答モード | 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) |
| 手順クラス |
非(不)平衡型手順クラス 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 |
データリンクの確立 | 回線やDTEが正しい相手とつながり、データの送受信を可能な状態にする |
| 3 |
情報の伝達 (データの送受信) |
実際にデータの送受信が行われる段階で、正確な伝送を行うために、何らかの誤り制御を行いながら伝送される |
| 4 |
終 結 (データリンクの解放) |
データの伝送が終了して、互いに終了を確認し、データリンクを解く。これによりデータリンク確立以前の初期状態に戻る |
| 5 |
回線の切断 | 交換網で接続された場合のみ必要で、回線との接続を断つ |


| 符 号 |
名 称 |
定 義 |
|
| 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 | (伝送ブロック終結) | 伝送上の目的で、データが幾つかのブロックに分けられるとき、そのデータの伝送ブロックの終わりを示すために用いられる |


| 種 類 |
フレーム構成 |
|
| ポーリング |
[EOT] (pa) ENQ | |
| セレクティング |
局選択 | [EOT] (sa) ENQ |
| 識別・状態問合せ 初期状態からの脱出 |
[(px)] ENQ | |
| 終 結 |
正常終結 | [(px)] EOT |
| 異常終結 | EOT | |
| 回線切断 |
DLE EOT | |
| 応答督促 |
[(px)] ENQ | |
| 放 棄 |
ブロック放棄 | [(px)] ENQ |
| 局放棄 | EOT | |
| 種 類 |
フレーム構成 |
||
| 非番号制 |
番号制 |
||
| 肯定応答 | セレクティング | [(px)] ACK | |
| 情報メッセージ | EOT | DLEαとDLEβの交互応答 | |
| 否定応答 | ポーリング | [(px)] EOT |
|
| セレクティング | [(px)] NAK | NAKまたはDLEβ | |
| 情報メッセージ | [(px)] NAK | NAK | |
| 回線切断 | EOT |
||
| 中断 | ブロック中断 | EOT |
|
| 局中断 | DLE< |
||
| 項目 |
ベーシック手順 |
HDLC手順 |
|||||||||||
TCC:伝送制御キャラクタ |
F:フラグ(01111110) |
||||||||||||
| 方 式 |
通信方式 応答監視方式 誤り検出方式 ブロック長 データの透過性 |
全二重/半二重 交互監視 パリティチェック/CRC キャラクタの倍数 データに表れたDLEの次のDLEを挿入・除去 |
全二重/半二重 同時監視/交互監視 CRC 任意のビット数 フラグ間の5個連続した"1"の次に"0"を挿入・除去 |
||||||||||
| 性 能 |
伝送効率 |
低い ・1ブロックごとに必ず送信確認する |
高い ・フレームの連送可 ・ダブルナンバリング |
||||||||||
| 信頼性 | 低い ・データの重複が発生することがある ・テキストのみチェックフィールドを持つ |
高い ・データの抜け、重複が発生しない ・すべての伝送単位(フレーム)にチェックフィールドを持つ |
|||||||||||
| 汎用性 | 小さい ・業務処理、端末特性への依存性が大きい |
大きい ・通信プロトコルは、上位プロトコルと完全に分離している |
|||||||||||

[出典]
(1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)
以上、通信制御についてまとめました。次回はパケット交換網についてまとめる予定です。
(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)と呼ばれる転送のサービスがあります。これはデータ保障のための面倒な手順を簡略化したものです。
| パケットタイプ |
サービス |
||
| DCEからDTEへ |
DTEからDCEへ |
VC |
PVC |
| 呼設定および解放 |
|||
| 着呼 接続完了 切断指示 DCE復旧確認 |
発呼要求 着呼受付 復旧要求 DTE切断確認 |
○ ○ ○ ○ |
|
| データおよび割込み |
|||
| DCEデータ DCE割込み DCE割込み確認 |
DTEデータ DTE割込み DTE割込み確認 |
○ ○ ○ |
○ ○ ○ |
| フロー制御およびリセット |
|||
| DCE受信可 |
DTE受信可 DTE受信不可 DTEリジェクト リセット要求 DTEリセット確認 |
○ ○ ○ ○ ○ |
○ ○ ○ ○ ○ |
| リスタート |
|||
| リスタート指示 DCEリスタート確認 |
リスタート要求 DTEリスタート確認 |
○ ○ |
○ ○ |
| 診 断 |
|||
| 診断 | ○ | ○ | |
| 登 録 |
|||
| 登録確認 |
登録要求 |
○ ○ |
○ ○ |
| 種類 |
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 |
| 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にそれ以後の送信を停止 |
[出典]
(1) 電気通信研究会:データ通信テキスト,日本理工出版会(1999-6)
以上、パケット交換網についてまとめました。次回はLANとOSIについてまとめる予定です。
| 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 トークンリングネットワーク接続構成

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についてまとめました。次回は分散システムについてまとめる予定です。
前回の「LANとOSI」に引き続き、分散システムについてまとめました。
一方、高速なLANの発達により、100Mbpsを超える速度でマシン間を転送する手段が容易になりました。これらが分散システムを作っているといえます。
分散システムはユーザに多数のプロセッサで作業していることを意識させないためのシステムです。つまり、ユーザがある処理を行うためにコマンドをタイプすると、多数のプロセッサから適切なものを選択し、入力ファイルをそこへ転送し、結果を指定されている場所へ出力することをユーザが意識しません。
ネットワークは多数の自律的(autonomous)なコンピュータを結ぶものです。一方、分散システムは多数のプロセッサを気づかせない、つまり透明(transparent)にするものです。分散システムのオペレーティングシステム(分散オペレーティングシステム)は複雑なソフトウェアで、分散システムの中核をなしています。ネットワークから見た分散OSという点から、分散オペレーティングシステムは注目されています。
集中型システムに小型コンピュータあるいはパソコンを接続して、メインフレームのデータの一部などを取り出し、保有したものをファイルサーバ(file server)と呼んでいます。これが分散システム(ネットワーク)の始まりで、大型メインフレームと小型コンピュータの両方で、ファイルを取り扱いだしたものです。これがクライアント(client)とサーバ(server)という分散OSモデルの概念に発展しています。
@ データの共有 多くのユーザが情報にアクセスすることが可能になる。
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が同じアドレスで読むと、書き込んだそのワードを得ることができます。
これは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■伝送技術■交換技術■データ通信■ネットワーク技術■ルーティング技術]
[■top■readme■news■broadband■movement■product■technical■column■message■bbs■voice■link■profile]
e-mail :webmaster@kurejbc.com
Copyright (C) 2000 Japan Broadband Community All rights reserved