首页> 中国专利> 一种LTE-WLAN异构无线网络系统中的跨层ARQ方法

一种LTE-WLAN异构无线网络系统中的跨层ARQ方法

摘要

本发明涉及一种LTE-WLAN异构无线网络系统中的跨层ARQ方法,该方法为在LTE-WLAN异构无线网络系统的终端与网关的数据链路层和网络层之间分别添加虚拟网卡,对上为应用层虚拟一个固定IP,对下屏蔽底层不同物理链路的影响;利用闭环反馈机制,在IP层面实现ARQ协议。本发明提供的跨层ARQ协议能有效地解决终端在LTE-WLAN异构无线网络环境中切换时造成的数据包丢失或乱序到达的问题,避免TCP链接因数据包丢失或乱序而进入拥塞控制状态,执行快恢复或慢启动过程而严重影响链路传输性能。能够很好地保证异构网络系统中终端和网关之间的数据传输质量,为传输层提供可靠服务,使终端用户在异构无线网络环境中获得高速流畅的通信体验。

著录项

  • 公开/公告号CN103001751A

    专利类型发明专利

  • 公开/公告日2013-03-27

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201210551801.8

  • 申请日2012-12-18

  • 分类号H04L1/18(20060101);H04L1/16(20060101);H04W28/04(20090101);

  • 代理机构42104 武汉开元知识产权代理有限公司;

  • 代理人唐正玉

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2024-02-19 18:43:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-08

    未缴年费专利权终止 IPC(主分类):H04L1/18 授权公告日:20150107 终止日期:20151218 申请日:20121218

    专利权的终止

  • 2015-01-07

    授权

    授权

  • 2013-04-24

    实质审查的生效 IPC(主分类):H04L1/18 申请日:20121218

    实质审查的生效

  • 2013-03-27

    公开

    公开

说明书

技术领域

本发明涉及异构无线网络环境中的数据传输问题,尤其涉及3GPP长期 演进技术(LTE)和无线局域网(WLAN)互联系统架构下多模终端在两 者之间进行切换时保证数据传输质量的跨层自动重传请求 (ARQ)技术 。

背景技术

近年来,互联网、通信技术迅猛发展,人们的生活品质逐步提高,多 样化的智能终端开始普及,人们对通信网络的容量、速率、灵活性以 及质量的需求日益增长,而单一模式的通信网络已无法满足现有需求 ,许多蜂窝网络供应商开始为无线通信资源的短缺而感到十分焦虑。 另一方面,未来无线网络将是以室内通信为其主要应用场景,根据只 有空间传输损耗计算法则,传输距离缩短一半,则功耗变为原来1/4, 因此,室内覆盖通信方式符合绿色通信的主流;而对于高速移动或室 外通信,我们还必须借助宏基站的覆盖。因此,为了在较小改动和较 低花费的前提下提高无线通信网络的容量,同时实现以室内覆盖为主 的微蜂窝或皮蜂窝等高速短距覆盖与以室外覆盖为主的宏小区之间的 互联互通,异构网络融合的概念被提出,即将多种不同模式的接入技 术融合在一起形成新型的异构网络。在各种异构网络融合技术中,无 线局域网(IEEE 802.11 WLAN)和蜂窝网(GSM、GPRS、CDMA、LTE )的融合受到人们关注,相对于蜂窝网,WLAN具有更高的数据传输速 率,但其覆盖范围相对较小,且一般不支持移动性,适用于室内覆盖 通信;另一方面,和WLAN相比,蜂窝网的覆盖范围更广,支持用户具 有更灵活的移动性,但其数据传输速率相对较低,适用于高速移动或 室外通信。因此,如果我们能有效地整合WLAN和蜂窝网,用户和蜂窝 网络供应商便能充分利用这些网络的互补性。特别是,蜂窝网可以通 过和WLAN共享链路负载来容纳更多的用户,同时为用户提供更高的数 据传输速率,并且可以给用户提供灵活的接入网络选择,实现室内覆 盖通信和高速移动或室外通信的无缝结合。

在LTE-WLAN异构无线网络环境中,为了充分利用各链路资源并且为用 户提供最好的数据服务,终端会在LTE网络和WLAN网络之间切换数据传 输路径,两条路径时延特性的不同可能会造成IP数据包的乱序到达; 终端在切换路径的过程中,连续传输的数据包会被暂时打断,部分数 据包可能会因此而滞留在切换之前的原路径中,从而导致IP数据包的 丢失。而IP数 据包的乱序或丢包均会导致传输控制协议(TCP)链接进入拥塞控制状态 ,执行快恢复或慢启动过程,从而严重影响链路传输性能。

