发明名称 一种基于可编程交换机的虚拟网服务质量实现方法
摘要 本发明公开了一种基于可编程交换机的虚拟网服务质量实现方法,数据包通过8个输入端口之一进入数据链路层后,输入仲裁器选择一个输入端口的数据包,送入网络层,网络层对数据包进行选路,按照网络协议的要求进行必要的修改,选路完毕的数据包送入质量保证模块进行调度,经过调度的数据包进入输出队列,最后数据包通过8个不同的端口,从数据链路层输出;本发明的方法适应当今互联网环境,运行过程高效迅速,成本低廉;其运行结果显著改善了虚拟网的服务质量保证,为网络虚拟化的服务质量做出了一定贡献。
申请公布号 CN103067244B 申请公布日期 2015.08.19
申请号 CN201210567295.1 申请日期 2012.12.25
申请人 浙江大学 发明人 吴春明;曾若瑜;周伯阳;姜明
分类号 H04L12/46(2006.01)I;H04L12/931(2013.01)I 主分类号 H04L12/46(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种基于可编程交换机的虚拟网服务质量实现方法,其特征在于,该方法包括以下步骤:步骤一:数据包通过8个输入端口之一进入数据链路层;步骤二:输入仲裁器选择一个输入端口的数据包,送入网络层;步骤三:网络层对数据包进行选路,按照网络协议的要求进行必要的修改:网络层在每一个数据包的头部之前添加一个辅助头部,用来标记该数据包即将进入的输出队列;步骤四:选路完毕的数据包送入质量保证模块进行调度;具体为:每一个从网络层输出的数据包都带有VLAN标签或者不带VLAN标签,不带VLAN标签的数据包优先级最低,为0,带VLAN标签的数据包,由其PCP字段标识其优先级,PCP字段共12位,可标识4096个优先级;利用FPGA硬件中的组合逻辑资源,在质量保证模块中生成一个过滤器子模块;该模块通过分析数据包头部的VLAN标签中的PCP字段,识别出数据包的优先级;该优先级作为送入不同优先级队列的依据;质量保证模块中对每一种可识别的优先级建立了一条队列,优先级越高,队列长度越大;队列完全使用FPGA硬件资源实现;NetFPGA硬件提供了Block RAM硬件资源,可以直接利用Block RAM资源生成四条硬件队列,最高优先级的队列最长,最低优先级的队列最短;经过过滤器分析的数据包依据优先级进入四条硬件队列;利用FPGA组合逻辑资源,在质量保证模块中添加了仲裁器子模块;仲裁器子模块将从多个优先级队列中获取数据包;仲裁器中对每一个优先级都设置了计时器,越高的优先级计时器设置的超时就越短;每当一个计时器超时,仲裁器就从该计时器对应的优先级队列中取数据包,然后重新计时;当某个优先级队列中的数据包充满队列,过滤器仍要将数据包送入该队列时,该优先级队列就会丢弃该队列中最老的数据包;为方便数据统计,在质量保证模块中设置了流量寄存器组和丢包寄存器组;流量寄存器将分别统计每一个VLAN标签输出的数据包,丢包寄存器将分别统计每一个VLAN标签因为溢出而丢弃的数据包;这些寄存器可以被软件读取;每当仲裁器从一个优先级队列中取走一个数据包,该优先级队列就会向流量寄存器组中该数据包的VLAN标签对应的寄存器加一;每当优先级队列溢出,丢弃一个老的数据包时,该优先级队列就会向丢包寄存器组中该数据包的VLAN标签对应的寄存器加一;步骤五:经过调度的数据包进入输出队列:分析数据包的辅助头部,放入各个不同的输出队列;步骤六:数据包通过8个不同的端口,从数据链路层输出。
地址 310058 浙江省杭州市西湖区余杭塘路866号