CN115580497A - 容器环境下数据传输控制方法、设备及存储介质 - Google Patents

容器环境下数据传输控制方法、设备及存储介质 Download PDF

Info

Publication number
CN115580497A
CN115580497A CN202211576847.5A CN202211576847A CN115580497A CN 115580497 A CN115580497 A CN 115580497A CN 202211576847 A CN202211576847 A CN 202211576847A CN 115580497 A CN115580497 A CN 115580497A
Authority
CN
China
Prior art keywords
address
container group
information
target
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211576847.5A
Other languages
English (en)
Other versions
CN115580497B (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.)
Jiangsu Boyun Technology Co ltd
Original Assignee
Jiangsu Boyun 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 Jiangsu Boyun Technology Co ltd filed Critical Jiangsu Boyun Technology Co ltd
Priority to CN202211576847.5A priority Critical patent/CN115580497B/zh
Publication of CN115580497A publication Critical patent/CN115580497A/zh
Application granted granted Critical
Publication of CN115580497B publication Critical patent/CN115580497B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Abstract

本申请涉及计算机技术领域,具体涉及容器环境下数据传输控制方法、设备及存储介质。其包括:获取预设的IP地址信息、端口号信息和协议信息;确定IP地址信息所指示的目标IP地址的掩码的第一网络位位数;确定待控制容器组的容器组IP地址的掩码的第二网络位位数;基于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,得到目标IP地址对应的目标整型地址和容器组IP地址对应的容器组整型地址;将目标整型地址和容器组整型地址进行拼接,得到条目地址;基于条目地址、端口号信息和协议信息,得到条目信息,并将条目信息存储至哈希表中。可以解决解决网络波动和网络延迟的问题。

Description