ARQ协议的确认和重传机制不仅能够在出现差错时让发送方重传出错的 数据,同时也保证了接收方数据的按序提交。为了保证无线链路的可 靠传输,LTE协议的媒体接入控制(MAC)层应用了混合自动重传请求(H ARQ)协议,无线链路控制(RLC)层则应用了ARQ协议,IEEE 802.11协 议的数据链路层同样应用了ARQ协议。但是数据链路层的ARQ协议并不 能解决终端在LTE-WLAN异构无线网络环境中切换时造成的数据包丢失 或乱序到达的问题,因此,我们需要在LTE-WLAN异构无线网络系统中 应用跨层ARQ方法。

发明内容

本发明的目的为了克服上述现有技术存在的问题,而提供一种LTE-WL AN异构无线网络系统中的跨层ARQ方法,本发明能够有效地解决多模终 端在LTE-WLAN异构无线网络系统中进行切换时造成的数据包丢失或乱 序到达的问题,从而保证数据传输质量和系统性能。

本发明在LTE-WLAN异构无线网络系统的终端以及网关的数据链路层和 网络层之间分别添加虚拟网卡,对上为应用层虚拟一个固定IP,避免 因终端在不同网络之间切换而造成IP地址发生变化,对下屏蔽底层不 同物理链路的影响;跨层ARQ模块位于终端及网关的虚拟网卡和实际物 理网卡之间,其实现包含以下步骤:

(A)发送端

发送端维护一个发送窗口,发送窗口在循环队列中移动,其长度固定 为循环队列的一定比例;发送窗口中数据包的状态分为三种:NOT_SE ND,即未发送;SEND_NOT_RESPONSE,即已发送但未收到确认;SEND_ AND_RESPONSE,即已发送且收到确认;

发送端包含三个并行的处理流程:发送数据包、接收确认字符(ACK)信 息、更新发送状态;

(1)发送数据包处理流程的具体步骤为:

(1.1)从虚拟网卡提供的缓冲区中读取一定数目的IP数据包,并写入 发送窗口所在的循环队列;

(1.2)在发送窗口中,从下边沿开始,依次读取固定数目个状态为N OT_SEND且不为空的IP数据包进行发送,同时启动发送定时器,将发送 次数加一,记录相应数据包的SN号(序号),将其状态置为SEND_NOT_R ESPONSE;

(2)接收ACK信息处理流程的具体步骤为:

(2.1)接收ACK反馈,判断ACK信息所对应的SN号是否落在发送窗口内 ,若不是,则返回;若是,则获得该ACK在发送窗口中的相对位置;

(2.2)根据ACK在发送窗口的位置,更新发送窗口中正确接收的数据 包的状态为SEND_AND_RESPONSE,未能够正确接收的数据包则设置成N OT_SEND,准备重传;

(2.3)将发送窗口下边沿移动到第一个状态不为SEND_AND_RESPONSE 的数据包上,同时更新已发送数据包的数目;

(3)更新发送状态处理流程的具体步骤为:

(3.1)检查发送窗口中状态为SEND_NOT_RESPONSE的数据包对应的发 送定时器以及发送次数,若定时器超时,则将该数据包的状态置为NO T_SEND;若发送次数超过最大重传次数,则将该数据包的状态置为SE ND_AND_RESPONSE;

(B)接收端

接收端维护一个接收窗口,接收窗口在循环队列中移动,其长度固定 为循环队列的一定比例。此外,接收端还要维护一个确认等待队列, 该队列包括若干个记录节点,队列的每个记录节点记录一个已经正确 接收或检测到丢失但是还没有来得及被确认的数据包的序号和该数据 包到达或发现丢失的时间戳。该队列是按照数据包序号正确接收或发 现丢失的时间顺序排列的,最先正确接收或检测到丢失的数据包的记 录在队列的最前面。数据接收方每次正确接收到数据包时检测是否有 丢失的数据包,如果有丢帧则将一个或者多个丢失的数据包的序号和 当前时间戳插入到确认等待队列,再将正确接收的数据包序号和当前 时间戳插入到确认等待队列;否则直接将正确接收的数据包序号和当 前时间戳插入到确认等待队列。

