CN106657029A - 一种基于白名单实现多网口共享ip地址的冗余通信方法 - Google Patents

一种基于白名单实现多网口共享ip地址的冗余通信方法 Download PDF

Info

Publication number
CN106657029A
CN106657029A CN201611101723.6A CN201611101723A CN106657029A CN 106657029 A CN106657029 A CN 106657029A CN 201611101723 A CN201611101723 A CN 201611101723A CN 106657029 A CN106657029 A CN 106657029A
Authority
CN
China
Prior art keywords
port
white list
interface card
network interface
address
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201611101723.6A
Other languages
English (en)
Inventor
花俊
文继锋
李秋华
姜晓光
周强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
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 NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201611101723.6A priority Critical patent/CN106657029A/zh
Publication of CN106657029A publication Critical patent/CN106657029A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

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

Description

一种基于白名单实现多网口共享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,设置参与双网切换的端口,具体的含义用一个字节(8位)的数据来表示,参与的端口在其位置上置1,否则置0。如phy端口A和phy端口B参与双网切换,则设置为0x03(0x00000011);如phy端口C和phy端口D参与双网切换,则设置为0x0c(0x00001100)。
(2)通过命令字0x600B,获取参与运行的两端口phy端口A或phy端口B的link状态,用bit0和bit1分别来表示phy端口A状态和phy端口B的工作状态,其中0:表示不工作,1:表示工作。
(3)通过命令字0x600C,获取参与双网切换的通信端口,即:获取当前正在进行通信的端口。具体的含义用一个字节(8位)的数据来表示。如phy端口A和phy端口B参与双网切换,此时phy端口A正在通信工作,则此时返回0,phy端口B正在通信工作,则此时返回1,phy端口C正在通信工作,则此时返回2,phy端口D正在通信工作,则此时返回3。
(4)检测到端口的工作状态之后,根据双网切换逻辑示意图(如图4所示)设置该工作端口FPGA接收的白名单,并指定该工作端口发送数据。
FPGA根据网卡驱动设置的白名单选择对应的端口接收数据,根据网卡驱动指定的发送端口发送数据。具体的做法为:
1、接收数据:FPGA汇总数据根据预设的白名单进行过滤,非本设备需要接收的数据直接丢弃。
2、发送数据:FPGA发送数据的时候,根据网卡驱动选定的端口(即当前网卡工作端口)发送数据。
采用上述方案后,可以解决一般双网模式难以实现的一种特殊状况,仅采用一个网卡就可以实现装置多网口为相同IP地址和MAC地址的情况下的通讯,通信高效、灵活。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,包括如下步骤:
步骤1、网卡驱动检测指定网卡多个端口的链接状态,并根据多网切换逻辑选择当前网卡工作端口;
步骤2、设置当前网卡工作端口对应的白名单,所述白名单里写入当前网卡工作端口允许接收的MAC地址,同时清除其他端口对应的白名单;
步骤3、当接收数据时:当前网卡工作端口仅接收目的地址列入白名单的报文,其余数据直接丢弃,且禁止其他端口接收数据;
当发送数据时:网卡驱动指定从当前工作端口发送数据。
2.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,当当前网卡工作端口发生断链时,网卡驱动根据多网切换逻辑自动切换到未发生断链的端口,同时设置该端口对应的白名单,清除其他端口的白名单。
3.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,多网切换逻辑为:
1)将网卡的多个端口分别按照优先级由高到低降序排列;
2)选择连接状态为正常且优先级最高的端口为当前网卡工作端口;
3)当当前网卡工作端口的连接状态为异常时,进入步骤2)选择新的当前网卡工作端口。
4.根据权利要求3所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,多网切换逻辑还包括:当优先级高于当前网卡工作端口的端口连接状态由异常恢复到正常时,则切换该端口为新的当前网卡工作端口。
5.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,网卡和多个端口之间通过FPGA进行连接。
6.根据权利要求1所述的一种基于白名单实现多网口共享IP地址的冗余通信方法,其特征在于,网卡驱动检测同一网卡的多个端口的链接状态的具体步骤如下:
A、通过命令字,设置参与多网切换的端口;
B、通过命令字,获取参与运行的多个网络端口的连接状态;
C、通过命令字,获取当前正在进行通信的端口。
CN201611101723.6A 2016-12-05 2016-12-05 一种基于白名单实现多网口共享ip地址的冗余通信方法 Pending CN106657029A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611101723.6A CN106657029A (zh) 2016-12-05 2016-12-05 一种基于白名单实现多网口共享ip地址的冗余通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611101723.6A CN106657029A (zh) 2016-12-05 2016-12-05 一种基于白名单实现多网口共享ip地址的冗余通信方法

Publications (1)

Publication Number Publication Date
CN106657029A true CN106657029A (zh) 2017-05-10

Family

ID=58818339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611101723.6A Pending CN106657029A (zh) 2016-12-05 2016-12-05 一种基于白名单实现多网口共享ip地址的冗余通信方法

Country Status (1)

