CN1558640A - 一种处理器提供多个有mac地址的网口的系统和方法 - Google Patents

一种处理器提供多个有mac地址的网口的系统和方法 Download PDF

Info

Publication number
CN1558640A
CN1558640A CNA2004100151436A CN200410015143A CN1558640A CN 1558640 A CN1558640 A CN 1558640A CN A2004100151436 A CNA2004100151436 A CN A2004100151436A CN 200410015143 A CN200410015143 A CN 200410015143A CN 1558640 A CN1558640 A CN 1558640A
Authority
CN
China
Prior art keywords
ethernet
processor
mac address
switching chip
interface
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.)
Granted
Application number
CNA2004100151436A
Other languages
English (en)
Other versions
CN100512322C (zh
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2004100151436A priority Critical patent/CN100512322C/zh
Publication of CN1558640A publication Critical patent/CN1558640A/zh
Application granted granted Critical
Publication of CN100512322C publication Critical patent/CN100512322C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

本发明的一种处理器提供多个有MAC地址的网口的系统和方法,属于数据通信领域,其系统包括一内嵌对外高速接口的高性能处理器,通过其对外高速接口背靠背对接的方式外接至少一以太网交换芯片,该以太网交换芯片具有多个以太网网口;以及一多MAC程序模块,运行在所述高性能处理器上,使该以太网交换芯片的多个网口都带有单独的MAC地址;所述以太网交换芯片与所述高速处理器的接口利用原MAC地址的hash值记录数据包的来源。本发明的系统和方法提高了收发包的效率,使处理器能更好的处理需要它处理的通讯协议(比如呼叫控制)并提高了整个系统的效率;同时由于不用再外挂多个MAC控制器,也节省了成本和降低了复杂程度。

Description

一种处理器提供多个有MAC地址的网口的系统和方法
技术领域
本发明涉及数据通讯领域,尤其涉及通过处理器提供多个具有独立MAC地址的网口的系统和方法。
背景技术
在现代的通讯领域中有许多场合(比如软交换)中需要用高性能的处理器挂上多个以太网口来处理用于呼叫控制协议处理的数据包,或用于某个通讯系统的主控制板。
在上面提到的这种应用环境中,现有技术中采用的相关技术一般是用一款高性能的处理器,如intel的奔3系列或motorola的7410等,接一个北桥芯片,然后通过该北桥芯片上的PCI总线接上带PCI总线的以太网芯片,如intel的82559,系统就通过挂在该PCI总线上的这些以太网芯片来提供给应用环境所需要的以太网接口。当然,也有一些其它的实现方法不是通过PCI总线来挂以太网芯片,但不管这些系统用的是什么总线来接以太网的MAC(media access control,以太网控制器)芯片,有一点是确定的,就是该系统需要几个网口就必须带几个MAC控制器。
在上面这些现有技术的实现方法中存在一些缺陷和不足。以PCI总线挂MAC控制器为例,首先就是挂在该PCI总线上的这些网口(每一网口具有一MAC控制器)的效率不高,因为该PCI总线通常工作在33MHz,是PCI网卡与桥片通信的屏障,大量的时间都耗费在PCI数据搬移上了,导致CPU处理效率明显降低。另外就是需要比较高的成本,一般考虑到通讯设备的可靠性,在PCI总线上挂的以太网芯片往往价格昂贵,当需要多个这样的芯片时系统的成本就很高。
因此,现有技术中明显存在缺陷,而有待于改进和发展。
发明内容
本发明的目的就是为了克服现有技术中的上述缺陷,提供一种处理器提供多个有MAC地址的网口的系统和方法,通过以太网交换芯片配合多MAC程序模块来提供多个具有独立MAC地址的网口,解决现有技术中存在的需要几个网口就必须带几个MAC控制器的问题,用以太网控制器来代替多个MAC控制器,在节约硬件成本和降低复杂程度的同时使系统具有了高速的多网口处理能力。
本发明的技术方案为:
一种处理器提供多个有MAC地址的网口的系统,其包括一内嵌对外高速接口的高性能处理器,通过其对外高速接口对接的方式外接至少一以太网交换芯片,该以太网交换芯片具有多个以太网网口;以及一多MAC程序模块,运行在所述高性能处理器上,使该以太网交换芯片的多个网口都带有单独的MAC地址;所述以太网交换芯片与所述高速处理器的接口利用原MAC地址的hash值记录数据包的来源。
所述的系统,其中,所述以太网交换芯片在所述多MAC程序模块控制下对来自处理器和外部的数据包进行接收和转发,并且其各以太网口具有自己的MAC地址和IP地址。
所述的系统,其中,所述高性能处理器采用主频为600MHz以上的高速处理器。
所述的系统,其中,所述以太网网口为10/100M网口。
一种如权利要求1所述的处理器提供多个有MAC地址的网口的方法,其包括以下步骤:
a)所述多MAC程序模块初始化所述以太网交换芯片,并使能所述系统应用所需要的多个以太网网口;
b)所述多MAC程序模块设置所述以太网交换芯片的链路聚集功能,将所述系统中的所述以太网网口和所述以太网交换芯片与所述高性能处理器连接的端口一起设置成一链路聚集组;
c)所述多MAC程序模块对所述高性能处理器加载IP协议;
d)所述多MAC程序模块为所述高性能处理器设置多个独立的MAC地址和IP地址;
e)所述系统开始收发多MAC地址的数据包。
本发明所提供的一种处理器提供多个有MAC地址的网口的系统和方法,与现有技术相比,由于本发明的系统和方法采用了用以太网交换芯片配合多MAC程序模块来提供多个具有独立MAC地址的网口,节省了系统的硬件成本,降低了系统的复杂程度,并提高了系统处理数据包的效率。
附图说明
图1是本发明的系统所包括的各组成部分的功能框图;
图2是本发明的方法中所述系统设置多MAC地址的方法步骤图。
具体实施方式
下面结合附图将对本发明的技术方案的具体实施例作进一步的详细描述:
本发明的一种处理器提供多个有MAC地址的网口的系统和方法,特别是在通讯领域中需要用主频1G左右(通常高于600MHz)的高性能的处理器来对多个100M以太网网口的数据包进行高速处理的应用环境中,其采用了内嵌对外高速接口的高性能处理器通过其对外高速接口对接(如背靠背对接,交叉连接等)的方式外接有至少一以太网交换芯片,如图1所示的,利用一多MAC程序模块运行在所述高性能处理器上,使该以太网交换芯片的多个100M以太网网口都带有单独的MAC地址。与现有的技术方案比较,由于高性能处理器内嵌的高速接口与CPU内核之间的接口采用的数据总线位宽很宽,最高能达到256位,频率可达到CPU内核的一半,当CPU主频为500M时,其带宽是32位33MHZ的PCI总线带宽的60倍,同时所述以太网交换芯片的100M以太网网口的包转发是由硬件来完成的,因此外挂的100M的所述以太网交换芯片的网口效率远高于普通PCI网卡。
本发明的所述用多MAC程序模块使所述高性能处理器通过所述以太网交换芯片挂上多个带独立MAC地址的网口的系统主要由以下几部分组成:一:是能对外提供高速对接接口的一高性能处理器;二:是能与所述高性能处理器的高速对外接口对接,并带有多个100M以太网网口的以太网交换芯片,所述以太网网口可以是集成了100M PHY(物理层的以太网收发器)的,也可以是没有集成100M PHY的。将所述高性能处理器的外部接口与所述以太网交换芯片的高速接口对接;三:还需要一个在所述高性能处理器上运行的所述多MAC程序模块,本发明系统的组成部分框图如图1所示。
所述高性能处理器主要是用来处理需要CPU处理的数据包;所述以太网交换芯片用来对外提供应用所需的100M以太网接口,通过它来在所述高性能处理器和外部之间进行数据包的接收和转发。由于所述以太网交换芯片只是做包转发的工作,它的100M以太网接口是不带MAC地址的,也没有独立的IP地址,因此本发明设计的所述系统还必须通过所述多MAC程序模块来为所述以太网交换芯片上的这些以太网口设置自己的MAC地址和IP地址。
以下详细描述本发明系统的一较佳实施例:
本发明的所述系统可以采用GMII(Gabit以太网控制器接口)接口来将所述高性能处理器和所述以太网交换芯片连接起来的。本系统包含一个集成了GMII接口的高性能处理器;一个带GMII接口和多个100M以太网网口,所述100M以太网网口已经集成了100M PHY(物理层的以太网收发器)。将所述高性能处理器的GMII接口与所述以太网交换芯片的GMII做交叉连接(两边都不用挂PHY),下面的表列出它们的连接关系:
  处理器上的GMII接口信号线(网口E0) 对应连接的交换芯片的GMII接口的信号线(网口E1)
    E0_TX0 ̄E0_TX7     E1_RX0 ̄E1_RX7
    E0_RX0 ̄0_RX7     E1_DX0 ̄E1_DX7
    E0_TXEN     E1_RXDV
    E0_RXDV     ELTXEN
    E0_TXER     E1_RXER
    E0_RXER     E1_TXER
    E0_TCLKO     E1_RCLK
    E0_RCLK     E1_TCLKO
                           表1
上面列出的是本实施例的硬件部分,本发明所述系统对应的软件部分是所述多MAC程序模块。
所述多MAC程序模块实现的原理是巧妙利用所述以太网交换芯片基于MAC地址的trunking(链路聚集/中继)特点设计的。通常2层交换芯片具有基于端口或MAC地址的trunking功能,将所述以太网交换芯片的GMII接口和多个100M以太网网口设置为一个trunking组,利用所述以太网交换芯片的trunking功能,所述高性能处理器通过所述GMII接口发送过来的数据包,进入所述以太网交换芯片的GMII接口后,该以太网交换芯片的GMII接口会计算该数据包的原MAC地址的HASH值(利用哈希hash算法),根据该HASH值的不同,所述以太网交换芯片会将该数据包转发到trunking组的某一固定100M以太网网口(相当该网口具有特定的MAC地址);同时这个trunking组的从某一100M以太网网口进来的数据包,都会转发到该以太网交换芯片的GMII接口,于是所述高性能处理器的GMII接口便能收发数据包。
利用该多MAC程序模块作为驱动程序模块,将所述高性能处理器的GMII接口设置为具有多个MAC地址和IP地址,这些MAC地址具有不同的HASH值,于是所述高性能处理器的发出的数据包,可以具有不同的原MAC地址,由于其MAC地址的不同,所述以太网交换芯片就会将对应数据包转发到某一固定100M以太网网口,同时从这些100M以太网网口进来的数据包,都会进入所述高性能处理器的GMII接口,经过这样的设置,所述以太网交换芯片的这些100M以太网网口,便可收发多个特定MAC地址的数据包,似乎具有了自己独立的MAC地址和IP地址,从外部看来,所述高性能处理器便具有了多个独立的100M以太网网口。
具体来讲,所述高性能处理器可以采用BCM1125H(Broadcom公司的一款MIPS处理器)、所述以太网交换芯片可以采用BCM5382(Broadcom公司的一款以太网交换芯片)。所述BCM1125H芯片内嵌了2个GMII接口,本发明只用到一个GMII0接口,由于BCM1125H内嵌了DDR SDRAM控制器,因此本发明系统不需要再外接其它的桥片了;所述BCM5382也带了一个GMII接口,此外BCM5382还带有8个集成了PHY的10/100M以太网网口。
根据技术手册说明,将所述BCM1125H和所述BCM5382的对应GMII接口交叉互联,并按照表1将它们的GMII接口对应连接起来。所述BCM5382有8个10/100M以太网网口可用,可根据需要决定引出的数目。
本发明所述实现高性能处理器通过所述以太网交换芯片带多个有独立MAC地址的以太网网口的系统,其多MAC程序模块的驱动步骤如下:
a)先是要初始化所述以太网交换芯片,并使能系统应用所需要的多个10/100M以太网网口
b)设置所述以太网交换芯片的trunking功能,将系统中的所有10/100M以太网网口和该以太网交换芯片与所述高性能处理器连接的端口即上述实施例中的BCM5382的GMII接口一起设置成一个trunking组;
c)对所述高性能处理器加载IP协议
d)为所述高性能处理器设置多个独立的MAC地址和IP地址,所述系统需要对外提供几个以太网口就需要设置几个IP地址和MAC地址
e)最后开始循环收发多MAC数据包。
以下说明4网口的具体实现步骤,多网口实现步骤与之类似
1-使能所述以太网交换芯片BCM5382的4个10/100M以太网网口;
2一将这4个10/100M以太网网口和所述BCM5382的GMII接口设置成一个trunking组;
3-设置所述以太网交换芯片基于MAC地址的trunking功能;
4-设置所述以太网交换芯片基于原MAC地址hash值的trunking功能;
5-根据hash算法,找出具有4个不同hash值的MAC地址;
6-驱动所述BCM1125H的对应连接的GMII接口;
7-设置所述BCM1125H的GMII接口的4个MAC地址和IP地址,该MAC地址和IP地址是根据上述不同hash值确定的;此时所述BCM1125H就具有了4个10/100M以太网网口了。
下面列出了所述以太网交换芯片的4个以太网网口的不同trunking组,基于原MAC地址hash值与转发以太网网口之间的关系:
    原MAC地址的hash值     不同中继组的以太网网口
    0x00 ̄0x3f     第一网口(1st)
    0x40 ̄0x7f     第二网口(2nd)
    0x80 ̄0xbf     第三网口(3rd)
    0xc0 ̄0xff     第四网口(4th)
                          表2
本发明系统的所述以太网交换芯片只要原MAC地址的hash值算出为0x00 ̄0x3f之间,便将该数据包转发向所述BCM5382的第一网口,其它网口依次判断处理。在本实施例中,所设的4个MAC地址分别为,{0x00;0x02;0x4c;0xfd;0x08;0x2d},{0x00;0x02;0x4c;0xfd;0x08;0x2c},{0x00;0x02;0x4c;0xfd;0x08;0x2e},{0x00;0x02;0x4c;0xfd;0x08;0x2f},其满足以上hash值与转发网口之间的关系,利用以上设置,便可轻松实现所述BCM1125H的4个100M以太网网口;利用同样的方法,可以设置更多的网口。在本发明系统中利用了实时操作系统,采用C语言编程。
综上所述,由于本发明采用了以太网交换芯片来提供多个带MAC地址的以太网接口,因此提高了收发包的效率,使处理器能更好的处理需要它处理的通讯协议(比如呼叫控制)并提高了整个系统的效率;同时由于不用在外挂多个MAC控制器,也节省了成本和降低了复杂程度。
应当理解的是,对于本发明的上述具体实施例的描述是非常详细的,上述描述的具体特征并不能被理解为对本发明的保护范围的限定,保护范围的确定应以本发明所附权利要求书为准。

