
疑問
上位層に信頼できるプロトコル層があるのに、なぜデータリンク層はコネクション指向なのでしょうか?
第4層のプロトコル( TCP、SPX、NetBIOS など)がすでにコネクション指向のサービスを提供しているのに、
なぜデータリンク層でも信頼性なのでしょうか? 答えは、低い層の方が高い層より高速だからです。
次のような場合を考えてみましょう(ローカルでも、ブリッジやルータや回線を越えたネットワークでもかまいません)。
アプリケーションがディスクを読むという要求を行うとき、ディスクが応答しないと判断できるのに、どれくらい待てばよいのでしょうか?
ファイルサーバにフレームを送るとき、フレームを再送する前にどれくらいの期間、確認応答がないのを待つべきでしょうか?
ケーブルに電気信号を流すとき、フレームが電気的に壊れていて再送が必要であるということは、どれくらい待って判断すればよいのでしょうか?
物理レベルではイーサネットの再送は即座に起こります。(ざっと計算して、0.0003 秒です。)
LLC は、一つのデータリンクを越えたデータをもう少し長く待ち、確認応答を受信します。( たぶん、5 ミリ秒から 10 ミリ秒;0.005 秒程度です。)
TCP や SPX など第4層では、ルータや回線の向こう側からの確認応答を待つようになっています。
さらに長くかかります。(たぶん、数秒という範囲でしょう。)アプリケーションそのものも、要求が生成されるまで待たなければなりません。
これには非常に長い時間がかかります。(たぶん、10 秒程度でしょう。)
フレームがインターネットワークを越え、そのどこかでなくなるような場合、タイプ2 LLC ならば、エンドツーエンドの第4層が必要とする時間よりも短い時間で回復することが可能です。
「より低い層の信頼性は、フレーム通信のよい投資である」と言えます。
プロトコルによって、設定可能タイマがいろいろあります。
理想的には、より下の層を待たせるのがベストでしょう。より上の層によって送信される新しいデータは、受取った前のデータの確認応答と一緒に送信することができるからです。
プロトコルの各層は協力して動作しします。下層のサービスを利用し、上層にサービスを提供します。
もっとも低い層とはケーブルです。最も高い「層」とはキーボードの前に座っている人のことです。