CN109495388A - 基于卫星通信的tcp加速方法 - Google Patents
基于卫星通信的tcp加速方法 Download PDFInfo
- Publication number
- CN109495388A CN109495388A CN201811458655.8A CN201811458655A CN109495388A CN 109495388 A CN109495388 A CN 109495388A CN 201811458655 A CN201811458655 A CN 201811458655A CN 109495388 A CN109495388 A CN 109495388A
- Authority
- CN
- China
- Prior art keywords
- satellite
- tcp
- cat
- port
- communication
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
本发明涉及卫星通信技术,解决了现有卫星通信中TCP传输速率低,并且现有TCP加速方法复杂,可维护性差的问题。技术方案概括为:基于卫星通信的TCP加速方法,应用于卫星通信系统,系统包括客户端、卫星猫一、卫星、卫星猫二和服务器,卫星猫一分别与客户端和卫星连接,卫星猫二分别与服务器和卫星连接,卫星猫一和卫星猫二通过TCP透明代理技术,将客户端与服务器间的TCP连接分为三段,通过设置卫星链路对应的TCP参数来提高卫星链路的传输性能。有益效果是:本发明提高了卫星通信的传输速率,提高了带宽利用率,并且技术方案更简单,容易开发,不随TCP协议的更新而更新,可维护性高。本发明特别适用于卫星通信系统。
Description
技术领域
本发明涉及卫星通信技术,特别涉及卫星通信的TCP加速技术。
背景技术
在卫星通信系统中,采用TCP协议传输数据时,卫星的时延往返为600ms,传输MTU为1500,那么它的理论最大速率为:这个是根据TCP协议在600ms来回的时延模型下计算出来的理论最大速率。卫星通信由于时延大,导致TCP传输速率上不去,即使带宽设为2M,TCP传输的速率依然在38KB/s左右,卫星带宽不能得到有效利用。
为了解决上述问题,NASA提出了SCPS方案,其中的SCPS-TP协议就是一个TCP增强传输技术,它通过“欺骗”“代理”的手段在应用层面实现了SCPS-TP协议,该协议模拟TCP协议的传输技术,并在TCP的头部使用了扩展的OPTIONS进行窗口扩大,RTT检测,快速重传等技术,解决了卫星网络TCP协议报文传输的速率瓶颈。
然而,上述加速方案存在以下缺陷:
1.SCPS-TP协议是基于TCP协议进行的改造,涉及到的技术原理非常多且复杂。
2.TCP协议技术一直在更新优化,任何TCP协议变动都可能会影响SCPS-TP协议的稳定性和性能,故该方案的可维护性差,需要实时跟进TCP协议的变动。
发明内容
本发明为解决现有卫星通信中TCP传输速率低,并且现有TCP加速方法复杂,可维护性差的技术问题,提供一种基于卫星通信的TCP加速方法。
为解决上述技术问题,本发明采用的技术方案是:基于卫星通信的TCP加速方法,应用于卫星通信系统,所述卫星通信系统包括客户端、卫星、服务器和两个卫星猫,所述两个卫星猫分别为卫星猫一及卫星猫二,所述卫星猫一分别与客户端和卫星连接通信,卫星猫二分别与服务器和卫星连接通信;
所述卫星猫包括以下处理步骤:
步骤一、卫星猫通过iptables的DNAT命令,在内核Netfilter的PREROUTING链中将所有TCP报文的目的IP和目的端口转换为该卫星猫的IP和指定端口;
步骤二、卫星猫开启TCP的socket监听该卫星猫的指定端口,并通过该指定端口接收TCP报文;
步骤三、对于该指定端口接收到的任一TCP报文,卫星猫提取该TCP报文的源IP和源端口,并通过socket选项的SO_ORIGINAL_DST提取该TCP报文的原目的IP和原目的端口;
步骤四、卫星猫根据该接收到的TCP报文生成新TCP报文,然后获取并绑定本地空闲端口,向内核下发SNAT命令,在POSTROUTING链中将新TCP报文的源IP和源端口替换为步骤三所提取到的该TCP报文的源IP和源端口;
步骤五、卫星猫根据步骤三所提取到的该TCP报文的原目的IP和原目的端口,将新TCP报文发送到原目的IP和原目的端口对应的设备;
基于卫星猫的处理步骤,通过设置卫星链路的TCP参数来提高卫星链路的传输性能。
作为进一步优化,进行设置的卫星链路的TCP参数包括tcp_congestion_control。tcp_congestion_control用于设置卫星传输的拥塞算法。
作为进一步优化,进行设置的卫星链路的TCP参数包括tcp_adv_win_scale。tcp_adv_win_scale用于设置窗口扩展。
作为进一步优化,进行设置的卫星链路的TCP参数包括tcp_app_win。tcp_app_win用于设置应用层窗口。
有益效果是:本方法结合linux内核的TCP协议,通过使用linux内核中Netfilter技术,拦截TCP报文,SNAT还原源IP端口等手段,在卫星猫上实现了TCP报文的透明代理功能,代理前后源IP、目的IP、源端口和目的端口都不变,成功的“欺骗”了客户端和服务器,将客户端到服务器的TCP连接分为了3段,再通过对卫星链路对应的TCP参数进行调优,使之更适应卫星的传输特性。实现了在用户层通过TCP透明代理技术,增大传输窗口,加大传输缓存,从而提高了TCP传输速率,提高卫星带宽使用效率,相对于现有技术本发明的技术方案更简单,容易开发,并且本发明不随TCP协议的更新而更新,可维护性高。本发明特别适用于卫星通信系统。
附图说明
图1是本发明实施例的卫星通信系统结构图。
具体实施方式
下面结合附图和实施例,进一步说明本发明的技术方案。
本发明的技术方案是:基于卫星通信的TCP加速方法,应用于卫星通信系统,所述卫星通信系统包括客户端、卫星、服务器和两个卫星猫,所述两个卫星猫分别为卫星猫一及卫星猫二,所述卫星猫一分别与客户端和卫星连接通信,卫星猫二分别与服务器和卫星连接通信;
卫星猫包括以下处理步骤:
步骤一、卫星猫通过iptables的DNAT命令,在内核Netfilter的PREROUTING链中将所有TCP报文的目的IP和目的端口转换为该卫星猫的IP和指定端口;
步骤二、卫星猫开启TCP的socket监听该卫星猫的指定端口,并通过该指定端口接收TCP报文;
步骤三、对于该指定端口接收到的任一TCP报文,卫星猫提取该TCP报文的源IP和源端口,并通过socket选项的SO_ORIGINAL_DST提取该TCP报文的原目的IP和原目的端口;
步骤四、卫星猫根据该接收到的TCP报文生成新TCP报文,然后获取并绑定本地空闲端口,向内核下发SNAT命令,在POSTROUTING链中将新TCP报文的源IP和源端口替换为步骤三所提取到的该TCP报文的源IP和源端口;
步骤五、卫星猫根据步骤三所提取到的该TCP报文的原目的IP和原目的端口,将新TCP报文发送到原目的IP和原目的端口对应的设备;
基于卫星猫的处理步骤,通过设置卫星链路的TCP参数来提高卫星链路的传输性能。
上述方法中,卫星猫一和卫星猫二都进行步骤一至步骤五的处理,通过使用linux内核中Netfilter技术,拦截TCP报文,SNAT还原源IP端口等手段,在卫星猫上实现了TCP报文的透明代理功能,并且代理前后报文的源IP、目的IP、源端口和目的端口都不变。经过上述透明代理后,将客户端到服务器的TCP连接分为了3段,分别是TCP连接一、TCP连接二和TCP连接三,TCP连接一为客户端与卫星猫一之间的TCP连接,TCP连接二为卫星猫一与卫星之间的TCP连接和卫星与卫星猫二之间的TCP连接,TCP连接三为卫星猫二与服务器之间的TCP连接,其中TCP连接二就是卫星链路的TCP连接。根据卫星通信系统的传输特性或应用的场景等具体情况,对TCP连接二的TCP参数进行设置,就能提高卫星链路的传输性能,提高卫星通信的带宽利用率,提高数据传输速率。
对上述方法进行进一步优化,具体可以是:进行设置的卫星链路的TCP参数可以包括tcp_congestion_control,tcp_congestion_control用于设置卫星传输的拥塞算法。TCP参数还可以包括tcp_adv_win_scale,tcp_adv_win_scale用于设置窗口扩展。TCP参数还可以包括tcp_app_win,tcp_app_win用于设置应用层窗口。
实施例
下面具体举例说明。
本例的卫星通信系统如图1所示,包括客户端、卫星猫一、卫星、卫星猫二和服务器,卫星猫一分别与客户端和卫星连接通信,卫星猫二分别与服务器和卫星连接通信。
本例的基于卫星通信的TCP加速方法,应用于本例的卫星通信系统,卫星猫一按照以下步骤进行处理:
步骤一、卫星猫一通过iptables的DNAT命令,在内核Netfilter的PREROUTING链中将所有TCP报文的目的IP和目的端口转换为卫星猫一的IP和指定端口;
步骤二、卫星猫一开启TCP的socket监听卫星猫一的指定端口,并通过该指定端口接收TCP报文;
步骤三、对于该指定端口接收到的任一TCP报文,卫星猫一提取该TCP报文的源IP和源端口,并通过socket选项的SO_ORIGINAL_DST提取该TCP报文的原目的IP和原目的端口;
步骤四、卫星猫一根据该接收到的TCP报文生成新TCP报文,然后获取并绑定本地空闲端口,向内核下发SNAT命令,在POSTROUTING链中将新TCP报文的源IP和源端口替换为步骤三所提取到的该TCP报文的源IP和源端口;
步骤五、卫星猫一根据步骤三所提取到的该TCP报文的原目的IP和原目的端口,将新TCP报文发送到原目的IP和原目的端口对应的设备。
卫星猫二进行处理的步骤与卫星猫一相同,通过卫星猫一和卫星猫二的上述处理过程,客户端到服务器的TCP连接被分为了TCP连接一、TCP连接二和TCP连接三,参见图1,TCP连接一为客户端与卫星猫一之间的TCP连接,TCP连接二为卫星猫一与卫星之间的TCP连接和卫星与卫星猫二之间的TCP连接,TCP连接三为卫星猫二与服务器之间的TCP连接,其中TCP连接二就是卫星链路的TCP连接。在TCP连接二中,设置卫星猫一和卫星猫二linux内核的TCP参数,本例中对tcp_congestion_control、tcp_adv_win_scale和tcp_app_win进行设置,tcp_congestion_control用于设置卫星传输的拥塞算法,tcp_adv_win_scale用于设置窗口扩展,tcp_app_win用于设置应用层窗口,根据卫星通信系统的传输特性或应用的场景等具体情况设置上述TCP参数,就能提高卫星通信的带宽利用率,提高数据传输速率。
Claims (4)
1.基于卫星通信的TCP加速方法,应用于卫星通信系统,所述卫星通信系统包括客户端、卫星、服务器和两个卫星猫,所述两个卫星猫分别为卫星猫一及卫星猫二,所述卫星猫一分别与客户端和卫星连接通信,卫星猫二分别与服务器和卫星连接通信,其特征在于:
所述卫星猫包括以下处理步骤:
步骤一、卫星猫通过iptables的DNAT命令,在内核Netfilter的PREROUTING链中将所有TCP报文的目的IP和目的端口转换为该卫星猫的IP和指定端口;
步骤二、卫星猫开启TCP的socket监听该卫星猫的指定端口,并通过该指定端口接收TCP报文;
步骤三、对于该指定端口接收到的任一TCP报文,卫星猫提取该TCP报文的源IP和源端口,并通过socket选项的SO_ORIGINAL_DST提取该TCP报文的原目的IP和原目的端口;
步骤四、卫星猫根据该接收到的TCP报文生成新TCP报文,然后获取并绑定本地空闲端口,向内核下发SNAT命令,在POSTROUTING链中将新TCP报文的源IP和源端口替换为步骤三所提取到的该TCP报文的源IP和源端口;
步骤五、卫星猫根据步骤三所提取到的该TCP报文的原目的IP和原目的端口,将新TCP报文发送到原目的IP和原目的端口对应的设备;
基于卫星猫的处理步骤,通过设置卫星链路的TCP参数来提高卫星链路的传输性能。
2.如权利要求1所述的基于卫星通信的TCP加速方法,其特征在于:进行设置的卫星链路的TCP参数包括tcp_congestion_control。
3.如权利要求1所述的基于卫星通信的TCP加速方法,其特征在于:进行设置的卫星链路的TCP参数包括tcp_adv_win_scale。
4.如权利要求1所述的基于卫星通信的TCP加速方法,其特征在于:进行设置的卫星链路的TCP参数包括tcp_app_win。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811458655.8A CN109495388B (zh) | 2018-11-30 | 2018-11-30 | 基于卫星通信的tcp加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811458655.8A CN109495388B (zh) | 2018-11-30 | 2018-11-30 | 基于卫星通信的tcp加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495388A true CN109495388A (zh) | 2019-03-19 |
CN109495388B CN109495388B (zh) | 2021-04-27 |
Family
ID=65698942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811458655.8A Active CN109495388B (zh) | 2018-11-30 | 2018-11-30 | 基于卫星通信的tcp加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495388B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043788A1 (en) * | 2001-09-06 | 2003-03-06 | Kddi Corporation | Packet repeater in asymmetrical transmissions |
CN101110767A (zh) * | 2007-04-26 | 2008-01-23 | 北京畅讯信通科技有限公司 | 非对称和多并发网络的加速方法 |
CN101646204A (zh) * | 2009-08-24 | 2010-02-10 | 上海华为技术有限公司 | 数据传输方法和无线接入网元 |
CN102629944A (zh) * | 2012-04-09 | 2012-08-08 | 华为技术有限公司 | 网络加速方法、装置及系统 |
CN105516122A (zh) * | 2015-12-03 | 2016-04-20 | 网宿科技股份有限公司 | 具有分等级配置的加速策略的网络传输加速方法和系统 |
CN106936875A (zh) * | 2015-12-30 | 2017-07-07 | 南京理工大学 | 基于广域网数据压缩的改进tcp代理方法 |
US10212621B2 (en) * | 2015-09-30 | 2019-02-19 | Hisense Mobile Communications Technology Co., Ltd. | Apparatus and method for configuring DNS of mobile device, and storage medium |
-
2018
- 2018-11-30 CN CN201811458655.8A patent/CN109495388B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043788A1 (en) * | 2001-09-06 | 2003-03-06 | Kddi Corporation | Packet repeater in asymmetrical transmissions |
CN101110767A (zh) * | 2007-04-26 | 2008-01-23 | 北京畅讯信通科技有限公司 | 非对称和多并发网络的加速方法 |
CN101646204A (zh) * | 2009-08-24 | 2010-02-10 | 上海华为技术有限公司 | 数据传输方法和无线接入网元 |
CN102629944A (zh) * | 2012-04-09 | 2012-08-08 | 华为技术有限公司 | 网络加速方法、装置及系统 |
US10212621B2 (en) * | 2015-09-30 | 2019-02-19 | Hisense Mobile Communications Technology Co., Ltd. | Apparatus and method for configuring DNS of mobile device, and storage medium |
CN105516122A (zh) * | 2015-12-03 | 2016-04-20 | 网宿科技股份有限公司 | 具有分等级配置的加速策略的网络传输加速方法和系统 |
CN106936875A (zh) * | 2015-12-30 | 2017-07-07 | 南京理工大学 | 基于广域网数据压缩的改进tcp代理方法 |
Non-Patent Citations (2)
Title |
---|
王恒: "卫星通信新技术专题讲座(二)第4讲 卫星通信系统中的TCP/IP加速设备", 《军事通信技术》 * |
高文林: "TCP协议在卫星通信网络中的运用", 《电子技术与软件工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109495388B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715282B2 (en) | Method and related device for improving TCP transmission efficiency using delayed ACK | |
CN102006283B (zh) | 数据传输的方法和装置 | |
US8224966B2 (en) | Reproxying an unproxied connection | |
US9026664B2 (en) | Data communication system and method | |
CN102694810B (zh) | 一种卫星网络tcp地面加速方法 | |
TW200637386A (en) | Throughput enhancement by acknowledgment suppression | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
JP5178593B2 (ja) | 通信装置,車車間通信システム,路車間通信システム,無線通信システムおよび通信制御方法 | |
CN104243267A (zh) | 数据传输方法及装置 | |
CN105119842B (zh) | 在中断容忍网络中设置rtt参数的方法 | |
RU2012148627A (ru) | Способ повышения быстродействия соединения при инкапсуляции пакетов протокола тср/ip через нттр в сетевой системе передачи данных | |
CN102739569A (zh) | 一种用于卫星通信中的网关及其tcp性能增强的方法 | |
CN105763297A (zh) | 一种基于云计算系统的远程数据优化传输方法和装置 | |
CN103699450B (zh) | 一种Linux下的自适应组件间通信方法 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN110011723A (zh) | 一种基于北斗一键报警的短报文图像步进传输方法 | |
Tachibana et al. | Implementing and evaluating priority control mechanism for heterogeneous remote monitoring IoT system | |
CN111865940A (zh) | 一种传输优化的方法及装置 | |
CN101656750B (zh) | 一种适合空间通信网络的tcp分裂连接方法 | |
CN102724133A (zh) | 一种ip报文传输的方法及装置 | |
WO2017107148A1 (zh) | 一种数据传输方法及网络侧设备 | |
CN109495388A (zh) | 基于卫星通信的tcp加速方法 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN102368767A (zh) | 一种基于hfc网络的加速互联网上网方法及系统 | |
CN104955079A (zh) | 一种无线自组网络中数据传输方法和性能增强代理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |