• ベストアンサー

HDLCの誤り検出、再送処理

ネットワークの学習中に少し気になる点がありました。 HDLCは誤り検出、再送処理の機能を有しています。 そこで質問なのですが、なぜデータリンク層でそのような機能を有するのでしょうか。 誤り検出・再送処理は、一般にTCPなどのトランスポート層のプロトコルに依存するのではないのでしょうか。 トランスポート層は確かにエンドツーエンドの通信における保障ですが、各ポイントツーポイントで誤り、再送検出を行えばエンドツーエンドも可能かと思われますし、どちらか片方で良いような気がします。 分かりにくい質問かと思われますが、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • outerlimit
  • ベストアンサー率26% (993/3718)
回答No.2

質問者の表現で言えば レイヤが上位になるほど、一回に処理されるデータ量が多くなるからです 下位レイヤーでエラー検出再送を行った方が再送データは少なくて済みます 最上位層で全部まとめてチェック と言う考え方もありますが 、オールオアナッシングになります エラー発生の確率が非常に低い場合は、その方が効率的な場合もありますが、エラー発生確率がある値を超えると全データがエラーになってしまいます データ伝送の基本的な考え方として、ある程度のエラー発生は許容せざるを得ないとしています なお、通信プロトコルの9割以上はエラーへの対応と思っても見当違いではありません データ伝送の歴史は、エラー対応の歴史でもあります

chanchan5
質問者

お礼

なるほど、下位のほうがデータ量は減りますね。。 どうもありがとうございました。

その他の回答 (1)

回答No.1

レイヤが違うということは、互いに依存しないということです。 まあ、最近のモデルでは通用しないことも多々ありますが。

chanchan5
質問者

お礼

御回答ありがとうございます。 レイヤは独立していることは分かっているつもりではあります。 しかし、有名なトランスポート層のTCPやUDPと、データリンク層で一般的によく用いられるHDLCを使用すると、上位層の機能を無視してしまうように思います。 つまり、UDP+HDLCを行うとUDPの高速化のメリットを損なってしまいますし、TCP+HDLCを行うと制御が2重になってしまい、オーバーヘッドが生じてしまうのではないでしょうか・・・

関連するQ&A