CN110381007A - Tcp加速方法及装置 - Google Patents

Tcp加速方法及装置 Download PDF

Info

Publication number
CN110381007A
CN110381007A CN201810327553.6A CN201810327553A CN110381007A CN 110381007 A CN110381007 A CN 110381007A CN 201810327553 A CN201810327553 A CN 201810327553A CN 110381007 A CN110381007 A CN 110381007A
Authority
CN
China
Prior art keywords
network equipment
tcp
message
accelerates
acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810327553.6A
Other languages
English (en)
Other versions
CN110381007B (zh
Inventor
栗明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810327553.6A priority Critical patent/CN110381007B/zh
Priority to PCT/CN2019/082000 priority patent/WO2019196853A1/zh
Publication of CN110381007A publication Critical patent/CN110381007A/zh
Application granted granted Critical
Publication of CN110381007B publication Critical patent/CN110381007B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种传输控制协议TCP加速方法及装置,属于网络技术领域。该方法应用于第一网络设备中,该第一网络设备支持双端TCP加速以及单端TCP加速,该方法包括:向第二网络设备发送双端加速协商报文;根据第一网络设备是否接收到双端加速确认报文,确定第二网络设备的TCP加速能力;当第二网络设备支持双端TCP加速时,对发送到第二网络设备的TCP报文进行双端TCP加速;当第二网络设备不支持双端TCP加速时,对发送到第二网络设备的TCP报文进行单端TCP加速。本申请中第一网络设备可以按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,而无需人工部署第一网络设备的TCP加速方式,提高了TCP加速的效率。

Description

TCP加速方法及装置
技术领域
本申请涉及网络技术领域,特别涉及一种传输控制协议(Transmission ControlProtocol,TCP)加速方法及装置。
背景技术
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,TCP加速是一种用于提高TCP报文在网络中传输的速度的技术。TCP加速包括双端TCP加速和单端TCP加速两种,双端TCP加速中会通过私有算法对TCP报文进行处理,因此需要对TCP连接的两端均进行部署,而单端TCP加速与标准的TCP协议兼容,因此只需对TCP连接的一端部署,而无需关心对端是否部署。
在企业网、校园网等各种网络架构中通常包括多个路由器,开发人员会根据业务需求,预先对网络中需要传输的每个数据流的TCP加速方式进行规划,即规划网络中哪些数据流需要使用单端TCP加速,哪些数据流需要使用双端TCP加速。之后,开发人员会根据每个数据流的规划结果,对每个路由器进行配置,例如当数据流被规划为使用双端TCP加速时,开发人员需要确定传输数据流的源路由器和目的路由器,该源路由器用于将源终端生成的数据流转发给目的路由器,该目的路由器用于将数据流转发给目的终端。之后,开发人员会为源路由器和目的路由器配置双端TCP加速的算法,以使源路由器和目的路由器具有支持双端TCP加速的能力。当数据流被规划为使用单端TCP加速时,开发人员需要确定传输数据流的源路由器,为源路由器配置单端TCP加速的算法,以使源路由器具有支持单端TCP加速的能力。之后,在数据流的传输过程中,当源终端生成TCP报文并发送TCP报文后,源路由器会接收TCP报文,按照自身的TCP加速能力,对TCP报文进行TCP加速,再将加速后的TCP报文发送给目的路由器,目的路由器接收到加速后的TCP报文后,会将TCP报文转发给目的终端。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
需要人工预先规划哪个数据流中的TCP报文使用单端TCP加速,哪个数据流中的TCP报文使用双端TCP加速,再根据规划的结果人工部署每个路由器的TCP加速方式,效率很低。
发明内容
本申请提供了一种TCP加速方法及装置,能够解决相关技术中需要人工部署路由器的TCP加速方式导致效率很低的技术问题。所述技术方案如下:
第一方面,提供了一种TCP加速方法,应用于第一网络设备中,所述第一网络设备支持双端TCP加速以及单端TCP加速,所述方法包括:
向第二网络设备发送双端加速协商报文,所述双端加速协商报文用于协商对TCP报文进行双端TCP加速;
根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的TCP加速能力,所述TCP加速能力用于指示所述第二网络设备是否支持双端TCP加速;
当所述第二网络设备支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行双端TCP加速;
当所述第二网络设备不支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行单端TCP加速。
本申请提供的方法,第一网络设备通过按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,无需人工部署第一网络设备的TCP加速方式,提高了TCP加速的效率。进一步地,保证第一网络设备对报文进行TCP加速的方式与第二网络设备的TCP加速能力匹配,免了按照第二网络设备不支持的TCP加速方式发送TCP报文时导致传输失败的情况。
在一种可能的实现中,所述向第二网络设备发送双端加速协商报文,包括:
当接收到目的网络设备为所述第二网络设备的同步(synchronize,SYN)报文时,向所述第二网络设备发送所述双端加速协商报文以及所述SYN报文。
结合本实现,第一网络设备通过与第二网络设备建立会话之前,临时探测第二网络设备的TCP加速能力,保证得到的第二网络设备的TCP加速能力实时性强,准确性高。进一步地,当第二网络设备的能力发生更新时,第一网络设备可以自动探测出它最新的TCP加速能力,保证向第二网络设备发送TCP报文的方式与第二网络设备最新的TCP加速能力匹配,使得TCP加速的过程时效性强,同时开发人员无需随着第二网络设备能力的更新,对第一网络设备进行重新配置,效率很高。
在一种可能的实现中,所述根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的传输控制协议TCP加速能力,包括:
当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;
当所述第一网络设备接收到同步确认(synchronize-acknowledgment,SYN-ACK)报文时,确定所述第二网络设备不支持双端TCP加速。
结合本实现,第二网络设备可以根据自身的TCP加速能力,对第一网络设备发送的两种报文中的一种报文进行响应,并丢弃另一种报文,则第一网络设备要么接收到双端加速确认报文,要么接收到SYN-ACK报文,第一网络设备只需区分接收到的是双端加速确认报文,还是SYN-ACK报文,即可确定第二网络设备的TCP加速能力。
在一种可能的实现中,所述向第二网络设备发送双端加速协商报文,包括:
从路由信息中确定至少一个网络设备,所述至少一个网络设备包括所述第二网络设备;
向所述至少一个网络设备发送所述双端加速协商报文。
结合本实现,通过预先探测路由信息中的网络设备的TCP加速能力的方式,第一网络设备在建立会话时无需临时探测第二网络设备的TCP加速能力,节省了时间,提高了效率。
在一种可能的实现中,所述根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的传输控制协议TCP加速能力,包括:
当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;
当所述第一网络设备没有接收到所述双端加速确认报文时,确定所述第二网络设备不支持双端TCP加速。
在一种可能的实现中,当所述第一网络设备在预设时长内接收到所述双端加速确认报文时,确定所述第二网络设备不支持双端TCP加速。
当所述第一网络设备超过所述预设时长仍未接收到所述双端加速确认报文时,确定所述第二网络设备不支持双端TCP加速。
结合本实现,第一网络设备可以在发送双端加速协商报文时开始计时,从而记录发送双端加速协商报文后经过的时长,当第一网络设备在预设时长内接收到双端加速确认报文时,则第一网络设备确定第二网络设备支持双端TCP加速,如果第一网络设备发送双端加速协商报文后经过的时长已超过预设时长,而第一网络设备仍未接收到双端加速确认报文时,第一网络设备即可确定第二网络设备不支持双端TCP加速。
在一种可能的实现中,所述确定所述第二网络设备的TCP加速能力之后,所述方法还包括:
记录所述第二网络设备与TCP加速能力之间的对应关系;
所述方法还包括:
接收发送到所述第二网络设备的TCP报文;
查询所述第二网络设备与TCP加速能力之间的对应关系,得到所述第二网络设备的TCP加速能力。
结合本实现,第一网络设备接收到TCP报文时,直接查询第二网络设备与TCP加速能力之间的对应关系,即可得到第二网络设备的TCP加速能力,而无需在建立会话时临时探测,节省了时间,提高了效率。
第二方面,提供了一种TCP加速装置,应用于第一网络设备中,该第一网络设备支持双端TCP加速以及单端TCP加速,所述装置包括多个功能模块,以实现上述第一方面以及第一方面的任一种可能实现中的TCP加速方法。
第三方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述第一方面以及第一方面的任一种可能实现中的TCP加速方法。
第四方面,提供了一种网络设备,所述网络设备包括处理器、存储器和TCP加速器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述第一方面以及第一方面的任一种可能实现中的TCP加速方法,所述TCP加速器用于对TCP报文进行TCP加速。
第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述第一方面以及第一方面的任一种可能实现中的TCP加速方法。
附图说明
图1是本实施例提供的一种实施环境的示意图;
图2是本实施例提供的一种网络设备200的结构示意图;
图3是本实施例提供的一种网络设备300的结构示意图;
图4是本实施例提供的一种TCP加速方法的流程图;
图5是本实施例提供的一种TCP加速方法的流程图;
图6是本实施例提供的一种TCP加速装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了方便理解,下面先对本实施例中涉及的技术术语进行解释:
双端TCP加速,也称为对称TCP加速(symmetric TCP acceleration)、双端优化、双端TCP加速、双端TCP优化或双边TCP加速。双端TCP加速采用三段式的网络架构,要在TCP连接的两端部署两个TCP代理设备,通过两个TCP代理设备分别代理两个终端进行TCP报文的传输,从而将端到端的TCP连接分割为三部分:源终端—TCP代理设备A—TCP代理设备B—目的终端。其中,TCP代理设备A和TCP代理设备B可以预先存储相同的加速算法,TCP代理设备A和TCP代理设备B之间可以通过加速算法对报文进行处理,传输处理后的TCP报文,从而加快报文传输的速度。在实施中,当源终端与目的终端之间采用双端TCP加速的方式传输报文时,源终端所在子网的出口的路由器,即源路由器,会作为双端TCP加速中的TCP代理设备A,目的终端所在子网的出口的路由器,即目的路由器,会作为双端TCP加速中的TCP代理设备B,两个路由器之间会转发通过加速算法处理后的报文。
单端TCP加速,也称为非对称TCP加速(Asymmetric TCP acceleration),单端优化、单端TCP加速、单端TCP优化或单边TCP加速。单端TCP加速中只需在TCP连接的一端进行部署,通常通过改进TCP协议的拥塞控制算法实现。
TCP三次握手:在TCP协议中,两个设备需要通过三次握手(three-way handshake)机制建立TCP连接。例如,当设备A要和设备B建立连接时,设备A会向设备B发送SYN报文,并且设备A进入SYN_SENT状态,等待设备B确认,此为第一次握手。设备B接收到SYN报文后,会向设备A发送SYN-ACK报文,对设备A发出的SYN报文进行响应,同时设备B会进入SYN_RECV状态,此为第二次握手。设备A接收到设备B的SYN-ACK报文后,会向设备B发送确认(acknowledgment,ACK)报文,此为第三次握手。三次握手后,设备A和设备B建立起TCP连接,会进入TCP连接成功状态(established状态),然后设备A与设备B就可以开始传输TCP报文。
图1是本实施例提供的一种实施环境的示意图,该实施环境包括多个第一终端101、第一网络设备102、第二网络设备103和多个第二终端104。
第一网络设备102可以布设在多个第一终端101侧,第一网络设备102以及多个第一终端101可以组成一个子网。第二网络设备103可以布设在多个第二终端104侧,第二网络设备103以及多个第二终端104可以组成另一个子网。第一网络设备102与第二网络设备103位于不同的子网中,第一网络设备102与第二网络设备103之间可以通过广域网(Wide AreaNetwork,WAN)或专网进行信息交互,从而实现跨子网的通信。其中,WAN可以为Internet(以太网),专网可以为虚拟私有网络(Virtual Private Network,VPN)。
第一网络设备102与第二网络设备103均可以为CPE(Customer PremisesEquipment,用户侧设备),例如为路由器、交换机、防火墙等。多个第一终端101和多个第二终端104均可以为个人电脑、笔记本电脑、手机、平板电脑、可穿戴设备等。
本实施例中,第一网络设备可以同时具有两种TCP加速能力:双端TCP加速的能力和单端TCP加速的能力。第一网络设备可以向第二网络设备发送双端加速协商报文,根据是否接收到第二网络设备发送的双端加速确认报文,得到第二网络设备的TCP加速能力,按照第二网络设备的TCP加速能力,选择对TCP报文进行双端TCP加速或者单端TCP加速,从而可以动态地、自适应地进行TCP加速。
示例性地,假设某次会话中第一终端为源终端,第二终端为目的终端,当子网1的第一终端想要向子网2的第二终端传输TCP报文时,第一终端可以向第一网络设备发送TCP报文,第一网络设备接收到TCP报文时,如果第二网络设备支持双端TCP加速,则第一网络设备对TCP报文进行双端TCP加速,再发送给第二网络设备。如果第二网络设备不支持双端TCP加速,则第一网络设备对TCP报文进行单端TCP加速,再发送给第二网络设备,第二网络设备能够接收到加速后的TCP报文,将TCP报文发送给第二终端。
本实施例提供了一种网络设备,该网络设备支持双端TCP加速以及单端TCP加速,该网络设备可以通过软件或硬件实现TCP加速的功能。当通过软件实现时,网络设备的结构可以如以下图2实施例所示,当通过硬件实现时,网络设备的结构可以如以下图3实施例所示。
参见图2,图2是本实施例提供的一种网络设备200的结构示意图,该网络设备200包括处理器201和存储器202,该处理器201和存储器202连接,该存储器202存储有程序代码,该处理器201用于调用该程序代码,执行下述实施例中第一网络设备所执行的操作。其中,网络设备200的TCP加速功能可以通过程序代码中的一个或多个虚拟模块实现。
参见图3,图3是本实施例提供的一种网络设备300的结构示意图,该网络设备300包括处理器301、存储器302和TCP加速器303,该处理器301分别与该存储器302和TCP加速器303连接,该存储器302存储有程序代码,该处理器301用于调用该程序代码,通过TCP加速器303对TCP报文进行TCP加速,从而执行下述实施例中第一网络设备所执行的操作。其中,网络设备300的TCP加速功能可以通过TCP加速器303实现,该TCP加速器303可以被提供为一个芯片。
本实施例中,网络设备可以获取对端网络设备的TCP加速能力,按照对端网络设备的TCP加速能力进行加速。其中,获取对端网络设备的TCP加速能力的方式可以包括探测对端网络设备的TCP加速能力、查询网络设备与TCP加速能力之间的对应关系这两种方式。
方式一、探测对端网络设备的TCP加速能力。
探测对端网络设备的TCP加速能力可以包括发送双端加速协商报文和SYN报文以进行探测、发送双端加速协商报文并进行超时检测这两种。其中,可以在建立会话时,临时探测会话的对端网络设备的TCP加速能力,也可以在会话之前,根据路由信息预先确定至少一个网络设备,并探测已确定的每个网络设备的TCP加速能力。
方式二、查询网络设备与TCP加速能力之间的对应关系,得到网络设备的TCP加速能力。
可以预先探测对端网络设备的TCP加速能力,根据探测到的每个网络设备的TCP加速能力,生成网络设备与TCP加速能力之间的对应关系,以便在建立会话时,查询网络设备与TCP加速能力之间的对应关系,即可得到对端网络设备的TCP加速能力。
以下分别通过图4实施例和图5实施例,对本申请的技术过程进行详细描述。其中,以图4实施例中采用方式一来得到对端网络设备的TCP加速能力,以图5实施例采用方式二来得到对端网络设备的TCP加速能力为例进行说明。
图4实施例中,网络设备可以在要与对端网络设备建立会话时,临时探测对端网络设备的TCP加速能力,按照对端网络设备的TCP加速能力,动态地选择对TCP报文进行双端TCP加速或者单端TCP加速。为了区分不同的网络设备,在此以会话中源终端一侧的网络设备称为第一网络设备,目的终端一侧的网络设备称为第二网络设备为例进行描述。
图4是本实施例提供的一种TCP加速方法的流程图,该方法可以应用于上述实施环境中,该实施例的交互主体包括源终端、第一网络设备、第二网络设备和目的终端,包括以下步骤:
401、源终端发送SYN报文。
结合上述对TCP协议中三次握手机制的解释,在源终端与目的终端建立会话的过程中,源终端要先与目的终端进行三次握手,从而与目的终端建立TCP连接,再向目的终端传输TCP报文。因此,本步骤401中,源终端会生成SYN报文,并发送SYN报文,从而进行第一次握手,以便与目的终端建立TCP连接。
其中,SYN报文可以携带目的终端的IP地址(即目的IP地址)以及目的终端的端口号(即目的端口号),通过目的终端的IP地址和端口号能够指示目的终端。
402、第一网络设备接收SYN报文。
本实施例中,第一网络设备具有TCP代理(TCP Proxy)的功能,当源终端发送TCP协议的报文时,第一网络设备能够接收到TCP协议中的报文。其中,TCP协议的报文包括握手阶段的SYN报文以及会话阶段的TCP报文。其中,关于接收TCP协议的报文的实现方式,在以下通过(1)至(2)进行示例性描述:
(1)透明代理方式:第一网络设备可以接收源终端发送的所有报文,对所有报文进行解析,从所有报文中筛选出TCP协议的报文,对TCP协议的报文进行加速后,再转发加速后的TCP报文。在此过程中,被代理的源终端不知晓第一网络设备的存在,因此第一网络设备对源终端来说是透明的。
(2)正向代理方式:源终端可以预先配置第一网络设备的地址信息,在生成的TCP协议的报文中携带第一网络设备的地址信息,再将TCP协议的报文发送给第一网络设备。第一网络设备接收到TCP协议的报文后,会代替源终端访问目的终端。其中,第一网络设备的地址信息可以为IP地址、端口号等。
结合上述接收TCP协议的报文的实现方式,由于SYN报文属于TCP协议的报文,当源终端发送SYN报文时,第一网络设备可以接收到SYN报文,根据SYN报文执行以下步骤403。
403、第一网络设备确定SYN报文的目的网络设备,得到第二网络设备。
第一网络设备可以解析SYN报文,得到SYN报文携带的目的IP地址,确定目的IP地址对应的目的网络设备,作为第二网络设备。其中,目的网络设备可以指与目的终端的IP地址处于同一子网的网络设备,例如可以为目的终端所在的子网的出口的路由器。
针对确定目的网络设备的具体过程,在一种可能的实现方式中,可以预先建立IP地址和网络设备之间的对应关系,第一网络设备可以根据目的终端的IP地址,查询对应关系,得到目的终端对应的网络设备,作为第二网络设备。其中,第一网络设备可以为存储了路由表的路由器,IP地址和网络设备之间的对应关系可以存储在路由表中。
404、第一网络设备探测第二网络设备的TCP加速能力。
本步骤具体可以包括以下步骤一至步骤六:
步骤一、第一网络设备向第二网络设备发送双端加速协商报文以及SYN报文。
第一网络设备可以通过双发协商报文的方式,探测第二网络设备的TCP加速能力。即,第一网络设备可以生成双端加速协商报文及SYN报文,向第二网络设备同时发送这两种报文,根据第二网络设备针对这两种报文中的哪一种报文进行响应,确定第二网络设备的TCP加速能力。
双端加速协商报文:用于与第二网络设备协商对TCP报文进行双端TCP加速,双端加速协商报文能够探测出第二网络设备是否支持双端TCP加速:若第二网络设备支持双端TCP加速,则第二网络设备会对双端加速协商报文进行响应,返回双端加速确认报文,以便第一网络设备接收到双端加速确认报文时,确定第二网络设备支持双端TCP加速,而若第二网络设备不支持双端TCP加速,则第二网络设备不会对双端加速协商报文进行响应。其中,双端加速协商报文携带目的终端的标识以及第二网络设备的标识。
SYN报文:用于与第二网络设备协商建立TCP连接,若第二网络设备支持双端TCP加速,第二网络设备会丢弃SYN报文,不响应该SYN报文。而若第二网络设备不支持双端TCP加速,第二网络设备会响应SYN报文,向第一网络设备发送SYN-ACK报文,以便第一网络设备接收到SYN-ACK报文时,确定第二网络设备不支持双端TCP加速。其中,SYN报文可以携带目的终端的标识以及第二网络设备的标识。
步骤二、第二网络设备接收双端加速协商报文和SYN报文。
第二网络设备接收到双端加速协商报文以及SYN报文后,如果第二网络设备确定自身具有双端TCP加速的能力,则将SYN报文丢弃,响应双端加速协商报文,执行以下步骤三,而如果第二网络设备不具有双端TCP加速的能力,则第二网络设备无法识别双端加速协商报文,而会识别SYN报文,因此,第二网络设备会按照TCP协议的三次握手机制,响应SYN报文,执行以下步骤五。
可选地,当第二网络设备接收到双端加速协商报文以及SYN报文时,可以解析该双端加速协商报文,得到双端加速协商报文携带的目的终端的标识,从而确定目的终端,与该目的终端建立TCP连接,以便后续将TCP报文转发给目的终端。其中,第二网络设备可以通过TCP协议中的三次握手机制与目的终端进行第一次握手,例如,第二网络设备可以生成SYN报文,该SYN报文的源IP地址为源终端的IP地址,第二网络设备可以向目的终端发送该SYN报文,目的终端接收到SYN报文,解析SYN报文后,识别SYN报文的源IP地址为源终端的IP地址,因此会确定该SYN报文来自于源终端,也即是,目的终端会感知到自身与源终端进行了第一次握手,则第二网络设备实现了透明代理的功能。
步骤三、第二网络设备生成双端加速确认报文,向第一网络设备发送双端加速确认报文。
双端加速确认报文是指针对双端加速协商报文的确认(ACK)报文,双端加速确认报文用于确认能够与第一网络设备进行双端TCP加速,能够指示第二网络设备具有支持双端TCP加速的能力。
步骤四、第一网络设备接收双端加速确认报文。
第一网络设备接收到双端加速确认报文后,可以确定第二网络设备支持双端TCP加速,后续可对TCP报文按照双端TCP加速的方式进行加速。
可选地,第一网络设备可以在接收到双端加速确认报文后,通过TCP握手协议中的三次握手机制与源终端进行第二次握手和第三次握手,从而与源终端建立TCP连接。具体地,第一网络设备可以生成SYN-ACK报文,该SYN-ACK报文的源IP地址为目的终端的IP地址,第一网络设备可向源终端发送该SYN-ACK报文,源终端接收到SYN-ACK报文,识别SYN-ACK报文的源IP地址为目的终端的IP地址,会确定SYN-ACK报文来自于目的终端,因此源终端会感知到自身与目的终端进行了第二次握手。之后,源终端会发起第三次握手的过程,生成ACK报文并向第一网络设备发送ACK报文,第一网络设备接收ACK报文,从而与源终端进行了第三次握手,此时完成了与源终端建立TCP连接的过程。
步骤五、第二网络设备生成SYN-ACK报文,向第一网络设备发送SYN-ACK报文,SYN-ACK报文用于确认已接收到SYN报文。
步骤六、第一网络设备接收SYN-ACK报文。
第一网络设备接收该SYN-ACK报文后,可以确定第二网络设备不支持双端TCP加速,则后续可对TCP报文按照单端TCP加速的方式进行加速。
可选地,第一网络设备可以在接收到SYN-ACK报文后,通过TCP握手协议中的三次握手机制与源终端进行第二次握手和第三次握手,从而与源终端建立TCP连接,第一网络设备与源终端进行第二次握手和第三次握手的过程请参见上述步骤四,在此不做赘述。
405、源终端发送TCP报文,TCP报文的目的网络设备为第二网络设备。
406、第一网络设备接收TCP报文。
第一网络设备接收TCP报文的过程与接收SYN报文的过程同理,在此不做赘述。
407、第一网络设备按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,将加速后的TCP报文发送给第二网络设备。
当第二网络设备支持双端TCP加速时,第一网络设备可以执行以下实现方式一,当第二网络设备不支持双端TCP加速时,第一网络设备可以执行以下实现方式二:
实现方式一、第一网络设备对发送到第二网络设备的TCP报文进行双端TCP加速,将双端加速后的TCP报文发送给第二网络设备。
由于双端TCP加速基于两个网络设备存储的同一加速算法实现,可以按照业务需求灵活地控制与调整,同时双端TCP加速可以引入对报文进行压缩、缓存的过程,显著提高网络传输的效率,因此双端TCP加速通常在网络传输性能上优于单端TCP加速。
结合这一理论,本实施例中,第一网络设备可以优先进行双端TCP加速,如果第一网络设备确定第二网络设备支持双端TCP加速,则当接收到发送到第二网络设备的TCP报文后,第一网络设备即会对TCP报文进行双端TCP加速,再将双端加速后的TCP报文发送给第二网络设备,从而实现TCP报文的高速传输。
关于对TCP报文进行双端TCP加速的过程,在一种可能的实现方式中,第一网络设备可以配置预设的加速算法,第一网络设备可以采用该预设的加速算法对TCP报文进行处理,例如对TCP报文进行压缩处理,将处理后的TCP报文作为双端加速后的TCP报文,将双端加速后的TCP报文发送给第二网络设备。
可选地,第一网络设备可以预先配置TCP加速策略,该TCP加速策略包括优先进行双端TCP加速、只进行单端TCP加速、只进行双端TCP加速。该优先进行双端TCP加速的策略支持双端TCP加速以及单端TCP加速这两种方式,并指示第一网络设备优先双端TCP加速,其次使用单端TCP加速,因此当第一网络设备确定已配置的TCP加速策略为优先进行双端TCP加速时,会对TCP报文进行双端TCP加速。
其中,第一网络设备的TCP加速策略可以根据用户需求进行配置,从而保证第一网络设备的TCP加速方式满足用户需求。可选地,每个网络设备可以与控制器连接,用户可以在控制器上配置网络设备与TCP加速策略之间的对应关系,控制器会向每个网络设备发送对应的TCP加速策略,每个网络设备会接收控制器的TCP加速策略,从而得到TCP加速策略。通过这种配置TCP加速策略的方式,用户只需在控制器上进行配置操作即可,而无需在每个网络设备上均进行配置操作,提高了配置加速策略的效率。
实现方式二、第一网络设备对发送到第二网络设备的TCP报文进行单端TCP加速,将单端加速后的TCP报文发送给第二网络设备。
针对单端TCP加速的具体过程,第一网络设备可以通过Loss-based(基于丢包的拥塞判断及处理)、Delay-based(基于延迟的拥塞判断及处理)、Learning-based(基于学习的拥塞判断及处理)等方式,无需改变TCP报文的内容,而通过对TCP协议自身的拥塞控制算法进行改进,来提高传输TCP报文的速度,实现对TCP报文进行单端加速。
结合本步骤,第一网络设备能够自动按照第二网络设备的TCP加速能力,进行TCP加速,而无需人工对TCP报文的加速方式进行规划,也无需手动的第一对网络设备的TCP加速方式部署,极大地提高了效率。进一步地,第一网络设备进行TCP加速的过程与第二网络设备的TCP加速能力匹配,避免了在第二网络设备不支持双端TCP加速的情况下对TCP报文进行双端TCP加速时,导致TCP报文传输失败的情况。另外,第一网络设备可以在与第二网络设备建立会话之前,临时探测第二网络设备的TCP加速能力,从而得到第二网络设备最新的TCP加速能力,通过按照第二网络设备最新的TCP加速能力进行TCP加速,实时性强,灵活性高。
408、第二网络设备接收加速后的TCP报文,将TCP报文发送给目的终端。
当上述步骤407中第一网络设备执行了实现方式一时,第二网络设备会执行以下实现方式A,当上述步骤407中第一网络设备执行了实现方式二时,第二网络设备会执行以下实现方式B。
实现方式A、第二网络设备接收双端加速后的TCP报文,将双端加速后的TCP报文转换为TCP报文,将TCP报文发送给目的终端。
双端加速后的TCP报文可以为通过加速算法进行运算后得到的报文,第二网络设备可以预先存储加速算法,将双端加速后的TCP报文通过加速算法进行逆运算,恢复为TCP报文,再将TCP报文发送给目的终端。
实现方式B、第二网络设备接收单端加速后的TCP报文,将单端加速后的TCP报文发送给目的终端。
与上述实现方式A相区别的是,由于单端TCP加速的过程与TCP协议兼容,不会改变TCP报文的内容,因此第二网络设备接收到单端加速后的TCP报文后,将单端加速后的TCP报文发送给目的终端即可,而无需对报文通过加速算法进行运算。
409、目的终端接收TCP报文。
目的终端接收到TCP报文后,可以对TCP报文进一步处理。
本实施例提供的方法,第一网络设备与第二网络设备建立会话之前,探测第二网络设备的TCP加速能力,当第二网络设备支持双端TCP加速时,则对TCP报文进行双端TCP加速,当第二网络设备不支持双端TCP加速时,则对TCP报文进行单端TCP加速,通过按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,无需人工部署第一网络设备的TCP加速方式,提高了TCP加速的效率。进一步地,通过临时探测第二网络设备的TCP加速能力,能够保证得到的第二网络设备的TCP加速能力实时性强,准确性高。
本实施例中,网络设备也可以预先探测对端网络设备的TCP加速能力,记录网络设备与TCP加速能力之间的对应关系,当要与某一网络设备建立会话时,只需查询网络设备与TCP加速能力之间的对应关系,即可确定对端网络设备的TCP加速能力,而无需临时探测。以下通过图5实施例进行详细描述。
图5是本实施例提供的一种TCP加速方法的流程图,该方法可以应用于上述实施环境中,该方法的交互主体包括源终端、第一网络设备、第二网络设备和目的终端,包括以下步骤:
501、第一网络设备从路由信息中确定至少一个网络设备,该至少一个网络设备包括第二网络设备。
第一网络设备可以存储路由信息,路由信息用于指示从第一网络设备到其他各个网络设备的路径,第一网络设备可以从路由信息中确定至少一个网络设备,以便探测该至少一个网络设备的TCP加速能力。例如,路由信息可以包括至少一个网络设备的IP地址,第一网络设备可以从路由信息中获取每个网络设备的IP地址,根据每个网络设备的IP地址确定每个网络设备。
在一个示例性场景中,以某企业的网络为例进行描述,企业总部与各个企业分部之间经常需要进行信息交互,则企业总部的路由器的路由信息中可以存储各个企业分部的路由器的IP地址,以便企业总部的路由器根据自身的路由信息,探测企业分部的路由器的TCP加速能力。企业分部的路由器的路由信息中可以存储其他企业分部以及企业总部的路由器的IP地址,以便企业分部的路由器根据自身的路由信息,探测其他企业分部以及企业总部的路由器的TCP加速能力。
502、第一网络设备探测至少一个网络设备的TCP加速能力。
第一网络设备可以依次探测每个网络设备的TCP加速能力,以便根据每个网络设备的TCP加速能力,生成网络设备与TCP加速能力之间的对应关系。其中,对于至少一个网络设备中的每个网络设备,探测每个网络设备的TCP加速能力的过程可以包括以下步骤一至步骤四。需要说明的是,该至少一个网络设备中包括后续会话中涉及的第二网络设备,也包括除第二网络设备以外的网络设备。
步骤一、第一网络设备向待探测的网络设备发送双端加速协商报文。
对于每个待探测的网络设备来说,第一网络设备可以为待探测的网络设备生成双端加速协商报文,建立与待探测的网络设备之间的网络链路,向待探测的网络设备发送双端加速协商报文,以便根据是否收到该待探测的网络设备的响应,确定该待探测的网络设备的TCP加速能力。
步骤二、网络设备接收双端加速协商报文。
如果待探测的网络设备支持双端TCP加速,则待探测的网络设备接收到双端加速协商报文时,会响应该双端加速协商报文,生成双端加速确认报文,向第一网络设备发送双端加速确认报文,则第一网络设备会执行以下步骤三。如果待探测的网络设备不支持双端TCP加速,则待探测的网络设备接收到双端加速协商报文时,不会对双端加速协商报文进行响应,则第一网络设备会执行以下步骤四。
步骤三、当接收到网络设备的双端加速确认报文时,第一网络设备确定网络设备支持双端TCP加速。
第一网络设备可以接收双端加速确认报文,识别该双端加速确认报文,确定待探测的网络设备支持双端TCP加速。可选地,第一网络设备可以在发送双端加速协商报文时开始计时,从而记录发送双端加速协商报文后经过的时长,当第一网络设备在预设时长内接收到双端加速确认报文时,第一网络设备确定网络设备支持双端TCP加速。其中,该预设时长用于指示第一网络设备等待双端加速确认报文的最长时间,可以根据实际业务需求设置。
步骤四、当第一网络设备没有接收到网络设备的双端加速确认报文时,第一网络设备确定网络设备不支持双端TCP加速。
如果第一网络设备没有接收到待探测的网络设备的双端加速确认报文,即第一网络设备没有得到待探测的网络设备的回复时,第一网络设备即可确定待探测的网络设备不支持双端TCP加速。可选地,第一网络设备可以在发送双端加速协商报文时开始计时,如果第一网络设备发送双端加速协商报文后经过的时长已超过预设时长,而第一网络设备仍未接收到双端加速确认报文时,第一网络设备即可确定待探测的网络设备不支持双端TCP加速,而无需继续等待网络设备的回复。
需要说明的第一点是,当第一网络设备确定任一个网络设备的TCP加速能力后,即可拆除与该网络设备建立的网络连接,当要与该网络设备建立会话时,再重新与该网络设备建立网络连接。
需要说明的第二是,上述步骤一至步骤四仅是以探测一个网络设备的TCP加速能力为例进行描述,第一网络设备可以采用同理的方式,探测至少一个网络设备的TCP加速能力,直至确定了路由信息中每个网络设备的TCP加速能力为止。
503、第一网络设备记录每个网络设备与TCP加速能力之间的对应关系。
每当第一网络设备得到任一个网络设备的TCP加速能力后,可以记录该网络设备与TCP加速能力之间的对应关系,网络设备与TCP加速能力之间的对应关系用于指示网络设备的TCP加速能力。示例性地,网络设备与TCP加速能力之间的对应关系可以如下表1所示。
表1
网络设备 TCP加速能力
北京总部的网络设备 支持双端TCP加速
西安分部的网络设备 不支持双端TCP加速
石家庄分部的网络设备 支持双端TCP加速
…… ……
可选地,在网络设备与TCP加速能力之间的对应关系中,网络设备可以采用网络设备的标识表示,TCP加速能力可以采用TCP加速能力的标识表示,从而节约存储的数据量。例如,当网络设备支持双端TCP加速时,TCP加速能力的标识可以为“1”“Y”等,当网络设备不支持双端TCP加速时,TCP加速能力的标识可以为“0”“N”等。
需要说明的是,在一种可能的实现中,第一网络设备可以每隔预设周期,重新探测至少一个网络设备的TCP加速能力,从而定期对网络设备与TCP加速能力之间的对应关系进行更新。具体来说,第一网络设备可以在生成网络设备与TCP加速能力之间的对应关系时开始计时,当经过预设周期时,重新探测至少一个网络设备的TCP加速能力,再根据当前探测到的每个网络设备的TCP加速能力,对网络设备与TCP加速能力之间的对应关系进行更新。例如,结合上表1,若当前探测到的西安分部的网络设备的TCP加速能力更新为支持双端TCP加速时,可以将网络设备与TCP加速能力之间的对应关系中西安分部的网络设备的TCP加速能力更新为支持双端TCP加速。其中,该预设周期可以根据业务需求设置,例如为一天。
通过对网络设备与TCP加速能力之间的对应关系进行定期更新,当对端网络设备的TCP加速能力发生更新时,网络设备与TCP加速能力之间的对应关系可以随着对端网络设备的TCP加速能力相应更新,保证网络设备与TCP加速能力之间的对应关系得以存储网络设备最新的TCP加速能力,保证网络设备与TCP加速能力之间的对应关系的时效性,那么,按照网络设备与TCP加速能力之间的对应关系查询到的TCP加速能力进行TCP加速时,能够保证TCP加速过程与对端网络设备当前的TCP加速能力匹配。
504、源终端发送SYN报文。
本步骤与上述步骤401同理,在此不做赘述。
505、第一网络设备接收SYN报文。
本步骤与上述步骤402同理,在此不做赘述。
506、第一网络设备确定SYN报文的目的网络设备,得到第二网络设备。
本步骤与上述步骤403同理,在此不做赘述。
507、第一网络设备查询第二网络设备与TCP加速能力之间的对应关系,得到第二网络设备的TCP加速能力。
由于上述步骤502中,第一网络设备预先探测了至少一个网络设备的TCP加速能力并记录了网络设备与TCP加速能力之间的对应关系,而该至少一个网络设备包括第二网络设备,则本步骤中,第一网络设备只需查询第二网络设备与TCP加速能力之间的对应关系,即可快速得到第二网络设备的TCP加速能力,而无需临时探测第二网络设备的TCP加速能力。
可选地,第一网络设备得到第二网络设备的TCP加速能力后,可以按照第二网络设备的TCP加速能力,与第二网络设备进行协商。其中,当确定第二网络设备支持双端TCP加速时,第一网络设备可以向第二网络设备发送双端加速协商报文,第二网络设备向第一网络设备返回双端加速确认报文,从而进行协商。当确定第二网络设备不支持双端TCP加速时,第一网络设备可以向第二网络设备发送SYN报文,第二网络设备向第一网络设备返回SYN-ACK报文,从而进行协商。
508、源终端发送TCP报文。
509、第一网络设备接收TCP报文,按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,将加速后的TCP报文发送给第二网络设备。
按照第二网络设备的TCP加速能力进行TCP加速的方式可以包括以下实现(1)和实现(2):
实现(1)当第二网络设备支持双端TCP加速时,第一网络设备对发送到第二网络设备的TCP报文进行双端TCP加速,将双端加速后的TCP报文发送给第二网络设备。
本实现(1)与上述步骤407中的实现方式一同理,在此不做赘述。
实现(2)当第二网络设备不支持双端TCP加速时,第一网络设备对发送到第二网络设备的TCP报文进行单端TCP加速,将单端加速后的TCP报文发送给第二网络设备。
本实现(2)与上述步骤407中的实现方式二同理,在此不做赘述。
510、第二网络设备接收加速后的TCP报文,将TCP报文发送给目的终端。
当第一网络设备采用双端TCP加速的方式发送TCP报文时,本步骤中第二网络设备的处理逻辑与上述步骤408中的实现方式A同理,当第一网络设备采用单端TCP加速的方式发送TCP报文时,本步骤中第二网络设备的处理逻辑与上述步骤408中的实现方式B同理。
511、目的终端接收加速后的TCP报文。
需要说明的第一点是,如果第二网络设备不属于预先探测的至少一个网络设备,第一网络设备查询网络设备与TCP加速能力之间的对应关系未得到第二网络设备的TCP加速能力时,第一网络设备可以临时探测第二网络设备的TCP加速能力,探测TCP加速能力的过程与上述步骤404或步骤502同理,在此不做赘述。
需要说明的第二点是,本实施例是以第一网络设备根据路由信息预先确定了待探测的至少一个网络设备,对这些网络设备进行探测,而这些网络设备包含第二网络设备,因此得到了第二网络设备与TCP加速能力之间的对应关系为例进行描述,在一种可能的实现方式中,第一网络设备也可以在与第二网络设备建立会话时,探测第二网络设备的TCP加速能力,再记录第二网络设备与TCP加速能力之间的对应关系。示例性地,第一网络设备可以在第一次与第二网络设备建立会话时,探测第二网络设备的TCP加速能力并生成网络设备与TCP加速能力之间的对应关系,之后在第2次乃至第N次与第二网络设备建立会话时,即可直接查询第二网络设备与TCP加速能力之间的对应关系,得到第二网络设备的TCP加速能力。其中,N是指大于2的正整数。
本实施例提供的方法,第一网络设备通过预先探测第二网络设备的TCP加速能力,记录第二网络设备与TCP加速能力之间的对应关系,当与第二网络设备建立会话时,直接查询第二网络设备与TCP加速能力之间的对应关系,即可得到第二网络设备的TCP加速能力,从而按照第二网络设备的TCP加速能力,对TCP报文进行TCP加速,而无需人工部署第一网络设备的TCP加速方式,提高了TCP加速的效率。进一步地,通过预先探测第二网络设备的TCP加速能力的方式,在建立会话时可以直接查询预先探测的结果,来确定第二网络设备的TCP加速能力,无需临时探测,从而加快传输TCP报文的速度,节省了时间,提高了效率,同时相对于每次临时探测以得到对端设备的TCP加速能力的过程来说,减少了计算量,节省了运行开销。
需要说明的是,上述仅是以在图4实施例通过发送双端加速协商报文和SYN报文以进行探测,在图5实施例中通过发送双端加速协商报文并进行超时检测以进行探测为例进行描述,在一种可能的实现方式中,也可以在图4实施例中通过发送双端加速协商报文并进行超时检测,在图5实施例中发送双端加速协商报文和SYN报文以进行探测,本实施例对哪种场景中采用哪种探测方式不作限定。
图6是本实施例提供的一种TCP加速装置的结构示意图,应用于第一网络设备中,该装置包括:发送模块601、确定模块602和TCP加速模块603。
发送模块601,用于发送双端加速协商报文;
确定模块602,用于确定第二网络设备的TCP加速能力;
TCP加速模块603,用于对发送到第二网络设备的TCP报文进行双端TCP加速或单端TCP加速。
在一种可能的实现中,发送模块601,还用于执行步骤404中的步骤一。
在一种可能的实现中,确定模块602,用于执行步骤404中的步骤四和/或步骤六。
在一种可能的实现中,发送模块601,用于执行步骤501。
在一种可能的实现中,确定模块602,用于执行步骤502中的步骤三和/或步骤四。
在一种可能的实现中,该装置还包括:
记录模块,用于执行步骤503;
该装置还包括:
接收模块,用于接收TCP报文;
查询模块,用于查询第二网络设备与TCP加速能力之间的对应关系,得到第二网络设备的TCP加速能力。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由网络设备中的处理器执行以完成上述实施例中的TCP加速方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD)、或者半导体介质(例如固态硬盘)等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (12)