容器环境下数据传输控制方法、设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及容器环境下数据传输控制方法、设备及存储介质。
背景技术
在容器环境中,出于某些目的需要对特定容器组的数据传输进行控制,例如,禁止特定容器组向预设的IP地址发送数据。
传统的数据传输控制方法,包括:获取预设的网络策略配置文件;通过网络控制器对配置文件进行解析,得到数据控制规则;通过防火墙(iptables)安装数据控制规则,从而使符合规则的数据包通过,而不符合规则的数据包被拦截并且丢弃。
然而,当需要设置允许容器组IP地址和多容器组IP地址之间的数据传输时,可能产生成百上千甚至上万条的防火墙的数据控制规则,例如,允许IP地址为10.1.0.0/16的多容器组IP地址与IP地址为192.168.1.2的容器组IP地址之间的数据传输,会产生65536条数据控制规则。当需要设置允许多容器组IP地址到多容器组IP地址之间的数据传输时,会产生远多于此的数据控制规则,而防火墙的规则查找是线性的,根据数据控制规则存储位置的不同,查找时间也不同。由于查找时间的不稳定,在数据控制规则过多的情况下,会导致数据传输不稳定,从而导致网络波动和网络延迟的问题。
发明内容
本申请提供了一种容器环境下数据传输控制方法,可以解决网络波动和网络延迟的问题,本申请提供如下技术方案:
第一方面,提供了一种容器环境下数据传输控制方法,应用于网络控制器;所述方法包括:获取预设的IP地址信息、端口号信息和协议信息;确定所述IP地址信息所指示的目标IP地址的掩码的第一网络位位数;确定待控制容器组的容器组IP地址的掩码的第二网络位位数;所述待控制容器组为需要进行数据传输控制的容器组;基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址;将所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址;基于所述条目地址、所述端口号信息和所述协议信息,得到条目信息,并将所述条目信息存储至哈希表中,以使数据包过滤模块在监测到所述待控制容器组接收或发送的数据包的情况下,基于所述数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和所述条目信息,控制所述数据包发送、接收或者丢弃;所述数据包IP地址包括所述目标IP地址和所述容器组IP地址。
可选地,所述基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址,包括:在所述第二网络位位数和/或所述第三网络位位数大于24的情况下,将所述目标IP地址拆分成掩码的网络位位数为32的IP地址,得到所述目标整型地址;将所述容器组IP地址拆分成掩码的网络位位数为32的IP地址,得到所述容器组整型地址。
可选地,所述基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址,还包括:在所述第一网络位位数和所述第二网络位位数都小于或者等于24的情况下,将所述目标IP地址拆分成掩码的网络位位数为24的IP地址,得到所述目标整型地址;将所述容器组IP地址拆分成掩码的网络位位数为24的IP地址,得到所述容器组整型地址。
可选地,所述目标IP地址包括发送端IP地址或接收端IP地址。
可选地,所述将所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址,包括:通过拼接符号对所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址。
第二方面,提供了一种容器环境下数据传输控制方法,应用于数据包过滤模块;所述方法包括:对待控制容器组进行实时监测;在待控制容器组接收或发送数据包的情况下,获取所述数据包;在所述数据包中提取数据包IP地址、数据包端口号信息和数据包协议信息;所述数据包IP地址包括目的地IP地址和所述待控制容器组的容器组IP地址;通过对所述目的地IP地址和所述容器组IP地址进行拼接,得到数据包条目地址;确定是否存在与所述数据包条目地址相同的条目地址;在确定出所述条目地址的情况下,获取所述条目地址对应的端口号信息和协议信息;确定所述数据包端口号信息和所述数据包协议信息是否与所述端口号信息和所述协议信息匹配;在所述数据包端口号信息和所述数据包协议信息与所述端口号信息和所述协议信息匹配的情况下,按照所述数据包IP地址、所述数据包端口号信息和所述数据包协议信息,传输所述数据包。
可选地,所述方法还包括:在确定不存在与所述数据包条目地址相同的条目地址的情况下,将所述数据包丢弃。
可选地,所述方法还包括:在所述数据包端口号信息和所述数据包协议信息与所述端口号信息和所述协议信息不匹配的情况下,将所述数据包丢弃。
第三方面,提供一种电子设备,包括存储器、控制器以及存储在存储器上并可在控制器上运行的计算机程序,所述控制器执行所述计算机程序时实现上述容器环境下数据传输控制方法的步骤。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的容器环境下数据传输控制方法。
本申请的有益效果至少包括:通过获取预设的IP地址信息、端口号信息和协议信息;确定IP地址信息所指示的目标IP地址的掩码的网络位位数;确定待控制容器组的容器组IP地址的掩码的网络位位数;待控制容器组为需要进行数据传输控制的容器组;基于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,得到目标IP地址对应的目标整型地址和容器组IP地址对应的容器组整型地址;将目标整型地址和容器组整型地址进行拼接,得到条目地址;基于条目地址、端口号信息和协议信息,得到条目信息,并将条目信息存储至哈希表中,以使数据包过滤模块在监测到待控制容器组接收或发送的数据包的情况下,基于数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和条目信息,控制数据包发送、接收或者丢弃;数据包IP地址包括目标IP地址和容器组IP地址。可以解决在数据控制规则过多的情况下,导致的网络波动和网络延迟的问题。通过将目标整型地址和容器组整型地址拼接得到的条目地址与对应的端口号信息和协议信息作为条目信息存入哈希表中,当待控制容器接收或发送数据包时,数据包过滤模块提取数据包IP地址、数据包端口号信息、数据包协议信息与哈希表中存储的条目信息进行匹配,从而控制数据包发送、接收或者丢弃,由于哈希表查找的时间复杂度为是O(1),因此可以解决网络波动和网络延迟的问题。
另外,在确定不存在与数据包条目地址相同的条目地址的情况下,将数据包丢弃;在数据包端口号信息和数据包协议信息与端口号信息和协议信息不匹配的情况下,将数据包丢弃。可以对待控制容器组接收或发送的数据包进行控制,从而保证数据传输的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的容器环境下数据传输控制方法的流程图;
图2是本申请一个实施例提供的配置信息的示意图;
图3是本申请一个实施例提供的条目地址的示意图;
图4是本申请又一个实施例提供的容器环境下数据传输控制方法的流程图;
图5是本申请又一个实施例提供的条目地址的示意图;
图6是本申请一个实施例提供的数据包过滤模块处理的流程图;
图7是本申请一个实施例提供的容器环境下数据传输控制装置的框图;
图8是本申请一个实施例提供的电子设备的框图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本申请中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的,或者是针对部件本身在竖直、垂直或重力方向上而言的;同样地,为便于理解和描述,“内、外”是指相对于各部件本身的轮廓的内、外,但上述方位词并不用于限制本申请。
首先,对于本申请涉及的若干名词进行介绍。
容器环境(Kubernetes,K8s):是用于自动部署、拓展和管理、容器化应用的开源系统。
节点(Node):是容器环境中的工作负载节点,每个节点都会被分配工作负载,节点包括代理组件和容器组。
容器组(Pod):是容器环境进行资源调度的最小单位,每个容器组中运行着一个或多个密切相关的容器。
网络控制器:又称网络容器接口(Container Network Interface,CNI)控制器,用于管理所有的容器组的网络策略规则。
网络策略实体资源(Network Policy):是一种容器环境中的资源,用于设置容器组IP地址之间的数据传输规则。
数据包过滤模块(Extended Berkeley Packet Filter,eBPF):是一种网络数据过滤器,为捕捉和过滤符合特定规则的数据包而设计的,网络数据过滤器为运行在基于寄存器的虚拟机上的程序。
过滤规则存储表(Extended Berkeley Packet Filter Map,eBPF Map):是一个通用的key-value存储结构,可以用来存储任意类型的数据。
关键字-值(Key-Value):一种以键值对存储数据的结构,每个关键字都会对应一个唯一的值。
比特图(BitMap):通过一个比特数组来存储特定数据的一种数据结构,由于比特是数据的最小单位,所以这种数据结构往往是非常节省存储空间。
时间复杂度:用来估算程序的运行时间,时间复杂度为O(1)表示时间复杂度最小。
互联网协议地址(Internet Protocol Address,IP):是指互联网协议地址,是互联网协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
下面对本申请提供的容器环境下数据传输控制方法进行详细介绍。
如图1所示,本申请的实施例提供一种容器环境下数据传输控制方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于智能手机、平板电脑、个人电脑等计算机设备或者运行于服务器,本实施例不对该方法的运行主体作限定。该方法至少包括以下几个步骤:
步骤101,获取预设的IP地址信息、端口号信息和协议信息。
其中,IP地址信息是用于指示目标IP地址的信息。目标IP地址包括发送端IP地址或接收端IP地址。
在目标IP地址为发送端IP地址的情况下,待控制容器组为接收端。在目标IP地址为接收端IP地址的情况下,待控制容器组为发送端。其中,待控制容器组是指需要进行数据传输控制的容器组。
比如:参考图2,待控制容器组为命名空间为“default”下的“role=db”的容器组。“ingress”表示待控制容器组为接收端,目标IP地址为发送端,即,允许IP地址为172.17.0.0/16中除IP地址为172.17.1.0/24的发送端IP地址向待控制容器组发送数据,且端口号为6379,协议信息为TCP。“egress”表示待控制容器组为发送端,目标IP地址为接收端,即,允许待控制容器组向IP地址为10.0.0.0/24的接收端IP地址向发送数据,且端口号为5978,协议信息为TCP。
在本实施例中,在网络策略实体资源存在更新的情况下,通过网络控制器对网络策略实体资源进行检测,获取IP地址信息、端口号信息和协议信息。
具体地,获取预设的IP地址信息、端口号信息和协议信息,包括:对网络策略实体资源进行监听;在监听到网络策略实体资源更新的情况下,对网络策略实体资源进行检测,得到IP地址信息、端口号信息和协议信息。
其中,网络策略实体资源在接收用户自定义的配置信息后,网络策略实体资源的各个字段接收对应的配置信息。配置信息包括IP地址信息、端口号信息和协议信息。
步骤102,确定IP地址信息所指示的目标IP地址的掩码的第一网络位位数。
步骤103,确定待控制容器组的容器组IP地址的掩码的第二网络位位数。
步骤104,基于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,得到目标IP地址对应的目标整型地址和容器组IP地址对应的容器组整型地址。
在本实施例中,基于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,至少包括以下两种情况中的任意一种:
第一种,目标IP地址的掩码的第一网络位位数和/或容器组IP地址的掩码的第二网络位位数大于24。
具体地,在第一网络位位数和/或第二网络位位数大于24的情况下,将目标IP地址拆分成掩码的网络位位数为32的IP地址,得到目标整型地址;将容器组IP地址拆分成掩码的网络位位数为32的IP地址,得到容器组整型地址。
比如:以容器组IP地址为192.168.1.2,目标IP地址为10.1.0.0/16为例,由于容器组IP地址192.168.1.2的掩码的网络位位数为32,大于24,因此需要将容器组IP地址和目标IP地址都拆分成掩码的网络位位数为32的IP地址。其中,得到的容器组整型地址为192.168.1.2;目标整型地址为10.1.0.0、10.1.0.1、10.1.0.2、10.1.0.3直至10.1.255.255。
第二种,目标IP地址的掩码的第一网络位位数和容器组IP地址的掩码的第二网络位位数都小于或者等于24。
具体地,在第一网络位位数和第二网络位位数都小于或者等于24的情况下,将目标IP地址拆分成掩码的网络位位数为24的IP地址,得到目标整型地址;将容器组IP地址拆分成掩码的网络位位数为24的IP地址,得到容器组整型地址。
比如:以容器组IP地址为192.168.1.0/24,目标IP地址为10.1.0.0/16为例,由于容器组IP地址的掩码的网络位位数和目标IP地址的掩码的网络位位数都小于或等于24,因此,将容器组IP地址和目标IP地址拆分成掩码的网络位位数为24的IP地址。其中,得到的容器组整型地址为192.168.1.0;目标整型地址为10.1.0.0、10.1.1.0、10.1.2.0、10.1.3.0直至10.1.255.0。
步骤105,将目标整型地址和容器组整型地址进行拼接,得到条目地址。
由于在对目标整型地址和容器组整型地址进行拼接时,目标整型地址和容器组整型地址不同的拼接顺序,会导致得到的条目地址也不同。因此,在对目标整型地址和容器组整型地址进行拼接之前,还需要确定目标整型地址和容器组整型地址的拼接顺序。
在本实施例中,目标整型地址和容器组整型地址的拼接顺序可以根据目标IP地址为发送端IP地址或接收端IP地址的情况确定。例如,在目标IP地址为发送端IP地址的情况下,即,在待控制容器组为接收端的情况下,将待控制容器组对应的容器组整型地址放在前,目标整型地址放在后进行拼接,或者将目标整型地址放在前,容器组整型地址放在后进行拼接。此处不对拼接顺序的实现方式作限定。
另外,为了使条目地址更加清楚,通过拼接符号对目标整型地址和容器组整型地址进行分隔。
具体地,将目标整型地址和容器组整型地址进行拼接,得到条目地址,包括:通过拼接符号对目标整型地址和容器组整型地址进行拼接,得到条目地址。
其中,拼接符号可以是“||”,也可以是“+”,此处不对拼接符号的实现方式作限定。
比如:参考图3,以拼接符号为“||”、目标IP地址为接收端、容器组IP地址为192.168.1.0/24、目标IP地址为10.1.0.0/16为例,在对目标IP地址和容器组IP地址进行拆分后,得到的容器组整型地址为192.168.1.0,得到的目标整型地址为10.1.0.0、10.1.1.0、10.1.2.0、10.1.3.0直至10.1.255.0,通过拼接符号“||”对目标整型地址和容器组整型地址进行拼接,按照接收端对应的目标整型地址放在后,容器组整型地址放在前的拼接顺序,可以得到如图3所示的256条条目地址。
步骤106,基于条目地址、端口号信息和协议信息,得到条目信息,并将条目信息存储至哈希表中,以使数据包过滤模块在监测到待控制容器组接收或发送的数据包的情况下,基于数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和条目信息,控制数据包发送、接收或者丢弃;数据包IP地址包括目标IP地址和容器组IP地址。
在本实施例中,条目信息以关键字-值(Key-Value)的数据结构存储条目地址、端口号信息和协议信息。其中,条目地址作为关键字(Key),端口号信息和协议信息以比特图(BitMap)的数据结构形式作为值(Value)。
网络控制器在得到条目信息将条目信息存入哈希表中,由于在哈希表中查找数据的时间复杂度可以为O(1),O(1)表示查找耗时与数据量无关,无论哈希表中存储的数据量多少,查找耗时都不变,因此不会导致数据传输不稳定,从而避免了网络波动和网络延迟的问题。
在待控制容器组实际数据传输过程中,数据包过滤模块实时监测待控制容器组,对待控制容器组接收或发送的数据包进行分析,从而控制数据包的发送、接收或者丢弃。
参考图4,图4示出了数据包过滤模块控制数据包的过程,至少包括步骤401至步骤408:
步骤401:对待控制容器组进行实时监测。
步骤402:在待控制容器组接收或发送数据包的情况下,获取数据包。
步骤403:在数据包中提取数据包IP地址、数据包端口号信息和数据包协议信息。
其中,数据包IP地址包括目的地IP地址和待控制容器组的容器组IP地址。
步骤404:通过对目的地IP地址和容器组IP地址进行拼接,得到数据包条目地址。
在本实施例中,在对目的地IP地址和容器组IP地址进行拼接得到数据包条目地址的过程中所使用的拼接顺序与将目标整型地址和容器组整型地址进行拼接得到条目地址的过程中所使用的拼接顺序相同。
比如:以拼接符号为“||”、待控制容器组为发送端,目标IP地址为接收端,容器组IP地址为192.168.1.2、目标IP地址为10.1.0.0/16、目的地IP地址为10.1.0.2为例,在将目标整型地址和容器组整型地址进行拼接得到条目地址的过程中所使用的的拼接顺序为发送端对应的IP地址放在前,接收端对应的IP地址放在后,则经过拆分和拼接后得到的条目地址如图5所示。在对目的地IP地址和容器组IP地址进行拼接时,由于待控制容器组为发送端,将容器组IP地址放在前,目的地IP地址放在后,得到数据包条目地址为“192.168.1.2||10.1.0.2”。
步骤405:确定是否存在与数据包条目地址相同的条目地址。
为了确定数据包条目地址是否为允许数据传输的条目地址,还需要去存储有条目地址的哈希表中查找是否存在与数据包条目地址相同的条目地址。
比如:以数据包条目地址为“192.168.1.2||10.1.0.2”和图5示出的条目地址为例,由于图5示出的条目地址已经存储在哈希表中,并且条目地址中包括“192.168.1.2||10.1.0.2”,因此能够确定存在与数据包条目地址相同的条目地址。
步骤406:在确定出条目地址的情况下,获取条目地址对应的端口号信息和协议信息。
在哈希表中,条目地址与其对应的端口号信息和协议信息以关键字-值(Key-Value)的数据结构存储。在确定出条目地址的情况下,根据关键字-值(Key-Value)的数据结构,获取条目地址对应的端口号信息和协议信息。
在确定不存在与数据包条目地址相同的条目地址的情况下,将数据包丢弃。
步骤407:确定数据包端口号信息和数据包协议信息是否与端口号信息和协议信息匹配。
参考图6,在确定存在与数据包条目地址相同的条目地址的情况下,获取条目对应的端口号信息和协议信息,确定端口号信息和协议信息是否匹配,在确定数据包端口号信息和数据包协议信息与端口号信息和协议信息匹配的情况下,传输数据包;在确定数据包端口号信息和数据包协议信息与端口号信息和协议信息不匹配的情况下,丢弃数据包。
步骤408:在数据包端口号信息和数据包协议信息与端口号信息和协议信息匹配的情况下,按照数据包IP地址、数据包端口号信息和数据包协议信息,传输数据包。
在数据包端口号信息和数据包协议信息与端口号信息和协议信息不匹配的情况下,将数据包丢弃。
综上,本实施例提供的容器环境下数据传输控制方法,通过获取预设的IP地址信息、端口号信息和协议信息;确定IP地址信息所指示的目标IP地址的掩码的第一网络位位数;确定待控制容器组的容器组IP地址的掩码的第二网络位位数;待控制容器组为需要进行数据传输控制的容器组;基于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,得到目标IP地址对应的目标整型地址和容器组IP地址对应的容器组整型地址;将目标整型地址和容器组整型地址进行拼接,得到条目地址;基于条目地址、端口号信息和协议信息,得到条目信息,并将条目信息存储至哈希表中,以使数据包过滤模块在监测到待控制容器组接收或发送的数据包的情况下,基于数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和条目信息,控制数据包发送、接收或者丢弃;数据包IP地址包括目标IP地址和容器组IP地址。可以解决在数据控制规则过多的情况下,导致的网络波动和网络延迟的问题。通过将目标整型地址和容器组整型地址拼接得到的条目地址与对应的端口号信息和协议信息作为条目信息存入哈希表中,当待控制容器接收或发送数据包时,数据包过滤模块提取数据包IP地址、数据包端口号信息、数据包协议信息与哈希表中存储的条目信息进行匹配,从而控制数据包发送、接收或者丢弃,由于哈希表查找的时间复杂度为是O(1),因此可以解决网络波动和网络延迟的问题。
另外,在确定不存在与数据包条目地址相同的条目地址的情况下,将数据包丢弃;在数据包端口号信息和数据包协议信息与端口号信息和协议信息不匹配的情况下,将数据包丢弃。可以对待控制容器组接收或发送的数据包进行控制,从而保证数据传输的安全性。
本实施例提供一种容器环境下数据传输控制装置,如图7所示。该装置包括至少以下几个模块:信息获取模块710、第一确定模块720、第二确定模块730、地址整型模块740、地址拼接模块750和地址存储模块760。
信息获取模块710,用于获取预设的IP地址信息、端口号信息和协议信息。
第一确定模块720,用于确定IP地址信息所指示的目标IP地址的掩码的第一网络位位数。
第二确定模块730,用于确定待控制容器组的容器组IP地址的掩码的第二网络位位数;待控制容器组为需要进行数据传输控制的容器组。
地址整型模块740,用于第一网络位位数和第二网络位位数,对目标IP地址和容器组IP地址进行调整,得到目标IP地址对应的目标整型地址和容器组IP地址对应的容器组整型地址。
地址拼接模块750,用于将目标整型地址和容器组整型地址进行拼接,得到条目地址。
地址存储模块760,用于基于条目地址、端口号信息和协议信息,得到条目信息,并将条目信息存储至哈希表中,以使数据包过滤模块在监测到待控制容器组接收或发送的数据包的情况下,基于数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和条目信息,控制数据包发送、接收或者丢弃;数据包IP地址包括目标IP地址和容器组IP地址。
相关细节参考上述方法和设备实施例。
需要说明的是:上述实施例中提供的容器环境下数据传输控制装置在进行容器环境下数据传输控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将容器环境下数据传输控制装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的容器环境下数据传输控制装置与容器环境下数据传输控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供一种电子设备,如图8所示。该电子设备至少包括处理器810和存储器820。
处理器810可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器810可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器810也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器810可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器810还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器820可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器820还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器820中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器810所执行以实现本申请中方法实施例提供的容器环境下数据传输控制方法。
在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器810、存储器820和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,计算机可读存储介质中存储有程序,程序由处理器加载并执行以实现上述方法实施例的容器环境下数据传输控制方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
显然,上述所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,可以做出其它不同形式的变化或变动,都应当属于本申请保护的范围。

