一种协议报文以及虚拟客户终端设备的管理方法与流程

文档序号:16198605发布日期:2018-12-08 06:23阅读:159来源:国知局
一种协议报文以及虚拟客户终端设备的管理方法与流程

本发明涉及通信技术领域,具体是涉及一种协议报文以及虚拟客户终端设备的管理方法。

背景技术

在软件定义网络(softwaredefinednetwork,sdn)/网络功能虚拟化(networkfunctionvirtualization,nfv)技术的驱动下,通信行业迎来了云化的浪潮。通过将传统通信设备的硬件和软件解耦,并利用sdn的思想实现集中化的管理和业务开通,可极大地提高网络运营商的运维成本,同时最大程度地挖掘网络的附加值。图1所示为一种虚拟用户驻地设备(virtualcustomerpremiseequipment,vcpe)现网部署,包括业务编排器、网络控制器和分别连接多个用户的虚拟客户终端设备的vcpe,业务编排器进行业务的策略下发和管理,对网络控制器进行统一管理,网络控制器对vcpe进行上线管理和身份认证等管理。其中,vcpe是软件定义广域网(softwaredefined-wideareanetwork,sd-wan)解决方案中最引人注目的商业模式,可以使网络运营商将服务进一步延伸至用户出口的同时,也将用户特别是中小型企业从繁琐的网络管理中解脱出来,是一个典型的双赢模式。然而,由于用户具有分散性的特点,如何实现大规模vcpe的远程管理和业务开通,是vcpe走向实用化需要解决的关键问题。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种协议报文以及虚拟客户终端设备的管理方法,采用vcpe的uuid作为网络控制器对vcpe进行远程管理的唯一标识,成为vcpe上线以及后期业务配置管理的依据,从而快速、可靠地实现vcpe的大规模部署。

本发明提供一种协议报文,用于网络控制器与虚拟客户终端设备vcpe之间的通信:

所述协议报文的净荷部分具有公共头部,所述公共头部包括用于指示所述vcpe的通用唯一识别码uuid的字段,所述uuid是所述vcpe首次启动时生成的。

在上述技术方案的基础上,所述公共头部为类型长度值tlv,包括协议版本号、消息类型、消息总长度和认证加密字段。

在上述技术方案的基础上,所述消息类型包括认证请求、认证应答、心跳和节点信息上报。

在上述技术方案的基础上,所述消息类型还包括服务端口通告和会话关闭,服务端口通告报文包括ip类型、网络控制器的ip地址和服务端口信息,用于通知所述vcpe向网络控制器主动发起控制连接。

在上述技术方案的基础上,所述认证加密字段包括认证类型和对应的密码信息,所述认证类型包括简单密码认证和md5认证,所述密码信息为明文密码或者全0。

在上述技术方案的基础上,所述公共头部还包括保留字段,用于自定义功能,自定义功能包括告警上报和拓扑自动发现。

在上述技术方案的基础上,所述协议报文为tcp报文或者udp报文。

本发明还提供一种使用上述协议报文的虚拟客户终端设备的管理方法,其包括:

网络控制器根据所述vcpe发出的用户认证请求进行用户身份校验,认证通过后,将业务编排器下发的业务配置信息转发给所述vcpe,其中,所述用户认证请求和业务配置消息均由所述vcpe的uuid的协议报文承载。

在上述技术方案的基础上,所述公共头部为类型长度值tlv,包括协议版本号、消息类型、消息总长度和认证加密字段,基于所述消息类型,所述协议报文包括认证请求报文、认证应答报文、心跳报文和节点信息上报报文;

当所述vcpe首次启动以及所述vcpe的ip地址发生变化时,向网络控制器发出带有所述用户认证请求的认证请求报文,所述用户认证请求包括用户名、密码和所述vcpe的ip地址;

网络控制器提取所述用户认证请求并进行认证,以及返回带有认证结果的认证应答报文。

在上述技术方案的基础上,所述协议报文还包括服务端口通告报文,服务端口通告报文包括ip类型、网络控制器的ip地址和服务端口信息,用于通知所述vcpe向网络控制器主动发起控制连接;

当网络控制器收到所述vcpe发出的所述认证请求报文时,对比所述vcpe的ip地址以及所述协议报文的源ip地址,如果不一致,则向所述vcpe发出所述服务端口通告报文。

与现有技术相比,本发明的优点如下:

(1)实现vcpe设备上线管理:由于vcpe本质上是一个软件功能实体,采用vcpe的uuid,使得网络控制器对vcpe进行远程管理需要一个类似于物理设备序列号作为vcpe的唯一标识,作为vcpe上线以及后期业务配置管理的依据,在此基础上制定出一套完善的vcpe管理协议报文,从而快速、可靠地实现vcpe的大规模部署,具有成本低、可扩展性好、适应性强、易于实现和部署等优点。

(2)实现vcpe设备的身份认证:vcpe的设备安全认证是产品成熟度的关键衡量因素,由于vcpe部署的分散性和开放性的特点,对vcpe进行身份认证是涉及业务安全的关键性问题,合理的认证方案极大地提高了vcpe的可用性,避免整个业务网络的瘫痪。

(3)解决vcpe迁移的重认证问题:在nfv的实际应用中,软件迁移是最为常见的需求,本发明实施例能够在vcpe发生迁移、ip地址变化的情况下对vcpe进行可靠的重认证,且重认证可以由vcpe或者网络控制器发起,进一步提高vcpe的可用性和管理效率。

(4)解决nat穿越问题:在现网的部署场景中,很多中小型企业出口并没有公网地址,而是处于运营商nat网关的背后,且私网地址是动态获取的,本发明实施例使得vcpe可以主动发起控制连接,从而有效地解决了vcpe实用化过程中的这种特殊问题。

附图说明

图1是一种vcpe现网部署示意图;

图2是本发明第一实施例协议报文的结构示意图;

图3是本发明第一实施例协议报文的公共头部示意图;

图4是本发明第一实施例协议报文的消息类型;

图5是本发明第二实施例协议报文的各消息类型所对应的协议数据;

图6是本发明第三实施例中,vcpe的上线管理流程图;

图7是本发明第三实施例网络控制器协议状态机;

图8是本发明第六实施例nat穿越下的命令行通道建立流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

本发明提供一种协议报文,用于网络控制器与虚拟客户终端设备vcpe之间的通信,协议报文的净荷部分具有公共头部,公共头部包括用于指示vcpe的通用唯一识别码(universallyuniqueidentifier,uuid)的字段,uuid是vcpe首次启动时生成的,并存储在vcpe的配置文件中作为vcpe的唯一标识,生成uuid可以利用uuidgen.exe等工具。

由于vcpe本质上是一个软件功能实体,采用vcpe的uuid,使得网络控制器对vcpe进行远程管理需要一个类似于物理设备序列号作为vcpe的唯一标识,作为vcpe上线以及后期业务配置管理的依据,在此基础上制定出一套完善的vcpe管理协议报文,从而快速、可靠地实现vcpe的大规模部署,具有成本低、可扩展性好、适应性强、易于实现和部署等优点。

参见图2所示,本发明第一实施例提供一种协议报文,协议报文包括报文头部和净荷部分,其中,协议报文的净荷部分具有公共头部和协议数据,公共头部的格式参见图3所示,公共头部为类型长度值tlv(type、length、value),公共头部包括协议版本号(version)、消息类型(type)、消息总长度(length)、以及用于指示vcpe的通用唯一识别码uuid的字段,uuid是vcpe首次启动时生成的。

公共头部还包括认证加密字段,认证加密字段包括认证类型(authtype)和对应的密码信息(authentication),认证类型包括简单密码认证和md5认证,密码信息为明文密码或者全0。

公共头部还包括保留字段(reserved),用于自定义功能,自定义功能包括告警上报和拓扑自动发现。

参见图3所示,对各字段描述如下:

(1)协议版本号version:可自定义,1字节;

(2)消息类型type:1字节,定义的消息类型参见图4所示,包括认证请求(type1)、认证应答(type2)、心跳(连接保活,type3)、节点信息上报(type4)、服务端口通告(type5)和会话关闭(type6)。可按实际需要进行扩展;

(3)消息总长度length:消息包括本公共头部和数据部分;

(4)uuid:16字节,vcpe的唯一标志;

(5)保留字段reserved:3字节,留作实际需要进行扩展;

(6)认证类型authtype:0表示不认证,1表示简单密码认证,2表示消息摘要算法第五版(messagedigestalgorithm,md5)认证;

(7)密码信息authentication:为简单密码认证时携带的是明文密码,不认证或者md5时全0;

当authtype为2时,表示md5认证,在报文的协议数据尾部有额外16字节的md5的校验字段。

由上面的描述可知,该协议报文的净荷部分具有公共头部,采用的是tlv的格式,因此具有良好的扩展性,可以满足后期多样化的需求。

本发明第二实施例提供一种协议报文,在本发明第一实施例的基础上,消息类型type的具体定义可以如图5所示,图5描述的内容均为协议数据,根据公共头部中的type值进行区分,具体说明如下:

认证请求(type1)包括用户名长度(usernamelen)、用户名(username)、密码长度(passwordlen)、密码(password),vcpe的ip地址长度(iplen)和vcpe的ip地址(myip)。

认证应答(type2)包括认证结果(result)和保留字符(reserved)。由网络控制器发往vcpe,用于对vcpe的用户认证请求给予应答,当认证成功时,result字段为0,当认证失败时,result字段返回1;需要重认证时,result字段填2。

心跳(连接保活,type3)包括魔术字(magicnumber),魔术字用于心跳报文的校验,也可作为保留字段用作扩展用途。

节点信息上报(type4)包括子类型(subtype)、子长度(sublength)和子值(subvalue)。

服务端口通告(type5)用于网络控制器通知vcpe向网络控制器主动发起控制连接,包括ip类型(iptype)、网络控制器的ip地址长度(iplen)、网络控制器的ip地址(ip)和服务端口信息,服务端口信息包括端口类型(porttype)、端口长度(portlen)和端口号(port)。

其中,ip类型=1时,ipv4;ip类型=2时,ipv6。端口类型=1:tcp;端口类型=2:udp。

会话关闭(type6)包括关闭连接(关闭)和保留字(reserve),关闭为1个字节,保留字(reserve)为7个字节,用于其他功能扩展。

协议报文为传输控制协议(transmissioncontrolprotocol,tcp)报文或者用户数据报协议(userdatagramprotocol,udp)报文。参见图2所示,协议报文的报文头部包括ip头部以及tcp/udp头部,公共头部的定义并没有强制要求承载协议使用tcp还是udp,但是考虑到tcp本身对资源的消耗以及最大限度地提高网络控制器的管理能力,优选使用udp,实践表明,使用udp承载上面定义的认证协议具有开发周期短,资源消耗低等特点。

vcpe支持ipv4/ipv6双栈,可以在ipv4和ipv6网络中部署。

实现vcpe设备的身份认证:vcpe的设备安全认证是产品成熟度的关键衡量因素,由于vcpe部署的分散性和开放性的特点,对vcpe进行身份认证是涉及业务安全的关键性问题,合理的认证方案极大地提高了vcpe的可用性,避免整个业务网络的瘫痪。

本发明第三实施例提供使用上述第二实施例协议报文的虚拟客户终端设备的管理方法,其包括:

网络控制器根据vcpe发出的用户认证请求进行用户身份校验,认证通过后,将业务编排器下发的业务配置信息转发给vcpe,其中,用户认证请求和业务配置消息均由vcpe的uuid的协议报文承载。

基于消息类型,协议报文包括认证请求报文、认证应答报文、心跳报文和节点信息上报报文。

当vcpe首次启动时,向网络控制器发出带有用户认证请求的认证请求报文,用户认证请求包括用户名、密码和vcpe的ip地址。

网络控制器提取用户认证请求并进行认证,以及返回带有认证结果的认证应答报文。

vcpe的上线管理流程参见图6所示,每个vcpe可以作为一个实例,认证服务器与网络控制器可以集成在一起,也可进行功能分离。为了提高网络控制器管理的网络规模,优选使用独立的验证、授权、计费(authentication、authorization、accounting,aaa)服务器作为认证服务器,网络控制器通过远程用户拨号认证服务(remoteauthenticationdialinuserservice,radius)或者终端访问控制器访问控制系统(terminalaccesscontrolleraccesscontrolsystem,tacacs)协议与认证服务器进行交互,可以满足规模商用的需求。

s1管理员为即将开通的vcpe分配用户名,密码以及位置代码,并存储在认证服务器数据库内;

s2管理员通过邮件或者短信的方式将用户名,密码以及位置代码等信息告知设备开通人员;

s3开通人员通过配置文件或者web客户端将用户名、密码以及位置代码等信息写入到vcpe配置文件,位置代码为网络控制器对全网vcpe的一个唯一编号,通过位置代码可以获取vcpe的地理位置信息;

s4vcpe首次启动时生成uuid,并保存在配置文件中;vcpe通过动态主机配置协议(dynamichostconfigurationprotocol,dhcp)或者静态指定的ip地址与控制器互通,将用户名、密码、位置代码和本地管理ip地址等通过私有认证报文发送到网络控制器,必要时进行数据加密或者完整性校验。

s5网络控制器提取vcpe认证请求报文中的用户名,密码,uuid以及位置信息,并发送到认证服务器进行认证,认证服务器根据本地数据库进行用户身份校验,同时向控制器返回认证结果;

s6网络控制器接收认证服务器返回的认证结果,如果认证通过,则为合法的vcpe,将vcpe的信息上报编排器;如果认证不通过,则丢弃vcpe的认证请求,并通过日志进行记录;

s7业务编排器通过界面向通过认证的vcpe下发业务配置数据;

s8网络控制器以uuid为标识,将业务编排器下发的配置转化成设备协议并下发给各vcpe实例。

vcpe认证过程中,网络控制器协议状态机参见图7所示。

启动状态(init):网络控制器收到vcpe认证请求报文,向aaa服务器发送认证请求。

未认证状态(unauthorized):aaa服务器认证不通过,返回结果,等待再次认证。

认证状态(authorized):aaa服务器认证通过,获取拓扑信息,并会和包活。

会话超时后,从认证状态(authorized)转换为未认证状态(unauthorized);认证超时后,从未认证状态(unauthorized)转换为启动状态(init)。

本发明实施例实现vcpe设备的身份认证:vcpe的设备安全认证是产品成熟度的关键衡量因素,由于vcpe部署的分散性和开放性的特点,对vcpe进行身份认证是涉及业务安全的关键性问题,合理的认证方案极大地提高了vcpe的可用性,避免整个业务网络的瘫痪。

本发明第四实施例提供虚拟客户终端设备的管理方法,在本发明第三实施例的基础上,用于对迁移的vcpe进行重认证,具体包括:

当vcpe的ip地址发生变化时,重复上述图6中的过程,向网络控制器重新发出带有用户认证请求的认证请求报文,网络控制器提取用户认证请求并进行认证,以及返回带有认证结果的认证应答报文。

本发明第五实施例提供虚拟客户终端设备的管理方法,在本发明第三实施例的基础上,用于网络控制器主动要求vcpe进行重认证,具体包括:网络控制器向vcpe发出认证应答报文,认证应答报文中消息类型为认证应答(type2),其中,result字段填2,表示需要重认证。

本发明第四实施例和第五实施例解决vcpe迁移的重认证问题:在nfv的实际应用中,软件迁移是最为常见的需求,本发明实施例能够在vcpe发生迁移、ip地址变化的情况下对vcpe进行可靠的重认证,且重认证可以由vcpe或者网络控制器发起,进一步提高vcpe的可用性和管理效率。

本发明第六实施例提供虚拟客户终端设备的管理方法,在本发明第三实施例的基础上,用于解决nat穿越问题,包括:

当网络控制器收到vcpe发出的认证请求报文时,对比vcpe的ip地址以及协议报文的源ip地址,如果不一致,则向vcpe发出服务端口通告报文。

由上面type1类型消息的描述可知,当控制器接收到认证请求报文,对比报文净荷部分的管理ip以及报文的源ip,如果两个ip不一致,则vcpe处于nat网关背后,网络控制器无法主动发起控制连接。此时网络控制器会启动一个随机端口作为侦听服务端,并将端口信息通过该消息通告给vcpe。vcpe收到该消息后,可主动向网络控制器的指定端口发起控制连接。由该消息的结构可知,已经充分地考虑ipv4和ipv6,以及tcp/udp的兼容性问题。

参见图8所示,vcpe包括udp认证模块和命令行界面(commandlineinterface,cli),在nat穿越下的命令行通道建立过程中,网络控制器、认证模块和命令行界面cli的交互过程如下:

s201udp认证模块向网络控制器发送认证请求报文。

s202网络控制器根据认证请求报文,对比udp头的源ip和净荷部分中的vcpe的ip字段,如果不一致,则vcpe处于nat网关背后,网络控制器动态分配tcp端口号启动服务端,同时发送type5的服务端口通告报文告知vcpe。

s203udp认证模块向网络控制器的服务端口主动发起连接。

s204udp认证模块向命令行界面cli动态建立tcp连接。

s205网络控制器向建立的tcp连接发送命令行数据。

s206udp认证模块透传命令行数据到命令行界面cli。

s207命令行界面cli返回数据。

s208udp认证模块透传返回数据到网络控制器。

s209网络控制器命令行发送完毕后,发送type6的关闭连接报文到udp认证模块。

s210udp认证模块关闭连接。

由图中可以看出,在nat穿越的情景下,udp认证模块其实是作为控制连接的代理发挥作用的。

在现网的部署场景中,很多中小型企业出口并没有公网地址,而是处于运营商nat网关的背后,且私网地址是动态获取的。vcpe的控制连接一般由控制器主动发起,如典型的命令行配置通道情况下,vcpe往往作为远程终端协议telnet/安全外壳协议(secureshell,ssh)的服务端,网络控制器通过客户端主动连接vcpe。然而,当vcpe处于nat网关背后时,网络控制器不能主动发起到vcpe的控制连接。本发明实施例使得vcpe可以主动发起控制连接,从而有效地解决了vcpe实用化过程中的这种特殊问题。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1