一种隧道建立的方法及通信系统与流程

文档序号:11234553阅读:341来源:国知局
一种隧道建立的方法及通信系统与流程

【技术领域】

本发明涉及通信技术领域,尤其涉及一种隧道建立的方法及通信系统。



背景技术:

虚拟可扩展局域网技术(vxlan)是一种隧道封装技术,能在三层网络的基础上建立二层网络隧道,从而实现跨地域的二层互连,实现大二层。目前在某些实际应用场景中,利用vxlan实现大二层需要hub-spoke组网模式。在这种组网模式下,存在一个中心节点(hub站点)和多个接入节点(spoke站点),spoke-vtep(vtep-client,vxlan隧道终端节点客户机)之间的数据交换必须通过hub-vtep(vtep-server,vxlan隧道终端节点服务器),而不允许各个spoke-vtep之间直接进行数据交换。很多情况下,hub-spoke组网模式下的网络规模比较大。同时在这种组网模式下,要求spoke站点动态的加入和删除,实现大二层的可伸缩扩展。

现有技术中,通过静态配置法建立vxlan隧道,静态配置法通过配置命令或管理页面配置网络中的每个vxlan隧道。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

在hub-spoke组网模式下,网络规模大,且网络环境处于动态变化过程中,此时通过静态配置法配置网络中每个vxlan隧道,需要单个vxlan隧道一一人工配置,过程繁多,操作复杂。



技术实现要素:

有鉴于此,本发明实施例提供了一种隧道建立的方法及通信系统,利用sdn控制思想,在sdn控制器感知到vtepclient接入vtepserver,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立邻居地址为vtepclient的本地ip地址的vtep的命令,实现vxlan隧道的自动配置。

一方面,本发明实施例提供一种隧道建立的方法,适用于通信系统,所述通信系统包括软件定义网络sdn控制器、虚拟可扩展局域网服务器vxlanserver及其虚拟可扩展局域网隧道终端节点vtepserver、虚拟可扩展局域网客户端vxlanclient及其虚拟可扩展局域网终端节点vtepclient,sdn控制器与vxlanserver通信,vxlanserver与vxlanclient通信,所述方法包括:

在vxlanserver端,通过sdn控制器启动vtepserver,以监测vxlanclient的接入;且在vxlanclient端,将vtepclient的邻居地址配置为vtepserver的本地网络之间互连协议ip地址;

若sdn控制器感知到vxlanclient接入时,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vtepclient的本地ip地址;

vxlanserver根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述通信系统还包括主机hosts,vxlanserver、vxlanclient分别与各自对应的hosts进行通信,则在所述vxlanserver根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep之后,所述方法还包括:

当vxlanclient对应的host访问vxlanserver对应的host,或其他vxlanclient对应的host时,vtepclient将原始报文打包成vxlan报文,并传输给vxlanserver;

vxlanserver接收到vxlan报文时,通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,若sdn控制器无法感知到vxlanclient接入,当vxlanserver接收到vxlan报文,不存在邻居地址为vxlanclient本地ip地址的vtep时,则在vxlanserver通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host之前,所述方法还包括:

vxlanserver通过vtepserver将vxlan报文处理为原始报文;

vxlanserver将携带原始报文的packetin报文发送给sdn控制器;

sdn控制器根据packetin报文进行vtep的邻居地址信息被动学习,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vxlanclient的本地ip地址;

vxlanserver根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep;

sdn控制器将携带原始报文的packetout报文传回vxlanserver;

则vxlanserver接收到vxlan报文时,通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host,包括,

vxlanserver接收到携带原始报文的packetout报文时,将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在vxlanserver建立邻居地址为vtepclient本地ip地址的vtep之后,所述方法还包括:

vtepserver向vtepclient周期性地发送在线查询echorequest报文。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述vtepserver向vtepclient周期性地发送echorequest报文之后,所述方法还包括:

当vxlanclient在线时,vtepclient向vtepserver返回在线答复echoreply报文。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述vtepserver向vtepclient周期性地发送echorequest报文之后,所述方法还包括:

当vxlanclient下线时,通知sdn控制器,sdn控制器向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述vtepserver向vtepclient周期性地发送echorequest报文之后,所述方法还包括:

若sdn控制器在指定时间没有收到vtepclient返回的echoreply报文,或无法获取vtepclient的流量消耗时,sdn控制器向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

另一方面,本发明实施例提供一种通信系统,所述通信系统分为vxlanserver端和vxlanclient端,vxlanserver端包括软件定义网络sdn控制器、虚拟可扩展局域网服务器vxlanserver及其虚拟可扩展局域网隧道终端节点vtepserver,vxlanclient端包括虚拟可扩展局域网客户端vxlanclient及其虚拟可扩展局域网终端节点vtepclient,sdn控制器与vxlanserver通信,vxlanserver与vxlanclient通信:

vxlanserver端,通过sdn控制器启动vtepserver,以监测vxlanclient的接入;

vxlanclient端,将vtepclient的邻居地址配置为vtepserver的本地网络之间互连协议ip地址;

sdn控制器,用于在感知到vxlanclient接入时,主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vtepclient的本地ip地址;

vxlanserver,用于根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述通信系统的vxlanserver端和vxlanclient端还包括各自对应的主机hosts,vxlanserver、vxlanclient分别与各自对应的hosts进行通信,则:

vtepclient,用于当vxlanclient对应的host访问vxlanserver对应的host,或其他vxlanclient对应的host时,将原始报文打包成vxlan报文,并传输给vxlanserver;

vxlanserver,用于在接收到vxlan报文时,通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,若sdn控制器无法感知到vxlanclient接入,当vxlanserver接收到vxlan报文,不存在邻居地址为vxlanclient本地ip地址的vtep时,则:

vxlanserver,用于通过vtepserver将vxlan报文处理为原始报文;

vxlanserver,还用于将携带原始报文的packetin报文发送给sdn控制器;

sdn控制器,用于根据packetin报文进行vtep的邻居地址信息被动学习,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vxlanclient的本地ip地址;

vxlanserver,用于根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep;

sdn控制器,还用于将携带原始报文的packetout报文传回vxlanserver;

vxlanserver,还用于在接收到携带原始报文的packetout报文时,将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,vtepserver,用于向vtepclient周期性地发送echorequest报文。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,vtepclient,用于当vxlanclient在线时,向vtepserver返回echoreply报文。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,sdn控制器,用于接收到vxlanclient下线通知时,向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,sdn控制器,用于在指定时间没有收到vtepclient返回的echoreply报文,或无法获取vtepclient的流量消耗时,向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

本发明实施例提供了一种隧道建立的方法及通信系统,首先vtepclient的邻居地址配置为vtepserver的本地ip地址,再利用sdn控制思想,在sdn控制器感知到vtepclient接入vtepserver,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立邻居地址为vtepclient的本地ip地址的vtep的命令,vxlanserver根据命令建立vtep,实现vxlan隧道的自动配置。且不需要复杂的自定义邻居发现协议,实现过程简单快捷。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种隧道建立的方法流程图;

图2是本发明实施例提供的另一种隧道建立的方法流程图;

图3是本发明实施例提供的另一种隧道建立的方法流程图;

图4a是本发明实施例提供的另一种隧道建立的方法流程图;

图4b是本发明实施例提供的另一种隧道建立的方法流程图;

图5a是本发明实施例提供的另一种隧道建立的方法流程图;

图5b是本发明实施例提供的另一种隧道建立的方法流程图;

图6a是本发明实施例提供的另一种隧道建立的方法流程图;

图6b是本发明实施例提供的另一种隧道建立的方法流程图;

图7a是本发明实施例提供的另一种隧道建立的方法流程图;

图7b是本发明实施例提供的另一种隧道建立的方法流程图;

图8是本发明实施例提供的一种通信系统的组成示意图;

图9是本发明实施例提供的另一种通信系统的组成示意图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,尽管在本发明实施例中可能采用术语第一、第二来描述传输单元、发送单元、下发单元,但不应限于这些术语。这些术语仅用来将传输单元等彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一传输也可以被称为第二传输单元,类似地,第二传输单元也可以被称为第一传输单元。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

