CN117749757A - 一种基于acl的分布式级联设备共享ip方案 - Google Patents

一种基于acl的分布式级联设备共享ip方案 Download PDF

Info

Publication number
CN117749757A
CN117749757A CN202311453828.8A CN202311453828A CN117749757A CN 117749757 A CN117749757 A CN 117749757A CN 202311453828 A CN202311453828 A CN 202311453828A CN 117749757 A CN117749757 A CN 117749757A
Authority
CN
China
Prior art keywords
cpu
port
slave
network
slave cpu
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
CN202311453828.8A
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.)
Fushi Zhitong Electronic Technology Jinan Co ltd
Original Assignee
Fushi Zhitong Electronic Technology Jinan 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 Fushi Zhitong Electronic Technology Jinan Co ltd filed Critical Fushi Zhitong Electronic Technology Jinan Co ltd
Priority to CN202311453828.8A priority Critical patent/CN117749757A/zh
Publication of CN117749757A publication Critical patent/CN117749757A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于ACL的分布式级联设备共享IP方案,涉及网络地址转换技术领域,包括以下步骤:S1、系统启动,各CPU依次加载,内部总线初始化,并获取到各个从CPU内部总线号,取得从CPU的内部总线号之后,使主CPU与多个从CPU可通过系统内部数据总线进行通信,S2、主CPU内存对齐,并基于ACL下发各个从CPU的IP及网络port范围,通过适配ACL掩码规则,以减少配置ACL规则的数量。本发明提出一个脱离硬件NAT表的分布式多处理器系统共享同一个对外IP的方案,多CPU系统通过RGMII等类似网络接口对接到同一个网络交换芯片,网络交换芯片端口0作为唯一的对外接口对接外部网络,通过内部数据总线传输数据,使CPU作为通用芯片可以进行大业务量报文转发业务处理。

Description

