一种基于白名单实现多网口共享IP地址的冗余通信方法技术

技术编号:15334636 阅读:80 留言:0更新日期:2017-05-16 21:48
本发明专利技术公开了一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,包括如下步骤:步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口;步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,同时清除其他端口对应的白名单;步骤3、当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;当发送数据时:网卡驱动指定从当前工作端口发送数据。实现装置多网口为相同IP地址和MAC地址的情况下进行通讯。

【技术实现步骤摘要】
一种基于白名单实现多网口共享IP地址的冗余通信方法
本专利技术涉及一种基于白名单实现多网口共享IP地址的冗余通信方法。
技术介绍
在电力系统智能设备领域,经常出现一种特殊多网通讯的情况:要求一个装置网络多端口为相同IP地址和MAC地址,且多端口为热备份,实际应用的组网方式如下图1所示。普通装置正常情况下无法提供多个相同IP地址、相同MAC地址的网卡。在操作系统支持下,可以设置双网卡绑定(bond)方式运行,这样可以提供相同IP地址和MAC地址的双网,但是要求装置在硬件上支持双网卡且操作系统支持双网绑定共组方式,这样会导致设计复杂,成本增加,而且这种方法无法实现多网口共享相同IP地址的这种模式。
技术实现思路
针对上述问题,本专利技术提供一种基于白名单实现多网口共享IP地址的冗余通信方法,实现装置多网口为相同IP地址和MAC地址的情况下进行通讯。为实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,包括如下步骤:步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口;步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,同时清除其他端口对应的白名单;步骤3、当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;当发送数据时:网卡驱动指定从当前工作端口发送数据。优选,当当前网卡工作端口发生断链时,网卡驱动根据多网切换逻辑自动切换到未发生断链的端口,同时设置该端口对应的白名单,清除其他端口的白名单。优选,多网切换逻辑为:1)将网卡的多个端口分别按照优先级由高到低降序排列;2)选择连接状态为正常且优先级最高的端口为当前网卡工作端口;3)当当前网卡工作端口的连接状态为异常时,进入步骤2)选择新的当前网卡工作端口。优选,多网切换逻辑还包括:当优先级高于当前网卡工作端口的端口连接状态由异常恢复到正常时,则切换该端口为新的当前网卡工作端口。本专利技术的有益效果是:通过上述方法仅采用一个网卡就可以实现装置多网口为相同IP地址和MAC地址的情况下的冗余通讯,这种方案不依赖于具体的硬件,大大降低了设计的复杂程度和硬件的设计、生产成本,通信高效、灵活。附图说明图1是特殊多网通讯情况下的实际应用的组网方式示意图;图2是本专利技术网卡、FPGA、phy的关系示意图;图3是本专利技术具体实施例里A、B双网基于白名单双网切换方法的总体架构示意图;图4是本专利技术具体实施例里A、B双网的切换逻辑示意图。具体实施方式下面结合附图和具体的实施例对本专利技术技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。如图1所示,在电力系统智能设备领域,经常出现一种特殊多网通讯的情况:要求一个装置网络多个端口为相同IP地址和MAC地址,且多端口为热备份。一种基于白名单实现多网口共享IP地址的冗余通信方法,包括如下步骤:步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口。步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,使能从该端口接收数据,同时清除其他端口对应的白名单。步骤3、数据的收发:当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;当发送数据时:网卡驱动指定从当前工作端口发送数据。以图2中的网卡、FPGA、phy(物理层接口,也即网卡的多个端口,每个端口对应一个MAC地址)的关系简图为例,网卡和多个端口之间通过FPGA进行连接,CPU的网卡驱动设置FPGA允许接收的MAC地址过滤白名单,FPGA根据网卡驱动设置的白名单选择对应的端口phy接收数据,根据网卡驱动指定的发送端口phy发送数据。FPGA根据网卡驱动设置的白名单选择对应的端口接收数据,根据网卡驱动指定的发送端口(即当前网卡工作端口)发送数据。具体的做法为:(1)接收数据:FPGA汇总数据根据预设的白名单进行过滤,非本设备需要接收的数据直接丢弃。(2)发送数据:FPGA发送数据的时候,根据网卡驱动选定的端口(即当前网卡工作端口)发送数据,其中,发送数据的过程中,将本端口对应的MAC地址写入数据报文中。白名单为一种数据过滤手段,只有设置了白名单的端口才能够接收数据,只有目的地址加入了白名单的报文才能够被接收,否则数据会全部被过滤掉,直接进行丢弃处理。其中,在通讯过程中,当当前网卡工作端口发生断链时,网卡驱动根据多网切换逻辑自动切换到未发生断链的端口,同时设置该端口对应的白名单,清除其他端口的白名单。一般的,多网切换逻辑为:1)将网卡的多个端口分别按照优先级由高到低降序排列;2)选择连接状态(link状态)为正常且优先级最高的端口为当前网卡工作端口;3)当当前网卡工作端口的连接状态为异常时,进入步骤2)选择新的当前网卡工作端口;4)当优先级高于当前网卡工作端口的端口连接状态由异常恢复到正常时,则切换该端口为新的当前网卡工作端口。下面举例说明:(1)网卡的多个端口的优先级由A网端口到N网端口依次下降,A网端口优先级最高;(2)当A网端口link状态正常时,选择A网端口工作;(3)当A网端口link状态异常时,如果B网端口正常,选择B网端口工作;(4)当A网端口link状态异常时,如果B网端口也异常,选择C网端口工作,其他端口的逻辑以此类推;(6)如果所有端口都出现link状态异常时,选择A网端口工作;(6)当优先级低的端口工作过程中,优先级高的端口link状态恢复正常,则会切换到优先级高的端口工作。比如:当目前处于B网端口工作时,如果A网端口恢复正常,则切换到A网端口工作。网卡驱动检测同一网卡的多个端口的链接状态的具体步骤如下:A、通过命令字,设置参与多网切换的端口;B、通过命令字,获取参与运行的多个网络端口的连接状态;C、通过命令字,获取当前正在进行通信的端口。检测到端口的工作状态之后,根据多网切换逻辑设置当前网卡工作端口。如图3和4所示,假设网卡对应A和B两个端口,即A、B双网,则,基于白名单实现双网口共享IP地址的冗余通信方法,具体为:步骤A,网卡驱动检测指定网卡双端口的链接状态,然后根据双网切换逻辑选择当前网卡工作端口,设置该工作端口FPGA允许接收MAC地址过滤白名单,使能从该端口接收数据,同时清除另一端口接收白名单,禁止另一端口接收数据。步骤B:当当前网卡工作端口网络发生断链时,双网切换逻辑自动切换到另外一个端口,同时设置该端口FPGA接收MAC地址对应的新的白名单,清除之前的白名单。上述中双网切换逻辑为:1、当A网link状态正常时,选择A网工作。2、当A网link状态异常时,如果B网正常,选择B网工作。3、当A网link状态异常时,如果B网也异常,选择A网工作。4、当目前处于B网工作时,如果A网恢复正常,则切换到A网工作。步骤C,网卡驱动发送数据时指定从当前工作端口发送数据。其中,网卡驱动检测指定网卡双端口的链接状态的步骤如下:(1)通过命令字0x600A,设置参与双网切换的端口,具体的含义用一个字节(本文档来自技高网...
一种基于白名单实现多网口共享IP地址的冗余通信方法

【技术保护点】
一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,包括如下步骤:步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口;步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,同时清除其他端口对应的白名单;步骤3、当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;当发送数据时:网卡驱动指定从当前工作端口发送数据。

【技术特征摘要】
1.一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,包括如下步骤:步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口;步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,同时清除其他端口对应的白名单;步骤3、当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;当发送数据时:网卡驱动指定从当前工作端口发送数据。2.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,当当前网卡工作端口发生断链时,网卡驱动根据多网切换逻辑自动切换到未发生断链的端口,同时设置该端口对应的白名单,清除其他端口的白名单。3.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,多网切换逻辑为:1)将网卡的...

【专利技术属性】
技术研发人员:花俊文继锋李秋华姜晓光周强
申请(专利权)人:南京南瑞继保电气有限公司南京南瑞继保工程技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1