CN109495388A - 基于卫星通信的tcp加速方法 - Google Patents

基于卫星通信的tcp加速方法 Download PDF

Info

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
Application number
CN201811458655.8A
Other languages
English (en)
Other versions
CN109495388B (zh
Inventor
李喜生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Andi Technology Industrial Co Ltd
Original Assignee
Sichuan Andi Technology Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Andi Technology Industrial Co Ltd filed Critical Sichuan Andi Technology Industrial Co Ltd
Priority to CN201811458655.8A priority Critical patent/CN109495388B/zh
Publication of CN109495388A publication Critical patent/CN109495388A/zh
Application granted granted Critical
Publication of CN109495388B publication Critical patent/CN109495388B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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加速技术。
背景技术
在卫星通信系统中,采用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。
CN201811458655.8A 2018-11-30 2018-11-30 基于卫星通信的tcp加速方法 Active CN109495388B (zh)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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