三九宝宝网宝宝百科宝宝知识

在ip中只对数据报头而不对数据计算校验和的好处是什么

05月23日 编辑 39baobao.com

[IP数据包的校验和算法C#版]为做伪IP,特地做了一个IP包,用C#改写IP头的校验和算法。 资料一: IP头格式: 版本号 (4位) IP头长度 (4位) 服务类型 (8位) 数据包长度 (16位) 标识段 (16位) 标志段 (16位) 生存...+阅读

因为网络层是“尽最大努力完整的传输数据包”,差错检测已由数据链路层实现,IP层没必要再进行一次校验。 优点就是:因为不负责差错检测和纠错,所以可获得较高的传输性能。 缺点就是:因为IP层不负责差错检测,那么错误检测只能在传输层或应用层被发现,使纠正错误的时间增加了。 试想一下,如果两台PC跨INTERNET通信,之间隔了很多台路由器,PC1给PC2发了个数据包,到达第一台路由器后,因为原来二层协议为ETHERNET帧,广域网要使用HDLC或者PPP协议,如果在这转发的过程中,数据包发生了错误: 1-因为IP层不做差错校验,所以第2台路由器通过广域网协议(HDLC、PPP等)收到数据后,只要数据链路层正常,它就无法得知收到的IP包是否正确,错误就会这么一直传递下去,至到PC2才被发现,然后再重传。

这过程浪费了网络带宽和中间若干路由器的资源。 2-如果IP可以实现差错校验的功能,那么到了第2台路由器时,路由器2就不会再继续发错误包了,错误就会终止。 不过现在网络传输的误码率都极低,所以IP层没必要再做一次校验!...

为什么IP数据报 TCPUDP段中只有首部校验和而以太网帧中是校

因为IP数据报每经过一个路由器,路由器都要重新计算校验和

(一些字段,比如生存时间、片偏移等可能发生变化);不校验数据部分,主要是为了减少软件计算量。为什么只能靠软件计算呢?因为路由拿到的IP报是包含了数据链路层封装的(比如以太),而且又不能直接将以太封装(如MAC地址)去掉——还需要用MAC地址来查找和维护地址表呢,假设要求IP报校验和,需要先“掐头去尾”,且要将“头”和“尾”保留,计算IP净荷的校验和,再将“头”和“尾”装回去,这么复杂的过程难以用硬件实现。至于由此带来的数据部分的可靠性问题,可以交由上层的传输层、和下层的数据链路层去校验。

以太帧会校验整个帧,帧的头尾没有其他需要保留的封装,所以其CRC校验可交给数据链路层的收发器硬件去实现,对软件的计算量影响不大。

TCP IP原理是什么

TCP/IP协议的工作流程如下:

●在源主机上,应用层将一串应用数据流传送给传输层。

●传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。

●在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。

●链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。

●在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。

●网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。

●传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。

●在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

以下为关联文档:

计算机网络数据库系统是什么网络数据库(Network Database)其含义有三个:①在网络上运行的数据库。②网络上包含其他用户地址的数据库。③信息管理中,数据记录可以以多种方式相互关联的一种数据库。网络数据...

计算机网络原理的计算题CRC校验和数据传输问题计算机网络原理的计算题(CRC校验和数据传输问题)第1题:设要发送的二进制数据为10110011,若采用CRC校验方法,生成多项式为X^4+X^3+1,度求出实际发送的二进制数字序列。(要求写出计算...

什么是Oracle数据库 Oracle数据库是什么Oracle应用产品包括财务、供应链、制造、项目管理、人力资源和市场与销售等150多个模块,荣获多项世界大奖,现已被全球近7600多家 企业所采用。由于在电子商务方面的杰出表现,Or...

大家都在讨论大数据数据到底是什么意思数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和...

在计算机中数据的最小单位是什么应该是“位”才对。 位 二进制数系统中,每个0或1就是一个位(bit),位是内存的最小单位。 字节 字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。 一个英文字母(不分大小写)...

什么叫大数据云计算数据的本质就是利用计算机集群来处理大批量的数据,大数据的技术关注点在于如何将数据分发给不同的计算机进行存储和处理。 云计算的本质就是将计算能力作为一种较小颗粒度...

什么是应用数据库?什么是数据库服务器应用数据库是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操...

excel社保基本信息表那个数据校验方块怎么弄的excel社保基本信息表那个数据校验方块怎么弄的,Excel怎么编辑校验公式实现自动检查错误:要做这个: 首先,要确保“开发工具”(2003以上版本)是显示在工具栏上的(显示方法:在Excel选项...

计算机中这些数据是什么意思计算机中这些数据是什么意思,移动数据是什么意思:技嘉(GIGA) 技嘉主板编号以“GA-”开头,其后紧跟数字和英文字母,用来区分具体主板的规格。编号是由“GA-”+“支持CPU类型”+“主...

推荐阅读
图文推荐