2011-01-29 65 views

回答

0

可能是因爲它們覆蓋了不同的數據,不是嗎?

15

需要所有這三個層,出於多種原因:

  • IP並不總是運行在以太網上(想象IP通過RS-232串口,這是每一個思科和Unix機器可以做)

  • IP不校驗數據

  • TCP數據包可以從錯誤的IP數據包和片段各有重新組合完美校驗

  • 即使正確地重新裝配,軟件或其他錯誤,可以在IP和TCP之間的層引入

  • 即使所有軟件功能正常,和TCP/IP是在以太網上,校驗的有限尺寸可以是意外地糾正(並且在某些點,給予足夠的數據包)面對持久性錯誤,所以有多個校驗和是有幫助的。

  • 每次引入新的頭文件時,都會有更多的校驗和,而新層無法看到下面圖層的頭文件位。

+0

感謝您的意見。 – sasian

+3

RFC表示,TCP校驗和覆蓋整個網段,而IP校驗和僅覆蓋來自錯誤的IP頭。 – sasian

+0

+1非常豐富,我認爲最後的原因是最有說服力的。 –

6

以太網校驗和是跳躍校驗和 - 意味着每當以太網報頭字段更改時重新計算。 TCP/UDP校驗和是端到端的校驗和,意味着它由發送方計算並由接收方驗證。 TCP/UDP校驗和覆蓋整個網段。 IP校驗和只包含頭文件。以太網CRC覆蓋整個框架。

0

IPv6的設計者決定在所有這些層中都不需要它,並將其移除以支持其他層(例如您提到的那些層)的校驗和。