关于tcp/ip模型,既然链路层提供了crc校验,为什么还要在网络层帧和传输层数据包中再次提供校验?

分类: 365bet软件下 时间: 2025-07-06 20:38:37 作者: admin 观测: 771
关于tcp/ip模型,既然链路层提供了crc校验,为什么还要在网络层帧和传输层数据包中再次提供校验?

社区

通信技术 帖子详情 关于tcp/ip模型,既然链路层提供了crc校验,为什么还要在网络层帧和传输层数据包中再次提供校验? 3x3只眼 2010-10-24 05:40:08 据我从教材上看来,网络层的校验只针对网络层的头部,而传输层的校验针对传输层数据包,这两者是分别校验不同的部分,因此还可以理解。

于是,既然数据链路层提供了校验,那为什么网络层和传输层还需要校验呢?链路层的帧不就已经包含了网络层的帧,而网络层的帧不就已经包含传输层的数据包了吗?那应该只需要通过对链路层帧的校验就可以检测所有这三个层的所有错误了啊?

而且,如果像这样每一层都需要校验的话,岂不是应用层程序也需要进行校验?可是现在写程序的人恐怕没几个会对socket的数据还进行crc校验吧?

求事实,求真相!

...全文

1955 7 打赏 收藏 关于tcp/ip模型,既然链路层提供了crc校验,为什么还要在网络层帧和传输层数据包中再次提供校验? 据我从教材上看来,网络层的校验只针对网络层的头部,而传输层的校验针对传输层数据包,这两者是分别校验不同的部分,因此还可以理解。 于是,既然数据链路层提供了校验,那为什么网络层和传输层还需要校验呢?链路层的帧不就已经包含了网络层的帧,而网络层的帧不就已经包含传输层的数据包了吗?那应该只需要通过对链路层帧的校验就可以检测所有这三个层的所有错误了啊? 而且,如果像这样每一层都需要校验的话,岂不是应用层程序也需要进行校验?可是现在写程序的人恐怕没几个会对socket的数据还进行crc校验吧? 求事实,求 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 7 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 zwd_125 2010-11-07 打赏举报 回复 [Quote=引用 5 楼 yanghehong 的回复:]

再补充一点,不同层次的校验覆盖的范围也不一样。

链路层的校验只能保证 一条链路的两个节点之间 这部分的完整正确性。

传输层的校验可以保证 从一个节点,经过千山万水,很多条链路,到达最终节点的完整性。

还有,即使从一个节点,到最后目标节点是完整的,对应用来说,也可能是不够充分的,比如下图所示:

应用进程 --》 TCP协议栈 ---)网络 ----》 TCP 协议栈 ---》 目……

[/Quote]

这个解释比较好 3x3只眼 2010-11-04 打赏举报 回复 [Quote=引用 5 楼 yanghehong 的回复:]

再补充一点,不同层次的校验覆盖的范围也不一样。

链路层的校验只能保证 一条链路的两个节点之间 这部分的完整正确性。

传输层的校验可以保证 从一个节点,经过千山万水,很多条链路,到达最终节点的完整性。

还有,即使从一个节点,到最后目标节点是完整的,对应用来说,也可能是不够充分的,比如下图所示:

应用进程 --》 TCP协议栈 ---)网络 ----》 TCP 协议栈 ---》 目……

[/Quote]

虽然开始有点明白你的观点,但是仍有点疑虑。。。不过暂且这样认为吧,多次校验是为了冗余校验更加安全。。。感谢回答,散分走人~_~ yanghehong 2010-11-03 打赏举报 回复 1 再补充一点,不同层次的校验覆盖的范围也不一样。

链路层的校验只能保证 一条链路的两个节点之间 这部分的完整正确性。

传输层的校验可以保证 从一个节点,经过千山万水,很多条链路,到达最终节点的完整性。

还有,即使从一个节点,到最后目标节点是完整的,对应用来说,也可能是不够充分的,比如下图所示:

应用进程 --》 TCP协议栈 ---)网络 ----》 TCP 协议栈 ---》 目标应用进程。

应用进程与TCP协议栈之间也可能出现错误。这个,TCP的校验显然就没办法覆盖到。

还有TCP层没有把数据发送出去的情况等等。这也是为什么,对可靠性要求高的应用,在TCP传输可靠性的基础上,还要自己实现一小协议来保证可靠性。

- 千里孤行

yanghehong 2010-11-03 打赏举报 回复 [Quote=引用 3 楼 cppfile 的回复:]

挺奇怪的,yanghehong在这个帖子里面的回复怎么和以前的不一样呢?

http://topic.csdn.net/u/20090309/16/5AA71065-994B-4C7D-BA55-5D8F5E8E4FCC.html

我也在找楼主这个问题的答案

[/Quote]

怎么不一样呢?

TCP/IP层 在 GPRS层之上。所以TCP的校验就可以保证你传输的完整正确性了。

CppFile 2010-11-03 打赏举报 回复 挺奇怪的,yanghehong在这个帖子里面的回复怎么和以前的不一样呢?

http://topic.csdn.net/u/20090309/16/5AA71065-994B-4C7D-BA55-5D8F5E8E4FCC.html

我也在找楼主这个问题的答案 3x3只眼 2010-11-02 打赏举报 回复 [Quote=引用 1 楼 yanghehong 的回复:]

