- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以太网链路层网络拓扑发现方法研究
1引言
随着计算机性能的提高及通信量的巨增,传统局域网已经愈来愈超出了自身的负荷,交换式以太网技术应运而生,大大提高了局域网的性能。与过去基于网桥,集线器,路由器的共享媒体的局域网拓扑结构相比,网络交换机能显著的增加带宽。交换技术的加入,就可以建立地理位置相对分散的网络,使局域网交换机的每个端口可平行、安全、同时的互相传输信息,而且使局域网可以高度扩充。局域网交换机根据使用的网络技术可分为:以太网交换机、令牌环交换机、FDDI交换机、ATM交换机、快速以太网交换机。由于以太网的简单与易用性,所以目前大部分的LAN均采用了以太网交换机与快速以太网交换机作为自己的网络交换设备。本文中的链路层拓扑发现正是针对以太网中的二层设备。
国内对拓扑发现技术的研究还集中在三层拓扑发现上,忽视了二层拓扑发现的重要性。在内网或者局域网,往往都是以交换机为中心来连接机器,而三层拓扑发现是无法实现这样的网络环境下的拓扑发现的。
2 现有链路层拓扑发现算法
从交换机工作原理[2]上我们能够发现,交换机并未提供一种有效、直接的方法确定其直接连接的设备。对于一个异构的网络我们唯一可行的方法就是利用SNMP中的MIBⅡ bridge组的信息(各个厂家都实现),得到交换机的地址转发表,并分析其特性,找到一个合理的算法,来确定物理网路的拓扑关系。
2.1 现有算法描述
链路层拓扑自动发现算法的目标是找出子网内交换机与交换机、交换机与路由器、交换机与主机之间的连接关系。其中找出交换机与交换机之间的连接关系是链路层拓扑自动发现的关键所在。贝尔实验室的Yuri Breitbart给出了基本算法[1,4,5]。算法理论基础和描述如下:
定义l:令交换机,路由器组成的二层主干结构为图N,N中第i台交换机为Si,其第j个端口为Sij。
定义2:令任意端口Sij,Dij表示交换机Si的地址转发表中通过端口Sij 收到的数据帧中源MAC地址集合。
定义3:令任意端口Sij, Lij表示交换机Si的地址转发表中通过端口Sij收到的数据帧的源MAC地址为交换机的集合。
定义4:若一台交换机Si其端口Sij的Lij中未出现其它交换机的MAC地址,则称端口Sij为叶端口。
定义5:端口Sij是完全的,是指在给定子网中任何设备D发出的数据帧可以通过端口Sij到达Si,则D的MAC地址必出现在Lij中。
引理1:如果Lij∪Lkl=u(u指子网内所有交换机的合集)且Lij∩Lkl=∮(∮空集)则端口Sij与端口Skl直接连接[1]。
引理2:若路由器或主机与交换机Si的Sij直接相连,当且仅当Sij是叶端口,且Lij中包含路由器或主机的MAC地址[1]。
Procedure FindInterConnections(S1, S2,... ,Sn, R1, R2,...,Rm)
/* S1, S2,...,Sn are the switches of a subnet S */
/* R1, R2,...,Rm are the routers of the subnet S */
begin
for each switch Si do
for each interface j of Si do {
If Sij 已经判定
continue
else {
If Lij ∪ Lkl = u and Lij∩ Lkl=∮)
Sij与Skl直接相连,生成新的连接
/* Sij 与Skl相匹配*/
}
}
for each router Rk do
for each switch Si do
for each interface j of Si do
If Sij 是叶端口且 Lij 包含Rk的MAC地址
Sij与Rk直接相连
/* Sij 与Rk相匹配*/
end
2.2 算法所存在的问题
基本算法本身要求每台交换机的地址转发表必须完整(每台交换机必须知道其他交换机所对应的端口),但这在现实的网络中很难实现。为此Yuri Breitbart[1]专门设计出一种mping程序:对原有的ping程序进行修改,利用rawsocket将管理节点发出的icmp响应请求报文中的源IP地址改为给定的目标交换机的IP地址,目的IP地
文档评论(0)