复杂通信设备内部通信技术的研究与应用*

2019-10-09 05:23鹏,康
通信技术 2019年9期
关键词:服务者通信协议板卡

胡 鹏,康 敏

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

随着通信技术的发展和高带宽需求,通信设备往大容量和高性能方向发展。现代高性能通信设备一般基于分布式处理的体系架构进行设计,设备内部由多个功能相对独立的板卡组成,而这些板卡和软硬件模块间存在大量的通信。为确保模块间数据交互的可靠性,同时由于板卡种类繁多,终端用户缺乏相关通信系统等知识带来的不足,需满足对整机零配置和板卡即插即用的需求。本文提出了一套高效易用的即插即用内部通信机制(Internal Communication Protocol,ICP),以保证各板卡以及模块间安全有效地进行通信。

1 设备内部通信机制现状分析

目前,设备内部通信机制没有标准可供遵循,基本是按设备具体情况进行设计,总的可以分为2种方式。

方式1:数据总线+消息队列方式。系统中板卡采用统一的数据总线连接,制定私有的内部通信消息格式,辅以收、发消息队列。接收信息时内部通信实时监听通信接口,收取信息到相应消息队列。发送信息时由模块向发消息队列写入相应消息,内部通信监听到后,将该消息发送到对应通信接口。

方式2:以太网+内部通信消息格式方式。系统中板卡间采用以太网连接,制定私有的内部通信消息格式,消息接收和发送可按需要定义于链路层、IP协议层或者TCP/UDP协议之上。

这2种方式都是单一的通信机制,仅提供了内部通信的消息传送途径,不支持对板卡加入和离开的自动检测,对板卡运行过程中可能出现的异常无处理机制,需要以叠加方式加入板卡检测、异常处理等功能。内部通信接口众多且格式不一,新增模块对整个系统影响大,扩展性差,无法满足复杂通信设备的要求。

2 设备间通信机制现状分析

目前,设备间通信机制存在以下2种方式。

方 式 1: 闪 联(Intelligent Grouping Resource Sharing,IGRS)是一种技术体系标准,解决各种信息终端设备的互联互通、资源共享和协同工作的问题。IGRS标准为IGRS应用提供统一的网络资源发现、使用和管理机制,由3部分构成——IGRS基础协议、IGRS智能应用框架和IGRS基础应用。

IGRS协议确定了IGRS设备间相互发现及资源共享的机制,包括设备相互发现、设备间管道创建、服务发现、设备组管理、会话管理和服务访问机制。

方式2:即插即用(Universal Plug and Play,UPnP)主要用于实现设备的智能互联互通,实现智能设备端到端网络连接,是一种架构在TCP/IP和HTTP技术之上的分布式开放网络结构[1]。通过UPnP技术,设备可以自主加入网络并向网络中其他设备宣告自己所具有的能力,同时能了解网络中其他设备具有的能力。

这2种方式仅提供了设备间相互发现、会话管理等机制,并不支持设备内部板卡间及模块之间的消息传送途径,不能有效支撑设备整机的可靠运行,进而无法满足复杂通信设备的要求。

3 设备系统结构介绍

复杂通信设备系统结构如图1所示,设计有多种功能板卡。例如,网管板支持将整机设备数据上传给网管服务器;主控板进行整机控制管理;交换板用于信令业务数据的转发;接入板完成各种终端设备的接入功能等[2]。

图1 复杂通信设备系统结构

通过研究现有的设备内部、设备间通信机制,发现其存在不足,并不能有效地在复杂通信设备上实现各板卡内部与外部之间信令、业务、管理数据通信以及板卡的即插即用等功能。因此,将现有的内部通信、设备间发现等技术相结合并加以改进,形成了一套用于复杂通信设备内部高效易用的通信机制(ICP),从而实现整机设备功能的高效可靠运行。

复杂通信设备中各板卡的动态插拔、自动识别、管理信令等消息均通过下层的ICP服务框架进行传递,从而实现板卡的即插即用和系统的可靠运行。

4 即插即用内部通信技术

通过对IGRS设备间相互发现机制和UPnP工作过程的研究,可以将设备之间的互联互通、即插即用通信技术加以改进,应用于复杂设备内各板卡功能模块间,实现设备内各板卡及功能模块间的互联互通和即插即用。设备各独立板卡可以动态加入到内部通信网络中,并自动获得通信地址、发布本地服务以及发现其他板卡提供的服务。

这样的主要目的是向上层应用屏蔽通信设备内部物理连接关系,不用关心提供的服务模块在那块板卡上以及通过什么物理接口,各板卡可通过灵活配置支持不同的功能。

ICP相关术语定义如下。

服务:ICP实体提供的功能。

服务标识:ICP实体提供服务的标识,每类服务唯一分配一个服务标识,供应用协议调用。

服务提供者:提供ICP服务的ICP实体,简称服务者。

