CRC与FCS的区别和联系

简介: CRC与FCS的区别和联系

CRC

循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。


关于CRC需要注意:


1.CRC只能检错,不能纠错。但是海明码校验既能检错也能纠错。

2.CRC能够实现无比特差错传输,但是他不是可靠传输(无传输差错)

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。


“无传输差错”和“无比特差错”不一样,无传输差错包含无比特差错


传输差错分为两大类


1.比特差错


2.传输差错:帧丢失,帧重复,帧失序等


发送方连续传送三个帧:[#1]-[#2]-[#3]


帧丢失:收到[#1]-[#3](丢失[#2])


帧重复:收到[#1]-[#2]-[#2]-[#3](收到两个[#2])


帧失序:收到[#1]-[#3]-[#2](后发送的帧先到达接收端)


关于CRC(循环冗余校验)的计算方法我放到这里,这里不做重点讲解

http://t.csdn.cn/hOSL8


FCS

FCS:Frame Check Sequence(帧校验序列),俗称帧尾,即计算机网络数据链路层的协议数据单元(帧)的尾部字段,是一段4个字节的循环冗余校验码。


源节点发送数据帧时,由帧的帧头和数据部分计算得出FCS,目的节点接收到后,用同样的方式再计算一遍FCS,如果与接收到的FCS不同,则认为帧在传输过程中发生了错误,从而选择丢弃这个帧。

FCS提供了一种错误检测机制,用来验证帧在传输过程中的完整性。


CRC和FCS的区别

1.CRC是一种差错检验方法;而FCS是帧校验序列,即冗余码;


2.FCS是冗余码,它可以通过CRC得到,也可以通过其他差错检测方法得到。


目录
相关文章
|
算法 SDN C++
以太网帧FCS校验:CRC32的三种实现
这篇文章讨论了CRC32校验码的三种实现方法,用于检测网络通信中的数据错误。首先介绍了基础的按位计算方法,虽然直观但效率低。接着,文章提出了使用非翻转查找表和翻转查找表的快速计算方法,后者在性能上更优。文中提供了C++代码示例,展示如何生成和使用这些查找表。最后,指出在实际应用中,应根据性能需求选择合适的方法。
|
网络性能优化 网络架构
X.25,帧中继(FR),ATM三种分组交换系统
X.25,帧中继(FR),ATM三种分组交换系统
3543 0
|
定位技术 数据处理
ptp 时钟同步
ptp 时钟同步
1388 0
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
2348 3
|
存储 网络协议 大数据
一文读懂RDMA: Remote Direct Memory Access(远程直接内存访问)
该文档详细介绍了RDMA(远程直接内存访问)技术的基本原理、主要特点及其编程接口。RDMA通过硬件直接在应用程序间搬移数据,绕过操作系统协议栈,显著提升网络通信效率,尤其适用于高性能计算和大数据处理等场景。文档还提供了RDMA编程接口的概述及示例代码,帮助开发者更好地理解和应用这一技术。
|
Linux 虚拟化 Windows
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
这篇文章提供了解决VMware Tools无法重新安装(显示为灰色)问题的步骤,并介绍了如何在CentOS 8上创建和配置VMware共享文件夹。
完美解决:重新安装VMware Tools灰色。以及共享文件夹的创建(centos8)
|
数据中心 机器学习/深度学习 大数据
|
关系型数据库 MySQL 数据安全/隐私保护
mysql 5.7安装详细步骤(图片+文字,图片为主)【软件安装+环境配置】
mysql 5.7安装详细步骤(图片+文字,图片为主)【软件安装+环境配置】
456 0
mysql 5.7安装详细步骤(图片+文字,图片为主)【软件安装+环境配置】

热门文章

最新文章