一种实现tcp数据报文重传的方法及设备的制造方法_3

文档序号:8459096阅读:来源:国知局
qno表示序列号,Data_Len表示数据长度。
[0095]本发明实施例基站不仅会通过空口侧接收到来自终端的TCP应答报文,还会接收到其它IP数据报文,基站根据下述方法确定接收到来自终端的TCP应答报文:
[0096]所述基站在通过空口侧接收到来自所述终端的IP数据报文后,根据所述IP数据报文的报文头中的协议字段,判断所述IP数据报文是否是TCP数据报文;
[0097]所述基站在确定所述IP数据报文是TCP数据报文后,根据所述TCP数据报文的报文头中的确认号,在确定所述TCP数据报文是TCP应答报文后,确定执行判断是否需要向所述终端重传在所述缓存区域中的可供重传的报文确认号对应的TCP数据报文的步骤。
[0098]例如:基站通过空口侧接收到来自终端的IP数据报文,根据IP数据报文的报文头中的协议字段所指示的上一层数据报文的协议,可以确定该IP数据报文是TCP数据报文,然后再根据该TCP数据报文的报文头中的ACK(Acknowledgment Number,确认号)的值,此时ACK = 1,确定该TCP数据报文是TCP应答报文,接着执行判断是否需要向终端重传在缓存区域中的TCP应答报文中的报文确认号对应的TCP数据报文的步骤。
[0099]本发明实施例基站可以采用下述方法判断是否需要向终端重传在缓存区域中的可供重传的TCP数据报文:
[0100]方式一:
[0101]若所述TCP应答报文中的报文确认号等于终端最新确认号,且所述缓存区域中存在所述TCP应答报文中的报文确认号对应的TCP数据报文,则所述基站确定需要向所述终端重传在所述缓存区域中的可供重传TCP数据报文;
[0102]否则,确定不需要向所述终端重传在所述缓存区域中的可供重传的TCP数据报文。
[0103]例如:终端最新确认号为2001,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为2001,且在缓存区域中存在报文确认号2001对应的TCP数据报文,则确定需要向终端重传在缓存区域中的可供重传的TCP数据报文。
[0104]方式二:
[0105]若所述TCP应答报文中的报文确认号等于终端最新确认号,且所述缓存区域中存在所述TCP应答报文中的报文确认号对应的TCP数据报文,按照设定步长增加重传应答计数器的计数值;
[0106]所述基站丢掉所述TCP应答报文,并在确定所述重传应答计数器的计数值达到设定阈值后,确定需要向所述终端重传在所述缓存区域中的可供重传的TCP数据报文,其中所述可供重传的TCP数据报文为所述报文确认号对应的TCP数据报文;或
[0107]所述基站将所述缓存区域中的所述报文确认号对应的TCP数据报文标记为重传报文,所述基站丢掉所述TCP应答报文,并在确定所述重传应答计数器的计数值达到设定阈值后,确定需要向所述终端重传在所述缓存区域中的可供重传的TCP数据报文,其中所述可供重传的TCP数据报文为标记为重传报文的所述TCP数据报文;
[0108]否则,确定不需要向所述终端重传在所述缓存区域中的可供重传的TCP数据报文;
[0109]所述基站将可供重传的所述TCP数据报文加入到高优先级发送数据队列之后,还包括:
[0110]所述基站将所述重传应答计数器的计数值置零。
[0111]本发明实施例终端最新确认号的初始化值可以是一个最小的数据报文序列号,例如:终端最新确认号的初始化值为O。
[0112]本发明实施例设定阈值可以是根据仿真得到的,也可以是通过实验得到的,也可以是根据实际需要设定的。
[0113]例如:终端最新确认号为2001,重传应答计数器的计数值为2,设定阈值为3,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为2001,且在缓存区域中存在报文确认号2001对应的TCP数据报文,将重传应答计数器的计数值加I得到3,达到设定阈值,确定需要向终端重传可供重传的TCP数据报文,且可供重传的TCP数据报文为报文确认号2001对应的TCP数据报文。
[0114]又例如:终端最新确认号为2001,重传应答计数器的计数值为0,设定阈值为3,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为2001,且在缓存区域中存在报文确认号2001对应的TCP数据报文,将重传应答计数器的计数值加I得到1,未达到设定阈值,确定不需要向终端重传可供重传的TCP数据报文。
[0115]又例如:终端最新确认号为2001,重传应答计数器的计数值为2,设定阈值为3,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为2001,且在缓存区域中存在报文确认号2001对应的TCP数据报文,将重传应答计数器的计数值加I得到3,将缓存区域中的报文确认号2001对应的TCP数据报文标记为重传报文,此时重传应答计数器的计数值达到设定阈值,确定需要向终端重传可供重传的TCP数据报文,且可供重传的TCP数据报文为标记为重传报文的TCP数据报文。
[0116]本发明实施例当TCP应答报文中的报文确认号大于终端最新确认号时,基站会对接收到的TCP应答报文进行下述处理:
[0117]若所述TCP应答报文中的报文确认号大于所述终端最新确认号,则所述基站根据所述TCP应答报文中的报文确认号更新所述终端最新确认号;
[0118]所述基站根据所述报文确认号确定需要释放的在所述缓存区域中的TCP数据报文的序列号,释放确定的所述序列号对应的TCP数据报文,并将所述重传应答计数器的计数值置零;
[0119]所述基站将所述TCP应答报文发送给所述核心网。
[0120]本发明实施例基站根据报文确认号确定需要释放的在缓存区域中的TCP数据报文的序列号,可以是报文确认号对应的TCP数据报文的序列号,也可以是序列号小于等于报文确认号的TCP数据报文的序列号。
[0121]例如:终端最新确认号为2001,重传应答计数器的计数值为1,缓存区域存储有序列号为I的TCP数据报文、序列号为1001的TCP数据报文和序列号为2001的TCP数据报文,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为4001,将4001作为终端最新确认号,并释放在缓存区域中的报文确认号为2001对应的TCP数据报文,以及序列号为I和序列号为1001的TCP数据报文,最后将重传应答计数器的计数值置为零,将该TCP应答报文发送给核心网。
[0122]又例如:终端最新确认号为2001,重传应答计数器的计数值为1,缓存区域存储有序列号为I的TCP数据报文、序列号为1001的TCP数据报文和序列号为2001的TCP数据报文,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为4001,将4001作为终端最新确认号,并释放在缓存区域中的报文确认号为2001对应的TCP数据报文,最后将重传应答计数器的计数值置为零,将该TCP应答报文发送给核心网。
[0123]本发明实施例当TCP应答报文中的报文确认号小于终端最新确认号时,基站会对接收到的TCP应答报文进行下述处理:
[0124]若所述TCP应答报文中的报文确认号小于所述终端最新确认号,则所述基站将所述TCP应答报文发送给所述核心网。
[0125]例如:终端最新确认号为2001,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为1001,将该TCP应答报文发送给核心网。
[0126]本发明实施例当TCP应答报文中的报文确认号等于终端最新确认号,且缓存区域中不存在TCP应答报文中的报文确认号对应的TCP数据报文时,基站会对接收到的TCP应答报文进行下述处理:
[0127]若所述TCP应答报文中的报文确认号等于所述终端最新确认号,所述缓存区域中不存在所述TCP应答报文中的报文确认号对应的TCP数据报文,则所述基站将所述TCP应答报文发送给所述核心网。
[0128]例如:终端最新确认号为300,此时基站接收到来自终端的TCP应答报文,其中TCP应答报文的报文确认号为300,但在缓存区域中不存在报文确认号300对应的TCP数据报文,则将该TCP应答报文发送给核心网。
[0129]如图3所示,本发明实施例三实现TCP数据报文重传的方法包括:
[0130]步骤200、基站接收到来自核心网的IP数据报文。
[0131]步骤201、基站根据接收到的IP数据报文的报文头中的协议字段,判断该IP数据报文是否是TCP数据报文,若是,则执行步骤202 ;若否,则执行步骤215。
[0132]步骤202、基站将该TCP数据报文存储到所述缓存区域,并将该TCP数据报文加入到正常优先级发送数据队列。
[0133]步骤203、基站在达到发送时间时,先将高优先级发送数据队列中的所有TCP数据报文依次发生给终端后,再将正常优先级发送数据队列中的所有TCP数据报文依次发生给终端。
[0134]在步骤203中,基站根据自身数据调度处理机制确定发送高优先级发送数据队列和正常优先级发送数据队列中的TCP数据报文的发送时间。
[0135]步骤204、基站通过空口侧接收到来自终端的IP数据报文。
[0136]步骤205、基站根据接收到的IP数据报文的报文头中的协议字段,判断该IP数据报文是否是TCP数据报文,若是,则执行步骤206 ;若否,则执行步骤214。
[0137]步骤206、基站根据TCP数据报文的报文头中的确认号,判断TCP数据报文是否是TCP应答报文,若是,则执行步骤207 ;若否,则执行步骤216。
[0138]步骤207、基站判断TCP应答报文中的报文确认号是否等于终端最新确认号,若是,则执行步骤208 ;若否,则执行步骤212。
[0139]步骤208、基站判断缓存区域中是否存在TCP应答报文中的报文确认号对应的TCP数据报文,若是,则执行步骤209 ;若否,则执行步骤214。
[0140]步骤209、基站按照设定步长增
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1