一种基于sdn的网络拓扑发现方法和系统的制作方法

文档序号:9931206阅读:1047来源:国知局
一种基于sdn的网络拓扑发现方法和系统的制作方法
【技术领域】
[0001] 本发明实施例涉及通信技术领域,尤其涉及一种基于SDN(Software Defined Network,软件定义网络)的网络拓扑发现方法和系统。
【背景技术】
[0002]网络设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在 网络中相互发现并交互各自的系统及配置信息,需要有一个标准的信息交流平台。
[0003] LLDP(Link Layer Discovery Protocol,链路层发现协议)提供了一种标准的链 路层发现方式,可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息组织成 不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDF*DU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,如图1所示, 邻居收到这些信息后将其以标准MIB(Management Information Base,管理信息库)的形式 保存起来,以供网络管理系统查询及判断链路的通信状况。
[0004] LLDP是一个用于信息通告和获取的协议,具体过程如下:初始化并维护本地MIB库 中的信息;从本地MIB库中提取信息,并将信息封装到LLDP帧中,其中LLDP帧的发送有两种 触发方式,一是定时器到期触发,一是设备状态发生了变化触发;识别并处理接收到的 LLDTOU帧;维护远端设备LLDP MIB信息库;当本地或远端设备MIB信息库中有信息发生变化 时,发出通告事件。但是,LLDP仅是一种邻近发现协议,为以太网网络设备,如交换机、路由 器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存 在,并保存各个邻近设备的发现信息,但无法获取全网的链路信息。但是,发送的信息通告 不需要确认,不能发送一个请求来请求获取某些信息,也就是说LLDP是一个单向的协议,只 有主动通告一种工作方式,无需确认,不能查询、请求。

【发明内容】

[0005] 本发明实施例提供一种基于SDN的网络拓扑发现方法和系统,能够获取全网的端 口链接信息库,从而构建全网的网络拓扑结构。
[0006] 本发明实施例提供一种基于SDN的网络拓扑发现方法,所述方法应用于SDN中,包 括:控制器预先配置SDN网络拓扑发现选项,所述SDN网络拓扑发现选项包括SDN网络拓扑发 现开关项、协议数据单元报文周期时间和Experimenter消息周期时间;根据所述协议数据 单元报文周期时间,SDN中的交换机和邻居交换机交互私有协议数据单元报文,根据接收到 的所述协议数据单元报文,各个交换机维护自己的端口链接信息库;根据Experimenter消 息周期时间,SDN中的交换机向控制器发送私有Experimenter消息,所述私有Experimenter 消息包括所述交换机的MAC地址和端口链接信息库;控制器根据所述交换机的MAC地址和端 口链接信息库更新全网端口链接信息库,并将所述全网端口链接信息库中的各个端口链接 信息库进行关联,生成网络拓扑。
[0007] 进一步地,所述交换机的端口链接信息库包括本地端口、远端端口、远端设备id和 链路速率;所述控制器的全网端口链接信息库包括交换机的MAC地址和端口链接信息库。
[0008]进一步地,所述私有协议数据单元报文扩展了端口链路字段,所述端口链路字段 包括发送端口,低位发送端设备id、高位发送端设备id和链路速率;根据接收到的所述协议 数据单元报文,各个交换机维护自己的端口链接信息库,包括:当接收到邻居交换机发送的 所述协议数据单元报文后,交换机用所述协议数据单元报文中的发送端口填写自己的端口 链接信息库中的远端端口,用所述协议数据单元报文中的发送端设备id填写自己的端口链 接信息库中的远端设备id,用所述协议数据单元报文的链路速率填写自己的端口链接信息 库中的链路速率。
[0009] 进一步地,所述私有Experimenter消息扩展了交换机的MAC地址和端口链路条目, 所述交换机的MAC地址作为交换机的标识符,所述端口链路条目用于携带端口链接信息库 的内容;所述根据Experimenter消息周期时间,SDN中的交换机向控制器发送私有 Experimenter消息,包括:在所述Experimenter消息周期时间内,判断交换机的端口链接信 息库是否变化,如果发生变化,则交换机向控制器发送私有Experimenter消息;如果没有发 生变化,则当所述Experimenter消息周期时间到达时,交换机向控制器发送私有 Experimenter 消息。
[0010] 进一步地,所述控制器根据所述交换机的MAC地址和端口链接信息库更新全网端 口链接信息库,包括:控制器获取Experimenter消息中的交换机的MAC地址,根据所述交换 机的MAC地址查找所述全网端口链接数据库,如果查找到,则在所述全网端口链接数据库中 更新所述交换机的MAC地址对应的端口链接数据库;如果没有查找到,则在所述全网端口链 接数据库中增加所述交换机的MAC地址和端口链接数据库。
[0011] 进一步地,所述将所述全网端口链接信息库中的各个端口链接信息库进行关联, 生成网络拓扑,包括:所述全网端口链接信息库至少包括第一端口链接数据库和第二端口 链接数据库,如果第一端口链接数据库中的远端端口和第二端口链接数据库中的本地端口 匹配,则将第一端口链接数据库和第二端口链接数据库进行单向链路关联;如果第一端口 链接数据库中的远端端口和第二端口链接数据库中的本地端口匹配,且第一端口链接数据 库中的本地端口和第二端口链接数据库中的远端端口匹配,则将第一端口链接数据库和第 二端口链接数据库进行双向链路关联;控制器根据全网端口链接信息库中的各个端口链接 数据库的关联信息,生成网络拓扑
[0012] 本发明还提供了一种基于SDN的网络拓扑发现系统,包括:控制器,用于预先配置 SDN网络拓扑发现选项,所述SDN网络拓扑发现选项包括SDN网络拓扑发现开关项、协议数据 单元报文周期时间和Experimenter消息周期时间;交换机,用于根据所述协议数据单元报 文周期时间,和邻居交换机交互私有协议数据单元报文,根据接收到的所述协议数据单元 报文,维护自己的端口链接信息库;根据Experimenter消息周期时间,向控制器发送私有 Experimenter消息,所述私有Experimenter消息包括所述交换机的MAC地址和端口链接信 息库;所述控制器,还用于根据所述交换机的MAC地址和端口链接信息库更新全网端口链接 信息库,并将所述全网端口链接信息库中的各个端口链接信息库进行关联,生成网络拓扑。 [00 13]本发明实施例基于SDN架构,在控制器上预先配置SDN网络拓扑发现选项;扩展了 PDU报文,通过交换机交互PDU报文来维护自己的端口链接信息库;扩展了Experimenter消 息,控制器根据交换机发送Experimenter消息,能够获取SDN全网的端口链接信息库,并将 全网端口链接信息库中的各个端口链接信息库进行关联,生成网络拓扑。
【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1