实现线卡间快速表同步的方法及装置制造方法

文档序号:7997233阅读:231来源:国知局
实现线卡间快速表同步的方法及装置制造方法
【专利摘要】本发明公开一种实现线卡间快速表同步的方法及装置,该方法包括以下步骤:为线卡间创建单向的同步数据传输通道的环路;任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。本发明实施例通过在线卡间建立同步数据传输通道环路,使得同步消息可以在同步数据传输通道环路中进行传递,从而降低了主控板的处理负担;而且在一个有n块线卡的系统上每一次进行同步操作时,只需要n个包的交互即可完成,且一旦同步成功后,系统内便不会再有同步消息包,从而提高同步效率。
【专利说明】实现线卡间快速表同步的方法及装置

【技术领域】
[0001]本发明涉及数据传输领域,尤其涉及一种实现线卡间快速表同步的方法及装置。

【背景技术】
[0002]以太网既是一种计算机接入局域网络的连接标准,又是一种网络互联设备数据共享的通讯协议。以太网采用具有冲突检测的载波监听多点接入技术,主机只有在检测到线路空闲时才能发送数据,如果检测到冲突,即其它主机正在发送数据时,它会过一段时间再次试发送直至把数据发送出去。以太网的普及性、高速的传输速度和低成本的特性使其成为事实上的局域网硬件和网络连接的标准,而且随着以太网技术的进一步成熟,以太网技术开始在城域网甚至广域网中得到越来越多的应用。
[0003]而随着互联网的发展以及以太网在互联网内的广泛应用,以太网的速率已经由最初的10M/100M提升到现有的1G甚至100G。端口速率的大幅提高随之带来的是信息量的爆炸式增长,对互联网设备的处理能力也提出了新的要求。因此,传统的单板单芯片集中式的处理方式越来越不能满足实际的需要。


【发明内容】

[0004]本发明的主要目的是提供一种实现线卡间快速表同步的方法,旨在降低主控板处理负担,提高同步效率。
[0005]为达到以上目的,本发明实施例提出了一种实现线卡间快速表同步的方法,包括以下步骤:
[0006]为线卡间创建单向的同步数据传输通道的环路;
[0007]任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
[0008]优选地,所述为线卡间创建单向的同步数据传输通道的环路包括:
[0009]为每个线卡分配一标识;
[0010]分别在相邻的两线卡间建立单向同步数据传输通道,并将首尾的两线卡之间也建立单向同步数据传输通道,以形成所述单向的同步数据传输通道的环路。
[0011]优选地,所述任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输包括:
[0012]线卡在自身的快速表发生变化时,通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,该同步消息包括同步类型、线卡自身的标识及同步标识;所述同步类型包括添加或删除快速表;
[0013]若同步类型是删除快速表,则下一线卡在接收到该同步消息时,删除同步消息中指定的快速表,并通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;
[0014]若同步类型是添加快速表,则下一线卡在接收到该同步消息时,将判断是否允许该添加快速表操作;是则通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;否则将同步消息中同步标识设置为“拒绝添加快速表”后,将该同步消息通过所述单向的同步数据传输通道的环路发送至下一线卡。
[0015]优选地,所述判断是否允许添加快速表操作包括:
[0016]快速表的数目是否达到阈值,且当前接收同步消息的线卡标识是否小于当前发出同步消息的线卡标识。
[0017]优选地,所述下一线卡在接收到该同步消息的同时还包括:
[0018]判断同步消息内的线卡标识与自身的线卡标识是否一致;是则结束同步操作并将所述同步消息删除,否则继续进行同步操作。
[0019]本发明实施例还提出了一种实现线卡间快速表同步的装置,包括:
[0020]主控板,用于为线卡间创建单向的同步数据传输通道的环路;
[0021]线卡,用于在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
[0022]优选地,所述主控板用于:
[0023]为每个线卡分配一标识;
[0024]分别在相邻的两线卡间建立单向同步数据传输通道,并将首尾的两线卡之间也建立单向同步数据传输通道,以形成所述单向的同步数据传输通道的环路。
[0025]优选地,所述线卡用于:
[0026]线卡在自身的快速表发生变化时,通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,该同步消息包括同步类型、线卡自身的标识及同步标识;所述同步类型包括添加或删除快速表;
[0027]若同步类型是删除快速表,则下一线卡在接收到该同步消息时,删除同步消息中指定的快速表,并通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;
[0028]若同步类型是添加快速表,则下一线卡在接收到该同步消息时,将判断是否允许该添加快速表操作;是则通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;否则将同步消息中同步标识设置为“拒绝添加快速表”后,将该同步消息通过所述单向的同步数据传输通道的环路发送至下一线卡。
[0029]优选地,所述线卡还用于:
[0030]判断快速表的数目是否达到阈值,且当前接收同步消息的线卡标识是否小于当前发出同步消息的线卡标识,以判断是否允许添加快速表操作。
[0031]优选地,所述线卡还用于:在下一线卡在接收到该同步消息的同时,还判断同步消息内的线卡标识与自身的线卡标识是否一致;是则结束同步操作并将所述同步消息删除,否则继续进行同步操作。
[0032]本发明实施例通过在线卡间建立同步数据传输通道环路,使得同步消息可以在同步数据传输通道环路中进行传递,从而降低了主控板的处理负担;而且在一个有η块线卡的系统上每一次进行同步操作时,在不考虑超时重传的前提下在交换网上只需要η个包的交互即可完成,且一旦同步成功后,系统内便不会再有同步消息包。因此,本发明实施例实现的同步对带宽资源的消耗是极少的。
[0033]本发明实施例中对线卡数量不受限制,且可随意加删卡。添加线卡只需要将新卡插入已有的同步数据传输通道环路即可,删除也一样。
[0034]本发明实施例利用传统的主控+线卡构架实现多线卡负荷分担的快速表同步,结合可编程器件的灵活与硬件转发器件的高速等特点在不需要额外硬件的前提下,降低了同步延迟,均分了同步操作带来的运算负担,同时又能保证同步可靠。

【专利附图】

【附图说明】
[0035]图1是本发明实现线卡间快速表同步的方法一实施例的流程示意图;
[0036]图2是图1中创建单向的同步数据传输通道环路的流程示意图;
[0037]图3是图2创建的线卡间单向的同步数据传输通道环路的结构示意图;
[0038]图4是图1中通过创建的同步数据传输通道环路实现同步操作的流程示意图;
[0039]图5是本发明实现线卡间快速表同步的装置较佳实施例的功能模块示意图。
[0040]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

【具体实施方式】
[0041]以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]参照图1,提出本发明实现线卡间快速表同步的方法一实施例。该实施例的实现线卡间快速表同步的方法包括以下步骤:
[0043]步骤S110、为线卡间创建单向的同步数据传输通道的环路;
[0044]以太网交换系统在启动时,就为相邻的线卡之间建立单向的同步数据传输通道,并最后形成一同步数据传输通道环路。本发明充分利用现有背板交换网或主控板交换网将同步数据流与业务数据流合并传输。由于交换网传输以太网包,因此所有的同步消息均以以太网包格式传输,而且该以太网包中定义了以下几个字段:
[0045]A: 1-添加表项,O-删除表项;
[0046]R:1_远端拒绝写入表项,O-远端同意写入表项;
[0047]RSV FLAG:保留比特,以后使用;
[0048]TABLE_ID:表号,其由系统的实际应用解释;
[0049]KEY和RESULT为表项的内容,其长度根据实际应用定义,由每个线卡根据TABLE_ID得到。
[0050]为保证该消息不被泄漏到外部互联网上,选择源MAC为01 80 C2 FF FF XX,其中XX为线卡的编号。通常网络设备均会将此源MAC地址视作非法并丢弃。为了区分同步数据流与业务数据流使用L2协议号AFAF。
[0051]参照图2,上述步骤SllO包括:
[0052]步骤S111、为每个线卡分配一标识;
[0053]步骤S112、分别在相邻的两线卡间建立单向的同步数据传输通道,并将首尾的两线卡之间也建立单向的同步数据传输通道,以形成所述单向的同步数据传输通道的环路。
[0054]具体地,为每个线卡分配一标识,例如线卡1、线卡2、线卡3…线卡η。然后在相邻的线卡之间建立单向的同步数据传输通道,用于传输两线卡的同步消息,最后在首尾的两线卡(线卡1、线卡η)建立单向的同步数据传输通道,如此就形成了单向环路,如图3所示。
[0055]步骤S120、任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
[0056]本发明实施例设计了一个简单的状态机使同步数据流占用的带宽最小。在解释状态机之前先定义的几种状态:
[0057]首先,定义了三种表项状态:
[0058]ADD:新添加的表项,添加同步操作尚未完成;
[0059]NORMAL:该表项添加同步操作完成;
[0060]DEL:待删除的表项,删除同步操作尚未完成;
[0061 ] REMOTE:该表项是从远端线卡学到的。
[0062]其次定义了两种消息类型:
[0063]本端消息:收到同步消息判断消息内的线卡编号与自身的线卡编号一致则为本端消息;
[0064]远端消息:收到同步消息判断消息内的线卡编号与自身的线卡编号不一致则为远端消息。
[0065]参照图4,上述步骤S120包括:
[0066]步骤S121、线卡在自身的快速表发生变化时,通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,该同步消息包括同步类型、线卡自身的标识及同步标识;所述同步类型包括添加或删除快速表;
[0067]当线卡检测到自身的快速表发生变化,例如添加或删除快速表时,则产生同步消息,并将其通过单向的同步数据传输通道的环路发送至下一线卡。该同步消息包括同步类型、线卡自身的标识及同步标识,且所述同步类型包括添加或删除快速表。若同步类型是添加快速表,则设置线卡状态为ADD状态,并设置同步标识Rbit为O ;若同步类型是删除快速表,则设置线卡状态为DEL状态。
[0068]步骤S122、下一线卡在接收到该同步消息时,判断同步消息内的线卡标识与自身的线卡标识是否一致,是则转入步骤S128 ;否则转入步骤S123 ;
[0069]下一线卡在接收到同步消息时,将判断是否接收到本端消息,即判断同步消息内的线卡标识与自身的线卡标识是否一致。例如由线卡I发出的同步消息,该同步消息经过单向的同步消息传输通道依次传递至线卡η后,线卡η后将同步消息传递至线卡1,此时线卡I将接收到自己发出的同步消息,表示该环路上所有的线卡均进行了同步操作,则可以结束同步操作。为了避免线卡间传输通道发生故障而造成长时间等待时,发出同步消息的线卡I可以设定一定时器,在该定时器到达而仍然没有收到自己发出的同步消息,则表示同步消息传输通道发生故障,此时可以选择继续发出同步消息,或者待故障恢复后再发出同步消息。
[0070]步骤S123、判断同步消息中的同步类型,若同步类型是删除快速表,则转入步骤S124 ;若同步类型是添加快速表,则转入步骤S125 ;
[0071]当下一线卡在接收到远端消息时,则判断其同步类型,并根据判断结果进行相应的同步操作。
[0072]步骤S124、删除同步消息中指定的快速表,并通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,并转入步骤S122 ;
[0073]若同步类型是删除快速表,则删除同步消息中所指定的快速表,并向下一线卡发出同步消息。
[0074]步骤S125、判断是否允许该添加快速表操作;是则转入步骤S127 ;否则转入步骤S126 ;
[0075]若同步类型是添加快速表,则先判断是否允许添加快速表操作。例如判断快速表的数目是否达到阈值,且当前接收同步消息的线卡标识是否小于当前发出同步消息的线卡标识。当快速表的数目达到阈值,且当前接收同步消息的线卡标识小于当前发出同步消息的线卡标识时,则判断不允许添加快速表操作;否则判断允许添加快速表操作。
[0076]步骤S126、将同步消息中同步标识设置为“拒绝添加快速表”;
[0077]若不允许添加快速表,则将同步标识Rbit置为I。
[0078]步骤S127、通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,并转入步骤S122 ;
[0079]步骤S128、判断同步消息中的同步类型,若同步类型是删除快速表,则转入步骤S129 ;若同步类型是添加快速表,则转入步骤S130 ;
[0080]当下一线卡在接收到本端消息时,则判断其同步类型,并根据判断结果进行相应的操作。
[0081]步骤S129、删除同步消息内指定的快速表,并丢弃同步消息;
[0082]若同步类型是删除快速表,则表示删除同步操作成功,因此删除同步消息内指定的快速表,同时删除快速表对应的定时器,并丢弃同步消息。
[0083]步骤S130、判断同步消息中的同步标识是否为“拒绝添加快速表”,是则转入步骤S131 ;否则转入步骤S132 ;
[0084]步骤S131、丢弃原同步消息,同时产生删除快速表类型的同步消息,并将其通过所述单向的同步数据传输通道的环路发送至下一线卡,并转入步骤S122;
[0085]步骤S132、丢弃同步消息。
[0086]本发明实施例通过在线卡间建立同步数据传输通道环路,使得同步消息可以在同步数据传输通道环路中进行传递,从而降低了主控板的处理负担;而且在一个有η块线卡的系统上每一次进行同步操作时,在不考虑超时重传的前提下在交换网上只需要η个包的交互即可完成,且一旦同步成功后,系统内便不会再有同步消息包。因此,本发明实施例实现的同步对带宽资源的消耗是极少的。
[0087]本发明实施例中对线卡数量不受限制,且可随意加删卡。添加线卡只需要将新卡插入已有的同步数据传输通道环路即可,删除也一样。
[0088]本发明利用传统的主控+线卡构架实现多线卡负荷分担的快速表同步,结合可编程器件的灵活与硬件转发器件的高速等特点在不需要额外硬件的前提下,降低了同步延迟,均分了同步操作带来的运算负担,同时又能保证同步可靠。
[0089]参照图5,提出本发明实现线卡间快速表同步的装置一实施例。该实施例中装置的应用场景为二层转发的MAC地址表多线卡同步,当然并不限定该应用场景,其他的也可参照实施。该实施例的实现线卡间快速表同步的装置包括:
[0090]主控板100,用于为线卡间创建单向的同步数据传输通道的环路;
[0091]线卡200,用于在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
[0092]其中线卡200的硬件处理单元为网络处理器,软件处理单元为普通CPU ;主控板100的硬件处理单元为交换芯片,软件处理单元为普通CPU。线卡的硬件处理单元与通过主控板交换芯片互联。
[0093]首先,主控板100的CPU为每个可用的线卡分配标识,并将所分配的标识通知所有线卡,同时配置线卡间同步数据传输通道。该通道可用通过配置交换芯片的重定向实现。匹配策略为源MAC:01 80 C2 FF FF XX ;二层协议号OxAFAF ;源端口号为线卡与交换芯片的内联口。重定向执行的动作为将同步消息的数据包传递至相邻线卡与交换芯片的内联口。
[0094]线卡200接收到所分配的标识后,将自身的标识与其他线卡的标识均写入网络处理器。每个线卡的网络处理器内均存在一张MAC地址表并在该表上进行重复扫描,即周期性的扫描MAC地址表内的所有表项并为每条表项生成一条消息发送给微码,该MAC地址表中的表项即为上述方法中的快速表。只要表项存在于MAC地址表中,携带该表项的消息就会周期性的发给微码,从而保证同步MAC地址同步的可靠性。此时,若微码收到一个未知源MAC的以太网包时,则将该MAC地址写入MAC地址表,并将其标记为ADD状态,同时启动添加同步操作。当MAC地址表中的某MAC地址需要被老化时将MAC地址标记为DEL状态并启动删除同步操作。整个同步过程与之前状态机描述一致且完全由微码实现,关于具体的同步操作请参照前面的方法描述,在此就不再赘述。
[0095]本发明实施例通过在线卡间建立同步数据传输通道环路,使得同步消息可以在同步数据传输通道环路中进行传递,从而降低了主控板的处理负担;而且在一个有η块线卡的系统上每一次进行同步操作时,在不考虑超时重传的前提下在交换网上只需要η个包的交互即可完成,且一旦同步成功后,系统内便不会再有同步消息包。因此,本发明实施例实现的同步对带宽资源的消耗是极少的。
[0096]本发明实施例中对线卡数量不受限制,且可随意加删卡。添加线卡只需要将新卡插入已有的同步数据传输通道环路即可,删除也一样。
[0097]本发明利用传统的主控+线卡构架实现多线卡负荷分担的快速表同步,结合可编程器件的灵活与硬件转发器件的高速等特点在不需要额外硬件的前提下,降低了同步延迟,均分了同步操作带来的运算负担,同时又能保证同步可靠。
[0098]以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1.一种实现线卡间快速表同步的方法,其特征在于,包括以下步骤: 为线卡间创建单向的同步数据传输通道的环路; 任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
2.根据权利要求1所述的实现线卡间快速表同步的方法,其特征在于,所述为线卡间创建单向的同步数据传输通道的环路包括: 为每个线卡分配一标识; 分别在相邻的两线卡间建立单向同步数据传输通道,并将首尾的两线卡之间也建立单向同步数据传输通道,以形成所述单向的同步数据传输通道的环路。
3.根据权利要求2所述的实现线卡间快速表同步的方法,其特征在于,所述任意线卡在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输包括: 线卡在自身的快速表发生变化时,通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,该同步消息包括同步类型、线卡自身的标识及同步标识;所述同步类型包括添加或删除快速表; 若同步类型是删 除快速表,则下一线卡在接收到该同步消息时,删除同步消息中指定的快速表,并通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息; 若同步类型是添加快速表,则下一线卡在接收到该同步消息时,将判断是否允许该添加快速表操作;是则通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;否则将同步消息中同步标识设置为“拒绝添加快速表”后,将该同步消息通过所述单向的同步数据传输通道的环路发送至下一线卡。
4.根据权利要求3所述的实现线卡间快速表同步的方法,其特征在于,所述判断是否允许添加快速表操作包括: 快速表的数目是否达到阈值,且当前接收同步消息的线卡标识是否小于当前发出同步消息的线卡标识。
5.根据权利要求3所述的实现线卡间快速表同步的方法,其特征在于,所述下一线卡在接收到该同步消息的同时还包括: 判断同步消息内的线卡标识与自身的线卡标识是否一致;是则结束同步操作并将所述同步消息删除,否则继续进行同步操作。
6.一种实现线卡间快速表同步的装置,其特征在于,包括: 主控板,为线卡间创建单向的同步数据传输通道的环路; 线卡,在快速表变化时将发出同步消息,且该同步消息通过所述单向的同步数据传输通道的环路在各线卡间依次传输,以进行同步操作;直到初始发出同步消息的线卡收到自身发出的同步消息时,则结束同步操作并将所述同步消息删除。
7.根据权利要求6所述的实现线卡间快速表同步的装置,其特征在于,所述主控板用于: 为每个线卡分配一标识; 分别在相邻的两线卡间建立单向同步数据传输通道,并将首尾的两线卡之间也建立单向同步数据传输通道,以形成所述单向的同步数据传输通道的环路。
8.根据权利要求7所述的实现线卡间快速表同步的装置,其特征在于,所述线卡用于: 线卡在自身的快速表发生变化时,通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息,该同步消息包括同步类型、线卡自身的标识及同步标识;所述同步类型包括添加或删除快速表; 若同步类型是删除快速表,则下一线卡在接收到该同步消息时,删除同步消息中指定的快速表,并通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息; 若同步类型是添加快速表,则下一线卡在接收到该同步消息时,将判断是否允许该添加快速表操作;是则通过所述单向的同步数据传输通道的环路向下一线卡发出同步消息;否则将同步消息中同步标识设置为“拒绝添加快速表”后,将该同步消息通过所述单向的同步数据传输通道的环路发送至下一线卡。
9.根据权利要求8所述的实现线卡间快速表同步的装置,其特征在于,所述线卡还用于: 判断快速表的数目是否达到阈值,且当前接收同步消息的线卡标识是否小于当前发出同步消息的线卡标识,以判断是否允许添加快速表操作。
10.根据权利要求8所述的实现线卡间快速表同步的装置,其特征在于,所述线卡还用于:在下一线卡在接收 到该同步消息的同时,还判断同步消息内的线卡标识与自身的线卡标识是否一致;是则结束同步操作并将所述同步消息删除,否则继续进行同步操作。
【文档编号】H04L7/00GK104052586SQ201310082149
【公开日】2014年9月17日 申请日期:2013年3月14日 优先权日:2013年3月14日
【发明者】黄治文 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1