通过OSPF路由协议构建网络拓扑

前两天出去面试,技术准备叉了,面的网络岗,准备了些乱七八糟的东西,把ospf、bgp忘得差不多了。回来敲了一遍GNS3模拟器,顺道把之前想画的OSPF拓扑图琢磨了一下。之前通过LLDP、BGP画过拓扑,觉得问题不大。

OPSF 几种LSA

1.router lsa

2.network lsa

3.network summary lsa

4.ASBR summary lsa

5.AS external LSA

6.gourp membership lsa

7.nssa external lsa

其实通过前两种LSA 就可以构建出本区域的拓扑关系,通过3可以知道abr是谁,通过abr可以找到邻接区域的拓扑关系,这样整个ospf区域的拓扑关系就可以找到。

信息采集用php和shell都实现了一下。觉得shell的效率要高一些

declare -a hosts;
hosts[0]=$host;


function getNbrId(){
    echo "run getNbrId function....";
    nbrIds=`snmpwalk -v 2c -c $COMMUNITY $1 1.3.6.1.2.1.14.10.1.3 | awk '{print $NF}'`;
    for nbrId in ${nbrIds[*]}
    do
        exist=0;
        echo "nbrid: $nbrId";
        for ip in ${hosts[*]}
        do
            if [ $nbrId == $ip ];then
                exist=1;
            fi
        done

        if [ $exist == 0 ];then
            arrN=`expr ${#hosts[@]}`;
            echo $arrN;
            hosts[$arrN]=$nbrId;

            getNbrId $nbrId;
        fi
    done
}

gns的拓扑如下,桥接给本地机器,通过本地机器进行信息采:

这样,只要了解到OSPF的任意一个area中的任意一台路由器,就可以构建出整个拓扑。实际画出的拓扑如下,流量数据伪造了一下:

追加:有一问题,gns模拟器在互联路由器之间,链路两端路由器接口不能协商速率,导致一端100M,另一端10M居然没有问题,导致metric计算不准确。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值