CN106411740B - 基于以太网控制器的网络端口扩展方法 - Google Patents
基于以太网控制器的网络端口扩展方法 Download PDFInfo
- Publication number
- CN106411740B CN106411740B CN201610795267.3A CN201610795267A CN106411740B CN 106411740 B CN106411740 B CN 106411740B CN 201610795267 A CN201610795267 A CN 201610795267A CN 106411740 B CN106411740 B CN 106411740B
- Authority
- CN
- China
- Prior art keywords
- network
- port
- network message
- message
- logic
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2858—Access network architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于以太网控制器的网络端口扩展方法,包括多路以太网物理层和网络扩展模块,所述网络扩展模块从主机端口接收网络报文,并将该网络报文并行施加到各个转发逻辑,利用源MAC地址选择转发目标端口,使能选中的端口信号TX_EN实现数据转发,而各个扩展网口的接收逻辑通过多路接收DMA缓冲接收网络报文,通过与多路接收DMA相关联的主端口发送逻辑在网络报文数据段后添加网络端口号并转发至主机,最后由主机网络接收驱动程序实现物理端口和协议栈中逻辑设备的绑定。本发明所提供的一种基于以太网控制器的网络端口扩展方法,实现了经MCU的原有网络端口扩展多个独立端口,对原有的网络驱动程序仅需简单升级,占用硬件资源开销非常小,简单易实现。
Description
技术领域
本发明涉及一种基于以太网控制器的网络端口扩展方法,属于以太网通信技术领域。
背景技术
由于Ethernet应用的广泛性和技术的先进性,在工业应用中也具有传统现场总线所无法比拟的优越性,正在逐步取代传统的现场总线技术,使其成为当今工业控制首选网络。随着应用复杂性增加,对智能电子设备网络端口的数量也在增加,且往往需要各端口在链路层完全独立。然而就目前主流嵌入式MCU来说,片上的MAC控制器不超过3个,其具有3个或3个以上独立网口的处理器非常少。此外,嵌入式MCU都会为集成的MAC控制器提供专门DMA服务,以改善网络吞吐率,且各厂商都会提供相应的网络驱动程序。因此,网络扩展成为嵌入式应用的必然趋势,而基于MCU原有网络端口扩展网口,无论就硬件环境还是软件环境都具有明显的优势。
目前,网络端口扩展主要有以下两种方法:
(1)基于系统总线扩展独立的网络控制器,系统设计者需根据不同的网络控制器的要求修改网络驱动程序实现网络扩展;
(2)基于网络交换芯片的网络端口扩展,通常将交换芯片的一个端口接入处理器系统的网络接口,然后由交换芯片实现物理端口扩展。
上述两种方案在一定程度上实现的网络端口扩展,但应用场所不同,适用范围窄,存在不同的缺陷,具体如下,(1)要求系统总线的数据吞吐性能好或者具备类似PCI或PCI-E高速端口,布线难度高,驱动程序修改比较大;(2)虽然通过网络端口扩展网络端口,但扩展出来的端口在链路层不独立,虽然对高层应用透明,却不满足要求具备独立MAC地址的应用场所。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于以太网控制器的网络端口扩展方法,利用FPGA实现经MCU的原有网络端口扩展多个独立端口,对原有的网络驱动程序仅需简单升级,占用硬件资源开销非常小,简单易实现。
为解决上述技术问题,本发明提供一种基于以太网控制器的网络端口扩展方法,包括硬件电路实现方法和驱动软件实现方法,其实现步骤如下:
步骤1,构建包括多路以太网物理层、网络扩展模块的硬件电路,所述网络扩展模块包括主端口接收逻辑、主端口发送逻辑、多路发送逻辑、单网口的接收逻辑和多路接收DMA;
步骤2,由所述主端口接收逻辑将来自主机MAC的网络报文进行延迟缓冲同时解析网络报文中源MAC地址,并选择本地MAC地址和网络报文源MAC地址一致的扩展网络端口作为该网络报文的目标发送端口;
步骤3,由所述多路发送逻辑将延迟缓冲后的网络报文并行施加在各扩展网络端口,并根据步骤2选择结果置位相应扩展网络端口的发送使能信号TX_EN,实现网络报文从选中的端口发送;
步骤4,由各扩展网络端口的接收逻辑接收并缓冲本端口的网络报文同时标记端口序号,然后请求多路接收DMA服务;
步骤5,多路接收DMA按轮转调度策略依次查询各扩展网络端口的接收逻辑,并将接收逻辑模块接收到的网络报文连同其源端口序号一并传送给主端口发送逻辑;
步骤6,主端口发送逻辑将多路接收DMA的中间数据转换成以太网物理层的数据格式,同时将网络报文的源端口序号插入在网络报文的最后一个字节后发送该网络报文到主机;
步骤7,在主机侧系统软件中虚拟多个独立的逻辑网络设备,并使这些逻辑网络设备的本地MAC地址和扩展网络端口中配置的本地MAC地址一致,协议栈高层发往逻辑网络设备的网络报文由发送驱动程序映射到主机侧用来网络扩展的MAC控制器;
步骤8,将位于主机侧的MAC控制器配置成混杂模式,重设MAC的最大接收帧长,使其比原有方式增加一个字节,以容纳网络报文中扩展端口序号;
步骤9,主机侧的网口接收驱动程序按常规方法读取来自端口的网络报文,并提取帧校验码前的一个字节作为网络报文源端口序号,并根据此序号将接收到的网络报文提交到步骤7所述对应逻辑网络设备,完成逻辑网络设备的数据接收;
本发明发送网络报文的目标扩展网络端口选择由网络扩展模块中的多路发送逻辑完成,协议栈输出网络报文与常规网络报文一致;而扩展网络端口接收到的网络报文则由网络扩展模块进行源端口标记,通过驱动软件实现方法完成目标逻辑网络设备的选择,最终完成逻辑网络设备和对应扩展端口的绑定,整个实现对协议栈高层透明。
当使用支持单时钟模式的以太网物理层接口器件时,多路发送逻辑的数据输出端可直接连接到以太网物理层接口器件;当选用的以太网物理层器件不支持单时钟模式时,采用经过双时钟FIFO连接多路发送逻辑和物以太网物理层接口器件,实现跨时钟域转换。
主机网络报文发送采用源MAC地址路由策略,由扩展模块中的多路发送逻辑按步骤2选择与主机网络报文源MAC地址一致的第一个扩展网络端口作为该网络报文的目标转发端口。
主端口接收逻辑和多路发送逻辑并不缓冲全部网络报文,仅对接收到的网络报文做适当延迟,在解析出网络报文中源MAC并完成目标端口选择后即行启动转发,多路发送逻辑仅产生一组发送数据流,根据步骤2的目标扩展网络端口选择结果置位相应的网络发送使能信号TX_EN,以此实现数据选择性发送并保证广播发送延迟一致。
多路接收DMA将接收的网络报文标记上各自源端口序号,由主端口发送逻辑将源端口序号插入到网络报文数据段的最后一个字节,而主机侧MAC控制器则配置成混杂模式,接收所有网络报文,而接收驱动程序根据网络报文的最后一字节确定网络报文的源扩展端口序号,并根据此序号将网络报文提交给相应的逻辑设备。
本发明步骤7中主机侧系统软件虚拟多个独立的逻辑网络设备的具体方法为,主机侧软件按扩展网络端口的数量创建同等数量的逻辑网络设备,二者编号顺序一致,同时以扩展端口序号为索引建立查找表,以便通过扩展网络端口序号能够找到对应的逻辑网络设备。
本发明所达到的有益效果在于:
本发明所述的经以太网控制器扩展网口的实现方法,通过一路以太网控制器扩展出多个独立的网络控制器,各控制器具有独立的MAC地址,和以往网络交换芯片相比采用源地址路由选择方法和直通延迟转发模式。
本发明具有简单易实现,网络驱动程序改动非常小,可方便模拟多个独立网络控制器,具有以下特点,
1)系统对网络协议透明,占用硬件资源开销非常小,简单易实现;
2)网络发送采用多路同时驱动和直通延迟转发模式,广播发送延迟小;
3)网络转发路径选择基于源地址模式;
4)扩展端口网络报文接收和转发包含源端口标记;
5)各扩展端口之间没有数据通路,在链路层完全独立;
6)各扩展端口拥有独立的MAC地址,具备独立的MAC控制器的特征。
因此,本发明提供的一种基于以太网控制器的网络端口扩展方法,利用FPGA实现经MCU的原有网络端口扩展多个独立网络端口,对原有的网络驱动程序仅需简单升级,占用硬件资源开销非常小,简单易实现,具有良好的应用前景。
附图说明
图1是本发明实施例一的硬件框图;
图2是本发明实施例二的硬件框图;
图3是本发明实施例二双时钟FIFO连接网络物理层的示意图。
图4是本发明逻辑网口和扩展网口端到端连接示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明基于以太网控制器的网络端口扩展方法,通过多路以太网物理层和网络扩展模块等硬件电路构成,所述网络扩展模块从主机端口(源端口)接收网络报文,根据网络报文中的源MAC地址选择转发目标端口,待转发的网络报文并行施加到各个转发逻辑,并根据前面的源MAC选择结果确定使某个发送逻辑的发送使能信号TX_EN有效实现网络报文转发。而各个扩展网口的接收逻辑在接受到网络报文之后请求多路接收DMA数据传送服务,多路接收DMA标记接收到的网络报文来源端口序号并指示后面的主端口发送逻辑,向主机端口发送包含源端口序号的网络报文(源端口序号添加网络序号到数据段的最后一个字节,即帧校验码的前一个字节),主机网络接收驱动程序通过提取网络报文中源端口序号实现物理端口和协议栈中逻辑设备的绑定。
本发明的硬件实现方案因使用的网络物理层收发器不同而略有不同,而主机侧网络驱动程序相同,以下分硬件电路和网络驱动软件分述具体实现方法。
实施例一
1.硬件电路
如图1所示的基于以太网控制器的网络端口扩展方法,其硬件实现主要包括以下步骤:
步骤(1),构建包括多路以太网物理层、网络扩展模块等硬件电路,所述网络扩展模块包括主端口接收逻辑、主端口发送逻辑、多路发送逻辑、单网口的接收逻辑和多路接收DMA组成;
步骤(2),由所述主端口接收逻辑将来自主机MAC的网络报文进行延迟缓冲同时解析网络报文中源MAC地址,并选择本地MAC地址和网络报文源MAC地址一致的扩展网络端口作为该网络报文的目标发送端口;
步骤(3),由所述多路发送逻辑将延迟缓冲后的网络报文并行施加在各扩展网络端口,并根据步骤2选择结果置位相应扩展网络端口的发送使能信号TX_EN,实现网络报文从选中的端口发送;
步骤(4),由各扩展网络端口的接收逻辑接收并缓冲本端口的网络报文同时标记端口序号,然后请求多路接收DMA服务;
步骤(5),多路接收DMA按轮转调度策略依次查询各接收端口,并将各端口接收到的网络报文及其源端口序号一并传送给主端口发送逻辑;
步骤(6),主端口发送逻辑将多路接收DMA的中间数据转换成以太网链路层的数据格式,同时将网络报文的源端口序号插入在网络报文的最后一个字节(即帧校验码前一字节)随后发送该网络报文到主机;
实施例中扩展模块对主机端口网络报文延迟缓冲和源MAC地址解析同步进行,源MAC地址解析完成后选择本地MAC地址和网络报文源MAC地址一致的第一个扩展网络端口作为该网络报文的目标发送端口;
发送网络报文被延迟8个网络时钟,延迟后的网络报文并行施加到各扩展以太网物理层的发送端,而多路发送逻辑根据源MAC地址选择的结果,将满足条件的物理层发送使能信号TX_EN置有效,以此实现网络报文选择性发送;
主机端口MAC控制器应该配置成混杂模式,即不执行MAC层的地址过滤,而MAC层的目标MAC地址过滤功能由各扩展端口负责,目标MAC地址不满足接收条件的网络报文会被各端口直接丢弃。
各扩展端口的接收逻辑模块会将接收到的网络报文先行缓冲并计算帧校验,接收逻辑对满足接收条件的网络报文创建一个接收描述符,该描述符用来指示接收到的网络报文所在缓冲区地址、网络报文长度及网络报文端口序号等信息,随后将产生DMA请求,请求多路接收DMA执行数据服务。
所述的多路接收DMA基于轮转调度策略(Round-Robin Schedule),轮询各扩展端口的接收逻辑模块的DMA请求信号,轮询过程中若对应的网口没有新的数据,DMA将继续查询下一端口,对有数据请求端口,DMA先从该端口读取数据描述符,并用该描述符配置DMA的数据传输,传输结束后继续查询下一端口。
所述的多路接收DMA在执行数据请求服务时先检查主端口发送逻辑的发送数据队列剩余空间以便执行输入流量控制,当剩余空间足够时才从扩展端口的接收逻辑中复制网络报文到主端口发送逻辑,然后更新主发送逻辑模块的发送描述符队列,而主端口发送逻辑模块的发送描述符同样包括网络报文的缓冲区地址、网络报文长度及数据源端口等信息。
所述主端口发送逻辑模块执行接收网络报文到主机端口的转发,即执行缓冲区数据到MII接口的码流变换,同时完成在网络报文的帧校验前一字节插入源扩展端口序号和帧校验计算功能。
使用支持单时钟模式的物理层(PHY)接口器件,多路发送逻辑模块的数据输出端可直接连接到物理层(PHY)接口器件。
扩展的各个物理端口之间不存在数据通路,完全独立,当扩展网络端口分别位于不同的物理网络时,位于一个网络的端口不会对位于其他网络的端口构成任何影响,满足不同网络间完全隔离的安全要求。
2.网络驱动软件
本发明主机侧网络驱动程序需要构建多个逻辑网络设备,其数量和扩展网络端口一致,各逻辑网络设备的本地MAC地址和扩展网口的MAC地址一致,逻辑网口和扩展网口端到端连接示意如图4所示。驱动程序按下述方法进行修改:
步骤(1),主机侧软件按扩展的物理端口数量创建同等数量的逻辑网络设备,二者编号顺序一致,同时建立查找表,以便通过物理端口序号能够找到对应的逻辑设备,最后将位于主机侧的MAC控制器配置成混杂模式(promiscuous mode,即接收所有的网络报文),重设MAC的最大接收帧长,使其比原有方式增加一个字节,以容纳网络报文中扩展端口序号;
步骤(2),配置逻辑网络设备的本地Mac(Local Mac)地址,使之与对应的扩展网络端口MAC地址一致;
步骤(3),配置逻辑网络设备的发送服务程序接口,使之绑定到用来扩展端口的对应MCU的网络端口(参照图4),以便逻辑设备在接收到来自协议栈高层的网络报文时能够将这些网络报文映射到MCU的指定网络端口;
步骤(4),修改MCU侧扩展网络端口所对应的MAC控制器的接收驱动程序,使该程序能够从帧校验码前一个字节中提取网路报文源端口序号,该序号由网络扩展模块标记并与扩展网络端口一一对应;
步骤(5),对应MCU侧接收驱动程序,根据步骤4获得的序号和步骤1创建的查找表,确定接收网络报文所对应的逻辑设备,并提交网络报文到该逻辑设备;
所述基于以太网控制器的网络端口扩展方法的发送网络报文的目标物理端口选择由扩展模块硬件完成,协议栈输出网络报文与常规网络报文一致;而物理端口接收到的网络报文则由扩展模块进行源端口标记,由软件完成目标逻辑设备选择,最终完成逻辑设备和对应扩展网络端口的绑定,整个实现对协议栈高层透明。
实施例二
1.硬件电路
如图2所示,基于以太网控制器的网络端口扩展方法,实现案例二采用通用网络物理层,采用双时钟模式,其硬件实现主要包括以下步骤:
步骤(1),构建包括多路以太网物理层、网络扩展模块等硬件电路,所述网络扩展模块包括主端口接收逻辑、主端口发送逻辑、多路发送逻辑、双时钟FIFO、单网口的接收逻辑和多路接收DMA组成;
步骤(2),由所述主端口接收逻辑将来自主机MAC控制器的网络报文进行延迟缓冲同时解析网络报文中源MAC地址,并选择本地MAC地址和网络报文源MAC地址一致的扩展网络端口作为该网络报文的目标发送端口;
步骤(3),由所述多路发送逻辑将延迟缓冲后的网络报文并行施加在各扩展网络端口的双时钟FIFO的数据输入端口,并根据步骤2选择结果置位相应的发送使能信号TX_EN,允许待发送网络报文进入双时钟FIFO,经延时后网络报文在FIFO的输出时钟的控制下施加到对应的网络物理层实现网络报文发送;
步骤(4),由各扩展网络端口的接收逻辑接收并缓冲本端口的网络报文同时标记端口序号,然后请求多路接收DMA服务;
步骤(5),多路接收DMA按轮转调度策略依次查询各接收端口,并将各端口接收到的网络报文及其源端口序号一并传送给主端口发送逻辑;
步骤(6),主端口发送逻辑将多路接收DMA接收到的中间数据转换成以太网物理层的数据格式,同时将网络报文的源端口序号插入在网络报文的最后一个字节(即帧校验码前一字节)随后发送该网络报文到主机;
实施例中扩展模块对主机端口网络报文延迟缓冲和源MAC地址解析同步进行,源MAC地址解析完成后选择本地MAC地址和网络报文源MAC地址一致的第一个扩展网络端口作为该网络报文的目标发送端口;
发送网络报文被延迟8个网络时钟,延迟后的数据并行施加到各扩展以太网物理层的发送端,而多路发送逻辑根据源MAC地址选择的结果,将满足条件的物理层发送使能信号TX_EN置有效,以此实现网络报文选择性发送;
主机端口MAC控制器应该配置成混杂模式,即不执行MAC层的地址过滤,而MAC层的目标MAC地址过滤功能由各扩展端口负责,目标MAC地址不满足接收条件的网络报文会被各端口直接丢弃。
各扩展端口的接收逻辑模块会将网络报文先行缓冲并计算帧校验,接收逻辑对满足接收条件的网络报文创建一个接收描述符,该描述符用来指示接收的网络报文所在缓冲区地址、网络报文长度及网络报文端口序号等信息,随后将产生DMA请求,请求多路接收DMA执行数据服务。
所述的多路接收DMA基于轮转调度策略(Round-Robin Schedule),轮询各扩展端口的接收逻辑模块的DMA请求信号,轮询过程中若对应的网口没有新的数据,DMA将继续查询下一端口,对有数据请求端口,DMA先从该端口读取数据描述符,并用该描述符配置DMA的数据传输,传输结束后继续查询下一端口。
所述的多路接收DMA在执行数据请求服务时先检查主端口发送逻辑的发送数据队列剩余空间以便执行输入流量控制,当剩余空间足够时才从扩展端口的接收逻辑中复制网络报文到主端口发送逻辑,然后更新主发送逻辑模块的发送描述符队列,而主端口发送逻辑模块的发送描述符同样包括网络报文的缓冲区地址、网络报文长度及网络报文源端口等信息。
所述主端口发送逻辑模块执行接收分组到主机端口的转发,即执行缓冲区数据到MII接口的码流变换,同时完成在网络报文的帧校验前一字节插入源扩展端口序号和帧校验计算功能。
所述双时钟FIFO连接在多路发送逻辑和PHY之间,多路发送逻辑的输出即为FIFO的输入,其中FIFO和PHY的局部连接如图3所示,写时钟采用RXCLK,而写数据分别为RXD和RXER,双时钟FIFO的读时钟采用TXCLK,双时钟FIFO的数据输出接对应侧PHY的数据输入,使用FIFO的空信号(fifo_empty)反相之后来控制双时钟FIFO的读请求和PHY的发送使能TXEN,这样则FIFO中包含数据可以控制PHY编码发送。
2.网络驱动软件
同实施例一中的“网络驱动软件”实现方法。
实施例一和实施例二的主要区别在于,前者采用支持单时钟模式的网络物理层,发送逻辑的数据可以直接连接到物理层,而后者使用双时钟的通用网络物理层,端口发送逻辑和网络物理层之间需要添加双时钟FIFO来实现发送数据的跨时钟域转换;
实施例二的其他功能特征等同于硬件实现案例一,其扩展的各个物理端口之间不存在数据通路,完全独立,当扩展网络端口分别位于不同的物理网络时,位于一个网络的端口不会对位于其他网络的端口构成任何影响,满足不同网络间完全隔离的安全要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种基于以太网控制器的网络端口扩展方法,其特征在于,包括以下硬件和驱动程序实现步骤:
步骤1,构建包括多路以太网物理层、网络扩展模块的硬件电路,所述网络扩展模块包括主端口接收逻辑、主端口发送逻辑、多路发送逻辑、单网口的接收逻辑和多路接收DMA;
步骤2,由所述主端口接收逻辑将来自主机MAC的网络报文进行延迟缓冲同时解析网络报文中源MAC地址,并选择本地MAC地址和网络报文源MAC地址一致的扩展网络端口作为该网络报文的目标发送端口;
步骤3,由所述多路发送逻辑将延迟缓冲后的网络报文并行施加在各扩展网络端口,并根据步骤2选择结果置位相应扩展网络端口的发送使能信号TX_EN,实现网络报文从选中的端口发送;
步骤4,由各扩展网络端口的接收逻辑接收并缓冲本端口的网络报文同时标记端口序号,然后请求多路接收DMA服务;
步骤5,多路接收DMA按轮转调度策略依次查询各扩展网络端口的接收逻辑,并将接收逻辑模块接收到的网络报文连同其源端口序号一并传送给主端口发送逻辑;
步骤6,主端口发送逻辑将多路接收DMA的中间数据转换成以太网链路层的数据格式,同时将网络报文的源端口序号插入在网络报文的最后一个字节后发送该网络报文到主机;
步骤7,在主机侧系统软件中虚拟多个独立的逻辑网络设备,并使这些逻辑网络设备的本地MAC地址和扩展网络端口中配置的本地MAC地址一致,协议栈高层发往逻辑网络设备的网络报文由发送驱动程序映射到主机侧用来网络扩展的MAC控制器;
步骤8,将位于主机侧的MAC控制器配置成混杂模式,重设MAC的最大接收帧长,使其比原有方式增加一个字节,以容纳网络报文中扩展端口序号;
步骤9,主机侧的网口接收驱动程序按常规方法读取来自端口的网络报文,并提取帧校验码前的一个字节作为网络报文源端口序号,并根据此序号将接收到的网络报文提交到对应步骤7所述逻辑网络设备,完成逻辑网络设备的数据接收;
所述基于以太网控制器的网络端口扩展方法的发送网络报文的目标物理端口选择由网络扩展模块中的多路发送逻辑完成,协议栈输出网络报文与常规网络报文一致;而扩展网络端口接收到的网络报文则由各端口接收逻辑进行源端口标记,最后通过驱动软件实现逻辑网络设备和对应物理扩展网络端口的绑定,整个实现对协议栈高层透明。
2.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,当使用支持单时钟模式的以太网物理层接口器件时,多路发送逻辑的数据输出端可直接连接到以太网物理层接口器件;当选用的以太网物理层器件不支持单时钟模式时,采用经过双时钟FIFO连接多路发送逻辑和物以太网物理层接口器件,实现跨时钟域转换。
3.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,主机网络报文发送采用源MAC地址路由策略,由扩展模块中的多路发送逻辑按步骤2选择与主机网络报文源MAC地址一致的第一个扩展网络端口作为该网络报文的目标转发端口。
4.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,主端口接收逻辑和多路发送逻辑并不缓冲全部网络报文,仅对接收到的网络报文做适当延迟,在解析出网络报文中源MAC并完成目标端口选择后即行启动转发。
5.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,各扩展端口广播转发延迟一致,多路发送逻辑仅产生一组发送数据流,根据步骤2的目标扩展网络端口选择结果置位相应的网络发送使能信号TX_EN,以此实现网络报文的选择性发送。
6.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,多路接收DMA将接收到的网络报文标记上各自源端口序号,而主端口发送逻辑将源端口序号插入到网络报文数据段的最后一个字节,即帧校验前的一个字节。
7.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于:主机侧MAC控制器配置成混杂模式,接收所有网络报文,接收网络报文比实际网络报文多一个字节用来保存扩展端口序号,而接收驱动程序根据网络报文帧校验前的一字节确定网络报文的源扩展端口序号,并根据此序号将网络报文提交给相应的逻辑设备。
8.根据权利要求1所述的基于以太网控制器的网络端口扩展方法,其特征在于,步骤7中主机侧系统软件虚拟多个独立的逻辑网络设备的具体方法为,主机侧软件按扩展网络端口的数量创建同等数量的逻辑网络设备,二者编号顺序一致,同时建立查找表,以便通过扩展网络端口序号能够找到对应的逻辑网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610795267.3A CN106411740B (zh) | 2016-08-31 | 2016-08-31 | 基于以太网控制器的网络端口扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610795267.3A CN106411740B (zh) | 2016-08-31 | 2016-08-31 | 基于以太网控制器的网络端口扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106411740A CN106411740A (zh) | 2017-02-15 |
CN106411740B true CN106411740B (zh) | 2019-05-17 |
Family
ID=58001169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610795267.3A Active CN106411740B (zh) | 2016-08-31 | 2016-08-31 | 基于以太网控制器的网络端口扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106411740B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347816B (zh) * | 2018-10-10 | 2022-01-04 | 上海易杵行智能科技有限公司 | 一种用于端口与接入设备的绑定方法及系统 |
DE102019116510A1 (de) | 2019-06-18 | 2020-12-24 | Beckhoff Automation Gmbh | Netzwerkteilnehmer und Automatisierungsnetzwerk |
CN112532756B (zh) * | 2019-09-17 | 2023-10-24 | 华为技术有限公司 | 接口扩展方法、装置和系统 |
CN110943941B (zh) * | 2019-12-06 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、网卡及电子设备 |
CN113625617A (zh) * | 2021-07-16 | 2021-11-09 | 思源电气股份有限公司 | 一种基于国产mcu芯片的gmac通道复用系统 |
CN113965456A (zh) * | 2021-08-30 | 2022-01-21 | 广州文远知行科技有限公司 | 主机接口拓展方法、装置、设备及存储介质 |
CN113904882B (zh) * | 2021-09-24 | 2023-08-18 | 广东汇天航空航天科技有限公司 | 一种多mcu单元的通信控制系统及通信控制方法 |
CN114327931B (zh) * | 2021-11-30 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种整机柜内网络管理设备及整机柜内网络系统 |
CN114430392A (zh) * | 2022-01-26 | 2022-05-03 | 福州创实讯联信息技术有限公司 | 一种Intel网卡连接Switch拓展网口的方法与终端 |
CN114710453B (zh) * | 2022-03-16 | 2023-10-10 | 深圳市风云实业有限公司 | 一种高宽带低延时存储转发控制装置及其控制方法 |
CN115022424B (zh) * | 2022-06-27 | 2024-01-09 | 西安热工研究院有限公司 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
CN114978966B (zh) * | 2022-07-04 | 2024-01-09 | 华东师范大学 | 一种网络报文发包装置 |
CN115297068A (zh) * | 2022-07-28 | 2022-11-04 | 浙江源创智控技术有限公司 | 一种基于ip179n交换机芯片扩展设备网卡的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145054A (zh) * | 2007-09-21 | 2008-03-19 | 江苏金智科技股份有限公司 | 一种基于32位微控制器的控制局域网转接模块 |
CN101350779A (zh) * | 2008-08-26 | 2009-01-21 | 北京大学深圳研究生院 | 基于自路由集线器的电路式分组交换方法 |
CN101394447A (zh) * | 2007-09-21 | 2009-03-25 | 中国矿业大学(北京) | 矿用多媒体通讯系统 |
CN102918809A (zh) * | 2010-05-26 | 2013-02-06 | 西门子公司 | 网络和扩展单元以及运行网络的方法 |
-
2016
- 2016-08-31 CN CN201610795267.3A patent/CN106411740B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145054A (zh) * | 2007-09-21 | 2008-03-19 | 江苏金智科技股份有限公司 | 一种基于32位微控制器的控制局域网转接模块 |
CN101394447A (zh) * | 2007-09-21 | 2009-03-25 | 中国矿业大学(北京) | 矿用多媒体通讯系统 |
CN101350779A (zh) * | 2008-08-26 | 2009-01-21 | 北京大学深圳研究生院 | 基于自路由集线器的电路式分组交换方法 |
CN102918809A (zh) * | 2010-05-26 | 2013-02-06 | 西门子公司 | 网络和扩展单元以及运行网络的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106411740A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106411740B (zh) | 基于以太网控制器的网络端口扩展方法 | |
CN106612141B (zh) | 一种光纤通道协议通用仿真测试卡及其数据交互方法 | |
CN106951388B (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
CN103888293B (zh) | 多通道fc网络数据仿真系统的数据通道调度方法 | |
US8718065B2 (en) | Transmission using multiple physical interface | |
CN105183690B (zh) | 一种基于spi总线通信协议的双缓冲数据传输方法 | |
CN101169771B (zh) | 一种axi内部总线的外部接口装置及其数据传输方法 | |
CN104679702B (zh) | 多路高速串行接口控制器 | |
CN104243346A (zh) | 针对网络设备以减小的缓冲器使用进行流控制 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN105141552A (zh) | 在fc交换机中支持时间触发机制的数据调度传输方法 | |
CN109194679A (zh) | 一种基于SpaceFibre接口的多协议接口数据采集装置和采集方法 | |
CN114297124B (zh) | 一种基于fpga的srio高速总线的通讯系统 | |
CN108966046A (zh) | 一种基于fpga的两种通信接口融合mac控制器 | |
CN104378161A (zh) | 一种基于AXI4总线架构的FCoE协议加速引擎IP核 | |
CN101242284A (zh) | 基于spi总线的通信方法和网络设备 | |
CN109710550B (zh) | 一种基于双缓存的帧长度不固定rs422数据通信系统 | |
CN101202634B (zh) | 提高带宽利用率的单板和数据传输系统以及方法 | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
CN108614797A (zh) | 一种多类型高低速串行总线集成接口 | |
CN109600457B (zh) | 一种多至一映射的phy-mac接口控制装置及方法 | |
CN109189711B (zh) | 基于以太网的串行控制台接口及其应用方法 | |
US7313146B2 (en) | Transparent data format within host device supporting differing transaction types | |
CN207625600U (zh) | 基于交换机芯片的以太网扩展电路 | |
CN102420734A (zh) | 一种can总线拓扑结构实现系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |