以太网报文使用什么校验方法?

如题所述

以太网报文使用最简单的校验、奇偶校验、BCC异或校验法、LRC纵向冗余校验、CRC循环冗余校验等数据校验方法。

1、最简单的校验

最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。

例如:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。

2、奇偶校验(Parity Check)

在数据存储和传输中,字节中额外增加一个比特位,用来检验错误,校验位可以通过数据位异或计算出来。

应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

3、BCC异或校验法(block check character,块校验码)

很多基于串口的通讯都用这种既简单又相当准确的方法,它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

4、LRC纵向冗余校验(Longitudinal Redundancy Check)

实现方式:将ASCII码帧中的头和尾去掉,将串中的每个字节变成16进制相加,再将结果取反加1(补码),就是VRC(vertical Redundant Code,垂直冗余码)了。应用例子:在行列格式中(如磁带)。

5、CRC(Cyclic Redundancy Check,循环冗余校验)循环冗余校验

它是利用除法及余数的原理来做错误侦测(Error Detecting)的,实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。

温馨提示:答案为网友推荐,仅供参考
相似回答