帧检测序列错误(FCS)

合集下载

MAC和PHY组成原理

MAC和PHY组成原理

MAC和PHY组成原理MAC(媒体访问控制)和PHY(物理层)都是在计算机网络中起关键作用的组件。

MAC负责控制数据的传输和流量,而PHY负责将数据从一个设备传输到另一个设备。

下面将详细介绍MAC和PHY的工作原理以及它们如何协同工作来实现高效和可靠的数据传输。

一、MAC(媒体访问控制)MAC层是OSI(开放系统互联)参考模型中的第二层,它负责处理数据帧的传输、接收和管理。

MAC层的功能包括以下几个方面:1.媒体接入控制:MAC层负责控制多个设备之间的资源共享。

当多个设备同时尝试发送数据时,MAC层通过其中一种算法来决定哪一个设备有权利访问共享媒体。

2.帧计时和同步:MAC层通过在数据帧中添加帧定界符和同步字,来保证数据的正确接收。

这些定界符和同步字帮助接收设备识别出帧的开始和结束。

3.帧封装和解封装:MAC层负责将上层的数据封装成数据帧,并附加必要的控制信息,如源地址、目的地址、帧校验序列等。

发送设备将数据帧发送给接收设备,接收设备根据MAC层的控制信息来解析和提取数据。

4.错误检测和纠正:MAC层使用帧校验序列(FCS)来检测数据帧是否传输正确。

接收设备会根据FCS来检验接收到的帧的完整性和准确性,并丢弃损坏的帧。

5.数据流量控制:MAC层根据网络的负载和流量情况来进行流量控制,以确保高效和可靠的数据传输。

当网络负载过高时,MAC层可以使用一些策略,如拥塞控制、流量限制等来降低网络拥塞,并避免数据丢失或性能下降。

二、PHY(物理层)PHY层是OSI参考模型中的第一层,它负责将数据从一个设备传输到另一个设备,主要涉及电信号、电压和物理介质等传输媒介。

PHY层的主要功能有以下几个方面:1.数据编码和解码:PHY层负责将数据从数字格式转换为模拟信号。

它将数字数据转换为电压、电流或光信号,以便在物理环境中传输。

接收设备则执行逆过程,将模拟信号转换为数字数据。

2.数据传输:PHY层根据具体的物理介质来传输数据。

帧详解——精选推荐

帧详解——精选推荐

帧详解数据链路层负责将位组合成字节,并将字节组合成帧。

帧被⽤在数据链路层,从⽹络层传递过来的数据包被封装成帧,以根据介质访问的类型进⾏传输。

以太⽹站点的功能是使⽤⼀组称为MAC帧格式的位,在站点之间传送数据帧。

在帧格式中,采⽤循环冗余校验(CRC)进⾏差错检测。

但记住,这是差错检测,不是差错纠正。

802.3帧结构前导8字节DA6字节SA6字节长度2字节数据FCS Etllernet帧结构前导8字节DA6字节SA6字节类型2字节数据FCS说明:将⼀个帧封装到不同类型的帧中,就称为隧道技术。

下⾯是802.3帧和Etllernet帧的各个字段的详细说明。

前导(PreambIe) 它采⽤交替为1和O的模式,在每个数据包的起始处提供5MHz的时钟信号,以允许接受设备锁定进⼊的⽐特流。

帧起始定界符/同步(start Fra1ne DeIimiter,SFD/synch) 前导为7字节,SFD为1字节(Synch)。

SFD为10101011,这⾥的最后⼀对1允许接收者进⼊中间某处的交替0、1模式中,却仍然能够同步并检测到数据的开始。

⽬的地址(Destination Address,DA) 它⾸先使⽤最低有效位(IEB)传送48位值。

接收⽅站点使⽤DA来决定⼀个进⼊的数据包是否被送往特定的节点。

⽬的地址可以是单独的地址,或者是⼴播或组播MAC地址。

记住,⼴播地址为全1(⼗六进制形式为全F)并被送往所有设备,但组播地址只被送往⽹络中节点的同类⼦集。

源地址(Source Address,SA) SA是48位的MAC地址,⽤来识别发送没备,它⾸先使⽤LSB。

在SA字段中,⼴播和组播地址格式是⾮法的。

长度(Length)或类型(Type) 802.3使⽤长度字段,但Ethernet帧使⽤类型字段来识别⽹络层的协议。

802.3不能识别上层协议,且必须与专⽤的LAN(⽐如IPX)⼀起使⽤。

数据(Data) 这是从⽹络层传送到数据链路层的数据包。

网络管理员常见问题以及解决方案

网络管理员常见问题以及解决方案

问题 1 –端口无法连接网络现象:将电脑、电话、无线接入点或打印机插入墙壁上的网络插孔,而网络连接不正常。

交换机端口的连接指示灯和网卡的连接指示灯都不亮。

原因:若没有修复墙壁插孔上的网络连接,则时常会发生掉线或无法连接的问题。

在许多企业中,只有那些经常使用的连接才被修复。

当移动了办公室或会议室后,有时会发现那些不常使用的网络插孔并没有被测试过,或是那些无法连接的插孔可能是由于登记错误导致的。

此外,交换机端口可能被强制关闭。

解决办法:检查和确认交换机端口是否已被激活,且网络连接已被修复过。

当任何设备被移动到办公室时,请务必对新的网络连接进行测试,确保他们能够正常工作。

就IP电话而言,也有可能是电话的电源供应不足。

问题 2 –无法获取到 IP地址现象:网络瘫痪或出现故障而不能正常运行。

操作系统可能会提示客户端当前无法从DHCP服务器获取到IP地址。

检查网卡的状态后,发现没有分配IP地址。

原因:没有收到来自DHCP服务器分配的IP地址。

DHCP服务器的IP地址耗尽、服务器的服务瘫痪了、终端设备可能被配置为使用静态IP地址而不是通过DHCP分配、终端设备的DHCP请求从来没有到达服务器端,这些都可能导致客户端无法获取到IP地址。

