Traffic Flow Template(TFT)
总体介绍
TFT包含了一个或多个下行分类器和零个或多个上行分类器(这个说明下行分类器是必须的,上行是可选的,只有上行IP Flow的PDP的话,不要显式提供,但下行分类器应该有,即和任何报文都不匹配)。每一个分类器有一个唯一的分类器ID标识(在TFT内唯一,4bit标识)。上行和下行分类器的数量有24.008指定(0到16个,在TFT的操作类型为“no TFT operation”时,可以为0)。每个包分类器还有一个使用优先级索引(evaluation precedence index),该优先级应该在一个PDN连接(有相同的APN的PDP地址)的上行(或下行)方向唯一。这时因为MS/PCEF在识别PDN连接后,就使用TFT的分类器进行PDP的识别(绑定),这时就需要根据分类器的优先级进行评估了。这个优先级索引的范围是0到255,0优先级最高,首先被使用。这也说明一个PDN连接最多只能有256个分类器(实际上用不完)。MS管理分类器标识和使用优先级,并且创建包分类器的内容。
对于没有下行IP流的业务,MS应该提供上行IP流的包分类器使得PCEF可以执行相关的策略。--这一段R8后增加的,不理解
在MS发起的二次PDP激活/更新过程中,MS可以关联一个TFT到该PDP上下文。在网络侧发起的二次PDP激活/更新(MS/NW模式)过程中,网络可以关联一个TFT到该PDP上下文。
MS_Only模式,MS可以通过MS发起的PDP更新过程修改任何TFT。
在MS/NW模式,GGSN和MS都可以通过MS/GGSN发起的PDP更新过程修改TFT,但有一定的限制,见下
关联到PDP的TFT总是在PDP去激活时被删除。
对与有相同的APN和PDP地址的这些PDP上下文中应该最多有一个(也可以没有)PDP上下文没有关联TFT。
MS可以使用TFT将应用和激活的PDP进行关联,所以,在网络侧发起的二次激活时,GGSN应该提供和PDP相关的业务流描述信息(源/目的IP,端口和协议信息等)
PDN连接,PDP上下文和TFT的关系:一个PDN连接一个有多个PDP上下文,一个PDP上下文有一个TFT或没有TFT。通过PDP激活和更新过程对TFT进行操作。
l TFT操作规则
MS和GGSN应该使用TFT和分类器ID对TFT和分类器进行操作。
但MS或GGSN创建一个新的TFT或修改一个已存在的TFT时,至少包括一个有效的分类器。否则创建或修改流程失败,并返回适当的原因值。
在修改TFT时,一个或多个分类器可以被修改,删除或创建。为了修改一个已存在的分类器,分类器相关的属性应该有MS或GGSN提供。MS可以通过MS发起的PDP更新过程修改分类器的使用优先级; GGSN可以通过GGSN发起的PDP更新过程修改分类器的使用优先级。
关联到PDP的TFT在PDP去激活时被删除。一个TFT也能够由MS发起的PDP更新过程进行删除。(GGSN为什么不可以删除TFT),任何时候,一个PDN连接中,只能存在一个没有TFT的PDP。如果删除TFT违反了这个规则,GGSN应该拒绝。
MS和GGSN可以对TFT进行如下的操作
0 0 1 Create new TFT //创建TFT
0 1 0 Delete existing TFT //删除TFT
0 1 1 Add packet filters to existing TFT
1 0 0 Replace packet filters in existing TFT
1 0 1 Delete packet filters from existing TFT
1 1 0 No TFT operation //该操作不改变TFT,如修改TFT中的参数列表
l MS/NW模式下,对TFT操作的约束
PDP激活/更新过程中协商的BCM适用于该PDN连接的所有PDP上下文。不同的BCM,对二次PDP激活/更新和TFT操作存在如下约束
当MS的BCM为MS_Only时,比较简单,MS专属控制PDP的激活和TFT的操作。
1) GGSN不能发起PDP激活
2) GGSN不能修改和删除TFT,但可以更新QoS。因为TFT内包含的信息都是MS设置的,其他实体无权修改和删除。
当MS的BCM为MS/NW时,比较复杂,必须增加更多约束避免操作上的冲突。
1) GGSN和MS都可以请求创建PDP上下文
2) MS请求修改二次PDP的QoS时,TFT中至少包含一个分类器,用于向网络侧指出那个分类器和该QoS修改关联。MS请求的是整个PDP的QoS总量,本次修改的变化量需要GGSN或PCRF来推导得出。--否则网络侧无法进行授权
3) MS不应该升级PDP的QoS参数除非MS发送了该PDP的TFT。--QoS的升级必须包含TFT,这句还不太理解??
4) 如果PDP的TFT中包含MS和GGSN设置的分类器,则MS只能修改该PDP的QoS参数的bitrate。--其他参数,如CQI的修改对其他网络侧控制的IP Flow也产生影响,这是不应该的。
5) MS不能发起没有设置TFT的二次PDP激活。--否则网络侧无法对该PDP进行TFT操作了,同时,也不允许MS删除二次PDP的TFT吧(即使这些TFT是有MS设置的)
6) 在去活“没有TFT的PDP”后,GGSN可以使用网络侧发起的二次PDP激活来重建没有TFT的PDP上下文。--允许网络侧建立没有TFT的PDP。这时MS不能对该PDP进行TFT操作了。
7) MS不应该增加TFT到没有TFT的PDP上。--否则,相当于改变了该PDP承载的业务,影响网络侧的承载绑定策略。
8) 只有设置该分类器的实体(MS或GGSN)可以修改或删除该分类器。--否则,会相互改变对方设置的策略,造成混乱
MS/NW模式下,虽然双方都可以进行操作,但NW被赋有更多的控制力,MS可以在其基础上添加自己的策略,但不能影响对方的承载绑定策略和QoS策略。
总之,MS建立的二次PDP应该允许网络进行TFT操作(不管网络是否会进行),网络建立的TFT可以不允许MS进行操作(MS如果需要可以再建)。
即使增加这个约束,3GPP对GPRS接入时,MS/NW模式的定义还是问题多多,不好实现。
l 包分类器属性
每一个包分类器包含一个ID(TFT内唯一),一个使用优先级(PDN连接内唯一)和至少下列的一个属性。
- 远端地址和掩码
- 协议号 (IPv4)/下一个头(IPv6)
- 本端端口范围
- 远端端口范围
- IPsec安全索引(SPI).
- Type of Service (TOS) (IPv4) / Traffic class (IPv6) and Mask.
-
远端“Remote”只PDN网络中的实体,Local指MS
这些属性中,有些可以共存,有些是互斥的。下表列出了一些有效的组合。
当PDP报文匹配了分类器的所有属性,则匹配过程终止,否则继续使用低优先级的分类器进行匹配。
![](/assets/blank.gif)
Traffic Flow Template(TFT)相关推荐
- Windows MVSC编译器实现Xtended Flow Guard(XFG)保护机制的原理分析
一.前言 近期,微软正在开发Xtended Flow Guard(XFG),这是Control Flow Guard(控制流防护,CFG)的演进版本,作为其自身的控制流完整性实现.XFG通过不同类型函 ...
- Elasticsearch template(待续...)
动态模板 Dynamic templates allow you to define custom mappings that can be applied to dynamically added ...
- 自动化监控--zabbix中的template(模板)详解
模板概述 模板是可以方便地应用于多个主机的一组实体.而这些实体包括:items(监控项).triggers(触发器),graphs(图形).applications(应用).screens (聚合图形 ...
- C++,OpenCV 中template(模板)的简单理解
问题:为什么要写这篇博客呢? 答:在看opencv 2.4.13 的手册的时候,有很多长得是这样的东东: 这里的 template<> class DataType< uchar&g ...
- 编译原理实验语义分析_Windows MVSC编译器实现Xtended Flow Guard(XFG)保护机制的原理分析...
一.前言 近期,微软正在开发Xtended Flow Guard(XFG),这是Control Flow Guard(控制流防护,CFG)的演进版本,作为其自身的控制流完整性实现.XFG通过不同类型函 ...
- QML实现酷炫的 Cover Flow 效果(PathView)
前言 在 QML 中的 PathView 来实现一个 Cover Flow 图片切换效果,非常酷炫,并且代码也非常精简,先来看看效果图 源代码 Rectangle {id:coverflowcolor ...
- template(模板)的介绍以及使用方法
引言: 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码. 在我们刚开始接触编程的时候,基本上新手都会自己编写一个交换函数(参数暂且为int),当我们的类型不是int而变成了do ...
- java消费降速的一般方案_Java9 Flow API(译)
原文链接 这篇文章中,会展示一个Java9中FlowAPI的列子,通过Publisher和Subscriber接口来构建响应式程序.最后你将会理解这种全新的编程模式和她的优缺点.所有的代码可在Gith ...
- html 文档模板,html/template(模板)
import "html/template" 概述 索引 示例 概观 模板包(html/template)实现了数据驱动的模板,以便在代码注入过程中安全地生成HTML输出.它提供了 ...
最新文章
- 为什么说++i的效率比i++高?
- MySQL中concat函数(连接字符串)
- php会员系统源码_b2b2c商城系统会员预存款架构及源码分享
- OpenCv学习篇——图像中值滤波算法
- mysql分割字符串_mysql分割字符串
- signature=6c079696129d622a67d7c54abb9b893c,合肥2017年1月24日至2017年2月10日交通违章查询...
- linux软件安装文档总结
- 澳洲国立与渥太华计算机科学,山东小伙斩获渥太华电子工程专业及多伦多计算机科学专业录取!...
- 路演 - roadshow
- 今日头条 2018 AI Camp 视频面试
- 微信小程序的基本操作
- 音视频技术开发周刊 | 263
- 简单线性回归Ridge的应用及画图(二)
- 像经济学家那样思考:信息、激励与政策
- BUCT-2023寒假集训-进阶训练赛(九)题解
- 生活啊,尽情虐待我吧
- uni-app项目之电影预告
- 金山搜狗可牛傲游百度宣布将不兼容360
- html5 任务列表,任务列表页.html
- 《水经注地图服务》地图服务与通用设置说明
热门文章
- Pyecharts可视化分析图表
- 【Python学习教程】P1-安装python 3.10.0
- ctr预估 php,深度学习在CTR预估中的应用
- ubuntu 18使用国内版firefox
- 制作App的入门教程
- 蓝库云|什么是智慧制造?它将为企业创造4大优势
- livereload使用方法
- 林轩田机器学习基石-Notes
- 【Paddle打比赛】全球人工智能技术创新大赛-商品标题实体识别竞赛_副本
- 安卓下的c语言ide,C语言编译器IDE安卓版下载-C语言编译器IDE下载v1.7 最新版-腾牛安卓网...