Computer Science and Application
Vol.4 No.10(2014), Article ID:14246,5 pages
DOI:10.12677/CSA.2014.4100032

Implementation Mechanism of DiffServ Based on IPv6 Flow Label

Liufang Wang1, Junliang Shi2

1Department of Electronic Engineering, Hebi Automotive Engineering Career Academy, Hebi

2Department of Electricity & Information Engineering, Wanfang Institute of Science and Technology, Henan Polytechnic University, Jiaozuo

Email: 172740089@qq.com

Copyright © 2014 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received: Sep. 3rd, 2014; revised: Oct. 1st, 2014; accepted: Oct. 11th, 2014

ABSTRACT

This text has changed the function of the router based on the DiffServ model; it puts the IPv6 flow label field and the source address as a keyword; it has established the forwarding table and forwarded the IPv6 packet according to the keywords in router. And it improves the forward speed. At the same time, it uses the distribution mechanism of flow label in the DS region and it avoids duplication and confusion of the flow label.

Keywords:Flow Label, Ipv6 Header, The Forwarding Table, The Distribution of the Flow Label

基于IPv6流标签的DiffServ
实现机制

王留芳1,石军亮2

1鹤壁汽车工程职业学院,电子工程系,鹤壁

2河南理工大学,万方科技学院电气与信息工程系,焦作

Email: 172740089@qq.com

收稿日期:2014年9月3日;修回日期:2014年10月1日;录用日期:2014年10月11日

摘  要

本文在DiffServ模型的基础上,改变了路由器的功能,使用IPv6流标签字段和源地址作为关键字,在路由器中建立转发表,根据关键字转发IPv6分组,提高转发速度;同时,在DS区域使用一种流标签分配机制,避免了流标签的重复和混乱。

关键词

流标签,IPv6报头,转发表,标签分配

1. 引言

几年来,高容量宽带网络使多媒体应用称为可能,多媒体的应用又要求网络提供服务质量QoS保证,IETF在QoS的实现上提出许多模型,包括:综合服务/资源预留IntServ/RSVP[1] 、区分服务DifServ[2] 、多协议标签交换协议MPLS[3] 、流量工程和约束路由CBR[4] 、子网带宽管理SBM。

在这几种模型中,最早出现的是IntServ/RSVP模型,该模型是针对单个流进行资源预留,中间路由器要保存各个流的状态,当数据流的数量增加时,维护流状态的信息量会很大,增加路由器的负担,并且每个路由器必须是RSVP路由器。所以该模型实现成本较高,扩展性差,不适合在大型网络中使用。

DiffServ模型的出现,是为了改变IntServ/RSVP模型的鲁棒性和扩展性问题。所以从根本上来说DiffServ模型与IntServ/RSVP模型是一脉相承的。DiffServ把复杂性放在网络的边界路由器,边界路由器对用户数据进行分类,标记,整形,内部核心路由器查看DS值,再根据PHB[5] 进行转发。DS是用户数据分组的优先级,根据优先级不同,DiffServ提供不同等级的QoS。PHB是仅是外特性的描述,表明在一个特定的路由器上分组所应获得的服务。DiffServ的特点:扩展性好,适合在大型网络中使用,但是只提供一种相对的服务质量,并不提供全网端到端服务质量保证。

MPLS模型在流量规划方面,实现了快速转发,但不能选择路由,必须和CBR合作。

这些方案各有优势,但都不能完全满足IP网络的QoS控制。因此在实现过程中需要对以上模型进行改进,或者把两种模型结合起来使用。

本文针对DiffServ在大型网络中使用时,路由器中的路由器表会很长,处理路由表信息时间成本增加,影响路由器的转发速度问题提出的一种改进方法。

DiffServ路由器转发过程是:在转发一个数据分组之前先查看路由器,找到目的地址,在其路由表中进行匹配,根据匹配的结果转发到相应的端口。该方式的主要问题是:当网络规模很大时,路由表很很长,此外每个路由器都要深入分析数据分组的头部,并且和路由表作匹配,这样浪费路由器的处理时间。

本文改进的方法是:不改变DiffServ基础结构的前提下,利用IPv6数据分组中的流标签字段,路由器转发时根据流标签字段,流标签相同的IPv6分组,沿相同的路径转发出去,不需要为每个数据分组选择路径,大大提高了转发的速度。

2. 新DiffServ结构设计

本文在原有DiffServ结构的基础上,物理结构并没有太大改变,主要是功能的增加。功能的增加表现在两个方面:一是,路由器转发表的改变;二是,在DS区域中,内部增加了一个LAR[6] 路由器,此路由器的功能主要是为本区域中的数据流分发数据流局部标签,边界路由器的功能为数据流分发并改写全局数据流标签。结构图如图1所示。

