Sdn网络中的数据报文转发方法和系统的利记博彩app

文档序号:8447373阅读:1336来源:国知局
Sdn网络中的数据报文转发方法和系统的利记博彩app
【技术领域】
[0001]本发明涉及网络通信领域,尤其涉及一种SDN网络中的数据报文转发方法和系统。
【背景技术】
[0002]传统的计算机网络由一个个的自治域组成,缺乏集中控制机制,每一个网络协议都需要考虑网络状态协同,网元发现、故障恢复等机制,网络部署新的功能非常困难。软件定义网络(Software Defined Network, SDN)提出了网络集中控制,网络控制和数据转发分离的思想,大大方便了网络的维护和新功能的部署。
[0003]在网络规模较大时,SDN控制器(简称控制器)需要拆分成多个以解决单个节点的性能不足和可靠性不够的问题,分层就是一种常见的拆分方法。图1为现有技术的网络分层示意图。图1中,分层架构将一个大的网络拆分多个小的子网(称为域),每一个域由一个底层控制器控制,若干个底层控制器由一个上层控制器控制,底层控制器和上层控制器上分别部署控制逻辑,上层控制逻辑(由上层控制器上部署的控制逻辑(Applicat1n,App)实现)和底层控制逻辑(由底层控制器上部署的App实现)是不同的。上层控制逻辑负责域间通信(Network to Network Communicat1n),控制的逻辑对象是网间接口(NetworkNode Interface, NNI),控制的物理实体是底层控制器。底层控制逻辑控制终端间的通信(Machine to Machine Communicat1n),控制的逻辑对象是与终端连接的交换机端口,控制的物理实体是虚拟或者物理的交换机。通常将上层控制逻辑称为Root App,底层控制逻辑称为Local App。
[0004]现有技术中,需要将控制逻辑进行拆分,分成上层控制逻辑和底层控制逻辑,并且这种拆分是和SDN对网络的拆分紧密关联的,从而增加了 App开发的难度。

【发明内容】

[0005]本发明实施例提供了一种SDN网络中的数据报文转发方法和系统,可以保证各层控制器上部署的控制逻辑保持相同。
[0006]第一方面,提供了一种SDN网络中的数据报文转发方法,该方法包括:
[0007]第一下级控制器接收第一虚拟交换机发送的报头信息,其中,所述报头信息包括:向所述第一虚拟交换机发送数据报文的源虚拟机的源虚拟机信息和目标虚拟机信息;
[0008]当所述第一下级控制器在本地保存的第一下级拓扑信息中未查找到所述目标虚拟机信息所对应的目标虚拟机时,根据所述源虚拟机信息从所述第一下级拓扑信息中查询所述源虚拟机与所述第一虚拟交换机连接的第一关联端口信息,并生成第一消息,所述第一消息包括:源虚拟机信息、目标虚拟机信息和第一关联端口信息;
[0009]所述第一下级控制器向上级控制器发送所述第一消息,用于所述上级控制器根据所述源虚拟机信息和所述第一关联端口信息查询本地保存的上级拓扑信息,获取所述第一下级控制器对应的第一域虚拟交换机上与所述第一关联端口对应的第一端口信息;根据所述第一端口信息和所述目标虚拟机信息查询所述上级拓扑信息,获取所述目标虚拟机与所述目标虚拟机所归属的第二下级控制器对应的第二域虚拟交换机连接的第二端口信息,获取所述第一域虚拟交换机与所述第二域虚拟交换机相互通信的第一上行接口信息和第二上行接口信息,生成第一流表信息和第二流表信息,其中,所述第一流表信息包括所述第一端口信息和所述第一上行接口信息,所述第二流表信息包括所述第二端口信息和所述第二上行接口信息,并且向所述第一域虚拟交换机发送所述第一流表信息,所述第一流表信息用于指示所述数据报文从所述第一端口收到后通过所述第一上行接口发出,并向所述第二域虚拟交换机发送所述第二流表信息,所述第二流表信息用于指示所述数据报文从所述第二上行接口收到后通过所述第二端口发出。
[0010]根据第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
[0011]当云管理服务器向所述上级控制器发送配置信息,所述配置信息包括所有虚拟机的信息,向每个下级控制器下属的虚拟交换机下发该虚拟交换机与该虚拟交换机控制的虚拟机的关联端口信息,且所述虚拟机与所述虚拟交换机连接的所述关联端口状态为活跃时,所述下级控制器接收所述虚拟交换机发送的关联端口状态信息,并向所述虚拟交换机发送所述关联端口对应的虚拟机的查询信息,接收所述虚拟交换机返回的所述关联端口下的虚拟机ID和该关联端口的端口 ID,从而生成所述第一下级拓扑信息或第二下级拓扑信息;
[0012]所述下级控制器向所述上级控制器发送上报信息,所述上报信息包括该下级控制器ID、所述虚拟机ID以及所述关联端口的端口 ID,从而由所述上级控制器得到每一个下级控制器下属的虚拟机信息,并且将所述关联端口映射为所述第一域虚拟交换机上的第一端口或者所述第二域虚拟交换机上的第二端口,从而生成上级拓扑信息。
[0013]根据第一方面的一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述所有虚拟机的信息包括虚拟机ID、虚拟机与对应的虚拟交换机连接的关联端口的端口ID和虚拟机地址信息,所述方法包括:
[0014]当所述上级控制器对所述上报信息中的虚拟机ID和端口 ID与所述云管理服务器下发给所述上级控制器的所有虚拟机的信息中虚拟机ID和端口 ID —一进行比较,且所述上报信息中的虚拟机ID和端口 ID与任一虚拟机的信息中的虚拟机ID和端口 ID相同时,所述下级控制器接收所述上级控制器下发的所述任一虚拟机的信息中的虚拟机地址信息。
[0015]根据第一方面,在第一方面的第三种可能的实现方式中,所述在向第一域虚拟机交换机发送所述第一流表信息之后,所述方法还包括:
[0016]当所述第一域虚拟交换机根据所述第一上行接口信息从所述上级拓扑信息中查询得到所述第一下级控制器控制的第一子网内交换机上的第一物理端口信息,根据所述第一端口信息从所述上级拓扑信息中查询得到所述第一关联端口信息,并向所述第一下级控制器发送所述第一物理端口信息和第一关联端口信息时,所述第一下级控制器计算所述第一关联端口与所述第一物理端口之间的第一路由信息,并将所述第一路由信息发送给所述第一虚拟交换机,用于所述第一虚拟交换机根据所述第一路由信息,向所述目标虚拟机发送第二数据报文。
[0017]根据第一方面,在第一方面的第四种可能的实现方式中,所述在向所述第二域虚拟交换机发送所述第二流表信息之后,所述方法还包括:
[0018]当所述第二域虚拟交换机根据所述第二上行接口的信息从所述上级拓扑信息中查询得到所述第二下级控制器控制的第二子网内交换机上的第二物理端口信息,根据所述第二端口信息从所述上级拓扑信息中查询得到所述目标虚拟机与对应的第二虚拟交换机连接的第二关联端口信息,并向所述第二下级控制器发送所述第二物理端口信息和所述第二关联端口信息时,所述第二下级控制器计算所述第二关联端口与所述第二物理端口之间的第二路由信息,并将所述第二路由信息发送给所述第二虚拟交换机,用于所述第二虚拟交换机根据所述第二路由信息,接收所述源虚拟机发送的第三数据报文。
[0019]第二方面,提供了一种SDN网络中的通信系统,该系统包括:上级控制器和第一下级控制器;
[0020]所述第一下级控制器,用于接收第一虚拟交换机发送的报头信息,其中,所述报头信息包括:向所述第一虚拟交换机发送数据报文的源虚拟机的源虚拟机信息和目标虚拟机信息;
[0021]当所述第一下级控制器在本地保存的第一下级拓扑信息中未查找到所述目标虚拟机信息所对应的目标虚拟机时,根据所述源虚拟机信息从所述第一下级拓扑信息中查询所述源虚拟机与所述第一虚拟交换机连接的第一关联端口信息,并生成第一消息,向上级控制器发送所述第一信息,所述第一消息包括:源虚拟机信息、目标虚拟机信息和第一关联端口信息;
[0022]所述上级控制器,用于接收所述第一消息,根据所述源虚拟机信息和所述第一关联端口信息查询本地保存的上级拓扑信息,获取所述第一下级控制器对应的第一域虚拟交换机上与所述第一关联端口对应的第一端口信息;根据所述第一端口信息和所述目标虚拟机信息查询所述上级拓扑信息,获取所述目标虚拟机与所归属的第二下级控制器对应的第二域虚拟交换机连接的第二端口信息,获取所述第一域虚拟交换机与所述第二域虚拟交换机相互通信的第一上行接口信息和第二上行接口信息,生成第一流表信息和第二流表信息,其中,所述第一流表信息包括所述第一端口信息和所述第一上行接口信息,所述第二流表信息包括所述第二端口信息和所述第二上行接口信息,并且向所述第一域虚拟交换机发送所述第一流表信息,所述第一流表信息用于指示所述数据报文从所述第一端口收到后通过所述第一上行接口发出,并向所述第二域虚拟交换机发送所述第二流表信息,所述第二流表信息用于指示所述数据报文从所述第二上行接口收到后通过所述第二端口发出。
[0023]根据第二方面,在第二方面的第一种可能的实现方式中,所述下级控制器,用于当云管理服务器向每个下级控制器下属的虚拟交换机下发该虚拟交换机与该虚拟机控制的虚拟机的关联端口信息,且所述虚拟机与所述虚拟交换机连接的所述关联端口状态为活跃时,接收所述虚拟交换机发送的关联端口状态信息,并向所述虚拟交换机发送所述关联端口对应的虚拟机的查询信息,接收所述虚拟交换机返回的所述关联端口下的虚拟机ID和该关联端口的端口 ID,从而生成所述第一下级拓扑信息或第二下级拓扑信息;
[0024]向所述上级控制器发送上报信息,所述上报信息包括该下级控制器ID、所述虚拟机ID
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1