z*y 发帖数: 1311 | 1 Ethernet已经有error checking(CRC),相信其它类型的LAN也都是error checking
CRC比IP checksum 还要 strong
那么 IP checksum 岂不是多余的么? | s*****g 发帖数: 1055 | 2 Not at all, when the packet is routed, L2 header are stripped, lot of IP
header fields can be changed, router will decrement IP TTL, depends on
configuration, TOS/DSCP bit can be modified, if it is a NAT device, source/
destination IP addresses can be changed, etc, etc, outbound L2 encap can be
PPP, without IP checksum, how does next hop router know the IP packets'
integrity are maintained?
The same argument applies to why we need TCP/UDP checksum, the whole point of layered TCP/IP is that upp | z**r 发帖数: 17771 | 3 well, IPv6 doesn't have the head checksum any more. It's true the upper
layer protocol shouldn't rely on the lower layer, but with modern transport
media, upper layer can "assume" lower layer has no or very little error
be
of layered TCP/IP is that upper layer does not depend on any specific
lower layer delivery.
【在 s*****g 的大作中提到】 : Not at all, when the packet is routed, L2 header are stripped, lot of IP : header fields can be changed, router will decrement IP TTL, depends on : configuration, TOS/DSCP bit can be modified, if it is a NAT device, source/ : destination IP addresses can be changed, etc, etc, outbound L2 encap can be : PPP, without IP checksum, how does next hop router know the IP packets' : integrity are maintained? : The same argument applies to why we need TCP/UDP checksum, the whole point of layered TCP/IP is that upp
| w***s 发帖数: 321 | 4 也许是认为不需要header checksum,因为tcp/udp都有自己的。
不过这样做也很奇怪,毕竟路由器和主机都可能搞出错误来。
transport
【在 z**r 的大作中提到】 : well, IPv6 doesn't have the head checksum any more. It's true the upper : layer protocol shouldn't rely on the lower layer, but with modern transport : media, upper layer can "assume" lower layer has no or very little error : : be : of layered TCP/IP is that upper layer does not depend on any specific : lower layer delivery.
| L******t 发帖数: 1985 | 5 A minor correction, if using PPP as l2 encap, mostly likely you are using
HDLC, which has its own CRC field.
be
of layered TCP/IP is that upper layer does not depend on any specific
lower layer delivery.
【在 s*****g 的大作中提到】 : Not at all, when the packet is routed, L2 header are stripped, lot of IP : header fields can be changed, router will decrement IP TTL, depends on : configuration, TOS/DSCP bit can be modified, if it is a NAT device, source/ : destination IP addresses can be changed, etc, etc, outbound L2 encap can be : PPP, without IP checksum, how does next hop router know the IP packets' : integrity are maintained? : The same argument applies to why we need TCP/UDP checksum, the whole point of layered TCP/IP is that upp
| L******t 发帖数: 1985 | 6 Didn't notice that. But think about it, IPv6 as a transport layer never runs
on its own. So as long as there are always a lower layer & a upper layer w/
error checking, the middle layer does not have to.
transport
【在 z**r 的大作中提到】 : well, IPv6 doesn't have the head checksum any more. It's true the upper : layer protocol shouldn't rely on the lower layer, but with modern transport : media, upper layer can "assume" lower layer has no or very little error : : be : of layered TCP/IP is that upper layer does not depend on any specific : lower layer delivery.
| z**r 发帖数: 17771 | 7 that's right, as long as the highest layer can do the error checking,
ideally, the lower ones don't have to this any more
runs
w/
【在 L******t 的大作中提到】 : Didn't notice that. But think about it, IPv6 as a transport layer never runs : on its own. So as long as there are always a lower layer & a upper layer w/ : error checking, the middle layer does not have to. : : transport
| w***s 发帖数: 321 | 8 就最小化而言,下层的校验是冗余,但是从OAM以及使用效率的角度来看,却不是多余
的。
【在 z**r 的大作中提到】 : that's right, as long as the highest layer can do the error checking, : ideally, the lower ones don't have to this any more : : runs : w/
|
| z**r 发帖数: 17771 | 9 true,所以就看怎么来能提供最合理最优化的方案
【在 w***s 的大作中提到】 : 就最小化而言,下层的校验是冗余,但是从OAM以及使用效率的角度来看,却不是多余 : 的。
| hb 发帖数: 89 | 10 这个是正解,引用一段论文里的原话
The concept of a checksum is less well defined. For the purposes of data
communication, the goal of a checksum algorithm is to balance the
effectiveness at detecting errors against the cost of computing the check
values. Furthermore, it is expected that a checksum will work in conjunction
with other, stronger, data checks such as a CRC. For example, MAC layers
are expected to use a CRC to check that data was not corrupted during
transmission on the local media,and checksums are
【在 w***s 的大作中提到】 : 也许是认为不需要header checksum,因为tcp/udp都有自己的。 : 不过这样做也很奇怪,毕竟路由器和主机都可能搞出错误来。 : : transport
| s*******8 发帖数: 12734 | 11 其实大部分情况基本上至少》2层是在搞避免错误的。
底下一层保证传输正确,上面一点保证信息完整,意图不一样。
看看SS7也是这样。 |
|