CN1753354A - 基于arq信息的基站tcp代理确认方法及其*** - Google Patents
基于arq信息的基站tcp代理确认方法及其*** Download PDFInfo
- Publication number
- CN1753354A CN1753354A CNA200510019661XA CN200510019661A CN1753354A CN 1753354 A CN1753354 A CN 1753354A CN A200510019661X A CNA200510019661X A CN A200510019661XA CN 200510019661 A CN200510019661 A CN 200510019661A CN 1753354 A CN1753354 A CN 1753354A
- Authority
- CN
- China
- Prior art keywords
- tcp
- bag
- base station
- mobile radio
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于ARQ信息的基站TCP代理确认方法及其***。其方法包括上、下行数据接收和发送处理过程。***包括采用无线链路连接的基站和移动站,基站包括基站启动控制模块、发送分析模块、基站分割重组模块、代理确认模块和接收分析模块;移动站包括移动站启动控制模块、移动站分割重组模块和过滤模块。本发明提高了TCP发送窗口的移动速度,大大降低由于数据链路层ARQ增加传输时延造成TCP超时的概率,通过对移动站上行确认报文段的过滤可以大大降低反向无线链路上的TCP连接的ACK报文段产生的数据负载。本发明极大地提高反向无线链路的利用率,适应无线IP网络中的业务非对称特性,留出上行数据带宽以支持各种实时业务。
Description
技术领域
本发明属于无线数据通信***中TCP/IP协议的数据传输技术领域,具体涉及一种基于ARQ(自动请求重传)信息的基站TCP代理确认方法及其***。
背景技术
TCP/IP协议在Internet中广泛使用,已经成为网络互联的首先协议。但当前使用的TCP协议是为有线网络设计的,有线信道的误帧率很低并且时延很小,当TCP协议检测到发送的报文段丢失时,即认为在有线网络上发生了拥塞,TCP协议进入慢启动,拥塞窗口变成等于1个最大报文段的大小,从而降低TCP的发送速率。无线网络中无线信道的误帧率较高并且时延较大,报文段丢失大部分是由无线信道的误帧引起的,而TCP中还没有机制来区分丢包是由误码造成的还是拥塞造成的,所以TCP协议检测到发送的报文段丢失时就误以为发生了拥塞从而进入慢启动,因而降低了无线信道的利用率。由于无线信道的时延较大,TCP协议的拥塞窗口从1个最大报文段的大小恢复到最大窗口大小需很长时间。在高速的无线网络中,仿真显示TCP协议的吞吐率只有20%到30%,因此需要改善无线IP接入网络的TCP协议,提高在无线IP接入网络中TCP协议的吞吐率。
目前国外提出的解决办法主要有两段TCP技术、SNOOP技术和通过数据链路层ARQ避免数据帧的丢失等解决办法,两段TCP技术存在产生TCP语义歧义的问题且实现难度相当大,基站需同时为很多对逻辑TCP连接建立两段TCP连接,对数据进行缓存,对基站的CPU处理能力和存储要求非常的高;SNOOP技术由于要求中间节点基站对移动主机和远端有线网络上的固定主机间的分组进行检测及操作,在网络层的IP业务流较密、发送窗口较小、丢失率较高的情况下,SNOOP技术的性能会恶化;通过数据链路层ARQ技术将不可靠、存在差错的物理链路改造成可靠的数据逻辑链路,TCP连接不会因为无线链路上的丢失数据帧而进入慢启动,对TCP的性能有较大的提高,但数据链路层ARQ会增加传输时延造成TCP超时而进入慢启动。
发明内容
本发明的目的在于提供一种基于ARQ信息的基站TCP代理确认方法及其***,本发明能够改善无线接入网络中TCP协议的吞吐率低的状况,并可提高其反向无线链路的利用率。
本发明提供的一种基于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进行发送,此次上行数据处理完成。
上述步骤(A2)中,基站采用下述方法进行判断:根据该包的发送序号与包长度之和同TCP连接跟踪表项中的确认序号相比较来判断所述TCP/IP包是否已经被确认过。
上述步骤(C5)中,移动站按照下述步骤判断该TCP/IP包是否需要进行过滤:
①移动站判断是否已经过滤了n个该TCP/IP包所在的TCP连接的包,5≤n≤15,如果是,进入步骤(C7),否则进入步骤②;
②移动站判断是否对该TCP/IP包所在的TCP链路连续过滤了kms,50≤k≤300,如果是,进入步骤(C7),否则进入步骤③;
③移动站把该TCP/IP包所在的TCP连接对应的过滤跟踪表项中的过滤计数器加1,把无输入数据的时间计数器清零,并且丢弃该TCP/IP包,该数据包处理完毕。
上述基于ARQ信息的基站TCP代理确认***包括采用无线链路连接的基站和移动站,其链路层采用自动请求重传机制(ARQ);其中基站包括基站启动控制模块、发送分析模块、基站分割重组模块、代理确认模块和接收分析模块;移动站包括移动站启动控制模块、移动站分割重组模块和过滤模块;
基站启动控制模块用于完成用户级的初始化与重置,并启动选定的TCP连接的代理确认过程;
发送分析模块用于对下行数据帧进行分析,如果该帧中封装的是TCP/IP包,则进行分析过滤,否则给该数据帧赋予一个0值作为帧编号直接交给分割重组模块发送;
基站分割重组模块根据PDU最大发送长度将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与移动站分割重组模块采用自动请求重传(ARQ)机制配合处理数据链路层的数据收发;
基站代理确认模块在TCP连接跟踪表项为运行状态的时候,根据基站分割重组模块发送的可确认代理指示生成TCP连接的ACK帧并发送给上层;基站代理确认模块检测到封装RST或FIN报文段的数据帧发送到移动站,表明该TCP连接已经重置或者断开,基站代理确认模块清空连接跟踪表中对应该连接的表项,结束对该TCP连接的代理确认;
基站接收分析模块用于分析通过基站的上行数据帧,负责对基站代理确认模块所管理的TCP连接跟踪表项进行修改,或者将上行数据帧直接交给上层;
移动站启动控制模块负责控制移动站过滤模块的开启或者关闭;
移动站分割重组模块将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与基站分割重组模块之间采用自动请求重传机制配合处理数据链路层的数据收发;移动站分割重组模块将移动站过滤模块给自己的数据按照PDU最大长度进行分割,然后编号按照ARQ协议进行发送,同时也对基站分割重组模块发送的链路层ACK进行分析进行ARQ协议操作;
移动站过滤模块用于对从IP层来的所有封装TCP/IP报文段的TCP/IP包进行分析,对建立了过滤跟踪表项并且状态为运行的TCP链接的TCP/IP包进行过滤。
本发明克服了现有技术中存在的无线链路高误码引起的TCP协议的吞吐率降低的问题,具体而言,本发明具有以下技术效果:
(1)本发明由基站基于ARQ信息来代理移动站发送TCP确认报文段,省去了确认应答在无线链路上发送的时间,能够大大降低有线上的网络服务器发送TCP数据报文段到接收到确认报文段的往返时延RTT。本发明一方面可以大大提高TCP发送窗口的移动速度,另一方面由于数据链路层ARQ增加传输时延造成TCP超时的概率大大降低,从而进入慢启动的次数大大下降,此外当TCP进入慢启动,TCP协议的拥塞窗口从1个最大报文段的大小恢复到最大窗口大小需要的时间大大降低。
(2)基站对下行数据帧不是全部缓存,而是将源IP地址、目的IP地址、发送序号、确认序号、源端口号、目的端口号、TCP标志信息和该数据帧的编号等信息存入到一个帧记录节点中缓存,通过数据帧的编号在帧记录节点和数据帧之间建立一一对应的关系,改善了SNOOP、两段TCP技术对基站的CPU处理能力和存储要求非常的高的问题。
(3)基站基于ARQ信息,仅在下行数据帧确实到达移动站后才会代理移动站发送TCP确认报文段,避免了两段TCP技术容易产生TCP语义歧义的问题。通过对移动站上行确认报文段的过滤可以大大降低反向无线链路上的TCP连接的ACK报文段产生的数据负载。目前的数据业务绝大部分为TCP业务,而移动站的TCP报文段绝大部分又为TCP确认报文段,通过对移动站确认报文段过滤可以将移动站发送数据帧的数目减小到20%到40%,从而极大地提高反向无线链路的利用率,适应无线IP网络中的业务非对称特性,留出上行数据带宽以支持各种实时业务。
附图说明
图1、2为下行数据处理流程示意图,其中图1为基站数据发送流程,图2为移动站数据接收流程;
图3、4为上行数据处理流程示意图,其中图3为移动站数据发送流程示意图,图4为基站数据接收流程示意图;
图5为基于ARQ信息的基站TCP代理确认方法的逻辑结构图;
图6为基站的代理状态转换图;
图7为移动站的代理状态转换图。
具体实施方式
下面结合附图和实例对本发明作进一步详细的说明。
基站分析TCP/IP包,得到充分的信息后判断可以启动代理确认,即将包括发送序号,确认序号,源IP地址,目的IP地址,源端口,目的端口等当前TCP连接的信息记录在TCP连接跟踪表中,每个连接对应一个表项。并给移动站发送连接允许启动指示信息,之后执行代理确认,而移动站在收到指示信息后开始过滤工作。
本发明由基站主控,移动站总是在基站执行代理确认后开始过滤工作,容易实现同步,而且由于不需要跟踪TCP的连接建立过程,因而可以方便的随时启动。
本发明包括上行数据和下行数据处理二部分,下面分别对各部分作进一步详细的说明。
一、下行数据处理包括下行数据的发送和接收,其处理过程为:
(A)下行数据的发送,如图1所示,其过程为:
(A1)基站判断上层数据包是否为TCP/IP包,如果是,进入步骤(A2),否则进入步骤(A5);
(A2)基站判断所述TCP/IP包是否已经被确认过,如果是,进入步骤(A3),否则进入步骤(A4);
基站可以采用多种方式进行判断,其中比较简单的方式是:根据该包的发送序号与包长度之和同TCP链接跟踪表项中的确认序号相比较来判断所述TCP/IP包是否已经被确认过。
(A3)基站丢弃该TCP/IP包,该数据包处理完成;
(A4)基站给该TCP/IP包编号,提取源IP地址、目的IP地址、发送序号、确认序号、源端口号和目的端口号,并将这些信息存入到一个帧记录节点中,然后按序***到帧记录节点链表中。
(A5)基站判断该TCP/IP包是否需要分割或合并(如根据PDU最大长度),如果需要,则进行分割或者合并,然后对数据进行封装和发送,否则基站直接对数据进行封装和发送。
(B)下行数据的接收,如图2所示,其过程为:
(B1)移动站接收基站发送来的数据,判断此数据是TCP数据还是链路层ACK信息,如果是链路层ACK信息则进入步骤(B2),否则进入步骤(B3);
(B2)移动站根据链路层ACK信息移动发送窗口;
(B3)移动站将接收的PDU放入接收窗口并对接收窗口的PDU进行重组或解合并;
(B4)移动站将重组后完整的数据提交给上层;
二、上行数据处理包括上行数据的发送和接收,其处理过程为:
(C)上行数据的发送,如图3所示,其过程为:
(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)。
移动站可以采用多种方式判断该TCP/IP包是否需要进行过滤,如根据已过滤个数进行判断,或根据已过滤时间进行判断,或采用过滤个数和时间相结合的方法进行判断。下面具体说明第三种方法:
①移动站判断是否已经过滤了n(n的取值范围应该在5到15之间,其中8到12比较理想,这里取10)个该TCP/IP包所在的TCP连接的包,如果是,进入步骤(C7),否则进入步骤②;
②移动站判断是否对该TCP/IP包所在的TCP链路连续过滤了k(k的取值范围应该在50到300之间,其中80到120比较理想,这里取100)ms,如果是,进入步骤(C7),否则进入步骤③;
③移动站把该TCP/IP包所在的TCP连接对应的过滤跟踪表项中的过滤计数器(Filter_counter)加1,把无输入数据的时间计数器(time_without_input)清零,并且丢弃该TCP/IP包,该数据包处理完毕;
(C6)移动站为该TCP/IP包建立相应的TCP过滤跟踪表,进入步骤(C8);
(C7)移动站将该TCP/IP包所在的TCP链路对应的过滤跟踪表项中的过滤计数器和时间计数器清零;
(C8)移动站判断该TCP/IP包是否需要分割或合并,如果需要,则进行分割或合并,再进入步骤(C9),否则直接进入步骤(C9);
(C9)移动站对数据进行封装和发送,该数据包处理完毕;
上述上行数据的发送步骤中,移动站也可以先判断该TCP/IP包是否需要分割或合并再判断该TCP/IP包是否需要过滤。
(D)上行数据的接收,如图4所示,其过程为:
(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);
如果基站发现该TCP/IP包的确认序号小于对应的该TCP对应的连接跟踪表项中的确认序号,并且它们之间的差值大于某个值A时,对该TCP进行复位(A一般达到256就应该复位,我们***使用的是2048),否则把此TCP/IP包交给上层,对该上行数据处理完成。
(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进行发送,此次上行数据处理完成。
在移动站切换,侦测到RST或者FIN不为零的TCP/IP包,长时间没有上下行数据这三种情况下停止TCP代理确认。
基于ARQ信息的基站TCP代理确认***的逻辑结构图如图5所示,***包括基站和移动站两个部分,基站和移动站之间是无线链路,其链路层采用可靠的自动请求重传机制(ARQ)。基站利用ARQ提供的确认信息,对数据链路层的帧中封装TCP报文段进行分析处理来代理移动站发送TCP确认报文段,过滤已经被确认过的下行数据包,而移动站负责过滤这些TCP确认报文段。基站包括基站启动控制模块1、发送分析模块2、基站分割重组模块3、代理确认模块4和接收分析模块5。移动站包括移动站启动控制模块6、移动站分割重组模块7和移动站过滤模块8。
下面对各模块的功能作进一步详细的说明。
基站启动控制模块1用于完成用户级的初始化与重置,并启动选定的TCP连接的代理确认过程。
当移动站接入基站且移动站发送代理确认允许信息时,基站初始化对应于该移动站的连接跟踪表,设置允许使用TCP代理,并根据接收到的上行TCP/IP包建立相应的TCP连接跟踪表项。每一个连接对应连接跟踪表中的一个表项,记录了连接的代理状态、源IP地址、目的IP地址、源端口号、目的端口号、发送序号、确认序号等信息。
当移动站PPP连接断掉时,基站重置对应该移动站的连接跟踪表,释放掉对应于该移动站所有连接代理占用的资源,并禁止代理工作。
基站定时检查移动站的归属情况,如果移动站切换到另一个基站,则原有基站将该移动站的代理确认暂停,如果移动站已经更新归属于其它基站,则原有基站结束对该移动站的所有TCP代理确认。
移动站在切换前停止过滤上行确认,切换到拜访基站后再按代理确认的启动过程响应新基站的TCP代理确认。
图6是基站对应于某一个TCP连接的的代理状态转换图,每一个TCP连接对应的代理在基站代理确认模块4内都有三个状态,空闲,暂停,运行。
初始状态是空闲,当收到一个指示接收窗口不为0且RST、FIN为0的上行TCP/IP包后,转为暂停状态,根据对该TCP/IP包的分析初始化跟踪表中的该连接表项,并给此移动站发送一个启动此连接TCP代理的指示。具体实施中启动代理指示的结构如表1。
数据项 | 长度(bytes) | 说明 |
MnId | 2 | 用户唯一标识 |
msg_type | 2 | 信令类型 |
local_ip_addr | 4 | TCP/IP包本地的源地址 |
rem_ip_addr | 4 | TCP/IP包的远端地址 |
local_port | 2 | TCP/IP包的本地端口 |
rem_port | 2 | TCP/IP包的远程端口 |
表1基站启动代理指示的结构
在暂停状态内,T_BS_PAUSE时间内还未收到一个指示接收窗口不为0的上行TCP/IP包,转移到空闲状态。如果收到,转移到运行状态。基站的代理确认模块4只会在TCP连接跟踪表项为运行状态的时候工作。
在运行状态内,如果持续T_BS_NO_DATA_TIMEOUT时间内未收到任何上下行数据,转移到空闲。如果收到指示接收窗口为0的上行TCP/IP包,转移到暂停状态。收到其他上行TCP/IP包,按照基站接收分析模块5中生成TCP应答策略来生成上行的TCP应答。
如果在T_MIN_PURE_ACK时间内连续收到对应于某个TCP连接的指示接收窗口不为0且RST、FIN为0的TCP应答报文段大于30个,则表明移动站没有响应基站的代理确认对该TCP连接启动过滤策略,需要再次给移动站发送一个启动此连接TCP的代理确认的命令。
基站发送分析模块2用于对下行数据帧进行分析,如果该帧中封装的是TCP/IP包,则进行分析过滤,否则给该数据帧赋予一个0值作为帧编号直接交给分割重组模块3发送。
如果该帧中封装TCP/IP包已经被基站代理确认,则该帧中封装的是属于不必要的重传TCP数据报文段,可以进行过滤不用发送。具体实施中,读取该帧中封装TCP报文段的发送序号和TCP报文段数据长度,如果发送序号和数据长度的和小于和等于连接跟踪表中该连接表项的确认序号,则过滤该下行数据帧不提交给分割重组模块发送。
如果该帧中封装不是重传的TCP数据报文段,则给该数据帧赋予一个递加的值作为帧编号,帧编号的范围为1到65535,循环使用,相邻两个封装TCP/IP包的数据帧的编号连续,发送给每个移动站的数据帧分别赋予帧编号。将分析得到的源IP地址、目的IP地址、发送序号、确认序号、源端口号、目的端口号、TCP标志信息和该数据包的帧编号等信息存入到一个帧记录节点中,按序***到记录节点链表中。最后将该数据帧和赋予的帧编号一起提交给分割重组模块发送。
基站分割重组模块3用于根据PDU最大发送长度将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与移动站分割重组模块8采用自动请求重传机制(ARQ)配合处理数据链路层的数据收发。
具体实施中采用将帧编号记录于尾PDU中,当基站收到移动站数据链路层发送的数据链路层确认,判断是否可以移动数据链路层发送窗口。如果可以移动发送窗口,则判断是否移动了尾PDU,如果移动了且尾PDU中的帧编号非0则可断定移动站已经正确接收一个封装TCP报文段的数据帧,基站分割重组模块记录各个移动站当前已正确接收的帧编号。基站分割重组模块定时检查记录的帧编号,如果帧编号有变化,则给基站代理确认模块发送可确认代理指示消息。
数据项 | 长度bytes | 说明 |
PktLen | 4 | 实际数据包的长度 |
MnId | 4 | 移动站1唯一标识, |
frame_id | 2 | 移动站1记录的数据帧数据包编号 |
RESERVED | 2 | 预留 |
MnId | 4 | 移动站2唯一标识, |
frame_id | 2 | 移动站2记录的数据帧数据包编号 |
RESERVED | 2 | 预留 |
……….. |
表2可确认代理指示
基站代理确认模块4在TCP连接跟踪表项为运行状态的时候,根据基站分割重组模块3发送的可确认代理指示生成TCP连接的ACK帧并发送。基站代理确认模块4根据该可确认代理指示可以知道已经到达该移动站数据链路层的包含TCP确认报文段的数据帧的最大编号,表明帧记录链表中小于等于该最大编号的帧记录节点对应的数据帧都已经正确发送给移动站。将这些数据帧记录节点依次从记录链表中移出,并查找该数据帧中封装TCP/IP包对应的连接跟踪表中连接表项记录,判断该数据帧中封装TCP/IP包是否顺序包。如果TCP/IP包的发送序号小于等于连接跟踪表中记录的确认序号,则该TCP/IP包是顺序包,否则是乱序包。
如果该TCP/IP包是顺序包,可以根据已发送的顺序TCP/IP包的帧记录节点的记录修正连接跟踪表中该连接的记录。如果该TCP/IP包的发送序号和TCP报文段长度的和值大于连接跟踪表中记录的确认序号,修正连接跟踪表中记录的确认序号为该和值,如果该TCP/IP包的确认序号大于连接跟踪表中记录的发送序号,修正连接跟踪表中记录的发送序号为该TCP/IP包的确认序号。
如果是顺序包,在修正连接跟踪表中该连接的记录后可以发送代理确认。封装TCP的ACK报文段的TCP/IP包的源IP地址为移动站IP地址,目的地址为该连接的网络应用服务器的IP地址,TCP源端口号为该TCP连接的移动站端口,TCP目的端口号为该TCP连接的网络应用服务器端口,通告窗口大小等于移动站接收缓冲区的大小,发送序号等于被确认TCP/IP包的确认序号,确认序号等于被确认TCP/IP包的发送序号和发送数据大小值的和。
处理完上述顺序包后,检查连接表项中的乱序队列,看目前是否有包成为顺序包,如果有,则将该包从乱序队列中删除,并对其进行TCP代理确认。
如果帧中封装TCP/IP包是乱序包,应该将该乱序包的帧记录节点***到该连接表项的乱序队列中去,同时发送对期望的顺序包的确认,以使基站快速重发丢失的位于该乱序包之前的数据包。在位于该乱序包序号前的数据包都被成功发送给移动站后,可以将该乱序包的帧记录节点从该连接表项的乱序队列中移出,按照对顺序包的处理发送代理确认。
基站代理确认模块4如果检测到封装RST报文段的数据帧发送到移动站,表明该TCP连接已经重置,基站代理确认模块清空连接跟踪表中对应该连接的表项,结束对该TCP连接的代理确认。
基站代理确认模块4如果检测到封装FIN报文段的数据帧发送到移动站,表明该TCP连接已经断开,基站代理确认模块可以代理对该FIN报文段的确认,完成FIN过程后清空连接跟踪表中对应该连接的表项,结束对该TCP连接的代理确认。
基站接收分析模块5用于分析通过基站的上行数据帧,负责对基站代理确认模块4所管理的TCP连接跟踪表项进行修改,或者将上行数据帧直接交给上层。
如果该上行数据帧不封装TCP报文段则直接将该数据帧提交给上层,否则对该包含TCP报文段的数据帧分析处理,可以修改代理生成的TCP确认报文段的序号字段,或者发现极端情况下的错误并进行恢复。
如果该封装的TCP报文段的确认序号字段大于对应的连接跟踪表中该连接表项的确认序号字段,则将该TCP连接在TCP连接跟踪表的表项的确认序号修改为该TCP数据报文段的确认序号字段的值。如果该TCP数据报文段的发送序号字段大于该TCP连接在TCP连接跟踪表的表项的发送序号字段,则将该TCP连接在TCP连接跟踪表的表项的发送序号修改为该TCP数据报文段的发送序号字段的值。该TCP连接跟踪表的表项的发送序号和确认序号将是下一次基站代理确认的发送序号和确认序号。
如果该封装的TCP报文段的确认序号字段小于对应的连接跟踪表中该连接表项的确认序号字段,并且差值大于一定的数值,则可能有下行数据帧在分割重组模块上丢失,应该允许TCP协议使用原有恢复功能进行恢复。当出现数据包丢失时,TCP协议重发功能可以进行恢复。但是当丢包发生在分割重组模块时,基站发送分析模块认为数据帧已经正确发送出去,并且过滤下行重发包,这就造成了丢包的不可恢复。改进的方法是记录该上行TCP报文段的确认序号,并且不过滤下行重发数据报文段中发送序号等于该确认序号的数据帧,这样就允许了TCP协议对错误的恢复。
如果该封装的TCP报文段的确认序号字段小于对应的连接跟踪表中该连接表项的确认序号字段,并且差值大于一定的数值,且该情况在一段时间持续,这种极端情况下表明出现了不可恢复的错误,就只能复位TCP连接。分别生成发往TCP连接的服务方和客户方的封装RST报文段的数据帧,发送给TCP连接的服务方和客户方,复位两边的连接。
移动站启动控制模块6负责控制移动站过滤模块8的开启或者关闭。
移动站启动控制模块按照图6描述的流程对过滤进行控制,每一个TCP连接对应的代理都有四个状态:空闲,准备,暂停,运行。
过滤连接跟踪表项在收到第一个上行TCP/IP包之后被创建并且初始状态为空闲,当收到一个指示接收窗口不为0的上行TCP/IP包后,状态转为准备。
在准备状态,移动站等待基站的启动指示,如果过了T_LOCAL_PREPARE时间终端还没有收到基站启动代理的指示,转到空闲状态。收到基站代理确认指示后,转到暂停状态。
在暂停状态内,如果在T_LOCAL_PAUSE时间内未收到指示接收窗口不为0的上行TCP/IP包,转到空闲状态,否则转移到运行状态。
在运行状态内,如果持续T_LOCAL_NO_DATA_TIMEOUT时间内未收到任何上下行的TCP数据包,转移到空闲状态。如果收到指示接收窗口为0的上行TCP/IP包,转移到暂停状态。收到纯粹的上行TCP应答包,移动站过滤模块8按照过滤算法决定是否过滤。
移动站分割重组模块7将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与基站分割重组模块3之间采用自动请求重传(ARQ)机制配合处理数据链路层的数据收发。
移动站分割重组模块7将移动站过滤模块8给自己的数据按照PDU最大长度进行分割,然后编号按照ARQ协议进行发送。同时也对基站分割重组模块3发送的链路层ACK进行分析进行ARQ协议操作。
移动站过滤模块8用于对从IP层来的所有封装TCP/IP报文段的TCP/IP包进行分析,对建立了过滤跟踪表项并且状态为运行的TCP链接的TCP/IP包按照下述规则进行过滤。
移动站过滤模块8对于那些没有连接记录或数据长度不为0的包不进行过滤,直接通过;对于数据长度为0的包,通过过滤算法判断是否可以过滤该TCP/IP包,如果封装TCP报文段是确认报文段,并且RST、SYN、FIN标志为0,则按照时间和个数共同确定的策略过滤该TCP/IP包,并由基站的代理确认模块代理发送TCP的ACK报文段,对于其余的TCP/IP包则不过滤,提交给移动站分割重组模块7发送。上述过滤算法具体说明如下:
filter_count字段记录某个TCP连接连续过滤的数据帧个数,采用time_without_pass字段用于记录某个TCP连接连续过滤包含TCP确认信息的TCP/IP包的时间。time_without_input表示连续无TCP/IP包进入时间,用于记录连续没有TCP/IP包进入移动站过滤模块8进行分析的时间。只要有包含TCP确认信息的TCP/IP包提交给移动站分割重组模块7发送,就将filter_count字段和time_without_pass字段清0。只要有TCP/IP包进入移动站过滤模块8,就将time_without_input字段清0。
如果TCP报文段首部的标志字段的ACK位不为1,表示连接还未建立,过滤跟踪表中不会有该连接的表项,不对该TCP/IP包进行过滤分析,直接通过移动站分割重组模块7发送。
如果TCP报文段首部的标志字段的ACK位为1,表示连接已经建立,则在过滤跟踪表中查找是否有该连接的记录,如果没有连接表项,则建立新的连接表项。如果过滤跟踪表中有此表项存在,且TCP报文段数据部分的长度不为0,则不过滤该TCP/IP包,仅根据通告窗口的大小修改连接的状态:如果此TCP/IP包封装的TCP报文段的通告窗口为0,并且该TCP报文段在过滤跟踪表中对应表项的状态为运行,则将状态修改为暂停;如果收到TCP/IP包封装的TCP报文段的通告窗口不为0,并且该TCP报文段在过滤跟踪表中对应表项的状态为暂停,则将状态改为运行。
如果过滤跟踪表中有此表项存在,且TCP报文段数据部分的长度为0,过滤算法首先需要考虑通告窗口变化的TCP报文段的处理。对通告窗口由非0变为0的TCP报文段和通告窗口由0变为非0的TCP报文段都不应该过滤。其次考虑那些不会改变连接状态的TCP报文段,进行如下操作:
如果RST、SYN、FIN标志不全为0,则该TCP/IP包不过滤,提交给移动站分割重组模块7发送;
如果ACK为1,RST、SYN、FIN标志全为0,除开不过滤处于连接建立过程和连接结束过程中的包,其他的TCP/IP包按照时间和个数共同确定的策略进行过滤,即:
(1)如果该表项的filter_count字段的值大于等于10,则:
(1.1)将该TCP/IP包提交给移动站分割重组模块8发送;
(1.2)将filter_count、time_without_pass、time_without_input字段清0。
(2)如果该表项的filter_count字段的值小于10,则:
(2.1)查询time_without_pass字段的值,如果该字段大于等于100ms,则将该TCP/IP包提交给移动站分割重组模块8发送;且将filter_count、time_without_pass、time_without_input字段清0;
(2.2)如果该字段小于100ms,则对time_without_input字段清0,filter_count字段增加1个单位,并对该TCP/IP包进行过滤。
(3)定时查询time_without_input字段的值,如果该字段大于500ms,则释放出代理连接占用的资源。
Claims (4)
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进行发送,此次上行数据处理完成。
2、根据权利要求1所述的方法,其特征在于:步骤(A2)中,基站采用下述方法进行判断:根据该包的发送序号与包长度之和同TCP链接跟踪表项中的确认序号相比较来判断所述TCP/IP包是否已经被确认过。
3、根据权利要求1或2所述的方法,其特征在于:步骤(C5)中,移动站按照下述步骤判断该TCP/IP包是否需要进行过滤:
①移动站判断是否已经过滤了n个该TCP/IP包所在的TCP连接的包,5≤n≤15,如果是,进入步骤(C7),否则进入步骤②;
②移动站判断是否对该TCP/IP包所在的TCP链路连续过滤了kms,50≤k≤300,如果是,进入步骤(C7),否则进入步骤③;
③移动站把该TCP/IP包所在的TCP连接对应的过滤跟踪表项中的过滤计数器加1,把无输入数据的时间计数器清零,并且丢弃该TCP/IP包,该数据包处理完毕。
4、一种实现权利要求1所述方法的***,其特征在于:***包括采用无线链路连接的基站和移动站,其链路层采用自动请求重传机制;其中基站包括基站启动控制模块(1)、发送分析模块(2)、基站分割重组模块(3)、代理确认模块(4)和接收分析模块(5);移动站包括移动站启动控制模块(6)、移动站分割重组模块(7)和过滤模块(8);
基站启动控制模块(1)用于完成用户级的初始化与重置,并启动选定的TCP连接的代理确认过程;
发送分析模块(2)用于对下行数据帧进行分析,如果该帧中封装的是TCP/IP包,则进行分析过滤,否则给该数据帧赋予一个0值作为帧编号直接交给分割重组模块(3)发送;
基站分割重组模块(3)根据PDU最大发送长度将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与移动站分割重组模块(8)采用自动请求重传机制(ARQ)配合处理数据链路层的数据收发;
基站代理确认模块(4)在TCP连接跟踪表项为运行状态的时候,根据基站分割重组模块(3)发送的可确认代理指示生成TCP连接的ACK帧并发送;基站代理确认模块(4)检测到封装RST或FIN报文段的数据帧发送到移动站,表明该TCP连接已经重置或者断开,基站代理确认模块(4)清空连接跟踪表中对应该连接的表项,结束对该TCP连接的代理确认;
基站接收分析模块(5)用于分析通过基站的上行数据帧,负责对基站代理确认模块(4)所管理的TCP连接跟踪表项进行修改,或者将上行数据帧直接交给上层;
移动站启动控制模块(6)负责控制移动站过滤模块(8)的开启或者关闭;
移动站分割重组模块(7)将下行的数据帧分割为多个PDU缓存于数据链路层发送窗口发送,它与基站分割重组模块(3)之间采用自动请求重传机制(ARQ)配合处理数据链路层的数据收发;移动站分割重组模块(7)将移动站过滤模块(8)给自己的数据按照PDU最大长度进行分割,然后编号按照ARQ协议进行发送,同时也对基站分割重组模块(3)发送的链路层ACK进行分析进行ARQ协议操作;
移动站过滤模块(8)用于对从IP层来的所有封装TCP/IP报文段的TCP/IP包进行分析,对建立了过滤跟踪表项并且状态为运行的TCP链接的TCP/IP包进行过滤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510019661XA CN100394717C (zh) | 2005-10-25 | 2005-10-25 | 基于arq信息的基站tcp代理确认方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510019661XA CN100394717C (zh) | 2005-10-25 | 2005-10-25 | 基于arq信息的基站tcp代理确认方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1753354A true CN1753354A (zh) | 2006-03-29 |
CN100394717C CN100394717C (zh) | 2008-06-11 |
Family
ID=36680050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510019661XA Expired - Fee Related CN100394717C (zh) | 2005-10-25 | 2005-10-25 | 基于arq信息的基站tcp代理确认方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100394717C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464536C (zh) * | 2006-09-18 | 2009-02-25 | 华为技术有限公司 | 重组分片数据的方法与装置 |
WO2009059545A1 (fr) * | 2007-10-30 | 2009-05-14 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système de transmission de données |
CN101841545A (zh) * | 2010-05-14 | 2010-09-22 | 中国科学院计算技术研究所 | 一种tcp流重组拼包方法和装置 |
CN102130910A (zh) * | 2011-02-28 | 2011-07-20 | 华为技术有限公司 | Tcp代理***和卸载方法及业务网关设备 |
CN102263625A (zh) * | 2006-12-25 | 2011-11-30 | 华为技术有限公司 | 通信***中传输确认/非确认信息的方法 |
WO2012006872A1 (zh) * | 2010-07-15 | 2012-01-19 | 中兴通讯股份有限公司 | 一种通过基站提高终端处理性能的方法及基站 |
CN102368700A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种分布式***中消息的传递方法 |
CN110213167A (zh) * | 2018-02-28 | 2019-09-06 | 吴瑞 | 一种传输控制协议在网络拥塞时的处理方法和装置 |
CN111130712A (zh) * | 2019-12-30 | 2020-05-08 | 华中科技大学 | 一种自适应跨载波混合自动重传请求处理方法及应用 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1148689B1 (en) * | 2000-04-18 | 2006-06-14 | Motorola, Inc. | Downloading web pages |
US20030031203A1 (en) * | 2001-01-05 | 2003-02-13 | Akito Fukui | Mobile communication system and radio communication method |
US20020099584A1 (en) * | 2001-01-24 | 2002-07-25 | United States Air Force | System management tool and method |
US7391775B2 (en) * | 2004-04-05 | 2008-06-24 | Nokia Corporation | Method and apparatus to provide network data recovery optimization with header compression enabled in unreliable environment |
-
2005
- 2005-10-25 CN CNB200510019661XA patent/CN100394717C/zh not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464536C (zh) * | 2006-09-18 | 2009-02-25 | 华为技术有限公司 | 重组分片数据的方法与装置 |
CN102263625A (zh) * | 2006-12-25 | 2011-11-30 | 华为技术有限公司 | 通信***中传输确认/非确认信息的方法 |
CN102263625B (zh) * | 2006-12-25 | 2013-11-06 | 华为技术有限公司 | 通信***中传输确认/非确认信息的方法 |
WO2009059545A1 (fr) * | 2007-10-30 | 2009-05-14 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système de transmission de données |
CN101841545B (zh) * | 2010-05-14 | 2012-08-01 | 中国科学院计算技术研究所 | 一种tcp流重组拼包方法和装置 |
CN101841545A (zh) * | 2010-05-14 | 2010-09-22 | 中国科学院计算技术研究所 | 一种tcp流重组拼包方法和装置 |
WO2012006872A1 (zh) * | 2010-07-15 | 2012-01-19 | 中兴通讯股份有限公司 | 一种通过基站提高终端处理性能的方法及基站 |
CN102340828A (zh) * | 2010-07-15 | 2012-02-01 | 中兴通讯股份有限公司 | 一种通过基站提高终端处理性能的方法及基站 |
CN102130910A (zh) * | 2011-02-28 | 2011-07-20 | 华为技术有限公司 | Tcp代理***和卸载方法及业务网关设备 |
WO2012116541A1 (zh) * | 2011-02-28 | 2012-09-07 | 华为技术有限公司 | Tcp代理***和卸载方法及业务网关设备 |
US8446840B2 (en) | 2011-02-28 | 2013-05-21 | Hauwei Technologies Co., Ltd. | TCP proxy insertion and uninstall method, and service gateway device |
CN102130910B (zh) * | 2011-02-28 | 2015-04-29 | 华为技术有限公司 | Tcp代理***和卸载方法及业务网关设备 |
CN102368700A (zh) * | 2011-10-25 | 2012-03-07 | 曙光信息产业(北京)有限公司 | 一种分布式***中消息的传递方法 |
CN102368700B (zh) * | 2011-10-25 | 2014-10-22 | 曙光信息产业(北京)有限公司 | 一种分布式***中消息的传递方法 |
CN110213167A (zh) * | 2018-02-28 | 2019-09-06 | 吴瑞 | 一种传输控制协议在网络拥塞时的处理方法和装置 |
CN111130712A (zh) * | 2019-12-30 | 2020-05-08 | 华中科技大学 | 一种自适应跨载波混合自动重传请求处理方法及应用 |
CN111130712B (zh) * | 2019-12-30 | 2020-11-24 | 华中科技大学 | 一种自适应跨载波混合自动重传请求处理方法及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN100394717C (zh) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1753354A (zh) | 基于arq信息的基站tcp代理确认方法及其*** | |
CN1210971C (zh) | 无线通信***中的分组数据业务 | |
CN1533083A (zh) | 通信设备,传输控制方法,和程序产品 | |
CN100345396C (zh) | 用于在移动通信***中执行越区切换的方法 | |
CN1227854C (zh) | 用于蜂窝电信的链路层确认和重发 | |
CN1165122C (zh) | 移动通信***中依据无线链接协议重发数据的设备和方法 | |
CN1692568A (zh) | 在无线接入网络中移动接收窗口的方法 | |
CN1112016C (zh) | 通信方法和*** | |
CN101047714A (zh) | 一种处理网络数据的方法及*** | |
CN1266847C (zh) | 一种分布式的卫星网络tcp性能加速协议格式和方法 | |
CN1695354A (zh) | 移动通信方法及*** | |
CN1839594A (zh) | 准确控制特设网络中的传输信息 | |
CN1328734A (zh) | 对于无线分组传输的有效的误码控制 | |
CN100336366C (zh) | 移动体ip数据通信*** | |
CN1682474A (zh) | 用于网络信号整合和带宽缩减的方法和装置 | |
CN1606850A (zh) | 动态分配的环路保护和恢复技术中的带宽保留再使用 | |
CN1620768A (zh) | 对高速下行链路分组接入***使用定时器避免拖延时间的***和方法 | |
CN1561615A (zh) | 采用重传定时器改善传输协议性能的方法 | |
CN101030943A (zh) | 一种发送报文的方法和路由器 | |
CN101040492A (zh) | 无线通信***中基于分组的切换***和方法 | |
CN101047633A (zh) | 一种实现多路径传输的方法、装置和*** | |
CN101047643A (zh) | 无线通信装置 | |
CN1379557A (zh) | 多拒绝自动请求重传arq机制 | |
CN1716943A (zh) | 获取隧道网关环境中路径最大传输长度的方法及*** | |
CN1921346A (zh) | 数据分割级联传送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080611 Termination date: 20141025 |
|
EXPY | Termination of patent right or utility model |