IPv6 QoS及其实现进一步探讨( 二 )
从图中可以看出 , IPv6有两个字段与QoS有关 , 分别为流量类别(Traffic Class , TC)和流标签(Flow Label , FL)字段 。流量类别字段有8位 , 和IPv4的服务类型(ToS)字段功能相同 , 用于对报文的业务类别进行标识;流标签字段有20位 , 用于标识属于同一业务流的包 。流标签和源、目的地址一起 , 惟一标识了一个业务流 。同一个流中的所有包具有相同的流标签 , 以便对有同样QoS要求的流进行快速、相同的处理 。
流标签规范
流标签规范定义了流以及与流标签有关的一些基本规范 , 同时提出了不少建议草案 。这里摘要简单介绍 。
流是从某一源节点发往某一单播、任播或组播地址的目的节点的一系列包 。源节点用流标签标识一个流 。一个具体的传输连接或媒体流中的所有包都属于一个流 。当然 , 并非一个流必须和一个传输连接 1:1对应 。
流标签在高效处理方面具有非凡的优势 。和五元组相比 , IPv6的源地址、目的地址以及流标签都出现在基本报头中 。而五元组则由于或者是报文的分段 , 或者是加密 , 或者是协议在多个扩展的报头之后才可以取得 , 因此在处理的效率上要差一些 。
当然 , 由于流标签处在一个非常暴露的位置 , 在反抗服务盗用以及DoS(拒绝服务)攻击方面比较脆弱 , 需要一定的措施来保护 。一般需要一个比较信任的环境 , 或者启用入境(ingress)过滤等防范措施 。
现在 , 流标签规范还只是一个框架 , 并没有对流标签的使用做出明确的定义 , 只规定了一些非常原则的内容 , 主要包括:(1)IPv6流支持的最低要求是标记流(给流打标签) 。流标签应该由流的发起者信源节点赋予一个流 。流标签是一个1-FFFFF的伪随机数 。对那些不支持流标签处理的节点和应用应将FL置成0 , 或者不对该字段进行处理 。(2)源节点应该能够为流选择没有用过的流标签值 。当新建流时 , 源节点必须保证它不会无意识地重用当前正用或是最近刚用过的流标签值 。也就是说 , 新建同一源地址和目的地址之间的流 , 不能用之前120s之内用过的流标签值 。对于各自不同的流 , 源节点应该能够提供方法 , 为应用和传输协议指定留验期长于120s 。(3)为了避免由于系统每次重新启动而意外地重用流标签值 , 初始值应该能够从存储在非易失性存储器里的上一次流标签值导出 , 假如这些历史数据也丢失了 , 则用一个好的随机数算法产生一个随机初始值 。(4)流状态的建立方式必须满足的最低要求是 , 提供具体流处理功能的IPv6节点具有清理流状态的手段;当请求的流状态节点不能支持时 , 流状态建立方法必须能够恢复 , 从而保证不同的方法可以被使用 。
当然 , 对流标签的定义和使用还提出了不少草案 。例如 , 将20位进一步细分为3 17位 , 前3位可以定义为支持诸如Diff-Serv、Int-Serv等几种类别 , 后17位则根据前面定义的类别再定义相应的功能或者应用 。这里不具体介绍 。
IPv6 QoS信令扩展
QoS信令是目前研究的热点之一 , 也是支持端到端QoS技术的一个重要方面 。从技术的角度看 , 可以支持带内或者带外的信令 。RSVP和802.1p分别是一个示例 。但如前所述 , RSVP可能并不适合在Internet这种大规模的网络中使用 。
IPv6可以比较方便地支持QoS信令的实现 , 具体的做法是 , 根据IPv6的Hop by Hop扩展头对信令进行定义 。由于每个IPv6节点都必须处理Hop by Hop扩展头 , 这样就可以实现QoS信令 。即通过在数据流的第一个数据包中携带有关信息 , 在经过逐跳处理和预留以后到达接收端 , 接收端根据情况将有关信息回传发送方 , 这样就可以进行有QoS保证的数据发送了 。
推荐阅读
- 浅谈IPv6技术的若干问题
- 移动IPv6关键路由技术分析
- IPv6业务发展前景与部署策略详细解析
- “听听”“说说”的IP化——IP PBX技术发展及其方案选择
- 无线视讯系统及其应用
- IPv6协议中的地址配置
- 移动IPv6协议:移动通信的基石
- IPv6协议产生的背景过程和现状
- IPv6的邻居发现技术
- 无线接入技术及其特点 无线接入技术及其特点有哪些