接收端反馈的ACK信息帧格式如表1所示:

表1 为ACK信息帧格式

位图类型 SN号 位图

ACK帧采用累积确认位图和非累积确认位图两种形式。当ACK的确认类 型是累积确认位图类型时,Bit 1表示对序号为SN+1数据包的接收情 况的确认,如果为1则表示该数据包已被接收方正确接收,即肯定确认 ;如果为0则表示没有正确接收,即否定确认。Bit 2表示对序号SN+ 2的数据包的接收情况的确认,同理Bit 3到Bit N位表示对序号从S N+3到SN+N的数据包接收情况的确认。累积确认位图类型总是对SN的数 据包否定确认,对SN之前的数据包肯定确认;当ACK的确认类型是非累 积确认位图类 型时,Bit 1表示对序号为SN数据包的接收情况的确认,如果为1则表 示该数据包已被接收方正确接收,即肯定确认;如果为0则表示没有正 确接收,即否定确认。Bit2表示对序号SN+1的数据包的接收情况的确 认,同理Bit 3到Bit N位表示序号从SN+2到SN+N-1的数据包接收情 况的确认。非累积确认位图类型对SN之前的数据包既不做肯定确认, 也不做否定确认。

接收端包含三个并行的处理流程:接收数据包、构造并发送ACK帧、维 护ACK确认等待队列。

(1)接收数据包处理流程的具体步骤为:

(1.1)判断接收数据包的SN号是否落在接收窗口的可接收范围内。若 是,则被窗口接收;若不是,则返回;

(1.2)判断接收数据包的SN号是否大于接收窗口的最后一个正确接收 的数据包的记录即receiveNumHighEdge;若是,则转入步骤(1.3); 若不是,则直接转入步骤(1.4);

(1.3)更新receiveNumHighEdge,并且将原receiveNumHighEdge和新 receiveNumHighEdge之间的接收记录加入到ACK确认等待队列中,插入 的顺序遵循SN号循环上升的过程。将这些数据包暂时视作未正确接收 的数据包,并为这些数据包添加时间戳;

(1.4)若接收数据包还未插入ACK确认等待队列,则将接收到的数据 包记录插入ACK确认等待队列中;

(1.5)更新接收窗口下边沿,即在接收数据包以后找到第一个未能够 正确接收且等待未超时的数据包的SN号,用该SN号来更新接收窗口下边 沿;

(1.6)将正确接收的数据包,即接收窗口原下边沿记录到新下边沿记 录的数据包,移除窗口,交给上层虚拟网卡处理,并且从ACK确认等待 队列中删除对应记录;

(2)构造并发送ACK帧处理流程的具体步骤为:

(2.1)判断ACK确认等待队列是否为空;若为空,则从接收窗的下边 沿取SN号;若不为空,则从ACK确认等待队列的第一个元素中取SN号;

(2.2)判断步骤(2.1)取得的SN号是否落在接收窗口内;若是,则 将该SN号作为ACK帧的SN号;若不是,则强制以窗口下边沿作为ACK帧 的SN号;

(2.3)判断步骤(2.2)得到的SN号与接收窗口下边沿的关系。若相 同,则采用累积位图确认模式;若不同,则采用非累积位图确认模式 。根 据包的错误或正确接收状态选择ACK类型;

(2.4)根据选择的ACK类型构造ACK帧;

(2.5)将确认信息中包含过的SN号从ACK确认等待队列中删除;

(2.6)发送ACK帧;

(3)维护ACK确认等待队列处理流程的具体步骤为:

(3.1)将确认等待队列前面所有等待确认时间大于放弃确认时间门限 的记录节点删除,即放弃对等待确认时间大于放弃确认时间门限的数 据包进行确认,其中放弃确认时间门限等于发送超时定时器的超时时 间减去从数据接收方开始发送ACK到数据发送方完全接收该ACK的处理 时间。

发送窗口长度、接收窗口长度分别为循环队列的1/2。

本发明的技术效果体现在:

通过反馈和重传机制,减小了因终端在LTE和WLAN链路之间进行切换而 造成数据包丢失的概率;

通过滑动窗口机制,避免了因终端在LTE和WLAN链路之间进行切换而造 成的数据包乱序到达的问题,保证了IP数据包按序提交到传输层;

在IP层面实现ARQ协议,为传输层提供可靠服务,有效降低了TCP进入 慢启动或快恢复的概率,保证了数据传输效率和网络吞吐量;

采用高效的确认模式,尽可能减小确认信息所占用的带宽资源,在不 影响网络吞吐量的前提下保证了LTE-WLAN异构无线网络系统中的数据 传输质量。

附图说明

图1为LTE-WLAN异构无线网络系统架构示意图;

图2为LTE-WLAN异构无线网络系统中各节点功能模块示意图;

图3为LTE-WLAN异构无线网络系统中跨层ARQ模块示意图;

图4为跨层ARQ模块中发送窗口示意图;

图5a为跨层ARQ模块发送端发送数据包的处理流程示意图;

图5b为跨层ARQ模块发送端接收ACK反馈信息的处理流程示意图;

图5c为跨层ARQ模块发送端更新发送状态的处理流程示意图;

图6为跨层ARQ模块中接收窗口示意图;

图7a为跨层ARQ模块接收端接收数据包的处理流程示意图;

图7b为跨层ARQ模块接收端构造并发送ACK反馈信息的处理流程示意图 ;

图7c为跨层ARQ模块接收端维护ACK确认等待队列的处理流程示意图。

具体实施方式

下面结合附图对发明进行详细说明,但以下实施例仅是说明性的,本 发明的保护范围并不受这些实施例的限制。

图1为LTE-WLAN异构无线网络系统的整体架构,系统包含两个多模终端 、一个Linux网关以及一条LTE链路和两条WLAN链路。系统中各节点所 包含的功能模块如图2所示,网关和终端均自定义实现虚拟网卡以及跨 层ARQ协议,此外,网关处还自定义实现路径选择、网络地址转换模块 ,终端处自定义实现路径选择模块。跨层ARQ协议模块在LTE-WLAN异构 无线网络系统中的位置如图3所示,在发送端,ARQ模块的输入为缓冲 区A,输出为缓冲区C,缓冲区中保存了IP数据包的指针。虚拟网卡向 缓冲区A写IP数据包,ARQ进程从缓冲区A中读取这些IP数据包,加封S N号后再写入缓冲区C,WLAN和LTE的物理网卡发送进程再从缓冲区C中读 取数据包,添加相应协议头部后完成发包;在接收端,ARQ模块的输入 为缓冲区D,输出为缓冲区B,缓冲区中保存了IP数据包的指针。ARQ进 程从缓冲区D中读取物理网卡传上来的IP数据包,经整序、反馈处理后 ,将正确接收的数据包按序写入缓冲区B,虚拟网卡接收进程从缓冲区 B中读入已经经过整序的IP数据包,交给上层协议栈进行处理。

跨层ARQ协议的实现主要分为发送端和接收端两部分:

发送端维护了一个发送窗口,如图4所示,发送窗口在循环队列中移动 ,其长度为循环队列的1/2。其中sendLowEdge指向发送窗口下边沿, 指示第一个发送且未正确接收(SEND_NOT_RESPONSE)的数据包,sen dNumHighEdge指示最后一个发送的数据包。

发送端数据包处理流程如图5a、图5b、图5c所示,主要包含三个并行 的进程:发送数据包、接收ACK反馈信息、更新发送状态。

(1)发送数据包处理流程的具体步骤为:

(1.1)从虚拟网卡提供的缓冲区(即缓冲区A)中读取一定数目的IP 数据包,并写入发送窗口所在的循环队列,直到发送端循环队列被填 满或者缓冲区A为空止;

(1.2)在发送窗口中,从下边沿开始,依次读取固定数目个状态为N OT_SEND且不为空的IP数据包进行发送,同时启动发送定时器,将发送 次数加一,记录相应数据包的SN号,将其状态置为SEND_NOT_RESPONS E;

(2)接收ACK反馈信息处理流程的具体步骤为:

(2.1)接收ACK反馈,判断ACK信息所对应的SN号是否落在发送窗口内 ,若不是,则返回;若是,则获得该ACK在发送窗口中的相对位置;

(2.2)根据ACK在发送窗口的位置,更新发送窗口中正确接收的数据 包的状态为SEND_AND_RESPONSE,未能够正确接收的数据包则设置成N OT_SEND,准备重传;

