一种定制化转发云工作负载流量的方法与流程
- 国知局
- 2024-09-05 14:38:07
本发明属于云通信流量治理相关领域,具体是一种定制化转发云工作负载流量的方法。
背景技术:
1、在安全和运维领域,有诸多类型的产品,采用流量数据作为分析对象,实现各种应用场景,其流量获取方式也比较简单,即通过硬件网络设备(例如交换机)的镜像或分光功能,对全部或特定端口的流量进行复制,并发送到接驳在镜像口的安全或运维设备;但显然,这种方法在以软件定义网络的云环境下并不适用,不仅很多云内部流量采集不到,而且,相对固化的镜像策略,也无法适应云环境所特有的灵活性。
2、此外,由于云环境内部的流量,往往经过多次封装,或nat,所以即使镜像出来云环境的流量,其流量数据的复杂性,也对采用这些流量的各类产品也提出了较高要求;因此,要在云环境实现各种云安全或云运维的场景,就需要将云内部的流量,通过某种方法导流出来,交付给需要这些原始流量实现安全和运维场景的相关产品。
技术实现思路
1、本发明的目的在于提供一种定制化转发云工作负载流量的方法,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:
3、一种定制化转发云工作负载流量的方法,包含以下步骤:
4、基于数据包捕获函数库,获取宿主主机网卡的流量,所述数据包捕获函数库选择libpcap函数库;
5、基于gre通用路由封装协议对所述宿主主机的流量数据包进行封装加入gre封装运载协议以生成数据包报文并转发;
6、接收端通过gre tunnel接口接收封装后转发的数据包报文,对ip头进行分析以确认目标地址是否与本接收端相匹配,若匹配,则接收数据包报文并通过gre协议进行解封装处理。
7、作为本发明的进一步方案:所述libpcap函数库在上层应用程序与网络接口之间设置,所述libpcap函数库包括功能:
8、数据包捕获:用于捕获经过网卡的原始数据包;
9、自定义数据包发送:用于构造以打包任何格式的原始数据包;
10、流量采集与统计:用于采集网络中的流量信息;
11、规则过滤:用于进行自带规则过滤的支持,基于需求选择建立过滤规则。
12、作为本发明的再进一步方案:
13、作为本发明的再进一步方案:所述libpcap函数库为独立于系统设置的用户级api接口,所述libpcap函数库用于为底层网络检测提供可移植框架,基于所述libpcap函数库的数据包捕获程序捕获的基础参数数据包括:
14、对于特定网卡,获全部网卡的流量捕获;
15、对于ip,ip:port的捕获;
16、对于subnet,ip~ip的捕获;
17、以及基于bytecode的捕获。
18、作为本发明的再进一步方案:所述基于数据包捕获函数库,获取宿主主机网卡的流量的步骤具体包括:
19、通过pcap_lookupdev()函数查找网络设备,获取可用网卡,并当网卡数为多个时,返回网络设备名的指针列表;
20、基于指针列表选择所使用的网卡对象,通过pcap_open_live()函数打开网卡,并返回用于捕捉网络数据包的秒数字;
21、通过pcap_lookupnet()获得网络参数,获取指定网络设备的ip地址和子网掩码;
22、通过pcap_compile()编译过滤策略,并通过pcap_setfilter()函数设置过滤器,用于对数据包的过滤;
23、通过回调函数捕获数据包,所述回调函数可以为pcap_loop()函数和pcap_dispatch()函数的组合或pcap_next()函数和pcap_next_ex()函数的组合。
24、作为本发明的再进一步方案:所述gre通用路由封装协议定义了在一种网络层协议上封装另一种协议,其中协议可以是相同的,所述gre通用路由封装协议在协议层间采用了tunnel技术。
25、作为本发明的再进一步方案:所述基于gre通用路由封装协议对所述宿主主机的流量数据包进行封装加入gre封装运载协议以生成数据包报文并转发的步骤具体包括:
26、在程序中建立gre的socket,用于send函数调用;
27、当接收的数据包需要转发时,卸下所述数据包的以太头,并在ip头前加入gre封装运载协议,调用send函数发出。
28、与现有技术相比,本发明的有益效果是:相较于现有技术,部署灵活,对任何需要进行流量采集和转发的对象,均可通过部署一个简单的,微型的流量转发探针,即可实现相关功能;没有兼容性问题。由于采用的技术均为较为通用的技术,用户不再需要担心实用方法的兼容性问题;且微型导流探针,可以提供更加丰富的,基于bpf条件的捕获和导流条件;同时,彻底消除了云环境内部的流量采集和捕获盲点,实现了对服务器上各个虚拟机间的流量的采集和转发,以及云主机上各个程序间的通信流量的采集和转发,避免了因无法获取这部分流量而造成的安全和运维产品的源数据缺失。
技术特征:1.一种定制化转发云工作负载流量的方法,其特征在于,包含以下步骤:
2.根据权利要求1所述的一种定制化转发云工作负载流量的方法,其特征在于,所述libpcap函数库在上层应用程序与网络接口之间设置,所述libpcap函数库包括功能:
3.根据权利要求2所述的一种定制化转发云工作负载流量的方法,其特征在于,所述libpcap函数库为独立于系统设置的用户级api接口,所述libpcap函数库用于为底层网络检测提供可移植框架,基于所述libpcap函数库的数据包捕获程序捕获的基础参数数据包括:
4.根据权利要求3所述的一种定制化转发云工作负载流量的方法,其特征在于,所述基于数据包捕获函数库,获取宿主主机网卡的流量的步骤具体包括:
5.根据权利要求4所述的一种定制化转发云工作负载流量的方法,其特征在于,所述gre通用路由封装协议定义了在一种网络层协议上封装另一种协议,其中协议是相同的,所述gre通用路由封装协议在协议层间采用了tunnel技术。
6.根据权利要求5所述的一种定制化转发云工作负载流量的方法,其特征在于,所述基于gre通用路由封装协议对所述宿主主机的流量数据包进行封装加入gre封装运载协议以生成数据包报文并转发的步骤具体包括:
技术总结本发明属于云通信流量治理相关领域,公开了一种定制化转发云工作负载流量的方法,相较于现有技术,部署灵活,对任何需要进行流量采集和转发的对象,均可通过部署一个简单的,微型的流量转发探针,即可实现相关功能;没有兼容性问题。由于采用的技术均为较为通用的技术,用户不再需要担心实用方法的兼容性问题;且微型导流探针,可以提供更加丰富的,基于BPF条件的捕获和导流条件;同时,彻底消除了云环境内部的流量采集和捕获盲点,实现了对服务器上各个虚拟机间的流量的采集和转发,以及云主机上各个程序间的通信流量的采集和转发,避免了因无法获取这部分流量而造成的安全和运维产品的源数据缺失。技术研发人员:兰世战,王振宇,甘晓春,龙宇轩受保护的技术使用者:北京派网软件有限公司技术研发日:技术公布日:2024/9/2本文地址:https://www.jishuxx.com/zhuanli/20240905/287413.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表