2.1. 边界路由器

在新DiffServ模型中,边界路由器将IPv6分组的通信量类型[7] 字段重新标记为DSCP字段。并把IPv6分组映射到不同的PHB。如图1所示。

DiffServ工作组已经推荐了DSCP和PHB之间的映射关系。如表1所示。

图2中,边界路由器根据DSCP的值,判断把IPv6分组应归为哪个队列。其中EF[8] 、AF、BF是PHB的值。路由器根据PHB的值为IPv6分组分配相应的资源。

Figure 1. The new DiffServ Structure

图1. 新DiffServ结构

Figure 2. The TOS field is mapped to PHB

图2. TOS字段映射到PHB

Table 1. The recommended DSCP value

表1. 推荐的DSCP的值

路由器使用流标签转发表的过程如图3所示:当边界路由器,在完成DSCP到PHB映射以后,分析IPv6分组的头部信息,检查流标签信息是否在转发表里。如果流标签信息在转发表里,就在转发表里找到与流标签和源地址信息对应的转发端口号,按端口号转发出去。如果流标签信息不在转发表里,路由器分析IPv6分组的头部信息,检查一下跳端口、修正跳到跳[9] 选项,优化路由选项报头的地址和指针等,路由器记录上述结果,最终形成转发表[10] 。存储到高速缓存中,把流标签和源地址作为查询高速缓存相应流状态信息的关键字。转发表结构如如表2所示。

具有相同的源地址、目的地址流标签的IPv6分组属于同一业务数据流,所以当路由器中队列EF(AF或BF)接收到一个新的IPv6分组时,检测到相同的流标签时,就根据高速缓存[11] 中状态信息查询关键字(由流标签和源地址生成)。找出流标签的状态信息,采用相同的路径转发出去,不需要为每一个数据分组重新选择路由,大大提高了数据分组的转发速度。

AF、BF队列的转发表结构和EF队列的转发表结构是一样的。

2.2. 核心路由器

核心路由器除了不具备标记,整形等功能外,其他的功能和边界路由器是一样的,把源地址和流标签字段作为关键字,相同流标签和源地址的IPv6分组按相同的路径转发出去。

3. 流标签结构的设计

流标签结构的设计方案是:建立在DiffServ的基础上,第一比特为“0”表示通信流启用的默认的尽力而为[12] 的服务,为“1”表示启用的是区分服务。

Figure 3. The process of the routers using the flow label

图3. 路由器使用流标签过程

Table 2. The structure of the forwarding (EF queue)

表2. 转发表的结构(EF队列)

为了在大型网络中能方便管理流标签,本文将20位流标签字段分为前6位的“全局流标签”和后14位的“局部流标签”。如图4

4. 流标签的分配和管理

为了使全网的流标签不发生混乱,正在使用的流标签不出现重复的现象。就要对流标签进行统一的分配和管理。

4.1. 流标签的分配

DiffServ模型是一种层次化结构,分为DS区域和DS区两级。DS区是有多个DS区域组成的。在每个DS区域中安装有一个流标签分配路由器,为该区域的数据流分配局部流标签LFL,以及为外部区域进到该区域的外部流分配全局流标签GFL。LAR(LAR1、LAR2)中保存DS区域(DS1区域、DS2区域)中正在使用的LFL流标签和GFL流标签。并用洪泛的方法向本区域内所有的路由器告知自己的IP地址。为了容错,每个域内设置两个LAR,一个主LAR,一个备用LAR。

4.2. 流标签的分配过程

局部流标签LFL[13] 的申请过程如下:

1) 主机PC1需要发送IPv6分组之前,要向最近路由器ER1发出流标签请求报文request[14] 。报文中包含分组的源地址和目的地址。

2) ER1收到请求报文request后,向DS1区域中LAR1转发此报文。

3) LAR1在局部流标签库中,找到一个没有使用的局部流标签LFL1,同时根据IPv6分组的目的地址判断,目的地址是否在DS1区域中,如果在此区域中,LAR1把全局流标签GFL1值置为0,由GFL1 + LFL1组合成完整的流标签,封装到分配报文answer中,向ER1发送流标签的分配报文answer[15] ,ER1再把分配报文answer传送到主机PC1,当PC1收到分配报文answer时,从中取出完整的流标签信息,分配给IPv6分组。

如果判断IPv6分组目的地址不在DS1区域中,就要申请全局GFL1流标签,申请过程如下:

1) LAR1根据目的地址,向边界路由器ER2发送全局流标签GFL1申请报文ask[16] ,并等待回复。

