CN103188174B - Atm多业务接入交换机中线速处理信元的方法和装置 - Google Patents
Atm多业务接入交换机中线速处理信元的方法和装置 Download PDFInfo
- Publication number
- CN103188174B CN103188174B CN201110459962.XA CN201110459962A CN103188174B CN 103188174 B CN103188174 B CN 103188174B CN 201110459962 A CN201110459962 A CN 201110459962A CN 103188174 B CN103188174 B CN 103188174B
- Authority
- CN
- China
- Prior art keywords
- vpi
- vci
- state machine
- cell
- fifo queue
- 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.)
- Active
Links
Abstract
本发明涉及一种ATM多业务接入交换机中线速处理信元的方法和装置,装置基于FPGA实现,包括入进转换VPI/VCI状态机与外出转换VPI/VCI状态机;每个物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列;入进转换VPI/VCI状态机从不为空的入进接收FIFO队列中读取信元,并将经转换后的信元写入入进发送FIFO队列;外出转换VPI/VCI状态机从不为空的外出接收FIFO队列中读取信元,并将经转换后的信元写入外出发送FIFO队列。使用本发明的ATM交换机能够线速处理信元,提供数据的处理速率和吞吐量。
Description
技术领域
本发明涉及一种在ATM多业务接入交换机中线速处理信元的方法和装置,属于ATM交换技术领域。
背景技术
ATM多业务接入交换机主要由交换芯片和成帧芯片组成,以实现各个业务子卡和ATM上联端口之间ATM信元的交换。实际应用中,交换芯片存在以下限制条件:若交换芯片支持的逻辑端口数为PID,其占用位宽为NPID,VPI占用位宽为NVPI,VCI占用位宽为NVCI,则需满足:NPID+NVPI+NVCI=16bit,比如,交换芯片支持30个逻辑端口,就要有5bit用于端口基地址,而NVPI+NVCI仅剩余11bit。可见,上联口建虚路径连接VPC和虚信道连接VCC可用的虚路径标志VPI与虚信道标志VCI数值较小,无法满足用户任意配置的需要。同时ATM协议中有规定:在用户网络接口(UNI,User Network Interface)模式下VPI占用8bit,VCI占用16bit;在网络节点接口(NNI,Network Node Interface)模式下VPI占用12bit,VCI占用16bit。
通常,用户组建ATM网络时都希望在ATM协议允许的范围内任意配置VPI与VCI,但由于上述交换芯片的限制条件要求VPI与VCI二者的位宽之和等于16-NPID而小于16bit,所以交换芯片只能识别出数值较小的VPI和VCI。这样,当用户配置时输入的VPI和VCI值较大时,就无法建立连接。以一个155M的上联口下挂20个DSLAM为例,需要在上联口建立至少20条VPC与20条VCC,如果用户使用的VCI编号从100开始,VCI的位数需要7位(由于27=128>100),而由于交换芯片支持的VPI与VCI的位数总和为11位,所以留给VPI的位数仅剩4位,即最大只能建16条VPC,更加严重的是,如果此时用户配置的VPI值大于16,那么一条VPC也不能建立,显然这无法满足业务开展的需要。
为解决上述问题,可在外部VPI/VCI(用户从上联口输入的符合ATM协议的VPI/VCI)和内部VPI/VCI(交换芯片能识别的VPI/VCI)之间建立某种映射关系,以进行相互转换。现有的一些VPI/VCI转换方法存在以下不足:
1)仅从外部VPI/VCI转换到内部VPI/VCI,没有进行双向转换。
2)通过某种运算关系获得的映射关系固定。比如外部VPI占用12bit,外部VCI占用16bit,假设逻辑端口数占用5bit,内部VPI占用3bit,内部VCI占用8bit,则利用取余函数mod(*)获得的映射关系为:内部VPI=mod(外部VPI/23),内部VCI=mod(外部VCI/28)。这种映射关系使得从外部VPI/VCI到内部VPI/VCI的映射为多到1的映射,而从内部VPI/VCI到外部VPI/VCI的映射就是1到多的映射,实际转换时不知如何选择。
3)VPI/VCI割裂开进行映射导致外部VPI/VCI不能真正的实现任意配置。例如,假设内部VPI占用3bit,内部VCI占用8bit,以内部VPI=外部VPI=1,内部VCI=外部VCI=0~255建立了256条连接,此时若要重新开辟一个VPI通道,如外部VPI=2,则外部VCI也只能用先前已经映射过的256个外部VCI中的一个,用户还是不能任意配置VCI。
4)只考虑了建VCC的情况,没有考虑建VPC的情况。
5)没有考虑多个端口的内部VPI/VCI和外部VPI/VCI的映射。
6)没有考虑到交换芯片的NPID、NVPI、NVCI是可配置可改变的情况。
另外,用户希望所使用的ATM多业务接入交换机性能足够高,即ATM交换机对接收到的信元能够尽快地得到处理并转发出去,而尽量避免排队现象。
发明内容
有鉴于上述原因,本发明的目的在于提供一种ATM多业务接入交换机中线速处理信元的方法和装置,能够提高数据的处理速率和吞吐量。
为实现上述目的,本发明采用以下技术方案:
一种ATM多业务接入交换机中线速处理信元的装置,基于FPGA实现,装置上设有若干物理端口,FPGA的第一数据输入/输出端与交换芯片连接,第二数据输入/输出端与成帧芯片连接,该装置包括:
入进转换VPI/VCI状态机与外出转换VPI/VCI状态机;
每个所述物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列;
该入进转换VPI/VCI状态机从不为空的该入进接收FIFO队列中读取信元,并将该信元经处理后写入该入进发送FIFO队列;该外出转换VPI/VCI状态机从不为空的该外出接收FIFO队列中读取信元,并将该信元经转换后写入该外出发送FIFO队列。
FPGA的第一数据输入/输出端通过交换芯片接口模块与交换芯片连接,第二数据输入/输出端通过成帧芯片接口模块与成帧芯片连接;第三数据输入/输出端通过CAM接口模块与CAM连接,该CAM中存储有内部VPI/VCI和外部VPI/VCI一一对应关系的映射表;第四数据输入/输出端通过CPU接口模块与CPU连接。
所述入进转换VPI/VCI状态机根据端口的数目包括0端口入进转换VPI/VCI子状态机,1端口入进转换VPI/VCI子状态机,……,n端口入进转换VPI/VCI子状态机;所述外出转换VPI/VCI状态机根据端口的数目包括0端口外出转换VPI/VCI子状态机,1端口外出转换VPI/VCI子状态机,……,n端口外出转换VPI/VCI子状态机。
所述CPU中还设有软件更新表项状态机,该状态机用于更新所述CAM中存储的映射表。
该装置还包括仲裁模块,该仲裁模块用于判断所述n端口入进转换VPI/VCI子状态机、所述n端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级。
所述0端口入进转换VPI/VCI子状态机、所述0端口外出转换VPI/VCI子状态机、所述1端口入进转换VPI/VCI子状态机、所述1端口外出转换VPI/VCI子状态机……所述n端口入进转换VPI/VCI子状态机、所述n端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级从高到低依次排列。
一种基于权利要求1至6中任意一项所述装置实现的ATM多业务接入交换机中线速处理信元的方法,其特征在于:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述外出发送FIFO队列中。
进一步地:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述入进转换VPI/VCI状态机写入所述入进发送FIFO队列中,最后所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读取出该信元的原始负载并将该原始负载写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述外出转换VPI/VCI状态机写入所述外出发送FIFO队列中,最后所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的原始负载并写入所述外出发送FIFO队列中。
本发明的优点在于:
1)入进/外出转换VPI/VCI状态机与入进/外出接收/发送FIFO队列的配合工作使得装置能够线速处理信元,大大地提高了数据处理速率及数据吞吐量。
2)通过在CAM中建立内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,由FPGA查找该映射表进行内部VPI/VCI和外部VPI/VCI之间的相互转换,以较低的成本有效地解决了用户在使用ATM多业务接入交换机时VPI/VCI受限的问题,使用户可以在ATM协议允许范围内任意的配置VPI和VCI,方便了ATM网络的构建和管理。
3)根据用户建连接的情况,可动态建立和维护内部VPI/VCI和外部VPI/VCI一一对应关系的映射表,避免了预存静态映射关系表带来的CAM资源紧张的问题,降低了对CAM容量的要求,从而降低了成本。
4)内部VPI/VCI和外部VPI/VCI的对应关系是随机生成的,这种映射方法是根据所建连接的种类(VPC或VCC)给外部VPI/VCI分配内部VPI/VCI,保证了映射关系的一一对应,使得内部VPI/VCI和外部VPI/VCI可进行双向转换。
5)适用于多个物理端口的VPI/VCI的转换。
6)适用于交换芯片的NPID、NVPI、NVCI可配置可改变的情况;
附图说明
图1为本发明装置的一具体实施例的结构示意图;
图2为本发明中内部VPI/VCI与外部VPI/VCI建立、删除映射关系及相互转换的流程示意图;
图3为本发明的映射方法流程图;
具体实施方式
以下结合附图和实施例对本发明作进一步详细的说明。
为使说明更加清楚明了,附图中相同的元件使用相同的标号标识。
图1为本发明装置的一具体实施例的结构示意图。如图所示,本发明的ATM多业务接入交换机中线速处理信元的装置1是基于FPGA实现的。其中,FPGA的第一数据输入/输出端通过交换芯片接口模块6与交换芯片2连接,第二数据输入/输出端通过成帧芯片接口模块7与成帧芯片3连接,该交换芯片接口模块6和成帧芯片接口模块7用于完成ATM信元在交换芯片2和成帧芯片3之间的交换。FPGA的第三数据输入/输出端通过内容可寻址寄存器CAM(content addressable memory)接口模块8与CAM 4连接,在该CAM 4中存储有内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,FPGA的第四数据输入/输出端通过CPU接口模块9与CPU5连接,用于建立和维护该存储于CAM中的映射表。本发明的装置上设有若干物理端口。
利用图1所示装置实现VPI/VCI转换的方法为:经由成帧芯片3输入的携带外部VPI/VCI的ATM信元,先经FPGA查询所述的内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,然后FPGA将该ATM信元转换为携带相应的内部VPI/VCI的ATM信元后交由交换芯片2处理;而由交换芯片2输入的携带内部VPI/VCI的ATM信元,先经FPGA查询所述的内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,然后FPGA将该ATM信元转换为携带相应的外部VPI/VCI的ATM信元后交由成帧芯片3处理。
具体的说:上联端口经由成帧芯片3输入的携带外部VPI/VCI的ATM信元,先由FPGA从该ATM信元的信元头中提取出外部VPI/VCI,然后根据该外部VPI/VCI查询存储于CAM中的内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,以获取对应的内部VPI/VCI,找到后FPGA将原有的外部VPI/VCI转换为该获取到的对应的内部VPI/VCI后生成新的信元头,FPGA将该新的信元头与原有ATM信元的负载部分组合生成新的ATM信元后交由交换芯片2处理;
而由交换芯片2处理后输入的携带内部VPI/VCI的ATM信元同样先由FPGA从该信元的信元头中提取出内部VPI/VCI,然后根据该内部VPI/VCI查询存储于CAM中的内部VPI/VCI与外部VPI/VCI一一对应关系的映射表,以获取对应的外部VPI/VCI,找到后FPGA将原有的内部VPI/VCI转换为该对应的外部VPI/VCI后生成新的信元头,FPGA将该新的信元头与原有ATM信元的负载部分组合生成新的ATM信元后经由成帧芯片3发送至上联端口。
图2为本发明内部VPI/VCI与外部VPI/VCI映射关系建立、删除及相互转换的流程示意图,图中的CAM 4中存储有内部VPI/VCI和外部VPI/VCI一一对应关系的映射表。
如图所示,内部VPI/VCI和外部VPI/VCI相互转换的过程为:
20:FPGA收到成帧芯片3发来的信元后,提取出信元头中的外部VPI/VCI;
21:FPGA查询CAM中存储的映射表,将外部VPI或VPI/VCI转换为对应的内部VPI或VPI/VCI;
若连接是VPC,则内部VPI和外部VPI单独映射,只需进行内部VPI和外部VPI的相互转换,此处只需将外部VPI转换为对应的内部VPI,VCI保持不变;
若连接是VCC,则内部VPI与VCI和外部VPI与VCI捆绑起来映射,需要同时进行内部VPI与VCI和外部VPI与VCI的相互转换,此处需同时将外部VPI与VCI转换为对应的内部VPI与VCI。
22:FPGA将转换后的信元发送给交换芯片2。
步骤21中信元头中的外部VPI或VPI/VCI转换为对应的内部VPI或VPI/VCI后,FPGA将经转换后的携带内部VPI或VPI/VCI的信元头部与原有信元的负载部分组合生成新的信元,并将该新的信元发送至交换芯片2。
23:FPGA收到由交换芯片2发来的信元,提取出信元头中的内部VPI/VCI;
24:FPGA查询CAM中存储的映射表,将内部VPI或VPI/VCI转换为对应的外部VPI或VPI/VCI;
若连接是VPC,只需将内部VPI转换为对应的外部VPI,VCI保持原样;若连接是VCC,需同时将内部VPI与VCI转换为对应的外部VPI与VCI。
25:将转换后的信元发送给成帧芯片3。
步骤24中信元头中的内部VPI或VPI/VCI转换为对应的外部VPI或VPI/VCI后,FPGA将经转换后的携带外部VPI或VPI/VCI的信元头部与原有信元的负载部分组合生成新的信元,并将该新的信元发送至成帧芯片3。
如图所示,内部VPI/VCI与外部VPI/VCI映射关系建立的过程为:
200:未建连接;
210:用户欲建立连接;
此时,用户需要输入:欲建连接VPC或是VCC以及不同端口对应的VPI、VCI。
220:首先判断当前已建连接数是否已达最大连接数,若是则此时无法再建立新的连接返回步骤200,若否则执行步骤230;
需要注意的是,虽然通过本发明可以实现ATM协议允许范围内用户任意的配置VPI和VCI,但是总的连接数是保持不变的。
230:判断连接是VPC还是VCC,若是VPC则执行步骤240,若是VCC则执行步骤241;
240:判断该端口该VPI是否已被占用,若已被占用则返回步骤200,若未被占用则执行步骤250;
即,要判断用户所配置的端口和输入的VPI是否已被占用。
250:软件在内存中建连接,分配内部VPI,并在CAM 4中存储的映射表中添加相应的VPI表项。
CAM中存储的映射表的数据格式如下(以端口0和端口1为例):
本实施例中的CAM为通用CAM芯片,8K的深度可以满足两个上联端口,每个端口最多4K条连接,支持级联扩展深度。数据总线宽度32bit,除数据线外还设有专门的地址/控制输入总线(AC Bus,13bit)和匹配结果输出总线(AABus,13bit),处理速度更快,数据吞吐量更高。
如上表所示,所述映射表包括CAM地址(12~0bit)和CAM内容(63~0bit),64bit的CAM内容作为利用外部VPI/VCI查找所述映射表以获取内部VPI/VCI的索引,通过屏蔽寄存器可对该64bit逐位进行屏蔽:屏蔽寄存器的某位为1表示需要屏蔽该位;若为0则不屏蔽该位。13bit的CAM地址作为利用内部VPI/VCI查找所述映射表以获取外部VPI/VCI的索引。
64bit索引中使用低30bit其它位保留,低30bit中15~0bit存放外部VCI,27~16bit存放外部VPI,第28bit存放端口号,第29bit存放VPC标志位,如果连接是VPC,该VPC标志位为1,如果连接是VCC,该VPC标志位为0。当已知外部VPI/VCI,欲查询内部VPI/VCI时,使用该64bit索引查找CAM中存储的所述映射表。具体地说:若连接是VPC,索引由1&端口号&外部VPI&0x0构成,即第29bitVPC标志位为1,第28bit端口号和27~16bit外部VPI就是用户输入的值,对于连接VPC,15~0bit外部VCI忽略用户输入的外部VCI值,恒为0x0;若连接是VCC,索引由0&端口号&外部VPI&外部VCI构成,即第29bitVPC标志位为0,第28bit端口号、27~16bit外部VPI及15~0bit外部VCI就是用户输入的值。这里要强调一点,如果连接是VPC,仅需关注VPI而无需关心VCI,此时,外部VCI和内部VCI在所述映射表中都设置成0x0。
CAM地址(12~0bit)用于存放端口号、内部VPI及内部VCI。当已知内部VPI/VCI,欲查询外部VPI/VCI时,需读该CAM地址,具体地说:若连接是VPC,用端口号&内部VPI&0x0组成CAM地址,若连接是VCC,用端口号&内部VPI&内部VCI组成CAM地址,同时读出CAM芯片专用的VB信号(该信号用于指示表项是否有效),如果该VB信号为1,说明该地址对应存储的表项有效,如果该VB信号为0,说明该地址对应存储的表项无效。本实施例中只有两个端口:端口0和端口1,该两个端口各自的内部VPI位宽分别为nvpi和NVPI,各自的内部VCI位宽分别为nvci和NVCI,即各端口的VPI/VCI的位宽可设成不同的值。
用户欲建立连接VPC时,需输入端口号和VPI/VCI,及所建连接为VPC,软件接收到上述数据后,先用索引(端口号&外部VPI)配合屏蔽寄存器查询CAM中存储的映射表以确定该输入的VPI是否被某VPC或VCC占用。若有匹配项,说明该VPI已被占用,此VPC不允许建立;若无匹配项,说明没有连接用过此VPI,软件给该外部VPI分配内部VPI,并向CAM地址(端口号&内部VPI&0x0)写入添加的表项,表项内容为:VPC置1,端口和外部VPI分别对应用户输入的值,外部VCI写入0x0,并将VB信号置1以表示该表项有效,到此完成了添加VPC的工作。
例如,若用户设置的npid为5,nvpi为3,nvci为8。用户输入端口号为0,外部VPI为3,外部VCI为1,所建连接为VPC。软件接收到上述数据后,先用索引0b0000000000011配合屏蔽寄存器0xFFFFFFFFD000FFFF查询CAM中存储的映射表以确定该输入的VPI是否被某VPC或VCC占用。若有匹配项,说明该VPI已被占用,此VPC不允许建立;若无匹配项,软件给该外部VPI分配内部VPI假设为7,并向CAM地址0b011100000000写入添加的表项:0x0000000020030000,并将该表项对应的VB信号置1,即完成了添加该条VPC的工作。
241:判断该端口该VPI是否已被某条VPC占用,若已被占用则返回步骤200,若未被占用则执行步骤251;
即,要判断用户所配置的端口和输入的VPI是否已被VPC占用。
251:判断该端口该VPI/VCI是否已被某VCC占用,若已被占用则返回步骤200,若未被占用则执行步骤261;
即,要判断所配置的端口和输入的VPI/VCI是否已被某VCC占用。
261:软件在内存中建连接,分配内部VPI/VCI,并在CAM 4中存储的映射表中添加相应的VPI/VCI表项。
用户欲建立连接VCC时,需输入VPI/VCI,及所建连接为VCC,软件接收到上述数据后,先用索引(1&端口号&外部VPI&0x0)查CAM中存储的映射表以确定该输入的VPI是否被某VPC占用。若有匹配项,说明VPI已被某VPC占用,此VCC不允许建立;若无匹配项,说明没有VPC用过此VPI,软件再用索引(0&端口号&外部VPI&外部VCI)查该映射表,若有匹配项,说明VPI/VCI已被用过,此连接不允许建立;若没匹配项,软件给该外部VPI/VCI分配内部VPI/VCI,并向CAM地址(端口号&内部VPI&内部VCI)写入添加的表项,表项内容为:VPC置0,端口和外部VPI/VCI分别对应用户输入的值,并将该表项对应的VB信号置1,即完成了添加该条VCC的工作。
例如,若用户设置的npid为5,nvpi为3,nvci为8,即用户输入端口号为0,外部VPI为3,外部VCI为1,所建连接为VCC。软件接收到上述数据后,先用索引0x20030000查询CAM中存储的映射表以确定该输入的VPI是否被某VPC占用。若有匹配项,说明VPI已被某VPC占用,此VCC不允许建立;若无匹配项,说明没有VPC用过此VPI,软件再用索引0x00030001查该映射表,若有匹配项,说明VPI/VCI已被用过,此连接不允许建立;若没匹配项,软件给该外部VPI/VCI分配内部VPI/VCI假设为7/2,并向CAM地址0b011100000010写入添加的表项:0x0000000000030001,并将该表项对应的VB信号置1,即完成了添加该条VCC的工作。
如图所示,内部VPI/VCI与外部VPI/VCI映射关系删除的过程为:
270:用户删除某连接;
280:判断删除的是VPC还是VCC,若是VPC则执行步骤290,若是VCC则执行步骤291;
290:软件在内存中删除该连接,并查询CAM 4中存储的映射表,并删除相应的VPI表项。
即,查询CAM中存储的映射表,根据用户欲删除的VPC对应的外部VPI删除相应的VPI表项。
291:软件在内存中删除该连接,并查询CAM 5中存储的映射表,并删除相应的VPI/VCI表项。
即,查询CAM中存储的映射表,根据用户欲删除的VCC对应的外部VPI/VCI删除相应的VPI/VCI表项。
用户删除连接时,若是VPC,先用索引(1&端口号&外部VPI&0x0)查CAM中存储的映射表以找到匹配的VPI表项,再通过将VB信号置0将匹配项的有效位复位;若是VCC,则先用索引(0&端口号&外部VPI&外部VCI)查CAM中存储的映射表以找到匹配的VPI/VCI项,再通过将VB信号置0将匹配项的有效位复位。
例如,用户删除一个VPC,该VPC的端口为0,外部VPI为3,先用索引0x20030000查CAM中存储的映射表以找到匹配的VPI表项,再将该匹配项对应的VB信号置0即删掉该表项。用户删除一个VCC,该VCC的端口为0,外部VPI/VCI为3/1,则先用索引0x00030001查找CAM中存储的映射表以找到匹配的VPI/VCI项,再将该匹配项对应的VB信号置0即删掉该表项。
为了保证内部VPI/VCI与外部VPI/VCI之间是一一对应的关系,所述映射表中内部VPI/VCI和外部VPI/VCI的对应关系是随机生成的,准确的说,内部VPI/VCI是根据连接类型和外部VPI/VCI随机分配的。具体的说,首先需要设置一个存放有待分配的内部VPI的VPI-FIFO队列,及若干存放有待分配的内部VCI的VCI-FIFO队列,且满足每个该VCI-FIFO队列对应一个该内部VPI;用户建连接时,若连接是VPC,则根据外部VPI从VPI-FIFO队列中读取数值以分配到对应的内部VPI;若连接是VCC,则根据外部VPI从VPI-FIFO队列中读取数值以分配到对应的内部VPI,再从该对应的内部VPI所对应的VCI-FIFO队列中读取数值以分配到对应的内部VCI。图3为本发明的映射方法流程图。如图所示,
建立连接时:
300:用户设置NPID、NVPI及NVCI;
用户建连接时,需要输入如下信息:所建连接是VPC还是VCC;某个端口的VPI/VCI,比如A端口(假设为上联端口0)的VPI/VCI,B端口(假设为上联端口1)的VPI/VCI。
310:初始化;
具体为:软件设计1个VPI-FIFO队列和2NVPI个VCI-FIFO队列。其中,VPI-FIFO队列中写入2NVPI个数,大小从0到2NVPI-1,作为可分配的内部VPI;VCI-FIFO队列中写入2NVCI个数,大小从0到2NVCI-1,作为可分配的内部VCI,且需满足每个VCI-FIFO队列对应一个VPI;同时,设置变量NUM用于统计VPI-FIFO队列中VPI的个数,设置变量NUMVPI用于统计VPI对应的VCI-FIFO队列中VCI的个数,以及设置寄存器VCCuseVPI。
320:未建连接;
330:判断所建连接为VPC还是VCC,若是VPC则执行步骤340,若是VCC则执行步骤341;
340:判断NUM值是否为0,若NUM等于0则返回步骤320,若NUM不等于0则执行步骤350;
350:读VPI-FIFO队列,用读取到的数值作为此次分配的内部VPI,同时NUM值减1。
341:判断寄存器VCCuseVPI是否有效,若无效则执行步骤351,若有效则执行步骤352;
即,读取寄存器VCCuseVPI的有效位,若有效位置位表示有效,若有效位为0表示无效。
351:判断NUM值是否为0,若NUM等于0则返回步骤320,若NUM不等于0,则执行步骤361;
361:读VPI-FIFO队列,用读取到的数值作为此次分配的内部VPI,并将该数值写入寄存器VCCuseVPI,该寄存器有效位置位,同时NUM值减1;
371:读步骤361中取得的内部VPI对应的VCI-FIFO队列,用读到的数值作为此次分配的内部VCI,同时将NUMVPI值减1。
352:读取寄存器VCCuseVPI中保存的VPI值作为此次分配的内部VPI;
362:读步骤352中取得的内部VPI对应的VCI-FIFO队列,用读取到的数值作为此次分配的内部VCI,同时NUMVPI值减1;
372:判断NUMVPI值是否为0,若为0则执行步骤382;
382:复位寄存器VCCuseVPI的有效位,即将该位置0。
删除连接时:
390:用户删除连接;
400:判断删除的连接是VPC还是VCC,若是VPC则执行步骤410,若是VCC则执行步骤411;
410:将该删除的VPC对应的内部VPI值写入VPI-FIFO队列,同时NUM值加1。
411:将该删除的VCC对应的内部VCI值写入对应的内部VPI所对应的VCI-FIFO队列,同时NUMVPI值加1;
421:判断NUMVPI值是否等于2NVCI,若等于则执行步骤431;
431:将该删除的VCC对应的内部VPI值写入VPI-FIFO队列,同时变量NUM值加1,并复位寄存器VCCuseVPI的有效位,即将该位置0。
如此一来,当连接是VPC时,通过读VPI-FIFO队列可获取内部VPI,即对于VPC,内部VPI和外部VPI单独作映射;当连接是VCC时,通过先读VPI-FIFO获取内部VPI,再读该内部VPI对应的VCI-FIFO队列以获取对应的内部VCI,并将该内部VPI用寄存器VCCuseVPI记录下来以供下个连接VCC分配VCI使用,即对于VCC,则内部VPI与VCI和外部VPI与VCI捆绑起来作映射。上述过程实现了根据连接类型VPI和VCI的随机分配,以及内部VPI/VCI和外部VPI/VCI的一一对应。
需要注意的是,上述VPI-FIFO队列和VCI-FIFO队列的大小不是无限的,而是受到NVPI和NVCI的制约,即用户虽然可任意配置NVPI和NVCI,但前提条件是在ATM协议允许的范围内,而且,无论内部VPI/VCI和外部VPI/VCI是否建立映射关系,交换机设备所支持的总的连接数保持不变。
以背景技术中提到的连接受限实际示例来说,若上联端口需要建20条VPC与20条VCC,此时该端口支持的VPI与VCI的bit数总和为11,用户使用的VCI从100开始。首先要保证能建20条VPC,这样VPI的bit数分配为5(25=32>20),VCI的bit数就为6。20条VPC建立后还剩25-20=12个VPI可用于建VCC,理论上用户共可建12×26=768条VCC。假如对内部VPI/VCI和外部VPI/VCI不进行映射和转换,则用户建连接时输入的VPI数值必须小于32,输入的VCI数值必须小于64,并且在建了20条VPC后再建VCC,只能用12个VPI,每个VPI最多64个VCI来组合VPI/VCI,用户使用的VCI想要从100开始根本是不可能的。而通过本发明的方法和装置,由FPGA将外部VPI/VCI转换为内部VPI/VCI,且二者一一对应,用户建连接时不再受VPI数值小于32,VCI数值小于64的限制,可以在ATM协议允许范围内任意设定,同时,用户建VCC时也不受12个VPI,每个VPI最多64个VCI的限制,因为用户任意配置的768个相异的外部VPI/VCI组合会被映射成交换芯片可以识别的12个内部VPI,每个VPI最多64个内部VCI的组合,如以下表格所示。
外部VPI(8bit) | 外部VCI(16bit) | 内部VPI(5bit) | 内部VCI(6bit) |
200(VPC) | 0 | ||
201(VPC) | 1 | ||
... | ... | ||
219(VPC) | 19 | ||
0~63 | 100 | 20 | 0~63 |
64~127 | 100 | 21 | 0~63 |
128 | 200~263 | 22 | 0~63 |
128 | 264~327 | 23 | 0~63 |
128 | 100 | 24 | 0 |
... | ... | ... | ... |
如图1所示,为了实现FPGA能够线速处理信元,即在下一个信元到来前完成当前信元VPI/VCI的查映射表及转换工作,本发明的装置,于每个物理端口的信元进方向设置了入进接收FIFO队列10和入进发送FIFO队列11,信元出方向设置了外出接收FIFO队列13和外出发送FIFO队列12,用于实现状态机控制的信元的线速存储转发;FPGA中还设置了入进转换VPI/VCI状态机14和外出转换VPI/VCI状态机15以配合上述各FIFO队列对信元的线速存储转发。
以图1所示具体实施例中两个物理端口为例,信元由成帧芯片3进入FPGA后,先分别存于端口0和端口1的入进接收FIFO队列10中,然后FPGA从入进接收FIFO队列10中读出该信元的信元头,得到该信元的外部VPI和VCI;之后,利用索引(1&端口号&外部VPI&0x0)查询CAM 4中存储的映射表,若有匹配的表项,说明是VPC,根据该匹配的表项在CAM 4中的地址(CAM的AA Bus输出的数据)提取出对应的内部VPI,用该内部VPI更换信元头中的外部VPI;若无匹配的表项,再用索引(0&端口号&外部VPI&外部VCI)重新查询CAM 4中存储的映射表,若有匹配的表项,说明是VCC,根据该匹配的表项在CAM 4中的地址(CAM的AA Bus输出的数据)提取出对应的内部VPI/VCI,用该内部VPI/VCI更换信元头中的外部VPI/VCI,若无匹配的表项,则丢弃该信元。
FPGA将更换过VPI/VCI(外部VPI/VCI转换为内部VPI/VCI)的信元头和从入进接收FIFO队列10中读出的原有信元的负载部分组合生成新的信元写入入进发送FIFO队列11中,待交换芯片2轮询端口0和端口1时,就把该经过转换的新的信元发送到交换芯片2进行交换。
同样,在信元由交换芯片2交换到成帧芯片3的端口0和端口1前,先进入FPGA,将内部VPI/VCI转换为外部VPI/VCI后再送到成帧芯片3。但要注意的是,此时,FPGA转换VPI/VCI的过程与前述查映射表及转换的过程有所不同。具体为:
信元经交换芯片2进入FPGA,分别存于端口0和端口1的外出接收FIFO队列13中,然后FPGA从外出接收FIFO队列13中读取出该信元的信元头,以得到该信元的内部VPI/VCI;
之后,FPGA访问CAM地址(端口号&内部VPI/0x0),同时读CAM芯片的VB信号,若VB为1,且映射表对应表项中的VPC为1,说明是VPC,用该对应表项中的外部VPI更换信元头中的内部VPI;若VB为1,且对应表项中的VPC为0(如果内部VCI为0x0,可能会出现这种情况),说明是VCC,用对应表项中的外部VPI/VCI更换信元头中的内部VPI/VCI;若VB为0,说明表项无效,再重新访问CAM的地址(端口号&内部VPI/内部VCI),同时读VB信号,若VB为1,且对应表项中的VPC为0,说明是VCC,用该对应表项中的外部VPI/VCI更换信元头中的内部VPI/VCI。其他情况下将该信元丢弃。
FPGA将更换过VPI/VCI(内部VPI/VCI转换为外部VPI/VCI)的信元头和从外出接收FIFO队列13中读出的原有信元的负载部分组合生成新的信元写入外出发送FIFO队列12中,待成帧芯片3轮询到端口0和端口1时,在合适的时候就把该经过转换的新的信元发送到成帧芯片3相应的端口。
下面详细描述本实施例中入进/外出转换VPI/VCI状态机控制的信元的存储转发的过程,并分析了信元能否线速通过FPGA。
所述入进转换VPI/VCI状态机14包括0端口入进转换VPI/VCI子状态机、1端口入进转换VPI/VCI子状态机,……n端口入进转换VPI/VCI子状态机,该些子状态机工作过程完全一样,只是对应的端口不同;所述外出转换VPI/VCI状态机15包括0端口外出转换VPI/VCI子状态机、1端口外出转换VPI/VCI子状态机,……n端口外出转换VPI/VCI子状态机,该些子状态机的工作过程也完全一样,仅仅是对应的端口不同,上述子状态机工作时都会查CAM中存储的映射表,且n的数目取决于端口的数目。如图1,CPU 5中还设有软件更新表项状态机,该状态机也需要频繁地访问CAM以即时更新映射表。本实施例中,由于仅以两个端口为例,所以入进转换VPI/VCI状态机14包括0端口入进转换VPI/VCI子状态机和1端口入进转换VPI/VCI子状态机,外出转换VPI/VCI状态机15包括0端口外出转换VPI/VCI子状态机和1端口外出转换VPI/VCI子状态机。
ATM信元是固定长度的分组,共有53个字节,分为2个部分:前面5个字节为信头,主要完成寻址的功能(包含端口号、VPI、VCI等信息),后面48个字节为信息段,用于装载来自不同用户,不同业务的信息。
下面分析信元能否线速通过FPGA。一个上联口是155Mbps,因此最快2.6us(53*8/(155*1024*1024))来一个信元。FPGA的UTOPIA接口工作时钟是50MHz,FPGA用这个时钟查表,一拍为20ns。因此需要在130拍(2.6us/20ns=130clk)内完成对一个信元的处理才行。
以CAM芯片的比较周期和其他访问周期都是40ns为例分析,由于0端口入进查表、0端口外出查表、1端口入进查表、1端口外出查表及软件更新表项都要操作CAM,当一个对象操作CAM时,其他对象如果要查表或更新表项只能等他操作完后才能操作。入进查表是1~2个查找CAM操作,要占用CAM 4~8拍(查找一次CAM用4拍,第1拍FPGA给出比较数和控制信号,第2拍等待,第3拍CAM输出结果,第4拍FPGA取结果);外出查表是1~2个读CAM操作,要占用CAM 4~8拍(读一次CAM用4拍,第1拍FPGA给出地址和控制信号,第2拍等待,第3拍CAM输出数据,第4拍FPGA读取数据);软件更新表项的操作包括查找和写CAM两步(1~2个查找+1个写CAM),要占用CAM 8~12拍(写一次CAM用4拍,第1拍FPGA给出地址、数据和控制信号,第2拍等待,第3拍CAM输出满标志,第4拍FPGA读取满标志)。
入进转换VPI/VCI状态机14工作过程:
以0端口入进查表为例分析:只要0端口入进接收FIFO队列有存放一个信元的空间,从成帧芯片的0端口来的信元就可以进入0端口入进接收FIFO队列,只要该FIFO不空,FPGA的0端口入进转换VPI/VCI子状态机就开始读信元。假设该子状态机从入进接收FIFO队列读出信元头h1算第一拍...第四拍读出h4,得到查表索引要素(端口号&外部VPI&外部VCI),之后该子状态机利用该查表索引要素查找CAM中的映射表,第5拍可得到查映射表索引(1&端口号&外部VPI&0x0)和控制信号,第6拍等待,第7拍得到查表结果,第8拍根据查表结果判定是否进行第二次查找:若有匹配项,说明是VPC,根据查表结果重组信元头;若无匹配项,还需第二次查找,第9拍读出第二次查映射表索引(0&端口号&外部VPI&外部VCI)和控制信号,第10拍等待,第11拍得到第二次查表结果,第12拍根据查表结果判定是否丢弃该信元:若有匹配项,说明是VCC,根据查表结果重组信元头H1、H2、H3、H4,若无匹配项,丢弃该信元。第13拍该子状态机往0端口入进发送FIFO队列写H1...第16拍该子状态机往0端口入进发送FIFO队列写H4,同时从0端口入进接收FIFO队列读出信元头h5,第17拍该子状态机往0端口入进发送FIFO队列写h5,同时从0端口入进接收FIFO队列读出信元负载d1...第64拍该子状态机往0端口入进发送FIFO队列写d47,同时从0端口入进接收FIFO队列读出信元负载d48,第65拍该状态机往0端口入进发送FIFO队列写d48。入进发送FIFO队列保存多于一个信元时就会在交换芯片轮询到它时有效UTOPIA接口的clav信号,声明自己有信元要发,从而将信元发出。
外出转换VPI/VCI状态机15工作过程:
以0端口外出查表为例分析:只要0端口外出接收FIFO队列有存放一个信元的空间,从交换芯片来的信元就可以进入0端口外出接收FIFO队列,只要该FIFO不空,FPGA的0端口外出转换VPI/VCI子状态机就开始读信元。假设0端口外出转换VPI/VCI子状态机从外出接收FIFO队列读出信元头h1算第一拍...第四拍读出h4,得到查表索引要素(端口号&内部VPI&内部VCI),之后该子状态机利用该查表索引要素查找CAM中的映射表,第5拍得到CAM地址(端口号&内部VPI&0x0)和控制信号,第6拍等待,第7拍读出CAM输出数据和VB信号,第8拍根据VB信号值决定是否需要再次读CAM:若VB为1,用读到的数据重组信元头;若VB为0,还需再次读CAM,第9拍给出第二次读CAM地址(端口号&内部VPI&内部VCI)和控制信号,第10拍等待,第11拍读出CAM输出数据和VB,第12拍根据VB信号值决定是否丢弃信元:若VB为1,用读到的数据重组信元头;若VB为0,丢弃该信元。第13拍该子状态机往0端口外出发送FIFO队列写H1...第16拍该子状态机往0端口外出发送FIFO队列写H4,同时从0端口外出接收FIFO队列读出信元头h5,第17拍该状态机往0端口外出发送FIFO写h5,同时从0端口外出接收FIFO队列读出信元负载d1...第64拍该状态机往0端口外出发送FIFO队列写d47,同时从0端口外出接收FIFO队列读出信元负载d48,第65拍该子状态机往0端口外出发送FIFO队列写d48。外出发送FIFO队列保存多于一个信元时就会轮询成帧芯片,从而将信元发出。
设定0端口入进查表、0端口外出查表、1端口入进查表、1端口外出查表及软件更新表项占用CAM的优先级由高到低,即0端口入进查表优先级最高(优先级1),软件更新表项优先级最低(优先级5)。0端口入进转换VPI/VCI子状态机、1端口入进转换VPI/VCI子状态机、0端口外出转换VPI/VCI子状态机、1端口外出转换VPI/VCI子状态机及软件更新表项状态机分别维护各自的2bit标志位:即等待位和占用位。当某个子状态机或状态机需要用CAM时就置位自己的等待位;当CAM空闲时,用于判断优先级高低的仲裁模块按优先级从高到低轮询等待位,如果高优先级的子状态机处于等待状态,就将该子状态机的占用位置位,同时复位其等待位,等该子状态机用完CAM自动复位其占用位。
分析最糟糕情况下,信元能否线速通过FPGA:1端口外出转换VPI/VCI子状态机(优先级4)要用CAM,就向仲裁模块提出申请时,另外三个高优先级子状态机已经在排队等候或刚开始用CAM,1端口外出转换VPI/VCI子状态机得等候最多8+8+8=24拍才能操作CAM。这时,1端口外出转换VPI/VCI子状态机最多需65+24=89拍能处理完一个信元,因下一个信元在130拍之后才到达,因此可以保证信元线速通过FPGA。
软件更新表项状态机使用CAM的优先级最低,只有这样才能避免更新大量表项时长期占用CAM,而其他子状态机只能长时间等待的情况,从而保证信元线速通过FPGA。这样一来,在0端口入进转换VPI/VCI子状态机、1端口入进转换VPI/VCI子状态机、0端口外出转换VPI/VCI子状态机和1端口外出转换VPI/VCI子状态机都全速进行时,软件更新表项状态机的工作可能会被迫分多次进行,每次只更新几个表项。查表全速进行时,130拍中四个子状态机最多使用CAM 8+8+8+8=32拍,软件更新表项状态机最少可用130-32=98拍,可更新最少98/12=8条表项。
本发明通过在CAM中建立和维护内部VPI/VCI和外部VPI/VCI一一对应关系的映射表,可实现在ATM协议允许的范围内,用户任意配置VPI、VCI,解决了用户在使用ATM多业务接入交换机时VPI/VCI受限的问题,同时动态的建立和维护该映射表也节约了开发成本,入进及外出转换状态机与入进及外出FIFO的配合工作使得信元能够线速通过装置,大大地提高了数据处理速率。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。
Claims (5)
1.一种ATM多业务接入交换机中线速处理信元的装置,基于FPGA实现,装置上设有若干物理端口,FPGA的第一数据输入/输出端与交换芯片连接,第二数据输入/输出端与成帧芯片连接,其特征在于,该装置包括:
入进转换VPI/VCI状态机与外出转换VPI/VCI状态机;
每个所述物理端口的信元进方向设有入进接收FIFO队列与入进发送FIFO队列,信元出方向设有外出发送FIFO队列与外出接收FIFO队列;
该入进转换VPI/VCI状态机从不为空的该入进接收FIFO队列中读取信元,并将该信元经处理后写入该入进发送FIFO队列;该外出转换VPI/VCI状态机从不为空的该外出接收FIFO队列中读取信元,并将该信元经转换后写入该外出发送FIFO队列;
该入进转换VPI/VCI状态机根据端口的数目包括0端口入进转换VPI/VCI子状态机,1端口入进转换VPI/VCI子状态机,……,n端口入进转换VPI/VCI子状态机;该外出转换VPI/VCI状态机根据端口的数目包括0端口外出转换VPI/VCI子状态机,1端口外出转换VPI/VCI子状态机,……,n端口外出转换VPI/VCI子状态机;
该FPGA的第三数据输入/输出端与CAM连接,该CAM中存储有内部VPI/VCI和外部VPI/VCI一一对应关系的映射表,该FPGA的第四数据输入/输出端与CPU连接,该CPU中设有软件更新表项状态机,该状态机用于更新该CAM中存储的映射表;
仲裁模块,用于判断该n端口入进转换VPI/VCI子状态机、n端口外出转换VPI/VCI子状态机及该软件更新表项状态机查找该CAM的优先级。
2.如权利要求1所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于:FPGA的第一数据输入/输出端通过交换芯片接口模块与交换芯片连接,第二数据输入/输出端通过成帧芯片接口模块与成帧芯片连接;第三数据输入/输出端通过CAM接口模块与CAM连接,第四数据输入/输出端通过CPU接口模块与CPU连接。
3.如权利要求2所述的ATM多业务接入交换机中线速处理信元的装置,其特征在于,所述0端口入进转换VPI/VCI子状态机、所述0端口外出转换VPI/VCI子状态机、所述1端口入进转换VPI/VCI子状态机、所述1端口外出转换VPI/VCI子状态机……所述n端口入进转换VPI/VCI子状态机、所述n端口外出转换VPI/VCI子状态机及所述软件更新表项状态机查找所述CAM的优先级从高到低依次排列。
4.一种基于权利要求1至3中任意一项所述装置实现的ATM多业务接入交换机中线速处理信元的方法,其特征在于:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元,并将该信元经过查找所述CAM中的映射表进行转换后,写入所述外出发送FIFO队列中。
5.如权利要求4所述的ATM多业务接入交换机中线速处理信元的方法,其特征在于:
信元由所述成帧芯片进入FPGA后,先存于所述入进接收FIFO队列中,所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述入进转换VPI/VCI状态机写入所述入进发送FIFO队列中,最后所述入进转换VPI/VCI状态机从所述入进接收FIFO队列中读取出该信元的原始负载并将该原始负载写入所述入进发送FIFO队列中;
信元由所述交换芯片进入FPGA后,先存于所述外出接收FIFO队列中,所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的信元头,并根据该信元头查找所述CAM中的映射表,查找结果作为转换后的信元头由所述外出转换VPI/VCI状态机写入所述外出发送FIFO队列中,最后所述外出转换VPI/VCI状态机从所述外出接收FIFO队列中读出该信元的原始负载并写入所述外出发送FIFO队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110459962.XA CN103188174B (zh) | 2011-12-31 | 2011-12-31 | Atm多业务接入交换机中线速处理信元的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110459962.XA CN103188174B (zh) | 2011-12-31 | 2011-12-31 | Atm多业务接入交换机中线速处理信元的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103188174A CN103188174A (zh) | 2013-07-03 |
CN103188174B true CN103188174B (zh) | 2017-02-08 |
Family
ID=48679145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110459962.XA Active CN103188174B (zh) | 2011-12-31 | 2011-12-31 | Atm多业务接入交换机中线速处理信元的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103188174B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426347B (zh) * | 2017-07-25 | 2021-03-19 | 深圳市中航比特通讯技术有限公司 | 一种三层网络接口装置及映射方法 |
EP4213446A4 (en) * | 2020-10-14 | 2024-01-24 | Huawei Tech Co Ltd | WIFI CHIP, WIFI DEVICE AND QUEUE PLANNING METHOD |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020011513A (ko) * | 2000-08-02 | 2002-02-09 | 서평원 | 스위칭 자원의 제한적인 사용을 제거한 에이티엠 스위칭시스템 및 그 데이터 처리방법 |
CN1728691A (zh) * | 2004-07-26 | 2006-02-01 | 华为技术有限公司 | Atm数据与帧格式转换的电路、方法及传输交换系统及方法 |
CN200980088Y (zh) * | 2006-12-07 | 2007-11-21 | 大唐移动通信设备有限公司 | 异步转移模式中的信元变换装置和系统 |
US7382785B2 (en) * | 2003-02-21 | 2008-06-03 | At&T Knowledge Ventures, L.P. | Extended virtual user-to-network interface with ATM network |
CN101465795A (zh) * | 2007-12-19 | 2009-06-24 | 大唐移动通信设备有限公司 | 一种信元的入口虚链接表索引查找方法及装置 |
CN101488834A (zh) * | 2009-01-20 | 2009-07-22 | 重庆邮电大学 | 一种基于fpga的3g链路atm信元识别重组处理系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212536B2 (en) * | 2001-12-27 | 2007-05-01 | Alcatel-Lucent Canada Inc. | User priority mapping in bridged VLANS |
-
2011
- 2011-12-31 CN CN201110459962.XA patent/CN103188174B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020011513A (ko) * | 2000-08-02 | 2002-02-09 | 서평원 | 스위칭 자원의 제한적인 사용을 제거한 에이티엠 스위칭시스템 및 그 데이터 처리방법 |
US7382785B2 (en) * | 2003-02-21 | 2008-06-03 | At&T Knowledge Ventures, L.P. | Extended virtual user-to-network interface with ATM network |
CN1728691A (zh) * | 2004-07-26 | 2006-02-01 | 华为技术有限公司 | Atm数据与帧格式转换的电路、方法及传输交换系统及方法 |
CN200980088Y (zh) * | 2006-12-07 | 2007-11-21 | 大唐移动通信设备有限公司 | 异步转移模式中的信元变换装置和系统 |
CN101465795A (zh) * | 2007-12-19 | 2009-06-24 | 大唐移动通信设备有限公司 | 一种信元的入口虚链接表索引查找方法及装置 |
CN101488834A (zh) * | 2009-01-20 | 2009-07-22 | 重庆邮电大学 | 一种基于fpga的3g链路atm信元识别重组处理系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于信元的地址映射算法;王琳珠;单忞;《工业仪表与自动化装置》;20071205(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103188174A (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101252536B (zh) | 路由器多队列数据包缓存管理与输出队列调度系统 | |
AU632840B2 (en) | An atm switching element for transmitting variable length cells | |
JP3035868B2 (ja) | Atm交換のための方法および装置 | |
US20030227925A1 (en) | Packet processing device | |
CN100407701C (zh) | 一种网络处理器 | |
CN101873253A (zh) | 带缓冲的纵横式交换机系统 | |
KR19980063448A (ko) | 라인 어댑터에 대한 부착을 허용하는 분산 엘리먼트를 구비하고 멀티캐스팅 능력을 가진 스위칭 시스템 | |
CN104636085B (zh) | 一种片上网络消息缓冲区的存储管理模块 | |
CN109861931B (zh) | 一种高速以太网交换芯片的存储冗余系统 | |
US6324164B1 (en) | Asynchronous transfer mode (A.T.M.) protocol adapter for a high speed cell switching system | |
CN101499956A (zh) | 分级缓冲区管理系统及方法 | |
CN103188174B (zh) | Atm多业务接入交换机中线速处理信元的方法和装置 | |
KR100387048B1 (ko) | 중저속 가입자 멀티 캐스팅 구현 방법 및 장치 | |
CN104486258B (zh) | 一种基于交换通道的交换电路 | |
CN103188170B (zh) | Atm多业务接入交换机中vpi/vci转换的方法和装置 | |
CN101043437B (zh) | 一种快速发送操作、管理和维护信元的方法和装置 | |
US8670454B2 (en) | Dynamic assignment of data to switch-ingress buffers | |
CN100591036C (zh) | 一种实现异步传输模式适配层功能的装置 | |
CN110336756A (zh) | 具有端口汇聚功能的Crossbar流量反压控制方法 | |
Kumar et al. | A shared-buffer direct-access (SBDA) switch architecture for ATM-based networks | |
US20030099261A1 (en) | Multi-link segmentation and reassembly sublayer for bonding asynchronous transfer mode permanent virtual circuits | |
US6356552B1 (en) | Method by which sets of values representing various parameters can be allocated to addresses | |
CN103188170A (zh) | Atm多业务接入交换机中vpi/vci转换的方法和装置 | |
Kumar et al. | On Design of a Shared-Buffer based ATM Switch for Broadband ISDN | |
CN100425035C (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 |