引用楼主 nerv3x3 的回复:

据我从教材上看来,网络层的校验只针对网络层的头部,而传输层的校验针对传输层数据包,这两者是分别校验不同的部分,因此还可以理解。

于是,既然数据链路层提供了校验,那为什么网络层和传输层还需要校验呢?链路层的帧不就已经包含了网络层的帧,而网络层的帧不就已经包含传输层的数据包了吗?那应该只需要通过对链路层帧的校验就可以检测所有这三个层的所有错误了啊?

而且,如果……

[/Quote]

还是有点疑问:无论是网络层的分片,还是传输层的分组,都应该有类似于序号的机制确认每一个分片或分组都会收到,既然如此那为什么还需要整体的校验?如果说只是多此一举以防万一还可以理解。 yanghehong 2010-10-24 打赏举报 回复 1 [Quote=引用楼主 nerv3x3 的回复:]

据我从教材上看来,网络层的校验只针对网络层的头部,而传输层的校验针对传输层数据包,这两者是分别校验不同的部分,因此还可以理解。

于是,既然数据链路层提供了校验,那为什么网络层和传输层还需要校验呢?链路层的帧不就已经包含了网络层的帧,而网络层的帧不就已经包含传输层的数据包了吗?那应该只需要通过对链路层帧的校验就可以检测所有这三个层的所有错误了啊?

而且,如果像这样每一层都需要校验的话,岂不是应用……

[/Quote]

如果说上层的一个包,在下层也对应一个包,那也许可以不用。

可是不是这样。上层一个包,可能会分割成下层多个包来传(比如 用只用一个包传大于下层的最大包长度的时候),后面再重组。

所以,回到你这里,下层校验没问题,对上层来说,可能不是整个包没问题,只是包的一部分没问题,所以上层也要自己的校验。

也不一定每一层都要校验,要看现有的校验是不是足够,是不是已有的校验是针对你的完整传输单位做的。

应用程序也有校验的,比如传输文件,除了网络若干层已有的校验最后,应用层 最后校验文件是不是传输完整。

- 千里孤行

TCP/IP四层模型 文章目录TCP/IP协议族体系结构以及主要协议数据链路层网络层传输层应用层

TCP/IP协议族体系结构以及主要协议

TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层。每一层完成不同

的功能,且通过若干协议来实现,上层协议使用下层协议提供的服务。

数据链路层

数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(比如以太网、令牌环等)上的传输。

数据链... TCP/IP网络协议基础(一、二)TCP/IP简介&链路层 @[目录]

一、TCP/IP简介

TCP/IP是传输控制协议与网络协议的简称,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP不是一个协议,而是一个协议族的统称,其中包括IP协议、ICMP协议、TCP协议、http、ftp、pop3等协议,网络中的计算机都采用这套协议族进行互联。

1.1 网络协议栈架构

TCP/IP被分为四层,各层承担的任务和工作方式以及封装上层数... TCP/IP网络参考模型(端口号、TCP滑动窗口、TCP拥塞控制、IP协议号、以太网帧) 运行在MAC层之上在以太网链路上传输的数据包成为以太帧。

应用层常见协议——传输数据PDU

传输层协议——传输数据段

端口号

TCP面向连接服务CONS

TCP报文格式

TCP数据传输——ACK确认机制

TCP会话建立——三次握手

TCP会话结束——四次握手

TCP流量控制——滑动窗口协议

TCP可靠传输机制

TCP拥塞控制UDP无面向连接服务DLNS

网络层协议——传输数据包

IP协议

数据链路层——传输数据帧

Ethernet_II帧格式

IEEE802.3帧格式 计算机网络 TCP/IP参考模型 前言

本文梳理TCP/IP的通信传输流。

1. TCP/IP四层模型

(Transfer Control Protocol/Internet Protocol)

应用层:决定了向用户提供应用服务时通信的活动。

主要功能:为用户提供接口、处理特定的应用;数据加密、解密、压缩、解压缩;定义数据表示的标准。

比如FTP(File Transfer Protocol)

DNS(Domain NameServer)域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。

HTTP;

SMTP(S OSI模型和TCP/IP模型 本文主要介绍了 OSI 模型和 TCP/IP 模型的相关内容,包括各层的功能、数据传输单位、典型协议以及两者的区别等

通信技术

4,387

社区成员

28,918

社区内容

发帖 与我相关 我的任务 通信技术 通信技术相关讨论 复制链接

扫一扫 分享 确定 社区描述 通信技术相关讨论 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章

← 正在阅读:重量级音乐杀手!罗技UE MEGABOOM评测重量级音乐杀手!罗技UE MEGABOOM评测 HTML onclick 事件属性 →

相关时空节点

世界杯为什么晚上举行「世界杯比赛时间晚上」

世界杯为什么晚上举行「世界杯比赛时间晚上」

07-01 💫 736
光遇黑脸面具需要多少心?---光遇攻略

光遇黑脸面具需要多少心?---光遇攻略

06-30 💫 88
[攻略]【纯冰法】暗黑2重置版战网纯冰法从起步到起飞攻略

[攻略]【纯冰法】暗黑2重置版战网纯冰法从起步到起飞攻略

07-05 💫 911