变长数据包的异种网络交换系统及其方法以及采用信号环接口的地址表构成方法转让专利

申请号 : CN200610168249.9

文献号 : CN101001209B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 崔光淳朴永忠安洋槿郑光模

申请人 : 电子部品研究院

摘要 :

本发明公开一种用于变长数据包的异种网络交换的系统及其方法,以及采用信号环接口的地址表构成方法,更详细地讲,公开通过具有表示特定网络种类的网络设定值以及和自身连接的端口的端口编号信息的交换接口模块与切换数据包的交换芯片之间的串行通信的变长数据包的异种网络交换。所述系统包括:和至少两个网络分别连接、发送接收数据包的至少两个交换接口模块;从前期至少两个交换接口模块中的第1交换接口模块接收数据包,将该接收的数据包切换到前期至少两个交换接口模块中的第2交换接口模块的交换芯片;在该交换接口模块和该交换芯片之间传送该数据包的SERDES信道;在该换接口模块和该交换芯片之间传送端口编号的信号环信道。

权利要求 :

1.一种变长数据包的异种网络交换系统,包含:

至少两个交换接口模块,分别和至少两个网络连接,该两个交换接口模块通过交换芯片发送接收数据包,其中该交换接口模块通过信号环发送给交换芯片的数据包具有端口编号和网络设定值,且从交换芯片接收的数据包具有指示数据包的长度的交换包头;

交换芯片,用于使用从所述交换接口模块接收到的端口编号和网络设定值来配置地址表,并且用于从所述至少两个交换接口模块中的第1交换接口模块接收数据包,并且将该接收的数据包切换到所述至少两个交换接口模块中的第2交换接口模块;

SERDES信道,在所述交换接口模块和所述交换芯片之间传送所述数据包;以及信号环信道,在所述交换接口模块和所述交换芯片之间传送端口编号;

其中所述交换芯片包括:

地址表,存储与对应于所述端口编号的网络设定值相匹配的端口表以及与对应于所述网络设定值的端口编号相匹配的网络表;

信号环接口,在所述交换接口模块和所述地址表之间传送所述端口表;

SERDES块,在与所述交换接口模块之间发送接收所述数据包,并且在与交换块之间传送变换成并行数据的所述数据包;以及交换块,将所述数据包向对应于所述数据包的目标端口编号的所述SERDES块传送,其中所述交换块包括针对n个端口的n个输出队列,每个输出队列包括n个独立的FIFO;

其中所述交换接口模块利用从与自身连接的网络接收的数据包的数据大小信息,来封装所述数据包。

2.根据权利要求1所述的变长数据包的异种网络交换系统,其特征在于,还包括能够询问所述交换芯片的状态信息的寄存器。

3.根据权利要求1所述的变长数据包的异种网络交换系统,其特征在于,所述SERDES块包括:至少两个SERDES接口,为了与所述至少两个交换接口模块进行所述数据包的发送接收以及所述数据包的目标端口编号的接收,分别支持SERDES通信;

至少两个第1数据变换部,将从所述至少两个SERDES接口传送的串行数据变换成并行数据,将变换后的数据向所述交换块传送;以及至少两个第2数据变换部,将从所述交换块传送的并行数据变换成串行数据,将变换后的数据向所述至少两个SERDES接口传送。

4.根据权利要求1所述的变长数据包的异种网络交换系统,其特征在于,所述交换块包括:至少两个输入控制器,将所述数据包传送至与所述数据包的目标端口编号相对应的输出队列;

至少两个输出队列,传送并存储来自所述至少两个输入控制器的数据包;

至少两个调度表,从所述至少两个输出队列读取所述数据包,并将该数据包向与所述数据包的目标端口编号相对应的所述SERDES块传送。

5.根据权利要求4所述的变长数据包的异种网络交换系统,其特征在于,所述输入控制器比较所述输出队列的能够存储的数据大小和存储的数据包的数据大小,在该能够存储的数据大小比存储的所述数据包的数据大小更小时,丢弃存储的所述数据包。

6.根据权利要求4所述的变长数据包的异种网络交换系统,其特征在于,各个所述至少两个输出队列均具有和所述至少两个交换接口模块数量相同的FIFO存储部。

7.根据权利要求6所述的变长数据包的异种网络交换系统,其特征在于,所述数据包存储在和该数据包的输入端口编号相对应的FIFO存储部中而不进行转换。

8.根据权利要求4所述的变长数据包的异种网络交换系统,其特征在于,所述调度表将所述数据包从所述至少两个FIFO存储部以数据包单位输出。

9.一种变长数据包的异种网络交换方法,包含:

第1步骤,向交换接口模块请求端口编号和网络设定值;

第2步骤,从所述交换接口模块接收所述端口编号和所述网络设定值;

第3步骤,基于接收到的端口编号和网络设定值来构建端口表和网络表;

第4步骤,从至少两个交换接口模块中的第1交换接口模块接收数据包,并且交换芯片将指示数据包的长度的交换包头附在该数据包的前部;

第5步骤,将接收的所述数据包向交换块传送;

第6步骤,切换传送的所述数据包;以及

第7步骤,将切换的所述数据包向所述至少两个交换接口模块中的第2交换接口模块发送;

其中所述交换接口模块利用从和自身连接的网络接收的数据包的数据大小信息,来封装所述数据包。

10.根据权利要求9所述的变长数据包的异种网络交换方法,其特征在于,利用信号环执行所述第1步骤,利用SERDES通信执行所述第7步骤。

11.根据权利要求9所述的变长数据包的异种网络交换方法,其特征在于,所述第5步骤包括以下步骤:将接收的所述数据包变换成并行数据;以及

将变换的所述数据包向交换块传送。

12.根据权利要求9所述的变长数据包的异种网络交换方法,其特征在于,所述第6步骤包括以下步骤:将传送的所述数据包向至少两个输出队列中的、和所述数据包的目标端口编号相对应的输出队列传送的数据包传送步骤;

将所述数据包存储在输出队列的至少两个FIFO存储部中的、和所述数据包的输入端口编号相对应的FIFO存储部中的数据包存储步骤;以及以数据包单位输出存储的所述数据包的数据包输出步骤。

13.根据权利要求12所述的变长数据包的异种网络交换方法,其特征在于,所述数据包传送步骤比较所述输出队列的可以存储的数据大小和存储的数据包的数据大小,在该可以存储的数据大小比存储的所述数据包的数据大小更小时,丢弃存储的所述数据包。

14.根据权利要求9所述的变长数据包的异种网络交换方法,其特征在于,所述第7步骤包括以下步骤:从所述交换块接收切换后的所述数据包;

将接收的所述数据包变换成串行数据;以及

将变换的所述数据包通过SERDES通信向所述第2交换接口模块发送。

说明书 :

变长数据包的异种网络交换系统及其方法以及采用信号环

接口的地址表构成方法

技术领域

[0001] 本发明涉及一种用于变长数据包的异种网络交换系统及其方法,更详细地说,涉及通过具有表示特定的网络种类的网络设定值以及和自身连接的端口的端口编号信息的交换接口模块,和切换数据包的交换芯片之间的串行通信的变长数据包的异种网络交换。

背景技术

[0002] 目前,在家庭网络环境中,使用以太网、无线线路、IEEE1394、PLC、ZigBee、UWB、Bluetooth等各种各样的网络协议,今后,应当会开发较新的网络技术,在家庭网络环境中使用。
[0003] 在这样的环境中,家庭入口不仅需要能够适应各种各样的网络,而且为了在这些不同种类的网络之间相互数据通信,需要进行数据交换。此外,家庭网络服务融合了家庭娱乐、音频、视频、广播、通信,需要高速的数据处理和高速的交换方式。
[0004] 因此,为了家庭网络环境及服务,要求开发切换可用于家庭入口的不同种类网络数据的交换方法,和基于该交换方法设计的芯片结构。
[0005] 在以前的家庭入口中,主要采用的是,利用以太网交换芯片或者IP交换芯片的交换技术,和利用基于PC的PCI总线的数据交换方式。
[0006] 首先,利用以太网交换芯片的交换技术是在OSI-7分层结构中采用第二层数据连接层的地址的交换方式,主要用于实现基于以太网的家庭入口。
[0007] 关于其它的现有技术,在采用以太网交换芯片实现家庭入口时,给各网络接口分配以太网地址,在流入家庭入口的不同种类网络数据中添加以太网包头,在家庭入口的内部切换以太网数据的状态下工作。
[0008] 采用IP交换芯片的交换技术和以太网交换技术类似,是采用第三层地址即IP地址切换输入家庭入口的数据的方式,主要用在用于仅仅因特网这样的IP服务的家庭入口中。
[0009] 与将采用PCI总线的数据交换方式称为交换方式相比,采用总线的数据传送方式较常使用。
[0010] 但是,采用以太网交换芯片和IP交换芯片的交换技术主要是在家庭网络环境中采用基于IP的服务时使用,所以不适用于多种网络协议。
[0011] 而且,在处理输入交换芯片的数据时,为了以特定的字节大小(最大以太网数据包大小或者IP数据包大小)加工数据(流入交换芯片的数据大小比交换芯片处理的数据包单位小时,填充零位数据),存在下述问题,即不仅在交换芯片的内部没有有效地采用存储器资源,而且需要另外的数据处理时间。象这样处理的原因是,在交换芯片的内部写/读变长数据时,存储器的管理存在困难。
[0012] 因此,在存在多种网络协议的家庭网络环境中,每一协议采用的地址体系也不相同,而且数据的大小可变,所以在家庭入口中采用现有的交换芯片是不合适的。

发明内容

[0013] 因此,鉴于上述问题而提出本发明,目的在于,提供为了家庭网络环境和家庭网络服务,可以应用于家庭入口的用于变长异种网络数据的交换的交换系统及其方法。
[0014] 本发明的第一实施方式的变长数据包的异种网络交换系统包含:至少两个交换接口模块,分别和至少两个网络连接,发送接收数据包;交换芯片,从上述至少两个交换接口模块中的第1交换接口模块接收数据包,将该接收的数据包切换到上述至少两个交换接口模块中的第2交换接口模块;SERDES信道,在上述交换接口模块和上述交换芯片之间传送上述数据包;信号环信道,在上述交换接口模块和上述交换芯片之间传送端口编号。
[0015] 本发明的第二实施方式的采用信号环接口的地址表构成方法是,通过和具有端口编号及网络设定值的至少两个交换接口模块的通信,构成用于变长数据包的异种网络交换的地址表的方法,包含:请求上述端口编号及上述网络设定值的第1步骤;接收上述端口编号及上述网络设定值的第2步骤;基于接收的上述端口编号及上述网络设定值,构成端口表及网络表的第3步骤。
[0016] 本发明的第三实施方式的变长数据包的异种网络交换方法包含:第1步骤,从至少两个交换接口模块中的第1交换接口模块接收数据包;第2步骤,将接收的上述数据包向交换块传送;第3步骤,对传送的上述数据包进行切换;第4步骤,将切换后的上述数据包向上述至少两个交换接口模块中的第2交换接口模块发送。
[0017] 本说明书和权利要求中使用的用语和单词不应该解释为限定于通常的或者辞典中的含义,应该是发明人为了用最好的方法表示其发明,基于能够适当定义用语的含义的原则,解释为和本发明的技术思想对应的意义和含义。
[0018] 此次公开的实施方式全部都是示例性的,不应该认为是限制性的。本发明的范围不是由上述实施方式的说明示出,而是由权利要求的范围来表示,包含权利要求的范围及均等的意义和范围内的全部变更。
[0019] 因此,根据本发明,能够利用网络设定值相互交换不同形态的数据或者不同种类的网络数据,通过将表示数据包长度的交换包头赋予要传送的数据包并传送,能够容易地切换变长数据包,能够由FIFO构成交换芯片内部的存储器,容易地写数据包,而且因为知道数据包长度,所以能够容易地读取。
[0020] 而且,根据本发明,通过由相当于端口数目的各个FIFO构成交换芯片的输出队列,在每个输入端口分别存储输入交换芯片中的数据包,能够提供全网(full mesh)交换方式,而且通过构成并且活用地址表,交换芯片无需确认存在数据包的目的端口信息的特定包头,因此也可以交换具有不同包头结构的异种网络数据包。
[0021] 而且,本发明的交换芯片通过提供除端口之外具有相同结构的模块形式的结构,具有下述优点,即可以根据设计芯片时端口数量的增减,容易地改变设计。

附图说明

[0022] 图1是表示本发明的一种实施方式的变长数据包的异种网络交换系统的方框图。
[0023] 图2是表示本发明的一种实施方式的交换芯片的构造的方框图。
[0024] 图3是表示采用本发明的一种实施方式的交换芯片的网络设定的示意图。
[0025] 图4是表示本发明的一种实施方式的网络表的图表。
[0026] 图5是表示本发明的一种实施方式的端口表的图表。
[0027] 图6是本发明的一种实施方式的信号环接口的时间动作图。
[0028] 图7是表示本发明的一种实施方式的全网交换方式的示意图。
[0029] 图8是表示本发明的一种实施方式的FIFO的读/写方法的时间动作图。

具体实施方式

[0030] 以下,参照附图对本发明的最佳实施例进行详细说明。
[0031] 图1是表示本发明的一种实施方式的变长数据包的异种网络交换系统的方框图。参照图1,该交换系统具有:用于和特定网络的数据包发送接收的交换接口模块100,将从一个交换接口模块输入的数据包切换到和目的网络连接的其它交换接口模块的交换芯片
110。
[0032] 而且,本发明的交换系统具有:用于交换接口模块100和交换芯片110之间的数据交换的串化器/解串化器(SERDES,Serialization andDeserialization)信道120,和信号环信道130。
[0033] 交换接口模块100在将电源接入交换交换信息的交换系统后,设定和自身连接的交换端口编号以及表示自身具有的网络种类的特定值即网络设定值。该网络设定值也可以由用户和系统设计者任意定义并使用。
[0034] 而且,交换芯片110利用交换芯片110和交换接口模块100之间的信号环,收集在哪一个交换端口是否存在怎样的网络种类的接口卡的信息。此时,在交换芯片110请求该信息时,交换接口模块100将该设定的自身的交换端口编号及网络设定值告知交换芯片110。
[0035] 在发送数据包时,交换接口模块100以能够将输入数据包切换到目标端口的方式,实现将目标端口信息告知交换芯片110的功能。而且,交换芯片110以能够存储变长数据包的方式,实现仅仅将数据包的大小信息(交换包头)附在输入数据包的前部的功能。即将输入数据包作为用于交换操作的一种包头封装。
[0036] 在接收数据包时,交换接口模块100在从交换芯片110接收的数据包中,除去在前段表示数据包长度的上述交换包头,仅仅将数据包的剩余部分向自身的后段传送。
[0037] SERDES信道120利用高速串行通信协议的SERDES,支持交换接口模块100和交换芯片110之间的通信。通信连接时,SERDES信道120的接口是串行通信,所以能够减少交换接口模块100和交换芯片110之间的物理数据路径。
[0038] 信号环信道130是交换芯片通过信号环信号和信号环数据将管理在交换系统中初期设定并构成的交换端口编号的端口表和管理网络设定值的网络表告知各交换接口模块100的信道。
[0039] 图2是表示本发明的一种实施方式的交换芯片的结构的方框图。参照图1和图2,交换芯片110由SERDES接口241、特殊目的寄存器230、地址表220、信号环接口210、输入控制器251、控制FIFO的输出队列252和具备输出控制器的调度表253构成。
[0040] 首先,SERDES接口241是用于交换接口模块100和交换芯片110之间的数据发送接收的支持串行通信协议的SERDES的接口,在接收数据时,输入从交换接口模块100传送的串行数据,由第1数据变换部242变换为并行数据,向输入控制器251传送,在发送数据时,由第2数据变换部243将从输出控制器输入的并行数据变换成串行数据,向交换接口模块100传送。
[0041] 特殊目的寄存器230是可以询问交换芯片110的当前状态信息和地址表220的信息的寄存器的集合,可以通过和位于交换芯片110外部的CPU的接口询问。
[0042] 交换芯片110的状态信息表示在各个端口输入的数据包数量,输出的数据包数量以及各FIFO的数据存储状态(满,空,数据计数)。
[0043] 地址表220具有在各个端口构成的网络表和在各个网络设定值构成的端口表这两种表。
[0044] 作为一个实施例,在采用交换芯片110的交换系统的输入输出端口的数量为8个(用于表示端口数的位数为3位),用户设定的网络设定值为16个(用于表示网络设定值的位数是4位)时,如图3所示,用户能够在8个端口选择期望的16个网络接口中最大的8个,连接到任意端口上使用。
[0045] 在这样的条件下设定的网络表如图4所示,端口表如图5所示。
[0046] 如图4所示设定的网络表利用该端口编号作为索引,在询问在该端口连接怎样的网络时使用,如图5所示设定的端口表利用网络设定值作为索引,在询问该网络和交换芯片110的哪一个端口连接时使用。另一方面,在端口表中,N/A的含义是,该网络没有和交换端口连接。
[0047] 图6是本发明的信号环接口的时间动作图。参照图1~图6,信号环接口210利用和交换接口模块100之间的信号环询问端口编号及网络设定值,将收集的该端口编号及网络设定值的信息告知所有的交换接口模块100。
[0048] 在交换端口为n+1个时,首先,信号环接口210在连接到端口编号0至n的交换接口模块100中依次请求网络设定值(图2中的SigConfiReq[n:0]),交换接口模块100告知自身的网络设定值。此时,交换芯片110和交换接口模块100之间的数据发送接收通过信号环用的数据总线进行(图2中的SigBusData[m:0])。
[0049] 这样,利用在各个端口收集的网络设定值,构成网络表及端口表之后,通过信号环用的数据总线,和信号环用的数据时钟(图2中的SigBusClk)同步地将端口表的信息依次告知端口编号0至n的交换接口模块100。此时,以依次告知该端口表信息的方式,在该端口采用允许信号(图2中的SigConfInd[n:0]) 。
[0050] 如前所述,通过信号环接口210,将在特定的端口上连接特定网络的信息告知交换接口模块100,从而交换接口模块100能够判断输入的数据包的目标地址,改变到网络设定地址,向和该网络设定地址对应的端口传送数据。
[0051] 因此,在由SERDES信道120传送数据时,将和输入数据包的目标地址对应的端口编号告知交换芯片。
[0052] 输入控制器251分别存在于各个端口,在端口的个数为n个时,也存在n个输入控制器251。
[0053] 在通过交换芯片110的SERDES接口241传送数据包时,SERDES接口241将应该切换数据包的端口编号告知输入控制器251。此时,输入控制器251基于从SERDES接口241接收的该端口编号,将数据向该端口的输出队列252传送。
[0054] 而且,输入控制器251的其它功能是,提供输出队列252的尾部丢弃(taildrop)技术,比较输出队列252的残余数据大小(可存储空间)和输入的数据包的交换包头的数据大小,在该残余数据大小比该输入的数据包的大小更小,不能存储数据包的全部的场合下,除去该输入数据包(放弃)。
[0055] 输出队列252在各端口分别存在,在端口的个数为n的场合下,也存在n个输出队列252。
[0056] 在各个输出队列252中存在n个独立的FIFO,FIFO N-至-M的意思是,存储了在端口N被输入、在端口M被切换的数据包的FIFO。
[0057] 通过如上所述构成输出队列252,即使在n个端口同时输入数据包,也可以对数据包进行交换。而且,在逻辑上,如图7所示,提供已知性能最好的全网方式的交换技术。
[0058] 在端口数为n个时,因为在一个输出队列252中存在n个FIFO,所以调度表253实现的功能是,由调度表253的输出控制器一个一个地输出存储在n个FIFO中的数据包。
[0059] 在输出数据包时,能够利用存储在FIFO中的数据包的优先顺序或者各种各样的FIFO管理算法实现并输出调度表253。
[0060] 在调度表253为了输出数据包而读取(read)数据包时,如果由调度表253从n个FIFO中选择了任何一个,首先读出表示数据包大小的交换包头之后,读出交换包头的值即数据包的大小,则可以进行数据包单位的数据交换。
[0061] 图8是表示本发明的FIFO的读/写方法的时间动作图。参照图1至图8,交换接口模块100将要交换的数据包合并到与RXCLK同步的RXEN信号中,通过SERDES信道,随着RXDATA向交换芯片110传送。此时,交换接口模块100同时将目标端口信息告知交换芯片110。
[0062] 向目标端口的输出队列252传送的时钟、允许信号以及数据没有变换,保持不变地向FIFO的WRCLK、WREN及WRDATA传送,FIFO基于这些信息执行写操作。
[0063] 调度表253在读出并输出存储在FIFO中的数据包时(读取时),首先为了读取交换包头,在RDCLK的1个循环区间期间产生RDEN信号之后,产生数据包大小的RDEN信号,读出存储在FIFO中的数据包。
[0064] 在调度表253中读出的数据包再次赋予交换包头,作为TXCLK、TXEN及TXDATA信号,通过SERDES,向目标端口的交换接口模块100传送。
[0065] 上面对本发明的最佳实施方式进行了说明,但本领域技术人员可以在不脱离本发明的权利要求的范围的情况下作出各种改变。