CN109150765A - 一种基于fpga实现的交换机 - Google Patents
一种基于fpga实现的交换机 Download PDFInfo
- Publication number
- CN109150765A CN109150765A CN201811063796.XA CN201811063796A CN109150765A CN 109150765 A CN109150765 A CN 109150765A CN 201811063796 A CN201811063796 A CN 201811063796A CN 109150765 A CN109150765 A CN 109150765A
- Authority
- CN
- China
- Prior art keywords
- data
- interchanger
- configuration information
- server
- fpga
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于FPGA实现的交换机,包括:存储模块,用于存储交换机的配置信息;接口模块,用于接收服务器发送的第一数据;交换模块,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种半定制电路,上述存储模块、接口模块和交换模块的处理逻辑可以对应利用硬件描述语言所完成的电路设计,经过简单的综合与布线形成的电路。由于电路对第一数据的处理速率高于CPU对第一数据的处理速率。因此,利用本申请实施例提供的方案,可以提高交换机的性能,从而解决现有技术中基于软件实现的交换机的性能不好的问题。
Description
技术领域
本申请涉及电子技术领域,特别是涉及一种基于FPGA实现的交换机。
背景技术
随着计算机技术的发展,软件定义网络(Software Defined Network,SDN)应运而生。SDN网络可以利用软件实现将网络设备的控制面与数据面分离开来,从而实现对网络流量的灵活控制。
可以理解的是,在网络中,交换机是一种很重要网元。但是,基于软件实现的交换机,其交换效率受制于中央处理器(Central Processing Unit,CPU)的性能,从而使得基于软件实现的交换机的性能不好。
发明内容
本申请所要解决的技术问题是基于软件实现的交换机的性能不好,提供一种基于硬件描述语言实现交换机的方法及装置。
本申请实施例提供了一种基于FPGA实现的交换机,所述交换机包括:
存储模块,用于存储交换机的配置信息;
接口模块,用于接收服务器发送的第一数据;
交换模块,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。
可选的,所述配置信息包括:
流表信息。
可选的,所述根据所述配置信息确定所述第一数据的转发端口,包括:
根据所述流表信息确定所述第一数据的转发端口。
可选的,所述接收服务器发送的第一数据,包括:
接收所述服务器通过高速串行计算机扩展总线标准PCIE接口发送的第一数据。
可选的,所述服务器中创建有虚拟机和为所述虚拟机提供网络服务的虚拟网卡。
可选的,所述接口模块,还用于向所述服务器发送第二数据。
可选的,所述配置信息还包括:
所述交换机的端口拓扑信息和/或所述存储模块的容量信息。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供的基于FPGA实现的交换机,包括:存储模块,用于存储交换机的配置信息;接口模块,用于接收服务器发送的第一数据;交换模块,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。现场可编程门阵列(Field Programmable Gate Array,FPGA)是一种半定制电路,上述存储模块、接口模块和交换模块的处理逻辑可以对应利用硬件描述语言所完成的电路设计,经过简单的综合与布线形成的电路。由于电路对第一数据的处理速率高于CPU对第一数据的处理速率。因此,利用本申请实施例提供的方案,可以提高交换机的性能,从而解决现有技术中基于软件实现的交换机的性能不好的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于FPGA实现的交换机的结构示意图;
图2为本申请实施例提供的一种FPGA板卡的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,现有技术中,基于软件实现的交换机,其交换效率受制于中央处理器(Central Processing Unit,CPU)的性能,从而使得基于软件实现的交换机的性能不好。例如,对数据的转发效率低,从而导致数据传输的时延比较大。
本申请的发明人还发现,FPGA是一种半定制电路,可以通过硬件描述语言例如VHDL或者Verilog进行编程,得到具有交换机功能的电路。而电路对数据的处理速率比CPU对数据的处理速率高。
鉴于此,本申请实施例提供一种基于FPGA实现的交换机,包括:存储模块,用于存储交换机的配置信息;接口模块,用于接收服务器发送的第一数据;交换模块,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。上述存储模块、接口模块和交换模块的处理逻辑可以对应利用硬件描述语言所完成的电路设计,经过简单的综合与布线形成的电路。由于电路对第一数据的处理速率高于CPU对第一数据的处理速率。因此,利用本申请实施例提供的方案,可以提高交换机的性能,从而解决现有技术中基于软件实现的交换机的性能不好的问题。
下面结合附图,详细说明本申请的各种非限制性实施方式。
参见图1,该图为本申请实施例提供的一种基于FPGA实现的交换机的结构示意图。
本申请实施例提供的基于FPGA实现的交换机100,例如可以包括存储模块110、接口模块120和交换模块130。
其中,所述存储模块110,用于存储交换机的配置信息。
所述接口模块120,用于接收服务器发送的第一数据。
所述交换模块130,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。
在本申请实施例中,所述交换机的配置信息,是指,与所述交换机的属性以及实现交换机的数据交换功能的信息。
需要说明的是,本申请实施例不具体限定所述交换机的配置信息。在本申请实施例的一种可能的实现方式中,所述交换机的配置信息,例如可以包括流表信息。
需要说明的是,本申请实施例不具体贤弟所述流表信息,所述流表信息例如可以包括若干个流表和所述若干个流表各自对应的流表项。其中,一个流表项可以对应一个数据转发规则。
本申请实施例不具体限定服务器,所述服务器例如可以为数据中心的服务器。
在本申请实施例的一种可能的实现方式中,所述服务器中可以创建有虚拟机和为所述虚拟机提供网络服务的虚拟网卡。所述虚拟机可以利用所述虚拟网卡与所述交换机进行数据交互。
可以理解的是,在实际应用中,所述服务器可以为不同用户创建不同的虚拟机。也就是说,所述服务器中可以创建多个虚拟机。本申请实施例不具体限定所述虚拟机的数目,所述虚拟机的数据可以根据实际情况确定。
需要说明的是,在本申请实施例中,所述交换机与所述服务器之间通过物理接口进行通信。在本申请实施例的一种实现方式中,所述物理接口可以为高速串行计算机扩展总线标准(peripheral component interconnect express,PCI-Express)接口。
也就是说,在本申请实施例的一种实现方式中,所述接口模块为PCIE接口模块,所述接口模块接收所述服务器发送的第一数据在具体实现时,可以为:接收所述服务器通过PCIE接口发送的第一数据。
本申请实施例对所述第一数据不做限定,所述第一数据例如可以为报文数据。
需要说明的是,在本申请实施例中,所述交换机与服务器进行通信例如,所述交换机通过所述接口模块接收所述服务器发送的第一数据时,可以遵循相应的通信协议,例如,可以遵循标准的SDN网络南北向接口协议openflow协议。
交换机利用接口模块120接收到所述第一数据之后,即可以从所述存储模块110中读取所述配置信息,从而利用该配置信息确定所述第一数据的转发端口,进一步地,利用该转发端口转发该第一数据。
需要说明的是,在本申请实施例中,转发所述第一数据时,例如可以对所述第一数据进行封装,将所述第一数据封装成满足相应的通信协议标准要求的帧格式,然后将封装后的第一数据转发出去。
如前文,所述配置信息可以包括流表信息。在本申请实施例的一种可能的实现方式中,所述根据所述配置信息确定所述第一数据的转发端口在具体实现时,可以为:根据所述流表信息确定所述第一数据的转发端口。
由此可见,本申请实施例提供的基于FPGA实现的交换机,包括:存储模块、接口模块和交换模块。上述存储模块、接口模块和交换模块的处理逻辑可以对应利用硬件描述语言所完成的电路设计,经过简单的综合与布线形成的电路。由于电路对第一数据的处理速率高于CPU对第一数据的处理速率。因此,利用本申请实施例提供的方案,可以提高交换机的性能,从而解决现有技术中基于软件实现的交换机的性能不好的问题。
除此之外,基于FPGA实现的软件定义网络交换机,借助FPGA可编程器件可重构的灵活性,可以实现对交换机的在线更新和扩展,大大提高网络交换机的可用性。
而且,上述基于FPGA实现的交换机可以体现为FPGA板卡,FPGA板卡可以通过PCIE插槽插入到服务器上,与服务器构成一体,交换机与服务器之间的数据传输时延小,数据传输效率高。
参见图2,该图为本申请实施例提供的一种FPGA板卡的结构示意图。
在在本申请实施例中,当所述交换机体现为FPGA板卡时,所述FPGA板卡上可以包括一个FPGA芯片210,以实现上述存储模块110、接口模块120和交换模块130的功能,所述FPGA板卡上还可以包括所述FPGA的外围电路220,例如外围电路例如可以包括供电电路、支持openflow协议的芯片等。
需要说明的是,本申请实施例对所述外围电路220不做具体限定,所述外围电路可以根据实际情况具体确定。
可以理解的是,所述交换机可以利用所述接口模块120与服务器之间进行数据交互。因此,在本申请实施例的一种可能的实现方式中,所述接口模块120除了用于接收服务器发送的第一数据之外,还可以用于向所述服务器发送第二数据。
与所述第一数据类似,本申请实施例对所述第二数据也不做限定,所述第二数据例如可以为报文数据。
如前文,所述交换机的配置信息,是指,与所述交换机的属性以及实现交换机的数据交换功能的信息。在本申请实施例的一种可能的实现方式中,所述交换机的配置信息除了流表信息之外,还可以包括交换机的端口拓扑信息和/或所述存储模块的容量信息。
其中,所述交换机的端口拓扑信息例如可以为所述交换机的端口与其他设备例如路由器之间的连接信息。
所述存储模块的容量信息例如可以包括所述存储模块的总容量以及所述存储模块的剩余容量等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种基于FPGA实现的交换机,其特征在于,所述交换机包括:
存储模块,用于存储交换机的配置信息;
接口模块,用于接收服务器发送的第一数据;
交换模块,用于根据所述配置信息确定所述第一数据的转发端口,并利用所述转发端口转发所述第一数据。
2.根据权利要求1所述的交换机,其特征在于,所述配置信息包括:
流表信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述配置信息确定所述第一数据的转发端口,包括:
根据所述流表信息确定所述第一数据的转发端口。
4.根据权利要求1所述的交换机,其特征在于,所述接收服务器发送的第一数据,包括:
接收所述服务器通过高速串行计算机扩展总线标准PCIE接口发送的第一数据。
5.根据权利要求1-4任意一项所述的交换机,其特征在于,所述服务器中创建有虚拟机和为所述虚拟机提供网络服务的虚拟网卡。
6.根据权利要求1-4任意一项所述的交换机,其特征在于,所述接口模块,还用于向所述服务器发送第二数据。
7.根据权利要求1-4任意一项所述的交换机,其特征在于,所述配置信息还包括:
所述交换机的端口拓扑信息和/或所述存储模块的容量信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811063796.XA CN109150765A (zh) | 2018-09-12 | 2018-09-12 | 一种基于fpga实现的交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811063796.XA CN109150765A (zh) | 2018-09-12 | 2018-09-12 | 一种基于fpga实现的交换机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109150765A true CN109150765A (zh) | 2019-01-04 |
Family
ID=64824711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811063796.XA Pending CN109150765A (zh) | 2018-09-12 | 2018-09-12 | 一种基于fpga实现的交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109150765A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006851A (zh) * | 2021-10-30 | 2022-02-01 | 杭州迪普信息技术有限公司 | 测试方法、测试线卡及测试仪 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022960A (zh) * | 2013-02-28 | 2014-09-03 | 杭州华三通信技术有限公司 | 基于OpenFlow协议实现PVLAN的方法和装置 |
CN105634997A (zh) * | 2016-03-22 | 2016-06-01 | 浪潮集团有限公司 | 一种基于fpga实现数据中心框式交换机线卡架构 |
CN105743820A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种基于arm+fpga架构的列车以太网交换机 |
CN107645457A (zh) * | 2017-10-19 | 2018-01-30 | 济南浪潮高新科技投资发展有限公司 | 一种PCIe交换机系统和方法 |
CN107689931A (zh) * | 2017-09-27 | 2018-02-13 | 广州海格通信集团股份有限公司 | 一种基于国产fpga的实现以太网交换功能系统及方法 |
-
2018
- 2018-09-12 CN CN201811063796.XA patent/CN109150765A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104022960A (zh) * | 2013-02-28 | 2014-09-03 | 杭州华三通信技术有限公司 | 基于OpenFlow协议实现PVLAN的方法和装置 |
CN105634997A (zh) * | 2016-03-22 | 2016-06-01 | 浪潮集团有限公司 | 一种基于fpga实现数据中心框式交换机线卡架构 |
CN105743820A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种基于arm+fpga架构的列车以太网交换机 |
CN107689931A (zh) * | 2017-09-27 | 2018-02-13 | 广州海格通信集团股份有限公司 | 一种基于国产fpga的实现以太网交换功能系统及方法 |
CN107645457A (zh) * | 2017-10-19 | 2018-01-30 | 济南浪潮高新科技投资发展有限公司 | 一种PCIe交换机系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114006851A (zh) * | 2021-10-30 | 2022-02-01 | 杭州迪普信息技术有限公司 | 测试方法、测试线卡及测试仪 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100594698C (zh) | 用于高级交换的分组聚合协议 | |
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN100384169C (zh) | 接入设备中的主从框级联系统 | |
CN108400880B (zh) | 片上网络、数据传输方法和第一交换节点 | |
CN102150393B (zh) | 用于网络中的功率管理的方法和装置 | |
CN106155959A (zh) | 数据传输方法及数据传输系统 | |
WO2017101114A1 (zh) | 一种数据中心网络组网的方法以及数据中心网络 | |
CN206820773U (zh) | 一种支持RapidIO和网络双交换功能的板卡 | |
RU2011140978A (ru) | Способ и устройство маршрутизации ввода-вывода и карта | |
CN103338217A (zh) | 基于低等待时间接口的连网 | |
CN104253765A (zh) | 一种数据包交换方法、装置以及接入交换机和交换系统 | |
CN108616402A (zh) | 一种远端设备的管理方法及系统 | |
CN103927274A (zh) | 存储装置 | |
CN207234816U (zh) | 一种srio和以太网的vpx交换板 | |
CN104205482A (zh) | 微链路高带宽的芯片到芯片总线 | |
CN109327386A (zh) | 一种链路聚合方法、装置、设备及可读存储介质 | |
US9838305B2 (en) | Method, system and apparatus for an OpenFlow hybrid architecture network device | |
CN105306382B (zh) | 一种无缓存noc数据处理方法及noc电子元件 | |
CN103577469B (zh) | 数据库连接复用方法和装置 | |
CN102811152A (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
CN101986617B (zh) | 一种实现路由器跨自治区域即插即用的方法 | |
CN109150765A (zh) | 一种基于fpga实现的交换机 | |
CN107181702B (zh) | 一种实现RapidIO和以太网融合交换的装置 | |
CN104598430B (zh) | 一种cpu互联扩展系统的网络接口互联设计与控制系统 | |
CN204009884U (zh) | 一种多网卡ncsi管理系统 |
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: 20190104 |
|
RJ01 | Rejection of invention patent application after publication |