信頼性のあるデータリンク

疑問

上位層に信頼できるプロトコル層があるのに、なぜデータリンク層はコネクション指向なのでしょうか?

 第4層のプロトコル( TCP、SPX、NetBIOS など)がすでにコネクション指向のサービスを提供しているのに、 なぜデータリンク層でも信頼性なのでしょうか? 答えは、低い層の方が高い層より高速だからです。

 次のような場合を考えてみましょう(ローカルでも、ブリッジやルータや回線を越えたネットワークでもかまいません)。

 アプリケーションがディスクを読むという要求を行うとき、ディスクが応答しないと判断できるのに、どれくらい待てばよいのでしょうか?

 ファイルサーバにフレームを送るとき、フレームを再送する前にどれくらいの期間、確認応答がないのを待つべきでしょうか?

 ケーブルに電気信号を流すとき、フレームが電気的に壊れていて再送が必要であるということは、どれくらい待って判断すればよいのでしょうか?

 物理レベルではイーサネットの再送は即座に起こります。(ざっと計算して、0.0003 秒です。) LLC は、一つのデータリンクを越えたデータをもう少し長く待ち、確認応答を受信します。( たぶん、5 ミリ秒から 10 ミリ秒;0.005 秒程度です。) TCP や SPX など第4層では、ルータや回線の向こう側からの確認応答を待つようになっています。 さらに長くかかります。(たぶん、数秒という範囲でしょう。)アプリケーションそのものも、要求が生成されるまで待たなければなりません。 これには非常に長い時間がかかります。(たぶん、10 秒程度でしょう。)

 フレームがインターネットワークを越え、そのどこかでなくなるような場合、タイプ2 LLC ならば、エンドツーエンドの第4層が必要とする時間よりも短い時間で回復することが可能です。 「より低い層の信頼性は、フレーム通信のよい投資である」と言えます。

 プロトコルによって、設定可能タイマがいろいろあります。 理想的には、より下の層を待たせるのがベストでしょう。より上の層によって送信される新しいデータは、受取った前のデータの確認応答と一緒に送信することができるからです。 プロトコルの各層は協力して動作しします。下層のサービスを利用し、上層にサービスを提供します。 もっとも低い層とはケーブルです。最も高い「層」とはキーボードの前に座っている人のことです。