首页 > 范文大全 > 正文

以太网物理拓扑发现方法研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇以太网物理拓扑发现方法研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:随着计算机网络应用的蓬勃发展,以太网变得越来越复杂,为了方便管理,拓扑自动发现变得越来越重要。物理拓扑主要是对链路层和物理层的设备的发现,设备间的连接关系。该文提出一种用于获取物理拓扑的方法

关键词:以太网;物理拓扑;自动发现;SNMP;MIB

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)03-0493-04

1 概述

随着计算机网络技术和应用的迅猛发展,网络变得庞大而复杂。单纯依靠人工来绘制拓扑图将变得越来越难。因此,为了能科学有效的管理网络,网络拓扑自动发现变得尤为重要并具有现实意义。网络拓扑又分为逻辑拓扑和物理拓扑,逻辑拓扑主要是对网络层设备的发现以及其逻辑关系的确定;物理拓扑主要是对链路层和物理层的设备的发现,设备间的连接关系,如交换机之间的连接以及主机和交换机的连接。对于网络管理,逻辑拓扑是不够的,要通过物理拓扑来查看网内的设备连接关系。目前获得物理拓扑的技术还不很成熟,本文重点讨论用于获取物理拓扑的方法。

2 研究现状

目前实现的物理拓扑发现方法大致有以下几种方法:基于SNMP协议来采集拓扑数据;基于Bridge-MIB中的地址转发表来确定设备间的连接关系、;基于STP协议来确定;基于Cisco的CDP协议来发现邻居设备(针对Cisco设备)。以上方法,在一定程度上能够完成物理拓扑的发现,但是存在以下缺点:对于地址转发表的要求较高,地址转发表应保持完整;并不是所有的交换机都提供STP MIB;只有Cisco的设备才能使用CDP协议,不适合网络中交换机的多样化的需求;并且SNMP协议对设备的MIB信息进行读取操作时有一定延时,对于一定规模的网络,总延时会比较大。

3 改进的物理拓扑发现方法

本文提出了一种改进的物理拓扑发现方法,这种方法是基于SNMP、MIB来实现的。物理拓扑发现经过以下步骤:节点发现、连接关系计算。现在详细叙述各个模块的实现

3.1节点发现模块的实现

该模块用于发现局域网内所有活动的节点。通常有两种方法:一是通过路由器的MIB中的ipNetToMediaPhysAddress信息获得活动的节点的IP地址;另一个是使用Ping工具,通过将管理机的IP地址与子网掩码与运算得出该网段内所有可用的IP地址,逐个进行Ping操作,能够Ping通的则是活动的主机。这两种方法都存在各自的优点和缺点。

下面主要介绍第一种方法的过程:

1)开始发现;

2)获取网管主机IP以及子网掩码;

3)获取网管主机网关地址;

4)访问网关路由器ipNetToMediaPhysAddre;

5)将活动的IP加入到ActiveNode队列;

6)ActiveNode是否为空 (如果为空直接结束,否则转7));

7)取出一个队头节点,访问该节点的MIB库(sysServices);

8)sysServices==2 (如果为真,到9),为假跳到10);

9)将节点加入到Switch集合中(List);

10)将节点加入到TerminalNode队列;

11)跳转到6)。

3.2 连接关系的计算

为了说明方便,这里定义几个概念、表示符号、相关的数据库:

叶节点:不具有转发功能的节点称为叶节点,如终端主机、服务器、管理终端等。

交换机端口:一个交换机具有多个物理接口,用Sij交换机Si的j端口

转发模式集合:交换机具有多个端口,有的端口可以转发多个不同的MAC,有的仅能转发单一的MAC,用Ui(端口,转发的MAC)来表示i交换机能转发单一MAC的集合。用Mi来表示i交换机能转发非单一MAC的集合

用{R}表示与交换机直接相连的路由器的接口的MAC

终端主机的MAC:用{T}表示终端主机的MAC

以下就是使用SNMP获取地址转发表的具体步骤:

1)设定SNMP请求PDU,绑定dot1dTpFdAddress(其OID为1.3.6.1.2.1.17.4.3.1.1)这样,收到的应答中能够解析出交换机能够转发的MAC,格式形如:1.3.6.1.2.1.17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08

2)根据交换机能够转发的MAC得到转发该MAC的桥端口:设定SNMP请求PDU并绑定dot1dTpFdbPort(其OID为1.3.6.1.2.1.17.4.3.1.2),收到的应答中能够解析出以转发的MAC相对应的桥端口。格式形如:1.3.6.1.2.1.17.4.3.1.2.0.0.12.7.172.8 = 13

3)根据得到的桥端口号能够得到与该桥端口相对应的交换机端口号:设定SNMP请求PDU并绑定dot1dBasePortIfIndex(其OID为1.3.6.1.2.1.17.1.4.1.2),收到的应答中能够解析出与桥端口相对应的交换机的端口号。格式形如:1.3.6.1.2.1.17.1.4.1.2.13 = 2

4)根据以上步骤完成了地址转发表的读取并格式化,最终的格式为[交换机端口,转发的MAC]。

下面针对几种典型的拓扑来说明如何确定连接关系

交换机和路由器相连,并连着终端主机。此时交换机的单一转发集合U中,转发的MAC应包含{R}、{T},这种情况下很容易确定连接关系以及相应的连接端口。

如图1,交换机S1的单一转发集合U1中应包含{R}、{T1},由此即可推断交换机S1与路由器相连且有终端主机(叶节点)与之相连,非单一转发集合M1中应包含{T2}、{T3},由此可以推断交换机S1还连着具有转发功能的设备(如交换机);交换机S2的单一转发集合U2中应包含{T2}、{T3},由此可以推断交换机S2有两个终端主机(叶节点)相连,非单一转发集合M2中应包含{R}、{T1},由此可以判断交换机S2连着一个具有转发功能的设备,综上可知交换机S1和交换机S2的连接关系。

如图2,交换机S1的单一转发集合U1中应包含{R}、{T1},由此可知交换机S1与路由器直接相连,并且有以终端T1与之相连,非单一转发集合M1中应包含{T2}、{T3}、{T4}、{T5},由此可知交换机S1还连着两个具有转发功能的设备(M1中含有不同的转发端口);交换机S2的单一转发集合U2中应包含{T2}、{T3},由此可知交换机S2连接着两个终端T2和T3,非单一转发集合M2中应包含{R}、{T1}、{T4}、{T5},由此交换机S2还与一个具有转发功能的设备相连,又由于M1中能转发的MAC与U2中能转发的MAC具有交集,这可判断交换机S1与交换机S2相互连接;交换机S3的单一转发集合U3中应包含{T4}、{T5},可知交换机S3连接着两个终端T4、T5,非单一转发集合M3中应包含{R}、{T1}、{T2}、{T3},由此交换机S3还与一个具有转发功能的设备相连,有由于M1中能转发的MAC与U3中能转发的MAC具有交集,故可判断交换机S1还与交换机S3相互连接。

如图3,交换机S1的单一转发集合U1中应包含{R}、{T1},由此可知交换机S1与路由器直接相连并且有一终端T1与交换机S1相连,非单一转发集合M1中应包含{T2}、{T3}、{T4},由此可知交换机S1还与另一具有转发功能的设备相连;交换机S2的单一转发集合U2中应包含{T2},说明有一终端T2与交换机S2相连,非单一转发集合M2中应包含{R}、{T1}、{T3}、{T4},由此可判断交换机S2连着两个具有转发功能的设备((M2中含有不同的转发端口);交换机S3的单一转发集合U3中应包含{T3}、{T4},可知交换机S3连接着两个终端T3、T4,非单一转发集合M3中应包含{R}、{T1}、{T2},由此可知道交换机S3还与一个具有转发功能的设备相连,又由于M2与U3有交集,故交换机S2还与交换机S3相互连接。

以上三种拓扑比较简单,但很具有代表性和现实意义,因为现实中的局域网都可以基于以上三种进行扩展。下面将对以上所述的内容进行总结并提出物理拓扑发现的一般过程,定义ActiveNode队列用于存放活动的IP地址以表示活动的节点,定义Switch集合用于存放交换机的IP地址表示交换机节点。

3.3确定连接关系的过程

用流程图详细描述确定连接关系的过程如图4所示。

4 综述

以上所描述的物理拓扑发现过程都是基于现实意义的,当然现实的拓扑可能要复杂的多,但无非是通过各种各样的组合来实现的。本文中所讨论的方法在一定程度上可以降低对地址转发表的要求,改进了现存的方法,当然有些缺点是不可避免的,像是SNMP读取消息的延迟,还有就是由于网络设备IOS版本的不同,读取出来的MIB信息的格式也是不同的,这就要求对信息进行格式化处理,处理成所需要的格式。

总而言之,物理拓扑的发现意义重大,当前需要解决的最重要的问题是:如何使物理拓扑发现的方法规范化、标准化,使之能够适用与不同的拓扑、来自不同厂家的设备。

参考文献:

[1] 李明江.SNMP简单网络管理协议[M].北京:电子工业出版社,2007:1-40.

[2] 李琳,李杰.基于SNMP的网络拓扑发现算法[J].计算机工程与设计,2008,29(6):1346-1347.

[3] 李玉鹏,王换招.基于SNMP和Java的网络拓扑发现[J].计算机工程与应用,2004,152(3):152-153.