一种报文的重传方法技术

技术编号:36530715 阅读:4 留言:0更新日期:2023-02-01 16:13
本发明专利技术公开一种报文的重传方法,包括发送端发送请求报文至接收端,请求报文包括请求信息、第一序列号,接收端根据第一序列号和请求信息,匹配发送对应的应答报文至发送端,应答报文包括应答信息、标识组,发送端根据标识组判断应答报文是否需要重传,若需要,发送端根据标识组执行对应的请求报文重传操作,若不需要,则正确接收应答报文;并且,若应答数据包丢失或者出错,接收端重传相应序列号的应答报文。由于本发明专利技术的应答报文包括与请求信息匹配的应答信息、标识组,相比于现有技术的分开发送,减少链路中的数据包数量,增加链路的有效带宽,同时通过标识组判断应答报文是否需要重传,减少不必要的数据包重传数量,进一步提高链路带宽利用率。链路带宽利用率。链路带宽利用率。

【技术实现步骤摘要】
一种报文的重传方法


[0001]本专利技术涉及链路数据传输
,特别是涉及一种报文的重传方法。

技术介绍

[0002]目前,PCIe5.0规范的可靠重传技术使用ACK/NAK实现可靠性机制,借助于DLLP实现。DLLP在数据链路层工作,上层将TLP交付给数据链路层,在数据链路层为TLP加上序列号。当接收端收到的TLP出错或者发生了丢包,接收端向发送端返回一个NAK类型的DLLP,通知发送端进行相应TLP的重传。PCIe5.0使用GobackN机制,即RetryBuffer中序列号在NAK之前的TLP都需要重传。如果接收端正确收到了TLP,那么会回复一个ACK类型的DLLP,发送端可以将已确定被收到的TLP从ReplayBuffer中除去。PCIe5.0使用延迟确认机制,即正确收到TLP后可以不立即回复ACK,而是等待一段时间收到多个TLP后再回复,一个ACK可以确认多个TLP已被正确收到。发送端还会设置一个计时器,每当收到NAK或ACKDLLP时会清零,如果一段时间没有收到应答,计时器溢出,则需要进行超时重传,重传当前ReplayBuffer中的所有TLP。
[0003]PCIe6.0规范的可靠重传技术,相比前一代多了选择重传。PCIe6.0多了一个flitmode,在non

flitmode下,与PCIe5.0的重传机制是一样的。在flitmode下,PCIe6.0会采用选择重传机制,CRC校验、重传都是以flit为粒度的,并且不使用ACK/NAKDLLP。当接收端收到一个乱序flit时,会生成一个选择确认NAK,通知发送端选择重传前一个flit。同时继续接收后面的flit,将它们缓存下来,直到收到了发送端的重传flit。
[0004]TCP协议的可靠性机制中加入了一个SACK选项(TCP option field),允许接收端在返回Duplicate ACK时,将已经收到的数据区段(连续收到的数据范围)返回给发送端,数据区段与数据区段之间的间隔就是接收端没有收到的数据。发送端就知道哪些数据包已经收到,哪些该重传,因此SACK的发送端可以在一个RTT时间内重传多个数据包。
[0005]对于PCIe5.0和PCIe6.0的non

flitmode下的可靠性机制,包含数据的TLP和包含ACK/NAK的DLLP是分开发送的,这样的做法增加了链路中的数据包数量,减小了链路的有效带宽。并且在某些应用场景下,发送端可能需要收到接收端返回的带数据的应答之后才能继续往下执行命令,在这种情况下,先返回ACK/NAK应答的做法意义不大。
[0006]对于PCIe6.0 flitmode下的选择确认机制,每次只能选择确认一个未按序到达的flit,当链路中存在多段乱序时,该机制的效率不佳。
[0007]TCP的选择重传机制需要在TCP选项中加入重传的边界值,但受限于TCP选项长度不超过40字节,实际最多不超过4组边界值,限制了重传更多的数据包。此外,TCP协议属于传输层协议,在数据链路层报文加入多组边界值在报文中会占据一部分数据空间,减小了数据报文的有效载荷占比,故该方法不适用于数据链路层。
[0008]专利技术人在进行使用以太网承载上游交付的请求,并需要保证链路的可靠性的研究时,发现现有技术不能很好地适应这种情况,主要是现有技术的带宽利用率不足,并且不必要的重传过多。
[0009]现有技术公开了一种数据传输方法及装置(公开号为CN110417519A),用以解决基于CBG的重传技术,重传效率较低的问题。所述方法包括:接收端接收发送端发送的重传数据,所述重传数据包括至少一个第一编码块组,每个所述第一编码块组包括至少一个编码块。所述接收端对所述重传数据中包括的编码块进行译码。所述接收端向所述发送端发送N个第二编码块组分别对应的译码校验结果,所述N个第二编码块组为所述接收端基于所述重传数据确定的,当一个第二编码块组中至少一个编码块对应的译码校验结果为错误时,该第二编码块组对应的译码校验结果为NAK,否则该第二编码块组对应的译码校验结果为ACK。该专利公开了接收端接收发送端发送的重传数据,并未公开重传数据中的报文序列号,研究人员迫切需要一种可以提高链路带宽利用率的报文数据传输系统。

技术实现思路

[0010]本专利技术的目的是提供一种提高带宽利用率的报文的重传方法。
[0011]为了实现上述目的,现提出的方案如下:
[0012]一种报文的重传方法,包括:
[0013]发送端发送请求报文至接收端,所述请求报文包括请求信息、第一序列号和第一循环冗余校验信息,所述第一序列号表示当前请求报文序列号;
[0014]所述接收端接收所述请求报文,并判断根据所述请求报文中的所述第一循环冗余校验信息是否正确;
[0015]若是,则所述接收端根据所述第一序列号和所述请求信息,匹配发送对应的应答报文至所述发送端,所述应答报文包括与所述请求信息匹配的应答信息、标识组和第二循环冗余校验信息,所述标识组包括标识信息及对应序列号;
[0016]若否,则所述接收端向所述发送端发送提示信息;
[0017]所述发送端接收所述应答报文,并判断所述应答报文中的所述第二循环冗余校验信息是否正确;
[0018]若否,则丢弃所述应答报文;
[0019]若是,则所述发送端根据所述标识组判断所述应答报文是否需要重传;
[0020]若是需要重传,则所述发送端根据所述标识组执行对应的请求报文重传操作;
[0021]若不需要重传,则正确接收所述应答报文。
[0022]可选的,所述请求报文还包括第二序列号,所述第二序列号表示确认收到的正确的应答报文序列号,所述标识信息及对应序列号包括报错标识及对应序列号和/或确定标识及对应序列号和/或选择重传标识及对应序列号,每种标识信息都有其对应的序列号,标识组由各标识和各标识对应的序列号组成,所述选择重传标识包括第一选择重传标识或第二选择重传标识,所述第一选择重传标识序列号小于所述第二选择重传标识序列号,所述发送端根据所述标识组执行对应的请求报文重传操作,包括:
[0023]当所述标识组为报错标识及对应序列号,所述应答报文中不包含所述应答信息时,确定所述应答报文需要重传,执行重传序列号与所述报错标识及对应序列号一致的请求报文;
[0024]当所述标识组为确定标识及对应序列号,且所述确定标识序列号大于所述第二序列号时,重传序列号大于所述第二序列号且小于所述确定标识序列号的请求报文。
[0025]可选的,所述标识信息及对应序列号包括报错标识及对应序列号和/或确定标识及对应序列号和/或选择重传标识及对应序列号,所述选择重传标识包括第一选择重传标识或第二选择重传标识,所述第一选择重传标识序列号小于所述第二选择重传标识序列号,所述发送端根据所述标识组执行对应的请求报文重传操作,包括:
[0026]当所述标识组为报错标识及对应序列号和选择重传标识及对应序列号,所述应答报文中不包含本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文的重传方法,其特征在于,包括:发送端发送请求报文至接收端,所述请求报文包括请求信息、第一序列号和第一循环冗余校验信息,所述第一序列号表示当前请求报文序列号;所述接收端接收所述请求报文,并判断根据所述请求报文中的所述第一循环冗余校验信息是否正确;若是,则所述接收端根据所述第一序列号和所述请求信息,匹配发送对应的应答报文至所述发送端,所述应答报文包括与所述请求信息匹配的应答信息、标识组和第二循环冗余校验信息,所述标识组包括标识信息及对应序列号;若否,则所述接收端向所述发送端发送提示信息;所述发送端接收所述应答报文,并判断所述应答报文中的所述第二循环冗余校验信息是否正确;若否,则丢弃所述应答报文;若是,则所述发送端根据所述标识组判断所述应答报文是否需要重传;若是需要重传,则所述发送端根据所述标识组执行对应的请求报文重传操作;若不需要重传,则正确接收所述应答报文。2.根据权利要求1所述的一种报文的重传方法,其特征在于,所述请求报文还包括第二序列号,所述第二序列号表示确认收到的正确的应答报文序列号,所述标识信息及对应序列号包括报错标识及对应序列号和/或确定标识及对应序列号和/或选择重传标识及对应序列号,所述选择重传标识包括第一选择重传标识或第二选择重传标识,所述第一选择重传标识序列号小于所述第二选择重传标识序列号,所述发送端根据所述标识组执行对应的请求报文重传操作,包括:当所述标识组为报错标识及对应序列号,所述应答报文中不包含所述应答信息时,确定所述应答报文需要重传,执行重传序列号与所述报错标识及对应序列号一致的请求报文;当所述标识组为确定标识及对应序列号,且所述确定标识序列号大于所述第二序列号时,重传序列号大于所述第二序列号且小于所述确定标识序列号的请求报文。3.根据权利要求1所述的一种报文的重传方法,其特征在于,请求报文还包括第二序列号,所述第二序列号表示确认收到的正确的应答报文序列号,所述标识信息及对应序列号包括报错标识及对应序列号和/或确定标识及对应序列号和/或选择重传标识及对应序列号,所述选择重传标识包括第一选择重传标识或第二选择重传标识,所述第一选择重传标识序列号小于所述第二选择重传标识序列号,所述发送端根据所述标识组执行对应的请求报文重传操作,包括:当所述标识组为报错标识及对应序列号、确定标识及对应序列号和选择重传标识及对应序列号,所述应答报文中包含所述应答信息时,确认所述第二序列号与确定标识序列号的大小关系;若所述确定标识序列号与所述第二序列号相等,则重传序列号大于所述第一选择重传标识序列号且小于所述第二选择重传标识序列号的请求报文;若所述确定标识序列号大于所述第二序列号,则重传序列号大于所述第二序列号且小于所述确定标识序列号的请求报文,和序列号大于所述第一选择重传标识序列号且小于所
述第二选择重传标识序列号的请求报文;若所述确定标识序列号小于所述第二序列号,则重传序列号大于所述第一选择重传标识序列号且小于所述第二选择重传标识序列号的请求报文。4.根据权利要求1所述的一种报文的重传方法,其特征在于,所述请求报文包括第二序列号,所述第二序列号表示确认收到的正确的应答报文序列号,还包括:所述接收端根据所述第二序列号清除对应的应答报文。5.根据权利要求1所述的一种报文的重传方法,其特征在于,所述标识信息及对应序列号包括报错标识及对应序列号和/或确定标识及对应序列号和/或选择重传标识及对应序列号,还包括:当所述接收端确定所述第一循环冗余校验信息不正确时,则进一步确定上一...

【专利技术属性】
技术研发人员:王晨赳郝沁汾
申请(专利权)人:芯光智网集成电路设计无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1