本发明涉及云计算,特别是涉及一种ip地址的存储方法、一种ip地址的控制方法、一种网络控制设备、一种网关、一种电子设备和一5种计算机可读存储介质。
背景技术:
1、随着ipv6的广泛应用,云厂商都面临着在原有网关上支持ipv6的需求。
2、大多云厂商网关侧均在往可编程交换机的方向演进,需要控制面将携带ip
3、地址的流表下发到可编程交换机上之后由可编程交换机进行转发。
4、0在现有技术中,通常是将ipv4和ipv6依照两张流表的形式进行存储,
5、但是由于业务会时刻的发展,ipv4和ipv6的比例难以估计,从而会导致资源的浪费。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至5少部分地解决上述问题的一种ip地址的存储方法、一种ip地址的控制方法、一种网络控制设备、一种网关、一种电子设备和一种计算机可读存储介质。
2、为了解决上述问题,本发明实施例公开了一种ip地址的存储方法,应用于网络控制设备,网络控制设备与网关通信,所述方法包括:
3、获取待处理的第一ip地址,并确定所述第一ip地址的类型;所述类型0包括ipv4地址和ipv6地址;
4、若所述第一ip地址的类型为ipv6地址,则对所述第一ip地址进行压缩得到对应的地址压缩值;
5、为所述第一ip地址配置相应的行为信息,并根据所述第一ip地址的地址压缩值,将所述第一ip地址的地址压缩值和对应的行为信息存储至预设5第一数据表或者将所述第一ip地址和对应的行为信息存储至预设第二数据表;所述第一数据表用于存储ipv4地址和ipv6地址的地址压缩值;所述第二数据表用于存储目标ipv6地址,所述目标ipv6地址与第一数据表中的已存储的ipv6地址不相同,且所述目标ipv6地址的地址压缩值与第一数据表中的已存储的ipv6地址的地址压缩值相同;
6、将所述第一数据表和所述第二数据表发送至所述网关,以使所述网关根据所述第一数据表和所述第二数据表对ip数据包进行处理。
7、可选地,所述根据所述第一ip地址的地址压缩值,将所述第一ip地址对应的地址压缩值和对应的行为信息存储至预设第一数据表或者将所述第一ip地址和对应的行为信息存储至预设第二数据表,包括:
8、判断所述第一数据表中是否存在与所述地址压缩值相同的第二ip地址;
9、若所述第一数据表中不存在与所述地址压缩值相同的第二ip地址,则将地址压缩值和对应的行为信息存储至所述第一数据表;
10、若所述第一数据表中存在与所述地址压缩值相同的第二ip地址,则判断所述第一ip地址是否与所述第二ip地址相同;
11、若所述第一ip地址与所述第二ip地址不相同,则将所述ip地址和对应的行为信息存储至预设第二数据表;
12、若所述第一ip地址与所述第二ip地址相同,则将所述ip地址对应的地址压缩值和对应的行为信息存储至所述第一数据表。
13、可选地,还包括:
14、若所述第一ip地址的类型为ipv4地址,则为所述第一ip地址配置相应的行为信息,并将所述第一ip地址和对应的行为信息存储至所述第一数据表。
15、可选地,所述行为信息包括丢弃行为信息和转发行为信息,所述丢弃行为信息用于指示对所述ip数据包执行丢弃操作;所述转发行为信息用于指示对所述ip数据包执行转发操作。
16、本发明实施例还公开了一种ip地址的控制方法,应用于网关,所述网关与网络控制设备通信,所述方法包括:
17、接收所述网络控制设备发送的第一数据表和第二数据表;所述第一数据表用于存储ipv4地址和ipv6地址的地址压缩值;所述第二数据表用于存储目标ipv6地址,所述目标ipv6地址与第一数据表中的已存储的ipv6地址不相同,且所述目标ipv6地址的地址压缩值与第一数据表中的已存储的ipv6地址的地址压缩值相同;
18、当接收到ipv6地址的ip数据包时,对所述ip数据包中的ipv6地址进行压缩得到对应的地址压缩值;
19、根据所述ip数据包中的ipv6地址和所述地址压缩值,从所述第一数据表和所述第二数据表中确定对应的行为信息;
20、根据所述行为信息,对所述ip数据包执行相应的操作。
21、可选地,所述根据所述ip数据包中的ipv6地址和所述地址压缩值,从所述第一数据表和所述第二数据表中确定对应的行为信息,包括:
22、判断所述第二数据表中是否存在与所述ip数据包中的ipv6地址相同的目标ipv6地址;
23、若所述第二数据表中不存在与所述ip数据包中的ipv6地址相同的目标ipv6地址,则判断所述第一数据表中是否存在与所述地址压缩值相同的第二ip地址;
24、若所述第一数据表中存在与所述地址压缩值相同的第二ip地址,则从所述第一数据表中获取与所述地址压缩值对应的行为信息;
25、若所述第二数据表中存在与所述ip数据包中的ipv6地址相同的目标ipv6地址,则从所述第二数据表中获取与所述目标ipv6地址对应的行为信息。
26、可选地,还包括:
27、当接收到ipv4地址的ip数据包时,判断所述第一数据表中是否存在与所述ipv4地址相同的第二ip地址;
28、若所述第一数据表中存在与所述ipv4地址相同的第二ip地址,则从所述第一数据表中获取与所述第二ip地址对应的行为信息;
29、根据所述行为信息,对所述ip数据包执行相应的操作。
30、可选地,所述行为信息包括丢弃行为信息和转发行为信息,所述根据所述行为信息,对所述ip数据包执行相应的操作,包括:
31、若所述行为信息为所述丢弃行为信息,则对所述ip数据包执行丢弃操作;
32、若所述行为信息为所述转发行为信息,则对所述ip数据包执行转发操作。
33、本发明实施例还公开了一种网络控制设备,网络控制设备与网关通信,所述网络控制设备包括:
34、类型确定模块,用于获取待处理的第一ip地址,并确定所述第一ip地址的类型;所述类型包括ipv4地址和ipv6地址;
35、地址压缩模块,用于若所述第一ip地址的类型为ipv6地址,则对所述第一ip地址进行压缩得到对应的地址压缩值;
36、第一地址存储模块,用于为所述第一ip地址配置相应的行为信息,并根据所述第一ip地址的地址压缩值,将所述第一ip地址的地址压缩值和对应的行为信息存储至预设第一数据表或者将所述第一ip地址和对应的行为信息存储至预设第二数据表;所述第一数据表用于存储ipv4地址和ipv6地址的地址压缩值;所述第二数据表用于存储目标ipv6地址,所述目标ipv6地址与第一数据表中的已存储的ipv6地址不相同,且所述目标ipv6地址的地址压缩值与第一数据表中的已存储的ipv6地址的地址压缩值相同;
37、数据表发送模块,用于将所述第一数据表和所述第二数据表发送至所述网关,以使所述网关根据所述第一数据表和所述第二数据表对ip数据包进行处理。
38、可选地,所述第一地址存储模块,包括:
39、压缩值判断子模块,用于判断所述第一数据表中是否存在与所述地址压缩值相同的第二ip地址;
40、第一压缩值存储子模块,用于若所述第一数据表中不存在与所述地址压缩值相同的第二ip地址,则将地址压缩值存储和对应的行为信息至所述第一数据表;
41、地址判断子模块,用于若所述第一数据表中存在与所述地址压缩值相同的第二ip地址,则判断所述第一ip地址是否与所述第二ip地址相同;
42、地址存储子模块,用于若所述第一ip地址与所述第二ip地址不相同,则将所述ip地址和对应的行为信息存储至预设第二数据表;
43、第二压缩值存储子模块,用于若所述第一ip地址与所述第二ip地址相同,则将所述ip地址对应的地址压缩值和对应的行为信息存储至所述第一数据表。
44、可选地,还包括:
45、第二地址存储模块,用于若所述第一ip地址的类型为ipv4地址,则为所述第一ip地址配置相应的行为信息,并将所述第一ip地址和对应的行为信息存储至所述第一数据表。
46、可选地,所述行为信息包括丢弃行为信息和转发行为信息,所述丢弃行为信息用于指示对所述ip数据包执行丢弃操作;所述转发行为信息用于指示对所述ip数据包执行转发操作。
47、本发明实施例还公开了一种网关,所述网关与网络控制设备通信,所述网关包括:
48、数据表接收模块,用于接收所述网络控制设备发送的第一数据表和第二数据表;所述第一数据表用于存储ipv4地址和ipv6地址的地址压缩值;所述第二数据表用于存储目标ipv6地址,所述目标ipv6地址与第一数据表中的已存储的ipv6地址不相同,且所述目标ipv6地址的地址压缩值与第一数据表中的已存储的ipv6地址的地址压缩值相同;
49、地址压缩值得到模块,用于当接收到ipv6地址的ip数据包时,对所述ip数据包中的ipv6地址进行压缩得到对应的地址压缩值;
50、行为信息确定模块,用于根据所述ip数据包中的ipv6地址和所述地址压缩值,从所述第一数据表和所述第二数据表中确定对应的行为信息;
51、第一操作执行模块,用于根据所述行为信息,对所述ip数据包执行相应的操作。
52、可选地,所述行为信息确定模块,包括:
53、第一地址判断子模块,用于判断所述第二数据表中是否存在与所述ip数据包中的ipv6地址相同的目标ipv6地址;
54、第二地址判断子模块,用于若所述第二数据表中不存在与所述ip数据包中的ipv6地址相同的目标ipv6地址,则判断所述第一数据表中是否存在与所述地址压缩值相同的第二ip地址;
55、第一行为信息获取子模块,用于若所述第一数据表中存在与所述地址压缩值相同的第二ip地址,则从所述第一数据表中获取与所述地址压缩值对应的行为信息;
56、第二行为信息获取子模块,用于若所述第二数据表中存在与所述ip数据包中的ipv6地址相同的目标ipv6地址,则从所述第二数据表中获取与所述目标ipv6地址对应的行为信息。
57、可选地,还包括:
58、第一地址判断模块,用于当接收到ipv4地址的ip数据包时,判断所述第一数据表中是否存在与所述ipv4地址相同的第二ip地址;
59、第一行为信息获取模块,用于若所述第一数据表中存在与所述ipv4地址相同的第二ip地址,则从所述第一数据表中获取与所述第二ip地址对应的行为信息;
60、第二操作执行模块,用于根据所述行为信息,对所述ip数据包执行相应的操作。
61、可选地,所述行为信息包括丢弃行为信息和转发行为信息,所述第一操作执行模块,包括:
62、丢弃操作子模块,用于若所述行为信息为所述丢弃行为信息,则对所述ip数据包执行丢弃操作;
63、转发操作子模块,用于若所述行为信息为所述转发行为信息,则对所述ip数据包执行转发操作。
64、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
65、所述存储器,用于存放计算机程序;
66、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述ip地址的存储方法,或如本发明实施例所述ip地址的控制方法。
67、本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如如本发明实施例所述ip地址的存储方法,或如本发明实施例所述ip地址的控制方法。
68、本发明实施例包括以下优点:
69、在本发明实施例中,获取待处理的第一ip地址,并确定第一ip地址的类型;若第一ip地址的类型为ipv6地址,则对第一ip地址进行压缩得到对应的地址压缩值;为第一ip地址配置相应的行为信息,并根据第一ip地址的地址压缩值,将第一ip地址的地址压缩值和对应的行为信息存储至预设第一数据表或者将第一ip地址和对应的行为信息存储至预设第二数据表;将第一数据表和第二数据表发送至网关,以使网关根据第一数据表和第二数据表对ip数据包进行处理。本发明通过确定待处理的第一ip地址的类型,将第一ip地址的类型为ipv6地址进行压缩处理,得到地址压缩值,基于地址压缩值进行存储第一ip地址,实现将ipv4地址与ipv6地址存储在第一数据表中,提高了ipv6地址的存储量,并且将ipv6地址进行压缩后存储,实现最大化的利用了网络控制设备中的硬件资源。