afunms

My Software,My Dream—Forge a more perfect NMS product.

关于二层拓扑发现算法(1)

 

间接连接定理:

只要满足以下3个条件之一,就可以确定交换机AB通过xy端口间接相连。设交换机Ax端口上学习到的MAC地址的集合为FxA

1.FxAFyB中同时存在着对方的MAC地址;

2.FxA中存在BMAC地址,并且A上存在一个端口kkx),使得FyBFkA≠ф;

3.B上存在两个端口ij,使得FxAFiB≠ф且FxAFjB≠ф,并且A上存在端口kkx),使得FkAFyB≠ф。

由于交换机之间很少通信,所以条件12中要求的交换机AFxA中存在BMAC地址很难满足,可以利用IP欺骗的方法尽量地使条件满足。具体做法是:对于子网中的每个交换机Si,利用IP欺骗方法,以SiIP地址为源地址,向子网中的其他交换机发送ICMP ECHO消息。在Si收到回应后,将导致SiFDB中保存有其他交换机的MAC地址。

基于间接连接确定直接连接

根据子网内交换机之间的间接连接关系,就可以确定交换机之间的直接连接关系。设子网内的所有交换机构成的集合为G。根据STP协议,交换机之间将构成一棵树。任选其中一个交换机Si为根,假设Si通过n个端口与其他交换机构成间接连接,则可以将G{Si}构成一个划分Πi,划分中包含n个元素,每个元素是与Si的某个端口p相间接连接的交换机的集合,设为Gp。在Gp中任选一个交换机Sj,则Sj必然通过某个端口qSi的端口p间接连接,如果Sj不通过端口qGp中的其他交换机间接连接,则可以判定Sj通过端口qSi的端口p直接连接。


------------------------------
这是很久以前看过一篇论文里的一部分。

从间接连接中推出直接连接,这个不难。但要找出间接连接是困难的,为什么?因为要实现那三个条件判断,代码量和运算量都极大,所以我没有选择这个算法。

不过其中提到IP欺骗的方法倒是很实用,因为如果两交换机不通信,那么其中各接口的FDB表就不完整,甚至FDB表完全没有数据。

posted on 2008-04-03 14:10 afunms 阅读(615) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

News

留言簿(18)

随笔档案

相册

搜索

最新评论

阅读排行榜