发明名称 一种SDN多控制器可扩展的协同方法
摘要 本发明公开了一种SDN多控制器可扩展的协同方法,该方法在维持网络基本性能的基础上,大大提升了网络的可扩展性,其包括:选取不同网络角色;建立带内控制信道;抽象、建立视图;在层次拓扑基础之上进行路由转发等步骤;本发明解决了传统单控制器在大型网络中难以应用的问题,主要成果是:在现有硬件条件下可以实施,并且有效减少了网络同步的开销,使得SDN网络可以在大范围网络内得以应用。
申请公布号 CN106603408A 申请公布日期 2017.04.26
申请号 CN201611020429.2 申请日期 2016.11.17
申请人 华东师范大学 发明人 陈金榜;凌君臣;陈珏
分类号 H04L12/721(2013.01)I;H04L12/933(2013.01)I 主分类号 H04L12/721(2013.01)I
代理机构 上海蓝迪专利商标事务所(普通合伙) 31215 代理人 徐筱梅;张翔
主权项 一种SDN多控制器可扩展的协同方法,其特征在于该方法包括以下具体步骤:步骤1:拓扑获取A1:控制器连接交换机交换机和控制器均支持Openflow协议;交换机和控制器之间建立TCP信道来传递交互信息;一个控制器连接多个交换机;A2:控制器发送LLDP报文来获取拓扑控制器向所控制的每一个交换机发送LLDP报文,这个报文带有交换机的ID并且只有一跳;交换机洪范这个LLDP报文;其它邻接交换机收到这个LLDP后向所属的控制器提交;A3:控制器计算拓扑并标记边缘端口将步骤A2获取到的交换机邻接信息汇总并计算所属域的拓扑;标记那些没有构成所属域链路的端口,这些端口就是边缘端口;步骤2:网络视图构架B1:选取Speaker和 Listener控制器将网络拓扑抽象为图G=(V,E);对于不同的抽象层中的拓扑,计算每一个拓扑中最佳Speaker位置;B2:建立带内通信信道;B2a:各控制器将预先在交换机上安装流表,当交换机发现匹配的流表项时,将会直接提交给控制器;流表的匹配项是所有控制器之间约定的、Openflow支持的,并且全网唯一的匹配项,采用TCP/UDP port、Vlantag或MPLS;B2b:Speaker向其所控制的所有的交换机的边缘端口洪范Speaker ID Notice报文;B2c:收到Speaker ID Notice报文的控制器将会记录报文的来源端口;B2d:Listener继续向除了来源端口之外的边缘端口洪范Speaker ID Notice报文,使其到达网络上每一个控制器;B2e:Listener只对Speaker ID Notice报文响应一次,避免重复洪范造成的广播风暴问题;B2f:当Listener接收到其它Listener的Listener Registration消息时,记录来源端口,并在B2c中记录的Speaker ID Notice来源端口之间下发流表,建立带内信道;B3:控制器通过边缘端口发送邻接发现报文B3a:无论Speaker还是Listener,所有控制器向所有边缘端口发送Neighbour ID Notice消息,Neighbour ID Notice包含了控制器的ID,将其放在报文的负载字段;B3b:Neighbour ID Notice报文仅有一跳,用于邻接拓扑发现;B3c:所有的控制器,都会接收相邻控制器的Neighbour ID Notice消息,解析负载字段,得到相邻关系;B4:Listener控制器将邻接信息汇总发送至Speaker控制器B4a:通过步骤B2建立的带内通信信道发送;B4b:将消息组织成JSON的形式,方便解析;B4c:使用Adjacency Report消息,将JSON放在报文的负载字段;采用增量式报告,当新的控制器被发现时,才会发送Adjacency Report消息至Speaker;B5:Speaker控制器计算并同步至Listener控制器B5a:Speaker接受到Adjacency Report消息,取出报文的负载字段,解析JSON,并将控制器之间的邻接消息汇合;B5b:Speaker将汇合的拓扑信息组织成JSON形式再发送;B5c:使用Network View Update消息,将JSON放在报文的负载字段;采用增量式同步,只有收到新的Adjacency Report消息时,先计算拓扑信息,然后同步;B6:建立层次性的网络抽象视图B6a:多个Speaker重新构建一个层作为上层,按照步骤B1的方式,重新选取本层中的Speaker和Listener;B6b:所有的在上层的Listener将会抽象网络拓扑信息,将它作为下层Speaker所控制的域抽象为一个节点,节点的主要信息是聚合的ip地址,并提供给上层的Speaker;B6c:重复步骤B2‑步骤B5,反复选取Speaker和Listener,构建更高的层;步骤3:根据网络视图计算路径C1:一个控制器收到一个新的流安装请求时,将会判断目的地址是否在控制器所掌握的网络视图之中;C2:若在本控制器所掌握的网络视图之中,控制器将会根据最短路径算法计算路径,在本域内安装流表,直到将报文交付给下一跳;C3:若不在本控制器所掌握的网络视图中,控制器将会发送View Request消息,请求目的地址所在的位置。
地址 200241 上海市闵行区东川路500号