GBT 28181-2022解读1:基本框架

数据安全 数据安全 1662 人阅读 | 0 人回复

发表于 2023-10-17 09:30:23 | 显示全部楼层 |阅读模式

1.引言
  国家标准GB/T 28181-2022《公共安全视频监控联网系统信息传输、交换、控制技术要求》已于2022年12月30日发布,将于2023年7月1日实施。该标准规定了视频联网系统的联网结构、信令流程、协议接口以及相关安全性要求,适用于公共安全视频联网系统的方案设计、系统检测、验收以及与之相关的设备研发、生产。
  标准定位于视频资源联网共享,2011年首次发布,并很快得到了广泛应用落地,2016年发布了更新版。随着业务实践的深入和新场景、新应用的需求驱动,2022年再次进行更新。下面介绍一下标准的基本框架和2022版主要技术改进点。
  2.基本框架 2.1.资源编码
  标准从设计之初就充分考虑了全国统一大规模联网的需求,制定了一套全局统一的资源编码规范,对联网系统里面的设备、客户端、服务器、用户等实体进行统一编码。编码结构中包含省、市、区等行政区划信息,以及行业编码、类型编码等,因此能够做到各自独立编码且全局唯一不冲突,同时通过编码本身也能直接获取到对应实体的所属区域和类型等基本信息。
  早期的视频联网系统往往是从各自独立且小规模进行建设,然后慢慢扩容升级,正是有了这样前瞻性的全局统一的编码规范,使得后面这些独立系统能够顺利进行大规模联网。
  标准中对设备进行了简化抽象,摒弃了通道概念的复杂性,将通道本身看作一个子设备,同样有唯一的设备编码。为了更好的进行大规模联网时资源的描述,标准中定义了统一的目录结构,将系统、设备、子设备等实体按照行政区划目录项、系统目录项、业务分组目录项、虚拟组织目录项等进行层次划分,形成树状结构的目录树,通过联网系统之间的目录推送进行视频汇聚。
  2.2.联网方式
  联网系统的信息传输、交换、控制方面的SIP监控域联网结构如图1所示。
Gb281811.png

图1:SIP监控域联网结构
  在SIP监控域中,SIP客户端和SIP设备接入到中心信令控制服务器,通过中心信令控制服务器进行信令交互,通过流媒体服务器进行媒体交互。SIP监控域之间业务交互,通过不同监控域的中心信令控制服务器进行信令中转,以及流媒体服务器之间的媒体中转来完成。由于涉及到外部的IP传输网络,因此在中心信令控制服务器与外部IP传输网络的出口处,分别都增加信令安全路由网关来进行安全传输。
  SIP监控域可以通过网关和非SIP监控域进行联网,SIP监控域之间也可以进行级联联网,下级SIP监控域将自己下级的SIP监控域的目录资源和自身的目录资源进行整合,统一往上级进行汇聚。级联方式联网时,信令流逐级转发,媒体流推荐逐级转发,也可以跨媒体服务器传输。经过多级的级联汇聚和互联,最终可以形成全国大规模联网系统。
  2.3.协议结构
  联网系统进行视频、音频、数据等信息传输交换控制基于TCP/IP协议,通信协议结构分为会话通道和媒体流通道,如图2所示。
图片2.png
图2:通信协议结构
  会话通道基于SIP协议进行信令传输,在其上面承载的是SDP、MANSCDP和MANSRTSP等业务命令协议,其中SDP和MANSRTSP主要用于媒体播放操作,MANSCDP用于设备控制、设备查询、订阅通知等信令控制操作。
  媒体流通道基于RTP/RTCP协议进行数据传输,在其上面承载的是H.265、H.264、G.711等格式的媒体数据,支持PS OVER RTP和ES OVER RTP封装格式,传输过程中可以通过MANSRTSP协议来进行播放控制。
  在进行数据交互时,首先建立会话通道,并进行注册认证。一般是设备向平台注册、下级平台向上级平台注册,注册成功后才可以进行后续业务命令。当需要访问媒体数据时,先通过会话通道协商建立媒体流通道,并交换媒体的格式说明,然后通过媒体流通道进行媒体数据的传输。
  标准中提供了基于口令的数字摘要方式对设备进行身份认证和SIP信令认证,没有定义业务数据加密、数据完整性等相关具体内容,并通过引用方式,描述了在高安全级别情况下,设备身份认证、数据加密、SIP信令认证、数据完整性保护、访问控制等应符合GB 35114的规定。
  2.4.信令控制
  设备控制、查询等通过MANSCDP来实现。MANSCDP基于SIP,对SIP的From、To头域的URI进行了定义,SIP命令字使用MESSAGE,Body使用XML描述,Control、Query、Notify等元素描述了不同业务功能。
  MANSCDP业务应答并不是直接通过SIP的200 OK回复来承载,而是通过一个新的SIP命令来发送,业务应答的SIP命令字同样是MESSAGE,Body是一个XML,内部通过Response元素来描述不同的业务应答。协议中部分命令是没有应答的,但命令接收方还是要回复一个SIP 200 OK。而对于有应答的命令,命令发送方除了接收到SIP 200 OK回复外,还会接收到一个业务应答的命令,此时命令发送方需要回复一个SIP 200 OK回复进行确认收到业务应答。
  MANSCDP的请求和应答中都有一个通用的SN子元素,取值为命令序列号,不同请求必须唯一,实现时一般是递增的,应答的SN的值必须和请求保持相同,命令请求方接收到应答时,可以通过SN的值将应答和请求关联起来。
  2.4.1.设备控制
  设备控制命令包括云台控制、远程控制、录像控制、报警布撤防等。命令消息体Body的XML元素是Control,子元素CmdType固定取值为DeviceControl,然后通过PTZCmd、Teleboot、GuardCmd等不同的子元素表示不同的功能。
  根据命令的不同含义,设备控制命令有应答和无应答两类。如果控制命令有应答,那么应答命令消息体Body的XML元素是Response,子元素CmdType固定取值为DeviceControl,通过Result字段来描述命令的执行结果。
  例如录像控制命令的XML body例子如下:
