OSPF总结

OSPF
    触发更新
    管理距离110
    OSPF没有传输层,直接封装于IP,协议号为89
    OSPF使用组播地址
        所有路由器224.0.0.5        DR和BDR:224.0.0.6
链路状态路由协议
    1.路由器将自己接口所在的链路署名后发送给邻居
    2.邻居将此信息保存在链路状态数据库中
    3.收敛完成后(路由器几乎收到全网拓扑),使用SPF计算最短路由,写入路由表
OSPF邻居建立
    只与DR和BDR建立邻居,若有其他路由器,则卡在2-way的状态
    7种状态
    Down
        路由器未运行OSPF
    Init
        路由器收到对方发过来的Hello中没有自己的route-id
    2-way
        路由器收到对方发过来的Hello中有自己的route-id,表示已经双向通信
        如果是广播网络,则等待40s,等所有路由器的hello包都充分交换,最大作为DR,过时不候
    Ex-Start
        路由器发送空的DBD(链路状态描述信息)用于选举谁来主导整个过程,比较Router-id大
        L(置位表示选举未完成)、M(置位表示这不是最后一条消息)、MS(置位表示自己的Master)
    Ex-Change
        路由器互相交换DBD,(Slave先把自己的DBD发给Master)
        比对哪些LSA是自己没有的
    Loading
        向对方发送LSR请求那些自己需要的LSA
        接受对方的LSU,并且回复LSAck确认
    Full
        完成建立过程
OSPF报文类型
    5种报文类型
    Hello 建立和维护OSPF邻居关系。
    DBD    链路状态数据库描述信息(描述LSDB中LSA头部列表)
    LSR 链路状态请求,向OSPF邻居请求链路状态信息
    LSU 链路状态更新(包含一条或多条LSA)
    LSAck 确认报文
OSPF的三张表
    邻居表
    链路状态数据库
        sh ip ospf database
        age死亡时间(3600s),更新时间(1800s)
        会定时刷新,每一次刷洗序列号+1
    路由表
LSA类型
    1.Router        用于描述自己借接口的链路相关信息            本区域传递
    2.Network        DR产生的,用于描述所在网段的信息            本区域传递 
    3.Summary        ABR产生的,用于搬运区域之间的路由            OSPF全境传递
    4.Summary ASB    ABR产生,用于告知内部如何离开本AS            OSPF全境传递
    5.Type-5        ASBR产生,用于描述AS外部路由信息            OSPF全境传递
    7.Type-7        NSSA内部的ASBR产生,用于描述AS外部路由信息    只在NSSA中传递
        
路由类型
    O        OSPF区域内路由
    O IA    OSPF区域间路由
    O E1    1类外部路由(每经过一台路由器,都加上metric),此类型在NSSA中显示为O N1
    O E2    2类外部路由(在OSPF境内始终是原metric),此类型在NSSA中显示为O N2
    如果从四种类型中学到同一条路由:O>O IA>O E1>O E2
OSPF特殊区域
    stub
        不会学习境外的路由    产生默认路由
        router ospf 1
            area 1 stub    //每个路由器都要配置
    totally stub
        不会学习区域外路由  产生默认路由
        在设置了stub的基础上,在ASBR上设置
        router ospf 1
            arae 1 stub no-summary
    NSSA
        该区域内不允许存在5类LSA,外部路由以7类LSA出现,ABR再转为5类LSA发送到其他区域
        可以引入外部路由
        router ospf 1
            area 1 nssa
            area 1 nssa default-information-originate  
                //下发默认路由(默认不下发),一般只配置在ABR
                //只有NSSA默认不下发默认路由
        坑:有可能Forward address(引入外部路由的路由器)到达不了
            解决方案:ABR在将7类LSA转换为5类LSA时将Forward地址改为自己
            router ospf 1
                area 1 nssa translate type7 suppress-fa
    Totally NSSA
        不会学习其他区域的路由
        router ospf 1
            area 1 nssa no-summary
route-id
    优选环回接口中最大的
    次选物理接口中最大的
    在不重启路由器的情况下,只能手工修改。
