ND代理配置系统、方法、装置、通信设备及存储介质与流程

未命名 08-26 阅读:271 评论:0
nd代理配置系统、方法、装置、通信设备及存储介质
技术领域
:1.本技术涉及nd代理
技术领域
:,特别涉及一种nd代理配置系统、方法、装置、通信设备及存储介质。
背景技术
::2.nd只适用于处于同一物理网络的相同网段主机之间的通信。网络中设备收到主机发送的ns报文后,会检查报文的目的ipv6地址是否是本机的ipv6地址,以确定该报文请求的是不是本机的mac地址。如果是,则回复na报文;如果不是,则丢弃该ns报文。对于不在同一物理网络但属于相同网段的主机,或者在同一物理网络属于相同网段但不能二层互通的主机,可以在其之间的设备上部署nd代理功能,以实现这些主机之间的通信。部署nd代理功能后,设备收到ns报文且发现其目的地址不是自己,则使用设备自己的mac地址以及目的主机的ipv6地址向源主机回复na报文,即设备代替目的主机回复na报文。3.现有的nd代理配置方法,在开启nd代理配置功能后,通过netlink监听内核中的邻居信息,在邻居状态为可用状态时,则将邻居信息添加到内核代理邻居表中,以此实现nd代理的配置。4.然而,在上述方法中不难看出,通过netlink监听添加或者删除内核代理邻居表中的邻居信息时,由于网络环境比较复杂,在删除内核代理邻居表中的邻居信息时会出现错删的情况,因此就会出现nd代理配置准确率低的问题。技术实现要素:5.本技术实施例的目的在于提供一种nd代理配置系统、方法、装置、通信设备及存储介质,解决因通过netlink监听添加或者删除内核代理邻居表中的邻居信息时,会出现错删内核代理邻居表中的邻居信息的情况,进而导致的nd代理配置准确率低的技术问题,具体技术方案如下:6.在本技术实施的第一方面,首先提供了一种nd代理配置系统,应用于白盒交换机,包括:数据管理模块,内核处理模块,邻居信息处理模块,代理进程管理服务,以及,接口代理邻居表管理进程;7.所述数据管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;8.所述内核处理模块,用于通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;9.所述邻居信息处理模块,用于在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;10.所述代理进程管理服务,用于通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;11.所述接口代理邻居表管理进程,用于管理所述接口在内核中的内核代理邻居表。12.可选地,所述系统还包括:配置模块;13.所述配置模块,用于在远程字典服务redis数据库中基于待配置白盒交换机接口的接口名称和所述接口名称对应的接口代理状态信息,生成接口代理状态信息表,并将所述接口代理状态信息表发送至所述数据管理模块。14.可选地,所述内核处理模块,还用于在所述接口代理状态改变的情况下,接收所述数据管理模块发送的接口代理状态改变提示信息,基于当前接口代理状态和设置的接口代理状态确定接口代理状态改变的接口,并对所述接口执行配置操作。15.可选地,所述配置操作可以包括:修改交换芯片邻居发现协议,下发报文转发规则,修改部署在所述内核上的与接口对应的开关,以及,创建所述接口对应的所述接口代理开关功能表。16.可选地,所述代理进程管理服务,还用于若基于所述接口的代理开关状态数据确定所述接口开启代理功能,对所述接口启动接口代理邻居表管理进程。17.可选地,所述接口代理邻居表管理进程,还用于获取所述邻居信息状态表中与所述接口对应的邻居信息,将所述邻居信息添加至所述内核代理邻居表,以及,订阅所述redis数据库中的邻居信息状态表,基于所述邻居信息状态表中所述接口的实时邻居信息对所述接口对应的所述内核代理邻居表进行管理。18.在本技术实施的第二方面,还提供了一种nd代理配置方法,所述方法包括:19.在接收到配置模块发送的接口代理状态信息表的情况下,数据管理模块对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;20.在完成将所述接口代理状态信息存储至全局配置文件中的情况下,内核处理模块通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对所述待配置白盒交换机接口的接口代理状态进行监控;21.在对所述接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;22.在完成创建所述邻居信息状态表的情况下,代理进程管理服务通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;23.在监听所述接口的代理开关状态数据的过程中,接口代理邻居表管理进程管理所述接口在内核中的内核代理邻居表。24.在本技术实施的第三方面,还提供了一种nd代理配置装置,所述装置包括:25.接口代理状态信息管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;26.接口代理状态监控模块,用于通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;27.创建邻居信息状态表模块,用于在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;28.监听代理开关状态数据模块,用于通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;29.内核代理邻居表管理模块,用于管理所述接口在内核中的内核代理邻居表。30.在本技术实施的第四方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;31.所述处理器,用于读取存储器中的程序实现执行上述所述的nd代理配置方法。32.在本技术实施的第五方面,还提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述所述的nd代理配置方法。33.本技术实施例提供的nd代理配置系统,应用于白盒交换机,包括:数据管理模块,内核处理模块,邻居信息处理模块,代理进程管理服务,以及,接口代理邻居表管理进程;数据管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中;内核处理模块,用于通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;邻居信息处理模块,用于在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;代理进程管理服务,用于通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;接口代理邻居表管理进程,用于管理接口在内核中的内核代理邻居表。本技术实施例通过部署在白盒交换机上的配置模块,数据管理模块、内核处理模块、邻居信息处理模块、代理进程管理服务和接口代理邻居表管理进程实现nd代理的配置,使得每个接口能够使用独立的进程管理内核中的内核代理邻居表,互不干扰,避免了在删除内核代理邻居表中的邻居信息时会出现错删的情况,进而解决了nd代理配置准确率低的问题;本技术通过将配置数据存储至数据库中,配置数据的执行由其他模块具体执行,使得配置与执行异步进行,保证了操作系统配置的统一,方便了配置数据的保存;本技术通过邻居信息处理模块实时更新操作系统中存储的接口的邻居信息,保证了邻居信息的正确性。附图说明34.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。35.图1是根据一示例性实施例示出的一种nd代理配置系统的系统框图之一;36.图2是根据一示例性实施例示出的一种nd代理配置系统的系统框图之二;37.图3是根据一示例性实施例示出的一种nd代理配置方法的步骤流程图;38.图4是根据一示例性实施例示出的一种nd代理配置装置的装置框图;39.图5是根据一示例性实施例示出的一种通信设备的结构示意图;40.图6是根据一示例性实施例示出的一种nd代理配置方法的应用场景示意图。具体实施方式41.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施方式中,为了使读者更好地理解本技术而提出了许多技术细结。但是,即使没有这些技术细结和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。42.图1是根据一示例性实施例示出的一种nd代理配置系统的系统框图,如图1所示,一种nd代理配置系统,包括:数据管理模块101,内核处理模块102,邻居信息处理模块103,代理进程管理服务104,以及,接口代理邻居表管理进程105,应用于白盒交换机。43.数据管理模块101,用于在接收到配置模块发送的接口代理状态信息表的情况下,对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中。44.需要说明的是,在本技术实施例中,接口代理状态信息表中存储有接口名称和接口名称对应的接口代理状态信息。在接收到部署在白盒交换机上的配置模块发送的接口代理状态信息表的情况下,数据管理模块可以根据接口代理状态信息表中存储的接口代理状态信息进行管理,并且还可以通过命令将接口代理状态信息保存到全局配置文件中,或者周期性地根据当前能够获取到的接口代理状态信息生成临时配置文件进行保存。需要说明的是,全局配置文件能够对一些默认设置值进行修改。45.内核处理模块102,用于通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控。46.需要说明的是,在本技术实施例中,远程字典服务(remotedictionaryserver,redis)数据库中存储有接口代理状态信息表,接口代理状态信息表中存储有接口名称和接口名称对应的接口代理状态信息。内核处理模块能够通过订阅远程字典服务redis数据库中存储的接口代理状态信息表,获取与接口名称对应的接口代理状态信息,进而通过接口代理状态信息对接口的接口代理状态进行监控。47.邻居信息处理模块103,用于在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表。48.需要说明的是,在本技术实施例中,邻居信息处理模块在操作系统启动的情况下,当操作系统中存储的接口的邻居信息发生变化时,能够及时将接口的邻居信息进行更新,并且基于更新后的邻居信息在redis数据库中创建邻居信息状态表,也即neigh_state_table,用于保存操作系统中所有接口及其邻居的ip地址信息。以接口ethernet1为例,如果建立邻居n1,其ip地址为1.1.1.1,则在数据库中创建表名为“neigh_state_table|ethernet1|1.1.1.1”的邻居信息状态表;如邻居n1被删除,则在数据库中删除此表。49.代理进程管理服务104,用于通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据。50.需要说明的是,在本技术实施例中,接口代理开关功能表,也即intf_state_table中存储有接口名称以及接口名称对应的代理开关状态数据,也即接口名称对应的代理开关是开启还是关闭的数据,且接口代理开关功能表存储至redis数据库中。51.代理进程管理服务在操作系统启动时以服务的形式启动,在服务初始化阶段,在redis数据库中获取接口代理开关功能表,进一步地,能够通过接口代理开关功能表获取到所有接口的代理开关状态数据,并持续监听接口的代理开关状态数据。52.接口代理邻居表管理进程105,用于管理接口在内核中的内核代理邻居表。53.需要说明的是,在本技术实施例中,接口代理邻居表管理进程用于管理接口在内核中的内核代理邻居表。54.本技术实施例提供的nd代理配置系统,通过数据管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中;内核处理模块,用于通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;邻居信息处理模块,用于在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;代理进程管理服务,用于通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;接口代理邻居表管理进程,用于管理接口在内核中的内核代理邻居表。本技术实施例通过部署在白盒交换机上的配置模块,数据管理模块、内核处理模块、邻居信息处理模块、代理进程管理服务和接口代理邻居表管理进程实现nd代理的配置,使得每个接口能够使用独立的进程管理内核中的内核代理邻居表,互不干扰,避免了在删除内核代理邻居表中的邻居信息时会出现错删的情况,进而解决了nd代理配置准确率低的问题;本技术通过将配置数据存储至数据库中,配置数据的执行由其他模块具体执行,使得配置与执行异步进行,保证了操作系统配置的统一,方便了配置数据的保存;本技术通过邻居信息处理模块实时更新操作系统中存储的接口的邻居信息,保证了邻居信息的正确性。55.图6是根据一示例性实施例示出的一种nd代理配置方法的应用场景示意图,如图6所示,白盒交换机上部署有数据管理模块,内核处理模块,邻居信息处理模块,代理进程管理服务,以及,接口代理邻居表管理进程,一种nd代理配置方法由白盒交换机上部署的数据管理模块,内核处理模块,邻居信息处理模块,代理进程管理服务,以及,接口代理邻居表管理进程去具体执行。56.进一步地,在本实施例中,如图2所示,该系统还包括:配置模块201。57.配置模块201,用于在远程字典服务redis数据库中基于待配置白盒交换机接口的接口名称和接口名称对应的接口代理状态信息,生成接口代理状态信息表,并将接口代理状态信息表发送至数据管理模块。58.需要说明的是,在本技术实施例中,配置数据需要保存在同一份配置文件中,以便于在操作系统启动时,由初始化模块将配置文件中存储的配置数据加载到数据库中,系统中的服务再根据数据库中的配置数据初始化各子模块。nd代理功能的开启和关闭也需要作为配置数据保存在此配置文件中,这样,在操作系统启动时可以根据配置数据对操作系统进行相应配置,由此完成软件转发及代答功能。59.部署在白盒交换机上的配置模块通过下发命令或者加载配置文件的方式,在redis数据库中基于需要配置的接口的接口名称和接口名称对应的接口代理状态信息为接口生成对应的接口代理状态信息表,也即interface_table,并将接口代理状态信息表发送至数据管理模块,接口代理状态信息表中存储有接口的接口名称和接口名称对应的接口代理状态信息,其中,以接口ethernet1为例,在开启此接口的nd代理功能时,将“interface_table|ethernet1”表中的“proxy_ndp”设置为“1”;反之,关闭此接口nd代理功能时,将“interface_table|ethernet1”表中的“proxy_ndp”设置为“0”。60.进一步地,在本实施例中,内核处理模块102,还用于在接口代理状态改变的情况下,接收数据管理模块发送的接口代理状态改变提示信息,基于当前接口代理状态和设置的接口代理状态确定接口代理状态改变的接口,并对接口执行配置操作。61.需要说明的是,在本技术实施例中,若监控到接口的接口代理状态发生改变时,数据管理模块会向内核处理模块发送接口代理状态改变提示信息,在内核处理模块接收到数据管理模块发送的接口代理状态改变提示信息的情况下,内核处理模块通过对比当前接口代理状态和设置的接口代理状态确定接口代理状态改变的接口,并对此接口执行配置操作,其中,所述接口代理状态改变提示信息用于提示内核处理模块接口的接口代理状态发生了变化。62.进一步地,在本实施例中,配置操作可以包括:修改交换芯片邻居发现协议,下发报文转发规则,修改部署在内核上的与接口对应的开关,以及,创建接口对应的接口代理开关功能表。63.需要说明的是,在本技术实施例中,交换芯片是一种用于网络交换的集成电路芯片,它可以实现数据包的转发和路由选择等功能。交换芯片的原理是通过将数据包从一个端口转发到另一个端口,从而实现网络设备之间的通信。邻居发现协议,用于发现直接连接的邻居信息,包括相邻设备的设备名称、软/硬件版本、连接端口等,还提供设备id、端口地址、硬件平台等。64.修改交换芯片邻居发现协议相关全局配置,将对邻居发现协议报文的处理由原来的硬件处理并同时复制给内核改为全部由内核进行转发,以此保障nd报文通过代理节点进行处理。65.对处于同一局域网中的节点下发报文转发规则,进一步保证不同节点间不会收到其他节点报文,接口间进行隔离。66.修改内核提供的与接口对应的开关proxy_ndp,打开或者关闭内核转发功能。67.设置结束后,创建接口对应的接口代理开关功能表,也即intf_state_table,记录设置状态,如“intf_state_table|ethernet1”,供代理进程管理服务判断是否继续进行相应设置。68.进一步地,在本实施例中,代理进程管理服务104,还用于若基于接口的代理开关状态数据确定接口开启代理功能,对接口启动接口代理邻居表管理进程。69.需要说明的是,在本技术实施例中,服务初始化结束后,代理进程管理服务依据获取到的代理开关状态数据判断与其对应的接口是否开启了nd代理功能,其中,代理开关状态数据为开启,则说明该接口开启了nd代理功能;代理开关状态数据为关闭,则说明该接口关闭了nd代理功能。如果有接口开启了nd代理功能,则为此接口启动对应的接口代理邻居表管理进程;如果有接口关闭了nd代理功能,则需要结束此接口对应的接口代理邻居表管理进程。70.进一步地,在本实施例中,接口代理邻居表管理进程105,还用于获取邻居信息状态表中与接口对应的邻居信息,将邻居信息添加至内核代理邻居表,以及,订阅redis数据库中的邻居信息状态表,基于邻居信息状态表中接口的实时邻居信息对接口对应的内核代理邻居表进行管理。71.需要说明的是,在本技术实施例中,接口代理邻居表管理进程在启动后,首先获取邻居信息状态表中与接口对应的邻居信息,也即ip地址,并将邻居信息添加至内核代理邻居表中,然后订阅当前redis数据库中的邻居信息状态表,基于邻居信息状态表中接口的实时邻居信息对接口对应的内核代理邻居表进行管理,具体地,若邻居信息状态表中接口的实时邻居信息有新增邻居,则在内核代理邻居表中将新增的邻居信息进行添加;若邻居信息状态表中接口的实时邻居信息有删减邻居,则在内核代理邻居表中将删减的邻居信息进行删除。72.本技术的第二实施方式涉及一种nd代理配置方法,如图3所示,图3是根据一示例性实施例示出的一种nd代理配置方法的步骤流程图,包括:73.步骤301,在接收到配置模块发送的接口代理状态信息表的情况下,数据管理模块对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中。74.步骤302,在完成将接口代理状态信息存储至全局配置文件中的情况下,内核处理模块通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控。75.步骤303,在对接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表。76.步骤304,在完成创建邻居信息状态表的情况下,代理进程管理服务通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据。77.步骤305,在监听接口的代理开关状态数据的过程中,接口代理邻居表管理进程管理接口在内核中的内核代理邻居表。78.需要说明的是,在本技术实施例中,在接收到部署在白盒交换机上的配置模块发送的接口代理状态信息表的情况下,数据管理模块可以根据接口代理状态信息表中存储的接口代理状态信息进行管理,并且还可以通过命令将接口代理状态信息保存到全局配置文件中,或者周期性地根据当前能够获取到的接口代理状态信息生成临时配置文件进行保存。在完成将接口代理状态信息存储至全局配置文件中的情况下,内核处理模块能够通过订阅远程字典服务redis数据库中存储的接口代理状态信息表,获取与接口名称对应的接口代理状态信息,进而通过接口代理状态信息对接口的接口代理状态进行监控。在对接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,当操作系统中存储的接口的邻居信息发生变化时,能够及时将接口的邻居信息进行更新,并且基于更新后的邻居信息在redis数据库中创建邻居信息状态表,也即neigh_state_table,用于保存操作系统中所有接口及其邻居的ip地址信息。以接口ethernet1为例,如果建立邻居n1,其ip地址为1.1.1.1,则在数据库中创建表名为“neigh_state_table|ethernet1|1.1.1.1”的邻居信息状态表;如邻居n1被删除,则在数据库中删除此表。在完成创建邻居信息状态表的情况下,代理进程管理服务在操作系统启动时以服务的形式启动,在服务初始化阶段,在redis数据库中获取接口代理开关功能表,进一步地,能够通过接口代理开关功能表获取到所有接口的代理开关状态数据,并持续监听接口的代理开关状态数据。在监听接口的代理开关状态数据的过程中,接口代理邻居表管理进程用于管理接口在内核中的内核代理邻居表。79.本技术实施例提供的nd代理配置方法,通过在接收到配置模块发送的接口代理状态信息表的情况下,数据管理模块对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中;在完成将接口代理状态信息存储至全局配置文件中的情况下,内核处理模块通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;在对接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;在完成创建邻居信息状态表的情况下,代理进程管理服务通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;在监听接口的代理开关状态数据的过程中,接口代理邻居表管理进程管理接口在内核中的内核代理邻居表。本技术实施例通过部署在白盒交换机上的配置模块,数据管理模块、内核处理模块、邻居信息处理模块、代理进程管理服务和接口代理邻居表管理进程实现nd代理的配置,使得每个接口能够使用独立的进程管理内核中的内核代理邻居表,互不干扰,避免了在删除内核代理邻居表中的邻居信息时会出现错删的情况,进而解决了nd代理配置准确率低的问题;本技术通过将配置数据存储至数据库中,配置数据的执行由其他模块具体执行,使得配置与执行异步进行,保证了操作系统配置的统一,方便了配置数据的保存;本技术通过邻居信息处理模块实时更新操作系统中存储的接口的邻居信息,保证了邻居信息的正确性。80.本技术的第三实施方式涉及一种nd代理配置装置,如图4所示,图4是根据一示例性实施例示出的一种nd代理配置装置的装置框图,该装置包括:81.接口代理状态信息管理模块401,用于在接收到配置模块发送的接口代理状态信息表的情况下,对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;82.接口代理状态监控模块402,用于通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;83.创建邻居信息状态表模块403,用于在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;84.监听代理开关状态数据模块404,用于通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;85.内核代理邻居表管理模块405,用于管理接口在内核中的内核代理邻居表。86.本技术实施例提供的nd代理配置装置,通过数据管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中;内核处理模块,用于通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;邻居信息处理模块,用于在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;代理进程管理服务,用于通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;接口代理邻居表管理进程,用于管理接口在内核中的内核代理邻居表。本技术实施例通过部署在白盒交换机上的配置模块,数据管理模块、内核处理模块、邻居信息处理模块、代理进程管理服务和接口代理邻居表管理进程实现nd代理的配置,使得每个接口能够使用独立的进程管理内核中的内核代理邻居表,互不干扰,避免了在删除内核代理邻居表中的邻居信息时会出现错删的情况,进而解决了nd代理配置准确率低的问题;本技术通过将配置数据存储至数据库中,配置数据的执行由其他模块具体执行,使得配置与执行异步进行,保证了操作系统配置的统一,方便了配置数据的保存;本技术通过邻居信息处理模块实时更新操作系统中存储的接口的邻居信息,保证了邻居信息的正确性。87.本技术实施例还提供了一种通信设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,88.存储器503,用于存放计算机程序;89.处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:90.在接收到配置模块发送的接口代理状态信息表的情况下,数据管理模块对接口代理状态信息表中的接口代理状态信息进行管理,以及,将接口代理状态信息存储至全局配置文件中;91.在完成将接口代理状态信息存储至全局配置文件中的情况下,内核处理模块通过订阅远程字典服务redis数据库中存储的接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;92.在对接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,实时更新操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在redis数据库中创建邻居信息状态表;93.在完成创建邻居信息状态表的情况下,代理进程管理服务通过订阅redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听接口的代理开关状态数据;94.在监听接口的代理开关状态数据的过程中,接口代理邻居表管理进程管理接口在内核中的内核代理邻居表。95.上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。96.通信接口用于上述终端与其他设备之间的通信。97.存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。98.上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。99.在本技术提供的又一实施例中,还提供了一种计算机存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的nd代理配置方法。100.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的nd代理配置方法。101.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。102.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。103.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。104.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。当前第1页12当前第1页12
技术特征:
1.一种nd代理配置系统,其特征在于,应用于白盒交换机,包括:数据管理模块,内核处理模块,邻居信息处理模块,代理进程管理服务,以及,接口代理邻居表管理进程;所述数据管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;所述内核处理模块,用于通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;所述邻居信息处理模块,用于在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;所述代理进程管理服务,用于通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;所述接口代理邻居表管理进程,用于管理所述接口在内核中的内核代理邻居表。2.根据权利要求1所述的nd代理配置系统,其特征在于,所述系统还包括:配置模块;所述配置模块,用于在远程字典服务redis数据库中基于待配置白盒交换机接口的接口名称和所述接口名称对应的接口代理状态信息,生成接口代理状态信息表,并将所述接口代理状态信息表发送至所述数据管理模块。3.根据权利要求1所述的nd代理配置系统,其特征在于,所述内核处理模块,还用于在所述接口代理状态改变的情况下,接收所述数据管理模块发送的接口代理状态改变提示信息,基于当前接口代理状态和设置的接口代理状态确定接口代理状态改变的接口,并对所述接口执行配置操作。4.根据权利要求3所述的nd代理配置系统,其特征在于,所述配置操作可以包括:修改交换芯片邻居发现协议,下发报文转发规则,修改部署在所述内核上的与接口对应的开关,以及,创建所述接口对应的所述接口代理开关功能表。5.根据权利要求1所述的nd代理配置系统,其特征在于,所述代理进程管理服务,还用于若基于所述接口的代理开关状态数据确定所述接口开启代理功能,对所述接口启动接口代理邻居表管理进程。6.根据权利要求1所述的nd代理配置系统,其特征在于,所述接口代理邻居表管理进程,还用于获取所述邻居信息状态表中与所述接口对应的邻居信息,将所述邻居信息添加至所述内核代理邻居表,以及,订阅所述redis数据库中的邻居信息状态表,基于所述邻居信息状态表中所述接口的实时邻居信息对所述接口对应的所述内核代理邻居表进行管理。7.一种nd代理配置方法,其特征在于,应用于权利要求1所述的nd代理配置系统,所述方法包括:在接收到配置模块发送的接口代理状态信息表的情况下,数据管理模块对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;在完成将所述接口代理状态信息存储至全局配置文件中的情况下,内核处理模块通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对所述待配置白盒交换机接口的接口代理状态进行监控;
在对所述接口的接口代理状态进行监控的过程中,邻居信息处理模块在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;在完成创建所述邻居信息状态表的情况下,代理进程管理服务通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;在监听所述接口的代理开关状态数据的过程中,接口代理邻居表管理进程管理所述接口在内核中的内核代理邻居表。8.一种nd代理配置装置,其特征在于,应用于权利要求1所述的nd代理配置系统,所述装置包括:接口代理状态信息管理模块,用于在接收到配置模块发送的接口代理状态信息表的情况下,对所述接口代理状态信息表中的接口代理状态信息进行管理,以及,将所述接口代理状态信息存储至全局配置文件中;接口代理状态监控模块,用于通过订阅远程字典服务redis数据库中存储的所述接口代理状态信息表对待配置白盒交换机接口的接口代理状态进行监控;创建邻居信息状态表模块,用于在操作系统启动的情况下,实时更新所述操作系统中存储的接口的邻居信息,并基于更新后的邻居信息在所述redis数据库中创建邻居信息状态表;监听代理开关状态数据模块,用于通过订阅所述redis数据库中存储的接口代理开关功能表,获取接口的代理开关状态数据,并监听所述接口的代理开关状态数据;内核代理邻居表管理模块,用于管理所述接口在内核中的内核代理邻居表。9.一种通信设备,其特征在于,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如权利要求7所述的nd代理配置方法中的步骤。10.一种存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求7所述的nd代理配置方法中的步骤。

技术总结
本申请实施例提供了一种ND代理配置系统、方法、装置、通信设备及存储介质,该系统包括:数据管理模块,用于将接口代理状态信息存储至全局配置文件中;内核处理模块,用于对待配置白盒交换机接口的接口代理状态进行监控;邻居信息处理模块,用于基于更新后的邻居信息在Redis数据库中创建邻居信息状态表;代理进程管理服务,用于监听接口的代理开关状态数据;接口代理邻居表管理进程,用于管理接口在内核中的内核代理邻居表。本申请通过部署在白盒交换机上的各个模块实现ND代理配置,使得每个接口使用独立的进程管理内核中的代理邻居表,避免了错删内核代理邻居表中的邻居信息情况的发生,解决了ND代理配置准确率低的问题。解决了ND代理配置准确率低的问题。解决了ND代理配置准确率低的问题。


技术研发人员:丛戎 陈翔 郭巍松
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.05.18
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