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

文档序号:7589788阅读:325来源:国知局
专利名称:一种处理器提供多个有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),下面的表列出它们的连接关系

表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值与转发以太网网口之间的关系

表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控制器,也节省了成本和降低了复杂程度。
应当理解的是,对于本发明的上述具体实施例的描述是非常详细的,上述描述的具体特征并不能被理解为对本发明的保护范围的限定,保护范围的确定应以本发明所附权利要求书为准。
权利要求
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地址的数据包。
全文摘要
本发明的一种处理器提供多个有MAC地址的网口的系统和方法,属于数据通信领域,其系统包括一内嵌对外高速接口的高性能处理器,通过其对外高速接口背靠背对接的方式外接至少一以太网交换芯片,该以太网交换芯片具有多个以太网网口;以及一多MAC程序模块,运行在所述高性能处理器上,使该以太网交换芯片的多个网口都带有单独的MAC地址;所述以太网交换芯片与所述高速处理器的接口利用原MAC地址的hash值记录数据包的来源。本发明的系统和方法提高了收发包的效率,使处理器能更好的处理需要它处理的通讯协议(比如呼叫控制)并提高了整个系统的效率;同时由于不用再外挂多个MAC控制器,也节省了成本和降低了复杂程度。
文档编号H04L29/10GK1558640SQ20041001514
公开日2004年12月29日 申请日期2004年1月15日 优先权日2004年1月15日
发明者彭涛, 杜建军, 彭 涛 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1