本发明实施例提供了一种隧道建立的方法,适用于通信系统,所述通信系统包括软件定义网络sdn(softwaredefinenetwork)控制器、虚拟可扩展局域网服务器vxlanserver(virtualextensiblelanserver)及其虚拟可扩展局域网隧道终端节点vtepserver(vxlantunnelendpointserver)、虚拟可扩展局域网客户端vxlanclient及其虚拟可扩展局域网终端节点vtepclient,sdn控制器与vxlanserver通信,vxlanserver与vxlanclient通信,适用于hub-spoke组网模式的大二层vxlan网络中vxlan隧道的建立过程中。

其中,vxlan是建立在物理网络互连协议网络之上的虚拟以太网,使用24位vxlan网络标识符,最大支持16000000个逻辑网络,vxlan可跨越物理三层网络,使用用户数据包协议(userdatagramprotocol,udp)封装能在三层物理网络上建立二层逻辑网络,实现大二层网络。

vtep是vxlan隧道终端节点(vxlantunnelingendpoint),用于对vxlan报文进行封装和解封装。在vxlan隧道一端的vtep封装原始报文后生成vxlan报文,通过vxlan隧道向另一端vtep发送vxlan报文,另一端vtep接收到封装的vxlan报文解封装后根据被封装的mac(mediaaccesscontroller,媒体访问控制子层)地址进行转发。

服务器端的vtep称为vtepserver,客户机端的vtep称为vtepclient。

如图1所示,所述方法包括:

101、在vxlanserver端,通过sdn控制器启动vtepserver,以监测vxlanclient的接入;且在vxlanclient端,将vtepclient的邻居地址配置为vtepserver的本地网络之间互连协议ip地址。

需要说明的是,vtepserver是vxlanserver的原始vtep,原始vtepsever与vtepclient不构成vxlan隧道,只用于接收vxlan报文,以监测vxlanclient的接入。

需要说明的是,vtepserver的本地ip地址即为vxlanserver的本地ip地址。

需要说明的是,vtepserver的vni(vxlannetworkidentifier,vxlan网络标识)为任意有效vni值,用于整个大二层的标识。

进一步说明的是,vtepclient的vni配置为与vtepserver的vni相同。

102、若sdn控制器感知到vxlanclient接入时,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

其中,南向接口协议指的是ovsdb协议。

需要说明的是,步骤102仅发生在sdn控制器可以感知到vxlanclient接入时,比如vtepclient也在sdn控制器管理下,或者vtepclient的接入可以通过第三方装置(比如通过演进数据核心网控制器)通知sdn控制器。

需要说明的是,vtepclient的本地ip地址即为vxlanclient的本地ip地址。

103、vxlanserver根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

本发明实施例提供了一种隧道建立的方法,首先vtepclient的邻居地址配置为vtepserver的本地ip地址,再利用sdn控制思想,在sdn控制器感知到vtepclient接入vtepserver,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立邻居地址为vtepclient的本地ip地址的vtep的命令,vxlanserver根据命令建立vtep,实现vxlan隧道的自动配置。且不需要复杂的自定义邻居发现协议,实现过程简单快捷。

进一步来说,结合前述方法流程,所述通信系统还包括主机hosts,vxlanserver、vxlanclient分别与各自对应的hosts进行通信。因此针对hosts之间的数据传输过程,本发明实施例的另一种可能的实现方式还提供了以下方法流程,执行在步骤103之后,如图2所示,包括:

104、当vxlanclient对应的host访问vxlanserver对应的host,或其他vxlanclient对应的host时,vtepclient将原始报文打包成vxlan报文,并传输给vxlanserver。

其中,主机hosts指的是在网络技术中是关于发送与接收信息的终端设备。需要说明的是主机hosts也可以是虚拟主机,比如网络空间或数据库空间等。

其中,原始报文指的是原始数据包。vxlan报文指的是将原始数据包封装上vxlan报文头的vxlan格式的数据包。

vtepclient将原始报文打包成vxlan报文后,可以通过路由器(比如3层路由,l3route)传输给vxlanserver。

105、vxlanserver接收到vxlan报文时,通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

当vxlanclient对应的host访问vxlanserver对应的host,vxlanserver接收到vxlan报文时,邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,之后vxlanserver将原始报文转发给vxlanserver对应的host。

当vxlanclient对应的host访问其他vxlanclient对应的host时,vxlanserver接收到vxlan报文时,邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并经过其他vtep(与其他vxlanclient对应)将原始报文重新打包为vxlan报文,之后vxlanserver将vxlan报文转发给其他vxlanclient对应的host。

其中,邻居地址为vxlanclient本地ip地址的vtep剥去vxlan报文头,以将vxlan报文头处理为原始报文。

进一步来说,结合前述方法流程,若sdn控制器无法感知到vxlanclient接入,即当vxlanserver接收到vxlan报文,不存在邻居地址为vxlanclient本地ip地址的vtep时,sdn控制器可以被动学习vtep的邻居地址,以建立邻居地址为vxlanclient的本地ip地址的vtep,因此本发明实施例的另一种可能的实现方式还提供了以下方法流程,执行在步骤105之前,如图3所示,包括:

106、vxlanserver通过vtepserver将vxlan报文处理为原始报文。

需要说明的是,当vxlanserver接收到vxlan报文,不存在邻居地址为vxlanclient本地ip地址的vtep时,通过原始vtepserver进行报文接收。

107、vxlanserver将携带原始报文的packetin报文发送给sdn控制器。

108、sdn控制器根据packetin报文进行vtep的邻居地址信息被动学习,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vxlanclient的本地ip地址。

需要说明的是,步骤108是sdn控制器被动学习vtep邻居地址的过程,当sdn控制器无法主动学习时,采用被动学习,通过sdn控制器被动学习vtep邻居地址,适用范围更广,更具有实用性。可实现vxlan隧道的自动配置。且不需要复杂的自定义邻居发现协议,实现过程简单快捷。

109、vxlanserver根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

110、sdn控制器将携带原始报文的packetout报文传回vxlanserver。

则步骤105具体执行为:

1051、vxlanserver接收到携带原始报文的packetout报文时,将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

进一步来说,结合前述方法流程,在vxlanserver建立邻居地址为vtepclient本地ip地址的vtep之后,为了实时监测vxlanclient是否在线,本发明实施例的另一种可能的实现方式还提供了以下方法流程,执行在步骤103或步骤109之后,如图4a或图4b所示,包括:

111、vtepserver向vtepclient周期性地发送在线查询echorequest报文。

其中,echorequest报文可以用于查询vxlanclient是否在线,当收到在线回复echoreply报文时,认为vxlanclient在线。

进一步来说,结合前述方法流程,vxlanclient在线和离线时,vtepclient会执行不同的流程通知vtepserver,使vtepserver对建立的邻居地址为vtepclient本地ip地址的vtep做出相应处理,因此针对vxlanclient在线和离线两种情况,本发明实施例的另一种可能的实现方式还提供了以下方法流程,执行在步骤111之后。

首先,vxlanclient在线时,分别如图5a、图5b所示,包括:

112、当vxlanclient在线时,vtepclient向vtepserver返回在线回复echoreply报文。

vxlanclient在线时,vxlanserver对邻居地址为vtepclient的本地ip地址的vtep不做任何处理,继续保持数据的传输。

其次,vxlanclient离线时,有两种不同实现方式。

第一种实现方式,如图6a、图6b所示,包括:

113、当vxlanclient下线时,通知sdn控制器,sdn控制器向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

第二种实现方式,如图7a、图7b所示,包括:

114、若sdn控制器在指定时间没有收到vtepclient返回的echoreply报文,或无法获取vtepclient的流量消耗时,sdn控制器向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

sdn控制器在指定时间没有收到vtepclient返回的echoreply报文,或无法获取vtepclient的流量消耗时,均认为vxlanclient离线。

vxlanclient离线时,vxlanserver删除邻居地址为vtepclient的本地ip地址的vtep。

为了将本发明实施例的通信系统更加清晰的展现,基于前述所有方法实施例,给出通信系统的一个示意性框图,见图8,图8中有两个客户端,两个客户端相关各设备均以编号a、b区分。

基于前述总体流程,本发明实施例还提供了针对总体流程的一种具体实现方式,本实施例中以hub-spoke组网模式的企业内部的通信系统为例进行举例说明。

如图9所示,为lte(longtermevolution,通用移动通信技术的长期演进)移动通信网络中,企业内部的通信系统的一个示意性框图。其中,无线终端接入设备cpe-a和cpe-b部署在企业的两个分支(分支中各设备均以编号a、b区分),epc(evolvedpacketcore,3gpp的演进分组核心网)部署在企业总部,每个分支都有自己的enb(基站)。两个分支的pc(personalcomputer,个人电脑,主机)和总部的vxlanserver(ftpserver(filetransferprotocolserver)和dhcpserver)构成二层网络。vtepserver通过switch(交换机)与vxlanserver通信。分支的cpe必须接入epc,分支内的pc才能和另外的分支内的pc通信,才能访问企业总部的服务器。

图9中,为了清晰的展示,将vtepsever、vtepa和vtepb统一示意。

本实施例中企业内部通信系统中的建立vxlan隧道的具体步骤流程,如下:

201、企业总部通过sdn控制器,启动vxlanserver。

其中,vxlanserver的本地ip地址为epcsgi三层可达的地址。

202、分支cpe连接vxlanclient,vxlanclient配置vtepclient邻居地址为vxlanserver的本地ip地址。

203、分支cpe接入时,epc通知sdn控制器分支cpe的vtepclient接入二层网络,sdn控制器主动学习vtep的邻居地址信息,并通过ovsdb协议命令给vxlanserver下发建立邻居地址为对端cpe本地ip地址的vtep命令,以建立与对端cpe通信的vxlan隧道。

204、分支pc通过cpe访问企业总部pc时,原始报文经过cpe的vtepclient打包,经过cpe,enb,epc到达vxlanserver。

205、当vxlanserver上有对端cpe的vxlan的隧道时,走报文正常流程,剥去vxlan报文头,转发给企业总部pc。

当没有对端cpe的vxlan隧道时,vxlanserver通过vtepserver将vxlan报文处理为原始报文,并将携带原始报文的packetin报文发送给sdn控制器,sdn控制器根据packetin报文被动学习vtep的邻居地址信息,通过ovsdb命令给vxlanserver下发建立邻居地址为对端cpe本地ip的vtep命令,以建立与对端cpe通信的vxlan隧道,并将携带原始报文的packetout报文传回vxlanserver。

206、vxlanserver定期发送echorequest报文给vxlanclient。

207、若cpe在线,vxlanclient回复ehcoreply报文。

若cpe下线,或设定的时间sdn控制器没有收到vxlanclient的ehcoreply报文时,或设定的时间内没有vxlanclient的流量消耗时,sdn控制器给vxlanserver下发删除邻居地址为对端cpe本地ip的vtep命令,即删除对端cpe对应的vxlan隧道。

需要说明的是,在非lte(longtermevolution,通用移动通信技术的长期演进)移动通信网络下,有些企业需要集中管控vxlan组成的大二层网络数据报文的通信流量,比如统一的统计、计费或、安全策略控制。这就要求二层网络是个hub-spoke的组网模式,整个网络的流量都经过一个集中的hub节点。同时,企业还需要这个二层的网络是可扩展的。在这种情况,建立vxlan隧道的方法与步骤201至步骤207的类似,不同之处是通信系统中不是cpe接入,而是其它设备的接入,此处不再赘述。

有时候,某些企业要求hub-spoke的大二层网络,但是sdn控制器无法感知他们的spoke节点设备,并且这些spoke节点设备不支持echorequest报文的传输。这种情况下sdn控制器无法主动学习vtep的邻居地址信息,因此针对这种情况,基于前述总体方法流程,本发明实施例还提供了针对总体流程的另一种具体实现方式,具体执行步骤如下:

301、企业总部通过sdn控制器,启动vtepserver。

302、分支端,vxlanclient配置vtepclient的邻居地址为vtepserver的本地ip。

其中,vtepclient的本地ip地址即为vxlanclient的本地ip地址;vtepclient的vni配置为与vtepserver的vni相同。

303、当vxlanclient对应的host访问vxlanserver对应的host或其它vxlanclient对应的host时,原始报文经过vtepclient的打包成vxlan报文,经过3层路由到达vtepserver。

304、vtepserver接收到vxlan报文时,通过vtepserver将vxlan报文处理为原始报文,并将携带原始报文的packetin报文转发给sdn控制器,sdn控制器根据packetin报文被动学习vtep邻居地址,通过ovsdb命令给vxlanserver下发建立vxlanclientip的vtep命令,并将携带原始报文的packetout报文传回vxlanserver。

305、当设定的时间内sdn控制器没有获取到vtepclient的流量消耗时,sdn控制器给vxlanserver下发删除邻居地址为vtepclient本地ip地址的vtep的命令。

本发明实施例还提供了一种通信系统,适用于上述方法流程,所述通信系统分为vxlanserver端和vxlanclient端,vxlanserver端包括软件定义网络sdn控制器、虚拟可扩展局域网服务器vxlanserver及其虚拟可扩展局域网隧道终端节点vtepserver,vxlanclient端包括虚拟可扩展局域网客户端vxlanclient及其虚拟可扩展局域网终端节点vtepclient,sdn控制器与vxlanserver通信,vxlanserver与vxlanclient通信:

vxlanserver端,通过sdn控制器启动vtepserver,以监测vxlanclient的接入。

vxlanclient端,将vtepclient的邻居地址配置为vtepserver的本地网络之间互连协议ip地址。

sdn控制器,用于在感知到vxlanclient接入时,主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

vxlanserver,用于根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

可选的是,所述通信系统的vxlanserver端和vxlanclient端还包括各自对应的主机hosts,vxlanserver、vxlanclient分别与各自对应的hosts进行通信,则:

vtepclient,用于当vxlanclient对应的host访问vxlanserver对应的host,或其他vxlanclient对应的host时,将原始报文打包成vxlan报文,并传输给vxlanserver。

vxlanserver,用于在接收到vxlan报文时,通过邻居地址为vxlanclient本地ip地址的vtep将vxlan报文处理为原始报文,并将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

可选的是,若sdn控制器无法感知到vxlanclient接入,当vxlanserver接收到vxlan报文,不存在邻居地址为vxlanclient本地ip地址的vtep时,则:

vxlanserver,用于通过vtepserver将vxlan报文处理为原始报文。

vxlanserver,还用于将携带原始报文的packetin报文发送给sdn控制器。

sdn控制器,用于根据packetin报文进行vtep的邻居地址信息被动学习,并通过南向接口协议命令向vxlanserver下发建立vtep的命令,vtep的邻居地址为vxlanclient的本地ip地址。

vxlanserver,用于根据sdn控制器下发的建立vtep的命令,建立邻居地址为vtepclient本地ip地址的vtep。

sdn控制器,还用于将携带原始报文的packetout报文传回vxlanserver。

vxlanserver,还用于在接收到携带原始报文的packetout报文时,将原始报文转发给vxlanserver对应的host,或经过其他vtep将原始报文重新打包为vxlan报文,转发给其他vxlanclient对应的host。

可选的是,vtepserver,用于向vtepclient周期性地发送echorequest报文。

可选的是,vtepclient,用于当vxlanclient在线时,向vtepserver返回echoreply报文。

可选的是,sdn控制器,用于接收到vxlanclient下线通知时,向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

可选的是,sdn控制器,用于在指定时间没有收到vtepclient返回的echoreply报文,或无法获取vtepclient的流量消耗时,向vxlanserver下发删除vtep的命令,vtep的邻居地址为vtepclient的本地ip地址。

本发明实施例提供了一种通信系统,首先vtepclient的邻居地址配置为vtepserver的本地ip地址,再利用sdn控制思想,在sdn控制器感知到vtepclient接入vtepserver,sdn控制器主动学习vtep的邻居地址信息,并通过南向接口协议命令向vxlanserver下发建立邻居地址为vtepclient的本地ip地址的vtep的命令,vxlanserver根据命令建立vtep,实现vxlan隧道的自动配置。且不需要复杂的自定义邻居发现协议,实现过程简单快捷。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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