- ベストアンサー
HDLCの誤り検出、再送処理
ネットワークの学習中に少し気になる点がありました。 HDLCは誤り検出、再送処理の機能を有しています。 そこで質問なのですが、なぜデータリンク層でそのような機能を有するのでしょうか。 誤り検出・再送処理は、一般にTCPなどのトランスポート層のプロトコルに依存するのではないのでしょうか。 トランスポート層は確かにエンドツーエンドの通信における保障ですが、各ポイントツーポイントで誤り、再送検出を行えばエンドツーエンドも可能かと思われますし、どちらか片方で良いような気がします。 分かりにくい質問かと思われますが、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
質問者の表現で言えば レイヤが上位になるほど、一回に処理されるデータ量が多くなるからです 下位レイヤーでエラー検出再送を行った方が再送データは少なくて済みます 最上位層で全部まとめてチェック と言う考え方もありますが 、オールオアナッシングになります エラー発生の確率が非常に低い場合は、その方が効率的な場合もありますが、エラー発生確率がある値を超えると全データがエラーになってしまいます データ伝送の基本的な考え方として、ある程度のエラー発生は許容せざるを得ないとしています なお、通信プロトコルの9割以上はエラーへの対応と思っても見当違いではありません データ伝送の歴史は、エラー対応の歴史でもあります
その他の回答 (1)
- sittaka-kun
- ベストアンサー率22% (153/686)
レイヤが違うということは、互いに依存しないということです。 まあ、最近のモデルでは通用しないことも多々ありますが。
お礼
御回答ありがとうございます。 レイヤは独立していることは分かっているつもりではあります。 しかし、有名なトランスポート層のTCPやUDPと、データリンク層で一般的によく用いられるHDLCを使用すると、上位層の機能を無視してしまうように思います。 つまり、UDP+HDLCを行うとUDPの高速化のメリットを損なってしまいますし、TCP+HDLCを行うと制御が2重になってしまい、オーバーヘッドが生じてしまうのではないでしょうか・・・
お礼
なるほど、下位のほうがデータ量は減りますね。。 どうもありがとうございました。