CN106416199B - 一种透明性能增强代理及其操作方法 - Google Patents

一种透明性能增强代理及其操作方法 Download PDF

Info

Publication number
CN106416199B
CN106416199B CN201580028060.7A CN201580028060A CN106416199B CN 106416199 B CN106416199 B CN 106416199B CN 201580028060 A CN201580028060 A CN 201580028060A CN 106416199 B CN106416199 B CN 106416199B
Authority
CN
China
Prior art keywords
connection
source device
grouping
transmission control
control protocol
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
Application number
CN201580028060.7A
Other languages
English (en)
Other versions
CN106416199A (zh
Inventor
V.卡什亚普
M.J.克拉维兹
马秀玲
E.内厄姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN106416199A publication Critical patent/CN106416199A/zh
Application granted granted Critical
Publication of CN106416199B publication Critical patent/CN106416199B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Abstract

提供了一种透明性能增强代理、一种用于操作在源设备与目的地设备之间的透明性能增强代理的方法、以及相应的计算机程序产品。所述方法包括在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息。所述方法还包括在所述分组的传输控制协议连接设置阶段期间,保存传输控制协议连接语义。所述方法还包括在所述分组的传输控制协议数据传递阶段期间,通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。

Description

一种透明性能增强代理及其操作方法
技术领域
本发明总地涉及信息处理,并且具体涉及用于性能增强代理的混合方式。
背景技术
通过无线网络使用传输控制协议/互联网协议(TCP/IP)时的根本问题是 TCP在将分组丢失解释为网络拥塞标志时的默认行为。虽然该假设在有线网络(其中分组丢失主要由路由器中的缓冲限制所引起)中有用,但是它在无线网络中引起问题。这是因为在无线网络中,可能由于诸如衰落、衰减以及冲突(即,使用空气作为传输信道而特有的问题)的问题而发生分组丢失。这些分组丢失可能不必要地限制性能,使得无线信道未被充分利用。
因此,已经存在经由以下两种方式,通过将分组丢失与拥塞控制解除关联来缓解该问题的方式:
(a)修改端主机TCP协议栈;或者
(b)插入靠近无线链路的、被称为性能增强代理的中间盒(middlebox)。
第一种方式难以部署,因为它依赖于对利用无线链路的所有客户端和所有服务器进行升级,这由于移动设备和服务器操作系统的多样性而通常是极其困难的过程。
第二种方式较容易部署,因为它可以渐进地以及对客户端和服务器透明地进行。然而,如在现有技术中所实现的那样,第二种方式遭受许多缺陷,包括但不限于以不期望的方式改变TCP连接的语义,这可能导致发送器的不正确行为。
发明内容
根据本原理的一个方面,提供了一种用于操作在源设备与目的地设备之间的透明性能增强代理的方法。所述方法包括:在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息。所述方法还包括在所述分组的传输控制协议连接设置阶段期间,保存传输控制协议连接语义。所述方法还包括在所述分组的传输控制协议数据传递阶段期间,通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
根据本原理的另一方面,提供了一种用于操作透明性能增强代理的计算机程序产品。所述计算机程序产品包括具有包含在其中的程序指令的计算机可读存储介质。所述程序指令可由所述透明性能增强代理中包括的处理器执行,以使所述透明性能增强代理:在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息。此外,可由所述透明性能增强代理中包括的处理器执行的程序指令使所述透明性能增强代理在所述分组的传输控制协议连接设置阶段期间,保存传输控制协议连接语义。另外,可由所述透明性能增强代理中包括的处理器执行的程序指令使所述透明性能增强代理在所述分组的传输控制协议数据传递阶段期间,通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
根据本原理的又一方面,提供了一种用于布置在源设备与目的地设备之间的透明性能增强代理。所述代理包括:处理器,用于在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息。所述代理还包括存储器,用于存储所述分组的副本。在所述分组的传输控制协议连接设置阶段期间,所述处理器保存传输控制协议连接语义。此外,在所述分组的传输控制协议数据传递阶段期间,所述处理器通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
根据要结合附图阅读的对其说明性实施例的以下详细描述,这些和其它的特征和优点将变得明显。
附图说明
本公开将参考以下附图在以下对优选实施例的描述中提供细节,附图中:
图1示出了根据本原理的实施例的可以应用本原理的示范性环境100;
图2示出了根据本原理的实施例的可以应用本原理的另一示范性环境 200;
图3进一步示出了根据本原理的实施例的图1的透明性能增强代理 (PEP)130和图2的PEP 230;
图4示出了根据本原理的实施例的由透明性能增强代理(PEP)进行的示范性方法400;以及
图5示出了根据本原理的实施例的示范性混合(分割-监听(Split-Snoop)) TCP握手500。
具体实施方式
本原理针对用于性能增强代理的混合方式。在此所描述的性能增强代理意在位于发送设备与接收设备之间。如在此所使用的,术语“在…之间”是指性能增强代理(PEP)的带内配置(图1)和PEP的边带配置(图2)中的任一个。
我们注意到在此可互换地使用以下术语:发送设备;发送器;源;以及服务器。我们还注意到在此还可互换地使用以下术语:接收设备;接收器;目的地;客户端设备;以及客户端。这样的术语的可互换性被本领域的普通技术人员容易地理解。
图1示出了根据本原理的实施例的可以应用本原理的示范性环境100。环境100包括服务器110、广域网(WAN)120、性能增强代理(PEP)130、接入点140以及客户端设备150(下文中简称“客户端”)。PEP 130通过局域网(LAN)160连接到接入点140。
在环境100中,PEP 130以带内配置来连接。因此,所有业务量流经PEP 130。因此,PEP 130路由器相似,相似之处在于PEP 130看到所有分组。
图2示出了根据本原理的实施例的可以应用本原理的另一示范性环境 200。环境200包括服务器210、广域网(WAN)220、路由器225、性能增强代理(PEP)230、接入点240以及客户端设备250(下文中简称“客户端”)。 PEP 230通过局域网(LAN)260连接到接入点240。当然,本原理不限于图 2或图3中所示的配置。例如,关于图2,在另一实施例中,PEP 230可以连接到广域网(WAN)来取代LAN 260。在又一实施例中,PEP 230可以并入接入点240内。在此所描述的前述配置仅是说明性的,并且因此本领域的普通技术人员鉴于在此所提供的本原理的教导,将考虑可以使用PEP 230(以及下面关于图3所描述的PEP 330)的这些和其他配置,同时保持本原理的精神。
在环境200中,PEP 230以边带配置来连接。路由器225将分组重新定向到PEP 230。可以进行由路由器225进行的重新定向,例如但不限于MAC 层重写或隧道建立(tunneling)。因此,PEP 230只看到由路由器225重新定向到它的业务量。
图3进一步示出了根据本原理的实施例的图1的透明性能增强代理 (PEP)130和图2的PEP 230。PEP 130/230包括经由系统总线302可操作地耦合到其他部件的至少一个处理器(CPU)304。高速缓存器306、只读存储器(ROM)308、随机存取存储器(RAM)310、输入/输出(I/O)适配器320、两个网络适配器341和342、用户接口适配器350以及显示适配器360可操作地耦合到系统总线302。
第一存储设备322和第二存储设备324通过I/O适配器320可操作地耦合到系统总线302。存储设备322和324可以是盘存储设备(例如,磁盘存储设备或光盘存储设备)、固态磁设备等中的任何一个。存储设备322和324 可以是相同类型的存储设备或不同类型的存储设备。
网络适配器341和342可以是有线网络适配器和/或无线网络适配器中的任何一个。也就是说,网络适配器341和342可以是相同类型(都是有线的或都是无线的)或不同类型。在实施例中,网络适配器341是无线网络适配器,而网络适配器342是有线网络适配器。当然,根据本原理的教导,取决于实现方式,可以使用任何数量的网络适配器。
第一用户输入设备352、第二用户输入设备354以及第三用户输入设备 356通过用户接口适配器350可操作地耦合到系统总线302。用户输入设备 352、354和356可以是键盘、鼠标、小键盘、图像捕获设备、运动感测设备、麦克风、包含至少两个前述设备的功能的设备等中的任何一个。当然,在保持本原理的精神的同时,还可以使用其他类型的输入设备。用户输入设备352、 354和356可以是相同类型的用户输入设备或不同类型的用户输入设备。用户输入设备352、354和356用来向PEP 130/230输入信息以及从PEP 130/230 输出信息。
显示设备362通过显示适配器360可操作地耦合到系统总线302。
在实施例中,PEP 130/230可以是服务器。PEP 130/230可被实现为例如但不限于WAN加速器、web高速缓存器以及网络优化器设备/WIFI加速器 (NOA/WAX)。
当然,如本领域的技术人员容易想到的,PEP 130/230还可以包括其他元件(未示出)以及省略某些元件。例如,如本领域的普通技术人员容易理解的,取决于PEP 130/230的特定实现方式,PEP 130/230中可以包括各种其他输入设备和/或输出设备。例如,可以使用各种类型的无线的和/或有线的输入和/或输出设备。另外,在一些实施例中,在通过网络适配器341和342之一或二者远程提供用户输入的情况下,可以省略用户直接输入设备。此外,如本领域的普通技术人员容易理解的,还可以利用采用各种配置的另外的处理器、控制器、存储器等。PEP 130/230的这些和其他变型例是本领域的普通技术人员鉴于在此所提供的本原理的教导而容易想到的。
图4示出了根据本原理的实施例的由透明性能增强代理(PEP)进行的示范性方法400。透明PEP可以是例如图1中所示的PEP 130或图2中所示的PEP 230。透明PEP位于发送器与接收器之间。发送器可以是例如图1中所示的服务器110或图2中所示的服务器220。接收器可以是例如图1中所示的客户端150或图2中所示的客户端250。
在步骤410,响应于在发送器与接收器之间建立连接,终止该连接,并对接收器作为发送器以及对发送器作为接收器来运行TCP协议,从而有效地创建两个连接。
在步骤420,保存接收器和发送器已协商的TCP选项,诸如路径最大传输单元(MTU)、SACK、显式拥塞通知(ECN)等。
在步骤430,响应于接收到新的数据分组,复制新的数据分组,高速缓存新的数据分组的副本,并将新的数据分组的副本转发到接收器。
在步骤440,响应于识别出转发到接收器的新的数据分组的副本的分组丢失,重新传送已被高速缓存的新的数据分组的副本。例如可以通过重复 ACK、选择性确认(SACK)块、重新传送超时等进行分组丢失的识别。
在步骤450,响应于接收到对转发到接收器的新的分组的副本的确认 (ACK),销毁已被高速缓存的新的数据分组的副本。
关于步骤430,将其描述为涉及“销毁”分组的副本。术语“正在销毁”或“销毁”包括具有例如移除、取消、删除、从列表删除、或者解除引用分组、或者使分组不可用或不可访问的效果的各种动作中的任何一个。作为示例,可以通过解除分配与分组相关联的存储器并将该存储器归还到操作系统,或者通过将存储器归还到存储池来“销毁”分组。
现在将给出关于TCP序列号、同步(SYN)标志和确认(ACK)的描述。 TCP使用序列号来识别数据的每个字节。序列号标识从源设备和目的地设备发送的字节的顺序,以便数据可以以适当的预期顺序来重建,而不管例如在传送期间的重新排序或分组丢失。此外,序列号允许目的地设备丢弃重复的分组。源设备与目的地设备之间交换的初始序列号(ISN)是任意的(例如,防止序列预测攻击)。如果SYN标志被设置(1),则这是实际第一数据字节的初始序列号,然后相应ACK中的确认的号码是该序列号加1。如果SYN 标志被清除(0),则这是用于当前会话的该段的第一数据字节的累加的序列号。如果ACK标志被设置(1),则ACK字段的值是接收器所期望的下一序列号,其用于确认所有先前字节(如果有的话)的接收。由源和目的地发送的第一ACK确认另一个的初始序列号本身而不是数据。
现在将给出关于性能增强代理的描述。
性能增强代理(PEP)以许多形式(链路级、TCP级、超文本传输协议 (HTTP)代理)出现,但是便捷的方式是在TCP层,这是因为它有益于所有的TCP业务量(其是互联网上的大量业务量)。
TCP PEP落入两个类别:分割TCP(Split-TCP);和监听TCP (Snoop-TCP)。虽然采用不同的方式,但是二者都提高无线链路上的性能,并且具有不同的优点和缺点。
在分割TCP的情况下,PEP显式地或者隐式地将从源到目的地的连接分割为两个连接。在显式地分割连接时,分割TCP使用不同的IP地址和TCP 端口号。在隐式地分割连接时,PEP在每个方向上假装为从源到目的地的连接的端点(目的地)。也就是说,PEP使用相同的IP地址,对目的地伪装成源,而对源伪装成目的地。在分割TCP的任一情况下,无需使源和目的地知晓在它们之间使用PEP。
在监听TCP的情况下,PEP通过例如现有(非分割)连接中的ACK过滤和重建来控制TCP段在两个方向上的传送。当接收到重复的TCP ACK时 (这种情况与分组丢失的高可能性相关联),在源对分组丢失一无所知的情况下重新传送相应的丢失的分组。
本原理提出了分割-监听,一种对于TCP级性能增强代理的混合方式。分割-监听是以两种方式的最佳优点以及缺点的最小集合而达到独特设计点的特征的新颖且非显而易见的组合。
现在将给出关于分割TCP的描述。
分割TCP在PEP处显式地(使用不同的IP地址和TCP端口号)或者隐式地(通过使用相同的IP地址,并对客户端伪装成服务器,而对服务器伪装成客户端)终止TCP连接。
分割TCP具有的优点在于,它以至少4个方式提高性能:
(1)分割TCP允许无线链路上的更快的丢失恢复;
(2)由于更低的往返时间,分割TCP允许发送器的拥塞窗口更快地增大;
(3)分割TCP通过公布比原始接收器更大的接收窗口来增加发送器可用的缓冲空间的大小;以及
(4)分割TCP通过使某些TCP功能可用(例如,通过启用无线组件上的选择性确认(SACK),或者有线链路上的大窗口)来允许改进网络的一部分上的协议行为。
分割TCP具有以下缺点:
(1)分割TCP以两种重要方式来改变TCP连接的语义:
(a)改变连接失败错误代码(例如,通过将会是无响应错误的错误转换为连接重置错误),这可能导致发送器的不正确行为;以及
(b)在由客户端确认之前,由PEP将数据确认返回发送器,导致发送器在接收器未得到信息时认为接收器已经得到该信息,再次可能导致不正确的发送器行为;
(2)分割TCP比监听TCP需要更多的处理和存储器资源;
(3)由于对外部观察者而言,分割TCP修改TCP分组(例如,序列号、 TCP选项、分组校验和等),所以分割TCP相对容易检测。
现在将给出关于监听TCP的描述。
监听TCP是监控TCP对话、确定分组何时丢失(在原始发送器进行之前)以及代表发送器重新传送分组的智能TCP知晓的分组高速缓存器。
由于监听TCP比发送器更接近接收器,所以这允许更快的丢失恢复从而允许更好的性能。监听TCP不终止TCP连接。
监听TCP具有以下优点:
(1)监听TCP允许无线链路上的更快的丢失恢复;
(2)监听TCP不违反任何TCP语义;
(3)监听TCP比分割TCP需要更少的资源(CPU和存储器/状态);以及
(4)由于监听TCP对TCP连接行为引起更少的改变,所以监听TCP 更难以检测。
监听TCP具有以下缺点:
(1)与分割TCP相比,在监听的情况下连接将经历更长的等待时间;以及
(2)与分割TCP相比,监听TCP展示出更低的性能增益。
已经描述了分割TCP和监听TCP的相关方面,现在将根据本原理的实施例给出分割-监听的进一步描述。
如上所述,本原理提出分割-监听,一种对于TCP级性能增强代理的混合方式。有利地,分割-监听以两种方式的最佳优点以及缺点的最小的集合而提供独特的设计点。
例如,但当然不是穷尽性的,我们提及以下。与监听TCP相似,分割- 监听将分组高速缓存并在必要时代表发送器将分组重新传送。同样与监听 TCP相似,分割-监听通过在两侧都已完成其连接建立序列之前不终止连接,来保存连接设置语义。此外,与监听TCP相似,分割-监听在数据已到达接收器之前确认由发送器发送的数据。
因此,在实施例中,分割-监听可以具有以下优点:
(1)分割-监听允许无线链路上的更快的丢失恢复;
(2)由于更低的往返时间,分割-监听允许发送器的拥塞窗口更快地增大;
(3)如监听TCP进行而分割TCP不进行的,分割-监听保存监听TCP 的连接设置语义(例如,分割-监听不改变TCP连接失败错误代码,也不在由目的地确认之前通过PEP向源返回数据ACKS,也不在两侧都已完成其连接建立序列之前终止连接),;
(4)分割-监听比分割TCP需要更少的CPU和存储器资源;
(5)分割-监听比分割TCP更难以检测。检测分割-监听需要了解更复杂的动力学(dynamics);
(6)与分割TCP相比,分割-监听提供更好的互操作性(例如,有效的机会)。例如,分割-监听比分割TCP更少地干扰分组序列。此外,对意料之外的交互,分割-监听比分割TCP更加鲁棒;以及
(7)分割-监听具有与分割TCP等效或相当的性能。
在实施例中,分割-监听可以具有以下缺点:
(1)如监听TCP进行而分割TCP不进行的,分割-监听违反TCP的数据传递语义。在数据可能还未送达时,发送器TCP堆栈将认为数据已被送达客户端;
(2)分割-监听比监听TCP需要更多的CPU和存储器资源;以及
(3)分割-监听比监听TCP更容易检测。
图5示出了根据本原理的实施例的示范性的混合(分割-监听)TCP握手 500。
在步骤510,由PEP 130/230拦截由源110/210发送的序列号X。
在步骤520,由PEP 130/230将序列号X转发到目的地150/250。
在步骤530,由PEP 130/230拦截由目的地150/250发送的序列号Y、 ACK=X+1。
在步骤540,由PEP 130/230将序列号=y、ACK=X+1转发到源110/210。
在步骤550,从PEP 130/230将ACK=Y+1发送到目的地150/250。
在步骤560,由PEP 130/230拦截来自源110/210的ACK=Y+1。
分割-监听由此提供独特的设计点,该独特的设计点以监听TCP的大部分实现方式和语义益处来获得分割TCP的大部分性能益处。
因此,以分割-监听实施的混合方式有利地、积极地保存所有分组报头。分割-监听使用相同的报头信息来避免检测。因此,不需要报头信息的转换。在涉及传输控制协议(TCP)的实施例中,分组报头信息包括例如但不限于以下:至少一个TCP端口号(例如,源端口号和/或目的地端口号);TCP序列号;TCP报头选项(例如,在选项类型字段、选项长度字段、以及选项日期字段的一个或多个中的信息);TCP显式拥塞通知信息;等等。在涉及互联网协议(IP)的实施例中,分组报头选项包括例如但不限于以下:至少一个 IP地址(例如,源地址和/或目的地地址);IP跳计数;IP生存时间(TTL); IP服务类型(亦称区分服务代码点(DSCP));IP显式拥塞通知信息等。在涉及媒体访问控制(MAC)的实施例中,分组报头选项包括但不限于以下: MAC地址,虚拟局域网标签等。
在实施例中,不转换而保存的分组报头信息包括在TCP报头的全部10 个强制字段中指定的所有信息。在实施例中,不转换而保存的分组报头信息还包括在报头的至少全部强制选项字段中指定的所有信息。
我们注意到TCP协议操作并且因而PEP 130/230的操作可被描述为涉及连接设置阶段、数据传递阶段以及连接终止阶段。源与PEP之间的连接以及 PEP与目的地之间的连接在图5中所示并属于在进入数据传递阶段之前的连接设置阶段的多步握手方法500中建立。在数据传递阶段期间的数据传输完成之后,连接终止阶段结束前述的连接并释放所有为其分配的资源。
对于连接设置阶段(亦称连接建立阶段),以分割-监听实施的混合方式表现得像监听TCP。因此,分割-监听在连接设置阶段期间保存TCP连接语义。因而,例如,分割-监听等待同步确认(SYN-ACK)从目的地设备返回,并防止源设备与目的地设备之间的连接终止,直到源设备和目的地设备二者都已完成其各自的连接建立序列(即,用于源设备与目的地设备之间的全双工通信的SYN、SYN-ACK、ACK)为止。
此外,对于连接终止阶段,以分割-监听实施的混合方式表现得像分割 TCP。因此,分割-监听在连接终止阶段期间也保存TCP连接语义。也就是说,在数据传递阶段期间的数据传输完成之后,连接终止阶段结束源设备与代理之间的连接以及代理与目的地设备之间的连接,并释放所有为其分配的资源。
此外,对于数据传递阶段,以分割-监听实施的混合方式表现得像分割 TCP。因此,分割-监听在数据传递阶段期间,通过对目的地设备伪装成源设备而对源设备伪装成目的地设备,来运行传输控制协议。作为这种伪装的结果,由于更低的往返时间,分割-监听允许发送器的拥塞窗口更快地增大。也就是说,由于更低的往返时间,分割-监听提高了源设备的拥塞窗口大小的增长速率。更低的往返时间是由于PEP比源设备更接近目的地设备。因而,在实施例中,分割-监听可以获得对分割TCP而言可获得的相同的性能提高。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构 (ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形下,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列 (PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,或者这些方框有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在说明书中对本原理的“一个实施例”或“实施例”及其其他变型的提及,意指结合实施例描述的特定特征、结构、特性等包括在本原理的至少一个实施例中。因此,在遍及说明书的各处出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型的出现,并不必然全都指的是相同的实施例。
要理解,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况中,以下“/”、“和/或”以及“…中的至少一个”的任何一个的使用,意在包含仅选择第一个列出的选项(A)、或仅选择第二个列出的选项(B)、或选择两个选项(A和B)。作为其他示例,在“A、B和/或C”以及“A、B 和C中的至少一个”的情况下,这种措辞意在包含仅选择第一个列出的选项(A)、或仅选择第二个列出的选项(B)、或仅选择第三个列出的选项(C)、或仅选择第一个和第二个列出的选项(A和B)、或仅选择第一个和第三个列出的选项(A和C)、或仅选择第二个和第三个列出的选项(B和C)、或选择全部三个选项(A和B和C)。如对本领域和相关领域的普通技术人员显而易见的,这可以扩展用于列出的许多项。
已经描述了系统和方法的优选实施例(其意在是说明性的而不是限制),要注意,本领域的技术人员根据上述教导可以做出修改和变型。因此要理解,在所公开的特定实施例中,可以做出在如所附权利要求书概括的本发明的范围内的改变。已经以专利法所要求的细节和特性这样描述了本发明的各方面,在所附权利要求书中提出由专利证书要求保护且期望保护的内容。

Claims (17)

1.一种用于操作在源设备与目的地设备之间的透明性能增强代理的方法,包括:
在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息;
在所述分组的传输控制协议连接设置阶段期间,保存传输控制协议连接语义;
当在传输控制协议连接设置阶段期间建立在源设备与目的地设备之间的连接时,在透明性能增强代理处本地终止所述连接,并创建在源设备与透明性能增强代理之间的连接以及在透明性能增强代理与源设备之间的连接;以及
在所述分组的传输控制协议数据传递阶段期间,通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
2.根据权利要求1所述的方法,其中,在不转换的情况下保存的分组报头信息包括以下至少一个:
对于所述分组的传输控制协议通信,传输控制协议端口号、传输控制协议序列号、以及传输控制协议报头选项中的至少一个;
对于所述分组的互联网协议通信,互联网协议地址、互联网协议跳限制、互联网协议生存时间、互联网协议服务类型、以及显式拥塞通知中的至少一个;以及
对于所述分组的媒体访问控制通信,媒体访问控制地址以及虚拟局域网标签中的至少一个。
3.根据权利要求1或2所述的方法,其中,在不转换的情况下保存的分组报头信息包括在所述报头的所有强制字段中指定的所有信息。
4.根据权利要求3所述的方法,其中,在不转换的情况下保存的分组报头信息还包括在所述报头的至少一些强制选项字段中指定的所有信息。
5.根据前述权利要求1或2所述的方法,其中,对于连接设置阶段,通过等待同步确认从目的地设备返回,并防止在源设备与目的地设备之间的连接终止直到源设备和目的地设备二者都已完成其各自的用于所述连接的连接建立序列为止,来保存传输控制协议连接语义。
6.根据前述权利要求1或2所述的方法,还包括:对于所述分组的连接终止阶段,通过结束源设备与透明性能增强代理之间的连接、结束透明性能增强代理与目的地设备之间的连接、以及释放所有为所述连接分配的资源,来保存传输控制协议连接语义。
7.根据前述权利要求1或2所述的方法,还包括:
响应于从源设备接收到所述分组,创建所述分组的副本,高速缓存所述分组的副本,并将所述分组的副本传送到目的地设备;
响应于从源设备接收到对所述分组的确认,销毁已被高速缓存的所述分组的副本;以及
响应于检测到关于所述分组的分组丢失,重新传送已被高速缓存的所述分组的副本。
8.根据权利要求1所述的方法,还包括:对于在源设备与透明性能增强代理之间的连接和在透明性能增强代理与源设备之间的连接,保存之前在源设备与目的地设备之间为它们之间的连接所协商的任何传输控制协议选项。
9.根据权利要求8所述的方法,其中,传输控制协议选项包括路径最大传输单元、选择性确认以及显式拥塞通知中的至少一个。
10.一种具有包含在其中的程序指令的计算机可读存储介质,所述程序指令可由透明性能增强代理中包括的处理器执行,以使所述透明性能增强代理:
在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息;
在所述分组的传输控制协议连接设置阶段期间,保存传输控制协议连接语义;
当在传输控制协议连接设置阶段期间建立在源设备与目的地设备之间的连接时,在透明性能增强代理处本地终止所述连接,并创建在源设备与透明性能增强代理之间的连接以及在透明性能增强代理与源设备之间的连接;以及
在所述分组的传输控制协议数据传递阶段期间,通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
11.根据权利要求10所述的计算机可读存储介质,其中,在不转换的情况下保存的分组报头信息包括以下至少一个:
对于所述分组的传输控制协议通信,传输控制协议端口号、传输控制协议序列号、以及传输控制协议报头选项中的至少一个;
对于所述分组的互联网协议通信,互联网协议地址、互联网协议跳限制、互联网协议生存时间、互联网协议服务类型、以及显式拥塞通知中的至少一个;以及
对于所述分组的媒体访问控制通信,媒体访问控制地址以及虚拟局域网标签中的至少一个。
12.根据权利要求10或11所述的计算机可读存储介质,其中,对于连接设置阶段,通过等待同步确认从目的地设备返回,并防止在源设备与目的地设备之间的连接终止直到源设备和目的地设备二者都已完成其各自的用于所述连接的连接建立序列为止,来保存传输控制协议连接语义。
13.根据权利要求10或11所述的计算机可读存储介质,还包括:对于所述分组的连接终止阶段,通过结束源设备与透明性能增强代理之间的连接、结束透明性能增强代理与目的地设备之间的连接、以及释放所有为所述连接分配的资源,来保存传输控制协议连接语义。
14.根据权利要求10所述的计算机可读存储介质,还包括:对于在源设备与所述代理之间的连接和在所述代理与源设备之间的连接,保存之前在源设备与目的地设备之间为它们之间的连接所协商的任何传输控制协议选项。
15.一种用于布置在源设备与目的地设备之间的透明性能增强代理,所述代理包括:
处理器,用于在不转换的情况下,保存从源设备接收到的要转发到目的地设备的分组的报头的分组报头信息;以及
存储器,用于存储所述分组的副本,
其中,在所述分组的传输控制协议连接设置阶段期间,所述处理器保存传输控制协议连接语义,
其中,当在传输控制协议连接设置阶段期间建立在源设备与目的地设备之间的连接时,在透明性能增强代理处本地终止所述连接,并创建在源设备与透明性能增强代理之间的连接以及在透明性能增强代理与源设备之间的连接,
其中,在所述分组的传输控制协议数据传递阶段期间,所述处理器通过对目的地设备伪装成源设备以及对源设备伪装成目的地设备来运行传输控制协议,以将所述分组和所保存的分组报头信息一起传送到目的地设备。
16.根据权利要求15所述的透明性能增强代理,其中,对于连接设置阶段,通过等待同步确认从目的地设备返回,并防止在源设备与目的地设备之间的连接终止直到源设备和目的地设备二者都已完成其各自的用于它们之间的连接的连接建立序列为止,来保存传输控制协议连接语义。
17.根据权利要求15所述的透明性能增强代理,其中,对于在源设备与透明性能增强代理之间的连接和在透明性能增强代理与源设备之间的连接,所述处理器保存之前在源设备与目的地设备之间为它们之间的连接所协商的任何传输控制协议选项。
CN201580028060.7A 2014-06-24 2015-06-22 一种透明性能增强代理及其操作方法 Active CN106416199B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/313,354 2014-06-24
US14/313,354 US9397939B2 (en) 2014-06-24 2014-06-24 Hybrid approach for performance enhancing proxies
PCT/IB2015/054660 WO2015198201A1 (en) 2014-06-24 2015-06-22 Hybrid approach for performance enhancing proxies

Publications (2)

Publication Number Publication Date
CN106416199A CN106416199A (zh) 2017-02-15
CN106416199B true CN106416199B (zh) 2019-10-18

Family

ID=54870675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580028060.7A Active CN106416199B (zh) 2014-06-24 2015-06-22 一种透明性能增强代理及其操作方法

Country Status (6)

Country Link
US (3) US9397939B2 (zh)
JP (1) JP6541697B2 (zh)
CN (1) CN106416199B (zh)
DE (1) DE112015003004B4 (zh)
GB (1) GB2541851B (zh)
WO (1) WO2015198201A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1016391B (de) 1957-01-18 1957-09-26 Helmut Jedlicka Verfahren zur Verbindung beliebiger Materialien unter gleichzeitiger Verwendung von Klebstoffen und mechanischen Mitteln
WO2015200929A1 (en) * 2014-06-28 2015-12-30 Hughes Network Systems, Llc Dynamic disabling of multi-step transport layer handshake spoofing in performance enhancing proxies (peps) in broadband networks
CN106357364B (zh) * 2015-07-15 2020-09-25 腾讯科技(深圳)有限公司 数据传输方法、装置及系统
US10419968B2 (en) * 2016-03-30 2019-09-17 International Business Machines Corporation Dynamic selection of TCP congestion control for improved performances
CN107819853B (zh) * 2017-11-13 2019-08-16 中国联合网络通信集团有限公司 一种数据传输方法及装置
CN109842567B (zh) 2017-11-24 2020-12-25 华为技术有限公司 数据分发方法以及分发服务器
CN108111434B (zh) * 2017-12-14 2021-03-16 四川大学 一种基于可靠udp和喷泉码的航空自组网可靠传输方法
EP3759891A1 (en) * 2018-03-01 2021-01-06 Nokia Technologies Oy Conversion between transmission control protocols
CN110740093B (zh) * 2019-10-24 2020-09-15 北京大学 一种基于虚拟主机的数据转发装置
US11496397B2 (en) * 2021-01-06 2022-11-08 Verizon Patent And Licensing Inc. Transparent quantitative congestion control

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519699A (en) * 1993-12-17 1996-05-21 Nec Corporation Method of protocol termination and a packet data communication system applied the method
US6587435B1 (en) * 1998-03-05 2003-07-01 Kdd Corporation Apparatus for high speed communication on asymmetric line

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266335B1 (en) * 1997-12-19 2001-07-24 Cyberiq Systems Cross-platform server clustering using a network flow switch
JP3730480B2 (ja) 2000-05-23 2006-01-05 株式会社東芝 ゲートウェイ装置
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7616644B2 (en) * 2004-02-25 2009-11-10 Nokia Corporation Method and apparatus providing a protocol to enable a wireless TCP session using a split TCP connection
US8069250B2 (en) * 2005-04-28 2011-11-29 Vmware, Inc. One-way proxy system
US8320250B2 (en) * 2008-02-12 2012-11-27 Nvidia Corporation Method and arrangement for TCP flow control
EP2351333B1 (en) * 2008-11-25 2019-09-18 Citrix Systems, Inc. Systems and methods for applying transformations to ip addresses obtained by domain name service (dns)
US20110103391A1 (en) * 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8654659B2 (en) * 2009-12-23 2014-02-18 Citrix Systems, Inc. Systems and methods for listening policies for virtual servers of appliance
US9438494B2 (en) * 2011-12-28 2016-09-06 Avvasi Inc. Apparatus and methods for optimizing network data transmission
JP2016501464A (ja) 2012-11-08 2016-01-18 キュー ファクター コミュニケーションズ コーポレーション プロキシサーバを用いて通信ネットワークにおいてtcp及び他のネットワークプロトコルのパフォーマンスを向上させる方法及び装置
US9935879B2 (en) 2012-12-29 2018-04-03 Netronome Systems, Inc. Efficient intercept of connection-based transport layer connections

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519699A (en) * 1993-12-17 1996-05-21 Nec Corporation Method of protocol termination and a packet data communication system applied the method
US6587435B1 (en) * 1998-03-05 2003-07-01 Kdd Corporation Apparatus for high speed communication on asymmetric line

Also Published As

Publication number Publication date
US20190253511A1 (en) 2019-08-15
DE112015003004B4 (de) 2024-02-29
US10341449B2 (en) 2019-07-02
US20150372908A1 (en) 2015-12-24
DE112015003004T5 (de) 2017-03-23
WO2015198201A1 (en) 2015-12-30
CN106416199A (zh) 2017-02-15
GB2541851A (en) 2017-03-01
GB201700127D0 (en) 2017-02-22
US10791192B2 (en) 2020-09-29
US20160241662A1 (en) 2016-08-18
JP2017520996A (ja) 2017-07-27
GB2541851B (en) 2020-12-09
JP6541697B2 (ja) 2019-07-10
US9397939B2 (en) 2016-07-19

Similar Documents

Publication Publication Date Title
CN106416199B (zh) 一种透明性能增强代理及其操作方法
CN105075216B (zh) 识别原始ip地址以及客户端端口连接
US9438702B2 (en) Techniques for protecting against denial of service attacks
US9906630B2 (en) Processing data packets in performance enhancing proxy (PEP) environment
CN106293957B (zh) 内容中心网络中的灵活命令和控制
CN107005532A (zh) 网络扩展tcp拼接
US10158570B2 (en) Carrying TCP over an ICN network
CN102792637B (zh) 选择性禁用网络连接上的可靠性机制的方法和系统
US9329912B2 (en) Core-affine processing on symmetric multiprocessing systems
US9270600B2 (en) Low-latency lossless switch fabric for use in a data center
CN108200158B (zh) 请求传输系统、方法、装置及存储介质
US20170085473A1 (en) OPENFLOW Communication Method and System, Controller, and Service Gateway
US20220166832A1 (en) Device and Method for Romote Direct Memory Access
WO2017045501A1 (zh) 一种报文调度方法和装置、存储介质
US20200128032A1 (en) Inspection of network traffic in a security device at object level
CN108370327A (zh) 多干线数据流调节系统和方法
CN103501282B (zh) 网络报文发送控制方法、虚拟交换机和物理机
CN113438155B (zh) 虚拟多链路的智能可靠的udp传输方法、装置和设备
US10320694B2 (en) Methods, apparatuses and computer-readable storage mediums for communication via user services platform
US8588064B2 (en) Transport layer that warns application of potential bottleneck and methods thereof
CN105245464A (zh) 一种基于安卓系统的网络加速方法
JP5606059B2 (ja) プロトコルスタックにおいて下位層から上位層まで受信データセグメントを送信する方法、プロトコルスタック、及びプロトコルスタックの端末
JP6534625B2 (ja) 通信装置および通信方法
US10805420B2 (en) Proxy-less wide area network acceleration
US10164818B2 (en) Effective indexing of protocol information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant