OSPF

时间: 2019-02-11 16:02:09 标签OSPF

OSPF邻接建立状态:
0、down:邻居从完好状态到挂掉;
1、init:初始化,表示本地路由器收到了对方发送的hello包;
attempt : 尝试;
只有在以单播的方式建立 OSPF 邻居时,才会有。
2、two-way:双向通信状态;表示本地路由器收到了对方发送的hello
包,并且在对方的报文中,发现了自己的 RID(neighbor-list)
此时也说明两边的hello中的参数协商成功了;

        在特殊的网络环境下,我们会在多个路由器中选择DR/BDR,
        其他的路由器都叫做 DRother。此时,所有的路由器都仅仅
        和DR/BDR同步数据库。DRother之间永远是处于Two-way。
        选择DR的原则:
              0、只有优先级不为0的路由器,才可以参与选举;
                 优先级为0的路由器,永远称之为 DRother。
              1、首先比较的优先级,越大越好;(默认是1)
              2、如果优先级相同,则比较 RID,越大越好;
        DR:designated router - 指定路由器
        BDR:backup designated router - 备份指定路由器

3、exstart:交换初始化状态;目的是在该阶段进行协商,从而确定
在后续的数据库同步过程中,应该如何确保稳定有效传输;
DBD-database description ,数据库描述报文;
master/slave
选择原则:RID,越大越好;
I-初始化位,表示的是第一个 DBD报文;
M-More,表示后续还有更多的 DBD ;
MS-master/slave,表示主从关系位;
4、exchange:交换
在该阶段,交换的其实不是数据库中的具体条目内容,
而是数据库中的每个LSA条目的简要信息;
此时发送的报文,就是 DBD,里面包含的是
LSA的简要/摘要信息;

5、Loading:加载
该过程中,才是真正的进行 LSA 的请求和发送的;
此时发送的报文是:LSR/LSU/LSAck

6、full:邻接。该状态表示双方的数据库完全同步。


OSPF网络类型:
OSPF的工作过程,完全由网络类型来决定;
任何一种类型的链路,默认都对应着一种网络类型,
但是,可以基于网络需求,进行人工修改;
interface fas0/0 //修改端口网络类型;
ip ospf network {type}
show ip ospf interface fas0/0 //查看端口网络类型;

broadcast :广播。(MA , multi-access)
当2层协议为ethernet时,对应的是广播网络类型;
hello是10s;dead是40s;
需要选举DR/BDR;
端口主动发包,发包方式为组播(224.0.0.5/6)
non-broadcast :非广播。(NBMA)
当2层协议为Frame-relay时,对应的是非广播网络类型;
hello是30s;dead是120s;
需要选举DR/BDR;
端口不主动发包,发包方式为单播;
【OSPF实现单播:neighbor x.x.x.x】

point-to-point:点到点(P2P)
当2层协议为HDLC\PPP时,对应的是点到点网络类型;
hello是10s;dead是40s;
不需要选举DR/BDR;
端口主动发包,发包方式为组播(224.0.0.5)
point-to-Multipoint:点到多点(p2mp)
hello是30s;dead是120s;
不需要选举DR/BDR;
端口主动发包,发包方式为组播(224.0.0.5)

point-to-Multipoint non-broadcast:点到多点(p2mp-NB)
hello是30s;dead是120s;
不需要选举DR/BDR;
端口不主动发包,发包方式为单播


LSA的类型:
OSPF的数据库中包含的是 LSA ;
OSPF的数据库是以区域的形式来组织 LSA 的;
同一个区域中的所有路由器,数据库是完全同步的;

LSA的摘要信息详解:
link-id:表示的是LSA的名字,
adv:表示的是产生这个LSA的路由器的名字;
age:表示的是存活时间;最大存活时间是3600s;
seq:表示的序列号;LSA表示的链路每变化一次,LSA的序列号
就会增加1;
checksum:校验和,用于确保 LSA在传输过程中,没有被损坏。
link-count:链路计数器,只有1类LSA才会拥有。表示的是
该路由器上有多少个链路宣告进入了该区域;



