对比不同的标准化组织3gpp和packetcable对cops协议的扩展

上传人:ldj****22 文档编号:45871737 上传时间:2018-06-19 格式:PDF 页数:12 大小:472.16KB
返回 下载 相关 举报
对比不同的标准化组织3gpp和packetcable对cops协议的扩展_第1页
第1页 / 共12页
对比不同的标准化组织3gpp和packetcable对cops协议的扩展_第2页
第2页 / 共12页
对比不同的标准化组织3gpp和packetcable对cops协议的扩展_第3页
第3页 / 共12页
对比不同的标准化组织3gpp和packetcable对cops协议的扩展_第4页
第4页 / 共12页
对比不同的标准化组织3gpp和packetcable对cops协议的扩展_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《对比不同的标准化组织3gpp和packetcable对cops协议的扩展》由会员分享,可在线阅读,更多相关《对比不同的标准化组织3gpp和packetcable对cops协议的扩展(12页珍藏版)》请在金锄头文库上搜索。

1、http:/ - 1 -对比不同的标准化组织对比不同的标准化组织 3GPP 和和 PacketCable 对对 COPS 协议的扩展协议的扩展 师晓刚 北京邮电大学电子工程学院,北京(100876) E-mail: 摘摘 要:要:本文首先简要介绍了 COPS 协议。COPS 协议作为一种底层协议,被很多应用加以 扩展,例如 3GPP 的 Go 接口和 PacketCable 的 PktMM-2 接口。笔者作为核心开发成员,设 计和开发出业界第一个商用化的 Go 接口,并在工作中对 PktMM-2 接口有所了解,所以对 它们的不同的 COPS 协议扩展方式有较深的理解。 本文就以这两个接口为例,

2、 分析了比较了 两种截然不同的 COPS 协议扩展方式的优缺点和对协议长期生命力的深远影响, 并从一般意 义上对协议扩展的方式提出自己的建议。 关键词:关键词:COPS,Go,PKTMM-2,COPS 协议扩展 1. 引言引言 IETF RFC2748 定义了 COPS(Common Open Policy Service),它是一种简单的查询和响应协议, 基于 TCP/IP。 用于在 PEP (Policy Enforcement Points, 策略执行点) 和 PDP (Policy Decision Point,策略决策点)之间交换策略信息。 作为一种基础协议,COPS 协议常被加以扩

3、展,用于定义不同的接口。本文就将比较不同的标准化 3GPP(以 Go 接口为例)和 PacketCable(以 PKTMM-2 为例)对 COPS 协议扩展的不同思路。 2. COPS 协议简介协议简介 COPS 协议用于策略的总体管理,配置和实施。它是为策略服务器和客户端之间交换策略信息而定义的一种简单的查询和响应协议。COPS 采用客户机 / 服务器模式。为保证可靠的数据交互,COPS 协议基于传输层协议 TCP 之上。总体而言 COPS 协议比较简单而且易于扩展。 COPS 定义了三个逻辑实体: PEP (Policy Enforcement Points, 策略执行点) , PDP (

4、Policy Decision Point, 策略决策点) 和可选的 LPDP (Local Policy Decision Point, 本地策略决策点) 。PEP 和 PDP 之间通过 COPS 消息以交互策略信息。参见下图。 图 1 COPS 示意图 http:/ - 2 -PEP 向 PDP 发送配置、更新、删除等请求,PDP 收到请求后,将决策响应回送给 PEP,PEP 再执行相应的操作。 PEPs - (requests,updates,and deletes) - PDP (Client) - (decisions) - (Server) COPS 特性总结如下: COPS 采用

5、客户机 / 服务器模式, 即 PEP 向远程 PDP 发送请求、 更新和删除信息,然后 PDP 返回决定给 PEP 。 COPS 使用传输层协议 TCP 以便为客户机和服务器提供可靠信息交换。 COPS 是可扩展的,它能够自我识别,并在不需要修改 COPS 协议本身的情况下支持不同特定客户机信息。 COPS 是为策略的通用管理、配置和执行而创建的。 COPS 为认证、中继保护和信息完整性提供了信息级别的安全性。COPS 也能使用已有安全协议,如 IPSEC 或 TLS ,以认证和确保 PEP 和 PDP 之间的信道。 COPS 有两个主要状态:(1)客户机和服务器共享请求 / 决策状态;(2)

