CN110858821B - 容器通信方法及装置 - Google Patents

容器通信方法及装置 Download PDF

Info

Publication number
CN110858821B
CN110858821B CN201810964750.9A CN201810964750A CN110858821B CN 110858821 B CN110858821 B CN 110858821B CN 201810964750 A CN201810964750 A CN 201810964750A CN 110858821 B CN110858821 B CN 110858821B
Authority
CN
China
Prior art keywords
container
address
message
receiver
virtual switch
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
CN201810964750.9A
Other languages
English (en)
Other versions
CN110858821A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810964750.9A priority Critical patent/CN110858821B/zh
Publication of CN110858821A publication Critical patent/CN110858821A/zh
Application granted granted Critical
Publication of CN110858821B publication Critical patent/CN110858821B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种容器通信方法,应用于发送方容器所对应的第一虚拟交换机,包括:接收来自发送方容器的报文,报文中包含接收方容器IP地址;基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址;基于第一目标IP地址,向接收方容器发送报文。相对应的,本申请还公开一种容器通信方法,应用于接收方容器所对应的第二虚拟交换机,包括:接收来自发送方容器的报文,报文中包含接收方容器IP地址;基于预设路由规则,确定与接收方容器IP地址相对应的第二目标IP地址;基于第二目标IP地址,向接收方容器发送报文。采用本申请的方法,能够实现发送方容器和接收方容器之间的通信,满足使用需求。

Description