尤其是如果一个新的设备配置一个虚拟局域网(VLAN),没有建立与服务器的服务请求连接时,设备肯定不能获取到IP地址。

即将一个新设备配置到一个VLAN时,若没有将DHCP 请求中继到DHCP服务器,就会导致请求不能发送到DHCP服务器端。

解决办法:关键问题是多少用户出现了同样的问题,一个用户还是多个用户?如果只有一个用户受到影响,那么请确认该客户端的网络设置是否配置为使用动态主机配置协议(DHCP)。

下一步,检查交换机的端口被划分到哪个VLAN,检查属于该VLAN的其他设备能否获取到IP地址。

如果他们也不能获取到IP地址,问题原因可能是路由器没有将DHCP请求转发到DHCP服务器。

常见问题以及解决方案

常见问题以及解决方案

问题 1 –端口无法连接网络现象:将电脑、电话、无线接入点或打印机插入墙壁上的网络插孔,而网络连接不正常。

交换机端口的连接指示灯和网卡的连接指示灯都不亮。

原因:若没有修复墙壁插孔上的网络连接,则时常会发生掉线或无法连接的问题。

在许多企业中,只有那些经常使用的连接才被修复.当移动了办公室或会议室后,有时会发现那些不常使用的网络插孔并没有被测试过,或是那些无法连接的插孔可能是由于登记错误导致的。

此外,交换机端口可能被强制关闭.解决办法:检查和确认交换机端口是否已被激活,且网络连接已被修复过。

当任何设备被移动到办公室时,请务必对新的网络连接进行测试,确保他们能够正常工作。

就IP电话而言,也有可能是电话的电源供应不足。

问题 2 –无法获取到 IP地址现象:网络瘫痪或出现故障而不能正常运行。

操作系统可能会提示客户端当前无法从DHCP服务器获取到IP地址。

检查网卡的状态后,发现没有分配IP地址.原因:没有收到来自DHCP服务器分配的IP地址.DHCP服务器的IP地址耗尽、服务器的服务瘫痪了、终端设备可能被配置为使用静态IP地址而不是通过DHCP分配、终端设备的DHCP请求从来没有到达服务器端,这些都可能导致客户端无法获取到IP地址.尤其是如果一个新的设备配置一个虚拟局域网(VLAN),没有建立与服务器的服务请求连接时,设备肯定不能获取到IP地址。

即将一个新设备配置到一个VLAN时,若没有将DHCP 请求中继到DHCP服务器,就会导致请求不能发送到DHCP服务器端.解决办法:关键问题是多少用户出现了同样的问题,一个用户还是多个用户?如果只有一个用户受到影响,那么请确认该客户端的网络设置是否配置为使用动态主机配置协议(DHCP).下一步,检查交换机的端口被划分到哪个VLAN,检查属于该VLAN的其他设备能否获取到IP地址.如果他们也不能获取到IP地址,问题原因可能是路由器没有将DHCP请求转发到DHCP服务器。

帧校验序列码FCS

帧校验序列码FCS

帧校验序列码FCS在上位机与PLC通信中,为了更好的校验发送与接收的数据的准确性,⼀般都会加⼀位校验位,校验码的算法有多种,帧校验序列码FCS 就是其中的⼀种。

帧校验序列码FCS ( Frame Check Sequences)是为提⾼通信的可靠性设置的。

将每⼀帧中的第⼀个字符@到该帧中正⽂的最后⼀个ASCII 字符作“异或”运算, 并将异或的结果转换为两个ASCII码, 便得到了FCS , 它作为帧的⼀部分发送到接收端。

接收端计算出收到的帧的FCS , 如果与发送端传送过来的FCS 不同, 可以判定通信有误。

由于近段⼀直在做上位机与PLC有关的通信,了解了⼀些版本语⾔的FCS算法,在此提供⼀些代码供⼤家交流学习。

⾸先是VB写的FCS校验:Function fcs(ByVal inputstr As String) As StringDim slen, i, xorresult As IntegerDim tempfes As Stringslen = Len(inputstr) '求输⼊字符串长度xorresult = 0For i = 1 To slenxorresult = xorresult Xor Asc(Mid$(inputstr, i, 1)) '按位异或Next itempfes = Hex$(xorresult) '转化为16进制If Len(tempfes) = 1 Then tempfes = "0" + tempfesfcs = tempfesEnd Function由于我们的项⽬是c#写的,把VB版本的修改成c#了,代码如下:static string fcs(string data){int xorresult = 0;string tempfes = "";for (int i = 0; i < data.Length; i++){xorresult = xorresult ^ Convert.ToInt32(data[i]);}tempfes = Convert.ToString(xorresult, 16);if (tempfes.Length == 1){tempfes = "0" + tempfes;}return tempfes;}。

FCS(FrameCheckSequence)帧校验序列

FCS(FrameCheckSequence)帧校验序列

FCS(Frame Check Sequence)帧校验序列帧检验序列即frame check sequence让接收帧的网卡或接口判断是否发生了错误。

判断过程如下:发送网卡利用多项式计算,称循环冗余校验(CRC),将计算结果写入FCS字段,接收方收到这个帧,对其做相同的CRC计算。

如果计算结果与接收的FCS字段相同,则帧没有发生错误。

如果不同,接收方就相信帧肯定发生了错误,并丢弃这个帧。

侦校验:Frame Check Sequence:这个字段包括4字节循环冗余校检码(CRC)用于检查错误.当一个原站组装一个MAC帧,他在所有字节(从Destination MAC Address到Pad字段)执行一个CRC 计算,原站将计算的结果放入这个字段,并作为帧的一部分传输给目的站,当帧被目的站接受后,目的站进行同样的校检,如果校检和同字段中的值不同,目的站将认为在传输中发生错误并丢弃这个帧.*********************************************************************** *********************************************************************** ***************提供了三种实现方法。

