CN116346280A - 生成、处理以太帧的方法、装置、设备、系统及存储介质 - Google Patents
生成、处理以太帧的方法、装置、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN116346280A CN116346280A CN202210023650.2A CN202210023650A CN116346280A CN 116346280 A CN116346280 A CN 116346280A CN 202210023650 A CN202210023650 A CN 202210023650A CN 116346280 A CN116346280 A CN 116346280A
- Authority
- CN
- China
- Prior art keywords
- field
- ethernet frame
- protection
- information
- location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 238000012545 processing Methods 0.000 title claims abstract description 80
- 238000012795 verification Methods 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 125000004122 cyclic group Chemical group 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 24
- 206010009944 Colon cancer Diseases 0.000 description 33
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种生成、处理以太帧的方法、装置、设备、系统及存储介质,属于通信领域。生成以太帧的方法包括:生成包括保护字段的以太帧,保护字段的保护范围包括以太帧中的目的MAC地址字段。处理以太帧的方法包括:接收以太帧中的多个字节,多个字节包括目的MAC地址字段的信息和保护字段的信息;基于保护字段的信息校验保护字段的保护范围内的信息。其中,保护字段在以太帧中的位置位于以太帧的FCS字段在以太帧中的位置之前。生成的以太帧中包括保护字段,以CTF方式发送以太帧的字节时,可通过保护字段对目的MAC地址进行校验,避免错误的目的MAC地址的数据被转发,以此来提高CTF转发可靠性。
Description
本申请要求于2021年12月22日提交的申请号为202111576632.9、发明名称为“生成以太帧的方法、设备、网络系统、计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请实施例中。
技术领域
本申请涉及通信领域,尤其涉及一种生成、处理以太帧的方法、装置、设备、系统及存储介质。
背景技术
在通信领域,通过以太网链路传输的数据包称作以太包(Ethernet packet)。以太包起始部分包括前导码(preamble)和帧起始定界符(start of frame delimiter,SFD)字段,之后包括以太帧(Ethernet Frame)和帧间隙(inter-packet gap,IPG)。其中,以太帧包括目的媒体接入控制(media access control,MAC)地址字段和源MAC地址字段。以太帧的中部是该帧负载(payload)字段,包含其他协议报头的数据包。以太帧由帧校验序列(framecheck sum,FCS)字段结尾,该FCS字段用于检验数据传输是否出现损坏。
在以太网应用中,正常转发操作需要收齐整个以太帧并完成FCS校验通过后进行,所以时延受以太帧长度影响较大。对此,直通转发(cut-through forwarding,CTF)技术应运而生。CTF避免了以太帧长度对转发时延的影响。但如果误码出现在目的MAC地址字段,则会将以太帧转向错误地址,影响系统整体可靠性。
发明内容
本申请提出一种生成、处理以太帧的方法、装置、设备、系统及存储介质,用于解决以太帧传输可靠性的问题。
第一方面,提供了一种生成以太帧的方法,所述方法包括:生成以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
生成的以太帧中包括保护字段,由于保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则以CTF方式发送以太帧的字节时,可通过保护字段对目的MAC地址进行校验,避免错误的目的MAC地址的数据被转发,以此来提高CTF转发可靠性。
在一种可能的实现方式中,所述保护字段在所述以太帧中的位置基于目标字段的位置确定,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。通过位置位于保护字段在以太帧中的位置之前的目标字段来确定保护字段的位置,灵活性较高。
在一种可能的实现方式中,所述目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置。
在一种可能的实现方式中,所述保护范围还包括源MAC地址字段和/或以太类型字段。保护范围除了包括目的MAC地址,还包括源MAC地址字段和/或以太类型字段,使得保护更加全面。
在一种可能的实现方式中,所述以太帧还包括至少一个标签字段。
在一种可能的实现方式中,所述保护范围还包括所述至少一个标签字段。由于保护范围还包括至少一个标签字段,使得保护更加全面。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
通过将保护范围内的信息经过CRC或者FEC码计算得到的信息作为保护字段的信息,进而基于该保护字段的信息可对保护范围内的信息进行校验,提高以太帧传输的可靠性。
在一种可能的实现方式中,所述保护字段位于所述以太帧中的负载字段中。或者,保护字段与以太帧中的负载字段相互独立,也即保护字段与负载字段属于两个不同的字段。
在一种可能的实现方式中,所述生成以太帧之后,还包括:发送所述以太帧。
第二方面,提供了一种处理以太帧的方法,所述方法包括:接收以太帧中的多个字节,所述多个字节包括目的媒体接入控制MAC地址字段的信息和保护字段的信息;基于所述保护字段的信息校验所述保护字段的保护范围内的信息,所述保护范围包括所述目的MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
在接收到以太帧的多个字节后,由于该多个字节包括保护字段,且保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则可通过保护字段对目的MAC地址字段进行保护,避免错误的目的MAC地址的数据被转发,以此来提高以太帧的转发可靠性。
在一种可能的实现方式中,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之后,还包括:响应于所述保护范围内的信息通过校验,基于所述目的MAC地址字段的信息转发所述多个字节。
由于保护范围内的信息通过验证,保护范围内的信息未发生错误,因而基于目的MAC地址字段的信息转发该多个字节,保证了转发的可靠性。
在一种可能的实现方式中,响应于保护范围内的信息未通过校验,丢弃以太帧。由于保护范围内的信息未通过验证,也即保护范围内的信息可能发生错误,因而将其丢弃,避免后续设备接收到错误信息。
在一种可能的实现方式中,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之后,还包括:响应于所述保护范围内的信息未通过校验,接收到所述以太帧的全部字节后,基于所述FCS字段的信息校验所述以太帧;响应于所述以太帧通过校验,基于所述目的MAC地址字段的信息转发所述以太帧。
由于保护范围内的信息未通过验证,保护范围内的信息可能发生错误,因而暂停转发,可继续接收以太帧的剩余字节,待以太帧的全部字节接收完毕后,基于FCS字段的信息对以太帧进行校验,如果以太帧通过校验,再继续基于目的MAC地址字段的信息转发该以太帧。该种情况下,虽然是以太帧全部接收到之后再整体转发,相比CTF方式增加了时延,但确保了以太帧的准确性,进而保证了以太帧转发的可靠性。
在一种可能的实现方式中,响应于保护范围内的信息未通过校验,接收到以太帧的全部字节后,基于FCS字段的信息校验以太帧;响应于以太帧未通过校验,丢弃以太帧。
由于保护范围内的信息未通过验证,保护范围内的信息可能发生错误,因而暂停转发,可继续接收以太帧的剩余字节,待以太帧的全部字节接收完毕后,基于FCS字段的信息对以太帧进行校验。由于以太帧还是未通过校验,将以太帧丢弃,避免后续设备接收到错误信息。
在一种可能的实现方式中,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之前,还包括:
基于目标字段的位置确定所述保护字段在所述以太帧中的位置,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
在一种可能的实现方式中,所述目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置;
所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之前,还包括:
基于所述以太类型字段确定所述保护字段在所述以太帧中的位置。
在一种可能的实现方式中,所述保护范围还包括源MAC地址字段和/或以太类型字段。
在一种可能的实现方式中,所述以太帧还包括至少一个标签字段。
在一种可能的实现方式中,所述保护范围还包括所述至少一个标签字段。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
在一种可能的实现方式中,所述保护字段位于所述以太帧中的负载字段中。
第三方面,提供了一种生成以太帧的装置,所述装置包括:
生成模块,用于生成以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
在一种可能的实现方式中,所述保护字段在所述以太帧中的位置基于目标字段的位置确定,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
在一种可能的实现方式中,所述目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置。
在一种可能的实现方式中,所述保护范围还包括源MAC地址字段和/或以太类型字段。
在一种可能的实现方式中,所述以太帧还包括至少一个标签字段。
在一种可能的实现方式中,所述保护范围还包括所述至少一个标签字段。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
在一种可能的实现方式中,所述保护字段位于所述以太帧中的负载字段中。
在一种可能的实现方式中,所述装置,还包括:
发送模块,用于发送所述以太帧。
第四方面,提供了一种处理以太帧的装置,所述装置包括:
接收模块,用于接收以太帧中的多个字节,所述多个字节包括目的媒体接入控制MAC地址字段的信息和保护字段的信息;
校验模块,用于基于所述保护字段的信息校验所述保护字段的保护范围内的信息,所述保护范围包括所述目的MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
在一种可能的实现方式中,所述装置,还包括:
第一转发模块,用于响应于所述保护范围内的信息通过校验,基于所述目的MAC地址字段的信息转发所述多个字节。
在一种可能的实现方式中,所述校验模块,还用于响应于所述保护范围内的信息未通过校验,接收到所述以太帧的全部字节后,基于所述FCS字段的信息校验所述以太帧;
所述装置还包括:第二转发模块,用于响应于所述以太帧通过校验,基于所述目的MAC地址字段的信息转发所述以太帧。
在一种可能的实现方式中,所述校验模块,还用于基于目标字段的位置确定所述保护字段在所述以太帧中的位置,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
在一种可能的实现方式中,所述目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置;
所述校验模块,还用于基于所述以太类型字段确定所述保护字段在所述以太帧中的位置。
在一种可能的实现方式中,所述保护范围还包括源MAC地址字段和/或以太类型字段。
在一种可能的实现方式中,所述以太帧还包括至少一个标签字段。
在一种可能的实现方式中,所述保护范围还包括所述至少一个标签字段。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
在一种可能的实现方式中,所述保护字段位于所述以太帧中的负载字段中。
第五方面,提供了一种网络设备,所述网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现上述第一方面或第二方面任一所述的方法。
第六方面,提供了一种以太帧处理系统,所述系统包括第一网络设备和第二网络设备,所述第一网络设备用于执行第一方面中任一所述的方法,所述第二网络设备用于执行第二方面中任一所述的方法。
第七方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现上述第一方面或第二方面任一所述的方法。
第八方面,提供了一种芯片,包括处理器,所述处理器用于实现上述第一方面或第二方面任一所述的方法。
第九方面,还提供了一种设备,包括第八方面所述的芯片。
在一种可能的实现方式中,所述设备为网络设备。
在一种可能的实现方式中,所述设备为路由器或交换机或服务器。
第十方面,提供了一种网络系统,包括第九方面中任一所述的设备。
第十一方面,提供了一种计算机程序(产品),包括计算机程序或代码,当其被计算机执行时,使得所述计算机执行上述第一方面或第二方面任一所述的方法。
第十二方面,提供了一种数据结构,包括以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述数据结构中的位置位于所述以太帧的帧校验序列FCS字段在所述数据结构中的位置之前。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法,或者执行第二方面或第二方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1是本申请实施例提供的一种实施环境示意图;
图2是本申请实施例提供的一种以太帧的结构示意图;
图3是本申请实施例提供的另一种以太帧的结构示意图;
图4是本申请实施例提供的另一种以太包的结构示意图;
图5是本申请实施例提供的另一种以太包的结构示意图;
图6是本发明实施例提供的一种生成以太帧的方法流程图;
图7是本申请实施例提供的另一种以太包的结构示意图;
图8是本申请实施例提供的另一种以太包的结构示意图;
图9是本申请实施例提供的另一种以太包的结构示意图;
图10是本申请实施例提供的另一种实施环境示意图;
图11是本申请实施例提供的一种处理以太帧的方法流程图;
图12是本申请实施例提供的一种生成以太帧的装置结构示意图;
图13是本申请实施例提供的一种处理以太帧的装置结构示意图;
图14是本申请实施例提供的网络设备的结构示意图;
图15是本申请实施例提供的网络设备的结构示意图;
图16是本申请实施例提供的网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。下面结合附图,对本发明的实施例进行描述。
随着通信技术的发展,数据传输方式越来越多,通过以太网链路传输数据便是其中的一种。其中,通过以太网链路传输的数据包称作以太包,以太包中包括以太帧。以如图1所示的实施环境为例,第一网络设备101可生成以太帧,向第二网络设备102传输以太帧。其中,第一网络设备101和第二网络设备102可以直连,也可以如图1所示通过网络连接。可选地,第一网络设备101和第二网络设备102可以为路由器、交换机、服务器等有数据传输需求的设备,本申请实施例不对第一网络设备101和第二网络设备102的类型进行限定。
如图2所示,在以太帧的数据结构或帧格式中,包括目的MAC地址、源MAC地址和以太类型(EtherType)等字段。以太帧的中部是该帧负载(payload)字段,负载字段用于承载需要传输的数据,负载字段包含其他协议报头的数据包。以太帧由FCS字段结尾,该FCS字段用于检验数据传输是否出现损坏,也即对完整以太帧进行校验。其中,以太帧包括的各个字段的长度可如图2中各个字段下面的八位组(octet)数量所示。例如,目的MAC地址字段和源MAC地址字段的长度均为6八位组,以太类型字段的长度为2八位组,负载字段的长度为46-1500八位组,FCS字段的长度为4八位组。
可选地,以太帧除了包括图2所示的各个字段外,还可以包括可选的标签(tag)字段,该标签的数量可以为一个或者多个。例如,以包含一个标签字段的以太帧为例,该以太帧的结构可如图3所示。图3中,标签字段位于源MAC地址字段与以太类型字段之间,该标签字段的长度为4八位组,也即4个字节的长度。
由于在数据传输过程中,往往需要传输多个以太帧,而每个以太帧之间需要有帧间隙(inter-packet gap,IPG),即每发完一个以太帧后要等待一段时间才能再发另外一个以太帧,以便让以太帧的接收者对接收的以太帧作必要的处理,例如进行缓存调整、计数等。因此,包括以太帧的以太包不仅包括前导码字段和SFD字段,还可以包括IPG。例如,针对不包括标签字段,包括IPG字段的以太包结构如图4所示,前导码字段的长度为7八位组,也即7个八位组长度,或者说7个字节长度。SFD字段的长度为1八位组,也即1个字节长度。IPG字段的长度为12八位组,也即12个字节的长度。又例如,针对包括一个标签字段,又包括IPG字段的以太包结构如图5所示。
无论是上述哪种以太帧,在以太网应用中,正常转发操作需要收齐整个以太帧并在FCS校验通过后才将以太帧进行转发,所以时延受以太帧长度影响,整体较大。例如,在10吉比特以太网(Gigabit Ethernet,GE)接口上,对于64字节的以太帧,接收以太帧造成时延大约为72*8/10=57.6ns(纳秒),对于1522字节的以太帧,则为1.224us。对此,CTF技术应运而生。由于CTF技术是在收完以太帧前便进行转发,避免了以太帧长度对转发时延的影响。例如,同样对于10GE接口,收完目的MAC地址即进行转发。对于64字节的以太帧,转发时间节省了58*8/10=46.4ns,时延降低80%。对于1522字节的以太帧,时延则降低高达99%。也正是因为CTF技术避免了以太帧长度对转发时延的影响,因而CTF技术被广泛应用于时延敏感的转发场景,其应用的接口技术包括以太网(Ethernet),光纤通道(Fibre Channel),无限带宽(InfiniBand)等场景中。
但是,由于物理链路存在噪声,以太帧的信息在传输过程中会出现误码,导致信息内容改变。而以太物理层在不同的速率下有不同的误码率要求,并在误码率较高的高速物理链路上存在前向纠错(forward error correction,FEC)码对误码进行纠错,以尽可能降低以太帧中错误比特数量。以太帧中的FCS字段则进一步可通过循环冗余码校验(cyclicredundancy check,CRC)32校验识别错误,确保上层应用接收到的以太帧正确。一个存在错误的以太帧被接受的概率,通过错误数据包接受的平均时间(mean-time to false packetacceptance,MTTFPA)衡量。该数值通常要求远大于宇宙年龄,即>1.3x1010年。此外,因为CTF在进行FCS校验之前便对数据进行转发,如果误码出现在目的MAC地址字段,则会将以太帧转发至错误地址,影响系统整体可靠性。
本申请实施例提供了一种生成以太帧的方法,该方法通过增加保护字段来提高CTF转发可靠性,以解决CTF转发过程中影响系统整体可靠性问题。以第一网络设备执行该生成以太帧的方法为例,参见图6,该方法包括如下步骤601。
601,生成以太帧,以太帧包括保护字段,保护字段的保护范围包括以太帧中的目的MAC地址字段,保护字段在以太帧中的位置位于以太帧的FCS字段在以太帧中的位置之前。
在本申请实施例中,不对生成以太帧的时机进行限定,在需要发送数据时,均可生成以太帧。例如,获取第一数据,基于第一数据生成以太帧。基于第一数据生成以太帧时,将该第一数据承载于以太帧的负载字段中。本申请实施例不对获取第一数据的方式以及第一数据的类型进行限定,该第一数据为待传输的任意类型的数据。例如,该第一数据为待传输的音频数据、视频数据或者其他应用数据等。第一网络设备可从本地存储的数据中获取该第一数据,也可以从其他设备发送的数据中获取第一数据。
该以太帧除了包括目的MAC地址字段、源MAC地址、以太类型字段、负载字段、FCS字段之外,还包括保护字段。其中,该保护字段在以太帧中的位置位于以太帧的FCS字段在以太帧中的位置之前,用于对以太帧中位于保护字段的保护范围内的信息进行保护。由于保护字段的保护范围包括以太帧中的目的MAC地址字段,则以CTF方式发送以太帧的字节时,可通过保护字段对目的MAC地址进行校验,避免对错误的目的MAC地址的数据进行转发,以此来提高CTF转发可靠性,解决CTF转发过程中影响系统整体可靠性问题。
其中,保护字段的长度为n比特,n是正整数。本申请实施例不对保护字段的长度进行限定,可基于经验或者应用场景进行灵活设置。保护字段在以太帧中的位置可以位于以太帧的FCS在以太帧中的位置之前的任意位置,在一种可能的实现方式中,保护字段与以太帧中的负载字段相互独立,或者,保护字段位于以太帧中的负载字段中,负载字段用于承载第一数据。如果保护字段独立于负载字段之外,则负载字段的长度依旧为46~1500八位组。如果保护字段位于负载字段中,也即保护字段是负载字段中取出的位域,则剩余的负载字段的长度为(46*8-n)~(1500*8-n)比特。
在一种可能的实现方式中,该保护字段的位置包括但不限于通过如下两种方式确定。
位置确定方式一,保护字段在以太帧中的位置基于目标字段的位置确定,目标字段的位置位于保护字段在以太帧中的位置之前。
针对位置确定方式一,目标字段可以是位置位于保护字段在以太帧中的位置之前的任意字段。在以太包中的各个字段的长度已知,且各个字段在以太包中的位置也是固定的情况下,基于目标字段的位置可对保护字段进行定位,从而确定出保护字段的位置。本申请实施例不对确定保护字段的位置时所选用的目标字段进行限定,示例性地,该目标字段为SFD字段。
在一种可能的实现方式中,保护字段的保护范围除了包括目的MAC地址字段,还可以包括源MAC地址字段,或包括以太类型字段,或包括源MAC地址字段和以太类型字段。以保护字段位于以太类型字段和负载字段之间,以太帧不包括标签字段为例,该以太包的结构如图7所示。由于以太帧中的各个字段的长度已知,且各个字段在以太帧中的位置也是固定的,因此,从SFD字段向后顺延14八位组也即14字节即为保护字段的位置。针对图7所示的以太包的结构,保护字段的保护范围包括但不限于目的MAC地址字段、源MAC地址字段和以太类型字段,也即保护范围内包括14字节共112比特的信息。
可选地,以太帧还包括至少一个标签字段。在一种可能的实现方式中,保护字段的保护范围还包括至少一个标签字段。以保护字段位于以太类型字段和负载字段之间,以太帧包括一个标签字段为例,该以太包的结构如图8所示。由于以太帧中的各个字段的长度已知,且各个字段在以太帧中的位置也是固定的,因此,从SFD字段向后顺延18八位组也即18字节即为保护字段的位置。针对图8所示的以太包的结构,保护字段的保护范围包括但不限于目的MAC地址字段、源MAC地址字段、标签字段和以太类型字段,也即保护范围内包括18字节共144比特的信息。
可选地,如果以太帧包括多个标签,则从SFD字段向后顺延的长度可根据标签的数量增加。例如,如果以太帧包括两个标签,则从SFD字段向后顺延22八位组也即22字节即为保护字段的位置,保护字段的保护范围包括但不限于目的MAC地址字段、源MAC地址字段、两个标签字段和以太类型字段,也即保护范围内包括22字节共176比特的信息。
位置确定方式二,以太帧还包括以太类型字段,以太类型字段用于指示保护字段在以太帧中的位置。例如,以太类型字段之后包括保护字段,保护字段在以太帧中的位置基于以太类型字段确定。
针对位置确定方式二,以太类型字段是2字节长度的字段,可以选择一个未被使用的以太类型值,例如0x8800表示以太类型字段之后包括保护字段,也即通过以太类型字段来指示保护字段在以太帧中的位置。因此,通过确定以太类型字段的位置,便可以确定保护字段在以太帧中的位置。
在本申请实施例中,无论保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前的哪个位置,能够对FCS字段在以太帧中的位置之前的信息进行保护,以达到提高CTF转发可靠性的目的即可。保护字段的信息包括但不限于通过如下两种方式确定。
信息确定方式一,保护字段的信息为保护范围内的信息经过CRC计算得到。
其中,保护范围内的信息经过CRC计算得到的可以是校验位,也即保护字段的信息可以为校验位。在介绍信息确定方式一之前,先来介绍下CRC。CRC是一种校验机制,它用于检测其保护范围内的数据(包括校验位在内)在经过传输后是否存在错误。CRC一般是基于伽罗华域(Galois Field,GF)(2)有限域内的运算生成。CRC-n表示校验位长度为n比特(bit)。对于同样长度的校验位n bits,可以有多种计算方式生成校验位,计算方式由CRC对应的多项式决定。CRC-n的多项式最高项为n次方,不同多项式之间可能存在不同的校验能力。例如,以16进制表达多项式系数为例,对于CRC-8,可以有如下多种多项式:
0xe7,0xa6,0x8e,0xb1,0xbf,0x97,0xd3,0xcd,0x83,0x98,0x9b,0xa4,0xea,0x8d,0x9c,0xeb,0x80等。
其中,0xe7对应的多项式为:x^8+x^7+x^6+x^3+x^2+x+1,其各项从x^8到x^1对应的系数为1110 0111,即0xe7。
需要说明的是,上述十六进制表达方式为反向倒数(reversed reciprocal)表达方式,例如0xd3表达为二进制序列为11010011,从左到右对应多项式指数从高到低,即x^8+x^7+x^5+x^2+x+1。
对于某一个多项式对应的CRC-n,其检错能力(也称为保护能力或校验能力)受其汉明距离和奇偶属性等特性限制。例如,0xe7对应的CRC-8,当其保护范围大于247比特时,汉明距离为2比特;当其保护范围小于等于247比特且大于19比特时,汉明距离为3比特;当其保护范围小于等于19比特且大于1比特时,汉明距离为4比特。下表一概述了上述部分不同多项式所能支持的汉明距离保护能力及其对应的信息位保护范围长度。
表一
由此可见,对于不同长度的保护范围,不同的多项式选择可以带来不同的保护能力。例如,如果需要保护120比特的数据,采用0x97对应的多项式构造CRC-8,其汉明距离只有2,其在120+8=128比特范围内,可以确保检出的错误比特数量为1。而如果采用0xe7对应的多项式构造CRC-8,其汉明距离为3,可以确保在128比特中检出2个错误比特。
又例如,如果需要保护的比特数量为118比特,则采用0x97对应的多项式构造的CRC-8,可以在126比特范围内确保检出3个比特错误,而采用0xe7则仅能确保检出2个比特错误。
在一种可能的实现方式中,以采用CRC-8确定保护字段的信息为例,该以太包的结构如图9所示。CRC-8多项式可选取0xe7或0xa6或0x8e或0xb1,其中,0xe7对应多项式:x^8+x^7+x^6+x^3+x^2+x+1,若以太帧包括标签字段,则保护字段的保护范围为目的MAC地址字段、源MAC地址字段、标签字段、以太类型字段共18字节,也即144比特。如果以太帧包括双标签(double tagging),保护字段的保护范围为目的MAC地址字段、源MAC地址字段、双标签字段、以太类型字段共22字节,也即176比特。该CRC可以在247bit范围内确保其汉明距离为3。
可选地,可以针对有无Tag选择不同的CRC-8,在保护范围较短时,采用汉明距离更大的CRC-8,例如,0xbf,0x97,0xd3,0xcd,0x83,0x98在119-bit范围内可以提供汉明距离为4的保护,即可以确保检出3比特错误。根据保护范围内的信息长度确定所使用的CRC之后,便可将保护范围内的信息经过所选择的CRC计算得到校验位,该校验位即为保护字段的信息。
信息确定方式二,保护字段的信息为保护范围内的信息经过FEC码计算得到。
针对信息确定方式二,由于FEC码不仅可以检错,还可以纠正比特错误,从而降低丢包率。因而保护范围内的信息经过FEC码计算之后得到的保护字段的信息可进一步提高可靠性。FEC码的码型有多种,本申请实施例不对选用的FEC码的码型进行限定,包括但不限于汉明(Hamming)码、扩展汉明(extended Hamming,eHamming)码、里德-所罗门(Reed-Solomon,RS)码、博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,BCH)码、扩展BCH(extended BCH,eBCH)码、法尔(fire)码、涡轮(turbo)码、涡轮乘积码(turbo productcode,TPC)、阶梯(staircase)码以及低密度奇偶校验(low-density parity-check,LDPC)码中的任一种。
在一种可能的实现方式中,生成以太帧之后,还包括:发送以太帧。本申请实施例不对发送以太帧的方式进行限定。例如,该以太帧可从第一网络设备的物理接口发送出去,通过传输介质传输到目的端。上述目的端可以是独立于第一网络设备的其他网络设备,还可是第一网络设备中的其他物理接口。
本申请实施例提供的方法,生成的以太帧中包括保护字段,由于保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则以CTF方式发送以太帧的字节时,可通过保护字段对目的MAC地址进行校验,避免错误的目的MAC地址的数据被转发,以此来提高CTF转发可靠性。
本申请实施例提供了一种处理以太帧的方法,该方法可由网络设备执行。例如,该处理以太帧的方法的实施环境如图1所示。图1中的第一网络设备101生成以太帧后,将以太帧通过网络传输至第二网络设备102,第二网络设备102可以采用本申请实施例提供的处理以太帧的方法对以太帧进行处理。此外,第二网络设备102也可以在以太帧校验通过后,以CTF的方式发送以太帧,则本申请实施例提供的处理以太帧的方法可由图1所示的第二网络设备102之后接收到以太帧的网络设备执行。图1所示的实施环境中,生成以太帧的方法在第一网络设备101上实现,处理以太帧的方法在第二网络设备102上实现,也即本申请实施例提供的生成以太帧的方法和处理以太帧的方法可在不同网络设备上实现。
或者,该方法的实施环境可如图10所示,图10中包括第三网络设备103和第四网络设备104,第三网络设备103通过网络与第四网络设备104连接。第三网络设备103采用上述图6所示的生成以太帧的方法生成以太帧之后,将以太帧发送给第三网络设备103的转发模块,该转发模块可采用本申请实施例提供的处理以太帧的方法来处理该以太帧,也即该处理以太帧的方法可由第三网络设备103中的转发模块实现。在图10所示的实施环境中,生成以太帧的方法和处理以太帧的方法均在第三网络设备中实现,也即本申请实施例提供的生成以太帧的方法和处理以太帧的方法可在同一网络设备上实现。
参见图11,该处理以太帧的方法包括如下步骤1101和步骤1102。
1101,接收以太帧中的多个字节,多个字节包括目的MAC地址字段的信息和保护字段的信息。
本申请实施例不对接收以太帧中的多个字节的数量进行限定,接收到目的MAC地址字段的信息和保护字段的信息之后,便可执行下面1102的校验步骤。例如,以CTF方式发送以太帧为例,为了避免目的MAC地址发生错误导致上述多个字节被转发至错误地址,以太帧中的多个字节包括目的MAC地址字段的信息和保护字段的信息,以通过保护字段的信息对保护范围内的信息进行校验,以达到保护目的MAC地址的目的。例如,以图1所示的实施环境为例,第一网络设备101生成以太帧之后,发送该以太帧。第二网络设备可通过传输介质接收到该以太帧中的多个字节。又例如,以图10所示的实施环境为例,第三网络设备生成以太帧之后,向转发模块发送该以太帧,转发模块可接收到该以太帧中的多个字节。
其中,保护字段的信息可为保护字段内的信息经过CRC计算得到,或者为保护字段的信息经过FEC码计算得到,可参见上述图6所示实施例中的相关描述,此处不再赘述。
1102,基于保护字段的信息校验保护字段的保护范围内的信息,保护范围包括目的MAC地址字段,保护字段位于以太帧的FCS字段之前。
基于保护字段的信息校验保护字段的保护范围内的信息之前,还包括确定保护字段在以太帧中的位置,从而基于该保护字段在以太帧中的位置获取保护字段的信息。关于确定保护字段在以太帧中的位置的方式,保护范围以及保护字段的信息的确定方式均可参见上述图6相关内容,此处不再赘述。
无论采用哪种方式确定保护字段的位置之后,均可基于保护字段的信息校验保护字段的保护范围内的信息。保护字段的信息的确定方式不同,校验方式也不同,校验效果也不同。
以10GE链路为例,链路误码率<10-12,144+8=152比特中出现>=3比特错误的概率是5.7×10-31,所以存在CRC-8校验的CTF,发生错误却没能检出的概率为:5.7×10-31×2-8=2.2×10-33,以以太帧的长度为64字节(包括preamble/SFD/IPG为84字节)计算,平均大约1018年才会发生一次,可靠性满足要求。
以选用t=1或2的BCH码为例,纠错时延仅需1个时钟周期,在1赫兹(GHz)时钟(clock)情况下仅为1ns,代价较小。但其缺点是在错误比特超出纠错能力时,可能存在误纠,一定程度影响可靠性。因此,可以通过其扩展码增加汉明距离避免误纠。
对于10GE,<1012以下误码率,例如,BCH/Hamming(152,144),可以纠正1比特误码。汉明码或t=1BCH码可以确保丢包率相比CRC-8方案降低9~10个数量级,MTTFPA大约2x105年。增强汉明码(eHamming)或t=1的增强BCH码(eBCH),eBCH/eHamming(120,112),可以纠正1比特误码,且能检错2比特误码。可以确保丢包率相比CRC-8方案降低9~10个数量级同时,仍保证大约1018年的MTTFPA。
基于保护字段的信息校验保护字段的保护范围内的信息之后,得到校验结果,基于校验结果采用相应的处理方式。
处理方式一,响应于保护范围内的信息通过校验,基于目的MAC地址字段的信息转发多个字节。针对处理方式一,由于保护范围内的信息通过验证,保护范围内的信息未发生错误,因而基于目的MAC地址字段的信息转发该多个字节,保证了转发的可靠性。
处理方式二,响应于保护范围内的信息未通过校验,丢弃以太帧。针对处理方式二,由于保护范围内的信息未通过验证,也即保护范围内的信息可能发生错误,因而将其丢弃,避免后续设备接收到错误信息。
处理方式三,响应于保护范围内的信息未通过校验,接收到以太帧的全部字节后,基于FCS字段的信息校验以太帧;响应于以太帧通过校验,基于目的MAC地址字段的信息转发以太帧。
针对处理方式三,由于保护范围内的信息未通过验证,保护范围内的信息可能发生错误,因而暂停转发,可继续接收以太帧的剩余字节,待以太帧的全部字节接收完毕后,基于FCS字段的信息对以太帧进行校验,如果以太帧通过校验,再继续基于目的MAC地址字段的信息转发该以太帧。该种情况下,虽然是以太帧全部接收到之后再整体转发,相比CTF方式增加了时延,但确保了以太帧的准确性,进而保证了以太帧转发的可靠性。
处理方式四,响应于保护范围内的信息未通过校验,接收到以太帧的全部字节后,基于FCS字段的信息校验以太帧;响应于以太帧未通过校验,丢弃以太帧。
针对处理方式四,由于保护范围内的信息未通过验证,保护范围内的信息可能发生错误,因而暂停转发,可继续接收以太帧的剩余字节,待以太帧的全部字节接收完毕后,基于FCS字段的信息对以太帧进行校验。如果以太帧还是未通过校验,将以太帧丢弃,避免后续设备接收到错误信息。
本申请实施例提供的方法,在接收到以太帧的多个字节后,由于该多个字节包括保护字段,且保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则可通过保护字段对目的MAC地址字段进行保护,避免错误的目的MAC地址的数据被转发,以此来提高以太帧的转发可靠性。
此外,在保护范围内的信息未通过校验,或者在保护范围内的信息未通过校验,且接收到的以太帧未通过校验的情况下,通过将以太帧丢弃,避免后续设备接收到错误信息。
以上介绍了本申请实施例提供的生成以太帧的方法,与上述方法对应,本申请实施例还提供生成以太帧的装置。图12是本申请实施例提供的一种生成以太帧的装置的结构示意图,该装置应用于第一网络设备或第三网络设备,该第一网络设备或第三网络设备为上述图1、图6、图10任一附图所示实施例中的第一网络设备或第三网络设备。基于图12所示的如下多个模块,该图12所示的生成以太帧的装置能够执行第一网络设备或第三网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图12所示,该装置包括:
生成模块1201,用于生成以太帧,以太帧包括保护字段,保护字段的保护范围包括以太帧中的目的媒体接入控制MAC地址字段,保护字段在以太帧中的位置位于以太帧的帧校验序列FCS字段在以太帧中的位置之前。
在一种可能的实现方式中,保护字段在以太帧中的位置基于目标字段的位置确定,目标字段的位置位于保护字段在以太帧中的位置之前。
在一种可能的实现方式中,目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,以太帧还包括以太类型字段,以太类型字段用于指示保护字段在以太帧中的位置。
在一种可能的实现方式中,保护范围还包括源MAC地址字段和/或以太类型字段。
在一种可能的实现方式中,以太帧还包括至少一个标签字段。
在一种可能的实现方式中,保护范围还包括至少一个标签字段。
在一种可能的实现方式中,保护字段的信息为保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,保护字段的信息为保护范围内的信息经过前向纠错FEC码计算得到。
在一种可能的实现方式中,保护字段位于以太帧中的负载字段中。
在一种可能的实现方式中,装置,还包括:
发送模块,用于发送以太帧。
本申请实施例提供的装置,生成的以太帧中包括保护字段,由于保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则以CTF方式发送以太帧的字节时,可通过保护字段对目的MAC地址进行校验,避免错误的目的MAC地址的数据被转发,以此来提高CTF转发可靠性。
以上介绍了本申请实施例提供的处理以太帧的方法,与上述方法对应,本申请实施例还提供处理以太帧的装置。图13是本申请实施例提供的一种处理以太帧的装置的结构示意图,该装置可应用于第二网络设备或第三网络设备中的转发模块,该第二网络设备和第三网络设备中的转发模块为上述图1、图10、图11任一附图所示实施例中的第二网络设备和第三网络设备的转发模块。基于图13所示的如下多个模块,该图13所示的处理以太帧的装置能够执行第二网络设备或第三网络设备中的转发模块所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图13所示,该装置包括:
接收模块1301,用于接收以太帧中的多个字节,多个字节包括目的媒体接入控制MAC地址字段的信息和保护字段的信息;
校验模块1302,用于基于保护字段的信息校验保护字段的保护范围内的信息,保护范围包括目的MAC地址字段,保护字段在以太帧中的位置位于以太帧的帧校验序列FCS字段在以太帧中的位置之前。
在一种可能的实现方式中,装置,还包括:
第一转发模块,用于响应于保护范围内的信息通过校验,基于目的MAC地址字段的信息转发多个字节。
在一种可能的实现方式中,校验模块1302,还用于响应于保护范围内的信息未通过校验,接收到以太帧的全部字节后,基于FCS字段的信息校验以太帧;
装置还包括:第二转发模块,用于响应于以太帧通过校验,基于目的MAC地址字段的信息转发以太帧。
在一种可能的实现方式中,校验模块1302,还用于基于目标字段的位置确定保护字段在以太帧中的位置,目标字段的位置位于保护字段在以太帧中的位置之前。
在一种可能的实现方式中,目标字段为帧起始定界符SFD字段。
在一种可能的实现方式中,以太帧还包括以太类型字段,以太类型字段用于指示保护字段在以太帧中的位置;
校验模块1302,还用于基于以太类型字段确定保护字段在以太帧中的位置。
在一种可能的实现方式中,保护范围还包括源MAC地址字段和/或以太类型字段。
在一种可能的实现方式中,以太帧还包括至少一个标签字段。
在一种可能的实现方式中,保护范围还包括至少一个标签字段。
在一种可能的实现方式中,保护字段的信息为保护范围内的信息经过循环冗余校验CRC计算得到。
在一种可能的实现方式中,保护字段的信息为保护范围内的信息经过前向纠错FEC码计算得到。
在一种可能的实现方式中,保护字段位于以太帧中的负载字段中。
应理解的是,上述图12-图13提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供的装置,在接收到以太帧的多个字节后,由于该多个字节包括保护字段,且保护字段的保护范围包括以太帧中的目的MAC地址字段,且保护字段在以太帧中的位置位于FCS字段在以太帧中的位置之前,则可通过保护字段对目的MAC地址字段进行保护,避免错误的目的MAC地址的数据被转发,以此来提高以太帧的转发可靠性。
上述实施例中的设备的具体硬件结构如图14所示的网络设备1500,包括收发器1501、处理器1502和存储器1503。收发器1501、处理器1502和存储器1503之间通过总线1504连接。其中,收发器1501用于接收报文和发送报文,存储器1503用于存放指令或程序代码,处理器1502用于调用存储器1503中的指令或程序代码使得设备执行上述方法实施例中第一网络设备或第三网络设备的相关处理步骤。在具体实施例中,本申请实施例的网络设备1500可对应于上述各个方法实施例中的第一网络设备或第三网络设备,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图14所示的网络设备1500能够执行第一网络设备或第三网络设备所执行的全部或部分操作。
在具体实施例中,本申请实施例的网络设备1500可对应于上述方法实施例中的第二网络设备或第三网络设备中的转发模块,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图14所示的网络设备1500能够执行第二网络设备或第三网络设备中的转发模块所执行的全部或部分操作。
网络设备1500还可以对应于上述图12-13所示的装置,例如,图12-图13中所涉及的发送模块、接收模块1301、第一转发模块和第二转发模块相当于收发器1501,生成模块1201、校验模块1302相当于处理器1502。
参见图15,图15示出了本申请一个示例性实施例提供的网络设备2000的结构示意图。图15所示的网络设备2000用于执行上述图6所示的生成以太帧的方法所涉及的操作、图11所示的处理以太帧的方法所涉及的操作。该网络设备2000例如是交换机、路由器等。
如图15所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备2000还包括总线。总线用于在网络设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。图15中网络设备2000的各组件之间除了采用总线连接,还可采用其他方式连接,本发明实施例不对各组件的连接方式进行限定。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(Gigabit Ethernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于网络设备2000与其他设备进行通信。
在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图15中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图15中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,网络设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的报文方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备2000可对应于上述各个方法实施例中的第一网络设备或第三网络设备,网络设备2000中的处理器2001读取存储器2003中的程序代码2010或处理器2001自身存储的程序代码或指令,使图15所示的网络设备2000能够执行第一网络设备或第三网络设备所执行的全部或部分操作。
在具体实施例中,本申请实施例的网络设备2000可对应于上述各个方法实施例中的第二网络设备或第三网络设备中的转发模块,网络设备2000中的处理器2001读取存储器2003中的程序代码2010或处理器2001自身存储的程序代码或指令,使图15所示的网络设备2000能够执行第二网络设备或第三网络设备中的转发模块所执行的全部或部分操作。
网络设备2000还可以对应于上述图12-13所示的装置,图12-13所示的装置中的每个功能模块采用网络设备2000的软件实现。换句话说,图12-13所示的装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。例如,图12-图13中所涉及的发送模块、接收模块1301、第一转发模块和第二转发模块相当于通信接口2004,生成模块1201、校验模块1302相当于处理器2001和/或处理器2005。
其中,图6、图11所示的方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图16,图16示出了本申请另一个示例性实施例提供的网络设备2100的结构示意图。图16所示的网络设备2100用于执行上述图6、图11所示的方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
如图16所示,网络设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(ph10sical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
网络处理器2132用于实现报文的发送处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-processcommunication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备2100对应于上述图12和图13所示的装置。在一些实施例中,图12-图13所示的装置中的发送模块、接收模块1301、第一转发模块和第二转发模块相当于网络设备2100中的物理接口卡2133或物理接口卡2143。图12-图13所示的装置中的生成模块1201、校验模块1302相当于网络设备2100中的中央处理器2111、网络处理器2132和网络处理器2142中的至少一个。
基于上述图12及图13所述的装置,本申请实施例还提供了一种以太帧处理系统,该系统包括:生成以太帧的装置及处理以太帧的装置。
可选的,生成以太帧的装置为图12所示的生成以太帧的装置,处理以太帧的装置为图13所示的处理以太帧的装置。
生成以太帧的装置及处理以太帧的装置所执行的方法可参见上述图1、图6、图10和图11所示实施例的相关描述,此处不再加以赘述。
基于上述图14、图15及图16所示的网络设备,本申请实施例还提供了一种以太帧处理系统,该系统包括:第一网络设备及第二网络设备。可选的,第一网络设备为图14所示的网络设备1500或图15所示的网络设备2000或图16所示的网络设备2100,第二网络设备为图14所示的网络设备1500或图15所示的网络设备2000或图16所示的网络设备2100。
第一网络设备及第二网络设备所执行的方法可参见上述图1、图6、图10和图11所示实施例的相关描述,此处不再加以赘述。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现如上图6中任一所述的生成以太帧的方法或者图11所述的处理以太帧的方法。
本申请提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,处理器用于执行上述各方面中的方法。
还提供了一种设备,该设备包括上述芯片。可选地,该设备为网络设备。示例性地,该设备为路由器或交换机或服务器。
还提供了一种数据结构,包括以太帧,以太帧包括保护字段,保护字段的保护范围包括以太帧中的目的媒体接入控制MAC地址字段,保护字段在数据结构中的位置位于以太帧的帧校验序列FCS字段在数据结构中的位置之前。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一网络设备可以被称为第二网络设备,并且类似地,第二网络设备可以被称为第一网络设备。第一网络设备和第二网络设备都可以是任一类型的网络设备,并且在某些情况下,可以是单独且不同的网络设备。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
Claims (56)
1.一种生成以太帧的方法,其特征在于,所述方法包括:
生成以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
2.根据权利要求1所述的方法,其特征在于,所述保护字段在所述以太帧中的位置基于目标字段的位置确定,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
3.根据权利要求2所述的方法,其特征在于,所述目标字段为帧起始定界符SFD字段。
4.根据权利要求1所述的方法,其特征在于,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置。
5.根据权利要求1-4任一所述的方法,其特征在于,所述保护范围还包括源MAC地址字段和/或以太类型字段。
6.根据权利要求1-5任一所述的方法,其特征在于,所述以太帧还包括至少一个标签字段。
7.根据权利要求6所述的方法,其特征在于,所述保护范围还包括所述至少一个标签字段。
8.根据权利要求1-7任一所述的方法,其特征在于,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
9.根据权利要求1-7任一所述的方法,其特征在于,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
10.根据权利要求1-9任一所述的方法,其特征在于,所述保护字段位于所述以太帧中的负载字段中。
11.根据权利要求1-10任一所述的方法,其特征在于,所述生成以太帧之后,还包括:
发送所述以太帧。
12.一种处理以太帧的方法,其特征在于,所述方法包括:
接收以太帧中的多个字节,所述多个字节包括目的媒体接入控制MAC地址字段的信息和保护字段的信息;
基于所述保护字段的信息校验所述保护字段的保护范围内的信息,所述保护范围包括所述目的MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
13.根据权利要求12所述的方法,其特征在于,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之后,还包括:
响应于所述保护范围内的信息通过校验,基于所述目的MAC地址字段的信息转发所述多个字节。
14.根据权利要求12所述的方法,其特征在于,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之后,还包括:
响应于所述保护范围内的信息未通过校验,接收到所述以太帧的全部字节后,基于所述FCS字段的信息校验所述以太帧;
响应于所述以太帧通过校验,基于所述目的MAC地址字段的信息转发所述以太帧。
15.根据权利要求12-14任一所述的方法,其特征在于,所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之前,还包括:
基于目标字段的位置确定所述保护字段在所述以太帧中的位置,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
16.根据权利要求15所述的方法,其特征在于,所述目标字段为帧起始定界符SFD字段。
17.根据权利要求12-14任一所述的方法,其特征在于,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置;
所述基于所述保护字段的信息校验所述保护字段的保护范围内的信息之前,还包括:
基于所述以太类型字段确定所述保护字段在所述以太帧中的位置。
18.根据权利要求12-17任一所述的方法,其特征在于,所述保护范围还包括源MAC地址字段和/或以太类型字段。
19.根据权利要求12-18任一所述的方法,其特征在于,所述以太帧还包括至少一个标签字段。
20.根据权利要求19所述的方法,其特征在于,所述保护范围还包括所述至少一个标签字段。
21.根据权利要求12-20任一所述的方法,其特征在于,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
22.根据权利要求12-20任一所述的方法,其特征在于,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
23.根据权利要求12-22任一所述的方法,其特征在于,所述保护字段位于所述以太帧中的负载字段中。
24.一种生成以太帧的装置,其特征在于,所述装置包括:
生成模块,用于生成以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
25.根据权利要求24所述的装置,其特征在于,所述保护字段在所述以太帧中的位置基于目标字段的位置确定,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
26.根据权利要求25所述的装置,其特征在于,所述目标字段为帧起始定界符SFD字段。
27.根据权利要求24所述的装置,其特征在于,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置。
28.根据权利要求24-27任一所述的装置,其特征在于,所述保护范围还包括源MAC地址字段和/或以太类型字段。
29.根据权利要求24-28任一所述的装置,其特征在于,所述以太帧还包括至少一个标签字段。
30.根据权利要求29所述的装置,其特征在于,所述保护范围还包括所述至少一个标签字段。
31.根据权利要求24-30任一所述的装置,其特征在于,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
32.根据权利要求24-30任一所述的装置,其特征在于,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
33.根据权利要求24-32任一所述的装置,其特征在于,所述保护字段位于所述以太帧中的负载字段中。
34.根据权利要求24-33任一所述的装置,其特征在于,所述装置,还包括:
发送模块,用于发送所述以太帧。
35.一种处理以太帧的装置,其特征在于,所述装置包括:
接收模块,用于接收以太帧中的多个字节,所述多个字节包括目的媒体接入控制MAC地址字段的信息和保护字段的信息;
校验模块,用于基于所述保护字段的信息校验所述保护字段的保护范围内的信息,所述保护范围包括所述目的MAC地址字段,所述保护字段在所述以太帧中的位置位于所述以太帧的帧校验序列FCS字段在所述以太帧中的位置之前。
36.根据权利要求35所述的装置,其特征在于,所述装置,还包括:
第一转发模块,用于响应于所述保护范围内的信息通过校验,基于所述目的MAC地址字段的信息转发所述多个字节。
37.根据权利要求35所述的装置,其特征在于,所述校验模块,还用于响应于所述保护范围内的信息未通过校验,接收到所述以太帧的全部字节后,基于所述FCS字段的信息校验所述以太帧;
所述装置还包括:第二转发模块,用于响应于所述以太帧通过校验,基于所述目的MAC地址字段的信息转发所述以太帧。
38.根据权利要求35-37任一所述的装置,其特征在于,所述校验模块,还用于基于目标字段的位置确定所述保护字段在所述以太帧中的位置,所述目标字段的位置位于所述保护字段在所述以太帧中的位置之前。
39.根据权利要求38所述的装置,其特征在于,所述目标字段为帧起始定界符SFD字段。
40.根据权利要求35-37任一所述的装置,其特征在于,所述以太帧还包括以太类型字段,所述以太类型字段用于指示所述保护字段在所述以太帧中的位置;
所述校验模块,还用于基于所述以太类型字段确定所述保护字段在所述以太帧中的位置。
41.根据权利要求35-40任一所述的装置,其特征在于,所述保护范围还包括源MAC地址字段和/或以太类型字段。
42.根据权利要求35-41任一所述的装置,其特征在于,所述以太帧还包括至少一个标签字段。
43.根据权利要求42所述的装置,其特征在于,所述保护范围还包括所述至少一个标签字段。
44.根据权利要求35-43任一所述的装置,其特征在于,所述保护字段的信息为所述保护范围内的信息经过循环冗余校验CRC计算得到。
45.根据权利要求35-43任一所述的装置,其特征在于,所述保护字段的信息为所述保护范围内的信息经过前向纠错FEC码计算得到。
46.根据权利要求35-45任一所述的装置,其特征在于,所述保护字段位于所述以太帧中的负载字段中。
47.一种网络设备,其特征在于,所述网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现权利要求1-23中任一所述的方法。
48.一种以太帧处理系统,其特征在于,所述系统包括第一网络设备和第二网络设备,所述第一网络设备用于执行权利要求1-11中任一所述的方法,所述第二网络设备用于执行权利要求12-23中任一所述的方法。
49.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现如权利要求1-23中任一所述的方法。
50.一种芯片,其特征在于,包括处理器,所述处理器用于实现权利要求1-23中任一所述的方法。
51.一种设备,其特征在于,包括权利要求50所述的芯片。
52.根据权利要求51所述的设备,其特征在于,所述设备为网络设备。
53.根据权利要求51或52所述的设备,其特征在于,所述设备为路由器或交换机或服务器。
54.一种网络系统,其特征在于,包括权利要求51-53中任一所述的设备。
55.一种计算机程序产品,其特征在于,包括计算机程序或代码,当其被计算机执行时,使得所述计算机执行权利要求1-23中任一所述的方法。
56.一种数据结构,其特征在于,包括以太帧,所述以太帧包括保护字段,所述保护字段的保护范围包括所述以太帧中的目的媒体接入控制MAC地址字段,所述保护字段在所述数据结构中的位置位于所述以太帧的帧校验序列FCS字段在所述数据结构中的位置之前。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/129600 WO2023116229A1 (zh) | 2021-12-22 | 2022-11-03 | 生成、处理以太帧的方法、装置、设备、系统及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021115766329 | 2021-12-22 | ||
CN202111576632 | 2021-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346280A true CN116346280A (zh) | 2023-06-27 |
Family
ID=86890356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210023650.2A Pending CN116346280A (zh) | 2021-12-22 | 2022-01-10 | 生成、处理以太帧的方法、装置、设备、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116346280A (zh) |
WO (1) | WO2023116229A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560226B (zh) * | 2024-01-09 | 2024-03-19 | 上海芯联芯智能科技有限公司 | 一种通过虚拟专用网络vpn进行数据传输的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100456675B1 (ko) * | 2002-11-26 | 2004-11-10 | 한국전자통신연구원 | 이더넷 pon의 매체접근제어 계층에서의 이더넷 데이터처리방법 및 장치 |
KR101203471B1 (ko) * | 2006-06-29 | 2012-11-21 | 삼성전자주식회사 | 네트워크 브리지에서 이더넷 프레임을 전달하는 방법 및상기 브리지 장치 |
US20090210770A1 (en) * | 2008-02-14 | 2009-08-20 | International Business Machines Corporation | Method, system and computer program product for end to end error checking in ethernet |
CN107370674B (zh) * | 2016-05-13 | 2020-12-01 | 华为技术有限公司 | 一种数据传输的方法、设备和系统 |
WO2020142880A1 (zh) * | 2019-01-07 | 2020-07-16 | 华为技术有限公司 | 一种数据传输方法及装置 |
-
2022
- 2022-01-10 CN CN202210023650.2A patent/CN116346280A/zh active Pending
- 2022-11-03 WO PCT/CN2022/129600 patent/WO2023116229A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023116229A1 (zh) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190002699A (ko) | 데이터 전송 방법, 장치 및 시스템 | |
US10236907B2 (en) | Forward error correction (FEC) emulator | |
US11329910B2 (en) | Transmission apparatus including a plurality of switches and output circuits for transmitting data and transmission method | |
US20230370193A1 (en) | Data transmission method, apparatus, device, and system, and computer-readable storage medium | |
WO2023116229A1 (zh) | 生成、处理以太帧的方法、装置、设备、系统及存储介质 | |
WO2022052609A1 (zh) | 时延补偿方法、装置、设备及计算机可读存储介质 | |
US20230023776A1 (en) | Codeword Synchronization Method, Receiver, Network Device, and Network System | |
CN111130686B (zh) | 业务数据处理方法及装置 | |
EP4068661A1 (en) | Data transmission method and apparatus | |
CN114697403A (zh) | 业务报文的处理方法、装置、设备、系统及存储介质 | |
US7546512B2 (en) | Techniques to perform error detection | |
US20230261795A1 (en) | Method for Retransmitting Data and Apparatus | |
US20130346837A1 (en) | Communication device | |
CN116455516A (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
WO2022228370A1 (zh) | 码字同步方法、接收器、网络设备及网络系统 | |
CN116962161A (zh) | 路径检测方法、装置、系统及计算机可读存储介质 | |
CN111342929A (zh) | 信息发送和接收方法及其装置、信息处理系统 | |
CN115914087A (zh) | 报文转发方法、装置、设备、系统及存储介质 | |
US20230105937A1 (en) | Systems and methods for seamless reset for seamless redundancy of tsn/detnet | |
WO2015169049A1 (zh) | 一种微波传输的容错性方法和装置、计算机可读存储介质 | |
CN118041488A (zh) | 数据传输方法、装置、系统及计算机可读存储介质 | |
CN116455517A (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
WO2024002084A1 (zh) | 数据帧的校验方法及相关设备 | |
WO2023131003A1 (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
WO2023131004A1 (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |