CN101064697B - 一种实现异步传输模式网络服务质量控制的装置和方法 - Google Patents
一种实现异步传输模式网络服务质量控制的装置和方法 Download PDFInfo
- Publication number
- CN101064697B CN101064697B CN2006100789728A CN200610078972A CN101064697B CN 101064697 B CN101064697 B CN 101064697B CN 2006100789728 A CN2006100789728 A CN 2006100789728A CN 200610078972 A CN200610078972 A CN 200610078972A CN 101064697 B CN101064697 B CN 101064697B
- Authority
- CN
- China
- Prior art keywords
- cell
- time slot
- cbr
- module
- message
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种实现ATM网络服务质量控制的方法和装置,每次接收到一个完整的IP报文后,如该报文是普通ATM信元,对该IP报文进行封装和分段处理生成标准的ATM信元,如果是OAM信元则无须封装;根据该IP报文的PVC通道号,查询出其对应的业务属性,对UBR业务还要查询出其隧道号,按CBR业务或UBR业务分开存储;发送时隙到来时,获取该时隙的PVC通道号,根据该PVC通道号查询是否有CBR业务信元等待发送,如果有,则发送该信元到下一级模块,结束;否则查询是否有UBR业务信元请求发送,如果有,响应该请求并发送该信元到下一级模块。本发明可以增强***性能,降低***的复杂度和成本。
Description
技术领域
本发明涉及在ATM(Asynchronous Transfer Mode,异步传输模式)网络中实现服务质量(QoS)控制技术,尤其涉及一种实现异步传输模式网络服务质量控制的装置和方法。
背景技术
随着计算技术的发展,出现了各种数据传输网络,目前主要存在两种数据网络,一种是以包为单位传输的IP(Internet Protocol,即因特网协议)分组网络,一种是以信元为单位传输的ATM网络。这些网络承载着越来越多数据业务,这些业务总的可以分为两大类:一是对传输延迟敏感的图像和语音等传输业务,另外一个是对信息的完整性有要求的数据业务,这两种业务在ATM网络中体现为CBR(固定比特率)业务和UBR(未定义比特率)业务。作为以IP分组为交换基础的路由器,在连接ATM网络的时候,需要专用的ATM线路接口卡,完成ATM信元到IP报文和IP报文到ATM信元转换功能。为了保证ATM网络中各PVC(永久虚接续)通道的QoS,需要通过控制各条PVC通道的信元比特率。由于路由器的报文处理特征,控制各条PVC通道的QoS只需在ATM线路接口卡数据发送侧控制各条PVC通道的比特率就可以实现。
目前实现ATM网络的QoS功能的方法主要有两种,一是利用网络处理器实现,现在某些网络处理器本身自带SAR(Segment And Reassamble,即分段和重组)模块,可以直接对ATM信元进行处理,实现各PVC通道的QoS,这种方法的好处是去掉了专用的SAR处理芯片节约了***成本,缺点是需要网络处理器参与,增加了软件***的复杂性,降低了网络处理器的报文处理能力;一是利用专用的SAR芯片实现,这种方法的优点是网络处理器不再参与ATM网络的QoS控制,提高了网络处理器的报文处理能力, 但缺点是增加了***的成本。上述两种方法都采用复杂的漏桶算法实现流量控制,软件***十分复杂。
发明内容
本发明要解决的技术问题是提供一种实现异步传输模式网络服务质量控制的装置和方法,可以增强***性能,降低***的复杂度和成本。
为了解决上述技术问题,本发明提供了一种实现异步传输模式ATM网络服务质量控制的方法,***每次接收到一个完整的因特网协议IP报文后的处理流程,包括以下步骤:
(a)在接收到IP报文后,对IP报文头增加头标志来指示IP报文属于哪个PVC通道以及是否OAM信元,如该报文是普通ATM信元,对该IP报文进行封装和分段处理,生成标准的ATM信元,执行步骤(b),如果是OAM信元,直接执行步骤(b);
(b)根据该IP报文的永久虚接续PVC通道号,查询出其对应的业务属性,对UBR业务还要查询出其隧道号,按固定比特率CBR业务或未定义比特率UBR业务分开存储;
***发送ATM信元的处理流程,包括以下步骤:
(c)发送时隙到来时,获取该时隙的PVC通道号,根据该PVC通道号查询是否有CBR业务信元等待发送,如果有,则发送该信元到下一级模块,结束;否则查询是否有UBR业务信元请求发送,如果有,响应该请求并发送该信元到下一级模块。
进一步地,上述方法还可具有以下特点:所述步骤(b)中,查询出所述IP报文对应的业务属性后,还要判断其是否OAM信元,对于CBR业务信元,根据其PVC通道号按CBR业务OAM信元、CBR业务普通信元分开存储;对于UBR业务信元,根据其隧道号按UBR业务OAM信元和UBR业务普通信元分开存储,存储后更新存储器中的信元数和信元读写指针;所述步骤(c)中,根据所述PVC通道号,先后查询是否有CBR业务OAM信元、CBR业务普通信元,在查询到信元时,发送该信元到下一级模块,结 束;否则,查询是否有UBR业务信元请求发送,如果有,则发送该信元到下一级模块。
进一步地,上述方法还可具有以下特点:所述步骤(b)中,对于UBR业务信元,根据隧道优先级和OAM信元优先原则对各隧道进行轮询,决定发送OAM信元还是其中一隧道的普通信元,当确定有一个隧道或者OAM信元队列准备好一个信元等待发送后请求发送,同时更新一个信元发送状态寄存器的信息,包括信元类型标志位和隧道号索引;所述步骤(c)中,如果查询到没有CBR业务信元等待发送,则查询所述状态寄存器,如果类型标志位为OAM信元,则从OAM信元队列读取OAM信元发送;如果类型标志位为普通ATM信元,则根据状态寄存器中的隧道号索引从相应隧道中读取普通ATM信元发送。
进一步地,上述方法还可具有以下特点:所述步骤(c)中,在查询不到UBR业务信元请求发送时,先判断该时隙剩下的时间是否允许发送一个完整的信元,如果不允许,一个时隙数据处理结束;否则再次查询是否有UBR业务信元请求发送。
进一步地,上述方法还可具有以下特点:所述步骤(c)中,发送时隙到来时,是通过查询时隙表获取该时隙的PVC通道号。
进一步地,上述方法还可具有以下特点:所述时隙表包含各时隙对应的PVC通道号和该时隙是否空闲的参数,***根据各个通道的配置参数,确定业务属性为CBR的各个PVC通道在整个时隙表中占有的时隙,并使得每个CBR业务在时隙表中占用的时隙均匀分布;同时管理一个时隙指针,每查询一次,则该指针加1,如果当前指针已为时隙表的最后一个数据,则指针清零,指向时隙表的第一个数据。
本发明提供的实现异步传输模式ATM网络服务质量控制的装置包括报文接收模块、报文处理模块、业务控制模块、固定比特率CBR业务管理模块、未定义比特率UBR业务管理模块和ATM信元发送控制模块,其中:
所述报文接收模块,用于缓存接收到的因特网协议IP报文,并增加一个头标志,用于指示该IP报文属于哪一条PVC通道以及是否OAM信元;
所述报文处理模块,用于查询所述报文接收模块并从中读取一个完整的报文,将OAM信元直接向业务控制模块发送,如果是普通ATM信元,先进行异步传输模式封装并分段,组装成标准的ATM信元再发送;
所述业务控制模块,用于根据该IP报文的永久虚接续PVC通道号,查询出其对应的业务属性,按CBR业务和UBR业务分开存储;
所述CBR业务管理模块,用于以PVC通道号为索引存储CBR业务信元,接收和响应所述ATM信元发送控制模块的查询和发送信元请求;
所述UBR业务管理模块,用于以隧道号为索引存储UBR业务信元,并根据隧道优先级和OAM信元优先原则决定发送OAM信元还是其中一隧道的普通信元,向所述ATM信元发送控制模块申请发送ATM信元,得到响应后,从存储器中读取信元并发送给ATM信元发送控制模块;
所述ATM信元发送控制模块,用于在发送时隙到来时,获取该时隙的PVC通道号,根据该PVC通道号查询是否有CBR业务信元等待发送,如果有,则发送该信元到下一级模块,结束;否则查询是否有UBR业务信元请求发送,如果有,响应该请求并发送该信元到下一级模块。
进一步地,上述装置还可具有以下特点:所述装置还包括永久虚接续PVC通道属性表,所述PVC通道属性表由***配置,用于存储***中每条PVC通道的业务属性,以待所述业务控制模块查询。
进一步地,上述装置还可具有以下特点:所述装置还包括时隙表,包含各时隙对应的PVC通道号和该时隙是否空闲的参数,***根据各个通道的配置参数确定业务属性为CBR的各个PVC通道在整个时隙表中占有的时隙,每个CBR业务在时隙表中占用的时隙均匀分布。
进一步地,上述装置还可具有以下特点:所述CBR业务管理模块进一步包括CBR业务信元读写控制模块,CBR业务普通信元存储器和CBR业务OAM信元存储器,其中:
所述CBR业务信元读写控制模块,用于接收所述业务控制模块传递过来的PVC通道号和信元,判别所述信元的类别,将这些信元按各自类别存储到所述CBR业务普通信元存储器或所述CBR业务OAM信元存储器中,并管理每条PVC通道的各种状态参数,所述状态参数包括所述存储器中的信元数和信元读写指针;同时响应所述ATM信元发送控制模块的查询和发送信元请求;
所述CBR业务普通信元存储器,用于缓存CBR业务普通ATM信元;
所述CBR业务OAM信元存储器,用于缓存CBR业务OAM信元。
进一步地,上述装置还可具有以下特点:所述UBR业务管理模块进一步包括UBR业务信元读写控制模块,UBR业务普通信元存储器和UBR业务OAM信元存储器,其中:
所述UBR业务信元读写控制模块,用于接收所述业务控制模块传递过来的隧道号参数和信元,判别这些信元的类别,将这些信元按各自类别存储到所述UBR业务普通信元存储器或所述UBR业务OAM信元存储器中,并管理每个隧道的各种状态参数;同时查询每个隧道,并根据隧道优先级和OAM信元优先原则决定发送OAM信元还是某一隧道的普通信元,当确定有一个隧道或者OAM信元队列准备好一个信元等待发送后,则向ATM信元发送控制模块申请发送ATM信元,同时更新一个信元发送状态寄存器,该寄存器包括一个信元类型标志位和一个隧道号索引,且在得到响应后查询状态寄存器,如果类型标志位为OAM信元,则从UBR业务OAM信元存储器中读取信元并发送给ATM信元发送控制模块;如果类型标志位为普通ATM信元,则根据状态寄存器中的隧道号索引从UBR业务普通信元存储器中读取信元并发送给ATM信元发送控制模块;
所述UBR业务普通信元存储器,用于缓存普通ATM信元;
所述UBR业务OAM信元存储器,是一个先进先出FIFO缓存器,用于缓存OAM信元。
进一步地,上述装置还可具有以下特点:所述装置还包括ATM信元缓存模块,所述ATM信元缓存模块,用于接收所述报文处理模块处理好的数据,并管理一个先进先出FIFO队列,以待所述业务控制模块查询和读取。
进一步地,上述装置还可具有以下特点:所述ATM信元发送控制模块进一步包括时隙查询模块和发送控制模块,其中:
所述时隙查询模块,包含一个固定周期发生器,用于按***设定的周期生成时隙,同时管理一个时隙指针,在每个时隙开始时刻,查询时隙表,返回这个特定时隙的时隙参数,包括时隙是否空闲和PVC通道号的信息,然后将该时隙指针加1,如果当前指针指向时隙表的最后一个数据,则指针清零,指向时隙表的第一个数据;
发送控制模块,用于根据时隙查询模块查询时隙表返回来的参数决定是查询CBR业务管理模块还是查询UBR业务管理模块,如果查询到CBR业务管理模块没有数据发送,则查询UBR业务管理模块是否申请发送数据,如有则发送UBR业务数据,否则该时隙空闲,不发送任何数据;并用于将CBR业务管理模块或者UBR业务管理模块发送过来的信元转发出去。
采用本发明所述方法和装置,克服现有技术中存在的路由器中的ATM网络QoS控制需要利用网络处理器或者专用SAR芯片来实现,造成***复杂,成本过高的问题和缺陷,与现有技术相比,取得了使用FPGA(FieldProgrammable Gate Array,即现场可编程序门阵列)分担网络处理器的处理负载或者替换专用SAR芯片实现ATM网络的服务质量控制的技术进步,达到了实现按PVC通道实现ATM网络QoS控制的效果,节省了***成本,提高了***可靠性和市场竞争力。
附图说明
图1是本发明实施例中实现ATM网络服务质量控制的装置示意图;
图2是本发明本实施例实现异步传输模式网络服务质量控制的方法。
具体实施方式
下面结合附图对基于FPGA(Field Programmable Gate Array,即现场可 编程序门阵列)实现ATM网络服务质量控制技术方案的实施作进一步的详细描述,但本发明并不局限于基于FPGA来实现ATM网络服务质量控制,也可以用其它方式实现。
如图1所示,本实施例中装置包括以下模块:
报文接收模块101,包含一个位于FPGA上的FIFO队列和状态管理模块,用于将接收到的网络处理器传来的IP报文缓存到FIFO队列中,并在接收到的IP报文的标准的IP报文头增加一个字的Header(头标志),用来指示该IP报文是属于哪一条PVC通道,并通过一个OAM(操作、管理和维护)信元标志位来指示该信元是否OAM信元,同时管理FIFO队列中的报文数,生成状态标志,以待报文处理模块102查询;
报文处理模块102,用于不断查询报文接收模块101是否至少有一个完整的IP报文,如果是,则首先读取IP报文的Header字,存入ATM信元缓存模块103,然后根据Header字中的OAM信元标志位信息分别处理,如果是普通ATM信元,则将一个完整的报文读出进行AAL5(ATM适配层类型5)封装,并对封装好的报文进行分段处理,组装成ATM信元存入ATM信元缓存模块103,如果是OAM信元,则直接从报文接收模块101中读出并存入ATM信元缓存模块103;
ATM信元缓存模块103,用于接收报文处理模块102处理好的数据,并管理一个FIFO(First-In First-Out)队列,以待业务控制模块105查询和读取;
PVC通道属性表104,由***配置,用于存储***中每条PVC通道的业务属性,以待业务控制模块105查询;其中包含了业务类型和隧道号等参数,表中内容以PVC通道号为索引进行查询;
业务控制模块105,用于查询ATM信元缓存模块103,如果查到一个报文的Header字,则首先将Header字读出,从中提取PVC通道号参数,然后根据PVC通道号查询PVC通道属性表104,返回该PVC通道的业务属性,如果是CBR业务类型,则将PVC通道号直接传给CBR业务管理模块109,然后将该报文的所有信元从ATM信元缓存模块103中读出传给CBR业务管理模块109;如果是UBR业务类型,则查询PVC通道属性表104返回的 是该PVC所属的隧道号(一个隧道可以同时传输多个PVC通道的报文),然后将隧道号传给UBR业务管理模块113,并将该报文的所有信元从ATM信元缓存模块103中读出传给UBR业务管理模块113;
CBR业务管理模块109,用于接收业务控制模块105传输过来的数据,并以PVC通道号为索引将信元按OAM信元和普通信元分别存入相应的存储器中,同时管理每条PVC通道的状态,响应ATM信元发送控制模块117的查询和读信元请求;该CBR业务管理模块109进一步包括CBR业务信元读写控制模块106、CBR业务普通信元存储器107和CBR业务OAM信元存储器108,其中:
CBR业务信元读写控制模块106,用于接收业务控制模块105传递过来的PVC参数和信元,判别这些信元的类别,将这些信元按各自类别存储到CBR业务普通信元存储器107或CBR业务OAM信元存储器108中,并管理每条PVC通道的各种状态参数,这些参数包括存储器中的信元数和信元读写指针等;同时也响应ATM信元发送控制模块117的查询和发送信元请求,当响应查询请求时,向ATM信元发送控制模块117返回所查询的PVC通道当前的各种状态参数,当响应发送信元请求时,从CBR业务普通信元存储器107或CBR业务OAM信元存储器108中读出信元并传递给ATM信元发送控制模块117;
CBR业务普通信元存储器107,是一个RAM(随机存取存储器),用于缓存普通ATM信元,其地址总线的高位对应PVC通道号,低位对应每条PVC的存储容量;
CBR业务OAM信元存储器108,是一个RAM,用于缓存OAM信元,其地址总线的高位对应PVC通道号,低位对应每条PVC的存储容量。
UBR业务管理模块113,用于接收业务控制模块105传输过来的数据,并以隧道号为索引将信元按OAM信元和普通信元分别存入相应的存储器中,同时管理每个隧道的状态,响应ATM信元发送控制模块117的查询和读信元请求;该UBR业务管理模块113进一步包括UBR业务信元读写控制模块110、UBR业务普通信元存储器111和UBR业务OAM信元存储器112,其中:
UBR业务信元读写控制模块110,用于接收业务控制模块105传递过来的隧道号参数和信元,判别这些信元的类别,将这些信元按各自类别存储到UBR业务普通信元存储器111或UBR业务OAM信元存储器112中,并管理每个隧道的各种状态参数;同时查询每个隧道,并根据隧道优先级和OAM信元优先原则决定发送OAM信元还是某一隧道的普通信元,当确定有一个隧道或者OAM信元队列准备好一个信元等待发送后,则向ATM信元发送控制模块117申请发送ATM信元,同时更新一个信元发送状态寄存器,该寄存器包括一个信元类型标志位和一个隧道号索引。UBR业务信元读写控制模块110得到响应后,查询状态寄存器,如果类型标志位为OAM信元,则从UBR业务OAM信元存储器112中读取信元并发送给ATM信元发送控制模块117;如果类型标志位为普通ATM信元,则根据状态寄存器中的隧道号索引从UBR业务普通信元存储器111中读取信元并发送给ATM信元发送控制模块117;
UBR业务普通信元存储器111,是一个RAM,用于缓存普通ATM信元,其地址总线的高位对应隧道号,低位对应每个隧道的存储容量;
UBR业务OAM信元存储器112,是一个FIFO,用来缓存OAM信元。
时隙表114,由***软件根据各个通道的配置参数,如业务类型和带宽等(不局限于此),计算出每个通道在整个时隙表中占有的时隙,只有CBR业务属性的PVC通道才在时隙表中占用时隙,每个业务在时隙表中占用的时隙是均匀的。然后将这些时隙填充相关标志,包含各时隙对应的PVC通道号和该时隙是否空闲等参数;***必须根据用户创建的PVC和配置的业务参数来更新时隙表114,如果某条PVC是运行CBR业务,则该PVC在时隙表114中均匀占用时隙,***也需为所有没占用的时隙加上空闲标志;
每个PVC通道都可有配置成CBR业务或者UBR业务。只有CBR业务才能直接配置带宽。如果配置为UBR业务,则需要将该PVC捆绑到某个隧道(channel)上,而每个隧道可以单独设置优先级和带宽,所以当某个PVC通道业务属性为UBR业务时,就有可能与其它PVC通道共享该隧道的带宽。
ATM信元发送控制模块117,用于按固定的时间周期查询时隙表114, 通过时隙表114返回来的参数,决定发送何种业务的信元;该ATM信元发送控制模块117进一步包括时隙查询模块115和发送控制模块116,其中:
时隙查询模块115,包含一个固定周期发生器,用于按***设定的周期生成时隙;同时管理一个时隙指针,在每个时隙开始时刻,查询时隙表114,返回这个特定时隙的时隙参数,包括时隙是否空闲和PVC通道号等信息,然后将该时隙指针加1,如果达到时隙表114的最后一个数据,则指针清零,指向时隙表114的第一个数据;
发送控制模块116,用于根据时隙查询模块115查询时隙表114返回来的参数决定是查询CBR业务管理模块109还是查询UBR业务管理模块113,如果查询到CBR业务管理模块109没有数据发送,则查询UBR业务管理模块113是否申请发送数据,如有则发送UBR业务数据,否则该时隙空闲,不发送任何数据;并用于将CBR业务管理模块109或者UBR业务管理模块113发送过来的信元转发出去。
本实施例实现异步传输模式网络服务质量控制的方法,如图2所示,接收ATM信元的处理流程包括以下步骤:
步骤1,报文接收模块101每次接收到网络处理器传来的IP报文后,将报文缓存到位于FPGA上的FIFO队列中,并在接收到的IP报文的标准的IP报文头增加一个字的Header来指示该IP报文是属于那一条PVC通道和是否是OAM信元,同时设置状态标志位,以待报文处理模块102查询;
步骤2,查询报文接收模块101中是否已接收到一个完整的报文,如果是,执行步骤3,否则,返回步骤2继续查询;
步骤3,报文处理模块102从报文接收模块101将报文的Header字读出,并存入ATM信元缓存模块103;
步骤4,报文处理模块102根据Header字中的OAM信元标志位来判断报文是否是OAM信元,如果是OAM信元,则从报文接收模块101将整个报文读出,存入ATM信元缓存模块103中,否则从报文接收模块101将整个报文读出,并按照AAL5协议对整个报文进行封装,然后将封装好的报文 分段成标准ATM信元,存入ATM信元缓存模块103。
本实施例中存储ATM信元的流程,包括以下步骤:
步骤5,业务控制模块105查询ATM信元缓存模块103中是否存在一个完整的信元,如果是,则执行步骤6,否则返回步骤5继续查询;
步骤6,业务控制模块105从ATM信元缓存模块103将报文头读出,并从中获得PVC通道号参数;
步骤7,业务控制模块105根据上述PVC通道号查询PVC通道属性表104,PVC通道属性表104返回该PVC通道对应的业务属性等参数,如果是UBR业务同时还返回隧道号参数;
步骤8,业务控制模块105根据上述业务属性参数判断该报文的业务属性是否CBR业务,如果是,执行步骤9;否则,该报文的业务属性是UBR业务,执行步骤15;
步骤9,业务控制模块105将PVC通道号参数和后续的整个报文信元传给CBR业务管理模块109;CBR业务管理模块109判断接收到的信元是否OAM信元,如果是,执行步骤10,否则,该信元是普通ATM信元,执行步骤11;
步骤10,CBR业务信元读写控制模块106将业务控制模块105传过来的OAM信元存入CBR业务OAM信元存储器108中,同时CBR业务信元读写控制模块106更新该PVC通道的状态参数,该状态参数包括存储器中的信元数和信元读写指针,报文缓存结束,返回步骤5;
步骤11,CBR业务信元读写控制模块106将业务控制模块105传过来的信元存入CBR业务普通信元存储器107,同时CBR业务信元读写控制模块106更新该PVC的状态参数;
步骤12,业务控制模块105判断该报文是否结束,如果是,报文缓存结束,返回步骤5;否则,执行步骤13;
步骤13,业务控制模块105查询ATM信元缓存模块103,从ATM信元缓存模块103返回当前FIFO队列的状态参数;
步骤14,业务控制模块105根据上述返回的当前FIFO队列的状态参数, 判断ATM信元缓存模块103中是否存在一个完整的信元,如果是,则返回步骤11,否则返回步骤13;
步骤15,业务控制模块105将上述返回的隧道号参数和后续的整个报文信元传给UBR业务管理模块113,UBR业务管理模块113判断接收到的信元是否OAM信元,如果是,执行步骤16,否则该信元是普通ATM信元,执行步骤17;
步骤16,UBR业务信元读写控制模块110将业务控制模块105传过来的OAM信元存入UBR业务OAM信元存储器112中,同时UBR业务信元读写控制模块110更新该隧道的状态参数,报文缓存结束,返回步骤5;
步骤17,UBR业务信元读写控制模块110将业务控制模块105传过来的信元存入UBR业务普通信元存储器111,同时UBR业务信元读写控制模块110更新该隧道的状态参数;
步骤18,业务控制模块105判断报文是否结束,如果是,报文缓存结束,返回步骤5;否则,执行步骤19;
步骤19,业务控制模块105查询ATM信元缓存模块103,从ATM信元缓存模块103返回当前FIFO队列的状态参数;
步骤20,业务控制模块105根据上述返回的参数,判断ATM信元缓存模块103中是否存在一个完整的信元,如果有一个完整的信元,则返回步骤17,否则返回步骤19。
在上述流程中,完成了一个IP报文的封装、分段和分类存储,为后续的发送控制做好了准备。
本实施例中已经转换为ATM信元的IP报文的发送处理流程,包括以下步骤:
步骤22,时隙查询模块115以固定的时间周期产生时隙,并且在每个时隙开始时刻生成一个查询时隙表114的查询命令,在生成查询命令后执行步骤23;
步骤23,时隙查询模块115在查询命令生成后去查询时隙表114,时隙 表114响应查询命令,并返回该时隙所带的参数值,其中包括PVC通道号;
步骤24,发送控制模块116根据上述参数值判断该时隙是否空闲,如果是,则执行步骤33,否则执行步骤25;
步骤25,发送控制模块116根据上述PVC通道号去查询CBR业务信元读写控制模块106,CBR业务信元读写控制模块106返回该PVC通道对应的状态值;
步骤26,发送控制模块116根据上述状态值判断CBR业务OAM信元存储器108中是否有等待发送的信元,如有执行步骤27,否则执行步骤28;
步骤27,发送控制模块116通过CBR业务信元读写控制模块106将一个信元从CBR业务OAM信元存储器108读出,并传给下一级模块,完成一次CBR业务信元发送,一个时隙数据处理结束,返回步骤22;
步骤28,发送控制模块116根据上述状态值判断CBR业务普通信元存储器107中是否有等待发送的信元,如果有,执行步骤29,否则执行步骤30;
步骤29,发送控制模块116通过CBR业务信元读写控制模块106将一个信元从CBR业务普通信元存储器107读出,并传给下一级模块,完成传输后,一个时隙数据处理结束,返回步骤22;
步骤30,发送控制模块116查询UBR业务信元读写控制模块110,UBR业务信元读写控制模块110返回当前的状态参数,用来表明是否有信元发送请求;
步骤31,发送控制模块116根据上述状态参数,判断UBR业务管理模块109是否有信元发送请求,如果是,执行步骤32,否则执行步骤33;
步骤32,发送UBR业务的ATM信元,发送控制模块116向UBR业务信元读写控制模块110发送请求响应信号,UBR业务信元读写控制模块110收到请求响应后,查询信元发送状态寄存器,然后将ATM信元读出并发送给发送控制模块116,然后发送控制模块116将信元传输给下一级模块,完成一次UBR业务信元发送,一个时隙数据处理结束,返回步骤22;
步骤33,发送控制模块116根据时隙查询模块115提供的时隙参数来判断该时隙剩下的时间是否允许发送一个完整的信元,如果是,返回步骤30,否则一个时隙数据处理结束,返回步骤22。
在上述流程中,发送控制模块117去查询时隙表114,返回的是该时隙是否被某个CBR业务属性的PVC通道占用,如果没有被占用,表示当前时隙为空闲,允许发送一个UBR业务属性的信元,所以直接去查询有无UBR业务属性的信元准备好等待发送;如果该时隙已经被占用,这必须先查询占用该时隙的PVC通道有无信元等待发送,如果有就发送一个信元,结束该时隙,如果没有信元等待发送,则去查询是否有UBR业务属性的信元等待发送。所以CBR业务属性的必须采用查询的方法。
又由于***可以创建数千条CBR业务,利用每个通道轮询的方法是不可实现的,所以采用查表法来实现时隙分配。而由于UBR采用隧道绑定方法(即将多个具有相同属性的UBR业务的PVC通道配置在同一个隧道中),所以***只需要十几个隧道,利用轮询可以实现发送控制。对UBR业务,采用申请的方法好处在于使***并行运行,如果等到发送控制模块117判决出可以发送UBR业务的信元才来查询各个隧道,会由于来不及处理造成带宽浪费。因此在本发明中,对CBR业务和UBR业务采用两种不同的方法。
在本发明中,由于每个CBR业务根据配置的带宽在时隙表中都均匀占有时隙,所以为了限制其带宽和均匀的比特率,所以只能在它自己占有的时隙才能被发送。为什么不继续查询CBR业务到超时呢?这是由于CBR必须保证带宽,所以在***中可能出现CBR业务在配置的时候占用了所有带宽,表现为时隙表中没有空闲时隙;如果我们每个时隙都查询CBR业务到超时,那么UBR业务的信元就没机会发送出去。在则使用本发明中的方法,其影响在于该CBR业务的信元只是向后推移了数个时隙,而不影响其性能,同时也实现了UBR业务。
本发明与现有技术中实现流量控制的方法是有区别的。本发明采用的是简单的查表法,没有使用复杂的漏桶算法。因此处理流程肯定和网络处理器或专用SAR芯片处理流程是不同的。本发明涉及的时隙表是由软件根据各个通道的配置参数计算出每个通道在整个时隙表中占有的时隙(只有CBR业务属性的PVC通道才在时隙表中占用时隙,而且要求每个业务在时隙表中占用的时隙是均匀的),然后将这些时隙填充相关标志,由信元发送控制模块来查询这张表,从而实现QoS。
相对于使用网络处理器控制服务质量来说,使用本发明技术,可以将网络处理器从流控中解放出来,不再参与流控处理,这样就会有更多的时间处理和转发数据报文,提高***的报文处理和转发性能。
相对于专用sar芯片来说,由于Sar和网络处理器之间不能直接对接,需要进行总线转换,所以总线转换和流量控制需要在两个芯片上完成。而采用本设计技术,则在一个芯片(FPGA)上就能完成。
Claims (13)
1.一种实现异步传输模式ATM网络服务质量控制的方法,***每次接收到一个完整的因特网协议IP报文后的处理流程,包括以下步骤:
(a)在接收到IP报文后,对IP报文头增加头标志来指示IP报文属于哪个PVC通道以及是否OAM信元,如该报文是普通ATM信元,对该IP报文进行封装和分段处理,生成标准的ATM信元,执行步骤(b),如果是OAM信元,直接执行步骤(b);
(b)根据该IP报文的永久虚接续PVC通道号,查询出其对应的业务属性,对未定义比特率UBR业务还要查询出其隧道号,按固定比特率CBR业务或UBR业务分开存储;
***发送ATM信元的处理流程,包括以下步骤:
(c)发送时隙到来时,获取该时隙的PVC通道号,根据该PVC通道号查询是否有CBR业务信元等待发送,如果有,则发送该信元到下一级模块,结束;否则查询是否有UBR业务信元请求发送,如果有,响应该请求并发送该信元到下一级模块。
2.如权利要求1所述的方法,其特征在于,所述步骤(b)中,查询出所述IP报文对应的业务属性后,对于CBR业务信元,判断该信元是否OAM信元,如果是,则根据其PVC通道号按CBR业务OAM信元存储,否则根据其PVC通道号按CBR业务普通信元存储;对于UBR业务信元,判断该信元是否OAM信元,如果是,则根据其隧道号按UBR业务OAM信元存储,否则根据其隧道号按UBR业务普通信元存储,存储后更新存储器中的信元数和信元读写指针;所述步骤(c)中,根据所述PVC通道号,先后查询是否有CBR业务OAM信元、CBR业务普通信元,在查询到信元时,发送该信元到下一级模块,结束;否则,查询是否有UBR业务信元请求发送,如果有,则发送该信元到下一级模块。
3.如权利要求1或2所述的方法,其特征在于,所述步骤(b)中,对于UBR业务信元,根据隧道优先级和OAM信元优先原则对各隧道进行轮询,决定发送OAM信元还是其中一隧道的普通ATM信元,当确定有一个隧道或者OAM信元队列准备好一个信元等待发送后请求发送,同时更新一个信元发送状态寄存器的信息,包括信元类型标志位和隧道号索引;所述步骤(c)中,如果查询到没有CBR业务信元等待发送,则查询所述状态寄存器,如果类型标志位为OAM信元,则从OAM信元队列读取OAM信元发送;如果类型标志位为普通ATM信元,则根据状态寄存器中的隧道号索引从相应隧道中读取普通ATM信元发送。
4.如权利要求1所述的方法,其特征在于,所述步骤(c)中,在查询不到UBR业务信元请求发送时,先判断该时隙剩下的时间是否允许发送一个完整的信元,如果不允许,一个时隙数据处理结束;否则再次查询是否有UBR业务信元请求发送。
5.如权利要求1所述的方法,其特征在于,所述步骤(c)中,发送时隙到来时,是通过查询时隙表获取该时隙的PVC通道号。
6.如权利要求5所述的方法,其特征在于,所述时隙表包含各时隙对应的PVC通道号和该时隙是否空闲的参数,***根据各个通道的配置参数,确定业务属性为CBR的各个PVC通道在整个时隙表中占有的时隙,并使得每个CBR业务在时隙表中占用的时隙均匀分布;同时管理一个时隙指针,每查询一次,则该指针加1,如果当前指针已为时隙表的最后一个数据,则指针清零,指向时隙表的第一个数据。
7.一种实现异步传输模式ATM网络服务质量控制的装置,其特征在于,包括报文接收模块、报文处理模块、业务控制模块、固定比特率CBR业务管理模块、未定义比特率UBR业务管理模块和ATM信元发送控制模块,其中:
所述报文接收模块,用于缓存接收到的因特网协议IP报文,并增加一个头标志,用于指示该IP报文属于哪一条PVC通道以及是否OAM信元;
所述报文处理模块,用于查询所述报文接收模块并从中读取一个完整的报文,将OAM信元直接向业务控制模块发送,如果是普通ATM信元,先进行异步传输模式封装并分段,组装成标准的ATM信元再发送;
所述业务控制模块,用于根据该IP报文的永久虚接续PVC通道号,查询出其对应的业务属性,按CBR业务和UBR业务分开存储;
所述CBR业务管理模块,用于以PVC通道号为索引存储CBR业务信元,接收和响应所述ATM信元发送控制模块的查询和发送信元请求;
所述UBR业务管理模块,用于以隧道号为索引存储UBR业务信元,并根据隧道优先级和OAM信元优先原则决定发送OAM信元还是其中一隧道的普通ATM信元,向所述ATM信元发送控制模块申请发送ATM信元,得到响应后,从存储器中读取信元并发送给ATM信元发送控制模块;
所述ATM信元发送控制模块,用于在发送时隙到来时,获取该时隙的PVC通道号,根据该PVC通道号查询是否有CBR业务信元等待发送,如果有,则发送该信元到下一级模块,结束;否则查询是否有UBR业务信元请求发送,如果有,响应该请求并发送该信元到下一级模块。
8.如权利要求7所述的装置,其特征在于,所述装置还包括永久虚接续PVC通道属性表,所述PVC通道属性表由***配置,用于存储***中每条PVC通道的业务属性,以待所述业务控制模块查询。
9.如权利要求7所述的装置,其特征在于,所述装置还包括时隙表,包含各时隙对应的PVC通道号和该时隙是否空闲的参数,***根据各个通道的配置参数确定业务属性为CBR的各个PVC通道在整个时隙表中占有的时隙,每个CBR业务在时隙表中占用的时隙均匀分布。
10.如权利要求7所述的装置,其特征在于,所述CBR业务管理模块进一步包括CBR业务信元读写控制模块,CBR业务普通信元存储器和CBR业务OAM信元存储器,其中:
所述CBR业务信元读写控制模块,用于接收所述业务控制模块传递过来的PVC通道号和信元,判别所述信元的类别,将这些信元按各自类别存储到所述CBR业务普通信元存储器或所述CBR业务OAM信元存储器中,并管理每条PVC通道的各种状态参数,所述状态参数包括所述存储器中的信元数和信元读写指针;同时响应所述ATM信元发送控制模块的查询和发送信元请求;
所述CBR业务普通信元存储器,用于缓存CBR业务普通ATM信元;
所述CBR业务OAM信元存储器,用于缓存CBR业务OAM信元。
11.如权利要求7所述的装置,其特征在于,所述UBR业务管理模块进一步包括UBR业务信元读写控制模块,UBR业务普通信元存储器和UBR业务OAM信元存储器,其中:
所述UBR业务信元读写控制模块,用于接收所述业务控制模块传递过来的隧道号参数和信元,判别这些信元的类别,将这些信元按各自类别存储到所述UBR业务普通信元存储器或所述UBR业务OAM信元存储器中,并管理每个隧道的各种状态参数;同时查询每个隧道,并根据隧道优先级和OAM信元优先原则决定发送OAM信元还是某一隧道的普通信元,当确定有一个隧道或者OAM信元队列准备好一个信元等待发送后,则向ATM信元发送控制模块申请发送ATM信元,同时更新一个信元发送状态寄存器,该寄存器包括一个信元类型标志位和一个隧道号索引,且在得到响应后查询状态寄存器,如果类型标志位为OAM信元,则从UBR业务OAM信元存储器中读取信元并发送给ATM信元发送控制模块;如果类型标志位为普通ATM信元,则根据状态寄存器中的隧道号索引从UBR业务普通信元存储器中读取信元并发送给ATM信元发送控制模块;
所述UBR业务普通信元存储器,用于缓存普通ATM信元;
所述UBR业务OAM信元存储器,是一个先进先出FIFO缓存器,用于缓存OAM信元。
12.如权利要求7所述的装置,其特征在于,所述装置还包括ATM信元缓存模块,所述ATM信元缓存模块,用于接收所述报文处理模块处理好的数据,并管理一个先进先出FIFO队列,以待所述业务控制模块查询和读取。
13.如权利要求9所述的装置,其特征在于,所述ATM信元发送控制模块进一步包括时隙查询模块和发送控制模块,其中:
所述时隙查询模块,包含一个固定周期发生器,用于按***设定的周期生成时隙,同时管理一个时隙指针,在每个时隙开始时刻,查询时隙表,返回这个特定时隙的时隙参数,包括时隙是否空闲和PVC通道号的信息,然后将该时隙指针加1,如果当前指针指向时隙表的最后一个数据,则指针清零,指向时隙表的第一个数据;
发送控制模块,用于根据时隙查询模块查询时隙表返回来的参数决定是查询CBR业务管理模块还是查询UBR业务管理模块,如果查询到CBR业务管理模块没有数据发送,则查询UBR业务管理模块是否申请发送数据,如有则发送UBR业务数据,否则该时隙空闲,不发送任何数据;并用于将CBR业务管理模块或者UBR业务管理模块发送过来的信元转发出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100789728A CN101064697B (zh) | 2006-04-28 | 2006-04-28 | 一种实现异步传输模式网络服务质量控制的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100789728A CN101064697B (zh) | 2006-04-28 | 2006-04-28 | 一种实现异步传输模式网络服务质量控制的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101064697A CN101064697A (zh) | 2007-10-31 |
CN101064697B true CN101064697B (zh) | 2011-10-26 |
Family
ID=38965411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100789728A Expired - Fee Related CN101064697B (zh) | 2006-04-28 | 2006-04-28 | 一种实现异步传输模式网络服务质量控制的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101064697B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2566118B1 (en) | 2011-09-01 | 2013-08-28 | Alcatel Lucent | Network element for switching time division multiplex signals |
CN102780638B (zh) * | 2012-08-15 | 2015-07-22 | 福建星网锐捷网络有限公司 | 永久虚通道调度方法及装置 |
CN103731402B (zh) * | 2012-10-12 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 标志位的访问方法和装置 |
CN102932265B (zh) * | 2012-11-06 | 2015-06-17 | 福建星网锐捷网络有限公司 | 数据缓存管理装置和方法 |
CN113726493B (zh) * | 2021-07-26 | 2023-03-31 | 新华三信息安全技术有限公司 | 一种信元调度方法及装置 |
CN113660643B (zh) * | 2021-07-30 | 2024-03-08 | 深圳成谷科技有限公司 | 用于车路协同的通信方法和设备 |
-
2006
- 2006-04-28 CN CN2006100789728A patent/CN101064697B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101064697A (zh) | 2007-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6205151B1 (en) | ATM cell scheduler which uses a heap memory and associates timestamps with each channel | |
EP0873037B1 (en) | Traffic shaper for ATM network using dual leaky bucket regulator | |
US5274768A (en) | High-performance host interface for ATM networks | |
EP0924954B1 (en) | ATM cell transmissions | |
US6785290B1 (en) | Line interface integrated circuit and packet switch | |
US7400638B2 (en) | Apparatus and methods for managing packets in a broadband data stream | |
CN101064697B (zh) | 一种实现异步传输模式网络服务质量控制的装置和方法 | |
US6490264B1 (en) | Data transmission method and system | |
CN100486224C (zh) | 一种基于fpga实现atm网络流量控制的装置及方法 | |
CN116893983B (zh) | 数据缓存方法、设备及介质 | |
KR100339463B1 (ko) | 고정길이셀의순차적스트림처리장치,비동기전송방식의스위치어댑터및스위칭유닛 | |
CN100413283C (zh) | 基于连接对的流量均衡处理方法与装置 | |
EP0674825B1 (en) | Device for the conversion of data blocks, frame structured, into atm cells and vice versa | |
CN100591036C (zh) | 一种实现异步传输模式适配层功能的装置 | |
US6529474B1 (en) | Shaping algorithm | |
Chiou et al. | The effect of bursty lengths on DQDB networks | |
CN1607792B (zh) | 储存传输单元方法及网络通信装置 | |
KR100347513B1 (ko) | 협대역 망 연동용 비동기전송모드 셀 다중화 회로 | |
KR100285323B1 (ko) | 비동기 전송망의 송신용 에이에이엘2 변환장치 | |
JPH1155276A (ja) | シェーピング装置 | |
JP3385108B2 (ja) | セル課金装置 | |
KR0129609B1 (ko) | 사용변수제어/망변수제어의(upc/npc) 적응적 셀간격 조정방법 | |
CN100420234C (zh) | 流量整形调度方法及装置 | |
KR100382361B1 (ko) | 고속 브이씨 머지 가능 비동기 전달 모드 교환 시스템 및그에 적용되는 브이씨 머지 셀 구별 방법 | |
CN100544497C (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111026 Termination date: 20150428 |
|
EXPY | Termination of patent right or utility model |