CN114070475A - 比特块的发送方法及装置 - Google Patents
比特块的发送方法及装置 Download PDFInfo
- Publication number
- CN114070475A CN114070475A CN202010763632.9A CN202010763632A CN114070475A CN 114070475 A CN114070475 A CN 114070475A CN 202010763632 A CN202010763632 A CN 202010763632A CN 114070475 A CN114070475 A CN 114070475A
- Authority
- CN
- China
- Prior art keywords
- bit block
- message
- packet
- field
- block
- 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/0041—Arrangements at the transmitter end
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- 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
-
- 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/0045—Arrangements at the receiver end
-
- 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
- H04L1/1635—Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
-
- 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
- H04L1/1664—Details of the supervisory signal the supervisory signal being transmitted together with payload signals; piggybacking
-
- 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
- H04L1/1671—Details of the supervisory signal the supervisory signal being transmitted together with control information
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1864—ARQ related signaling
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1896—ARQ related signaling
-
- 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/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- 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
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
Abstract
本申请公开了一种比特块的发送方法及装置,该方法包括:生成至少一个第一比特块,该至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,且该至少一个第一比特块中还包括第一序列字段,该第一序列字段用于承载该至少一个第一报文的第一序列信息;然后发送该至少一个第一比特块。本申请公开的方法,可保证通信装置及时反馈报文是否被正确接收,避免报文阻塞等问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种比特块的发送方法及装置。
背景技术
为了保证报文能够被准确无误的接收,发送端每发送一个报文便在重传缓存器(replay buffer)中做备份,直到其接收到来自接收端的确认应答(acknowledge,ACK)报文,才确认报文被正确接收,从重传缓存器中删除该报文的备份。如果发送端接收到来自接收端的否定应答(negative acknowledgment,NACK)报文,则该发送端从重传缓存器中取出该报文,重新发送(或简称为重传)该报文。
一般的,报文的典型长度可以为256字节,甚至报文的长度可能会更长。由此,可能会导致报文阻塞等问题,使得发送端无法及时接收到接收端反馈的ACK报文或NACK报文。
发明内容
本申请提供一种比特块的发送方法及装置,可保证通信装置及时反馈报文是否被正确接收,即保证该通信装置及时发送反馈的ACK或NACK。
第一方面,本申请实施例提供一种比特块的发送方法,该方法包括:生成至少一个第一比特块,该至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,该至少一个第一比特块中包括第一序列字段,且该第一序列字段用于承载至少一个第一报文的第一序列信息;发送该至少一个第一比特块。
本申请实施例中,通信装置通过第一比特块的形式,向对端反馈报文是否被正确接收,使得至少一个第一比特块被及时发送出去的可能性更高,且反馈方式更加灵活。由于至少一个第一比特块被及时发送出去的可能性被增加,因此减少了对端获取该第一比特块的时延,减少了业务流完成时间(flow completion time,FCT)的时延,提高了网络利用率。另外,该至少一个第一比特块的长度尽可能小于或等于报文的长度,示例性的,该至少一个第一比特块的长度可以为64比特、128比特、256比特等,由此,尽可能减少该第一比特块的传输时延,避免该至少一个第一比特块的传输时间过长,而导致其他报文被阻塞。
在一种可能的实现方式中,第一比特块为非报文比特块。
本申请实施例中,该第一比特块为非报文比特块,该非报文比特块包括非报文开始比特块。如非报文开始比特块预设字段承载的数值与报文开始比特块预设字段承载的数值不同。由此,该非报文开始比特块和报文开始比特块能够被区分;或者,当至少一个第一比特块包括至少一个O比特块时,通过O比特块预设字段承载的数值的不同,该O比特块与其他O比特块的作用也能够被区分。而且至少一个第一比特块还能够被插入到通信装置当前正在发送的第二报文的比特流中。避免了该至少一个第一比特块等待第二报文被发送完毕,才能被发送出去,从而减少了该至少一个第一比特块的等待时延,减少FCT的时延,提高了网络利用率。
在一种可能的实现方式中,第一比特块为报文比特块。
本申请实施例中,该第一比特块为报文比特块,如在该通信装置需要反馈是否正确接收到对应报文(如第一报文)时,正好需要发送第二报文。该情况下,通信装置可以在该第二报文中反馈是否正确接收到对应报文。
在一种可能的实现方式中,报文比特块为报文开始比特块、该报文开始比特块对应的数据比特块、该报文开始比特块对应的结束比特块、报文结束比特块、该报文结束比特块对应的开始比特块或该报文结束比特块对应的数据比特块中的至少一个。
本申请实施例中,不仅可以通过预设字段区分报文开始比特块和非报文开始比特块,还可以通过该预设字段区分报文开始比特块对应的报文结束比特块,和非报文开始比特块对应的非报文结束比特块。或者,还可以通过预设字段区分报文开始比特块对应的报文数据比特块,和非报文开始比特块对应的非报文数据比特块。
在一种可能的实现方式中,所述方法还包括:发送第二报文,该第二报文由报文比特块组成。
本申请实施例中,第二报文可以包括报文开始比特块和该报文开始比特块对应的数据比特块;或者,该第二报文包括报文开始比特块、该报文开始比特块对应的数据比特块和该报文开始比特块对应的结束比特块。
在一种可能的实现方式中,发送至少一个第一比特块包括:在发送第二报文的报文开始比特块之后,且未发送完毕该第二报文的情况下,发送至少一个第一比特块。
本申请实施例中,由于第一比特块是非报文比特块,而第二报文由报文比特块组成,因此即使将该第一比特块插入到第二报文中,对端也能够从该第二报文中区分出该第一比特块。从而,对端可以根据至少一个第一比特块获得通信装置反馈的信息。同时,将该第一比特块插入到第二报文中被发送出去,进一步减少了该至少一个第一比特块的等待时延,减少FCT的时延,提高了网络利用率。
在一种可能的实现方式中,至少一个第一比特块中包括非报文开始比特块,该非报文开始比特块中的预设字段承载第一数值。
在一种可能的实现方式中,报文开始比特块中的预设字段承载第三数值。
本申请实施例中,通过预设字段可以区分非报文开始比特块和报文开始比特块,从而使得至少一个第一比特块能够被插入到第二报文中。同时,通过区分该非报文开始比特块和报文开始比特块,还能够区分该非报文开始比特块对应的非报文结束比特块,和,该报文开始比特块对应的报文结束比特块;或者,还能够区分非报文开始比特块对应的非报文数据比特块,和,该报文开始比特块对应的报文数据比特块,使得至少一个第一比特块被插入到第二报文的实现性更高。
在一种可能的实现方式中,至少一个第一比特块中包括至少一个序列(sequenceordered set,O)比特块,该至少一个O比特块中每个O比特块中的预设字段承载第二数值。
本申请实施例中,通信装置可以通过至少一个O比特块反馈报文是否被正确接收。可选的,该至少一个O比特块还可以被插入到通信装置正在发送的第二报文的比特流中。示例性的,该至少一个O比特块可以包括一个O比特块、两个O比特块或三个O比特块等,本申请实施例不作限定。
在一种可能的实现方式中,至少一个第一比特块中还包括第一类型字段,第一类型字段用于指示至少一个第一比特块的类型,且至少一个第一比特块的类型包括确认应答ACK比特块或否定应答NACK比特块。
在一种可能的实现方式中,至少一个第一比特块中还包括:非报文开始比特块对应的至少一个数据比特块;或者非报文开始比特块对应的结束比特块;或者非报文开始比特块对应的至少一个数据比特块和非报文开始比特块对应的结束比特块。
本申请实施例中,非报文开始比特块对应的数据比特块还可以称为非报文数据比特块,非报文开始比特块对应的结束比特块还可以称为非报文结束比特块。
在一种可能的实现方式中,在至少一个第一比特块包括非报文开始比特块和非报文结束比特块的情况下,发送至少一个第一比特块包括:依次发送非报文开始比特块和非报文结束比特块;或者依次发送非报文结束比特块和非报文开始比特块。
在一种可能的实现方式中,非报文比特块还可以包括非报文结束比特块、非报文结束比特块对应的数据比特块或非报文结束比特块对应的开始比特块中的至少一个。
本申请实施例中,非报文结束比特块对应的数据比特块还可以称为非报文数据比特块,非报文结束比特块对应的开始比特块还可以称为非报文开始比特块。
在一种可能的实现方式中,至少一个第一比特块还包括循环冗余校验(cyclicredundancy check,CRC)字段。
本申请实施例中,该CRC字段可以用于承载CRC信息。
在一种可能的实现方式中,第一比特块为P1 B/P2 B比特块,P1表示该第一比特块的净荷比特数,P2表示该第一比特块的总比特数,P2-P1表示该第一比特块的同步头比特数。
在一种可能的实现方式中,P1的取值为以下任一个:64、128、256或512;P2-P1的取值为以下任一个:1、2或3。
示例性的,第一比特块可以为64B/66B比特块;或者,128B/129B比特块;或者,128B/130B比特块;或者,128B/131B比特块;或者,256B/257B比特块;或者,256B/258B比特块;或者,256B/259B比特块;或者,512B/513B比特块;或者,512B/514B比特块;或者,512B/515B比特块等。
在一种可能的实现方式中,报文开始比特块中包括第二序列字段,该第二序列字段用于承载第二序列信息。
在一种可能的实现方式中,报文开始比特块中还包括第二类型字段,该第二类型字段承载第四数值时,第二类型字段用于指示第二序列信息为第二报文的序列号。
本申请实施例中,该第二序列信息的具体含义可以根据第二类型字段的取值而定。示例性的,第二类型字段承载第四数值时,第二类型字段用于指示第二序列信息为第二报文的序列号;而第二类型字段承载第五数值时,第二序列字段可以用于指示第二序列信息为反馈的被正确接收的第一报文的序列号。
本申请第一方面所提供的方法,可应用于通信装置,且该通信装置可以包括接收端。
第二方面,本申请实施例提供一种比特块的接收方法,该方法包括:接收至少一个第一比特块,该至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,且该至少一个第一比特块中包括第一序列字段,该第一序列字段用于承载至少一个第一报文的第一序列信息;根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。
在一种可能的实现方式中,至少一个第一比特块中还包括CRC字段,该CRC字段用于承载CRC信息。
本申请实施例中,该CRC信息可以用于校验第一序列信息等。
在一种可能的实现方式中,根据至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文包括:在对至少一个第一比特块中的CRC信息校验成功的情况下,根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。
在一种可能的实现方式中,所述方法还包括:在根据至少一个第一比特块确定重传与第一序列信息对应的至少一个第一报文的情况下,重传被错误接收的与第一序列信息对应的至少一个第一报文。
在一种可能的实现方式中,根据至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文包括:获取至少一个第一比特块中预设字段承载的数值,在该预设字段承载第一数值或第三数值时,根据至少一个第一比特块中的第一类型字段确定是否重传与第一序列信息对应的第一报文。
本申请实施例中,通信装置还可以获取至少一个第一比特块的块类型域(blocktype field),根据该类型域、预设字段承载的数值以及第一类型字段,确定是否重传与第一序列信息对应的第一报文。示例性的,至少一个第一比特块的块类型域为0x4B,且预设字段承载0x06,则说明获取到的至少一个第一比特块为O比特块,且该O比特块的作用是用于反馈重传控制信息,则通信装置可以根据该O比特块中的第一类型字段确定是否重传与第一序列信息对应的第一报文。示例性的,至少一个第一比特块的块类型域为0x78,且预设字段承载0xF5,则通信装置可以根据该非报文开始比特块中的第一类型字段确定是否重传与第一序列信息对应的第一报文。
本申请实施例中,关于第一比特块、第一序列字段、第一类型字段、报文比特块或非报文比特块等的描述,可参考第一方面的介绍,这里不再详述。
本申请第二方面所提供的方法,可应用于通信装置,且该通信装置可以包括发送端。
第二方面的有益效果可参见第一方面的有益效果,在此不赘述。
第三方面,本申请提供一种通信装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。该通信装置包括具有执行第一方面或第一方面的任意可能的实现方式中的方法的相应单元。
例如,该通信装置可以包括收发单元和处理单元。示例性的,如该处理单元用于生成至少一个第一比特块,该收发单元用于发送该至少一个第一比特块。又如,收发单元用于发送第二报文。又如,收发单元用于接收第一报文。
第四方面,本申请提供一种通信装置,用于执行第二方面或第二方面的任意可能的实现方式中的方法。该通信装置包括具有执行第二方面或第二方面的任意可能的实现方式中的方法的相应单元。
例如,该通信装置可以包括收发单元和处理单元。示例性的,如收发单元用于接收至少一个第一比特块,处理单元用于根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。又如,收发单元用于发送第一报文。又如,收发单元用于接收第二报文。又如,处理单元用于对该至少一个第一比特块中的CRC信息进行校验。
第五方面,本申请提供一种通信装置,该通信装置包括处理器,该处理器可以用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法。
本申请实施例中,在执行上述方法的过程中,上述方法中有关发送报文、接收报文或发送至少一个第一比特块(以下统称为信息)的过程,可以理解为由处理器输出信息的过程,以及处理器接收输入的信息的过程。在输出信息时,处理器将该信息输出给收发器,以便由收发器进行发射。该信息在由处理器输出之后,还可能需要进行其他的处理,然后到达收发器。类似的,处理器接收输入的信息时,收发器接收该信息,并将其输入处理器。更进一步的,在收发器收到该信息之后,该信息可能需要进行其他的处理,然后才输入处理器。
基于上述原理,示例性的,例如,发送至少一个第一比特块可以理解为处理器输出该至少一个第一比特块。又例如,发送第二报文可以理解为处理器输出该第二报文等。
对于处理器所涉及的发送和/或接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以一般性的理解为处理器输出和接收、输入等操作。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第一方面或第一方面的任意可能的实现方式所示的方法。
在一种可能的实现方式中,存储器位于上述通信装置之外。
在一种可能的实现方式中,存储器位于上述通信装置之内。
本申请实施例中,处理器和存储器还可能集成于一个器件中,即处理器和存储器还可能被集成于一起。
在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收报文、发送报文或发送至少一个第一比特块等。示例性的,如该处理器用于生成至少一个第一比特块,该收发器用于发送该至少一个第一比特块。又如,收发器用于发送第二报文。又如,收发器用于接收第一报文。
第六方面,本申请提供一种通信装置,该通信装置包括处理器,该处理器可以用于执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
本申请实施例中,关于处理器的具体说明可参考上述第五方面的描述,这里不再详述。示例性的,例如,接收至少一个第一比特块可以理解为处理器接收输入的至少一个第一比特块。又例如,发送第一报文可以理解为处理器输出第一报文等。
在实现过程中,上述处理器可以是专门用于执行这些方法的处理器,也可以是执行存储器中的计算机指令来执行这些方法的处理器,例如通用处理器等。例如,处理器还可以用于执行存储器中存储的程序,当该程序被执行时,使得该通信装置执行如上述第二方面或第二方面的任意可能的实现方式所示的方法。
在一种可能的实现方式中,存储器位于上述通信装置之外。
在一种可能的实现方式中,存储器位于上述通信装置之内。
在一种可能的实现方式中,存储器和处理器可能被集成在一起。
在一种可能的实现方式中,通信装置还包括收发器,该收发器,用于接收报文或发送报文等。
示例性的,如收发器用于接收至少一个第一比特块,处理器用于根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。又如,收发器用于发送第一报文。又如,收发器用于接收第二报文。又如,处理器用于对该至少一个第一比特块中的CRC信息进行校验。
第七方面,本申请提供一种通信装置,该通信装置包括逻辑电路和接口,该逻辑电路可用于生成至少一个第一比特块,该接口可用于输出该至少一个第一比特块。
在一种可能的实现方式中,该接口还可以用于输入第一报文;和/或,该接口还可以用于输出第二报文。
可理解,关于第一比特块、第一序列字段、第一类型字段等的描述,可参考第一方面的介绍,这里不再详述。
第八方面,本申请提供一种通信装置,该通信装置包括逻辑电路和接口,该接口用于输入至少一个第一比特块,该逻辑电路用于根据该至少一个第一比特块确定是否重传至少一个第一报文。
在一种可能的实现方式中,该逻辑电路还可以用于对至少一个第一比特块中的CRC信息进行校验。
在一种可能的实现方式中,该接口还可以用于输出第一报文,和/或,输入第二报文。
在一种可能的实现方式中,该接口还可以用于输出被错误接收的至少一个第一报文。
可理解,关于第一比特块、第一序列字段、第一类型字段等的描述,可参考第一方面的介绍,这里不再详述。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
第十一方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十二方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机代码,当其在计算机上运行时,使得上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
第十三方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第一方面或第一方面的任意可能的实现方式所示的方法被执行。
第十四方面,本申请提供一种计算机程序,该计算机程序在计算机上运行时,上述第二方面或第二方面的任意可能的实现方式所示的方法被执行。
第十五方面,本申请提供一种通信系统,该通信系统包括发送端和接收端,该接收端可以用于执行上述第一方面或第一方面的任意可能的实现方式所示的方法,该发送端可以用于执行上述第二方面或第二方面的任意可能的实现方式所示的方法。
附图说明
图1a是本申请实施例提供的一种返回N协议的重传过程示意图;
图1b是本申请实施例提供的另一种返回N协议的重传过程示意图;
图1c是本申请实施例提供的一种SACK的重传过程示意图;
图2是本申请实施例提供的业务流完成时间的过程示意图;
图3a是本申请实施例提供的一种比特块的格式示意图;
图3b是本申请实施例提供的另一种比特块的格式示意图;
图4a是本申请实施例提供的一种O比特块的格式示意图;
图4b至图4d是本申请实施例提供的报文比特块和非报文比特块的区分方法示意图;
图5是本申请实施例提供的一种40G/100G以太网的分层架构示意图;
图6是本申请实施例提供的一种比特块的发送方法的流程示意图;
图7a和图7b是本申请实施例提供的第一报文的格式示意图;
图8a是本申请实施例提供的一种O比特块的格式示意图;
图8b是本申请实施例提供的一种O比特块的传输示意图;
图9a和图9b是本申请实施例提供的至少一个第一比特块的格式示意图;
图9c和图9d是本申请实施例提供的非报文开始比特块和非报文结束比特块的传输示意图;
图10a是本申请实施例提供的一种至少一个第一比特块的格式示意图;
图10b是本申请实施例提供的至少一个第一比特块的传输示意图;
图11a是本申请实施例提供的一种至少一个第一比特块的格式示意图;
图11b是本申请实施例提供的至少一个第一比特块的传输示意图;
图12a是本申请实施例提供的一种报文格式示意图;
图12b是本申请实施例提供的一种重传方法的流程示意图;
图12c至图12e是本申请实施例提供的重传方法的具体场景示意图;
图13是本申请实施例提供的一种通信装置的结构示意图;
图14是本申请实施例提供的另一种通信装置的结构示意图;
图15是本申请实施例提供的又一种通信装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
以下详细介绍本申请涉及的术语。
1、返回N协议(go-back-N)
通信装置在接收到至少一个报文后,可以根据返回N协议反馈该至少一个报文是否被正确接收。换句话说,通信装置在接收到至少一个报文后,可以根据返回N协议反馈该通信装置是否正确接收到上述至少一个报文。即通信装置在接收到至少一个报文后,需要向对端反馈ACK报文或NACK报文。然而,在本申请中,通信装置向对端反馈的是至少一个第一比特块,如该至少一个第一比特块的类型可以为ACK比特块或NACK比特块。其中,ACK比特块表示至少一个报文被正确接收,NACK比特块表示至少一个报文被错误接收。换句话说,该ACK比特块可以用于通知对端哪些报文被正确接收,该NACK比特块可以用于通知对端哪些报文被错误接收,需要重传被错误接收的报文。可选的,通信装置可以通过接收到的报文中的循环冗余校验(cyclic redundancy check,CRC)信息(或者,也可以称为帧校验序列(frame check sequence,FCS)等校验该报文是否被正确接收。
本申请中通信装置可以包括发送端和接收端,且发送端向接收端发送的报文称为第一报文,接收端向发送端发送的报文称为第二报文。下文示出的报文尽管统一区分为第一报文和第二报文,但是下文示出的各个第一报文可能不为同一个第一报文,同时下文示出的各个第二报文也可能不为同一个第二报文。
至于反馈ACK比特块或NACK比特块的具体方法可如下所示:
方法一、
接收端可以每接收到一个第一报文,向发送端反馈ACK比特块或NACK比特块。
方法二、
接收端可以每接收到预设数量的第一报文,向发送端反馈ACK比特块或NACK比特块。
图1a示出的是接收端每接收到三个(仅为示例)第一报文,向发送端反馈ACK比特块或NACK比特块的示意图。如图1a所示,发送端向接收端发送三个第一报文,且该三个第一报文的序列号依次为1、2和3。接收端根据该三个第一报文的CRC信息校验该三个第一报文被正确接收。由此,接收端向发送端反馈ACK比特块,该ACK比特块包括上述三个第一报文中最后一个第一报文的序列号如序列号3(图1a以seq=3为例示出)。该情况下,发送端从重传缓存器(replay buffer)中删除序列号为1、2和3的第一报文。
接着,发送端向接收端发送序列号为4、5和6的三个第一报文,且序列号为4的第一报文被错误接收。由此,接收端向发送端反馈NACK比特块,该NACK比特块可以包括接收端正确接收到的最后一个报文的序列号,如序列号3。且该NACK比特块用于表示序列号3的报文以及该序列号3之前的报文被正确接收,但是序列号3之后的报文被错误接收。该情况下,发送端根据NACK比特块重传序列号为4、5和6的第一报文,直到发送端接收到包括序列号为6的ACK比特块,则从重传缓存器中删除序列号为4、5和6的第一报文。
可理解,图1a示出的NACK比特块是以接收端正确接收到的最后一个报文的序列号为例示出的。然而,在具体实现中,NACK比特块可以包括接收端被错误接收的第一个报文的序列号,如序列号4。该NACK比特块用于表示序列号为4的报文以及序列号4之后的报文被错误接收。该情况下,发送端根据NACK比特块仍然重传序列号为4、5和6的第一报文。为便于描述,下文将以图1b示出的NACK比特块反馈序列号的方法为例说明本申请提供的各个实施例。
方法三、
接收端可以每接收到预设数量的第一报文,向发送端反馈ACK比特块,但是如果接收端错误接收了至少一个第一报文,则立即向发送端反馈NACK比特块。如接收端只要错误接收到了一个第一报文,便可以立即向发送端反馈NACK比特块。
本申请中的预设数量的取值包括2、3、4、5或1000(仅为示例)等。可理解,图1a示出的是第一报文在传输过程中携带序列号的示意图,如图1b所示,在本申请的另一些实施例中,第一报文在传输过程中还可以不携带序列号。该情况下,接收端仍可以向发送端发送ACK比特块或NACK比特块。对于图1b所示的具体说明,还可以参考下文中关于图12d和图12e的描述,这里先不详述。
可理解,以上示出的仅仅为一种示例,在具体实现中,接收端反馈是否正确接收的第一报文的数量,还可以根据该接收端是否能及时发送NACK比特块或ACK比特块确定。如果接收端在反馈ACK(或NACK)比特块时,未及时将该ACK(NACK)比特块发送出去,该情况下,接收端又接收到了一个第一报文,则该接收端还可以将该第一报文的接收情况,一起反馈出去。可理解,以上示出的反馈ACK比特块或NACK比特块的具体方法,下文示出的各个实施例同样适用,下文不再赘述。
2、选择性确认(selectiveacknowledge,SACK)
图1c示出的是接收端向发送端反馈SACK比特块的流程示意图。如图1c所示,发送端向接收端发送序列号为4、5、6和7的第一报文,其中,序列号为4的第一报文被错误接收。则该接收端可以向发送端反馈至少一个第一比特块,如该至少一个第一比特块还可以称为SACK比特块,该SACK比特块中包括序列号3、序列号5和序列号7,该序列号3则表示序列号为3的第一报文以及序列号3之前的第一报文均已被正确接收,序列号5至序列号7之间的第一报文被正确接收。该情况下,发送端接收到该SACK比特块之后,可以向接收端重传序列号为4的第一报文。
3、业务流完成的时间(flow completion time,FCT)
如图2所示,假设一条业务流需要发送n个报文,该n个报文的序列号分别为1、2、3…,n,正常的流完成时间为传送该n个报文的时间。然而,当序列号为4的报文被错误接收,然后接收端反馈NACK比特块,发送端重传序列号为4的报文。期间发送端重传的报文可能不止该序列号为4的报文,还可能包括该发送端未接收到NACK比特块,而在序列号为4的报文之后发送的其他报文如序列号为5的报文和序列号为6的报文等等。该情况下,业务流完成的时间,从接收端角度来说相当于该接收端多接收了一些报文,即业务流完成的时间被延迟了三个报文的传输时长。换句话说,业务流完成的时间会随着NACK比特块的延迟而增加。
4、报文
报文(message)是网络中交换与传输的数据单元。示例性的,报文中可以包括目的MAC地址(destination address)信息、源MAC地址(source address)信息、长度/类型(length/type)信息、数据信息和帧校验序列(frame check sequence,FCS)等。或者,报文中还可以包括前导(preamble)和帧起始定界符(startofframedelimiter,SFD)等。
图5示出的是40G/100G以太网中的一种分层架构示意图。其中,媒体接入控制(media access control,MAC)层的功能在于对以报文进行校验;协调子层(reconciliation sublayer,RS)的功能是提供一种媒体独立接口(some kind of mediaindependent interface,xMII)和MAC层之间的信号映射机制;物理编码子层(physicalcoding sublayer,PCS)的功能是对从xMII接收到的信号进行编码;物理媒介接入子层(physical media attachment,PMA)的功能是负责信号的并串、串并转换等;物理媒介依赖层(physical media dependent,PMD)的功能是完成PMA产生的高速模拟信号和外围介质之间的交互。可理解,本申请介绍的功能仅为示例,在具体实现中,每个层可能还包括其他功能等,本申请不作限定。
一般的,以8比特为单位,报文的每8比特被依次映射到xMII接口的通道0至通道7上。然后,PCS基于从xMII接口接收到的信号进行64B/66B编码,如增加2比特的同步头,形成64B/66B比特块。示例性,7个字节的前导和1个字节的SFD可以被编码为开始比特块;6字节的目的MAC地址和2字节的部分源MAC地址被编码为第一个数据比特块,依次类推,形成若干个数据比特块。该若干个数据比特块的最后一个数据比特块中可能会包含FCS。然而,为标识报文的结束,PCS可能会在最后一个数据比特块之后增加一个结束比特块。可选的,该结束比特块中可能会包含FCS。这里所示的FCS可能会包含于结束比特块中,也可能会包含于数据比特块中,本申请对此不作限定。
本申请中,在PCS进行64B/66B编码时,开始比特块中预设字段的取值可以会被设置为第一数值或第三数值。其中,若开始比特块中预设字段的取值为第一数值时,该开始比特块还可以被称为非报文开始比特块,而该开始比特块中预设字段的取值为第三数值时,该开始比特块还可以被称为报文开始比特块。可选的,PCS进行64B/66B编码时,还可以将结束比特块的预设字段的取值设置为不同数值,从而区分报文结束比特块和非报文结束比特块。
可选的,操作管理和维护等信息经过PCS,进行64B/66B编码时,可能会被编码为O比特块。该O比特块中预设字段的取值可以为第二数值。当该O比特块中预设字段的取值为第二数值时,则表示该O比特块的作用是用于反馈重传控制信息。
可理解,以上示出的仅为一种编码方式,对于其他类型的编码方式,本申请同样适用。
5、第一比特块(bit block)
本申请中,第一比特块可以为P1 B/P2 B比特块,或者也可以称为P1 B/P2 B码块,或者也可以称为P1 B/P2 B块,或者也可以称为P1 B/P2 B编码块,或者也可以称为P1 B/P2B比特流等。其中,P1表示该第一比特块的净荷比特数,P2表示该第一比特块的总比特数,P2-P1表示该第一比特块的同步头比特数,P1、P2为正整数,且P2大于P1。
在本申请中,该P1 B/P2 B比特块可以为64B/66B比特块;或者,128B/129B比特块;或者,128B/130B比特块;或者,128B/131B比特块;或者,256B/257B比特块;或者,256B/258B比特块;或者,512B/513B比特块;或者,512B/514B比特块;或者,512B/515B比特块等。
作为示例,图3a示出的是64B/66B比特块的不同类型。如图3a所示,首部的2个比特“10”或“01”为同步头比特,后64比特即为净荷比特,可以用于承载净荷数据等。图3a中每一行代表一种码型定义,其中,D0~D7代表数据字节,C0~C7代表控制字节,S0代表MAC帧的开始,T0~T7代表MAC帧的结束。
作为示例,图3b示出的是128B/131B比特块(仅为示例),或者也可以称为流控单元(flow control unit,flit),下文将以flit为例说明本申请提供的各个实施例。如图3b所示,H(header)表示该flit的同步头,且H的不同取值用于表示该flit是控制比特块(也可以称为控制flit)或数据比特块(也可以称为负载flit(payload flit)),该H的长度可以为1比特、2比特或3比特等。类型(Type)字段的不同取值用于表示控制比特块的类型如为报文开始比特块(也可以称为报文开始flit)或O比特块(也可以称为反馈flit或O flit等)等,该type的长度至少可以为2比特。或者,为进一步明确区分控制比特块,Type字段的不同取值还可以用于识别控制比特块的类型为报文开始flit、ACK flit或NACK flit等。
可选的,图3b(一)所示的flit一般可以用于承载请求类、控制或管理类信息,图3b(二)至图3b(四)示出的是多个flit承载一个报文的情况,它们之间的区别主要在于不同CRC的保护方式,图3b(二)是每个flit都被CRC-X保护(比如X=16,即CRC-16),图3b(三)是报文开始flit被CRC-X保护,负载flit0~N被CRC-Y保护(比如Y=32,即CRC-32),图3b(四)是报文开始flit和负载flit都被CRC-Y保护。
可理解,以上示出的示例,是以type字段的不同取值用于识别报文开始比特块或O比特块为例示出的,在具体实现中,该type字段的不同取值还可以用于识别报文开始比特块、报文结束比特块或O比特块等,这里不再一一详述。或者,也可以通过type字段识别开始比特块和结束比特块然后通过其他字段区分开始比特块为报文开始比特块或非报文开始比特块,或者,通过其他字段区分结束比特块为报文结束比特块或非报文结束比特块。
本申请中,对第一比特块的生成位置不做限定,通信装置既可以在xMII接口生成至少一个第一比特块;或者,也可以在PCS生成至少一个第一比特块。换句话说,至少第一比特块可以是在PCS生成的P1B/P2B比特块;或者,该至少一个第一比特块也可以是经过xMII接口生成的包括控制字符或数据字符的比特块,该包括控制字符或数据字符的比特块经过PCS后会被编码为P1B/P2B比特块。
6、报文比特块和非报文比特块
本申请中,报文比特块可以包括边界比特块和数据比特块,该边界比特块可以是开始比特块和结束比特块中的至少一个。因此一个报文对应的比特块可以是:A、开始比特块+数据比特块;B、开始比特块+数据比特块+结束比特块;C、数据比特块+结束比特块。示例性的,如报文比特块为报文开始比特块、该报文开始比特块对应的数据比特块、该报文开始比特块对应的结束比特块、报文结束比特块、该报文结束比特块对应的开始比特块或该报文结束比特块对应的数据比特块中的至少一个。
在一种可能的实现方式中,非报文比特块可以为报文比特块之外的其它比特块,例如可以是报文之间传输的O比特块。
在另一种可能的实现方式中,非报文比特块还可以使用边界比特块来实现,当然,非报文比特块也可以使用边界比特块和数据比特块一起来实现。该情况下,为了区分报文比特块和非报文比特块,非报文比特块中的边界比特块的预设字段可以使用预设取值(如第一数值),通过该预设字段来区分报文边界比特块和非报文边界比特块。如可以使用开始比特块的预设字段来区分,即区分为报文开始比特块和非报文开始比特块,或者,也可以使用结束比特块的预设字段来区分,即区分为报文结束比特块和非报文结束比特块。
下面针对非报文比特块是否包括边界比特块分为两方面具体说明:
方式一、非报文比特块不包括边界比特块。
报文比特块包括边界比特块和该边界比特块对应的数据比特块;
非报文比特块为报文比特块之外的其它比特块,例如可以是O比特块。
方式二、非报文比特块包括边界比特块。
报文比特块包括报文边界比特块和报文边界比特块对应的数据比特块;
非报文比特块为报文比特块之外的其它比特块,例如可以是O比特块、非报文边界比特块、非报文边界比特块对应的数据比特块、非报文边界比特块对应的边界比特块等。具体的,非报文比特块包括可以是O比特块、非报文开始比特块、非报文开始比特块对应的数据比特块、非报文开始比特块对应的结束比特块、非报文结束比特块、非报文结束比特块对应的数据比特块、非报文结束比特块对应的开始比特块等。例如可以是:
A、非报文开始比特块;
B、非报文开始比特块+非报文开始比特块对应的数据比特块;
C、非报文开始比特块+非报文开始比特块对应的数据比特块+非报文开始比特块对应的结束比特块;
D、非报文开始比特块+非报文开始比特块对应的结束比特块;
E、非报文结束比特块;
F、非报文结束比特块对应的数据比特块+非报文结束比特块;
G、非报文结束比特块对应的开始比特块+非报文结束比特块对应的数据比特块+非报文结束比特块;
H、非报文结束比特块对应的开始比特块+非报文结束比特块;
I、非报文开始比特块+非报文结束比特块;
J、非报文开始比特块+非报文开始比特块对应的数据比特块+非报文结束比特块;
这里,非报文开始比特块对应的数据比特块也可以称为非报文数据比特块,非报文开始比特块对应的结束比特块也可以称为非报文结束比特块,非报文结束比特块对应的开始比特块也可以称为非报文开始比特块,非报文结束比特块对应的数据比特块也可以称为非报文数据比特块等。
以上仅为举例,还可以采用其它形式来实现,在此不再赘述。此外需要说明的是,比特块之间的发送顺序也可以调整,例如可以先发送结束比特块,再发送开始比特块,也可以先发送结束比特块,再发送开始比特块。
换句话说,预设字段可以用于识别报文开始比特块或非报文开始比特块。如报文比特块中包括预设字段,非报文比特块中包括预设字段,且该预设字段承载的数值可以用于识别报文开始比特块或非报文开始比特块;或者,该预设字段承载的数值可以用于识别报文结束比特块或非报文结束比特块。示例性的,预设字段承载的数值可以包括第一数值或第三数值,该第一数值对应非报文比特块,该第三数值对应报文比特块。
对应本申请提供的各个实施例,至少一个第一比特块中包括预设字段,该预设字段可以用于识别该至少一个第一比特块为报文比特块或非报文比特块。示例性的,预设字段承载的数值可以用于识别报文开始比特块或非报文开始比特块;或者,该预设字段承载的数值可以用于识别报文结束比特块或非报文结束比特块。或者,预设字段可以用于识别O比特块的作用为承载重传控制信息或其他信息等。
本申请中,预设字段可以理解为比特块中的预设区域或预设位置等,在该预设区域或预设位置承载有数值。本申请对于该预设字段具体在比特块中的哪个区域或位置等,不作限定。该预设字段可以位于开始比特块、结束比特块或数据比特块中的至少一个中。
为更形象的理解报文比特块和非报文比特块的区别,如图4b至图4d所示。
图4b和图4c示出的是报文开始比特块和非报文开始比特块中预设字段的不同取值,图4b中预设字段可以承载于D1区域,图4c中预设字段可以承载于D7区域,或者,也可以称为图4b中预设字段位于D1区域,图4c中预设字段位于D7区域。如图4b所示,非报文开始比特块中预设字段承载0xF5(仅为示例),报文开始比特块中预设字段承载0x55。如图4c所示,非报文开始比特块中预设字段承载0xC5(仅为示例),报文开始比特块中预设字段承载0xD5(比特传输顺序为1010 1011)。其中,0xF5和0xC5可以理解为第一数值,0x55和0xD5可以理解为第三数值。
可理解,图4a至图4c仅为一种示例,在具体实现中,预设字段还可以位于其他区域,如图4b中的预设字段还可以为D2至D6中的任一区域或多个区域等,以及对于非报文比特块预设字段承载的第一数值的具体取值,本申请也不作限定。可理解,本申请示出的第一数值仅为统称,至于在具体实现方式中,或者在不同实施例中,该第一数值是否为同一个数值,本申请不作限定。这里所示的对第一数值的说明,其他数值如第三数值、第四数值或第五数值同样适用,下文不再赘述。
可理解,图4b和图4c示出的对比示意图是以预设字段位于开始比特块为例示出的,但是,本申请中预设字段还可以位于结束比特块,即通过结束比特块中的预设字段的不同取值区分报文结束比特块和非报文结束比特块。对于预设字段位于结束比特块的具体描述,可参考图4b和图4c,这里不再详述。不失一般性,下文将以预设字段位于开始比特块为例示出本申请提供的各个实施例。
图4d示出的是flit中预设字段的不同取值。示例性的,当预设字段承载00001时,则表示该flit为报文开始flit。预设字段承载01000时,则表示该flit为Oflit。至于该O比特块具体为ACK比特块还是NACK比特块,则可以通过其他字段,如通过图4d的第三个图中位于01000之后的区域来表示。可理解,对于flit的具体说明,还可以参考图11a。表1示出的是区分非报文比特块和报文比特块的方法示例。
表1
比特块名称 | 预设字段的位置 | 预设字段的取值 | 报文比特块 | 非报文比特块 |
S0比特块 | D1区域 | 0x55(即第三数值) | 是 | 否 |
S0比特块 | D1区域 | 0xF5即第一数值) | 否 | 是 |
Flit比特块 | Type区域 | 00001(即第三数值) | 是 | 否 |
Flit比特块 | Type区域 | 01000即第二数值) | 否 | 是(O比特块) |
本申请中,预设字段不仅可以用于识别报文比特块和非报文比特块。可选的,该预设字段的不同取值可以用于识别报文比特块、ACK比特块和NACK比特块。其中,ACK比特块和NACK比特块可以理解为非报文比特块。示例性的,当预设字段承载00001时,则表示该flit为报文开始flit。当预设字段承载00010时,则表示该flit为ACK flit,也可以称为ACK比特块或O比特块等;当预设字段承载00100时,则表示该flit为NACK flit,也可以称为NACK比特块或O比特块等。如表2示出的是区分报文比特块、ACK比特块和NACK比特块的方法示例。
表2
比特块名称 | 预设字段的位置 | 预设字段的取值 | 报文比特块 | 非报文比特块 |
Flit比特块 | Type区域 | 00001(即第三数值) | 是 | 否 |
Flit比特块 | Type区域 | 00010(即第二数值) | 否 | 是(ACK比特块) |
Flit比特块 | Type区域 | 00100(即第二数值) | 否 | 是(NACK比特块) |
可理解,以上示出的预设字段的取值仅为示例,在具体实现中,区分非报文开始比特块和报文开始比特块的预设字段还可以位于其他区域,或者还可以用于承载其他数值等,本申请不作限定。只要在同一个字段能够通过取不同的数值区分非报文比特块和报文比特块即可。
7、O比特块
上文示出的预设字段主要是用于识别报文比特块和非报文比特块,然而,对于控制比特块如O比特块来说,该预设字段可以用于识别该O比特块所承载的信息。可选的,该O比特块中预设字段承载的不同数值用于识别该O比特块用于承载重传控制信息或流量控制信息等。换句话说,预设字段承载的不同数值对应不同的信息,且一个数值对应一种信息。例如,O比特块中预设字段承载第二数值时,该O比特块用于承载重传控制信息。该O比特块中预设字段承载第六数值时,该O比特块可以用于承载流量控制信息等(仅为示例)。
图4a中O比特块中的预设字段可以承载于O0区域,或者也可以称为O比特块中的预设字段位于O0区域,或者也可以称为预设字段的具体位置位于O0区域。且本申请中,该预设字段可以承载第二数值,如0x06(仅为示例)。即当O比特块中预设字段承载0x06时,则表示该O比特块用于反馈重传控制信息,该重传控制信息如包括报文是否被正确接收,或该O比特块之后传输的报文为重传的报文。
换句话说,该O比特块中预设字段承载第二数值时,可以用于表示该O比特块的作用是用于反馈通信装置是否正确接收到对端发送的至少一个第一报文。或者,该O比特块中预设字段承载第二数值时,可以用于表示O比特块的作用是用于指示后续传输的报文为重传的报文。至于该O比特块的作用是反馈ACK或NACK,还是指示后续传输的报文为重传的报文,可参考表4或图12a至图12e的描述,这里不再一一详述。
可理解,图4a仅示出了与图3a对应的O比特块,对于图3b对应的O flit的具体说明,这里不再详述。
可理解,本申请所描述的某个字段承载某个数值,也可以理解为该某个字段的取值为某个数值,对于该说明,下文各个实施例同样适用。
8、比特位置(Bit position)
示例性的,如图3a所示,对于数据比特块(图3a中的第一行)来说,比特位置2至9之间的8个比特为D0区域,比特位置为10至17之间的8个比特为D1区域。对于S0比特块来说,比特位置2至9之间的8个比特为0x78(即块类型域为0x78),比特位置为10至17之间的8个比特为D1区域。对于T7比特块来说,比特位置2至9之间的8个比特为0xFF(即块类型域为0xFF),比特位置为10至17之间的8个比特为D0区域。可理解,本申请所示的比特块的起始比特位置均为0。如果起始比特位置为1,则S0比特块的0x78占用的比特位置则可以为比特位置3至10之间的8个比特。换句话说,本申请对于起始比特位置为多少不作限定。
这里仅示出了比特位置的说明,但是对于比特位置与比特传输顺序之间的关系,本申请不作限定。示例性的,如图3b所示的S0比特块来说,比特位置2至9之间的8个比特为0x78,但是对于其对应的8个比特“0111 1000”的具体比特位置,本申请不作限定。例如,该S0比特块中比特位置为2至9之间的8个比特可以依次为0111 1000,或者依次为0001 1110等,本申请对此不作限定。
接收端向发送端反馈ACK报文或NACK报文时,由于报文的长度一般较长,因此接收端反馈的ACK报文或NACK报文可能会导致报文阻塞。尤其在接收端反馈NACK报文时,该接收端正在发送其他报文(如第二报文),该情况下,接收端可能无法及时将NACK报文发送出去。NACK报文一旦被延迟发送,发送端重传被接收端错误接收的报文的时间也将会被延迟,由此业务流完成的时间(flow completion time,FCT)也将会被延迟,导致网络利用率低下。
鉴于此,本申请提供一种比特块的发送方法及装置,接收端不仅能够向发送端反馈至少一个第一报文是否被正确接收,还能够以比特块的方式反馈ACK或NACK,使得该ACK或NACK能够被及时发送出去的可能性更高,且使得反馈方式更灵活。进一步的,以比特块的方式反馈ACK或NACK,还能够打断接收端当前正在发送的第二报文,减少ACK或NACK的等待时延。同时,发送端能及时重传被接收端错误接收的至少一个第一报文,不仅使得该发送端能够及时清理重传缓冲器,还能够减少FCT的时延,提高网络利用率。
本申请提供的方法不仅可以应用于基于高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)或基于flit的信息技术(information technology,IT)网络,还可以应用于以太网、互联网协议(internetprotocol,IP)网络、分组传送网(packet transport network,PTN)、灵活传送网(agiletransport network,ATN)、切片分组网(slicing packet network,SPN)等,对于本申请提供的方法可以应用的网络不作限定。具体的,本申请提供的方法可以应用于通信装置,该通信装置可以为支持PCIe、flit或以太网技术的装置等。示例性的,该通信装置可以为任意形态的计算机、服务器、交换机(或者称为交换设备、交换芯片等)、路由器、网卡等,本申请对于该通信装置的具体形态不作限定。
可选的,本申请提供的方法可以应用于两个通信装置,如该两个通信装置中可以包括发送端和接收端。该发送端和该接收端的具体形态可以参考上述通信装置的形态。可选的,该发送端和该接收端还可以理解为任意两个接口等。换句话说,本申请提供的方法可以应用于链路级(也可以称为点到点(point-to-point))场景,该链路级场景中可以包括发送端和接收端,且在报文(如第一报文或第二报文或至少一个第一比特块等)传输过程中,该报文不会出现丢包的情况,但是可能会出现传输错误的情况等。示例性的,接收端在接收到来自发送端的第一报文时,该接收端通过该第一报文中包括的CRC信息就可以校验该第一报文是否被正确接收,无需考虑是否有报文的丢失等情况。
本申请中,该发送端可以理解为发送至少一个第一报文的通信装置;该接收端可以理解为接收该至少一个第一报文的通信装置,或者,该接收端还可以理解为反馈是否正确接收到第一报文的通信装置。或者,本申请中,该发送端可以理解为接收至少一个第二报文的通信装置,该发送端还可以理解为反馈是否正确接收到第二报文的通信装置;该接收端可以理解为发送该至少一个第二报文的通信装置。可理解,本申请示出的报文还可以称为包或帧等,本申请对于报文的其他名称不作限定。
图6是本申请实施例提供的一种比特块的发送方法的流程示意图,如图6所示,该方法包括:
在一种可能的实现方式中,图6所示的方法包括步骤601。
601、发送端向接收端发送至少一个第一报文,该第一报文由报文比特块组成;相应的,接收端接收该至少一个第一报文。
可选的,该第一报文可以包括报文开始比特块、该报文开始比特块对应的数据比特块以及该报文开始比特块对应的结束比特块(仅为示例)。作为示例,该第一报文可以包括如图3a所示的报文开始比特块(如S0)、报文数据比特块(如D0~D7)以及报文结束比特块(如T0~T7)。可选的,该第一报文可以包括报文开始比特块和该报文开始比特块对应的数据比特块。作为示例,该第一报文可以包括如图3b(二)所示的报文开始比特块和报文数据比特块。至于报文开始比特块中预设字段的具体取值可参考上文描述,这里不再详述。
在一些实现方式中,第一报文的报文开始比特块中包括第三序列字段,该第三序列字段用于承载第三序列信息。该情况下,该第三序列信息可以为该第一报文的序列号。可选的,为使得接收端能够明确获知该第一报文的序列号,因此该第一报文的报文开始比特块中还可以包括第三类型字段,该第三类型字段承载第四数值(如2b01)时,则第三序列信息为第一报文的序列号。换句话说,第一报文的报文开始比特块中可以直接包括第三序列字段来指示第一报文的序列号,或者还可以进一步通过包括第三类型字段指示第三序列信息的具体含义。如表3所示,表3示出的是第三类型字段的不同取值对应的第三序列信息的不同含义。
表3
比特块名称 | S0比特块 | Flit比特块 |
预设字段的位置 | D1区域 | Type区域 |
预设字段的取值 | 0x55(即第三数值) | 00001(即第三数值) |
报文比特块 | 是 | 是 |
第三类型字段的取值 | 2b01,表示本报文的序列号 | 2b01,表示本报文的序列号 |
第三类型字段的取值 | 2b10,ACK的序列号 | 2b10,ACK的序列号 |
第三类型字段的取值 | 2b11,NACK的序列号 | 2b11,NACK的序列号 |
可理解,第三序列字段、第三类型字段和CRC字段的具体说明还可以参考图7a和图7b,或者,图12a至图12c等,这里先不详述。
本申请实施例中,第一报文的报文开始比特块中还可以包括CRC字段,该CRC字段用于承载CRC信息,该CRC信息用于保护该第一报文的报文开始比特块中的第三序列信息等。然而,该第一报文的报文数据比特块或报文结束比特块中还可以包括该另一个CRC字段(也可以称为FCS字段),该CRC字段承载的CRC信息用于保护该第一报文中的业务数据等。该情况下,接收端接收到该第一报文后,可以根据该第一报文包括的另一个CRC字段中承载的CRC信息确定该第一报文是否被正确接收。同时,接收端还可以对该第一报文的报文开始比特块中的CRC信息进行校验,若校验成功,则说明该第一报文中包括的第三序列信息被正确接收。
上述示出的CRC字段和另一个CRC字段是相互独立的,例如CRC字段中的CRC信息被校验成功,另一个CRC字段中的CRC信息被校验失败,则仍可以表示第三序列信息被正确接收。该情况下,接收端可以获得该第一报文的第三序列信息,但是,发送端需要重传该第一报文。又例如CRC字段中的CRC信息被校验失败,但是另一个CRC字段中的CRC信息被校验成功,则表示第三序列信息被错误接收。该情况下,接收端不仅不能获得该第一报文的第三序列信息,而且还需要发送端重传该第一报文。
可理解,对于该说明,第二报文同样适用,下文不再一一详述。
在另一些实现方式中,第一报文的报文开始比特块中还可以不包括第三序列字段。对于该种实现方式的具体说明,还可以参考图12d和图12e等,这里先不详述。
602、接收端生成至少一个第一比特块,该至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,且该至少一个第一比特块中包括第一序列字段,第一序列字段用于承载至少一个第一报文的第一序列信息。
在一种可能的实现方式中,预设字段可以用于指示第一序列信息为被正确接收的至少一个第一报文中最后一个第一报文的序列号。可选的,预设字段可以用于指示第一序列信息为被错误接收的至少一个第一报文中第一个第一报文的序列号。换句话说,该预设字段的不同取值,不仅可以区分报文比特块和非报文比特块,而且还可以区分该至少一个第一比特块是ACK比特块还是NACK比特块,如表1所示。
在一种可能的实现方式中,该至少一个第一比特块中还可以包括第一类型字段,该第一类型字段可以用于指示该至少一个第一比特块的类型,且该至少一个第一比特块的类型可以为ACK比特块或NACK比特块。换句话说,该第一类型字段承载的不同数值可以用于指示至少一个第一比特块是ACK比特块还是NACK比特块。以及发送端还可以根据该第一类型字段承载的数值确定是否需要重传与第一序列信息对应的第一报文。以返回N协议为例,第一序列信息可以为被正确接收的至少一个第一报文中最后一个第一报文的序列号。即第一序列信息可以表示该至少一个第一报文中的一个第一报文的序列号。
然而,若以SACK为例,则第一序列字段中还可以包括第四序列信息和第五序列信息,该第四序列信息为被连续正确接收的第一个第一报文的序列号,第五序列信息为被连续正确接收的最后一个第一报文的序列号。该情况下,第一序列字段的长度可以适当延长等,且第一类型字段承载的数值可以不同于NACK比特块中的第一类型字段承载的数值,只要发送端在获取到上述至少一个第一比特块时,能够区分出该至少一个第一比特块为NACK比特块还是SACK比特块,本申请实施例对于第一类型字段的具体取值不作限定。可理解,对于SACK的具体描述还可以参考图1c的相关描述,本申请实施例不再详述。
为便于描述,以下均以返回N协议,且以第一序列信息为被正确接收的至少一个第一报文中最后一个第一报文的序列号为例,说明本申请实施例提供的方法。
在一种可能的实现方式中,该至少一个第一比特块中还可以包括CRC字段,该CRC字段用于承载CRC信息。该CRC信息可以用于保护该至少一个第一比特块,具体的,该CRC信息可以用于保护该至少一个第一比特块中的第一序列信息等。
以上示出的第一序列字段、第一类型字段和CRC字段可以在至少一个第一比特块中的同一个比特块中,或者,部分字段在同一个比特块中,或者也可以分别在不同比特块中等,本申请实施例对此不作限定。
603、接收端向发送端发送至少一个第一比特块,相应的,该发送端接收该至少一个第一比特块。
在一种可能的实现方式中,图6所示的方法还可以包括步骤604。
604、接收端向发送端发送第二报文,该第二报文由报文比特块组成。相应的,发送端接收该第二报文。
可选的,该第二报文的开始比特块中包括第二序列字段,该第二序列字段用于承载第二序列信息。对于第二报文的具体说明,可参考步骤601中的第一报文的描述,这里不再详述。
以下将详细介绍第一比特块的具体形式。
实现方式一、第一比特块为非报文比特块。
即该第一比特块与组成第一报文的比特块(如组成第一报文的比特块可以称为第二比特块)不同,同时,该第一比特块与组成第二报文的比特块(如组成第二报文的比特块也可以称为第二比特块)也不同,即该至少一个第一比特块中预设字段承载的数值可以为第一数值或第二数值。而第二报文或第一报文的报文开始比特块中预设字段承载的数值均可以为第三数值。
在本申请的一些实现方式中,若接收端在发送该至少一个第一比特块时,未发送有第二报文,则该接收端可以单独发送该至少一个第一比特块。作为示例,接收端在发送完该至少一个第一比特块的情况下,发送第二报文;或者,接收端在发送完毕第二报文的情况下,发送该至少一个第一比特块。
在本申请的另一些实现方式中,若接收端在发送该至少一个第一比特块时,正在发送第二报文,则该接收端可以将该至少一个第一比特块插入到第二报文的比特块流中发送。即接收端可以打断当前正在发送的第二报文的比特块流,将该至少一个第一比特块插入到该第二报文的比特块流中。该情况下,上文示出的步骤603还可以替换为:在发送第二报文的报文开始比特块之后,且未发送完毕该第二报文的情况下,接收端向发送端发送至少一个第一比特块。
对于实现方式一来说,至少一个第一比特块可以包括上述介绍的第一序列字段、第一类型字段、CRC字段以及预设字段。上述第二序列信息可以为该第二报文的序列号。可选的,该报文开始比特块中还可以包括第二类型字段,该第二类型字段承载第四数值(如2b01),该第二类型字段用于指示(即可以理解为明确指示或显示指示)第二序列信息为第二报文的序列号。可选的,第二报文还可以不包括第二序列字段。对于该第二序列信息的具体说明,还可以参考图12a至图12e,这里不再一一详述。
对于不同类型的比特块来说,由于预设字段位于不同区域。因此在实现方式一中,对于发送端来说,在对至少一个第一比特块中的CRC信息校验成功的情况下,发送端可以根据该至少一个第一比特块的块类型域获取预设字段中承载的数值。若该至少一个第一比特块中预设字段承载的数值为第一数值,则从该至少一个第一比特块中的第一类型字段获取该至少一个第一比特块的类型,以及根据该至少一个第一比特块的类型确定是否重传与第一序列信息对应的第一报文。示例性的,若至少一个第一比特块包括非报文开始比特块,则该非报文开始比特块的块类型域为比特位置为2至9之间的8比特,且该块类型域的取值为0x78。可选的,当第一比特块为flit时,由于不同类型的比特块的预设字段可以位于同一区域,因此,发送端可以通过直接获取预设字段承载的数值以及第一类型字段承载的数值确定是否重传与第一序列信息对应的第一报文。或者,若至少一个第一比特块为至少一个O比特块,则该至少一个O比特块的块类型域为比特位置为2至9之间的8比特,且该块类型域的取值为0x4B。然后根据该至少一个O比特块中预设字段承载的数值如第二数值,以及第一类型字段承载的数值确定是否重传与第一序列信息对应的第一报文。
实现方式二、第一比特块为报文比特块。
接收端向发送端反馈是否正确接收到至少一个第一报文时,接收端可能正好需要发送第二报文,但是该第二报文还没被发送出去。该情况下,接收端便可以在该第二报文中反馈是否正确接收到该至少一个第一报文。示例性的,接收端发送的第二报文的格式可以参考上述表3或图7a或图7b所示第一报文的格式,对于第二报文的具体格式,这里不再赘述。
对于实现方式二来说,接收端发送的第二报文中的第二类型字段可以承载第五数值(如2b10或2b11),第二类型字段可以用于指示第二序列信息为反馈的被正确接收的第一报文的序列号。即第二报文的第二类型字段可以通过承载2b01或2b11,指示该第二报文中是否反馈有ACK或NACK的序列号。步骤603中的至少一个第一比特块被承载于这里所示的第二报文中,随第二报文被一起发送出去,该第二报文与步骤604中的第二报文可以理解为不同的第二报文(即可以理解为不是同一个报文)。
在该实现方式二中,对于发送端来说,发送端可以对该第二报文的另一个CRC字段承载的CRC信息进行校验,以及对该第二报文的报文开始比特块中的CRC字段承载的CRC信息进行校验。该情况下,只要该第二报文的报文开始比特块中的CRC字段承载的CRC信息被校验成功,则发送端便可以根据预设字段承载的数值以及第二类型字段承载的数值确定是否重传与第一序列信息对应的第一报文。若该第二报文的另一个CRC字段承载的CRC信息被校验失败,则发送端可以向接收端发送至少一个第一比特块,指示该接收端重传该第二报文。对于发送端向接收端发送的至少一个第一比特块的具体说明,可参考接收端向发送端发送的至少一个第一比特块的描述,本申请实施例不作赘述。
在一种可能的实现方式中,图6所示的方法还可以包括步骤605至步骤607。
605、发送端对至少一个第一比特块中的CRC信息进行校验。
606、在对至少一个第一比特块中的CRC信息校验成功的情况下,发送端根据至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。
本申请实施例中,若发送端对至少一个第一比特块中的CRC信息校验失败,则可以直接丢弃该至少一个第一比特块。
本申请实施例中,发送端通过获取预设字段中承载的数值,可区分报文比特块和非报文比特块。若预设字段承载第一数值,则该发送端可以从第一类型字段获取该至少一个第一比特块是ACK比特块还是NACK比特块。示例性的,若第一序列信息为序列号n,至少一个第一比特块的类型为ACK比特块,则发送端确定不重传至少一个第一报文。同时,该发送端可以从重传缓存器中删除序列号为n的第一报文以及序列号n之前的第一报文。若至少一个第一比特块的类型为NACK比特块,则发送端确定重传序列号为n+1的第一报文,以及n+1之后的第一报文。同时,该发送端可以从重传缓存器中获取对应的第一报文,重传该对应的第一报文。可选的,发送端也可以通过比特块的块类型域的不同,获取该比特块是否为O比特块,若为O比特块,则通过预设字段获取该O比特块的作用,如预设字段承载第二数值,则从该O比特块的第一类型字段和第一序列字段确定是否重传与第一序列信息对应的至少一个第一报文。
可选的,步骤606可以包括:发送端获取至少一个第一比特块中预设字段中承载的数值,根据预设字段中承载的数值确定是否重传与第一序列信息对应的第一报文。
对于该实现方式,如flit比特块中可以仅通过预设字段区分上述至少一个第一比特块是ACK比特块还是NACK比特块。换句话说,该情况下,至少一个第一比特块中还可以不包括第一类型字段,如表1所示。
可理解,关于步骤605和步骤606的具体说明,还可以参考上述实现方式一和实现方式二中关于发送端的描述,这里不再一一详述。
607、在确定需要重传至少一个第一报文的情况下,发送端重传被接收端错误接收的至少一个第一报文。
本申请实施例中,接收端通过第一比特块的形式,而非报文的形式向发送端反馈ACK或NACK,一方面可使得接收端能够及时将至少一个第一比特块发送出去,尽可能减少该第一比特块的传输时延,避免该至少一个第一比特块的传输时间过长,而导致其他报文被阻塞。另一方面,该第一比特块为非报文比特块,如非报文开始比特块预设字段承载的数值与报文开始比特块预设字段承载的数值不同,由此该非报文比特块和报文比特块能够被接收端或发送端区分。或者,至少一个O比特块预设字段承载的数值不同于其他O比特块预设字段承载的数值,由此发送端或接收端能够根据该预设字段的取值区分至少一个O比特块的作用。另外,该第一比特块还能够被插入到第二报文的比特块流中被发送出去,进一步减少了该至少一个第一比特块的等待时延,减少FCT的时延,提高了网络利用率。
为更形象理解图6所示的方法,以下将以至少一个第一比特块的不同形式示出具体的实施例。可理解,以下示出的各个实施例中的预设字段的具体说明可参考上文描述,下文对于预设字段不再一一详述。
实施例一、
至少一个第一比特块包括至少一个O比特块,且每个O比特块中的预设字段承载第二数值。
本申请实施例中,第一类型字段、第一序列字段和CRC字段可以位于O比特块中比特位置为10至33,以及38至65之间。其中,第一类型字段、第一序列字段和CRC字段可以分别位于不同比特位置,换句话说,该三个字段所占用的比特互不重叠。同时,第一类型字段的长度包括至少一个比特,如第一类型字段的长度可以为1比特,或2比特,或3比特等。第一序列字段的长度包括至少两个比特,如第一序列字段的长度可以为8比特,或14比特,或16比特,或22比特等,该第一序列字段的长度可以根据通信装置的重传缓存器中所能缓存的报文数量或该重传缓存器所能缓存的最大容量确定等,本申请实施例对此不作限定。CRC字段的长度可以为4比特、8比特、16比特或32比特等,该CRC的长度可以根据CRC校验方式确定。可理解,关于第一类型字段的长度、第一序列字段的长度和CRC字段的长度下文示出的各个实施例同样适用,下文不再详述。
作为示例,O比特块中的第一序列字段、第一类型字段和CRC字段的比特位置可以分别如图4a所示。即O比特块中比特位置为10和11的2个比特可以用于承载第一类型字段,O比特块中比特位置为12至27之间的16个比特可以用于承载第一序列字段,O比特块中比特位置为42至49之间的8比特可以用于承载CRC字段。
例如,第一类型字段承载2b01时,表示至少一个O比特块用于反馈至少一个第一报文被错误接收,即表示至少一个O比特块为NACK比特块。第一类型字段承载2b10时,表示至少一个O比特块用于反馈至少一个第一报文被正确接收,即表示至少一个O比特块为ACK比特块。第一类型字段承载2b11时,表示至少一个O比特块用于指示后续传输的报文为重传的报文。示例性的,如表4,表4示出的是O比特块中不同字段的取值与含义。
表4
比特块名称 | O比特块 |
预设字段的位置 | O0区域 |
预设字段的取值 | 0x06(即第二数值) |
第一类型字段 | 2b01,NACK比特块 |
第一类型字段 | 2b10,ACK比特块 |
第一类型字段 | 2b11,后续报文为重传的报文 |
示例性的,接收端当前接收到一个序列号(sequencenumber)为21的第一报文(或者也可以称为以太网帧等),且接收端计算的CRC结果与第一报文中包括的CRC结果不一致。则该接收端生成至少一个O比特块,每个O比特块的格式可以如图8a所示。
在接收端需要发送该至少一个O比特块的情况下,该接收端正在向发送端发送第二报文。从64B/66B编解码层看,该第二报文可以理解为S(报文开始比特块)DDD…D(即报文开始比特块对应的数据比特块)T(即报文开始比特块对应的结束比特块)的报文比特块流。如图8b所示,接收端可以在未发送完该第二报文的报文比特块流的情况下,可以直接发送该至少一个O比特块,且图8b中示出的是一个O比特块。即接收端可以打断当前正在发送的第二报文的报文比特块流,将至少一个O比特块插入到该第二报文的报文比特块流中,从而将该至少一个O比特块发送出去。
发送端接收来自接收端的第二报文,当发送端在未接收完毕该第二报文的报文比特块流的情况下,该发送端接收控制比特块,并获取该控制比特块的块类型域(block typefield)为0x4B,且预设字段承载0x06。若发送端计算的CRC结果与该控制比特块中的CRC结果一致,则该发送端从该控制比特块的第一序列字段获取第一序列信息即序列号,以及根据第一类型字段中承载的数值提获取该O比特块的类型即NACK比特块。由此,发送端便可以获知序列号为20的第一报文已被正确接收,但是序列号为20之后的第一报文被错误接收,需要重传。
接着,发送端从重传缓存器中获取序列号为21的第一报文,重传序列号为21的第一报文,以该序列号为21的第一报文之后的报文。然后该发送端重传序列号为21的第一报文,以及序列号为21之后的第一报文。可理解,如果发送端在需要重传序列号为21的第一报文时,正在发送其他第一报文(初传的第一报文),则打断初传的第一报文,立即发送序列号为21的第一报文以及之后的第一报文。同时,被打断的第一报文可以被缓存到重传缓存器。可理解,关于发送端重传序列号为21的第一报文的具体说明,下文各个实施例同样适用,下文不再一一详述。
可选的,在发送端重传第一报文之前,发送端还可以先发送至少一个O比特块(如一个或两个或三个O比特块等),且每个O比特块的第一类型字段承载2b11。如表4所示,当O比特块的第一类型字段的取值为2b11,则表示该O比特块之后的报文为重传的报文。由此,通过至少一个O比特块向接收端指示该O比特块之后的报文为重传的报文。
可选的,发送端重传序列号为21的第一报文时,若该发送端需要反馈是否正确接收到接收端发送的第一报文,则该发送端还可以将生成的至少一个第一比特块插入到该序列号为21的第一报文的比特块流中。
可理解,本申请实施例仅示出了一种控制比特块即O比特块,但是对于图3a所示的其他控制比特块,本申请实施例同样适用。例如,至少一个第一比特块还可以包括至少一个空闲(idle)比特块;或者,还可以包括至少一个低功耗(low power idle,LPI)比特块等。对于该idle比特块和该LPI比特块的具体说明,可参考O比特块的描述,本申请实施例不作详述。
针对实施例一以下根据公式简单分析本申请实施例的有益效果。
本申请实施例中,当序列号为21的第一报文被错误接收之后,应用实施例一提供的方法,即接收端反馈的是NACK比特块,则发送端需要重传的第一报文个数满足如下公式。
其中,ErrTlplen用于表示该序列号为21的第一报文的长度;NAKlen用于表示NACK的长度;Tphy用于表示业务经过接口的传输时延;Tlink用于表示业务在物理介质,例如光纤或铜线中的传输时延;Rlink用于表示链路每秒的比特速率,Ulinkutilization用于表示链路利用率;TLPlen用于表示第一报文的负载长度,即第一报文的最大净荷长度,Hlen用于表示第一报文的头长度;1用于表示序列号为21的第一报文也需要被重传;Blocklen用于表示NACK被阻塞的长度。
应用实施例一提供的方法,示例性的,ErrTlplen=256字节;NAKlen=8字节;Tphy=30纳秒,Tlink=1ns,例如2m光纤的传输时延;Rlink=100bps,Ulinkutilization=0.9;TLPlen=256字节,Hlen=20字节;示例性的,以太网每个帧可以有8个前导符和平均12字节帧间隙,因此PreIpg=8+12=20字节;则应用实施例一提供的方法,在反馈NACK比特块时,若接收端当前没有发送第二报文,即在最好情况(best case)时,Blocklen=0。TLPeachreplay=4.248。而在反馈NACK比特块时,若接收端当前正在发送第二报文,即在最差情况(worst case)时,Blocklen=8字节,TLPeachreplay=4.275。
从上可以看出,应用本申请实施例提供的方法,可以避免发送端由于未及时接收到NACK比特块,而导致该发送端重传第一报文的数量过多。
应用本申请实施例时发送端的重传缓存器的缓存大小可满足如下公式:
其中,LinkLen用于表示链路长度,如等于2m;Tmac-phy用于表示从MAC到PHY的处理时延,如等于100ns;PktSize用于表示发送端发送的第一报文的最大净荷长度,如为256字节;LinkRate用于表示链路速率,如等于100Gbps;BlockSize用于表示至少一个第一比特块的长度,如等于8字节。则根据上述公式重传缓存器的缓存大小可以为3029字节。
可理解,对于上述公式或关于公式的说明以下示出的实施例二至实施例四同样适用,为避免赘述,下文不再一一说明。
实施例二、
至少一个第一比特块包括非报文开始比特块和非报文结束比特块,且该非报文开始比特块中的预设字段承载第一数值。
本申请实施例中,第一类型字段、第一序列字段和CRC字段可以位于非报文开始比特块中比特位置为10至65之间,以及非报文结束比特块中比特位置为10至65之间。其中,第一类型字段、第一序列字段和CRC字段可以分别位于不同的比特位置,换句话说,该三个字段所占用的比特互不重叠。
作为示例,第一类型字段、第一序列字段和CRC字段的比特位置可以如图9a所示。即第一类型字段可以位于非报文结束比特块中比特位置为16和17的2个比特,第一序列字段可以位于非报文结束比特块中比特位置为18至33之间的16个比特,CRC字段可以位于非报文结束比特块中比特位置为34至49之间的16个比特。
作为示例,图9b示出的是本申请实施例提供的另一种非报文结束比特块的格式示意图。对于图9b所示的格式,可参考图9a的描述,这里不再详述。示例性的,表5示出的是S比特块和T比特块中不同字段的取值与具体含义。可理解,关于表5的具体说明,可参考上文的描述,这里不再一一详述。
表5
如仍以图8b中的相关描述为例,如图9c所示,接收端需要反馈被错误接收的序列号为21的第一报文,且当前接收端正在发送第二报文的报文比特块流。该情况下,接收端可以将非报文开始比特块和非报文结束比特块插入到当前正在发送的报文比特块流中。由此,发送端在获取到该非报文开始比特块(如块类型域为0x78)之后,可以根据该非报文开始比特块中预设字段承载的0xF5获知该非报文开始比特块不是报文开始比特块。同时,当发送端获取到非报文结束比特块后,从该非报文结束比特块的第一序列字段获取第一序列信息即序列号,以及根据第一类型字段中承载的数值获取该非报文开始比特块和该非报文结束比特块的反馈类型即NACK比特块。然后发送端获知序列号为21的第一报文以及序列号21之后的第一报文被错误接收,需要重传。
可选的,图9c示出的是接收端在第二报文的报文比特块流中依次插入非报文开始比特块和非报文结束比特块。如图9d所示,接收端还可以在该第二报文的报文比特块流中依次插入非报文结束比特块和非报文开始比特块。换句话说,本申请实施例中,接收端可以依次发送非报文开始比特块和非报文结束比特块;或者,接收端还可以依次发送非报文结束比特块和非报文开始比特块。
实施例三、
至少一个第一比特块包括非报文开始比特块、该非报文开始比特块对应的至少一个非报文数据比特块和该非报文开始比特块对应的非报文结束比特块,且该非报文开始比特块中的预设字段承载第一数值。
本申请实施例中,第一类型字段、第一序列字段和CRC字段可以分别位于非报文数据比特块中,且分别占用不同的比特位置。
作为示例,至少一个第一比特块可以包括一个非报文开始比特块、一个非报文数据比特块和一个非报文结束比特块。其中,第一类型字段、第一序列字段和CRC字段可以包含于该非报文数据比特块中。至于该三个字段的具体位置,本申请实施例不作限定。
作为示例,至少一个第一比特块还可以包括一个非报文开始比特块、至少两个非报文数据比特块和一个非报文结束比特块。其中,第一类型字段和第一序列字段可以包含于同一个非报文数据比特块中,CRC字段可以位于其他非报文数据比特块中。
作为示例,至少一个第一比特块还可以包括一个非报文开始比特块、八个非报文数据比特块和一个非报文结束比特块。其中,第一类型字段和第一序列字段可以包含于第三个非报文数据比特块中,CRC字段可以包含于第八个非报文数据比特块中。该情况下,该至少一个第一比特块的格式可如图10a所示,该图10a的具体说明,可参考其他实施例,这里不再详述。
如仍以图8b中的相关描述为例,如图10b所示,接收端需要反馈被错误接收的序列号为21的第一报文,且当前接收端正在发送第二报文的报文比特块流。该情况下,接收端可以将非报文开始比特块、八个非报文数据比特块和非报文结束比特块插入到当前正在发送的报文比特块流中。由此,发送端在获取到该非报文开始比特块之后,可以根据该非报文开始比特块中的预设字段承载的0xF5获知该非报文开始比特块不是报文开始比特块。同时,当发送端获取到八个非报文数据比特块后,从该八个非报文数据比特块的第一序列字段获取第一序列信息即序列号,以及根据第一类型字段中承载的数值获取反馈类型即NACK比特块。然后发送端获知序列号为21的第一报文以及序列号21之后的第一报文被错误接收,需要重传。
可理解,对于图10b所示的方法,可参考实施例一和实施例二中的具体描述,这里不再详述。
实施例四、
至少一个第一比特块包括至少一个O比特块,且每个O比特块中的预设字段承载第二数值。
以上示出的实施例一至实施例三是以图3a所示的比特块为例示出的,本申请实施例将以图3b所示的比特块为例说明本申请实施例提供的方法。
作为示例,如图11a中的第一个图,H的长度可以为3个比特,H承载100时,表示该flit为control flit;H承载001时,表示该flit为payload flit。预设字段的长度为5个比特,预设字段承载00001表示该flit的类型为报文开始比特块,预设字段承载00010表示该flit的类型为ACK flit,预设字段承载00100表示该flit的类型为NACK flit。换句话说,当H承载100时,预设字段承载00010时,该flit为ACK flit;而当H承载100,且预设字段承载00100时,该flit为NACK flit。
作为示例,如图11a的第二图和第三图所示,预设字段的长度仍为5比特,该预设字段承载01000表示该flit的类型为Oflit。然后通过第一类型字段表示该flit的具体类型,如第一类型字段的长度为2比特,该第一类型字段承载01表示该Oflit为ACK flit,第一类型字段承载10表示该Oflit为NACK flit。
如仍以图8a中的相关描述为例,如图11a的第三个图所示,以及如图11b所示,接收端可以将至少一个第一比特块插入到比特块流中,将该至少一个第一比特块发送给发送端。可理解,图11b示出的O flit即为本申请实施例中示出的至少一个第一比特块。可理解,对于图11a和图11b所示的具体说明,可参考前述各个实施例,这里不再详述。
可理解,图11b示出的S flit(即报文开始比特块)中的同步头(如图11a中的H字段)承载100,数据flit(D flit)的同步头承载001。相对于只有S flit中包括同步头,且Dflit中不包括同步头的方案来说,本申请实施例中的每个flit中均包括同步头,由此保证了至少一个第一比特块即使被插入到flit的比特块流中,发送端也能够从D flit中识别出该至少一个第一比特块。示例性的,如果D flit中不包括同步头,则若该D flit中某些字段的取值正好与O flit的取值相同,则发送端可能无法识别接收到的flit是D flit还是Oflit。
以下详细介绍通信装置发送的报文是否包括序列字段的具体实施例,如发送端发送的第一报文中是否包括第三序列字段,或者接收端发送的第二报文中是否包括第二序列字段。可理解,以下介绍的实施例五是以报文(包括第一报文和第二报文)包括序列字段为例示出的,且实施例五还示出了报文与反馈的ACK或NACK之间的关系。以下介绍的实施例六和实施例七是以报文不包括序列字段为例示出的。
实施例五、
在介绍图12b之前,先介绍图7a和图7b中的序列字段(仅为统称)的具体含义。参见图7a,图7a示出的是一种报文比特块的格式示意图。
本申请实施例中,通信装置可以通过S0的D3D4区域承载序列字段,D2的2个比特(bit)承载类型(type)字段。可理解,对于发送端来说,发送端发送的第一报文中的第三序列字段可以位于该第一报文的S0中D3D4区域,该第一报文中的第三类型字段可以位于该第一报文的S0的D2区域。对于接收端来说,接收端发送的第二报文中的第二序列字段位于该第二报文的S0中D3D4区域,该第二报文中的第二类型字段可以位于该第二报文的S0的D2区域。
本申请实施例中,尽管第一报文中的字段名称和第二报文中的字段名称不同,但是,对于报文来说,第三类型字段和第二类型字段位于同一区域,以及第三序列字段和第二序列字段也位于同一区域。因此,为便于描述,以下统称第二序列字段和第三序列字段为报文中的序列字段,第二类型字段和第三类型字段为报文中的类型字段。其中,报文中的序列字段可以用于承载序列信息,报文中的类型字段可以承载不同的数值,且报文中的类型字段与序列信息存在对应关系。
示例性的,如表3所示,报文中的类型字段承载2b01(也可以称为类型字段的取值为2b01)时,表示报文中的序列信息为本报文的序列号。又如报文中的类型字段承载2b10,则表示报文中的序列信息为ACK的序列号。又如报文中的类型字段承载2b11,则表示报文中的序列信息为NACK的序列号。这里所说的ACK的序列号表示通信装置反馈的是被正确接收的最后一个报文的序列号,而NACK的序列号表示通信装置反馈的是被正确接收的最后一个报文的序列号,但是该被正确接收的最后一个报文之后的报文被错误接收。对于ACK或NACK与序列号的关系还可以参考上文描述,本申请实施例不作详述。可理解,对于该说明,下文同样适用。
在一些实现方式中,结合图6至图10b所示的方法,在发送端发送第一报文时,该第一报文的报文开始比特块的比特位置为16和17的2个比特承载的第三类型字段的取值为2b01(即第四数值)。同时,该第一报文中的报文开始比特块的比特位置为18至33之间的16个比特可以用于承载该第一报文的序列号。以及接收端发送第二报文时,该第二报文的报文开始比特块的比特位置为16和17的2个比特承载的第二类型字段的取值为2b01(即第四数值),同时,该第二报文中的报文开始比特块的比特位置为18至33之间的16个比特可以用于承载该第二报文的序列号。
在另一些实现方式中,接收端向发送端反馈是否正确接收到至少一个第一报文时,接收端可能正好需要发送第二报文,但是该第二报文还没被发送出去。该情况下,接收端便可以在第二报文中反馈是否正确接收到至少一个第一报文。如第二报文的开始比特块的比特位置为16和17的2个比特承载的第二类型字段的取值为2b10或2b11(即第五数值),至于具体为哪个取值,可根据接收端是否正确接收第一报文的情况而定。如以实施例一至实施例四的例子为例,该第二报文的格式可如图12a所示。
参见图7b,图7b示出的是另一种报文比特块的格式示意图。本申请实施例中,可以通过报文开始flit中承载序列字段和类型字段。如图7b所示,报文的报文开始flit中可以包括2比特的类型字段和16比特的序列字段(仅为示例)。其中,序列字段可以用于承载序列信息,类型字段也可以承载不同的数值,如类型字段承载2b01(即第四数值),表示序列信息为本报文的序列号;又如类型字段承载2b10(即第五数值),则表示序列信息为ACK的序列号;又如类型字段承载2b11(即第五数值),则表示序列信息为NACK的序列号。可理解,关于图7b的具体说明还可以参考图7a的描述,这里不再详述。
可理解,图7a和图7b所示的各个字段的具体位置仅为示例,在具体实现中,上述各个字段还可能在其他位置。例如,第一报文的报文开始比特块的比特位置为10和11的2个比特也可以用于承载第三类型字段。又例如,第一报文的报文开始比特块的D4和D5也可以用于承载第三序列字段等。同时,以上所示的各个字段的长度和具体取值,本申请实施例也不作限定。上述各个字段的长度还可以依据第一报文所包括的报文比特块的长度而定。
图12b是本申请实施例提供的一种重传方法的流程示意图。本申请实施例示出的重传方法中,通信装置发送的一个报文中可以包括该报文的序列号,或者,通信装置在发送的另一个报文中还可以包括ACK的序列号,或者,通信装置在发送的又一个报文中还可以包括NACK的序列号。如图12b所示,该重传方法可以包括:
1201、发送端向接收端发送第一报文,该第一报文的报文开始比特块中包括的第三类型字段承载2b01时,第三序列信息承载的是该第一报文的序列号,如该第一报文的序列号为0。相应的,该接收端接收该第一报文。
1202、发送端接收接收端发送的第二报文,该第二报文的报文开始比特块中包括的第二类型字段承载2b01时,该第二序列信息承载的是该第二报文的序列号,如该第二报文的序列号为10。
1203、发送端向接收端发送第一报文,此时,该发送端还需要反馈第二报文是否被正确接收,该情况下,该第一报文的报文开始比特块中包括的第三类型字段承载2b10时,第三序列信息承载的是第二报文的序列号10,且表示序列号为10的第二报文被正确接收。相应的,接收端接收该第一报文。
本申请实施例中,尽管步骤1203中第一报文反馈的第三序列信息为第二报文的序列号10,但是接收端在接收到该第一报文之后,还可以根据本地维护的序列号获知该第一报文的序列号为1。由此,接收端也可以根据获知的第一报文的序列号1,反馈该第一报文是否被正确接收。对于反馈的具体说明,可参考发送端向接收端反馈ACK或NACK的描述,这里不再详述。
1204、发送端接收接收端发送的第二报文,该第二报文的报文开始比特块中包括的第二类型字段承载2b01时,该第二序列信息承载的是该第二报文的序列号,如该第二报文的序列号为11。
1205、发送端向接收端发送第一报文,此时,该发送端还需要反馈第二报文是否被正确接收,该情况下,该第一报文的报文开始比特块中包括的第三类型字段承载2b11时,第三序列信息承载的是第二报文的序列号10,且表示序列号为10的第二报文被正确接收,但是序列号为10之后的第二报文被错误接收。相应的,接收端接收该第一报文。
1206、接收端重传序列号为11的第二报文,相应的,发送端接收该序列号为11的第二报文。
本申请实施例中,接收端重传序列号为11的第二报文时,如果也需要反馈第一报文是否被正确接收,则该重传的序列号为11的第二报文的报文开始比特块中也可以反馈ACK或NACK。
可选的,为使得发送端明确获知接收到的第二报文为新传报文还是重传报文,接收端重传序列号为11的第二报文之前,还可以向发送端发送至少一个O比特块(如1个O比特块、2个O比特块或3个O比特块等),且该O比特块的第一类型字段承载2b11。对于该种实现方式,还可以参考表4,这里不再详述。
本申请实施例中,发送端不仅向接收端发送了第一报文,而且通过该第一报文向接收端反馈了上述第二报文是否被正确接收,不仅使得ACK或NACK被及时发送,而且还提高了网络利用率。
为进一步理解图12b所示的方法,如图12c所示,本申请实施例还提供了一种重传方法,图12c中发送端简称为Tx,接收端简称为Rx。其中,P(m)P(m)表示通信装置传输的是序列号为P(m)的报文,且该报文中包括本报文的序列号P(m)。而P(m)A(n)表示通信装置传输的是序列号为P(m)的报文,但是该报文中包括反馈的ACK的序列号,即该通信装置传输的序列号为P(m)的报文反馈了序列号为n的报文被正确接收。如图12c所示:
T0时刻,发送端向接收端发送第一报文,其中,第三类型字段承载2b01,表示该第一报文中第三序列字段承载的是该第一报文的序列号如(sequence_num)为0。
T1时刻,发送端向接收端发送序列号为1的第一报文,同时发送端接收到了接收端发送的第二报文,且该第二报文的序列号为0。此时若发送端正确接收该序列号为0的第二报文,则发送端需要反馈ACK,因此,发送端可以通过序列号为1的第一报文向接收端反馈序列号为0的第二报文被正确接收。如发送端可以将序列号为1的第一报文的第三类型字段的取值设置为2b10,且第三序列字段承载0。换句话说,尽管发送端发送的第一报文中包括第三序列信息,但是该第三序列信息并不表示该发送端发送的第一报文的序列号,而是该发送端被正确接收的第二报文的序列号。该情况下,接收端接收到该第一报文之后,可以根据本地维护的序列号(如图12c中的next_rcv_seq)获知该第一报文的序列号。
T2时刻,发送端向接收端发送序列号为2的第一报文,且该第一报文中第三类型字段承载2b01,表示第三序列字段承载的是该第一报文的序列号2。
T3时刻,发送端向接收端发送序列号为3的第一报文,同时发送端接收到了序列号为1的第二报文。此时若发送端正确接收了该序列号为1的第二报文,则发送端可以反馈ACK,因此,发送端可以将序列号为3的第一报文的第三类型字段的取值设置为2b10,且第三序列字段承载被发送端正确接收的第二报文的序列号如1。同时,接收端接收该第一报文,对该第一报文的CRC信息进行校验。若该第一报文的CRC信息校验错误,则该接收端可以反馈NACK比特块,对于该NACK比特块的具体说明可参考上文中实施例一至实施例四,这里不再详述。
T4时刻,发送端向接收端发送序列号为4的第一报文,且该第一报文中第三类型字段承载2b01,表示第三序列字段承载的是该第一报文的序列号4。
T5时刻,发送端向接收端发送序列号为5的第一报文,假设发送端没有接收到来自接收端其他第二报文(即T3时刻之后,以及T5时刻之前,发送端未接收到接收端发送的第二报文),该情况下,发送端仍需要向接收端反馈序列号为1的第二报文被正确接收。即该序列号为5的第一报文的第三类型字段承载2b10,表示第三序列字段承载的是第二报文的序列号1。接收端端接收到该第一报文时将直接丢弃该第一报文。
T6时刻,发送端向接收端发送序列号为6的第一报文,其中,第三类型字段承载2b01,表示该第一报文中第三序列字段承载的是该第一报文的序列号如(sequence_num)为6。接收端接收到该第一报文时将直接丢弃该第一报文。
T7时刻,发送端接收到接收端发送的NACK比特块,且该NACK比特块的第一序列字段为2,则表示序列号为2之前的第一报文已被正确接收。可理解,对于该NACK比特块的具体描述,可参考上文图6至图10b,这里不再详述。
图12c中示出的是接收端发送了三个相同的NACK比特块(图12c中示出的是NAK),每个NACK比特块的具体描述可参考上述实施例一至实施例四,这里不再详述。可理解,在具体实现中,接收端还可以只发送一个NACK比特块或两个NACK比特块等,本申请实施例不作限定。接收端通过发送多个NACK比特块或ACK比特块,可使得发送端只要正确接收到一个NACK比特块或ACK比特块,便可以获知接收端是否正确接收到对应报文。
T8时刻,发送端发送三个O比特块,且每个O比特块的第一类型字段承载2b11,表示该O比特块后传输的是重传的第一报文。
T9时刻,发送端重传序列号为3的第一报文,第三类型字段承载2b10,第三序列字段承载1。接收端接收到该第一报文,且该第一报文的CRC信息被校验正确时,更新本地维护的序列号(next_rcv_seq)。
T10时刻,发送端重传序列号为4的第一报文,且该第一报文中第三类型字段承载2b01,表示第三序列字段承载的是该第一报文的序列号4。接收端接收到该序列号为4的第一报文,且该第一报文的CRC信息被校验正确时,更新本地维护的序列号(next_rcv_seq)。
T11时刻,发送端重传序列号为5的第一报文,且该第一报文中的第三类型字段承载2b10,第三序列字段承载1。接收端接收到该第一报文,且该第一报文的CRC信息被校验正确时,更新本地维护的序列号(next_rcv_seq)。
T12时刻,发送端重传序列号为6的第一报文,且该第一报文中的第三类型字段承载2b01,表示该第一报文中第三序列字段承载的是该第一报文的序列号如(sequence_num)为6。接收端接收到该序列号为6的第一报文,且该第一报文的CRC信息被校验正确时,更新本地维护的序列号(next_rcv_seq)。
可理解,关于图12c的其他说明,如ACK比特块、NACK比特块、第三类型字段等,可参考上文示出的其他实施例。
实施例六、
上文示出的实施例五中通信装置发送的报文中包括本报文的序列号,然而,实施例六和实施例七中通信装置发送的报文中还可以不包括本报文的序列号。该情况下,通信装置接收到报文之后,可以根据本地维护的序列号获知接收到的报文的序列号。例如,通信装置每接收到一个报文之后,就可以更新本地维护的序列号。
本申请实施例中,结合图6至图10b所示的方法,在发送端发送第一报文时,该第一报文的报文开始比特块的比特位置为16和17的2个比特承载的第三类型字段的取值为2b01。与实施例五不同的是,该第一报文的报文开始比特块中不包括第三序列字段。对应的,第二报文的报文开始比特块中也不包括第二类型字段。
本申请实施例中,通信装置可以通过维护本地重传缓存器获知每个报文的序列号。示例性的,发送端可以对重传缓存器中的报文进行编号,如从0到N-1(N为ReplayBuffer的大小),该编号即为发送端所维护的报文序列号。在链路处于错误(Fault)/休眠(inactive)状态时,next_rcv_seq置0,表示接收端期待接收的下一个报文的序列号为0。且接收端每接收到一个正确的报文时,本地维护的报文序列号被更新为(next_rcv_seq+1)%N。以下将以通信装置每接收到4个正确的报文反馈一个ACK为例说明图12d所示的重传方法。该重传方法包括:
T0时刻,发送端发送一个第一报文,本地维护的序列号为0。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为1。
T1时刻,发送端发送一个第一报文,本地维护的序列号为1。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为2。
T2时刻,发送端发送一个第一报文,本地维护的序列号为2。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为3。
T3时刻,发送端发送一个第一报文,本地维护的序列号为3。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为4。同时,接收端反馈ACK比特块,该ACK比特块中的第一序列字段承载3,即序列号为3的第一报文以及该序列号3之前的第一报文均已被正确接收。
T4时刻,发送端发送一个第一报文,本地维护的序列号为4。当接收端接收到该第一报文,且CRC信息被校验不正确时,反馈一个NACK比特块,该NACK比特块中的第一序列字段承载3,表示序列号为4的第一报文(以及序列号为4之后的第一报文)未被正确接收。
T5时刻,发送端发送一个第一报文,本地维护的序列号为5。当接收端接收到该第一报文时,直接丢弃该第一报文。
T6时刻,发送端接收到发送端发送的NACK比特块。
T7时刻,发送端发送三个O比特块,且每个O比特块的第一类型字段承载2b1,表示该O比特块后传输的是重传的第一报文。该情况下,接收端只要检测到一个正确的O比特块,就开始基于正确接收的报文,更新next_rcv_seq。
T8时刻,发送端发送一个第一报文,本地维护的序列号为4。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为5。
T9时刻,发送端发送一个第一报文,本地维护的序列号为5。当接收端接收到该第一报文,且CRC信息被校验正确时,将next_rcv_seq更新为6。
实施例七、
实施例六和实施例七中,报文中不包括序列号,可以有效减少由于报文中包括序列号而带来的开销;同时,报文的报文开始比特块中通过不包括序列号,节省的开销还可以用于承载控制信息。
进一步的,上文示出的实施例六中是以通信装置每接收到4个正确的报文反馈一个ACK为例示出的。然而,为减少频繁反馈ACK带来的开销,实施例七中将以通信装置每接收到1000个正确的报文反馈一个ACK为例说明重传方法,如图12e所示。换句话说,实施例七中反馈的被正确接收的报文数量大于实施例六中反馈的被正确接收的报文数量。结合上述介绍的反馈ACK比特块或NACK比特块的方法,即实施例七中预设数量的取值大于实施例六中预设数量的取值。
同时,为避免长时间未接收到ACK比特块,而导致重传缓存器无法清除报文,增加重传缓存器的缓存压力,在该实施例七中,通信装置每发送一个报文,均会通过定时器计时,如计时时间为预设时长,在该计时时间到达时,该通信装置从重传缓存器中删除对应报文。本申请实施例对于该预设时长的具体取值不作限定。
如在T0时刻,发送端发送序列号为0的报文,但是该报文不包括该报文的序列号;同时,启动定时器。在定时器的计时时间到达时,且未接收到来自接收端的NACK比特块的情况下,发送端便可以从重传缓存器中删除序列号为0的报文。
又如,在T1000时刻,接收端在接收到序列号为1000的报文,且该报文中不包括该报文的序列号。若接收端对该报文校验通过,则接收端向发送端发送三个相同的ACK比特块。由此,发送端接收到该ACK比特块后,便可以从重传缓存器中清除序列号为1000和序列号为1000之前的报文。
又如,在T1001时刻,发送端向接收端发送序列号为1001的报文,且该报文中不包括该报文的序列号。若接收端未正确接收该报文,则接收端向发送端发送三个相同的NACK比特块。
可理解,关于图12e的具体描述,还可对应参考图12d,这里不再一一详述。
可理解,本申请示出的不同实施例的侧重点不同,其中一个实施例中未详尽描述的实现方式,还可以参考其他实施例等,这里不再详述。
以下将介绍本申请实施例提供的装置。
图13是本申请实施例提供的一种通信装置的结构示意图,该通信装置包括处理单元1301和收发单元1302。
在本申请的一些实施例中,图13所示的通信装置可以用于执行上述实施例中由接收端执行的操作(功能或步骤等)。示例性的,该通信装置可以用于执行图6所示的步骤601至步骤604等。
示例性的,例如,处理单元1301,可用于生成至少一个第一比特块,收发单元1302,用于发送该至少一个第一比特块。
又例如,收发单元1302,还可以用于发送第二报文。
又例如,收发单元1302,还可以用于接收至少一个第一报文。
又例如,收发单元1302,具体用于在发送第一报文的报文开始比特块之后,且未发送完毕该第一报文的情况下,发送至少一个第一比特块。
又例如,收发单元1302,还可以用于接收被重传的第一报文。
本申请实施例中,收发单元和处理单元的具体说明,还可以参考上述各个实施例中由接收端执行的步骤,这里不再赘述。示例性的,收发单元可以用于执行图6所示的步骤601中的接收步骤,或者,执行图6所示的步骤603和步骤604的发送步骤。示例性的,收发单元还可以用于执行图12b所示的步骤1201、步骤1203和步骤1205中的接收步骤、以及步骤1202、步骤1204和步骤1206中的发送步骤。示例性的,收发单元还可以用于执行图8b示出的发送至少一个O比特块的步骤,以及图8b示出的发送报文开始比特块、报文数据比特块和报文结束比特块的步骤等。
本申请实施例中,对于第一比特块、报文比特块、非报文比特块、第一报文或第二报文等的描述可参考上述实施例,这里不再一一详述。示例性的,对于报文比特块和非报文比特块的区别可以参考图4a至图4d等。对于至少一个第一比特块的描述可参考图8a至图11b等。可理解,对于该说明,以下各个实施例同样适用,下文不再赘述。
在本申请的另一些实施例中,图13所示的通信装置可以用于执行上述实施例中由发送端执行的操作(或功能或步骤等)。示例性的,该通信装置可以用于执行图6所示的步骤601、步骤603至步骤607等。
示例性的,例如,收发单元1302,用于接收至少一个第一比特块;处理单元1301,根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一比特块。
又例如,收发单元1302,还可以用于发送至少一个第一报文等。
又例如,收发单元1302,还可以用于发送被错误接收的与第一序列信息对应的至少一个第一报文。
又例如,处理单元1301,还用于对该至少一个第一比特块进行CRC校验。
本申请实施例中,根据至少一个第一比特块为非报文比特块或报文比特块的不同,处理单元对至少一个第一比特块进行CRC校验的方式也可以不同。示例性的,若至少一个第一比特块为非报文比特块,则处理单元可以对该至少一个第一比特块中的CRC字段承载的CRC信息进行校验。若至少一个第一比特块为报文比特块,则处理单元不仅可以对该至少一个第一比特块中的CRC字段承载的CRC信息进行校验,还需要对第一报文的另一个CRC字段(如FCS字段)中承载的CRC信息进行校验。
本申请实施例的各个实施例中示出的收发单元和处理单元的说明仅为示例,对于收发单元和处理单元的具体实现方式,还可以参考上述各个实施例中由接收端执行的步骤,这里不再赘述。示例性的,收发单元可以用于执行图6所示的步骤601中的发送步骤,或者,执行图6所示的步骤603和步骤604的接收步骤。示例性的,收发单元还可以用于执行图12b所示的步骤1201、步骤1203和步骤1205中的发送步骤、以及步骤1202、步骤1204和步骤1206中的接收步骤。示例性的,收发单元还可以用于执行图8b示出的接收至少一个O比特块的步骤,以及图8b示出的接收报文开始比特块、报文数据比特块和报文结束比特块的步骤等。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块或单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块或单元集成在一个模块或单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
在一种可能的实现方式中,当图13所示的通信装置是任意形态的计算机、服务器、交换机、路由器或网卡等;或者是任意形态的计算机、服务器、交换机、路由器或网卡等中的装置,或者是与任意形态的计算机、服务器、交换机、路由器或网卡等匹配使用的装置时,处理单元1301可以是一个或多个处理器,收发单元1302可以是收发器,或者收发单元1302还可以是发送单元和接收单元,发送单元可以是发送器,接收单元可以是接收器,该发送单元和接收单元集成于一个器件,例如收发器。本申请实施例中,处理器和收发器可以被耦合等,对于处理器和收发器的连接方式,本申请实施例不作限定。
如图14所示,该通信装置140包括一个或多个处理器1420和收发器1410。
可选的,该处理器和收发器可用于执行上述通信装置作为接收端时所执行的功能或操作等。示例性的,如处理器用于生成至少一个第一比特块;收发器用于发送该至少一个第一比特块。又如,收发器用于接收第一报文。又如,收发器用于在发送第二报文的报文开始比特块之后,且未发送完毕第二报文的情况下,发送该至少一个第一比特块。又如,收发器还用于发送第二报文等。可理解,这里所示的处理器和收发器的说明,仅为示例。
可选的,该处理器和收发器可用于执行上述通信装置作为发送端时所执行的功能或操作等。示例性的,如收发器用于接收至少一个第一比特块;处理器,用于根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。又如,收发器,还用于发送第一报文。又例如,收发器,还用于重传被错误接收的至少一个第一报文等。又如,处理器,还用于对该至少一个第一比特块进行CRC校验等。
可理解,对于收发器和/或处理器执行的功能或操作等,可以参考图13示出的各个实施例,或者,还可以参考图6所示的方法实施例等,这里不再一一详述。
在图14所示的通信装置的各个实现方式中,收发器可以包括接收机和发射机,该接收机用于执行接收的功能(或操作),该发射机用于执行发射的功能(或操作)。以及收发器用于通过传输介质和其他设备/装置进行通信。
可选的,通信装置140还可以包括一个或多个存储器1430,用于存储程序指令和/或数据。存储器1430和处理器1420耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1420可能和存储器1430协同操作。处理器1420可可以执行存储器1430中存储的程序指令。可选的,上述一个或多个存储器中的至少一个可以包括于处理器中。
本申请实施例中不限定上述收发器1410、处理器1420以及存储器1430之间的具体连接介质。本申请实施例在图14中以存储器1430、处理器1420以及收发器1410之间通过总线1440连接,总线在图14中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成等。
本申请实施例中,存储器可包括但不限于硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等非易失性存储器,随机存储记忆体(Random AccessMemory,RAM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、只读存储器(Read-Only Memory,ROM)或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)等等。存储器是能够用于携带或存储具有指令或数据结构形式的程序代码,并能够由计算机(如本申请示出的通信装置等)读和/或写的任何存储介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可理解,本申请实施例示出的通信装置还可以具有比图14更多的元器件等,本申请实施例对此不作限定。
可理解,以上所示的处理器和收发器所执行的方法仅为示例,对于该处理器和收发器具体所执行的步骤可参照上文介绍的方法。
在另一种可能的实现方式中,当上述通信装置是芯片系统,如服务器、接入设备、交换机、路由器或网卡等中的芯片系统时,处理单元1301可以是一个或多个逻辑电路,收发单元1302可以是输入输出接口,又或者称为通信接口,或者接口电路,或接口等等。或者收发单元1302还可以是发送单元和接收单元,发送单元可以是输出接口,接收单元可以是输入接口,该发送单元和接收单元集成于一个单元,例如输入输出接口。
其中,该逻辑电路1501可以为芯片、处理电路、集成电路或片上系统(system onchip,SoC)芯片等,接口1502可以为通信接口、输入输出接口等。本申请实施例中,逻辑电路和接口还可以相互耦合。对于逻辑电路和接口的具体连接方式,本申请实施例不作限定。
如图15所示,图15所示的通信装置包括逻辑电路1501和接口1502。即上述处理单元1301可以用逻辑电路1501实现,收发单元1302可以用接口1502实现。
可选的,该逻辑电路和接口可以用于执行上述通信装置作为接收端时所执行的功能或操作等。示例性的,如逻辑电路用于生成至少一个第一比特块;接口用于输出该至少一个第一比特块。又如,接口用于输出第二报文。又如,接口用于在输出第二报文的报文开始比特块之后,且未输出完毕第二报文的情况下,输出该至少一个第一比特块。又如,接口还用于输入第一报文等。
可选的,该逻辑电路和接口可用于执行上述通信装置作为发送端时所执行的功能或操作等。示例性的,如接口用于输入至少一个第一比特块;逻辑电路,用于根据该至少一个第一比特块确定是否重传与第一序列信息对应的至少一个第一报文。又如,接口,还用于输出第一报文等。又如,逻辑电路,还用于对该至少一个第一比特块进行CRC校验等。
可理解,对于接口和/或逻辑电路执行的功能或操作等,可以参考图13示出的各个实施例,或者,还可以参考图6所示的方法实施例等,这里不再一一详述。
此外,本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由接收端执行的操作和/或处理。
本申请还提供一种计算机程序,该计算机程序用于实现本申请提供的方法中由发送端执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由接收端执行的操作和/或处理。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机代码,当计算机代码在计算机上运行时,使得计算机执行本申请提供的方法中由发送端执行的操作和/或处理。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由接收端执行的操作和/或处理被执行。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机代码或计算机程序,当该计算机代码或计算机程序在计算机上运行时,使得本申请提供的方法中由发送端执行的操作和/或处理被执行。
本申请实施例还提供了一种通信系统,该通信系统包括发送端和接收端,该接收端可以用于执行图6所示的步骤601(接收步骤)、步骤602、步骤603(发送步骤)或步骤604(发送步骤)等,该发送端可以用于执行图6所示的步骤601(发送步骤)、步骤605、步骤606或步骤607(发送步骤)等。可理解,这里所示的发送端和接收端执行的步骤仅为示例,对于该接收端和发送端执行的其他步骤,还可以参考上述各个实施例,这里不再一一详述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例提供的方案的技术效果。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (34)
1.一种比特块的发送方法,其特征在于,所述方法包括:
生成至少一个第一比特块,所述至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,所述至少一个第一比特块中包括第一序列字段,所述第一序列字段用于承载所述至少一个第一报文的第一序列信息;
发送所述至少一个第一比特块。
2.根据权利要求1所述的方法,其特征在于,所述第一比特块为非报文比特块。
3.根据权利要求2所述的方法,其特征在于,报文比特块为报文开始比特块、所述报文开始比特块对应的数据比特块、所述报文开始比特块对应的结束比特块、报文结束比特块、所述报文结束比特块对应的开始比特块或所述报文结束比特块对应的数据比特块中的至少一个。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
发送第二报文,所述第二报文由报文比特块组成。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述发送所述至少一个第一比特块包括:
在发送第二报文的报文开始比特块之后,且未发送完毕所述第二报文的情况下,发送所述至少一个第一比特块。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述至少一个第一比特块中包括非报文开始比特块,所述非报文开始比特块中的预设字段承载第一数值。
7.根据权利要求2-5任一项所述的方法,其特征在于,所述至少一个第一比特块中包括至少一个序列O比特块,所述至少一个O比特块中每个O比特块中的预设字段承载第二数值。
8.根据权利要求6或7所述的方法,其特征在于,所述至少一个第一比特块中还包括第一类型字段,所述第一类型字段用于指示所述至少一个第一比特块的类型,且所述至少一个第一比特块的类型包括确认应答ACK比特块或否定应答NACK比特块。
9.根据权利要求6所述的方法,其特征在于,所述至少一个第一比特块中还包括:
所述非报文开始比特块对应的至少一个数据比特块;或者
所述非报文开始比特块对应的结束比特块;或者
所述非报文开始比特块对应的至少一个数据比特块和所述非报文开始比特块对应的结束比特块。
10.根据权利要求9所述的方法,其特征在于,在所述至少一个第一比特块包括所述非报文开始比特块和所述非报文开始比特块对应的结束比特块的情况下,所述发送所述至少一个第一比特块包括:
依次发送所述非报文开始比特块和所述非报文开始比特块对应的结束比特块;或者
依次发送所述非报文开始比特块对应的结束比特块和所述非报文开始比特块。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述至少一个第一比特块中还包括循环冗余校验CRC字段。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述第一比特块为P1 B/P2 B比特块,所述P1表示所述第一比特块的净荷比特数,所述P2表示所述第一比特块的总比特数,P2-P1表示所述第一比特块的同步头比特数。
13.根据权利要求12所述的方法,其特征在于,所述P1的取值为以下任一个:
64、128、256或512;
P2-P1的取值为以下任一个:
1、2或3。
14.根据权利要求3-5任一项所述的方法,其特征在于,所述报文开始比特块中的预设字段承载第三数值。
15.根据权利要求14所述的方法,其特征在于,所述报文开始比特块中包括第二序列字段,所述第二序列字段用于承载第二序列信息。
16.根据权利要求15所述的方法,其特征在于,所述报文开始比特块中还包括第二类型字段,所述第二类型字段承载第四数值时,所述第二类型字段用于指示所述第二序列信息为所述第二报文的序列号。
17.根据权利要求1所述的方法,其特征在于,所述第一比特块为报文比特块。
18.一种通信装置,其特征在于,所述装置包括:
处理器,用于生成至少一个第一比特块,所述至少一个第一比特块用于反馈至少一个第一报文是否被正确接收,所述至少一个第一比特块中包括第一序列字段,所述第一序列字段用于承载所述至少一个第一报文的第一序列信息;
收发器,用于发送所述至少一个第一比特块。
19.根据权利要求18所述的装置,其特征在于,所述第一比特块为非报文比特块。
20.根据权利要求19所述的装置,其特征在于,报文比特块为报文开始比特块、所述报文开始比特块对应的数据比特块、所述报文开始比特块对应的结束比特块、报文结束比特块、所述报文结束比特块对应的开始比特块或所述报文结束比特块对应的数据比特块中的至少一个。
21.根据权利要求18-20任一项所述的装置,其特征在于,
所述收发器,还用于发送第二报文,所述第二报文由报文比特块组成。
22.根据权利要求19-21任一项所述的装置,其特征在于,
所述收发器,具体用于在发送第二报文的报文开始比特块之后,且未发送完毕所述第二报文的情况下,发送所述至少一个第一比特块。
23.根据权利要求19-22任一项所述的装置,其特征在于,所述至少一个第一比特块中包括非报文开始比特块,所述非报文开始比特块中的预设字段承载第一数值。
24.根据权利要求19-22任一项所述的装置,其特征在于,所述至少一个第一比特块中包括至少一个序列O比特块,所述至少一个O比特块中每个O比特块中的预设字段承载第二数值。
25.根据权利要求23或24所述的装置,其特征在于,所述至少一个第一比特块中还包括第一类型字段,所述第一类型字段用于指示所述至少一个第一比特块的类型,且所述至少一个第一比特块的类型包括确认应答ACK比特块或否定应答NACK比特块。
26.根据权利要求23所述的装置,其特征在于,所述至少一个第一比特块中还包括:
所述非报文开始比特块对应的至少一个数据比特块;或者
所述非报文开始比特块对应的结束比特块;或者
所述非报文开始比特块对应的至少一个数据比特块和所述非报文开始比特块对应的结束比特块。
27.根据权利要求26所述的装置,其特征在于,在所述至少一个第一比特块包括所述非报文开始比特块和所述非报文开始比特块对应的结束比特块的情况下,
所述收发器,具体用于依次发送所述非报文开始比特块和所述非报文开始比特块对应的结束比特块;或者,依次发送所述非报文开始比特块对应的结束比特块和所述非报文开始比特块。
28.根据权利要求18-27任一项所述的装置,其特征在于,所述至少一个第一比特块中还包括循环冗余校验CRC字段。
29.根据权利要求18-28任一项所述的装置,其特征在于,所述第一比特块为P1 B/P2 B比特块,所述P1表示所述第一比特块的净荷比特数,所述P2表示所述第一比特块的总比特数,P2-P1表示所述第一比特块的同步头比特数。
30.根据权利要求29所述的装置,其特征在于,所述P1的取值为以下任一个:
64、128、256或512;
P2-P1的取值为以下任一个:
1、2或3。
31.根据权利要求20-22任一项所述的装置,其特征在于,所述报文开始比特块中的预设字段承载第三数值。
32.根据权利要求31所述的装置,其特征在于,所述报文开始比特块中包括第二序列字段,所述第二序列字段用于承载第二序列信息。
33.根据权利要求32所述的装置,其特征在于,所述报文开始比特块中还包括第二类型字段,所述第二类型字段承载第四数值时,所述第二类型字段用于指示所述第二序列信息为所述第二报文的序列号。
34.根据权利要求18所述的装置,其特征在于,所述第一比特块为报文比特块。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763632.9A CN114070475A (zh) | 2020-07-31 | 2020-07-31 | 比特块的发送方法及装置 |
EP21851545.0A EP4181441A4 (en) | 2020-07-31 | 2021-07-31 | METHOD AND APPARATUS FOR TRANSMITTING BIT BLOCKS |
PCT/CN2021/109937 WO2022022727A1 (zh) | 2020-07-31 | 2021-07-31 | 比特块的发送方法及装置 |
US18/161,605 US20230171024A1 (en) | 2020-07-31 | 2023-01-30 | Bit Block Sending Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763632.9A CN114070475A (zh) | 2020-07-31 | 2020-07-31 | 比特块的发送方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114070475A true CN114070475A (zh) | 2022-02-18 |
Family
ID=80037625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010763632.9A Pending CN114070475A (zh) | 2020-07-31 | 2020-07-31 | 比特块的发送方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230171024A1 (zh) |
EP (1) | EP4181441A4 (zh) |
CN (1) | CN114070475A (zh) |
WO (1) | WO2022022727A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6088337A (en) * | 1997-10-20 | 2000-07-11 | Motorola, Inc. | Method access point device and peripheral for providing space diversity in a time division duplex wireless system |
CN101124762A (zh) * | 2004-07-30 | 2008-02-13 | 诺基亚公司 | 共享资源网络中用于可变长度的确认的系统和方法 |
KR101075722B1 (ko) * | 2004-08-13 | 2011-10-21 | 삼성전자주식회사 | 이동통신시스템에서의 패킷 처리 결과 통보방법 |
JP4331088B2 (ja) * | 2004-11-01 | 2009-09-16 | 株式会社東芝 | 通信装置および通信方法 |
JP2009224850A (ja) * | 2008-03-13 | 2009-10-01 | Toshiba Corp | 無線通信装置 |
HUE029025T2 (en) * | 2012-07-16 | 2017-01-30 | Qualcomm Inc | Equipment and procedures for block acknowledgment compression |
CN113890689A (zh) * | 2015-10-09 | 2022-01-04 | 交互数字专利控股公司 | 针对高效应答传输的方法及装置 |
WO2017150042A1 (en) * | 2016-03-03 | 2017-09-08 | Panasonic Intellectual Property Management Co., Ltd. | Communication method and communication apparatus for block acknowledgment transmission |
-
2020
- 2020-07-31 CN CN202010763632.9A patent/CN114070475A/zh active Pending
-
2021
- 2021-07-31 EP EP21851545.0A patent/EP4181441A4/en active Pending
- 2021-07-31 WO PCT/CN2021/109937 patent/WO2022022727A1/zh unknown
-
2023
- 2023-01-30 US US18/161,605 patent/US20230171024A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4181441A4 (en) | 2023-11-08 |
WO2022022727A1 (zh) | 2022-02-03 |
US20230171024A1 (en) | 2023-06-01 |
EP4181441A1 (en) | 2023-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11063884B2 (en) | Ethernet enhancements | |
US20080195912A1 (en) | Method of communicatoin | |
JP3634800B2 (ja) | パリティチェック結合を用いたハイブリッド自動再送要求を実施するシステム及び方法 | |
US20050226239A1 (en) | Optimizing IEEE 802.11 for TCP/IP data transfer | |
JP2005323372A (ja) | フレーム集約と共に使用されるmacヘッダ圧縮 | |
CN111770428B (zh) | 一种无线设备的监听方法 | |
JP2006211632A (ja) | Crc検査範囲外エラーを検出する方法 | |
US20090303871A1 (en) | Method and apparatus for packet aggregation according to traffic characteristics | |
US8479073B2 (en) | Method of transmitting and receiving ARQ feedback information | |
EP3860013A1 (en) | Message processing method and apparatus | |
US20230034209A1 (en) | Data transmission method and network device | |
CN113556290B (zh) | 基于帧特征符的fc帧冗余接收方法、系统、设备及介质 | |
WO2022042543A1 (zh) | 一种以太网错误帧的重传方法及相关装置 | |
US9819602B2 (en) | Efficient datagram segmentation and reassembly for packet-switched networks | |
CN113079074A (zh) | 一种基于can总线的协议栈通信方法、装置和存储介质 | |
WO2023098430A1 (zh) | 一种数据包的处理方法、通信装置及通信系统 | |
CN109756306B (zh) | 信息传输方法和通信设备 | |
CN114070475A (zh) | 比特块的发送方法及装置 | |
WO2022105753A1 (zh) | 网络数据编码传输方法及装置 | |
JP5817387B2 (ja) | 通信装置及び通信方法 | |
EP3968550A1 (en) | Retransmission data sending method, retransmission data receiving method, and device | |
JP3027800B2 (ja) | 無線lanにおける伝送制御方法および伝送制御装置 | |
CN114095435A (zh) | 比特块的发送方法及装置 | |
CN112039793A (zh) | 一种组播通信方法及组播通信设备 | |
EP2306666B1 (en) | Reduction of frame error rate in a node of a wireless packet-switched communication network |
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 |