(2.3)将发送窗口下边沿(sendLowEdge)移动到第一个状态不为SE ND_AND_RESPONSE的数据包上,同时更新已发送数据包的数目,即sen dNumHighEdge – sendLowEdge的值。

(3)更新发送状态处理流程的具体步骤为:

(3.1)这一步主要的作用的是为了触发超时重传和放弃重传超过最大 重传次数的数据包。检查发送窗口中状态为SEND_NOT_RESPONSE的数据 包对应的发送定时器以及发送次数,若发送定时器超时,则将该数据 包的状态置为NOT_SEND;若发送次数超过最大重传次数,则将该数据 包的状态置为SEND_AND_RESPONSE。超时时间应该设置成略微大于最大 链路往返时延,以及发送端发送处理时间和接收端ACK构造时延之和。

接收端维护了一个接收窗口,如图6所示,接收窗口在循环队列中移动 ,其长度等于循环队列的1/2。 receiveLowEdge为接收窗口下边沿, 指示第一个未能够正确接收的数据包,receiveNumHighEdge指示最后 一个正确接收的数据包。

接收端数据包处理流程如图7a、图7b、图7c所示,主要包含三个并行 的进程:接收数据包、构造并发送ACK反馈信息、维护ACK确认等待队 列。

(1)接收数据包处理流程的具体步骤为:

(1.1)判断接收数据包的SN号是否落在接收窗口的可接收范围内。若 是,则被窗口接收;若不是,则返回;

(1.2)判断接收数据包的SN号是否大于接收窗口的最后一个正确接收 的数据包的记录(即receiveNumHighEdge)。若是,则转入步骤(1. 3);若不是,则直接转入步骤(1.4);

(1.3)更新receiveNumHighEdge,并且将原receiveNumHighEdge和新 receiveNumHighEdge之间的接收记录加入到ACK确认等待队列中,插入 的顺序遵循SN号循环上升的过程。将这些数据包暂时视作未正确接收 的数据包,并为这些数据包添加时间戳。当这些数据包在经过了超时重 传时间*超时重传次数以后,仍然没有能够正确接收,就可以根据这个 时间戳强制移动接收窗口;

(1.4)若接收数据包还未插入ACK确认等待队列,则将接收到的数据 包插入ACK确认等待队列中;

(1.5)更新接收窗口下边沿,即在接收数据包以后找到第一个未能够 正确接收且等待未超时的数据包的SN号,用该SN号来更新receiveLowE dge;

(1.6)将正确接收的数据包,即原receiveLowEdge到新receiveLowE dge-1的数据包,移除窗口,交给上层虚拟网卡处理,并且从ACK确认 等待队列中删除对应记录;

(2)构造并发送ACK帧处理流程的具体步骤为:

(2.1)判断ACK确认等待队列是否为空。若为空,则从接收窗的下边 沿取SN号;若不为空,则从ACK确认等待队列的第一个元素中取SN号;

(2.2)判断步骤(2.1)取得的SN号是否落在接收窗口内。若是,则 将该SN号作为ACK帧的SN号;若不是,则强制以窗口下边沿作为ACK帧 的SN号;

(2.3)判断步骤(2.2)得到的SN号与接收窗口下边沿的关系。若相 同,则采用累积位图确认模式;若不同,则采用非累积位图确认模式 。根据包的错误或正确接收状态选择ACK类型;

(2.4)根据选择的ACK类型构造ACK帧;

(2.5)将确认信息中包含过的SN号从ACK确认等待队列中删除;

(2.6)发送ACK帧;

(3)维护ACK确认等待队列处理流程的具体步骤为:

(3.1)计算确认等待队列的最大等待确认时间,如果最大等待确认 时间大于设定的放弃确认时间门限,则将确认等待队列前面所有等待 确认时间大于放弃确认时间门限的记录节点删除,即放弃对等待确认 时间大于放弃确认时间门限的数据包进行确认(放弃确认策略),其 中放弃确认时间门限等于发送超时定时器的超时时间减去从数据接收 方开始发送ACK到数据发送方完全接收该ACK的处理时间。

放弃确认策略的作用是对在确认等待中等待时间超过门限的数据包放 弃发送确认信息,由发送超时机制来进行超时重传,这样一小部分数 据包通过超时重传机制来处理,大部分数据包还是通过否定确认机制 来重传,确认带宽并没有浪费。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号