CN105871512A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN105871512A CN105871512A CN201610319058.1A CN201610319058A CN105871512A CN 105871512 A CN105871512 A CN 105871512A CN 201610319058 A CN201610319058 A CN 201610319058A CN 105871512 A CN105871512 A CN 105871512A
- Authority
- CN
- China
- Prior art keywords
- block
- piece
- group
- acknowledgement
- field
- 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.)
- Granted
Links
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/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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明的实施例提供一种数据传输方法及装置,涉及通信领域,用于以太网重传数据,以至少解决现有以太网链路不能保证数据可靠传输的问题。包括:接收发送端发送的第一块组,第一块组包括多个块以及一个第一重传块,第一重传块包括序列字段以及校验字段;生成第二块组,第二块组包括多个块以及一个第二重传块;第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;向发送端发送第二块组。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据传输方法及装置。
背景技术
数据中心以太网(英文全称:Data Center Ethernet,英文简称:DCE)是根据电气和电子工程师协会(英文全称:Institute of Electrical andElectronics Engineers,英文简称:IEEE)标准组织规定的标准协议,将以太网(Ethernet)进行改进,将数据中心的多张独立的物理网络(存储网络、计算网络或通信网络)进行融合,满足数据中心各类业务综合传输的一种网络。相对于以太网有效提高了网络传输质量。但是,链路误码率(英文全称:Bit Error Rate,英文简称:BER)导致数据传输错误仍是不可避免的,而且数据中心以太网包括较多的交换机,数据包将经过多条链路到达目的端,数据包出现数据传输错误的可能性更大,增大了端到端数据包重传的概率。
在现有技术中,通过对数据包格式进行修改,在数据包头部中增加专用域,如图1所示,415域和418域,用于表示链路收发端在链路层面实现以太网数据包的重传恢复。示例的,在DCE中,数据包通过链路从发送端传输到接收端。接收端判断数据包是否已经丢失;如果不是,则在另一个数据包中携带确认信息(acknowledgement signal)通过链路传输到发送端,向发送端表明数据包已经正确接收;如果是,则在另一个数据包中携带否定信息(non-acknowledgement signal)通过链路传输到发送端,向发送端表明数据包已经丢失。发送端在收到否定信息时或在定时周期内未收到确认信息,则从重传缓存中向接收端重新发送丢失的数据包。
这样,对数据包的格式进行修改重传数据,导致与现有以太网协议标准兼容性差,而且以数据包为重传基本单位,来重传极少的比特错误,导致链路开销和时延的增大。
发明内容
本发明的目的在于提供一种数据传输方法及装置,能够在不修改数据包结构实现兼容以太网协议标准的情况下,只在物理层重传传输错误的编码块,有效地降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,提供一种数据传输方法,由接收端执行,包括:
首先,接收发送端发送的第一块组,第一块组包括多个块以及一个第一重传块,其中,该第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;其中,第一重传块还包括同步字段、块类型位域字段、确认或非确认字段和预留字段,同步字段和块类型位域字段用于标识重传块,确认或非确认字段用于指示第一块组的是否需要重传;然后,生成第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端根据序列号子字段对第一块组进行重传;其中,当第一块组的校验结果正确包括:计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据正确;当第一块组的校验结果不正确包括:计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据不正确;这样统一对块组中所有的块进行校验,而不是针对每个块进行校验,从而可以节省带宽。最后,向发送端发送第二块组。
上述第一方面提供的数据传输方法,接收端接收到发送端发送的第一块组后,通过校验字段的值判断第一块组的校验结果是否正确,当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,否则,确认或非确认标识子字段的值为非确认标识,非确认标识子字段用于指示发送端对第一块组进行重传,同时,序列号子字段的值为第一块组的序列号,其中,序列号子字段和确认或非确认标识子字段为接收端生成的第二块组包括的第二重传块中的确认或非确认字段中的字段,再向发送端发送第二块组。这样一来,相对于现有技术,以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源,本发明能够在不修改数据包结构实现兼容以太网协议标准的情况下,通过物理层编码后,以块组为重传基本单位,发送端重传接收端非确认接收的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
第二方面,提供一种数据传输方法,由发送端执行,包括:
首先,生成第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;然后,向接收端发送第一块组;接收接收端发送的第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端根据序列号子字段对第一块组进行重传;确定非确认标识指示的第一块组的序列号;最后,向接收端发送第一块组的序列号对应的第一块组。
上述第二方面提供的数据传输方法,与第一方面一样,相对于现有技术,以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源,本发明能够在不修改数据包结构实现兼容以太网协议标准的情况下,通过物理层编码后,以块组为重传基本单位,发送端重传接收端非确认接收的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
在第二方面的第一种可实现方式中,在发送端向接收端发送第一块组之前,方法还包括:
缓存第一块组,以便于发送端接收到接收端的指示,重传第一块组。
结合第二方面的第一种可实现方式,在第二种可实现方式中,在接收接收端发送的第二块组之后,方法还包括:
确定确认或非确认字段包括第一块组的序列号,以及确认标识;发送端删除缓存的第一块组。
上述第一方面的第二种可实现方式,在接收端正确接收到发送端发送的数据后,发送端接收到接收端发送的携带确认接收的块组的序列号,发送端将确认接收的块组的序列号对应的块组删除,来节省存储空间。
需要说明的是,在实际应用中,发送端将需要发送的数据进行物理层编码,可以得到至少一个块;在每K个块之间插入一个重传块,得到至少一个块组,每个块组还包括K个块和一个重传块,K为大于等于1的整数,可选的,K为8-64的整数;对每个块组进行速率调整;对所有块组进行合路,得到传输块流,向接收端发送传输块流。
这样一来,将发送端发送的数据划分为多个块组,以块组为重传基本单位,使得重传非确认接收的数据时只需要重传非确认接收的数据所在的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
进一步的,发送端可以通过传输块流向接收端重传非确认接收的块组。
需要说明的是,在发送端与接收端之间发送的是包括多个块组的传输块流时,接收端通常按照顺序原则,将确认接收的发送端发送的块组对应的序列号、非确认接收的块组对应的序列号和对应的非确认标识或确认标识填入到接收端向发送端发送的另一传输块流包括的块组的重传块中的确认或非确认字段中,发送端发送的块组对应的序列号按顺序一对一的存放到接收端向发送端发送的重传块中,由于发送端和接收端发送的速率和K值相同,因此,发送端和接收端是一个对等连续的过程。
第三方面,提供一种接收端通信设备,包括:接收单元,用于接收发送端通信设备发送的第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端通信设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;生成单元,用于生成第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为接收单元接收到的第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端通信设备根据序列号子字段对接收单元接收到的第一块组进行重传;发送单元,用于向发送端通信设备发送生成单元生成的第二块组。
第四方面,提供一种发送端通信设备,包括:生成单元,用于生成第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端通信设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;发送单元,用于向接收端通信设备发送生成单元生成的第一块组;接收单元,用于接收接收端通信设备发送的第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为生成单元生成的第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端通信设备根据序列号子字段对生成单元生成的第一块组进行重传;确定单元,用于确定接收单元接收到的确认或非确认字段包括第一块组的序列号,以及非确认标识;发送单元,还用于向接收端通信设备发送确定单元确定的第一块组的序列号对应的第一块组。
第五方面,提供一种通信系统,包括:接收设备以及发送设备;
发送设备用于向接收设备发送第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;
接收设备用于根据接收到的第一块组生成第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送设备根据序列号子字段对第一块组进行重传;
接收设备还用于向发送设备发送第二块组;
发送设备还用于在确认或非确认标识子字段的值为非确认标识时,根据序列号子字段的值对第一块组进行重传。
在上述各个方面以及各个可能的实现方式中,重传块当中,第一重传块以及第二重传块中,通过自定义块类型位域字段来标识为第一重传块或者第二重传块。这样一来,利用现有的预留的位来实现区别不同的重传块,不但能够兼容以太网标准物理层编码(64/66B编码)规则,实现也很方便。
在上述各个方面以及各个可能的实现方式中,一个块组包括的块的数量为8-64。这样一来,既确保不会出现由于块组中包括的块的数量过大导致资源浪费的现象,也避免由于块组中包括的块的数量过小导致需要重传块的个数较多而增大传输开销的问题。
在上述各个方面以及各个可能的实现方式中,当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识包括:
当通过计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据正确时,确认或非确认标识子字段的值为确认标识,当根据第一校验值以及第二校验值判断接收到的第一块组的数据不正确,确认或非确认标识子字段的值为非确认标识。
需要说明的是,上述第三方面和第四方面功能模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。具体的,可以参考第一方面提供的方法中接收端的行为的功能,以及第二方面提供的方法中发送端的行为的功能。
本发明中,发送端、接收端、发送端通信设备和接收端通信设备的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种数据包结构示意图;
图2为本发明实施例提供的一种数据中心以太网示意图;
图3为本发明实施例提供的一种网卡结构示意图;
图4为本发明实施例提供的一种数据传输方法流程图;
图5为本发明实施例提供的另一种数据传输方法流程图;
图6为本发明实施例提供的又一种数据传输方法流程图;
图7为本发明实施例提供的一种块数据流结构示意图;
图8为本发明实施例提供的一种传输块流结构示意图;
图9为本发明实施例提供的一种重传块结构示意图;
图10为本发明实施例提供的另一种重传块结构示意图;
图11为本发明实施例提供的再一种数据传输方法流程图;
图12为本发明实施例提供的一种接收端通信设备结构示意图;
图13为本发明实施例提供的一种发送端通信设备结构示意图;
图14为本发明实施例提供的一种通信系统示意图;
图15为现有技术提供的一种发送端和接收端的逻辑结构示意图;
图16为本发明实施例提供的一种发送端和接收端的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
本发明的基本原理在于:针对现有技术中以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源的问题,本发明的接收端接收到发送端发送的第一块组后,通过校验字段的值判断第一块组的校验结果是否正确,当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,否则,确认或非确认标识子字段的值为非确认标识,非确认标识子字段用于指示发送端对第一块组进行重传,同时,序列号子字段的值为第一块组的序列号,其中,序列号子字段和确认或非确认标识子字段为接收端生成的第二块组包括的第二重传块中的确认或非确认字段中的字段,再向发送端发送第二块组。这样一来,相对于现有技术,以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源,本发明能够在不修改数据包结构,第一重传块和第二重传块均基于以太网标准物理层中的块的编码定义实现,实现兼容以太网协议标准的情况下,通过物理层编码后,以块组为重传基本单位,发送端重传接收端非确认接收的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
本发明实施例提供一种数据中心以太网,如图2所示,一个典型的应用场景包括:交换机和端站;其中,每个交换机和每个端站均包含网卡,网卡连接线缆,线缆连接另一块网卡,两块网卡之间通过线缆进行数据的发送和接收。发送数据的网卡可以称为发送端,接收数据的网卡可以称为接收端。从而交换机与交换机之间相互连接,端站与交换机连接,交换机与交换机之间、交换接与端站之间,以及端站与端站之间可以通过数据中心以太网的链路进行通信。交换机和端站可以是接收设备或发送设备。
如图3所示,图2中的网卡可以以图3中的硬件结构来实现。
图3所示为本发明实施例提供的网卡的硬件结构示意图。网卡100包括现场可编程逻辑门阵列(英文全称:Field Programmable Gate Array,英文简称:FPGA)101,用于执行本发明方案的应用程序代码,上层数据报文收发接口102,用于连接其他网卡,进行通信,存储器103,用于存储执行本发明方案的应用程序代码,光/电信号收发器104,通过光纤或电缆连接其他设备,电源105以及其他外围电路106。其中,也可以用特定应用集成电路(英文全称:application-specific integrated circuit,英文简称:ASIC)来替代FPGA。
需要说明的是,为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
下面将参考附图详细描述本发明的各个实施方式,需要说明的是,以下实施例中涉及的“发送端”(或者“发送端通信设备”)以及“接收端”(或者“接收端通信设备”)可以是上文提到的网卡,也可以是指具有网卡的一些通信设备(如交换机、服务器等),还可以指具有跟网卡类似功能的各种通信设备,即这些通信设备也具有跟网卡类似的硬件(如包括处理器、存储器、各种外围电路),但可能并不仅仅执行网卡的功能,除了这部分网卡做的网络通信功能外,还执行其他的功能,因此,这些通信设备在硬件形态上并不是以单独的网卡形态出现。
实施例1
本发明实施例提供一种数据传输方法,如图4所示,包括:
步骤201、发送端生成第一块组。
第一块组包括多个块以及一个第一重传块,其中,本步骤中的块为以太网标准物理层的块,第一重传块基于以太网标准物理层中的块的编码定义实现,该第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值。
步骤202、发送端向接收端发送第一块组。
步骤203、接收端接收发送端发送的第一块组。
第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,该第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值。
步骤204、接收端生成第二块组。
第二块组包括多个块以及一个第二重传块;其中,本步骤中的“块”跟步骤201中第一块组中的“块”一样,也为以太网标准物理层的块,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端根据序列号子字段对第一块组进行重传,即发送端根据非确认标识子字段确定需要传哪个块组。
其中,当第一块组的校验结果正确包括:计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据正确;当第一块组的校验结果不正确包括:计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据不正确。
步骤205、接收端向发送端发送第二块组。
步骤206、发送端接收接收端发送的第二块组。
第二块组包括多个块以及一个第二重传块;其中,本步骤中的“块”跟步骤201中第一块组中的“块”一样,也为以太网标准物理层的块,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端根据序列号子字段对第一块组进行重传。
步骤207、发送端确定确认或非确认字段包括第一块组的序列号,以及非确认标识。
步骤208、发送端向接收端发送第一块组的序列号对应的第一块组。
这样一来,接收端接收到发送端发送的第一块组后,通过校验字段的值判断第一块组的校验结果是否正确,当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,否则,确认或非确认标识子字段的值为非确认标识,非确认标识子字段用于指示发送端对第一块组进行重传,同时,序列号子字段的值为第一块组的序列号,其中,序列号子字段和确认或非确认标识子字段为接收端生成的第二块组包括的第二重传块中的确认或非确认字段中的字段,再向发送端发送第二块组,发送端根据第二块组包括的第二重传块中的确认或非确认字段中的字段的值,确定确认或非确认字段包括第一块组的序列号,以及非确认标识,向接收端发送第一块组的序列号对应的第一块组。这样一来,相对于现有技术,以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源,本发明能够在不修改数据包结构实现兼容以太网协议标准的情况下,通过物理层编码后,以块组为重传基本单位,发送端重传接收端非确认接收的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
实施例2
本发明实施例提供一种数据传输方法,如图5所示,包括:
步骤301、发送端生成第一传输块(transmit block)流。
第一传输块流包括至少一个第一块组(block retry group),每个第一块组由K个块(block)和一个第一重传块(retry block)组成,K为大于等于1的整数,可选的,K为8-64的整数。第一重传块基于以太网标准物理层中的块的编码定义实现。第一重传块包括序列(sequence)字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值。
需要说明的是,第一重传块格式采用以太网标准物理层编码64B/66B格式。
步骤302、发送端向接收端发送第一传输块流。
步骤303、接收端接收发送端发送的第一传输块流。
第一传输块流包括至少一个第一块组(block retry group),每个第一块组由K个块(block)和一个第一重传块(retry block)组成,K为大于等于1的整数,可选的,K为8-64的整数。第一重传块基于以太网标准物理层中的块的编码定义实现。第一重传块包括序列(sequence)字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值。
步骤304、接收端解析第一传输块流。
步骤305、接收端校验每个第一块组,得到校验结果。
接收端计算接收到的第一块组中除校验字段外第一块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的第一块组的数据是否正确,当第一块组的校验结果不正确,接收端认为非确认接收第一块组,当第一块组的校验结果正确,接收端认为确认接收第一块组。
步骤306、接收端在第二块组中的第二重传块包括的确认或非确认(ACK/NACK)字段包括的序列号子字段填入第一块组的序列号,以及在确认或非确认标识子字段填入第一块组的确认接收指示或非确认接收指示。
非确认标识子字段用于指示发送端对第一块组进行重传。
需要说明的是,在发送端与接收端之间发送的是包括多个块组的传输块流时,接收端通常按照顺序原则,将确认接收的发送端发送的块组对应的序列号、非确认接收的块组对应的序列号和对应的非确认标识或确认标识填入到接收端向发送端发送的另一传输块流包括的块组的重传块中的确认或非确认字段中,发送端发送的块组对应的序列号按顺序一对一的存放到接收端向发送端发送的重传块中,由于发送端和接收端发送的速率和K值相同,因此,发送端和接收端是一个对等连续的过程。
步骤307、接收端生成第二传输块流。
第二传输块流包括的第二块组的个数与第一传输块流包括的第一块组的个数相同。
步骤308、接收端向发送端发送第二传输块流。
步骤309、发送端接收接收端发送的第二传输块流。
第二传输块流包括与第一块组的个数相同的第二块组,每个第二块组中的第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段和确认或非确认标识子字段,序列号子字段填入第一块组的序列号,以及在确认或非确认标识子字段填入第一块组的确认接收指示或非确认接收指示。非确认标识子字段用于指示发送端根据序列号子字段对第一块组进行重传。第二重传块基于以太网标准物理层中的块的编码定义实现。
步骤310、发送端确定确认或非确认字段包括第一块组的序列号,以及非确认标识。
步骤311、发送端通过第三传输块流向接收端发送非确认标识对应的第一块组。
这样一来,发送端通过在每K个块之间插入第一重传块,将K个块和一个第一重传块组成一个第一块组,向接收端发送包括多个第一块组的第一传输块流,当发送端接收到接收端发送的第二传输块流,而第二传输块流包括第二重传块,该第二重传块包括确认或非确认字段,在确认或非确认字段包括的序列号子字段填入第一块组的序列号,以及在确认或非确认标识子字段填入第一块组的确认接收指示或非确认接收指示。非确认标识子字段用于指示发送端对第一块组进行重传。发送端确定第二重传块包括的确认或非确认字段中的第一块组的序列号,以及非确认标识后,向接收端发送接收端非确认接收的第一块组。这样一来,相对于现有技术,以数据包为重传基本单位,在端到端之间重传极少的比特错误,导致链路开销和时延的增大,浪费网络资源,本发明能够在不修改数据包结构实现兼容以太网协议标准的情况下,通过物理层编码后,以块组为重传基本单位,发送端重传接收端非确认接收的块组,从而有效的降低了重传时的链路开销和时延,一定程度上提高了网络资源的利用率。
上述图5所示的方法步骤具体的可以由图3所示的网卡实现。
如图6所示,发送端生成第一传输块流具体可以包括以下详细步骤。
步骤3011、发送端将需要发送的数据进行物理层编码,得到至少一个块。
网卡按照以太网标准物理层编码(64/66B编码)规则将需要发送的数据进行物理层编码,得到至少一个块,形成块数据流,如图7所示,经过物理层编码的块数据流。以太网标准物理层编码指的是IEEE802.3标准规定的物理编码子层(英文全称:Physical Coding Sublayer,英文简称:PCS)的64B/66B编码规则。如表1所示,以太网标准物理层编码64B/66B块格式。
表1以太网标准物理层编码64B/66B块格式
步骤3012、发送端在每K个块之间插入一个第一重传块,得到至少一个第一块组。
第一重传块在每K个块后插入,构成第一块组的块数据流。其中,K在具体实施中根据系统设计可以选取8-64的任意整数值。基于图7如图8所示,重传块结构示意图,重传块包括同步(sync)字段、块类型位域(blocktype)字段、序列(sequence)字段、确认或非确认(ACK/NACK)字段、预留(rev)字段和校验(CRC)字段。确认或非确认字段包括序列号子字段以及确认或非确认标识子字段。重传块总比特数为66bits,与以太网标准物理层编码64B/66B块格式相同。
需要说明的是,由于用于重传控制的重传块的格式与以太网标准物理层编码的标准块具有相同的基本结构和含义,包括块长度、同步字段和块类型位域字段,并通过具有兼容性的字段取值设计,即使不支持该链路重传方法的接收端也可以处理重传块,而不会造成链路中断,同时,因为这种技术不需要对以太网链路层协议或包格式进行修改,所以可以兼容以太网标准。
各字段的具体含义如下:
同步字段和块类型位域字段用于与图7中以太网标准物理层编码64B/66B块进行区别,接收端根据同步字段和块类型位域字段来识别重传块,同时,同步字段和块类型位域字段的比特数与图7中以太网标准物理层编码64B/66B块相同,同步字段为2bits,以及块类型位域字段为8bits;其中,同步字段和块类型位域字段的取值应与以太网标准物理层编码64B/66B块中对应字段的取值不冲突,具体取值方式可以有以下两种:
1)同步字段的取值与表1所示以太网标准物理层编码64B/66B块格式中的控制块格式(Control Block Format)的取值相同,例如,0b10。块类型位域字段的取值原则是与以太网标准物理层编码64B/66B块格式中的块类型位域(Block Type Field)的取值不冲突,且便于识别,例如,0xee。如图9所示,重传块结构示意图。
2)同步字段的取值不同于表1所示以太网标准物理层编码64B/66B块格式中的控制块格式(Control Block Format)的取值,则同步字段的取值可以为0b00或0b11。块类型位域字段的取值则可以是8bits的任意值。如图10所示,重传块结构示意图。
序列字段用于表示重传块所属的块组的序列号,序列号的取值为0~N整数值。序列号可以根据具体系统设计选择,可以采用连续循环计数。接收端根据序列号是否连续来判断接收到的块组是否存在丢失,并确定已丢失块组的序列号,同时,接收到的所有块组可按照序列号进行排序。
确认或非确认字段用于接收端向发送端反馈接收到的块组是否正确。接收端将第一块组的序列号填入序列号子字段;当第一块组的校验结果正确时,接收端将确认标识填入确认或非确认标识子字段,当第一块组的校验结果不正确时,接收端将非确认标识填入确认或非确认标识子字段;非确认标识子字段用于指示发送端对第一块组进行重传。
示例的,接收端计算接收到的块组中除校验字段外块组包括的其余数据的第二校验值,并根据第一校验值以及第二校验值判断接收到的块组的数据是否正确。再根据校验结果生成ACK信号或NACK信号,如果正确接收则生成ACK信号,ACK信号相当于确认标识,如果错误则生成NACK信号,NACK信号相当于非确认标识,将ACK信号或NACK信号,以及块组的序列号填入接收端向发送端发送的传输块流包括的重传块的确认或非确认字段中。
预留字段用于预留作用,目的是补齐重传块的总比特数,一般填充为全0。
校验字段用于对所属块组进行校验,接收端根据CRC校验结果判定所属块组是否存在错误比特,CRC校验方法可根据具体系统设计实现。
步骤3013、发送端对每个第一块组进行速率调整。
具体的,可以对块组中的空闲块(Idle Block),即以太网标准物理层编码64B/66B块格式中的控制块格式中块类型位域为0x1e的块进行添加或删除。需要说明的是,空闲块可以不参与CRC校验,以避免速率适配操作对CRC校验的影响。
可选的,发送端通过暂停或恢复数据流下发,进行速率调整。
步骤3014、发送端对所有第一块组进行合路,得到第一传输块流。
如图11所示,在发送端接收接收端发送的第二传输块流之后,还可以按照下面的方法来对确认接收的第一块组进行处理。例如,可以在步骤308之后,删除确认接收的第一块组,具体的还包括以下步骤。
步骤312、发送端确定确认或非确认字段包括第一块组的序列号,以及确认标识。
步骤313、发送端删除确认标识对应的第一块组。
发送端接收到接收端发送的第二传输块流,该第二传输块流包括与第一块组的个数相同的第二块组,每个第二块组中的第二重传块包括确认或非确认字段,在确认或非确认字段包括的序列号子字段填入第一块组的序列号,以及在确认或非确认标识子字段填入第一块组的确认接收指示或非确认接收指示。非确认标识子字段用于指示发送端对第一块组进行重传。
发送端解析到第二传输块流中的第二重传块包括确认接收的第一块组的序列号,或非确认接收的第一块组的序列号,发送端对确认接收的第一块组的序列号对应的第一块组删除,对非确认接收的第一块组的序列号对应的第一块组再次传输,以便于接收端接收到非确认接收的第一块组的序列号对应的第一块组。
进一步的,在步骤302,发送端向接收端发送第一传输块流之前,上述方法还可以包括:
步骤314、发送端缓存每个第一块组。
实施例3
本发明实施例提供一种接收端通信设备40,如图12所示,包括:
接收单元401,用于接收发送端通信设备发送的第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端通信设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;
生成单元402,用于生成第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为接收单元401接收到的第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端通信设备根据序列号子字段对接收单元401接收到的第一块组进行重传;
发送单元403,用于向发送端通信设备发送生成单元402生成的第二块组。
在本实施例中,接收端通信设备40是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(英文全称:application-specificintegrated circuit,英文简称:ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到接收端通信设备40可以采用图12所示的形式。接收单元401、生成单元402和发送单元403可以通过图3的硬件结构来实现。
实施例4
本发明实施例提供一种发送端通信设备50,如图13所示,包括:
生成单元501,用于生成第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送端通信设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;
发送单元502,用于向接收端通信设备发送第一块组;
接收单元503,用于接收接收端通信设备发送的第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为生成单元生成的第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送端通信设备根据序列号子字段对生成单元501生成的第一块组进行重传;
确定单元504,用于确定接收单元503接收到的确认或非确认字段包括第一块组的序列号,以及非确认标识;
发送单元502,还用于向接收端通信设备发送确定单元504确定第一块组的序列号对应的第一块组。
在本实施例中,发送端通信设备50是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(英文全称:application-specificintegrated circuit,英文简称:ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到发送端通信设备50可以采用图13所示的形式。生成单元501,发送单元502、接收单元503和确定单元504可以通过图3的硬件结构来实现。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图12所示的接收端通信设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现发送传输块流。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图13所示的发送端通信设备所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现发送传输块流。
实施例5
本发明实施例提供一种通信系统60,如图14所示,包括:接收设备601和发送设备602。
发送设备602用于向接收设备发送第一块组,第一块组包括多个块以及一个第一重传块,其中,第一重传块基于以太网标准物理层中的块的编码定义实现,第一重传块包括序列字段以及校验字段,序列字段的值表示第一块组的序列号,校验字段的值表示发送设备在发送第一块组时计算的第一块组除校验字段外第一块组包括的其余数据的第一校验值;
接收设备601用于根据接收到的第一块组生成第二块组,第二块组包括多个块以及一个第二重传块;其中,第二重传块基于以太网标准物理层中的块的编码定义实现,第二重传块包括确认或非确认字段,确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;序列号子字段的值为第一块组的序列号;当第一块组的校验结果正确时,确认或非确认标识子字段的值为确认标识,当第一块组的校验结果不正确时,确认或非确认标识子字段的值为非确认标识;非确认标识子字段用于指示发送设备根据序列号子字段对第一块组进行重传;
接收设备601还用于向发送设备发送第二块组;
发送设备602还用于在确认或非确认标识子字段的值为非确认标识时,根据序列号子字段的值对第一块组进行重传。
需要说明的是,如图15所示,现有技术提供一种按照以太网标准的发送端和接收端的逻辑结构示意图。发送端包括链路层的封装链路层数据包模块,以及物理层的物理层编码模块和物理层发送模块;接收端包括物理层的物理层接收模块和物理层解码模块,以及链路层的链路层数据包解封装模块。
发送端的封装链路层数据包模块将来自网络层的数据包按照以太网标准的链路层数据包格式进行封装,然后,物理层编码模块按照以太网标准对链路层封装的数据包进行物理层编码,形成传输块流,物理层发送模块通过线缆向接收端发送传输块流。
接收端的物理层接收模块接收发送端发送的传输块流,物理层解码模块对传输块流进行解码,链路层数据包解封装模块对经过物理层解码模块解码的传输块流进行解封装,得到网络层数据包。
基于图15所示的逻辑结构,本发明实施例提供一种网卡的发送端和接收端的逻辑结构示意图,如图16所示,包括:
网卡1的发送端包括链路层的封装链路层数据包模块,以及物理层的物理层编码模块和物理层发送模块,发送端的物理层还包括插入与速率适配模块、重传块生成模块、重传缓存模块、重传控制模块、合路模块、反向链路应答信号生成模块、重传块接收并解析模块;网卡1的接收端包括物理层的物理层接收模块和物理层解码模块,以及链路层的链路层数据包解封装模块。
同理,网卡2的发送端和接收端包括与网卡1的发送端和接收端相同的模块。
发送端的封装链路层数据包模块将来自网络层的数据包按照以太网标准的链路层数据包格式进行封装,然后,物理层编码模块按照以太网标准对链路层封装的数据包进行物理层编码,形成了如步骤3011中的至少一个块,物理层编码模块将所有的块传输至重传块生成模块,重传块生成模块执行如步骤3012的在每K个块之间插入一个重传块,得到至少一个块组,重传块生成模块将所有的块组传输至插入与速率适配模块,插入与速率适配模块执行如步骤3013的对每个块组进行速率调整,插入与速率适配模块将速率调整后的每个块组传输至重传缓存模块和合路模块,重传缓存模块存储每个块组,合路模块将每个块组进行合路形成第一传输块流,并通过网卡1与网卡2相连接的线缆将第一传输块流发送至网卡2的接收端。
网卡2的接收端的物理层接收模块接收到第一传输块流后,物理层解码模块对第一传输块流进行解码,重传块接收并解析模块执行如步骤305的对第一传输块流的每个块组进行校验,物理层解码模块对应物理层接收模块正确接收到的块组传输至链路层数据包解封装模块进行解封装,对物理层接收模块非正确接收到的块组传输至反向链路应答信号生成模块,反向链路应答信号生成模块生成ACK信号和NACK信号,重传块生成模块将ACK信号对应的正确接收到的块组的序列号填入第二传输块流的重传块中,以及将NACK信号对应的非正确接收到的块组的序列号填入第二传输块流的重传块中,通过插入与速率适配模块、合路模块和物理层发送模块通过线缆传输网卡1的接收端。
网卡1的接收端的物理层接收模块接收到第二传输块流后,与网卡2的接收端处理第一传输块流相同的方法处理第二传输块流时,重传块接收并解析模块解析到网卡2非正确接收到的块组的序列号,重传控制模块指示重传缓存模块获取非正确接收到的块组的序列号对应的块组,通过合路模块合并到第三传输块流中,传输至网卡2的接收端,重传块接收并解析模块解析到网卡2正确接收到的块组的序列号,重传控制模块指示重传缓存模块删除正确接收到的块组的序列号对应的块组。
因此,由于以太网物理层块是固定长度的数据块,且长度小,而物理层由于传输误码导致的比特错误率是较低的,通过物理层编码后,错误将分散在个别块中,仅对接收错误的块进行重传即可纠正传输错误,所以可以避免个别的比特错误导致链路层或网络层整个数据包的错误,而整个数据包的长度远远大于块长度,从而间接降低了错误数据重传的时延和代价。
需要说明的是,图16中的模块可以进行任意的组合,本发明对此不作限定,只是示意性说明。例如,物理层编码模块、重传块生成模块、插入与速率适配模块和合路模块的功能可以由图12中所示的生成单元实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种数据传输方法,其特征在于,由接收端执行,包括:
接收发送端发送的第一块组,所述第一块组包括多个块以及一个第一重传块,其中,所述第一重传块基于以太网标准物理层中的块的编码定义实现,所述第一重传块包括序列字段以及校验字段,所述序列字段的值表示所述第一块组的序列号,所述校验字段的值表示所述发送端在发送所述第一块组时计算的所述第一块组除所述校验字段外所述第一块组包括的其余数据的第一校验值;
生成第二块组,所述第二块组包括多个块以及一个第二重传块;其中,所述第二重传块基于以太网标准物理层中的块的编码定义实现,所述第二重传块包括确认或非确认字段,所述确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;所述序列号子字段的值为所述第一块组的序列号;当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识;所述非确认标识子字段用于指示所述发送端根据所述序列号子字段对所述第一块组进行重传;
向所述发送端发送所述第二块组。
2.根据权利要求1所述的方法,其特征在于,重传块当中,所述第一重传块以及所述第二重传块中,通过自定义块类型位域字段来标识为所述第一重传块或者第二重传块。
3.根据权利要求1或2所述的方法,其特征在于,一个块组包括的块的数量为8-64。
4.根据权利要求1-3任意一项权利要求所述的方法,其特征在于,
所述当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识包括:
当通过计算接收到的所述第一块组中除所述校验字段外所述第一块组包括的其余数据的第二校验值,并根据所述第一校验值以及所述第二校验值判断接收到的所述第一块组的数据正确时,所述确认或非确认标识子字段的值为确认标识,当根据所述第一校验值以及所述第二校验值判断接收到的所述第一块组的数据不正确,所述确认或非确认标识子字段的值为非确认标识。
5.一种数据传输方法,其特征在于,由发送端执行,包括:
生成第一块组,所述第一块组包括多个块以及一个第一重传块,其中,所述第一重传块基于以太网标准物理层中的块的编码定义实现,所述第一重传块包括序列字段以及校验字段,所述序列字段的值表示所述第一块组的序列号,所述校验字段的值表示所述发送端在发送所述第一块组时计算的所述第一块组除所述校验字段外所述第一块组包括的其余数据的第一校验值;
向接收端发送所述第一块组;
接收所述接收端发送的第二块组,所述第二块组包括多个块以及一个第二重传块;其中,所述第二重传块基于以太网标准物理层中的块的编码定义实现,所述第二重传块包括确认或非确认字段,所述确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;所述序列号子字段的值为所述第一块组的序列号;当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识;所述非确认标识子字段用于指示所述发送端根据所述序列号子字段对所述第一块组进行重传;
确定所述确认或非确认字段包括所述第一块组的序列号,以及非确认标识;
向所述接收端发送所述第一块组的序列号对应的第一块组。
6.根据权利要求5所述的方法,其特征在于,重传块当中,所述第一重传块以及所述第二重传块中,通过自定义块类型位域字段来标识为所述第一重传块或者第二重传块。
7.根据权利要求5或6所述的方法,其特征在于,一个块组包括的块的数量为8-64。
8.一种接收端通信设备,其特征在于,包括:
接收单元,用于接收发送端通信设备发送的第一块组,所述第一块组包括多个块以及一个第一重传块,其中,所述第一重传块基于以太网标准物理层中的块的编码定义实现,所述第一重传块包括序列字段以及校验字段,所述序列字段的值表示所述第一块组的序列号,所述校验字段的值表示所述发送端通信设备在发送所述第一块组时计算的所述第一块组除所述校验字段外所述第一块组包括的其余数据的第一校验值;
生成单元,用于生成第二块组,所述第二块组包括多个块以及一个第二重传块;其中,所述第二重传块基于以太网标准物理层中的块的编码定义实现,所述第二重传块包括确认或非确认字段,所述确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;所述序列号子字段的值为所述接收单元接收到的所述第一块组的序列号;当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识;所述非确认标识子字段用于指示所述发送端通信设备根据所述序列号子字段对所述接收单元接收到的所述第一块组进行重传;
发送单元,用于向所述发送端通信设备发送所述生成单元生成的所述第二块组。
9.根据权利要求8所述的接收端通信设备,其特征在于,重传块当中,所述第一重传块以及所述第二重传块中,通过自定义块类型位域字段来标识为所述第一重传块或者第二重传块。
10.根据权利要求8或9所述的接收端通信设备,其特征在于,一个块组包括的块的数量为8-64。
11.根据权利要求8-10任意一项权利要求所述的接收端通信设备,其特征在于,
所述生成单元具体用于计算接收到的所述第一块组中除所述校验字段外所述第一块组包括的其余数据的第二校验值,并根据所述第一校验值以及所述第二校验值判断接收到的所述第一块组的数据是否正确。
12.一种发送端通信设备,其特征在于,包括:
生成单元,用于生成第一块组,所述第一块组包括多个块以及一个第一重传块,其中,所述第一重传块基于以太网标准物理层中的块的编码定义实现,所述第一重传块包括序列字段以及校验字段,所述序列字段的值表示所述第一块组的序列号,所述校验字段的值表示所述发送端通信设备在发送所述第一块组时计算的所述第一块组除所述校验字段外所述第一块组包括的其余数据的第一校验值;
发送单元,用于向接收端通信设备发送所述生成单元生成的所述第一块组;
接收单元,用于接收所述接收端通信设备发送的第二块组,所述第二块组包括多个块以及一个第二重传块;其中,所述第二重传块基于以太网标准物理层中的块的编码定义实现,所述第二重传块包括确认或非确认字段,所述确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;所述序列号子字段的值为所述生成单元生成的所述第一块组的序列号;当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识;所述非确认标识子字段用于指示所述发送端通信设备根据所述序列号子字段对所述生成单元生成的所述第一块组进行重传;
确定单元,用于确定所述接收单元接收到的所述确认或非确认字段包括所述第一块组的序列号,以及非确认标识;
所述发送单元,还用于向所述接收端通信设备发送所述确定单元确定的所述第一块组的序列号对应的第一块组。
13.根据权利要求12所述的发送端通信设备,其特征在于,重传块当中,所述第一重传块以及所述第二重传块中,通过自定义块类型位域字段来标识为所述第一重传块或者第二重传块。
14.根据权利要求12或13所述的发送端通信设备,其特征在于,一个块组包括的块的数量为8-64。
15.一种通信系统,其特征在于,包括:接收设备以及发送设备;
所述发送设备用于向所述接收设备发送第一块组,所述第一块组包括多个块以及一个第一重传块,其中,所述第一重传块基于以太网标准物理层中的块的编码定义实现,所述第一重传块包括序列字段以及校验字段,所述序列字段的值表示所述第一块组的序列号,所述校验字段的值表示所述发送设备在发送所述第一块组时计算的所述第一块组除所述校验字段外所述第一块组包括的其余数据的第一校验值;
所述接收设备用于根据接收到的所述第一块组生成第二块组,所述第二块组包括多个块以及一个第二重传块;其中,所述第二重传块基于以太网标准物理层中的块的编码定义实现,所述第二重传块包括确认或非确认字段,所述确认或非确认字段包括序列号子字段以及确认或非确认标识子字段;所述序列号子字段的值为所述第一块组的序列号;当所述第一块组的校验结果正确时,所述确认或非确认标识子字段的值为确认标识,当所述第一块组的校验结果不正确时,所述确认或非确认标识子字段的值为非确认标识;所述非确认标识子字段用于指示所述发送设备根据所述序列号子字段对所述第一块组进行重传;
所述接收设备还用于向所述发送设备发送所述第二块组;
所述发送设备还用于在所述确认或非确认标识子字段的值为非确认标识时,根据所述序列号子字段的值对所述第一块组进行重传。
16.根据权利要求15所述的通信系统,其特征在于,重传
块当中,所述第一重传块以及所述第二重传块中,通过自定义块类型位域字段来标识为所述第一重传块或者第二重传块。
17.根据权利要求15或16所述的通信系统,其特征在于,一个块组包括的块的数量为8-64。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610319058.1A CN105871512B (zh) | 2016-05-13 | 2016-05-13 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610319058.1A CN105871512B (zh) | 2016-05-13 | 2016-05-13 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871512A true CN105871512A (zh) | 2016-08-17 |
CN105871512B CN105871512B (zh) | 2019-04-12 |
Family
ID=56632079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610319058.1A Active CN105871512B (zh) | 2016-05-13 | 2016-05-13 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871512B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104974A (zh) * | 2017-05-18 | 2017-08-29 | 福建星网智慧科技股份有限公司 | 基于freeswitch的高性能媒体转发方法及装置 |
CN109257138A (zh) * | 2017-07-13 | 2019-01-22 | 华为技术有限公司 | 一种数据传输控制方法以及相关设备 |
CN110417519A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111405609A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置、系统、介质和设备 |
WO2024169301A1 (zh) * | 2023-02-17 | 2024-08-22 | 深圳市中兴微电子技术有限公司 | 数据重传方法、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436917A (zh) * | 2007-11-12 | 2009-05-20 | 华为技术有限公司 | 数据编译码方法及装置 |
US20090327831A1 (en) * | 2008-06-30 | 2009-12-31 | Fujitsu Limited | Automatic Retransmission Controller And Retransmission Block Recombination Apparatus |
-
2016
- 2016-05-13 CN CN201610319058.1A patent/CN105871512B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436917A (zh) * | 2007-11-12 | 2009-05-20 | 华为技术有限公司 | 数据编译码方法及装置 |
US20090327831A1 (en) * | 2008-06-30 | 2009-12-31 | Fujitsu Limited | Automatic Retransmission Controller And Retransmission Block Recombination Apparatus |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104974A (zh) * | 2017-05-18 | 2017-08-29 | 福建星网智慧科技股份有限公司 | 基于freeswitch的高性能媒体转发方法及装置 |
CN107104974B (zh) * | 2017-05-18 | 2019-12-03 | 福建星网智慧科技股份有限公司 | 基于freeswitch的高性能媒体转发方法及装置 |
CN109257138A (zh) * | 2017-07-13 | 2019-01-22 | 华为技术有限公司 | 一种数据传输控制方法以及相关设备 |
CN109257138B (zh) * | 2017-07-13 | 2020-11-17 | 华为技术有限公司 | 一种数据传输控制方法以及相关设备 |
CN110417519A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111405609A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置、系统、介质和设备 |
CN111405609B (zh) * | 2019-01-02 | 2023-04-07 | 中国移动通信有限公司研究院 | 一种数据传输方法、装置、系统、介质和设备 |
WO2024169301A1 (zh) * | 2023-02-17 | 2024-08-22 | 深圳市中兴微电子技术有限公司 | 数据重传方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105871512B (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871512A (zh) | 一种数据传输方法及装置 | |
KR101696776B1 (ko) | 향상된 확인응답 및 재송신 메커니즘 | |
KR101492510B1 (ko) | 다중 전달 라우트 패킷 정렬 | |
CN101895372B (zh) | 无线链路控制层确认模式下的数据传输方法 | |
US7653060B2 (en) | System and method for implementing ASI over long distances | |
RU2011108113A (ru) | Устройство и способ для формирования протокольного модуля данных мас в системе беспроводной связи | |
CN108631950B (zh) | 发送反馈信息的方法和设备 | |
CN101208898A (zh) | 利用重传在基于链路的互连中实现数据分组重构 | |
CN106031072A (zh) | 一种harq帧数据结构以及在采用盲检的系统中使用harq进行传输与接收的方法 | |
CN103607264B (zh) | 基于3g网络的带内数据传输方法 | |
CN104580371A (zh) | 机会网络中文件固定和可变大小分片、传输、副本控制法 | |
CN106330412A (zh) | 利用harq ack/nack的rlc pdu发送方法及装置 | |
CN104506280B (zh) | 一种基于时分多址接入空间动态网络的可靠数据传输方法 | |
CN107196740A (zh) | 一种码块的传输方法及装置 | |
CN101197646B (zh) | 基于hsupa的数据传输方法 | |
CN103825689B (zh) | 具有本地缓存的延迟确定性报文重传方法 | |
CN103999394B (zh) | 数据重传、反馈方法,以及相应的装置 | |
CN102315923B (zh) | 一种3g卫星通信系统无线链路控制方法 | |
CN110138635B (zh) | 一种支持fc与以太网的协议转换功能验证装置及方法 | |
CN104144044B (zh) | 一种多设备透明harq的处理方法 | |
CN1917519B (zh) | 高级数据链路控制协议串行数据的并行传输方法及其系统 | |
KR100859499B1 (ko) | 데이터 송수신 방법 및 그에 따른 통신 시스템 | |
CN104426866B (zh) | 一种数据传输方法及装置 | |
CN101989896B (zh) | 一种arq连接的反馈方法及装置 | |
CN103107875B (zh) | 基于网络编码的广播重传系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |