Vecloud 发表于 2022-9-27 11:46:19

SDN控制器链路发现及拓扑管理

链路发现技术是获得SDN全网信息的关键,是实现网络地址学习、VLAN、路由转发等网络功能的基础,与传统网络中链路发现由各网元自主进行不同,SDN网络中的链路发现工作由控制器统一完成。
SDN控制器主要使用了LLDP(Link Layer Discovery

Protocol,链路层发现协议)作为链路发现协议,该协议提供了一种标准的链路发现方式,可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link

Layer Discovery Protocol Date

Unit,链路层发现协议数据单元)中发布于自己直连的邻居,邻居收到这些信息后,将其以标准MIB(Management Information

Base,管理信息库)的形式保存起来,以供网络管理系统查询机判断链路的通信状况。
封装有LLDPDU的报文称为LLDP报文,报文中包含了特定的组播、目的MAC地址,以及特定的以太网类型,已将LLDP数据包与其他MAC数据帧区分。对于OpenFlow交换机而言,其上的基于流表项匹配进行转发的机制并不能直接处理常规的LLDP操作,因此相关的工作必须由控制器完成。控制器对SDN网络进行链路发现的过程:
控制器在执行链路发现过程时,会首先通过一个packet-out消息向所有与之连接的交换机发送LLDP数据包,该消息命令交换机将LLDP数据包发送给所有端口,一旦交换机接收到packet-out消息,他就会把LLDP数据包通过其所有的端口发送给与之连接的设备,如果其邻居交换机是一台OpenFLow交换机,那么该交换机将自行相应的流表查找操作。因为交换机中并没有专门的流表项用于处理LLDP消息,所有它将通过一个packet-in消息将数据包发送给控制器。而控制器在收到packet-in消息后,会对数据包进行分析并在其保存的链路发现表中创建2台交换机之间的链接记录。网络中其他交换机也都采用相同的方式向控制器发送packet-in消息,因此控制器就能够创建完整的网络拓扑视图,基于这样的视图,控制器可以根据业务应用的流量需求,为每台交换机推送下发不同的流表项。
基于LLDP消息的方法智能对于控制器直连的openflow交换机进行链路发现,如果网络中存在非openflow域,即两台openflow交换机通过其他多台非openflow交换机连接,此时需要其他的链路发现手段。在这种情况下,控制器还是会首先发送packet-out消息给与之相连的openflow交换机,但同时控制器会要求交换机发出广播包,广播包将被发往除交换机和控制器相连的端口之外的其他端口。广播包从openflow交换机发出后,如果网络中存在非openflow域,广播包将从这个网络域的一端进入并穿越,达到与该非openflow域连接的其他openflow交换机。因为在接收到广播包的openflow交换机中并没有对应的流表项可供广播包匹配,所以该广播包将被上传到控制器,从而告知控制器在网络中存在非openflow域。而如果控制器并没有收到上传的广播包,那么就可判断出整个网络都有openflow交换机组成。
拓扑管理作用是为了随时监控和采集网络中SDN交换机的信息,及时反馈网络的设备工作状态和链路链接状态。为了这一目标,控制器需要定时发送LLDP数据包的packet-out消息给与其相连的SDN交换机并根据反馈回来的packet-in消息获知交换机信息,在监测交换机工作状态的同时完成网络拓扑视图的更新。但值得注意的是,SDN网络规模较大时,这种拓扑管理机制会导致较慢的收敛过程,影响网络状态的实时反馈,同时,该机制也使得包含LLDP数据包的packet-out消息发送的周期设置更复杂。
拓扑管理还有一项工作:随时更新SDN交换机及链接状态的同时,对各种逻辑组网信息进行记录,其中最典型的场景就是云计算下的多租户共享网络资源。在多租户情况下,网络资源被虚拟化为资源池,每个租户都可以按照自己的实际需求获得设备、端口、带宽等资源,同时还可以根据自身需求对其所有的资源灵活组网。这些租户网络相关的资源信息都需要在拓扑管理中予以保存和展现,以反映真实的网络利用情况,实现优化的资源调度。同时给予不同租户网络的拓拓扑信息,SDN控制器可以为相应的网络数据通路设定访问控制列表,Qos等,支持租户网络在性能、安全等方面的彼此隔离,提供更优的用户体验。
页: [1]
查看完整版本: SDN控制器链路发现及拓扑管理