1类LSA:router LSA 
   任何一个路由器,都会在任何一个区域中产生一个 1类LSA ;
   可以将1类LSA理解为“自我介绍”,用于说明本身有哪些链路
   进入了该区域,并且是连接着哪些设备,是如何连接的;
   到对方的距离是多少;

   1类LSA只能在一个区域内部进行传输;

   link-id:路由器的RID
   adv:路由器的RID
   传输范围:只能在一个区域内部
   ADV是否变化:不变化   

2类LSA:net Link state
   这种类型的 LSA ,只有在选举DR/BDR的网络环境中才会有。
   只有DR才有资格产生 2 类 LSA 。   

   link-id:表示的是 DR 的接口IP地址;
   ADV:DR的 RID ;
   传输范围:一个区域内部
   ADV是否变化:不变化;

 // 基于 LSDB 中的1类LSA 或者 1和2类LSA,就可以计算出
    一个区域内部的路由,叫做 O 的路由;
3类LSA:summary net link state 
   在不同的区域之间传输路由信息;
   这种类型的LSA,仅有 ABR 可以产生。
   3类LSA被ABR产生以后,首先进入到 OSPF 区域0,然后再转发到
   其他区域。
   ABR:
      1、可以将非0区域中的“域内-O”路由,转变成3类LSA,发送到
         0区域;
      2、可以将0区域中的“域内-O”路由,转变成3类LSA,发送到非
         0区域;
         也可以将0区域中的“域间-OIA”路由,转变成新的3类LSA,
         发送到其他的非0区域中;
      3、一定不可以将非0区域中的3类LSA转发到0区域;;
    link-id:表示的是路由的前缀;
    adv:ABR的RID;
    传输范围:一个区域内部
    ADV是否变化:是;

4类LSA:summary ASB link state
    专门是为了辅助5类LSA计算路由而生的;
    传递的信息是 ASBR 的 RID ;
    是由与 ASBR在同一个区域的 ABR 产生的;
    传递过程中每经过一个ABR,ADV都会变化一次。
    link-id:表示的是 ASBR的 RID;
    adv:ABR 
    传输范围:同一个区域内部;
    ADV是否变化:是的;

5类LSA:external LSA
    表示的是OSPF的外部路由,没有任何区域概念;
    可以在OSPF网络中畅通无阻。
    哪里有OSPF,哪里就有5类LSA。

    link-id:表示的是外部路由前缀;
    adv:ASBR的 RID ; 
    传输范围:没有限制;
    ADV是否变化:否;

注意:
   计算域内路由时,使用的1类或者1类和2类LSA;
   计算域间路由时,使用的是3类和1类;
   计算外部路由时,使用的是5类和1类,或者是5类,4类和1类;

---------------------------------------------------------

非0区域没有直接与0区域互联,解决方案:

1、引入外部路由;
       #运行多个OSPF进程,并且相互之间进行重分发;

2、引入内部路由(O IA)
       #引入虚链路。
           通虚链路建立的OSPF邻居关系,永远都是属于区域0的;
           R3;
              router ospf 1
                area 12 virtual-link 4.4.4.4
           R4:
               router ospf 1
                area 12 virtual-link  3.3.3.3

Virtual-link:虚链路;

                                                                                                             李军
                                                                                                                                                                                                 Tel:15135361516
                                                                                                   qq:344728662
                                                                                                                                                                             @:501xiaofeng@163.com

版权说明| 关于ijava| 合作伙伴| 联系我们| 网站地图| 招贤纳士

Copyright © 2017 www.ijava.com All Rights Reserved 版权所有•ijava学习网 京ICP备14061482号-18         官方QQ:3325669927

ijava学习网提供免费java教程和大量java面试题库,给高级会员提供免费的java培训,同时提共一些java开发项目和java下载,java工程师,java菜鸟们快来哦。记住我们的网站:www.ijava.com