基于重传机制的对头压缩数据包进行传输的方法和装置的制作方法

文档序号:7719782阅读:119来源:国知局
专利名称:基于重传机制的对头压缩数据包进行传输的方法和装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种基于重传机制的对头压缩数据包进行传 输的方法和装置。
背景技术
由于物理条件的限制,无线链路与有线链路相比,传输速率较低,而误码率偏高。 当将IP协议技术应用在无线网络小区环境中时,存在分组头标开销过大的问题。例如,一 个IPv6语音通信分组,用户真正需要的分组净荷往往只占整个分组的22%。这样不仅浪费 带宽,还增大了由于分组出错而导致的该分组被丢弃的概率。若不采取有效措施,在浪费宝 贵无线网络资源的同时,还会降低用户的服务质量。采用头压缩机制可以解决上述问题,同时可保证IP协议固有的灵活性。头压 缩机制可包括R0HC(Robust Header Compression,鲁棒性头标压缩)、CRTP (Real-time Transport Protocol Header Compression,实时传输协议头压缩)机制,以及 ECRTP(Extended RTP Header Compression,扩展实时传输协议头压缩)机制等。以ROHC为例,ROHC是一种基于流的头标压缩方案。在网络数据传输过程中,同一 个流的分组中大部分头标域具有相同的域值。ROHC机制在某个流中取一个参考分组,对于 其他分组仅仅发送头标域中相对参考分组变化的信息,以达到压缩目的,从而节省分组头 标开销,更加有效地利用带宽。通过ROHC机制在无线网络中进行通信,需要建立ROHC信道,ROHC信道为一个逻 辑信道,在这个逻辑信道中,入口是压缩器,出口是解压缩器,压缩器和解压缩器一一对应。 压缩器把原始数据进行头压缩以后通过该逻辑信道发送给解压缩器。该ROHC信道为单向 逻辑信道。同时,为了支持双向压缩,解压缩器必须能够给压缩器提供反馈信息,因此ROHC 反馈信道为承载所述反馈信息的逻辑信道,入口是解压缩器,出口是压缩器。ROHC头压缩机制可以被简单描述为两个状态机(一个压缩状态机和一个解压状 态机)之间的互作用。两个状态机各自都有三种不同的状态。两个状态机都是由最低的压 缩状态开始逐步转变到更高的状态。其中压缩机的状态转移方式如图1所示,解压缩机的 状态转移方式如图2所示。如上图1所示,ROHC压缩机包含三种状态IRanitial and Refresh,初始状态), FO (First Order,第一等级),SO (Second Order,第二等级)。初始的状态为IR状态,这时 解压缩端几乎没有解压缩所需的静态和动态信息,ROHC压缩端发送顶或是IR-DYM数据包, 其中包含了数据包头中的静态信息(源IP地址,目的IP地址等)和一些动态信息(SN序 列号,Timestamp时间戳等)。顶包既包含静态信息又包含动态信息,而IR-DYM包可以只 包含动态信息。当解压缩端得到静态信息和部分动态信息时,压缩端处于FO状态。当解压 缩端得到所有的静态和动态信息,压缩端进入SO状态,报头的数据压缩到最小。如图2所示,ROHC解压缩机包含三种状态NC (No Context,没有上下文), SC(Satic Context,静态上下文),FC(Full Context,全部上下文)。NC就是解压缩端的初始状态,这时解压缩端没有收到数据包,没有解压缩需要的任何信息;SC就是解压缩端得 到了全部的静态解压缩的信息以及部分动态解压缩的信息;FC就是解压缩端已经获得了 全部的静态和动态解压缩信息。ROHC的Context (上下文)信息分成两种不同类型静态Context信息和动态的 Context信息,其中静态Context信息是很少变化的,所以一般只要接收端正确接收到,压 缩端就可以不需要再传输;而动态的Context信息是变化的,现有的IP数据包头中的动态 Context 信息主要为 SN, Timestamp, IP-id。如果包含了静态Context信息更新的数据包发生了错误或是丢失,会导致之后所 有的数据包都无法获取静态Context信息,以致于后继大量的解头压缩失败;如果连续丢 失了一定数量的数据包,也会导致后继数据包不能解析动态Context信息,以致于解头压 缩失败。ARQ(auto repeat request,自动重传请求)是通过接收方请求发送方重传出错的 数据包文来恢复出错的报文的一种技术,是通信中用于处理信道所带来差错的方法之一。ARQ包括三种方式即停等式(stop-and-wait),回退η帧(go-back-n) ARQ,选择 性重传(selective r印eat)ARQ,以及混合ARQ(HARQ)。它们的区别在于对于出错的数据包 文的处理机制不同。HARQ系统就是在 ARQ系统中引入了 FECO^orward Error Correction,前向纠错), 该FEC可以用来纠正传输过程中的数据差错,即如果错误在FEC的纠错范围内,那么FEC就 进行纠错,如果超出了其纠错范围,那么接收方指示发送方重传出错报文的部分或者全部 信息,然后,接收方将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信 肩、ο采用ROHC机制可以节约无线网络资源,提高服务质量,但由于现有的ROHC机制对 于错误报头的处理为直接丢弃而不作进一步处理,在错包率达到一定程度的情况下,导致 状态回退并更新context信息,重新同步解压状态,在无线链路状况较差时,会导致频繁的 状态回退,极大降低压缩效率。而自动重传机制可以提高报文发送的正确率和可靠性,在现有技术的一些无线传输系统中,比如在IEEE(Institute of Electricaland Electronics Engineers,电子电气工禾呈师协会)16m, LTE (Long TermEvolution,长其月演进) 系统中,虽然同时应用了 ROHC机制和自动重传机制,但是将ROHG机制和自动重传机制作为 两个相对独立的技术进行应用,没有利用ROHC机制和自动重传机制之间的关联性特点来 提升系统性能。

