基于JSON协议的移动网络管理终端设计
2021-01-14李元元
摘 要:文章设计了一种应用于电信网络设备管理的移动管理终端及相应的管理系统。该终端基于Android系统,采用JSON协议与服务器进行交换通信。管理系统由身份验证服务器、管理服务器、网关等设备构成。文章规划了管理终端与管理服务器和身份验证服务器的交互过程,并给出了关键模块的详细设计,同时给出了运行结果。通过该管理系统,能够有效降低电信网络的运维管理成本,具有一定应用价值。
关键词:JSON;SSH;Android
中图分类号:TP393 文献标识码:A文章编号:2096-4706(2021)14-0039-04
Abstract: In this paper, a mobile management terminal and the corresponding management system are designed which is applied to the telecommunication network equipment management. The terminal is based on Android system, which uses JSON protocol to communicate with the server. The management system is composed of an authentication server, a management server, a gateway and other equipments. This paper plans the interaction process between the management terminal and the management server and the authentication server, gives the detailed design of the key modules, and gives the operation results. The management system can effectively reduce the operation and maintenance management cost of telecom network, and has certain application value.
Keywords: JSON; SSH; Android
0 引 言
隨着互联网的规模不断扩大、数据流量成倍增加,使得电信网络的结构变得越来越复杂,设备种类越来越多。相对于电信网络硬件的建设,其运维和管理的成本变得越来越高,同时也变得越来越重要。
目前电信网络设备大多采用命令行系统,通过Telnet和SSH协议远程登录设备进行管理控制。由于SSH采用密文传输,其安全性高于明文传输的Telnet协议,故具有更为广泛的应用。目前电信网络的设备种类繁多,命令行系统一般均不通用,部分设备具有web登陆接口,但操作界面也各不相同。
目前对于电信网络的运维管理,主要采用以下3种方式:
(1)现场管理:这种方式中,管理人员直接进入电信机房,现场查看电信设备的运行情况,并使用笔记本电脑等设备直接登录设备获取运行数据。这种方法虽然可以进行较为全面的运行状态监控,但是管理员需要往返于多个相距遥远的电信机房,费时费力,管理效率较为低下。
(2)集中管理:这种方式中,运营商建立统一的网络管理中心,通过网络连接各个电信机房,远程查看电信设备的运行情况,可以在一个管理中心统一管理多个电信机房。根据网络连接方式又可以分为带外管理模式(使用私用的LAN网络连接)和带内管理模式(借助于公用的Internet连接)。目前,带内管理模式由于其管理成本低,管理范围大,在更大范围内被采用。
然而集中管理模式仍需要在管理中心进行,这就需要运维人员进行24小时轮岗,加大了运维成本。
(3)远程管理:通过智能手机、平板电脑等工具,通过Internet连接网络设备,实施监控网络运行情况,对时间和地点的要求都比较灵活。但是移动设备上使用命令行系统输入较为不便,而现有的APP往往只针对特定设备而不具有通用性,这使得远程管理模式尚不能大规模推广。
本文论述了一种应用于Android移动平台的SSH远程登录终端,该终端通过JSON协议访问LAN中的服务器获得不同型号电信设备的命令行系统接口,从而对接相应型号的设备,可保证不同类型设备之间的兼容性。该终端可用于实现对网络中不同类型电信设备的远程、实时监控,减轻电信网络系统运维的工作量,提升电信网络系统运维的整体效率。
1 JSON协议简介
1.1 JSON协议格式构建
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,JSON采用完全独立于语言的文本格式,既易于人阅读和编写,也易于机器解析和生成,是一种理想的数据交换语言,常用于跨平台的数据传输和交互。JSON建构有两种结构:
(1)“名称/值”对的集合(A collection of name/value pairs)。
不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
(2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。在远程登录终端中采用JSON协议,可以使用一款软件同时访问不同类型的网络设备,具有很强的通用性。
1.2 JSON协议的优点
使用JSON协议的优点在于格式简单,易于读写。JSON是一种简单文本格式,分隔符限于单引号、小括号、中括号、大括号、冒号和逗号,相对于XML,它更加易读、更便于肉眼检查,同时其格式都是压缩的, 占用带宽小。同时,JSON兼容性很高,支持多种服务器语言的解析,在Android框架中也具有相应的解析工具,故较为容易实现客户端和服务器之间的交互。
2 系统框架设计
2.1 网络环境
系统的网络网络结构如图1所示,所有的管理对象连接到内部局域网LAN中,通过网关出口接入到互联网WAN上,WAN上的主要实体有身份验证服务器、管理服务器和管理终端,通过移动通信网络对接。
网络实体的功能主要有:
(1)管理终端管。理终端(移动设备)通过移动互联网进行身份验证(由身份验证服务器完成),获得合法权限后接入管理服务器,以JSON协议实现与管理服务器之间的交互。管理终端上的APP应用提供良好的图形化界面,便于移动管理终端高效率管理基于命令行的网络设备。
(2)身份验证服务器。用于验证管理终端是否具有合法身份,考虑到管理终端的数量有限,为了保证安全,在传统的账号密码验证的基础上,可以采用MAC地址绑定技术,确保只允许特定的终端登录服务器。
(3)管理服务器。管理服务器跨越网关,以SSH协议远程登录管理对象,获取管理对象的命令行界面数据,并有效解析并以JSON格式封装,一边转发给移动管理终端。
(4)网关。WAN到LAN的邊界,可以采用网络地址转换技术(NAT),使得WAN上的管理服务器能够访问管理对象。
2.2 管理终端JSON协议通信过程
管理终端的APP需要同时与身份验证服务器和管理服务器之间进行交互,均使用JSON协议进行交互通信。
2.2.1 与身份验证服务器的交互过程
身份验证交互过程如图1所示。
设计用于交互通信的JSON数据格式,其中服务器地址设定为192.168.0.168:
(1)请求消息:
POST / HTTP/1.1
Host:192.168.0.168
Content-Type: application/Jason
Content-Length: 70
{“object”:”user”,” action “:” login “,”username”:”zy”,”password”:”zy123”}
(2)响应消息:
HTTP/1.1 201 OK
Date: Sun, 3 Jul 2011 23:59:59 GMT
Content-Type: application/Jason
Content-Length: 15
{“result”:”ok”}
2.2.2 向管理服务器获取网络设备的实时数据
与管理服务器之间的交互过程如图3所示。
设计获取服务器端数据的JSON数据格式为:
(1)请求消息:
POST / HTTP/1.1 Host:192.168.0.168 Content-Type: application/Jason Content-Length: 65
{“object”:”user”,” action “:” getinformation “,”username”:”zy”}
(2)响应消息:
HTTP/1.1 201 OK
Date: Sun, 3 Jul 2011 23:59:59 GMT
Content-Type: application/Jason
Content-Length: 135
{“result”:”ok”,”runningTemperature”: “25”, “interface status”: arraylist status[], “ip interface”: arraylist status[]}
2.2.3 通过管理服务器向网络设备发送控制命令
设计通过管理服务器向网络设备发送控制命令的JSON数据格式为:
(1)请求消息:
POST / HTTP/1.1 Host:192.168.0.168
Content-Type: application/Jason
Content-Length: 65
{“object”:”user”, “action”:”setconfig” , “username”:”zy”, “interface status”: arraylist status[], “ip interface”: arraylist status[]}
(2)响应消息:
HTTP/1.1 201 OK
Date: Sun, 3 Jul 2011 23:59:59 GMT
Content-Type: application/Jason
Content-Length: 15
{“result”:”ok”}
3 结果验证
以路由器和云存储2种不同的网络设备作为测试的管理对象。在身份验证服务器上实现设定了相应的身份信息;在管理服务器中构建了数据库系统,以存储这2种网络设备的常用命令。2个服务器和管理终端之间采用预先封装的JSON格式进行交互。
管理终端访问管理服务器的UI界面如图4所示,上方用于显示设备端口的工作状态,用3种不同的颜色进行标记,其中红色端口表示无连接线缆,黄色表示为正确配置端口,绿色表示正常工作状态。下方显示了常用了配置命令,可以直接选择并输入相关参数。此外在可以点击Script Log,查看设备的运行日志。
4 结 论
通过研究,设计了基于JSON协议的移动平台远程管理系统平台,该平台以管理服务器作为中间媒体,以身份验证服务器作为身份验证机构,以JSON协议格式与移动管理终端进行交互通信,从而通过移动终端实现远程监控各种不同类型网络设备。该平台能够拓展电信网络管理的时间空间范围,提升电信网络管理的整体效率,具有一定的经济价值和社会效益。
参考文献:
[1] 尹国定,卫红.云计算——实现概念计算的方法 [J].东南大学学报(自然科学版),2003(4):502-506.
[2] 蓝伟文,李长虹,李晓飞,等.云计算——未来IT技术应用的趋势 [J].贵州工业大学学报(自然科学版),2008,37(5):150-152.
[3] 郑海明.桌面虚拟化下的虚拟机布局策略研究 [D].重庆:重庆邮电大学,2013:20-25.
[4] 鲍政.面向移动平台的桌面虚拟化机制研究 [D].武汉:华中科技大学,2011:18-19.
[5] COHEN D,NARAYANASWAMY K. Using First-Order Logic to Query Heterogeneous Internet Data Sources [J].Procedia Computer Science,2015,62:170-177.
[6] URGAONKAR B,ROSENBERG A L,SHENOY P. APPLICATION PLACEMENT ON A CLUSTER OF SERVERS [J].International Journal of Foundations of Computer Science,2007,18(5):1023-1041.
[7] MACHIANI S G,ABBAS M. Safety surrogate histograms (SSH):A novel real-time safety assessment of dilemma zone related conflicts at signalized intersections [J].Accident Analysis and Prevention,2016,96:361-370.
[8] XU C,QU Z W. Empirical Analysis on Time to Collision at Urban Expressway [J].Applied Mechanics and Materials,2014,505:1127-1132.
[9] International Business Machines Corporation. Dynamic placement of virtual machines for managing violations of service level agreements (SLAs):US8291411 [P].2012-10-16.
[10] YAN C,ZHANG Z X,XU H H. An SSH library responsive to azadirachtin A constructed in Spodoptera litura Fabricius cell lines [J].Journal of Biotechnology,2012,159(1-2):115-120.
作者簡介:李元元(1980—),男,汉族,上海人,副教授,硕士,研究方向:网络通信。