服务使用者:使用ICP服务的ICP实体,简称使用者。

通信对等体:进行内部通信的服务者和使用者。服务者和使用者具有相对意义,一个内部通信实体在提供某服务的时候是服务者,在使用某服务的时候是使用者。

4.1 协议架构

即插即用内部通信技术通过自定义协议操作,根据通信设备内部通信需求,对通信实体预分配服务标识,建立起通信对等体间的通信关系,为通信对等体间传输数据提供传输通道。协议架构如图2所示,内部通信技术为上层应用提供对端逻辑通信地址(服务标识和会话号),屏蔽下层通信细节。通过进行逻辑通信地址和物理通信地址的映射,为上层应用协议完成信息收发[3]。

图2 即插即用内部通信在协议体系的位置

4.2 协议模型

即插即用内部通信技术将通信设备内通信实体分为ICP服务者和ICP使用者。服务者是通信的服务方,能够同时与多个使用者进行通信;使用者是通信的客户方,能够同时与多个服务者进行通信。通信体制模型如图3所示,各软件模块可以灵活布置到任意板卡,而无需通知其通信对等体。

图3 即插即用内部通信体制模型

4.3 协议报文格式

内部通信协议通过收发内部通信ICP消息实现。内部通信协议的消息由消息头和消息体构成。消息头格式如图4所示。

图4 ICP报文格式

VER:当前协议版本。

CODE:标识ICP不同的报文类型。不同的报文,消息体的内容不同。

SESSION:用于标识ICP同时存在的不同会话以及服务发现、服务连接时监听的会话。

SEQ:基于会话的递增数,可区分不同的消息。

OPT:比特位7为多播比特(M),表明是否需使用多播或广播的下层协议来传输本消息;比特位6为确认比特(C),表明是否接收到本消息需要用传输确认消息进行确认;比特位5(S)为服务方标志。

LEN:用于标识负载消息长度。

4.4 协议报文类型

ICP协议包括10个自定义的消息数据报文,分别为服务者通告消息(SrAdvMsg)、服务者探测消息(SrAskMsg)、服务会话消息(SeSesMsg)、服务注册消息(SeRegMsg)、服务注销消息(SeOutMsg)、服务受理消息(SeAccMsg)、服务拒绝消息(SeRefMsg)、通信探测消息(CDetMsg)、传输数据消息(TDatMsg)和传输确认消息(TConMsg)。

SrAdvMsg由服务者发送,服务者通过服务者通告消息对外通报服务者能够使用的ICP通信的下层线路和协议,以及能够提供的ICP服务、ICP参数等信息。

SrAskMsg由ICP使用者发送,ICP使用者通过服务者探测消息询问网络或线路上是否存在能够提供自己所需服务的ICP服务者。

SeSesMsg由ICP使用者发送,ICP使用者通过本消息向ICP服务者发出一个会话申请,申明自己需要与特定的ICP服务进行ICP通信。

SeRegMsg由使用者发送,使用者通过本消息向ICP服务者发出申请,声明自己需要特定服务者提供的特定服务。

SeOutMsg由ICP通信双方任意一方发送,声明自己不再需要进行由服务会话消息(SeSesMsg)和服务注册消息(SeRegMsg)申请的服务会话。

SeAccMsg由服务者发送,服务者通过本消息应答收到的服务会话消息(SeSesMsg)和服务注册消息(SeRegMsg),表明ICP服务者相应申请成功。

SeRefMsg由服务者发送,服务者通过本消息应答收到的服务会话消息(SeSesMsg)和服务注册消息(SeRegMsg),表明服务者拒绝相应申请。

CDetMsg,服务者和使用者都可以发送。使用者存在与服务者的ICP通信关系,则可以使用本消息探测服务者是否还在正常工作;服务者也通过本消息进行应答。服务者存在有通过服务注册方式或服务会话建立的ICP通信关系的使用者,则可以使用本消息探测使用者是否还在正常工作;使用者通过本消息进行应答。

TDatMsg,ICP服务者和ICP使用者都可以传输数据消息来发送ICP通信数据。具体数据的内容由ICP服务和ICP客户具体实现决定。

TConMsg,使用者和服务者都必须支持。ICP协议的接收方一旦接收到除本消息外的任何选项字段的C比特置为1的消息时,接收方必须立即使用本消息向发送方进行确认,表明消息成功接收到。

4.5 协议流程

内部通信实体互操作流程如图5所示,主要过程分为3个阶段——服务发现、会话建立/拒绝、业务传输及状态维护。

4.5.1 服务发现

服务发现主要完成服务者通告和服务探测2个内容。

服务者通告:应用协议加载后,向服务者注册该服务相关信息;服务者收集服务信息后,向内部通信网络中发送服务者通告消息。服务者通告消息包含本地的内部通信实体信息、服务标识以及内部通信地址等信息,此时通告方式为多播或广播。服务者收到使用者的服务者探测消息时,发送服务者通告消息,此时通告方式为单播。