Claims (10)

1.一种容器环境下数据传输控制方法,其特征在于,应用于网络控制器;所述方法包括:
获取预设的IP地址信息、端口号信息和协议信息;
确定所述IP地址信息所指示的目标IP地址的掩码的第一网络位位数;
确定待控制容器组的容器组IP地址的掩码的第二网络位位数;所述待控制容器组为需要进行数据传输控制的容器组;
基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址;
将所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址;
基于所述条目地址、所述端口号信息和所述协议信息,得到条目信息,并将所述条目信息存储至哈希表中,以使数据包过滤模块在监测到所述待控制容器组接收或发送的数据包的情况下,基于所述数据包所携带的数据包IP地址、数据包端口号信息、数据包协议信息和所述条目信息,控制所述数据包发送、接收或者丢弃;所述数据包IP地址包括所述目标IP地址和所述容器组IP地址。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址,包括:
在所述第一网络位位数和/或所述第二网络位位数大于24的情况下,将所述目标IP地址拆分成掩码的网络位位数为32的IP地址,得到所述目标整型地址;
将所述容器组IP地址拆分成掩码的网络位位数为32的IP地址,得到所述容器组整型地址。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一网络位位数和所述第二网络位位数,对所述目标IP地址和所述容器组IP地址进行调整,得到所述目标IP地址对应的目标整型地址和所述容器组IP地址对应的容器组整型地址,还包括:
在所述第一网络位位数和所述第二网络位位数都小于等于24的情况下,将所述目标IP地址拆分成掩码的网络位位数为24的IP地址,得到所述目标整型地址;
将所述容器组IP地址拆分成掩码的网络位位数为24的IP地址,得到所述容器组整型地址。
4.根据权利要求1所述的方法,其特征在于,所述目标IP地址包括发送端IP地址或接收端IP地址。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址,包括:
通过拼接符号对所述目标整型地址和所述容器组整型地址进行拼接,得到条目地址。
6.一种容器环境下数据传输控制方法,其特征在于,应用于数据包过滤模块;所述方法包括:
对待控制容器组进行实时监测;
在待控制容器组接收或发送数据包的情况下,获取所述数据包;
在所述数据包中提取数据包IP地址、数据包端口号信息和数据包协议信息;所述数据包IP地址包括目的地IP地址和所述待控制容器组的容器组IP地址;
通过对所述目的地IP地址和所述容器组IP地址进行拼接,得到数据包条目地址;
确定是否存在与所述数据包条目地址相同的条目地址;
在确定出所述条目地址的情况下,获取所述条目地址对应的端口号信息和协议信息;
确定所述数据包端口号信息和所述数据包协议信息是否与所述端口号信息和所述协议信息匹配;
在所述数据包端口号信息和所述数据包协议信息与所述端口号信息和所述协议信息匹配的情况下,按照所述数据包IP地址、所述数据包端口号信息和所述数据包协议信息,传输所述数据包。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在确定不存在与所述数据包条目地址相同的条目地址的情况下,将所述数据包丢弃。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述数据包端口号信息和所述数据包协议信息与所述端口号信息和所述协议信息不匹配的情况下,将所述数据包丢弃。
9.一种电子设备,其特征在于,所述电子设备包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电子设备执行如权利要求1至8中任一项所述容器环境下数据传输控制方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1至8中任一项所述容器环境下数据传输控制方法的步骤。
CN202211576847.5A 2022-12-09 2022-12-09 容器环境下数据传输控制方法、设备及存储介质 Active CN115580497B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211576847.5A CN115580497B (zh) 2022-12-09 2022-12-09 容器环境下数据传输控制方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211576847.5A CN115580497B (zh) 2022-12-09 2022-12-09 容器环境下数据传输控制方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115580497A true CN115580497A (zh) 2023-01-06
CN115580497B CN115580497B (zh) 2023-04-28

