交换机的板卡以及数据流转发方法与流程

文档序号:13240464阅读:1452来源:国知局
交换机的板卡以及数据流转发方法与流程
本发明涉及通信
技术领域
,尤指一种交换机的板卡以及数据流转发方法。
背景技术
:交换机是目前网络架构中经常使用的网络设备,板卡是指交换机上用于数据转发的板卡,板卡上的交换芯片保存有决定数据流转发出口的媒体访问控制(mediaaccesscontrol,mac)地址表以及地址解析协议(addressresolutionprotocol,arp)转发表,交换芯片的转发性能也决定了交换板卡的带宽。其中,交换容量是指板卡上能够支持的总用户数,也就是能够存储的用户的mac地址和arp表项的数量,随着中央处理器(centralprocessingunit,cpu)和内存的高速发展,交换容量主要受限于交换芯片的硬件容量;交换带宽是板卡之间的最大吞吐的数据量。目前的交换芯片,根据使用场景不同以及对交换容量和交换带宽的取舍,衍生出两种典型的系列:大容量带宽一般的交换芯片(简称大容量交换芯片)和高带宽容量一般的交换芯片(简称高带宽交换芯片),这就导致目前的板卡不能同时满足大容量和高带宽的需求;而既能满足大容量又能满足高带宽需求的交换芯片,通常价格又比较昂贵。因此,目前亟需一种价格便宜并且同时满足大容量和高带宽需求的板卡。技术实现要素:本发明实施例提供一种交换机的板卡以及数据流转发方法,用以提供一种价格便宜并且同时满足大容量和高带宽需求的板卡。根据本发明实施例,提供一种交换机的板卡,包括第一交换芯片和第二交换芯片,所述第一交换芯片连接所述板卡的光纤端口和板卡间内联端口,所述第一交换芯片和第二交换芯片之间通过板卡内内联端口连接,所述第一交换芯片的带宽超过第一设定阈值,所述第二交换芯片的容量超过第二设定阈值,其中:所述第一交换芯片,用于接收数据流后,根据所述数据流的目的媒体访问控制mac地址确定是否将所述数据流发送给所述第二交换芯片,若确定不将所述数据流发送给所述第二交换芯片,则根据所述数据流的目的mac地址和mac地址表转发所述数据流;若确定将所述数据流发送给所述第二交换芯片后,则将所述数据流发送给所述第二交换芯片;所述第二交换芯片,用于接收到所述第一交换芯片发送的所述数据流后,根据地址解析协议arp转发表、所述数据流的目的互联网协议ip地址和目的mac地址转发所述数据流。具体的,所述第一交换芯片,具体用于:确定所述数据流的目的mac地址是否是所述交换机的mac地址;若所述数据流的目的mac地址是所述交换机的mac地址,则将所述数据流转发给所述第二交换芯片;若所述数据流的目的mac地址不是所述交换机的mac地址,则根据所述数据流的目的mac地址从mac地址列表查找所述数据流的出口,通过所述数据流的出口转发所述数据流。具体的,所述第二交换芯片,具体用于:接收所述第一交换芯片发送的所述数据流;获取所述数据流的目的ip地址和目的mac地址;根据所述数据流的目的ip地址和目的mac地址从arp转发表中查找所述数据流的出口;通过所述数据流的出口转发所述数据流。可选的,所述第一交换芯片,还用于根据学习到的mac地址更新所述mac地址表;所述第二交换芯片,还用于根据学习到的arp表项更新所述arp转发表。具体的,若所述第二交换芯片的个数大于一个,则所述第一交换芯片与所述第二交换芯片之间的板卡内内联端口组成聚合口,所述第一交换芯片,具体用于:若确定将所述数据流转发给所述第二交换芯片,则根据流量均衡原则将所述数据流发送给一个所述第二交换芯片。根据本发明实施例,还提供一种数据流转发方法,应用在上述的交换机的板卡的第一交换芯片中,所述方法包括:接收数据流;根据所述数据流的目的媒体访问控制mac地址确定是否将所述数据流发送给所述第二交换芯片;若确定不将所述数据流发送给所述第二交换芯片,则根据所述数据流的目的mac地址和mac地址表转发所述数据流;若确定将所述数据流发送给所述第二交换芯片后,则将所述数据流发送给所述第二交换芯片,以使第二交换芯片接收到所述第一交换芯片发送的所述数据流后,根据地址解析协议arp转发表、所述数据流的目的互联网协议ip地址和目的mac地址转发所述数据流。具体的,根据所述数据流的目的mac地址确定是否将所述数据流发送给所述第二交换芯片,具体包括:确定所述数据流的目的mac地址是否是所述交换机的mac地址;若确定所述数据流的目的mac地址是所述交换机的mac地址,则确定将所述数据流转发给所述第二交换芯片;若确定所述数据流的目的mac地址不是所述交换机的mac地址,则确定不将所述数据流发送给所述第二交换芯片;根据所述数据流的目的mac地址和mac地址表转发所述数据流,具体包括:根据所述数据流的目的mac地址从mac地址列表查找所述数据流的出口;通过所述数据流的出口转发所述数据流。可选的,还包括:根据学习到的mac地址更新所述mac地址表。具体的,若所述第二交换芯片的个数大于一个,则所述第一交换芯片与所述第二交换芯片之间的板卡内内联端口组成聚合口,将所述数据流发送给所述第二交换芯片,具体包括:根据流量均衡原则将所述数据流发送给一个所述第二交换芯片。根据本发明实施例,还提供一种数据流转发方法,应用在上述的交换机的板卡的第二交换芯片中,所述方法包括:接收所述第一交换芯片发送的数据流,所述数据流是所述第一交换芯片接收所述数据流后,根据所述数据流的目的媒体访问控制mac地址确定将所述数据流发送给所述第二交换芯片后发送的;根据地址解析协议arp转发表、所述数据流的目的互联网协议ip地址和目的mac地址转发所述数据流。具体的,根据arp转发表、所述数据流的目的ip地址和目的mac地址转发所述数据流,具体包括:获取所述数据流的目的ip地址和目的mac地址;根据所述数据流的目的ip地址和目的mac地址从arp转发表中查找所述数据流的出口;通过所述数据流的出口转发所述数据流。可选的,还包括:根据学习到的arp表项更新所述arp转发表。本发明有益效果如下:本发明实施例提供一种交换机的板卡以及数据流转发方法,该板卡包括第一交换芯片和第二交换芯片,所述第一交换芯片连接所述板卡的光纤端口和板卡间内联端口,所述第一交换芯片和第二交换芯片之间通过板卡内内联端口连接,所述第一交换芯片的带宽超过设定阈值,所述第二交换芯片的容量超过设定阈值,其中:所述第一交换芯片,用于接收数据流后,根据所述数据流的目的媒体访问控制mac地址确定是否将所述数据流发送给所述第二交换芯片,若确定不将所述数据流发送给所述第二交换芯片,则根据所述数据流的目的mac地址和mac地址表转发所述数据流;若确定将所述数据流发送给所述第二交换芯片后,则将所述数据流发送给所述第二交换芯片;所述第二交换芯片,用于接收到所述第一交换芯片发送的所述数据流后,根据地址解析协议arp转发表、所述数据流的目的互联网协议ip地址和目的mac地址转发所述数据流。该方案中,由于第一交换芯片的带宽超过第一设定阈值,第二交换芯片的容量超过第二设定阈值,因此,能够以相对较低的成本实现大容量和高带宽的交换板卡,并且通过二三层转发分离的设计,实现板卡交换容量的大幅提升。附图说明图1为本发明实施例中交换机的板卡的结构示意图;图2为本发明实施例中应用在第一交换芯片中的数据流的转发方法的流程图;图3为本发明实施例中应用在第二交换芯片中的数据流的转发方法的流程图;图4为本发明实施例中一种应用场景的示意图。具体实施方式为了提供一种价格便宜并且同时满足大容量和高带宽需求的板卡,本发明实施例提供一种交换机的板卡,该板卡的结构如图1所示,包括第一交换芯片11和第二交换芯片12,第一交换芯片连接板卡的光纤端口和板卡间内联端口,第一交换芯片和第二交换芯片之间通过板卡内内联端口连接,第一交换芯片的带宽超过第一设定阈值,第二交换芯片的容量超过第二设定阈值。其中:第一交换芯片,用于接收数据流后,根据数据流的目的mac地址确定是否将数据流发送给第二交换芯片,若确定不将数据流发送给第二交换芯片,则根据数据流的目的mac地址和mac地址表转发数据流;若确定将数据流发送给第二交换芯片后,则将数据流发送给第二交换芯片。第二交换芯片,用于接收到第一交换芯片发送的数据流后,根据地址解析协议arp转发表、数据流的目的互联网协议(internetprotocol,ip)地址和目的mac地址转发数据流。第二交换芯片的数量可以为至少一个,图1中示出的是两个的情况;第一设定阈值和第二设定阈值可以根据实际需要进行设定,例如第一设定阈值可以设定为300g,第二设定阈值可以设定为1000个。板卡间内联口可以单不限于为跨网版hg口,板卡内内联口可以单不限于为旁路hg口。对于二层的数据流直接在第一交换芯片上查找mac地址表转发,对于三层的数据流强制引流到第二交换芯片查找arp转发表做三层转发,从而实现二三层分离转发。该方案中,由于第一交换芯片的带宽超过第一设定阈值,第二交换芯片的容量超过第二设定阈值,因此,能够以相对较低的成本实现大容量和高带宽的交换板卡,并且通过二三层转发分离的设计,实现板卡交换容量的大幅提升。具体的,第一交换芯片11,具体用于:确定数据流的目的mac地址是否是交换机的mac地址;若数据流的目的mac地址是交换机的mac地址,则将数据流转发给第二交换芯片;若数据流的目的mac地址不是交换机的mac地址,则根据数据流的目的mac地址从mac地址列表查找数据流的出口,通过数据流的出口转发数据流。具体的,第二交换芯片12,具体用于:接收第一交换芯片发送的数据流;获取数据流的目的ip地址和目的mac地址;根据数据流的目的ip地址和目的mac地址从arp转发表中查找数据流的出口;通过数据流的出口转发数据流。可选的,第一交换芯片11,还用于根据学习到的mac地址更新mac地址表;第二交换芯片12,还用于根据学习到的arp表项更新arp转发表。具体的,若第二交换芯片的个数大于一个,则第一交换芯片与第二交换芯片之间的板卡内内联端口组成聚合口,第一交换芯片11,具体用于:若确定将数据流转发给第二交换芯片,则根据流量均衡原则将数据流发送给一个第二交换芯片。从带宽上方面讲,对第一交换芯片而言,所有旁路hg口组成一个聚合口,流量均衡到多个第二交换芯片,同时,第二交换芯片只做转发决策,不参与通路选择,因此,不需要再引出跨板卡hg口,所有带宽都分配到旁路hg口,以此来达到整体带宽的提升。假设,第一交换芯片的总带宽是300g,第二交换芯片的总带宽50g,按现有的板卡架构,一个交换芯片的带宽平均分成两部分(光纤端口和跨板卡hg口),第一交换芯片的光纤端口的带宽能达到150g,第二交换芯片的光纤端口的带宽只能达到25g。按照本发明的板卡架构,将带宽平均分配给光纤端口、旁路hg口、跨板卡hg口三部分,光纤端口的带宽可能达到第一交换芯片的带宽的1/3,即100g,板卡的带宽在第二交换芯片的带宽基础上提升3倍、在第一交换芯片的基础上下降33%。从容量上,由于板卡上的mac地址表和arp转发表的表项资源是共享的,可以自由分配给mac地址表的表项多一点或者arp转发表的表项多一点,其中一条mac表项占用的资源大约是一条arp表项占用的资源的1/2。在现有架构里面,假设第一交换芯片的容量是第二交换芯片的1/2,则第一交换芯片的表项资源全部分配给mac地址表使用,第二交换芯片的表项资源全部分配给arp转发使用,这样mac地址表和arp转发表的容量就一致了,板卡整体的容量也比单个第二交换芯片提升了50%(第二交换芯片单独使用时,mac地址表的表项资源占1/3,arp转发表的表项资源占2/3(假设为1000),全部给arp转发表使用后(可以达到1500),从而提升50%,比单个第一交换芯片的容量提升了2倍(假设原来容量为mac地址表的表项和arp转发表的表项各500条,全部用于安装mac地址表的表项后,可以装1500条)。基于同一发明构思,本发明实施例提供一种数据流的转发方法,应用在上述交换机的板卡的第一交换芯片中,该方法的流程如图2所示,执行步骤如下:s21:接收数据流。该数据流是从光纤端口接收到的。s22:根据数据流的目的mac地址确定是否将数据流发送给第二交换芯片,若确定不将数据流发送给第二交换芯片,则执行s23;若确定将数据流发送给第二交换芯片,则执行s24。通过本步骤来确定数据流要进行二层转发还是三层转发。s23:根据数据流的目的mac地址和mac地址表转发数据流。确定不将数据流发送给第二交换芯片,要对数据流进行二层转发。s24:将数据流发送给第二交换芯片,以使第二交换芯片接收到第一交换芯片发送的数据流后,根据arp转发表、数据流的目的ip地址和目的mac地址转发数据流。将数据流发送给第二交换芯片,从而实现数据流的三层转发。该方案中,由于第一交换芯片的带宽超过第一设定阈值,第二交换芯片的容量超过第二设定阈值,因此,能够以相对较低的成本实现大容量和高带宽的交换板卡,并且通过二三层转发分离的设计,实现板卡交换容量的大幅提升。具体的,上述s22中根据数据流的目的mac地址确定是否将数据流发送给第二交换芯片的实现过程,具体包括:确定数据流的目的mac地址是否是交换机的mac地址;若确定数据流的目的mac地址是交换机的mac地址,则确定将数据流转发给第二交换芯片;若确定数据流的目的mac地址不是交换机的mac地址,则确定不将数据流发送给第二交换芯片。若数据流的目的mac地址是交换机的mac地址,则继续转发数据流,即将数据流交给第二交换芯片进行转发;若数据流的目的mac地址不是交换机的mac地址,则无需继续转发数据流,不将数据流转发给第二交换芯片转发。相应地,上述s23中根据数据流的目的mac地址和mac地址表转发数据流的实现过程,具体包括:根据数据流的目的mac地址从mac地址列表查找数据流的出口;通过数据流的出口转发数据流。可以根据mac地址表来确定数据流的出口,然后通过该出口转发数据流。可选的,还包括:根据学习到的mac地址更新mac地址表。从而确保能够准确地转发数据流。具体的,若第二交换芯片的个数大于一个,则第一交换芯片与第二交换芯片之间的板卡内内联端口组成聚合口,将数据流发送给第二交换芯片,具体包括:根据流量均衡原则将数据流发送给一个第二交换芯片。根据本发明实施例,还提供一种数据流转发方法,应用在上述的交换机的板卡的第二交换芯片中,该方法的流程如图3所示,执行步骤如下:s31:接收第一交换芯片发送的数据流,数据流是第一交换芯片接收数据流后,根据数据流的目的mac地址确定将数据流发送给第二交换芯片后发送的。s32:根据arp转发表、数据流的目的ip地址和目的mac地址转发数据流。该方案中,由于第一交换芯片的带宽超过第一设定阈值,第二交换芯片的容量超过第二设定阈值,因此,能够以相对较低的成本实现大容量和高带宽的交换板卡,并且通过二三层转发分离的设计,实现板卡交换容量的大幅提升。具体的,上述s32中根据arp转发表、数据流的目的ip地址和目的mac地址转发数据流的实现过程,具体包括:获取数据流的目的ip地址和目的mac地址;根据数据流的目的ip地址和目的mac地址从arp转发表中查找数据流的出口;通过数据流的出口转发数据流。可选的,还包括:根据学习到的arp表项更新arp转发表。下面以一个具体实例进行说明,应用在如图4所示的网络架构中,以板卡1内的数据流转发为例进行说明:第一交换芯片11内的mac地址表如表1所示:序号目的mac地址vlan出口1maca1port1/12macb1port1/23macc2port1/34macd1port2/15mace2port1/16macsw1port1/17macsw2port1/1表1第二交换芯片2内的arp转发表的表项:表2同一个网段内的pc间,可以学习到对方的arp表项,因此可以直接二层通信(访问时发送的报文的目的mac地址直接是对方的mac地址);不同网段内的pc间,无法学习到对方的arp表项,需要通过网关走三层通信(即访问时发送的报文的目的mac是交换机的mac地址)。(1)pca到pcb的数据流,目的mac地址是pcb的mac地址,在板卡1的第一交换芯片芯片1内,直接命中第2条mac地址表的表项,通过板内二层转发到port1/2。(2)pca到pcc的数据流,目的mac地址是sw,目的ip地址是192.168.2.2,在板卡1的第一交换闲篇内,命中第6条mac表项,先通过旁路hg,转发到芯片2;再在芯片2内命中第3条arp表项,通过板内三层转发到port1/3(源mac地址修改为sw,目的mac地址修改为c,vlan修改为2)。(3)pca到pcd的数据流,目的mac地址是pcd,在板卡1的第一交换芯片1内,直接命中第4条mac表项,通过跨板二层转发到port2/1。(4)pca到pce的数据流,目的mac地址是sw,目的ip地址是192.168.2.3,在板卡1的第一交换芯片内,命中第6条mac表项,先通过旁路hg,转发到第二交换芯片;再在第二交换芯片内命中第5条arp表项,通过板内三层转发到port2/2(源mac修改为sw,目的mac修改为e,vlan修改为2)。下面上述架构中的介绍软件具体实现过程:第一,网关配置时,往第一交换芯片1上下发网关对应vlan的用于引流的mac表项,将目的mac地址是交换机的mac地址的数据流转发到第二交换芯片,即以上的第6、7两条表项;同时,往第二交换芯片上下发网关对应vlan送cpu的arp表项,用于将目的ip地址是本网关的ip地址报文送cpu,使得其它终端可以跟本网关通信。第二,对于mac地址学习,对本板卡而言mac地址学习只在第一交换芯片上进行,旁路hg口上关闭地址学习功能。如果是其它板卡学习到新的mac地址同步到本板卡,也只添加到第一交换芯片,不添加到第二交换芯片。第三,对于arp表项学习,第二交换芯片不直接学习,需要引擎学习到后下发到各板卡,在下发到板卡时只添加到第二交换芯片,不添加到第一交换芯片即可。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1