容器通信方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及容器通信方法及装置。
背景技术
容器Docker是利用Linux(Linux是一种操作***)内核提供的资源限制及隔离功能,以及Linux内核命名空间,来创建独立软件容器的一种技术。利用容器技术,开发者可以将应用以及依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器上。
容器Docker因其轻量化、易用、启动快等特点,受到了越来越多开发、测试、运维人员的青睐。例如,在公共云上,用于提供网络、计算服务的虚拟主机上,也常常部署有容器应用,以实现该应用的相应功能。
因此,如何实现部署在虚拟主机上的容器之间的通信,成为了一个亟待解决的问题。
发明内容
本申请实施例提供了容器通信方法,旨在实现部署在虚拟主机上的容器之间的通信。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供了一种容器通信方法,应用于发送方容器所对应的第一虚拟交换机,其中,所述方法包括:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
优选的,本申请实施例第一方面提供的方法中,在接收来自发送方容器的报文之前,所述方法还包括:
接收来自所述发送方容器的第一ARP请求,所述第一ARP请求中包含所述接收方容器IP地址;
向所述发送方容器返回虚拟交换机MAC地址,供所述发送方容器基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文。
优选的,本申请实施例第一方面提供的方法中,在接收来自所述发送方容器的第一ARP请求之后,所述方法还包括:
判断所述接收方容器IP地址与所述发送方容器的IP地址是否归属于不同的虚拟主机;
则向所述发送方容器返回虚拟交换机MAC地址,具体为:
所述接收方容器IP地址与所述发送方容器的IP地址归属于不同的虚拟主机的情况下,向所述发送方容器返回虚拟交换机MAC地址。
优选的,本申请实施例第一方面提供的方法中,在接收来自发送方容器的报文之前,所述方法还包括:
接收来自所述发送方容器的第二ARP请求,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
向所述发送方容器返回虚拟交换机MAC地址,供所述发送方容器基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文。
优选的,本申请实施例第一方面提供的方法中,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址之前,所述方法还包括:
向控制中心发送第一预设路由规则获取请求;
接收所述控制中心返回的第一预设路由规则,所述第一预设路由规则中包含所述接收方容器IP地址与所述第一目标IP地址的对应关系。
优选的,本申请实施例第一方面提供的方法中,在接收来自发送方容器的报文之后,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址之前,所述方法还包括:
向控制中心发送第二预设路由规则获取请求,所述第二预设路由规则获取请求中包含所述接收方容器IP地址;
接收所述控制中心返回的第二预设路由规则,所述第二预设路由规则为所述接收方容器IP地址与所述第一目标IP地址的对应关系。
优选的,本申请实施例第一方面提供的方法中,接收来自发送方容器的报文,具体包括:
经由第一虚拟网口接收来自发送方容器的报文,所述第一虚拟网口归属于所述发送方容器所在的第一虚拟主机。
第二方面,本申请实施例提供一种容器通信方法,应用于接收方容器所对应的第二虚拟交换机,其中,所述方法包括:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
优选的,本申请实施例第二方面提供的方法中,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址之前,所述方法还包括:
向控制中心发送第三预设路由规则获取请求;
接收所述控制中心返回的第三预设路由规则,所述第三预设路由规则中包含所述接收方容器IP地址与所述第二目标IP地址的对应关系。
优选的,本申请实施例第二方面提供的方法中,在接收来自发送方容器的报文之后,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址之前,所述方法还包括:
向控制中心发送第四预设路由规则获取请求,所述第四预设路由规则获取请求中包含所述接收方容器IP地址;
接收所述控制中心返回的第四预设路由规则,所述第四预设路由规则为所述接收方容器IP地址与所述第二目标IP地址的对应关系。
优选的,本申请实施例第二方面提供的方法中,基于所述第二目标IP地址,向所述接收方容器发送所述报文,包括:
基于所述第二目标IP地址,获取所述接收方容器所在第二虚拟主机的MAC地址;
基于所述第二虚拟主机的MAC地址,经由第二虚拟网口向所述第二虚拟主机提交所述报文,供所述第二虚拟主机经由第二网桥将所述报文转发至所述接收方容器,所述第二虚拟网口和所述第二网桥归属于所述第二虚拟主机。
第三方面,本申请实施例提供一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
优选的,本申请实施例第三方面提供的方法中,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,经由第一虚拟网口向所述第一虚拟交换机发送所述报文,所述第一虚拟网口归属于所述第一虚拟主机。
第四方面,本申请实施例提供一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
优选的,本申请实施例第四方面提供的方法中,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文,包括:
基于所述接收方容器MAC地址和所述接收方容器IP地址,经由第一网桥向所述接收方容器发送报文,所述第一网桥归属于所述相同的虚拟主机。
优选的,本申请实施例第四方面提供的方法中,所述方法还包括:
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,还接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
在先接收到所述虚拟交换机MAC地址的情况下,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文;
在先接收到所述接收方容器MAC地址的情况下,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
第五方面,本申请实施例提供一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
优选的,本申请实施例第五方面提供的方法中,接收基于所述第二ARP请求返回的目标MAC地址,包括:
接收第一虚拟交换机基于所述第二ARP请求返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
接收所述第一网桥基于所述第二ARP请求返回的第一网桥MAC地址。
优选的,本申请实施例第五方面提供的方法中,在先接收到所述虚拟交换机MAC地址的情况下,将所述第一网桥MAC地址确定为所述目标MAC地址,
则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述第一网桥MAC地址和所述接收方容器IP地址,向所述第一网桥发送所述报文,供所述第一网桥向所述接收方容器转发所述报文。
优选的,本申请实施例第五方面提供的方法中,在先接收到所述第一网桥MAC地址的情况下,将所述虚拟交换机MAC地址确定为所述目标MAC地址,
则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器转发所述报文。
第六方面,本申请实施例提供一种容器通信装置,应用于发送方容器所对应的第一虚拟交换机,其中,所述装置包括:
第一报文接收模块,用于接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
第一目标IP地址确定模块,用于基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
第一报文发送模块,用于基于所述第一目标IP地址,向所述接收方容器发送所述报文。
第七方面,本申请实施例提供一种容器通信装置,应用于接收方容器所对应的第二虚拟交换机,其中,所述装置包括:
第二报文接收模块,用于接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
第二目标IP地址确定模块,用于基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
第二报文发送模块,用于基于所述第二目标IP地址,向所述接收方容器发送所述报文。
第八方面,本申请实施例提供一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第一请求发送模块,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
第一MAC地址接收模块,用于在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
第三报文发送模块,用于基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
第九方面,本申请实施例提供一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第二请求发送模块,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
第二MAC地址接收模块,用于在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
第四报文发送模块,用于基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
第十方面,本申请实施例提供一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第三请求发送模块,用于触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
第三MAC地址接收模块,用于接收基于所述第二ARP请求返回的目标MAC地址;
第五报文发送模块,用于基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
第十一方面,本申请实施例提供一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
第十二方面,本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
第十三方面,本申请实施例提供一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
第十四方面,本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
第十五方面,本申请实施例提供一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
第十六方面,本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
第十七方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
第十八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
第十九方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
第二十方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,发送方容器所对应的第一虚拟交换机在接收到来自发送方容器的报文后,可以基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址,进而可基于第一目标IP地址向接收方容器发送报文。相对应的,接收方容器所对应的第二虚拟交换机在接收到来自发送方容器的报文后,也可以基于预设路由规则,确定与接收方容器IP地址相对应的第二目标IP地址,进而可基于第二目标IP地址向接收方容器发送报文。因此,采用本申请实施例提供的方案,无论发送方容器和接收方容器的IP地址如何设计,发送方容器所对应的第一虚拟交换机和第二虚拟交换机都能够基于预设路由规则,将来自发送方容器的报文路由到接收方容器,实现发送方容器和接收方容器之间的通信,满足使用需求。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例所适用的***示意图;
图2为本申请实施例提供的一种容器通信方法的流程示意图;
图3为本申请实施例提供的第二种容器通信方法的流程示意图;
图4为本申请实施例提供的一种容器通信装置的结构示意图;
图5为本申请实施例提供的第二种容器通信装置的结构示意图;
图6为本申请实施例提供的第三种容器通信装置的结构示意图;
图7为本申请实施例提供的第四种容器通信装置的结构示意图;
图8为本申请实施例提供的第五种容器通信装置的结构示意图;
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着云计算技术的成熟与发展,公共云(Public Cloud)平台也应运而生。在公共云上,云厂商通常以虚拟主机的方式提供网络和计算等服务资源,公众可以通过网络获取这些资源。
由于容器Docker具有轻量化、易用、启动快等优点,因此,云厂商通常会在虚拟主机上部署各种容器,以实现各种应用的功能。
为了实现容器间的通信,尤其是在不同的虚拟主机上运行的容器之间的通信,可以有以下多种做法:
第一种,基于网络地址转换NAT(全称Network Address Translation)技术,容器间的访问是通过NAT技术将容器的IP地址转换成该容器所在虚拟主机的IP地址实现的,在该虚拟主机上的所有容器都将通过该虚拟主机的IP地址实现访问。
采用这种方式,容器对外的IP地址均为所在虚拟主机的IP地址。此时,如果虚拟主机上有多个应用需要以相同的端口对外提供服务,例如,多个基于计算机网络技术应用(简称web应用)都想以80端口对外提供服务时,这种方式将无法满足使用需求。
第二种,基于隧道技术,例如,可扩展虚拟局域网Vxlan(全称Virtual ExtensibleLAN)技术,可以将容器的IP地址作为内层报文、容器所在虚拟主机的IP地址作为外层报文向外发送。
采用这种方式在虚拟主机上实现容器收发报文时,会增加虚拟主机的资源开销,例如,CPU开销,还需要比较复杂的容器网络管理能力。因此,在虚拟主机资源有限的情况下,难以满足使用需求。
因此,为了实现部署在虚拟主机上的容器之间的通信,本申请实施例提供了容器通信方法。
参见图1所示,本申请实施例所适用的***中,可以包括至少一台主机,例如,图1中的主机A和主机B,还包括用于实现主机间数据交互的网关和交换机,以及对主机的运行和数据交互进行控制的控制中心。需要说明的是,控制中心可以具体为服务器,也可以具体为用来提供服务器功能的计算机集群。
在每一台主机中,可以运行一个或多个虚拟主机,例如,在主机A中运行的虚拟主机A1和虚拟主机A2,在主机B中运行的虚拟主机B1。需要说明的是,在主机中运行的虚拟主机的数量,可以根据实际需要和主机的实际运算能力进行调整。
在每一台主机中,还包括虚拟交换机,用于实现主机中各虚拟主机之间的数据交互,还用于实现虚拟主机与主机外部的控制中心、网关、交换机、其他主机等的数据交互。例如,主机A中的虚拟交换机A,主机B中的虚拟交换机B。
在每一个虚拟主机中,可以部署一个或多个容器,以实现对应的应用的功能。例如,虚拟主机A1中运行有容器A11和容器A12,虚拟主机A2中运行有容器A21和容器A22,虚拟主机B1中运行有容器B11和容器B12。需要说明的是,在同一个虚拟主机中运行的容器,可以是相同的类型,也可以是不同的类型,容器类型的选择、以及各类型容器的数量,可以根据实际需要和虚拟主机的资源占用情况进行调整。
在每一个虚拟主机中,还可以包括网桥Docker0和虚拟网口eth0,例如,虚拟主机A1中的网桥A1和虚拟网口A1,虚拟主机A2中的网桥A2和虚拟网口A2,虚拟主机B1中的网桥B1和虚拟网口B1。其中,网桥可以用于在跨网段的情况下充当网关,建立容器之间的通信。虚拟网口可以用于实现虚拟主机与外部其虚拟主机或主机的数据交互。
以下结合附图,从多个角度详细说明本申请各实施例提供的技术方案。
参见图2所示,本申请实施例提供了一种容器通信方法,应用于发送方容器所对应的第一虚拟交换机。发送方容器所对应的第一虚拟交换机,可以理解为发送方容器所在的虚拟主机所对应的虚拟交换机,也可以理解为发送方容器所在虚拟主机所属的主机中所包含的虚拟交换机。
以图1所示***为例,容器A11、容器A12均部署在虚拟主机A1中,虚拟主机A1归属于主机A;同时,容器A21、容器A22均部署在虚拟主机A2中,虚拟主机A2页归属于主机A。因此,容器A11、容器A12、容器A21、容器A22所对应的虚拟交换机均为虚拟交换机A。
图2示例的容器通信方法可具体包括以下步骤:
S101:接收来自发送方容器的报文,报文中包含接收方容器IP地址。
能够理解,发送方容器向接收方容器发送的报文中,包含有接收方容器的互联网协议地址(全称Internet Protocol Address,简称IP地址),以便指示报文的接收方。除此之外,报文中还包含有具体的、被发送的数据内容。
第一虚拟交换机接收到来自发送方容器的报文,可以理解为发送方容器直接将报文经由虚拟网口提交到第一虚拟交换机;也可以理解为发送方容器先将报文提交至网桥、由网桥经由虚拟网口的转发,逐级将报文提交到第一虚拟交换机。可以理解到,这里说的虚拟网口和网桥,均归属于发送方容器所在虚拟主机。无论哪种情况,可以认为,第一虚拟交换机均经由第一虚拟网口接收来自发送方容器的报文,其中,第一虚拟网口归属于发送方容器所在的第一虚拟主机。
可以理解到,第一虚拟交换机接收到的报文中,除接收方容器的接收方容器IP地址和被发送的数据内容之外,还将包含第一虚拟交换机的MAC地址,从而使得报文能够发送至第一虚拟交换机,为第一虚拟交换机所接收。
S103:基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址。
能够理解,第一虚拟交换机在执行步骤S101接收到来自发送方容器的报文后,可以对报文中所包含的接收方容器IP地址进行解析,以便知晓发送方容器希望向哪个IP地址发送报文。
在此基础上,第一虚拟交换机可进一步基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址。需要说明的是,第一虚拟交换机执行本步骤确定出的第一目标IP地址,指的是第一虚拟交换机对报文进行转发时下一跳所对应的IP地址。
以图1中所示***为例,假设以容器A21作为接收方容器,以容器A11、容器A21、容器A22中任一个作为发送方容器,则此时的第一虚拟交换机具体为虚拟交换机A。第一虚拟交换机需要向容器A21转发报文时,由于容器A21部署在虚拟主机A2中,因此,虚拟交换机A转发报文的下一跳为虚拟主机A2。因此,虚拟交换机A基于预设路由规则确定出的、与容器A21的IP地址相对应的第一目标IP地址,将具体体现为虚拟主机A2的IP地址。
仍以图1中所示***为例,假设仍以容器A21作为接收方容器,以容器B11或者容器B12作为发送方容器,则此时的第一虚拟交换机具体为虚拟交换机B。第一虚拟交换机需要向容器A21转发报文时,由于容器A21部署在主机A中,而第一虚拟交换机(具体为虚拟交换机B)处于主机B中,因此,虚拟交换机B转发报文的下一跳为主机A。因此,虚拟交换机B基于预设路由规则确定出的、与容器A21的IP地址相对应的第一目标IP地址,将具体体现为主机A的IP地址。
由此可见,对于相同的接收方容器IP地址,处于不同主机中的虚拟交换机基于预设路由规则确定出的第一目标IP地址,可能相同,也可能不同。
可选的,预设路由规则可以是预存在虚拟交换机中的,也可以是从控制中心获取的。
可选的,在基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址之前,可以先向控制中心发送第一预设路由规则获取请求,并进而接收控制中心返回的第一预设路由规则,从而可以基于第一预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址。可以理解到,控制中心返回的第一预设路由规则中,包含接收方容器IP地址与第一目标IP地址的对应关系。
需要说明的是,虚拟交换机向控制中心请求获取预设路由规则,可以在开机启动时进行,可以周期性请求以便及时更新本地存储的预设路由规则,也可以在一定触发条件下进行。可以请求获取控制中心下辖所有虚拟主机中运行的容器所对应的预设路由规则,也可以有选择的获取部分容器所对应的预设路由规则。只要能够满足虚拟交换机进行报文转发的需要即可。
例如,虚拟交换机可以在接收来自发送方容器的报文之后,向控制中心发送第二预设路由规则获取请求,其中,第二预设路由规则获取请求中包含接收方容器IP地址,以便向控制中心获取与当前报文中的接收方容器IP地址相对应的预设路由规则。相应的,控制中心在接收到第二预设路由规则获取请求后返回的第二预设路由规则,也就是接收方容器IP地址与第一目标IP地址的对应关系。这一过程,可以理解为虚拟交换机在解析出接收方容器IP地址后,向控制中心查询相对应的目标IP地址,以便进行报文的转发。
采用这种方式获取预设路由规则,或者说,进行目标IP地址的查询,相比于获取全部容器的预设路由规则,或者预存全部容器的预设路由规则的方式而言,可以减少数据的传输量,节约网络资源。
需要说明的是,控制中心中存储的预设路由规则,可以是预先配置好的,也可以是虚拟主机中启用新的容器、控制中心为新的容器分配IP地址时记录的。由于控制中心中可以记录容器所在的虚拟主机、该虚拟主机所属的主机等信息,因此,可以建立预设路由规则,反映容器的IP地址与所在虚拟主机的IP地址和/或所述主机的IP地址之间的对应关系,供虚拟交换机在需要时获取或查询。
还需要说明的是,控制中心为新的容器分配IP地址时,可以随机分配,可以考虑各个网段的资源占用情况,以便均衡的分配网络资源。还可以考虑容器所在的虚拟主机、主机,以及容器所实现的应用的类型等因素,优先为部署在相同虚拟主机中的容器,或者数据交互将较为频繁的容器分配相同网段的IP地址,以便缩短通信链路,节约网络资源。
S105:基于第一目标IP地址,向接收方容器发送报文。
需要说明的是,第一虚拟交换机在执行步骤S105向接收方容器发送报文时,可以有多种情况,报文的转发路径也将不尽相同。
例如,若接收方容器所在的第二虚拟主机与第一虚拟交换机归属于同一主机,则第一目标IP地址为第二虚拟主机的IP地址。报文到达第二虚拟主机后,将在第二虚拟主机内经由虚拟网口和网桥转发至接收方容器。
又例如,若接收方容器所在的第二虚拟主机与第一虚拟交换机归属于不同的主机,则第一目标IP地址为第二虚拟主机所归属的第二主机的IP地址。报文到达第二主机后,将由第二主机中的第二虚拟交换机作为接收方容器所对应的虚拟交换机,执行相应的容器通信方法进行报文的转发。
需要说明的是,在基于第一目标IP地址向接收方容器发送报文的具体过程中,可以先基于第一目标IP地址,获取第一目标IP地址所对应的主体(可能是接收方容器所在的虚拟主机,也可以是接收方容器所归属的主机)的MAC地址,进而向该MAC地址转发来自发送方容器的报文。
参见图3所示,本申请实施例还提供一种容器通信方法,应用于接收方容器所对应的第二虚拟交换机。接收方容器所对应的第二虚拟交换机,可以理解为接收方容器所在的虚拟主机所对应的虚拟交换机,也可以理解为接收方容器所在虚拟主机所属的主机中所包含的虚拟交换机。
需要说明的是,若接收方容器与发送方容器归属于同一主机,则接收方容器所对应的第二虚拟交换机与发送方容器所对应的第一虚拟交换机实体上相同,只是在不同的阶段充当不同的角色而已。
例如,假设发送方容器为容器A11,接收方容器为容器A22,则第一虚拟交换机和第二虚拟交换机均为虚拟交换机A。可以理解到,在这种情况下,虚拟交换机A作为第一虚拟交换机或者第二虚拟交换机所执行的步骤相同,相当于两个过程合二为一的执行,因此,基于预设路由规则确定出的目标IP地址也往往相同。
又例如,假设发送方容器为容器A12,接收方容器为容器B11,则第一虚拟交换机为虚拟交换机A,第二虚拟交换机为虚拟交换机B。可以理解到,在这种情况下,虚拟交换机A接收容器A12发送的报文,并确定应向哪里转发;虚拟交换机B接收经由虚拟交换机A转发来的、来自于容器A12的报文,并确定应向哪里转发。这是两个不同的过程,由两个不同的主体执行,因此,基于预设路由规则确定出的目标IP地址也往往不同。
图3中第二虚拟交换机执行的容器通信方法,可以具体包括:
S201:接收来自发送方容器的报文,报文中包含接收方容器IP地址。
能够理解,若第二虚拟交换机与第一虚拟交换机相同,则步骤S201与步骤S101也将合并执行。与步骤S101相关的说明均适用于步骤S201。
而若第二虚拟交换机与第一虚拟交换机不同,则第二虚拟交换机所接收到的报文,可以是经由第一虚拟交换机转发的、来自于发送方容器的报文,更具体的,可以是第一虚拟交换机转发至所属主机以外的交换机、由交换机转发至第二虚拟交换机的。
S203:基于预设路由规则,确定与接收方容器IP地址相对应的第二目标IP地址。
能够理解,若第二虚拟交换机与第一虚拟交换机相同,则步骤S203与步骤S103也将合并执行。与步骤S103相关的说明均适用于步骤S203。
而若第二虚拟交换机与第一虚拟交换机不同,则第二虚拟交换机也将基于预设路由规则确定第二目标IP地址。可以理解到,此时确定出的第二目标IP地址与第一虚拟交换机确定出的第一目标IP地址将有所不同。
以图1中所示***为例,假设以容器A21作为接收方容器,以容器B11或者容器B12作为发送方容器,则第一虚拟交换机(此时具体为虚拟交换机B)基于预设路由规则确定出的、与容器A21的IP地址相对应的第一目标IP地址,将具体体现为主机A的IP地址。
在此基础上,第二虚拟交换机(此时具体为虚拟交换机A)接收到第一虚拟交换机转发来、来自于发送方容器的报文后,也将基于预设路由规则确定与容器A21的IP地址相对应的第二目标IP地址。能够理解,由于容器A21部署于虚拟主机A2中,因此,从虚拟交换机A出发,向容器A21发送报文的下一跳为虚拟主机A2.因此,第二虚拟交换机基于预设路由规则确定出的第二目标IP地址,将具体体现为虚拟主机A2的IP地址。
还需要说明的是,第二虚拟交换机获取预设路由规则的方式和时机,以及基于预设路由规则确定第二目标IP地址的过程,均与第一虚拟交换机相似,此处不再赘述。
S205:基于第二目标IP地址,向接收方容器发送报文。
能够理解,若第二虚拟交换机与第一虚拟交换机相同,则步骤S205与步骤S105也将合并执行。与步骤S105相关的说明均适用于步骤S205。
若第二虚拟交换机与第一虚拟交换机不同,则第一虚拟交换机基于第一目标IP地址(如前所述,可以具体为接收方容器所属的主机的IP地址),将报文转发至第二虚拟交换机后,第二虚拟交换机将基于第二目标IP地址(可以具体为接收方容器所在的虚拟主机的IP地址),将报文转发至接收方容器所在的虚拟主机,由虚拟主机在内部将报文发送至接收方容器。
具体的,基于第二目标IP地址,向接收方容器发送报文时,可以先基于第二目标IP地址,获取接收方容器所在第二虚拟主机的MAC地址;然后,基于第二虚拟主机的MAC地址,经由第二虚拟网口向第二虚拟主机提交报文,供第二虚拟主机经由第二网桥将报文转发至接收方容器,第二虚拟网口和第二网桥归属于第二虚拟主机。
在本申请实施例中,发送方容器所对应的第一虚拟交换机在接收到来自发送方容器的报文后,可以基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址,进而可基于第一目标IP地址向接收方容器发送报文。相对应的,接收方容器所对应的第二虚拟交换机在接收到来自发送方容器的报文后,也可以基于预设路由规则,确定与接收方容器IP地址相对应的第二目标IP地址,进而可基于第二目标IP地址向接收方容器发送报文。因此,采用本申请实施例提供的方案,无论发送方容器和接收方容器的IP地址如何设计,发送方容器所对应的第一虚拟交换机和第二虚拟交换机都能够基于预设路由规则,将来自发送方容器的报文路由到接收方容器,实现发送方容器和接收方容器之间的通信,满足使用需求。
需要说明的是,在发送方容器发出报文之前,发送方容器会先发出基于地址解析协议ARP(全称Address Resolution Protocol)的物理地址信息获取请求(简称为ARP请求),以便得到对ARP请求的应答信息。具体的,该应答信息中包含发送方容器在向接收方容器发送报文时的下一跳所对应的MAC地址(全称Media Access Control或者Medium AccessControl地址,可译为媒体访问控制、物理地址、或者硬件地址),从而使得发送方容器能够基于接收方容器的IP地址以及下一跳的MAC地址发送报文。
能够理解,针对发送方容器和接收方容器所处网段以及所属虚拟主机的不同情况,发送方容器发送ARP请求的方式、以及接收到的应答消息也将不同,发送方容器向接收方容器发送报文的路径也将有所不同。以下将以多种情况的组合为例,说明发送方容器和接收方容器在进行容器通信时的具体过程。
第一种情况在于,接收方容器和发送方容器的IP地址处于同一网段。
针对这种情况,发送方容器可以触发广播发出第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,第一ARP请求中包含接收方容器IP地址。
能够理解到,发送方容器触发广播发送第一ARP请求(即物理地址获取请求),可以具体为,发送方容器触发TCP/IP协议栈发送第一ARP请求。协议栈判断接收方容器和发送方容器的IP地址是否处于同一网段,若二者处于同一网段,则协议栈将发出第一ARP请求,请求获取与接收方容器IP地址相对应的接收方容器MAC地址。可以理解,第一ARP请求也是以报文的形式广播发送的。
能够理解到,发送方容器触发协议栈广播发出的第一ARP请求,将被发送方容器所在虚拟主机中各个容器、虚拟主机中的网桥、以及发送方容器所对应的虚拟交换机接收到。由于第一ARP请求中包含接收方容器的IP地址,因此,IP地址与接收方容器不同的容器、虚拟主机中的网桥均不会对接收到的第一ARP请求进行应答。
若发送方容器和接收方容器部署在不同的虚拟主机上,则接收方容器将无法接收到第一ARP请求,因而无法对第一ARP请求做出应答。
而若发送方容器和接收方容器部署在相同的虚拟主机上,则接收方容器将能够接收到发送方容器触发广播发出的第一ARP请求,并且对该ARP请求进行应答,将接收方容器的MAC地址返回给发送方容器。此时,发送方容器在接收到接收方容器返回的接收方容器MAC地址后,可以直接基于接收方容器IP地址和接收方容器MAC地址,向接收方容器发送报文。具体的,可以通过第一网桥bridge与接收方容器进行二层交换通信,其中,第一网桥归属于发送方容器和接收方容器所在的虚拟主机。
需要特别说明的是,发送方容器所对应的虚拟交换机(记为第一虚拟交换机)也将接收到发送方容器触发广播发出的第一ARP请求。此时,第一虚拟交换机可以有多种处理方式。
一种方式在于,第一虚拟交换机不做选择、无条件的向发送方容器返回虚拟交换机MAC地址。此时,发送方容器接收到虚拟交换机MAC地址后,将进一步基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文。进一步的,第一虚拟交换机接收到报文后,即可执行相对应的容器通信方法,基于预设路由规则确定如何向接收方容器发送报文。
能够理解,在发送方容器和接收方容器部署在相同的虚拟主机上时,发送方容器可能会先后接收到接收方容器返回的接收方容器MAC地址和第一虚拟交换机返回的虚拟交换机MAC地址。由于先接收到的MAC地址将被后接收到的MAC地址覆盖,因此,发送方容器将基于后收到的MAC地址进行报文的发送。
具体的,在先接收到虚拟交换机MAC地址的情况下,发送方容器将基于接收方容器MAC地址和接收方容器IP地址,向接收方容器发送报文;在先接收到接收方容器MAC地址的情况下,发送方容器将基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文,供第一虚拟交换机基于预设路由规则向接收方容器发送报文。
以图1所示***为例。假设发送方容器为容器A12,发送方容器IP地址为192.168.100.11;假设接收方容器为容器A21,接收方容器IP地址为192.168.100.12。可以看出,发送方容器A11与接收方容器A12处于不同的虚拟主机中,而IP地址处于同一网段。
能够理解,由于容器A12与容器A21分属不同的虚拟主机,因此,发送方容器A12触发广播发出的第一ARP请求将无法送达接收方容器A21。虚拟交换机A接收到第一ARP请求后进行应答,将虚拟交换机MAC地址返回给发送方容器A12。在此基础上,发送方容器A12可以基于接收方容器A21的IP地址和虚拟交换机MAC地址,将报文提交到虚拟交换机A。由虚拟交换机A进一步基于预设路由规则向接收方容器转发报文。
仍以图1所示***为例。假设发送方容器为容器A11,发送方容器IP地址为192.168.100.10;假设接收方容器为容器A12,接收方容器IP地址为192.168.100.11。可以看出,发送方容器A11与接收方容器A12处于同一虚拟主机中,并且,IP地址处于同一网段。
假设虚拟交换机A应答的虚拟交换机MAC地址在后,容器A11将向虚拟交换机A发出报文,由虚拟交换机A基于预设路由规则,将报文转发回虚拟主机A1,再由虚拟主机A1经由网桥将报文发送至容器A12,报文将经过容器A11-虚拟交换机A-虚拟主机A1-网桥-容器A12这一传输链路。可以看出,报文从虚拟主机A1中出来,再回到虚拟主机A1,这一传输过程比较冗长。
又一种方式在于,第一虚拟交换机根据接收到的第一ARP请求中包含的接收方容器IP地址进行判断,判断接收方容器IP地址与发送方容器的IP地址是否归属于不同的虚拟主机。若发送方容器和接收方容器的IP地址归属于相同的虚拟主机,则确定不向发送方容器返回虚拟交换机MAC地址。此时,发送方容器将仅接收到接收方容器返回的MAC地址,并可基于接收方容器IP地址和接收方容器MAC地址进行报文的发送。采用这种方式,报文的传输链路将缩短为:发送方容器-网桥-接收方容器。
而若第一虚拟交换机判断发送方容器和接收方容器的IP地址归属于不同的虚拟主机的情况下,则向发送方容器返回虚拟交换机MAC地址,以便发送方容器基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文,由第一虚拟交换机基于预设路由规则进行报文的转发,以确保容器间的正常通信。
更具体的,发送方容器基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文时,可以基于虚拟交换机MAC地址和接收方容器IP地址,经由第一虚拟网口向第一虚拟交换机发送报文,第一虚拟网口归属于第一虚拟主机。
能够理解,第一虚拟交换机优选采用第二种方式对接收到的第一ARP请求进行应答处理,以避免发送方容器和接收方容器之间通信时访问路径不一致的问题,也可以避免访问路径过于冗长而带来的资源消耗。
第二种情况在于,接收方容器和发送方容器的IP地址处于不同网段。
针对这种情况,发送方容器可以触发广播发出第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,第二ARP请求中包含第一网桥的第一网桥IP地址,第一网桥归属于发送方容器所在的第一虚拟主机。
能够理解到,发送方容器触发广播发送第二ARP请求,可以具体为,发送方容器触发TCP/IP协议栈发送第二ARP请求。协议栈判断接收方容器和发送方容器的IP地址是否处于同一网段,若二者处于不同网段,则协议栈将发出第二ARP请求,请求获取与第一网桥IP地址相对应的第一网桥MAC地址。可以理解,第二ARP请求也是以报文的形式广播发送的。
能够理解到,发送方容器触发协议栈广播发出的第二ARP请求(即物理地址获取请求),同样将被发送方容器所在虚拟主机中各个容器、虚拟主机中的网桥、以及发送方容器所对应的虚拟交换机接收到。由于第二ARP请求中包含网桥的IP地址,因此,虚拟主机上的其他容器均不会对接收到的第二ARP请求进行应答。
这种情况下,发送方容器所在的第一虚拟交换机接收到来自发送方容器的第二ARP请求后,将向发送方容器返回虚拟交换机MAC地址,供发送方容器基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文。
除此之外,第一网桥接收到第二ARP请求后,也将向发送方容器返回第一网桥MAC地址,供发送方容器基于第一网桥MAC地址和接收方容器IP地址,向第一网桥发送报文。
因此,发送方容器在发出第二ARP请求后,将接收到第一虚拟交换机基于第二ARP请求返回的虚拟交换机MAC地址,也将接收到第一网桥基于第二ARP请求返回的第一网桥MAC地址。
具体的,在先接收到虚拟交换机MAC地址的情况下,将第一网桥MAC地址确定为目标MAC地址,并进而基于目标MAC地址,向接收方容器发送报文。具体为,基于第一网桥MAC地址和接收方容器IP地址,向第一网桥发送报文,供第一网桥向接收方容器转发报文。
具体的,在先接收到第一网桥MAC地址的情况下,将虚拟交换机MAC地址确定为目标MAC地址,并进而基于目标MAC地址,向接收方容器发送报文。具体为,基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文,供第一虚拟交换机基于预设路由规则向接收方容器转发报文。
可以理解到,具体的报文转发过程可能存在多种情况,以下将举例说明。
一种情况在于,接收方容器与发送方容器的IP地址归属于同一虚拟主机。这种情况下,若发送方容器后接收到来自第一网桥的第一网桥MAC地址,则将会向第一网桥发送报文;第一网桥接收到报文后,将根据报文中所携带的接收方容器IP地址进行报文转发。若发送方容器后接收到来自第一虚拟交换机的虚拟交换机MAC地址,则将向第一虚拟交换机发送报文;第一虚拟交换机接收到报文后,基于预设路由规则,会再将报文转发回虚拟主机,由虚拟主机在内部将报文转发至接收方容器。
以图1中所示***为例。假设发送方容器为容器A21,发送方容器IP地址为192.168.100.12;假设接收方容器为容器A22,接收方容器IP地址为192.168.200.11。发送方容器A21发出第二ARP请求后,网桥A2和虚拟交换机A均可以对该ARP请求进行应答。
若发送方容器A21后接收到网桥A2返回的网桥MAC地址,则将基于网桥MAC地址和接收方容器IP地址,向网桥A2发送报文。网桥A2接收到报文后,由于报文中的IP地址并非自己的,因此,将基于IP访问机制ip_forward,将报文提交至接收方容器A22。
若发送方容器A21后接收到虚拟交换机A返回的虚拟交换机MAC地址,则将基于虚拟交换机MAC地址和接收方容器IP地址,向虚拟交换机A发送报文。虚拟交换机A基于预设路由规则,会将虚拟主机A2的IP地址确定为第一目标IP地址(这种情况下,第二目标IP地址其实也是虚拟主机A2的IP地址),从而将报文经由虚拟网口A2发送回虚拟主机A2,在虚拟主机A2内部提交至接收方容器A22。
又一种情况在于,接收方容器与发送方容器的IP地址归属于不同虚拟主机。这种情况下,若发送方容器后接收到来自第一网桥的第一网桥MAC地址,则将会向第一网桥发送报文;第一网桥接收到报文后,将通过三层转发机制,将报文转发到第一虚拟网口,进而通过虚拟网口将报文向下提交至第一虚拟交换机,以便第一虚拟交换机接收到报文后,可以基于预设路由规则进行报文转发。若发送方容器后接收到来自第一虚拟交换机的虚拟交换机MAC地址,则将通过二层交换,经由第一虚拟网口向第一虚拟交换机发送报文;第一虚拟交换机接收到报文后,同样基于预设路由规则进行报文转发。
相对应的,接收方容器所对应的虚拟交换机也将基于预设路由规则,将来自第一虚拟交换机(实质为来自发送方容器)的报文转发至接收方容器。
以图1中所示***为例。假设发送方容器为容器A22,发送方容器IP地址为192.168.200.11;假设接收方容器为容器B12,接收方容器IP地址为192.168.300.17。发送方容器A22发出第二ARP请求后,网桥A2和虚拟交换机A均可以对该ARP请求进行应答。
若发送方容器A22后接收到网桥A2返回的网桥MAC地址,则将基于网桥MAC地址和接收方容器IP地址,向网桥A2发送报文。网桥A2接收到报文后,将通过三层转发机制,将报文发送到虚拟网口A2,经由虚拟网口A2将报文发送至虚拟交换机A,由虚拟交换机A基于预设路由规则进行报文转发。
若发送方容器A22后接收到虚拟交换机A返回的虚拟交换机MAC地址,则将基于虚拟交换机MAC地址和接收方容器IP地址,基于二层交换机制,通过虚拟网口A2向虚拟交换机A发送报文,由虚拟交换机A基于预设路由规则进行报文转发。
虚拟交换机A(此时作为第一虚拟交换机)基于预设路由规则,会将主机B的IP地址确定为第一目标IP地址,从而经过交换机向主机B转发报文。主机B中的虚拟交换机B(此时作为第二虚拟交换机)接收到报文后,基于预设路由规则,会将虚拟主机B1的IP地址确定为第二目标IP地址,进而将报文转发至虚拟主机B1。虚拟主机B1在其内部,经过二层转发将报文转发至网桥B1,由网桥基于IP访问机制ip_forward将报文提交给接收方容器B12。
通过本申请实施例提供的方案,无论发送方容器和接收方容器的IP地址如何设计,无论发送方容器和接收方容器所属的虚拟主机和主机如何,都可以基于预设路由规则,将来自发送方容器的报文路由到接收方容器,实现发送方容器和接收方容器之间的通信,满足使用需求。
与前述方法实施例相对应的,参见图4所示,本申请实施例还提供了一种容器通信装置,应用于发送方容器所对应的第一虚拟交换机,其中,装置包括:
第一报文接收模块101,用于接收来自发送方容器的报文,报文中包含接收方容器IP地址;
第一目标IP地址确定模块103,用于基于预设路由规则,确定与接收方容器IP地址相对应的第一目标IP地址;
第一报文发送模块105,用于基于第一目标IP地址,向接收方容器发送报文。
能够理解,上述容器通信装置,能够实现前述实施例中提供的由第一虚拟交换机执行的容器通信方法的各个步骤,关于容器通信方法的相关阐释均适用于容器通信装置,此处不再赘述。
与前述方法实施例相对应的,参见图5所示,本申请实施例还提供了一种容器通信装置,应用于接收方容器所对应的第二虚拟交换机,其中,该装置包括:
第二报文接收模块201,用于接收来自发送方容器的报文,报文中包含接收方容器IP地址;
第二目标IP地址确定模块203,用于基于预设路由规则,确定与接收方容器IP地址相对应的第二目标IP地址;
第二报文发送模块205,用于基于第二目标IP地址,向接收方容器发送报文。
能够理解,上述容器通信装置,能够实现前述实施例中提供的由第二虚拟交换机执行的容器通信方法的各个步骤,关于容器通信方法的相关阐释均适用于容器通信装置,此处不再赘述。
与前述方法实施例相对应的,参见图6所示,本申请实施例还提供了一种容器通信装置,应用于发送方容器,其中,装置包括:
第一请求发送模块301,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,第一ARP请求中包含接收方容器IP地址;
第一MAC地址接收模块303,用于在发送方容器和接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,第一虚拟交换机对应于发送方容器所在的第一虚拟主机;
第三报文发送模块305,用于基于虚拟交换机MAC地址和接收方容器IP地址,向第一虚拟交换机发送报文,供第一虚拟交换机基于预设路由规则向接收方容器发送报文。
能够理解,上述容器通信装置,能够实现前述实施例中提供的由发送方容器执行的容器通信方法的相关步骤,关于容器通信方法的相关阐释均适用于容器通信装置,此处不再赘述。
与前述方法实施例相对应的,参见图7所示,本申请实施例还提供了一种容器通信装置,应用于发送方容器,其中,装置包括:
第二请求发送模块401,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,第一ARP请求中包含接收方容器IP地址;
第二MAC地址接收模块403,用于在发送方容器和接收方容器的IP地址归属于相同的虚拟主机的情况下,接收接收方容器返回的接收方容器MAC地址;
第四报文发送模块405,用于基于接收方容器MAC地址和接收方容器IP地址,向接收方容器发送报文。
能够理解,上述容器通信装置,能够实现前述实施例中提供的由发送方容器执行的容器通信方法的相关步骤,关于容器通信方法的相关阐释均适用于容器通信装置,此处不再赘述。
与前述方法实施例相对应的,参见图8所示,本申请实施例还提供了一种容器通信装置,应用于发送方容器,其中,装置包括:
第三请求发送模块501,用于触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,第二ARP请求中包含第一网桥的第一网桥IP地址,第一网桥归属于发送方容器所在的第一虚拟主机;
第三MAC地址接收模块503,用于接收基于第二ARP请求返回的目标MAC地址;
第五报文发送模块505,用于基于目标MAC地址,向接收方容器发送报文,报文中包含接收方容器IP地址。
能够理解,上述容器通信装置,能够实现前述实施例中提供的由发送方容器执行的容器通信方法的相关步骤,关于容器通信方法的相关阐释均适用于容器通信装置,此处不再赘述。
图9是本申请的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
可选的,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器通信装置,应用于发送方容器所对应的第一虚拟交换机。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
可选的,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器通信装置,应用于接收方容器所对应的第二虚拟交换机。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
可选的,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器通信装置,应用于发送方容器,。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
可选的,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器通信装置,应用于发送方容器,。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
可选的,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器通信装置,应用于发送方容器,。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
上述如本申请所示实施例揭示的容器通信装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行容器通信装置执行的方法,并实现容器通信装置在前述实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中容器通信装置执行的方法,并具体用于执行:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中容器通信装置执行的方法,并具体用于执行:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中容器通信装置执行的方法,并具体用于执行:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中容器通信装置执行的方法,并具体用于执行:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址;
基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行前述实施例中容器通信装置执行的方法,并具体用于执行:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (32)

