帧检测序列错误(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 – 端口无法连接网络
现象: 将电脑、电话、无线接入点或打印机插入墙壁上的网络插孔,而网络连接不正常。交换机端口的连接指示灯和网卡的连接指示灯都不亮。
原因: 若没有修复墙壁插孔上的网络连接,则时常会发生掉线或无法连接的问题。在许多企业中,只有那些经常使用的连接才被修复。当移动了办公室或会议室后,有时会发现那些不常使用的网络插孔并没有被测试过,或是那些无法连接的插孔可能是由于登记错误导致的。此外,交换机端口可能被强制关闭。
  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错误就必须作为严重问题来对待。

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

相关文档
最新文档