发明内容
本发明的实施例提供了一种基于重传机制的对头压缩数据包进行传输的方法和 装置,以实现头压缩端利用重传机制的反馈信息确定所述头压缩端的状态,根据所述头压 缩端的状态对数据包进行头压缩。一种基于重传机制的对头压缩数据包进行传输的方法,包括发送设备的头压缩端获取头压缩数据包在传输过程中的反馈信息;所述头压缩端根据所述反馈信息确定所述头压缩端的状态,根据所述头压缩端的 状态对数据包进行头压缩并发送给接收设备的解压缩端。
一种基于重传机制的对头压缩数据包进行传输的装置,包括反馈信息获取模块,用于获取头压缩数据包在传输过程中的反馈信息;头压缩状态处理模块,用于根据所述反馈信息确定所述头压缩端的状态,根据所 述头压缩端的状态对数据包进行头压缩并发送给接收设备的解压缩端。由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过将头压缩机 制和重传机制进行结合,使头压缩端获取重传机制的反馈信息,可以使头压缩端利用该反 馈信息确定所述头压缩端的状态,在必要时进行相应的状态转移,根据所述头压缩端的状 态对数据包进行头压缩,提高数据包的传输效率。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。图1R0HC头压缩机制中的压缩机的状态转移方式示意图;图2R0HC头压缩机制中的解压缩机的状态转移方式示意图;图3本发明实施例一提供的一种基于HARQ的对数据包进行ROHC压缩方法的处理 流程图;图4为本发明实施例一提供的在IEEE 16m系统中的数据包从高层传输到空口的 传输过程示意图;图5为本发明实施例二提供的一种基于自动重传技术的对数据包进行头压缩的 装置的具体实现结构图。
具体实施例方式在本发明实施例中,发送设备的头压缩端获取头压缩数据包在传输过程中的反馈 信息,所述头压缩端根据所述反馈信息确定所述头压缩端的状态,根据所述头压缩端的状 态对数据包进行头压缩并发送给接收设备的解压缩端。为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步 的解释说明,且各个实施例并不构成对本发明实施例的限定。实施例一该实施例利用HARQ机制中的反馈信息,HARQ发送端获取数据包在HARQ接收端上 的传输状态信息,HARQ发送端再将该传输状态信息反馈到ROHC头压缩端,ROHC头压缩端根 据这些传输状态信息,可以预测出ROHC解头压缩器的解头压缩状态,从而确定所述ROHC头 压缩端的状态,在必要时相应地改变ROHC头压缩端的状态机。该实施例提供的一种基于HARQ的对头压缩数据包进行传输的方法的处理流程如 图3所示,包括如下处理步骤步骤31,在ROHC头压缩端对每个数据包都保存和管理一个传输状态信息表。在该实施例中,为了能够使ROHC头压缩端得知数据包在网络中实际的传输状况, ROHC头压缩端对每个进行头压缩的数据包都需要保存一个传输状态信息表,该传输状态信息表中保存的传输状态信息包括头压缩序列号,数据包头信息,数据包的传输成功或失败 信息,数据包封装信息和HARQ进程信息等信息中的至少一项。上述数据包头信息中可以包 括R0HC的头压缩Context信息,其中包括静态Context信息和/或动态的Context信息。下面以IEEE 16m系统来说明该实施例。在IEEE 16m系统中,数据包从高层传输到空口的传输过程如图4所示, CS (Convergence Sublayer,汇聚子层)子层从高层网络接收数据包,根据数据包的特性 将数据包分配到不同的ROHC Context上,对数据包进行头压缩。如果该数据包中包含有 RTP (Transport Protocol HeaderCompression,实时传输协议头压缩)包头,则该RTP包头 中会包含有SN信息,将该SN信息作为该数据包头压缩的序列号;如果该数据包中没有包含 RTP包头,系统会从0开始逐一递增为该数据包产生虚拟的SN号作为该数据包头压缩的序 列号。上述数据包被头压缩后,被映射到不同的MAC(Medium AccessControl,媒质接入 控制层)连接上,根据实际的系统资源状况,将该数据包打包分片为不同MAC数据包。如果 是分片的情况,一个头压缩后的数据包可以被分成多个不同的MAC数据包传输。每个MAC 数据包中包含头压缩数据包的一部分信息,比如有的数据包只包含数据包头信息,有的只 包含数据包载荷信息。MAC数据包中没有序列号信息,但是系统可以在每个MAC连接上,生 成一个虚拟的MAC序列号作为MAC数据包的标识。如果MAC层支持ARQ,系统可以使用MAC 数据包中第一个ARQ block (块)的SN作为MAC包的标识。ARQ block也是一个虚拟数据 块,它对MAC连接上所有MAC数据包根据一个固定大小分块、排序,产生一个ARQ序列号。 在MAC层封装为大小合适的MAC数据包后,将MAC数据包映射到不同的HARQ进程上传输。 当前帧上,相同HARQ进程上传输的MAC数据包组成一个HARQ包。由Ibit的AISN标识该 HARQ包是否为重传数据包。在上述IEEE 16m系统中,上述数据包封装信息包括MAC的CID信息,ARQ block 信息,虚拟MAC SN信息,数据包是否被打包分片等信息,上述HARQ进程信息包括HARQ进 程信息,HARQ数据包重传标识等信息。步骤32、HARQ发送端将数据包的传输情况作为反馈信息上报给ROHC头压缩端。 ROHC头压缩端根据存储的数据包的传输状态信息表和反馈信息,确定ROHC头压缩端的状 态,判断是否需要进行状态转移或是进行其他操作。在该实施例中,下层对数据包的任何处理都要上报给ROHC头压缩端,比如,数据 封装实体根据网络资源状况对头压缩后的数据包进行封装后,需要将数据包的封装信息上 报给ROHC头压缩端。上述经过封装后的数据包通过HARQ进程传输到HARQ接收端后,HARQ接收端需要 向HARQ发送端反馈数据包的传输情况,HARQ发送端将接收到的数据包的传输情况作为反 馈信息上报给ROHC头压缩端。ROHC头压缩端根据自身存储的数据包的传输状态信息表找 出对应的数据包。再根据数据包的传输状态信息表和接收到的数据包的传输情况,判断是 否需要进行状态转移或是进行其他操作,比如,更新缓存中的MAC数据包里的头压缩信息。 若是数据包被正确接收,根据ROHC现有技术更新压缩状态,将IR状态迁移为FO或SO状态 或是将FO状态迁移为SO状态。若是数据包传输错误,具体状态迁移方式见下面介绍。下面分两种情况来讨论上述HARQ接收端向HARQ发送端反馈数据包的传输情况。
情况1 一个context ID的相关ROHC数据包都对应到一个MAC连接上传输,对应 到一个物理层HARQ进程上传输。这种情况下,如果HARQ包被正确接收,则HARQ接收端向HARQ发送端反馈 ACK (ACKnowledge,应答);若是HARQ包被错误接收,则HARQ接收端向HARQ发送端反馈 NACK (Unacknowledged,接收出错应答);若是数据包在传输过程中丢失,HARQ接收端没有 收到数据包不会发送任何反馈信息或是反馈数据包在传输中丢失,则HARQ发送端没有收 到任何应答信息。HARQ接收端若是收到和前一个包的AISN相同的HARQ包,就知道这个 HARQ包为重传包,针对一个重传包,HARQ接收端也要向HARQ发送端反馈上述ACK和NACK 或无应答信息。由于一个HARQ数据包中可能包含多个不同的头压缩数据包,所以HARQ接 收端反馈的ACK和NACK或无应答信息,指示的是该HARQ数据包的是否正确接收,ROHC头 压缩端根据述ACK和NACK或无应答信息和传输状态信息表中的HARQ数据包所封装的头压 缩数据包信息,获取传输正确和/或失败的头压缩数据包,再根据传输正确和/或失败的头 压缩数据包获取HARQ接收端正确接收到的头压缩数据包的次序和解头压缩端解压缩失败 的数据包的数量。所述头压缩端根据所述传输失败的头压缩数据包和/或解压缩端正确接收到的 头压缩数据包的次序,以及保存的头压缩数据包的传输状态信息,判断解压缩端是否能够 解压缩后续头压缩数据包,如果是,则所述头压缩端保持现有压缩状态不变或者从非完全 压缩状态迁移为完全压缩状态;否则,所述头压缩端将状态从完全压缩状态迁移为非完全 压缩状态。在ROHC机制中,所述的非完全压缩状态包括初始状态或第一等级状态,所述的 完全压缩状态包括第二等级状态。在实际应用中,HARQ发送端不一定需要把ACK和NAK或无应答信息传到ROHC压 缩端,可以是由HARQ发送端根据上述ACK和NACK或无应答信息确定传输正确和/或失败 的数据包,再根据传输正确和/或失败的数据包获取HARQ接收端正确接收到的数据包的次 序和解头压缩端解压缩失败的数据包的数量。HARQ发送端再将获取的传输正确和/或失败 的数据包和/或HARQ接收端正确接收到的数据包的次序,以及和解头压缩端解压缩失败的 数据包的数量上报到ROHC压缩端。由于HARQ是停等协议,一个数据包正确传输或是被丢弃之前是不会传输下一个 数据包的,所以除非下面的数据包传输到最大次数被丢弃,是不可能出现乱序的情况。当 HARQ数据包传输超过最大次数被丢弃时,HARQ发送端向ROHC头压缩端反馈数据包传输失 败。ROHC头压缩端获取数据包传输失败后,根据所述传输失败的数据包,查询该数据 包以及该数据包的一定数量的后续数据包对应的传输状态信息表,当当所述解头压缩端解 压缩失败的数据包的数量与解头压缩端接收到的头压缩数据包的总数量的比例得到了预 先设置的阈值,即达到了 k of η的状态转移的要求,则判断上述后续数据包中是否包含有 IR或IR-Dyn数据包,如果是,则判断ROHC解压缩端可以恢复上述后续数据包,ROHC头压缩 端不做任何处理;否则,则判断ROHC解压缩端不能恢复上述后续数据包,ROHC头压缩端的 状态转移为顶或FO状态,发送顶或IR-Dyn数据包来更新ROHC解压缩端的头压缩信息。若是ROHC头压缩端判决出由于丢包,导致后续还处于MAC缓存尚未发送的MAC数 据包即使发送到解压缩端,解压缩端不能够对该MAC数据包进行正确解压缩,则有两种处理方式一是ROHC头压缩端通知MAC以及HARQ发送端发送端直接丢弃上述处于缓存尚未 发送的数据包,减少空口资源;二是ROHC头压缩端通过层间传输的方式通知MAC子层,对于 位于MAC缓存没有发送的已经进行MAC封装的头压缩数据包,通过MAC子头的形式,在其中 添加必要的可以协助解头压缩的信息和规则(信息包括SN和/或TS和/或IP-ID等头 压缩context信息,上述规则包括相关信息如何增加到对应的MAC头),这些信息规则和 通过协议层间原语由ROHC发到MAC,MAC层收到该原语后,按照接收到的信息和规则对处于 MAC缓存尚未发送的MAC数据包进行处理。 如果一个ROHC之后的头压缩数据包被拆分成多个不同的MAC/RLC数据包数据包, 其ROHC数据包的包头和payloacK负荷)可能被分在不同的MAC/RLC数据包中传输,如果 ROHC头压缩端不能获知包头和pay load分别在哪个MAC/RLC数据包中,则如果这几个MAC/ RLC数据包中的一个MAC/RLC数据包传输失败,其他的MAC/RLC数据包可以直接丢弃。如 果ROHC头压缩端可以获知包头和payload分别在哪个MAC/RLC数据包中,则如果包头所 在的MAC/RLC数据包传输失败,ROHC头压缩端要求下层丢弃这几个MAC/RLC数据包中的 其他MAC/RLC数据包;如果只是payload所在的MAC数据包传输失败,则包头所在的MAC/ RLC数据包继续传输,并通知接收端将此包头信息传输给ROHC解压缩端,解头压缩端收到 该包头所在的MAC/RLC数据包后,利用其中的数据包头信息进行解头压缩和更新解头压缩 context信息,之后丢弃该包头所在的MAC/RLC数据包。对于一条MAC连接对应到多个头压缩Context的情况,处理方式与上面描述相似, ROHC头压缩端根据收到的数据包丢失信息和自身保存的数据包的传输状态信息表,针对每 个受影响的Context,判断其是否需要状态转移或是更新缓存中的MAC数据包里的头压缩
fn息ο情况2 如果一个context ID的相关ROHC数据包承载在不同的HARQ进程,那么 在不同的HARQ进程上的传输的数据包会有不同的数据出错概率。例如,HARQ进程1上承 载了序列号1-3的数据包,HARQ进程2上承载了序列号4-6的数据包,HARQ进程1和HARQ 进程2同时开始传输;但是,在传输过程中,序列号4-6的数据包重传一次后,被接收端正确 接收;而序列号1-3的数据包重传三次后,才被接收端正确接收,那么序列号4-6的数据包 将先于序列号1-3的数据包被传送到ROHC解压器,这种数据包到达的乱序,如果超出了解 压窗口的大小,就可能造成数据包解压的出错。在这种情况下,HARQ发送端接收到头压缩后的ROHC数据包后,并需要对ROHC数 据包承载在不同的HARQ进程上发送时,则在每个自动重传进程上的首个数据包为包含头 压缩上下文信息的初始头压缩数据包。HARQ发送端尽量根据IR或IR-DYN包的位置进行 HARQ进程划分,将IR或IR-DYN包或者特定地生成IR或IR-DYN包,放在每个HARQ进程上 的HARQ包的首位置,这样,即使一个HARQ进程上的HARQ包发生了丢失,不会影响到其他 HARQ进程上的HARQ包的解压缩。在该情况下,HARQ接收端也要向HARQ发送端反馈上述ACK和NACK信息,HARQ发送 端根据接收到的ACK/NACK,判断并维护接收端接收的数据包的SDU(SerVice Data Unit,业 务数据单元)状态和顺序,将该数据包的SDU接收状态和顺序发送到ROHC头压缩端。ROHC 头压缩端根据上述数据包的SDU接收状态和顺序和数据包的正常发送次序,得出数据包的 传输乱序的情况。然后,根据所述数据包的传输乱序的情况,以及保存的数据包的传输状态信息,判断解压缩端是否能够解压缩所述乱序数据包,如果不能,则ROHC头压缩端的状态 转移为IR或FO状态,发送IR或IR-Dyn数据包来更新ROHC解压缩端的头压缩信息;否 则, ROHC头压缩端不进行状态转移。比如数据包RTP SN号为1,2,3在进程一中传输,RTP SN号为4,5,6在进程二中 传输,RTP SN号为7,8,9在进程三传输。由于进程二发生重传,进程三中的7,8,9先到达 解压缩端,造成乱序。如果解压缩窗口小于3,则当前解压缩器中保持的解头压缩上下文不 能解RTP SN序列号超过3的数据包。这个时候压缩端根据重传技术中的反馈得知数据包 到达解压缩端的次序,知道解头压缩端不能正确解压序列号为7,8,9的数据包,并且错误 的数据包达到了 k of η的状态转移的要求,而其后正在传输的已经进行头压缩的数据包没 有IR/IR-Dyn数据包,则头压缩端进行状态转移,从SO状态转移到FO或IR状态。步骤33、HARQ接收端根据收到的调度指示和ACID的序列信息,对数据包进行正确 排序。在HARQ发送端进行数据包调度时,可以按照数据包的顺序将数据包顺序地置于 ACID递增的HARQ进程上传输。HARQ接收端根据调度指示和ACID的序列信息,就可以知道来自不同HARQ进程的 数据包的次序,从而对数据包进行正确排序。HARQ接收端要尽量保证属于一个头压缩Context的数据包顺序发送给ROHC解头 压缩端,减少因为乱序造成的解压缩失败。若是ROHC头压缩端根据HARQ的反馈信息判决出由于丢包,导致后续还处于缓存 尚未发送的数据包即使发送到解压缩端,解压缩端不能够对该MAC数据包进行正确解压 缩,则有两种处理方式一是通知MAC和HARQ发送端直接丢弃上述处于缓存尚未发送的数 据包,减少空口资源;二是通过层间传输的方式通知MAC子层,对于位于MAC缓存没有发送 的已经进行MAC封装的头压缩数据包,通过MAC子头的形式,在其中添加必要的可以协助解 头压缩的信息和规则,按照接收到的信息和规则对处于MAC缓存尚未发送的MAC数据包进 行处理。在采用上述实施例一提供的基于HARQ的对数据包进行ROHC压缩方法的处理流程 后,可选的可以将头压缩后的数据包中的CRC(cyClic redundancycheck code,循环冗余校 验码)省略,以减少空口资源消耗。或是将原有的CRC校验位所占的比特位改为增加一些 协助解头压缩的信息,如增加SN,IP-ID, TS等头压缩信息,有助于解头压缩的成功率。这种省略CRC校验的方式是可选实现的,若是使用这种方式进行头压缩,需要在 头压缩Context初始建立时,进行相关能力协商,确定使用省略CRC校验的方式进行数据包 的头压缩。上述实施例一提供的基于HARQ的对头压缩数据包进行传输的方法的处理流程还 可以应用于LTE系统。该传输状态信息表中保存的传输状态信息包括头压缩序列号,数据包头信息,数 据包的传输成功或失败信息和HARQ进程信息等信息中的至少一项,上述数据包头信息中 可以包括R0HC的Context信息,其中包括静态Context信息和动态的Context信息。由于LTE系统与16m系统有所不同,其传输信息也有所变化,主要不同之处有,上 述HARQ进程信息中包括有RLC(Radio Link Control,无线链路控制)序列号、逻辑进程id和HARQ进程号等。 在LTE接收端,其RLC的UM(Unacknowledged Mode,无应答模式)和 AM (Acknowledged Mode,应答模式)模式有对收到的数据包根据RLC数据包头中的序列号 对数据包排序。这种情况下,系统有自动排序的功能,不需要利用调度信息和重传信息排 序。对于RLC的TM模式,没有排序的功能,需要和IEEE 16m系统一样通过调度信息和重传 信息对数据包进行排序。在实际应用中,上述实施例一中的HARQ还可以用ARQ来代替,具体处理过程为ARQ 接收端将数据包的传输情况反馈给ROHC头压缩端。ROHC头压缩端根据存储的数据包的传 输状态信息表和数据包的传输情况,判断是否需要进行状态转移或是进行其他操作。所述 ROHC头压缩端存储的数据包传输状态信息与实施例一中的与HARQ相关的操作相同。所述 数据包的传输情况,即ARQ发送端接收到ARQ接收端发送来的数据是否正确接收的反馈信 息,其具体包含数据包正确接收的应答信息,数据包错误接收的应答信息与数据包丢失造 成的无应答信息。所述状态转移或是进行其他操作的具体判决过程与HARQ相关操作相同。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。实施例二本发明实施例还提供了一种基于重传技术的对头压缩数据包进行传输的装置,该 装置设置在发送设备的头压缩端,其具体实现结构如图5所示,具体可以包括反馈信息获取模块51,用于获取头压缩数据包在传输过程中的反馈信息;头压缩状态处理模块52,用于根据所述反馈信息确定所述头压缩端的状态,根据 所述头压缩端的状态对数据包进行头压缩并发送给接收设备的解压缩端。所述的装置还可以包括传输状态信息管理模块53,用于保存和管理数据包的传输状态信息,所述的数据 包的传输状态信息包括头压缩序列号,数据包头信息,传输成功或失败信息、封装信息和 重传进程信息中的至少一项。所述的反馈信息获取模块51包括信息接收模块511,用于接收基于重传机制的发送设备的发送端上报的所述反馈 信息,所述反馈信息为基于重传机制的接收设备的接收端根据数据包的传输情况,反馈给 所述发送设备的发送端的;信息处理模块512,用于根据所述反馈信息获取传输正确和/或失败的头压缩数 据包,并根据所述传输正确和/或失败的头压缩数据包确定解压缩端正确接收到的头压缩 数据包的次序。在实际应用中,可以根据所述反馈信息中包括的数据包的应答、接收出错应 答和无应答信息确定传输正确和/或失败的头压缩数据包和/或解压缩端正确接收到的头 压缩数据包的次序。或者,由基于重传机制的发送设备的发送端根据所述反馈信息中包括 的数据包的应答、接收出错应答和无应答信息确定传输正确和/或失败的头压缩数据包和 /或解压缩端正确接收到的头压缩数据包的次序,再上报给信息处理模块。
所述的头压缩状态处理模块52包括 第一处理模块521,用于根据所述信息处理模块获取的解压缩端正确接收到的头 压缩数据包的次序,以及头压缩端保存的头压缩数据包的传输状态信息,判断解压缩端是 否能够解压缩后续头压缩数据包,如果是,则所述头压缩端保持现有压缩状态不变或者将 压缩状态从非完全压缩状态迁移为完全压缩状态;否则,所述头压缩端将压缩状态从完全 压缩状态迁移为非完全压缩状态。在ROHC中,所述的非完全压缩状态包括初始状态或第一等级状态,所述的完全 压缩状态包括第二等级状态。比如,所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错 应答和无应答信息,确定传输失败的头压缩数据包以及解头压缩端解压缩失败的数据包的数量。当所述解头压缩端解压缩失败的数据包的数量与解头压缩端接收到的头压缩数 据包的总数量的比例达到了预先设置的阈值时,判断所述后续数据包中包含的头压缩上下 文信息是否足够,如果是,则判断解压缩端能够解压缩所述后续头压缩数据包;否则,判断 解压缩端不能解压缩所述后续头压缩数据包。再比如,所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出 错应答信息和无应答信息,确定解压缩端正确接收到的头压缩数据包的次序;当属于一个头压缩上下文连接上的多个头压缩数据包被承载在不同的重传进程 上传输时,所述头压缩端根据所述解压缩端正确接收到的头压缩数据包的次序,以及头压 缩数据包的正常发送次序,得出头压缩数据包的传输乱序的情况;所述头压缩端根据所述头压缩数据包的传输乱序的情况,以及头压缩端保存的数 据包的传输状态信息,判断解压缩端是否能够解压缩后续头压缩数据包。所述的头压缩端将压缩状态从完全压缩状态迁移为非完全压缩状态之后,所述头 压缩端还通知基于重传机制的发送设备的发送端丢弃处于重传缓存中的头压缩数据包;或 者,通知所述基于重传机制的发送设备的发送端在所述处于重传缓存中的头压缩数据包中 添加头压缩上下文信息后,再发送给基于重传机制的接收设备的接收端。第二处理模块522,用于当一个头压缩数据包被拆分成多个MAC或无线链路控制 RLC数据包,所述头压缩端不能确定头压缩的包头和负荷信息分别放在哪个MAC或RLC数据 包时,所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错应答和无 应答信息确定所述多个MAC或RLC数据包中的至少一个丢失后,则所述头压缩端通知基于 重传机制的接收设备的接收端丢弃所述多个MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头 压缩的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信 息中包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的包头所在的 MAC或RLC数据包丢失后,则所述头压缩端通知基于重传机制的接收设备的接收端丢弃所 述多个MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头 压缩的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信 息中包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的负荷所在的MAC或RLC数据包丢失后,则所述基于重传机制的接收设备的接收端继续传输头压缩的包头所在的MAC或RLC数据包给解压缩端,所述解头压缩端收到该头压缩的包头所在的MAC 或RLC数据包后,利用其中的数据包头信息进行解头压缩和更新解头压缩上下文信息,之 后丢弃该头压缩的包头所在的MAC或RLC数据包。第三处理模块523,用于在根据所述头压缩端的状态对数据包进行头压缩的过程 中,将头压缩后的数据包中的循环冗余校验码省略;或者,在头压缩后的数据包中的循环冗 余校验码所占的比特位中设置协助解头压缩的信息。综上所述,本发明实施例通过将头压缩机制和自动重传机制进行结合,使ROHC头 压缩端获取HARQ等自动重传技术的反馈信息,以及数据包在无线传输中的其他有用信息, 并利用保存的数据包的传输状态信息,正确估计ROHC解压缩端的解头压缩信息,从而适时 地改变ROHC头压缩端的状态机或者进行其他数据处理操作,从而提高数据包的传输效率, 提高系统性能。本发明实施例由于使头压缩端利用了自动重传技术的反馈信息,可以减少来自解 压缩端向头压缩端发送的头压缩反馈信息,从而节省系统资源。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
权利要求
1.一种基于重传机制的对头压缩数据包进行传输的方法,其特征在于,包括发送设备的头压缩端获取头压缩数据包在传输过程中的反馈信息;所述头压缩端根据所述反馈信息确定所述头压缩端的状态,根据所述头压缩端的状态 对数据包进行头压缩并发送给接收设备的解压缩端。
2.根据权利要求1所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,所述的发送设备的头压缩端获取头压缩数据包在重传过程中的反馈信息,包括所述头压缩端接收基于重传机制的发送设备的发送端上报的所述反馈信息,所述反馈 信息为基于重传机制的接收设备的接收端根据数据包的传输情况,反馈给所述自动重传的 发送端的。
3.根据权利要求1或2所述的基于重传机制的对头压缩数据包进行传输的方法,其特 征在于,所述头压缩端根据所述反馈信息确定所述头压缩端的状态,包括所述头压缩端根据所述反馈信息获取传输正确和/或失败的头压缩数据包,并根据所 述传输正确和/或失败的头压缩数据包确定解压缩端正确接收到的头压缩数据包的次序;所述头压缩端根据所述解压缩端正确接收到的头压缩数据包的次序,以及头压缩端保 存的头压缩数据包的传输状态信息,判断解压缩端是否能够解压缩后续头压缩数据包,如 果是,则所述头压缩端保持现有压缩状态不变或者将压缩状态从非完全压缩状态迁移为完 全压缩状态;否则,所述头压缩端将压缩状态从完全压缩状态迁移为非完全压缩状态。
4.根据权利要求3所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,在鲁棒性头标压缩ROHC中,所述的非完全压缩状态包括初始状态或第一等级状态,所 述的完全压缩状态包括第二等级状态。
5.根据权利要求3所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,所述的判断解压缩端是否能够解压缩后续头压缩数据包,包括所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错应答和无应 答信息,确定传输失败的头压缩数据包,以及解头压缩端解压缩失败的数据包的数量;当所述解头压缩端解压缩失败的数据包的数量与解头压缩端接收到的头压缩数据包 的总数量的比例达到了预先设置的阈值时,判断所述后续数据包中包含的头压缩上下文信 息是否足够,如果是,则判断解压缩端能够解压缩所述后续头压缩数据包;否则,判断解压 缩端不能解压缩所述后续头压缩数据包。
6.根据权利要求3所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,所述的判断解压缩端是否能够解压缩后续头压缩数据包,包括所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错应答信息和 无应答信息,确定解压缩端正确接收到的头压缩数据包的次序;当属于一个头压缩上下文连接上的多个头压缩数据包被承载在不同的重传进程上传 输时,所述头压缩端根据所述解压缩端正确接收到的头压缩数据包的次序,以及头压缩数 据包的正常发送次序,得出头压缩数据包的传输乱序的情况;所述头压缩端根据所述头压缩数据包的传输乱序的情况,以及头压缩端保存的数据包 的传输状态信息,判断解压缩端是否能够解压缩后续头压缩数据包。
7.根据权利要求3所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,所述的头压缩数据包的传输状态信息包括头压缩序列号,数据包头信息,传输成功或失败信息、封装信息和重传进程信息中的至少一项。
8.根据权利要求3所述的基于重传机制的对头压缩数据包进行传输的方法,其特征在 于,所述的头压缩端将压缩状态从完全压缩状态迁移为非完全压缩状态之后,还包括所述头压缩端通知基于重传机制的发送设备的发送端丢弃处于重传缓存中的头压缩 数据包;或者,通知所述基于重传机制的发送设备的发送端在所述处于重传缓存中的头压 缩数据包中添加头压缩上下文信息后,再发送给基于重传机制的接收设备的接收端。
9.根据权利要求1或2所述的基于重传机制的对头压缩数据包进行传输的方法,其特 征在于,所述的方法还包括当一个头压缩数据包被拆分成多个MAC或无线链路控制RLC数据包,所述头压缩端不 能确定头压缩的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所 述反馈信息中包括的头压缩数据包的应答、接收出错应答和无应答信息确定所述多个MAC 或RLC数据包中的至少一个丢失后,则所述头压缩端通知基于重传机制的接收设备的接收 端丢弃所述多个MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头压缩 的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信息中 包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的包头所在的MAC或 RLC数据包丢失后,则所述头压缩端通知基于重传机制的接收设备的接收端丢弃所述多个 MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头压缩 的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信息中 包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的负荷所在的MAC或 RLC数据包丢失后,则所述基于重传机制的接收设备的接收端继续传输头压缩的包头所在 的MAC或RLC数据包给解压缩端,所述解头压缩端收到该头压缩的包头所在的MAC或RLC 数据包后,利用其中的数据包头信息进行解头压缩和更新解头压缩上下文信息,之后丢弃 该头压缩的包头所在的MAC或RLC数据包。
10.根据权利要求1或2所述的基于重传机制的对头压缩数据包进行传输的方法,其特 征在于,所述的方法还包括当属于一个头压缩上下文连接上的多个头压缩数据包被承载在不同的重传进程上传 输时,如果所述多个头压缩数据包中有包含头压缩信息的初始头压缩数据包,则每个重传 进程中的首个头压缩数据包为包含头压缩信息的初始头压缩数据包。
11.根据权利要求1或2所述的基于自动重传技术的对数据包进行头压缩的方法,其特 征在于,所述的方法还包括当一个头压缩数据包需要承载在多个重传进程上传输时,基于重传机制的发送设备的 发送端将所述头压缩数据包顺序地置于标识递增的重传进程上传输;基于重传机制的接收设备的接收端根据接收到的数据包的调度信息和所述多个重传 进程的标识的序列信息,对接收到的所述多个重传进程上传输的数据包进行排序。
12.根据权利要求1或2所述的基于重传机制的对头压缩数据包进行传输的方法,其特 征在于,在根据所述头压缩端的状态对数据包进行头压缩的过程中,将头压缩后的数据包 中的循环冗余校验码省略;或者,在头压缩后的数据包中的循环冗余校验码所占的比特位中设置协助解头压缩的信息。
13.一种基于重传机制的对头压缩数据包进行传输的装置,其特征在于,包括反馈信息获取模块,用于获取头压缩数据包在传输过程中的反馈信息;头压缩状态处理模块,用于根据所述反馈信息确定所述头压缩端的状态,根据所述头 压缩端的状态对数据包进行头压缩并发送给接收设备的解压缩端。
14.根据权利要求13所述的基于重传机制的对头压缩数据包进行传输的装置,其特征 在于,所述的装置还包括传输状态信息管理模块,用于保存和管理数据包的传输状态信息,所述的数据包的传 输状态信息包括头压缩序列号,数据包头信息,传输成功或失败信息、封装信息和重传进 程信息中的至少一项。
15.根据权利要求13所述的基于重传机制的对头压缩数据包进行传输的装置,其特征 在于,所述的反馈信息获取模块包括信息接收模块,用于接收基于重传机制的发送设备的发送端上报的所述反馈信息,所 述反馈信息为基于重传机制的接收设备的接收端根据数据包的传输情况,反馈给所述发送 设备的发送端的;信息处理模块,用于根据所述反馈信息获取传输正确和/或失败的头压缩数据包,并 根据所述传输正确和/或失败的头压缩数据包确定解压缩端正确接收到的头压缩数据包 的次序。
16.根据权利要求15所述的基于重传机制的对头压缩数据包进行传输的装置,其特征 在于,所述的头压缩状态处理模块包括第一处理模块,用于根据所述信息处理模块获取的所述解压缩端正确接收到的头压缩 数据包的次序,以及头压缩端保存的头压缩数据包的传输状态信息,判断解压缩端是否能 够解压缩后续头压缩数据包,如果是,则所述头压缩端保持现有压缩状态不变或者将压缩 状态从非完全压缩状态迁移为完全压缩状态;否则,所述头压缩端将压缩状态从完全压缩 状态迁移为非完全压缩状态。
17.根据权利要求13所述的基于重传机制的对头压缩数据包进行传输的装置,其特征 在于,所述的头压缩状态处理模块包括第二处理模块,用于当一个头压缩数据包被拆分成多个MAC或无线链路控制RLC数据 包,所述头压缩端不能确定头压缩的包头和负荷信息分别放在哪个MAC或RLC数据包时,所 述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错应答和无应答信息 确定所述多个MAC或RLC数据包中的至少一个丢失后,则所述头压缩端通知基于重传机制 的接收设备的接收端丢弃所述多个MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头压缩 的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信息中 包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的包头所在的MAC或 RLC数据包丢失后,则所述头压缩端通知基于重传机制的接收设备的接收端丢弃所述多个 MAC或RLC数据包;当一个头压缩数据包被拆分成多个MAC或RLC数据包,所述头压缩端能够确定头压缩 的包头和负荷信息分别放在哪个MAC或RLC数据包时,所述头压缩端根据所述反馈信息中包括的头压缩数据包的应答、接收出错应答和无应答信息确定头压缩的负荷所在的MAC或 RLC数据包丢失后,则所述基于重传机制的接收设备的接收端继续传输头压缩的包头所在 的MAC或RLC数据包给解压缩端,所述解头压缩端收到该头压缩的包头所在的MAC或RLC 数据包后,利用其中的数据包头信息进行解头压缩和更新解头压缩上下文信息,之后丢弃 该头压缩的包头所在的MAC或RLC数据包。
18.根据权利要求13所述的基于重传机制的对头压缩数据包进行传输的装置,其特征 在于,所述的头压缩状态处理模块包括第三处理模块,用于在根据所述头压缩端的状态对数据包进行头压缩的过程中,将头 压缩后的数据包中的循环冗余校验码省略;或者,在头压缩后的数据包中的循环冗余校验 码所占的比特位中设置协助解头压缩的信息。
全文摘要
本发明提供了一种基于重传机制的对头压缩数据包进行传输的方法,该方法主要包括发送设备的头压缩端获取头压缩数据包在传输过程中的反馈信息;所述头压缩端根据所述反馈信息确定所述头压缩端的状态,根据所述头压缩端的状态对数据包进行头压缩并发送给接收设备的解压缩端。本发明通过将头压缩机制和自动重传机制进行结合,使头压缩端获取自动重传技术的反馈信息,可以使头压缩端正确估计解压缩端的解压缩信息,从而适时地改变头压缩端的状态机,提高数据包的传输效率。
文档编号H04W28/04GK102045132SQ20091023648
公开日2011年5月4日 申请日期2009年10月23日 优先权日2009年10月23日
发明者卢磊, 时代, 梁文亮, 黄罡 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1