基于STP协议的物理网络拓扑发现算法概要.docx
- 文档编号:33135
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:9
- 大小:31.09KB
基于STP协议的物理网络拓扑发现算法概要.docx
《基于STP协议的物理网络拓扑发现算法概要.docx》由会员分享,可在线阅读,更多相关《基于STP协议的物理网络拓扑发现算法概要.docx(9页珍藏版)》请在冰豆网上搜索。
基于STP协议的物理网络拓扑发现算法概要
—98—
基于STP协议的物理网络拓扑发现算法
张占国,刘淑芬,包铁,张欣佳,王晓燕,张婵
(吉林大学计算机科学与技术学院,长春130012
摘要:
拓扑发现是网络管理的重要基础。
该文提出一种基于网桥生成树协议STP的算法,利用简单网络管理协议(SNMP获得各个交换机MIB库中的生成树状态信息,根据生成树协议推导出网络的物理拓扑。
和已有方法相比,该算法不要求各个网桥FDB表的信息是完备的,同时也能很好地发现备份链路和集线器、哑交换机等不支持SNMP的设备。
实验表明该算法是一个准确、全面的拓扑发现算法。
关键词:
STP协议;物理拓扑发现;简单网络管理协议;网络管理
PhysicalTopologyDiscoveryAlgorithmBasedon
SpanningTreeProtocol
ZHANGZhan-guo,LIUShu-fen,BAOTie,ZHANGXin-jia,WANGXiao-yan,ZHANGChan
(CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012
【Abstract】Topologydiscoveryisanimportantfoundationfornetworkmanagement.ThispaperproposesanewphysicaltopologydiscoveryalgorithmrelyingonSpanningTreeProtocol(STP.ThealgorithmgetsspanningtreestatusinformationofeachswitchbySNMP.AccordingtoSTP,physicaltopologyofthenetworkisderived.Comparingwithotherexistingalgorithms,thealgorithmdoesnotrequirethattheFDBinformationofeachbridgeiscomplete.Meanwhile,itcanfindbackuplinkandequipmentsthatdonotsupportSNMPsuchashubanddumpswitches.Experimentsshowthatthealgorithmisanaccurate,comprehensivetopologydiscoveryalgorithm.
【Keywords】SpanningTreeProtocol(STP;physicaltopologydiscovery;SNMP;networkmanagement
计算机工程
ComputerEngineering
第34卷第6期
Vol.34No.62008年3月
March2008
·网络与通信·文章编号:
1000—3428(200806—0098—03
文献标识码:
A
中图分类号:
TP393.02
1概述
随着网络技术的飞速发展,局域网内设备的连接情况变得十分复杂。
找出网络元素之间的实际物理链接是完成许多重要网络管理任务的前提,例如:
网络管理,服务器定位,事件关联等[1]。
目前在网络拓扑发现方面主要分为逻辑层网络拓扑发现和物理层网络拓扑发现。
逻辑层网络拓扑自动发现算法只能发现网络层(对应OSI[2]的第3层设备及它们之间的连接关系,即路由器到路由器、路由器接口到子网的连接关系。
网络层设备拓扑发现的方法比较简单,遍历网络层设备的路由表即可获得。
物理网络拓扑[2]指的是一个通信网内部实体的实际物理连接(对应OSI第2层。
物理网络拓扑是在网络层拓扑的基础上增加交换机到交换机、交换机到路由器、交换机到主机之间的连接关系。
构建以太网所使用的第2层互连设备称为网桥,它支持STP(SpanningTreeProtocol[3]协议,具有地址学习能力。
随着网络的发展,出现了以太网交换机,它实质上是一种多端口的透明网桥。
网桥为了完成数据帧的转发工作,各自维护自己的生成树状态表(STP和MAC地址转发表(FDB[3],并且保存在标准BRIDGEMIB[4-6]库中。
目前,以太网的物理拓扑发现算法大多数都是根据网桥的MAC地址转发表(FDB来进行的。
由于地址转发表中的记录具有动态性和不完整性,这些算法在执行前必须在网络中注入附加的流量来保证完整性。
因此,这些算法具有一定的局限性。
针对这个局限性,本文提出一种基于STP协议的物理拓扑发现算法,不需要注入附加的流量,同时可以有效地发现备份链路和集线器、哑交换机等不支持SNMP的连接设备。
2相关工作
贝尔实验室Y.Breitbart等[1,7]和卡奈基·梅隆大学Bruce
Lowekamp[8]与郑海等[9]分别提出各自基于地址转发表的物理拓扑发现算法。
均在网络中注入附加的流量,增加了网络的负荷,从而使算法的可操作性受到影响。
3系统模型和相关协议
3.1系统模型
可以将IP网络上的各个网络节点以及它们之间的连接关系组成一个无向图N,各网络节点构成图N中的节点,各网络设备之间的物理连接构成图N中的边,拓扑发现算法就是找出拓扑图中的节点与边之间的关系。
如图1所示,无向图的节点对应各网络设备(路由器R1,R2,R3,交换机S1,S2,S3,S4,S5,无向图的边(R1,R2,(
R2,S1,(S1,S2…对应网络设备的连接关系。
图1系统模型的例子
基金项目:
国家科技攻关计划基金资助项目(2004BA907A20;吉林省科技发展计划基金资助重大项目(20040304
作者简介:
张占国(1981-,男,硕士研究生,主研方向:
计算机网络,网络管理技术;刘淑芬,教授、博士生导师;包铁、张欣佳、王晓燕,博士研究生;张婵,硕士研究生
收稿日期:
2007-04-02E-mail:
zzg_in_jlu@
定义1管理域AD[1,7]:
网络中拓扑发现的目标范围称为管理域。
定义2交换域SD[1,7]:
在管理域AD中仅有交换机节点以及交换机之间的连接关系所组成的连通分量。
定义3令SD中第i台交换机为Si,令SD中第i台交换机的第j个端口为Sij。
定义4令对于任意端口Sij,Aij表示交换机Si的地址转发表中通过端口Sij收到的数据帧的源MAC地址集合。
定义5直接连接:
2个相连节点之间没有其他节点,称这个连接为直接连接。
引理端口Sij与Skl直接连接当且仅当Aij∩Akl=Φ,且Aij∪Akl=µ。
其中,Φ表示空集合;µ表示交换域中所有交换机的集合[1,7-8]。
3.2生成树协议STP
生成树协议STP是由Digital公司的Dr.RadiaPerlman开发的用来确定每次交换信息所经过的转发路径。
该协议的目的是实现网桥之间的冗余连接,同时避免出现网络环路。
生成树的主要思想是每个网桥定期发送网桥协议数据单元BPDU[3],向其他网桥表明自己的存在;以太网中所有的网桥在收到其他网桥的BPDU帧后运行生成树算法,以确定根网桥,决定端口处于转发还是阻塞状态,形成唯一的生成树,从而形成拓扑图,如图2所示。
图2执行STP协议后得到的生成树
BPDU中配置信息包含下列数据:
(1根网桥ID:
具有最小标识符的网桥作为生成树的根网桥,根网桥总能在它所有端口上转发数据帧。
网桥ID是网桥优先级和网桥MAC地址的组合。
(2发送BPDU的网桥ID。
(3网桥到网桥的开销:
从发送网桥到根网桥的最小费用。
表1给出了图2中各交换机在执行STP协议后的MIB库数据。
其中,S1是根网桥,以*标记的端口为根端口。
表1图2中各交换机在执行STP协议后的MIB库数据交换机端口号指派网桥指派端口端口状态
1S1S11转发
2S1S12转发
3S1S13转发
4S1S14转发
S1
5S1S15转发
1*S1S11转发
2S1S12阻塞
3S2S23转发
4S2S24阻塞
5S2S25转发
S2
8S2S28转发
1*S1S14转发
2S3S32阻塞
3S3S33转发
S3
4S3S34转发
S41*S2S23转发
S51*S2S24转发
S61*S3S33转发
STP将端口置于转发状态的3条规则:
(1STP选择一个根网桥,STP将根网桥上所有接口都置于转发状态。
(2选择根端口,每个非根网桥选择一个到达根网桥开销最小的端口作为根端口,每一个网桥只能有一个根端口(除了根网桥,根网桥没有根端口,根端口处于转发状态。
(3选定指派网桥和指派端口。
有多个网桥连接到一个以太网段时,到达根网桥开销最小的网桥的端口处于转发状态。
每个网段开销最小的网桥叫指派网桥,指派网桥路径到网段的端口叫指派端口。
指派端口也处于转发状态。
不能转发数据帧的阻塞端口,包括没有连接物理链路的端口、连接了物理链路但没有工作(上电的端口或连接了冗余备份链路的端口。
4物理拓扑发现算法
4.1算法的理论基础
算法的出发点在于,以太网中每台交换机都在BridgeMIB中保存了交换域的生成树的一部分,利用SNMP获取这些信息,根据生成树协议的特征,通过比较推导可以求出整个交换域的拓扑结构。
定理存在直接连接关系的2个转发端口中有且仅有一个根端口[10]。
证明采用反证法。
(1假设存在直连关系的2个转发端口都是根端口。
因为2个端口存在于同一物理链路上,所以2个根端口属于一个网段,根据根端口的定义,根端口是负责本网段向根网桥转发数据帧的端口,这样就存在一个网段通过2个不同的端口有到根网桥的2条路径,这与生成树协议中2个设备仅有一条路径矛盾。
所以存在直连关系的2个转发端口中最多只有一个根端口。
(2假设存在直连关系的2个转发端口都不是根端口。
因为这2个端口存在于同一物理链路上,所以这2个端口属于一个网段内,这个网段的数据帧都由这2个端口转发。
而这个网段的数据由根端口转发到根网桥,这与这2个端口都不是根端口矛盾。
由(1,(2可知,存在直接连接关系的2个转发端口中有且仅有一个根端口。
推论12个非根端口之间若存在直接关系,则该链路是备份链路,不属于生成树的边,即有一个端口的状态为阻塞。
推论2交换机除了根端口以外的所有其他转发端口的指派网桥都是本交换机。
推论3若交换机的阻塞端口的指派网桥不等于本交换机,那么该端口一定用于连接备份链路。
4.2算法使用的判定规则
根据上述生成树的定理以及推论,在获取MIB中的信息以后,可以根据下面的规则判定网络设备的连接关系。
规则1若交换机Si与Sk满足:
Si的根端口Sij的指派网桥是Sk,且Sk的非根端口Skl的指派端口与Sij的指派端口相等,那么Sij与Skl直连。
规则2主机H或路由器R与交换机Si的端口Sij直连,当且仅当Sij不是级联端口(用于直连交换机的端口,且Aij中包含主机H或者路由器R的MAC地址。
由于冗余备份链路不属于生成树中的边,其链路两端的端口没有MAC地址转发记录,即地址转发表为空。
因此基于地址转发表的算法不能发现冗余备份链路。
利用生成树端口表中的记录可以发现冗余(阻塞链路。
如图2中[10],S2的
—99—
非根端口S22与S1的非根端口S12的直连就是冗余备份链路。
规则3若Si的非根端口Sij的指派网桥为S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STP 协议 物理 网络 拓扑 发现 算法 概要