服务者探测:应用协议加载后,向使用者注册该服务相关信息。使用者需要使用某种服务时,检测本地是否有提供该服务的服务者信息。如果没有,须进行服务者探测。服务者探测通过向内部通信网络中发送服务者探测消息实现。服务者探测消息以广播形式发送。

4.5.2 会话建立/拒绝

使用者需要和服务者进行内部通信时,通过服务会话消息建立会话关系。服务会话消息需携带使用者的服务标识、通信类型、通信地址、客户信息以及本地会话号等信息。

服务者收到该服务会话消息,根据自身是否提供其申请的服务判断是否处理该消息。如果可以提供该服务,记录使用者信息,生成本地会话号,并与服务会话消息携带的客户会话号一同生成完整的会话号,发送服务受理消息给使用者。如果由于某种原因不与使用者建立会话,则发送服务拒绝消息。

4.5.3 状态维护

内部通信对等体间实时维护服务者与使用者之间的通信信道状态,检测通信双方是否能正常通信。通信状态维护通过收发通信检测消息来实现。双方在计时器周期后没有收到任何对方发送的传输数据或者通信检测消息,则认为对方故障,清除会话。

4.6 协议状态机

4.6.1 服务者状态机

内部通信协议的服务者有4个状态,分别是IDLE、SERVER ADV、CONNECT/ACCEPT和CONNECT/PROBING,如图6所示。

IDLE:服务者初始状态。

SERVER ADV:服务者通告状态。服务者加载,应用协议向服务者注册服务后,服务者进入该状态。在该状态下发送服务者通告消息,处理服务者探测消息。当服务者失效时,进入IDLE状态。

图5 内部通信实体互操作流程

图6 内部通信协议服务者状态机

CONNECT/ACCEPT:服务会话成功且通信正常状态。服务者接纳使用者会话连接后,从SERVER ADV状态进入该状态。该状态下服务者可以和其他使用者通信,提供其所能提供的服务。该状态下维持一个计时器,状态在计时器有效的时间内维持。计时器超时,状态转为CONNECT/PROBING,进行通信检测操作;服务者收到服务注销或者发送服务注销消息后,回到SERVER ADV状态。

CONNECT/PROBING:服务会话成功且需要进行探测状态。此状态下,服务者仍然可以与使用者通信,但是要进行通信探测。在规定时间内收到使用者的业务消息或者通信探测消息,状态返回CONNECT/ACCEPT,并发送探测应答;否则,状态转为SERVER ADV。

4.6.2 使用者状态机

内部通信协议的使用者有4个状态,分布是IDLE、SERVER DETECT、CONNECT/ACCEPT 和CONNECT/PROBING,如图7所示。

IDLE:使用者初始状态。

SERVER DETECT:服务者探测状态。使用者加载,需要使用内部通信协议提供通信时,使用者进入该状态。在该状态下使用者检测服务者信息,如果没有服务者信息,发送服务者探测消息,处理服务者探测消息。当使用者失效时,进入IDLE状态。该状态下,使用者进行会话连接。在进行服务者探测或者收到服务拒绝消息时,状态不变。

图7 内部通信协议使用者状态机

CONNECT/ACCEPT:服务会话成功且通信正常状态。服务者接纳使用者会话连接后,从SERVER DETECT状态进入该状态。该状态下使用者可以与服务者通信,使用服务者提供的服务。该状态下有维持一个计时器,状态在计时器有效的时间内维持。计时器超时,状态转为CONNECT/PROBING,进行通信探测操作;使用者收到服务注销或者发送服务注销消息后,回到SERVER DETECT状态。

CONNECT/PROBING:服务会话成功且需要进行探测。此状态下,使用者仍然可以与服务者通信,但是要进行通信探测。在规定时间内收到服务者的业务消息或者通信探测消息,状态返回CONNECT/ACCEPT,并发送探测应答;否则,状态转为SERVER DETECT。

5 结 语

即插即用内部通信技术提供通信对等体的跨平台自动发现和控制,支持零配置和“不可见”联网,实现功能模块到服务的自动映射、控制点管理以及内部通信实体异常处理等全过程,具备智能化设计思想、扩展性好、内部通信接口统一、模块化和扩展性好等特点,在多个设备上已推广应用。

猜你喜欢
服务者通信协议板卡
MACH2系统板卡程序下装平台的研制
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
车载控制器CVRE板卡显红故障分析及处理
做全球冶炼企业的高端服务者
——上海善吉国际贸易有限公司董事长吴晗访谈
车载网络通信协议标准化问题研究
分享经济下劳动关系认定问题研究
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
电动汽车充电接口及通信协议新国标发布
后工业化对“执行者”角色政府的挑战及转变
一种基于光纤数据传输的多板卡软件程序烧写技术