tcp - 多个 "TCP/IP"模型层的校验和字段的设计需要?他们真的是多余的吗?

标签 tcp protocols network-protocols checksum

多个“TCP/IP”模型层的校验和字段的设计需要?他们真的是多余的吗?

举个例子,

在 L1:Ethernet-II 中,我们有 4 个字节的 FCS 字段, 在 L2:Ipv4 中我们也有校验和,但在 IPv6 中他们省略了校验和并卸载到 上层。 在 L3 中:TCP/UDP 都要求校验和字段并进一步导致性能延迟。

那么,如果 IPv6 将校验和卸载到上层的设计是一个好的设计,那么我们是否可以忽略 L2 及以上校验和,因为 L1 FCS(帧校验序列)已经覆盖了完整性?

最佳答案

不,因为记住层是相互独立的。你真的不知道你是否会在较低级别拥有 FCS。这对于特定部署并不重要,但对于协议(protocol)的生命周期很重要。其次,每个协议(protocol)中的各种校验和都有自己的问题。例子: http://noahdavids.org/self_published/CRC_and_checksum.html

关于tcp - 多个 "TCP/IP"模型层的校验和字段的设计需要?他们真的是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10214036/

相关文章:

.net - 具有动态端口 0 和 TCP 绑定(bind)的 WCF 服务发现

networking - 解析 libpcap 捕获的数据包的 IP 和 TCP header (尤其是常见的 tcp header 选项)

protocols - 我应该使用重定向代码进行 geoip 语言重定向吗?

java - 使用 UDP(数据报)在 Java 中实现 TCP

可以接受强制门户上的条款的嵌入式 WiFi 设备?

c - 什么是tcp_autocorking(tcp自动corking)

linux - TCP 包装器拒绝用户@主机名

c++ - toLocal8bit 通过 TCP 发送

ios - 委托(delegate)给正确的同名方法

ios - 奇怪的 Swift 协议(protocol)行为