专利名称:一种卫星网络tcp地面加速方法
技术领域:
本发明涉及ー种卫星网络TCP地面加速方法。
背景技术:
TCP协议是面向连接的传输层协议,向有关应用提供可靠的数据传输。随着通信事业的发展,大量卫星通信系统承载了大量的网络应用,其中基于TCP协议的应用大约占了应用总量的85%以上。卫星通信链路有其自身的优点的同时也存在着影响TCP传输的缺点,比如链路传输距离远、链路延时大、易受干扰、带宽有限等,由此对TCP的传输性能造成了影响,比如卫 星链路延时过大造成TCP最大呑吐率降低,信道差错率高造成TCP报文发送速率降低等,所以传统的TCP协议很难适应卫星链路传输,需要对TCP协议进行相应的修改才能使其性能得到保证。目前提高卫星系统中TCP性能的方法主要有端对端方式和分割连接方式两种。端对端方式着重TCP协议本身的改进,而分段连接机制则考虑对不同物理连接分割为不同的段,在每段内采用不同的优化方式进行优化。中国专利申请CN03147470. 5,ー种分布式的卫星网络TCP性能加速协议格式和方法中提出了基于分布式PEP网络结构和两路半握手连接机制,采用流量控制、动态带宽分配算法和基于发送方主动请求的延迟确认机制等手段优化了下行链路的呑吐量和带宽利用率。但是此专利存在其弊端,如只优化下行链路,上行链路采用低速地面链路有地域局限性,没有对TCP数据包头进行优化处理造成带宽浪费等。
发明内容
本发明所要解决的技术问题是克服现有TCP技术在卫星通信领域中的不足,提供一种能够提高卫星链路吞吐量,高效利用卫星链路带宽资源,提高TCP传输速率的卫星网络优化方法。本发明包括如下技术方案ー种卫星网络TCP地面加速方法,包括如下步骤(I)建立连接客户端发送会话请求数据包,该会话请求数据包通过客户端卫星协议网关转发给服务器端卫星协议网关;服务器端卫星协议网关接收到该会话请求数据包后将其转发给服务器端,并且保存该会话请求数据包的IP头和TCP头的相关数据;服务器端收到会话请求数据包后发送第一握手应答数据包,该第一握手应答数据包通过服务器端卫星协议网关发送到客户端卫星协议网关;客户端卫星协议网关在收到第一握手应答数据包后,保存该第一握手应答数据包的IP头和TCP头的相关数据并将该第一握手应答数据包转发给客户端;客户端Cl收到第一握手应答数据包后发送第二握手应答数据包;该第二握手应答数据包通过客户端卫星协议网关G1、服务器端卫星协议网关G2转发给服务器端C2 ;(2)在建立连接后客户端开始进彳了路径MTU探测,在完成路径MTU探测后,客户端发送ー个开启包头压缩和协议欺骗功能的数据包给服务器端,客户端卫星协议网关和服务器端卫星协议网关在收到该数据包时开启包头压缩功能和协议欺骗功能;(3)进行数据传输客户端发送正式数据包,当客户端卫星协议网关接收到正式数据包吋,首先进行包头压缩获得压缩后的数据包,然后伪装成服务器端发送假应答数据包给客户端,最后将压缩后的数据包转发给服务器端卫星协议网关;服务器端卫星协议网关收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给服务器端,并伪装成服务器端发送假应答数据包给客户端卫星协议网关;
服务器端在收到服务器端卫星协议网关转发的数据后发送应答数据包给服务器端卫星协议网关;⑷撤销连接在传输完数据后,客户端发送连接拆除数据包,通过客户端卫星协议网关、服务器端卫星协议网关发送至服务器端;从服务器端发送连接拆除数据包,通过服务器端卫星协议网关、客户端卫星协议网关发送至客户端。所述开启包头压缩和协议欺骗功能的数据包为数据长度为I个字节的内容为OxFF的数据包。步骤(4)中的撤销连接具体包括如下步骤客户端发送连接拆除数据包,客户端卫星协议网关在收到连接拆除数据包后首先进行包头压缩获得压缩后的数据包,伪装成服务器端发送假应答,最后将压缩后的数据包转发给服务器端卫星协议网关;服务器端卫星协议网关在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给服务器端,并伪装成服务器端发送假应答;服务器端在收到该连接拆除数据包后发送应答数据包;然后服务器端发送连接拆除数据包,服务器端卫星协议网关在收到服务器端发送的连接拆除数据包后首先进行包头压缩获得压缩后的数据包,伪装成客户端发送假应答,最后将压缩后的数据包转发给客户端卫星协议网关;客户端卫星协议网关在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给客户端,并伪装成客户端发送假应答;客户端收到恢复包头信息的数据包后发送应答数据包。本发明与现有技术相比具有如下优点(I)本方法在传统网络的基础上将协议欺骗和TCP数据包头压缩技术进行了融合,提高了带宽的有效利用率,缓解了信道不对称的问题。(2)本方法在协议欺骗和包头压缩功能启动前采取了路径MTU主动探测技木,降低了传输拥塞率。(3)本方法采用应答欺骗技术減少了应答反应时间,缩短了卫星链路数据传输延时,提高了传输速率。
图I为本发明方法的系统示意图;图2为本发明方法中应答欺骗示意图。
具体实施方式
本发明的卫星网络TCP地面加速方法运行的环境如图I所示包括服务器端C2、客户端卫星协议网关G1、服务器端卫星协议网关G2和客户端Cl。包头压缩和协议欺骗策略需要通过客户端卫星协议网关Gl和服务器端卫星协议网关G2实现,MTU主动探测需要在客户端Cl运行。如图2所示,本发明的卫星网络TCP地面加速方法包括如下步骤I)建立连接客户端Cl发起会话请求,客户端卫星协议网关Gl将接收到的客户端Cl发送的会话请求转发给服务器端卫星协议网关G2。此时客户端卫星协议网关Gl并不启动头部压缩和应答欺骗功能。服务器端卫星协议网关G2接收到客户端卫星协议网关Gl转发的请求后,将该请求转发给服务器端C2,并且保存请求端发送的会话请求数据包的IP头和TCP头部信息。服务器端C2接收到该请求后发送应答数据包。服务器端卫星协议网关G2接收到服务器端C2发送的应答后向客户端卫星协议网关Gl转发该应答。客户端卫星协议网关Gl在收到服务器端卫星协议网关G2转发的应答后保存应答数据包的IP头和TCP头部信息并将该应答转发给客户端Cl。客户端Cl收到服务器端C2的应答后发送ACK进行第三次握手。客户端卫星协议网关Gl收到客户端Cl发送的应答后将其应答转发给服务器端卫星协议网关G2。服务器端卫星协议网关G2将客户端卫星协议网关Gl转发的应答转发给服务器端C2,完成三次握手。2)连接建立初期在完成连接后客户端开始进行路径最大传输单元(MTU)探測,首先客户端发送一个长度为1500字节的IP数据报给服务器端,该IP数据报设置了不需分片标志位(DF位);如果收到ICMP差错,则说明当前的两个主机之间的路径上任何网络上的MTU小于1500字节,TCP客户端就減少段大小并进行重传,优选地,毎次減少5个字节再进行重传。一直这样,直到找到最終的路径MTU。3)数据传输阶段在完成路径MTU的探測后客户端Cl发送ー个长度为I个字节的OxFF数据包给服务器端C2,卫星协议网关在收到该数据包时开启包头压缩功能和协议欺骗功能,利用连接建立阶段保存的IP头和TCP头信息伪装成服务器端C2给客户端Cl发送应答,若客户端Cl接收到客户端卫星协议网关Gl发送的假应答则开始发送正式数据。
当客户端卫星协议网关Gl接收到客户端Cl发送的正式数据时,首先压缩IP包头和TCP包头,然后伪装成服务器端发送假ACK应答信息给客户端Cl,最后将经过压缩的数据包转发给服务器端卫星协议网关G2。服务器端卫星协议网关G2收到经过压缩的数据包后进行包头恢复,然后将恢复包头信息的数据转发给服务器端C2,并伪装成服务器端C2发送ACK应答给客户端卫星协议网关Gl。服务器端C2在收到服务器端卫星协议网关G2转发的数据后发送应答数据包给服务器端卫星协议网关G2。由于服务器端卫星协议网关G2已经伪装成服务器端C2发送ACK给客户端卫星协议网关Gl 了,所以在收到服务器端C2发送的真实的ACK应答后就不需要将该真实的ACK发送给客户端卫星协议网关Gl 了,从而减少了应答反应时间。4)连接撤销阶段在传输完数据后,客户端发送连接拆除数据包FIN,客户端卫星协议网关Gl在收 到客户端Cl发送的连接撤销数据包后首先进行包头压缩获得压缩后的数据包,然后伪装成服务器端C2发送假应答数据包ACK,最后将压缩后的数据包转发给服务器端卫星协议网关G2。服务器端卫星协议网关G2在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给服务器端C2,并伪装成服务器端发送假应答;服务器端C2在收到连接拆除数据包后发送应答ACK。然后,服务器端C2发送连接撤销数据包FIN ;服务器端卫星协议网关G2在接收到服务器端C2发送的连接拆除数据包FIN后首先进行包头压缩获得压缩后的数据包,伪装成客户端发送假应答,最后将压缩后的数据包转发给客户端卫星协议网关;客户端卫星协议网关Gl在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给客户端,并伪装成客户端发送假应答。客户端Cl收到恢复包头信息的数据包后发送应答数据包。由于客户端卫星协议网关Gl已经伪装成客户端Cl发送了 ACK给服务器端卫星协议网关G2,所以客户端卫星协议网关Gl在收到客户端Cl发送的真实的ACK后无需将此真实ACK发送给服务器端卫星协议网关G2,撤销过程到此结束。本发明未详细说明部分属本领域技术人员公知常识。
权利要求
1.ー种卫星网络TCP地面加速方法,包括如下步骤 (1)建立连接 客户端发送会话请求数据包,该会话请求数据包通过客户端卫星协议网关转发给服务器端卫星协议网关; 服务器端卫星协议网关接收到该会话请求数据包后将其转发给服务器端,并且保存该会话请求数据包的IP头和TCP头的相关数据;服务器端收到会话请求数据包后发送第一握手应答数据包,该第一握手应答数据包通过服务器端卫星协议网关发送到客户端卫星协议网关; 客户端卫星协议网关在收到第一握手应答数据包后,保存该第一握手应答数据包的IP头和TCP头的相关数据并将该第一握手应答数据包转发给客户端; 客户端Cl收到第一握手应答数据包后发送第二握手应答数据包;该第二握手应答数据包通过客户端卫星协议网关G1、服务器端卫星协议网关G2转发给服务器端C2 ; (2)在建立连接后客户端开始进行路径MTU探測,在完成路径MTU探測后,客户端发送一个开启包头压缩和协议欺骗功能的数据包给服务器端,客户端卫星协议网关和服务器端卫星协议网关在收到该数据包时开启包头压缩功能和协议欺骗功能; (3)进行数据传输 客户端发送正式数据包,当客户端卫星协议网关接收到正式数据包吋,首先进行包头压缩获得压缩后的数据包,然后伪装成服务器端发送假应答数据包给客户端,最后将压缩后的数据包转发给服务器端卫星协议网关; 服务器端卫星协议网关收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给服务器端,并伪装成服务器端发送假应答数据包给客户端卫星协议网关; 服务器端在收到服务器端卫星协议网关转发的数据后发送应答数据包给服务器端卫星协议网关; (4)撤销连接 在传输完数据后,客户端发送连接拆除数据包,通过客户端卫星协议网关、服务器端卫星协议网关发送至服务器端; 从服务器端发送连接拆除数据包,通过服务器端卫星协议网关、客户端卫星协议网关发送至客户端。
2.根据权利要求I所述的卫星网络TCP地面加速方法,其特征在于所述开启包头压缩和协议欺骗功能的标志位数据包为数据长度为I个字节的内容为OxFF的数据包。
3.根据权利要求I所述的卫星网络TCP地面加速方法,其特征在干步骤(4)中的撤销连接具体包括如下步骤 客户端发送连接拆除数据包,客户端卫星协议网关在收到连接拆除数据包后首先进行包头压缩获得压缩后的数据包,伪装成服务器端发送假应答,最后将压缩后的数据包转发给服务器端卫星协议网关; 服务器端卫星协议网关在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给服务器端,并伪装成服务器端发送假应答; 服务器端在收到该连接拆除数据包后发送应答数据包; 然后服务器端发送连接拆除数据包,服务器端卫星协议网关在收到服务器端发送的连接拆除数据包后首先进行包头压缩获得压缩后的数据包,伪装成客户端发送假应答,最后将压缩后的数据包转发给客户端卫星协议网关; 客户端卫星协议网关在收到压缩后的数据包后进行包头恢复,然后将恢复包头信息的数据包转发给客户端,并伪装成客户端发送假应答;客户端收到恢复包头信息的数据包后发送应答数据包。
全文摘要
本发明公开了一种卫星网络TCP地面加速方法,将MTU主动探测、协议欺骗和TCP数据包头压缩技术进行了融合;其中包头压缩和协议欺骗需要通过客户端卫星协议网关和服务器端卫星协议网关实现,MTU主动探测需要在客户端C1运行。本发明的方法能够提高卫星链路吞吐量,高效利用卫星链路带宽资源,提高TCP传输速率。
文档编号H04B7/185GK102694810SQ20121017904
公开日2012年9月26日 申请日期2012年5月31日 优先权日2012年5月31日
发明者刘敏, 廖百健, 石云, 邹光南 申请人:航天恒星科技有限公司