CN106657076B - 一种网络命名空间的tcp服务实现方法及装置 - Google Patents

一种网络命名空间的tcp服务实现方法及装置 Download PDF

Info

Publication number
CN106657076B
CN106657076B CN201611220854.6A CN201611220854A CN106657076B CN 106657076 B CN106657076 B CN 106657076B CN 201611220854 A CN201611220854 A CN 201611220854A CN 106657076 B CN106657076 B CN 106657076B
Authority
CN
China
Prior art keywords
tcp
server
network
name space
client
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
CN201611220854.6A
Other languages
English (en)
Other versions
CN106657076A (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.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
NSFOCUS Information Technology Co Ltd
Nsfocus Technologies Inc
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 NSFOCUS Information Technology Co Ltd, Nsfocus Technologies Inc filed Critical NSFOCUS Information Technology Co Ltd
Priority to CN201611220854.6A priority Critical patent/CN106657076B/zh
Publication of CN106657076A publication Critical patent/CN106657076A/zh
Application granted granted Critical
Publication of CN106657076B publication Critical patent/CN106657076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明实施例涉及通信技术领域,尤其涉及一种网络命名空间的TCP服务实现方法及装置,用以减少CPU和内存的消耗。本发明实施例中,传输控制协议TCP代理接收第二网络命名空间发送的TCP连接请求,所述TCP连接请求为客户端发送给所述第二网络命名空间的请求;所述TCP代理将所述TCP连接请求发送给第一TCP服务器,所述第一TCP服务器与第一网络命名空间直接连接;所述TCP代理接收所述第一TCP服务器发送的反馈消息,并将所述反馈消息发送给所述第二网络命名空间,以使所述第二网络命名空间通过将所述反馈消息发送给所述客户端来建立所述第二网络命名空间与所述客户端之间的TCP连接。

Description

一种网络命名空间的TCP服务实现方法及装置
技术领域
本发明涉及虚拟化技术领域,尤其涉及一种网络命名空间的TCP服务实现方法及装置。
背景技术
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux内核实现了基于网络命名空间的内核网络的虚拟化功能。虚拟化,是指通过虚拟化技术将一台计算机虚拟为多个网络命名空间,相当于在一台计算机上可同时运行多个逻辑计算机,每个网络命名空间的应用程序都可以在相互独立的空间内运行而互不影响,这样能显著提高计算机的工作效率。
网络功能虚拟化后每一个网络命名空间的应用互相隔离,这样就导致了同样的服务,需要在每个命名空间启动一个服务器进程,例如对于每个网络命名空间的TCP(Transmission Control Protocol,传输控制协议)服务,需要每个命名空间单独启用一个TCP服务器进程,才能保证给每个网络命名空间提供TCP服务。这样会占用大量的CPU(Central Processing Unit,中央处理器)和内存。
发明内容
本申请提供一种网络命名空间的TCP服务实现方法及装置,用以减少CPU和内存,提高服务器主机的容量。
本发明实施例提供一种网络命名空间的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服务器发送的第二数据,所述第二数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述第二网络命名空间发送给所述客户端的数据;
所述发送模块,还用于将所述第二数据发送给所述第二网络命名空间。
本发明实施例中,客户端将TCP连接请求发送给第二网络命名空间,第二网络命名空间将接收到的TCP连接请求发送给TCP代理,TCP代理接收第二网络空间发送的TCP连接请求后,将该TCP连接请求发送给第一TCP服务器,第一TCP服务器是与第一网络命名空间直接相连。第一TCP服务器接收到第二网络命名空间的TCP连接请求后,对该请求进行处理,并将反馈消息发送回TCP代理,TCP代理将该反馈消息发送回第二网络命名空间,再由第二网络命名空间将反馈消息发送给客户端。这样,就建立起了第二网络命名空间与第一TCP服务器之间的TCP连接。本发明实施例中的TCP代理为多个网络命名空间进行代理服务,这样,网络命名空间与客户端的连接建立,无需为每个网络命名空间单独启动TCP服务器进程,可以通过将网络命名空间连接TCP代理,再由TCP代理连接TCP服务器,这样,一个TCP服务器就可以连接两个甚至多个网络命名空间。因此,相比现有技术,本发明实施例在保证每个网络空间TCP服务的基础上,无需对原有的TCP服务器做任何改动,就可以支持错网络命名空间的虚拟化功能,减少了启用TCP服务器的数量,从而减少了CPU和内存,提高了服务器主机的容量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例适用的一种系统架构示意图;
图2为现有技术中服务器内部的连接示意图;
图3为本发明实施例提供的网络命名空间的TCP服务实现方法的流程示意图;
图4为本发明实施例提供的一种具体实施例的流程示意图;
图5为本发明实施例提供的网络命名空间的TCP服务实现装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例所适用的一种系统架构,包括客户端101和服务器102。服务器102中运行的操作系统支持虚拟化功能,本发明实施例以Linux操作系统为例进行介绍。服务器102中包括TCP服务器103、TCP代理104和多个网络命名空间,每个网络命名空间都可单独与客户端连接,其中,第一网络命名空间105直接连接TCP服务器103,第二网络命名空间106通过连接TCP代理104,与TCP服务器103进行连接。需要说明的是,服务器102中只包括一个TCP代理104,而TCP服务器103可以为多个,图1中只列举出TCP服务器103为1个的情况。优选的,服务器102中包括一个第一网络命名空间105和多个第二网络命名空间106,如图1所示,然而本发明实施例中第一网络命名空间105和第二网络命名空间106的数量不作限制,图1仅为举例。
客户端101安装在终端上,终端可以是手机、平板电脑或者是专用的手持设备等具有无线通信功能的电子设备,也可以是个人计算机(personal computer,简称PC),笔记本电脑,服务器等有线接入方式连接上网的设备。服务器102可以是计算机等网络设备。客户端101与服务器102之中的各个网络命名空间连接。需要说明的是,同一个网络命名空间可以与多个客户端101进行连接,或者没有连接客户端101,图1中的连接方式仅为举例,不做限制。
图2示出了现有技术中服务器201内部,网络命名空间与TCP服务器的连接情况。如图2所示,服务器201中的网络命名空间202均与TCP服务器203直接相连,为了保证每个网络命名空间的TCP服务进程,服务器201需提供与网络命名空间202数量相同的TCP服务器203,这样大量消耗了内存空间和CPU的处理工作量。
图3示例性示出了本发明实施例提供的一种网络命名空间的TCP服务实现方法的流程示意图。如图3所示,本发明实施例提供的网络命名空间的TCP服务实现方法,包括以下步骤:
步骤301、TCP代理接收第二网络命名空间发送的TCP连接请求,TCP连接请求为客户端发送给第二网络命名空间的请求;
步骤302、TCP代理将TCP连接请求发送给第一TCP服务器,第一TCP服务器与第一网络命名空间直接连接;
步骤303、TCP代理接收第一TCP服务器发送的反馈消息,并将反馈消息发送给第二网络命名空间。
客户端与服务器之间通过TCP传送数据之前,客户端与服务器之间需通过发送TCP连接请求,具体如握手信号和确认信息,以建立TCP连接。对于不同的网络命名空间而言,每个网络命名空间接收到客户端发送的TCP连接请求,均需将该TCP连接请求发送给TCP服务器,TCP服务器对该TCP连接请求进行确认和处理后,向客户端进行反馈,反馈消息仍返回相应的网络命名空间,然后再发送给客户端。
现有技术中,由于给每个网络命名空间均启用了对应的TCP服务器,因此,网络命名空间接收到TCP连接请求后,直接将TCP连接请求发送给相应的TCP服务器,TCP服务器也直接将反馈消息发送回对应的网络命名空间。
本发明实施例中,对于第一网络命名空间而言,其与第一TCP服务器直接相连,因此,第一网络命名空间接收到客户端发送的TCP连接请求后,直接将TCP连接请求发送给第一TCP服务器。第一TCP服务器将TCP连接请求处理后,也是直接将反馈消息发送给第一网络命名空间。对于第二网络命名空间,为了减少服务器CPU和内存的消耗,不为第二网络命名空间单独启动TCP服务器,而是将第二网络命名空间通过TCP代理,也连接到第一TCP服务器上。这样,第二网络命名空间接收到客户端发送的TCP连接请求后,将TCP连接请求发送给TCP代理,由TCP代理将该TCP连接请求发放给第一TCP服务器。TCP服务器处理完TCP连接请求后,也将反馈消息发送给TCP代理,由TCP代理将反馈消息发送回第二网络命名空间。
上述第一网络命名空间与第二网络命名空间之间的区别仅在于,第一网络命名空间与TCP服务器直接连接,第二网络命名空间通过TCP代理与TCP服务器连接。第一网络命名空间与第二网络命名空间本身不存在差异。第一网络命名空间可以从所有网络命名空间之中选择,优选的,本发明实施例中将根网络命名空间作为第一网络命名空间,非根网络命名空间作为第二网络命名空间,这样选择的原因是便于将第一网络命名空间与第二网络命名空间进行区分。也可以将根网络命名空间作为第二网络命名空间,非根网络命名空间作为第二网络命名空间,本发明实施例对此不做限制。
服务器为了建立与客户端之间的连接,需要打开与客户端对应的端口,步骤301、TCP代理将TCP连接请求发送给第一TCP服务器之前,还包括:
TCP代理确定第一网络命名空间的端口状态为监听状态;
TCP代理将第二网络命名空间的端口状态设置为监听状态。
监听状态(LISTENING)是指服务器中程序所处的一种状态,在该状态下,服务器打开了与客户端连接的端口,服务器中的程序等待客户端的连接。因此,当第一网络命名空间的端口状态为监听状态时,与第一网络命名空间直接相连的第一TCP服务器在第一网络命名空间已打开的端口上监听,等待远程客户端的连接。为了将第二网络命名空间与客户端进行连接,TCP代理需将第二网络命名空间相应的端口打开,将第二网络命名空间相应的端口状态设置为监听状态。之后,TCP代理将在第二网络命名空间已打开的端口上监听,等待第二网络命名空间的客户端发来TCP连接请求。
TCP代理与TCP服务器之间发送TCP连接请求,也需要建立连接,步骤301、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连接建立完成后,服务器与客户端之间可以传送数据。步骤303、TCP服务器将反馈消息发送给第二网络命名空间之后,还包括:
TCP代理接收第二网络命名空间发送的第一数据;第一数据为第二网络命名空间与客户端之间的TCP连接建立后,客户端发送给第二网络命名空间的数据;
TCP代理将第一数据发送给第一TCP服务器;
TCP代理接收第一TCP服务器发送的第二数据,第二数据为第二网络命名空间与客户端之间的TCP连接建立后,第二网络命名空间发送给客户端的数据;
TCP代理将第二数据发送给第二网络命名空间。
具体来说,第二网络命名空间与客户端之间的连接建立完成后,客户端与服务器之间可以开始传输数据。第二网络命名空间接收到客户端发送的第一数据,将第一数据发送给TCP代理,TCP代理将第一数据通过第一链接发送给第一TCP服务器。第一TCP服务器将第二数据通过第一链接发送给TCP代理,TCP代理将第二数据发送给第二网络命名空间,第二网络命名空间再将第二数据发送给客户端。这样,第二网络命名空间的数据也可通过TCP代理进行转发,无需为第二网络命名空间单独启用一个TCP服务器。
服务器与客户端之间的数据发送完成后,第二网络命名空间没有信令或数据需要处理,则断开与第一TCP服务器之间的连接。步骤303之后,还包括:
所述TCP代理收到所述第一TCP服务器发送的连接断开消息后,断开所述第一链接;或,
所述TCP代理收到所述第二网络命名空间发送的连接断开消息后,断开所述第一链接。
当第一TCP服务器需要断开与第二网络命名空间的客户端之间连接时,向TCP代理发送连接断开消息,则TCP代理断开第一链接,收回为第一链接提供的链路资源,同时,TCP代理也断开与第二网络命名空间之间的链接。当第二网络命名空间的客户端断开与服务器之间的连接时,向第二网络命名空间发送连接断开消息,第二网络命名空间将该连接断开消息发送给TCP代理,则TCP代理断开与第二网络命名空间之间的链接,同时,TCP代理也断开与第一TCP服务器之间的第一链接,收回为第一连接提供的链路资源。
为了更清楚地理解本发明,下面以具体的实施例对上述流程进行详细描述,实施例为客户端与服务器之间的TCP连接建立过程,具体步骤如图4所示,包括:
步骤401、客户端与服务器建立连接,客户端发送syn(TCP建立连接时使用的握手信号)包到服务器的第二网络命名空间。
步骤402、TCP代理监听到第二网络命名空间接收到syn包,建立与第一TCP服务器的第一链接。
步骤403、第二网络命名空间将syn包发送给TCP代理。
步骤404、TCP代理将syn包通过第一链接发送给第一TCP服务器。
步骤405、第一TCP服务器确认syn包,并通过第一链接向TCP代理发送syn包和ACK(Acknowledgement,确认字符)包。
步骤406、TCP代理将syn包和ACK包发送给第二网络命名空间。
步骤407、第二网络命名空间将syn包和ACK包发送给客户端。
步骤408、客户端向第二网络命名空间发送ACK包。
步骤409、第二网络命名空间将ACK包发送给TCP代理。
步骤410、TCP代理将ACK包通过第一链接发送给第一TCP服务器。这里的ACK包发送完毕,客户端与服务器之间的三次握手完成,TCP连接成功。之后,客户端与服务器可以开始传送数据。
图5示例性示出了本发明实施例提供的一种网络命名空间的TCP服务实现装置的结构示意图。
如图5所示,本发明实施例提供的一种网络命名空间的TCP服务实现装置,包括接收模块501、发送模块502、监听模块503、构建模块504、关闭模块505:
接收模块501,用于接收第二网络命名空间发送的TCP连接请求,所述TCP连接请求为客户端发送给所述第二网络命名空间的请求;
发送模块502,用于将所述TCP连接请求发送给第一TCP服务器,所述第一TCP服务器与第一网络命名空间直接连接;
所述接收模块501,还用于接收所述第一TCP服务器发送的反馈消息;
所述发送模块502,还用于将所述反馈消息发送给所述第二网络命名空间,以使所述第二网络命名空间将所述反馈消息发送给所述客户端来建立所述第一TCP服务器与所述客户端之间的TCP连接。
可选的,还包括监听模块503,用于:
确定所述第一网络命名空间的端口状态为监听状态;
将所述第二网络命名空间的端口状态设置为监听状态。
可选的,还包括构建模块504,用于建立与所述第一TCP服务器之间的第一链接;
所述发送模块502,具体用于通过所述第一链接将所述TCP连接请求发送给所述第一TCP服务器;
所述接收模块501,具体用于通过所述第一链接接收所述第一TCP服务器发送的所述反馈消息。
可选的,还包括关闭模块505,用于:
收到所述第一TCP服务器发送的连接断开消息后,断开所述第一链接;或,
收到所述第二网络命名空间发送的连接断开消息后,断开所述第一链接。
可选的,所述接收模块501,还用于接收所述第二网络命名空间发送的第一数据;所述第一数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述客户端发送给所述第二网络命名空间的数据;
所述发送模块502,还用于将所述第一数据发送给所述第一TCP服务器;
所述接收模块501,还用于接收所述第一TCP服务器发送的第二数据,所述第二数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述第二网络命名空间发送给所述客户端的数据;
所述发送模块502,还用于将所述第二数据发送给所述第二网络命名空间。
从上述内容可看出:本发明实施例中,客户端将TCP连接请求发送给第二网络命名空间,第二网络命名空间将接收到的TCP连接请求发送给TCP代理,TCP代理接收第二网络空间发送的TCP连接请求后,将该TCP连接请求发送给第一TCP服务器,第一TCP服务器是与第一网络命名空间直接相连。第一TCP服务器接收到第二网络命名空间的TCP连接请求后,对该请求进行处理,并将反馈消息发送回TCP代理,TCP代理将该反馈消息发送回第二网络命名空间,再由第二网络命名空间将反馈消息发送给客户端。这样,就建立起了第二网络命名空间与第一TCP服务器之间的TCP连接。本发明实施例中的TCP代理为多个网络命名空间进行代理服务,这样,网络命名空间与客户端的连接建立,无需为每个网络命名空间单独启动TCP服务器进程,可以通过将网络命名空间连接TCP代理,再由TCP代理连接TCP服务器,这样,一个TCP服务器就可以连接两个甚至多个网络命名空间。因此,相比现有技术,本发明实施例在保证每个网络空间TCP服务的基础上,无需对原有的TCP服务器做任何改动,就可以支持错网络命名空间的虚拟化功能,减少了启用TCP服务器的数量,从而减少了CPU和内存,提高了服务器主机的容量。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种网络命名空间的TCP服务实现方法,其特征在于,包括:
传输控制协议TCP代理接收第二网络命名空间发送的TCP连接请求,所述TCP连接请求为客户端发送给所述第二网络命名空间的请求,所述客户端与服务器已建立TCP连接;
所述TCP代理将所述TCP连接请求发送给第一TCP服务器,所述第一TCP服务器与第一网络命名空间直接连接;
所述TCP代理接收所述第一TCP服务器发送的反馈消息,并将所述反馈消息发送给所述第二网络命名空间,以使所述第二网络命名空间将所述反馈消息发送给所述客户端来建立所述第一TCP服务器与所述客户端之间的TCP连接。
2.如权利要求1所述的方法,其特征在于,所述TCP代理接收第二网络命名空间发送的TCP连接请求之前,还包括:
所述TCP代理确定所述第一网络命名空间的端口状态为监听状态;
所述TCP代理将所述第二网络命名空间的端口状态设置为监听状态。
3.如权利要求1所述的方法,其特征在于,所述TCP代理将所述TCP连接请求发送给第一TCP服务器之前,还包括:
所述TCP代理建立与所述第一TCP服务器之间的第一链接;
所述TCP代理将所述TCP连接请求发送给第一TCP服务器,包括:
所述TCP代理通过所述第一链接将所述TCP连接请求发送给所述第一TCP服务器;
所述TCP代理接收所述第一TCP服务器发送的反馈消息,包括:
所述TCP代理通过所述第一链接接收所述第一TCP服务器发送的所述反馈消息。
4.如权利要求3所述的方法,其特征在于,所述TCP服务器将所述反馈消息发送给所述第二网络命名空间之后,还包括:
所述TCP代理收到所述第一TCP服务器发送的连接断开消息后,断开所述第一链接;或,
所述TCP代理收到所述第二网络命名空间发送的连接断开消息后,断开所述第一链接。
5.如权利要求1至4任一项所述的方法,其特征在于,所述TCP服务器将所述反馈消息发送给所述第二网络命名空间之后,还包括:
所述TCP代理接收所述第二网络命名空间发送的第一数据;所述第一数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述客户端发送给所述第二网络命名空间的数据;
所述TCP代理将所述第一数据发送给所述第一TCP服务器;
所述TCP代理接收所述第一TCP服务器发送的第二数据,所述第二数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述第二网络命名空间发送给所述客户端的数据;
所述TCP代理将所述第二数据发送给所述第二网络命名空间。
6.一种网络命名空间的TCP服务实现装置,其特征在于,包括:
接收模块,用于接收第二网络命名空间发送的TCP连接请求,所述TCP连接请求为客户端发送给所述第二网络命名空间的请求,所述客户端与服务器已建立TCP连接;
发送模块,用于将所述TCP连接请求发送给第一TCP服务器,所述第一TCP服务器与第一网络命名空间直接连接;
所述接收模块,还用于接收所述第一TCP服务器发送的反馈消息;
所述发送模块,还用于将所述反馈消息发送给所述第二网络命名空间,以使所述第二网络命名空间将所述反馈消息发送给所述客户端来建立所述第一TCP服务器与所述客户端之间的TCP连接。
7.如权利要求6所述的装置,其特征在于,还包括监听模块,用于:
确定所述第一网络命名空间的端口状态为监听状态;
将所述第二网络命名空间的端口状态设置为监听状态。
8.如权利要求6所述的装置,其特征在于,还包括构建模块,用于建立与所述第一TCP服务器之间的第一链接;
所述发送模块,具体用于通过所述第一链接将所述TCP连接请求发送给所述第一TCP服务器;
所述接收模块,具体用于通过所述第一链接接收所述第一TCP服务器发送的所述反馈消息。
9.如权利要求8所述的装置,其特征在于,还包括关闭模块,用于:
收到所述第一TCP服务器发送的连接断开消息后,断开所述第一链接;或,
收到所述第二网络命名空间发送的连接断开消息后,断开所述第一链接。
10.如权利要求6至9任一项所述的装置,其特征在于,
所述接收模块,还用于接收所述第二网络命名空间发送的第一数据;所述第一数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述客户端发送给所述第二网络命名空间的数据;
所述发送模块,还用于将所述第一数据发送给所述第一TCP服务器;
所述接收模块,还用于接收所述第一TCP服务器发送的第二数据,所述第二数据为所述第二网络命名空间与所述客户端之间的TCP连接建立后,所述第二网络命名空间发送给所述客户端的数据;
所述发送模块,还用于将所述第二数据发送给所述第二网络命名空间。
CN201611220854.6A 2016-12-26 2016-12-26 一种网络命名空间的tcp服务实现方法及装置 Active CN106657076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611220854.6A CN106657076B (zh) 2016-12-26 2016-12-26 一种网络命名空间的tcp服务实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611220854.6A CN106657076B (zh) 2016-12-26 2016-12-26 一种网络命名空间的tcp服务实现方法及装置

Publications (2)

Publication Number Publication Date
CN106657076A CN106657076A (zh) 2017-05-10
CN106657076B true CN106657076B (zh) 2020-04-07

Family

ID=58826873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611220854.6A Active CN106657076B (zh) 2016-12-26 2016-12-26 一种网络命名空间的tcp服务实现方法及装置

Country Status (1)

Country Link
CN (1) CN106657076B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924138B (zh) * 2018-07-05 2020-10-23 成都安恒信息技术有限公司 一种实现tcp代理完全透明的方法
CN111600827B (zh) * 2019-02-20 2022-04-15 成都鼎桥通信技术有限公司 通信方法及装置
CN110324435B (zh) * 2019-06-19 2021-05-04 厦门网宿有限公司 一种网络请求处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025746A (zh) * 2010-12-21 2011-04-20 北京星网锐捷网络技术有限公司 一种tcp连接的建立方法、装置及网络设备
CN102833580A (zh) * 2012-09-19 2012-12-19 南京斯坦德通信股份有限公司 基于infiniband的高清视频应用系统及方法
CN103023987A (zh) * 2012-11-27 2013-04-03 蓝盾信息安全技术股份有限公司 一种基于tcp连接的多路复用的方法
CN103605630A (zh) * 2013-11-28 2014-02-26 中标软件有限公司 一种虚拟服务器系统及其数据读写方法
CN103731398A (zh) * 2012-10-11 2014-04-16 北京百度网讯科技有限公司 基于cdn网络的数据访问方法、系统及装置
CN104980419A (zh) * 2014-09-11 2015-10-14 腾讯科技(深圳)有限公司 一种代理通信方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025746A (zh) * 2010-12-21 2011-04-20 北京星网锐捷网络技术有限公司 一种tcp连接的建立方法、装置及网络设备
CN102833580A (zh) * 2012-09-19 2012-12-19 南京斯坦德通信股份有限公司 基于infiniband的高清视频应用系统及方法
CN103731398A (zh) * 2012-10-11 2014-04-16 北京百度网讯科技有限公司 基于cdn网络的数据访问方法、系统及装置
CN103023987A (zh) * 2012-11-27 2013-04-03 蓝盾信息安全技术股份有限公司 一种基于tcp连接的多路复用的方法
CN103605630A (zh) * 2013-11-28 2014-02-26 中标软件有限公司 一种虚拟服务器系统及其数据读写方法
CN104980419A (zh) * 2014-09-11 2015-10-14 腾讯科技(深圳)有限公司 一种代理通信方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Linux的分布式交换机设备虚拟化技术研究;刘威;《中国优秀硕士学位论文全文数据库信息科技辑》;20120715(第07期);第2-20页 *

Also Published As

Publication number Publication date
CN106657076A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
JP6611921B2 (ja) 端末の相互接続方法、装置、不揮発性コンピュータ記憶媒体及びコンピュータプログラム
EP3276917B1 (en) Terminal remote assistance method, device and system
US20170163479A1 (en) Method, Device and System of Renewing Terminal Configuration In a Memcached System
US20170163478A1 (en) Method,electronic device and system for updating client configuration in key-value pair database
WO2014082562A1 (en) Method, device, and system for information processing based on distributed buses
CN106657076B (zh) 一种网络命名空间的tcp服务实现方法及装置
CN110971703B (zh) 基于连接池的服务请求方法、装置、服务器和存储介质
CN103516673A (zh) 一种网络数据通信方法、系统及客户端和服务器
CN112769794B (zh) 一种数据转换方法及装置
CN104462033A (zh) 在设备间实现编辑操作的方法及设备
CN104797004A (zh) 主从设备间实现自动组网的方法
WO2014015743A1 (zh) 下载应用程序的方法、用户设备和应用服务器
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN106331051B (zh) 文件传输方法和系统以及接收文件装置、发送文件装置
CN111416851A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
CN107277107B (zh) 应用调试方法、装置及系统
CN115883572A (zh) 外设共享方法及装置
CN106488537B (zh) 一种发送方法、装置及移动终端
CN112383904B (zh) 无配对快速外设调用方法及装置
WO2017063437A1 (zh) 可穿戴设备及其进行数据收发的方法
CN114363204A (zh) 请求监控方法、网络设备及存储介质
CN112565458A (zh) 平台远程控制方法和装置、存储介质及电子设备
CN110069351B (zh) 触控设备的双系统通信方法、装置以及触控设备
CN111416852A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
CN111427703A (zh) 工业数据实时展示方法及系统

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
CP01 Change in the name or title of a patent holder

Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee after: NSFOCUS Technologies Group Co.,Ltd.

Patentee after: NSFOCUS TECHNOLOGIES Inc.

Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building

Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: NSFOCUS TECHNOLOGIES Inc.

CP01 Change in the name or title of a patent holder