1.一种传输控制协议TCP加速方法,其特征在于,应用于第一网络设备中,所述第一网络设备支持双端TCP加速以及单端TCP加速,所述方法包括:
向第二网络设备发送双端加速协商报文,所述双端加速协商报文用于协商对TCP报文进行双端TCP加速;
根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的TCP加速能力,所述TCP加速能力用于指示所述第二网络设备是否支持双端TCP加速;
当所述第二网络设备支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行双端TCP加速;
当所述第二网络设备不支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行单端TCP加速。
2.根据权利要求1所述的方法,其特征在于,所述向第二网络设备发送双端加速协商报文,包括:
当接收到目的网络设备为所述第二网络设备的同步SYN报文时,向所述第二网络设备发送所述双端加速协商报文以及所述SYN报文。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的传输控制协议TCP加速能力,包括:
当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;
当所述第一网络设备接收到同步确认SYN-ACK报文时,确定所述第二网络设备不支持双端TCP加速。
4.根据权利要求1所述的方法,其特征在于,所述向第二网络设备发送双端加速协商报文,包括:
从路由信息中确定至少一个网络设备,所述至少一个网络设备包括所述第二网络设备;
向所述至少一个网络设备发送所述双端加速协商报文。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的传输控制协议TCP加速能力,包括:
当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;
当所述第一网络设备没有接收到所述双端加速确认报文时,确定所述第二网络设备不支持双端TCP加速。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述确定所述第二网络设备的TCP加速能力之后,所述方法还包括:
记录所述第二网络设备与TCP加速能力之间的对应关系;
所述方法还包括:
接收发送到所述第二网络设备的TCP报文;
查询所述第二网络设备与TCP加速能力之间的对应关系,得到所述第二网络设备的TCP加速能力。
7.一种传输控制协议TCP加速装置,其特征在于,应用于第一网络设备中,所述第一网络设备支持双端TCP加速以及单端TCP加速,所述装置包括:
发送模块,用于向第二网络设备发送双端加速协商报文,所述双端加速协商报文用于协商对TCP报文进行双端TCP加速;
确定模块,用于根据所述第一网络设备是否接收到双端加速确认报文,确定所述第二网络设备的TCP加速能力,所述TCP加速能力用于指示所述第二网络设备是否支持双端TCP加速;
TCP加速模块,用于当所述第二网络设备支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行双端TCP加速;
所述TCP加速模块,还用于当所述第二网络设备不支持双端TCP加速时,对发送到所述第二网络设备的TCP报文进行单端TCP加速。
8.根据权利要求7所述的装置,其特征在于,所述发送模块,还用于:当接收到目的网络设备为所述第二网络设备的同步SYN报文时,向所述第二网络设备发送所述双端加速协商报文以及所述SYN报文。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,用于:当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;当所述第一网络设备接收到同步确认SYN-ACK报文时,确定所述第二网络设备不支持双端TCP加速。
10.根据权利要求7所述的装置,其特征在于,所述发送模块,用于:从路由信息中确定至少一个网络设备,所述至少一个网络设备包括所述第二网络设备;向所述至少一个网络设备发送所述双端加速协商报文。
11.根据权利要求10所述的装置,其特征在于,所述确定模块,用于:当所述第一网络设备接收到所述双端加速确认报文时,确定所述第二网络设备支持双端TCP加速;当所述第一网络设备没有接收到所述双端加速确认报文时,确定所述第二网络设备不支持双端TCP加速。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述装置还包括:
记录模块,用于记录所述第二网络设备与TCP加速能力之间的对应关系;
所述装置还包括:
接收模块,用于接收发送到所述第二网络设备的TCP报文;
查询模块,用于查询所述第二网络设备与TCP加速能力之间的对应关系,得到所述第二网络设备的TCP加速能力。
CN201810327553.6A 2018-04-12 2018-04-12 Tcp加速方法及装置 Active CN110381007B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810327553.6A CN110381007B (zh) 2018-04-12 2018-04-12 Tcp加速方法及装置
PCT/CN2019/082000 WO2019196853A1 (zh) 2018-04-12 2019-04-10 Tcp加速方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810327553.6A CN110381007B (zh) 2018-04-12 2018-04-12 Tcp加速方法及装置

