[发明专利]数据包重传方法、数据包接收方法及装置有效
申请号: | 201210103340.8 | 申请日: | 2012-04-10 |
公开(公告)号: | CN103368703A | 公开(公告)日: | 2013-10-23 |
发明(设计)人: | 杨荣玉;王海彬 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L1/16 | 分类号: | H04L1/16 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 方法 接收 装置 | ||
技术领域
本发明涉及链路重传技术,尤其涉及一种数据包重传方法、数据包接收方法及装置。
背景技术
快速互联通道(Quick Path Interconnect,QPI)是中央处理单元(Central Processing Unit,CPU)与CPU之间,CPU与输入输出集线器(Input Output Hub,IOH)之间乃至CPU与远端内存之间数据交换的重要高速通道。
现有QPI的实现方案包括QPI的协议层(Upper Layer)、链路层(Link Layer)和物理层(Physical Layer)。QPI有两条数据包通路,一条是数据发送通路,一条是数据接收通路。对于发送通路:本地的协议层将数据包发给链路层;链路层将这些包发送给物理层的同时也存入重传缓冲器中;本地物理层将这些包发给远端的物理层。对于接收通路:本地物理层接收远端物理层发来的数据包,本地物理层将这些包发给链路层,链路层对这些数据包进行译码并判断是否有误,将无误的数据包发给协议层,并将译码信息分别发送给重传控制模块和系统控制模块。本地链路层会在接收到若干个固定个数的无误包后产生确认(ack)并告知对方(即远端),对方将重传缓冲器中的尾指针(tail)指向的数据清掉。如果有误,本地的链路层会将计数的错误包的序号(pkt_num)封装在重传请求(retry_request)中发送给对方;同时本地会丢弃后续接收到的包,直到收到重传响应(retry_response)。
在上述重传过程中,发送端会将第一个错误包以及在第一个错误包之后已经发送的其他包都重传,但实际上有些包是不需要重传的,因此,现有QPI的重传机制会造成资源浪费。
发明内容
本发明提供一种数据包重传方法、数据包接收方法及装置,用以降低数据重传造成的资源浪费。
本发明一方面提供一种数据包重传方法,包括:
接收重传请求,所述重传请求由发送端发送,所述重传请求包括请求重传的数据包对应的收包总序列号;
根据所述请求重传的数据包对应的收包总序列号和本地存储的发包总序列号与每个消息类型的发包序列号之间的映射关系,获取所述请求重传的数据包所属的消息类型和所述请求重传的数据包在自身所属的消息类型中的发包序列号,所述发包总序列号为对发送的所有消息类型的数据包进行计数得到的序列号;
根据所述请求重传的数据包所属的消息类型和所述请求重传的数据包在自身所属的消息类型中的发包序列号,向所述接收端发送所述请求重传的数据包以及在所述请求重传的数据包之后发送的与所述请求重传的数据包属于同一消息类型的数据包。
本发明一方面提供一种数据包发送装置,包括:
第一接收模块,用于接收重传请求,所述重传请求由发送端发送,所述重传请求包括请求重传的数据包对应的收包总序列号;
第一处理模块,用于根据所述请求重传的数据包对应的收包总序列号和本地存储的发包总序列号与每个消息类型的发包序列号之间的映射关系,获取所述请求重传的数据包所属的消息类型和所述请求重传的数据包在自身所属的消息类型中的发包序列号,所述发包总序列号为对发送的所有消息类型的数据包进行计数得到的序列号;
第一发送模块,用于根据所述请求重传的数据包所属的消息类型和所述请求重传的数据包在自身所属的消息类型中的发包序列号,向所述接收端发送所述请求重传的数据包以及在所述请求重传的数据包之后发送的与所述请求重传的数据包属于同一消息类型的数据包。
本发明另一方面提供一种数据包接收方法,包括:
接收发送端发送的第一数据包,修改收包总序列号以获取所述第一数据包对应的收包总序列号;所述收包总序列号为对接收的所有消息类型的数据包进行计数得到的序列号;所述第一数据包包括所述第一数据包所属的消息类型和所述第一数据包在自身所属的消息类型中的发包序列号;
当确定出所述第一数据包未发生错误时,根据所述第一数据包所属的消息类型获取所述第一数据包所属的消息类型的最后收包序列号,所述第一数据包所属的消息类型的最后收包序列号为在所述第一数据包之前最后接收到的与所述第一数据包属于同一消息类型的数据包在自身所属的消息类型中的发包序列号;
判断所述第一数据包所属的消息类型的最后收包序列号和所述第一数据包在自身所属的消息类型中的发包序列号是否连续;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210103340.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带调光电路的LED灯具
- 下一篇:一种新型LED灯