基于sdn的覆盖网络和物理网络的关联方法及系统的制作方法_2

文档序号:8322083阅读:来源:国知局
络设备各端口的连接关系以及物理网络设备各端口之间的连接关系。
[0026]以下对本发明较佳实施例的方法进行具体描述。
[0027]具体而言,于本实施例中,在路由器/交换机等物理网络设备已经连接,用户已定义SDN覆盖网络的IP信息(例如包括公/私网IP地址、IP子网、掩码、网关等网络信息)的基础上,进行SDN覆盖网络与物理网络的关联映射。
[0028]具体而言,用户利用OpenStack开源云管理平台提供的Nova组件完成虚拟机的生成,在生成虚拟机的过程中指定虚拟网卡的数量,并由Nova组件在虚拟机上创建相应的虚拟网卡。于虚拟网卡已创建的基础上进行虚拟网络的配置。用户利用OpenStack开源云管理平台提供的Neutron组件创建不同的虚拟网络,并将各虚拟机配置的虚拟网卡附着到各虚拟网络中,为各虚拟网卡指派IP地址和虚拟网络访问关系。其中,用户自定义的SDN覆盖网络的网络信息包括为该SDN覆盖网络指派的外部网关信息(即,通过哪个宿主机的IP地址与外部网络进行通信)。
[0029]其中,OpenStack开源云管理平台作为开源云管理平台的典型代表,逐渐将业界关注的技术重点集成在其开放框架之下。Neutron组件是OpenStack框架中提供SDN网络接入能力的重要组成部分。Neutron组件通过标准的应用程序编程接口(Applicat1nProgramming Interface,API)封装上层应用发给它的每个命令,API包括create_network、create_port、create_subnet 等创建多租户网络以及创建 Firewall、LoadBalancer等各种业务的API。同时,Neutron组件通过不同的插件(plugin)提供南向与虚拟交换机或物理交换机的接口,例如OVS、Linux Bridge和OpenFlow Controller等。
[0030]于本实施例中,根据宿主机的地址解析协议(ARP)信息,可以得到IP地址与宿主机的物理网卡的MAC地址的映射关系。根据由各宿主机的虚拟交换机记录的SDN覆盖网络的虚拟网络信息与宿主机物理网卡的桥接逻辑关系、以及用户为该SDN覆盖网络指派的外部网关信息(宿主机的IP地址),再加上所述宿主机的ARP信息,以宿主机IP地址为关联要素,完成用户定义的SDN覆盖网络的虚拟网络信息(IP信息)与宿主机物理网卡的映射(即,完成SDN隧道封装的映射),即将SDN覆盖网络的虚拟机上配置的虚拟网络信息封装为宿主机的真实网卡信息。
[0031]此外,根据物理网络设备记录的介质访问控制(MAC)信息,确定宿主机的物理网卡与物理网络设备各端口的连接关系以及物理网络设备各端口间的连接关系。其中,由交换机的转发表(即MAC表)或路由器的ARP表提供MAC信息。具体而言,交换机的转发表或路由器的ARP表中按照各个端口记录各网络设备的MAC信息。通过计算任意两台交换机/路由器上任意两个不同端口上的MAC信息的交集,判断端口之间是否存在连接关系。若端口之间存在MAC信息的交集,则确定端口之间存在连接关系。基于此,确定宿主机的物理网卡与物理网络设备各端口的连接关系以及物理网络设备各端口间的连接关系。即,完成宿主机的物理网卡进行数据转发时的真实物理路径计算。
[0032]基于上述得到的用户定义的SDN覆盖网络的虚拟网络信息与宿主机物理网卡的映射关系、宿主机的物理网卡与物理网络设备各端口的连接关系以及物理网络设备各端口间的连接关系,可以确定一个SDN覆盖网络的虚拟网络或虚拟网络流量在物理网络中的连接状态及完整数据转发路径。
[0033]本发明较佳实施例还提供一种SDN覆盖网络和物理网络的关联系统,包括配置模块、第一映射确定模块以及第二映射确定模块。配置模块,用于基于OpenStack开源云管理平台配置SDN覆盖网络的虚拟网络信息。第一映射确定模块,用于确定SDN覆盖网络的虚拟网络信息与宿主机的物理网卡之间的映射关系。第二映射确定模块,用于根据虚拟网络信息与宿主机的物理网卡之间的映射关系、各宿主机的物理网卡与物理网络设备各端口的连接关系以及物理网络设备各端口之间的连接关系,确定所述SDN覆盖网络在包括所述物理网络设备与宿主机的物理网络中的连接状态及数据转发路径。
[0034]于较佳实施例中,SDN覆盖网络和物理网络的关联系统还包括覆盖网络拓扑计算模块,用于记录SDN覆盖网络的虚拟网络拓扑。
[0035]于较佳实施例中,SDN覆盖网络和物理网络的关联系统还包括物理网络拓扑模块以及覆盖网络拓扑计算模块。物理网络拓扑模块,用于记录物理网络拓扑;覆盖网络拓扑计算模块,用于记录SDN覆盖网络的虚拟网络拓扑。
[0036]于较佳实施例中,SDN覆盖网络和物理网络的关联系统还包括物理拓扑计算模块、覆盖网络拓扑计算模块以及综合拓扑展现模块。其中,物理网络拓扑模块,用于记录物理网络拓扑;覆盖网络拓扑计算模块,用于记录SDN覆盖网络的虚拟网络拓扑;综合拓扑展现模块,用于根据SDN覆盖网络的虚拟网络拓扑、SDN覆盖网络在物理网络中的连接状态及数据转发路径以及物理网络拓扑,形成可视化界面,显示SDN覆盖网络在物理网络中的连接状态及数据转发路径。
[0037]于较佳实施例中,第二映射确定模块,还用于根据物理网络设备记录的MAC信息,确定各宿主机的物理网卡与物理网络设备各端口的连接关系以及物理网络设备各端口之间的连接关系。
[0038]如图2所示,本实施例提供的SDN覆盖网络和物理网络的关联系统包括配置模块10、第一映射确定模块11、第二映射确定模块12、覆盖网络拓扑计算模块13、物理拓扑计算模块14以及综合拓扑展现模块15。以下参照图2及图3,对本实施例进行详细说明。
[0039]如图2所示,SDN覆盖网络包括各宿主机(即物理机)上设置的虚拟交换机、虚拟机以及各虚拟机配置的虚拟网卡。于此,虚拟机间的流量控制仍然由SDN控制器统一下发。由于考虑到本发明较佳实施例提供的方法中不包含流量控制策略下发的过程,因此,于本发明较佳实施例中,省略了 SDN覆盖网络的SDN控制器部分的描述。
[0040]于本实施例中,一台或多台虚拟机可以创建在同一台宿主机(即物理机)上,每台虚拟机在创建时可以配置一个或多个虚拟网卡,用来模拟与真实物理机相同的流量场景。宿主机根据实际配置情况,可能提供一个或多个真实的物理网卡,用来连接传统网络环境中的交换机或路由器等物理网元设备。各虚拟机通过虚拟交换机完成虚拟网络和物理网卡之间的桥接逻辑,从而为虚拟机的数据包提供物理转发端口。
[0041]如图2所示,宿主机(物理机)A上设置有虚拟交换机、虚拟机及物理网卡NIC1、NIC2。虚拟机上例如配置了两个虚拟网卡vNICl、vNIC2。
[0042]步骤SlOl:基于OpenStack开源云管理平台提供的Nova组件可以完成虚拟机的生成,在生成虚拟机的过程中指定虚拟网卡的数量,并由Nova组件在虚拟机上创建相应的虚拟网卡。
[0043]步骤S102:基于OpenStack开源云管理平台对SDN覆盖网络的虚拟网络信息进行配置。具体而言,配置模块10利用OpenStack开源云管理平台提供的Neutron组件创建不同的虚拟网络,并将各虚拟机配置的虚拟网卡附着到各虚拟网络中,为各虚拟网卡指派IP地址和虚拟网络访问关系。如图2所示,虚拟网卡vNICI附着到虚拟网络I,虚拟网络vNIC2附着到虚拟网络2。此外,SDN覆盖网络的网络信息的自定义还包括为该SDN覆盖网络指派的外部网关信息(即,通过哪个宿主机的IP地址与外部网络进行通信)。如图2所示,为SDN覆盖网络指派的外部网关信息例如为宿主机A的IP地址信息。
[0044]步骤S103:OpenStack开源云管理平台的组件将定义的SDN覆盖网络的虚拟网络信息上传至第一映射确定模块11,其中,包括为该SDN覆盖网络指派的外部网关信息(宿主机IP地址)。
[0045]步骤S104:各宿主机的虚拟交换机记录所述宿主机上创建的SDN覆盖网络的虚拟网络信息与宿主机物理网卡的桥接逻辑关系,即虚拟网络的数据包通过哪块物理网卡转发。
[0046]步骤S105:各宿主机的虚拟交换机将SDN覆盖网络的VxLAN封装规则上传至第一映射确定模块11。其中,VxLAN封装规则记录有上述桥接逻辑关系。
[0047]步骤S106:第一映射确定模块11通过命令行读取的软件方式获取宿主机的ARP信息,即IP地址与宿主机物理网卡MAC地址的映射关系。
[0048]基于第一映射确定模块11得到的上述信息,以宿主机IP地址为关联要素,完成用户定义的SD
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1