1.一种容器通信方法,应用于发送方容器所对应的第一虚拟交换机,其中,所述方法包括:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第一目标IP地址指的是所述第一虚拟交换机对所述报文进行转发时下一跳所对应的IP地址;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
2.根据权利要求1所述方法,其中,在接收来自发送方容器的报文之前,所述方法还包括:
接收来自所述发送方容器的第一ARP请求,所述第一ARP请求中包含所述接收方容器IP地址;
向所述发送方容器返回虚拟交换机MAC地址,供所述发送方容器基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文。
3.根据权利要求2所述方法,其中,在接收来自所述发送方容器的第一ARP请求之后,所述方法还包括:
判断所述接收方容器IP地址与所述发送方容器的IP地址是否归属于不同的虚拟主机;
则向所述发送方容器返回虚拟交换机MAC地址,具体为:
所述接收方容器IP地址与所述发送方容器的IP地址归属于不同的虚拟主机的情况下,向所述发送方容器返回虚拟交换机MAC地址。
4.根据权利要求1所述方法,其中,在接收来自发送方容器的报文之前,所述方法还包括:
接收来自所述发送方容器的第二ARP请求,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
向所述发送方容器返回虚拟交换机MAC地址,供所述发送方容器基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文。
5.根据权利要求1所述方法,其中,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址之前,所述方法还包括:
向控制中心发送第一预设路由规则获取请求;
接收所述控制中心返回的第一预设路由规则,所述第一预设路由规则中包含所述接收方容器IP地址与所述第一目标IP地址的对应关系。
6.根据权利要求1所述方法,其中,在接收来自发送方容器的报文之后,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址之前,所述方法还包括:
向控制中心发送第二预设路由规则获取请求,所述第二预设路由规则获取请求中包含所述接收方容器IP地址;
接收所述控制中心返回的第二预设路由规则,所述第二预设路由规则为所述接收方容器IP地址与所述第一目标IP地址的对应关系。
7.根据权利要求1~6之任一所述方法,其中,接收来自发送方容器的报文,具体包括:
经由第一虚拟网口接收来自发送方容器的报文,所述第一虚拟网口归属于所述发送方容器所在的第一虚拟主机。
8.一种容器通信方法,应用于接收方容器所对应的第二虚拟交换机,其中,所述方法包括:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址,其中,所述预设路由规则,反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第二目标IP地址指的是所述第二虚拟交换机对所述报文进行转发时下一跳所对应的IP地址;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
9.根据权利要求8所述方法,其中,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址之前,所述方法还包括:
向控制中心发送第三预设路由规则获取请求;
接收所述控制中心返回的第三预设路由规则,所述第三预设路由规则中包含所述接收方容器IP地址与所述第二目标IP地址的对应关系。
10.根据权利要求8所述方法,其中,在接收来自发送方容器的报文之后,在基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址之前,所述方法还包括:
向控制中心发送第四预设路由规则获取请求,所述第四预设路由规则获取请求中包含所述接收方容器IP地址;
接收所述控制中心返回的第四预设路由规则,所述第四预设路由规则为所述接收方容器IP地址与所述第二目标IP地址的对应关系。
11.根据权利要求8所述方法,其中,基于所述第二目标IP地址,向所述接收方容器发送所述报文,包括:
基于所述第二目标IP地址,获取所述接收方容器所在第二虚拟主机的MAC地址;
基于所述第二虚拟主机的MAC地址,经由第二虚拟网口向所述第二虚拟主机提交所述报文,供所述第二虚拟主机经由第二网桥将所述报文转发至所述接收方容器,所述第二虚拟网口和所述第二网桥归属于所述第二虚拟主机。
12.一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则,反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
13.根据权利要求12所述方法,其中,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,经由第一虚拟网口向所述第一虚拟交换机发送所述报文,所述第一虚拟网口归属于所述第一虚拟主机。
14.一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址,并接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
在先接收到所述虚拟交换机MAC地址的情况下,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文;
在先接收到所述接收方容器MAC地址的情况下,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
15.根据权利要求14所述方法,其中,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文,包括:
基于所述接收方容器MAC地址和所述接收方容器IP地址,经由第一网桥向所述接收方容器发送报文,所述第一网桥归属于所述相同的虚拟主机。
16.一种容器通信方法,应用于发送方容器,其中,所述方法包括:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址;
其中,接收基于所述第二ARP请求返回的目标MAC地址,包括:
接收第一虚拟交换机基于所述第二ARP请求返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
接收所述第一网桥基于所述第二ARP请求返回的第一网桥MAC地址;
其中,在先接收到所述第一网桥MAC地址的情况下,将所述虚拟交换机MAC地址确定为所述目标MAC地址,则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器转发所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
17.根据权利要求16所述方法,其中,在先接收到所述虚拟交换机MAC地址的情况下,将所述第一网桥MAC地址确定为所述目标MAC地址,
则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述第一网桥MAC地址和所述接收方容器IP地址,向所述第一网桥发送所述报文,供所述第一网桥向所述接收方容器转发所述报文。
18.一种容器通信装置,应用于发送方容器所对应的第一虚拟交换机,其中,所述装置包括:
第一报文接收模块,用于接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
第一目标IP地址确定模块,用于基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第一目标IP地址指的是所述第一虚拟交换机对所述报文进行转发时下一跳所对应的IP地址;
第一报文发送模块,用于基于所述第一目标IP地址,向所述接收方容器发送所述报文。
19.一种容器通信装置,应用于接收方容器所对应的第二虚拟交换机,其中,所述装置包括:
第二报文接收模块,用于接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
第二目标IP地址确定模块,用于基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第二目标IP地址指的是所述第二虚拟交换机对所述报文进行转发时下一跳所对应的IP地址;
第二报文发送模块,用于基于所述第二目标IP地址,向所述接收方容器发送所述报文。
20.一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第一请求发送模块,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
第一MAC地址接收模块,用于在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
第三报文发送模块,用于基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
21.一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第二请求发送模块,用于触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
第二MAC地址接收模块,用于在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址,并接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
第四报文发送模块,用于在先接收到所述虚拟交换机MAC地址的情况下,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文;在先接收到所述接收方容器MAC地址的情况下,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
22.一种容器通信装置,应用于发送方容器,其中,所述装置包括:
第三请求发送模块,用于触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
第三MAC地址接收模块,用于接收基于所述第二ARP请求返回的目标MAC地址;
第五报文发送模块,用于基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址;
其中,所述第三MAC地址接收模块,用于接收第一虚拟交换机基于所述第二ARP请求返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
接收所述第一网桥基于所述第二ARP请求返回的第一网桥MAC地址;
其中,在先接收到所述第一网桥MAC地址的情况下,将所述虚拟交换机MAC地址确定为所述目标MAC地址,所述第五报文发送模块,用于基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器转发所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
23.一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第一目标IP地址指的是第一虚拟交换机对所述报文进行转发时下一跳所对应的IP地址,所述第一虚拟交换机是所述发送方容器对应的虚拟交换机;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
24.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第一目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第一目标IP地址指的是第一虚拟交换机对所述报文进行转发时下一跳所对应的IP地址,所述第一虚拟交换机是所述发送方容器对应的虚拟交换机;
基于所述第一目标IP地址,向所述接收方容器发送所述报文。
25.一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第二目标IP地址指的是第二虚拟交换机对所述报文进行转发时下一跳所对应的IP地址,所述第二虚拟交换机是所述接收方容器所对应的虚拟交换机;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
26.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
接收来自发送方容器的报文,所述报文中包含接收方容器IP地址;
基于预设路由规则,确定与所述接收方容器IP地址相对应的第二目标IP地址,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系,所述第二目标IP地址指的是第二虚拟交换机对所述报文进行转发时下一跳所对应的IP地址,所述第二虚拟交换机是所述接收方容器所对应的虚拟交换机;
基于所述第二目标IP地址,向所述接收方容器发送所述报文。
27.一种电子设备,其中,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
28.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于不同的虚拟主机的情况下,接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器所在的第一虚拟主机;
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
29.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址,并接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
在先接收到所述虚拟交换机MAC地址的情况下,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文;
在先接收到所述接收方容器MAC地址的情况下,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
30.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第一ARP请求,其中,在接收方容器和发送方容器的IP地址处于同一网段的情况下,所述第一ARP请求中包含接收方容器IP地址;
在所述发送方容器和所述接收方容器的IP地址归属于相同的虚拟主机的情况下,接收所述接收方容器返回的接收方容器MAC地址,并接收第一虚拟交换机返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
在先接收到所述虚拟交换机MAC地址的情况下,基于所述接收方容器MAC地址和所述接收方容器IP地址,向所述接收方容器发送报文;
在先接收到所述接收方容器MAC地址的情况下,基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器发送所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
31.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址;
其中,接收基于所述第二ARP请求返回的目标MAC地址,包括:
接收第一虚拟交换机基于所述第二ARP请求返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
接收所述第一网桥基于所述第二ARP请求返回的第一网桥MAC地址;
其中,在先接收到所述第一网桥MAC地址的情况下,将所述虚拟交换机MAC地址确定为所述目标MAC地址,则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器转发所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
32.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
触发广播发送第二ARP请求,其中,在接收方容器和发送方容器的IP地址处于不同网段的情况下,所述第二ARP请求中包含第一网桥的第一网桥IP地址,所述第一网桥归属于所述发送方容器所在的第一虚拟主机;
接收基于所述第二ARP请求返回的目标MAC地址;
基于所述目标MAC地址,向所述接收方容器发送报文,所述报文中包含所述接收方容器IP地址;
其中,接收基于所述第二ARP请求返回的目标MAC地址,包括:
接收第一虚拟交换机基于所述第二ARP请求返回的虚拟交换机MAC地址,所述第一虚拟交换机对应于所述发送方容器;
接收所述第一网桥基于所述第二ARP请求返回的第一网桥MAC地址;
其中,在先接收到所述第一网桥MAC地址的情况下,将所述虚拟交换机MAC地址确定为所述目标MAC地址,则基于所述目标MAC地址,向所述接收方容器发送报文,包括:
基于所述虚拟交换机MAC地址和所述接收方容器IP地址,向所述第一虚拟交换机发送所述报文,供所述第一虚拟交换机基于预设路由规则向所述接收方容器转发所述报文,其中,所述预设路由规则反映容器的IP地址与该容器所在虚拟主机的IP地址和/或所属主机的IP地址之间的对应关系。
CN201810964750.9A 2018-08-23 2018-08-23 容器通信方法及装置 Active CN110858821B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810964750.9A CN110858821B (zh) 2018-08-23 2018-08-23 容器通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810964750.9A CN110858821B (zh) 2018-08-23 2018-08-23 容器通信方法及装置

Publications (2)

Publication Number Publication Date
CN110858821A CN110858821A (zh) 2020-03-03
CN110858821B true CN110858821B (zh) 2022-01-07

Family

ID=69635125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810964750.9A Active CN110858821B (zh) 2018-08-23 2018-08-23 容器通信方法及装置

Country Status (1)

Country Link
CN (1) CN110858821B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210326806A1 (en) * 2020-04-21 2021-10-21 United Parcel Service Of America, Inc. Asset Return Technology
CN113630300B (zh) * 2020-05-09 2023-08-08 华为技术有限公司 用于报文传输的方法和节点
CN113452806B (zh) * 2021-06-24 2022-10-04 上海道客网络科技有限公司 基于Kubernetes***的容器适配SDN网络管理方法和***
CN113645069B (zh) * 2021-08-06 2022-09-23 联想(北京)有限公司 一种集群数据处理方法和集群
CN114301913B (zh) * 2021-12-24 2024-03-08 杭州萤石软件有限公司 一种请求处理方法及***
CN114629844B (zh) * 2022-02-28 2024-04-05 浙江大华技术股份有限公司 一种报文转发的方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117856A (ja) * 1999-10-19 2001-04-27 Toshiba Corp コンピュータシステムおよび同システムの制御方法
CN105306368A (zh) * 2015-09-17 2016-02-03 杭州数梦工场科技有限公司 一种数据报文的传输方法和装置
CN106169994A (zh) * 2016-06-29 2016-11-30 中国联合网络通信集团有限公司 容器间通信的安全控制方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001117856A (ja) * 1999-10-19 2001-04-27 Toshiba Corp コンピュータシステムおよび同システムの制御方法
CN105306368A (zh) * 2015-09-17 2016-02-03 杭州数梦工场科技有限公司 一种数据报文的传输方法和装置
CN106169994A (zh) * 2016-06-29 2016-11-30 中国联合网络通信集团有限公司 容器间通信的安全控制方法及装置

Also Published As

Publication number Publication date
CN110858821A (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
CN110858821B (zh) 容器通信方法及装置
US11003480B2 (en) Container deployment method, communication method between services, and related apparatus
CN107645444B (zh) 用于虚拟机与云服务计算设备之间的快速路由传输的***、设备和方法
CN107566441B (zh) 用于虚拟机与云服务计算设备之间的快速路由传输的方法及***
CN115291964B (zh) 减少无服务器函数启动延迟的机制
CN111866064B (zh) 一种负载均衡的方法、装置和***
US10419361B2 (en) Interworking between physical network and virtual network
US9378042B2 (en) Virtual machine multicast/broadcast in virtual network
CN109428749B (zh) 网络管理方法及相关设备
CN112513816B (zh) 函数即服务(faas)执行分配器
US10461958B2 (en) Packet transmission method and apparatus
US11018944B2 (en) Method and apparatus for virtualized network function scaling that is initiated by network management and/or element management
US10257152B2 (en) Suppressing ARP broadcasting in a hypervisor
EP3092753A1 (en) Routing messages between virtual networks
CN113676564B (zh) 数据传输方法、装置及存储介质
CN108810183B (zh) 冲突mac地址的处理方法、装置和机器可读存储介质
US11652666B2 (en) Methods for identifying a source location in a service chaining topology
EP3369217B1 (en) Multiple gateway operation on single operating system
KR101493933B1 (ko) 하드웨어 스위치 및 소프트웨어 스위치를 사용하여 가상 머신의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN112788072B (zh) 数据处理方法、数据处理***、计算机设备、存储介质
US20180167430A1 (en) Suppressing broadcasts in cloud environments
CN114466011B (zh) 一种元数据服务请求方法、装置、设备及介质
CN114900458B (zh) 报文转发方法、设备、介质及产品
WO2022111173A1 (zh) 网络切片接入方法、设备、***及存储介质
CN115065730A (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