Family

ID=84590773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211576847.5A Active CN115580497B (zh) 2022-12-09 2022-12-09 容器环境下数据传输控制方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115580497B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488945A (zh) * 2023-06-20 2023-07-25 杭州默安科技有限公司 一种容器网络隔离方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282884A1 (en) * 2012-04-19 2013-10-24 Cisco Technology, Inc. Enabling applications in a multi-transport stack environment
US20140277788A1 (en) * 2012-07-31 2014-09-18 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
CN112291094A (zh) * 2020-10-30 2021-01-29 康键信息技术(深圳)有限公司 容器网络管理方法、装置、设备及存储介质
CN113438295A (zh) * 2021-06-22 2021-09-24 康键信息技术(深圳)有限公司 容器组地址分配方法、装置、设备及存储介质
CN114338594A (zh) * 2022-03-14 2022-04-12 江苏博云科技股份有限公司 在Kubernetes环境下的ARP代答方法、装置、设备及存储介质
CN115037812A (zh) * 2022-06-06 2022-09-09 国科华盾(北京)科技有限公司 一种面向容器云场景的网络模式数据处理方法
CN115333993A (zh) * 2022-10-11 2022-11-11 江苏博云科技股份有限公司 容器环境下自定义容器组路由的方法、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282884A1 (en) * 2012-04-19 2013-10-24 Cisco Technology, Inc. Enabling applications in a multi-transport stack environment
US20140277788A1 (en) * 2012-07-31 2014-09-18 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
CN112291094A (zh) * 2020-10-30 2021-01-29 康键信息技术(深圳)有限公司 容器网络管理方法、装置、设备及存储介质
CN113438295A (zh) * 2021-06-22 2021-09-24 康键信息技术(深圳)有限公司 容器组地址分配方法、装置、设备及存储介质
CN114338594A (zh) * 2022-03-14 2022-04-12 江苏博云科技股份有限公司 在Kubernetes环境下的ARP代答方法、装置、设备及存储介质
CN115037812A (zh) * 2022-06-06 2022-09-09 国科华盾(北京)科技有限公司 一种面向容器云场景的网络模式数据处理方法
CN115333993A (zh) * 2022-10-11 2022-11-11 江苏博云科技股份有限公司 容器环境下自定义容器组路由的方法、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488945A (zh) * 2023-06-20 2023-07-25 杭州默安科技有限公司 一种容器网络隔离方法和系统
CN116488945B (zh) * 2023-06-20 2023-09-15 杭州默安科技有限公司 一种容器网络隔离方法和系统

Also Published As

Publication number Publication date
CN115580497B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US20140173094A1 (en) Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers
US20220150154A1 (en) Automatically managing a mesh network based on dynamically self-configuring node devices
CN110119304B (zh) 一种中断处理方法、装置及服务器
WO2022267175A1 (zh) 信息处理方法、装置、计算机设备及存储介质
CN115567446A (zh) 报文转发方法、装置、计算设备及卸载卡
CN112565334B (zh) 物联网设备的接入方法、装置及mqtt网关
CN115168162B (zh) 容器环境基于ingress控制器多灰度发布方法、设备及存储介质
CN115580497A (zh) 容器环境下数据传输控制方法、设备及存储介质
US10938773B2 (en) Method and apparatus for synchronizing contact information and medium
CN113079098B (zh) 路由更新的方法、装置、设备和计算机可读介质
CN110708209B (zh) 虚拟机流量采集方法、装置、电子设备及存储介质
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
CN113541987A (zh) 一种更新配置数据的方法和装置
CN115484187B (zh) 容器环境下容器网络接口测试方法、设备及存储介质
CN116032614A (zh) 容器网络微隔离方法、装置、设备和介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN116015796A (zh) 一种流表更新方法、装置、防火墙设备及存储介质
CN113612643B (zh) 云手机的网络配置方法、装置、设备以及存储介质
CN115442129A (zh) 一种管理集群访问权限的方法、装置和系统
CN112910910B (zh) Opcda协议报文处理方法、装置、设备以及存储介质
CN115002028A (zh) 一种报文处理方法、装置及介质
CN111988446B (zh) 一种报文处理方法、装置、电子设备及存储介质
Ahmad et al. Protection of centralized SDN control plane from high-rate Packet-In messages
CN112380411A (zh) 敏感词处理方法、装置、电子设备、系统及存储介质
CN105072047A (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