CN106716951A - 用于优化隧道流量的方法和装置 - Google Patents
用于优化隧道流量的方法和装置 Download PDFInfo
- Publication number
- CN106716951A CN106716951A CN201580045724.0A CN201580045724A CN106716951A CN 106716951 A CN106716951 A CN 106716951A CN 201580045724 A CN201580045724 A CN 201580045724A CN 106716951 A CN106716951 A CN 106716951A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- packet
- gtp
- satellite modem
- satellite
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
-
- 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
- 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/08—Protocols for interworking; Protocol conversion
-
- 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]
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/06—Airborne or Satellite Networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
卫星通信系统可被配置为根据协议在第一卫星调制解调器与第二卫星调制解调器之间建立数个不同的隧道。第一卫星调制解调器可经由根据不同的协议建立的隧道来接收分组,基于来自被包含在分组中的一个或多个报头的信息确定与隧道对应的端点标识符,识别数个不同隧道中与该隧道对应的一个隧道,生成对应分组,该对应分组从一个或多个报头中省去至少一部分信息并且包括分组的有效载荷中包含的至少一部分数据和信息块,该信息块包括与数个不同隧道中识别出的一个隧道对应的隧道索引,以及经由数个不同隧道中的识别出的一个隧道将对应分组发送至第二卫星调制解调器。
Description
优先权声明
本申请要求2015年6月16日提交的且标题为“用于优化隧道流量的方法和装置(METHODS AND APPARATUS FOR OPTIMIZING TUNNELED TRAFFIC)”的美国专利申请序列No.14/740,297的优先权,要求2014年7月23日提交的且标题为“用于优化隧道流量的方法和装置(Methods and Apparatus for Optimizing Tunneled Traffic)”的美国临时专利申请序列No.62/028,287以及2014年6月26日提交的且标题为“用于优化隧道流量的方法和装置(Methods and Apparatus for Optimizing Tunneled Traffic)”的申请号为62/017,366的优先权,本申请被授予且由此要求上述申请中的每个申请的优先权的资格;上述申请中的每个申请的公开内容以引证方式将它们的全部内容并入本文,并且作为其一部分。
技术领域
本公开的方面大体上涉及数据通信的领域,并且特别地涉及通过高延迟媒体的数据通信。
背景技术
通用分组无线业务(GPRS)支持蜂窝网络中的数据通信。在第三代(3G)和长期演进(LTE)蜂窝网络中,使用GPRS隧道协议(GTP)交换数据通信。在很多类型的蜂窝网络中,在接入点(基站)与核心网络实体之间的接口上,包括在通用移动电信系统(UMTS)中的IuB接口、3G网络中的IuH接口和LTE网络中的SI接口上,使用GTP协议的用户数据隧道部分(GTP-U)。在3G网络中,GTP-U被应用于所有数据流量,而没有应用于在GTP-U隧道外携带的语音流量。在LTE网络中,根据所使用基于LTE的语音(VoLTE)模型,GTP-U可以被应用于语音流量(即,可以在GTP隧道内部携带语音流量)。
接入点和核心网络实体之间的接口可以通过各种类型的链路跨越很大的距离。当卫星链路或其它高延迟链路被用于接入点和核心网络实体之间的回程接口(像IuB、IuH和SI接口)时,接入点和核心网络实体之间的流量遭受高延迟。遗憾的是,使流量遭受高延迟常常导致性能降低。为了减轻或防止性能降低和较差的用户体验,可以应用传输控制协议(TCP)加速方法、超文本传送协议(HTTP)加速方法和/或各种缓存方法。
卫星带宽是具有显著的使用成本的有限的资源。因此,通过卫星链路回程的蜂窝流量应该以有效的方式被回程,以使运营成本最小化。基于IP的语音(VoIP)流量常常通过具有相对高开销的小的分组来表征。“按现状”通过卫星链路传输的VoIP流量可能导致显著低效地利用卫星资源。于是,可期望识别和处理语音流量(例如,使延时、抖动、分组损耗和/或开销最小化),以防止语音质量降低和/或实现卫星资源的更有效利用。
虽然有用于TCP加速、HTTP加速、缓存和VoIP处理的已知技术,但是当用隧道信息封装流量时,这些技术会不太有效。显著的挑战存在于将加速和缓存方法应用于用隧道信息封装的流量中。
在Chatterjee等人的美国专利No.6,947,440和Yabo等人的美国专利No.8,837,349中描述了用于加速、缓存和VoIP处理的已知技术的实施例。
发明内容
以下呈现简化的概述,以便提供本公开的一些方面的基本理解。该概述不是本公开的详细的综述。其既不旨在确认本公开的关键或必要要素,也不旨在标明本公开的范围。以下概述仅以简化的形式呈现本公开的一些方面,作为下面的描述的序言。
根据本公开的方面,卫星通信系统可以被配置为根据协议在第一卫星调制解调器和第二卫星调制解调器之间建立多个不同的隧道。第一卫星调制解调器可以经由根据不同的协议建立的隧道接收分组,基于来自包含在分组中的一个或多个报头的信息确定对应于隧道的端点标识符,识别多个不同隧道中对应于隧道的一个,生成对应的分组,该对应的分组省略来自一个或多个报头的信息的至少一部分并且包括包含在分组的有效载荷中的至少一部分数据和包括对应于多个不同的隧道中所识别的一个的隧道索引的信息块,并且经由多个不同的隧道中所识别的一个将对应的分组传输到第二卫星调制解调器。
在一些实施例中,隧道(例如,根据GTP-U生成的隧道)可以在卫星链路上延伸。在一些实施例中,卫星通信系统可以包括发送站和接收站。发送站(例如,与此相关联的卫星调制解调器)可以被配置为(例如,通过LAN接口)接收包括(例如,根据GTP-U)用隧道信息封装的数据的分组,根据与分组相关联的协议和/或应用程序执行一个或多个方法,以产生对应的分组,并且将对应的分组(例如,通过卫星链路)传输到接收站(例如,与此相关联的卫星调制解调器)。接收站可以被配置为(例如,通过卫星链路)接收由发送站传输的分组,根据分组执行一个或多个方法,以产生对应的分组,并且向其下一个目的地(例如,通过LAN接口)传输其产生的分组。在一些实施例中,站可以被配置为建立与封装包含在由发送站接收的分组中的数据的隧道信息对应的隧道。在这样的实施例中,发送站可以被配置为经由站之间建立的隧道传输,并且接收站可以被配置为经由站之间建立的隧道进行接收(例如,由发送站产生的对应的分组)。在一些实施例中,由接收站产生的分组可以对应于在站之间建立的隧道,和/或包括用封装由发送站接收的分组中包含的数据的隧道信息封装的数据。
在一些实施例中,可以经由隧道(例如,GTP隧道)接收数据,数据可以被分类,并且根据其分类处理数据。在一些实施例中,数据可以被分类为TCP类、基于TCP的HTTP类、域名系统(DNS)类、基于语音的互联网协议(VoIP)类,或抖动和/或延时敏感流量类中的一个或多个。
在一些实施例中,报头压缩可以被应用于经由隧道接收的数据的至少一部分。例如,可以压缩与隧道相关联的IP、UDP或GTP报头中的一个或多个。
在一些实施例中,可以加速经由隧道接收的TCP流量(例如,用于通过卫星链路传输)。例如,在卫星链路的每侧处,TCP连接可以与正向隧道和返回隧道相关联。在一些实施例中,可以在发送站处通过生成对应于经由与TCP连接相关联的正向隧道接收的段的确认(例如,欺骗的确认),且经由与TCP连接相关联的返回隧道将确认发送给段的发起者来加速TCP流量。额外地或可替换地,可以在接收站处通过与对应的TCP连接相关联地记录与经由与TCP连接相关联的正向隧道(例如,从其目的地)接收的段的确认相关联的一个或多个值,并且(例如,当没有必要通过卫星链路发送确认时)代替将确认转发到发送站的是丢弃确认,来加速TCP流量。
在一些实施例中,经由隧道接收的HTTP流量可以被加速(例如,以改善用户浏览体验)。例如,可以利用一个或多个预取或缓存技术加速HTTP流量。而且,由于常常经由一个或多个TCP连接传递HTTP流量为基础的数据,所以TCP流量的加速还可以加速HTTP流量。
在一些实施例中,可以识别和消除在经由隧道接收的流量中包含的冗余信息。
在一些实施例中,可以为专门的处理识别经由隧道接收的UDP流量(例如,SIP信令流量、RTP流量、DNS流量、非RTP实时流量、其它非实时流量等)。
附图说明
因此,已经概括地描述了本公开,现在将参考附图,没有必要按比例绘制附图,并且在附图中:
图1示出根据本公开的方面的通信系统:
图2示出根据本公开的方面的示例发送站的框图;
图3示出根据本公开的方面的发送站和接收站;
图4示出根据本公开的方面的GTP报头格式;
图5示出根据本公开的方面的HTTP会话的示例;以及
图6示出根据本公开的方面的DNS会话的示例。
具体实施方式
参考图1,通信系统100可以包括至少一个用户设备(例如,UE)(110)、至少一个接入点(例如,eNodeB)(120)和至少一个核心网络设备(例如,演进的分组核心(EPC))(160)。至少一个接入点(120)和至少一个核心网络设备(160)可以被配置为至少使用对应于GPRS隧道协议(GTP)的一个或多个隧道(190)彼此通信。在一些实施例中,所述一个或多个隧道(190)可以对应于GTP的数据用户部分(GTP-U)。虽然在上面的示例中使用的术语可以源自特定的蜂窝通信技术(例如,第三代合作伙伴计划(3GPP)、长期演进(LTE)等),但是系统100可以表示各种其它类型的蜂窝通信网络,以及其它类型的无线通信网络。
在一些实施例中,至少一个接入点(120)和至少一个核心网络设备(160)可以地理上分离,并且可以在一个或多个高延迟链路上携带由至少一个接入点(120)和至少一个核心网络设备(160)使用的一个或多个GTP隧道(190)。在图1中所示的示例中,这样的高延迟链路由卫星链路表示。卫星链路可以至少包括第一卫星调制解调器(130)和第二卫星调制解调器(150),其中第一卫星调制解调器(130)和第二卫星调制解调器(150)可以被配置为至少例如使用适当的传输和接收装置(例如,分别对应于第一卫星调制解调器(130)和第二卫星调制解调器(150)的135和155),经由卫星(140)彼此通信。第一卫星调制解调器(130)可以被配置为耦接到(170)至少一个接入点(120),并且可以被称为面向用户的站。第二卫星调制解调器(150)可以被配置为耦接到(180)至少一个核心网络设备(160),并且可以被称为面向web的站(例如,因为可以耦接到第二卫星调制解调器(150)的至少一个核心网络设备(160)可以被配置为使得能够访问web服务器、SIP服务器、DNS服务器、数据中心、企业内联网服务器和/或任何其它类型的网络或服务器)。
在一些实施例中,系统100可以包括多个接入点。在这样的实施例中,每个接入点可以耦接到被配置为与耦接到至少一个核心网络设备(160)的一个或多个卫星调制解调器通信的卫星调制解调器。在一些实施例中,耦接到接入点的每个卫星调制解调器可以与甚小孔径终端(VSAT)相关联,并且可以由耦接到至少一个核心网络设备(160)的卫星通信中心站来替换耦接到至少一个核心网络设备(160)的卫星调制解调器,或耦接到至少一个核心网络设备(160)的卫星调制解调器可以对应于耦接到至少一个核心网络设备(160)的卫星通信中心站(satellite communication hub)。
由于GTP隧道可以是单向的,所以系统100中的每个GTP隧道可以与发送站和接收站相关联。图3示出耦接到发送站(200)的第一网络设备(350)(例如,接入点或核心网络设备)和耦接到接收站(300)的第二网络设备(360)(例如,核心网络设备或接入点)。第一网络设备(350)可以被配置为经由至少一个GTP隧道(390)将信息发送到第二网络设备(360)。发送站(200)可以被配置为从第一网络设备(350)接收包括根据GTP-U(310)封装的数据的分组,根据与分组相关联的协议和/或应用程序执行一个或多个方法以产生对应的分组,并且例如通过高延迟链路(例如,经由卫星)将对应的分组传输到接收站(300)。在一些实施例中,发送站(200)可以被配置为经由在发送站(200)和接收站(300)之间建立的内部隧道(320)传输对应的分组,并且接收站(300)可以被配置为经由在发送站(200)和接收站(300)之间建立的内部隧道(320)接收对应的分组,内部隧道(320)可以对应于至少一个GTP隧道(390)。接收站(300)可以被配置为通过高延迟链路(例如,经由卫星)接收由发送站(200)产生的分组,根据所接收的分组执行一个或多个方法以产生对应的分组,并且使用GTP-U(330)将其产生的分组传输到第二网络设备(360)。在一些实施例中,由接收站(300)产生的分组可以对应于经由其分组被发送站(200)发送以及被接收站(300)接收的内部隧道(320)。在一些实施例中,第一卫星调制解调器(130)和/或第二卫星调制解调器(150)可以包括发送站(200)和接收站(300)两者,用于至少传输和接收使用GTP-U封装的流量的目的。
在一些实施例中,可以对内部隧道(320)进行加密。例如,由发送站(200)接收的分组可以包括未加密的数据,并且发送站(200)可以被配置为如先前所描述般的产生对应的分组,并且在将分组传输到接收站(300)之前,根据加密方案对分组(或包含在其中的数据)进行加密。接收站(300)可以被配置为接收由发送站(200)产生的分组,根据加密方案对分组(或包含在其中的数据)进行解密,如先前描述的产生对应的分组(该对应的分组可以包括解密的分组(或包含在其中的数据)),并且将其产生的分组传输到第二网络设备(360)。
在一些实施例中,第一网络设备(350)可以被配置为经由多个不同的GTP隧道将信息发送到第二网络设备(360),并且发送站(200)可以被配置为通过多个不同的内部隧道,传输与多个GTP隧道相关联的分组,和/或接收站(300)可以被配置为通过多个不同的内部隧道,接收与多个GTP隧道相关联的分组。多个内部隧道的每个内部隧道可以与多个不同的GTP隧道中的对应的GTP隧道相关联。在这样的实施例中,发送站(200)可以被配置为用与内部隧道相关联的加密密钥,对经由内部隧道传输的分组(或包含在其中的数据)进行加密,和/或接收站(300)可以被配置为用与内部隧道相关联的加密密钥,对经由内部隧道接收的分组(或包含在其中的数据)进行解密(例如,可以使用与用于对经由其它内部隧道传输和接收的数据进行加密和解密的加密密钥不同的加密密钥,对经由多个不同的内部隧道中的每个内部隧道传输和接收的数据进行加密和解密)。
在一些实施例中,由发送站(200)接收的分组(或包含在其中的数据)可以是加密的,并且发送站(200)可以被配置为对分组(或包含在其中的数据)解密,并且根据不同的加密方案(例如,算法、密钥等),例如,与内部隧道(320)相关联的加密方案,对其产生的对应的分组(或包含在其中的数据)进行加密。额外地或可替换地,接收站(300)可以被配置为根据与由发送站(200)对经由内部隧道(320)传递的分组(或包含在其中的数据)进行加密所利用的加密方案和/或可以对由发送站(200)接收的分组(或包含在其中的数据)进行加密的加密方案不同的加密方案,对其产生的对应的分组进行加密。
图2示出示例发送站200(例如,图3的发送站200)的框图。发送站200可以包括GTP模块(210)、一个或多个协议专用和/或应用程序专用的处理模块(例如,220到280),以及卫星接口模块(290)。GTP模块(210)可以包括隧道数据库(215)。接收站(例如,诸如图3的接收站300)可以类似于图2中所示的发送站200,其中模块之间的流被颠倒。例如,在接收站(例如,300)中,流可以是从卫星接口模块到一个或多个处理模块,从一个或多个处理模块到GTP模块,以及从GTP模块到GTP-U接口)。如先前所描述的,卫星调制解调器(例如,第一卫星调制解调器(130)和第二卫星调制解调器(150)中的任一个)可以至少包括发送站(例如,200)和接收站(300)。在一些实施例中,卫星调制解调器可以被配置为至少包括:可以共用于发送站(200)和接收站(300)两者的单个(统一)GTP模块(210)和单个(统一)隧道数据库(215),其中至少GTP模块(210)可以经配置既作为对应的发送站模块又作为对应的接收站模块。在一些实施例中,卫星调制解调器可以被配置为具有可以共用于发送站(200)和接收站(300)两者的统一的应用程序专用和/或协议专用的模块(例如,220到280)和/或统一的卫星接口模块(290),其中统一的模块(unified module)中的每个可以经配置既作为对应的发送站模块又作为对应的接收站模块。因而,在本文中根据上下文对图2中所示的模块的引用可以是指发送站(200)或接收站(300),除非另外特别指示。
GTP模块(210)可以被配置为使用隧道数据库(215),用于至少储存与GTP模块(210)可以被配置为检测的一个或多个GTP隧道对应的信息的目的。GTP模块(210)可以被配置为对于一个或多个GTP隧道中的每个,将对应于各个GTP隧道的隧道端点标识符(TEID)储存在隧道数据库(215)中。在一些实施例中,例如,发送站(200)可以被配置为耦接到多个网络设备(例如,接入点或核心网络设备),其中多个网络设备中的两个或更多可以对它们的各个GTP隧道使用相同的TEID值。在这样的实施例中,发送站(200)的GTP模块(210)不能仅基于TEID值唯一识别GTP隧道。因此,在这样的实施例中,用于至少唯一识别一个或多个GTP隧道中的每个的目的,GTP模块(210)可以被配置为对一个或多个GTP隧道中的至少一个GTP隧道,将可以对应于至少一个GTP隧道的额外的信息要素(包含例如,源互联网协议(IP)地址、目的地IP地址、虚拟局域网(VLAN)标识符和/或源UDP端口号)储存在隧道数据库(215)中。
在一些实施例中,发送站(200)的GTP模块(210)可以被配置为(例如,从可以耦接到发送站(200)的第一网络设备(350))接收一个或多个分组,并且确定出可以在GTP隧道(例如,390)中携带一个或多个分组中的至少一个。在一些实施例中,发送站(200)的GTP模块(210)可以被配置为通过确定可以根据用户数据报协议(UDP)接收至少一个分组以及至少一个分组可以与目的地UDP端口号2152相关联,来确定出可以在GTP隧道(390)中携带(例如,一个或多个接收的分组中的)至少一个分组。当确定可以在GTP隧道中携带至少一个分组时,发送站(200)的GTP模块(210)进一步可以被配置为至少解析对应于至少一个分组的(或包含在至少一个分组中的)GTP报头,并且从对应于至少一个分组的GTP报头中提取至少隧道端点标识符(TEID)。
根据GTP-U,为了在分别具有对应的源IP地址和目的地IP地址(且使用目的地UDP端口号2152)的源GTP端点和目的地GTP端点(例如,接入点和/或核心网络设备)之间建立GTP隧道,可以在GTP端点之间交换回送请求和回送响应消息(回送分组)。这些回送分组可以包含无效的隧道端点标识符(例如,它们的TEID可以被设置为0)。在一些实施例中,发送站(200)的GTP模块(210)可以被配置为确定所接收的分组是否包含有效的(例如,非零)TEID,并且当确定所接收的分组包含无效的TEID时,确定出所接收的分组可不与任何GTP隧道相关联,或可不在任何GTP隧道中携带所接收的分组。当确定分组可不与任何GTP隧道相关联,或不在任何GTP隧道中携带分组时,发送站(200)的GTP模块(210)可以被配置为将所接收的分组至少转发到卫星接口模块(290),同时至少绕过(217)应用程序专用的处理模块(例如,220到280)。因此,发送站(200)可以被配置为将GTP隧道建立消息(例如,回送分组)至少透明地传输到对应的接收站(例如,300)。
当从对应于至少一个分组的GTP报头提取TEID时,发送站(200)的GTP模块(210)可以进一步被配置为确定至少一个分组是否可以是一个或多个分组中的可以与对应于所提取的TEID的GTP隧道相关联的第一分组。发送站(200)的GTP模块(210)可被配置为通过从隧道数据库(215)搜索包括对应于至少一个分组的TEID值的记录,来确定(一个或多个所接收的分组中的)至少一个分组是否可以是与GTP隧道相关联的第一分组,其中如果在隧道数据库(215)中没有发现包含TEID值的记录,则至少一个分组可以被确定为是与GTP隧道相关联的第一分组。当确定至少一个分组是与GTP隧道相关联的第一分组时,发送站(200)的GTP模块(210)可以被配置为将对应于GTP隧道的新的记录添加到隧道数据库(215),其中新的记录可以至少包含对应于至少一个分组的TEID值。
如先前所提到的,在一些实施例中,发送站(200)的GTP模块(210)可以被配置为从至少一个分组中提取对应于至少一个分组的额外的信息要素,例如,源IP地址、目的地IP地址、虚拟局域网(VLAN)标识符和/或源UDP端口号。在这样的实施例中,发送站(200)的GTP模块(210)还可以被配置为通过从隧道数据库(215)搜索包括TEID值和对应于至少一个分组的额外的信息要素中的任一个的值的记录,来确定(一个或多个所接收的分组中的)至少一个分组是否可以是与GTP隧道相关联的第一分组,其中如果在隧道数据库(215)中不能发现包含TEID值和额外的信息要素中的任一个的值的记录,则至少一个分组可以被确定为是与GTP隧道相关联的第一分组。当确定至少一个分组是可以与GTP隧道相关联的第一分组时,发送站(200)的GTP模块(210)可以被配置为将对应于GTP隧道的新的记录添加到隧道数据库(215),其中新的记录可以至少包含TEID值和对应于至少一个分组的额外的信息要素中的任一个的值。
此外,当确定(一个或多个所接收的分组中)的至少一个分组可以是与GTP隧道(390)相关联的第一分组时,发送站(200)的GTP模块(210)可以被配置为在(例如,第一卫星调制解调器的)发送站(200)和(例如,第二卫星调制解调器的)接收站(300)(的GTP模块)之间建立内部隧道(320),其中内部隧道(320)可以对应于与至少一个分组对应的GTP隧道(390)。在一些实施例中,其中例如系统100可以包括多个接收站(卫星调制解调器),发送站(200)的GTP模块(210)可以被配置为(例如,根据与至少一个分组相关联的目的地IP地址)确定对应于至少一个分组的接收站(卫星调制解调器),并且与所确定的接收站(300)建立内部隧道(320)。在一些实施例中,发送站(200)的GTP模块(210)可以被配置为通过在连接(例如,第一卫星调制解调器的)发送站(200)和(例如,第二卫星调制解调器的)接收站(300)的链路(例如,高延迟链路)上发送会话建立消息,与接收站(300)(的GTP模块)建立内部隧道(320),其中会话建立消息可以包含对应于GTP隧道(390)的至少TEID值。当接收GTP会话建立消息时,接收站(300)的GTP模块可以被配置为将在所接收的GTP会话建立消息中提供的一个或多个会话参数储存在隧道数据库(例如,类似于发送站(200)的隧道数据库(215)或与可以被包括在相同的卫星调制解调器中的发送站(200)的隧道数据库(215)统一起来)中。
在一些实施例中,例如,除了对应于GTP隧道(390)的TEID值之外,发送站(200)的GTP模块(210)可以被配置为将对应于(与GTP隧道(390)相关联的至少一个分组)的额外的信息要素包含在会话建立消息中。例如,额外的信息要素可以包含GTP版本指示符(例如,如其可以被包含在至少一个分组的GTP报头中)、内部TEID索引、源IP地址、目的地IP地址、虚拟局域网(VLAN)标识符和/或源UDP端口号。在一些实施例中,在已经建立内部隧道(320)之后,包含在GTP会话建立消息中的内部TEID索引可以由发送站(200)和/或由接收站(300)使用,例如以引用内部隧道(320)或用于减少开销(报头大小)。可注意的是,信息要素诸如TEID、GTP版本、内部TEID索引、源IP地址、目的地IP地址、VLAN标识符和/或源UDP端口可以是恒定的,只要对应的GTP隧道(390)可以是开放的,因此,将它们包含在GTP会话建立消息中可以允许对可以经由GTP隧道(390)进行传输和/或由发送站(200)和/或接收站(300)进行处理的任何后续分组进行报头压缩。
在一些实施例中,其中可以对内部隧道(320)进行加密,会话建立消息可以包含对应于被用于对通过内部隧道(320)发送的分组(或包含在其中的数据)进行加密的加密密钥的信息。在一些实施例中,可以使用另一个协议(例如,而不是在会话建立消息中),例如使用发送站(200)和/或接收站(300)被配置为支持的密钥交换算法,交换这样的信息。
在一些实施例中,例如,其中可以与发送站(200)和/或接收站(300)中的任一个相关联的各种资源(例如,储存容量、处理能力等)可以是有限的,发送站(200)和/或接收站(300)可以被配置为支持内部隧道(320)的拆除过程。在一些实施例中,发送站(200)的GTP模块(210)可以被配置为将会话关闭消息发送到接收站(300)(的GTP模块),用于至少拆除内部隧道(320)的目的,其中会话关闭消息可以包括对应于将被拆除的内部隧道(320)的至少内部TEID索引。例如,当确定在预定义的一段时间内未接收到与对应的GTP隧道(390)相关联的分组,或接收与对应的GTP隧道(390)相关联的包括结束标记的分组时,发送站(200)的GTP模块(210)可以被配置为将会话关闭消息发送到接收站(300)(的GTP模块)。当拆除内部隧道(例如,320)时,发送站(200)和/或接收站(300)可以被配置为进一步拆除与对应的GTP隧道(390)相关联的会话,包含例如传输控制协议(TCP)连接(例如,通过使用TCP复位)、使用会话初始化协议(SIP)建立的会话和/或实时传送协议(RTP)会话。当拆除内部隧道(例如,320)时,发送站(200)的GTP模块(210)和/或接收站(300)的GTP模块可以被配置为自隧道数据库(215)删除对应于各个GTP隧道(390)的记录。
如先前所描述的,发送站(200)的GTP模块(210)可以被配置为(例如,从可以耦接到发送站(200)的第一网络设备(350))接收一个或多个分组,确定一个或多个分组中的至少一个可以在GTP隧道(例如,390)中携带,解析对应于(或包含在)至少一个分组的GTP报头,并且从GTP报头至少提取隧道端点标识符(TEID)。至少基于所提取的TEID(以及在一些实施例中还基于额外的信息要素,如先前所描述的),发送站(200)的GTP模块(210)进一步可以被配置为例如或通过与各个接收站(300)建立新的内部隧道(例如,如果至少一个分组可以是与对应的GTP隧道(例如,390)相关联的一个或多个分组中的第一分组),或通过与已经建立的内部隧道的关联(例如,如果至少一个分组可不是与对应的GTP隧道相关联的第一分组),将至少一个分组与内部隧道(例如,320)和/或与内部TEID索引相关联。
根据本公开的方面,当解析对应于至少一个分组的GTP报头时,发送站(200)的GTP模块(210)进一步可以被配置为(例如,基于GTP报头)确定可以与至少一个分组相关联的分组类型,并且如果分组类型与流量分组类型(例如,T-PDU)相关联,则解析对应于至少一个分组(或包含在至少一个分组中)的协议数据单元(PDU)。当解析对应于至少一个分组的PDU时,发送站(200)的GTP模块(210)可以被配置为确定可以与至少一个分组相关联的应用程序和/或协议中的任一个,并且例如根据所确定的应用程序和/或协议,将至少一个分组分类到对应于发送站(200)的协议专用和/或应用程序专用的模块(例如,220到280)中的一个的类,包含例如TCP类、基于TCP的HTTP类、域名系统(DNS)类、基于互联网协议的语音(VoIP)类和/或抖动敏感流量类和/或延时敏感流量类。在一些实施例中,基于例如协议类型(例如,UDP、流控制传输协议(SCTP)或互联网控制消息协议(ICMP))、源IP地址、目的地IP地址、源端口号、目的地端口号、差分服务代码点(DSCP)、服务类型(TOS)标示或VLAN标签,发送站(200)的GTP模块(210)可以被配置为将至少一个分组分类为抖动和/或延时敏感流量类。
当对至少一个分组进行分类时,发送站(200)的GTP模块(210)可以被配置为通过从至少一个分组至少移除IP报头、UDP报头和/或GTP报头,并且添加包括对应于至少一个分组与其相关联的内部隧道(320)的至少内部TEID索引的信息块,从至少一个分组生成对应的分组。在一些实施例中,所添加的信息块还可以包括可以从所移除的报头中的任一个中提取的额外的信息项,例如,额外的信息项可以包括与对应的GTP隧道(390)相关联的分组之间的不同的值。当生成对应的分组时,发送站(200)的GTP模块(210)可以被配置为例如根据先前与至少一个分组相关联的类,将对应的分组转发到协议专用和/或应用程序专用的模块(例如,220到280)中的任一个,用于至少(例如,根据相应的应用程序和/或协议)进一步处理对应的分组的目的。当通过协议专用和/或应用程序专用的模块(例如,220到280)中的任一个完成对应的分组的任何处理时,发送站(200)可以被配置为(例如,根据所述处理)生成分组,并且将分组转发到发送站(200)的卫星接口模块(290),用于(例如,通过卫星链路)传输到相应的接收站(300)。
接收站(300)可以被配置为(例如,经由接收站(300)的卫星接口)接收由发送站(200)传输的分组,例如,基于包含在分组中且对应于内部隧道(320)的内部TEID索引,将分组与内部隧道(320)相关联,(例如,根据与分组相关联的协议和/或应用程序)生成对应的分组,(例如,在接收站的GTP模块处)至少根据对应的分组,例如通过(例如,根据对应于内部隧道(320)的GTP隧道(390))重构IP报头、UDP报头和/或GTP报头,生成用于传输到第二网络设备(360)的分组,并且使用GTP-U(330)将所述分组传输到第二网络设备(360)。在一些实施例中,由接收站(300)传输到第二网络设备(360)的分组可以类似于由发送站(200)从第一网络设备(350)接收的至少一个分组(例如,可以存在的任何差异不会影响第一网络设备(350)和第二网络设备(360)之间的GTP隧道(390))。
在一些实施例中,发送站(200)的GTP模块(210)可以被配置为将GTP隧道报头压缩应用于与GTP隧道(例如,390)相关联的所接收的分组。将被压缩的报头可以包含IP报头、UDP报头和/或与GTP隧道(390)相关联的GTP报头。可以独立于可以应用于经由GTP隧道接收的分组的任何额外的报头压缩而应用GTP隧道报头压缩(例如,与GTP隧道相关联的报头的压缩),任何额外的报头压缩例如与特定协议和/或应用程序相关联的压缩(例如,TCP报头压缩、RTP报头压缩等)。
如先前所描述的,当生成对应于至少一个所接收的分组的分组时,发送站(200)的GTP模块可以被配置为移除IP报头、UDP报头和/或GTP报头,并且添加包括对应于与至少一个分组相关联的内部隧道的至少内部TEID索引的信息块。所添加的信息块还可以包括对应的分组可以是的GTP隧道报头压缩的指示。当生成对应的分组时,对应的接收站(300)的GTP模块可以被配置为确定分组是GTP隧道报头压缩的,并且重构IP报头、UDP报头和/或GTP报头。例如,对于与相应的GTP隧道(例如,390)相关联的每个分组,发送站(200)的GTP模块和/或接收站(300)的GTP模块可以是如此配置的,用于至少避免(例如,通过卫星链路)传输IP报头、UDP报头和/或GTP报头的目的。至少用于允许接收站(300)重构IP报头、UDP报头和/或GTP报头的目的,发送站(200)的GTP模块(210)和/或接收站(300)的对应的GTP模块可以被配置为在建立相应的内部隧道(例如,320)时,交换对应于与相应的GTP隧道(例如,390)相关联的至少一个分组的IP报头、UDP报头和/或GTP报头的信息要素,其中这样的交换可不包含在内部隧道(320)的存在期间内值会变化的信息要素。在一些实施例中,发送站(200)的GTP模块(210)和/或接收站(300)的对应GTP模块可以被配置为根据可以由发送站(200)的GTP模块(210)和/或接收站(300)的对应的GTP模块使用的协议,交换在内部隧道(320)的存在期间中可以不恒定的信息要素。
在一些实施例中,发送站(200)的GTP模块(210)和/或接收站(300)的GTP模块可以被配置为交换与IP报头(例如,源IP地址、目的地IP地址等)和/或与UDP报头相关联的信息要素,作为建立内部隧道(320)的一部分。除与分组片段相关联的IP报头信息要素和/或与DSCP相关联的IP报头信息要素之外,接收站(300)的GTP模块可以被配置为例如根据所述交换,重构或本地生成与IP报头和/或UDP报头相关联的信息要素。在一些实施例中,对于TCP连接和RTP会话,例如,当连接初始化(TCP)或会话建立(RTP)时,发送站(200)的GTP模块(210)和/或接收站(300)的GTP模块可以被配置为每个连接或会话分别交换可以与DSCP相关联的IP报头信息要素一次。
图4示出GTP报头的示例格式。在一些实施例中,发送站(200)的GTP模块(210)和/或接收站(300)的GTP模块可以被配置为交换与GTP报头相关联的GTP版本和TEID信息要素,例如作为建立内部隧道(320)的一部分。接收站(300)的GTP模块可以被配置为重构或本地生成协议类型(PT)字段、消息类型字段(例如,仅流量PDU分组可以遭受报头压缩)、长度字段和/或序列号字段。发送站(200)的GTP模块(210)和/或接收站(300)的GTP模块可以被配置为分别(例如,通过卫星链路)传输和/或接收序列号指示符字段(S)。发送站(200)的GTP模块(210)可以被配置为不压缩GTP报头(例如,照接收的原样传输它),和/或如果设置了下一个扩展指示符字段(E)和/或N-PDU指示符字段(PN)(例如,因此将可以由来自发送站(200)的这些指示符指示的对应字段传输到接收站(300)),则接收站(300)的GTP模块可以被配置为接收未压缩的GTP报头。
在一些实施例中,GTP隧道报头压缩可以被应用于以下分组:可不与对应于一个或多个协议专用和/或应用程序专用模块(例如,220到280)的一个或多个类中的任一个相关联的分组,例如,可以应用于可以不与任何流或连接相关联的分组(例如,没有落入到一个或多个类中的任一个的ICMP分组、UDP分组等)。发送站(200)的GTP模块(210)可以被配置为确定(例如,一个或多个接收的分组中的)至少一个分组可以不与一个或多个所述类中的任一个相关联,例如通过将GTP隧道报头压缩(例如,如先前所描述的)应用于至少一个分组,生成对应于至少一个分组的分组,其中对应的分组可以包括包括了(例如,对应于与至少一个分组相关联的内部隧道的)内部TEID索引的信息块、对应的分组可以是GTP隧道报头压缩的指示,和/或对应的分组可不与一个或多个所述类中的任一个相关联的指示,并且将对应的分组转发到发送站(200)的卫星接口模块(290),同时绕过(217)发送站(200)的协议专用/应用程序专用的模块(例如,220到280)。接收站(300)可以被配置为确定经由(例如,接收站(300)的)卫星接口模块接收的分组可不与对应于接收站(300)的一个或多个协议专用和/或应用程序专用的模块的一个或多个类中的任一个相关联,并且将所接收的分组转发到接收站(300)的GTP模块,同时绕过(例如,接收站(300)的)所有协议专用和/或应用程序专用的模块。GTP模块可以被配置为确定所接收的分组可以是GTP隧道报头压缩的,并且重构报头,如先前所描述的。
在一些实施例中,卫星调制解调器可以被配置为例如使用卫星调制解调器的发送站(200)和接收站(300),对封装在一个或多个GTP隧道内部的TCP流量进行加速。
TCP流量的加速可以包含确认的欺骗。例如,第一卫星调制解调器的发送站(200)可以被配置为(例如,从耦接到第一卫星调制解调器的第一网络设备)接收封装在第一GTP隧道内部的TCP段,并且将用于TCP片的确认传输(例如,到第一网络设备),其中第一卫星调制解调器的发送站(200)可以被配置为在可以例如由第一卫星调制解调器的接收站(300)从TCP段的目的地(例如,从可以耦接到第二卫星调制解调器的第二网络设备)(例如,通过卫星链路)接收用于TCP段的对应的确认之前,传输用于TCP段的确认。由于GTP隧道是单向的,所以用于TCP段的确认可需要在不同于第一GTP隧道(390)的第二GTP隧道上进行发送。
在一些实施例中,第一卫星调制解调器的发送站(200)可以被配置为(例如,从可以耦接到第一卫星调制解调器的第一网络设备(350))接收可以被封装在第一GTP隧道(例如,390)中的TCP SYN段。第一卫星调制解调器的发送站(200)可以被配置为将对应于TCPSYN段的TCP连接(会话)与第一GTP隧道相关联,其中第一GTP隧道可以是在第一卫星调制解调器处用于TCP连接的正向GTP隧道,将所述关联储存在存储器中(例如,在GTP模块的隧道数据库中),并且(例如,使用对应于第一GTP隧道(例如,390)的第一内部隧道(例如,320))将TCP SYN段传输到第二卫星调制解调器。在一些实施例中,如果(例如,在接收TCP SYN段时)尚不存在对应于第一GTP隧道的第一内部隧道,则第一卫星调制解调器的发送站(200)可以被配置为(例如,与第二卫星调制解调器的接收站(300))建立对应于第一GTP隧道的第一内部隧道(例如,如先前所描述的),并且在已经建立第一内部隧道之后,将TCP SYN段传输到第二卫星调制解调器。第二卫星调制解调器的接收站(300)可以被配置为(例如,从第一卫星调制解调器)接收至少TCP SYN段,将对应于TCP SYN段的TCP连接(会话)与第一GTP隧道相关联,其中第一GTP隧道可以是在第二卫星调制解调器处用于TCP连接的返回GTP隧道,将所述关联储存在存储器中(例如,在GTP模块的隧道数据库中),并且将TCP SYN段传输(例如,到可以耦接到第二卫星调制解调器的第二网络设备(360))。
第二卫星调制解调器的发送站(200)可以被配置为(例如,从第二网络设备(360))接收可以被封装在第二GTP隧道中的TCP SYN-ACK,其中TCP SYN-ACK可以对应于TCP SYN段。第二卫星调制解调器的发送站(200)可以被配置为将对应于TCP SYN-ACK的TCP连接(会话)与第二GTP隧道相关联,其中第二GTP隧道可以是在第二卫星调制解调器处用于TCP连接的正向GTP隧道,将所述关联储存在存储器中(例如,在GTP模块的隧道数据库中),并且(例如,使用对应于第二GTP隧道的第二内部隧道)将TCP SYN ACK传输到第一卫星调制解调器。在一些实施例中,如果(例如,在接收TCP SYN-ACK时)尚不存在对应于第二GTP隧道的第二内部隧道,则第二卫星调制解调器的发送站(200)可以被配置为(例如,与第一卫星调制解调器的接收站(300))建立对应于第二GTP隧道的第二内部隧道,并且在已经建立第二内部隧道之后,将TCP SYN-ACK传输到第一卫星调制解调器。第一卫星调制解调器的接收站(300)可以被配置为(例如,从第二卫星调制解调器)接收TCP SYN-ACK,将对应于TCP SYN-ACK的TCP连接(会话)与第二GTP隧道相关联,其中第二GTP隧道可以是在第一卫星调制解调器处用于TCP连接的返回GTP隧道,将所述关联储存在存储器中(例如,在GTP模块的隧道数据库中),并且将TCP SYN-ACK传输(例如,到第一网络设备(350))。
在一些实施例中,第一卫星调制解调器和/或第二卫星调制解调器的发送站(200)和/或接收站(300)可以被配置为在转发TCP SYN段和/或TCP SYN-ACK之前,(例如,通过使用包括在发送站(200)或接收站(300)中的TCP模块)修改TCP SYN段和/或TCP SYN-ACK。在这样的实施例中,修改TCP SYN段和/或TCP SYN-ACK中的任一个可以包括:添加可以被用于为相应的TCP连接设置最大消息大小(MSS)的TCP可选字段,以及如果相同的TCP可选字段可能已经存在于TCP SYN段中和/或在TCP SYN-ACK中,则修改相同的TCP可选字段中的至少一者(例如,用于至少为相应的TCP连接设置MSS值的目的)。当修改和/或添加用于为相应的TCP连接设置MSS的TCP可选字段时,发送站(200)和/或接收站(300)可以被配置为确定可以对应于GTP隧道(该GTP隧道对应于相应的TCP连接)的IP分组的最大传输单元(MTU)的大小(例如,单位为八位字节/字节),通过从所确定的MTU大小扣除预期的报头的大小(例如,IP报头、UDP报头和/或与GTP-U相关联的GTP报头的大小,和/或IP报头和/或与封装在GTP隧道中的TCP段相关联的TCP报头的大小)来计算MSS,并且为相应的TCP连接将MSS设置为小于或等于所计算的MSS的值。在一些实施例中,如上所述的为相应的TCP连接设置MSS可以防止(例如,在可以被封装在对应于相应的TCP连接的GTP隧道中的多个分组之间的)TCP段的分片,因此,可能使得有发送站(200)和/或接收站(300)的更简单的实施例。
一旦已经建立(例如,在第一网络设备(350)和第二网络设备(360)之间的)例如端到端的TCP连接,第一卫星调制解调器和/或第二卫星调制解调器可以已使TCP连接分别与正向GTP隧道和反向GTP隧道相关联。在端到端TCP连接建立之后,第一卫星调制解调器和/或第二卫星调制解调器可以被配置为(例如,从耦接的网络设备)接收对应于TCP连接的至少一个TCP段,其中至少一个TCP段可以被封装在相应的卫星调制解调器处用于TCP连接的正向GTP隧道中,生成用于至少一个TCP段的确认(例如,欺骗的确认),并且将封装在相应的卫星调制解调器处用于TCP连接的返回GTP隧道中的(欺骗的)确认传输(例如,到耦接的网络设备)。此外,第一卫星调制解调器和/或第二卫星调制解调器可以被配置为通过卫星链路(例如,分别从第二卫星调制解调器和/或第一卫星调制解调器)接收包括至少一个TCP段(或包含在其中的数据)的至少一个分组,并且将包含所接收的有效载荷(例如,至少一个TCP段(或包含在其中的数据))的分组传输到耦接到相应的卫星调制解调器的网络设备,其中分组可以被封装在相应的卫星调制解调器处用于(例如与至少一个TCP段相关联的)TCP连接的返回隧道中。第一卫星调制解调器和/或第二卫星调制解调器还可以被配置为在相应的卫星调制解调器处用于TCP连接的正向GTP隧道中接收用于传输的TCP段的确认,与相应的TCP连接相关联地记录对应于所接收的确认的一个或多个值(例如,用于至少管理(TCP)传输窗口和/或应用流控制的目的),确定丢弃所接收的确认(例如,根据TCP加速策略),并且丢弃所接收的确认而不将其转发到相应的卫星调制解调器的卫星接口。
在一些实施例中,发送站(200)的GTP模块(210)可以被配置为接收包括封装在第一GTP隧道中的TCP段的分组,将第一分组与对应于第一GTP隧道的第一内部隧道相关联,将第一分组分类为TCP类,(例如,通过应用如先前所描述的GTP隧道报头压缩)生成对应的分组,其中对应的分组可以与对应于第一内部隧道的内部TEID索引相关联,并且(例如,根据相关联的分组被分类为的TCP类)将对应的分组转发到发送站(200)的TCP模块(220)。在一些实施例中,对应的分组可以包括包含在相关联的分组中的至少TCP段。发送站(200)的TCP模块(220)可以被配置为接收对应的分组,基于对应的分组,通过用对应于被配置为支持TCP/IP报头压缩的协议的较小的报头替换对应于(例如,可以被包含在对应的分组中的)TCP段的IP报头和/或TCP报头生成分组,并且将分组转发到发送站(200)的卫星接口模块(290)(例如,用于传输到相应的接收站(300))。
在一些实施例中,发送站(200)的TCP模块(220)可以被配置为生成用于包含在分组中的TCP段的确认(例如,欺骗的确认),其中(欺骗的)确认可以包含:(欺骗的)确认可以与(例如,对应于用于与TCP段相关联的TCP连接的返回(第二)GTP隧道的第二内部隧道)相关联的内部隧道的指示(例如,内部TEID索引),并且(例如,经由如先前所描述的发送站的GTP模块(210))发送(欺骗的)确认。在一些实施例中,例如,当(例如,在第一网络设备(350)和第二网络设备(360)之间)建立TCP连接时,发送站的TCP模块(220)和/或对应的接收站(300)的TCP模块还可以被配置为指示(例如,使用GTP报头的序列号字段(图4))在与对应于TCP连接的GTP隧道(例如,对应于TCP连接的正向GTP隧道和/或返回GTP隧道)内部编号(number)与TCP连接相关联的TCP段的请求。发送站的TCP模块(220)还可以被配置为确定:TCP段可以与在请求编号一个或多个对应的GTP隧道内的TCP分组的情况下建立的TCP连接相关联,并且生成包括序列号指示(例如,在对应的GTP隧道内部应用编号的指示)的用于TCP段的确认(例如,欺骗的确认)。在这样的实施例中,发送站(200)的GTP模块(210)还可以被配置为(例如,通过确定分组可以包含序列号指示)确定将被封装在GTP隧道中的分组必须与GTP报头中的序列号字段一起进行传输,并且(例如,当将分组封装在GTP隧道中或将分组与(例如,在GTP报头中的)存在的序列号字段一起进行传输时)增加与对应的GTP隧道相关联的序列号。在这样的实施例中,生成用于TCP段的确认(例如,欺骗的确认)可以包括使与对应于TCP连接的返回GTP隧道(例如,第二GTP隧道)相关联的序列号递增一。
此外,接收站(300)的TCP模块可以被配置为(例如,经由接收站(300)的卫星接口模块)接收至少分组,其中分组可以包括TCP段的有效载荷、对应于被配置为支持TCP/IP报头压缩的协议的(小的)报头和对应于GTP隧道(390)和/或内部隧道(320)的内部TEID索引。接收站(300)的TCP模块还可以被配置为通过(例如,根据包含在接收的分组中的(小的)报头)重构IP报头和/或TCP报头,生成对应的分组,并且将对应的分组转发到接收站(300)的GTP模块。在一些实施例中,接收站(300)的TCP模块还可以被配置为确定TCP段是否与在请求编号(多个)对应的GTP隧道内部的TCP分组的情况下建立的TCP连接相关联,并且生成对应的分组以包含序列号指示。接收站(300)的GTP模块可以被配置为接收对应的分组,(例如,根据内部TEID索引)将对应的分组与相应的内部隧道(320)相关联,生成将对应的分组封装在对应于内部TEID索引的GTP隧道中的分组,其中封装对应的分组可以包含重构IP报头、UDP报头和/或对应于第一GTP隧道的GDP报头,并且将分组传输(例如,到耦接的网络设备)。在一些实施例中,接收站(300)的GTP模块还可以被配置为确定对应的分组是否包含序列号指示,并且如果对应的分组包含序列号指示,则生成具有在GTP报头中的序列号字段的对应的分组,并且使与对应于分组的GTP隧道(例如,第一GTP隧道)相关联的序列号增加一。
在一些实施例中,接收站(300)的TCP模块可以被配置为处理与GTP隧道相关联的TCP分组(例如,经由GTP隧道在对应的发送站(200)处接收的TCP分组)和可以与任何GTP隧道无关联的TCP分组(例如,由在卫星链路的另一侧处的卫星调制解调器接收的未封装的TCP分组)。在这样的实施例中,当接收分组时,接收站(300)的TCP模块还可以被配置为确定分组是否包含对应于GTP隧道和/或内部隧道的内部TEID索引,如果分组包含内部TEID索引,则将对应的分组转发到接收站(300)的GTP模块,并且如果分组不包含内部TEID索引,则将对应的分组传输(例如,到耦接的网络设备)。
在一些实施例中,卫星调制解调器可以被配置为例如使用卫星调制解调器的发送站(200)和/或接收站(300),对封装在一个或多个GTP隧道内部的HTTP流量进行加速。
封装在一个或多个GTP隧道内部的HTTP流量的加速可以包括预取技术。例如,预取技术可以包含预期需要一个或多个对象,并且在用户应用程序发出一个或多个对象的请求之前,从宿主有一个或多个对象的一个或多个服务器获得一个或多个对象。此外,由于常常通过TCP携带HTTP流量,所以TCP的加速(例如,如先前所描述的)还可以对HTTP流量进行加速。
参考图5,用户网络设备(510)可以(例如,使用一个或多个GTP隧道(520))耦接到面向用户的站(530),其中面向用户的站(530)可以是第一卫星调制解调器(例如,图1的卫星调制解调器130)。面向用户的站(530)可以被配置为例如通过高延迟链路(例如,卫星链路)与面向web的站(550)通信,其中面向web的站(550)可以是第二卫星调制解调器(例如,图1的卫星调制解调器150)。面向web的站(550)可以(例如,使用一个或多个GTP隧道(560))耦接到一个或多个服务器(570)。在一些实施例中,面向用户的站(530)和/或面向web的站(550)可以被配置为执行先前所描述的方法中的任一个,包含但不限于使用一个或多个对应的内部隧道(540)通过卫星链路延伸一个或多个GTP隧道(520、560),将GTP隧道报头压缩应用于可以经由一个或多个GTP隧道(520、560)接收的分组,并且对可以被封装在一个或多个GTP隧道(520、560)中的TCP流量进行加速。在一些实施例中,面向用户的站(530)和/或面向web的站(550)可以被配置为例如通过使用预取技术,对封装在一个或多个GTP隧道(520、560)内部的HTTP流量进行加速。
面向用户的站(530)可以被配置为(例如,从用户网络设备(510))接收对第一数据对象的第一请求(580),其中第一请求(例如,GET)可以被包含在对应于超文本传送协议(HTTP)并且被封装在与用户网络设备(510)相关联的一个或多个GTP隧道(520)的第一GTP隧道中的一个或多个分组中,并且一个或多个GTP隧道(520)的第一GTP隧道可以与第一TEID(例如,TEID X)相关联。面向用户的站(530)的GTP模块可以被配置为将一个或多个分组与HTTP流量类(例如,如先前所描述的)相关联,并且将一个或多个分组转发到面向用户的站(530)的HTTP模块(例如,图2中的230)。面向用户的站(530)的HTTP模块可以被配置为将对应于第一请求的预取会话与一个或多个GTP隧道(520)的第一GTP隧道相关联,其中一个或多个GTP隧道(520)的第一GTP隧道可以是用于在面向用户的站(530)处的预取会话的正向GTP隧道。面向用户的站(530)的HTTP模块还可以被配置为将所述关联储存在存储器中,并且(例如,使用对应于一个或多个GTP隧道(520)的第一GTP隧道的第一内部隧道(540))将第一请求(581)传输到面向web的站(550)。面向web的站(550)可以被配置为(例如,从面向用户的站(530)和/或通过第一内部隧道(540))接收至少第一请求(581),将对应于第一请求(581)的预取会话与和一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第一GTP隧道相关联,其中一个或多个GTP隧道(560)的第一GTP隧道可以是用于在面向web的站(550)处的预取会话的返回GTP隧道。面向web的站(550)还可以被配置为将所述关联储存在存储器中,并且例如通过一个或多个GTP隧道(560)的第一GTP隧道,将第一请求(582)传输到耦接到面向web的站(550)的(例如,一个或多个web服务器(570)的)web服务器。
面向web的站(550)可以被配置为(例如,从web服务器)接收对应于第一请求(582)的第一响应(583),第一响应(583)包括对应于超文本传送协议(HTTP)并且被封装在与一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第二GTP隧道中的一个或多个分组,其中一个或多个GTP隧道(560)的第二GTP隧道与第二TEID(例如,TEID Y)相关联。在一些实施例中,第一响应(583)可以包括200OK响应。在一些实施例中,第一响应(583)可以包括响应于第一请求(582),由web服务器发送的另一种类型的响应(或确认)。在一些实施例中,第一响应(583)可以包含对应于第一请求(例如,580、581和582)的第一数据对象。
面向web的站(550)的HTTP模块可以被配置为将对应于第一请求的预取会话与和一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第二GTP隧道相关联,其中一个或多个GTP隧道(560)的第二GTP隧道可以是在面向web的站(550)处用于预取会话的正向GTP隧道。在一些实施例中,例如,由于先前接收对应于成为HTTP协议的基础的TCP协议的确认(其中该确认可以例如对应于包括第一请求(581)的TCP段),所以在接收第一响应(583)之前,面向web的站(550)可以已经将预期会话与第二GTP隧道相关联。面向web的站(550)的HTTP模块还可以被配置为将所述关联储存在(例如,与面向web的站(550)的HTTP模块相关联的)存储器中,并且(例如,使用对应于一个或多个GTP隧道(560)的第二GTP隧道的第二内部隧道(540))将第一响应(584)传输到面向用户的站(530)。面向用户的站(530)可以被配置为(例如,从面向web的站(550)和/或通过第二内部隧道(540))接收至少第一响应(584),并且将对应于第一请求(581)的预期会话与和用户网络设备(510)相关联的一个或多个GTP隧道(520)的第二GTP隧道相关联,其中一个或多个GTP隧道(520)的第二GTP隧道可以是用于在面向用户的站(530)处的预取会话的返回GTP隧道。面向用户的站(530)还可以被配置为将所述关联储存在存储器中,并且例如通过一个或多个GTP隧道(520)的第二GTP隧道,将第一响应(585)传输到用户设备(510)。
在第一请求(580)和第一响应(583)交换之后,如上所述,面向用户的站(530)和/或面向web的站(550)可已经将对应于第一请求和/或第一响应的预取会话与在相应的站(530、550)中的每个处的对应的第一GTP隧道和第二GTP隧道(TEID X和TEID Y)相关联。因此,在所述关联之后,面向用户的站(530)和/或面向web的站(550)可以使用预取会话,用于至少加速与对应于第一请求(580)的第一数据对象相关联的一个或多个后续对象的检索的目的。在一些实施例中,当面向用户的站(530)(例如,从用户网络设备(510))接收对可不与主动的预取会话相关联的数据对象的请求时,可以重复在相应的站(530、550)中的每个处将预取会话与对应的第一GTP隧道和第二GTP隧道(例如,TEID X和TEID Y)相关联的上述方法。
在一些实施例中,当从web服务器接收第一数据对象和/或将第一数据对象(例如,584)发送到面向用户的站(530)时,面向web的站(550)的HTTP模块可以被配置为解析第一数据对象,并且确定第一数据对象是否包括到与第一数据对象相关联的一个或多个额外的数据对象的链接。当确定第一数据对象包括到一个或多个额外的数据对象的一个或多个链接时,面向web的站(550)的HTTP模块还可以被配置为将对一个或多个额外的数据对象的一个或多个额外的请求(例如,586)发送到web服务器(570),其中面向web的站(550)可以被配置为发送被封装在与一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第一GTP隧道(例如,使用TEID X)中的一个或多个额外的请求(例如,586)。面向web的站(550)的HTTP模块还可以被配置为接收一个或多个额外的数据对象(例如,587)的至少一个数据对象,其中一个或多个额外的数据对象的至少一个数据对象可以被封装在一个或多个GTP隧道(560)的第二GTP隧道(例如,TEID Y)中,并且使用对应于一个或多个GTP隧道(560)的第二GTP隧道的第二内部隧道(540),将一个或多个额外的数据对象(例如,588)的至少一个数据对象传输到面向用户的站(530)。
当通过第二内部隧道(540)接收额外的数据对象(例如,588)的至少一个数据对象时,面向用户的站(530)的HTTP模块可以被配置为将额外的数据对象的至少一个数据对象与对应于第一请求(580)的预取会话相关联,并且将所接收的额外的数据对象的至少一个数据对象储存在面向用户的站(530)的存储器中。面向用户的站(530)的HTTP模块还可以被配置为(例如,从用户网络设备(510)且通过可与用户网络设备(510)相关联的一个或多个GTP隧道(520)的第一GTP隧道(例如,TEID X))接收对可以与第一对象相关联的一个或多个额外的数据对象的一个或多个额外的请求(例如,590),将一个或多个请求与对应于第一请求(580)的预取会话相关联,确定所请求的一个或多个额外的数据对象的至少一个数据对象储存在面向用户的站(530)的存储器中,并且例如通过一个或多个GTP隧道(520)的第二GTP隧道(例如,TEID Y),将额外的数据对象(例如,591)的至少一个数据对象传输到用户网络设备(510)。例如,由于自面向用户的站(530)的存储器服务了该请求,所以面向用户的站(530)的HTTP模块还可以被配置为丢弃对额外的数据对象的至少一个数据对象的请求(例如,590),和/或不将其传输到面向web的站(550)。可常常运用HTTP流量的加速,用于至少改善(例如,一个或多个用户的)浏览体验的目的。在一些实施例中,用于至少改善这样的浏览体验的目的,可以被封装在一个或多个GTP隧道内部的HTTP流量的加速可以包括缓存技术,例如,封装在一个或多个GTP隧道内部的HTTP流量的缓存。
参考图5,如先前所描述的,在对第一数据对象的第一请求(580)和对应于第一请求的第一响应(583)的交换之后(例如,其中第一请求和第一响应与HTTP会话相关联),面向用户的站(530)和/或面向web的站(550)可已经将HTTP会话在相应的站(530、550)的每个处与对应的第一GTP隧道和第二GTP隧道(例如,分别TEID X和TEID Y)相关联。在一些实施例中,例如,当在HTTP会话的基础上建立TCP连接时,可以在第一请求(580)和第一响应(583)的交换之前发生该关联。在所述关联之后,面向用户的站(530)的GTP模块可以被配置为(例如,从网络用户设备(510)且通过可以是用于在面向用户的站(530)处的HTTP会话的正向GTP隧道的第一GTP隧道)接收对可以与第一数据对象相关联的一个或多个数据对象的一个或多个后续请求,并且将一个或多个后续请求转发到面向用户的站(530)的HTTP代理模块(例如,图2中的240)。面向用户的站(530)的HTTP代理模块可以被配置为接收对于数据对象的一个或多个请求,确定对应于一个或多个请求中的至少一个的数据对象是否被储存在与HTTP代理模块相关联的缓存中,并且如果数据对象被储存在缓存中,则生成(例如,对于一个或多个请求中的至少一个的)包括至少一个数据对象的响应。此外,如果与一个或多个请求中的至少一个相关联的数据对象没有被储存在缓存中,或如果与一个或多个请求中的至少一个相关联的数据对象被储存在缓存中但可能需要刷新,则面向用户的站(530)的HTTP代理模块还可以被配置为将对数据对象的一个或多个请求中的至少一个(例如,GET)传输(转发)到对应的面向web的站(550)。当从对应的面向web的站(550)接收对应于至少一个转发的请求的数据对象时,面向用户的站(530)的HTTP代理模块可以被配置为生成对应于至少一个转发的请求的至少一个响应。当生成至少一个响应时,面向用户的站(530)的HTTP代理模块还可以被配置为检查对应于至少一个响应的数据对象的一个或多个属性,并且如果根据所述检查数据对象符合在缓存中储存的条件,则将数据对象储存在缓存中。面向用户的站(530)还可以被配置为例如通过第二GTP隧道(例如,TEID Y)(其可以是用于在面向用户的站(530)处的HTTP会话的返回GTP隧道),将对应于一个或多个后续请求的一个或多个响应传输(例如,到用户网络设备(510))。
流量冗余消除可以被用于至少减少带宽(容量)消耗的目的,其中流量冗余消除可以包括检测流量流内重现图案(recurring pattern)。然而,例如,由于未能检测GTP隧道内部不同的流,所以当流量被封装在GTP隧道内部,用于流量冗余消除的常规方法可能不是有效的。在一些实施例中,卫星调制解调器可以被配置为例如使用卫星调制解调器的发送站(200)和/或接收站(300),将流量冗余消除技术应用于封装在一个或多个GTP隧道内部的流量。
在一些实施例中,流量冗余消除可以例如被应用于封装在一个或多个GTP隧道中的TCP流量。发送站(200)可以被配置为接收封装在GTP隧道(310)中的一个或多个TCP段,从一个或多个TCP段提取一个或多个有效载荷(例如,如先前所描述的),确定可以与一个或多个TCP段相关联的至少一个流,并且从与至少一个流相关联的有效载荷搜索一个或多个重现图案。发送站(200)可以被配置为在至少一个流中检测至少一个重现图案,将重现图案储存在发送站(200)的存储器中,并且向对应的接收站(300)通知在至少一个流中的至少一个重现图案。接收站(300)可以被配置为接收包括用于至少一个流的重现图案的指示,并且将用于至少一个流的至少一个重现图案储存在接收站(300)的存储器中。
此外,发送站(200)可以被配置为接收封装在GTP隧道(310)中的一个或多个额外的TCP段,从一个或多个额外的TCP段提取对应于至少一个流的一个或多个额外的有效载荷,并且在一个或多个额外的有效载荷中检测与至少一个流相关联的至少一个重现图案。当检测至少一个重现图案时,发送站(200)可以被配置为在由重现图案的较短的表示替换重复出现图案的情况下,将相应的有效载荷发送到接收站(300)。在一些实施例中,重现图案的较短的表示可以包括索引和偏移,其中索引可以被用于从与至少一个流相关联的一个或多个储存的重现图案中识别重现图案,并且其中偏移可以被用于指示在对应于重现图案的相应的有效载荷内的位置(例如,的开始)。接收站(300)可以被配置为检测较短的表示指示,在接收站(300)的存储器中搜索对应于较短的表示的重现图案,并且通过用对应的重现图案替换较短的表示重构一个或多个对应的有效载荷。当重构有效载荷时,接收站(300)还可以被配置为恢复对应于重构的有效载荷的一个或多个TCP报头,并且传输封装在GTP隧道(330)中的所恢复的TCP段,如先前所描述的。
在一些实施例中,卫星调制解调器可以被配置为例如使用卫星调制解调器的发送站(200)和/或接收站(300),将专门的处理提供给封装在一个或多个GTP隧道内部的UDP流量。在一些实施例中,可以被专门处理的UDP流量可以包含SIP信令流量、RTP流量、非RTP实时流量(例如,用于蜂窝网络的信令、Skype语音流量等),以及非实时流量(例如,DNS查询和响应,用于至少启用DNS缓存的目的)。
发送站(200)的GTP模块(210)可以被配置为接收包括封装在第一GTP隧道中的UDP段的分组,并且将分组与可以对应于第一GTP隧道的第一内部隧道相关联。在一些实施例中,如果GTP封装的UDP段对应于会话(例如,RTP会话),则可以根据会话确定分组与第一内部隧道(和/或与序列号指示符)的关联,可以在发送站(200)和对应的接收站(300)之间建立该会话。发送站(200)的GTP模块(210)可以被配置为将分组分类为SIP类、RTP类、实时流量类和/或非实时流量类,(例如,通过应用GTP隧道报头压缩,如先前所描述的)生成对应的分组,其中对应的分组可以与对应于第一内部隧道的内部TEID索引相关联,并且(例如,根据与所接收的分组相关联的类)将对应的分组转发到发送站(200)的VoIP模块(250)、抖动和延时敏感流量模块(260)和/或抖动和延时容忍流量模块(270)。在一些实施例中,对应的分组可以包括包含在所接收的分组中的UDP段。发送站(200)的VoIP模块(250)、抖动和延时敏感流量模块(260)和/或抖动和延时容忍流量模块(270)可以被配置为接收对应的分组,以生成包括对应于第一内部隧道和/或序列号指示符的内部TEID索引的分组(例如,在序列号需要由对应的接收站(300)进行重构的情况下)。在一些实施例中,生成分组可以包括例如根据压缩策略或与UDP段相关联的应用程序,压缩UDP段的一个或多个报头。在一些实施例中,所述压缩可以包括撤除IP报头、UDP报头和/或RTP报头中的一个或多个,并且用对应于与UDP段相关联的应用程序的描述符替换它们。发送站(200)的VoIP模块(250)、抖动和延时敏感流量模块(260)和/或抖动和延时容忍流量模块(270)可以被配置为将分组转发到发送站(200)的卫星接口模块(290)(例如,用于传输到相应的接收站(300))。
此外,接收站(300)的VoIP模块、抖动和延时敏感流量模块和/或抖动和延时容忍流量模块可以被配置为(例如,经由接收站(300)的卫星接口模块)接收分组,其中分组可以包括UDP段的有效载荷和对应于第一内部隧道的内部TEID索引和/或序列号指示符。接收站(300)的VoIP模块、抖动和延时敏感流量模块和/或抖动和延时容忍流量模块可以被配置为生成对应的分组,其中生成对应的分组可以包括根据压缩策略或与分组相关联的应用程序,重构一个或多个报头。在一些实施例中,所述重构可以包括根据包含在分组中的描述符重构IP报头、UDP报头和/或RTP报头中的一个或多个。接收站(300)的VoIP模块、抖动和延时敏感流量模块和/或抖动和延时容忍流量模块可以被配置为将对应的分组转发到接收站(300)的GTP模块。接收站(300)的GTP模块可以被配置为接收对应的分组,(例如,根据内部TEID索引)将对应的分组与第一内部隧道相关联,并且用于生成将对应的分组封装在对应于所包含的内部TEID索引的GTP隧道(例如,第一GTP隧道)中的分组。在一些实施例中,封装对应的分组可以包括重构IP报头、UDP报头和/或对应于第一GTP隧道的GTP报头(例如,如先前所描述的)。接收站(300)的GTP模块还可以被配置为将封装的分组传输(例如,到耦接的网络设备)。在一些实施例中,接收站(300)的GTP模块还可以被配置为确定分组和/或对应的分组是否包含序列号指示符,并且如果是,则生成在GTP报头中包括序列号字段的封装的分组,并且使与GTP隧道相关联的序列号增加一。
在一些实施例中,会话初始化协议(SIP)消息可以在网络设备(例如,120和160)之间进行交换,用于至少建立一个或多个语音呼叫、视频呼叫或其它类型的会话的目的。如图1所示,网络设备(例如,120和160)之间的链路可以包括卫星链路,卫星链路可以与有限的容量相关联。偶尔,在尝试建立新的会话时,卫星链路可能有不足的空闲容量而不能支持新的会话。至少用于避免较差的会话质量的问题,在这样的场合下,以有序的方式拒绝呼叫建立尝试可以是有利的。在一些实施例中,耦接到网络设备(例如,120、160)的卫星调制解调器(例如,130、150)可以被配置为确定在卫星链路上缺乏用于支持新的会话的空闲容量,并且生成终止消息,并且朝向耦接的网络设备传输终止消息,用于至少强迫新的会话终止的目的。其中用于会话管理(例如,建立和拆除)的SIP消息被封装在一个或多个GTP隧道中,卫星调制解调器可以在第一GTP隧道(例如,用于在卫星调制解调器处的会话的正向GTP隧道)中从耦接的网络设备接收SIP消息,并且可需要在第二GTP隧道(例如,用于在卫星调制解调器处的会话的返回GTP隧道)中将终止消息发送到耦接的网络设备,其中第二GTP隧道可以不同于第一GTP隧道。
(虽然可以通过TCP还有其它传送协议支持SIP),但是可以在UDP段中发送会话初始化协议(SIP)消息,并且结果,例如,如先前所述的,在TCP的情况中,将GTP封装的SIP消息和/或会话与正向GTP隧道和返回GTP隧道相关联可以是不适用的。
耦接到卫星调制解调器(例如,130、150)的网络设备(例如,120、160)可以使用SIP方法(例如,邀请或寄存器)发起SIP事务(会话),并且期望将从SIP对应部分接收的SIP响应(例如,SIP消息代码1xx或2xx可以是可用的)。耦接到网络设备的卫星调制解调器(例如,130、150)可以被配置为从一个或多个SIP消息(例如,SIP方法消息)提取一个或多个IP地址和/或呼叫标识符(ID),并且使用所提取的一个或多个IP地址和/或呼叫ID,用于至少将对应于一个或多个SIP消息的SIP会话与用于在卫星调制解调器处的会话的正向GTP隧道和/或返回GTP隧道相关联的目的。一旦已经使SIP会话与在卫星调制解调器(例如,130、150)处的正向GTP隧道和/或返回GTP隧道相关联,如果需要(例如,当确定卫星链路上缺乏用于支持会话的空闲的容量时),卫星调制解调器就可以例如通过在对应于卫星调制解调器处的会话的返回GTP隧道上生成和发送终止消息(例如,“取消”、“再见”或错误代码消息),强迫会话的终止。此外,在一些实施例中,一旦已经将SIP会话与在包括在所述卫星调制解调器(例如,130、150)中的发送站(200)和接收站(300)两者处的相应的GTP隧道相关联,就可以由发送站(200)和接收站(300)拦截与SIP会话相关联的一个或多个RTP流(例如,用于至少将报头压缩应用于可以与一个或多个RTP流相关联的分组的目的)。
如上面所指示的,在已经建立SIP会话之后,可以建立与SIP会话相关联的一个或多个RTP流,并且在这样的情况下,可以从SIP会话知道用于拦截一个或多个RTP会话的参数。在一些实施例中,可以使用协议而不是SIP(例如,流控制传输协议(SCTP))建立一个或多个RTP流,发送站(200)和接收站(300)可能不支持解析SIP(例如,流控制传输协议(SCTP))。在这样的实施例中,除可以单独地处置RTP流的每个方向之外,发送站(200)和接收站(300)可以被配置为以类似于处理与SIP会话相关联的流相关联的RTP分组的方式处理RTP分组。对于每个RTP流的每个方向,发送站(200)和接收站(300)可以被配置为将包括对应于相应的RTP流的GTP隧道的至少TEID的记录储存在存储器中。此外,发送站(200)可以被配置为例如通过用描述符替换IP报头、UDP报头和/或RTP报头中的一个或多个,将报头压缩应用于RTP分组。接收站(300)可以被配置为将从发送站(200)接收的压缩的RTP分组与RTP会话相关联,根据RTP会话重构一个或多个报头(例如,IP报头、UDP报头和/或RTP报头),并且根据与RTP会话相关联的TEID将重构的RTP分组封装在GTP隧道中。
虽然不是所有的实时流都可以使用RTP进行传输,但是当被封装在GTP隧道中时,也需要正确处置这样的流(例如,以减少延时和/或抖动)。(例如,由发送站(200)和/或接收站(300))处置这样的流可以类似于处置不与已知的信令协议(例如,SIP)相关联的RTP流,例如,可以单独处置每个这样的流的每个方向。可能与处置RTP流相比处置非RTP流的主要差别可以是与检测流相关联。由于可以通过不具有额外的报头(例如,依赖于应用程序的报头)或具有额外的(依赖于应用程序的)报头的UDP携带非RTP流,所以使得发送站(200)和/或接收站(300)不可被配置为解进行析,发送站(200)和接收站(300)可以被配置为基于预配置的过滤器,检测非RTP流,其中预配置的过滤器可以包括源IP地址、目的地IP地址、源UDP端口、目的地UDP端口和/或服务的类型(ToS)或差分服务代码点(DSCP)中的一个或多个。发送站(200)和接收站(300)还可以被配置为压缩和解压缩与非RTP流相关联的分组的报头,其中如果存在UDP报头,则这样的压缩可以包括压缩IP报头和/或UDP报头。
在一些实施例中,卫星调制解调器可以被配置为实行DNS缓存,其中DNS查询和/或对应的DNS响应可以被封装在一个或多个GTP隧道内部。
通常,用户设备将域名系统(DNS)查询发送到DNS服务器,并且DNS服务器将对应于DNS查询的DNS答复发送到用户设备。用户设备可以使用用于DNS缓存的DNS答复,其中例如,响应于后续DNS查询,DNS缓存可以是用于改善响应时间的过程。因为可以在UDP段中发送DNS消息(例如,DNS查询和DNS响应),所以用于将GTP封装的DNS消息和/或会话与正向GTP隧道和返回GTP隧道相关联的方法(例如,如在TCP的情况下先前所描述的)可以是不适用的。
图6示出用户网络设备(510)、面向用户的站(530)、面向web的站(550)和一个或多个服务器(570),如参考图5所描述的。用户网络设备(510)、面向用户的站(530)、面向web的站(550)和一个或多个服务器(570)可以使用一个或多个GTP隧道(520、560)和一个或多个对应的内部隧道(540)耦接,如先前参考图5描述的。
面向用户的站(530)可以被配置为(例如,从用户网络设备(510))接收第一DNS查询(610)。第一DNS查询(610)可以被包含在封装在与用户网络设备(510)相关联的一个或多个GTP隧道(520)的第一GTP隧道中的一个或多个UDP段中,其中一个或多个GTP隧道(520)的第一GTP隧道可以与第一TEID(例如,TEID X)相关联。面向用户的站(530)的GTP模块可以被配置为将一个或多个UDP分组与DNS类相关联(例如,如先前所描述的),并且将一个或多个分组(第一DNS查询)转发到面向用户的站(530)的GTP模块(例如,图2中的280)。面向用户的站(530)的DNS模块可以被配置为将与第一DNS查询相关联的一个或多个信息项(例如,目的地IP地址和/或服务器名字)储存在存储器中,并且(例如,使用对应于一个或多个GTP隧道(520)的第一GTP隧道的第一内部隧道(540))将第一DNS查询(611)传输到面向web的站(550)。
面向web的站(550)可以被配置为(例如,从面向用户的站(530)和/或通过第一内部隧道(540))接收至少第一DNS查询(611),将第一DNS查询与可以与一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第一GTP隧道相关联,将DNS查询封装在一个或多个GTP隧道(560)的第一GTP隧道中,并且将第一DNS查询(612)传输到一个或多个web服务器(570)的DNS服务器。面向web的站(550)还可以被配置为(例如从DNS服务器(570))接收对应于第一DNS查询(612)的第一DNS响应(620)。第一DNS响应(620)可以被包含在被封装在与一个或多个服务器(570)相关联的一个或多个GTP隧道(560)的第二GTP隧道中的一个或多个UDP段中,其中一个或多个GTP隧道(560)的第二GTP隧道可以与第二TEID(例如,TEID Y)相关联。面向web的站(550)可以被配置为(例如,使用对应于一个或多个GTP隧道(560)的第二GTP隧道的第二内部隧道(540))将第一DNS响应(621)传输到面向用户的站(530)。至少用于支持DNS缓存的目的,面向web的站(550)可以被配置为以类似于处理可以是应用程序未指明的任何UDP段的方式处理DNS消息(例如,如先前描述的),其中所述处理可以包含GTP隧道报头压缩和/或与DNS消息相关联的IP和/或UDP报头的压缩。
面向用户的站(530)的DNS模块可以被配置为(例如,从面向web的站(550)和/或通过对应于一个或多个GTP隧道(520)的第二GTP隧道的第二内部隧道(540))接收至少第一DNS响应,并且将第一DNS响应与第一DNS查询相关联,其中所述关联可以包括例如使用与第一DNS查询相关联的一个或多个信息项,与第一DNS查询相关联的一个或多个信息项可以先前已经被储存在面向用户的站(530)的存储器中。用于至少处理后续DNS查询的目的,面向用户的站(530)可以被配置为从第一DNS响应与对应的第一DNS查询的所述关联取得一个或多个GTP隧道(520)的第一GTP隧道(正向GTP隧道)和一个或多个GTP隧道(520)的第二GTP隧道(返回GTP隧道)之间的关联,并且将第一GTP隧道和第二GTP隧道之间所取得的关联储存在例如面向用户的站(530)的GTP模块的隧道数据库中。面向用户的站(530)还可以被配置为根据一个或多个GTP隧道(520)的第二GTP隧道封装第一DNS响应,并且将第一DNS响应(622)传输(例如,到用户网络设备(510))。面向用户的站(530)的DNS模块还可以被配置为使用至少一个DNS缓存方法,用于至少使用包含在第一DNS查询和/或第一DNS响应中的信息缓存DNS信息的目的。
面向用户的站(530)可以被配置为(例如,从用户网络设备(510))接收第二DNS查询(630),其中第二DNS查询(630)可以对应于与第一DNS查询(610)相同的域,或对应于不同的域。第二DNS查询(630)可以被包含在封装在与用户网络设备(510)相关联的一个或多个GTP隧道(520)的第一GTP隧道(例如,TEID X)中的一个或多个UDP分组中。面向用户的站(530)可以被配置为例如使用面向用户的站(530)的GTP模块的隧道数据库,确定一个或多个GTP隧道(520)的第二GTP隧道,其中第二GTP隧道(例如,TEID Y)可以是对应于第一GTP隧道(正向GTP隧道)的返回GTP隧道。如果可以确定第二GTP隧道,则面向用户的站(530)可以被配置为使用至少一个DNS缓存方法,用于至少从DNS缓存检索DNS信息的目的,使用所检索的DNS信息生成对应于第二DNS查询(630)的DNS响应,根据一个或多个GTP隧道(520)的第二GTP隧道封装DNS响应,并且将GTP封装的DNS响应(640)传输(例如,到用户网络设备(510))。如果不可以确定第二GTP隧道,则即使用于与第二DNS查询相关联的域的DNS信息在与面向用户的站(530)相关联的DNS缓存中可以是可用的,面向用户的站(530)也可以被配置为如先前参考第一DNS查询所描述的处理第二DNS查询。
根据3GPP建议(ETSI TS 129 281,段落4.2.2),GTP端点应该避免GTP分组(例如,使用GTP-U在GTP端点之间交换的分组)的IP分片,然而没有绝对禁止GTP分组的IP分片。在一些实施例中,发送站(200)的GTP模块和/或接收站(300)的GTP模块可以被配置为支持通过卫星链路IP分片的GTP分组的传送。
如先前所描述的,接收站(300)可以被配置为在由接收站(300)传输到耦接的网络设备的分组的GTP报头中重构或本地生成至少序列号字段(例如,用于至少通过生成本地(欺骗的)确认加速TCP流量的目的),其中可以需要或请求GTP隧道内部分组的编号。序列号字段的这样的重构或本地生成可以导致至少一个GTP分组具有在发送站端的GTP隧道(例如,310)中的第一序列号值和在接收站端处的GTP隧道(例如,330)中的第二序列号值,其中第一序列号值和第二序列号值可以是不同的。序列号值中的这样的差异可不会影响常规的GTP分组,但其可引起IP分片的GTP分组的问题。
IP分片的GTP分组可以包括两个或更多IP分片,其中对应于GTP分组的GTP报头和UDP报头可以仅被包含在第一IP分片中,而不在额外的一个或多个IP分片中。因此,例如,可以通过至少将可以被包含在对应于(例如,一个或多个额外的IP分片的)IP分片的IP报头中的标识字段值与可以被包含在对应于第一IP分片的IP报头中的标识字段值(例如,其中包含在IP报头中的标识字段可以被用于识别IP数据报的一组分片)比较,实现一个或多个额外的IP分片的IP分片与GTP隧道的关联。
当接收(例如,一个或多个接收的分组的)至少一个分组时,发送站(200)的GTP模块(210)可以被配置为例如通过至少检验是否设置对应于至少一个分组的IP报头中的MF标志(更多分片),确定至少一个分组是否可以是IP分片的GTP分组的第一分片。当确定至少一个分组可以是IP分片的GTP分组的第一分片时,发送站(200)的GTP模块(210)可以被配置为从对应于至少一个分组的IP报头提取标识字段,并且在(例如,GTP模块的)隧道数据库(215)中创建新的记录,新的记录包括至少提取的标识字段(和/或对应于GTP隧道(该GTP隧道对应于IP分片的GTP分组)的内部TEID索引(例如,基于包括在IP分片的GTP分组的第一分片中的GTP报头))。当确定至少一个分组可以是IP分片的GTP分组的第一分片时,发送站(200)的GTP模块(210)可以被配置为不将GTP隧道报头压缩应用于至少一个分组,将至少一个分组标示为IP分片的GTP分组的第一分片,并且将(例如,未压缩的)至少一个分组发送到对应的接收站(300)。
在一些实施例中,当将至少一个分组发送到对应的接收站(300)时,发送站(200)的GTP模块(210)还可以被配置为将至少一个分组转发到发送站(200)的卫星接口模块(290),同时绕过(217)发送站的一个或多个协议专用和/或应用程序专用的模块(例如,220到280)(例如,对至少一个分组不给予任何特殊的处理)。当接收至少一个分组时,接收站(300)可以被配置为(例如,通过确定与至少一个分组相关联的第一分片标示)确定至少一个分组可以是IP分片的GTP分组的第一分片,并且将至少一个分组转发到接收站(300)的GTP模块,同时绕过接收站(300)的一个或多个协议专用和/或应用程序专用的模块。
(例如,当接收至少一个分组时)接收站(300)的GTP模块可以被配置为确定至少一个分组是未压缩的,确定至少一个分组是IP分片的GTP分组的第一分片,并且确定包含在至少一个分组中的GTP报头中的序列号字段是否可需要被修改。(例如,当确定所述序列号字段不需要修改时)接收站(300)的GTP模块可以被配置为将至少一个分组发送(例如,到耦接的网络设备)。(例如,当确定所述序列号字段可需要被修改时)接收站(300)的GTP模块可以被配置为(例如,根据与对应于至少一个分组的GTP隧道相关联在接收站(300)处的分组计数)修改序列号字段。然而,一旦已经修改包含在至少一个分组中的GTP报头中的序列号字段,可以被包含在至少一个分组中的UDP报头中的校验值可不再是正确的。
由于可以由发送站(200)传输和/或由接收站(300)接收的至少一个分组未压缩,所以当在接收站(300)的GTP模块处被接收到时,至少一个分组可仍包含IP分片的GTP分组的原始GTP报头,包含原始序列号值(例如,在上述修改之前)。当修改(例如,可以被包含在至少一个分组中的)GTP报头中的序列号字段时,接收站(300)的GTP模块可以被配置为在修改GTP报头中的序列号字段之前,记录原始序列号值,(例如,在修改GTP报头中的序列号字段之后)为可以被包含在至少一个分组中的UDP报头中的校验字段计算修改的校验值,用所计算的修改的校验值替换UDP报头中的校验值,并且将(例如,可以包含修改的GTP序列号和/或修改的UDP校验的)修改的至少一个分组例如传输到耦接的网络设备。在一些实施例中,(例如,根据RFC 1071建议)计算修改的校验值可以包括(例如,从包含在至少一个分组中的UDP报头)确定原始校验值(C),确定原始序列号值(SN)(例如,所记录的原始序列号),确定修改的序列号值(SN’),并且使用公式C’=C+(SN'-SN)计算校验值(C’)。
此外,当接收(例如,可不是IP数据报的第一分片的)IP分片时,发送站(200)的GTP模块(210)可以被配置为使用隧道数据库(215),用于至少确定IP分片是否可以与IP分片的GTP分组相关联的目的,可已经为IP分片的GTP分组接收第一分片。发送站(200)的GTP模块(210)可以被配置为从对应于IP分片的IP报头的标识字段提取标识值,并且从隧道数据库(215)搜索对应于所提取的标识值的记录。如果对应于所提取的标识值的记录不存在于隧道数据库(215)中,则发送站(200)的GTP模块(210)可以被配置为废弃IP分片。如果对应于所提取的标识值的记录存在于隧道数据库(215)中,则发送站(200)的GTP模块(210)可以被配置为将至少一个分组标示为未压缩的,并且用于将至少一个分组发送到对应的接收站(300)(例如,同时绕过(217)发送站(200)的一个或多个协议专用和/或应用程序专用的模块(例如,220到280))。当确定IP分片与隧道数据库(215)中的现有的记录相关联时,发送站(200)的GTP模块(210)还可以被配置为(例如,通过确定对应于IP分片的IP报头包含未置位MF标志和非零分片偏移)确定IP分片是否是IP分片的GTP分组的最后一个分片,并且如果IP分片是IP分片的GTP分组的最后一个分片,则从隧道数据库(215)删除相关联的记录。当接收IP分片时,接收站(300)可以被配置为确定IP分片是未压缩的,并且用于将IP分片发送到耦接的网络设备,同时绕过接收站(300)的一个或多个协议专用和/或应用程序专用的模块。
IP分片可以被用于GTP隧道内(例如,用于封装在GTP隧道内的分组)。可以由发送站(200)和/或接收站(300)处置这样的分片。例如,发送站(200)可以被配置为发送分组的分片,而不用应用报头压缩(例如,在封装的协议层级上,但可能使用GTP隧道报头压缩),和/或接收站可以被配置为在将分组封装到相应的GTP隧道中之前,由其接收的分片重建分组。
本公开的各个方面可以被体现为一个或多个方法、系统、装置(例如,卫星通信网络的部件),和/或计算机程序产品。于是,这些方面可以采取完全硬件实施例、完全软件实施例、完全固件实施例或组合固件、软件和/或硬件方面的实施例的形式。此外,这样的方面可以采取由具有体现于储存媒体中或上的计算机可读的程序代码或指令的一个或多个计算机可读的储存媒体储存的计算机程序产品的形式。可以利用任何合适的计算机可读储存媒体,包括硬盘、CD-ROM、光储存设备、磁储存设备和/或其任何组合。在一些实施例中,可以使用储存指令的一个或多个计算机可读媒体。当执行指令时可以致使一个或多个装置实行本文中所描述的一个或多个动作。一个或多个计算机可读媒体可以包括暂时和/或非暂时媒体。此外,表示如本文中所描述的数据或事件的各种信号可以在源和目的地之间,以经过信号传导媒体诸如金属线、光纤和/或无线传输媒体(例如,空气和/或空间)的电磁波的形式进行传送。
可以由本领域中的技术人员对本文中描述的各种实施例作出修改。例如,可以独立利用前述实施例的要素中的每个要素,或与其它实施例的要素组合或子组合利用前述实施例的要素中的每个要素。还将了解和理解,可以在不脱离本公开的真实精神和范围的情况下作出修改。因此,描述被认为对本公开是说明性的而不是限制性的。
Claims (20)
1.一种系统,包括:
第一卫星调制解调器,包括被配置为与卫星链路进行接口连接的通信接口;以及
硬件,包括可执行逻辑,所述可执行逻辑在被执行时,使所述第一卫星调制解调器响应于确定出分组经由根据第一协议建立的隧道被接收而被配置为:
基于来自所述分组中包含的一个或多个报头的信息,确定与根据所述第一协议建立的所述隧道对应的端点标识符;
基于所述端点标识符并且从与根据第二协议在所述第一卫星调制解调器与第二卫星调制解调器之间建立的多个不同隧道对应的多个不同隧道索引之中,识别用于所述分组的隧道索引,所述第二协议与所述第一协议不同;
针对所述分组生成一对应分组,所述对应分组省略来自所述一个或多个报头的所述信息的至少一部分并且包括:所述分组的有效载荷中包含的至少一部分数据以及包括所述隧道索引的信息块;以及
经由所述通信接口和所述多个不同隧道中与所述隧道索引对应的隧道,将所述对应分组发送至所述第二卫星调制解调器。
2.根据权利要求1所述的系统,其中,所述可执行逻辑在被执行时,
使所述第一卫星调制解调器响应于确定出所述多个不同隧道索引不包括用于经由根据所述第一协议建立的所述隧道接收的先前分组的隧道索引,而被配置为:
从所述先前分组中提取所述信息的所述至少一部分;
基于所述信息的所述至少一部分,生成所述隧道索引;
将所述隧道索引存储在所述多个不同隧道索引之中;
生成被配置为使所述第二卫星调制解调器建立与所述隧道索引对应的所述隧道的消息,所述消息包括所述隧道索引和所述信息的所述至少一部分;
经由所述通信接口将所述消息发送至所述第二卫星调制解调器;
以及
经由所述通信接口,根据所述第二协议与所述第二卫星调制解调器建立与所述隧道索引对应的所述隧道。
3.根据权利要求2所述的系统,进一步包括所述第二卫星调制解调器,其中,所述可执行逻辑在被执行时,使所述第二卫星调制解调器被配置为:
经由所述卫星链路接收所述消息;
将所述隧道索引和所述信息的所述至少一部分存储在存储器中并且存储在所述多个不同隧道索引之中;
经由所述卫星链路,根据所述第二协议与所述第一卫星调制解调器建立与所述隧道索引对应的所述隧道;以及
响应于经由所述卫星链路接收所述对应分组:
确定针对所述有效载荷中包含的所述至少一部分数据的目的地;
基于所述信息块来生成包括从所述存储器检索的一个或多个要素的分组,包括所述一个或多个要素的所述分组包括所述有效载荷中包含的所述至少一部分数据,并且所述一个或多个要素包括所述信息的所述至少一部分;以及
经由根据所述第一协议建立的所述隧道,向所述目的地发送包括所述一个或多个要素的所述分组。
4.根据权利要求3所述的系统,其中,所述可执行逻辑在被执行时使:
所述第一卫星调制解调器响应于在经由根据所述第一协议建立的所述隧道接收的多个分组内识别出包括重现图案的数据而被配置为:
针对所述多个分组的一部分,生成省略包括所述重现图案的所述数据的一个或多个对应分组;
经由所述通信接口和与所述隧道索引对应的所述隧道,将所述一个或多个对应分组发送至所述第二卫星调制解调器;
生成指示与所述隧道索引对应的所述隧道和所述重现图案的数据;以及
经由所述通信接口并且向所述第二卫星调制解调器,发送指示与所述隧道索引对应的所述隧道和所述重现图案的所述数据;以及
所述第二卫星调制解调器被配置为:
响应于经由所述卫星链路接收指示与所述隧道索引对应的所述隧道和所述重现图案的所述数据,在所述存储器中存储所述重现图案以及将所述重现图案与对应于所述隧道索引的所述隧道相关联的数据;以及
响应于经由所述卫星链路和与所述隧道索引对应的所述隧道接收所述一个或多个对应分组:
针对所述一个或多个对应分组来生成一个或多个分组,所述一个或多个分组包括:从所述存储器中检索的并且基于将所述重现图案与对应于所述隧道索引的所述隧道相关联的所述数据识别的包括所述重现图案的数据;以及
经由根据所述第一协议建立的所述隧道并且向所述目的地,发送包括所述重现图案的所述一个或多个分组。
5.根据权利要求1所述的系统,其中,来自所述一个或多个报头的所述信息包括以下各项中的至少一个:所述第一协议的版本、与根据所述第一协议建立的所述隧道对应的源互联网协议(IP)地址、与根据所述第一协议建立的所述隧道对应的目的地IP地址、与根据所述第一协议建立的所述隧道对应的虚拟局域网(VLAN)标识符或者与根据所述第一协议建立的所述隧道对应的源用户数据报协议(UDP)端口号,并且其中,所述信息的所述至少一部分包括以下各项中的至少一个:所述版本、所述源IP地址、所述目的地IP地址、所述VLAN标识符或者所述源UDP端口号。
6.根据权利要求1所述的系统,其中,所述第一协议包括通用分组无线业务(GPRS)隧道协议(GTP)。
7.根据权利要求6所述的系统,其中,所述一个或多个报头包括:GTP报头,并且其中,所述可执行逻辑在被执行时使所述第一卫星调制解调器响应于确定出所述GTP报头指示序列号指示符字段被包含在所述GTP报头中,生成所述信息块,使得所述信息块包括对应的序列号指示符字段。
8.根据权利要求6所述的系统,其中,所述一个或多个报头包括GTP报头,并且其中,所述可执行逻辑在被执行时使所述第一卫星调制解调器响应于确定出所述GTP报头中包含的下一个扩展指示符字段(E)或者所述GTP报头中包含的网络协议数据单元(N-PDU)指示符字段(PN)中的至少一个被设定,生成所述对应分组,使得所述对应分组包括未改动版本的所述GTP报头。
9.根据权利要求6所述的系统,其中,所述可执行逻辑在被执行时使所述第一卫星调制解调器响应于确定出经由根据所述第一协议建立的所述隧道接收的后续分组包括互联网协议(IP)分片的GTP分组的分片,而被配置为:
从所述后续分组中包含的IP报头的标识符字段中提取数据;
在存储器中存储来自所述标识符字段的所述数据和将来自所述标识符字段的所述数据与对应于所述隧道索引的所述隧道相关联的数据;
生成一分组,所述分组对应于所述后续分组并且包括:所述IP报头、所述后续分组中包含的用户数据报协议(UDP)报头、所述后续分组中包含的GTP报头以及指示所述后续分组包括所述分片的数据;以及
向所述第二卫星调制解调器并且经由所述通信接口和与所述隧道索引对应的所述隧道,发送对应于所述后续分组的所述分组。
10.根据权利要求6所述的系统,其中,所述可执行逻辑在被执行时使所述第一卫星调制解调器,响应于确定出经由所述通信接口和与所述隧道索引对应的隧道从所述第二卫星调制解调器接收的分组包括指示从所述第二卫星调制解调器接收的分组包括互联网协议(IP)分片的GTP分组的分片的数据,而被配置为:
根据所述第一协议生成一分组,所述分组与从所述第二卫星调制解调器接收的所述分组对应、包括由所述第一卫星调制解调器基于由所述第一卫星调制解调器针对与所述隧道索引对应的隧道维持的分组计数而修改的序列号;以及
向耦接到所述第一卫星调制解调器的网络设备,发送与从所述第二卫星调制解调器接收的所述分组对应的所述分组。
11.根据权利要求10所述的系统,其中,与从所述第二卫星调制解调器接收的所述分组对应的所述分组包括由所述第一卫星调制解调器基于所述序列号确定的校验和值。
12.根据权利要求1所述的系统,其中:
所述第一卫星调制解调器耦接到网络设备;
所述分组包括与传输控制协议(TCP)连接相关联的TCP段;
根据所述第一协议建立的所述隧道包括正向隧道;以及
所述可执行逻辑在被执行时,使所述第一卫星调制解调器被配置为:
确定根据所述第一协议建立的所述隧道与根据所述第一协议建立的不同的隧道相关联,所述不同的隧道包括返回隧道;
以及
在从所述第二卫星调制解调器接收针对所述TCP段的确认之前:
根据所述返回隧道生成包括针对所述TCP段的确认的分组;以及
向所述网络设备并且经由所述返回隧道,发送包括针对所述TCP段的所述确认的所述分组。
13.根据权利要求12所述的系统,其中,所述可执行逻辑在被执行时,使所述第一卫星调制解调器响应于从所述网络设备并且经由所述正向隧道接收针对由所述第一卫星调制解调器经由所述返回隧道传送到所述网络设备的TCP段的确认,不向所述第二卫星调制解调器发送针对传送到所述网络设备的所述TCP段的所述确认。
14.根据权利要求1所述的系统,其中,所述可执行逻辑在被执行时,
使所述第一卫星调制解调器响应于确定出所述分组包括从耦接到所述第一卫星调制解调器的网络设备接收的针对存储在耦接到所述第二卫星调制解调器的一个或多个网络设备上的数据对象的超文本传送协议(HTTP)请求,而被配置为:
经由所述通信接口与所述第二卫星调制解调器发起针对与所述HTTP请求相关联的一个或多个额外数据对象的预取会话;
经由所述通信接口并且从所述第二卫星调制解调器中,接收所述一个或多个额外数据对象;以及
在存储器中存储包括所述一个或多个额外数据对象的数据以及将所述一个或多个额外数据对象与对应于所述隧道索引的所述隧道相关联的数据。
15.根据权利要求14所述的系统,其中,所述可执行逻辑在被执行时,使所述第一卫星调制解调器,响应于从所述网络设备并且经由根据所述第一协议建立的所述隧道接收针对所述一个或多个额外数据对象的HTTP请求,以及由所述第一卫星调制解调器并且基于将所述一个或多个额外数据对象与对应于所述隧道索引的所述隧道相关联的所述数据作出的所述存储器包含包括所述一个或多个额外数据对象的所述数据的判定,而被配置为:
根据所述第一协议生成一个或多个分组,所述一个或多个分组包括:包括所述一个或多个额外数据对象的所述数据;以及
向所述网络设备发送所述一个或多个分组。
16.根据权利要求1所述的系统,其中,所述一个或多个报头包括互联网协议(IP)报头、用户数据报协议(UDP)报头和实时传送协议(RTP)报头,所述信息的所述至少一部分包括所述IP报头、所述UDP报头和所述RTP报头,并且其中,所述可执行逻辑在被执行时,
使所述第一卫星调制解调器响应于确定出所述分组包括UDP段,生成所述信息块,使得所述信息块包括与从所述IP报头、所述UDP报头和所述RTP报头中提取的数据对应的描述符。
17.根据权利要求1所述的系统,其中,所述可执行逻辑在被执行时,使所述第一卫星调制解调器响应于确定出经由所述通信接口从所述第二卫星调制解调器接收的分组包括UDP段的有效载荷以及与由所述第二卫星调制解调器从由所述第二卫星调制解调器接收的分组中包含的互联网协议(IP)报头、由所述第二卫星调制解调器接收的所述分组中包含的用户数据报协议(UDP)报头和由所述第二卫星调制解调器接收的所述分组中包含的实时传送协议(RTP)报头中提取的数据对应的描述符,而被配置为:
根据所述第一协议和所述描述符,生成包括所述UDP段的所述有效载荷的一个或多个分组;以及
向耦接到所述第一卫星调制解调器的网络设备发送所述一个或多个分组。
18.根据权利要求1所述的系统,所述可执行逻辑在被执行时,使所述第一卫星调制解调器,响应于由所述第一卫星调制解调器作出的经由根据所述第一协议建立的所述隧道接收的后续分组包括被配置为发起会话初始化协议(SIP)会话的SIP数据的判定以及基于与所述卫星链路相关联的可用资源的量不发起所述SIP会话的判定,而被配置为:
基于所述SIP数据,确定出耦接到所述第一卫星调制解调器的生成所述SIP数据的网络设备;
根据所述第一协议和所述SIP数据,生成包括被配置为终止所述SIP会话的数据的一个或多个分组;以及
向所述网络设备传送所述一个或多个分组。
19.根据权利要求1所述的系统,其中,所述可执行逻辑在被执行时,使所述第一卫星调制解调器响应于:经由所述通信接口和所述多个不同隧道中的与所述隧道索引相关联的一个或多个隧道从所述第二卫星调制解调器接收的分组包括结束标记的判定、或者在预定的一段时间内所述第一卫星调制解调器经由根据所述第一协议建立的所述隧道或所述一个或多个隧道未接收到分组的判定中的至少一个,而被配置为:
生成被配置为使所述第二卫星调制解调器拆除所述一个或多个隧道的消息;
向所述第二卫星调制解调器并且经由所述通信接口发送所述消息;
根据所述第一协议,生成一个或多个分组,所述一个或多个分组包括被配置为使耦接到所述第一卫星调制解调器的网络设备拆除与根据所述第一协议建立的所述隧道相关联的至少一个会话的数据;
以及
向所述网络设备传送所述一个或多个分组。
20.根据权利要求1所述的系统,其中,所述分组包括从耦接到所述第一卫星调制解调器的网络设备接收的域名系统(DNS)查询,并且所述可执行逻辑在被执行时,使所述第一卫星调制解调器被配置为:
响应于所述DNS查询,经由所述通信接口并且从所述第二卫星调制解调器接收互联网协议(IP)地址或者域名中的至少一个;
在存储器中存储包括所述IP地址和所述域名的数据以及将所述IP地址和所述域名与对应于所述隧道索引的所述隧道相关联的数据;
以及
响应于确定出经由根据所述第一协议建立的所述隧道从所述网络设备接收的后续分组包括了包括所述IP地址或所述域名中的至少一个的DNS查询:
根据所述第一协议,生成一个或多个分组,所述一个或多个分组包括基于包括所述IP地址和所述域名的所述数据的至少一部分生成的对包括所述IP地址或所述域名中的所述至少一个的所述DNS查询的响应;以及
向所述网络设备传送所述一个或多个分组。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462017366P | 2014-06-26 | 2014-06-26 | |
US62/017,366 | 2014-06-26 | ||
US201462028287P | 2014-07-23 | 2014-07-23 | |
US62/028,287 | 2014-07-23 | ||
US14/740,297 US10021594B2 (en) | 2014-06-26 | 2015-06-16 | Methods and apparatus for optimizing tunneled traffic |
US14/740,297 | 2015-06-16 | ||
PCT/IL2015/050611 WO2015198303A1 (en) | 2014-06-26 | 2015-06-17 | Methods and apparatus for optimizing tunneled traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106716951A true CN106716951A (zh) | 2017-05-24 |
CN106716951B CN106716951B (zh) | 2020-06-16 |
Family
ID=54932083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580045724.0A Active CN106716951B (zh) | 2014-06-26 | 2015-06-17 | 用于优化隧道流量的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10021594B2 (zh) |
EP (1) | EP3162020B1 (zh) |
JP (1) | JP6058179B2 (zh) |
KR (1) | KR20170026541A (zh) |
CN (1) | CN106716951B (zh) |
WO (1) | WO2015198303A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620717A (zh) * | 2018-06-19 | 2019-12-27 | 瞻博网络公司 | 使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 |
CN111262881A (zh) * | 2020-02-26 | 2020-06-09 | 杭州云缔盟科技有限公司 | 一种隐藏手机app访问的服务器dns域名的方法 |
US10856344B2 (en) | 2019-03-15 | 2020-12-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and an apparatus for reducing connection set-up time in a communications network |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961587B2 (en) | 2014-06-26 | 2018-05-01 | Gilat Satellite Networks Ltd. | Methods and apparatus for optimizing tunneled traffic |
US10057391B2 (en) * | 2014-12-27 | 2018-08-21 | Hughes Network Systems, Llc | Acceleration of GTP traffic flows, over a satellite link, in a terrestrial wireless mobile communications system |
US9755731B2 (en) * | 2015-01-10 | 2017-09-05 | Hughes Network Systems, Llc | Hardware TCP accelerator |
US9647982B2 (en) | 2015-03-03 | 2017-05-09 | Oracle International Corporation | Peer tunneling for real-time communications |
US10015287B2 (en) * | 2015-03-04 | 2018-07-03 | Oracle International Corporation | Efficient tunneled streams for real-time communications |
US10419891B2 (en) * | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
CN107925681B (zh) * | 2015-09-23 | 2021-07-30 | 谷歌有限责任公司 | 用于分布式软件定义网络分组核心系统中的负载平衡的系统和方法 |
WO2017209669A1 (en) * | 2016-06-02 | 2017-12-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and network node for handling sctp packets |
EP3273641A1 (de) * | 2016-07-22 | 2018-01-24 | Siemens Aktiengesellschaft | Übermittlung von applikationsspezifischen paketen |
US10530468B2 (en) | 2016-10-19 | 2020-01-07 | Vector Launch Inc. | State transfer among virtualized nodes in spaceborne or airborne systems |
US9641238B1 (en) | 2016-10-19 | 2017-05-02 | Vector Launch Inc. | Virtualization-enabled satellite platforms |
US9722692B1 (en) | 2016-10-19 | 2017-08-01 | Vector Launch Inc. | Statefulness among clustered satellite platforms |
US10805001B2 (en) | 2016-10-19 | 2020-10-13 | Lockheed Martin Corporation | State transfer among spaceborne and airborne devices |
EP3340545B1 (en) * | 2016-12-20 | 2019-11-06 | Gilat Satellite Networks Ltd. | Methods and apparatus for optimizing tunneled traffic |
US10951591B1 (en) * | 2016-12-20 | 2021-03-16 | Wells Fargo Bank, N.A. | SSL encryption with reduced bandwidth |
US11088946B2 (en) * | 2017-01-19 | 2021-08-10 | Hughes Network Systems, Llc | System and method to separately route cellular voice and data traffic to different locations with a satellite backhaul |
JP6838455B2 (ja) * | 2017-03-24 | 2021-03-03 | 住友電気工業株式会社 | スイッチ装置、通信制御方法および通信制御プログラム |
US9960837B1 (en) | 2017-07-19 | 2018-05-01 | Vector Launch Inc. | Pseudo-geosynchronous configurations in satellite platforms |
US10491710B2 (en) | 2017-07-19 | 2019-11-26 | Vector Launch Inc. | Role-specialization in spaceborne and airborne computing platforms |
US10757027B2 (en) | 2017-07-19 | 2020-08-25 | Lockheed Martin Corporation | Quality of service management in a satellite platform |
US9998207B1 (en) | 2017-07-19 | 2018-06-12 | Vector Launch Inc. | Orbital network layering in satellite platforms |
US9819742B1 (en) | 2017-07-19 | 2017-11-14 | Vector Launch Inc. | Bandwidth aware state transfer among satellite devices |
US10069935B1 (en) | 2017-07-19 | 2018-09-04 | Vector Launch Inc. | Role-specialization in clustered satellite platforms |
US10805420B2 (en) * | 2017-11-29 | 2020-10-13 | Forcepoint Llc | Proxy-less wide area network acceleration |
US10361772B2 (en) | 2017-12-26 | 2019-07-23 | Hughes Network Systems, Llc | Timing synchronization for a beam hopping satellite |
US10694479B2 (en) | 2017-12-26 | 2020-06-23 | Hughes Nerwork Systems, LLC | Timing synchronization with a modified DVB-S2X waveform for a beam hopping satellite |
US10749667B2 (en) * | 2017-12-29 | 2020-08-18 | Hughes Network Systems, Llc | System and method for providing satellite GTP acceleration for secure cellular backhaul over satellite |
US10630378B2 (en) | 2018-02-09 | 2020-04-21 | Lockheed Martin Corporation | Bandwidth optimizing range adjustments among satellites |
US10419982B1 (en) | 2018-03-14 | 2019-09-17 | Cisco Technology, Inc. | Methods and apparatus for providing end marker functionality in mobile networks having SRv6-configured mobile user planes |
US10841834B2 (en) | 2018-04-04 | 2020-11-17 | At&T Intellectual Property I, L.P. | Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design |
US10638363B2 (en) * | 2018-04-04 | 2020-04-28 | At&T Intellectual Property I, L.P. | Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design |
US20200128469A1 (en) * | 2018-10-19 | 2020-04-23 | Huawei Technologies Co., Ltd. | Method and system for network routing |
US10277586B1 (en) * | 2018-10-29 | 2019-04-30 | Syniverse Technologies, Llc | Mobile authentication with URL-redirect |
WO2021171424A1 (ja) * | 2020-02-26 | 2021-09-02 | 日本電信電話株式会社 | 衛星通信システム、地球局装置および回線交換制御方法 |
US11303351B2 (en) * | 2020-03-03 | 2022-04-12 | The Boeing Company | User mobility in a system with time-varying user-satellite and satellite-ground ethernet links |
US11424958B2 (en) * | 2020-03-05 | 2022-08-23 | Vmware, Inc. | Managing transmission control protocol (TCP) maximum segment size (MSS) values for multiple tunnels supported by a computing site gateway |
US11082255B1 (en) | 2020-09-15 | 2021-08-03 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and an apparatus for establishing secure, low latency, optimized paths in a wide area network |
EP4007226A1 (de) * | 2020-11-27 | 2022-06-01 | Deutsche Telekom AG | Verfahren und telekommunikationssystem zum hierarchischen speichern von datenverbindungs-informationen in netzknoten eines mobilfunknetzes |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265504A1 (en) * | 2005-05-18 | 2006-11-23 | Azaire Networks Inc. | Universal convergence border gateway |
CN101232429A (zh) * | 2007-12-06 | 2008-07-30 | 华为技术有限公司 | 点到多点gtp隧道的建立方法、网络设备 |
CN101843054A (zh) * | 2007-10-31 | 2010-09-22 | 富士通株式会社 | 通信方法及通信终端、数据传送装置及控制装置 |
US20100260096A1 (en) * | 2009-04-13 | 2010-10-14 | Qualcomm Incorporated | Split-cell relay application protocol |
US20100265950A1 (en) * | 2009-04-17 | 2010-10-21 | Viasat, Inc. | Acceleration through a network tunnel |
CN102132606A (zh) * | 2008-08-25 | 2011-07-20 | 高通股份有限公司 | 中继体系结构框架 |
CN103477589A (zh) * | 2011-03-28 | 2013-12-25 | 瑞典爱立信有限公司 | 用于控制和处理探测隧道建立的技术 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947440B2 (en) | 2000-02-15 | 2005-09-20 | Gilat Satellite Networks, Ltd. | System and method for internet page acceleration including multicast transmissions |
JP4558454B2 (ja) | 2004-11-12 | 2010-10-06 | パナソニック株式会社 | 通信システム |
US20090016334A1 (en) * | 2007-07-09 | 2009-01-15 | Nokia Corporation | Secured transmission with low overhead |
EP2088691B1 (en) | 2008-02-07 | 2019-10-02 | Gilat Satellite Networks, Ltd. | Real-time sessions quality-of-service over reservation-based access |
EP2272272B1 (en) | 2008-04-30 | 2016-05-18 | Telefonaktiebolaget LM Ericsson (publ) | Self-backhauling in lte |
EP2151921B1 (en) * | 2008-08-07 | 2013-10-02 | Epcos AG | Dynamic impedance matching network and method for matching an impedance between a source and a load |
US8902805B2 (en) | 2008-10-24 | 2014-12-02 | Qualcomm Incorporated | Cell relay packet routing |
JP2010130610A (ja) | 2008-12-01 | 2010-06-10 | Hitachi Kokusai Electric Inc | データ伝送システム |
US8792408B2 (en) | 2009-06-18 | 2014-07-29 | Telefonaktiebolaget L M Ericsson (Publ) | Backhaul header compression |
JP5749722B2 (ja) * | 2009-09-28 | 2015-07-15 | ダウ グローバル テクノロジーズ エルエルシー | ジブロモマロンアミドの組成物および殺生剤としてのその使用 |
US20140153489A1 (en) * | 2011-06-02 | 2014-06-05 | Interdigital Patent Holdings, Inc. | Methods, Apparatus and Systems for Inter-Converged Gateway (ICGW) Communications |
JP5910107B2 (ja) | 2012-01-25 | 2016-04-27 | 富士通株式会社 | ネットワークシステム,オフロード装置,及びオフロードトラフィックの制御方法 |
CN102694810B (zh) | 2012-05-31 | 2014-10-08 | 航天恒星科技有限公司 | 一种卫星网络tcp地面加速方法 |
US9106711B2 (en) * | 2012-09-04 | 2015-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Minimizing mapping and signaling for data path aggregation |
-
2015
- 2015-06-16 US US14/740,297 patent/US10021594B2/en active Active
- 2015-06-17 CN CN201580045724.0A patent/CN106716951B/zh active Active
- 2015-06-17 EP EP15735745.0A patent/EP3162020B1/en active Active
- 2015-06-17 WO PCT/IL2015/050611 patent/WO2015198303A1/en active Application Filing
- 2015-06-17 JP JP2015563170A patent/JP6058179B2/ja active Active
- 2015-06-17 KR KR1020177002566A patent/KR20170026541A/ko unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060265504A1 (en) * | 2005-05-18 | 2006-11-23 | Azaire Networks Inc. | Universal convergence border gateway |
CN101843054A (zh) * | 2007-10-31 | 2010-09-22 | 富士通株式会社 | 通信方法及通信终端、数据传送装置及控制装置 |
CN101232429A (zh) * | 2007-12-06 | 2008-07-30 | 华为技术有限公司 | 点到多点gtp隧道的建立方法、网络设备 |
CN102132606A (zh) * | 2008-08-25 | 2011-07-20 | 高通股份有限公司 | 中继体系结构框架 |
US20100260096A1 (en) * | 2009-04-13 | 2010-10-14 | Qualcomm Incorporated | Split-cell relay application protocol |
US20100265950A1 (en) * | 2009-04-17 | 2010-10-21 | Viasat, Inc. | Acceleration through a network tunnel |
CN103477589A (zh) * | 2011-03-28 | 2013-12-25 | 瑞典爱立信有限公司 | 用于控制和处理探测隧道建立的技术 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620717A (zh) * | 2018-06-19 | 2019-12-27 | 瞻博网络公司 | 使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 |
CN110620717B (zh) * | 2018-06-19 | 2021-11-05 | 瞻博网络公司 | 网络设备、非瞬态计算机可读介质以及用于通信的方法 |
US10856344B2 (en) | 2019-03-15 | 2020-12-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and an apparatus for reducing connection set-up time in a communications network |
CN111262881A (zh) * | 2020-02-26 | 2020-06-09 | 杭州云缔盟科技有限公司 | 一种隐藏手机app访问的服务器dns域名的方法 |
CN111262881B (zh) * | 2020-02-26 | 2021-07-02 | 杭州云缔盟科技有限公司 | 一种隐藏手机app访问的服务器dns域名的方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3162020B1 (en) | 2021-01-06 |
US10021594B2 (en) | 2018-07-10 |
JP6058179B2 (ja) | 2017-01-11 |
EP3162020A1 (en) | 2017-05-03 |
CN106716951B (zh) | 2020-06-16 |
KR20170026541A (ko) | 2017-03-08 |
US20150382240A1 (en) | 2015-12-31 |
WO2015198303A1 (en) | 2015-12-30 |
JP2016529744A (ja) | 2016-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106716951A (zh) | 用于优化隧道流量的方法和装置 | |
US11671868B2 (en) | Methods and apparatus for optimizing tunneled traffic | |
US9131003B2 (en) | Method of transmitting data in a wireless communication system | |
RU2461147C2 (ru) | Способ обработки радиопротокола в системе подвижной связи и передатчик подвижной связи | |
ES2328342T3 (es) | Sistema y procedimiento de comunicacion movil. | |
CN102056235B (zh) | 一种数据传输方法、设备和系统 | |
JP4164365B2 (ja) | デュアル・プロキシ装置を設けることによる無線インタフェースを介するtcp性能の改良技術 | |
US8189586B2 (en) | Plural telecommunications functions having sharing transaction(s) | |
US9554312B2 (en) | Message transfer for in-band signaling messages in radio access networks | |
US8005115B2 (en) | Method of transferring a data block in a wireless communication system | |
CN107172662A (zh) | 一种通信方法及装置 | |
CN105532059A (zh) | 配置指示方法和通信设备 | |
EP3198928B1 (en) | Call processing method and apparatus for use in lte system | |
CN101557386A (zh) | 数据发送方法与装置及数据接收方法与装置 | |
EP3340545B1 (en) | Methods and apparatus for optimizing tunneled traffic | |
US7738459B2 (en) | Method, system and apparatus for reliably transmitting packets of an unreliable protocol | |
CN108429700A (zh) | 一种发送报文的方法及装置 | |
WO2020078184A1 (zh) | 用户面数据完整性保护方法、装置、电子设备及介质 | |
CN108200605B (zh) | 一种基站的数据传输方法和装置 | |
WO2022037097A1 (zh) | 通信方法、装置及系统 | |
CN104995985A (zh) | 一种ip语音本地交换的方法、装置及系统 | |
JP2014179844A (ja) | パケット伝送装置、パケット伝送方法及びパケット伝送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |