本发明涉及通信技术领域,尤其涉及一种网络协议转换系统、网络协议转换器及其转换方法。
背景技术:
在基站监控领域,随着网络应用的普及,越来越多的设备被放置到网上,给用户远程操作和维护带来了便利;另一方面,网络安全的风险也日益显现。某些大型企业已把是否满足网络安全标准作为设备采购的一个准入标准。
对于新采购设备,设备厂商一般可以新产品方式提供满足安全需求的解决方案。同时,网络上还部署着大量的在网设备,这些老设备或者因为硬件平台性能的约束,或者由于开发时间较早,受软件架构限制,很多很难满足快速发展的网络安全需求。
如何加强这些老设备的安全防护,确保用户的网络安全,成为一个棘手的问题。常见的方案是使用新的满足安全要求的设备替换原有老设备;或者对原有老设备的软件进行升级。这一方案的局限性体现在:
1、开发成本高
无论通过硬件还是软件的方式进行升级,都涉及到针对具体应用的开发工作,工作量大,开发成本高。
2、用户操作界面的一致性受到影响
设备升级方案需要重新开发原有应用,如何保持和原有设备在用户界面上的一致性是这一方案面临的挑战。
技术实现要素:
本发明要解决的技术问题在于,针对上述开发成本高以及用户操作界面受 影响的问题,提供一种网络协议转换系统、网络协议转换器及其转换方法。
本发明解决其技术问题所采用的技术方案是:
一方面,构造一种网络协议转换器,包括:
第一接收单元,用于接收客户端的第一网络协议的数据请求信息;
内容获取单元,用于依据所述数据请求信息并使用第二网络协议连接至被保护设备,以获取所述被保护设备的内容;
应用层提取单元,用于提取第二网络协议中的应用层数据;
第一封装单元,用于依据所述应用层数据结合预设的配置信息,将所述内容以第一网络协议的形式封装;
第一发送单元,用于将封装后的内容返回给所述客户端。
在本发明所述的网络协议转换器中,所述第一网络协议为HTTPS协议,所述第二网络协议为HTTP协议。
在本发明所述的网络协议转换器中,所述第一网络协议为SNMPv3协议,所述第二网络协议为SNMPv1/v2协议。
在本发明所述的网络协议转换器中,还包括:
第二接收单元,用于接收所述被保护设备的SNMPv1/v2Trap消息,提取所述SNMPv1/v2协议中的应用层数据;
第二封装单元,用于依据所述应用层数据结合预设的配置信息,将所述SNMPv1/v2Trap消息以SNMPv3Trap消息的形式封装;
第二发送单元,用于将封装后的SNMPv1/v2Trap消息传送至所述客户端。
在本发明所述的网络协议转换器中,还包括:
SSH协议单元,用于依据SSH协议与所述客户端建立TCP转发通道,从而将所述客户端的本地端口与所述被保护设备的Telnet连接端口关联,并建立关联表;
转发单元,用于依据所述关联表将所述客户端重定向至与之关联的所述被保护设备的Telnet连接端口,从而将所述客户端的数据以Telnet形式转发给所述被保护设备,待所述被保护设备应答后,将应答数据通过SSH协议返回给所述客户端。
在本发明所述的网络协议转换器中,还包括:
用户界面单元,用于设置所述配置信息。
在本发明所述的网络协议转换器中,所述用户界面单元还用于监控与所述客户端和/或所述被保护设备的通讯状态,并统计所述转发单元的转发数据。
在本发明所述的网络协议转换器中,还包括:
覆盖单元,用于将所述第二网络协议中的应用层数据覆盖所述第一网络协议中的应用层数据,从而使所述第一封装单元将所述内容以第一网络协议的形式封装。
另一方面,构造一种网络协议转换系统,包括客户端以及被保护设备,还包括如上所述的网络协议转换器。
再一方面,构造一种网络协议转换方法,包括:
接收客户端的第一网络协议的数据请求信息;
依据所述数据请求信息并使用第二网络协议连接至被保护设备,以获取所述被保护设备的内容;
提取第二网络协议中的应用层数据;
依据所述应用层数据结合预设的配置信息,将所述内容以第一网络协议的形式封装;
将封装后的内容返回给所述客户端。
上述公开的一种网络协议转换系统、网络协议转换器及其转换方法具有以下有益效果:通过外接网络协议转换器,以透明的方式实现对原有产品网络协议的安全转换,方案无需针对具体产品逐一开发,开发工作量小,适用范围广;同时不改变原有产品的应用层界面,保证了用户操作习惯的延续性。
附图说明
图1为本发明提供的一种网络协议转换系统的结构示意图;
图2为本发明提供的SNMPv1/v2协议帧的结构示意图;
图3为本发明提供的Get/GetNext/Set PDU的结构示意图;
图4为本发明提供的Response PDU的结构示意图;
图5为本发明提供的SNMPv3协议帧的结构示意图;
图6为本发明提供的一种网络协议转换方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供了一种网络协议转换系统100、网络协议转换器2(即网络安全转换器)及其转换方法,其目的在于,在协议转换过程中,网络协议转换器2在网络协议层实行协议的转换,不解析应用相关的具体数据,对被保护设备的具体功能不具有依赖性,以实现其通用性。
参见图1,图1为本发明提供的一种网络协议转换系统100的结构示意图,该网络协议转换系统100包括客户端1、网络协议转换器2以及被保护设备3。其中,客户端1通过外部网络(例如互联网)连接至网络协议转换器2,网络协议转换器2再通过内部网络连接至被保护设备3。
客户端1和网络协议转换器2之间的数据访问均基于安全协议,网络安全转换器和被保护设备3之间为内网连接,保证了整个交互过程的安全可靠。
具体地,网络协议转换器2包括:
第一接收单元,用于接收客户端1的第一网络协议的数据请求信息;
内容获取单元,用于依据所述数据请求信息并使用第二网络协议连接至被保护设备3,以获取所述被保护设备3的内容;
应用层提取单元,用于提取第二网络协议中的应用层数据;
第一封装单元,用于依据所述应用层数据结合预设的配置信息,将所述内容以第一网络协议的形式封装;
第一发送单元,用于将封装后的内容返回给所述客户端1。
具体的应用场合包括以下两种情况:
1、所述第一网络协议为HTTPS协议(HTTPS全称:Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是 HTTP的安全版),所述第二网络协议为HTTP协议(HyperText Transfer Protocol,即超文本传输协议,是互联网上应用最为广泛的一种网络协议)。如此,网络安全转换器接收来自客户端1的HTTPS请求,使用HTTP获取被保护设备3的内容,提取HTTP协议中的应用层数据,结合配置信息,将该内容以HTTPS的形式封装,返回给客户端1。
2、所述第一网络协议为SNMPv3协议,所述第二网络协议为SNMPv1/v2协议。如此,网络安全转换器接收来自客户端1的SNMPv3数据请求,使用SNMPv1/v2获取被保护设备3的内容,提取SNMPv1/v2协议中的应用层数据,结合配置信息,将该内容以SNMPv3的形式封装,返回给客户端1。其中,SNMP全称简单网络管理协议,由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。
基于上述第二种情况,该网络协议转换器2还包括:
第二接收单元,用于接收所述被保护设备3的SNMPv1/v2Trap消息,提取所述SNMPv1/v2协议中的应用层数据;其中,SNMP trap(SNMP陷阱):某种入口,到达该入口会使SNMP被管设备主动通知SNMP管理器,而不是等待SNMP管理器的再次轮询。
第二封装单元,用于依据所述应用层数据结合预设的配置信息,将所述SNMPv1/v2Trap消息以SNMPv3Trap消息的形式封装;
第二发送单元,用于将封装后的SNMPv1/v2Trap消息传送至所述客户端1。
此外,网络协议转换器2还包括:
SSH协议单元,用于依据SSH协议与所述客户端1建立TCP转发通道,从而将所述客户端1的本地端口与所述被保护设备3的Telnet连接端口关联,并建立关联表;其中,SSH为Secure Shell的缩写,SSH为建立在应用层和传输层基础上的安全协议;TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议;Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。
转发单元,用于依据所述关联表将所述客户端1重定向至与之关联的所述 被保护设备3的Telnet连接端口,从而将所述客户端1的数据以Telnet形式转发给所述被保护设备3,待所述被保护设备3应答后,将应答数据通过SSH协议返回给所述客户端1。具体地,客户端1通过SSH和网络安全转换器建立TCP转发隧道,将指定本地端口和被保护设备3的Telnet连接端口建立关联。客户端1使用该本地端口通过SSH和网络安全转换器进行数据通讯时,网络安全转换器查询关联表,重定向到与之建立关联关系的被保护设备3的Telnet端口,以Telnet形式把数据转发给被保护设备3,接收来自被保护设备3的数据应答,将该内容通过SSH返回给客户端1。
用户界面单元,用于设置所述配置信息;监控与所述客户端1和/或所述被保护设备3的通讯状态,并统计所述转发单元的转发数据。如安全协议需要的认证加密等信息配置,该配置信息被用于协议转换过程,或者该配置信息用于管理,如与被保护设备3的通讯状态,网络接口转发数据统计等。
覆盖单元,用于将所述第二网络协议中的应用层数据覆盖所述第一网络协议中的应用层数据,从而使所述第一封装单元将所述内容以第一网络协议的形式封装。以SNMP协议转换为例:
SNMPv1/v2协议帧参见图2,图2为本发明提供的SNMPv1/v2协议帧的结构示意图。
其中SNMP PDU为协议数据单元,是SNMP协议传送的应用层数据。基于协议命令的不同有着具体定义。对于Get/Set命令,其具体定义参见图3和图4。图3为本发明提供的Get/GetNext/Set PDU的结构示意图,图4为本发明提供的Response PDU的结构示意图。PDU为协议数据单元(Protocol Data Unit),是指对等层次之间传递的数据单位。
SNMPv3协议帧参见图5,图5为本发明提供的SNMPv3协议帧的结构示意图。SNMPv3的应用层数据PDU和SNMPv1/v2保持一致。
协议转换过程的处理逻辑为:分析SNMPv1/v2数据包,提取其中的PDU,结合配置信息,生成SNMPv3的报文,完成协议转换。
参见图6,图6为本发明提供的一种网络协议转换方法的流程图。该方法包括以下步骤:
S1、接收客户端1的第一网络协议的数据请求信息;
S2、依据所述数据请求信息并使用第二网络协议连接至被保护设备3,以获取所述被保护设备3的内容;
S3、提取所述第二网络协议中的应用层数据;
S4、依据所述应用层数据结合预设的配置信息,并将所述内容以第一网络协议的形式封装;
S5、将封装后的内容返回给所述客户端1。
具体的,HTTP/HTTPS协议应用情形包括以下步骤:
S101、接收客户端1的HTTPS的数据请求信息;
S102、依据所述数据请求信息并使用HTTP连接至被保护设备3,以获取所述被保护设备3的内容;
S103、提取所述HTTP中的应用层数据;
S104、依据所述应用层数据结合预设的配置信息,并将所述内容以HTTPS的形式封装;
S105、将封装后的内容返回给所述客户端1。
SNMP协议应用情形包括以下步骤:
S201、接收客户端1的SNMPv3的数据请求信息;
S202、依据所述数据请求信息并使用SNMPv1/v2连接至被保护设备3,以获取所述被保护设备3的内容;
S203、提取所述SNMPv1/v2中的应用层数据;
S204、依据所述应用层数据结合预设的配置信息,并将所述内容以SNMPv3的形式封装;
S205、将封装后的内容返回给所述客户端1。
此外,该方法还包括:
S6、网络安全转换器接收来自被保护设备3的SNMPv1/v2Trap,提取SNMPv1/v2协议中的应用层数据,结合配置信息,将该内容以SNMPv3Trap的形式封装,上送给客户端1。
S7、客户端1通过SSH和网络安全转换器建立TCP转发隧道,将指定本 地端口和被保护设备3的Telnet连接端口建立关联。客户端1使用该本地端口通过SSH和网络安全转换器进行数据通讯时,网络安全转换器查询关联表,重定向到与之建立关联关系的被保护设备3的Telnet端口,以Telnet形式把数据转发给被保护设备3,接收来自被保护设备3的数据应答,将该内容通过SSH返回给客户端1。
S8、将所述第二网络协议中的应用层数据覆盖所述第一网络协议中的应用层数据,从而使所述第一封装单元将所述内容以第一网络协议的形式封装。
S9、设置和读取系统配置信息,如安全协议需要的认证加密等信息配置,该配置信息被用于协议转换过程。
S10、管理网络协议转换系统100,如与被保护设备3的通讯状态,网络接口转发数据统计等。
以上步骤S1-S10的执行顺序不局限于序号。
综上所述,在本发明提出的技术方案中,所请求保护的技术要点至少包括:
1、以外接网络协议转换器2的方式实现网络协议的安全转换;
2、在网络协议层实现安全协议转换,不对应用层数据进行分析,处理;
3、不依赖于被保护设备的具体实现,无需对被保护设备软件进行升级改造;
4、不改变被保护设备的用户界面,保证了用户操作习惯的延续性。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。