CN114374475A - 传输数据的方法和转发设备 - Google Patents
传输数据的方法和转发设备 Download PDFInfo
- Publication number
- CN114374475A CN114374475A CN202210006674.7A CN202210006674A CN114374475A CN 114374475 A CN114374475 A CN 114374475A CN 202210006674 A CN202210006674 A CN 202210006674A CN 114374475 A CN114374475 A CN 114374475A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- segment
- value
- ethernet frame
- 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
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
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- 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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/0057—Block codes
-
- 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
- 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/0072—Error control for data other than payload data, e.g. control data
-
- 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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
本申请提供了一种传输数据的方法,包括:第一转发设备接收以太网帧的多个片段,多个片段包括首个片段以及第一片段,首个片段包括目的媒体访问控制MAC地址域;第一转发设备根据多个片段确定以太网帧的帧校验序列FCS值;第一转发设备基于所述FCS值确定以太网帧发生了错误第一转发设备响应于以太网帧发生了错误的确定,将第一片段修改为第二片段,第二片段包括第二类型指示信息以及第二待传输数据,第二类型指示信息用于指示第二待传输数据的类型为控制字,第一待传输数据的值不等于第二待传输数据的值,第二待传输数据用于指示以太网帧发生了错误;第一转发设备向目的设备发送第二片段。本申请提供的该方法有助于提高目的设备检测出以太网帧中包含有错误的成功率。
Description
本申请是向中国知识产权局提交的申请日为2018年3月31日、申请号为201880091993.4、发明名称为“传输数据的方法和转发设备”的申请的分案申请。
技术领域
本申请涉及通信领域,并且更具体地,涉及通信领域中的传输数据的方法和转发设备。
背景技术
工业物联网以及车联网中通常包括很多台转发设备。源设备发送的数据经由多台转发设备进行转发,从而到达目的设备。多个转发设备可以形成一个链式网络或环状网络。
数据经由链式网络或环状网络进行转发时,每个转发设备都可能引入一些时延。以上使得端到端的时延不能满足某些应用场景的需求。
穿透式(Cut-through)转发技术能够降低端到端时延。例如,在Cut-through转发技术中,转发设备可以在没有接收到完整的以太网帧的情况下,就开始向下一跳转发设备发送已接收到的片段。具体来说,以太网帧1包括片段1、片段2以及片段3。转发设备1可以在仅接收到片段1,尚未接收到片段2和片段3时,向转发设备2发送片段1。
以太网帧在传输过程中,可能会发生错误。当目的设备接收到的以太网帧中包含的错误较多时,目的设备对接收到的以太网帧进行循环冗余校验(cyclic redundancycheck,CRC)校验可能无法检测出以太网帧包含错误。以上将导致数据传输业务发生异常。
发明内容
本申请提供一种传输数据的方法,有助于提高目的设备检测出以太网帧中包含有错误的成功率。
第一方面,提供了一种传输数据的方法,包括:第一转发设备接收以太网帧的多个片段,所述多个片段包括首个片段以及第一片段,所述首个片段包括目的媒体访问控制(MAC)地址域;所述第一转发设备根据所述多个片段确定所述以太网帧的帧校验序列(FCS)值;所述第一转发设备基于所述FCS值确定所述以太网帧发生了错误所述第一转发设备响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段,所述第一片段包括第一类型指示信息以及第一待传输数据,所述第二片段包括第二类型指示信息以及第二待传输数据,所述第一类型指示信息用于指示所述第一待传输数据的类型,所述第二类型指示信息用于指示所述第二待传输数据的类型为控制字,所述第一待传输数据的值不等于所述第二待传输数据的值,所述第二待传输数据用于指示所述以太网帧发生了错误;所述第一转发设备向目的设备发送所述第二片段,所述目的MAC地址域的值等于所述目的设备的MAC地址,所述目的设备的MAC地址不等于所述第一转发设备的MAC地址。
以太网帧从源设备到目的设备进行传输的过程中,转发设备通过对以太网帧进行CRC校验,以发现以太网帧是否出错。当转发设备发现以太网帧发生错误时,转发设备对接收到的以太网帧的片段进行修改,使得修改后的片段(第二片段)指示该以太网帧发生了错误。例如,第二片段可以包含错误控制字。错误控制字用于指示以太网帧发生了错误。转发设备向目的设备发送所述第二片段。上述使得目的设备的PHY电路根据所述第二片段确定接收到的以太网帧发生了错误。具体地,目的设备的PHY电路包含了PCS receiver。所述第二片段包含错误控制字。PCS receiver根据错误控制字确定以太网帧发生了错误。例如,PCS receiver基于错误控制字,进入RX_E状态。处于RX_E状态的PCS receiver生成信号。所述信号包含值等于1的RxC域,以及值等于0xFE的RxD域。PCS receiver通过MII向目的设备的MAC电路发送所述信号。目的设备的MAC电路可以基于所述信号确定以太网帧发生了错误。进而,目的设备的MAC电路可以将以太网帧丢弃。也就是说,目的设备的MAC电路不需要对接收到的以太网帧进行CRC校验,即可确定以太网帧发生了错误。相对于目的设备通过对以太网帧进行CRC校验确定以太网帧发生错误的技术方案,上述技术方案有助于提高目的设备检测出以太网帧中包含有错误的成功率。具体来说,CRC算法的特点决定了当以太网帧包含较少错误时,CRC校验比较容易检测出以太网帧的错误。当以太网帧包含较多错误时,CRC校验有可能检测不出以太网帧的错误。以太网帧从源设备到目的设备进行传输的过程,可能会引入较多的错误。特别是,以太网帧需要经由多个转发设备进行转发时,发生较多错误的可能性比较大。另外,转发设备向下一跳转发设备或者目的设备发送以太网帧前,转发设备可能会重新计算以太网帧的FCS值,并将重新计算出的FCS值携带在以太网帧的FCS域。转发设备重新计算以太网帧的FCS值时,将以太网帧中FCS域之外的域作为参数。以上意味着如果以太网帧发生了错误,这些错误也将作为重新计算以太网帧的FCS值需要使用的参数。这使得下一跳转发设备或者目的设备无法通过CRC校验检测出接收到的以太网帧中包含了错误。
本申请提供的技术方案中,目的设备的PHY电路可以基于修改后的域确定以太网帧发生了错误。目的设备不需要依赖于CRC校验确定以太网帧是否发生了错误。因此,本申请的技术方案有助于提高目的设备检测出以太网帧中包含有错误的成功率。。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一转发设备响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段包括:当所述第一类型指示信息的值不等于所述第二类型指示信息的值时,所述第一转发设备将所述第一片段中的所述第一类型指示信息以及所述第一待传输数据分别修改为所述第二类型指示信息以及所述第二待传输数据;或,当所述第一类型指示信息的值等于所述第二类型指示信息的值时,所述第一转发设备将所述第一片段中的所述第一待传输数据修改为所述第二待传输数据。
通过对第一片段中的类型指示信息进行修改,使得修改后的类型指示信息指示的第一片段中的待传输数据的类型为控制字,并对该第一片段中的待传输数据进行修改,使得修改后的待传输数据的值能够向目的设备指示以太网帧在传输过程中发生了错误,从而使得目的设备在接收到以太网帧时,根据修改后的该第一片段(第二片段),确定该以太网帧在传输过程中发生了错误。
结合第一方面,在第一方面的一种可能的实现方式中,所述第二片段包含RxC域与RxD域,所述RxC域用于携带所述第二类型指示信息,所述RxD域的值为所述第二待传输数据。
通过RxC域的值向目的设备指示该RxD域的值为控制字节,并使得RxD域的值向目的设备指示该以太网帧在传输过程中发生了错误,使得目的设备在确定该RxD域的值的为控制字节时,进一步去查看该RxD域的控制码的值,并最终根据该RxD域的控制码的值,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
结合第一方面,在第一方面的一种可能的实现方式中,所述RxC域的值为1,所述RxD域的值等于0xFE。
结合第一方面,在第一方面的一种可能的实现方式中,所述第二片段包含同步头域,块类型域以及多个待传输数据,所述多个待传输数据中包括所述第二待传输数据,所述第二类型指示信息包括所述同步头域与所述块类型域,所述第二类型指示信息用于指示所述第二待传输数据的类型为控制字,所述第二类型指示信息还用于指示所述第二待传输数据在所述多个待传输数据中的位置。
通过同步头域的值向目的设备指示该同步头域后面是否包括类型为控制字的待传输数据,并通过块类型域的值向目的设备指示该块类型域后面包括的类型为控制字的待传输数据在多个待传输数据中的位置,并使得该位置对应的待传输数据的值向目的设备指示该以太网帧在传输过程中发生了错误,使得目的设备在确定类型为控制字的待传输数据的位置后,进一步去查看该位置对应的待传输数据的值,并最终根据该位置对应的待传输数据的值,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
结合第一方面,在第一方面的一种可能的实现方式中,所述第二待传输数据的值等于0x1E。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一片段中的待传输数据包括FCS域,或,所述第一片段不包括FCS域。
通过对该以太网帧中的除首个片段外的任意一个片段进行修改,使得目的设备在接收到该修改的片段时,根据该修改的片段,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一转发设备基于所述FCS值确定所述以太网帧发生了错误,包括:在所述FCS值不等于所述FCS域的值时,所述第一转发设备确定所述以太网帧发生了错误。
第二方面,提供了一种传输数据的方法,包括:第二转发设备接收首个片段以及第一片段,所述第一片段包括类型指示信息以及待传输数据,所述类型指示信息用于指示所述待传输数据的类型,所述待传输数据的类型为控制字,所述待传输数据用于指示以太网帧发生了错误,所述以太网帧包括所述首个片段,所述首个片段包括目的MAC地址域,所述目的MAC地址域的值等于目的设备的MAC地址,所述第二转发设备的MAC地址不等于所述目的MAC地址域的值;所述第二转发设备向所述目的设备发送所述第一片段。
以太网帧从源设备到目的设备进行传输的过程中,转发设备通过对以太网帧进行CRC校验,以发现以太网帧是否出错。当转发设备发现以太网帧发生错误时,转发设备对接收到的以太网帧的片段进行修改,使得修改后的片段(第二片段)指示该以太网帧发生了错误。例如,第二片段可以包含错误控制字。错误控制字用于指示以太网帧发生了错误。转发设备向目的设备发送所述第二片段。上述使得目的设备的PHY电路根据所述第二片段确定接收到的以太网帧发生了错误。具体地,目的设备的PHY电路包含了PCS receiver。所述第二片段包含错误控制字。PCS receiver根据错误控制字确定以太网帧发生了错误。例如,PCS receiver基于错误控制字,进入RX_E状态。处于RX_E状态的PCS receiver生成信号。所述信号包含值等于1的RxC域,以及值等于0xFE的RxD域。PCS receiver通过MII向目的设备的MAC电路发送所述信号。目的设备的MAC电路可以基于所述信号确定以太网帧发生了错误。进而,目的设备的MAC电路可以将以太网帧丢弃。也就是说,目的设备的MAC电路不需要对接收到的以太网帧进行CRC校验,即可确定以太网帧发生了错误。相对于目的设备通过对以太网帧进行CRC校验确定以太网帧发生错误的技术方案,上述技术方案有助于提高目的设备检测出以太网帧中包含有错误的成功率。具体来说,CRC算法的特点决定了当以太网帧包含较少错误时,CRC校验比较容易检测出以太网帧的错误。当以太网帧包含较多错误时,CRC校验有可能检测不出以太网帧的错误。以太网帧从源设备到目的设备进行传输的过程,可能会引入较多的错误。特别是,以太网帧需要经由多个转发设备进行转发时,发生较多错误的可能性比较大。另外,转发设备向下一跳转发设备或者目的设备发送以太网帧前,转发设备可能会重新计算以太网帧的FCS值,并将重新计算出的FCS值携带在以太网帧的FCS域。转发设备重新计算以太网帧的FCS值时,将以太网帧中FCS域之外的域作为参数。以上意味着如果以太网帧发生了错误,这些错误也将作为重新计算以太网帧的FCS值需要使用的参数。这使得下一跳转发设备或者目的设备无法通过CRC校验检测出接收到的以太网帧中包含了错误。
本申请提供的技术方案中,目的设备的PHY电路可以基于修改后的域确定以太网帧发生了错误。目的设备不需要依赖于CRC校验确定以太网帧是否发生了错误。因此,本申请的技术方案有助于提高目的设备检测出以太网帧中包含有错误的成功率。
结合第二方面,在第二方面的一种可能的实现方式中,所述以太网帧还包括第二片段,所述第二转发设备接收到所述第一片段前,响应于通过对所述以太网帧进行CRC校验确定所述以太网帧发生了错误,所述第二片段被修改为所述第一片段。
结合第二方面,在第二方面的一种可能的实现方式中,所述第二转发设备接收首个片段以及第一片段之后,以及,所述第二转发设备向所述目的设备发送所述第一片段之前,所述方法还包括:所述第二转发设备基于所述目的MAC地址域确定所述第二转发设备的MAC地址不等于所述目的MAC地址域的值;所述第二转发设备向所述目的设备发送所述第一片段包括:所述第二转发设备响应于所述第二转发设备的MAC地址不等于所述目的MAC地址域的值的确定,所述第二转发设备向所述目的设备发送所述第一片段。
结合第二方面,在第二方面的一种可能的实现方式中,所述第二转发设备包括物理编码子层接收机PCS receiver,所述第二转发设备接收所述第一片段之后,所述方法还包括:响应于所述待传输数据,所述PCS receiver进入RX_E状态。
结合第二方面,在第二方面的一种可能的实现方式中,所述第一片段包含RxC域与RxD域,所述RxC域携带所述类型指示信息,所述RxD域携带所述待传输数据。
通过RxC域的值向目的设备指示该RxD域的值为控制字节,并使得RxD域的值向目的设备指示该以太网帧在传输过程中发生了错误,使得目的设备在确定该RxD域的值的为控制字节时,进一步去查看该RxD域的控制码的值,并最终根据该RxD域的控制码的值,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
结合第二方面,在第二方面的一种可能的实现方式中,所述RxC域的值等于1,所述RxD域的值等于0xFE。
结合第二方面,在第二方面的一种可能的实现方式中,所述第一片段包含同步头域,块类型域以及多个待传输数据,所述多个待传输数据中包括所述待传输数据,所述类型指示信息包括所述同步头域与所述块类型域,所述类型指示信息用于指示所述待传输数据的类型为控制字,所述类型指示信息还用于指示所述待传输数据在所述多个待传输数据中的位置。
通过同步头域的值向目的设备指示该同步头域后面是否包括类型为控制字的待传输数据,并通过块类型域的值向目的设备指示该块类型域后面包括的类型为控制字的待传输数据在多个待传输数据中的位置,并使得该位置对应的待传输数据的值向目的设备指示该以太网帧在传输过程中发生了错误,使得目的设备在确定类型为控制字的待传输数据的位置后,进一步去查看该位置对应的待传输数据的值,并最终根据该位置对应的待传输数据的值,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
结合第二方面,在第二方面的一种可能的实现方式中,所述同步头域的值等于0x10,所述待传输数据的值等于0x1E。
结合第二方面,在第二方面的一种可能的实现方式中,所述第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,所述第二片段不包括以太网帧的帧校验序列FCS域。
通过对该以太网帧中的除首个片段外的任意一个片段进行修改,使得目的设备在接收到该修改的片段时,根据该修改的片段,确定该以太网帧在传输过程中发生了错误,进而丢弃该以太网帧。
第三方面,提供了一种转发装置,包括用于执行上述第一方面以及第一方面的各实现方式中的传输数据的方法的各步骤的模块。
第四方面,提供了一种转发设备,包括接收电路、处理电路与发送电路,所述接收电路,用于接收以太网帧的多个片段,所述多个片段包括首个片段以及第一片段,所述首个片段包括目的媒体访问控制MAC地址域;处理电路,用于根据所述多个片段确定所述以太网帧的帧校验序列FCS值;基于所述FCS值确定所述以太网帧发生了错误;以及,响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段,所述第一片段包括第一类型指示信息以及第一待传输数据,所述第二片段包括第二类型指示信息以及第二待传输数据,所述第一类型指示信息用于指示所述第一待传输数据的类型,所述第二类型指示信息用于指示所述第二待传输数据的类型为控制字,所述第一待传输数据的值不等于所述第二待传输数据的值,所述第二待传输数据用于指示所述以太网帧发生了错误;发送电路,用于向目的设备发送所述第二片段,所述目的MAC地址域的值等于所述目的设备的MAC地址,所述目的设备的MAC地址不等于所述转发设备的MAC地址。
第五方面,提供一种转发设备,所述转发设备包括处理器与存储器,所述处理器用于调用所述存储器存储的程序,以执行第一方面或第一方面的任一方面的可能实现方式中的传输数据的方法。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被转发设备的处理模块、通信模块或处理器、收发器运行时,使得转发设备执行上述第一方面及其各种实现方式中的任一种传输数据的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序,运行该程序使得转发设备执行上述第一方面及其各种实现方式中的任一种传输数据的方法。
第八方面,提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的转发设备执行上述第一方面及其各种实现方式中的任一种传输数据的方法。
第九方面,提供了一种转发装置,包括用于执行上述第二方面以及第二方面的各实现方式中的传输数据的方法的各步骤的模块。
第十方面,提供了一种转发设备,包括接收电路与发送电路,所述接收电路用于接收首个片段以及第一片段,所述第一片段包括类型指示信息以及待传输数据,所述类型指示信息用于指示所述待传输数据的类型,所述待传输数据的类型为控制字,所述待传输数据用于指示以太网帧发生了错误,所述以太网帧包括所述首个片段,所述首个片段包括目的MAC地址域,所述目的MAC地址域的值等于目的设备的MAC地址,所述转发设备的MAC地址不等于所述目的MAC地址域的值;所述发送电路,用于向所述目的设备发送所述第一片段。
第十一方面,提供一种转发设备,所述转发设备包括处理器与存储器,所述处理器用于调用所述存储器存储的程序,以执行第二方面或第二方面的任一方面的可能实现方式中的传输数据的方法。
第十二方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被转发设备的处理模块、通信模块或处理器、收发器运行时,使得转发设备执行上述第二方面及其各种实现方式中的任一种传输数据的方法。
第十三方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序,运行该程序使得转发设备执行上述第二方面及其各种实现方式中的任一种传输数据的方法。
第十四方面,提供了一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的转发设备执行上述第二方面及其各种实现方式中的任一种传输数据的方法。
第十五方面,提供了一种系统,该系统包括第三方面的转发装置与第九方面的转发装置,或者,该系统包括第四方面的转发设备与第十方面的转发设备,或者,该系统包括第五方面的转发设备与第十一方面的转发设备。
附图说明
图1为适用于本申请实施例的以太网系统100的示意性框图。
图2为本申请实施例提供的转发设备或目的设备的一种可能的结构示意图。
图3为本申请实施例提供的传输数据的方法的示意性流程图。
图4为本申请实施例提供的传输数据的方法的另一示意性流程图。
图5为本申请实施例提供的转发装置的示意性框图。
图6为本申请实施例提供的转发装置的另一示意性框图。
图7为本申请实施例提供的转发设备的示意性框图。
图8为本申请实施例提供的转发设备的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请中的PHY电路是指用于执行以太网标准定义的物理层的功能的电路。以太网标准可以是IEEE发布的以太网标准。例如,以太网标准可以是IEEE802.3-2015。举例来说,物理层的功能可以包括物理编码子层(physical coding sublayer,PCS)的功能以及物理媒介连接(physical medium attachment,PMA)子层的功能。
本申请中的MAC电路是指用于执行以太网标准定义的媒体访问控制(mediaaccess control,MAC)的功能的电路。以太网标准可以是IEEE发布的以太网标准。例如,以太网标准可以是IEEE802.3-2015。MAC的功能位于数据链路层。逻辑链路控制(logicallink control,LLC)的功能也位于数据链路层。
本申请中,MAC电路和PHY电路可以通过媒体独立接口(media independentinterface,MII)进行通信。例如,MII可以是十吉比特媒体独立接口(ten gigabit mediaindependent interface,XGMII)。在一种可能的设计中,物理层的功能还可以包括协调子层(reconciliation sublayer,RS)的功能。MAC电路可以经由RS电路以及MII与PHY电路通信。RS电路是指用于执行RS的功能的电路。
本申请中的以太网帧包括帧头、净荷以及FCS域。帧头从目的MAC地址域开始,以以太网类型(Ethertype)域或者长度(length)域结束。帧头不包括前导码(preamble)域以及帧开始定界符(Start of frame delimiter,SFD)域。以太网帧不包括preamble域以及SFD域。FCS域用于对以太网帧进行CRC校验。以太网帧中FCS域之外的域是计算以太网帧的FCS值时需要使用的参数。当计算出的FCS值不等于FCS域的值时,认为以太网帧发生了错误。关于以太网帧的格式,可以参考IEEE802.3的描述。
本申请中的片段是指以太网帧的片段。以太网帧被物理层编码处理后,可以获得block。本申请中的片段可以是物理层编码处理获得的block。例如,片段可以是64B/66Bblock。另外,PHY电路通过MII向MAC电路发送以太网帧时,可以通过MII向MAC电路发送RxC域以及RxD域。本申请中的片段也可以是RxC域以及与RxC域关联的RxD域。
本申请中涉及的技术术语的含义以及具体实现方式,可以参考IEEE802.3的描述。例如,可以参考IEEE802.3-2015的描述。上述技术术语包含但不限于控制字(controlcharacter),数据字(data character),控制字节(control octet),数据字节(dataoctet),控制码(control code),同步头(synchronization header,sync header)域,64B/66B块(64B/66Bblock),控制块(control block),数据块(data block),PCS接收机(PCSreceiver),块类型域(block type field),接收控制(receive control,RxC)域以及接收数据(receive data,RxD)域。
首先对本申请中涉及的以太网系统100进行介绍。如图1所示,该以太网系统100中包括源设备101、转发设备102、转发设备103以及目的设备104。源设备101、转发设备102、转发设备103与目的设备104串行连接。待传输的以太网帧由源设备101发出,经过转发设备102与转发设备103后,最终到达目的设备104。
需要说明的是,图1仅示出了两个转发设备:转发设备102与转发设备103。在一种可能的设计中,源设备101与目的设备104之间可以包括至少3个转发设备。待传输的以太网帧由源设备101发出,经由至少3个转发设备进行转发,最终到达目的设备104。
作为示例而非限定,在本申请中,该以太网系统100应用于穿透式转发Cut-through应用场景中。下面结合图1中的以太网系统100对Cut-through技术进行说明。
源设备101将以太网帧发出,当转发设备102收到该以太网帧的部分,而不是全部时,便将接收到的该以太网帧的部分进行转发。例如,以太网帧的部分可以是以太网帧的片段。对于转发设备而言,无需等到接收到完整的以太网帧再进行转发。上述方案使得以太网帧以较小的时延穿过转发设备到达目的设备104。
图2示出了图1所示的转发设备102或转发设备103的一种可能的结构示意图。
该转发设备包括物理层(Physical Layer,PHY)电路201、MAC电路202、MAC电路203与PHY电路204。在一种可能的设计中,PHY电路201和MAC电路202可以被包含在同一个芯片中。在另一种可能的设计中,PHY电路201和MAC电路202可以分别是不同的芯片中。另外,转发设备还可以包括其他部件。例如,转发设备还可以包括网络处理器(图中未示出)。网络处理器可以通过ASIC或者FPGA实现。在一种可能的设计中,网络处理器的接收端口与MAC电路202的发送端口耦合。网络处理器的发送端口与MAC电路203的发送端口耦合。网络处理器可以从MAC电路202提供的以太网帧中获取目的MAC地址。网络处理器可以以目的MAC地址为查找关键字,在MAC表中查找用于转发以太网帧的发送端口。例如,所述发送端口包括MAC电路203以及PHY电路204。进而,网络处理器可以将以太网帧提供给MAC电路203,使得PHY电路204向下一跳设备发送以太网帧。
其中,该PHY电路201、该MAC电路202用于接收相邻设备(例如,源设备或转发设备)发送的片段,该MAC电路203与PHY电路204用于将从该MAC电路202接收的片段发送至下一个相邻设备(例如,下一跳转发设备或目的设备)。
在本申请实施例中,PHY电路201能够以两种传输格式向MAC电路202发送接收到的片段,下面分别进行说明:
传输格式1
PHY电路201对接收到的比特流进行解析,从该比特流获得多个包含66比特的片段。每一个包含66比特的片段均包含2比特的同步头域(sync header field)、1字节的块类型域(block type field)以及n个字节(n≥7)的待传输数据。其中,2比特的同步头域用于指示该66比特的片段中的n个字节的待传输数据是否包含类型为控制字的待传输数据,该块类型域用于指示该n个字节的待传输数据中的类型为控制字的待传输数据在该n个字节的待传输数据中的位置。本申请中的包含66比特的片段可以是64B/66B block。本申请中的待传输数据可以是8比特的数据字节。本申请中的待传输数据也可以是7比特的控制字。
PHY电路201在将该66比特的片段发送至MAC电路202之前,将该66比特的片段进行格式转换。具体地,将该66比特的片段转换为符合媒体独立接口(media independentinterface,MII)格式的片段。通过格式转换,该66比特的片段被转换为8个片段。每一个片段中包括1个比特的RxC域与8个比特的RxD域。且每一个片段中的RxC域的值指示该片段中的RxD域的类型,例如,该RxC域的值能够指示该RxD域的值的类型为控制字或数据字。该PHY电路201将该8个片段采用串行或并行传输的方法传输至MAC电路202。
传输格式2
PHY电路201对接收到的比特流进行解析,从该比特流获得多个包含66比特的片段。每一个66比特的片段包含2比特的同步头域、1字节的块类型域以及n个字节的待传输数据。其中,2比特的同步头域用于指示该66比特的片段中的n个字节的待传输数据是否包含类型为控制字的待传输数据。该块类型域用于指示该n个字节的待传输数据中的类型为控制字的待传输数据在该n个字节的待传输数据中的位置。
与传输格式1的场景不同,在传输格式2的场景中,PHY电路201在将该66比特的片段发送至MAC电路202之前,并不对该66比特的片段进行格式转换,而是直接向MAC电路202发送该66比特的片段。
图3为本申请实施例提供的传输数据的方法300的示意性流程图,该方法包括301至304。该方法300可以由图1或者图2所示的转发设备102执行。
301,第一转发设备接收以太网帧的多个片段,该多个片段包括首个片段以及第一片段,该首个片段包括目的媒体访问控制MAC地址域。
例如,源设备101生成以太网帧后,可以通过传输介质向转发设备102发送该以太网帧。以太网帧可以以比特流的形式在传输介质中传输。转发设备102中的PHY电路201可以通过传输介质接收比特流。所述比特流中包含所述多个片段。PHY电路201可以位于转发设备102的接收以太网端口中。接收以太网端口还可以包含MAC电路202。所述传输介质可以是电缆或者光纤。
302,该第一转发设备根据该多个片段确定该以太网帧的FCS值。
具体地,转发设备102(例如,第一转发设备)的PHY电路201接收来自于上一设备(例如,该上一设备可以是源设备101,或者是位于源设备101与转发设备102之间的其他转发设备)发送的以太网帧的多个片段,并将该多个片段发送至MAC电路202。该多个片段包括以太网帧的首个片段以及第一片段。该第一片段为该多个片段中除该首个片段外的任意一个片段。该首个片段包括目的MAC地址域。该目的MAC地址域的值等于目的设备104的MAC地址。
MAC电路202根据接收到的来自于该PHY电路201的多个片段,计算该以太网帧的FCS值。MAC电路202可以采用CRC算法计算该以太网帧的FCS值。举例来说,CRC算法可以是CRC32算法。
需要说明的是,在Cut-through应用场景中,该多个片段是在不同时刻到达转发设备102的MAC电路202的。MAC电路202在接收到该多个片段中的首个片段时,可以开始计算以太网帧的FCS值。该转发设备102接收到该以太网帧的所有的片段(例如,该多个片段)后,该MAC电路202能够完成对FCS值的计算,从而,确定该以太网帧的FCS值。从上述描述可以看出,MAC电路202计算以太网帧的FCS值时需要用到以太网帧的所有片段。每个片段都参与了FCS值的计算过程,为FCS值的计算过程提供了参数。
该多个片段中的某一个片段为FCS值的计算过程提供了参数后,该MAC电路202便可以将该片段进行转发。或者,该MAC电路202也可以先保存该片段,然后转发该片段。MAC电路202转发以太网帧的片段时,可以按照先进先出的原则进行转发。即,较早接收的片段需要早于较晚接收的片段进行转发。
需要说明的是,当PHY电路201按照上述传输格式1向MAC电路202发送接收到的片段时,本申请实施例中的该首个片段包含6个RxC/RxD对。本申请中的RxC/RxD对是指由一个RxC域和一个RxD域组成的信号。一个RxC域包含1个比特。一个RxD域包含8个比特。其中,RxC/RxD对中的RxC域与RxD域具有对应关系。具体地,RxC/RxD对中的RxC域用于指示该RxC/RxD对中的RxD域的类型。因此,首个片段包含6个RxC/RxD对。这意味着首个片段包含6个比特的RxC域与6个字节的RxD域。该6个字节的RxD域用于承载该目的MAC地址域的值。除该首个片段以外,其他片段均包括一个RxC/RxD对。
还需要说明的是,该多个片段中的每个片段包括类型指示信息以及待传输数据,该类型指示信息的值用于指示该待传输数据的类型是否为控制字。
303,该第一转发设备基于该FCS值确定该以太网帧发生了错误。
具体地,该MAC电路202根据301中确定的该以太网帧的FCS值确定该以太网帧在传输过程中发生了错误。以太网帧中包含了FCS域。当第一转发设备确定FCS值与FCS域的值不相等时,该第一转发设备可以确定该以太网帧发生了错误。
可以理解,源设备101生成以太网帧后,该以太网帧从源设备101传输到目的设备104的过程中,以太网帧可能受到干扰而发生错误。例如,以太网帧在传输过程中可能受到电磁干扰。以太网帧发生错误具体可以是,以太网帧中包含的一个比特或者多个比特的值发生了变化。例如,以太网帧中的一个比特的值从0变成了1。或者,以太网帧中的一个比特的值从1变成了0。
作为示例而非限定,该以太网帧的多个片段中的最后一个片段中包括有FCS域,该MAC电路202将确定的以太网帧的FCS值与该最后一个片段中包括的FCS域的值进行比较。
若该FCS值与该FCS域的值不同,则该MAC电路202确定该以太网帧在传输过程中发生了错误。
若该FCS值与该FCS域的值相同,则该MAC电路202确定该以太网帧在传输过程中尚未发生错误。
还需要说明的是,该MAC电路202根据接收到的来自于该PHY电路201的多个片段计算该以太网帧的FCS值时,该多个片段不包括该最后一个片段。
304,该第一转发设备响应于该以太网帧发生了错误的确定,将该第一片段修改为第二片段,该第二片段包括第二类型指示信息以及第二待传输数据,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第二待传输数据用于指示该以太网帧发生了错误。
其中,该第一片段包括第一类型指示信息以及第一待传输数据,该第一类型指示信息用于指示该第一待传输数据的类型,该第一待传输数据的值不等于该第二待传输数据的值。
具体地,在该MAC电路202确定该以太网帧在传输过程中发生了错误时,该MAC电路202便对该多个待片段中的尚未发送出去的至少两个片段中的一个片段(例如,第一片段)进行修改,获得该第二片段。
该第二片段中的类型指示信息(例如,第二类型指示信息)指示的该第二片段中的待传输数据(例如,第二待传输数据)的类型为控制字,该第二片段中的第二待传输数据的值不等于该第一片段中的待传输数据(例如,第一待传输数据)的值,该第一片段中的类型指示信息(例如,第一类型指示信息)用于指示该第一待传输数据的类型为控制字或数据。
当该第一类型指示信息的值不等于该第二类型指示信息的值时,即该第一类型指示信息指示的该第一待传输数据的类型为数据,则MAC电路202分别对该第一类型指示信息与该第一待传输数据进行修改,将该第一类型指示信息的值修改为该第二类型指示信息的值,并将该第一待传输数据的值修改为该第二待传输数据的值,从而获得该第二片段;
当该第一类型指示信息的值等于该第二类型指示信息的值时,即该第一类型指示信息指示的该第一待传输数据的类型为控制字,则MAC电路202仅对该第一待传输数据进行修改,将该第一待传输数据的值修改为该第二待传输数据的值,从而获得该第二片段。
305,第一转发设备向目的设备发送该第二片段。
其中,该目的MAC地址域的值等于该目的设备的MAC地址,该目的设备的MAC地址不等于该第一转发设备的MAC地址。
具体地,该MAC电路202在获得了该第二片段后,便可以向目的设备104发送该第二片段,该目的MAC地址等于该目的设备104的MAC地址,该目的设备104的MAC地址不等于该转发设备102的MAC地址。在一种可能的设计中,第一转发设备经由其他转发设备向目的设备发送该第二片段。其他转发设备可以是一个转发设备,也可以是多个转发设备。其他转发设备不对第二片段进行修改。其他转发设备透传所述第二片段。在另一种可能的设计中,第一转发设备直接向目的设备发送该第二片段。第二片段不需要经由其他转发设备即可到达目的设备。
该MAC电路202首先将该第二片段发送至MAC电路203,由该MAC电路203将该第二片段发送至PHY电路204,最终由该PHY电路204将该第二片段发送至目的设备104。
需要说明的是,该第一片段为该以太网帧的多个片段中除该首个片段外的任意一个片段,例如,该第一片段为该以太网帧的多个片段的最后一个片段,此时,该第一片段包括该FCS域。
下面结合前面提到的PHY电路201向MAC电路202发送第一片段时使用的两种传输格式对MAC电路202对第一片段进行修改的两种情况进行说明。
情况1
当PHY电路201向MAC电路202发送该第一片段时使用的格式符合上述的传输格式1的情况下,该第二片段包含RxC域与RxD域,该RxC域的值用于携带该第二类型指示信息,该RxD域的值为该第二待传输数据。
作为示例而非限定,当该RxC域的值为0x0时,指示待传输数据为数据字节,即,指示待传输数据的类型为数据字。当该RxC域的值为0x1时,指示待传输数据为控制字节,即,指示该待传输数据的类型为控制字,当该RxD域的值为0xFE时,指示以太网帧在传输过程中发生了错误。
例如,当该第一片段中的第一类型指示信息的值为0时,则转发设备102的MAC电路202需要将该第一类型指示信息的值修改为1,并将该第一待传输数据的值修改为0xFE,从而获得该第二片段,即,该第二片段的第二类型指示信息的值为1,该第二待传输数据的值为0xFE。以便目的设备104在接收到该第二片段时,根据该第二片段中的RxC域的值(0x1),确定该RxD域为控制字节,并进一步查看该RxD域的数据字节的值(0xFE),最终根据该RxD域的数据字节的值,确定新的以太网帧在传输过程中发生了错误。
还例如,当该第一片段中的第一类型指示信息的值为1时,则转发设备102的MAC电路202仅需要将该第一待传输数据的值修改为0xFE,从而获得该第二片段,即,该第二片段的第二类型指示信息的值为1,该第二待传输数据的值为0xFE。以便目的设备104在接收到该第二片段时,根据该第二片段中的RxC域的值(0x1),确定该RxD域为控制字节,并进一步查看该RxD域的数据字节的值(0xFE),最终根据该RxD域的数据字节的值,确定新的以太网帧在传输过程中发生了错误。
在本申请实施例中,通过修改第一片段中的第一类型指示信息和/或第一待传输数据,获得第二片段,从而使得下一转发设备根据该第二片段,确定以太网帧在传输过程中发生了错误。
需要说明的是,由于只有在该第二片段中的第二类型指示信息的值指示的第二待传输数据的类型为控制字时,目的设备104才有可能去进一步查看该第二待传输数据的值,则才有可能根据该第二待传输数据的值确定该以太网帧在传输过程中发生了错误。因此,当该第二类型指示信息的值指示的该第二待传输数据的类型为数据时,则MAC电路202需要同时对该第二类型指示信息的值与该第二待传输数据的值进行修改;当该第二类型指示信息的值指示的该第二待传输数据的类型为控制字时,则MAC电路202仅需要对该第二待传输数据的值进行修改。
情况2
当PHY电路201向MAC电路202发送该第一片段使用的格式符合上述的传输格式2的情况下,该第二片段包含同步头域,块类型域以及n(n≥7)个字节的待传输数据,该n个字节待传输数据中包括该第二待传输数据,该第二类型指示信息包括该同步头域与该块类型域,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第二类型指示信息还用于指示该第二待传输数据在该n个字节的待传输数据中的位置。
具体地,该MAC电路202从PHY电路201接收到的该第一片段的格式符合上述的传输格式2。即该第二片段包含2比特的同步头域、1字节的块类型域以及n个字节的待传输数据,该第二类型指示信息用于指示第二待传输数据的类型为控制字,该第二类型指示信息还用于指示该第二待传输数据在该n个字节的待传输数据中的位置。具体实现时为:该同步头域指示该n个字节的待传输数据中是否包括类型为控制字的待传输数据,该块类型域用于指示该第二待传输数据在该n个字节的待传输数据中的位置。
需要说明是,关于该同步头域的取值、该块类型域的取值以及该n个字节的待传输数据的取值之间的对应关系请参照以太网标准IEEE802.3-2015中的49.2.4.4节中的图49-7(Figure 49-7)。
作为示例而非限定,从该图中可以看出,当该同步头域的值为01时,指示该同步头域之后包括8个字节的待传输数据,且该8个字节的待传输数据均为数据字节,该8个数据字节分别为D0~D7;当该同步头域的值为10,且该块类型域的值为0x1E时,指示该块类型域之后包括8个字节的待传输数据,且该8个字节的待传输数据均为控制码,该8个控制码分别为C0~C7,当该C0~C7中的任意一个控制码的值为0x1E时,指示该以太网帧在传输过程中发生了错误;当该同步头域的值为10,且该块类型域的值为0x33时,指示该块类型域之后包括8个字节的待传输数据,且该8个字节的待传输数据中包括4个控制码与3个数据字节,该4个控制码分别为C0~C3,该3个数据字节分别为D5~D7,当该C0~C3中的任意一个控制码的值为0x1E时,指示以太网帧在传输过程中发生了错误。
例如,当该第一片段中的同步头域的值为01时,则转发设备102的MAC电路202需要将该第一类型指示信息的值修改为10,并将该同步头域之后的8个数据字节D0~D7中的D3修改为控制码C3,并且该控制码C3的值为0x1E,从而获得该第二片段,即,该第二片段的同步头域的值为10,该同步头域之后的8个待传输数据分别为D0、D1、D2、C3、D4、D5、D6、D7,其中,C3为该第二待传输数据。以便目的设备104在接收到该第二片段时,根据该第二片段中的同步头域的值(10),确定该同步头域之后的8个待传输数据中包括控制码,并进一步查看该控制码的值(0x1E),最终根据该控制码的值,确定新的以太网帧在传输过程中发生了错误。
本申请中,源设备生成以太网帧并经由至少一个转发设备向目的设备发送该以太网帧。转发设备对接收到的以太网帧进行CRC校验确定以太网帧发生了错误。转发设备对接收到的以太网帧进行了修改。修改后的以太网帧中包含了第二片段。目的设备接收到的以太网帧不同于源设备生成的以太网帧。为了对不同的对象进行区分,本申请将目的设备收到的以太网帧称为新的以太网帧。
还例如,当该第一片段中的同步头域的值为10时,则转发设备102的MAC电路202仅需要将该块类型域之后的C0~C3或D5~D7中的任意一个的值修改为0x1E(例如,将该C0~C3中的C2的值修改为0x1E,或者将D5~D7中的D6修改为控制码C6),从而获得该第二片段,即,该第二片段的同步头域的值为10,该同步头域之后的8个待传输数据中的C2的值为0x1E,其余待传输数据的值不变,C2为该第二待传输数据。以便目的设备104在接收到该第二片段时,根据该第二片段中的同步头域的值(10),确定该同步头域之后的8个待传输数据中包括控制码,并根据该块类型域的值0x33,确定该块类型域之后的C0~C3位置上的待传输数据为控制码,并进一步查看该控制码的值(0x1E),最终根据该控制码的值,确定新的以太网帧在传输过程中发生了错误。
需要说明的是,由于块类型域用于指示其后的8个字节的待传输数据中的控制码在该8个字节待传输数据中的位置,因此当将D5~D7中的D6修改为控制码C6时,相应地也要对块类型域的值进行修改。
还需要说明的是,上述新的以太网帧为包括该第二片段以及该多个片段中除该第一片段的以太网帧。
在本申请实施例中,通过修改第一片段中的第一类型指示信息和/或第一待传输数据,获得第二片段,从而使得下一转发设备根据该第二片段,确定以太网帧在传输过程中发生了错误。
需要说明的是,由于只有在该第二片段中的第二类型指示信息的值指示的第二待传输数据的类型为控制字时,目的设备104才有可能去进一步查看该第二待传输数据的值,则才有可能根据该第二待传输数据的值确定该以太网帧在传输过程中发生了错误。因此,当该第二类型指示信息的值指示的该第二待传输数据的类型为数据时,则MAC电路202需要同时对该第二类型指示信息的值与该第二待传输数据的值进行修改;当该第二类型指示信息的值指示的该第二待传输数据的类型为控制字时,则MAC电路202仅需要对该第二待传输数据的值进行修改。
下面针对情况1与情况2中涉及的目的设备104确定新的以太网帧发生了错误的具体细节进行说明。
该目的设备104接收该第二片段,以及该多个片段中除该第一片段的片段;该目的设备104基于该第二片段确定新的以太网帧发生了错误,该新的以太网帧包含了该第二片段,以及该多个片段中除该第一片段的片段;该目的设备104响应于该以太网帧发生了错误的确定,将该新的以太网帧丢弃。
作为示例而非限定,该目的设备104的PHY电路201包括物理编码子层接收机(PCSreceiver),该目的设备基于该第二片段确定新的以太网帧发生了错误包括:
该目的设备104响应于该第二片段中的第二待传输数据,该PHY电路201的PCSreceiver进入RX_E状态,处于RX_E状态的该PHY电路201的PCS receiver向该MAC电路202发送信号:
该信号包含值等于1的RxC域,以及值等于0xFE的RxD域,该MAC电路202基于该信号中的RxC域的值以及RxD域的值,确定该新的以太网帧发生了错误;或
该信号包含值等于10的同步头域,值等于0x33的块类型域,以及C0~C3与D5~D7,其中C2的值为0x1E,该MAC电路202基于该信号中的同步头域的值,块类型域的值,以及C2的值,确定该新的以太网帧发生了错误。
作为示例而非限定,当该目的设备104响应于该新的以太网帧发生了错误的确定,将该新的以太网帧丢弃,包括:
该目的设备104中的MAC电路202丢弃该新的以太网帧。
需要说明的是,当该转发设备102与该目的设备104相邻时,即,该转发设备102与该目的设备104之间不存在其他转发设备时,该修改的片段由该转发设备102直接发送至该目的设备104;或者,当该转发设备102与该目的设备104之间还包括其他转发设备时,该第二片段则是由该转发设备102先发送至位于其后的转发设备,再由后面的转发设备(例如,转发设备103)发送至目的设备104。
下面对转发设备103将从转发设备102接收的以太网帧的多个片段发送至目的设备104的方法400进行说明。
图4为本申请实施例提供的传输数据的方法400的示意性流程图,该方法包括401以及402。该方法400可以由图1或图2所示的转发设备103执行。
401,第二转发设备接收首个片段以及第一片段,该第一片段包括类型指示信息以及待传输数据,该类型指示信息用于指示该待传输数据的类型,该待传输数据的类型为控制字,该待传输数据用于指示以太网帧发生了错误。
其中,该以太网帧包括该首个片段,该首个片段包括目的MAC地址域,该目的MAC地址域的值等于目的设备的MAC地址,该第二转发设备的MAC地址不等于该目的MAC地址域的值。
例如,第二转发设备包含接收以太网端口。接收以太网端口中包含PHY电路。第二转发设备可以利用接收以太网端口中包含PHY电路接收首个片段以及第一片段。关于401的具体实现方式,可以参考图3所示的实施例对301的描述,此处不再赘述。
具体地,转发设备103(例如,第二转发设备)的PHY电路201接收转发设备102的PHY电路204发送的方法300中的修改的片段(例如,第一片段),并将该修改的片段发送至转发设备103的MAC电路202,该修改的片段包括类型指示信息与待传输数据,该类型指示信息用于指示该待传输数据的类型为控制字,该待传输数据用于指示以太网帧在传输过程中发生了错误,其中,该以太网帧包括该首个片段,该首个片段包括目的MAC地址域,该目的MAC地址域的值等于目的设备104的MAC地址,该转发设备103的MAC地址不等于该目的MAC地址域的值。
402,该第二转发设备向目的设备发送该第一片段。
例如,第二转发设备包含发送以太网端口。关于402的具体实现方式,可以参考图3所示的实施例对305的描述,此处不再赘述。
作为示例而非限定,该转发设备103接收首个片段以及第一片段之后,以及,该转发设备103向该目的设备104发送该第一片段之前,该方法400还包括:
该转发设备103基于该目的MAC地址域确定该转发设备103的MAC地址不等于该目的MAC地址域的值。
该转发设备103向该目的设备104发送该第一片段,包括:
该转发设备103响应于该转发设备103的MAC地址不等于该目的MAC地址域的值的确定,该转发设备103向该目的设备104发送该第一片段。
具体地,转发设备103在向目的设备104发送该第一片段之前,确定其MAC地址不等于该首个片段包括的目的MAC地址域的值,进而确定转发设备103不是目的设备,并确定将该第一片段发送至目的设备104。
作为示例而非限定,该以太网帧还包括第二片段,该转发设备103接收到该第一片段前,响应于通过对该以太网帧进行CRC校验确定该以太网帧发生了错误,该第二片段被修改为该第一片段。
具体地,该以太网帧还包括第二片段,当转发设备102确定该以太网帧发生了错误时,该转发设备102响应于通过对该以太网帧进行CRC校验确定该以太网帧发生了错误,将该第二片段修改为该第一片段,并将该第一片段发送至该转发设备103。
作为示例而非限定,该转发设备103的PHY电路201包括物理编码子层接收机(physical coding sublayer,PCS)receiver。该转发设备103的PHY电路201接收到该第一片段之后,该PCS receiver响应于第一片段中的待传输数据,该PCS receiver进入RX_E状态。进而,PHY电路201可以确定该以太网帧在传输过程中发生了错误。
作为示例而非限定,该第一片段包含RxC域与RxD域,该RxC域携带该类型指示信息,该RxD域携带该待传输数据。
作为示例而非限定,该RxC域的值等于1,该RxD域的值等于0xFE。
作为示例而非限定,该第一片段包含同步头域,块类型域以及多个待传输数据,该多个待传输数据中包括该待传输数据,该同步头域与该块类型域携带该类型指示信息。
作为示例而非限定,该同步头域的值等于0x10,该待传输数据的值等于0x1E。
作为示例而非限定,该第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,该第二片段不包括以太网帧的帧校验序列FCS域。
上文结合图1至图4,描述了本申请实施例提供的传输数据的方法,下面结合图5至图8描述本申请实施例提供的转发装置、转发设备、目的装置与目的设备。
图5为本申请实施例提供的转发装置500的示意性框图,该转发装置500包括接收模块510、处理模块520与发送模块530。
举例来说,转发装置500可以是图1或图2所示的转发设备102。转发装置500可以用于执行图3所示的方法。关于转发装置500的具体实现方式,可以参考图3对应的实施例的说明,此处不再赘述。
接收模块510,用于接收以太网帧的多个片段,该多个片段包括首个片段以及第一片段,该首个片段包括目的媒体访问控制MAC地址域。
举例来说,接收模块510可以用于执行301。关于接收模块510的具体实现方式,可以参考图3对应的实施例对301的描述。
处理模块520,用于根据该多个片段确定该以太网帧的帧校验序列FCS值;基于该FCS值确定该以太网帧发生了错误;以及,响应于该以太网帧发生了错误的确定,将该第一片段修改为第二片段,该第一片段包括第一类型指示信息以及第一待传输数据,该第二片段包括第二类型指示信息以及第二待传输数据,该第一类型指示信息用于指示该第一待传输数据的类型,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第一待传输数据的值不等于该第二待传输数据的值,该第二待传输数据用于指示该以太网帧发生了错误。
举例来说,处理模块520可以用于执行302、303以及304。关于处理模块520的具体实现方式,可以参考图3对应的实施例对302、303以及304的描述。
发送模块530,用于向目的设备发送该第二片段,该目的MAC地址域的值等于该目的设备的MAC地址,该目的设备的MAC地址不等于该转发设备的MAC地址。
举例来说,发送模块530可以用于执行305。关于发送模块530的具体实现方式,可以参考图3对应的实施例对305的描述。
可选地,该处理模块520用于:当该第一类型指示信息的值不等于该第二类型指示信息的值时,将该第一片段中的该第一类型指示信息以及该第一待传输数据分别修改为该第二类型指示信息以及该第二待传输数据;或,当该第一类型指示信息的值等于该第二类型指示信息的值时将该第一片段中的该第一待传输数据修改为该第二待传输数据。
可选地,该第二片段包含RxC域与RxD域,该RxC域携带该第二类型指示信息,该RxD域携带该第二待传输数据。
可选地,该RxC域的值为1,该RxD域的值等于0xFE。
可选地,该第二片段包含同步头域,块类型域以及多个待传输数据,该多个待传输数据中包括该第二待传输数据,该第二类型指示信息包括该同步头域与该块类型域,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第二类型指示信息还用于指示该第二待传输数据在该多个待传输数据中的位置。
可选地,该第二待传输数据的值等于0x1E。
可选地,该第一片段中的待传输数据包括FCS域,或,该第一片段不包括FCS域。可选地,该处理模块520用于:在该FCS值不等于该FCS域的值时,确定该以太网帧发生了错误。
应理解,本发明实施例中的处理模块520可以由处理器或处理器相关电路组件实现,接收模块510与发送模块530可以由收发器或收发器相关电路组件实现。
图6为本申请实施例提供的转发装置600的示意性框图,该转发装置600包括接收模块610与发送模块620。
举例来说,转发装置600可以是图1或图2所示的转发设备103。转发装置600可以用于执行图4所示的方法。关于转发装置600的具体实现方式,可以参考图4对应的实施例的说明,此处不再赘述。
接收模块610,用于接收首个片段以及第一片段,该第一片段包括类型指示信息以及待传输数据,该类型指示信息用于指示该待传输数据的类型,该待传输数据的类型为控制字,该待传输数据用于指示以太网帧发生了错误,该以太网帧包括该首个片段,该首个片段包括目的MAC地址域,该目的MAC地址域的值等于目的设备的MAC地址,该转发设备的MAC地址不等于该目的MAC地址域的值。
举例来说,接收模块610可以用于执行401。关于接收模块610的具体实现方式,可以参考图4对应的实施例中对401的描述。
发送模块620,用于向该目的设备发送该第一片段。
举例来说,发送模块620可以用于执行402。关于发送模块620的具体实现方式,可以参考图4对应的实施例中对402的描述。
可选地,该以太网帧还包括第二片段,该转发设备接收到该第一片段前,响应于通过对该以太网帧进行CRC校验确定该以太网帧发生了错误,该第二片段被修改为该第一片段。
可选地,该转发装置600还包括处理模块630,该处理模块630用于:
在该接收模块610接收首个片段以及第一片段之后,以及,在该发送模块620向该目的设备发送该第一片段之前,基于该目的MAC地址域确定该转发设备的MAC地址不等于该目的MAC地址域的值;
该发送模块620用于:
响应于该转发设备的MAC地址不等于该目的MAC地址域的值的确定,向该目的设备发送该第一片段。
可选地,该接收模块610包括PCS receiver,该PCS receiver用于:在该接收模块610接收该第一片段之后,响应于该待传输数据,该PCS receiver进入RX_E状态。
可选地,该第一片段包含RxC域与RxD域,该RxC域携带该类型指示信息,该RxD域携带该待传输数据。
可选地,该RxC域的值等于1,该RxD域的值等于0xFE。
可选地,该第一片段包含同步头域,块类型域以及多个待传输数据,该多个待传输数据中包括该待传输数据,该类型指示信息包括该同步头域与该块类型域,该类型指示信息用于指示该待传输数据的类型为控制字,该类型指示信息还用于指示该待传输数据在该多个待传输数据中的位置。
可选地,该同步头域的值等于0x10,该待传输数据的值等于0x1E。
可选地,该第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,该第二片段不包括以太网帧的帧校验序列FCS域。
应理解,本发明实施例中的处理模块630可以由处理器或处理器相关电路组件实现,接收模块610、发送模块620可以由收发器或收发器相关电路组件实现。
图7为本申请实施例提供的转发设备700的示意性框图,该转发设备700包括接收电路710、处理电路720与发送电路730。
举例来说,转发设备700可以是图1或图2所示的转发设备102。转发设备700可以用于执行图3所示的方法。关于转发设备700的具体实现方式,可以参考图3对应的实施例的说明,此处不再赘述。
接收电路710,用于接收以太网帧的多个片段,该多个片段包括首个片段以及第一片段,该首个片段包括目的MAC地址域。
举例来说,接收电路710可以用于执行301。关于接收电路710的具体实现方式,可以参考图3对应的实施例对301的描述。
处理电路720,用于根据该多个片段确定该以太网帧的帧校验序列FCS值;基于该FCS值确定该以太网帧发生了错误;以及,响应于该以太网帧发生了错误的确定,将该第一片段修改为第二片段,该第一片段包括第一类型指示信息以及第一待传输数据,该第二片段包括第二类型指示信息以及第二待传输数据,该第一类型指示信息用于指示该第一待传输数据的类型,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第一待传输数据的值不等于该第二待传输数据的值,该第二待传输数据用于指示该以太网帧发生了错误。
举例来说,处理电路720可以用于执行302、303以及304。关于处理电路720的具体实现方式,可以参考图3对应的实施例对302、303以及304的描述。
发送电路730,用于向目的设备发送该第二片段,该目的MAC地址域的值等于该目的设备的MAC地址,该目的设备的MAC地址不等于该转发设备的MAC地址。
举例来说,发送电路730可以用于执行305。关于发送电路730的具体实现方式,可以参考图3对应的实施例对305的描述。
可选地,该处理电路720用于:当该第一类型指示信息的值不等于该第二类型指示信息的值时,将该第一片段中的该第一类型指示信息以及该第一待传输数据分别修改为该第二类型指示信息以及该第二待传输数据;或,当该第一类型指示信息的值等于该第二类型指示信息的值时将该第一片段中的该第一待传输数据修改为该第二待传输数据。
可选地,该第二片段包含RxC域与RxD域,该RxC域携带该第二类型指示信息,该RxD域携带该第二待传输数据。
可选地,该RxC域的值为1,该RxD域的值等于0xFE。
可选地,该第二片段包含同步头域,块类型域以及多个待传输数据,该多个待传输数据中包括该第二待传输数据,该第二类型指示信息包括该同步头域与该块类型域,该第二类型指示信息用于指示该第二待传输数据的类型为控制字,该第二类型指示信息还用于指示该第二待传输数据在该多个待传输数据中的位置。
可选地,该第二待传输数据的值等于0x1E。
可选地,该第一片段中的待传输数据包括FCS域,或,该第一片段不包括FCS域。可选地,该处理电路720用于:在该FCS值不等于该FCS域的值时,确定该以太网帧发生了错误。
图8为本申请实施例提供的转发设备800的示意性框图,该转发设备800包括接收电路810、发送电路820。
举例来说,转发设备800可以是图1或图2所示的转发设备103。转发设备800可以用于执行图4所示的方法。关于转发设备800的具体实现方式,可以参考图4对应的实施例的说明,此处不再赘述。
接收电路810,用于接收首个片段以及第一片段,该第一片段包括类型指示信息以及待传输数据,该类型指示信息用于指示该待传输数据的类型,该待传输数据的类型为控制字,该待传输数据用于指示以太网帧发生了错误,该以太网帧包括该首个片段,该首个片段包括目的MAC地址域,该目的MAC地址域的值等于目的设备的MAC地址,该转发设备的MAC地址不等于该目的MAC地址域的值。
举例来说,接收电路810可以用于执行401。关于接收电路810的具体实现方式,可以参考图4对应的实施例中对401的描述。
发送电路820,用于向该目的设备发送该第一片段。
举例来说,发送电路820可以用于执行402。关于发送电路820的具体实现方式,可以参考图4对应的实施例中对402的描述。
可选地,该以太网帧还包括第二片段,该转发设备接收到该第一片段前,响应于通过对该以太网帧进行CRC校验确定该以太网帧发生了错误,该第二片段被修改为该第一片段。
可选地,该转发装置600还包括处理电路830,该处理电路830用于:
在该接收电路810接收首个片段以及第一片段之后,以及,在该发送电路820向该目的设备发送该第一片段之前,基于该目的MAC地址域确定该转发设备的MAC地址不等于该目的MAC地址域的值;
该发送电路820用于:
响应于该转发设备的MAC地址不等于该目的MAC地址域的值的确定,向该目的设备发送该第一片段。
可选地,该接收电路810包括物理编码子层接收机PCS receiver,该PCS receiver用于:在该接收电路810接收该第一片段之后,响应于该待传输数据,该PCS receiver进入RX_E状态。
可选地,该第一片段包含RxC域与RxD域,该RxC域携带该类型指示信息,该RxD域携带该待传输数据。
可选地,该RxC域的值等于1,该RxD域的值等于0xFE。
可选地,该第一片段包含同步头域,块类型域以及多个待传输数据,该多个待传输数据中包括该待传输数据,该类型指示信息包括该同步头域与该块类型域,该类型指示信息用于指示该待传输数据的类型为控制字,该类型指示信息还用于指示该待传输数据在该多个待传输数据中的位置。
可选地,该同步头域的值等于0x10,该待传输数据的值等于0x1E。
可选地,该第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,该第二片段不包括以太网帧的帧校验序列FCS域。
应理解,本发明实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件执行,还是以计算机软件和电路硬件的结合执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (32)
1.一种传输数据的方法,其特征在于,包括:
第一转发设备接收以太网帧的多个片段,所述多个片段包括首个片段以及第一片段,所述首个片段包括目的媒体访问控制MAC地址域;
所述第一转发设备根据所述多个片段确定所述以太网帧发生了错误;
所述第一转发设备响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段,所述第一片段包括第一类型指示信息以及第一待传输数据,所述第二片段包括第二类型指示信息以及第二待传输数据,所述第一类型指示信息用于指示所述第一待传输数据的类型,所述第二类型指示信息用于指示所述第二待传输数据的类型为控制字,所述第一待传输数据的值不等于所述第二待传输数据的值,所述第二待传输数据用于指示所述以太网帧发生了错误;
所述第一转发设备向目的设备发送所述第二片段,所述目的MAC地址域的值等于所述目的设备的MAC地址,所述目的设备的MAC地址不等于所述第一转发设备的MAC地址;
其中,所述第二片段还包含多个待传输数据,所述多个待传输数据中包括所述第二待传输数据,所述第二类型指示信息还用于指示所述第二待传输数据在所述多个待传输数据中的位置。
2.根据权利要求1所述的方法,其特征在于,所述第一转发设备响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段包括:
当所述第一类型指示信息的值不等于所述第二类型指示信息的值时,所述第一转发设备将所述第一片段中的所述第一类型指示信息以及所述第一待传输数据分别修改为所述第二类型指示信息以及所述第二待传输数据;或,
当所述第一类型指示信息的值等于所述第二类型指示信息的值时,所述第一转发设备将所述第一片段中的所述第一待传输数据修改为所述第二待传输数据。
3.根据权利要求1或2所述的方法,其特征在于,所述第二片段包含RxC域与RxD域,所述RxC域携带所述第二类型指示信息,所述RxD域携带所述第二待传输数据。
4.根据权利要求3所述的方法,其特征在于,所述RxC域的值为1,所述RxD域的值等于0xFE。
5.根据权利要求1或2所述的方法,其特征在于,所述第二待传输数据的值等于0x1E。
6.根据权利要求1或2所述的方法,其特征在于,所述第一转发设备根据所述多个片段确定所述以太网帧发生了错误,包括:
所述第一转发设备根据所述多个片段确定所述以太网帧的帧校验序列FCS值;
所述第一转发设备基于所述FCS值确定所述以太网帧发生了错误;
所述第一片段中的待传输数据包括FCS域,或,所述第一片段不包括FCS域。
7.根据权利要求6所述的方法,其特征在于,所述第一转发设备基于所述FCS值确定所述以太网帧发生了错误,包括:
在所述FCS值不等于所述FCS域的值时,所述第一转发设备确定所述以太网帧发生了错误。
8.一种传输数据的方法,其特征在于,包括:
第二转发设备接收首个片段以及第一片段,所述第一片段包括类型指示信息以及待传输数据,所述类型指示信息用于指示所述待传输数据的类型,所述待传输数据的类型为控制字,所述待传输数据用于指示以太网帧发生了错误,所述以太网帧包括所述首个片段,所述首个片段包括目的MAC地址域,所述目的MAC地址域的值等于目的设备的MAC地址,所述第二转发设备的MAC地址不等于所述目的MAC地址域的值;
所述第二转发设备向所述目的设备发送所述第一片段;
其中,所述第一片段还包含多个待传输数据,所述多个待传输数据中包括所述待传输数据,所述类型指示信息用于指示所述待传输数据的类型为控制字,所述类型指示信息还用于指示所述待传输数据在所述多个待传输数据中的位置。
9.根据权利要求8所述的方法,其特征在于,所述以太网帧还包括第二片段,所述第二转发设备接收到所述第一片段前,响应于通过对所述以太网帧进行CRC校验确定所述以太网帧发生了错误,所述第二片段被修改为所述第一片段。
10.根据权利要求8或9所述的方法,其特征在于,所述第二转发设备接收首个片段以及第一片段之后,以及,所述第二转发设备向所述目的设备发送所述第一片段之前,所述方法还包括:
所述第二转发设备基于所述目的MAC地址域确定所述第二转发设备的MAC地址不等于所述目的MAC地址域的值;
所述第二转发设备向所述目的设备发送所述第一片段包括:
所述第二转发设备响应于所述第二转发设备的MAC地址不等于所述目的MAC地址域的值的确定,所述第二转发设备向所述目的设备发送所述第一片段。
11.根据权利要求8或9所述的方法,其特征在于,所述第二转发设备包括物理编码子层接收机PCS receiver,所述第二转发设备接收所述第一片段之后,所述方法还包括:
响应于所述待传输数据,所述PCS receiver进入RX_E状态。
12.根据权利要求8或9所述的方法,其特征在于,所述第一片段包含RxC域与RxD域,所述RxC域携带所述类型指示信息,所述RxD域携带所述待传输数据。
13.根据权利要求12所述的方法,其特征在于,所述RxC域的值等于1,所述RxD域的值等于0xFE。
14.根据权利要求8所述的方法,其特征在于,所述类型指示信息包括同步头域,所述同步头域的值等于0x10,所述待传输数据的值等于0x1E。
15.根据权利要求9所述的方法,其特征在于,所述第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,所述第二片段不包括以太网帧的帧校验序列FCS域。
16.一种转发设备,其特征在于,包括:
接收电路,用于接收以太网帧的多个片段,所述多个片段包括首个片段以及第一片段,所述首个片段包括目的媒体访问控制MAC地址域;
处理电路,用于根据所述多个片段确定所述以太网帧发生了错误;以及,响应于所述以太网帧发生了错误的确定,将所述第一片段修改为第二片段,所述第一片段包括第一类型指示信息以及第一待传输数据,所述第二片段包括第二类型指示信息以及第二待传输数据,所述第一类型指示信息用于指示所述第一待传输数据的类型,所述第二类型指示信息用于指示所述第二待传输数据的类型为控制字,所述第一待传输数据的值不等于所述第二待传输数据的值,所述第二待传输数据用于指示所述以太网帧发生了错误;
发送电路,用于向目的设备发送所述第二片段,所述目的MAC地址域的值等于所述目的设备的MAC地址,所述目的设备的MAC地址不等于所述转发设备的MAC地址;
其中,所述第二片段还包含多个待传输数据,所述多个待传输数据中包括所述第二待传输数据,所述第二类型指示信息还用于指示所述第二待传输数据在所述多个待传输数据中的位置。
17.根据权利要求16所述的转发设备,其特征在于,所述处理电路用于:
当所述第一类型指示信息的值不等于所述第二类型指示信息的值时,将所述第一片段中的所述第一类型指示信息以及所述第一待传输数据分别修改为所述第二类型指示信息以及所述第二待传输数据;或,
当所述第一类型指示信息的值等于所述第二类型指示信息的值时将所述第一片段中的所述第一待传输数据修改为所述第二待传输数据。
18.根据权利要求16或17所述的转发设备,其特征在于,所述第二片段包含RxC域与RxD域,所述RxC域携带所述第二类型指示信息,所述RxD域携带所述第二待传输数据。
19.根据权利要求18所述的转发设备,其特征在于,所述RxC域的值为1,所述RxD域的值等于0xFE。
20.根据权利要求16或17所述的转发设备,其特征在于,所述第二待传输数据的值等于0x1E。
21.根据权利要求16或17所述的转发设备,其特征在于,所述处理电路用于:
所述第一转发设备根据所述多个片段确定所述以太网帧的帧校验序列FCS值;
所述第一转发设备基于所述FCS值确定所述以太网帧发生了错误;
所述第一片段中的待传输数据包括FCS域,或,所述第一片段不包括FCS域。
22.根据权利要求21所述的转发设备,其特征在于,所述处理电路用于:
在所述FCS值不等于所述FCS域的值时,确定所述以太网帧发生了错误。
23.一种转发设备,其特征在于,包括:
接收电路,用于接收首个片段以及第一片段,所述第一片段包括类型指示信息以及待传输数据,所述类型指示信息用于指示所述待传输数据的类型,所述待传输数据的类型为控制字,所述待传输数据用于指示以太网帧发生了错误,所述以太网帧包括所述首个片段,所述首个片段包括目的MAC地址域,所述目的MAC地址域的值等于目的设备的MAC地址,所述转发设备的MAC地址不等于所述目的MAC地址域的值;
发送电路,用于向所述目的设备发送所述第一片段;
其中,所述第一片段还包含多个待传输数据,所述多个待传输数据中包括所述待传输数据,所述类型指示信息用于指示所述待传输数据的类型为控制字,所述类型指示信息还用于指示所述待传输数据在所述多个待传输数据中的位置。
24.根据权利要求23所述的转发设备,其特征在于,所述以太网帧还包括第二片段,所述转发设备接收到所述第一片段前,响应于通过对所述以太网帧进行CRC校验确定所述以太网帧发生了错误,所述第二片段被修改为所述第一片段。
25.根据权利要求23或24所述的转发设备,其特征在于,所述转发设备还包括处理电路,所述处理电路用于:
在所述接收电路接收首个片段以及第一片段之后,以及,在所述发送电路向所述目的设备发送所述第一片段之前,基于所述目的MAC地址域确定所述转发设备的MAC地址不等于所述目的MAC地址域的值;
所述发送电路用于:
响应于所述转发设备的MAC地址不等于所述目的MAC地址域的值的确定,向所述目的设备发送所述第一片段。
26.根据权利要求23或24所述的转发设备,其特征在于,所述接收电路包括物理编码子层接收机PCS receiver,所述PCS receiver用于:
在所述接收电路接收所述第一片段之后,响应于所述待传输数据,所述PCS receiver进入RX_E状态。
27.根据权利要求23或24所述的转发设备,其特征在于,所述第一片段包含RxC域与RxD域,所述RxC域携带所述类型指示信息,所述RxD域携带所述待传输数据。
28.根据权利要求27所述的转发设备,其特征在于,所述RxC域的值等于1,所述RxD域的值等于0xFE。
29.根据权利要求23所述的转发设备,其特征在于,所述类型指示信息包括同步头域,所述同步头域的值等于0x10,所述待传输数据的值等于0x1E。
30.根据权利要求24所述的转发设备,其特征在于,所述第二片段中的待传输数据包括以太网帧的帧校验序列FCS域,或,所述第二片段不包括以太网帧的帧校验序列FCS域。
31.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有程序,运行该程序使得转发设备执行权利要求1-15中任一所述的方法。
32.一种芯片系统,包括存储器和处理器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片系统的转发设备执行权利要求1-15中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006674.7A CN114374475A (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/081495 WO2019183987A1 (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
CN201880091993.4A CN111937329B (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
CN202210006674.7A CN114374475A (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880091993.4A Division CN111937329B (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114374475A true CN114374475A (zh) | 2022-04-19 |
Family
ID=68059486
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880091993.4A Active CN111937329B (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
CN202210006674.7A Pending CN114374475A (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
CN202210006728.XA Pending CN114374476A (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880091993.4A Active CN111937329B (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210006728.XA Pending CN114374476A (zh) | 2018-03-31 | 2018-03-31 | 传输数据的方法和转发设备 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11387940B2 (zh) |
EP (1) | EP3767851B1 (zh) |
JP (2) | JP7087106B2 (zh) |
CN (3) | CN111937329B (zh) |
BR (1) | BR112020019811A2 (zh) |
WO (1) | WO2019183987A1 (zh) |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089485B2 (en) * | 2000-02-03 | 2006-08-08 | Agere Systems Inc. | Simple link protocol providing low overhead coding for LAN serial and WDM solutions |
JP3471288B2 (ja) * | 2000-04-18 | 2003-12-02 | 日本電信電話株式会社 | 通信システムの監視方法 |
CN100388700C (zh) * | 2002-10-18 | 2008-05-14 | 华为技术有限公司 | 一种在同步数字网上传送数据业务的方法 |
JP2005006036A (ja) * | 2003-06-12 | 2005-01-06 | Nec Corp | ネットワーク、伝送装置及びそれに用いるトランスペアレント転送方法 |
CN101180838B (zh) * | 2005-05-09 | 2013-05-08 | 三菱电机株式会社 | 通信装置及交换处理装置 |
US7440513B2 (en) * | 2005-05-24 | 2008-10-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Coding and decoding packetized data |
CN100438439C (zh) * | 2006-05-19 | 2008-11-26 | 华为技术有限公司 | 一种防止mac地址欺骗的方法 |
CN101488827B (zh) * | 2008-01-14 | 2015-07-08 | 华为技术有限公司 | 实现数据报错的方法和装置 |
US8402343B2 (en) | 2009-12-04 | 2013-03-19 | St-Ericsson Sa | Reliable packet cut-through |
US8767559B2 (en) | 2009-12-18 | 2014-07-01 | Nec Corporation | Determination device, transmission device, determination method, and computer program |
US9204337B2 (en) * | 2010-03-09 | 2015-12-01 | Broadcom Corporation | Bandwidth mechanisms and successive channel reservation access within multiple user, multiple access, and/or MIMO wireless communications |
JP2012253528A (ja) * | 2011-06-02 | 2012-12-20 | Hitachi Ltd | パケットトランスポート用再生中継装置 |
CN104580011B (zh) * | 2013-10-23 | 2017-12-15 | 新华三技术有限公司 | 一种数据转发装置和方法 |
US10404625B2 (en) * | 2013-10-29 | 2019-09-03 | Intel Corporation | Ethernet enhancements |
US9692715B2 (en) * | 2014-02-21 | 2017-06-27 | Cavium, Inc. | Multiple ethernet ports and port types using a shared data path |
US9515694B1 (en) * | 2014-07-29 | 2016-12-06 | nusemi inc. | Adaptable rate transceiver |
JP6573819B2 (ja) * | 2015-01-20 | 2019-09-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム |
CN111147185A (zh) * | 2015-01-22 | 2020-05-12 | 华为技术有限公司 | 一种利用以太网信道传输业务信号的方法及通信设备 |
CN107370674B (zh) | 2016-05-13 | 2020-12-01 | 华为技术有限公司 | 一种数据传输的方法、设备和系统 |
US11075836B2 (en) * | 2016-05-31 | 2021-07-27 | 128 Technology, Inc. | Reverse forwarding information base enforcement |
CN107566075B (zh) | 2016-07-01 | 2019-10-25 | 华为技术有限公司 | 一种发送和接收业务的方法、装置和网络系统 |
CN106788894A (zh) * | 2016-12-20 | 2017-05-31 | 中核控制系统工程有限公司 | 分段独立传输校验方法 |
CN110366841B (zh) * | 2017-03-06 | 2021-09-17 | 三菱电机株式会社 | 传送装置、传送方法和传送系统 |
JP2017121091A (ja) * | 2017-04-10 | 2017-07-06 | 日立オートモティブシステムズ株式会社 | Ecu、及び車用ネットワーク装置 |
-
2018
- 2018-03-31 EP EP18911405.1A patent/EP3767851B1/en active Active
- 2018-03-31 WO PCT/CN2018/081495 patent/WO2019183987A1/zh unknown
- 2018-03-31 BR BR112020019811-0A patent/BR112020019811A2/pt unknown
- 2018-03-31 JP JP2020552816A patent/JP7087106B2/ja active Active
- 2018-03-31 CN CN201880091993.4A patent/CN111937329B/zh active Active
- 2018-03-31 CN CN202210006674.7A patent/CN114374475A/zh active Pending
- 2018-03-31 CN CN202210006728.XA patent/CN114374476A/zh active Pending
-
2020
- 2020-09-30 US US17/038,790 patent/US11387940B2/en active Active
-
2022
- 2022-06-08 JP JP2022092991A patent/JP7346662B2/ja active Active
- 2022-06-27 US US17/850,027 patent/US11799587B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3767851A1 (en) | 2021-01-20 |
JP2022120060A (ja) | 2022-08-17 |
WO2019183987A1 (zh) | 2019-10-03 |
US11799587B2 (en) | 2023-10-24 |
BR112020019811A2 (pt) | 2021-01-05 |
US20220329352A1 (en) | 2022-10-13 |
US11387940B2 (en) | 2022-07-12 |
CN111937329A (zh) | 2020-11-13 |
CN114374476A (zh) | 2022-04-19 |
US20210014000A1 (en) | 2021-01-14 |
CN111937329B (zh) | 2021-12-31 |
JP7346662B2 (ja) | 2023-09-19 |
EP3767851A4 (en) | 2021-03-17 |
JP2021517428A (ja) | 2021-07-15 |
JP7087106B2 (ja) | 2022-06-20 |
EP3767851B1 (en) | 2023-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8243757B2 (en) | MAC header compression using a pointer | |
US20090190595A1 (en) | Method, system and device for transmitting overhead information | |
EP3065329B1 (en) | Aggregated data frame structures | |
JP2004173271A (ja) | 誤り検出を改善するローリングcrc機構 | |
TWI650967B (zh) | 乙太網路的連線方法及其乙太網路裝置 | |
US10256944B1 (en) | Controlling false packet acceptance | |
US8831040B2 (en) | Data transfer device and data transfer system | |
US20090210770A1 (en) | Method, system and computer program product for end to end error checking in ethernet | |
CN111937329B (zh) | 传输数据的方法和转发设备 | |
JP2016005023A (ja) | パケット送信装置及びパケット受信装置 | |
EP3813281A1 (en) | Method for receiving code block stream, method for sending code block stream and communication apparatus | |
US20080267281A1 (en) | Method, device and network element for decoding an information word from a coded word | |
JP4419867B2 (ja) | データ処理装置 | |
CN115174699A (zh) | 一种以太报文的处理方法以及相关设备 | |
US8289996B2 (en) | Multi-purpose PDU container for delineating PDU datagrams and PDU datagram attributes in an 8B/10B coded system | |
CN110830153B (zh) | 接收码块流的方法、发送码块流的方法和通信装置 | |
CN116260553A (zh) | 数据重传的方法、装置及系统 | |
CN113949487A (zh) | 数据通信方法、装置、通信终端及计算机可读存储介质 | |
WO2010109830A1 (ja) | PLTnビット訂正回路及びそれを用いたGFPレイヤ2同期回路並びにGFPフレーム転送装置 | |
Yadav et al. | Design and VLSI Implementation of HDLC Controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |