本发明属于数据通信,具体涉及一种基于lldp的拓扑链路发现方法。
背景技术:
1、当前在dcn网络中拓扑的发现与维护主要是采用openflow协议。但是openflow协议对网络抽象不够,无法适应大规模的广域网部署场景。并且openflow控制的网络,往往需要控制器控制路径中的多个关键设备,导致运维困难,信令压力增大,可扩展性差。另外一种协议sr,虽然解决了网络openflow网络抽象不够的问题,但是sr当前只适用于mpls网络与ipv6网络,同时,sr采用的源路由机制是要求网络设备必须按照转发表进行顺序转发,如果转发下一跳不在网络设备的直连子网中,那么数据包会被丢弃,同时发送icmp消息给源主机,当源主机收到icmp失败消息后,对网络拓扑路径进行更新。但是这种机制是存在安全隐患的,某些网络设备对源路由包的反应是使用其指定的路由,并使用反向路由来传递应答数据,这样入侵者可以假冒主机获取某些被保护数据,从而达到攻击或者窃取机密数据的目的。
技术实现思路
1、本发明实施例的目的是提供一种基于lldp的拓扑链路发现方法及装置,以解决拓扑链路发现在面对大型广域网网络中的性能瓶颈问题和安全隐患相关问题。
2、为了解决上述技术问题,本发明是这样实现的:
3、第一方面,本发明实施例提供了一种基于lldp的拓扑链路发现方法,其特征在于,所述方法包括:
4、通过中心节点向第一中转节点发送拓扑信息查询报文;
5、通过所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识;
6、在所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识的情况下,将所述第一中转节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段;
7、向第一节点发送所述拓扑信息查询报文;
8、在所述第一节点为边缘节点的情况下,将所述边缘节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段;
9、将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文;
10、向所述中心节点发送所述拓扑查询信息回复报文,以使所述中心节点通过所述系统标识链表得到拓扑路径信息;
11、其中,所述系统标识链表为具有第一顺序的所述第一系统标识字段中的全部系统标识,所述第一顺序为所述全部系统标识的添加顺序,所述拓扑信息查询报文和所述拓扑查询信息回复报文为lldp报文,所述lldp报文的目标字段定义有系统标识字段。
12、可选地,在所述向第一节点发送所述拓扑信息查询报文之后,所述方法还包括:
13、在所述第一节点为第二中转节点的情况下,获取所述第一系统标识字段中的系统标识链表;
14、在所述第二中转节点的系统标识与所述系统标识链表中的系统标识均不相同的情况下,将所述第二中转节点的系统标识添加至所述第一系统标识字段,并向下一节点发送所述拓扑信息查询报文。
15、可选地,在所述获取所述第一系统标识字段中的系统标识链表之后,所述方法还包括:
16、在所述第二中转节点的系统标识与所述获取所述第一系统标识字段中的系统标识链表的至少一个系统标识相同的情况下,不向所述第二中转节点发送所述拓扑信息查询报文并向下一节点发送所述拓扑信息查询报文。
17、可选地,所述向所述中心节点发送所述拓扑查询信息回复报文包括:
18、根据所述系统标识链表中的系统标识确定对应的节点,并将所述拓扑查询信息回复报文按照第二顺序依次发送至对应的节点,以将所述拓扑查询信息发送至所述中心节点;
19、其中,所述第二顺序与所述第一顺序相反。
20、可选地,所述将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文,包括:
21、将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文中的第二系统标识字段;
22、在所述向所述中心节点发送所述拓扑查询信息回复报文之后,所述方法还包括:
23、通过所述中心节点解析所述拓扑查询信息回复报文的第二系统标识字段,以使所述中心节点得到所述系统标识链表,并通过所述系统标识链表中的系统标识和所述第一顺序得到拓扑路径信息。
24、可选地,在所述以使所述中心节点通过所述系统标识链表得到拓扑路径信息之后,所述方法还包括:
25、通过备用中心节点向所述中心节点周期性发送拓扑信息同步请求报文;
26、在所述备用中心节点收到所述中心节点回复的拓扑信息同步确认报文的情况下,同步所述拓扑路径信息。
27、可选地,在所述通过备用中心节点向所述中心节点周期性发送拓扑信息同步请求报文之后,所述方法还包括:
28、在所述备用中心节点未收到所述中心节点回复的拓扑信息同步确认报文的情况下,确认所述中心节点故障,将所述备用中心节点切换为中心节点。
29、可选地,在所述确认所述中心节点故障之后,所述方法还包括:
30、在检测到所述中心节点的lldp的状态为使能的状态的情况下,向所述切换为中心节点的所述备用中心节点发送拓扑信息同步请求报文;
31、通过所述切换为中心节点的所述备用中心节点发送拓扑信息同步确认报文;
32、在所述中心节点接收到所述拓扑信息同步确认报文的情况下,将所述中心节点切换为备用中心节点。
33、可选地,在所述通过中心节点向第一中转节点发送拓扑信息查询报文之前,所述方法还包括:
34、在所述中心节点与所述备用中心节点、所述中心节点与所述第一中转节点、所述第一中转节点与所述第一节点、所述第一节点与主机间开启lldp。
35、可选地,所述lldp报文的目标字段还定义有域标识字段、报文类型字段和节点类型字段,所述域标识字段用于指示区域范围;
36、所述报文类型字段用于指示报文的类型,所述报文的类型包括拓扑信息同步请求报文、拓扑信息同步确认报文、拓扑信息查询报文和拓扑查询信息回复报文;
37、所述节点类型字段用于指示节点的类型,所述节点的类型包括中心节点、备用中心节点、中转节点和边缘节点。
38、第二方面,一种基于lldp的拓扑链路发现装置,其特征在于,包括:
39、第一发送模块,用于通过中心节点向第一中转节点发送拓扑信息查询报文;
40、判断模块,用于通过所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识;
41、第一添加模块,用于在所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识的情况下,将所述第一中转节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段;
42、第二发送模块,用于向第一节点发送所述拓扑信息查询报文;
43、第二添加模块,用于在所述第一节点为边缘节点的情况下,将所述边缘节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段;
44、第三添加模块,用于将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文;
45、第三发送模块,用于向所述中心节点发送所述拓扑查询信息回复报文,以使所述中心节点通过所述系统标识链表得到拓扑路径信息;
46、其中,所述系统标识链表为具有第一顺序的所述第一系统标识字段中的全部系统标识,所述第一顺序为所述全部系统标识的添加顺序,所述拓扑信息查询报文和所述拓扑查询信息回复报文为lldp报文,所述lldp报文的目标字段定义有系统标识字段。
47、可选地,所述基于lldp的拓扑链路发现装置还包括:
48、获取模块,用于在所述第一节点为第二中转节点的情况下,获取所述第一系统标识字段中的系统标识链表;
49、第四发送模块,用于在所述第二中转节点的系统标识与所述系统标识链表中的系统标识均不相同的情况下,将所述第二中转节点的系统标识添加至所述第一系统标识字段,并向下一节点发送所述拓扑信息查询报文。
50、可选地,所述第四发送模块具体用于:
51、用于在所述第二中转节点的系统标识与所述获取所述第一系统标识字段中的系统标识链表的至少一个系统标识相同的情况下,不向所述第二中转节点发送所述拓扑信息查询报文并向下一节点发送所述拓扑信息查询报文。
52、可选地,所述第三发送模块具体用于:
53、根据所述系统标识链表中的系统标识确定对应的节点,并将所述拓扑查询信息回复报文按照第二顺序依次发送至对应的节点,以将所述拓扑查询信息发送至所述中心节点;
54、其中,所述第二顺序与所述第一顺序相反。
55、可选地,所述第三添加模块具体用于:
56、将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文中的第二系统标识字段;
57、所述基于lldp的拓扑链路发现装置还包括:
58、解析模块,用于通过所述中心节点解析所述拓扑查询信息回复报文的第二系统标识字段,以使所述中心节点得到所述系统标识链表,并通过所述系统标识链表中的系统标识和所述第一顺序得到拓扑路径信息。
59、可选地,所述基于lldp的拓扑链路发现装置还包括:
60、第五发送模块,用于通过备用中心节点向所述中心节点周期性发送拓扑信息同步请求报文;
61、同步模块,用于在所述备用中心节点收到所述中心节点回复的拓扑信息同步确认报文的情况下,同步所述拓扑路径信息。
62、可选地,所述基于lldp的拓扑链路发现装置还包括:
63、第一切换模块,用于在所述备用中心节点未收到所述中心节点回复的拓扑信息同步确认报文的情况下,确认所述中心节点故障,将所述备用中心节点切换为中心节点。
64、可选地,所述基于lldp的拓扑链路发现装置还包括:
65、第六发送模块,用于在检测到所述中心节点的lldp的状态为使能的状态的情况下,向所述切换为中心节点的所述备用中心节点发送拓扑信息同步请求报文;
66、通过所述切换为中心节点的所述备用中心节点发送拓扑信息同步确认报文;
67、第二切换模块,用于在所述中心节点接收到所述拓扑信息同步确认报文的情况下,将所述中心节点切换为备用中心节点。
68、可选地,所述基于lldp的拓扑链路发现装置还包括:
69、启动模块,用于在所述中心节点与所述备用中心节点、所述中心节点与所述第一中转节点、所述第一中转节点与所述第一节点、所述第一节点与主机之间开启lldp。
70、可选地,所述基于lldp的拓扑链路发现装置还包括:所述lldp报文的目标字段还定义有域标识字段、报文类型字段和节点类型字段,所述域标识字段用于指示区域范围;
71、所述报文类型字段用于指示报文的类型,所述报文的类型包括拓扑信息同步请求报文、拓扑信息同步确认报文、拓扑信息查询报文和拓扑查询信息回复报文;
72、所述节点类型字段用于指示节点的类型,所述节点的类型包括中心节点、备用中心节点、中转节点和边缘节点。
73、本发明实施例提供了一种基于lldp的拓扑链路发现方法,所述方法包括:通过中心节点向第一中转节点发送拓扑信息查询报文,通过所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识,在所述第一中转节点判断所述第一中转节点与所述中心节点是否具有相同的域标识的情况下,将所述第一中转节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段,向第一节点发送所述拓扑信息查询报文,在所述第一节点为边缘节点的情况下,将所述边缘节点的系统标识添加至所述拓扑信息查询报文的第一系统标识字段,将所述第一系统标识字段中的系统标识链表添加至拓扑查询信息回复报文,向所述中心节点发送所述拓扑查询信息回复报文,以使所述中心节点通过所述系统标识链表得到拓扑路径信息,其中,所述系统标识链表为具有第一顺序的所述第一系统标识字段中的全部系统标识,所述第一顺序为所述全部系统标识的添加顺序,所述拓扑信息查询报文和所述拓扑查询信息回复报文为lldp报文,所述lldp报文的目标字段定义有系统标识字段。本发明实施例基于lldp的拓扑链路自动发现,lldp是标准的rfc协议,本发明实施例只是对其option tlv实行简单的改造与创新,使得管理粒度具体化,达到高效拓扑发现的目的。采用中心节点-中转节点-边缘节点的拓扑发现结构,秉承了sdn集中化控制的思想,所有控制都在中心节点进行,其余的中转节点与边缘节点只负责协议消息的转发,所以中转节点和边缘节点都是无状态的。相比于openflow,只需要维护中心节点的拓扑路径信息即可,不需要维护多个关键节点,从而解决了运维困难,信令压力大,可扩展性差等问题,且由于其管理粒度具体化,从而可以适应大规模的广域网部署场景。相比于sr,首先其为链路层拓扑发现协议,故不关心三层网络,从而使得该拓扑发现协议适用于任何三层网络场景,而不仅仅是mpls网络与ipv6网络。其次,本发明采用的是system id链表的形式与查询确认机制记录拓扑路径,摈弃了sr源路由机制,从而规避了安全隐患。最后,本发明由于不采用源路由机制,从而不需要额外增加ips设备,一定程度上节约了网络成本。