Claims (5)

1、一种处理器提供多个有MAC地址的网口的系统,其包括一内嵌对外高速接口的高性能处理器,通过其对外高速接口对接的方式外接至少一以太网交换芯片,该以太网交换芯片具有多个以太网网口;以及一多MAC程序模块,运行在所述高性能处理器上,使该以太网交换芯片的多个网口都带有单独的MAC地址;所述以太网交换芯片与所述高速处理器的接口利用原MAC地址的hash值记录数据包的来源。
2、根据权利要求1所述的系统,其特征在于,所述以太网交换芯片在所述多MAC程序模块控制下对来自处理器和外部的数据包进行接收和转发,并且其各以太网口具有自己的MAC地址和IP地址。
3、根据权利要求2所述的系统,其特征在于,所述高性能处理器采用主频600MHz以上的高速处理器。
4、根据权利要求3所述的系统,其特征在于,所述以太网网口为10/100M网口。
5、一种如权利要求1所述的处理器提供多个有MAC地址的网口的方法,其包括以下步骤:
a)所述多MAC程序模块初始化所述以太网交换芯片,并使能所述系统应用所需要的多个以太网网口;
b)所述多MAC程序模块设置所述以太网交换芯片的链路聚集功能,将所述系统中的所述以太网网口和所述以太网交换芯片与所述高性能处理器连接的端口一起设置成一链路聚集组;
c)所述多MAC程序模块对所述高性能处理器加载IP协议;
d)所述多MAC程序模块为所述高性能处理器设置多个独立的MAC地址和IP地址;
e)所述系统开始收发多MAC地址的数据包。
CNB2004100151436A 2004-01-15 2004-01-15 一种处理器提供多个有mac地址的网口的系统和方法 Expired - Lifetime CN100512322C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100151436A CN100512322C (zh) 2004-01-15 2004-01-15 一种处理器提供多个有mac地址的网口的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100151436A CN100512322C (zh) 2004-01-15 2004-01-15 一种处理器提供多个有mac地址的网口的系统和方法

Publications (2)

Publication Number Publication Date
CN1558640A true CN1558640A (zh) 2004-12-29
CN100512322C CN100512322C (zh) 2009-07-08

Family

ID=34351332

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100151436A Expired - Lifetime CN100512322C (zh) 2004-01-15 2004-01-15 一种处理器提供多个有mac地址的网口的系统和方法

Country Status (1)

