拓扑方面有关论文范文素材,与基于协议的网络拓扑发现算法相关毕业论文格式范文
本论文是一篇拓扑方面有关毕业论文格式范文,关于基于协议的网络拓扑发现算法相关本科论文范文。免费优秀的关于拓扑及地址及网络方面论文范文资料,适合拓扑论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
65306;在链表C中逆序查找除哑交换机自身所在分枝以外其他分枝的交换机接口转发状态,若其状态转发无连接并且其转发地址中包含该哑交换机的MAC地址,则对该接口与哑交换机之间的连接信息进行添加.(10)处理冗余连接:判断每个交换机的阻塞接口查询它的指定网桥,将连接填入对应的接口信息区.
(11)向全网主机发送广播Ping包,对于处在设备直连状态的两台交换机,对直连两接口的地址转发表进行访问,并且根据结论四改写其接口信息.
(12)根据结论六对主机之间的连接和路由器之间连接进行添加.
STP拓扑发现算法具有以下四个方面的优点:
(1)能够对哑设备存在的情况进行处理.
在STP发现算法中,根据结论六利用交换机接口的指定网桥来发现哑交换机,并且利用了结论一和结论四处理接口连接集线器的情况.
(2)能够发现并对冗余连接进行处理.
在生成树算法中,它以阻塞某些接口来实现无环路转发.在STP发现算法中,通过查找比较接口状态,将那些处于阻塞状态的接口取出,为其与指定网桥添加连接,便能发现冗余连接.
(3)能够对网络拓扑结构的变化进行及时反映.
在运行STP协议的网络中,如果网络物理拓扑发生变化,算法会立即被触发,进而对整个网络的拓扑结构进行重新的绘制,所以在STP发现算法得出的物理拓扑始终是最新最完整的.但在其他算法中,对网络拓扑结构的绘制必须通过报文之间的交流来进行,如果存在两台或者几台设备由于某种原因很久没有发生通信,则会导致此设备不会被发现,网络拓扑结构绘制不完整.
(4)能够对多个子网的复杂环境网络拓扑结构进行有效的发现.
不同子网间的交换机即使直接相连,它们也是通过各自的网关交换信息,但它们必定都遵循生成STP协议以构造无环路交换域,所以利用STP发现算法可以发现这些相对比较复杂连接.
3基于ICMP协议的网络拓扑发现算法
在ICMP协议中有Ping命令和Traceroute命令,这两种命令可以帮助我们获得网络的拓扑结构.
Ping命令往往用来检测一个节点是不是处在运行的状态或者是检测两个节点之间的时延(RTT).Ping向所要检测的目的地址发送ICMPecho请求包,等待接收ICMPecho响应包,按照成功的次数及一些其他数据对网络的时延等一些性能进行评估.一般情况下Ping只关心网络上的源节点和目的节点,而不考虑网络的其他细节,同时也可以利用Ping的广播得到整个网络的主机状态.在文献[13]中给出了Ping的三类规则,利用这三类规则可以对某个IP地址所归属的网络或者是IP的有效性进行判断,具体如下:
(1)通过Ping的广播来判定IP地址所属子网.
递减猜测子网掩码的长度,对每个猜测的子网掩码构造广播地址,进行Ping操作,如果主机对构造的广播地址有回应则说明猜测的子网掩码是正确.给定一个IP地址,可利用本规则猜测该地址所属的子网掩码:
for(masklen等于31;i>7;i--){
假定子网掩码的长度是masklen;
为IP地址和masklen构造主机号为全0和全1的直接广播地址;
ping这些广播地址;
如果多于两个主机对这两个ping都做出了响应,则返回masklen,否则继续;
}
(2)通过一组地址来判定该组地址所属子网.
已知地址集A中的IP地址同属于一个子网,对地址集A进行异或操作,找出第一个不为0的位,则该位及其后的各位都只能是主机号,而不可能是子网号.从而判断出子网掩码的长度(可能比实际子网掩码的位数长),而子网地址则可通过猜测得到的子网掩码做按位与运算得出.求取子网掩码的伪代码如下:
(3)判定在某个域中的有效IP地址.
已知一个子网空间的地址集B,推测已知的子网地址空间中有效的IP地址,其算法描述如下:
for(每个ping测试成功的地址){
把此地址的后续N个地址加入到临时集合中;
if(地址以1,63,129或者193结尾){
可能有其他的主机在这个空间中,把N个具有相同前缀的随机地址加入到临时集合中;
Traceroute命令可以发现源节点和目的节点之间的路由器.其原理是通过Traceroute命令向目的节点发送端口为65535的UDP报文,它们之间的路由器在转发该数据包之间会将其TTL值减1,如果当TTL值变为了0,则该路由器向源节点发送TTL-ExpiredICMP的消息.Traceroute命令就是通过这个特性,将发送包的TTL值不断的增大,这样会使源节点到目的节点间这条路经上所有的路由器均会向源节点发送TTL-ExpiredICMP包,这样就将此路径上的所有路由器进行发现.如图3所示,对一个目标设备发送的第一个数据包中TTL值为1,所以此报文在遇到两个节点之间第一个路由器R1时,就会向源节点发送TTL-ExpiredICMP包,这样路由器R1就被发现了,R1就成了网络拓扑结构中的一部分.之后就将发送报文的TTL值不断增加1,一直加到发送的报文被目的节点所接收,就可以得到之间所有路由器节点.通过上述方式我们可以构造出包含节点R1,R2,R3,等,Rn和连接关系(源主机,R1),(R1,R2),(R2,R3),等,(Rn,目标设备)拓扑结构来.由于基本所有的路由器都会向源节点发送TTL-ExpiredICMP消息,所以一般情况下,通过Traceroute命令得出来的网络拓扑结构是比较准确的.
通过ICMP中的Ping和Traceroute命令的特性可以实现对网络拓扑结构的发现.
算法的主要步骤如下:
(1)首先在域内随机选取形式为(*.1)的地址同时将它们存在临时地址集A.
(2)然后每次从A中取出一个IP地址a通过步骤3进行判定,直到地址集A中没有IP地址可以取,绘制网络拓扑图.
(3)首先利用Ping命令判断该地址是否为有效地址,如果有效则将该地址存入地址集B中并且根据规则3将更多的地址加入地址集A中.而后有效地址a进一步执行Traceroute命令,会得到与其相连接的所有路由器的信息,然后利用规则2猜测地址a所属的子网地址.
算法流程如图4所示.
4基于SNMP协议的网络拓扑发现算法
在一般的基于SNMP协议的拓扑发现方法中,网络中的每个设备都有路由表,路由表中的信息包含了网络拓扑结构的信息,路由表包括路由目的网络地址、网络的子网掩码、该路由的下一站IP地址、对应的端口索引和路由协议类型等信息.由于路由表中下一跳的节点一定是具有路由功能的节点,所以就可以在设定路由器开始,依次读取每台路由器的路由表,这样就可以逐个发现每台具有路由功能的节点,进而得出具有路由功能节点的拓扑结构.再根据路由表的本地接口的索引标识项,找到接口表中所对应的本地接口索引,由接口表的接口类型就可以判断其所在子网的类型,最终构建出整个网络的拓扑结构图.这种方法的拓扑发现过程和算法的优点在于其过程简单,运行速度快,发现效率高,对资源消耗比较小,因此,得到了大家的广泛应用.但是,该方法的不足也很明显,主要表现在以下五个方面:
(1)由于只是根据IP地址来发现设备,这样就无法发现网络中没有配置IP的网络设备.
(2)由于目前一个路由器往往具有不止一个IP地址,而此基于路由表的发现方法算法实际上就是基于IP地址的,所以一个具有多个IP地址的路由器会导致一台设备被算法当成了多台设备,与实际情况不符合.
(3)因为要对网络中所有设备进行检测,在网络规模比较大时可能导致算法执行时间较长,同时由于实际网络中情况比较复杂,
拓扑方面有关论文范文素材,与基于协议的网络拓扑发现算法相关毕业论文格式范文参考文献资料: