CN107395781A - 网络通信方法及装置 - Google Patents

网络通信方法及装置 Download PDF

Info

Publication number
CN107395781A
CN107395781A CN201710515738.5A CN201710515738A CN107395781A CN 107395781 A CN107395781 A CN 107395781A CN 201710515738 A CN201710515738 A CN 201710515738A CN 107395781 A CN107395781 A CN 107395781A
Authority
CN
China
Prior art keywords
host
network
request
destination address
network request
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.)
Pending
Application number
CN201710515738.5A
Other languages
English (en)
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.)
Beijing Xiaodu Information Technology Co Ltd
Original Assignee
Beijing Xiaodu Information Technology 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 Beijing Xiaodu Information Technology Co Ltd filed Critical Beijing Xiaodu Information Technology Co Ltd
Priority to CN201710515738.5A priority Critical patent/CN107395781A/zh
Publication of CN107395781A publication Critical patent/CN107395781A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种网络通信方法及装置,涉及计算机技术领域。其中,所述方法包括:接收到达宿主机的网络请求;判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。本发明实施例提供的技术方案实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信。

Description

网络通信方法及装置
技术领域
本发明实施例涉及计算机应用技术领域,尤其涉及一种网络通信方法及装置。
背景技术
docker是一个开源的应用容器引擎,可以通过在宿主机中创建docker容器,以在宿主机中实现容器化或虚拟化。
现有技术中,在宿主机中创建docker容器之后,可以在宿主机中创建docker虚拟网卡(简称:docker0)。docker容器与docker0通过虚拟网络栈对实现网络互通,虚拟网络栈对的一端连接docker0,另一端连接docker容器,因此连接至同一docker0上的全部docker容器即可以实现相互通信。
但是每一个宿主机中为docker容器分配的虚拟地址为私有网络地址,无法实现跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信。
发明内容
本发明实施例提供一种网络通信方法及装置,用以解决现有技术中无法实现跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信的技术问题。
第一方面,本发明实施例中提供了一种网络通信方法,包括:
接收到达宿主机的网络请求;
判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;
如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
可选地,所述判断所述网络请求是否来自flannel覆盖网络包括:
判断接收所述网络请求的宿主机端口是否为第一预定端口。
可选地,所述基于目的地址映射关系,转换所述网络请求中的目的地址为其对应容器地址包括:
根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
可选地,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
所述目的地址映射关系按照如下方式预先确定:
获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
第二方面,本发明实施例提供了一种网络通信装置,包括:
接收模块,用于接收到达宿主机的网络请求;
判断模块,用于判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
地址映射模块,用于如果所述判断模块的判断结果为否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;
第一处理模块,用于发送转换之后的所述网络请求至docker虚拟网卡;
解封装模块,用于如果所述判断模块的判断结果为是,解封装所述网络请求获得源请求;
第二处理模块,用于发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
可选地,所述判断模块具体用于判断接收所述网络请求的宿主机端口是否为第一预定端口。
可选地,所述地址映射模块包括:
关系查找单元,用于根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
地址映射单元,用于基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
可选地,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
可选地,还包括:
获取模块,用于获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
关系建立模块,用于基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
本发明实施例中,对于到达宿主机的网络请求,如果其来自于flannel覆盖网络,则对其解封装获得源请求,发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡,docker虚拟网卡即可以基于源请求中的目的地址,转发至对应docker容器,如果网络请求来自于非flannel覆盖网络,则基于目的地址映射关系,将网络请求中的目的地址转换为容器地址,从而可以将网络请求直接路由至docker虚拟网卡,docker虚拟网卡即可以基于该容器地址,转发至对应docker容器。通过本发明实施例,实现了跨宿主机的docker容器之间的网络通信以及外网设备与docker容器的网络通信。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明提供的一种网络通信方法一个实施例流程示意图;
图2示出了本发明提供的一种网络通信方法又一个实施例的流程示意图;
图3示出了本发明提供的一种网络通信装置一个实施例结构示意图;
图4示出了本发明提供的一种网络通信装置又一个实施例的结构示意图;
图5示出了本发明提供的一种计算机设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本发明实施例的技术方案实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信。其中,网络通信可以是指通过网络请求,以实现诸如数据访问等通信操作。
现有技术中,docker服务启动时,即可以在宿主机中创建一个docker虚拟网卡(简称:docker0),宿主机中创建的docker容器与docker0通过虚拟网络栈对(Veth设备对)桥接,虚拟网络栈对一端连接docker0,另一端连接docker容器。这样,宿主机中所有docker容器通过docker0连接在一个二层网络中,之后,可以从私有IP网段中,选择与宿主机不同的子网网段分配给docker0,docker0以及连接在docker0中的docker容器即从该子网网段中选择一个未使用的IP地址作为容器地址使用,从而连接在docker0上的docker容器之间即可以相互通信。其网络通信过程为:如果同一宿主机中的一个docker容器向另一个docker容器发起网络请求,该网络请求会首先到达docker0,由docker0再将网络请求转发至该另一个docker容器。
由于docker容器分配的虚拟地址为私有网络地址,其与宿主机的IP地址不在同一网段,因此就无法实现跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信。
为了解决现有技术中无法实现跨宿主机的docker容器网络通信以及外网设备与docker容器的网络通信的技术问题,发明人经过一系列研究提出本发明技术方案,在本发明实施例中,宿主机中安装flannel(一个覆盖网络工具),从而使得其创建的docker容器配置于flannel覆盖网络(Overlay Network)中,并配置目的地址映射关系,以修改宿主机的路由规则。因此对于到达宿主机的网络请求,如果其来自于flannel覆盖网络,则对其解封装获得源请求,发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡,docker虚拟网卡即可以基于源请求中的目的地址,转发至对应docker容器,如果网络请求来自于非flannel覆盖网络,则基于目的地址映射关系,将网络请求中的目的地址转换为容器地址,从而可以将网络请求直接路由至docker虚拟网卡,docker虚拟网卡即可以基于该容器地址,转发至对应docker容器。通过本发明实施例,实现了跨宿主机的docker容器之间的网络通信以及外网设备与docker容器的网络通信。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种网络通信方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:接收到达宿主机的网络请求。
该网络请求由发送端发送,根据网络请求中的目的地址具体到达宿主机的物理网卡。所述宿主机即作为接收端接收网络请求。
宿主机中创建有docker容器以及docker虚拟网卡(docker0)。该网络请求即用于请求进行网络通信等。
102:判断所述网络请求是否来自于flannel覆盖网络,如果否执行步骤103,如果是执行步骤105。
在实际应用中,可能存在多个宿主机,每一个宿主机中均创建有docker容器,不同宿主机之间的docker容器也存在通信需求。
因此,本发明实施例中,为了实现跨宿主机的docker容器的通信,通过flannel可以将不同宿主机配置在同一个flannel覆盖网络中,形成集群***。
宿主机中通过安装flannel,可以在宿主机中创建flannel虚拟网卡(简称:flannel0)以及flannel守护进程。
每一个宿主机中可以对应安装Etcd,Etcd为一个开源的分布式key/value(键/值)存储***,通过Etcd可以规划不同宿主机的子网网段,让集群中的不同宿主机创建的docker容器都具有全集群唯一的容器地址,并且连通宿主机的网络,使得属于不同宿主机的docker容器能够获得同属一个内网且不重复的容器地址。
flannel守护进程具体可以是通过Etcd修改宿主机中docker服务的启动参数,来限制该宿主机中docker容器获得的子网网段,并通过Etcd维护的各个宿主机中的分配记录保证该子网网段的唯一性。
通过设置flannel覆盖网络,可以将不同宿主机配置在同一个flannel覆盖网络中,可以实现跨宿主机的docker容器的互相通信。
103:基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址。
104:发送转换之后的所述网络请求至docker虚拟网卡。
如果网络请求来自于非flannel覆盖网络,发送网络请求的发送端即为外网设备。外网设备与docker容器不处于同一网段,无法直接访问docker容器,因此可以通过目的地址映射关系进行地址映射,将目的地址转换为容器地址。
可选地,该目的地址映射关系可以通过iptables设定,iptables是一个内核组件, 组成包过滤防火墙,通过iptables可以完成封包过滤、封包重定向和网络地址转换等功能。
目的地址映射关系即可以为一个iptables规则,其定义了不同目的地址对应映射 的容器地址以及不同目的端口对应映射的容器端口。
网络请求的报文中包括目的地址、目的端口、源地址以及源端口等信息,如果网络请求来自于非flannel覆盖网络,其目的地址具体为宿主机的物理网卡地址,网络请求将到达不了docker容器。
因此,可以基于目的地址映射关系将网络请求中的目的地址转换为其对应的容器地址,目的端口转换为其对应的容器端口。
网络请求转换之后,目的地址转换为容器地址,即可以直接将网络请求转发至docker虚拟网卡,docker虚拟网卡根据该容器地址即可以将网络请求转发至对应的docker容器。
其中,容器端口主要用于目的地址映射关系的建立。docker虚拟网卡基于容器地址即可以转发网络请求。
105:解封装所述网络请求获得源请求。
106:发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
如果网络请求来自于flannel覆盖网络,发送网络请求的发送端为同一flannel覆盖网络中的其它宿主机,由发送端中的docker容器发起。
同一flannel覆盖网络中的跨宿主机的docker容器可以互相通信,发送端将源请求封包转发,接收端再解封装获得源请求实现。
因此如果网络请求来自于flannel覆盖网络,该网络请求会直接到达宿主机的flannel守护进程,具体由flannel守护进程解封装网络请求获得源请求,并将源请求发送至flannel虚拟网卡,由flannel虚拟网卡转发至docker虚拟网卡,docker虚拟网卡即可以根据源请求中的目的地址,将源请求转发至对应的docker容器。
其中,该源请求具体是由发送端中的docker容器发起,源请求中的目的地址为所述宿主机中的docker容器的容器地址,其首先到达宿主机中的docker虚拟网卡,经由docker虚拟网卡到达flannel虚拟网卡,flannel守护进程即可以根据源请求的目的地址对应的宿主机的物理网卡地址以及端口,重新封装所述源请求获得网络请求之后再发送。
通过本发明实施例,实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信,且通过docker虚拟网络,可以按照现有技术实现同一宿主机的docker容器之间的网络通信。
本发明实施例中,目的地址映射关系可以动态创建,且可以创建多个目的地址映射关系。
因此可选地,所述基于目的地址映射关系,转换所述网络请求中的目的地址为其对应容器地址可以包括:
根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
其中,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。不同目的地址映射关系中的宿主机端口不同,不同目的地址映射关系可以通过宿主机端口进行区分。另外,不同目的地址映射关系中的物理网卡地址对应的容器地址可能不同,宿主机端口对应的容器地址可能不同。
因此,通过不同目的地址映射关系中,可以确定宿主机的物理网卡地址对应映射的容器地址以及不同宿主机端口对应映射的容器端口。
如果网络请求来自于非flannel覆盖网络,该网络请求中的目的地址即具体为宿主机中的物理网卡地址,目的端口为宿主机中的任一个宿主机端口。
其中,在某些实施例中,所述目的地址映射关系可以按照如下方式预先确定:
获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建目的地址映射关系。
其中,该创建请求可以由中控平台响应于用户创建操作而生成,中控平台可以提供一显示界面,供用户操作提供宿主机端口及对应的容器端口。
为了保证宿主机的正常运行,所述创建请求中包括的宿主机端口具体为宿主机未使用的端口。
因此,中控平台可以显示端口选择提示信息,该端口选择提示信息用于提示用户宿主机的未使用端口,以供用户从中选择任一个宿主机端口,以进行端口映射。
其中,宿主机的目的地址映射关系可以具体通过一个iptables命令建立,该 iptables命令可以如下所示:
iptables-t nat-A DOCKER!-i dokcer0-p tcp--dport$nodePort-j DNAT--to- destination$containerIp:$containerPort';
以网络请求为tcp请求为例,该命令即是指如果网络请求不是来自于docker虚拟网卡,而是tcp请求,即进行目的地址的转换,将目的地址转换为容器地址,目的端口转换为容器端口。
此外,在宿主机中窗口目的地址映射关系之后,还可以对宿主机中的目的地址映射关系进行更新。
因此,在某些实施例中,所述基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建目的地址映射关系之后,所述方法还可以包括:
接收所述中控平台发送的更新请求;
更新所述更新请求对应的目的地址映射关系。
该更新请求可以为删除请求或者修改请求等。
其中,更新请求中可以携带请求更新的宿主机端口,以便于宿主机查找该请求更新的宿主机端口对应的目的地址映射关系,将其删除或者根据更新请求中携带的请求更新的容器端口对其进行更新。
其中,判断所述网络请求是否来自于flannel覆盖网络可以有多种可能的实现方式:
作为一种可能的实现方式,可以判断接收所述网络请求的宿主机端口是否为第一预定端口。
也即,本发明实施例中,可以预先设定可以接收来自flannel覆盖网络的网络请求的宿主机端口,同一flannel覆盖网络下的跨宿主机的docker容器进行网络通信,通过重新封装获得的网络请求的中的目的端口即为接收端的宿主机的第一预定端口。
因此,可以通过判断接收网络请求中的宿主机端口是否为第一预定端口来确定网络请求是否来自于flannel覆盖网络。
当然,也可以根据接收所述网络请求的宿主机端口是否为第二预定端口的判断结果确定,该第二预定端口根据目的地址映射关系中所规定的宿主机端口,因此如果网络请求的目的端口为该第二预定端口,其即为外网设备发送的。
图2为本发明实施例提供的一种网络通信方法又一个实施例的流程图,该方法可以包括以下几个步骤:
201:接收到达宿主机的网络请求。
202:判断接收所述网络请求的宿主机端口是否为第一预定端口,如果否,执行步骤203,如果是,执行步骤207。
203:根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
204:基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
205:查找路由规则,确定所述容器地址是否与所述docker虚拟网卡匹配,如果是,执行步骤206,如果否则结束流程。
所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段。
宿主机可以通过etcd维护路由表,该路由表定义了不同路由规则
为了方便理解,如下表1所示,举例说明了路由表的可能实现形式:
表1:
由上表可知,该路由表中包括子网网段(Destination)、网关(Gateway)、掩码(Genmask)以及网卡(Iface)之间的对应关系。每一个对应关系即为一条路由规则。
路由表定义的路由规则中包括docker虚拟网卡(docker0)匹配的子网网段以及flannel虚拟网卡(flannel0)匹配的子网网段。
因此,通过查找路由规则,由于网络请求中的目的地址已转换为容器地址,例如为172.17.18.2,可知该容器地址与172.17.18.0匹配,因此,网络请求直接路由至docker虚拟网卡。
其中,如果所述容器地址与所述docker虚拟网卡不匹配,则可以丢弃该网络请求。
206:发送转换之后的所述网络请求至所述docker虚拟网卡。
207:解封装所述网络请求获得源请求。
208:发送所述源请求至flannel虚拟网卡。
209:查找路由规则,确定所述源请求的目的地址是否与所述docker虚拟网卡匹配,如果是,执行步骤210,如果否,则结束流程。
210:发送所述网络请求至所述docker虚拟网卡。
其中,所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段。
仍以上表1为例,假设源请求中为从容器地址172.17.46.2的docker容器请求发送至容器地址为172.17.18.2的docker容器。上表1为接收端的宿主机
解封获得的源请求到达flannel虚拟网卡之后,根据容器地址172.17.18.2可知其匹配172.17.18.0,因此,网络请求从flannel虚拟网络直接路由至docker虚拟网卡。
其中,如果源请求的目的地址与所述docker虚拟网卡不匹配,则可以丢弃该源请求。
通过本发明实施例,有效实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信,网络部署简单,通用性强,风险低。外网设备可以任意公网中的浏览器、手机任意设备,无需外网设备进行复杂配置,即可以实现对docker容器的访问。
由上文描述可知,基于目的地址映射关系,可以实现外网设备与docker容器的网络通信。
此外,为了实现docker容器与外网设备的网络通信,可以通过iptables建立源地 址映射关系。
因此,在某些实施例中,该方法还可以包括:
确定从docker容器发送至docker虚拟网卡的网络请求;此时宿主机即为发送端;
根据所述网络请求中的目的地址,确定接收端是否为外网设备;
如果是,转发所述网络请求至物理网卡;
基于源地址映射关系,将所述网络请求中的源地址转换为所述物理网卡的物理网卡地址;
发送转换之后的所述网络请求。
如果否,根据所述网络请求中的目的地址,判断接收端是否为跨宿主机的docker容器;
如果是,转发所述网络请求至flannel虚拟网卡;
查找对应所述目的地址的接收端的物理网卡地址以及端口;
基于所述接收端的物理网卡地址以及端口,重新封装所述网络请求并发送至接收端;
如果否,即表明接收端为同一宿主机中的docker容器,即可以直接转发所述网络请求至对应的docker容器;
其中,根据网络请求中的目的地址以及etcd维护的不同宿主机的子网网段,即可以判断接收端是否为外网设备或者为跨宿主机的docker容器。
如果接收端为跨宿主机的docker容器,可以通过查找路由规则,确定与源地址地址匹配的flannel虚拟网卡,例如仍以表1为例,假设源地址为172.17.18.2,其余路由规则中的172.17.0.0匹配,因此网络请求经由docker虚拟网卡会被转发至flannel虚拟网卡。
图3为本发明实施例提供的一种网络通信装置一个实施例的结构示意图,该装置可以包括:
接收模块301,用于接收到达宿主机的网络请求;
判断模块302,用于判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中。
可选地,该判断模块可以具体用于判断接收所述网络请求的宿主机端口是否为第一预定端口。
地址映射模块303,用于如果所述判断模块的判断结果为否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址。
可选地,该目的地址映射关系可以通过iptables设定。目的地址映射关系即可以 为一个iptables规则,其定义了不同目的地址对应映射的容器地址以及不同目的端口对应 映射的容器端口。
网络请求的报文中包括目的地址、目的端口、源地址以及源端口等信息,如果网络请求来自于非flannel覆盖网络,其目的地址具体为宿主机的物理网卡地址,网络请求将到达不了docker容器。
因此,可以基于目的地址映射关系将网络请求中的目的地址转换为其对应的容器地址,目的端口转换为其对应的容器端口。
网络请求转换之后,目的地址转换为容器地址,即可以直接将网络请求转发至docker虚拟网卡,docker虚拟网卡根据该容器地址即可以将网络请求转发至对应的docker容器。
第一处理模块304,用于发送转换之后的所述网络请求至docker虚拟网卡;
解封装模块305,用于如果所述判断模块的判断结果为是,解封装所述网络请求获得源请求。
其中,该源请求具体是由发送端中的docker容器发起,源请求中的目的地址为所述宿主机中的docker容器的容器地址,其首先到达宿主机中的docker虚拟网卡,经由docker虚拟网卡到达flannel虚拟网卡,flannel守护进程即可以根据源请求的目的地址对应的宿主机的物理网卡地址以及端口,重新封装所述源请求获得网络请求之后再发送。
因此,可以通过解封装所述网络请求获得该源请求。
第二处理模块306,用于发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
通过本发明实施例,实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信,且通过docker虚拟网络,可以按照现有技术实现同一宿主机的docker容器之间的网络通信。
本发明实施例中,目的地址映射关系可以动态创建,且可以创建多个目的地址映射关系。因此,可选地,在某些实施例中,所述地址映射模块可以包括:
关系查找单元,用于根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
地址映射单元,用于基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
其中,目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
因此,通过不同目的地址映射关系中,可以确定宿主机的物理网卡地址对应映射的容器地址以及不同宿主机端口对应映射的容器端口。
如果网络请求来自于非flannel覆盖网络,该网络请求中的目的地址即具体为宿主机中的物理网卡地址,目的端口为宿主机中的任一个宿主机端口。
其中,作为又一个实施例,如图4中所述,该装置还可以包括:
获取模块401,用于获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
关系建立模块402,用于基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建目的地址映射关系。
其中,该创建请求可以由中控平台响应于用户创建操作而生成,中控平台可以提供一显示界面,供用户操作提供宿主机端口及对应的容器端口。
此外,在某些实施例中,在宿主机中窗口目的地址映射关系之后,还可以对宿主机中的目的地址映射关系进行更新。因此该装置还可以包括:
更新模块,用于接收所述中控平台发送的更新请求;更新所述更新请求对应的目的地址映射关系。
其中,更新请求中可以携带请求更新的宿主机端口,以便于宿主机查找该请求更新的宿主机端口对应的目的地址映射关系,将其删除或者根据更新请求中携带的请求更新的容器端口对其进行更新。
在某些实施例中,所述第一处理模块具体用于查找路由规则,确定所述容器地址是否与所述docker虚拟网卡匹配;如果所述容器地址与所述docker虚拟网络匹配,发送转换之后的所述网络请求至所述docker虚拟网卡。
其中,所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段;
在某些实施例中,所述第二处理模块可以具体用于发送所述源请求至flannel虚拟网卡;查找所述路由规则,确定所述源请求的目的地址是否与所述docker虚拟网卡匹配;如果所述源请求的目的地址与所述docker虚拟网卡匹配,发送所述网络请求至所述docker虚拟网卡。
通过本发明实施例,有效实现了跨宿主机的docker容器的网络通信以及外网设备与docker容器的网络通信,网络部署简单,通用性强,风险低。外网设备可以任意公网中的浏览器、手机任意设备,无需外网设备进行复杂配置,即可以实现对docker容器的访问。
在一个可能的设计中,图3或图4所示的网络通信装置可以实现了为一计算机设 备,该如图5中所述,该计算机设备可以包括一个或多个处理器501以及一个或多个存储器 502;该计算机设备中创建有docker容器,并安装flannel以及etcd,此外还可以集成 iptables,以实现地址映射关系的建立。
所述一个或多个存储器502中存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述一个或多个处理器调用执行。
所述一个或多个处理器501具体用于:
接收网络请求;
判断所述网络请求是否来自于flannel覆盖网络;其中,所述计算机设备配置于所述flannel覆盖网络中;
如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;
如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
其中,所述一个或多个处理器还用于执行上述任一实施例所述的信息获取方法。
该一个或多个存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;
所述计算机程序使计算机设备执行时实现上述任一实施例所述的网络通信方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本发明公开了A1、一种网络通信方法,包括:
接收到达宿主机的网络请求;
判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;
如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
A2、根据A1所述的方法,所述判断所述网络请求是否来自flannel覆盖网络包括:
判断接收所述网络请求的宿主机端口是否为第一预定端口。
A3、根据A1所述的方法,所述基于目的地址映射关系,转换所述网络请求中的目的地址为其对应容器地址包括:
根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
A4、根据A3所述的方法,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
A5、根据A4所述的方法,所述目的地址映射关系按照如下方式预先确定:
获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
A6、根据A5所述的方法,所述目的地址映射关系创建步骤之后,还包括:
接收所述中控平台发送的更新请求;
更新所述更新请求对应的目的地址映射关系。
A7、根据A1所述的方法,所述发送转换之后的所述网络请求至docker虚拟网卡包括:
查找路由规则,确定所述容器地址是否与所述docker虚拟网卡匹配;所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段;
如果所述容器地址与所述docker虚拟网络匹配,发送转换之后的所述网络请求至所述docker虚拟网卡。
A8、根据A1所述的方法,所述发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡发送至docker虚拟网卡包括:
发送所述源请求至flannel虚拟网卡;
查找路由规则,确定所述源请求的目的地址是否与所述docker虚拟网卡匹配;所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段;
如果所述源请求的目的地址与所述docker虚拟网卡匹配,发送所述网络请求至所述docker虚拟网卡。
B9、一种网络通信装置,包括:
接收模块,用于接收到达宿主机的网络请求;
判断模块,用于判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
地址映射模块,用于如果所述判断模块的判断结果为否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;
第一处理模块,用于发送转换之后的所述网络请求至docker虚拟网卡;
解封装模块,用于如果所述判断模块的判断结果为是,解封装所述网络请求获得源请求;
第二处理模块,用于发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
B10、根据B9所述的装置,所述判断模块具体用于判断接收所述网络请求的宿主机端口是否为第一预定端口。
B11、根据B9所述的装置,所述地址映射模块包括:
关系查找单元,用于根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
地址映射单元,用于基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
B12、根据B11所述的装置,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
B13、根据B12所述的装置,还包括:
获取模块,用于获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
关系建立模块,用于基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
B14、根据B13所述的装置,还包括:
更新模块,用于接收所述中控平台发送的更新请求;更新所述更新请求对应的目的地址映射关系。
B15、根据B9所述的装置,所述第一处理模块具体用于查找路由规则,确定所述容器地址是否与所述docker虚拟网卡匹配;所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段;如果所述容器地址与所述docker虚拟网络匹配,发送转换之后的所述网络请求至所述docker虚拟网卡。
B16、根据B9所述的装置,所述第二处理模块具体用于发送所述源请求至flannel虚拟网卡;查找路由规则,确定所述源请求的目的地址是否与所述docker虚拟网卡匹配;所述路由规则中包括docker虚拟网卡匹配的子网网段以及flannel虚拟网卡匹配的子网网段;如果所述源请求的目的地址与所述docker虚拟网卡匹配,发送所述网络请求至所述docker虚拟网卡。
C17、一种计算机设备,包括一个或多个存储器以及一个或多个处理器;
所述一个或多个存储器中存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述一个或多个处理器调用执行;
所述一个或多个处理器用于:
接收到达宿主机的网络请求;
判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;
如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
D18、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;
所述计算机程序使计算机执行时实现如权利要求1~8任一项所述的信息处理方法。

Claims (10)

1.一种网络通信方法,其特征在于,包括:
接收到达宿主机的网络请求;
判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
如果否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;发送转换之后的所述网络请求至docker虚拟网卡;
如果是,解封装所述网络请求获得源请求;发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
2.根据权利要求1所述的方法,其特征在于,所述判断所述网络请求是否来自flannel覆盖网络包括:
判断接收所述网络请求的宿主机端口是否为第一预定端口。
3.根据权利要求1所述的方法,其特征在于,所述基于目的地址映射关系,转换所述网络请求中的目的地址为其对应容器地址包括:
根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
4.根据权利要求3所述的方法,其特征在于,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
5.根据权利要求4所述的方法,其特征在于,所述目的地址映射关系按照如下方式预先确定:
获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
6.一种网络通信装置,其特征在于,包括:
接收模块,用于接收到达宿主机的网络请求;
判断模块,用于判断所述网络请求是否来自于flannel覆盖网络;其中,所述宿主机配置于所述flannel覆盖网络中;
地址映射模块,用于如果所述判断模块的判断结果为否,基于目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址;
第一处理模块,用于发送转换之后的所述网络请求至docker虚拟网卡;
解封装模块,用于如果所述判断模块的判断结果为是,解封装所述网络请求获得源请求;
第二处理模块,用于发送所述源请求至flannel虚拟网卡,经由所述flannel虚拟网卡转发至所述docker虚拟网卡。
7.根据权利要求6所述的装置,其特征在于,所述判断模块具体用于判断接收所述网络请求的宿主机端口是否为第一预定端口。
8.根据权利要求6所述的装置,其特征在于,所述地址映射模块包括:
关系查找单元,用于根据所述网络请求中的目的端口,查找对应的目的地址映射关系;
地址映射单元,用于基于所述目的地址映射关系,转换所述网络请求中的目的地址为其对应的容器地址以及所述目的端口为其对应的容器端口。
9.根据权利要求8所述的装置,其特征在于,所述目的地址映射关系规定了所述宿主机的物理网卡地址对应映射的容器地址以及所述宿主机的宿主机端口对应映射的容器端口。
10.根据权利要求9所述的装置,其特征在于,还包括:
获取模块,用于获取中控平台发送的创建请求,所述创建请求中包括所述宿主机的宿主机端口及对应的容器端口;
关系建立模块,用于基于所述宿主机端口、所述宿主机的物理网卡地址、所述容器端口以及所述容器端口对应的容器地址,创建所述目的地址映射关系。
CN201710515738.5A 2017-06-29 2017-06-29 网络通信方法及装置 Pending CN107395781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710515738.5A CN107395781A (zh) 2017-06-29 2017-06-29 网络通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710515738.5A CN107395781A (zh) 2017-06-29 2017-06-29 网络通信方法及装置

Publications (1)

Publication Number Publication Date
CN107395781A true CN107395781A (zh) 2017-11-24

Family

ID=60334399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710515738.5A Pending CN107395781A (zh) 2017-06-29 2017-06-29 网络通信方法及装置

Country Status (1)

Country Link
CN (1) CN107395781A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412864A (zh) * 2018-11-26 2019-03-01 江苏华邦网络科技有限公司 一种非docker网络环境外部访问docker容器环境的方法
CN109462511A (zh) * 2018-12-11 2019-03-12 中科曙光国际信息产业有限公司 网络的建立方法及装置
CN109862127A (zh) * 2017-11-30 2019-06-07 华为技术有限公司 一种报文传输的方法及相关装置
CN110138606A (zh) * 2019-05-06 2019-08-16 携程旅游信息技术(上海)有限公司 容器网络配置方法及***
CN110881007A (zh) * 2018-09-05 2020-03-13 北京京东尚科信息技术有限公司 一种容器集群网络接入的方法和装置
CN111262784A (zh) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN111756855A (zh) * 2020-06-30 2020-10-09 北京来也网络科技有限公司 一种远程控制***、方法、介质及计算设备
CN111800340A (zh) * 2020-06-05 2020-10-20 北京京东尚科信息技术有限公司 数据包转发方法和装置
CN111885075A (zh) * 2020-07-30 2020-11-03 广州华多网络科技有限公司 容器通信方法、装置、网络设备及存储介质
CN112003750A (zh) * 2020-08-24 2020-11-27 浪潮云信息技术股份公司 一种数据中心主机Overlay网络访问控制方法
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和***
CN113765816A (zh) * 2021-08-02 2021-12-07 阿里巴巴新加坡控股有限公司 一种基于服务网格的流量控制方法、***、设备及介质
CN114039949A (zh) * 2021-12-24 2022-02-11 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及***
CN115208888A (zh) * 2022-09-13 2022-10-18 杭州优云科技有限公司 云实例跨可用区的通信方法及装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105847108A (zh) * 2016-05-24 2016-08-10 中国联合网络通信集团有限公司 容器间的通信方法及装置
CN106067858A (zh) * 2016-05-24 2016-11-02 中国联合网络通信集团有限公司 容器间的通信方法、装置及***
US20160366233A1 (en) * 2015-06-10 2016-12-15 Platform9, Inc. Private Cloud as a service
CN106790660A (zh) * 2017-01-18 2017-05-31 咪咕视讯科技有限公司 一种实现分布式存储***的部署方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160366233A1 (en) * 2015-06-10 2016-12-15 Platform9, Inc. Private Cloud as a service
CN105847108A (zh) * 2016-05-24 2016-08-10 中国联合网络通信集团有限公司 容器间的通信方法及装置
CN106067858A (zh) * 2016-05-24 2016-11-02 中国联合网络通信集团有限公司 容器间的通信方法、装置及***
CN106790660A (zh) * 2017-01-18 2017-05-31 咪咕视讯科技有限公司 一种实现分布式存储***的部署方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109862127A (zh) * 2017-11-30 2019-06-07 华为技术有限公司 一种报文传输的方法及相关装置
CN109862127B (zh) * 2017-11-30 2021-05-11 华为技术有限公司 一种报文传输的方法及相关装置
CN110881007A (zh) * 2018-09-05 2020-03-13 北京京东尚科信息技术有限公司 一种容器集群网络接入的方法和装置
CN110881007B (zh) * 2018-09-05 2023-03-07 北京京东尚科信息技术有限公司 一种容器集群网络接入的方法和装置
CN109412864A (zh) * 2018-11-26 2019-03-01 江苏华邦网络科技有限公司 一种非docker网络环境外部访问docker容器环境的方法
CN109412864B (zh) * 2018-11-26 2021-08-10 江苏华邦网络科技有限公司 一种非docker网络环境外部访问docker容器环境的方法
CN109462511B (zh) * 2018-12-11 2021-12-24 中科曙光国际信息产业有限公司 网络的建立方法及装置
CN109462511A (zh) * 2018-12-11 2019-03-12 中科曙光国际信息产业有限公司 网络的建立方法及装置
CN110138606A (zh) * 2019-05-06 2019-08-16 携程旅游信息技术(上海)有限公司 容器网络配置方法及***
CN111262784A (zh) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN111262784B (zh) * 2020-01-13 2022-05-17 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN111800340A (zh) * 2020-06-05 2020-10-20 北京京东尚科信息技术有限公司 数据包转发方法和装置
CN111800340B (zh) * 2020-06-05 2022-08-12 北京京东尚科信息技术有限公司 数据包转发方法和装置
CN111756855A (zh) * 2020-06-30 2020-10-09 北京来也网络科技有限公司 一种远程控制***、方法、介质及计算设备
CN111756855B (zh) * 2020-06-30 2023-06-20 北京来也网络科技有限公司 一种远程控制***、方法、介质及计算设备
CN111885075A (zh) * 2020-07-30 2020-11-03 广州华多网络科技有限公司 容器通信方法、装置、网络设备及存储介质
CN112003750A (zh) * 2020-08-24 2020-11-27 浪潮云信息技术股份公司 一种数据中心主机Overlay网络访问控制方法
CN112003750B (zh) * 2020-08-24 2023-11-21 浪潮云信息技术股份公司 一种数据中心主机Overlay网络访问控制方法
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和***
CN113765816A (zh) * 2021-08-02 2021-12-07 阿里巴巴新加坡控股有限公司 一种基于服务网格的流量控制方法、***、设备及介质
CN113765816B (zh) * 2021-08-02 2023-12-15 阿里巴巴新加坡控股有限公司 一种基于服务网格的流量控制方法、***、设备及介质
CN114039949A (zh) * 2021-12-24 2022-02-11 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及***
CN114039949B (zh) * 2021-12-24 2024-03-26 上海观安信息技术股份有限公司 云服务浮动ip绑定方法及***
CN115208888A (zh) * 2022-09-13 2022-10-18 杭州优云科技有限公司 云实例跨可用区的通信方法及装置和电子设备

Similar Documents

Publication Publication Date Title
CN107395781A (zh) 网络通信方法及装置
US11470001B2 (en) Multi-account gateway
CN111817961B (zh) Overlay网络中基于Open vSwitch内核态流表的分布式路由方法及装置
CN106844000A (zh) 一种多用户环境下利用浏览器访问Linux容器集群的方法和装置
CN107872392A (zh) 在网络中分配服务功能链数据和服务功能实例数据
CN106911778A (zh) 一种流量引导方法和***
CN108259642A (zh) 基于私有云的公共服务虚拟机访问方法和装置
EP0658837A2 (en) Method for controlling computer network security
CN106850324A (zh) 虚拟网络接口对象
CN107105061A (zh) 一种服务注册方法及装置
CN108111619A (zh) 一种数据分流方法及装置、计算机设备、存储介质
US20100257226A1 (en) Communication module and application program provided with same
CN103685281B (zh) 一种网络地址协议的切换方法和设备
CN107800603B (zh) 内网用户基于vpn访问前端设备的方法和存储介质
CN106063229A (zh) 用于转发数据的方法和***
CN106664515A (zh) 通过服务控制装置链路在终端之间发送内容的方法
WO2014169946A1 (en) Subscriber identification and provisioning in ip translation environments
US20090313357A1 (en) Method for establishing connection between user-network of other technology and domain name system proxy server for controlling the same
CN114301868B (zh) 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置
CN106921716A (zh) 调试嵌入式设备的网络通信过程的方法及装置
CN110266517A (zh) 基于网关的外部服务调用方法、装置及终端设备
EP3349402B1 (en) Message processing method and device
US11558246B2 (en) Implementing service function chains
CN108667776A (zh) 一种网络业务诊断方法
CN110392123A (zh) 检测出口ip地址的方法、装置和***

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171124