用于无缝漫游的软件定义网络中的自动隧道的制作方法

文档序号:9770022阅读:484来源:国知局
用于无缝漫游的软件定义网络中的自动隧道的制作方法
【技术领域】
[0001]本公开涉及软件定义网络。
【背景技术】
[0002]在软件定义网络(SDN)或OpenFlow网络中,当可以是物理设备或虚拟设备的主机从一个OpenFlow(OF)交换机移动到另一交换机或路由器(在本文被称为附接点或POA交换机/路由器)时,在网络融合期间网络因为至少两个原因可能经历流量损失和/或分组循环问题。第一,OpenFlow交换机的数量可能非常大并且重新生成针对整个网络的新的流分配树或表的算法要花费时间融合。第二,存在与在各个交换机/路由器上更新流表的SDN控制器相关联的网络延迟。在完成网络融合前,被发送至与漫游主机相关联的在先POA交换机/路由器的流量可能被丢弃/丢失。
【附图说明】
[0003]图1是示例性网络的图示,其中根据本文提出的技术管理和更新在交换机之间漫游的针对主机的流量流。
[0004]图2是示出在主机在图1所示的网络中的交换机之间移动之前针对主机的流量的路由的框图。
[0005]图3示出在主机在图1所示的网络中的交换机之间移动之前含有针对该主机的条目的匹配动作表的示例。
[0006]图4是描绘由软件定义网络(SDN)控制器执行来管理和更新针对在交换机之间漫游的主机的流量流的操作的流程图。
[0007]图5A是网络的一部分的图示,并且示出在本文提出的技术没有被采用的情况下的间断流量流的示例。
[0008]图5B是与图5A类似的图示,并且示出在本文提出的技术被采用的情况下的流量流的示例。
[0009]图6是主机在交换机之间移动的图示,并且示出本文提出的技术的益处。
[0010]图7A、7B和7C示出根据本文提出的技术由SDN控制器更新并且在主机漫游期间的示例性匹配动作表。
[0011 ]图8是被配置来执行本文提出的技术的SDN控制器的示例性框图。
【具体实施方式】
[0012]鐘述
[0013]本文提出的技术用于当主机在网络中的网络元件(例如,交换机或路由器)之间漫游时提高在软件定义网络中处理流量的性能。每一个网络元件能够充当虚拟或物理主机的附接点。软件定义网络控制器检测主机何时在网络元件之间进行了移动。控制器生成主机已漫游至的网络元件的列表,该列表按照主机被附接至网络元件的时间进行排序,从而使得主机附接至的最新网络元件成为根网络元件并且位于该列表的头部。控制器首先针对与主机相关联的流量流更新列表中的根网络元件。控制器向网络元件发送命令来以漫游路径的相反顺序编排从列表中的每个在先附接点网络元件至列表中的最新根网络元件的隧道,以便于经由隧道为主机路由流量。
[0014]示例实施例
[0015]本文提出了编排(program)从主机的漫游路径中的每个在先附接点(POA)交换机/路由器至该漫游路径中的最新根POA交换机/路由器的自动隧道的技术,以便于向主机从在先POA节点至最新根POA节点重新路由流量流,从而将流量(分组)损失最小化。如下文的进一步解释,编排是以漫游路径的相反顺序完成的,以在网络融合期间阻止分组循环并且使流量损失最小化,而不依赖于网络大小和所用的特定融合算法。
[0016]首先参考图1,图1示出示例性网络拓扑10,其中当主机在SDN网络内移动时本文提出的技术可以被用于快速漫游。示例性网络拓扑10包括SDN控制器20和多个交换机(例如,OpenFlow 交换机)30-A、30-B、30-C、30-D、30-E 和 30-F。交换机 30-A、30-B、30-C、30-D、30-E和30-F在本文中还被分别标记和称为交换机A、交换机B、交换机C、交换机D、交换机E和交换机F ADN控制器20可以采用物理计算设备或虚拟或基于云的计算资源的形式。而且,在图1所示的示例中,主机40-A(也被称为主机A)被示出。主机40-A可以是物理计算设备或虚拟机。交换机30-A、30-B、30-C、30-D、30-E和30-F连接至在标号45处所示的网络云,并且SDN控制器20(例如,根据OpenFlow协议)经由网络云45与交换机通信(虽然图1示出SDN控制器20和每个交换机之间的直接连接)。每个交换机具有多个端口,并且作为示例,在图1中,这些端口中的一些端口在交换机30-A、30-B、30-C、30-D、30-E和30-F上被标记为G0、G1和G2。应该理解的是交换机30-A至30-E可以是路由器或交换机,因此出于概括的目的,交换机在本文中还被称为“网络元件”,网络元件意味着包括交换机、路由器和其它在网络中执行交换和路由功能的网络设备。
[0017]当主机40-A扎根于交换机A处时,通过图2所描绘的流分配树,去往主机40-A的流量由图1所示的交换机路由至交换机A。交换机D可以从图2所示的左路径和右路径二者到达交换机A。在一个示例中,左路径具有较低的损耗或较高的优先级。
[0018]图3示出当具有地址(例如,媒体访问控制地址(MAC)MAC_A)的主机_A扎根于交换机A处时,针对图2所描绘的流分部树的匹配-动作表。图3在动作列中指示针对主机40-A的流量经由交换机30-A、30-B、30-C和30-D上的端口 GO以及经由交换机30-E和30-F上的端口Gl被路由。
[0019]返回来参考图1,在图1的示例中,主机40-A从交换机A漫游至交换机B至交换机D至交换机E至交换机A。这由箭头50、51、52和53表示。50对空制器20创建针对沿着主机404的漫游路径的所有POA交换机的排序列表。针对本漫游示例,该列表将包括交换机A、B、D和E。
[0020]如同软件定义网络方面的普通技术人员已知的,SDN控制器20传输和控制网络中的交换机的行为,并且为此SDN控制器20与交换机频繁通信。当发生改变时(例如,主机自或至交换机移动),网络中的每个交换机通知SDN控制器20。然后SDN控制器20可以对交换机进行任意所需的改变以适当地路由与漫游主机相关联的流量。当发生主机POA改变时,SDN控制器20需要生成针对整个网络的新的流分配树或者表以便于确保去往或源自该主机的流量在网络中被适当转发。对新的流分配树的生成被称为“网络融合”。存在许多已知的算法来执行针对网络融合的计算,这超出了本公开的范围。事实上,本文提出的技术可以与目前已知的或以下开发的任意网络融合技术结合使用。
[0021]当主机在交换机之间漫游时,SDN控制器20遵照特定的过程来保证在不需要等待完成网络融合并且具有所确定的最小流量损失的情况下,流可以被重新路由至最新的根POA交换机。图4示出通常由标号100表示的针对该过程的流程图。
[0022]作为普通SDN操作的一部分,(例如,根据OpenFlow协议)SDN控制器20基于交换机和SDN控制器20之间的通信和通知检测主机何时在交换机之间移动。在110处,以及在主机漫游的每一步骤(交换机改变)处,SDN控制器20将POA交换机插入按照主机被附接至交换机的时间排序的列表中,从而主机漫游至的最新的或最近的交换机被编排为根交换机(列表的头部)。为了执行本文所述的技术,SDN控制器20将该列表保持在数据结构中。
[0023]例如,当主机40-A从交换机A漫游至交换机B时,由SDN控制器20生成的列表是:
[0024]排序列表(时间点2)
[0025]1.交换机B(列表头部)
[0026]2.交换机A
[002
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1