OSPF介绍(1)

OSPF:开放式最短路径优先
协议 OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部
AD 思科OSPF的协议管理距离是110
华为OSPF的协议管理距离是150
链路状态 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议
OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表
LS-支持网络的层次化设计
-区域 骨干 : 0区域,就是骨干区域
非骨干:不是区域0的,都叫做非骨干区域 
所有的非0区域,必须直接连接0区域;
非0区域之间,不可以直接进行通信的;
Hello协议的目的 1.用于发现邻居
2.在成为邻居之前,必须对Hello包里的一些参数协商成功
3.Hello包在邻居之间扮演着keepalive的角色
4.允许邻居之间的双向通信
5.它在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR
建立邻居影响因素 1、确保最小范围内双向ping通;
2、能够正常发送OSPF报文;
#确保链路正常宣告;
3、能够正常接收OSPF报文;
#确保链路正常宣告; 
#确保ACL放行 OSPF 流量;
4、开始比较OSPF报文参数: 
1、RID不能相同;
router ospf 1 
router-id x.x.x.x 
clear ip ospf process 
2、区域ID必须相同;
3、认证必须成功(认证类型必须相同,并且密码必须相同)
4、子网掩码必须相同(特殊情况下)
5、hello时间必须相同;
interface fas0/0 
ip ospf hello-interval {value}
6、dead时间必须相同;
interface fas0/0 
ip ospf dead-interval {value}
7、特殊标记位必须相同;
8、优先级必须不能全为0(特殊情况下)
9、3层MTU必须相同,否则会卡在Exatart状态
Interface fas0/0
Ip mtu +num(如1499)
MTU MTU-最大传输单元<max transmit unit> 1500
Hello packet包含 1.源路由器的RID
2.源路由器的Area ID
3.源路由器接口的掩码
4.源路由器接口的认证类型和认证信息
5.源路由器接口的Hello包发送的时间间隔
6.源路由器接口的无效时间间隔
7.优先级
8.DR/BDR
9.五个标记位(flag bit)
10.源路由器的所有邻居的RID
OSPF状态: 1.Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址224.0.0.5。
2.Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发 送Hello包.
3.Init:初始化收到了Hello包,但是2-Way通信仍然没有建立起来.
4.two-way: 双向会话建立,而 RID 彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。
5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,路由器ID大的的成为Master.
6.Exchange: 信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。DBD包含有关LSDB中LSA条目的摘要信息)。
7.Loading: 信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD.将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA 。
8.Full: 完全邻接状态,该状态表示双方的数据库完全同步
DR与BDR的选取原则: 1.优先级为0的不参与选举
2.优先级高的路由器为DR
3.优先级相同时,以router ID 大为DR。router ID 以回环接口中最大ip为准。若无回环接口,以真实接口最大ip为准。
4.缺省条件下,优先级为1
OSPF定义的5种网路类型 OSPF的工作过程,完全由网络类型来决定;任何一种类型的链路,默认都对应着一种网络类型,但是,可以基于网络需求,进行人工修改
类型 2层 Hello与dead DR/BDR 是否主动发包
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类型 
LSA的类型: LSA的摘要信息详解: LSA的摘要信息中代表的意思
OSPF的数据库中包含的是 LSA ;
OSPF的数据库是以区域的形式来组织 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的网络环境中才会有。
只有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的;
路由过滤 distribute-list(只能是做入向的“路由”过滤) 
acl/prefix-list

  • 标准ACL 
    只能看前缀;
  • 扩展ACL
    同时看前缀和掩码,但是只能在BGP中使用;
  • 前缀列表
    同时看前缀和掩码,在所有的IGP中都能用;
    Metric Metric(在OSPF中,称之为 cost - 开销)
    无论是什么协议的路由,在计算Metric的时候,仅仅关心的是路由沿传递方向上的所有入端口的;
    OSPF的路由的 Metric 计算方法为:沿路由传递方向,所有入端口的 cost 的累加和。

    每个端口上的 OSPF cost 计算方法如下:

              Cost = 100000000/bw ( bw表示的是接口带宽,代为是 bit ) 
                   所得除数小于1的,都按照整数1来计算。
            上面的 108次方,我们称之为计算路由时的“参考带宽”。

    可以通过命令进行你更改(当网络中的路由器之间的互联链路带宽都大于100M的时候)
    router ospf 1
    auto-cost reference-bandwidth 1000(单位是Mbit;)
    如果进行该参数的修改,必须在全网的每一个路由器都得进行修改,否则会出现路由次优路径。
    汇总 自动汇总:NO
    手动汇总:YES 
    -对象: 3类LSA和5类LSA
    3类LSA汇总
    在产生被汇总的3类LSA的ABR上进行配置配置完成以后,仅仅发送汇总之后的3类LSA,不发送明细LSA
    并且会在本地形成一个针对汇总路由的Null0路由,目的是为了实现防止数据转发环路的产生。
    5类LSA汇总
    在产生5类LSA的 ASBR 上面操作
    路由器类型 1.Internal Router:内部路由器

    1. ABR(Area Border Router):区域边界路由器
    2. Backbone Router(BR):骨干路由器
    3. ASBR(Autonomous System Boundary Router):自治系统边界路由器.
      虚链路 1. 通过一个非骨干区域连接到一个骨干区域.
    4. 通过一个非骨干区域连接一个分段的骨干区域两边的部分区域.
      虚链接是一个逻辑的隧道(Tunnel),配置虚链接的一些规则:
      1. 虚链接必须配置在2个ABR之间.
      2. 虚链接所经过的区域叫Transit Area,它必须拥有完整的路由信息.
      3. Transit Area不能是Stub Area.
      4. 尽可能的避免使用虚链接,它增加了网络的复杂程度和加大了排错的难度.
      OSPF区域—OSPF的精华
      Link-state 路由在设计时要求需要一个层次性的网络结构.
      2种网络类型 1.传输网络(Transit Network)
      2.末节网络(Stub Network )
      末节区域 由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,就创建了末节区域,位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器.
      特殊之处在于:区域中没有外部路由,也就是没有5类LSA。
      -stub area :末节区域
      需要在该区域的任何一个路由器上配置命令:
      router ospf 1
      area 12 stub 
      末节区域,在该区域中,是没有5类LSA和4类LSA。
      有1类、2类、3类LSA
      但是该区域的 ABR 会自动产生一个 3类 LSA 表示的 默认路由;为了能够与外网链路互通。
      为了进一步增强该区域的安全性,不受到内网其他区域的影响,所以我们可以进一步缩小该区域的数据库的大小-干掉3类LSA。

    -totally stub area : 完全末节区域;
    仅仅需要在 stub 区域的 ABR 上实施 - 
    router ospf 1 
    area 12 stub no-summary 
    此时的完全末节区域,仅仅有1类LSA或者1和2类LSA,还有一个特殊的3类LSA,表示默认路由,是 ABR 自动产生的; 验证命令:show ip ospf

区域类型 OSPF的区域类型有很多:
标准区域、主干、末节、绝对末节、NSSA、绝对NSSA 
标准区域:默认的OSPF区域类型
主干区域:就是area 0 
末节区域:不接受五类LSA,如果要到AS外部,路由器会使用默认路由,其中末节区域不能包含ASBR 
绝对末节:不接受五类LSA与三类LSA,路由器会有默认路由,也不能包含ASBR 
NSSA:这是一种特殊的区域,它定义了七类LSA,NSSA具备了末节与绝对末节的优点,但是可以包含ASBR
路由协议支持的认证类型:
RIPv2->明文/密文
EIGRP->密文
OSPF->明文/密文/null
OSPF的认证: 链路认证(仅仅对某一个或者几个链路)
启动认证和配置密码,都是在链路上进行的;
区域认证(对整个区域的所有的链路)
启动认证是在 OSPF 进程下,对区域配置的;密码,还是配置在具体的链路上;
认证成功必须确保: 1、认证必须同时开启 -->认证类型不同,一方是0,一方是1;
2、认证类型必须相同 
3、认证密码必须相同(也可以同时为空)-> mismatch authentication key


本文转自 linuxpp 51CTO博客,原文链接:http://blog.51cto.com/13505118/2053162,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值