发明名称 基于ARQ信息的基站TCP代理确认方法及其系统
摘要 本发明公开了一种基于ARQ信息的基站TCP代理确认方法及其系统。其方法包括上、下行数据接收和发送处理过程。系统包括采用无线链路连接的基站和移动站,基站包括基站启动控制模块、发送分析模块、基站分割重组模块、代理确认模块和接收分析模块;移动站包括移动站启动控制模块、移动站分割重组模块和过滤模块。本发明提高了TCP发送窗口的移动速度,大大降低由于数据链路层ARQ增加传输时延造成TCP超时的概率,通过对移动站上行确认报文段的过滤可以大大降低反向无线链路上的TCP连接的ACK报文段产生的数据负载。本发明极大地提高反向无线链路的利用率,适应无线IP网络中的业务非对称特性,留出上行数据带宽以支持各种实时业务。
申请公布号 CN1753354A 申请公布日期 2006.03.29
申请号 CN200510019661.X 申请日期 2005.10.25
申请人 华中科技大学 发明人 吴伟民;朱光喜;王玲;周楠
分类号 H04L1/18(2006.01);H04L12/56(2006.01) 主分类号 H04L1/18(2006.01)
代理机构 华中科技大学专利中心 代理人 曹葆青
主权项 1、一种基于ARQ信息的基站TCP代理确认方法,包括下行数据处理和上行数据处理,其中:下行数据处理包括下行数据的发送和接收,其处理过程为:(A)下行数据发送:(A1)基站判断上层数据包是否为TCP/IP包,如果是,进入步骤(A2),否则进入步骤(A5);(A2)基站判断所述TCP/IP包是否已经被确认过,如果是,进入步骤(A3),否则进入步骤(A4);(A3)基站丢弃该TCP/IP包,该数据包处理完成;(A4)基站给该TCP/IP包编号,提取源IP地址、目的IP地址、发送序号、确认序号、源端口号和目的端口号,并将信息存入帧记录节点中,然后按序插入到帧记录节点链表中;(A5)基站判断该TCP/IP包是否需要分割或合并,如果需要,则进行分割或者合并,然后对数据进行封装和发送,否则基站直接对数据进行封装和发送;(B)下行数据的接收:(B1)移动站接收基站发送来的数据,判断此数据是TCP数据还是链路层ACK信息,如果是链路层ACK信息则进入步骤(B2),否则进入步骤(B3);(B2)移动站根据链路层ACK信息移动发送窗口;(B3)移动站将接收的PDU放入接收窗口并对接收窗口的PDU进行重组或解合并;(B4)移动站将重组后完整的数据提交给上层;上行数据处理包括上行数据的发送和接收,其处理过程为:(C)上行数据的发送:(C1)移动站从上层接收数据包,并判断该数据包是否为TCP/IP包,如果是,进入步骤(C2),否则进入步骤(C8);(C2)移动站判断该TCP/IP包的ACK标志位是否为1,如果是,进入步骤(C3),否则进入步骤(C8);(C3)移动站判断该TCP/IP包中SYN,RST和FIN字段是否全部为0,如果是,进入步骤(C4),否则进入步骤(C8);(C4)移动站搜索现有的过滤跟踪表项,判断是否已为该TCP/IP包所在的TCP链路建立过滤跟踪表项,如果是,进入步骤(C5),否则进入步骤(C6);(C5)移动站先检查该TCP/IP包数据长度是否为零,长度不为零进入步骤(C7);对于数据长度为零的包再判断是否需要进行过滤,如果需要,移动站把该TCP/IP包所在的TCP连接对应的过滤跟踪表项中的过滤计数器加1,把无输入数据的时间计数器清零,并丢弃该TCP/IP包,该数据包处理完毕;否则进入步骤(C7);(C6)移动站为该TCP/IP包建立相应的TCP过滤跟踪表,进入步骤(C8);(C7)移动站将该TCP/IP包所在的TCP链路对应的过滤跟踪表项中的过滤计数器和时间计数器清零;(C8)移动站判断该TCP/IP包是否需要分割或合并,如果需要,则进行分割或合并,再进入步骤(C9),否则直接进入步骤(C9);(C9)移动站对数据进行封装和发送,该数据包处理完毕;(D)上行数据的接收:(D1)基站接收移动站发送的数据,并判断该数据是否为链路层ACK信息,如果是,进入步骤(D7),否则进入步骤(D2);(D2)基站判断该数据包是否为TCP/IP包,如果是,进入步骤(D3),否则基站将该数据包交给上层,上行数据处理完成;(D3)基站根据TCP端口和IP地址,在TCP连接跟踪表项中进行查询,判断该TCP/IP包是否有相应的TCP连接跟踪表项,如果有,进入步骤(D4),否则,基站根据其TCP端口,IP地址等信息为这个TCP连接建立TCP连接跟踪表项,进入步骤(D6);(D4)基站判断该TCP/IP包的发送序号是否大于对应的该TCP对应的连接跟踪表项中的发送序号,如果是,基站把该TCP/IP包对应TCP连接跟踪表项的发送序号替换为此TCP/IP包的发送序号,进入步骤(D5),否则直接进入步骤(D5);(D5)基站判断该TCP/IP包的确认序号是否大于对应的该TCP对应的连接跟踪表项中的确认序号,如果是,基站把该TCP/IP包对应TCP连接跟踪表项的确认序号替换为此TCP/IP包的确认序号,进入步骤(D6);否则,基站对该TCP进行复位或直接进入步骤(D6);(D6)基站把此TCP/IP包交给上层,对上行数据处理完成;(D7)基站根据链路层ACK信息移动基站的发送窗口;(D8)基站判断移出发送窗口的数据能否重组为一个完整TCP发送包或者能否解合并为数个TCP/IP包,如果是,进入步骤(D9),否则对此次上行数据处理完成;(D9)基站根据这个重组后的完整的TCP/IP包,或者解合并后的TCP/IP包的帧序号找到帧记录节点;(D10)基站根据帧记录节点的内容判断能否找到相应的TCP连接跟踪表项,如果能,进入步骤(D11),否则,释放相应的帧记录节点;(D11)基站判断此TCP发送包是否为顺序包,如果是,基站根据此TCP/IP包的发送和确认序号更新TCP连接跟踪表,进入步骤(D12);否则,基站把该TCP/IP包的帧记录节点插入相应的TCP连接跟踪表项的乱序包记录节点链表中,直到该乱序包之前所有的包都正确接收,再从乱序包记录节点链表里面删除它,此次上行数据接收处理完毕;(D12)基站根据更新过的TCP连接跟踪表判断乱序包记录节点中是否有包可以成为顺序包,如果是,把这些包从乱序包记录节点链表中删除,更新TCP连接跟踪表项并生成相应的TCP连接的ACK并发送,此次上行数据包处理完成;否则根据(D11)中为顺序包的TCP发送包生成TCP/IP包的ACK进行发送,此次上行数据处理完成。
地址 430074湖北省武汉市洪山区珞喻路1037号