DR的选举
    1.先比接口优先级(默认为1,为0则不参与选举)
        ip ospf priority 10  //修改接口优先级
    2.route-id大者为DR,其次为BDR
        “某个路由器是DR”这个说法是错误的,应该说是某个接口是DR或者某个路由器在某个区域是DR
        某个接口单独起OSPF协议,它自己就会成为DR
        DR发生故障一定是BDR成为DR,BDR从其他路由器里选
路由宣告
    router ospf 1
        network 172.16.0.0 0.0.255.255 area 0  //宣告进area 0
OSPF默认路由的注入
    router ospf 1
        default-information originate
        default-information originate always //即是本地不存在默认路由,也下发默认路由
        default-information originate always [metric-type 1|2] //设置路由类型,默认为OE2,不累积metric
路由汇总
    无法在区域内汇总,因为所有路由器都知道整个网络的拓扑
    可以在ABR和ASBR上汇总
    在ABR上汇总
        router ospf 1
            area 1 range 172.16.0.0 255.255.0.0 //汇总区域1内的路由到其他区域
    在ASBR上汇总
        router ospf 1
            summary-address 10.0.0.0 255.0.0.0
    路由过滤
        表示告诉其他路由器这条路由
        在ABR汇总或者ASBR汇总命令后加not-advertise,这条命令就不再是汇总,而是路由过滤
非骨干区连接非骨干区
    这样会导致不与骨干区相连的非骨干区学不到路由(因为没有ABR为其传递路由)
    可以在中间的非骨干区打一条隧道
    解决方案1:
        子接口  //两个路由器都要设置
        interface Ethernet0/0.1   //这个接口的ip按原来的,不变
             encapsulation dot1Q 10
             ip address 192.168.12.1 255.255.255.0
             ip ospf 1 area 1
        !
        interface Ethernet0/0.2
             encapsulation dot1Q 20
             ip address 192.168.21.1 255.255.255.0
             ip ospf 1 area 0
    解决方案2:
        GRE(通用路由封装)(ipip)
        interface Tunnel0  //区域边界路由器上设置(其中一台设置完之后才是ABR)
            ip address 192.168.54.4 255.255.255.0
            ip ospf 1 area 0
            tunnel source Ethernet0/1
            tunnel destination 192.168.45.5
            tunnel mode gre ip
    解决方案3:
        OSPF特有虚链路
        router ospf 1
            area 2 virtual-link 5.5.5.5   //5.5.5.5是对端的route-id
点对点
    接口下:ip ospf network point-to-point
    点对点不会选举DR和BDR
    取消点对点,万一配置错误(在多台设备的局域网里配置点对点)
        ip ospf network broadcast
被动接口
    router ospf 1
        passive-interface {e0/0 | default}
        default将所有接口作为被动接口,然后可以单独no掉某个接口的passive
OSPF COST
    OSPF接口COST=10^8/接口带宽    //修改接口逻辑带宽是无法改变COST的
    接口模式下:ip ospf cost 10   //直接修改接口cost
以设备名作为router-id(DNS服务)
      //1.开启DNS服务:
                       ip dns-server
                       ip host R1 1.1.1.1
      //2.ip domain lookup
      //3.ip ospf name-lookup
      //4.ip name-server {DNS服务器IP}
router ospf 1    //路由重分布
  redistribute connected subnets    //redistribute(重新分配; 再分配)
      //将直连路由以外部的方式宣告进ospf
-----
OSPF身份验证
  明文:
    接口认证:Router(config-if)# ip ospf authentication-key password 
              Router(config-if)# ip ospf authentication
    区域认证:Router(config-if)# ip ospf authentication-key password
              Router(config-router)# area area-id authentication
  密文:
    接口认证:Router(config-if)# ip ospf message-digest-key key-id md5 <key>
              Router(config-if)# ip ospf authentication message-digest
    区域认证:Router(config-if)# ip ospf message-digest-key key-id md5 <key>
              Router(config-router)# area area-id authentication messae-digest

posted @ 2018-07-25 15:22  NetRookieX  阅读(10)  评论(0编辑  收藏  举报