現在ネットワークを勉強しておりますが、パケットのエラーチェックについて混乱しております。チェックサムを持つヘッダを調べてみると、第1~2層の Ethernet フレームヘッダ、第3層の IPv4 ヘッダ、第4層の TCP/UDP ヘッダと複数あります。直感的には、第1~2層の最下層のフレームの段階で全体のエラーチェックをしてくれてるのだから、何もレイヤーごとに何度も何度もエラーチェックを繰り返すのは無駄な気がするのですが、やはりこれは必要なのでしょうか?
また、IPv6 では近年信頼性が上がっているという理由でチェックサムの項目はなくなったようですね。それでも Ethernet のフレーム上の CRC、TCP/UDP 層でもチェックをするのでその2つがあれば十分という前提でチェックサムをなくした、という理解でよいでしょうか?
何度も何度もエラーチェックを繰り返すのは無駄な気がするのですが、やはりこれは必要なのでしょうか?
宅配便みたいなものと思えばいいです
それぞれの立場でチェックする必要があるということがわかると思います
IPv6 では近年信頼性が上がっているという理由でチェックサムの項目はなくなった
トラックに積み込んだら宅配便センターの担当者が封印をして目的地につくまで誰もやぶらないようにする
封印されているので下請け運送会社はチェックしたくてもできない/しなくてよくなることがわかると思います
回答ありがとうございます。うーんと、ちょっと書き方が悪かったです。
2013/10/20 22:18:45(1)一番上位のフレームレベルでは、中身も含めてフレーム全体の伝送エラーをチェックしている
(2)IPやTCP/UDPでのチェックでも同様に、ただ伝送エラーが含まれるかだけを確認している(このとき、データの内容には触れない)
という状態だと思うのですが、(1)のチェックで伝送エラーが無いと判断されたあと、上位の層に渡された瞬間に(2)で伝送エラーが検出されるようなことはあるのでしょうか、という意味合いでの質問でした。レイヤーごとにデータの内容のチェックをしているのなら納得できるんですけど。このままだと、フレームのチェックだけでいいのでは?ということで質問してみた次第です。書き方が悪くて申し訳ありません。