网络拓扑信息
我有一个小型企业网络,有几个交换机,终端设备但只有一个路由器。 我想显示网络拓扑结构,如图所示(路由器位于顶部)。
我只能访问网络层地址,所以我设法为网络上的每个设备获取它的IP地址和IP网络,即设备所具有的每个接口的192.168.2.9和192.168.2.0(掩码255.255.255.0)。
我的猜测是我可以分析数据并建立网络的逻辑连接。 所以,我想问的是,如果我在正确的道路上了解网络拓扑结构(至少对于它是逻辑连接)。
这一切都以编程方式完成(c和objective-c),并用于学校项目。
PLUS:有人知道任何可以绘制(给出这些信息)拓扑的库吗?
所以你已经拥有了每个设备的IP地址,这是一个有用的开始。 从那里,一个'手动算法'可能是:
for each ip in devices
traceroute ip
for each hop in traceroute
add hop to graph (if it's not there already)
你正在做的是将你自己和设备之间的每个网络跳跃添加到一个图形结构中。 如果已经找到一个节点(跳跃),那么你添加一个新的边缘。 如果不是,则添加边和顶点。 最终结果将是网络中每个节点的图形以及到达它们的路径 - 拓扑。
因此,您所要做的就是自己实现traceroute,构建图结构来存储traceroute运行的结果,然后制作一些很好的图表! 这些都可能产生很多自己的问题。
正如你已经标记了这个Objective-C,我会做出一个飞跃,并假设你在Mac上这样做。 如果是这样,Cocoa的绘图API可以很好地满足您的图形需求。
对于图形来说,最简单的方法可能是以点形式输出文件,然后用graphviz将其图形化。
链接地址: http://www.djcxy.com/p/70121.html