CN105991629B - Tcp连接建立方法及装置 - Google Patents
Tcp连接建立方法及装置 Download PDFInfo
- Publication number
- CN105991629B CN105991629B CN201510136373.6A CN201510136373A CN105991629B CN 105991629 B CN105991629 B CN 105991629B CN 201510136373 A CN201510136373 A CN 201510136373A CN 105991629 B CN105991629 B CN 105991629B
- Authority
- CN
- China
- Prior art keywords
- data message
- intermediate equipment
- tcp
- received
- forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本申请提供一种TCP连接建立方法及装置,该方法应用在中间设备上,包括:在中间设备与客户端之间建立第一TCP链路;接收客户端发送的数据报文;在中间设备与服务器之间建立第二TCP链路;建立用于连接第一TCP链路和第二TCP链路的与中间设备接收到的数据报文对应的TCP转发通道,其中与中间设备接收到的数据报文对应的TCP转发通道上包括数据报文的路由信息、用于转发数据报文的端口信息、与数据报文中原有IP地址对应的地址转换后的IP地址、数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息。通过本发明可以降低中间设备的资源消耗量。
Description
技术领域
本申请涉及通信领域,尤其涉及一种TCP连接建立方法及装置。
背景技术
随着互联网技术的发展,大部分网络通常采用TCP(Transmission ControlProtocol,传输控制协议)协议来实现数据报文的可靠传输。在现有技术中,中间设备通常采用操作系统提供的套接字socket通用网络编程机制,为客户端与服务器铺设TCP转发通道。
然而,中间设备采用操作系统提供的socket,为客户端与服务器铺设TCP转发通道的过程比较复杂,且在该TCP转发通道建立后,中间设备对数据报文进行转发过程中,操作系统需要对该TCP转发通道进行复杂的维护,从而导致中间设备的资源消耗量较大。
发明内容
有鉴于此,本申请提供一种TCP连接建立方法及装置,以解决中间设备资源消耗量较大的问题。
根据本发明的一个层面,本发明提供一种TCP连接建立方法,所述方法应用在中间设备上,包括:
在所述中间设备与客户端之间建立第一TCP链路;
接收所述客户端发送的数据报文;
在所述中间设备与服务器之间建立第二TCP链路;
建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道,其中与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文的路由信息、用于转发所述数据报文的端口信息、与所述数据报文中原有IP地址对应的地址转换后的IP地址、所述数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息。
根据本发明的另一层面,本发明提供一种TCP连接建立装置,所述装置应用在中间设备上,所述装置包括:
建立单元,用于在所述中间设备与客户端之间建立第一TCP链路;
接收单元,用于接收所述客户端发送的数据报文;
所述建立单元,还用于在所述中间设备与服务器之间建立第二TCP链路;
所述建立单元,还用于建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道,其中与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文的路由信息、用于转发所述数据报文的端口信息、与所述数据报文中原有IP地址对应的地址转换后的IP地址、所述数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息。
本发明的有益效果是:
中间设备在与客户端、服务器分别建立TCP连接后,通过建立与数据报文对应的TCP转发通道,并使TCP转发通道上包括实现数据报文转发所需要的各种信息,可以降低TCP连接建立的复杂度,并且在转发数据报文时,只需要确定与该数据报文对应的TCP转发通道便可以对该数据报文进行转发,不必对TCP转发通道进行复杂的维护,因而通过本实施例可以降低中间设备的资源消耗量。
附图说明
图1是应用本发明实施例实现TCP连接建立的应用场景示意图;
图2是本发明TCP连接建立方法的一个实施例流程图;
图3是本发明TCP连接建立装置所在设备的一种硬件结构图;
图4是本发明TCP连接建立装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为应用本发明实施例实现TCP连接建立的应用场景示意图。如图1所示,客户端可以为手机、电脑和iPad等,中间设备可以为路由器和交换机等,客户端可以通过中间设备与服务器建立TCP连接,从而可以通过中间设备访问服务器上的数据。
在本发明的实施例中,中间设备可以首先在中间设备与客户端之间建立第一TCP链路,并在接收到客户端发送的数据请求报文后,在中间设备与服务器之间建立第二TCP链路,然后建立用于连接该第一TCP链路和第二TCP链路的与中间设备接收到的数据报文对应的TCP转发通道,并使与中间设备接收到的数据报文对应的TCP转发通道上包括该数据报文的路由信息、用于转发该数据报文的端口信息、与该数据报文中原有IP地址对应的地址转换后的IP地址、该数据报文分别基于该第一TCP链路与第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息。由于在本实施例中TCP连接建立的过程简单,且在转发数据报文时,只需要确定该数据报文对应的TCP转发通道便可以对该数据报文进行转发,不必对TCP转发通道进行复杂的维护,因而通过本实施例可以降低中间设备的资源消耗量。
参见图2,为本发明TCP连接建立方法的一个实施例流程图,该实施例从中间设备侧进行描述,包括以下步骤:
步骤201、在中间设备与客户端之间建立第一TCP链路。
在本实施例中,客户端首先向中间设备发送SYN(Synchronous,同步)报文,中间设备在接收到SYN报文后向客户端返回SYN/ACK(Synchronous/Acknowledgement,同步/确认)报文,客户端在接收到SYN/ACK报文后向中间设备发送ACK(Acknowledgement,确认)报文,由此客户端与中间设备之间完成三次握手,从而客户端与中间设备之间建立第一TCP连接。
步骤202、接收客户端发送的数据报文。
在本实施例中,在客户端与中间设备之间建立第一TCP链路后,客户端可以通过向中间设备发送数据请求报文,来请求访问服务器上的数据。中间设备在接收到该数据请求报文后,可以根据相关的需求,对该数据请求报文进行相应的处理。例如,中间设备可以对该数据请求报文进行安全检测,当该数据请求报文安全检测通过时,中间设备可对该数据请求报文进行转发;当该数据请求报文安全检测未通过时,中间设备丢弃该数据请求报文。当然,中间设备在接收到服务器发送的数据响应报文后,也可以根据相关的需求,对该数据响应报文进行相应的处理。
步骤203、在中间设备与服务器之间建立第二TCP链路。
在本实施例中,在中间设备对数据请求报文的处理完成后,为了将处理后的数据请求报文发送给对应的服务器,中间设备可以首先从IP地址配置表中查找出与该数据请求报文中的目的IP地址对应的地址转换后的IP地址,然后根据该地址转换后的IP地址(即服务器IP地址),向对应的服务器发送SYN报文,该服务器在接收到SYN报文后向中间设备返回SYN/ACK报文,之后中间设备向该服务器发送ACK报文,由此中间设备与服务器之间完成三次握手,从而在中间设备与服务器之间建立第二TCP链路。当中间设备与服务器之间建立TCP连接后,中间设备可以将处理后的数据请求报文发送给对应的服务器。
如果中间设备在对数据请求报文的处理完成之前,与服务器建立第二TCP链路,则中间设备在对该数据请求报文进行处理的过程中,需要消耗资源来维持该第二TCP链路,因此中间设备在对数据请求报文处理完成后,与服务器建立第二TCP链路,可以降低中间设备的资源消耗量。
步骤204、建立用于连接该第一TCP链路与该第二TCP链路的与中间设备接收到的数据报文对应的TCP转发通道,其中与中间设备接收到的数据报文对应的TCP转发通道上包括该数据报文的路由信息、用于转发该数据报文的端口信息、与该数据报文中IP地址对应的地址转换后的IP地址、该数据报文分别基于该第一TCP链路与基于该第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息。
在本实施例中,中间设备可以根据其接收到的数据报文中的五元组信息来建立用于连接该第一TCP链路与该第二TCP链路的与该数据报文对应的TCP转发通道,以使五元组相同的数据报文采用相同的TCP转发通道进行转发。其中,中间设备接收到的数据报文可以包括客户端发送的数据请求报文和服务器发送的数据响应报文,且该五元组包括源IP地址、源端口、目的IP地址、目的端口和传输层协议。
为了保证数据报文按照最佳路径进行传输,中间设备在本地通常设置有路由表,用于存储各个数据报文的最佳传输路径(即路由信息)。然而,由于路由表中保存的路由信息较多,如果中间设备每接收到一个数据报文,都从路由表中查找该数据报文的路由信息,则可能存在路由查找效率较低,中间设备资源消耗量较大的问题。为此,中间设备在建立与数据报文对应的TCP转发通道后,可以首先判断与该数据报文对应的TCP转发通道上是否存在路由信息,若存在,则按照与该数据报文对应的TCP转发通道上的路由信息转发该数据报文;否则,中间设备可以首先从本地的路由表中查找出该数据报文的路由信息,然后将查找出的该数据报文的路由信息保存在与该数据报文对应的TCP转发通道上,并按照与该数据报文对应的TCP转发通道上的路由信息转发该数据报文。由此,当中间设备接收到下一个五元组相同的数据报文时,可以直接按照与该数据报文对应的TCP转发通道上的路由信息转发该数据报文,而不必从本地的路由表中重新查找与该数据报文对应的路由信息,因而通过本实施例可以提高路由信息的查找效率,并降低中间设备的资源消耗量。
为了进一步提高路由信息的查找效率,降低中间设备的资源消耗量,中间设备在接收到客户端发送的数据请求报文后,可以首先根据该数据请求报文的五元组信息,确定与该数据请求报文对应的数据响应报文的五元组信息(其中数据请求报文中的源IP地址、源端口、目的IP地址和目的端口分别为与该数据请求报文对应的数据响应报文中的目的IP地址、目的端口、源IP地址和源端口,两者的传输层协议相同),然后根据该数据请求报文以及与该数据请求报文对应的数据响应报文的五元组信息,判断在本地是否存在与该数据请求报文对应的TCP转发通道以及与该数据请求报文对应的数据响应报文的TCP转发通道,若不存在,则建立与该数据请求报文对应的TCP转发通道以及与该数据请求报文对应的数据响应报文的TCP转发通道。之后,中间设备可以首先判断与该数据请求报文对应的TCP转发通道上是否存在路由信息,若存在,则按照与该数据请求报文对应的TCP转发通道上的路由信息转发给数据报文;否则,中间设备可以首先从本地的路由表中查找出该数据请求报文的路由信息(即从该数据请求报文的源IP地址到目的IP地址的路由信息)以及与该数据请求报文对应的数据响应报文的路由信息(即从该数据请求报文的目的IP地址至源IP地址的路由信息),接着将查找出的数据请求报文的路由信息保存在与该数据请求报文对应的TCP转发通道上,并将查找出的与数据请求报文对应的数据响应报文的路由信息保存在与该数据请求报文对应的数据响应报文的TCP转发通道上,然后按照与该数据请求报文对应的TCP转发通道上的路由信息转发该数据请求报文。另外,中间设备在接收到服务器发送的数据响应报文后,可以首先根据该数据响应报文的五元组信息,确定与该数据响应报文对应的TCP转发通道,然后按照与该数据响应报文对应的TCP转发通道上的路由信息转发该数据响应报文。
为了保证对数据报文进行正确转发,中间设备在建立与数据报文对应的TCP转发通道后,可以首先确定中间设备上用于转发该数据报文的端口信息,然后将中间设备上用于转发该数据报文的端口信息保存在与该数据报文对应的TCP转发通道上。中间设备在接收到客户端发送的数据请求报文后,可以首先根据该数据请求报文的五元组信息,确定与该数据请求报文对应的TCP转发通道,然后采用与该数据请求报文对应的TCP转发通道上的端口信息转发该数据请求报文。另外,中间设备在接收到服务器发送的数据响应报文后,可以首先根据该数据响应报文的五元组信息,确定与该数据响应报文对应的TCP转发通道,然后采用与该数据响应报文对应的TCP转发通道上的端口信息转发该数据响应报文。
当网络可用IP地址有限时,为了保证数据报文的顺利传输,中间设备在对数据报文进行转发之前可以首先从IP地址配置表中查找出与该数据报文中原有IP地址对应的地址转换后的IP地址,接着在将该数据报文中原有IP地址替换成地址转换后的IP地址后,对该数据报文进行转发。然而,IP地址配置表中存储的配置信息过多,如果中间设备每接收到一个数据报文,都从该IP地址配置表中查找出与该数据报文对应的地址转换后的IP地址,则可能存在转换效率较低,中间设备资源消耗量较大的问题。为此,中间设备在建立与数据报文对应的TCP转发通道后,可以首先判断与该数据报文对应的TCP转发通道上是否存在地址转换后的IP地址,若存在,则在将该数据报文中原有IP地址替换成与该数据报文对应的TCP转发通道上的地址转换后的IP地址后,对该数据报文进行转发;若不存在,则中间设备可以首先从IP地址配置表中查找出与该数据报文中原有IP地址对应的地址转换后的IP地址,然后将与该数据报文中原有IP地址对应的地址转换后的IP地址保存在与该数据报文对应的TCP转发通道上,并在将该数据报文中原有IP地址替换成与该数据报文对应的TCP转发通道上的地址转换后的IP地址后,对该数据报文进行转发。由此可见,通过本实施例可以提高转换效率,并降低中间设备资源消耗量。
另外,为了保证报文按照顺序传输,在两端设备建立TCP连接后,两端设备基于该TCP连接传输的数据报文中通常都包括序列号,并且一端设备在接收到该数据报文后向另一端设备返回的确认报文中通常包括确认号。然而,由于基于TCP连接传输的数据报文的初始序列号都是随机分配的,因此当数据报文分别基于客户端与中间设备之间的第一TCP连接以及基于中间设备与服务器之间的第二TCP连接传输时,该数据报文中的初始序列号以及序列号规则均不相同。现有技术中,中间设备在接收一端设备发送的数据报文后,首先需要对接收到的多个数据报文按照序列号顺序进行重组,接着按照中间设备与另一端设备的序列号规则,对重组后的数据报文按顺序重新分配序列号,然后将封装有重新分配的序列号的数据报文发送给另一端设备。由此可见,目前中间设备在转发数据报文时重新构造数据报文的效率较低,中间设备的资源消耗量大。
为此,中间设备可以根据中间设备接收到的数据报文的序列号与中间设备在转发该接收到的数据报文时重新构造的数据报文的序列号之间的差值,以及中间设备在接收到数据报文后返回的确认报文中的确认号与中间设备在转发该接收到的数据报文后接收到的确认报文中的确认号的差值通常保持不变且两个差值相等的事实,将中间设备接收到的数据报文的序列号与中间设备在转发接收到的数据报文时重新构造的数据报文的序列号的差值,或者将中间设备在接收到数据报文后返回的确认报文中的确认号与中间设备在转发其接收到的数据报文后接收到的确认报文中的确认号的差值设置在与该数据报文对应的TCP转发通道上。由此,通过本实施例可以提高数据报文转发过程中数据报文的重新构造效率,从而可以降低中间设备的资源消耗量。当然,中间设备也可以将上述序列号差值或者确认号差值保存在所有的TCP转发通道上。
具体地,当中间设备接收客户端发送的数据请求报文时,中间设备可以通过将该接收到的数据请求报文中的序列号减去设置在TCP转发通道上的序列号差值或者确认号差值,获得中间设备在转发该接收到的数据请求报文时重新构造的数据请求报文的序列号。当中间设备接收到服务器发送的数据响应报文时,中间设备可以通过将该接收到的数据响应报文中的序列号加上设置在TCP转发通道上的序列号差值或者确认号差值,获得中间设备在转发该接收到的数据响应报文时重新构造的数据响应报文的序列号。
由上述实施例可见,中间设备在与客户端、服务器分别建立TCP连接后,通过建立与数据报文对应的TCP转发通道,并使TCP转发通道上包括实现数据报文转发所需要的各种信息,可以降低TCP连接建立的复杂度,并且在转发数据报文时,只需要确定与该数据报文对应的TCP转发通道便可以对该数据报文进行转发,不必对TCP转发通道进行复杂的维护,因而通过本实施例可以降低中间设备的资源消耗量。
与前述TCP连接建立方法的实施例相对应,本申请还提供了TCP连接建立装置的实施例。
本发明TCP连接建立装置的实施例可以应用在设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明TCP连接建立装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图4,为本发明TCP连接建立装置的一个实施例框图,该实施例从中间设备侧进行描述,可以包括:
建立单元410,用于在所述中间设备与客户端之间建立第一TCP链路;
接收单元420,用于接收所述客户端发送的数据请求报文;
所述建立单元410,还用于在所述中间设备与服务器之间建立第二TCP链路;
所述建立单元410,还用于建立用于连接所述第一TCP链路与所述第二TCP链路的TCP转发通道,所述TCP转发通道用于根据接收到的数据报文,确定所述数据报文的路由信息、用于转发所述数据报文的端口信息、与所述数据报文中IP地址对应的地址转换后的IP地址、所述数据报文的序列号差值和确认号差值中的至少一种信息,所述接收到的数据报文包括所述客户端发送的数据请求报文和/或所述服务器发送的数据响应报文。
在本发明的一个实现方式中,所述装置还可以包括:
第一保存单元430,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,判断与所述中间设备接收到的数据报文对应的TCP转发通道上是否存在路由信息;若不存在,则从本地的路由表中查找出与所述中间设备接收到的数据报文对应的路由信息;将查找出的所述数据请求报文的路由信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
在本发明的另一个实现方式中,所述装置还可以包括:
第二保存单元440,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,确定所述中间设备上用于转发所述中间设备接收到的数据报文的端口信息;将确定的端口信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
在本发明的另一个实现方式中,所述装置还可以包括:
第三保存单元450,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,判断与所述中间设备接收到的数据报文对应的TCP转发通道是否存在地址转换后的IP地址;若不存在,则从IP地址配置表中查找出与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址;将查找出的与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
在本发明的另一个实现方式中,所述装置还可以包括:
第四保存单元460,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,将所述中间设备接收到的数据报文的序列号与所述中间设备在转发所述接收到的数据报文时重新构造的数据报文的序列号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上;或者将所述中间设备在接收到数据报文后返回的确认报文中的确认号与所述中间设备在转发所述接收到的数据报文后接收到的确认报文中的确认号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,中间设备在与客户端、服务器分别建立TCP连接后,通过建立与数据报文对应的TCP转发通道,并使TCP转发通道上包括实现数据报文转发所需要的各种信息,可以降低TCP连接建立的复杂度,并且在转发数据报文时,只需要确定与该数据报文对应的TCP转发通道便可以对该数据报文进行转发,不必对TCP转发通道进行复杂的维护,因而通过本实施例可以降低中间设备的资源消耗量。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种传输控制协议TCP连接建立方法,所述方法应用在中间设备上,其特征在于,包括:
在所述中间设备与客户端之间建立第一TCP链路;
接收所述客户端发送的数据报文,检测所述接收到的数据报文,当符合预设的条件时,转发所述接收到的数据报文,当不符合预设的条件时,丢弃所述接收到的数据报文;
在所述中间设备与服务器之间建立第二TCP链路;
建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道,其中与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文的路由信息、用于转发所述数据报文的端口信息、与所述数据报文中原有IP地址对应的地址转换后的IP地址、所述数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息;
其中,所述序列号差值为中间设备接收到的数据报文的序列号与中间设备在转发该接收到的数据报文时重新构造的数据报文的序列号之间的差值;
所述确认号差值为中间设备在接收到数据报文后返回的确认报文中的确认号与中间设备在转发该接收到的数据报文后接收到的确认报文中的确认号的差值。
2.根据权利要求1所述的方法,其特征在于,当与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文的路由信息时,在所述建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,所述方法还包括:
判断与所述中间设备接收到的数据报文对应的TCP转发通道上是否存在路由信息;
若不存在,则从本地的路由表中查找出与所述中间设备接收到的数据报文对应的路由信息;
将查找出的所述数据请求报文的路由信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
3.根据权利要求1所述的方法,其特征在于,当与所述中间设备接收到的数据报文对应的TCP转发通道上包括用于转发所述数据报文的端口信息时,在所述建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,所述方法还包括:
确定所述中间设备上用于转发所述中间设备接收到的数据报文的端口信息;
将确定的端口信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
4.根据权利要求1所述的方法,其特征在于,当与所述中间设备接收到的数据报文对应的TCP转发通道上包括与所述数据报文中原有IP地址对应的地址转换后的IP地址时,在所述建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,所述方法还包括:
判断与所述中间设备接收到的数据报文对应的TCP转发通道是否存在地址转换后的IP地址;
若不存在,则从本地的IP地址配置表中查找出与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址;
将查找出的与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
5.根据权利要求1所述的方法,其特征在于,当与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值或者确认号差值时,在所述建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,所述方法还包括:
将所述中间设备接收到的数据报文的序列号与所述中间设备在转发所述接收到的数据报文时重新构造的数据报文的序列号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上;或者
将所述中间设备在接收到数据报文后返回的确认报文中的确认号与所述中间设备在转发所述接收到的数据报文后接收到的确认报文中的确认号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
6.一种TCP连接建立装置,所述装置应用在中间设备上,其特征在于,所述装置包括:
建立单元,用于在所述中间设备与客户端之间建立第一TCP链路;
接收单元,用于接收所述客户端发送的数据报文,检测所述接收到的数据报文,当符合预设的条件时,转发所述接收到的数据报文,当不符合预设的条件时,丢弃所述接收到的数据报文;
所述建立单元,还用于在所述中间设备与服务器之间建立第二TCP链路;
所述建立单元,还用于建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道,其中与所述中间设备接收到的数据报文对应的TCP转发通道上包括所述数据报文的路由信息、用于转发所述数据报文的端口信息、与所述数据报文中原有IP地址对应的地址转换后的IP地址、所述数据报文分别基于所述第一TCP链路和所述第二TCP链路传输时的序列号差值和确认号差值中的至少一种信息;
其中,所述序列号差值为中间设备接收到的数据报文的序列号与中间设备在转发该接收到的数据报文时重新构造的数据报文的序列号之间的差值;
所述确认号差值为中间设备在接收到数据报文后返回的确认报文中的确认号与中间设备在转发该接收到的数据报文后接收到的确认报文中的确认号的差值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:第一保存单元,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,判断与所述中间设备接收到的数据报文对应的TCP转发通道上是否存在路由信息;若不存在,则从本地的路由表中查找出与所述中间设备接收到的数据报文对应的路由信息;将查找出的所述数据请求报文的路由信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:第二保存单元,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,确定所述中间设备上用于转发所述中间设备接收到的数据报文的端口信息;将确定的端口信息保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:第三保存单元,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,判断与所述中间设备接收到的数据报文对应的TCP转发通道是否存在地址转换后的IP地址;若不存在,则从本地的IP地址配置表中查找出与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址;将查找出的与所述中间设备接收到的数据报文中原有IP地址对应的地址转换后的IP地址保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:第四保存单元,用于在建立用于连接所述第一TCP链路和所述第二TCP链路的与所述中间设备接收到的数据报文对应的TCP转发通道之后,将所述中间设备接收到的数据报文的序列号与所述中间设备在转发所述接收到的数据报文时重新构造的数据报文的序列号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上;或者将所述中间设备在接收到数据报文后返回的确认报文中的确认号与所述中间设备在转发所述接收到的数据报文后接收到的确认报文中的确认号的差值保存在与所述中间设备接收到的数据报文对应的TCP转发通道上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510136373.6A CN105991629B (zh) | 2015-03-26 | 2015-03-26 | Tcp连接建立方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510136373.6A CN105991629B (zh) | 2015-03-26 | 2015-03-26 | Tcp连接建立方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991629A CN105991629A (zh) | 2016-10-05 |
CN105991629B true CN105991629B (zh) | 2019-06-04 |
Family
ID=57040419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510136373.6A Active CN105991629B (zh) | 2015-03-26 | 2015-03-26 | Tcp连接建立方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105991629B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213167A (zh) * | 2018-02-28 | 2019-09-06 | 吴瑞 | 一种传输控制协议在网络拥塞时的处理方法和装置 |
CN110990337A (zh) * | 2019-12-25 | 2020-04-10 | 北京锐安科技有限公司 | 文件搬运方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819562A (zh) * | 2006-03-21 | 2006-08-16 | 杭州华为三康技术有限公司 | 一种tcp连接的合并方法 |
CN102546559A (zh) * | 2010-12-29 | 2012-07-04 | 北京新媒传信科技有限公司 | 受限网络中端到端传输数据的方法、设备和系统 |
CN102573078A (zh) * | 2012-01-06 | 2012-07-11 | 华为终端有限公司 | Tcp数据包的处理方法和设备 |
CN103533080A (zh) * | 2013-10-25 | 2014-01-22 | 北京奇虎科技有限公司 | 用于lvs的服务器调度方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217149A1 (en) * | 2002-05-20 | 2003-11-20 | International Business Machines Corporation | Method and apparatus for tunneling TCP/IP over HTTP and HTTPS |
-
2015
- 2015-03-26 CN CN201510136373.6A patent/CN105991629B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1819562A (zh) * | 2006-03-21 | 2006-08-16 | 杭州华为三康技术有限公司 | 一种tcp连接的合并方法 |
CN102546559A (zh) * | 2010-12-29 | 2012-07-04 | 北京新媒传信科技有限公司 | 受限网络中端到端传输数据的方法、设备和系统 |
CN102573078A (zh) * | 2012-01-06 | 2012-07-11 | 华为终端有限公司 | Tcp数据包的处理方法和设备 |
CN103533080A (zh) * | 2013-10-25 | 2014-01-22 | 北京奇虎科技有限公司 | 用于lvs的服务器调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105991629A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948076B (zh) | 一种转发报文的方法及装置 | |
CN105830395B (zh) | 用于促进分析的基于会话的分组路由 | |
US7653075B2 (en) | Processing communication flows in asymmetrically routed networks | |
US11277341B2 (en) | Resilient segment routing service hunting with TCP session stickiness | |
CN102571587B (zh) | 报文转发方法和设备 | |
CN100521663C (zh) | 点对点通信中穿越网络地址转换的方法 | |
US11153185B2 (en) | Network device snapshots | |
CN104539531A (zh) | 数据传输方法及装置 | |
CN105337973B (zh) | 消息交互方法及其系统 | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
CN105162883A (zh) | 网络负载均衡处理系统及其方法和装置 | |
CN103916405A (zh) | 一种IOS上针对App的TCP/UDP流量引导的方法 | |
CN104980528A (zh) | 实现节点间通信的方法、系统及装置 | |
CN104980355A (zh) | 一种sdn环境下的源端可控组播数据传输方法及系统 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
CN105991793B (zh) | 报文转发的方法和装置 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
CN108429682A (zh) | 一种网络传输链路的优化方法及系统 | |
CN106254410A (zh) | 网络系统及建立数据连接的方法 | |
US11770325B2 (en) | Automatically selecting an optimized communication channel for communications with a deflect in an overlay network | |
CN108833232A (zh) | 一种基于VPP的PPPoE客户端实现方法及PPPoE客户端 | |
US8233400B2 (en) | Methods, systems, and computer readable media for verifying the availability of an internet protocol (IP) media router during a call setup | |
JP2006203575A (ja) | 通信方法 | |
CN105991629B (zh) | Tcp连接建立方法及装置 | |
CN102801824B (zh) | Nat设备、napt设备和tcp应用引流的处理方法与处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |