一种基于可编程交换机的网络资源的双层隔离方法

文档序号:7553275阅读:170来源:国知局
专利名称:一种基于可编程交换机的网络资源的双层隔离方法
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种基于可编程交换机(Net FieldProgrammable Gate Array, NetFPGA)的网络资源的双层隔离方法。
背景技术
互联网在过去的几十年中取得了巨大的成功,它为人们提供了一个全新的交换信息、接受信息的平台。它的广泛普及,促进了网络技术的发展和应用。然而,规模巨大的网络同时也限制了它将来的发展。比如,以当前的网络的规模和大小,为每个网络业务保证服务质量非常困难。传统的QoS实现方法一般基于集成服务或者区分服务的模型。集成服务为每个业务保留单独的资源,但容易造成资源浪费;区分服务按照优先级等标签灵活分配资源,但无法给单个业务保留隔离的网络资源。集成服务与区分服务的模型各有优势,但缺少灵活性,无法适应多变的网络需求;另一方面,目前网络资源的分配方法大多基于软件模拟或理论推导,缺少具体的实现方法。

发明内容
本发明的目的在于针对现有技术的不足,提供一种基于可编程交换机的网络资源的双层隔离方法。本发明的目的是通过以下技术方案来实现的:一种基于可编程交换机的网络资源的双层隔离方法,包括以下步骤:
步骤一:数据包通过8个输入端 口之一进入可编程交换机:可编程交换机共有8个输入端口,包括4个IG以太网端口和4个DMA端口 ;交换机采用轮询方式轮流从8个输入端口之一选择数据包进入网络层;
步骤二:网络层协议根据路由表,按照数据包头部选择数据包的输出端口,并在数据包头部标记对应的输出队列;
步骤三:使用双层的网络资源隔离方法对标记了输出队列的数据包进行调度;该步骤通过以下子步骤来实现:
(3.1)获得数据包的流号:若从网络层输出的数据包不带VLAN标签,认为该数据包的流号为O ;若从网络层输出的数据包带VLAN标签,则使用VLAN的VID字段的低2位标识其流号:不带VLAN标签或者VID低2位为00的数据包被识别为流O,VID末2位为01的数据包被识别为流I, VID末2位为02的数据包被识别为流2, VID末2位为03的数据包被识别为流3 ;
(3.2)为每个流建立一条调度队列,将数据包根据流号送入对应的队列;
(3.3)对流进行分组,一个或多个流组合成一个聚流;
(3.4)使用加权时间片轮转方式分配每一个聚流的带宽:设一次轮转的时间片总数为N,任意一个聚流i的指定带宽为bi;总带宽为b,则给每一聚流在一次轮转中分配时间片为h / b * N ;当轮到一个聚流i接受服务时,它的时间将被属于聚流i的所有流使用;当时间片使用完时,聚流i停止接受服务,切换至下一个聚流接受服务;
(3.5)在聚流i分配到的服务时间内,按照流的权重分配属于每一个流f的服务时间:一个聚流内的多个流排队接受轮询,为每一个流设置一个差额计数器;当一个流开始接收服务时,依据该流的权重,给这个流的差额计数器加上一个差额(差额与权重大小成正比);对于一个正在被发送的流来说,每发送一个数据包,差额计数器就会减少该数据包的字节数,当差额计数器用完或者该流的队列为空时,就切换至下一个流;流的增加与减少会使得每个流得到的带宽改变,这样使得聚流内的带宽能被内部存在的流充分利用;
(3.6)当某个队列中的数据包充满队列,当有新数据包进入该队列时,该队列就会丢弃该队列中最老的数据包;
步骤四:经过调度的数据包进入输出队列:可编程交换机共有8个输出端口,包括4个IG以太网端口和4个DMA端口 ;根据步骤二中添加的输出端口标记,送入指定队列。本发明的有益效果是,本发明使用低成本的NetFPGA硬件设备,实现了网络资源的灵活、公平且可控的分配,降低了网络资源分配的实现成本,其实现方法简便,手段灵活,网络服务质量能得到显著保证,且与网络层协议无关。


图1是基于NetFPGA硬件的网络资源的双层隔离方法流程图。
具体实施例方式下面根据附图详细说明本发明。本发明基于可编程交换机的网络资源的双层隔离方法,包括以下步骤:
步骤一:数据包通过8个输入端口之一进入可编程交换机。可编程交换机共有8个输入端口,包括4个IG以太网端口和4个DMA端口。交换机采用轮询方式轮流从8个输入端口之一选择数据包进入网络层。步骤二:网络层协议根据路由表,按照数据包头部选择数据包的输出端口,并在数据包头部标记对应的输出队列(供步骤四使用)。步骤三:使用双层的网络资源隔离方法对标记了输出队列的数据包进行调度。该步骤是本发明的核心,分为以下子步骤。I)获得数据包的流号。每一个从网络层输出的数据包都或者不带VLAN标签(此时认为流号为O)或者带有VLAN标签(使用VLAN的VID字段的低2位标识其流号)。不带VLAN标签或者VID低2位为00的数据包被识别为流0,VID末2位为01的数据包被识别为流1,VID末2位为02的数据包被识别为流2, VID末2位为03的数据包被识别为流3。2)为每个流建立一条调度队列,将数据包根据流号送入对应的队列。队列可以直接在可编程交换机上使用赛灵思公司(Xilinx)的Core Generator软件利用NetFPGA上的块存储器(BRAM)资源自动生成先进先出队列。将数据包送入对应队列。3)对流进行分组,一个或多个流组合成一个聚流。4)使用加权时间片轮转方式分配每一个聚流的带宽。
设一次轮转的时间片总数为N,任意一个聚流i的指定带宽为bi;总带宽为b,则给每一聚流在一次轮转中分配时间片为h/ b * N。当轮到一个聚流i接受服务时,它的时间将被属于聚流i的所有流使用;当时间片使用完时,聚流i停止接受服务,切换至下一个聚流接受服务。通过这种方法,每一个聚流接受服务的时间都可以明确指定,这样,单个聚流的带宽就能得到保证。5)在聚流i分配到的服务时间内,按照流的权重分配属于每一个流f的服务时间。这里使用经典的差额轮询方法。一个聚流内的多个流排队接受轮询,为每一个流设置一个差额计数器(Deficit Counter)ο当一个流开始接收服务时,依据该流的权重,给这个流的差额计数器加上一个差额(差额与权重大小成正比)。对于一个正在被发送的流来说,每发送一个数据包,差额计数器就会减少该数据包的字节数,当差额计数器用完或者该流的队列为空时,就切换至下一个流。流的增加与减少会使得每个流得到的带宽改变,这样使得聚流内的带宽能被内部存在的流充分利用。双层的结构使得本方法不仅能够适应例如虚拟网要求严格带宽分配的要求(通过给每个虚拟网分配一个聚流),同时也能够适应依权重分配带宽的需求。6)当某个队列中的数据包充满队列,当有新数据包进入该队列时,该队列就会丢弃该队列中最老的数据包。步骤四:经过调度的数据包进入输出队列。可编程交换机共有8个输出端口,包括4个IG以太网端口和4个DMA端口。根据步骤二中添加的输出端口标记,送入指定队列。
权利要求
1.一种基于可编程交换机的网络资源的双层隔离方法,其特征在于,包括以下步骤:步骤一:数据包通过8个输入端口之一进入可编程交换机:可编程交换机共有8个输入端口,包括4个IG以太网端口和4个DMA端口 ;交换机采用轮询方式轮流从8个输入端口之一选择数据包进入网络层; 步骤二:网络层协议根据路由表,按照数据包头部选择数据包的输出端口,并在数据包头部标记对应的输出队列; 步骤三:使用双层的网络资源隔离方法对标记了输出队列的数据包进行调度;该步骤通过以下子步骤来实现: (3.1)获得数据包的流号:若从网络层输出的数据包不带VLAN标签,认为该数据包的流号为O ;若从网络层输出的数据包带VLAN标签,则使用VLAN的VID字段的低2位标识其流号:不带VLAN标签或者VID低2位为OO的数据包被识别为流0,VID末2位为01的数据包被识别为流I, VID末2位为02的数据包被识别为流2, VID末2位为03的数据包被识别为流3 ; (3.2)为每个流建立一条调度队列,将数据包根据流号送入对应的队列; (3.3)对流进行分组,一个或多个流组合成一个聚流; (3.4)使用加权时间片轮转方式分配每一个聚流的带宽:设一次轮转的时间片总数为N,任意一个聚流i的指定带宽为bi;总带宽为b,则给每一聚流在一次轮转中分配时间片为h / b * N ;当轮到一个聚流i接受服务时,它的时间将被属于聚流i的所有流使用;当时间片使用完时,聚流i停止接受服务,切换至下一个聚流接受服务; (3.5)在聚流i分配到的服务时间内,按照流的权重分配属于每一个流f的服务时间:一个聚流内的多个流排队接受轮询,为每一个流设置一个差额计数器;当一个流开始接收服务时,依据该流的权重,给这个流的差额计数器加上一个差额(差额与权重大小成正比);对于一个正在被发送的流来说,每发送一个数据包,差额计数器就会减少该数据包的字节数,当差额计数器用完或者该流的队列为空时,就切换至下一个流;流的增加与减少会使得每个流得到的带宽改变,这样使得聚流内的带宽能被内部存在的流充分利用; (3.6)当某个队列中的数据包充满队列,当有新数据包进入该队列时,该队列就会丢弃该队列中最老的数据包; 步骤四:经过调度的数据包进入输出队列:可编程交换机共有8个输出端口,包括4个IG以太网端口和4个DMA端口 ;根据步骤二中添加的输出端口标记,送入指定队列。
全文摘要
本发明公开了一种基于可编程交换机的网络资源的双层隔离方法,该方法将网络资源分为聚流层和流层,在聚流层调度时为每一个聚流预留指定带宽,在流层调度时让聚流内的多个流根据其权重竞争带宽。本发明使用低成本的NetFPGA硬件设备,实现了网络资源的灵活、公平且可控的分配,降低了网络资源分配的实现成本,其实现方法简便,手段灵活,网络服务质量能得到显著保证,且与网络层协议无关。
文档编号H04L12/861GK103166875SQ20131007787
公开日2013年6月19日 申请日期2013年3月12日 优先权日2013年3月12日
发明者吴春明, 曾若瑜, 周伯阳, 姜明 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1