Country Link
CN (1) CN106657029A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413328A (zh) * 2019-07-24 2019-11-05 苏州浪潮智能科技有限公司 一种网卡端口的pxe功能使能方法、装置及相关设备
CN110808908A (zh) * 2019-09-27 2020-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 跨平台实时切换冗余网络的***和方法
CN112187960A (zh) * 2019-07-01 2021-01-05 广州汽车集团股份有限公司 一种车辆ecu地址分配方法、装置和车辆
CN112822149A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 一种基于智能路由器物理口和mac及ip的终端准入管控设计
CN113645048A (zh) * 2021-08-09 2021-11-12 武汉德创信通科技有限公司 网卡切换方法、装置以及现场可编程逻辑门阵列fpga
CN114157402A (zh) * 2021-11-15 2022-03-08 天津市英贝特航天科技有限公司 一种双冗余网卡通讯方法及装置
CN116527406A (zh) * 2023-07-03 2023-08-01 北京左江科技股份有限公司 一种基于fpga的多主机的安全***和通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1706160A (zh) * 2003-01-13 2005-12-07 思科技术公司 冗余转发引擎的最优化切换的方法和***
CN1842020A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 一种实现数据业务备份的方法
CN101707589A (zh) * 2009-09-25 2010-05-12 曙光信息产业(北京)有限公司 用于多端口网卡的端口自动切换实现方法和装置
CN104917705A (zh) * 2015-06-18 2015-09-16 国家电网公司 一种智能变电站过程层交换机的网络报文管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1706160A (zh) * 2003-01-13 2005-12-07 思科技术公司 冗余转发引擎的最优化切换的方法和***
CN1842020A (zh) * 2005-03-28 2006-10-04 华为技术有限公司 一种实现数据业务备份的方法
CN101707589A (zh) * 2009-09-25 2010-05-12 曙光信息产业(北京)有限公司 用于多端口网卡的端口自动切换实现方法和装置
CN104917705A (zh) * 2015-06-18 2015-09-16 国家电网公司 一种智能变电站过程层交换机的网络报文管理方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187960A (zh) * 2019-07-01 2021-01-05 广州汽车集团股份有限公司 一种车辆ecu地址分配方法、装置和车辆
CN112187960B (zh) * 2019-07-01 2023-02-28 广州汽车集团股份有限公司 一种车辆ecu地址分配方法、装置和车辆
CN110413328B (zh) * 2019-07-24 2022-05-24 苏州浪潮智能科技有限公司 一种网卡端口的pxe功能使能方法、装置及相关设备
CN110413328A (zh) * 2019-07-24 2019-11-05 苏州浪潮智能科技有限公司 一种网卡端口的pxe功能使能方法、装置及相关设备
CN110808908A (zh) * 2019-09-27 2020-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 跨平台实时切换冗余网络的***和方法
CN110808908B (zh) * 2019-09-27 2021-09-21 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 跨平台实时切换冗余网络的***和方法
CN112822149A (zh) * 2020-08-17 2021-05-18 北京辰信领创信息技术有限公司 一种基于智能路由器物理口和mac及ip的终端准入管控设计
CN112822149B (zh) * 2020-08-17 2022-07-12 北京辰信领创信息技术有限公司 一种基于智能路由器物理口和mac及ip的终端准入管控设计
CN113645048A (zh) * 2021-08-09 2021-11-12 武汉德创信通科技有限公司 网卡切换方法、装置以及现场可编程逻辑门阵列fpga
CN113645048B (zh) * 2021-08-09 2024-02-02 武汉德创信通科技有限公司 网卡切换方法、装置以及现场可编程逻辑门阵列fpga
CN114157402A (zh) * 2021-11-15 2022-03-08 天津市英贝特航天科技有限公司 一种双冗余网卡通讯方法及装置
CN116527406A (zh) * 2023-07-03 2023-08-01 北京左江科技股份有限公司 一种基于fpga的多主机的安全***和通信方法
CN116527406B (zh) * 2023-07-03 2023-09-12 北京左江科技股份有限公司 一种基于fpga的多主机的安全***和通信方法

Similar Documents

Publication Publication Date Title
CN106657029A (zh) 一种基于白名单实现多网口共享ip地址的冗余通信方法
CN105260337B (zh) 一种单片机的自动编址方法及***
CN101447915B (zh) 一种实现自动平滑切换多种网络拓扑结构的方法及网络装置
CN103181133A (zh) 基于pcie交换的服务器***及其倒换方法和设备
CN101188599B (zh) 发电厂电气监控前置***负荷均衡设计的实现方法
CN105406998A (zh) 基于fpga的双冗余千兆以太网介质访问控制器ip核
CN103248526A (zh) 实现带外监控管理的通信设备、方法及主从切换方法
CN101645832B (zh) 一种基于fpga的虚拟机网络数据包处理方法
CN204650513U (zh) 分布式架构设备及其串口复用电路
CN108616376B (zh) 一种fc网络***故障动态重构方法
US9019959B2 (en) Node, switch, and system
CN106603359B (zh) Plc***的通讯控制方法及装置
RU2007111857A (ru) Кольцевая сеть, устройство связи и способ оперативного управления, используемый для кольцевой сети и устройства связи
CN103414801A (zh) 一种堆叠***中媒质访问控制地址同步的方法和设备
CN109245926A (zh) 智能网卡、智能网卡***及控制方法
CN203590251U (zh) 基于串行RapidIO总线的FlexRay控制***
CN102355414B (zh) 自动保护切换状态机处理方法及装置
CN105530157B (zh) Afdx网络交换机多个虚拟链路共享信用的架构及方法
CN105610614B (zh) 高可用访问***以及高可用故障切换方法
CN102761488B (zh) 一种高速全双工交换以太网控制器
CN104168200A (zh) 一种基于Open vSwitch实现ACL功能的方法及***
CN107181702B (zh) 一种实现RapidIO和以太网融合交换的装置
CN104639358A (zh) 批量网络端口切换方法及切换***
CN103731316B (zh) 一种流量监控装置及方法
CN101599907A (zh) 流量转发方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170510

RJ01 Rejection of invention patent application after publication