# 需求分析与设计 ## 关联文档 - `《面向垂直行业的 N4 边缘解耦 UPF 设备规范》 v1.0.0`,第6.3章节 - `《面向垂直行业的边缘 N4 解耦 UPF 测试规范》v2.0` ,第11.4.1章节 ## 需求分析 `UPF` 需增强支持识别数据业务,以根据不同业务做相应的计费。 对于 `HTTPS` 协议,可通过识别 `client hello` 消息中的 `sni` 字段来实现业务识别;并通过配置不同 `pdr`配置不同`dn`以实现区分不同业务计费。 ## 代码流程 通过增加对 `client hello` 报文进行解析后,获取到 `sni`,并进行 `sni` 和 `pfd` 中 `dn` 的匹配,对匹配上的 `dn`->`pfd`,视为命中的 `pdr`,并应用相应转发,计费规则。 ![TLS_SNI.png](../../../_static/TLS_SNI.png) ## 遗留问题 目前存在 urr 计量不准确问题,原因有如下两个: 1、由于在 `sni`只在 `client hello`报文中出现;所以后续的业务报文无法通过识别`sni`的逻辑来修正命中的`pdr`; 2、又因为目前的`flow cache` 中需要有`4M字节`的报文预热后,`flow cache` 才会生效通过五元组来匹配报文实现`pdr`命中。