2) ER2向相邻的区域DS2的边界路由器ER3转发全局流标签GFL1申请报文ask,并等待确认。申请报文ask中包含DS1的编号[17] 。

3) ER3向DS2区域内的路由器LAR2转发申请报文ask,并等待回复。

4) LAR2判断流的目的地址是否在DS2内,如果不是,重复步骤1)~3),如果是向ER3发送回复[18] 报文message。报文message中包含GFL1信息。ER3把回复报文message发送ER2,ER2再转发此报文给LAR1。LAR1从报文message中取出GFL1,然后组合GFL1 + LFL1形成完整的流标签,发送给主机PC1,主机把完整的流标签分配给IPv6分组。

4.3. 流标签的管理

流标签的管理主要是流标签的分配和释放,流标签的分配主要有LAR路由器完成的。比如在DS1

Figure 4. The structure of the Flow Label

图4. 流标签的结构

区域的中LAR1路由器主要为本区域主机中数据流分配局部流标签,同时,为其他区域发送到本区域的数据流分配全局流标签。

流标签的释放可以用定时器,定时释放流标签。

5. 结束语

本文是DiffServ模型和IPv6流标签结合起来使用,把路由器的路由器表改变为转发表,当路由器接收到一个IPv6分组时,流标号相同时,查找转发表的关键字,根据相同的路径发送出去,这种方法要比DiffServ模型查找路由器表、分析目的地址头部的速度快,从整体上提高路由器的转发速度。

参考文献 (References)

  1. [1]   徐迎晓, 张根度 (2002) MPLS和区分服务的集成. 计算机工程, 4, 154-156 .

  2. [2]   顾军, 夏士雄, 张瑾 (2007) IPv6环境下端到端QoS模型. 计算机工程与设计, 5, 2037-2040.

  3. [3]   魏乐, 赵秋云, 舒红平 (2012) 云制造环境下基于QoS的组合云服务自适应调整. 兰州大学学报(自然科学版), 4, 98-104.

  4. [4]   曾刚, 张凌 (2005) 大规模网络中IPv6流标签的聚集和分配策略. 计算机工程, 14, 38-41.

  5. [5]   张瑾, 顾军, 夏士雄 (2007) 基于IPv6流标签的QoS控制机制. 计算机工程与设计, 18, 4413-4416.

  6. [6]   王晓武, 党小超 (2006 ) 对于IPv6网络中服务质量的研究. 现代电子技术, 16, 70-74.

  7. [7]   申利民, 陈真, 李峰 (2013) 一种考虑QoS数据不确定性的服务选取方法. 计算机集成制造系统, 19, 2652-2663.

  8. [8]   刘念伯, 刘明, 吴磊, 曾家智 (2010) 一种在MPLS网络中提供单流QoS保障的区分服务标记方法. 计算机应用研究, 27, 1422-1426.

  9. [9]   戴慧珺, 曲桦, 赵季红 (2013) 一种覆盖网多QoS约束均衡的路由算法. 计算机工程, 39, 65-69.

  10. [10]   Liu, K. and Lee, V.C. (2010) RSU-based Real-time Data Access in Dynamic Vehicular Systems. IEEE Transactions on Vehicular Technology, 56, 3337-3347.

  11. [11]   葛连升, 江林, 秦丰林 (2010) QoS组播路由算法研究综述. 山东大学学报(理学版), 45, 55-65.

  12. [12]   刘丽, 方金云 (2013) 一种考虑QoS的Web服务组合Petri网建模方法. 计算机科学, 40, 37-39.

  13. [13]   肖芳雄, 黄志球, 曹子宁, 屠立忠, 祝义 (2011) Web服务组合功能与QoS的形式化统一建模和分析. 软件学报, 11, 2698-2715.

  14. [14]   刘志忠, 王勇, 贺毅辉, 彭辉 (2013) 服务组合中面向端到端用户QoS需求的QoS聚合机制研究. 计算机科学, 40, 18-21.

  15. [15]   李英壮, 孙梦, 李先毅, 汪楠 (2011) 基于OpenFlow技术的QoS管理系统的设计与实现. 广西大学学报: 自然科学版, S1, 42-46.

  16. [16]   魏乐, 赵秋平, 舒红平 (2012) 云制造环境下基于QoS的组合云服务自适应调整. 兰州大学学报: 自然科学版, 4, 98-104.

  17. [17]   申利民, 陈真, 李峰 (2013) 一种考虑QoS数据不确定性的服务选取方法. 计算机集成制造系统, 10, 2652-2663.

  18. [18]   刘昕民, 桂卫华, 潘迪宏, 龙军 (2013) 一种基于D-S证据理论的QoS可信度评估方法. 哈尔滨工业大学学报, 3. 96-101.

期刊菜单