Publications (2)

Publication Number Publication Date
CN110381007A true CN110381007A (zh) 2019-10-25
CN110381007B CN110381007B (zh) 2021-01-08

Family

ID=68163490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810327553.6A Active CN110381007B (zh) 2018-04-12 2018-04-12 Tcp加速方法及装置

Country Status (2)

Country Link
CN (1) CN110381007B (zh)
WO (1) WO2019196853A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688803A (zh) * 2020-12-17 2021-04-20 上海乌嘎信息技术有限公司 一种提高web应用可用性与响应速度的系统
CN113890824A (zh) * 2021-10-21 2022-01-04 北京天融信网络安全技术有限公司 网络加速方法、装置、网关设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015591A1 (en) * 2002-07-18 2004-01-22 Wang Frank Xiao-Dong Collective TCP control for improved wireless network performance
US7673074B1 (en) * 2002-10-24 2010-03-02 Emulex Design & Manufacturing Corporation Avoiding port collisions in hardware-accelerated network protocol
CN101986648A (zh) * 2010-11-24 2011-03-16 北京星网锐捷网络技术有限公司 一种tcp选项的协商方法、装置及网络设备
CN102546832A (zh) * 2012-02-29 2012-07-04 北京快网科技有限公司 基于tcp协议的报文发送方法
CN102629944A (zh) * 2012-04-09 2012-08-08 华为技术有限公司 网络加速方法、装置及系统
CN103281369A (zh) * 2013-05-24 2013-09-04 华为技术有限公司 报文处理方法及广域网加速控制器woc
CN104581838A (zh) * 2013-10-22 2015-04-29 中国移动通信集团江苏有限公司 一种业务分级服务方法及系统、ggsn及终端
CN107454000A (zh) * 2016-05-31 2017-12-08 华为技术有限公司 网络数据传输装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873060B2 (en) * 2008-10-18 2011-01-18 Fortinet, Inc. Accelerating data communication using tunnels

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015591A1 (en) * 2002-07-18 2004-01-22 Wang Frank Xiao-Dong Collective TCP control for improved wireless network performance
US7673074B1 (en) * 2002-10-24 2010-03-02 Emulex Design & Manufacturing Corporation Avoiding port collisions in hardware-accelerated network protocol
CN101986648A (zh) * 2010-11-24 2011-03-16 北京星网锐捷网络技术有限公司 一种tcp选项的协商方法、装置及网络设备
CN102546832A (zh) * 2012-02-29 2012-07-04 北京快网科技有限公司 基于tcp协议的报文发送方法
CN102629944A (zh) * 2012-04-09 2012-08-08 华为技术有限公司 网络加速方法、装置及系统
CN103281369A (zh) * 2013-05-24 2013-09-04 华为技术有限公司 报文处理方法及广域网加速控制器woc
CN104581838A (zh) * 2013-10-22 2015-04-29 中国移动通信集团江苏有限公司 一种业务分级服务方法及系统、ggsn及终端
CN107454000A (zh) * 2016-05-31 2017-12-08 华为技术有限公司 网络数据传输装置及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112688803A (zh) * 2020-12-17 2021-04-20 上海乌嘎信息技术有限公司 一种提高web应用可用性与响应速度的系统
CN113890824A (zh) * 2021-10-21 2022-01-04 北京天融信网络安全技术有限公司 网络加速方法、装置、网关设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110381007B (zh) 2021-01-08
WO2019196853A1 (zh) 2019-10-17

Similar Documents

Publication Publication Date Title
JP6785376B2 (ja) IoTデバイスコネクティビティ、ディスカバリ、ネットワーキング
US10432522B2 (en) Network packet flow controller with extended session management
CN101180860B (zh) 一种宽带接入网及其接入节点以及重定向宽带接入网中业务的方法
US10708360B2 (en) Method for transport agnostic communication between internet of things client and broker
US7992201B2 (en) Dynamic network tunnel endpoint selection
CN101296238B (zh) 一种保持安全套接层会话持续性的方法及设备
EP2705645B1 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US10231163B2 (en) Efficient centralized resource and schedule management in time slotted channel hopping networks
CN107948076B (zh) 一种转发报文的方法及装置
EP3422656B1 (en) Udp protocol acceleration method and system
CN108601043B (zh) 用于控制无线接入点的方法和设备
US20040152439A1 (en) Mobile device communications system and method
JP2003179626A (ja) 中継コネクション管理プログラムおよび中継コネクション管理方法
CN113810512A (zh) 物联网终端接入系统、方法、装置及存储介质
JP2015091019A (ja) 中継装置及びデータ転送方法
CN110381007A (zh) Tcp加速方法及装置
CN107483593A (zh) 双向透明代理方法及系统
CN103368841B (zh) 报文转发方法和装置
US20060002384A1 (en) Network system and connecting method thereof
JP4630298B2 (ja) 機能分散型通信装置、構成要素結合制御方法、およびプログラム
US20040160973A1 (en) Zero configuration auto-discovery for networks storage
US10432583B1 (en) Routing agent platform with a 3-tier architecture for diameter communication protocol in IP networks
CN101895559B (zh) 一种代理穿越网络及防火墙的方法
CN117478589A (zh) 基于dpu的业务流量转发方法、装置及系统
CN104518937A (zh) 虚拟局域网vlan多设备间通信的方法及装置

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