图片3.png
录像控制命令的应答的XML body例子如下:
图片4.png

 2.4.2.设备查询
  设备查询命令包括设备目录查询、设备信息查询、设备状态查询等。命令消息体Body的XML元素是Query,通过子元素CmdType的取值Catalog、DeviceInfo、DeviceStatus等来描述不同的查询内容。设备查询命令都有应答,应答Body的XML元素是Response,通过子元素CmdType的取值Catalog、DeviceInfo、DeviceStatus等来描述不同的查询结果应答,与查询命令一一对应。
  2.4.3.设备配置
  设备配置命令包括基本参数配置、SVAC编解码配置等。命令消息体Body的XML元素是Control,而子元素CmdType固定取值为DeviceConfig,然后通过不同的子元素来描述具体的配置,例如基本参数配置通过BasicParam元素描述。设备配置的设置都是有应答的,应答Body的XML元素是Response,子元素CmdType的取值DeviceConfig,通过Result元素描述设备配置的设置结果。
  设备配置的查询命令Body的XML元素是Query,子元素CmdType固定取值为ConfigDownload,然后通过ConfigType子元素的值来描述具体需要读取的配置内容,例如基本参数配置通过取值BasicParam来指定。设备配置的读取都是有应答的,应答Body的XML元素是Response,子元素CmdType的取值ConfigDownload,然后通过不同的子元素来描述具体的配置,例如基本参数配置通过BasicParam子元素来指定。
  2.4.4.订阅通知
  订阅和通知命令是平台对设备进行事件或者目录进行订阅,当设备产生相应事件或者目录变化时,将相应的事件或者目录的数据通过通知命令的方式向平台进行推送,其中事件主要包括报警事件、移动设备位置通知事件等。
  订阅命令通过SIP命令SUBSCRIBE进行,通过命令Body中的Query元素的子元素CmdType描述具体的订阅内容。通知命令通过SIP的NOTIFY命令进行,通过命令Body中的Notify元素的子元素CmdType描述具体的通知内容。
  另外,设备中产生重要报警或者异常时,应主动上报报警或者状态,此时不需要订阅,而是设备通过SIP的MESSAGE命令直接发送,命令Body中同样是Notify元素,通过子元素CmdType描述具体的报警或者状态等通知内容。
  2.5.媒体传输
  媒体传输命令包括实时视音频点播、历史视音频回放/下载、语音广播、语音对讲等功能。媒体传输功能需要通过会话通道和媒体流通道配合来完成,首先通过会话通道发送SIP的INVITE命令来创建媒体会话,命令的Body体是SDP文本,里面描述了媒体数据的基本信息、媒体编码格式和传输方式等。然后根据SDP中描述的传输方式建立媒体流通道,在媒体流通道上通过基于RTP的ES或者基于RTP的PS等封装方式传输媒体数据。
  对于历史视音频回放,可以通过MANSRTSP协议进行播放、暂停、快进快退、随机定位等播放控制操作。MANSRTSP协议并不是直接使用标准的RTSP命令,而是复用了会话通道,使用基于SIP的协议,SIP命令是INFO命令,命令的Body体中承载的是RTSP命令,通过RTSP的PLAY、PAUSE、TEARDOWN等命令以及相应的Header参数来描述具体的控制操作要求。
  语音对讲并不是一个独立的命令,而是通过组合实时音视频播放和语音广播的方式来进行的。例如中心用户要和前端设备用户进行语音对讲,需要中心用户向前端设备发起实时视音频点播,这样中心用户就能听到前端设备用户的声音。同时中心用户向前端设备发起语音广播请求,将本地语音传输到前端设备用户,这样前端设备用户就能听到中心用户的声音,从而完成语音对讲的过程。业务上是单一的,但底层的两个方向的媒体传输是通过不同的命令实现的,而且命令之前是相互独立,互不影响的。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则