CN116131923B - 一种基于卫星通信的数据传输方法、装置及存储介质 - Google Patents
一种基于卫星通信的数据传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116131923B CN116131923B CN202310150906.0A CN202310150906A CN116131923B CN 116131923 B CN116131923 B CN 116131923B CN 202310150906 A CN202310150906 A CN 202310150906A CN 116131923 B CN116131923 B CN 116131923B
- Authority
- CN
- China
- Prior art keywords
- pep
- message
- tunnel
- tcp connection
- session
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 220
- 230000005540 biological transmission Effects 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000011664 signaling Effects 0.000 claims description 73
- 238000013507 mapping Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 21
- 238000013461 design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- YREOLPGEVLLKMB-UHFFFAOYSA-N 3-methylpyridin-1-ium-2-amine bromide hydrate Chemical compound O.[Br-].Cc1ccc[nH+]c1N YREOLPGEVLLKMB-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- 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
- H04B7/18513—Transmission in a satellite or space-based system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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窗口进行调整,在保持原有窗口大小的情况下,通过在卫星终端和IP网关处各设置有一PEP网关,来将卫星通信中的TCP连接分为两段地面标准TCP连接和一段空间隧道连接,从而TCP连接建立的时间,以从加快数据传输启动速度层面来提高数据传输速率,同时,在PEP客户端设置相应的会话缓冲队列,可实现PEP客户端的本地确定和重传功能,从而进一步的加快速度传输速率;由此,本发明可使长时延高丢包率的卫星链路上的TCP仍然保持高速的传输,适用于在卫星通信数据传输领域大规模广泛应用与推广。
Description
技术领域
本发明属于卫星通信技术领域,具体涉及一种基于卫星通信的数据传输方法、装置及存储介质。
背景技术
由于卫星通信具有覆盖面广、组网灵活和不受地理环境限制等优点,目前得到越来越多的应用;但由于卫星网络固有的一些特性,如GSO(Geosynchronous Orbit,同步轨道)卫星链路的长时延(RTT)、高误码率(High Error Bit Rates)、网络不対称性(Asymmetric)、连接的间断性(Link Disconnection)、高带宽时延积(Bandwidth DelayProduct,BDP)等特征,都影响了TCP(传输控制协议)在数据传输中的性能。
在卫星链路上采用TCP(Transmission Control Protocol,传输控制协议)协议进行高速数据传输时,会受到带宽时延积的“瓶颈”的制约,其从一端到另一端传输的数据量受发送数据窗口大小的限制,当该窗口内数据达到其固定大小以后,发送方就无法发送更多的数据,直到接收方确认已经接收了窗口中的部分数据后,才能继续发送数据;而如果发送窗口太小的话,势必会限制数据从一方传送到另一方进行应答的速率,进而影响到整条链路的数据吞吐能力;目前,在网络时延比较小的链路上,这个瓶颈出现的几率就很小,因为已经有很好的机制能允许TCP协议使用足够大的发送数据窗口,而且现在主流操作***也都实现了这些机制;但是,由于卫星链路具有比较大的网络时延,因此,现有卫星通信下的窗口设置机制,已不能满足卫星链路进行TCP高速数据传输的要求,从而导致卫星通信时的数据传输速率较低,且现有的卫星通信在出现丢包时,需要从发送端进行重传,如此,进一步的降低了传输速率。
另外,现有的卫星通信技术,在每次发送数据之前,收发双方都要建立一次TCP连接,而当网络的传输时延比较大时,三次握手就需要较长的时间,从而增加传输数据的启动时长,由此,建立连接的耗时将对性能产生较大的影响,从而再次的降低卫星传输速率;因此,如何提高卫星通信中数据的传输速率,已成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种基于卫星通信的数据传输方法、装置及存储介质,用以解决现有技术中的卫星通信所存在的传输速率较低的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,提供了一种基于卫星通信的数据传输方法,应用于卫星通信***的PEP客户端,其中,所述卫星通信***包括PEP客户端、PEP服务器、卫星终端、I P网关、多个发送端和多个接收端,所述卫星终端连接有多个发送端,所述I P网关连接有多个接收端,所述卫星终端处部署有一PEP客户端,所述I P网关处部署有一PEP服务端,所述PEP客户端和所述PEP服务器之间建立有多条不同优先级的I P隧道,所述方法包括:
PEP客户端接收发送端发送的至少一个SYN报文,并为所述至少一个SYN报文中的每个SYN报文建立一第一TCP连接;
对于建立的多条第一TCP连接中的任一第一TCP连接,PEP客户端根据所述任一第一TCP连接对应的SYN报文,从多条待选I P隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的I P隧道,以作为目标I P隧道,其中,所述多条待选I P隧道为所述发送端使用PEP客户端与PEP服务器进行通信的所有I P隧道;
PEP客户端为所述任一第一TCP连接创建第一通信会话,其中,所述第一通信会话对应有一会话缓冲队列,所述第一通信会话包括连接信息,所述连接信息用于创建与所述任一第一TCP连接相对应的第二TCP连接,所述第二TCP连接用于建立所述PEP服务器与目标接收端之间的通信连接,且所述目标接收端为所述发送端使用所述任一第一TCP连接进行数据传输时所对应的接收端;
PEP客户端基于所述第一通信会话,创建连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述会话缓冲队列;
PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文发送至所述PEP服务器,以使所述PEP服务器基于所述连接建立请求信令报文,创建与所述第一通信会话相对应的第二通信会话、创建与所述任一第一TCP连接相对应的第二TCP连接以及确定出目标接收端,并将所述第二通信会话关联所述目标接收端,以及基于所述第二TCP连接向所述目标接收端发送连接请求,以与所述目标接收端之间建立通信连接;
PEP客户端向所述发送端发送连接响应报文,以使所述发送端在接收到所述连接响应报文后,完成与所述PEP客户端之间的匹配TCP连接,其中,所述连接响应报文包括任一第一TCP连接对应的TCP报文,所述TCP报文包括SYN字段和ACK字段,且所述匹配TCP连接为所述任一第一TCP连接;
PEP客户端接收发送端发送的数据包,并从所述多个第一TCP连接中确定出用于传输所述数据包的第一TCP连接,作为匹配TCP连接,以便利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标I P隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,以完成所述数据包的数据传输。
基于上述公开的内容,本发明在进行卫星通信时,将卫星网络的I P网关从数据源到用户端进行分离,即在卫星终端和I P网关处各设置有一PEP(Performance EnhancingProxy,性能增强代理)网关,这样,就可以把原有的卫星通信中的TCP连接分为三段,其中,发送端与卫星终端处的PEP网关(即PEP客户端)之间,以及接收端与I P网关处的PEP网关(即PEP服务器)之间均采用标准TCP连接进行通信,而两个PEP网关之间则采用隧道模式(即I P over I P模式)进行数据传输;如此,在进行TCP连接建立时,发送端向PEP客户端发送SYN报文,并经过两PEP网关传输后,发送端与接收端只需与各自对应的PEP网关建立TCP连接即可完成整个卫星通信链路的TCP连接,由此,使得发送和接收端与各自对应的PEP网关的TCP会话都是短连接,所以,三次握手的时延则可以被PEP间隧道的长连接克服掉,从而使得收发双发之间不用每次都进行三次握手来建立TCP连接(具体的,TCP的连接建立的时延可以由1.5倍链路RTT(往返时延)缩短到半个链路RTT,发送端可以快速启动数据发送),进而加快了传输数据的启动速度,提高了数据传输速率。
同时,在建立TCP连接时,PEP网关向各自对应的终端发送TCP连接确认,如此,可实现TCP连接的本地确认,从而使发送端和接收端快速收到连接确认,从而进一步的加快启动速度,提高传输速率;另外,本发明在建立TCP连接时,为每个TCP连接建立有一附带会话缓冲队列的通信会话,且在每次传输时,由PEP网关和PPE服务器对各自对应的终端响应ACK,并将数据缓存至会话缓冲队列中;因此,相当于将数据缓存至PEP网关中,在数据丢失时,可无需再让发送端重新传输,如此,实现了数据在PEP网关的本地确认和重传,从而防止发送端因丢包而降低发送速率,进而达到提高传输速率的目的。
通过上述设计,本发明所提供的方法,无需对最终用户的TCP窗口进行调整,在保持原有窗口大小的情况下,通过在卫星终端和I P网关处各设置有一PEP网关,来将卫星通信中的TCP连接分为两段地面标准TCP连接和一段空间隧道连接,从而减少TCP连接建立的时间,以从加快数据传输启动速度层面来提高数据传输速率,同时,在PEP网关设置相应的会话缓冲队列,可实现PEP网关的本地确认和重传功能,从而进一步的加快速度传输速率;由此,本发明可使长时延高丢包率的卫星链路上的TCP仍然保持高速的传输,适用于在卫星通信数据传输领域大规模广泛应用与推广。
在一个可能的设计中,所述至少一个SYN报文中的任一SYN报文包括:该任一SYN报文的报文优先级字段,其中,所述报文优先级字段用于表征使用该任一SYN报文对应第一TCP连接进行数据传输时的传输优先级;
相应的,PEP客户端根据所述任一第一TCP连接对应的SYN报文,从多条待选I P隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的I P隧道,作为目标I P隧道,包括:
PEP客户端获取隧道优先级映射表,其中,所述隧道优先级映射表中存储有所述多条待选I P隧道中每条待选I P隧道对应的I P隧道优先级,以及报文优先级字段与I P隧道优先级的映射关系;
PEP客户端基于所述任一第一TCP连接对应SYN报文中的报文优先级字段,从所述隧道优先级映射表中,匹配出与所述报文优先级字段相对应的I P隧道优先级,作为匹配隧道优先级;
PEP客户端将所述匹配隧道优先级相对应的待选I P隧道,作为所述目标I P隧道。
基于上述公开的内容,本发明引入了报文的优先级,在PEP网关之间建立I P隧道时,配置有多个不同优先级的I P隧道,隧道的建立由PEP客户端发起,PEP客户端维护多条优先级隧道,同理,PEP服务器为每个用户都维护有多条优先级隧道;如此,在PEP客户端接收到发送端发送的任一第一TCP连接时,即可基于其对应的SYN报文内的报文优先级字段,来确定其传输优先级,并选择与该优先级相对应的I P隧道;因此,在进行数据传输时,即可根据其传输数据的第一TCP连接对应I P隧道,来进行数据传输;通过上述设计,本发明提供了对多用户多优先级的支持,可对不同优先级的数据采用不同优先级的I P隧道进行传输,从而提供有差别的服务,保证高优先级用户获得更好的服务质量。
在一个可能的设计中,所述至少一个SYN报文中的任一SYN报文还包括:该任一SYN报文的源I P、源端口、目的I P以及目的端口,其中,所述目标I P和所述目的端口为使用该任一SYN报文的第一TCP连接请求进行数据传输时所对应接收端的I P地址和端口信息;
其中,PEP客户端为所述任一第一TCP连接创建第一通信会话,包括:
PEP客户端基于所述任一第一TCP连接对应的SYN报文,创建得到所述第一通信会话,其中,所述第一通信会话中的连接信息包括源I P、目的I P、源端口、目的端口以及会话I D,且所述连接建立请求信令报文也包括源I P、目的I P、源端口、目的端口以及会话I D;
相应的,PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文发送至PEP服务器,包括:
PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述目标I P隧道的隧道缓冲队列内;
PEP客户端从所述隧道缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文传输至PEP服务器,以使所述PEP服务器解析所述连接建立请求信令报文,得到源I P、源端口、目的I P、目的端口以及所述任一第一TCP连接对应第一通信会话的会话I D,以便基于所述目的I P和目的端口,确定出所述目标接收端,以及基于所述源I P、所述源端口、所述目的I P、所述目的端口以及所述会话I D,创建得到所述第二TCP连接和所述第二通信会话。
在一个可能的设计中,利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标I P隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,包括:
PEP客户端将所述匹配TCP连接对应第一通信会话的连接信息添加至所述数据包中,得到传输数据报文,其中,所述连接信息包括会话I D;
PEP客户端将所述传输数据报文存储至所述匹配TCP连接对应第一通信会话的会话缓冲队列中;
PEP客户端从所述匹配TCP连接对应第一通信会话的会话缓冲队列中读取所述传输数据报文,并将所述传输数据报文存储至所述匹配TCP连接对应目标I P隧道的隧道缓冲队列中;
PEP客户端从所述匹配TCP连接对应目标I P隧道的隧道缓冲队列中读取所述传输数据报文,并将所述传输数据报文发送至所述PEP服务器,以使所述PEP服务器在接收到所述传输数据报文后,解析所述传输数据报文,得到会话I D和数据包,以便基于所述会话I D确定目标通信会话,并将所述数据包传输至目标通信会话所关联的目标接收端,其中,所述目标通信会话为所述匹配TCP连接的第一通信会话相对应的第二通信会话。
基于上述公开的内容,本发明公开了数据传输的具体流程,即先进行TCP连接的匹配,从而从建立的第一TCP连接中,确定出进行数据传输的第一TCP连接,该步骤就相当于就确定了第一通信会话、进行数据传输的I P隧道以及PEP服务器处的通信会话;而后,即可基于匹配的TCP连接来实现数据的快速转发;通过上述设计,本发明通过对TCP连接、通信会话以及I P隧道建立关联关系来管理数据报文的转发,如此,只要在连接建立阶段为会话建立好数据结构,后续在报文转发时,发送端侧的报文只需要匹配TCP连接,而从空间网络侧来的报文只需要匹配I P隧道连接,就可以找到出口连接,由此,可提高网关的效率,进而进一步的提高数据传输速率。
在一个可能的设计中,传输数据报文包括:MAC报文头、隧道I P报文头、隧道TCP报文头、报文类型字段、预留字段、数据长度字段、会话I D、报文序号以及数据包。
基于上述公开的内容,本发明的传输数据报文中含有会话I D,可根据会话I D来匹配两PEP网关件的通信会话,从而得知携带该会话I D的报文的所属链路。
在一个可能的设计中,在将所述数据包传输至所述匹配TCP连接对应的目标接收端前,所述方法还包括:
PEP客户端获取报文发送队列长度以及目标设备的接收带宽,并根据接收带宽调整发送带宽,以基于调整后的发送带宽将报文发送队列内的报文传输至所述PEP服务器,其中,所述报文发送队列内的报文为所述PEP客户端内待传输的所有报文,且所述目标设备为所述PEP客户端的下一级设备;
PEP客户端判断所述报文发送队列长度是否大于门限值;
若是,PEP客户端则进行告警提示,并停止向所述报文发送队列内缓存报文。
基于上述公开的内容,本发明可根据与PEP客户端连接的下一级设备的接收带宽,来调整PEP客户端的发送带宽,如此,可达到控制TCP流量的目的;同时,当PEP客户端所发送的报文队列长度超出门限值时,可进行告警提示,并停止向前述报文发送队列内缓存数据,由此,可进一步的控制TCP流量,保证卫星通信链路内数据的稳定传输。
在一个可能的设计中,在将所述数据包传输至所述匹配TCP连接对应的目标接收端前,所述方法还包括:
PEP客户端判断目标会话缓冲队列的缓存长度是否达到预设阈值,其中,所述目标会话缓冲队列为所述匹配TCP连接对应第一通信会话的会话缓冲队列;
若是,PEP客户端则暂停向所述目标会话缓冲队列内缓存数据,直至所述目标会话缓冲队列的缓存长度小于预设阈值时为止;和/或
PEP客户端接收PEP服务器发送的缓存告警信令,并在接收到所述缓存告警信令后,暂停发送所述目标会话缓存队列中的报文,以在所述目标会话缓冲队列中的缓存长度达到预设阈值时,触发所述PEP客户端侧的流量控制动作。
基于上述公开的内容,本发明可实时监控PEP网关侧通信会话的会话缓冲队列长度,当会话缓冲队列到达缓存最大容量时,则可停止缓存数据,如此,也可达到控流的目的。
在一个可能的设计中,在将所述数据包传输至所述匹配TCP连接对应的目标接收端后,所述方法还包括:
PEP客户端接收PEP服务器发送的TCP确认报文,并基于所述TCP确认报文判断所述数据包在传输过程中是否出现丢包事件;
若是,PEP客户端则将所述数据包通过所述匹配TCP连接对应的目标I P隧道重新传输至所述PEP服务器,以完成对所述数据包的重新发送,且在所述数据包对应的所有发送过程中,所述PEP客户端的TCP发送窗口的大小为一固定值。
基于上述公开的内容,本发明在检测到丢包时,只需要重传丢失的报文,且保持PEP客户端的TCP发送窗口大小不变,如此,本发明在丢包时,并不需要降低窗口,而传统的卫星通信,在检测到丢包时,会认为是网络拥塞,从而启用拥塞机制来降低窗口,进而导致传输速率降低;由此,本发明可避免传统卫星通信中因丢包来降低窗口的弊端,从而提高传输速率。
第二方面,提供了另一种基于卫星通信的数据传输装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于卫星通信的数据传输方法。
第三方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于卫星通信的数据传输方法。
第四方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述基于卫星通信的数据传输方法。
有益效果:
(1)本发明所提供的方法,无需对最终用户的TCP窗口进行调整,在保持原有窗口大小的情况下,通过在卫星终端和I P网关处各设置有一PEP网关,来将卫星通信中的TCP连接分为两段地面标准TCP连接和一段空间隧道连接,从而减少TCP连接建立的时间,以从加快数据传输启动速度层面来提高数据传输速率,同时,在PEP网关(即PEP客户端)设置相应的会话缓冲队列,可实现PEP网关的本地确认和重传功能,从而进一步的加快传输速率;由此,本发明可使长时延高丢包率的卫星链路上的TCP仍然保持高速的传输,适用于在卫星通信数据传输领域大规模广泛应用与推广。
(2)本发明在PEP客户端与PEP服务器之间建立隧道,在I P网关侧的PEP服务器,可根据报文所属的目的用户和优先级来选择I P隧道,且地面段发送的属于同一个目的用户和同一个优先级的TCP连接,可复用在I P隧道连接内,如此,使得两端的多个会话可通过一条I P隧道传输数据,从而实现多路复用。
(3)本发明通过对TCP连接、通信会话以及I P隧道建立关联关系来管理数据报文的转发,如此,只要在连接建立阶段为会话建立好数据结构,后续在报文转发时,发送端侧的报文只需要匹配TCP连接,而从空间网络侧来的报文只需要匹配I P隧道连接,就可以找到出口连接,由此,可提高网关的效率。
(4)本发明可根据与PEP客户端连接的下一级设备的接收带宽,来调整PEP客户端的发送带宽,如此,可达到控制TCP流量的目的;同时,当PEP网关所发送的报文队列长度超出门限值时,可进行告警提示,并停止TCP的数据的发送,由此,可进一步的控制TCP流量,保证卫星通信链路内数据的稳定传输。
(5)本发明可实时监控PEP客户端侧通信会话的会话缓冲队列长度,当会话缓冲队列到达缓存最大容量时,则可停止向会话缓冲队列缓存数据,使TCP连接的接收窗口逐渐关闭,从而促使发送端停止发送数据,如此,也可达到控流的目的。
(6)本发明在检测到丢包时,只需要重传丢失的报文,且保持PEP客户端的TCP发送窗口大小不变,如此,本发明在丢包时,并不需要降低窗口,相比于传统的卫星通信,提高了丢包时的传输速率。
附图说明
图1为本发明实施例提供的基于卫星通信的数据传输***的架构示意图;
图2为本发明实施例提供的基于卫星通信的数据传输方法的步骤流程图;
图3为本发明实施例提供的基于卫星通信的数据传输方法中分段式TPC连接的工作示意图;
图4为本发明实施例提供的发送端基于PEP客户端与PEP服务器进行通信时的I P隧道的结构示意图;
图5为本发明实施例提供的隧道优先级映射表的结构示意图;
图6为本发明实施例提供的发送端与接收端基于PEP客户端与PEP服务器建立TCP连接的流程示意图;
图7为本发明实施例提供的PEP客户端和PEP服务器内基于会话缓冲队列的数据迁移示意图;
图8为本发明实施例提供的传输数据报文的结构示意图;
图9为本发明实施例提供的使用传统方法进行卫星通信时的吞吐量的效果意图;
图10为本发明实施例提供的使用本方法进行卫星通信时的吞吐量的效果意图;
图11为本发明实施例提供的基于卫星通信的数据传输装置的结构示意图;
图12为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
实施例:
参见图1所示,为本实施例所提供的基于卫星通信的数据传输方法提供一种卫星通信***,该***可以但不限于包括PEP客户端、PEP服务器、卫星终端、I P网关、多个发送端和多个接收端,其中,所述卫星终端连接有多个发送端,所述I P网关连接有多个接收端,所述卫星终端处部署有一PEP客户端(PEP客户端可以独立部署,也可以部署在卫星终端上),所述I P网关处部署有一PEP服务器(PEP服务器可以独立部署,也可部署在卫星终端上),所述PEP客户端和所述PEP服务器之间建立有多条不同优先级的I P隧道,如此,本发明相当于将卫星网络的I P网关从数据源到用户端进行分离,从而将卫星通信分为地面段和空间段两部分,这样,就可以把原有的卫星通信中的TCP连接分为三段,参见图3所示,发送端与卫星终端处的PEP客户端,以及接收端与I P网关处的PEP服务器之间均采用标准TCP连接进行通信,而两个PEP网关(也就是PEP客户端与PEP服务器)之间则采用隧道模式进行数据传输,由此,即可在两个PEP之间的长RTT(长时延)连接间进行性能优化,从而提高卫星通信链路的数据传输速率。
在本实施例中,以前述***为基础来实现卫星通信的流程图可参见图2所示,其中,举例该基于卫星通信的数据传输方法可以但不限于在发送端、接收端、PEP客户端和PEP服务器侧运行,可以理解的是,前述执行主体并不构成对本申请实施例的限定,相应的,由于在实际应用过程中,每个发送端基于两PEP网关(也就是PEP客户端与PEP服务器)与各个接收端建立TCP连接的过程相同,下述以一个发送端与各个接收端的TCP连接过程为例,来进行详细阐述,具体实施时,本方法的运行步骤可以但不限于如下述步骤S1~S7所示。
S1.PEP客户端接收发送端发送的至少一个SYN报文,并为所述至少一个SYN报文中的每个SYN报文建立一第一TCP连接;具体应用时,在进行卫星通信连接,需要先建立收发双方的TCP连接,而步骤S1则是发送端向PEP客户端发送SYN(Synchron ize SequenceNumbers,同步序列编号)报文的过程,以便PEP客户端在接收到发送端发送的任一SYN报文(即SYN报文)后,启动TCP连接的建立流程,也就是为每个SYN报文建立一第一TCP连接。
在为每个SYN报文建立第一TCP连接后,即可基于各个SYN报文的第一TCP连接,来进行收发双方TCP连接的搭建,同时,在建立连接时,相当于也就完成了整个传输数据结构的搭建,即建立TCP连接、PEP客户端的通信会话、PEP客户端与PEP服务器之间的I P隧道、PEP服务器的通信会话以及TCP连接之间的关联关系来管理数据报文的转发,其中,收发双方TCP连接的建立过程可以但不限于如下述步骤S2~S6所示。
S2.对于建立的多条第一TCP连接中的任一第一TCP连接,PEP客户端根据所述任一第一TCP连接对应的SYN报文,从多条待选I P隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的I P隧道,以作为目标I P隧道,其中,所述多条待选I P隧道为所述发送端使用PEP客户端与PEP服务器进行通信的所有I P隧道;在本实施例中,由于前述就已说明PEP客户端和PEP服务器之间是采用隧道模式进行通信,并且建立有多条不同优先级的隧道,因此,任一发送端基于PEP客户端与PEP服务器进行通信时,可使用多个I P隧道进行数据传输;具体的,参见图4所示,对于任一发送端(即图中的用户1、用户2,...,用户M),其通过PEP客户端与PEP服务器进行通信时,PEP客户端与PEP服务器之间建立有N条优先级不同的隧道(在本实施例中,N优选为4),而该N条I P隧道则作为待选I P隧道,如此,在进行TCP连接的建立时,即可为任一发送端对应的每个第一TCP连接来选择一个I P隧道进行数据传输,从而为每条第一TCP连接分配独立的传输链路。
具体应用时,举例所述至少一个SYN报文中的任一SYN报文包括:该任一SYN报文的报文优先级字段,其中,所述报文优先级字段用于表征使用该任一SYN报文对应第一TCP连接进行数据传输时的传输优先级,且报文优先级字段的值越大,其代表的传输优先级越高;如,举例报文优先级字段为0-7,当然,其实际字段可根据实际使用而具体设定,在此不限定于前述举例;由此,即可基于SYN报文的优先级,来确定对应第一TCP连接的优先级,从而从发送端对应的多个待选I P隧道中,选择对应优先级的I P隧道,来作为该第一TCP连接的目标I P隧道;可选的,对于任一第一TCP连接来说,其对应目标I P隧道的匹配过程如下述步骤S21~S23所示。
S21.PEP客户端获取隧道优先级映射表,其中,所述隧道优先级映射表中存储有所述多条待选I P隧道中每条待选I P隧道对应的I P隧道优先级,以及报文优先级字段与I P隧道优先级的映射关系;具体应用时,隧道优先级映射表可预先配置在PEP客户端侧,使用时进行读取,并与任一第一TCP连接对应SYN报文中的报文优先级字段进行匹配即可;可选的,其结构可参见图5所示。
在得到隧道优先级映射表后,即可进行I P隧道的选择,如下述步骤S22和步骤S23所示。
S22.PEP客户端基于所述任一第一TCP连接对应SYN报文中的报文优先级字段,从所述隧道优先级映射表中,匹配出与所述报文优先级字段相对应的I P隧道优先级,作为匹配隧道优先级。
S23.PEP客户端将所述匹配隧道优先级相对应的待选I P隧道,作为所述目标I P隧道;具体应用时,先在隧道优先级映射表中查找出与报文优先级字段对应的I P隧道优先级;而后,即可将查找出的I P隧道优先级对应的I P隧道,作为目标I P隧道;如图5所示,假设发送端基于PEP客户端与PEP服务器进行通信的I P隧道设置有4条,分别为I P隧道1(I P隧道优先级为1)、I P隧道2(I P隧道优先级为2)、I P隧道3(I P隧道优先级为3)和I P隧道4(I P隧道优先级为4),其中,SYN报文中的报文优先级字段为2,在优先级映射表中,报文优先级字段2对应的I P隧道优先级为3,那么即可将I P隧道3(优先级为3)作为目标I P隧道。当然,其余不同赋值的报文优先级字段对应目标I P隧道的查找原理与前述举例原理相同,于此不再赘述。
另外,在本实施例中,可能存在多个报文优先级字段映射到同一条I P隧道的情况,参见图5所示,如报文优先级字段6和7都对应I P隧道优先级1,因此都映射到I P隧道1,同理,报文优先级字段4和5映射到I P隧道2,报文优先级字段2和3映射到I P隧道2,报文优先级字段0和1映射到I P隧道4;当然具体映射关系可以由用户进行配置更改,在此不限定于前述举例。
在本实施例中,举例隧道优先级映射表还包括有I P隧道优先级到报文优先级字段的映射关系,即当PEP客户端从I P隧道接收到数据时,也需要从I P隧道的优先级还原出报文的真实优先级(即根据前述I P隧道优先级到报文优先级字段的映射关系进行还原),并在发送数据包时写入报文优先级字段,如图5所示,从I P隧道1(I P隧道优先级1对应的隧道)接收的数据,对应的报文优先级字段是7,从I P隧道2接收的数据,对应的报文优先级字段是5,从I P隧道3接收的数据,对应的报文优先级字段是3,从I P隧道4接收的数据,对应的报文优先级字段是0,同样的,I P隧道到数据报文优先级字段的映射关系也可以根据用户的业务需求进行配置。
另外,由于卫星通信链路是双向的,若PEP服务器侧接收到TCP连接时,则需要基于传输的报文中的I P地址先匹配出报文对应用户终端,然后再根据用户终端I D,报文中的报文优先级字段以及在PEP服务器侧的优先级映射表,来确定所传输的I P隧道;而PEP服务器接收到I P隧道的报文,也根据优先级映射表对应的还原出报文中报文优先级字段的优先级。
更进一步的,当PEP客户端侧对任一第一TCP连接对应的目标I P隧道匹配失败时,则说明在隧道优先级映射表中并未找到对应优先级的I P隧道,此时,可触发相应优先级的隧道建立流程,当然,也可进行丢包处理。
在得到该任一第一TCP连接在进行数据传输时,所使用的目标I P隧道后,即可为该任一第一TCP连接建立一第一通信会话,以便后续基于第一通信会话来创建连接建立请求信令报文,从而使用该任一第一TCP连接对应的目标I P隧道将其传输至PEP服务器,以使PEP服务器基于该信令,创建与第一通信会话相对应第二通信会话,并得出该任一第一TCP连接对应的接收端,并将其与第二通信会话相关联,以及完成PEP服务器与该任一第一TCP连接对应的接收端的连接,如此,即可完成发送端与接收端的通信连接,且后续进行数据传输时,也可根据前述两会话以及目标I P隧道的关联结构来进行数据传输,其中,第一通信会话的建立过程如下述步骤S3所示。
S3.PEP客户端为所述任一第一TCP连接创建第一通信会话,其中,所述第一通信会话对应有一会话缓冲队列,所述第一通信会话包括连接信息,所述连接信息用于创建与所述任一第一TCP连接相对应的第二TCP连接,所述第二TCP连接用于建立所述PEP服务器与目标接收端之间的通信连接,且所述目标接收端为所述发送端使用所述任一第一TCP连接进行数据传输时所对应的接收端;具体应用时,举例任一SYN报文还可以但不限于包括:该任一SYN报文的源I P、源端口、目的I P以及目的端口,且所述目标I P和所述目的端口为使用该任一SYN报文的第一TCP连接请求进行数据传输时所对应接收端的I P地址和端口信息;当然,前述信息均在进行数据封装时,封装至SYN报文中,使用时解析报文即可。
由此通过前述设计,即可基于所述任一第一TCP连接对应的SYN报文,来创建得到所述第一通信会话;如此,即可使连接信息包含有源I P、目的I P、源端口以及目的端口,同时,在建立第一通信会话后,还可为该第一通信会话设置会话I D,从而便于在PEP服务器处,基于会话I D以及前述报文信息进行第二通信会话的创建,以及在数据传输过程中,基于会话I D进行第一通信会话与第二通信会话的匹配。
在创建该任一第一TCP连接的第一通信会话后,即可基于第一通信会话,来创建连接建立请求信令报文,以便将该信令报文传输至PEP服务器,来实现PEP服务器与该任一第一TCP连接进行数据传输时所对应接收端之间的通信连接,其中,信令报文创建过程如下述步骤S4所示。
S4.PEP客户端基于所述第一通信会话,创建连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述会话缓冲队列;具体应用时,则是根据第一通信会话中的连接信息来创建连接建立请求信令报文,也就是该信令报文中包含有连接信息中所有的内容,同时,其还包括该信令报文的长度等信息,在此不一一列举。
同时,在得到连接建立请求信令报文后,则可将其存储至会话缓冲队列,该会话缓冲队列可相当于PEP客户端的本地缓存,在进行数据传输时,可直接从该会话缓冲队列中拉取数据至隧道侧的缓冲队列中,且在数据丢失时,可直接从隧道侧的缓冲队列中拉取数据进行重传。
在得到该任一第一TCP连接对应的连接建立请求信令报文后,即可使用该任一第一TCP连接对应目标I P隧道,将其传输至PEP服务器,以使PEP服务器基于该信令报文在接收侧创建与第一通信会话的第二通信会话,并基于信令报文中的信息,来得出该任一第一TCP连接对应的接收端,以基于信令报文内的信息,来创建第二TCP连接,从而实现PEP服务器与该任一第一TCP连接对应的接收端之间的通信连接,其中,传输过程如下述步骤S5所示。
S5.PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文发送至所述PEP服务器,以使所述PEP服务器基于所述连接建立请求信令报文,创建与所述第一通信会话相对应的第二通信会话、创建与所述任一第一TCP连接相对应的第二TCP连接以及确定出目标接收端,并将所述第二通信会话关联所述目标接收端,以及基于所述第二TCP连接向所述目标接收端发送连接请求,以与所述目标接收端之间建立通信连接;具体应用时,信令传输与解析过程如下述步骤S51和步骤S52所示。
S51.PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述目标I P隧道的隧道缓冲队列内。
S52.PEP客户端从所述隧道缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文传输至PEP服务器,以使所述PEP服务器解析所述连接建立请求信令报文,得到源I P、源端口、目的I P、目的端口以及所述任一第一TCP连接对应第一通信会话的会话I D,以便基于所述目的I P和目的端口,确定出所述目标接收端,以及基于所述源I P、所述源端口、所述目的I P、所述目的端口以及所述会话I D,创建得到所述第二TCP连接和所述第二通信会话。
具体应用时,则是先从会话缓冲列表中读取连接建立请求信令报文,然后再将其存储至该任一第一TCP连接对应目标I P隧道的隧道缓冲队列内,以便在该隧道缓冲队列内等待数据传输;而后,在发送时,PEP客户端则从目标I P隧道的隧道缓冲队列内读取该连接建立请求信令报文,并通过目标I P隧道发送至PEP服务器;接着,PEP服务器则可解析该信令报文,得到目的I P和目的端口,从而确定该任一第一TCP连接进行数据传输时所对应的接收端,也就是目标接收端;同时,也可根据源I P、源端口、目的I P、目的端口以及会话ID,来创建与第一TCP连接相对应的第二TCP连接,以及创建与第一通信会话对应的第二通信会话,从而完成第二通信会话与目标接收端的关联;最后,将第二TCP连接发送至目标接收端,即可完成PEP服务器与目标接收端之间的连接。
同时,PEP客户端在向PEP服务器发送该连接建立请求信令报文的同时,还会向发送端返回一连接响应报文,从而促使发送端与PEP客户端建立该任一第一TCP连接,其中,响应过程如下述步骤S6所示。
S6.PEP客户端向所述发送端发送连接响应报文,以使所述发送端在接收到所述连接响应报文后,完成与所述PEP客户端之间的匹配TCP连接,其中,所述连接响应报文包括任一第一TCP连接对应的TCP报文,所述TCP报文包括SYN字段和ACK字段,且所述匹配TCP连接为所述任一第一TCP连接;具体应用时,可参见图6所示,在发送端与第一PEP之间,SYN+ACK则表示连接响应报文,其中,一次TCP连接则是在收发双方传输SYN、SYN+ACK和ACK;同理,在接收端与PEP服务器之间,PEP服务器向目标接收端发送第二TCP连接相当于也是先向目标接收端发送SYN报文,目标接收端接收到SYN报文后,向PEP服务器返回SYN+ACK报文,最后,再由PEP服务器向目标接收端发送ACK,此过程完成后,即可建立PEP服务器与目标接收端之间的TCP连接。
由此,基于前述步骤S1~S6,即可完成发送端与目标接收端的TCP连接;如此,使用前述步骤S1~S6,即可建立发送端与多个接收端之间的TCP连接,当然,每个发送端与任一接收端之间均对应一条第一TCP连接。
在建立发送端与多个接收端之间的TCP连接后,即可完成数据的传输,如下述步骤S7所示。
S7.PEP客户端接收发送端发送的数据包,并从所述多个第一TCP连接中确定出用于传输所述数据包的第一TCP连接,作为匹配TCP连接,以便利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标I P隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,以完成所述数据包的数据传输;具体应用时,数据包的传输过程可以但不限于包括如下步骤S71~S74。
S71.PEP客户端将所述匹配TCP连接对应第一通信会话的连接信息添加至所述数据包中,得到传输数据报文,其中,所述连接信息包括会话I D;基于前述步骤,即可使数据传输报文包含有会话I D,从而便于在接收端侧基于该会话I D进行第二通信会话的匹配。
S72.PEP客户端将所述传输数据报文存储至所述匹配TCP连接对应第一通信会话的会话缓冲队列中。
S73.PEP客户端从所述匹配TCP连接对应第一通信会话的会话缓冲队列中读取所述传输数据报文,并将所述传输数据报文存储至所述匹配TCP连接对应目标I P隧道的隧道缓冲队列中。
S74.PEP客户端从所述匹配TCP连接对应目标I P隧道的隧道缓冲队列中读取所述传输数据报文,并将所述传输数据报文发送至所述PEP服务器,以使所述PEP服务器在接收到所述传输数据报文后,解析所述传输数据报文,得到会话I D和数据包,以便基于所述会话I D确定目标通信会话,并将所述数据包传输至目标通信会话所关联的目标接收端,其中,所述目标通信会话为所述匹配TCP连接的第一通信会话相对应的第二通信会话。
具体实施时,本实施例则是先进行TCP连接的匹配,从而从建立的第一TCP连接中,确定出进行数据传输的第一TCP连接,其中,该步骤就相当于就确定了第一通信会话、进行数据传输的I P隧道以及PEP服务器处的通信会话;而后,即可基于匹配的TCP连接来实现数据的快速转发;下述以一个实例来进行阐述:
假设发送端共计发送有4条第一TCP连接,分别为第一TCP连接1、第一TCP连接2、第一TCP连接3和第一TCP连接4,其中,第一TCP连接1的目标I P隧道为I P隧道4,第一TCP连接2的目标I P隧道为I P隧道1,第一TCP连接3的目标I P隧道为I P隧道2,第一TCP连接4的目标I P隧道为I P隧道3;且第一TCP连接1的第一通信会话对应第二通信会话所关联的目标接收端为终端A,第一TCP连接2的第一通信会话对应第二通信会话所关联的目标接收端为终端B,第一TCP连接3的第一通信会话对应第二通信会话所关联的目标接收端为终端C,第一TCP连接4的第一通信会话对应第二通信会话所关联的目标接收端为终端D。
同时,举例发送端使用第一TCP连接1将数据包传输至PEP客户端,此时,即可从前述各个第一TCP连接中确定出第一TCP连接1为匹配TCP连接,此时,即可将第一TCP连接1对应第一通信会话的连接信息添加至该数据包中,得到传输数据报文,并将传输数据报文存储至第一TCP连接1对应第一通信会话的会话缓冲列表中;接着,PEP客户端则将数据传输报文存储至I P隧道4的隧道缓冲列表中,并在发送时,从I P隧道4的隧道缓冲列表中读取该传输数据报文,并通过I P隧道4将传输数据报文发送至PEP服务器;而PEP服务器在接收到传输数据报文后,则可解析该报文,得到会话I D和数据包,并基于会话I D确定第一TCP连接1的第一通信会话对应的第二通信会话,从而确定出传输数据报文的目标接收端,也就是终端A,如此,PEP服务器则可将传输数据包发送至终端A;当然,使用其余不同第一TCP连接进行数据传输时,其原理与前述举例一致,于此不再赘述。
在本实施例中,PEP客户端在接收到数据包后,会将其存储至PEP客户端入口处的TCP连接的缓存区中,然后,再在TCP连接的缓存区中读取数据包,将其存储至该匹配TCP连接的会话缓冲列表中;也就是在发送侧,数据包会经过两次迁移,经历三次缓存,参见图7所示,第一次为:缓存至TCP连接的缓存区中,第二次为:从TCP连接的缓存区迁移至会话缓冲列表中,第三次为:从会话缓冲列表迁移至隧道缓冲列表中;同理,在接收侧与发送侧相反,即先从接收侧的隧道缓冲列表迁移至接收侧的会话缓冲列表,再从接收侧的会话缓冲列表迁移至接收侧的TCP缓存区,最后从接收侧的TCP连接的缓存区发送至目标接收端。
在本实施例中,举例传输数据报文可以但不限于包括:MAC(Med ia AccessContro l Address),媒体存储控制位地址)报文头、隧道I P报文头、隧道TCP报文头、报文类型字段、预留字段、数据长度字段(由图8中的Len表示)、会话I D、报文序号(由图8中的Sequence表示)以及数据包(由图8中的DATA表示),其结构参见图8所示,其中,报文类型(由图8中的Type表示)字段表示信令或者数据,长度为4比特,预留字段(由图8中的Resv表示)长度为4比特,数据长度字段(由图8中的Len表示)为16比特,表示数据部分的长度,会话I D(由图8中的Sess ion ld表示)为32比特,由会话的发起方分配,为了避免重复,I P网关侧置bit 31为1,卫星终端侧置bit 31为0;报文序号为32比特,其功能与TCP的序号相同;如此,本实施例采用私有报文头结构只需要11字节,该结构内包含有会话I D,可通过会话I D得知报文的所属连接,相比于直接将I P头和TCP头放入隧道,不仅节约了链路带宽,还使得会话的匹配也更加方便快捷。
另外,在本实施例中,数据传输完后,若要断开发送端与目标接收端之间的TCP连接,则是发送端向PEP客户端发送拆除报文,并由PEP客户端传输至PEP服务器;当然,拆除报文的传输过程与数据传输一致,于此不再赘述,而当目标接收端接收到拆除报文后,则可断开连接。相应的,也可以由目标接收端发起连接拆除过程,过程与发送端发起类似。
通过上述设计,一方面,本发明将卫星通信中的TCP连接分为两段地面标准TCP连接和一段空间隧道连接,从而减少握手时间以及TCP连接确认时间,进而提高数据传输速率,同时,在PEP网关设置相应的会话缓冲队列,可实现PEP网关的本地确认和本地重传功能,从而进一步的加快速度传输速率;另一方面,通过对TCP连接、通信会话以及I P隧道建立关联关系来管理数据报文的转发,如此,只要在连接建立阶段为会话建立好数据结构,即可基于关联结构快速完成数据转发,所以,本发明可使长时延高丢包率的卫星链路上的TCP仍然保持高速的传输。
在一个可能的设计中,本实施例第二方面在实施例第一方面的基础上,在数据传输前,基于PEP客户端的会话缓冲队列内缓存的报文长度以及其要发送的报文长度,来进行传输数据的流控,以进一步的保证卫星传输的稳定性。
首先,本实施例在PEP客户端和PEP服务器处,分别设置有流量控制模块,具体的,则是在任一PEP网关的入口和出口处进行设置,以实现任一PEP网关接收报文队列和报文发送队列长度的监控,其中,以PEP客户端为例,在其出口处进行流量的监控,可选的,则是获取其出口处待传输的报文长度来进行流量预警,并同时结合其连接的下一级网元(也是就数据传输的下一级设备,可以但不限于为链路网关)的接收带宽,来进行发送带宽的调整,其中,调整方法可以但不限于如下述步骤S071~S073所示。
S071.PEP客户端获取报文发送队列长度以及目标设备的接收带宽,并根据接收带宽调整发送带宽,以基于调整后的发送带宽将报文发送队列内的报文传输至所述PEP服务器,其中,所述报文发送队列内的报文为所述PEP客户端内待传输的所有报文,且所述目标设备为所述PEP客户端的下一级设备;具体应用时,匹配TCP连接对应目标接收端则可认为是PEP客户端所连接的下一级网元,当然,也可为其余设备;同时,基于下一级网元的接收带宽来调整PEP客户端的发送带宽的方法可以但不限于为:将接收带宽调整为发送带宽,如发送带宽为1000Mb/s,而接收带宽为500Mb/s,那么,接收带宽明显低于发送带宽,此时,即可将发送带宽调整为500Mb/s,以满足下一级网元所能接收的最大数据量;另外,前述就已说明,可能存在多个发送端,其每个发送端所使用隧道的优先级不同,那么PEP客户端出口处的待传输的报文则存在不同优先级的待传输报文,因此,PEP客户端还可根据优先级分配发送带宽;由此,本实施例即可在PEP客户端的出口处为每个用户的每个优先级提供不同的发送队列,并轮流调度各个发送队列进行数据发送,从而实现高优先级数据获得更多带宽的功能。
更进一步的,前述就已说明,还可结合PEP客户端出口处所有待传输的所有报文,来进行流量报警,如此,在本实施例中,报文发送队列长度可理解为所述PEP客户端的出口处待传输的所有报文,而该出口处所缓存的报文长度若大于门限值,则可进行告警提示,其中,告警步骤如下述步骤S072和步骤S073所示。
S072.PEP客户端判断所述报文发送队列长度是否大于门限值;具体应用时,门限值可根据实际使用而具体设定,在此不作具体限定。
S073.若是,PEP客户端则进行告警提示,并停止向所述报文发送队列内缓存报文;在具体应用时,步骤S073的设置,可促使数据包在会话的缓冲队列中堆积,从而触发前一级流量控制;可选的,当PEP客户端出口处缓存的报文长度大于门限值时,则进行告警,低于门限值时则消除报警,且在报警后,可停止报文的缓存;同时,还可在门限值的基础上设置一小于门限值的安全值,即无告警状态时,队列内报文长度增长到门限值,就产生告警;有告警状态时,回落到安全值,就消除告警,如此,可保证告警不会频繁的产生和消失。
通过前述设计,本发明可根据与PEP网关连接的下一级设备的接收带宽,来调整PEP网关的发送带宽,当发送队列空间不足时,PEP暂缓发送数据,队列空间恢复时继续发送数据,从而达到控制TCP流量的目的,以保证数据的稳定传输。
其次,在本实施例中,还可根据PEP客户端内第一通信会话对应会话缓冲队列内报文的长度,来进行数据缓存控制,从而从数据缓存层面来达到流控目的,其中,基于会话缓冲队列来进行控流的过程可以但不限于如下述步骤S074和步骤S075所示。
S074.PEP客户端判断目标会话缓冲队列的缓存长度是否达到预设阈值,其中,所述目标会话缓冲队列为所述匹配TCP连接对应第一通信会话的会话缓冲队列。
S075.若是,PEP客户端则暂停向所述目标会话缓冲队列内缓存数据,直至所述目标会话缓冲队列的缓存长度小于预设阈值时为止;具体应用时,会话缓冲队列的流控是在基于使用对应第一TCP连接进行数据传输过程中实施的,因此,针对的是每个第一TCP连接对应第一通信会话的会话缓冲队列,其实质就是控制每个第一TCP连接对应会话缓冲队列是否可从PEP客户端内的TCP连接的缓存区内拉取数据,即超出预设阈值,停止缓存数据,反之,小于预设阈值时,则可继续缓存数据;同时,当不再从TCP连接的缓存区内拉取数据后,TCP连接的接收缓存区变满,接收窗口降为0,此时,发送端则不再发生数据;当然,预设阈值也可根据实际使用而具体设定,在此不作具体设定。
另外,在本实施例中,当PEP服务器侧出现网络拥塞时,也会触发PEP客户端的流控动作,即PEP客户端接收PEP服务器发送的缓存告警信令,并在接收到所述缓存告警信令后,暂停发送所述目标会话缓存队列中的报文,以在所述目标会话缓冲队列中的缓存长度达到预设阈值时,触发所述PEP客户端侧的流量控制动作;具体应用时,在PEP服务器处,由于第二TCP连接数据无法成功发送(网络拥塞或其他原因),数据会在PEP服务器处的第二通信会话的会话缓冲队列处堆积,当队列的报文长度大于预设阈值时,PEP服务器则可通过I P隧道向PEP客户端发送告警信令,使PEP客户端暂停发送其第一通信会话的缓冲区中的数据,从而使PEP客户端的第一通信会话的会话缓冲队列数据逐渐堆积达而到阈值,触发PEP客户端侧的流量控制,进而达到TCP流控的目的。
由此,本发明中,一条报文数据传输的完整过程为:从PEP客户端处的TCP连接的缓冲区接收,存入PEP客户端会话缓冲列表中,再存入隧道缓冲列表中,接收至PEP服务器的隧道缓冲列表中,再存入PEP服务器的会话缓冲列表中,最后存入PEP服务器的TCP连接缓冲区中,如此,即可组成一个完整的会话,而会话的任何一侧缓冲区满时,都会造成发送端对应的TCP连接挂起,驱动发送端不再发送数据,从而达到控流目的。
另外,在PEP客户端的入口处,可设置输入流控,以数据包的转发延迟作为***拥塞的标志,数据包的转发延迟增大,说明输入速率高于出口带宽,需要调低输入流量,数据包的转发延迟减小,说明输入速率低于出口带宽,可以调高输入流量。数据包的转发延迟可以通过先获取网关的队列总长度(入口队列、PEP内部缓存(包括I P隧道和TCP连接的缓存)和出口队列的所有数据包总长),用出口带宽除以队列总长度估算。输入流量的调节方法有两种:1)当转发延迟大于预设阈值时,在入口处按照预设的丢包率进行丢包,丢包率随着转发延迟的增大而增大,直到达到上限,根据TCP的拥塞控制原理,丢包能够使TCP的发送端降低发送窗口,进入拥塞避免流程,从而降低了输入流量;2)根据丢包率的平均值调整TCP的接收窗口最大值,当丢包率的平均值超过预设范围,说明输入速率过大,降低接收窗口的最大值,发送端就降低发送速率,如果丢包率的平均值低于预设阈值范围,说明输入速率比较小,可以调高接收窗口的最大值,使发送端有机会发送更高速率,如果丢包率均值在预设阈值范围内波动,说明收发平衡,可以维持窗口不变。当然,在PEP服务器处,也可采用相同的方法来进行流控,其原理与PEP客户端处的流控原理相同,于此不再赘述。
最后,本发明在完成数据包的传输后,还设置有丢包检测,以在丢包时,进行数据传输的调整;其中,在传统的卫星通信技术中,当接收侧检测到数据传输出现丢包时,则会认定为网络出现拥塞,此时,则会启动拥塞避免机制,来降低发送侧的发送窗口的大小,从而达到数据稳定传输的目的;但是,在卫星通信中,造成丢包的原因大多是误码率造成的,因此,如果启用拥塞避免机制来降低发送窗口的大小,则会降低传输速率;由此,本实施例则设置有丢包后的处理步骤,如下述步骤S8和步骤S9所示。
S8.PEP客户端接收PEP服务器发送的TCP确认报文,并基于所述TCP确认报文判断所述数据包在传输过程中是否出现丢包事件;具体应用时,在每发送一数据包时,都会给目标接收端和发送端相应的ACK(图6中的data表示的是数据包),如此,即可基于ACK来实现丢包检测,其原理为,若未收到数据包对应的ACK,则说明出现丢包问题,在检测到出现丢包时,PEP客户端则可实现数据报的重新发送,具体的,重发步骤如下述步骤S9所示。
S9.若是,PEP客户端则将所述数据包通过所述匹配TCP连接对应的目标I P隧道重新传输至所述PEP服务器,以完成对所述数据包的重新发送,且在所述数据包对应的所有发送过程中,所述PEP客户端的TCP发送窗口的大小为一固定值;具体应用时,相当于是保持PEP客户端的TCP发送窗口大小不变,并只重传丢失的报文,如此,可避免慢启动和拥塞流程所导致的降低传输速率的问题,由此,本实施例相比于传统的卫星通信,提高了丢包时的传输速率。
另外,本实施例给出本方法进行数据传输时吞吐量与传统方法进行数据传输时吞吐量的对比过程,如下述图9和图10所示。
具体操作时,使用本实施例所提供的方法和传统的基于卫星通信的数据传输方法进行统一数据传输,其中,条件为:模拟链路时间600ms,丢包率为10-6,链路最大带宽为1G,进行TCP流量测试,在前述条件下,使用传统的卫星传输方法进行数据传输所获得的吞吐量的效果示意图可参见图9所示,从图9可以看出,TCP流量增长需要很长时间,并且遇到丢包,下降到原来的1/2,再次进入缓慢增长;而使用本实施例所提供的方法进行数据传输,所获得的吞吐量的效果示意图可参见图10所示,从图10中可以看出,流量比较平稳,图10中出现短暂流量下降的原因为:链路丢包,而一旦产生丢包,就需要进行数据的重传,这时候隧道收到的报文会存储在队列,一个RTT后重传报文到达,接收侧PEP缓存的数据才发送给用户,所以遇到一次丢包会产生短暂的流量波动;但是,对比图9和图10,可明显得出本实施例所提供的方法所达到的吞吐量效果更好,更平稳,而不会产生较大的波动,其整体传输速率要高于传统的卫星通信方法。
如图11所示,本实施例第三方面提供了一种实现实施例第一方面和第二方面中所述的基于卫星通信的数据传输方法的硬件装置,包括:
TCP连接建立单元,用于接收发送端发送的至少一个SYN报文,并为所述至少一个SYN报文中的每个SYN报文建立一第一TCP连接。
隧道选择单元,对于建立的多条第一TCP连接中的任一第一TCP连接,用于根据所述任一第一TCP连接对应的SYN报文,从多条待选I P隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的I P隧道,以作为目标I P隧道,其中,所述多条待选I P隧道为所述发送端使用PEP客户端与PEP服务器进行通信的所有I P隧道。
会话建立单元,用于为所述任一第一TCP连接创建第一通信会话,其中,所述第一通信会话对应有一会话缓冲队列,所述第一通信会话包括连接信息,所述连接信息用于创建与所述任一第一TCP连接相对应的第二TCP连接,所述第二TCP连接用于建立所述PEP服务器与目标接收端之间的通信连接,且所述目标接收端为所述发送端使用所述任一第一TCP连接进行数据传输时所对应的接收端。
信令建立单元,用于基于所述的第一通信会话,创建连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述会话缓冲队列。
数据传输单元,用于从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标I P隧道将所述连接建立请求信令报文发送至所述PEP服务器,以使所述PEP服务器基于所述连接建立请求信令报文,创建与所述第一通信会话相对应的第二通信会话、创建与所述任一第一TCP连接相对应的第二TCP连接以及确定出目标接收端,并将所述第二通信会话关联所述目标接收端,以及基于所述第二TCP连接向所述目标接收端发送连接请求,以与所述目标接收端之间建立通信连接。
TCP连接建立单元,用于向所述发送端发送连接响应报文,以使发送端在接收到所述连接响应报文后,完成与所述PEP客户端之间的匹配TCP连接,其中,所述连接响应报文包括任一第一TCP连接对应的TCP报文,所述TCP报文包括SYN字段和ACK字段,且所述匹配TCP连接为所述任一第一TCP连接。
数据传输单元,用于接收发送端发送的数据包,并从所述多个第一TCP连接中确定出用于传输所述数据包的第一TCP连接,作为匹配TCP连接,以便利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标I P隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,以完成所述数据包的数据传输。
本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
如图12所示,本实施例第四方面提供了另一种基于卫星通信的数据传输装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面和/或第二方面所述的基于卫星通信的数据传输方法。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第五方面提供了一种存储包含有实施例第一方面所述的基于卫星通信的数据传输方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面和/或第二方面所述的基于卫星通信的数据传输方法。
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory St ick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面和第二方面,于此不再赘述。
本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面和/或第二方面所述的基于卫星通信的数据传输方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于卫星通信的数据传输方法,其特征在于,应用于卫星通信***的PEP客户端,其中,所述卫星通信***包括PEP客户端、PEP服务器、卫星终端、IP网关、多个发送端和多个接收端,所述卫星终端连接有多个发送端,所述IP网关连接有多个接收端,所述卫星终端处部署有一PEP客户端,所述IP网关处部署有一PEP服务端,所述PEP客户端和所述PEP服务器之间建立有多条不同优先级的IP隧道,所述方法包括:
PEP客户端接收发送端发送的至少一个SYN报文,并为所述至少一个SYN报文中的每个SYN报文建立一第一TCP连接;
对于建立的多条第一TCP连接中的任一第一TCP连接,PEP客户端根据所述任一第一TCP连接对应的SYN报文,从多条待选IP隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的IP隧道,以作为目标IP隧道,其中,所述多条待选IP隧道为所述发送端使用所述PEP客户端与所述PEP服务器进行通信的所有IP隧道;
PEP客户端为所述任一第一TCP连接创建第一通信会话,其中,所述第一通信会话对应有一会话缓冲队列,所述第一通信会话包括连接信息,所述连接信息用于创建与所述任一第一TCP连接相对应的第二TCP连接,所述第二TCP连接用于建立所述PEP服务器与目标接收端之间的通信连接,且所述目标接收端为所述发送端使用所述任一第一TCP连接进行数据传输时所对应的接收端;
PEP客户端基于所述第一通信会话,创建连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述会话缓冲队列;
PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标IP隧道将所述连接建立请求信令报文发送至所述PEP服务器,以使所述PEP服务器基于所述连接建立请求信令报文,创建与所述第一通信会话相对应的第二通信会话、创建与所述任一第一TCP连接相对应的第二TCP连接以及确定出目标接收端,并将所述第二通信会话关联所述目标接收端,以及基于所述第二TCP连接向所述目标接收端发送连接请求,以与所述目标接收端之间建立通信连接;
PEP客户端向所述发送端发送连接响应报文,以使所述发送端在接收到所述连接响应报文后,完成与所述PEP客户端之间的匹配TCP连接,其中,所述连接响应报文包括任一第一TCP连接对应的TCP报文,所述TCP报文包括SYN字段和ACK字段,且所述匹配TCP连接为所述任一第一TCP连接;
PEP客户端接收发送端发送的数据包,并从所述多个第一TCP连接中确定出用于传输所述数据包的第一TCP连接,作为匹配TCP连接,以便利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标IP隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,以完成所述数据包的数据传输。
2.根据权利要求1所述的方法,其特征在于,所述至少一个SYN报文中的任一SYN报文包括:该任一SYN报文的报文优先级字段,其中,所述报文优先级字段用于表征使用该任一SYN报文对应第一TCP连接进行数据传输时的传输优先级;
相应的,PEP客户端根据所述任一第一TCP连接对应的SYN报文,从多条待选IP隧道中确定出该任一第一TCP连接基于PEP客户端与PEP服务器进行通信的IP隧道,作为目标IP隧道,包括:
PEP客户端获取隧道优先级映射表,其中,所述隧道优先级映射表中存储有所述多条待选IP隧道中每条待选IP隧道对应的IP隧道优先级,以及报文优先级字段与IP隧道优先级的映射关系;
PEP客户端基于所述任一第一TCP连接对应SYN报文中的报文优先级字段,从所述隧道优先级映射表中,匹配出与所述报文优先级字段相对应的IP隧道优先级,作为匹配隧道优先级;
PEP客户端将所述匹配隧道优先级相对应的待选IP隧道,作为所述目标IP隧道。
3.根据权利要求1所述的方法,其特征在于,所述至少一个SYN报文中的任一SYN报文还包括:该任一SYN报文的源IP、源端口、目的IP以及目的端口,其中,所述目标IP和所述目的端口为使用该任一SYN报文的第一TCP连接请求进行数据传输时所对应接收端的IP地址和端口信息;
其中,PEP客户端为所述任一第一TCP连接创建第一通信会话,包括:
PEP客户端基于所述任一第一TCP连接对应的SYN报文,创建得到所述第一通信会话,其中,所述第一通信会话中的连接信息包括源IP、目的IP、源端口、目的端口以及会话ID,且所述连接建立请求信令报文也包括源IP、目的IP、源端口、目的端口以及会话ID;
相应的,PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并通过所述目标IP隧道将所述连接建立请求信令报文发送至PEP服务器,包括:
PEP客户端从所述会话缓冲队列内读取所述连接建立请求信令报文,并将所述连接建立请求信令报文存储至所述目标I P隧道的隧道缓冲队列内;
PEP客户端从所述隧道缓冲队列内读取所述连接建立请求信令报文,并通过所述目标IP隧道将所述连接建立请求信令报文传输至PEP服务器,以使所述PEP服务器解析所述连接建立请求信令报文,得到源IP、源端口、目的IP、目的端口以及所述任一第一TCP连接对应第一通信会话的会话ID,以便基于所述目的I P和目的端口,确定出所述目标接收端,以及基于所述源IP、所述源端口、所述目的IP、所述目的端口以及所述会话ID,创建得到所述第二TCP连接和所述第二通信会话。
4.根据权利要求1所述的方法,其特征在于,利用所述匹配TCP连接对应第一通信会话的会话缓冲队列、所述匹配TCP连接对应的目标IP隧道以及与所述匹配TCP连接的第一通信会话相对应的第二通信会话,将所述数据包传输至所述匹配TCP连接对应的目标接收端,包括:
PEP客户端将所述匹配TCP连接对应第一通信会话的连接信息添加至所述数据包中,得到传输数据报文,其中,所述连接信息包括会话ID;
PEP客户端将所述传输数据报文存储至所述匹配TCP连接对应第一通信会话的会话缓冲队列中;
PEP客户端从所述匹配TCP连接对应第一通信会话的会话缓冲队列中读取所述传输数据报文,并将所述传输数据报文存储至所述匹配TCP连接对应目标IP隧道的隧道缓冲队列中;
PEP客户端从所述匹配TCP连接对应目标IP隧道的隧道缓冲队列中读取所述传输数据报文,并将所述传输数据报文发送至所述PEP服务器,以使所述PEP服务器在接收到所述传输数据报文后,解析所述传输数据报文,得到会话ID和数据包,以便基于所述会话ID确定目标通信会话,并将所述数据包传输至目标通信会话所关联的目标接收端,其中,所述目标通信会话为所述匹配TCP连接的第一通信会话相对应的第二通信会话。
5.根据权利要求4所述的方法,其特征在于,传输数据报文包括:MAC报文头、隧道I P报文头、隧道TCP报文头、报文类型字段、预留字段、数据长度字段、会话ID、报文序号以及数据包。
6.根据权利要求1所述的方法,其特征在于,在将所述数据包传输至所述匹配TCP连接对应的目标接收端前,所述方法还包括:
PEP客户端获取报文发送队列长度以及目标设备的接收带宽,并根据接收带宽调整发送带宽,以基于调整后的发送带宽将报文发送队列内的报文传输至所述PEP服务器,其中,所述报文发送队列内的报文为所述PEP客户端内待传输的所有报文,且所述目标设备为所述PEP客户端的下一级设备;
PEP客户端判断所述报文发送队列长度是否大于门限值;
若是,PEP客户端则进行告警提示,并停止向所述报文发送队列内缓存报文。
7.根据权利要求1所述的方法,其特征在于,在将所述数据包传输至所述匹配TCP连接对应的目标接收端前,所述方法还包括:
PEP客户端判断目标会话缓冲队列的缓存长度是否达到预设阈值,其中,所述目标会话缓冲队列为所述匹配TCP连接对应第一通信会话的会话缓冲队列;
若是,PEP客户端则暂停向所述目标会话缓冲队列内缓存数据,直至所述目标会话缓冲队列的缓存长度小于预设阈值时为止;和/或
PEP客户端接收PEP服务器发送的缓存告警信令,并在接收到所述缓存告警信令后,暂停发送所述目标会话缓存队列中的报文,以在所述目标会话缓冲队列中的缓存长度达到预设阈值时,触发所述PEP客户端侧的流量控制动作。
8.根据权利要求1所述的方法,其特征在于,在将所述数据包传输至所述匹配TCP连接对应的目标接收端后,所述方法还包括:
PEP客户端接收PEP服务器发送的TCP确认报文,并基于所述TCP确认报文判断所述数据包在传输过程中是否出现丢包事件;
若是,PEP客户端则将所述数据包通过所述匹配TCP连接对应的目标IP隧道重新传输至所述PEP服务器,以完成对所述数据包的重新发送,且在所述数据包对应的所有发送过程中,所述PEP客户端的TCP发送窗口的大小为一固定值。
9.一种基于卫星通信的数据传输装置,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~8任意一项所述的基于卫星通信的数据传输方法。
10.一种存储介质,其特征在于,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~8任意一项所述的基于卫星通信的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150906.0A CN116131923B (zh) | 2023-02-15 | 2023-02-15 | 一种基于卫星通信的数据传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150906.0A CN116131923B (zh) | 2023-02-15 | 2023-02-15 | 一种基于卫星通信的数据传输方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116131923A CN116131923A (zh) | 2023-05-16 |
CN116131923B true CN116131923B (zh) | 2024-07-05 |
Family
ID=86297335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310150906.0A Active CN116131923B (zh) | 2023-02-15 | 2023-02-15 | 一种基于卫星通信的数据传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116131923B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3399707A1 (en) * | 2017-05-04 | 2018-11-07 | Global Eagle Entertainment Inc. | Data flow control for dual ended transmission control protocol performance enhancement proxies |
CN109639340A (zh) * | 2018-12-11 | 2019-04-16 | 成都天奥信息科技有限公司 | 一种适用于卫星链路的tcp加速方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100182947A1 (en) * | 2008-11-26 | 2010-07-22 | Je-Hong Jong | Method and system of providing link adaptation for maximizing throughput in mobile satellite systems |
CN110190893A (zh) * | 2019-06-18 | 2019-08-30 | 中国电子科技集团公司第五十四研究所 | 一种基于dpdk的卫星信道高速可靠数据传输方法 |
-
2023
- 2023-02-15 CN CN202310150906.0A patent/CN116131923B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3399707A1 (en) * | 2017-05-04 | 2018-11-07 | Global Eagle Entertainment Inc. | Data flow control for dual ended transmission control protocol performance enhancement proxies |
CN109639340A (zh) * | 2018-12-11 | 2019-04-16 | 成都天奥信息科技有限公司 | 一种适用于卫星链路的tcp加速方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116131923A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237153B2 (en) | Packet retransmission method and apparatus | |
US6654344B1 (en) | Method and system for controlling data flow in an internet over satellite connection | |
JP5038425B2 (ja) | パケット遠隔通信ネットワークにおけるトラフィックの制御の最適化プロセス | |
JP3814678B2 (ja) | サテライトを介するインターネット | |
US6584083B1 (en) | Internet over satellite method | |
US6934255B1 (en) | Internet over satellite apparatus | |
JP3482091B2 (ja) | 通信装置 | |
CN102006283B (zh) | 数据传输的方法和装置 | |
JP5580706B2 (ja) | 再送制御プロトコルを用いるデータ転送装置、プログラム及び方法 | |
US6529477B1 (en) | Internet over satellite system | |
CN112436994B (zh) | 一种数据传输方法及电子设备 | |
US6460085B1 (en) | Method and system for managing memory in an internet over satellite connection | |
US20030131079A1 (en) | Performance enhancing proxy techniques for internet protocol traffic | |
US20060140121A1 (en) | Optimization of a TCP connection | |
CN107852371B (zh) | 数据分组网络 | |
WO2012129922A1 (zh) | 一种报文处理方法、转发设备及*** | |
US9781626B2 (en) | Wireless channel allocation in a base station processor | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
CN116131923B (zh) | 一种基于卫星通信的数据传输方法、装置及存储介质 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和*** | |
JP2003087320A (ja) | パケット中継装置、及びその方法 | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
KR20050013411A (ko) | 모바일 애드 혹 네트워크에서 전송층을 이용한 효율적인데이터 송수신 방법 및 상기 방법을 이용한 네트워크 장치 | |
CN114157727B (zh) | Tcp加速在osu中的应用方法及设备 | |
Peng et al. | Fast backward congestion notification mechanism for TCP congestion control |
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 |