6、可能是内部互相联系的来自各种不同事件(请求 / 决策)的状态。 此外, COPS 允许服务器将配置信息加载到客户机上,然后在不再使用的情况下允许服务器将其从客户机中删除。 2.1 COPS 协议格式协议格式 COPS 消息由公共头(header)和一个或多个 COPS 专有对象(COPS Specific Object)组成。 2.1.1 COPS 的公共头的公共头 格式为: 0 1 2 3 +-+-+-+-+ |Version| Flags| Op Code | Client-type | +-+-+-+-+ | Message Length | +-+-+-+-+ 图 2 COPS 公共头

7、格式 解释如下表: 表 1 COPS 公共头格式的具体解释 名字名字 起 始字节起 始字节 所占字节数所占字节数 内容内容 解释解释 version 0 (4 bits) 0x1 指定 COPS 版本号。当前版本号 1 flags (4 bits) (4 bits) 0x0 0x1 unsolicited message solicited message 当有其它 COPS 信息发送信息请求时需要设置该 Flag 为 1 (所有其它的 Flag 必http:/ - 3 -须设置为 0) op-code 1 1 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0

8、x09 0x0a Request (REQ) Decision (DEC) Report State (RPT) Delete Request State (DRQ) Synchronize State Request (SSQ) Client Open (OPN) Client Accept (CAT) Client Close (CC) Keep Alive (KA) Synchronize Complete (SSC) 注:Op Code 用于识别 COPS 操作 client type 2 2 0x0000 其 他 值(由扩展协 议 指定) 如果 op-code = KA 如果 op-

9、code KA 注:Client-Type 用来识别政策客户机。所有封装对象的解释都与 Client-Type 有关 message length 4 4 n n = 消息的字节数, 包含公共头和所有封装对象。 2.1.2 COPS 专有对象格式专有对象格式 格式为: 0 1 2 3 +-+-+-+-+ | Length (octets) | C-Num | C-Type | +-+-+-+-+ | | / (Object contents) / | | +-+-+-+-+ 图 3 COPS 专有对象格式 解释如下表: 表 2 COPS 专有对象格式的具体解释 名字名字 起 始字节起 始字节

10、所占字节数所占字节数 内容内容 解释解释 length 0 2 n n = 对象字节长度(包括头部) C-Num 2 1 0x01 0x02 0x03 0x04 0x05 Handle object Context object In Interface object Out Interface object Reason object http:/ - 4 -0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 Decision object LDPD Decision object Error object Client Specif

11、ic Info (ClientSI) object KA Timer object PEP Identification object Report Type object PDP Redirect Address object Last PDP Address object Accounting Timer object Message Integrity object C-Num 用于描述对象中信息的种类 C-Type 3 1 用于描述对象中的子类别或版本号, contents 4 n 4 注:如果消息长度不是 4 字节的整数倍,必须加 padding 到 4 字节的整数倍。 2.2 几种

12、重要的几种重要的 COPS 专有对象专有对象 以下简要介绍几种重要的 COPS 专有对象4,其中决策对象(Decision)和客户端特定信息对象(ClientSI)常被用于上层协议的扩展。 1)处理对象(Handle) C-Num=1 C-Type=1, 客户端处理 用于封装识别一种存储状态的唯一值,由 PEP 来负责创建和删除。 2)上下文对象(Context) C-Num=2 C-Type=1 用于让 PEP 通知 PDP 是谁发起的触发,内容部分是由请求类型(Request Type,R-Type)和 消息类型(Protocol Message Type,M-Type) 组成。 3)原因

13、对象(Reason) C-Num=5 C-Type=1 用于描述原因。内容部分是由 Reason-Code 和 Reason Sub-code 组成。COPS 定义了 13 种 Reason-Code。用户在实现时可以添加自己的私有定义。 4)决策对象(Decision) C-Num=6 C-Type=1,Decision Flag C-Type=2,Stateless Data,用于给本地 PDP 携带附加的无状态信息 C-Type=3,Replacement Data,,用于取代特定消息中已存在的数据 C-Type=4,Client Specific Decision Data, 用于特定决策对象客户端 C-Type=5,Named Decision Data,用于给配置请求回应约定的配置信息 注:Go 协议栈中,利用 Named Decision Data 来包含上层协议数据;PktMM-2 接口http:/ - 5 -中,利用 Client Specific Decision Data 包含扩展的协议数据。 5) 错误对象(Error) C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号