方法一:按位计算CRC32校验码。

方法二:使用非翻转的查找表进行快速计算,按字节计算CRC32校验码。

但计算过程中有位翻转操作,计算速度慢。

方法三:使用翻转的查找表进行快速计算,按字节计算CRC校验码。

速度极快。

[cpp]view plaincopy1.#include <stdio.h>2.#include <stdlib.h>3.#include <io.h>4.5.6.7.8.#define alt_8 char9.#define alt_u8 unsigned char10.#define alt_32 int11.#define alt_u32 unsigned int12.#define alt_64 long long13.#define alt_u64 unsigned long long14.15.16.//位翻转函数17.alt_u64 Reflect(alt_u64 ref,alt_u8 ch)18.{19.int i;20. alt_u64 value = 0;21.for( i = 1; i < ( ch + 1 ); i++ )22. {23.if( ref & 1 )24. value |= 1 << ( ch - i );25. ref >>= 1;26. }27.return value;28.}29.30.31.//标准的CRC32多项式32.#define poly 0x04C11DB733.//翻转的CRC32多项式34.#define upoly 0xEDB8832035.36.37.38.alt_u32 crc32_bit(alt_u8 *ptr, alt_u32 len, alt_u32 gx)39.{40. alt_u8 i;41. alt_u32 crc = 0xffffffff;42.while( len-- )43. {44.for( i = 1; i != 0; i <<= 1 )45. {46.if( ( crc & 0x80000000 ) != 0 )47. {48. crc <<= 1;49. crc ^= gx;50. }51.else52. crc <<= 1;53.if( ( *ptr & i ) != 0 )54. crc ^= gx;55. }56. ptr++;57. }58.return ( Reflect(crc,32) ^ 0xffffffff );59.}60.61.62.63.64.65.66.alt_u32 Table1[256];67.alt_u32 Table2[256];68.69.70.71.72.// 生成CRC32 普通表 , 第二项是04C11DB773.void gen_direct_table(alt_u32 *table)74.{75. alt_u32 gx = 0x04c11db7;76. unsigned long i32, j32;77. unsigned long nData32;78. unsigned long nAccum32;79.for ( i32 = 0; i32 < 256; i32++ )80. {81. nData32 = ( unsigned long )( i32 << 24 );82. nAccum32 = 0;83.for ( j32 = 0; j32 < 8; j32++ )84. {85.if ( ( nData32 ^ nAccum32 ) & 0x80000000 )86. nAccum32 = ( nAccum32 << 1 ) ^ gx;87.else88. nAccum32 <<= 1;89. nData32 <<= 1;90. }91. table[i32] = nAccum32;92. }93.}94.95.96.// 生成CRC32 翻转表第二项是7707309697.void gen_normal_table(alt_u32 *table)98.{99. alt_u32 gx = 0x04c11db7;100. alt_u32 temp,crc;101.for(int i = 0; i <= 0xFF; i++)102. {103. temp=Reflect(i, 8);104. table[i]= temp<< 24;105.for (int j = 0; j < 8; j++)106. {107. unsigned long int t1,t2;108. unsigned long int flag=table[i]&0x80000000; 109. t1=(table[i] << 1);110.if(flag==0)111. t2=0;112.else113. t2=gx;114. table[i] =t1^t2 ;115. }116. crc=table[i];117. table[i] = Reflect(table[i], 32);118. }119.}120.121.122.123.alt_u32 DIRECT_TABLE_CRC(alt_u8 *ptr,int len, alt_u32 * ta ble)124.{125. alt_u32 crc = 0xffffffff;126. alt_u8 *p= ptr;127.int i;128.for ( i = 0; i < len; i++ )129. crc = ( crc << 8 ) ^ table[( crc >> 24 ) ^ (alt_u8 )Reflect((*(p+i)), 8)];130.return ~(alt_u32)Reflect(crc, 32) ;131.}132.133.134.135.136.alt_u32 Reverse_Table_CRC(alt_u8 *data, alt_32 len, alt_u32 * table)137.{138. alt_u32 crc = 0xffffffff;139. alt_u8 *p = data;140.int i;141.for(i=0; i <len; i++)142. crc = table[( crc ^( *(p+i)) ) & 0xff] ^ (crc >>8);143.return ~crc ;144.}145.146.147.148.//这是一个完整的以太网帧。

FCS讯框检查序列(Frame

FCS讯框检查序列(Frame

FCS
FCS訊框檢查序列(Frame Check Sequence, FCS)為32 位元CRC 檢查碼。

所謂的CRC錯誤就是指訊框(Frame->網路中傳輸的資料,在連結層中的最小單位)的FCS值與計算得到的FCS值不匹配,可能的原因為傳輸中的Frame被損壞所造成。

FCS是802.3訊框和Ethernet訊框的最後一個字段.
FCS是由DCS與PLC發展而來,FCS不僅具備DCS與PLC的特點,而且跨出了革命性的一步。

FCS的關鍵要點有三點:
1、FCS系統的核心是總線協議,即總線標準
2、FCS系統的基礎是數字智能現場裝置
3、FCS系統的本質是信息處理現場化
具體的FCS還要分各類校驗方法,如CRC校驗、XOR校驗、LRC校驗等,各個校驗方法也要細分,如CRC分16位的、32位的等。

我們說的FCS 校驗只是說明了這個位的數據是對這個訊框的序列做校驗,若想知道採用什麼校驗,需要給進一步的說明才可以。

最普遍的FCS算法是cyclic redundancy check (CRC), 用于與32 bits, X.25 16或32 bits, HDLC 16 or 32 bits, Frame Relay 16 bits。

网络管理人员经常遇到的十个问题及解决方法

网络管理人员经常遇到的十个问题及解决方法
原因: 没有对承载这些服务连接的交换机进行正确配置。也许在公司内部并没有沟通好配置哪些端口来支持新服务。
解决办法:通过测试,验证该端口支持哪些VLAN.若条件允许,使用一个VLAN标签生成特定VLAN的业务,检查这个端口上是否配置了VLAN.通过检查DHCP服务器提供的IP地址,来确定VLAN配置在了哪些端口上。另外,检查交换机的配置来验证VLAN配置。
问题 4 –VLAN配置错误
现象:当在网络上建立诸如无线宽带或IP电话的新服务时,通常要用VLAN来隔离其与其他用户间的流量。这就要求对承载这些服务的交换机端口配置正确的VLAN.如果VLAN配置不正确,那么这个服务可能无法正常运行。IP电话如果没有经来电管理设备注册授权过,那么连接到该电话的个人电脑可能就无法连接到关键服务器,或者无线用户可能没有获取到适于该无线环境的正确IP地址。
问题 3 – 无法连接到应用服务器
现象: 当用户试图打开一个应用程序时,系统可能会提示无法连接到该应用程序服务器。当使用电子邮件应用或客户关系管理(CRM)应用时可能会出现这种问题。反映到服务台的常见投诉是网络瘫痪了,而这可能并不是真正的原因。
原因: 许多原因都可能导致客户端无法连接到应用服务器。关键是需要询问用户这个问题是经常发生,还是断断续续发生?如果用户终端已获取了一个正确的IP地址,那么可能是用户和服务器间的路由有问题。这种情况下,可以通过一个简单的ping测试来验证。如果连接时断时续,则可能是由于服务器太繁忙,而不能及时响应客户端的请求所导致的。
问题 1 – 端口无法连接网络
现象: 将电脑、电话、无线接入点或打印机插入墙壁上的网络插孔,而网络连接不正常。交换机端口的连接指示灯和网卡的连接指示灯都不亮。
原因: 若没有修复墙壁插孔上的网络连接,则时常会发生掉线或无法连接的问题。在许多企业中,只有那些经常使用的连接才被修复。当移动了办公室或会议室后,有时会发现那些不常使用的网络插孔并没有被测试过,或是那些无法连接的插孔可能是由于登记错误导致的。此外,交换机端口可能被强制关闭。

HDLC帧格式

HDLC帧格式

HDLC的帧格式在HDLC中,数据和控制报文均以帧的标准格式传送。

HDLC中的帧类似于BSC的字符块,但BSC协议中的数据报文和控制报文是独立传输的,而HDLC中的命令应以统一的格式按帧传输。

HDLC的完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成.(1)标志字段(F)标志字段为01111110的比特模式,用以标志帧的起始和前一帧的终止。

标志字段也可以作为帧与帧之间的填充字符。

通常,在不进行帧传送的时刻,信道仍处于激活状态,在这种状态下,发方不断地发送标志字段,便可认为一个新的帧传送已经开始。

采用“0比特插入法”可以实现0数据的透明传输。

(2)地址字段(A)地址字段的内容取决于所采用的操作方式。

在操作方式中,有主站、从站、组合站之分。

每一个从站和组合站都被分配一个唯一的地址。

命令帧中的地址字段携带的是对方站的地址,而响应帧中的地址字段所携带的地址是本站的地址。

某一地址也可分配给不止一个站,这种地址称为组地址,利用一个组地址传输的帧能被组内所有拥有该组一焉的站接收。

但当一个站或组合站发送响应时,它仍应当用它唯一的地址。

还可用全“1”地址来表示包含所有站的地址,称为广播地址,含有广播地址的帧传送给链路上所有的站。

另外,还规定全“0”地址为无站地址,这种地址不分配给任何站,仅作作测试。

(3)控制字段(C)控制字段用于构成各种命令和响应,以便对链路进行监视和控制。

发送方主站或组合站利用控制字段来通知被寻址的从站或组合站执行约定的操作;相反,从站用该字段作对命令的响应,报告已完成的操作或状态的变化。

该字段是HDLC的关键。

控制字段中的第一位或第一、第二位表示传送帧的类型,HDLC中有信息帧(I帧)、监控帧(S帧)和无编号帧(U帧)三种不同类型的帧。

控制字段的第五位是P/F位,即轮询/终止(Poll/Final)位。

(4)信息字段(I)信息字段可以是任意的二进制比特串。

crc校验算法

crc校验算法
CRC的本质是模-2除法的余数,采用的除数不同,CRC的类型也就不一样。通常,CRC的除数用生成多项式来表示。最常用的CRC码的生成多项式如表1所示。
@@10A08800.GIF;表1.最常用的CRC码及生成多项式@@
由于CRC在通讯和数据处理软件中经常采用,笔者在实际工作中对其算法进行了研究和比较,总结并编写了一个具有最高效率的CRC通用程序库。该程序采用查表法计算CRC,在速度上优于一般的直接模仿硬件的算法,可以应用于通讯和数据压缩程序。
/* 以上为CRC除数的定义 */
#define NIL 0
#define crcupdate(d,a,t)*(a)=(*(a)<<8)^(t)[(*(a)>>8)^(d)];
#define crcupdate16(d,a,t)*(a)=(*(a)>>8^(t)[(*(a)^(d))&0x00ff])
/* 以上两个宏可以代替函数crcupdate和crcrevupdate */
#include<stdio.h>
#include<stdlib.h>
#include<alloc.h>
/* 函数crchware是传统的CRC算法,其返回值即CRC值 */
unsigned short crchware(data,genpoly,accum)
static short comb-val;
comb-val=(*accum>>8)^data;
*accum=(*accum<<8)^crctab[comb-val];
}
/* 函数crcrevhware是传统的CRC算法的反序算法,其返回值即CRC值 */

以太帧封装格式

以太帧封装格式

以太帧封装格式介绍以太帧封装格式是计算机网络中常用的数据帧封装格式之一。

在以太网的通信中,数据被分割成固定大小的帧,每个帧包含了源地址、目的地址、帧类型等信息。

以太帧封装格式定义了帧中各部分的格式和排列,使得网络设备能够正确地解析和处理数据。

本文将深入探讨以太帧封装格式的结构和应用。

以太帧封装格式的结构以太帧封装格式包含了以下几个字段:1.前导码(Preamble):一个7字节长的字段,用于同步接收方的时钟。

它由连续的0和1组成,以告知接收方数据的开始和结束。

2.目的地址(Destination Address):一个6字节长的字段,指示了帧的接收目标。

3.源地址(Source Address):一个6字节长的字段,指示了帧的发送源。

4.长度/类型(Length/Type):一个2字节长的字段,用于指示数据部分的长度或类型。

5.数据(Data):一个46-1500字节长的字段,用于携带实际数据。

6.填充(Pad):为了满足最小帧长度而添加的填充数据。

7.帧校验序列(FCS):一个4字节长的字段,用于检测帧中传输错误。

以太帧封装格式的传输流程以太帧封装格式在网络中的传输流程如下:1.发送方将待传输的数据根据以太帧封装格式进行封装,包括设置目的地址、源地址、长度/类型等字段的值。

2.发送方将封装好的帧通过物理介质发送给接收方。

3.接收方通过物理介质接收到帧后,根据以太帧封装格式进行解封,提取出目的地址、源地址、长度/类型等字段的值。

4.接收方根据解封得到的目的地址判断帧是否为自己的数据。

若是,则继续处理;否则,丢弃该帧。

5.接收方根据解封得到的长度/类型字段的值,将数据部分提取出来,进一步处理。

6.接收方进行数据处理后,可以进行相应的响应操作,如生成应答帧等。

7.接收方根据以太帧封装格式,将响应数据封装成帧,发送给发送方。

以太帧封装格式的应用场景以太帧封装格式在计算机网络中有着广泛的应用,特别是在以太网中。

帧的fcs字段

帧的fcs字段

帧的fcs字段帧的FCS字段是帧检验序列(Frame Check Sequence)的缩写,它在数据通信中起着非常重要的作用。

FCS字段通常用于错误检测,通过计算数据帧中的校验和,可以判断数据在传输过程中是否发生了错误。

本文将以帧的FCS字段为标题,详细介绍帧检验序列的作用、计算方法以及常见的错误检测算法。

一、帧检验序列的作用在数据通信中,数据往往需要通过传输介质进行传输,例如以太网中的数据帧就需要通过网线进行传输。

然而,在数据传输过程中,可能会受到各种干扰因素的影响,导致数据出现错误。

为了保证数据的可靠传输,需要在数据帧中添加一些冗余信息,以便接收方可以通过校验这些信息来判断数据是否出错。

帧检验序列(FCS)就是用于实现数据错误检测的一种方法。

发送方在发送数据帧之前,会对待发送数据进行计算,得到一个校验和,然后将这个校验和附加在数据帧的FCS字段中。

接收方在接收到数据帧之后,会对接收到的数据进行同样的计算,并将计算得到的校验和与接收到的FCS字段进行比较。

如果两者一致,说明数据没有出错;如果不一致,则说明数据帧中存在错误。

二、帧检验序列的计算方法帧检验序列的计算方法有很多种,常见的有循环冗余检测(CRC)算法和校验和算法。

1. 循环冗余检测(CRC)算法CRC算法是一种基于多项式除法的错误检测算法。

发送方在发送数据帧之前,首先需要选择一个生成多项式,然后将待发送数据帧与该生成多项式进行除法运算,得到一个余数。

这个余数就是帧检验序列,将其附加在数据帧的FCS字段中。

接收方在接收到数据帧之后,也需要利用相同的生成多项式进行除法运算,并将得到的余数与接收到的FCS字段进行比较。

2. 校验和算法校验和算法是一种简单的错误检测算法。

发送方在发送数据帧之前,需要将待发送数据帧中的每个字节进行相加,并将相加的结果取反。

这个结果就是帧检验序列,将其附加在数据帧的FCS字段中。

接收方在接收到数据帧之后,也需要将接收到的数据帧中的每个字节进行相加,并将相加的结果取反。

CRC 循环冗余码校验 FCS帧检验序列 错误帧检验 帧排列顺序检验

CRC 循环冗余码校验    FCS帧检验序列  错误帧检验 帧排列顺序检验

CRC 循环冗余码校验 FCS帧检验序列错误帧检验帧排列顺序检验CRC 循环冗余码校验 FCS帧检验序列错误帧检验帧排列顺序检验CRC循环冗余码校验&FCS帧检验序列(错误帧检验帧排列顺序检验)2011-04-0710:13循环冗余码校验英文名称为CyclicalRedundancyCheck,简称CRC。

它是利用除法及余数的原理来作错误侦测(ErrorDetecting)的。

实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。

根据应用环境与习惯的不同,CRC又可分为以下几种标准:?CRC-12码;?CRC-16码;?CRC-CCITT码;?CRC-32码。

CRC-12码通常用来传送6-bit字符串。

CRC-16及CRC-CCITT码则用是来传送8-bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。

CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。

下面以最常用的CRC-16为例来说明其生成过程。

CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或(异或:二进制运算相同为0,不同为1;0^0=0;0^1=1;1^0=1;1^1=0),之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。

重复上述的由高至低的-bit数据处理完毕,用此时CRC寄存器的值与下一个8-移位8次,第一个8 bit数据异或并进行如前一个数据似的8次移位。

所有的字符处理完成后CRC 寄存器内的值即为最终的CRC值。

下面为CRC的计算过程:1.设置CRC寄存器,并给其赋值FFFF(hex)。

HDLC的基本原理和应用场景

HDLC的基本原理和应用场景

HDLC的基本原理和应用场景1. HDLC简介HDLC(High-level Data Link Control)是一种数据链路层协议,用于在计算机网络中进行数据的传输和错误检测。

它是一种面向比特的协议,通过帧的形式将数据从发送方传输到接收方,并提供可靠的数据传输和流量控制。

2. HDLC的基本原理•帧结构:HDLC使用帧来传输数据,每个帧由开始标志、地址域、控制域、信息域、FCS(Frame Check Sequence)和结束标志组成。

开始标志和结束标志用于标识一个帧的开始和结束,地址域用于标识帧的接收方,控制域用于设置帧的控制信息,信息域用于传输数据,FCS用于检测错误。

•流量控制:HDLC支持两种流量控制机制,一种是基于窗口的流量控制,另一种是基于令牌的流量控制。

基于窗口的流量控制通过发送方和接收方的窗口大小来控制数据的发送和接收速率。

基于令牌的流量控制则是通过发送方和接收方之间的令牌来控制数据的发送和接收。

•错误检测:HDLC使用循环冗余检测(CRC)来检测数据传输过程中的错误。

发送方在发送数据之前,会计算数据的CRC值,并将CRC值添加到帧的FCS字段中。

接收方在接收到数据后,会重新计算CRC值,并与接收到的CRC值进行比较,如果两者不一致,则说明数据传输过程中发生了错误。

•可靠性:HDLC提供了可靠的数据传输机制,通过使用确认帧和重传机制来确保数据的正确接收。

发送方在发送完所有的帧之后,会等待接收方的确认帧,如果接收方收到了正确的数据,就会发送一个确认帧给发送方。

如果发送方在一定的时间内没有收到接收方的确认帧,就会重新发送帧。

3. HDLC的应用场景HDLC广泛应用于各种计算机网络中,包括局域网、广域网和数据中心网络等。

以下是一些HDLC的应用场景:•串口通信:HDLC常用于串口通信中,通过串口将数据传输到其他设备。

HDLC通过帧的形式传输数据,提供了可靠的数据传输和流量控制,适用于不同设备之间的通信。

fcs的名词解释

fcs的名词解释

fcs的名词解释FCS(Fiber Channel over Ethernet,光纤通道以太网)是一种网络协议,用于在以太网上传输光纤通道帧。

它的出现可以追溯到当时企业内部大规模数据中心的需求。

在传统的数据中心中,存储和计算设备都是独立的,并通过专用的光纤通道网络互连。

然而,这种架构存在一些问题,比如成本高、复杂性高、维护难度大等。

因此,人们开始寻找一种更经济、更简化的解决方案。

FCS通过将光纤通道协议封装在以太网帧中,实现了在以太网上传输光纤通道帧的能力。

这样一来,存储和计算设备可以共享以太网基础设施,简化了网络架构,降低了成本。

此外,在传统光纤通道中,为了支持存储和计算的高速互连,需要使用专用的光纤介质和交换机。

而在FCS中,存储和计算设备可以直接使用现有的以太网设备,无需额外的投资。

FCS的关键特性之一就是低延迟。

对于存储和计算应用来说,低延迟非常重要,因为它直接影响到数据的响应时间和吞吐量。

FCS通过优化传输协议、减少协议的层次以及使用专门的硬件加速技术,实现了低延迟的性能。

另一个重要特性是可扩展性。

现代的数据中心需要支持大规模的存储和计算设备,因此网络架构必须具备良好的可扩展性。

FCS通过在以太网上实现光纤通道帧的传输,可以利用以太网的高带宽和灵活性,轻松实现横向扩展。

此外,FCS还支持多路径技术,可以提高网络的容错能力和带宽利用率。

此外,FCS还具备安全性和可靠性。

由于存储和计算设备之间的通信可能涉及敏感数据,因此安全性是一个重要考虑因素。

FCS通过支持安全传输协议和身份验证机制,保护了数据的机密性和完整性。

同时,FCS还提供了错误检测和纠正机制,确保数据的可靠传输。

总的来说,FCS作为一种网络协议,提供了一种经济、简化、低延迟、可扩展、安全和可靠的解决方案,适用于大规模数据中心的存储和计算需求。

随着云计算和大数据时代的到来,FCS将继续发挥重要作用,推动数据中心架构的演进和创新。

FCS_ERR告警

FCS_ERR告警

FCS_ERR告警告警解释本内容介绍华为SDH设备OSN系列产品FCS_ERR告警产生原因及其处理方法。

该告警为FCS(Frame Check Sequence)校验出错告警。

本端对接收的GFP格式封装的帧进行FCS校验,若校验出错,则上报该告警。

当本端接收的业务为GFP业务时,该告警才可能上报。

因为IDLE帧中缺少FCS字段,若检测到GFP封装的IDLE帧,也会导致FCS校验出错。

告警属性告警参数在网管中浏览告警时,选中该告警,在“告警详细信息”中会显示该告警的相关参数。

告警参数的格式为“告警参数(16 进制):参数1 参数2…参数n”。

每个参数的含义说明参见下表。

对系统的影响∙若是因为封装协议不一致而引起该告警,则业务中断。

∙若是因为系统中存在误码而引起该告警,则业务会丢包或中断。

常见故障现象若可能原因无对应故障现象,或者故障现象不在本内容列举的故障现象内,请按“处理步骤”中推荐的操作顺序处理。

告警FCS_ERR产生的常见故障现象如表1所示。

可能原因告警FCS_ERR产生的可能原因如下:∙原因1:两端封装协议参数设置不一致。

∙原因2:业务传输光路性能劣化。

∙原因3:单板故障。

处理步骤1.在网管上查询告警。

根据告警参数确定上报告警的VCTRUNK编号。

2.原因1:两端封装协议参数设置不一致。

a.本端和对端采用的“映射协议”不一致,如本端采用“GFP”封装,对端采用“LAPS”封装。

或者协议参数的内容设置等不一致,如:当两端均为GFP封装,本端的“扩展头选项”设置为“Yes”,对端的“扩展头选项”设置为“No”,均会导致FCS_ERR上报。

b.查询本端和对端上报告警的VCTRUNK端口封装协议,以及协议的参数内容设置是否一致,如是否“扰码”、是否“CRC取反”等。

c.查询告警是否消除。

若告警未消除,转3。

3.原因2:业务传输光路性能劣化。

a.光纤连接器松动,光纤连接器不清洁,光缆故障,光路传输中部件接触不良等,均会造成传输性能劣化。

常见问题以及解决方案

常见问题以及解决方案

问题 1 –端口无法连接网络现象:将电脑、电话、无线接入点或打印机插入墙壁上的网络插孔,而网络连接不正常。

交换机端口的连接指示灯和网卡的连接指示灯都不亮。

原因:若没有修复墙壁插孔上的网络连接,则时常会发生掉线或无法连接的问题。

在许多企业中,只有那些经常使用的连接才被修复。

当移动了办公室或会议室后,有时会发现那些不常使用的网络插孔并没有被测试过,或是那些无法连接的插孔可能是由于登记错误导致的。

此外,交换机端口可能被强制关闭。

解决办法:检查和确认交换机端口是否已被激活,且网络连接已被修复过。

当任何设备被移动到办公室时,请务必对新的网络连接进行测试,确保他们能够正常工作。

就IP电话而言,也有可能是电话的电源供应不足.问题 2 –无法获取到 IP地址现象:网络瘫痪或出现故障而不能正常运行。

操作系统可能会提示客户端当前无法从DHCP服务器获取到IP地址。

检查网卡的状态后,发现没有分配IP地址。

原因:没有收到来自DHCP服务器分配的IP地址.DHCP服务器的IP地址耗尽、服务器的服务瘫痪了、终端设备可能被配置为使用静态IP地址而不是通过DHCP分配、终端设备的DHCP请求从来没有到达服务器端,这些都可能导致客户端无法获取到IP地址。

尤其是如果一个新的设备配置一个虚拟局域网(VLAN),没有建立与服务器的服务请求连接时,设备肯定不能获取到IP地址.即将一个新设备配置到一个VLAN时,若没有将DHCP 请求中继到DHCP服务器,就会导致请求不能发送到DHCP服务器端。

解决办法:关键问题是多少用户出现了同样的问题,一个用户还是多个用户?如果只有一个用户受到影响,那么请确认该客户端的网络设置是否配置为使用动态主机配置协议(DHCP).下一步,检查交换机的端口被划分到哪个VLAN,检查属于该VLAN的其他设备能否获取到IP地址。

如果他们也不能获取到IP地址,问题原因可能是路由器没有将DHCP请求转发到DHCP服务器。

网络中最常见的10种错误及解决办法

网络中最常见的10种错误及解决办法
-解决问题-更换或停用不能连接的链路,故障清除后再全部测试处置过的链路。
问题1:逮捕那些物理层的滥用者
-用户抱怨-不能登录或时断时续
-症状-只影响一个工作站,而该站原先没有问题
-查找问题-电缆终端链路过长。用户每天都移动、弯曲、连接和切断网络终端(尤其是膝上型笔记本电脑)。廉价的电缆测试仪就能检查这种问题。在你能确切地说是电缆的问题之前,通常首先考虑不是电缆问题。这需要使用网络测试工具来验证本地网段的健康状况是否良好,集线器端口功能是否正常,网卡及其驱动程序工作是否良好。最后检查网络互连设备是否有问题。只有此时你才会知道为了孤立有问题的终端、断开的连接器或是接地回路等问题,该从何处着手测试电缆。在同轴线网络中,搜寻在同轴“t型头”和网卡之间的断头。在utp网络中,连续运行仪器的接线图测试功能,不断扭动终端以识别接触不良或短路。
-症状-个别网段的所有工作站对不论是本网段的服务器还是其它网段的服务器都无反应
-查找问题- 在高峰时段将网络测试仪连接到该网段。运行该网段的网络健康测试,注意观察网络的利用率、碰撞、错误帧、广播帧的状况,此时可能看到平均碰撞率不正常,观察到的流量中可能有高达50%是碰撞帧碎片。这是帧信号收发错误--sql(signal quality error)的表现。“心跳”信号被不经意地停留在“博”的位置。
问题3:无效的看门狗
-用户抱怨-不能连接novell网络的netware远端服务器
-症状-影响本网段内与服务器相连的所有工作站
-查找问题-检查网段的健康状况,注意观察其利用率、碰撞、错误帧和广播帧水平。此时可观察到大量的碰撞或错误帧,该碰撞或错误帧可引起客户机和服务器之间“hello”帧出现延迟。在某一指定的服务器所在的远端网段重复此测试。如果两个网段都出现空白,用网络测试仪向路由器中的snmp代理查询,检查两个网段之间的路径表。确定该路径不存在拥挤问题。为了有效地使用资源,在看门狗允许的时间内如果客户机对“hello”帧无反应,则novell服务器会将该客户机注销。

帧检测序列错误(FCS)

帧检测序列错误(FCS)

帧检测序列错误(FCS)FCS是802.3帧和Ethernet帧的最后一个字段(4字节).帧校验序列(FCS)是指特别的检测码字符被添加到在一个通信协议中的帧中进行检错和纠错。

发送主机在整个帧中有一个检测码随着发送。

接收主机在整个帧中的检测码使用相同的运算法则,并将它与接收到的 FCS 相比较。

这样,它能够探测是否任何数据在运输中丢失或被改变。

它可能当时丢失这个数据,和请求错误帧的重传。

一个循环冗余码校验常被用来估算 FCS。

FCS 字段—包含帧的 32 位循环冗余校验 (CRC), 数据链路层帧方式接入协议(LAPF)中的字段,是一个 16 比特的序列。

它具有很强的检错能力,它能检测出在任何位置上的 3 个以内的错误、所有的奇数个错误、16 个比特之内的连续错误以及大部分的大量突发错误。

据信而泰科技的经验表明:一个符合长度但FCS错误的信息包可能有几种可能的问题。

问题可能是延迟碰撞,坏的网卡或驱动器,电缆,集线器或是噪声等。

一般而言,主要是物理链路层的错误引起的。

比如:1、阻容匹配不合适,电阻值偏大或偏小,电容型号的匹配都会造成FCS错误的产生。

还有电阻电容的错焊或者漏焊以及虚焊都容易造成这种问题。

2、PCB线路的设计问题,尤其是千兆以太网的PCB设计,千兆信号的对信号质量要求很高,如果线路排列不合理,会造成线间串扰,影响信号质量。

3、FCS错误主要发生在PHY与RJ45接口之间的链路上,所以出现FCS错一定需要排查PHY与RJ45之间的错焊、漏焊、虚焊等问题。

4、在一些设备生产厂遇到FCS错误出现的问题,也可能是由于使用的物理连接介质质量太差造成的(千兆以太网对网线的要求至少是超5类线缆),还包括RJ45的水晶头的制造(制作)工艺。

5、FCS错误的出现,我们可以通过使用以太网测试仪来检测到,通过强压力的冲击,容易暴露一些错焊,虚焊的问题。

如果有1%以上的帧是FCS错误就必须作为严重问题来对待。

OSN1500设备FCSErrors以太网性能事件

OSN1500设备FCSErrors以太网性能事件

性能事件解释FCSErrors事件表示本端收到的FCS校验错误的以太网数据帧数目,不包括超长帧和超短帧。

包含FCSErrOv、FCSErrUd,分别表示校验错误数超过上限和低于下限。

性能事件属性性能事件ID性能事件类型FCSErrOv:0x0133以太网性能事件FCSErrUd:0x0134对系统的影响大部分单板会丢弃FCS校验错误的报文,严重时会造成OSN1500业务中断。

产生原理和可能原因该性能事件统计项产生的可能原因如下:原因1:本端和对端端口工作模式不匹配。

如一端为全双工,另一端为半双工。

原因2:传输线路质量较差,存在误码。

原因3:本端OSN1500设备单板硬件故障。

操作步骤原因1:本端和对端端口工作模式不匹配。

如果出现FCSErrOv性能事件,在网管上查询两端设备端口的工作模式是否匹配。

若不匹配,请根据实际情况调整端口的工作模式。

原因2:传输线路质量较差,存在误码。

如果出现FCSErrOv性能事件,检查本端是否上报因外部线路破损、衰减过大引起的ETH_LOS,误码类告警B3_EXC_VC3等。

若存在,参见相关告警处理。

原因3:本端单板硬件故障。

如果出现FCSErrOv性能事件,检查单板是否上报HARD_BAD等标识单板或芯片故障的告警。

若存在,参见相关告警处理。

如果出现FCSErrUd性能事件,则提醒用户该性能统计值已恢复正常。

检查下界门限值设置是否为0,若为非0值,可将下界门限设低以消除性能事件。

参考信息对于4.0平台,RMON统计数值越限后上报告警;对于5.0平台,RMON统计数值越限后上报事件。

性能事件有两种类型:性能统计值超过上限事件,性能统计值低于下限事件。

RMON的性能项均为越限事件,即判断在一个采样周期内的统计计数是否超过了门限。

采样周期可以设置,默认为10s。

上门限阈值性能事件名称FCSErrOv GE:9100Mbit/s:110Mbit/s:1说明:FCSErrUd性能事件的下门限阈值默认为0,用户可根据实际业务状态设置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

帧检测序列错误(FCS)
FCS是802.3帧和Ethernet帧的最后一个字段(4字节).
帧校验序列(FCS)是指特别的检测码字符被添加到在一个通信协议中的帧中进行检错和纠错。

发送主机在整个帧中有一个检测码随着发送。

接收主机在整个帧中的检测码使用相同的运算法则,并将它与接收到的 FCS 相比较。

这样,它能够探测是否任何数据在运输中丢失或被改变。

它可能当时丢失这个数据,和请求错误帧的重传。

一个循环冗余码校验常被用来估算 FCS。

FCS 字段—包含帧的 32 位循环冗余校验 (CRC), 数据链路
层帧方式接入协议(LAPF)中的字段,是一个 16 比特的序列。

它具有很强的检错能力,它能检测出在任何位置上的 3 个以内的错误、所有的奇数个错误、16 个比特之内的连续错误以及大部分的大量突发错误。

据信而泰科技的经验表明:一个符合长度但FCS错误的信息包可能有几种可能的问题。

问题可能是延迟碰撞,坏的网卡或驱动器,电缆,集线器或是噪声等。

一般而言,主要是物理链路层的错误引起的。

比如:1、阻容匹配不合适,电阻值偏大或偏小,电容型号的匹配都会造成FCS错误的产生。

还有电阻电容的错焊或者漏焊以及虚焊都容易造成这种问题。

2、PCB线路的设计问题,尤其是千兆以太网的PCB设计,千兆信号的对信号质量要求很高,如果线路排列不合理,会造成线间串扰,影响信号质量。

3、FCS错误主要发生在PHY与RJ45接口之间的链路上,所以出
现FCS错一定需要排查PHY与RJ45之间的错焊、漏焊、虚焊等问题。

4、在一些设备生产厂遇到FCS错误出现的问题,也可能是由于使用的物理连接介质质量太差造成的(千兆以太网对网线的要求至少是超5类线缆),还包括RJ45的水晶头的制造(制作)工艺。

5、FCS错误的出现,我们可以通过使用以太网测试仪来检测到,通过强压力的冲击,容易暴露一些错焊,虚焊的问题。

如果有1%以上的帧是FCS错误就必须作为严重问题来对待。

因为它严重影响网络的吞吐量。

相关文档
最新文档