Country Link
CN (1) CN100512322C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010148923A1 (zh) * 2009-12-21 2010-12-29 中兴通讯股份有限公司 以太网接口系统实现方法及实现装置
CN101436901B (zh) * 2008-12-05 2011-06-22 中兴通讯股份有限公司 一种用以太网管理epon的olt芯片的装置及方法
CN101199188B (zh) * 2005-06-29 2011-09-14 英特尔公司 多媒体访问控制装置和方法
CN103686079A (zh) * 2013-12-05 2014-03-26 浙江宇视科技有限公司 一种终端设备
CN106209691A (zh) * 2016-07-18 2016-12-07 南京磐能电力科技股份有限公司 一种具备独立mac源地址的网络端口镜像方法
CN109254932A (zh) * 2018-09-18 2019-01-22 北京无线电测量研究所 多网口驱动方法、装置及存储介质
CN112492064A (zh) * 2020-12-10 2021-03-12 福州创实讯联信息技术有限公司 一种嵌入式设备多网口mac地址分配方法与终端
CN113055313A (zh) * 2021-03-17 2021-06-29 南方电网科学研究院有限责任公司 网口扩展的方法、装置、电子设备及存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101199188B (zh) * 2005-06-29 2011-09-14 英特尔公司 多媒体访问控制装置和方法
CN101436901B (zh) * 2008-12-05 2011-06-22 中兴通讯股份有限公司 一种用以太网管理epon的olt芯片的装置及方法
WO2010148923A1 (zh) * 2009-12-21 2010-12-29 中兴通讯股份有限公司 以太网接口系统实现方法及实现装置
CN103686079A (zh) * 2013-12-05 2014-03-26 浙江宇视科技有限公司 一种终端设备
CN103686079B (zh) * 2013-12-05 2017-07-14 浙江宇视科技有限公司 一种终端设备
CN106209691B (zh) * 2016-07-18 2019-05-17 南京磐能电力科技股份有限公司 一种具备独立mac源地址的网络端口镜像方法
CN106209691A (zh) * 2016-07-18 2016-12-07 南京磐能电力科技股份有限公司 一种具备独立mac源地址的网络端口镜像方法
CN109254932A (zh) * 2018-09-18 2019-01-22 北京无线电测量研究所 多网口驱动方法、装置及存储介质
CN109254932B (zh) * 2018-09-18 2020-09-18 北京无线电测量研究所 多网口驱动方法、装置及存储介质
CN112492064A (zh) * 2020-12-10 2021-03-12 福州创实讯联信息技术有限公司 一种嵌入式设备多网口mac地址分配方法与终端
CN112492064B (zh) * 2020-12-10 2023-05-09 福州创实讯联信息技术有限公司 一种嵌入式设备多网口mac地址分配方法与终端
CN113055313A (zh) * 2021-03-17 2021-06-29 南方电网科学研究院有限责任公司 网口扩展的方法、装置、电子设备及存储介质
CN113055313B (zh) * 2021-03-17 2022-04-22 南方电网科学研究院有限责任公司 网口扩展的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN100512322C (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
EP2640013B1 (en) Method And Apparatus Providing Network Redundancy And High Availability To Remote Network Nodes
US7328284B2 (en) Dynamic configuration of network data flow using a shared I/O subsystem
US8631162B2 (en) System and method for network interfacing in a multiple network environment
CN101123614B (zh) 一种处理地址解析协议报文的方法及通信装置
CN1855873A (zh) 用于实现高可用性虚拟局域网的方法和系统
CN1875585A (zh) 利用mac限制来控制动态未知l2泛滥
CN106664261A (zh) 一种配置流表项的方法、装置和系统
US20110292793A1 (en) Communication apparatus, communication method, and computer program
CN101227296B (zh) 一种pcie数据传输的方法、系统及板卡
CN101924707A (zh) 地址解析协议报文的处理方法和设备
KR20070006804A (ko) 데이터 처리를 위한 장치, 시스템, 방법 및 물품
CN1558640A (zh) 一种处理器提供多个有mac地址的网口的系统和方法
CN1152525C (zh) 一种以太网接入网虚拟局域网接入方法
US8203964B2 (en) Asynchronous event notification
CN1359215A (zh) 赋予移动终端可移动性的方法和执行该方法的无线接口设备
CN107493245B (zh) 交换机的板卡以及数据流转发方法
CN101043392A (zh) 一种WiMAX网络中转发IP报文的装置及基站设备
US20130077530A1 (en) Scaling IPv6 on Multiple Devices Virtual Switching System with Port or Device Level Aggregation
CN101312412B (zh) 一种基于嵌入式的以太网传输系统
US20100238930A1 (en) Router and method of forwarding ipv6 packets
EP1540473A2 (en) System and method for network interfacing in a multiple network environment
CN103765837B (zh) 多cpu的报文处理方法及系统、交换单元、单板
CN101030890A (zh) 一种灵活组网的方法以及相关路由设备
US7969994B2 (en) Method and apparatus for multiple connections to group of switches
CN1272938C (zh) 一种提高以太网带宽的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20090708