WO2024113776A1 - 数据传输方法以及相关设备 - Google Patents

数据传输方法以及相关设备 Download PDF

Info

Publication number
WO2024113776A1
WO2024113776A1 PCT/CN2023/101403 CN2023101403W WO2024113776A1 WO 2024113776 A1 WO2024113776 A1 WO 2024113776A1 CN 2023101403 W CN2023101403 W CN 2023101403W WO 2024113776 A1 WO2024113776 A1 WO 2024113776A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
security policy
bare metal
data packet
policy information
Prior art date
Application number
PCT/CN2023/101403
Other languages
English (en)
French (fr)
Inventor
卞赛
李俊武
刘鹏飞
Original Assignee
华为云计算技术有限公司
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 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024113776A1 publication Critical patent/WO2024113776A1/zh

Links

Abstract

本申请实施例公开了数据传输方法以及相关设备,用于解决增强型裸机场景下交换机的ACL规格能力有限的问题,并在增强型裸机能力的场景下实现安全策略能力。本申请实施例方法应用于增强型裸机场景中的交换机,交换机包括agent模块。方法包括:agent模块获取目标数据包,目标数据包携带目标裸机标识和通信标识。根据目标裸机标识,确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。根据安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。

Description

数据传输方法以及相关设备
本申请要求于2022年11月28日提交中国国家知识产权局、申请号为202211508531.2、发明名称为“一种增强型裸机安全组防火墙方法”、以及于2023年03月23日提交中国国家知识产权局、申请号为CN202310293930.X、发明名称为“数据传输方法以及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及数据传输方法以及相关设备。
背景技术
裸机表示在物理硬件上直接运行单个操作系统并运行程序,资源独享。能够满足极致性能场景下,例如客户的应用要求工作负载能够急速地访问硬件资源并独占。基于交换机实现的增强型裸机,能够实现裸机与虚拟机、裸机与裸机之间的业务流量互通,有着更广泛的应用前景。
由于交换机的访问控制列表(access control list,ACL)规格能力有限,无法满足当前云平台的安全组或者防火墙的策略数量规格,导致目前增强型裸机方案存在能力缺失,也即无法提供云上传统的安全组或者防火墙能力。
发明内容
本申请提供了数据传输方法以及相关设备,数据传输方法应用于增强型裸机场景的交换机,交换机中的代理(agent)模块根据目标数据包携带的目标裸机标识,能够确定目标裸机对应的安全策略信息,也即确定目标数据包对应的安全策略信息。结合目标数据包携带的通信标识和目标数据包对应的安全策略信息,为目标数据包对应的业务流量设置ACL规则。也就是说,本申请在获取目标数据包之后,动态生成指示包括了目标数据包的业务流量的处理方式的ACL规则,解决了交换机的ACL规格能力有限的问题,也在增强型路裸机的场景下实现了安全策略能力。
本申请第一方面提供了一种数据传输方法,该方法应用于增强型裸机场景中的交换机,该交换机包括了agent模块。在交换机处理业务的过程中,agent模块会获取目标数据包,目标数据包携带目标裸机标识和通信标识。目标裸机标识用于指示向交换机发送目标数据包的目标裸机,通信标识用于指示目标数据包对应的通信信息(例如端口信息、地址信息、传输协议等)。根据目标裸机标识,agent模块可以确定目标裸机对应的安全策略信息。其中,目标裸机与交换机具有绑定关系,换句话说,也就是交换机能够处理目标裸机发送的数据包。安全策略信息包括了防火墙信息和/或安全组信息,用于指示数据包的处理方式。确定目标裸机对应的安全策略信息之后,agent模块会根据目标裸机对应的安全策略信息和目标数据包携带的通信标识,确定包含目标数据包的业务流量对应的ACL规则。ACL规则用于指示对包含目标数据包的业务流量的处理方式。具体来说,目标裸机对应的安全策略信息中,会包括至少一条安全策略,其中的每条安全策略对应一个通信标识。因此,agent模块会根据目标数据包的通信标识,从目标裸机对应的安全策略信息中,确定该通信标识对应的安全策略信息。再根据该通信标识对应的安全策略信息,确定包含目标数据包的业务流量对应的ACL规则。
从以上技术方案可以看出,本申请具有以下优点:在获取目标数据包之后,动态生成指示包括了目标数据包的业务流量的处理方式的ACL规则,解决了交换机的ACL规格能力有限的问题,也在增强型路裸机的场景下实现了安全策略能力。
在第一方面的一种可能的实现方式中,在agent模块根据目标裸机标识,确定目标裸机对应的安全策略信息之前,agent模块会缓存安全策略信息。具体来说,agent模块可以通过调用应用程序接口(application interface,API)获取来自于控制器的至少一组安全策略信息。这至少一组安全策略信息与交换机绑定的至少一个裸机一一对应,并且这至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。
在第一方面的一种可能的实现方式中,在agent模块缓存了安全策略信息的情况下,agent模块根据目标裸机标识,确定目标裸机对应的安全策略信息的具体过程,可以是agent模块根据目标裸机标识,从缓存的至少一组安全策略信息中确定目标裸机对应的安全策略信息。
本申请中,agent模块可以预先缓存安全策略信息,这样在获取目标数据包之后,就可以直接从缓 存的安全策略信息中确定所需要的目标数据包对应的安全策略信息。并不需要再向控制器申请,简化了确定目标数据包对应的安全策略信息的步骤,降低了处理时间,也提升了处理效率。
在第一方面的一种可能的实现方式中,agent模块也可以不缓存安全策略信息。在这种情况下,agent模块根据目标裸机标识,确定目标裸机对应的安全策略信息的过程可以是:agent模块通过API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识,安全策略请求用于请求获取目标裸机标识指示的目标裸机对应的安全策略信息。控制器收到安全策略请求后,向agent模块发送安全策略响应,该安全策略响应包括目标裸机对应的安全策略信息。也就是说,agent模块可以通过API接收来自于控制器的安全策略响应。
本申请中,在agent模块缓存能力有限或者其他agent模块不缓存安全策略信息的情况下,能够通过与控制器的交互获取目标裸机对应的安全策略信息。总的来说,不论agent模块是否缓存安全策略信息,都有对应的方式确定目标裸机对应的安全策略信息,丰富了本申请技术方案的实现方式和应用场景,提升了技术方案的实用性。
在第一方面的一种可能的实现方式中,agent模块还可以获取目标数据包之外的数据包。与目标数据包类似,该数据包会携带对应的裸机标识,以指示发送该数据包的裸机。如果agent模块确定该数据包对应的裸机(也即发送该数据包的裸机)与交换机没有绑定关系,那么agent模块可以确定丢弃该数据包。
在第一方面的一种可能的实现方式中,通信标识指示目标数据包对应的三元组信息或者五元组信息。三元组信息包括目标数据包的源互联网协议地址(Internet protocol address,IP)、目的IP地址和通信协议。五元组信息在三元组信息基础上,还包括了目标数据包的源端口和目的端口。其中,源IP地址指示发送目标数据包的目标裸机的IP地址;目的IP地址指示接收目标数据包的设备的IP地址;源端口指示发送目标数据包的端口;目的端口指示接收目标数据包的设备的端口;通信协议指示传输目标数据包所使用的协议。三元组信息或者五元组信息均能用于标识会话,或者说是标识业务流量。不同的会话所使用的三元组信息或者五元组信息不同。agent模块根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。具体来说,是根据三元组信息或者五元组信息,从目标裸机对应的安全策略信息中确定目标数据包对应的目标安全策略信息。再根据目标安全策略信息确定ACL规则。具体包括:如果目标安全策略信息指示转发目标数据包,那么agent模块确定ACL规则为转发业务流量对应的数据包。如果目标安全策略信息指示拒绝目标数据包,那么agent模块确定ACL规则为拒绝业务流量对应的数据包。如果目标安全策略信息指示驳回目标数据包,那么agent模块确定ACL规则为驳回业务流量对应的数据包。
本申请中,由于同一条业务流量所包括的数据包所携带的通信标识是一致的,因此,根据业务流量包括的目标数据包携带的通信标识和目标裸机对应的安全策略信息,确定的ACL规则可以适用于包含了目标数据包的业务流量。也就是说,agent模块在确定业务流量对应的ACL规则时,只根据目标数据包进行相关处理即可,并不需要对业务流量包括的其他数据包进行重复处理,减少了计算量,节约了运算资源的同时也提高了效率。
在第一方面的一种可能的实现方式中,交换机还包括了转发芯片。转发芯片收到目标数据包之后发送给agent模块,由agent模块确定包含目标数据包的业务流量对应ACL规则。之后,agent模块向转发芯片发送该ACL规则,该ACL规则指示业务流量了的处理方式。转发芯片接收ACL规则,并根据该ACL规则,处理业务流量包括的数据包。
在第一方面的一种可能的实现方式中,如果业务流量传输完毕,那么转发芯片可以删除ACL规则。其中,业务流量传输完毕,是指转发芯片对业务流量包括的最后一个数据包处理完毕。
本申请中,转发芯片在业务流量传输完毕之后,会删除该业务流量对应的ACL规则,减少了转发芯片在数据面的转发规则数量,释放了转发芯片的资源,也提高资源利用率。
在第一方面的一种可能的实现方式中,在转发芯片的数据面资源空闲较多的情况下,业务流量传输完毕之后,可以暂不删除该业务流量对应的ACL规则。其中,转发芯片的数据面资源空闲较多是指转发面的空闲资源大于或等于资源阈值,资源阈值可以是具体的数值,例如500MB;也可以是空闲资源在数 据面资源占据的比例,例如80%,具体此处不做限定。资源阈值的具体大小,可以根据业务需求和转发芯片的性能确定,具体此处不做限定。一般情况下,转发芯片性能越好,且业务需求的资源越低,资源阈值越低。当转发芯片的数据面资源空闲小于资源阈值,则需要对转发芯片缓存的ACL规则进行删除,以释放资源。在对ACL规则进行删除时,可以根据规则的使用频率或者使用时间删除。具体来说,可以按照使用频率从低到高的顺序删除,直至转发面的空闲资源大于或等于资源阈值。或者,按照缓存的ACL规则最近一次使用时间距离当前时刻的时长从长到短的顺序删除,直至转发面的空闲资源大于或等于资源阈值。需要注意的是,在进行ACL规则删除时,如果转发芯片当前时刻正在处理某条业务流量对应的数据包,应该将该业务流量对应的ACL规则排除在删除的ACL规则之外,避免影响转发芯片的正常工作。
在第一方面的一种可能的实现方式中,与裸机绑定的安全策略信息可能会发生改变,相应的,agent模块确定的ACL规则也会更新。在这种情况下,agent模块会将更新后的ACL规则下发给转发芯片。转发芯片接收更新后的ACL规则会进一步进行处理:如果更新前的ACL规则已经被删除,转发芯片就基于更新后的ACL规则处理对应的业务流量。如果更新前的ACL规则还没有被删除,转发芯片会对该更新前的ACL规则进行更新,并基于更新后的ACL规则处理对应的业务流量。
本申请第二方面提供了一种数据传输方法,该方法应用于增强型裸机场景中的交换机,该交换机包括了agent模块。agent模块通过API获取来自于控制器的至少一组安全策略信息,至少一组安全信息与交换机绑定的至少一个裸机一一对应,至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。agent模块获取目标数据包,目标数据包携带目标裸机标识和通信标识。并根据目标裸机标识,从至少一组安全策略信息中确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。再根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。
在第二方面的一种可能的实现方式中,目标数据包携带的通信标识指示目标数据包对应的三元组信息或者五元组信息。agent模块根据通信标识和目标裸机对应的安全策略信息,确定包含目标数据包的业务流量对应的ACL规则的过程包括:根据三元组信息或者五元组信息,从目标裸机对应的安全策略信息中确定目标数据包对应的目标安全策略信息。如果目标安全策略信息指示转发目标数据包,那么agent模块确定ACL规则为转发业务流量对应的数据包。如果目标安全策略信息指示拒绝目标数据包,那么agent模块确定ACL规则为拒绝业务流量对应的数据包。如果目标安全策略信息指示驳回目标数据包,那么agent模块确定ACL规则为驳回业务流量对应的数据包。
在第二方面的一种可能的实现方式中,交换机还包括转发芯片。agent模块在确定包含目标数据包的业务流量对应ACL规则之后,会向转发芯片发送ACL规则,该ACL规则指示业务流量的处理方式。转发芯片根据ACL规则,处理业务流量包括的数据包。
在第二方面的一种可能的实现方式中,如果业务流量传输完毕,那么转发芯片删除ACL规则。
本申请中,第二方面以及第二方面任一种可能的实现方式,所示的有益效果与第一方面以及第一方面任一种可能的实现方式类似,此处不再赘述。
本申请第三方面提供了一种数据传输方法,该方法应用于增强型裸机场景中的交换机,该交换机包括了agent模块。agent模块获取目标数据包,目标数据包携带目标裸机标识和通信标识,目标裸机标识用于指示与交换机绑定的目标裸机。agent模块通过API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识,安全策略请求用于请求获取目标裸机对应的安全策略信息。agent模块通过API接收来自于控制器的安全策略响应,安全策略响应包括目标裸机对应的安全策略信息。之后,agent模块根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。
在第三方面的一种可能的实现方式中,目标数据包携带的通信标识指示目标数据包对应的三元组信息或者五元组信息。agent模块根据通信标识和目标裸机对应的安全策略信息,确定包含目标数据包的业务流量对应的ACL规则的过程包括:根据三元组信息或者五元组信息,从目标裸机对应的安全策略信息中确定目标数据包对应的目标安全策略信息。如果目标安全策略信息指示转发目标数据包,那么agent模块确定ACL规则为转发业务流量对应的数据包。如果目标安全策略信息指示拒绝目标数据包,那么agent模块确定ACL规则为拒绝业务流量对应的数据包。如果目标安全策略信息指示驳回目标数据包,那么agent模块确定ACL规则为驳回业务流量对应的数据包。
在第三方面的一种可能的实现方式中,交换机还包括转发芯片。agent模块在确定包含目标数据包的业务流量对应ACL规则之后,会向转发芯片发送ACL规则,该ACL规则指示业务流量的处理方式。转发芯片根据ACL规则,处理业务流量包括的数据包。
在第三方面的一种可能的实现方式中,如果业务流量传输完毕,那么转发芯片删除ACL规则。
本申请中,第三方面以及第三方面任一种可能的实现方式,所示的有益效果与第一方面以及第一方面任一种可能的实现方式类似,此处不再赘述。
本申请第四方面提供了一种数据传输方法,该方法应用于增强型裸机场景中的控制器,控制器与交换机相连。控制器获取来自于用户的至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息。其中,裸机信息包括目标裸机的信息,目标裸机与交换机绑定。安全策略信息包括安全组信息和/或防火墙信息,用于指示数据包的处理方式。控制器向交换机发送目标裸机对应的安全策略信息,以使交换机根据目标裸机对应的安全策略信息,确定包含目标数据包的业务流量的ACL规则。其中,目标数据包携带了目标裸机标识。
本申请中,控制器获取用户配置的裸机信息以及与裸机绑定的安全策略信息之后,会将目标裸机对应的安全策略信息发送给交换机,为交换机实现安全策略能力提供了实现基础,提升了本申请技术方案的可实现性。
在第四方面的一种可能的实现方式中,控制器会向交换机发送至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息,这至少一组安全策略信息与交换机绑定的至少一个裸机一一对应。交换机会缓存这些信息,目标裸机对应的安全策略信息也包含于这至少一组安全策略信息中,使得交换机根据目标数据包携带的目标裸机标识,从这至少一组安全策略信息中确定目标裸机对应的安全策略信息。
在第四方面的一种可能的实现方式中,控制器向交换机发送目标裸机对应的安全策略信息之前,会接收到来自于交换机的安全策略请求。该安全策略请求中携带指示目标裸机的目标裸机标识,安全策略请求用于请求获取目标裸机对应的安全策略信息。控制器响应该安全策略请求,向交换机发送安全策略响应,该安全策略响应中包括目标裸机对应的安全策略信息。
本申请中,控制器向交换机发送目标裸机对应的安全策略信息的方式有多种:既可以发送包括了目标裸机对应的安全策略信息的至少一组安全策略信息,也可以基于交换机的请求发送目标裸机对应的安全策略信息,丰富了本申请技术方案的实现方式,能够根据实际应用的需要,灵活选择,也提升了本申请技术方案的灵活性。
在第四方面的一种可能的实现方式中,控制器向交换机发送安全策略信息,可以通过交换机驱动(drive)模块发送。在发送的时候,还会将安全策略信息转换成交换机的API所能兼容的格式。
本申请第五方面提供了一种交换机,该交换机应用于增强型裸机场景,交换机包括代理agent模块,用于:获取目标数据包,目标数据包携带目标裸机标识和通信标识;根据目标裸机标识,确定目标裸机对应的安全策略信息,目标裸机与交换机绑定;根据安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。交换机用于实现前述第一方面以及第一方面的任一种可能的实现方式所示的方法。
本申请第六方面提供了一种交换机,该交换机应用于增强型裸机场景,交换机包括代理agent模块,用于:通过应用程序接口API获取来自于控制器的至少一组安全策略信息,至少一组安全信息与交换机绑定的至少一个裸机一一对应,至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。获取目标数据包,目标数据包携带目标裸机标识和通信标识。根据目标裸机标识,从至少一组安全策略信息中确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。根据安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。交换机用于实现前述第二方面以及第二方面的任一种可能的实现方式所示的方法。
本申请第七方面提供了一种交换机,该交换机应用于增强型裸机场景,交换机包括代理agent模块,用于:获取目标数据包,目标数据包携带目标裸机标识和通信标识。通过应用程序接口API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识,目标裸机标识用于指示与交换机绑定的目标裸机。 通过API接收来自于控制器的安全策略响应,安全策略响应包括目标裸机对应的安全策略信息。根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。
交换机用于实现前述第三方面以及第三方面的任一种可能的实现方式所示的方法。
本申请第八方面提供了一种控制器,该控制器应用于增强型裸机场景,控制器包括接收单元,用于获取来自于用户的至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息。其中,裸机信息包括目标裸机的信息,目标裸机与交换机绑定。安全策略信息包括安全组信息和/或防火墙信息,用于指示数据包的处理方式。
发送单元,用于向交换机发送目标裸机对应的安全策略信息,以使交换机根据目标裸机对应的安全策略信息,确定包含目标数据包的业务流量的ACL规则。其中,目标数据包携带了目标裸机标识。
控制器用于实现前述第四方面以及第四方面的任一种可能的实现方式所示的方法。
本申请第九方面提供了一种交换机,包括处理器和存储器,处理器存储指令,当存储在存储器上的指令在处理器上运行时,实现前述第一方面以及第一方面的任一种可能的实现方式所示的方法、或者前述第二方面以及第二方面的任一种可能的实现方式所示的方法、或者前述第三方面以及第三方面的任一种可能的实现方式所示的方法。
本申请第十方面提供了一种控制器,包括处理器和存储器,处理器存储指令,当存储在存储器上的指令在处理器上运行时,实现前述第四方面以及第四方面的任一种可能的实现方式所示的方法。
本申请第十一方面提供了一种计算机可读存储介质,计算机可读存储介质中保存有指令,当指令在处理器上运行时,实现第一方面以及第一方面的任一种可能的实现方式所示的方法、或者前述第二方面以及第二方面的任一种可能的实现方式所示的方法、或者前述第三方面以及第三方面的任一种可能的实现方式所示的方法、或者前述第四方面以及第四方面的任一种可能的实现方式所示的方法。
本申请第十二方面提供了一种计算机程序产品,当计算机程序产品在处理器上执行时,实现第一方面以及第一方面的任一种可能的实现方式所示的方法、或者前述第二方面以及第二方面的任一种可能的实现方式所示的方法、或者前述第三方面以及第三方面的任一种可能的实现方式所示的方法、或者前述第四方面以及第四方面的任一种可能的实现方式所示的方法。
第九方面至第十二方面中任一方面所示的有益效果与前述第一方面以及第一方面的任一种可能的实现方式至前述、或者前述第四方面以及第四方面的任一种可能的实现方式类似,此处不再赘述。
附图说明
图1a为本申请提供的一个系统架构示意图;
图1b为本申请提供的另一个系统架构示意图;
图2为本申请提供的数据传输方法的一个流程示意图;
图3为本申请提供的数据传输方法的一个示意图;
图4为本申请提供的数据传输方法的另一个示意图;
图5为本申请提供的交换机的一个结构示意图;
图6为本申请提供的控制器的一个结构示意图;
图7为本申请提供的通信设备的一个结构示意图。
具体实施方式
本申请提供了数据传输方法以及相关设备,数据传输方法应用于增强型裸机场景的交换机,交换机中的代理(agent)模块根据目标数据包携带的目标裸机标识,能够确定目标裸机对应的安全策略信息,也即确定目标数据包对应的安全策略信息。结合目标数据包携带的通信标识和目标数据包对应的安全策略信息,为目标数据包对应的业务流量设置ACL规则。也就是说,本申请在获取目标数据包之后,动态生成指示包括了目标数据包的业务流量的处理方式的ACL规则,解决了交换机的ACL规格能力有限的问题,也在增强型路裸机的场景下实现了安全策略能力。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,其目的在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。另外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
首先,对本申请可能涉及的概念和相关名词进行说明。
1)裸机:表示在物理硬件上直接运行单个操作系统并运行程序,能够实现资源独享。基于应用场景划分,可以将裸机分为集中式裸机、分布式裸机和增强型裸机。本申请所涉及的增强型裸机既能解决集中式裸机转发带宽瓶颈的问题,有避免了分布式裸机需要与服务器及智能网卡强绑定的耦合诉求。也就是说,增强型裸机可以突破集中式裸机和分布式裸机的限制。
2)云平台:云平台用于管理云厂商的基础设施,基础设施为设置在不同区域的多个云数据中心。其中每个区域设置有至少一个云数据中心。云平台提供了与云计算相关的接口,例如配置页面或者API以供租户访问云服务。用户可以通过完成注册的账号密码,登录云平台,并在登陆成功之后,选择并购买云数据中心提供的云服务。换句话说,用户可以向云平台发起业务调用请求,使用云平台的资源处理业务。
下面,请参阅图1a和图1b,图1a和图1b均为本申请提供的系统架构示意图。
如图1a所示,在增强型裸机场景中,控制节点和裸机通过交换机进行通信。每个控制节点可以与一个或者多个交换机通信,每个交换机也可以与一个或者多个控制节点通信。同时,每个交换机还可以绑定一个或者多个裸机,并且每个交换机绑定的裸机不同。另外,交换机之间也可以建立通信连接。
本申请所说的增强型裸机,采用边界网关协议以太网虚拟私有网络(border gateway protocol ethernet virtual private network,BGP EVPN)及基于软件定义网络(software defined network,SDN)控制器的硬件交换机(switch)管控技术,将硬件交换机与虚拟交换机(virtual switch,vSwitch)/虚拟机网关的管控面协同,通过虚拟扩展局域网(virtual extensible local area network,vxLAN)将硬件交换机和虚拟交换机的数据面融合,实现裸机与虚拟机,裸机与裸机之间的业务流量互通。相较于分布式裸机与集中式裸机,增强型裸机减去了裸机网关及智能网卡(service driven infrastructure,SDI)卡的额外消耗,同时也将带宽转发能力最大化。
分布式裸机是在裸机中新增SDI卡,它是一种软件定义的,功能灵活可变可扩展的智能卡,虚拟私有云(virtual private cloud,VPC)控制器将网络管理能力卸载给SDI卡。管理裸机的客户端代理(Agent)进程也从裸机卸载到SDI卡,Agent进程不再占用裸机资源,实现了裸机管理资源零消耗,SDI卡承载了分布式裸机网关的功能业务,分布式裸机网关是一个融合的异构系统。
集中式裸机将裸机的所有VPC流量转发到裸机网关服务器,VPC控制器将网络管理能力全部通过裸机网关实现,裸机网关由主备两台裸机组成,主裸机网关负责网络流量的转发,备裸机网关在主裸机网关异常时切主,提供网络流量转发。每对裸机网关负责30台裸机流量的转发。
本申请提供的数据传输方法主要涉及增强型裸机场景中的控制节点和交换机(switch),下面结合图1b进行简单说明:
如图1b所示,控制节点包括控制器和交换机驱动模块,交换机包括了处理器和转发芯片,处理器包括代理(agent)模块。
概括地说,控制器获取用户创建的安全策略信息,并基于用户设置将安全策略信息与裸机绑定。也就是说,控制器会获取裸机信息,以及与裸机绑定的安全策略信息。通过交换机驱动模块,控制器将这些信息下发给交换机,这些信息作为交换机确定访问控制列表(access control list,ACL)规则的依 据。交换机中的转发芯片收到数据包后,传输给交换机中的agent模块。agent模块根据数据包和安全策略信息为该数据包设置ACL规则,并将该ACL规则下发给转发芯片,转发芯片基于ACL规则处理该数据包所在的业务流量中的数据包。
需要说明的是,转发芯片可以是专用集成电路(application specific integrated circuit,ASIC)芯片,或者其他具有转发功能的芯片,具体此处不做限定。
下面,结合示意图,对上述方案的具体实现过程进行说明。请参阅图2,图2为本申请提供的数据传输方法的流程示意图。
需要说明的是,图2是交换机为执行主体进行的说明。也就是说,本申请提供的数据传输方法可以应用于增强型裸机场景中的交换机。该交换机包括了agent模块和转发芯片,通过agent模块和转发芯片之间的交互,以及与交换机外的设备的交互,实现本申请提供的数据传输方法。如图2所示,本申请提供的数据传输方法包括以下步骤:
201.agent模块获取目标数据包,目标数据包携带目标裸机标识和通信标识。
用户通过云平台发起业务调用请求,业务流量包括的目标数据包到达交换机,进入交换机的处理流程。交换机中的转发芯片获取目标数据包,再将目标数据包转发给agent模块。
目标数据包携带了目标裸机标识和通信标识,目标裸机标识用于指示向交换机发送目标数据包的目标裸机,通信标识用于指示目标数据包对应的通信信息(例如端口信息、地址信息、传输协议等)。
目标裸机标识用于唯一标识目标裸机,目标裸机标识的设置规则有多种可能,下面分别进行说明:
在一些可选的实施方式中,可以使用身份识别号(identity document,ID)作为目标裸机标识。目标裸机的ID可以是产品序列号(serial number,SN),也可以结合云平台所在的虚拟云定义,具体此处不做限定。示例性的,在目标裸机标识结合云平台所在的虚拟云定义的情况下,目标裸机标识包括云ID和裸机ID。假设目标裸机为1号虚拟云中的第一个裸机,那么可以定义目标裸机标识为(1.1)。
在一些可选的实施方式中,考虑到云平台中不同的裸机互相隔离,不同裸机的通信地址可能会有冲突,通信地址可能无法唯一标识目标裸机。因此,可以使用通信地址和ID作为目标裸机标识。这里所说的通信地址包括源互联网协议(internet protocol,IP)地址,或者媒体存取控制(media access control,MAC)地址,具体此处不做限定。
通信标识指示目标数据包对应的通信信息,具体来说,包括目标数据包对应的三元组信息或者五元组信息。三元组信息包括目标数据包的源IP、目的IP地址和通信协议。五元组信息在三元组信息基础上,还包括了目标数据包的源端口和目的端口。其中,源IP地址指示发送目标数据包的目标裸机的IP地址;目的IP地址指示接收目标数据包的设备的IP地址;源端口指示发送目标数据包的端口;目的端口指示接收目标数据包的设备的端口;通信协议指示传输目标数据包所使用的协议。三元组信息或者五元组信息均能用于标识会话,或者说是标识业务流量。不同的会话所使用的三元组信息或者五元组信息不同。
202.agent模块根据目标裸机标识,确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。
本申请中,agent模块可以对安全策略信息进行缓存,也可以不缓存安全策略信息。相应地,agent模块确定目标裸机对应的安全策略信息的方式有多种可能,下面分别对可能的情况进行说明:
一、agent模块缓存安全策略信息。
用户会通过控制器创建安全策略信息,并将安全策略信息与裸机绑定。交换机对应的全部安全策略信息,是指与交换机绑定的所有裸机所对应的安全策略信息。也就是说,控制器会接收用户设置的至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息,这至少一组安全策略信息与至少一个裸机一一对应,且至少一个裸机与交换机具有绑定关系。
控制器还会将至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息发送给agent模块,agent模块可以通过调用API获取来自于控制器的这些信息。这至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。
agent模块获取目标数据包之后,根据目标数据包携带的目标裸机标识,从缓存的至少一组安全策略信息中确定目标裸机对应的安全策略信息。
本申请中,agent模块可以预先缓存安全策略信息,这样在获取目标数据包之后,就可以直接从缓存的安全策略信息中确定所需要的目标数据包对应的安全策略信息。并不需要再向控制器申请,简化了确定目标数据包对应的安全策略信息的步骤,降低了处理时间,也提升了处理效率。
二、agent模块不缓存安全策略信息。
在这种情况下,agent模块可以缓存至少一个裸机标识,这至少一个裸机标识与交换机绑定的至少一个裸机一一对应。在获取目标数据包之后,将目标数据包携带的目标裸机标识,与缓存的至少一个裸机标识对比,确定目标裸机标识是否包含于至少一个裸机标识。由于目标裸机标识指示的目标裸机与交换机绑定,所以agent模块会确定目标裸机标识包含于至少一个裸机标识,从而确定交换机可以处理目标数据包。
agent模块根据目标裸机标识,确定目标裸机对应的安全策略信息的过程可以是:agent模块通过API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识,安全策略请求用于请求获取目标裸机标识指示的目标裸机对应的安全策略信息。控制器收到安全策略请求后,向agent模块发送安全策略响应,该安全策略响应包括目标裸机对应的安全策略信息。也就是说,agent模块可以通过API接收来自于控制器的安全策略响应。
本申请中,在agent模块缓存能力有限或者其他agent模块不缓存安全策略信息的情况下,能够通过与控制器的交互获取目标裸机对应的安全策略信息。总的来说,不论agent模块是否缓存安全策略信息,都有对应的方式确定目标裸机对应的安全策略信息,丰富了本申请技术方案的实现方式和应用场景,提升了技术方案的实用性。
203.agent模块根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。
目标裸机对应的安全策略信息包括了目标裸机对应的安全组信息和/或防火墙信息。安全组信息和防火墙信息,均能从端口、地址、通信协议这些方面定义数据包的处理方式。另外,安全组信息是作用在实例上的,而防火墙信息是作用在某个网段上的。
下面结合表格进行具体说明:
表1
表1表示的是ACL规则对安全组信息的支持能力,具体来说:
交换机ACL规则支持使用传输控制协议(transmission control protocol,TCP)、用户数据报协议(user datagram protocol,UDP)、网络控制报文协议(internet control Message protocol,ICMP)或者其他任意(any)传输协议传输的安全组信息。
其次,交换机ACL规则支持的安全组信息对应的端口范围包括1~65535,支持前述报文协议下的任意命令。例如:icmp的请求(echo)、icmp的回显应答(echo reply)、需要进行分片但设置不分片比特(fragment need df set)、对主机重定向(host redirect)、对服务类型和主机重定向(host tos redirect)等,具体此处不做限定。
另外,交换机ACL规则支持网际协议版本4(Internet Protocol version 4,IPv4)、IPv6的安全组信息。交换机ACL规则支持采用IP地址/掩码作为源地址的安全组信息,但是不支持安全组ID。
表2
表2表示的是ACL规则对防火墙信息的支持能力,具体来说:
交换机ACL规则支持使用传输控制协议TCP、UDP、ICMP或者其他任意传输协议传输的防火墙信息,支持IPv4、IPv6的防火墙信息,支持采用IP地址/掩码作为源/目的地址的防火墙信息。交换机ACL规则支持的防火墙信息对应的源/目的端口范围包括1~65535。交换机ACL规则支持的防火墙信息对应的动作包括允许、拒绝,但不支持驳回。agent模块根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的ACL规则。具体来说,是根据通信标识指示的三元组信息或者五元组信息,从目标裸机对应的安全策略信息中确定目标数据包对应的目标安全策略信息。目标安全策略信息所对应的通信标识与目标数据包携带的通信标识一致。
再根据目标安全策略信息确定ACL规则。具体包括:如果目标安全策略信息指示转发目标数据包,那么agent模块确定ACL规则为转发业务流量对应的数据包。如果目标安全策略信息指示拒绝目标数据包,那么agent模块确定ACL规则为拒绝业务流量对应的数据包。如果目标安全策略信息指示驳回目标数据包,那么agent模块确定ACL规则为驳回业务流量对应的数据包。
由于目标安全策略包括了目标数据包对应的安全组信息和/或防火墙信息,因此agent模块根据目标安全策略信息确定ACL规则有多种可能。下面分别进行说明:
1.目标安全策略包括目标数据包对应的安全组信息。
在这种情况下,ACL规则对应的数据包处理方式与安全组信息的处理方式一致。也就是说,如果安全组信息指示允许目标数据包通行,那么ACL规则指示允许业务流量对应的数据包通行,也即可以转发业务流量对应的数据包。如果安全组信息指示拒绝目标数据包,那么ACL规则指示拒绝业务流量对应的数据包。如果安全组信息指示驳回目标数据包,那么ACL规则指示驳回业务流量对应的数据包。这里所说的驳回,是指将业务流量对应的数据包返回至将这些数据包发送给交换机的设备。
2.目标安全策略包括目标数据包对应的防火墙信息。
在这种情况下,ACL规则对应的数据包处理方式与防火墙信息的处理方式一致。也就是说,如果防火墙信息指示允许目标数据包通行,那么ACL规则指示允许业务流量对应的数据包通行,也即可以转发业务流量对应的数据包。如果防火墙信息指示拒绝目标数据包,那么ACL规则指示拒绝业务流量对应的数据包。
3.目标安全策略包括目标数据包对应的安全组信息和防火墙信息。
在这种情况下,agent模块需要综合考虑安全组信息和防火墙信息所定义的处理方式。如果安全组信息和防火墙信息均指示允许目标数据包通行,那么ACL规则指示允许业务流量对应的数据包通行,也即可以转发业务流量对应的数据包。如果防火墙信息和安全组信息中任一信息指示拒绝目标数据包,或均指示拒绝目标数据包,那么ACL规则指示拒绝业务流量对应的数据包。如果安全组信息指示驳回目标数据包,那么ACL规则指示驳回业务流量对应的数据包。
在一些可选的实施方式中,目标数据包可以是业务流量中的首个数据包。也就是说,agent模块通过对业务流量中的首个数据包进行处理,就可以得到该业务流量对应的ACL规则,并不需要重复计算。
本申请中,由于同一条业务流量所包括的数据包所携带的通信标识是一致的,因此,根据业务流量包括的目标数据包携带的通信标识和目标裸机对应的安全策略信息,确定的ACL规则可以适用于包含了目标数据包的业务流量。也就是说,agent模块在确定业务流量对应的ACL规则时,只根据目标数据包进行相关处理即可,并不需要对业务流量包括的其他数据包进行重复处理,减少了计算量,节约了运算资源的同时也提高了效率。
在一些可选的实施方式中,在步骤203之后,也即在agent模块确定ACL规则之后,agent模块会向转发芯片发送ACL规则,该ACL规则指示了业务流量的处理方式。转发芯片接收ACL规则,并根据该ACL规则,处理业务流量包括的数据包。
下面结合图3,对本申请提供的数据传输方法进一步进行说明。结合上述说明和图3可知,目标数据包的传输路径包括:转发芯片→代理模块→转发芯片。
目标裸机的业务流量的目标数据包进入交换机的转发芯片,转发芯片将目标数据转发给代理模块。代理模块通过目标裸机标识和与目标裸机绑定的安全策略信息,确定是否目标数据包对应的ACL规则,并将ACL规则下发给转发芯片。同时,也将目标数据包发送给转发芯片,由转发芯片对根据ACL规则对目标数据包进行处理。转发芯片获取业务流量中目标数据包之后的数据包,可以直接根据ACL规则进行处理,并不需要再发送给代理模块。
在一些可选的实施方式中,如果业务流量传输完毕,那么转发芯片可以删除ACL规则。其中,业务流量传输完毕,是指转发芯片对业务流量包括的最后一个数据包处理完毕。转发芯片可以通过根据获取连续的数据包的时间差,确定业务流量是否传输完毕。
具体来说,如果转发芯片获取当前数据包至获取下一个数据包的时间差大于或等于时长阈值,则可以确定当前数据包为包含了目标数据包的业务流量的最后一个数据包。时长阈值可以根据业务类型、网络质量等确定,具体此处不做限定。另外,转发芯片既可以在收到下一个数据包之后,再判断获取两个数据包的时差;也可以在获取当前数据包时开启计时器,在时长阈值内没收到下一个数据包,便可以确认业务流量传输完毕。需要注意的是,当前数据包与下一个数据包是包含于同一个业务流量,也就是说,当前数据包对应的通信标识与下一个数据包对应通信标识相同,或者当前数据包对应的流量标识与下一个数据包对应的流量标识相同。在实际应用中,可以采用IP地址+MAC地址+网络标识,示例性的,vxLAN网络的网络标识为vxLAN网络标识符(vxLAN network identifier,VNI)。
本申请中,转发芯片在业务流量传输完毕之后,会删除该业务流量对应的ACL规则,减少了转发芯片在数据面的转发规则数量,释放了转发芯片的资源,也提高资源利用率。
在一些可选的实施方式中,在转发芯片的数据面资源空闲较多的情况下,业务流量传输完毕之后,可以暂不删除该业务流量对应的ACL规则。其中,转发芯片的数据面资源空闲较多是指转发面的空闲资源大于或等于资源阈值,资源阈值可以是具体的数值,例如500MB;也可以是空闲资源在数据面资源占据的比例,例如80%,具体此处不做限定。资源阈值的具体大小,可以根据业务需求和转发芯片的性能确定,具体此处不做限定。一般情况下,转发芯片性能越好,且业务需求的资源越低,资源阈值越低。当转发芯片的数据面资源空闲小于资源阈值,则需要对转发芯片缓存的ACL规则进行删除,以释放资源。在对ACL规则进行删除时,可以根据规则的使用频率或者使用时间删除。具体来说,可以按照使用频率从低到高的顺序删除,直至转发面的空闲资源大于或等于资源阈值。或者,按照缓存的ACL规则最近一次使用时间距离当前时刻的时长从长到短的顺序删除,直至转发面的空闲资源大于或等于资源阈值。需要注意的是,在进行ACL规则删除时,如果转发芯片当前时刻正在处理某条业务流量对应的数据包,应该将该业务流量对应的ACL规则排除在删除的ACL规则之外,避免影响转发芯片的正常工作。
在一些可选的实施方式中,与裸机绑定的安全策略信息可能会发生改变,相应的,agent模块确定的ACL规则也会更新。在这种情况下,agent模块会将更新后的ACL规则下发给转发芯片。转发芯片接收更新后的ACL规则会进一步进行处理:如果更新前的ACL规则已经被删除,转发芯片就基于更新后的ACL规则处理对应的业务流量。如果更新前的ACL规则还没有被删除,转发芯片会对该更新前的ACL规则进行更新,并基于更新后的ACL规则处理对应的业务流量。
在前文的说明中,是以交换机为执行主体,介绍本申请提供的数据传输方法。接下来,以控制器为执行主体,进一步说明本申请提供的数据传输方法。请参阅图4,图4为本申请提供的数据传输方法的示意图。
如图4所示,控制节点包括控制器、交换机驱动(diver)模块、第一数据库和第二数据库。其中, 控制器包括neutron-server组件、pecado-controller组件和设备控制(device-controller)组件。neutron-server组件提供云计算的网络虚拟化技术,为开源的云计算管理平台Open Stack的其他服务提供网络连接服务。pecado-controller组件组件主要用于将用户在云平台内部的资源整合后下发给对应的计算节点。device-controller组件主要用于纳管及控制交换机将云平台内部通信所需的配置通过统一接口下发给交换机driver。交换机包括处理器和转发芯片,处理器包括代理模块。
本申请提供的数据传输方法可以包括以下步骤:
1.用户调用北向API向控制器发送创建请求,以创建安全策略信息。控制器中的neutron-server组件接收创建请求,创建安全策略信息,并将安全策略信息写入第一数据库。
2.用户调用北向API向控制器发送绑定请求,将安全策略信息与裸机绑定,也即建立安全策略与裸机的绑定关系。控制器中的neutron-server组件接收绑定请求,并将绑定关系写入第一数据库。基于这两个步骤,在第一数据库中存储了安全策略信息、裸机信息以及这两者的绑定关系。其中,第一数据库可以理解为控制节点的数据池,例如gaussdb,用于存储大量的数据。
3.安全策略信息与裸机的绑定,触发了neutron-server组件向pecado-controller组件发送第一消息,第一消息包括安全策略信息、裸机信息以这两者的绑定关系。
4.pecado-controller组件向device-controller组件发送第二消息,第二消息包括安全策略信息、裸机信息以这两者的绑定关系。并将安全策略信息、裸机信息以这两者的绑定关系存储至第二数据库。需要说明的是,第一数据库与第二数据库中存储的内容是相同的,但是格式有所不同。
其中,第二数据库相较于第一数据库,能够支持高并发读写,广泛应用于读写量大的场景。第二数据库可以是远程字典服务(remote dictionary server,redis),是一个键值对(key-value)存储系统。也就是说,控制器包括了两级缓存。
5.device-controller组件根据第二消息和第二数据库中存储的信息,将安全策略信息、裸机信息以这两者的绑定关系转化为交换机所兼容的格式,并发送给交换机驱动模块。
另外,device-controller组件还可以将转换格式后的信息存储至第二数据库中。也就是说,在第二数据库中,存储了两次相同内容的信息。之所以转换为交换机所需要的格式,是考虑到交换机重启之后,可以通过交换机驱动模块直接从控制器获取所需要的信息,而不用等待控制器的各个组件再进行格式转换。
6.交换机驱动模块通过API调用,向交换机中的代理模块发送第三消息,第三消息包括安全策略信息、裸机信息以这两者的绑定关系。并且,第三消息对应的格式为交换机所能兼容的格式。
7.代理模块获取第三消息后,结合数据包携带的裸机标识,确定该数据包对应的ACL规则。并将ACL规则下发给转发芯片,使得转发芯片基于ACL规则处理该数据包所在的业务流量。
需要说明的是,图4所示实施例中,是以控制器包括两级缓存为例进行的说明。在实际应用中,控制器还可以包括更多或者更少层级的缓存,具体此处不做限定。
在前文的说明中,交换机获取的目标数据包是与交换机绑定的目标裸机发送给交换机的。在实际应用中,交换机还可能获取其他裸机发送的数据包。也就是说,agent模块还可以获取目标数据包之外的数据包。与目标数据包类似,该数据包会携带对应的裸机标识,以指示发送该数据包的裸机。如果agent模块确定该数据包对应的裸机(也即发送该数据包的裸机)与交换机没有绑定关系,那么agent模块可以确定丢弃该数据包。
在一些可选的实施方式中,如果交换机在短时间内多次收到同一个没有与交换机绑定的裸机发送的数据包,交换机可以向控制器反馈。由控制器发出告警或者更新提醒,该告警用于指示云平台中的裸机可能出现故障,频繁向不具有绑定关系的交换机发送数据包。该更新提醒用于提示用户是否建立该裸机与交换机的绑定关系。
下面,对本申请提供的交换机进行说明,本申请提供的交换机应用于增强型裸机场景。请参阅图5,图5为本申请提供的交换机的一个结构示意图。
如图5所示,交换机500包括agent模块501,用于获取目标数据包,目标数据包携带目标裸机标识和通信标识。根据目标裸机标识,确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。根据安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。
在一些可选的实施方式中,agent模块501,还用于通过应用程序接口API获取来自于控制器的至少一组安全策略信息,至少一组安全信息与交换机绑定的至少一个裸机一一对应,至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。
在一些可选的实施方式中,agent模块501,具体用于根据目标裸机标识,从至少一组安全策略信息中确定目标裸机对应的安全策略信息。
在一些可选的实施方式中,agent模块501,具体用于:通过API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识。通过API接收来自于控制器的安全策略响应,安全策略响应包括目标裸机对应的安全策略信息。
在一些可选的实施方式中,通信标识指示目标数据包对应的三元组信息或者五元组信息。
Agent模块501,具体用于:根据三元组信息或者五元组信息,从安全策略信息中确定目标数据包对应的目标安全策略信息。若目标安全策略信息指示转发目标数据包,则确定ACL规则为转发业务流量对应的数据包。若目标安全策略信息指示拒绝目标数据包,则确定ACL规则为拒绝业务流量对应的数据包。若目标安全策略信息指示驳回目标数据包,则确定ACL规则为驳回业务流量对应的数据包。
在一些可选的实施方式中,交换机500还包括转发芯片502。
agent模块501,还用于向转发芯片发送ACL规则,ACL规则指示业务流量的处理方式。
转发芯片502,用于根据ACL规则,处理业务流量包括的数据包。
在一些可选的实施方式中,转发芯片502,还用于若业务流量传输完毕,则删除ACL规则。
在一些可选的实施方式中,交换机500应用于增强型裸机场景,agent模块501,用于:通过API获取来自于控制器的至少一组安全策略信息,至少一组安全信息与交换机绑定的至少一个裸机一一对应,至少一组安全策略信息用于配置至少一个裸机发送的数据包对应的ACL规则。获取目标数据包,目标数据包携带目标裸机标识和通信标识。根据目标裸机标识,从至少一组安全策略信息中确定目标裸机对应的安全策略信息,目标裸机与交换机绑定。根据安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。
在一些可选的实施方式中,交换机500应用于增强型裸机场景,agent模块501,用于:获取目标数据包,目标数据包携带目标裸机标识和通信标识。通过应用程序接口API向控制器发送安全策略请求,安全策略请求中携带目标裸机标识,目标裸机标识用于指示与交换机绑定的目标裸机。通过API接收来自于控制器的安全策略响应,安全策略响应包括目标裸机对应的安全策略信息。根据目标裸机对应的安全策略信息和通信标识,确定包含目标数据包的业务流量对应的访问控制列表ACL规则。
交换机500,用于实现前述图1a至图4所示实施例中交换机所执行的操作,具体此处不再赘述。
下面,对本申请提供的控制器进行说明,本申请提供的控制器应用于增强型裸机场景。请参阅图6,图6为本申请提供的控制器的一个结构示意图。
如图6所示,控制器600包括接收单元601和发送单元602。
接收单元601,用于获取来自于用户的至少一个裸机信息,以及与至少一个裸机绑定的至少一组安全策略信息。其中,裸机信息包括目标裸机的信息,目标裸机与交换机绑定。安全策略信息包括安全组信息和/或防火墙信息,用于指示数据包的处理方式。
发送单元602,用于向交换机发送目标裸机对应的安全策略信息,以使交换机根据目标裸机对应的安全策略信息,确定包含目标数据包的业务流量的ACL规则。其中,目标数据包携带了目标裸机标识。
控制器600,用于实现前述图1a至图4所示实施例中控制器所执行的操作,具体此处不再赘述。
下面,对本申请实施例提供的通信设备进行说明,请参阅图7,图7为本申请实施例提供的通信设备的一个结构示意图。该通信设备700包括:处理器701和存储器702,存储器702中存储有一个或一个以上的应用程序或数据。
其中,存储器702可以是易失性存储或持久存储。存储在存储器702的程序可以包括一个或一个以 上模块,每个模块可以用于执行通信设备700所执行的一系列操作。更进一步地,处理器701可以与存储器702通信,在通信设备700上执行存储器702中的一系列指令操作。处理器701可以是中央处理器(central processing units,CPU),也可以是单核处理器,除此之外,还可以是其他类型的处理器,例如双核处理器,具体此处不做限定。
通信设备700还可以包括一个或一个以上通信接口703,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该通信设备700可以作为交换机,执行前述图1a至图4所示实施例中交换机所执行的操作。或者,该通信设备700可以作为控制器,执行前述图1a至图4所示实施例中控制器所执行的操作。此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (20)

  1. 一种数据传输方法,其特征在于,所述方法应用于增强型裸机场景中的交换机,所述交换机包括代理agent模块,所述方法包括:
    所述agent模块获取目标数据包,所述目标数据包携带目标裸机标识和通信标识;
    所述agent模块根据所述目标裸机标识,确定目标裸机对应的安全策略信息,所述目标裸机与所述交换机绑定;
    所述agent模块根据所述安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  2. 根据权利要求1所述的方法,其特征在于,在所述agent模块根据所述目标裸机标识,确定所述目标裸机对应的安全策略信息之前,所述方法还包括:
    所述agent模块通过应用程序接口API获取来自于控制器的至少一组安全策略信息,所述至少一组安全策略信息与所述交换机绑定的至少一个裸机一一对应,所述至少一组安全策略信息用于配置所述至少一个裸机发送的数据包对应的ACL规则。
  3. 根据权利要求2所述的方法,其特征在于,所述agent模块根据所述目标裸机标识,确定所述目标裸机对应的安全策略信息,包括:
    所述agent模块根据所述目标裸机标识,从所述至少一组安全策略信息中确定所述目标裸机对应的安全策略信息。
  4. 根据权利要求1所述的方法,其特征在于,所述agent模块根据所述目标裸机标识,确定所述目标裸机对应的安全策略信息,包括:
    所述agent模块通过API向控制器发送安全策略请求,所述安全策略请求中携带所述目标裸机标识;
    所述agent模块通过所述API接收来自于所述控制器的安全策略响应,所述安全策略响应包括所述目标裸机对应的安全策略信息。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述通信标识指示所述目标数据包对应的三元组信息或者五元组信息;
    所述agent模块根据所述安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的ACL规则,包括:
    所述agent模块根据所述三元组信息或者所述五元组信息,从所述安全策略信息中确定所述目标数据包对应的目标安全策略信息;
    若所述目标安全策略信息指示转发所述目标数据包,则所述agent模块确定所述ACL规则为转发所述业务流量对应的数据包;
    若所述目标安全策略信息指示拒绝所述目标数据包,则所述agent模块确定所述ACL规则为拒绝所述业务流量对应的数据包;
    若所述目标安全策略信息指示驳回所述目标数据包,则所述agent模块确定所述ACL规则为驳回所述业务流量对应的数据包。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述交换机还包括转发芯片;
    在所述确定包含所述目标数据包的业务流量对应ACL规则之后,所述方法还包括:
    所述agent模块向所述转发芯片发送所述ACL规则,所述ACL规则指示所述业务流量的处理方式;
    所述转发芯片根据所述ACL规则,处理所述业务流量包括的数据包。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    若所述业务流量传输完毕,则所述转发芯片删除所述ACL规则。
  8. 一种数据传输方法,其特征在于,所述方法应用于增强型裸机场景中的交换机,所述交换机包括代理agent模块,所述方法包括:
    所述agent模块通过应用程序接口API获取来自于控制器的至少一组安全策略信息,所述至少一组安全信息与所述交换机绑定的至少一个裸机一一对应,所述至少一组安全策略信息用于配置所述至少一个裸机发送的数据包对应的ACL规则;
    所述agent模块获取目标数据包,所述目标数据包携带目标裸机标识和通信标识;
    所述agent模块根据所述目标裸机标识,从所述至少一组安全策略信息中确定目标裸机对应的安全策略信息,所述目标裸机与所述交换机绑定;
    所述agent模块根据所述安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  9. 一种数据传输方法,其特征在于,所述方法应用于增强型裸机场景中的交换机,所述交换机包括代理agent模块,所述方法包括:
    所述agent模块获取目标数据包,所述目标数据包携带所述目标裸机标识和通信标识;
    所述agent模块通过应用程序接口API向控制器发送安全策略请求,所述安全策略请求中携带目标裸机标识,所述目标裸机标识用于指示与所述交换机绑定的目标裸机;
    所述agent模块通过所述API接收来自于所述控制器的安全策略响应,所述安全策略响应包括所述目标裸机对应的安全策略信息;
    所述agent模块根据所述目标裸机对应的安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  10. 一种交换机,其特征在于,所述交换机应用于增强型裸机场景,所述交换机包括代理agent模块,用于:
    获取目标数据包,所述目标数据包携带目标裸机标识和通信标识;
    根据所述目标裸机标识,确定目标裸机对应的安全策略信息,所述目标裸机与所述交换机绑定;
    根据所述安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  11. 根据权利要求10所述的交换机,其特征在于,所述agent模块,还用于通过应用程序接口API获取来自于控制器的至少一组安全策略信息,所述至少一组安全信息与所述交换机绑定的至少一个裸机一一对应,所述至少一组安全策略信息用于配置所述至少一个裸机发送的数据包对应的ACL规则。
  12. 根据权利要求11所述的交换机,其特征在于,所述agent模块,具体用于根据所述目标裸机标识,从所述至少一组安全策略信息中确定所述目标裸机对应的安全策略信息。
  13. 根据权利要求10所述的交换机,其特征在于,所述agent模块,具体用于:
    通过API向控制器发送安全策略请求,所述安全策略请求中携带所述目标裸机标识;
    通过所述API接收来自于所述控制器的安全策略响应,所述安全策略响应包括所述目标裸机对应的安全策略信息。
  14. 根据权利要求10至13中任一项所述的交换机,其特征在于,所述通信标识指示所述目标数据包对应的三元组信息或者五元组信息;
    所述agent模块,具体用于:
    根据所述三元组信息或者所述五元组信息,从所述安全策略信息中确定所述目标数据包对应的目标安全策略信息;
    若所述目标安全策略信息指示转发所述目标数据包,则确定所述ACL规则为转发所述业务流量对应的数据包;
    若所述目标安全策略信息指示拒绝所述目标数据包,则确定所述ACL规则为拒绝所述业务流量对应的数据包;
    若所述目标安全策略信息指示驳回所述目标数据包,则确定所述ACL规则为驳回所述业务流量对应的数据包。
  15. 根据权利要求10至14中任一项所述的交换机,其特征在于,所述交换机还包括转发芯片;
    所述agent模块,还用于向所述转发芯片发送所述ACL规则,所述ACL规则指示所述业务流量的处理方式;
    所述转发芯片,用于根据所述ACL规则,处理所述业务流量包括的数据包。
  16. 根据权利要求15所述的交换机,其特征在于,所述转发芯片,还用于若所述业务流量传输完毕, 则删除所述ACL规则。
  17. 一种交换机,其特征在于,所述交换机应用于增强型裸机场景,所述交换机包括代理agent模块,用于:
    通过应用程序接口API获取来自于控制器的至少一组安全策略信息,所述至少一组安全信息与所述交换机绑定的至少一个裸机一一对应,所述至少一组安全策略信息用于配置所述至少一个裸机发送的数据包对应的ACL规则;
    获取目标数据包,所述目标数据包携带目标裸机标识和通信标识;
    根据所述目标裸机标识,从所述至少一组安全策略信息中确定目标裸机对应的安全策略信息,所述目标裸机与所述交换机绑定;
    根据所述安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  18. 一种交换机,其特征在于,所述交换机应用于增强型裸机场景,所述交换机包括代理agent模块,用于:
    获取目标数据包,所述目标数据包携带所述目标裸机标识和通信标识;
    通过应用程序接口API向控制器发送安全策略请求,所述安全策略请求中携带目标裸机标识,所述目标裸机标识用于指示与所述交换机绑定的目标裸机;
    通过所述API接收来自于所述控制器的安全策略响应,所述安全策略响应包括所述目标裸机对应的安全策略信息;
    根据所述目标裸机对应的安全策略信息和所述通信标识,确定包含所述目标数据包的业务流量对应的访问控制列表ACL规则。
  19. 一种交换机,其特征在于,包括:处理器和存储器;
    所述处理器存储有指令,当所述指令在所述处理器上运行时,实现权利要求1至9中任一项所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在处理器上运行时,实现权利要求1至9中任一项所述的方法。
PCT/CN2023/101403 2022-11-28 2023-06-20 数据传输方法以及相关设备 WO2024113776A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211508531.2 2022-11-28
CN202310293930.X 2023-03-23

Publications (1)

Publication Number Publication Date
WO2024113776A1 true WO2024113776A1 (zh) 2024-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
US11277313B2 (en) Data transmission method and corresponding device
EP3225014B1 (en) Source ip address transparency systems and methods
US7107348B2 (en) Packet relay processing apparatus
CN101217493B (zh) 一种tcp数据包的传输方法
WO2023000935A1 (zh) 一种数据处理方法、网元设备以及可读存储介质
WO2020151030A1 (zh) 一种处理数据报文的方法和装置
WO2018032399A1 (en) Server and method having high concurrency capability
US20020099827A1 (en) Filtering calls in system area networks
WO2021047515A1 (zh) 一种服务路由方法及装置
US11689631B2 (en) Transparent network service migration across service devices
WO2023005773A1 (zh) 基于远程直接数据存储的报文转发方法、装置、网卡及设备
WO2022148363A1 (zh) 数据传输方法及数据传输服务器
CN112583618B (zh) 为业务提供网络服务的方法、装置和计算设备
WO2014023003A1 (zh) 控制数据传输的方法、装置和系统
EP3780885A1 (en) Method, apparatus and system for establishing subflows of multipath connection
WO2023151264A1 (zh) 负载均衡方法、装置、节点及存储介质
CN112929264B (zh) 业务流量传输方法、系统及网络设备
WO2007019809A1 (fr) Procede et systeme d'etablissement d'un canal direct point par point
WO2023186109A1 (zh) 节点访问方法以及数据传输系统
US10887236B2 (en) Method, network interface card, and computer program product for load balance
US11870855B2 (en) Proxyless protocol
WO2024113776A1 (zh) 数据传输方法以及相关设备
WO2023116165A1 (zh) 网络负载均衡方法、装置、电子设备、介质和程序产品
US11272014B2 (en) Systems and methods for reducing connection setup latency
CN116089053A (zh) 一种数据处理方法、装置以及存储介质