一种基于ACL的分布式级联设备共享IP方案
技术领域
本发明涉及网络地址转换技术领域,具体为一种基于ACL的分布式级联设备共享IP方案。
背景技术
NAT即网络地址转换,是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术,使得NAT网络中的设备可以共享同一个对外IP,如图1所示,图中两个camera共享同一个对外IP:111.53.92.254,基于硬件的NAT方案,网络交换芯片会在芯片内部维护一个NAT转换表,记录本地设备IP网络port号与对外IP网络port号的对应关系,在数据发送和接收时替换IP与port号,在申请号为201911077462.2的中国专利公开了“多单板共用一个IP的方法及装置、计算机设备、介质,所述方法包括:预先将多个单板配置相同的外部IP地址,并将每个单板都配置不同的端口号,以及将多个单板分别连接至二层交换片的不同网口号;单板发包时,通过预先设置好的所述外部IP地址及端口号,以及根据单板对应的网口号规则重定向到出去的外网口,进行报文的发送;接收报文时,二层交换片收到外部网口的报文,根据目的IP地址和目的端口设置重定向到对应网口号的单板,实现报文转发给对应单板。本发明使用了二层交换机里面重定向的规则,可以使用相同的ip和mac地址来实现单板的NAT功能,解决多单板共用一个IP而不损耗CPU功能的问题。”
该对比文件仅仅解决了基于硬件使多单板共用一个IP而不损耗CPU功能的问题,现有NAT转换要么依赖于硬件NAT转换表,此种方式需要网络switch芯片支持,但是网络switch芯片价格普遍较高,要么使用软件iptable的方式,但是通过软件iptable的方式进行NAT转换会占用较多CPU资源,并且CPU作为通用芯片无法像网络switch芯片一样处理大业务量报文转发业务。
发明内容
本发明的目的在于提供一种基于ACL的分布式级联设备共享IP方案,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于ACL的分布式级联设备共享IP方案,包括以下步骤:
S1、系统启动,各CPU依次加载,内部总线初始化,并获取到各个从CPU内部总线号,取得从CPU的内部总线号之后,使主CPU与多个从CPU可通过系统内部数据总线进行通信;
S2、主CPU内存对齐,并基于ACL下发各个从CPU的IP及网络port范围,通过适配ACL掩码规则,以减少配置ACL规则的数量;
S3、各从CPU进行各自网络port及IP配置,各个从CPU将从各自的网络port范围限制中,写入配置文件ip_local_port_range,并配置自身IP地址;
S4、配置网络switch ACL规则,匹配网络报文的目的IP及目的port,判断目的IP与目的port是否匹配;
S5、各CPU内核开启网络promiscuous模式,接收并处理所有接收到的报文,在接收报文时不校验mac地址。
优选的,所述步骤S1中,系统内部数据总线包含PCle和i2C数据总线,其中PCle进行初始化时,需要进行PCle的枚举流程,在枚举流程中,首先需要发现主桥设备和根总线,即主CPU和系统内部数据总线,然后发现主桥设备下所有PCle设备,并通过查阅各个从CPU的通信地址可得到各个CPU的内部总线号,再通过获取各个从CPU的内部总线号得到设备地址后,如果主CPU下面的各个从CPU之下还接有PCle设备,则再次遍历这个从CPU下的所有PCle设备,并以此递归,直到将当前的PCle总线树遍历完毕,并且返回主CPU的下属总线号,在PCle枚举流程完成以及各个从CPU的设备地址获取完成后,此时建立主CPU与各个从CPU之间的通信,然后进行PCle的资源分配,通过系统内部数据总线将系统内总资源分配给每个从CPU,此时完成PCle总线的初始化。
优选的,所述步骤S1中,在进行i2C的初始化时,需要控制主CPU通过将SDA线从高电平切换到低电平,再将SCL线从高电平切换到低电平,使主CPU向连接在i2C上的每个从CPU发送启动条件,以此完成i2C的初始化,此外当通过i2C进行系统内部总线通信时,在进行i2C的初始化满足启用i2C的起始条件后,通过主CPU向每个连接在系统内部总线上的从CPU发送要与之通信的地址数据,然后每个从CPU将主CPU发送地址数据与每个从CPU各自的通信地址进行对比,当通信地址匹配时,控制从CPU将SDA线拉低一位,以此表示返回对主CPU的应答,相反的,当通信地址不匹配时,控制从CPU将SDA线拉高,表示返回对主CPU的不应答,此时主CPU与此未应答的从CPU无法进行通信,而进行应答的从设备则建立与主CPU的通信,使得主CPU与从CPU之间进行数据的收发,每次数据传输完成后需要将SDA与SCL线恢复到初始化状态以进行下一次数据的传输。
优选的,所述步骤S2中,在完成S1中的总线初始化后,将主CPU的内存按照2的n次方对齐,使主CPU在运行时,可以高效的利用其硬件性能,并且减少主CPU的内存访问次数,主CPU在经过内存对齐后,其内存访问速度也得到大幅提升,在主CPU进行2的n次方对齐后,当主CPU采用1024对齐的方式后,根据各个从CPU的内部总线号计算给各个从CPU预留的网络port,通过对外网络接口接入外网IP,并将其通过物理端口0接入网络交换芯片中,并通过内部总线将IP及网络port范围下发给各从CPU。
优选的,所述步骤S2中,在将IP及网络port范围下发给各从CPU时,为适配于ACL掩码规则,使得从CPU1的网络port范围为0-1023,从CPU2的网络port范围为1024-2047,并以此类推,直到分配至从CPUx,网络交换芯片通过ACL掩码来标识各个从CPU的IP以及网络port范围,此配置方式适配于ACL的编号规则,通过2的n次方对齐使各个从CPU的预留的网络port范围满足ACL中2的步长设定,通过在下发IP及网络port范围时适配ACL掩码规则,而以ACL规则一旦匹配上一条规则即停止匹配,以此减少配置ACL规则的数量,避免了占用CPU过高而效能不足问题。
优选的,所述步骤S3中,由于在S2中已得到IP及网络port的范围,因此各从CPU只能在各自的网络port范围限制中写入配置文件ip_local_port_range,在各从CPU中写入配置文件需要在linux环境中进行操作,通过配置sysctl参数来配置网络连接时可用作网络port的最小和最大端口的限制,在从CPU1中的配置文件ip_local_port_range内,将最小端口限制为0,将最大端口限制为1023,在从CPU2中的配置文件ip_local_port_range内,将最小端口限制为1024,将最大端口限制为2047,并以此类推,按照每个从CPU的网络port范围,将每个从CPU的配置文件ip_local_port_range内的最小和最大端口进行限制,为保持配置文件持久生效而且在重启后不会失效,需要将配置文件保存在/etc/sysctl.conf的配置文件中,然后各个从CPU配置自身的IP地址,实现只使用范围内port建立网络连接,此时各从cpu有相同的IP,不同的mac地址。
优选的,所述步骤S4中,在S3中完成配置文件的写入及自身IP的配置后,进行网络switch ACL规则的配置,首先需要设置行号为2的规则,允许来源IP为从CPU的网络port范围内的地址网段访问的流量,然后进入需要设置的ACL规则的网络port,设置在此网络port的进方向遵循ACL2000列表规则,设置在此网络port的出方向遵循ACL2000列表规则,以此完成ACL规则的基本配置,然后匹配网络报文的目的IP及目的port,当目的IP地址和从CPU的IP地址所带掩码做AND运算后,得到的值与该从CPU的IP地址相同,则此时目的IP地址与该从CPU的IP匹配,同时目的port的范围处于从CPU的网络port范围中时,则此时目的port与该从CPU的网络port匹配,当目的IP和目的port在匹配范围内时,则不关心目的mac地址,并且直接将报文转发到相应switch物理端口。
优选的,所述步骤S5中,当完成S4中网络报文的目的IP及目的port的匹配后,由于各从CPU有相同的IP,不同的mac地址,所以对端发过来的网络报文的目的mac地址是不固定的,但是当目的IP和目的port在匹配范围中,则不关心mac地址,因此可在各CPU内核中开启网络promiscuous模式,使各CPU内接收所有通过的网络报文而无需校验mac地址,使CPU作为通用芯片也可以和网络switch芯片一样处理大业务量的报文转发业务,此外,在步骤S2中,采用1024对齐的方式划分port适配掩码规则,也可以采用其他2的n次方对齐的方式进行划分,以减少ACL的使用数量,而在步骤S4中,ACL的实现方式是匹配目的port直接转发到switch物理端口到从CPU,也可以匹配目的port后更改报文目的mac地址,从而让报文到达对应从CPU。
与现有技术相比,本发明的有益效果是:
1、本发明使用大多数网络switch芯片都支持的ACL功能,实现了类似NAT的功能,通过ACL可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过,避免了NAT芯片价格过高和软件方案占用CPU过高而效能不足问题;
2、本发明提出一个脱离硬件NAT表的分布式多处理器系统共享同一个对外IP的方案,多CPU系统通过RGMII等类似网络接口对接到同一个网络交换芯片,网络交换芯片端口0作为唯一的对外接口对接外部网络,系统内部数据通过内部数据总线传输,使CPU作为通用芯片可以与像网络switch芯片一样,进行大业务量报文转发业务处理。
附图说明
图1为现有技术示意图;
图2为本发明实施例提供的方案步骤示意图;
图3为本发明实施例提供的方案框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2-3,本发明提供一种技术方案:一种基于ACL的分布式级联设备共享IP方案,包括以下步骤:
S1、系统启动,各CPU依次加载,内部总线初始化,并获取到各个从CPU内部总线号,取得从CPU的内部总线号之后,使主CPU与多个从CPU可通过系统内部数据总线进行通信;
S2、主CPU内存对齐,并基于ACL下发各个从CPU的IP及网络port范围,通过适配ACL掩码规则,以减少配置ACL规则的数量;
S3、各从CPU进行各自网络port及IP配置,各个从CPU将从各自的网络port范围限制中,写入配置文件ip_local_port_range,并配置自身IP地址;
S4、配置网络switch ACL规则,匹配网络报文的目的IP及目的port,判断目的IP与目的port是否匹配;
S5、各CPU内核开启网络promiscuous模式,接收并处理所有接收到的报文,在接收报文时不校验mac地址。
步骤S1中,系统内部数据总线包含PCle和i2C数据总线,其中PCle进行初始化时,需要进行PCle的枚举流程,在枚举流程中,首先需要发现主桥设备和根总线,即主CPU和系统内部数据总线,然后发现主桥设备下所有PCle设备,并通过查阅各个从CPU的通信地址可得到各个CPU的内部总线号,再通过获取各个从CPU的内部总线号得到设备地址后,如果主CPU下面的各个从CPU之下还接有PCle设备,则再次遍历这个从CPU下的所有PCle设备,并以此递归,直到将当前的PCle总线树遍历完毕,并且返回主CPU的下属总线号,在PCle枚举流程完成以及各个从CPU的设备地址获取完成后,此时建立主CPU与各个从CPU之间的通信,然后进行PCle的资源分配,通过系统内部数据总线将系统内总资源分配给每个从CPU,此时完成PCle总线的初始化;通过PCle总线对系统内部数据进行传输;
步骤S1中,在进行i2C的初始化时,需要控制主CPU通过将SDA线从高电平切换到低电平,再将SCL线从高电平切换到低电平,使主CPU向连接在i2C上的每个从CPU发送启动条件,以此完成i2C的初始化,此外当通过i2C进行系统内部总线通信时,在进行i2C的初始化满足启用i2C的起始条件后,通过主CPU向每个连接在系统内部总线上的从CPU发送要与之通信的地址数据,然后每个从CPU将主CPU发送地址数据与每个从CPU各自的通信地址进行对比,当通信地址匹配时,控制从CPU将SDA线拉低一位,以此表示返回对主CPU的应答,相反的,当通信地址不匹配时,控制从CPU将SDA线拉高,表示返回对主CPU的不应答,此时主CPU与此未应答的从CPU无法进行通信,而进行应答的从设备则建立与主CPU的通信,使得主CPU与从CPU之间进行数据的收发,每次数据传输完成后需要将SDA与SCL线恢复到初始化状态以进行下一次数据的传输;通过i2C总线进行系统内部数据传输;
步骤S2中,在完成S1中的总线初始化后,将主CPU的内存按照2的n次方对齐,使主CPU在运行时,可以高效的利用其硬件性能,并且减少主CPU的内存访问次数,主CPU在经过内存对齐后,其内存访问速度也得到大幅提升,在主CPU进行2的n次方对齐后,当主CPU采用1024对齐的方式后,根据各个从CPU的内部总线号计算给各个从CPU预留的网络port,通过对外网络接口接入外网IP,并将其通过物理端口0接入网络交换芯片中,并通过内部总线将IP及网络port范围下发给各从CPU;通过CPU的内存对齐提高CPU的内存访问速度,并且高效地利用了CPU的硬件性能;
步骤S2中,在将IP及网络port范围下发给各从CPU时,为适配于ACL掩码规则,使得从CPU1的网络port范围为0-1023,从CPU2的网络port范围为1024-2047,并以此类推,直到分配至从CPUx,网络交换芯片通过ACL掩码来标识各个从CPU的IP以及网络port范围,此配置方式适配于ACL的编号规则,通过2的n次方对齐使各个从CPU的预留的网络port范围满足ACL中2的步长设定,通过在下发IP及网络port范围时适配ACL掩码规则,而以ACL规则一旦匹配上一条规则即停止匹配,以此减少配置ACL规则的数量,避免了占用CPU过高而效能不足问题;通过ACL规则降低了CPU的占用;
步骤S3中,由于在S2中已得到IP及网络port的范围,因此各从CPU只能在各自的网络port范围限制中写入配置文件ip_local_port_range,在各从CPU中写入配置文件需要在linux环境中进行操作,通过配置sysctl参数来配置网络连接时可用作网络port的最小和最大端口的限制,在从CPU1中的配置文件ip_local_port_range内,将最小端口限制为0,将最大端口限制为1023,在从CPU2中的配置文件ip_local_port_range内,将最小端口限制为1024,将最大端口限制为2047,并以此类推,按照每个从CPU的网络port范围,将每个从CPU的配置文件ip_local_port_range内的最小和最大端口进行限制,为保持配置文件持久生效而且在重启后不会失效,需要将配置文件保存在/etc/sysctl.conf的配置文件中,然后各个从CPU配置自身的IP地址,实现只使用范围内port建立网络连接,此时各从cpu有相同的IP,不同的mac地址;通过配置网络port的范围限制与自身IP,实现只使用范围内port建立网络连接;
步骤S4中,在S3中完成配置文件的写入及自身IP的配置后,进行网络switch ACL规则的配置,首先需要设置行号为2的规则,允许来源IP为从CPU的网络port范围内的地址网段访问的流量,然后进入需要设置的ACL规则的网络port,设置在此网络port的进方向遵循ACL2000列表规则,设置在此网络port的出方向遵循ACL2000列表规则,以此完成ACL规则的基本配置,然后匹配网络报文的目的IP及目的port,当目的IP地址和从CPU的IP地址所带掩码做AND运算后,得到的值与该从CPU的IP地址相同,则此时目的IP地址与该从CPU的IP匹配,同时目的port的范围处于从CPU的网络port范围中时,则此时目的port与该从CPU的网络port匹配,当目的IP和目的port在匹配范围内时,则不关心目的mac地址,并且直接将报文转发到相应switch物理端口;通过匹配网络报文的目的IP及目的port,实现不关心目的mac地址即可直接将报文转发到相应switch物理端口;
步骤S5中,当完成S4中网络报文的目的IP及目的port的匹配后,由于各从CPU有相同的IP,不同的mac地址,所以对端发过来的网络报文的目的mac地址是不固定的,但是当目的IP和目的port在匹配范围中,则不关心mac地址,因此可在各CPU内核中开启网络promiscuous模式,使各CPU内接收所有通过的网络报文而无需校验mac地址,使CPU作为通用芯片也可以和网络switch芯片一样处理大业务量的报文转发业务,此外,在步骤S2中,采用1024对齐的方式划分port适配掩码规则,也可以采用其他2的n次方对齐的方式进行划分,以减少ACL的使用数量,而在步骤S4中,ACL的实现方式是匹配目的port直接转发到switch物理端口到从CPU,也可以匹配目的port后更改报文目的mac地址,从而让报文到达对应从CPU;通过开启网络promiscuous模式使CPU像网络switch芯片一样处理大业务量报文转发业务。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (8)

1.一种基于ACL的分布式级联设备共享IP方案,其特征在于包括以下步骤:
S1、系统启动,各CPU依次加载,内部总线初始化,并获取到各个从CPU内部总线号,取得从CPU的内部总线号之后,使主CPU与多个从CPU可通过系统内部数据总线进行通信;
S2、主CPU内存对齐,并基于ACL下发各个从CPU的IP及网络port范围,通过适配ACL掩码规则,以减少配置ACL规则的数量;
S3、各从CPU进行各自网络port及IP配置,各个从CPU将从各自的网络port范围限制中,写入配置文件ip_local_port_range,并配置自身IP地址;
S4、配置网络switch ACL规则,匹配网络报文的目的IP及目的port,判断目的IP与目的port是否匹配;
S5、各CPU内核开启网络promiscuous模式,接收并处理所有接收到的报文,在接收报文时不校验mac地址。
2.根据权利要求1所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S1中,系统内部数据总线包含PCle和i2C数据总线,其中PCle进行初始化时,需要进行PCle的枚举流程,在枚举流程中,首先需要发现主桥设备和根总线,即主CPU和系统内部数据总线,然后发现主桥设备下所有PCle设备,并通过查阅各个从CPU的通信地址可得到各个CPU的内部总线号,再通过获取各个从CPU的内部总线号得到设备地址后,如果主CPU下面的各个从CPU之下还接有PCle设备,则再次遍历这个从CPU下的所有PCle设备,并以此递归,直到将当前的PCle总线树遍历完毕,并且返回主CPU的下属总线号,在PCle枚举流程完成以及各个从CPU的设备地址获取完成后,此时建立主CPU与各个从CPU之间的通信,然后进行PCle的资源分配,通过系统内部数据总线将系统内总资源分配给每个从CPU,此时完成PCle总线的初始化。
3.根据权利要求2所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S1中,在进行i2C的初始化时,需要控制主CPU通过将SDA先从高电平切换到低电平,再将SCL线从高电平切换到低电平,使主CPU向连接在i2C上的每个从CPU发送启动条件,以此完成i2C的初始化,此外当通过i2C进行系统内部总线通信时,在进行i2C的初始化满足启用i2C的起始条件后,通过主CPU向每个连接在系统内部总线上的从CPU发送要与之通信的地址数据,然后每个从CPU将主CPU发送地址数据与每个从CPU各自的通信地址进行对比,当通信地址匹配时,控制从CPU将SDA线拉低一位,以此表示返回对主CPU的应答,相反的,当通信地址不匹配时,控制从CPU将SDA线拉高,表示返回对主CPU的不应答,此时主CPU与此未应答的从CPU无法进行通信,而进行应答的从设备则建立与主CPU的通信,使得主CPU与从CPU之间进行数据的收发,每次数据传输完成后需要将SDA与SCL线恢复到初始化状态以进行下一次数据的传输。
4.根据权利要求3所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S2中,在完成S1中的总线初始化后,将主CPU的内存按照2的n次方对齐,使主CPU在运行时,可以高效的利用其硬件性能,并且减少主CPU的内存访问次数,主CPU在经过内存对齐后,其内存访问速度也得到大幅提升,在主CPU进行2的n次方对齐后,当主CPU采用1024对齐的方式后,根据各个从CPU的内部总线号计算给各个从CPU预留的网络port,通过对外网络接口接入外网IP,并将其通过物理端口0接入网络交换芯片中,并通过内部总线将IP及网络port范围下发给各从CPU。
5.根据权利要求4所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S2中,在将IP及网络port范围下发给各从CPU时,为适配于ACL掩码规则,使得从CPU1的网络port范围为0-1023,从CPU2的网络port范围为1024-2047,并以此类推,直到分配至从CPUx,网络交换芯片通过ACL掩码来标识各个从CPU的IP以及网络port范围,此配置方式适配于ACL的编号规则,通过2的n次方对齐使各个从CPU的预留的网络port范围满足ACL中2的步长设定,通过在下发IP及网络port范围时适配ACL掩码规则,而以ACL规则一旦匹配上一条规则即停止匹配,以此减少配置ACL规则的数量,避免了占用CPU过高而效能不足问题。
6.根据权利要求5所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S3中,由于在S2中已得到IP及网络port的范围,因此各从CPU只能在各自的网络port范围限制中写入配置文件ip_local_port_range,在各从CPU中写入配置文件需要在linux环境中进行操作,通过配置sysctl参数来配置网络连接时可用作网络port的最小和最大端口的限制,在从CPU1中的配置文件ip_local_port_range内,将最小端口限制为0,将最大端口限制为1023,在从CPU2中的配置文件ip_local_port_range内,将最小端口限制为1024,将最大端口限制为2047,并以此类推,按照每个从CPU的网络port范围,将每个从CPU的配置文件ip_local_port_range内的最小和最大端口进行限制,为保持配置文件持久生效而且在重启后不会失效,需要将配置文件保存在/etc/sysctl.conf的配置文件中,然后各个从CPU配置自身的IP地址,实现只使用范围内port建立网络连接,此时各从cpu有相同的IP,不同的mac地址。
7.根据权利要求6所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S4中,在S3中完成配置文件的写入及自身IP的配置后,进行网络switch ACL规则的配置,首先需要设置行号为2的规则,允许来源IP为从CPU的网络port范围内的地址网段访问的流量,然后进入需要设置的ACL规则的网络port,设置在此网络port的进方向遵循ACL2000列表规则,设置在此网络port的出方向遵循ACL2000列表规则,以此完成ACL规则的基本配置,然后匹配网络报文的目的IP及目的port,当目的IP地址和从CPU的IP地址所带掩码做AND运算后,得到的值与该从CPU的IP地址相同,则此时目的IP地址与该从CPU的IP匹配,同时目的port的范围处于从CPU的网络port范围中时,则此时目的port与该从CPU的网络port匹配,当目的IP和目的port在匹配范围内时,则不关心目的mac地址,并且直接将报文转发到相应switch物理端口。
8.根据权利要求7所述的一种基于ACL的分布式级联设备共享IP方案,其特征在于:所述步骤S5中,当完成S4中网络报文的目的IP及目的port的匹配后,由于各从CPU有相同的IP,不同的mac地址,所以对端发过来的网络报文的目的mac地址是不固定的,但是当目的IP和目的port在匹配范围中,则不关心mac地址,因此可在各CPU内核中开启网络promiscuous模式,使各CPU内接收所有通过的网络报文而无需校验mac地址,使CPU作为通用芯片也可以和网络switch芯片一样处理大业务量的报文转发业务,此外,在步骤S2中,采用1024对齐的方式划分port适配掩码规则,也可以采用其他2的n次方对齐的方式进行划分,以减少ACL的使用数量,而在步骤S4中,ACL的实现方式是匹配目的port直接转发到switch物理端口到从CPU,也可以匹配目的port后更改报文目的mac地址,从而让报文到达对应从CPU。
CN202311453828.8A 2023-11-03 2023-11-03 一种基于acl的分布式级联设备共享ip方案 Pending CN117749757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311453828.8A CN117749757A (zh) 2023-11-03 2023-11-03 一种基于acl的分布式级联设备共享ip方案

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311453828.8A CN117749757A (zh) 2023-11-03 2023-11-03 一种基于acl的分布式级联设备共享ip方案

Publications (1)

Publication Number Publication Date
CN117749757A true CN117749757A (zh) 2024-03-22

Family

ID=90253412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311453828.8A Pending CN117749757A (zh) 2023-11-03 2023-11-03 一种基于acl的分布式级联设备共享ip方案

Country Status (1)

Country Link
CN (1) CN117749757A (zh)

Similar Documents

Publication Publication Date Title
US6421769B1 (en) Efficient memory management for channel drivers in next generation I/O system
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
US9087162B2 (en) Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
CN102263698B (zh) 虚拟通道的建立方法、数据传输的方法及线卡
US20040088522A1 (en) Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
CN107851078B (zh) 一种PCIe设备的聚合友好型地址分配的方法和系统
US11604742B2 (en) Independent central processing unit (CPU) networking using an intermediate device
EP3716084A1 (en) Apparatus and method for sharing a flash device among multiple masters of a computing platform
WO2012149767A1 (zh) 访问存储设备的方法及系统
CN114546913A (zh) 一种基于pcie接口的多主机之间数据高速交互的方法和装置
CN116431530B (zh) 一种cxl内存模组、内存的处理方法及计算机系统
WO2024082944A1 (zh) 一种多处理器数据交互方法、装置、设备及存储介质
CN115586964A (zh) 资源共享装置、资源管理装置及资源管理方法
CN112052100A (zh) 基于共享内存的虚拟机通信方法及设备
CN117834447B (zh) 基于PCIe Switch的互联池化系统拓扑管理装置及方法
CN113098955B (zh) 一种数据传输方法、装置、设备及计算机可读存储介质
WO2018217370A1 (en) Communications for field programmable gate array device
JPH11224207A (ja) マルチクラスタシステムを構成する計算機
CN117749757A (zh) 一种基于acl的分布式级联设备共享ip方案
US20220269411A1 (en) Systems and methods for scalable shared memory among networked devices comprising ip addressable memory blocks
CN115361204A (zh) 边缘场景下共享公网ip的网络隔离方法及装置
CN111190840A (zh) 基于现场可编程门阵列控制的多方中央处理器通信架构
US6173319B1 (en) Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway
US6389465B1 (en) Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway
CN112153129B (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