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,如需转载请自行联系原作者

相关文章
|
4月前
|
网络协议 算法 数据库
OSPF总结
该文章为OSPFv2版本的一些总结,暂时没有OSPFv3
OSPF总结
|
10月前
|
网络协议 安全 数据库
浅谈OSPF
浅谈OSPF
70 0
|
网络协议 数据库 网络虚拟化
OSPF路由协议(二)
OSPF路由协议(二)
OSPF路由协议(二)
|
负载均衡 网络协议 算法
OSPF路由协议(一)
OSPF路由协议(一)
159 0
OSPF路由协议(一)
|
网络协议 数据库 网络架构
OSPF路由协议二
一.OSPF邻接关系的建立 在OSPF协议中邻居关系就是指在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。 在OSPF协议中邻居关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻居关系。
82 0
|
网络协议 网络架构
OSPF 路由协议三
一OSPF的基本概念 1.OSPF区域 为了适应大型网络,OSPF在AS内划分多个区域 每个OSPF路由器只维护所在区域的完整链路状态信息 2.区域ID 区域ID可以表示一个十进制的数字 也可以表示成一个IP 3.骨干区域Area 0 负责区域间路由信息传播 4.非骨干区域 AREA号的区域统统为非骨干
137 0
OSPF 路由协议三
|
网络协议 算法 安全
OSPF路由协议一
一 OSPF路由协议 OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328 ,RFC 5340 定义了适用于IPv6的OSPFv3。 二 OSPF路由概述 OSPF(下称"协议"或"本协议")仅在单一自治系统内部路由网际协议(IP)数据包,因此被分类为内部网关协议。该协议从所有可用的路由器中搜集链路状态(Link-state)信息从而构建该网络的拓扑图,由此决定提交给网际层(Internet Layer)的路由表,最终路由器依据在网际协议数据包
110 0
|
人工智能 网络协议 算法
OSPF详解(一)
一、OSPF的五种包Hellow:发现邻居建立邻接关系DBD:检查路由器的数据库之间是否同步LSR:向另外一台设备请求特定的链路状态LSU:发送链路状态信息LSACK:确认多段的发送信息二、OSPF的三张表1、 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器2、 链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑3、 路由表:列出通过SPF算法计算出到达每个相连网络的最佳路径三、OSPF的特点1、 区域概念,有效减少路由条目对CPU和内存占用,将拓扑变动局限在本区域内,详细的LSA泛洪控制2、 邻接关系。OSPF协议定义了一些路由器类型和网络全相同时,就以自身为根,
|
存储 负载均衡 网络协议
OSPF详解(二)
十六、OSPF区域1、 区域0:汇总每个区域的网络拓扑到其他区域。所有的域间通信量必须通过骨干区域,非骨干区域不能直接交换数据包。2、 路由器类型:IR、BR、ABR、ASBR3、 IR:所有接口都属于同一区域的路由器。4、 BR:至少有一个接口是与骨干area0相连的路由器。Area0不一定是骨干区域,但骨干区域–定是area0,要成为骨干必须有一个邻接关系在里面5、 ABR:连接其他区域到骨干区域,至少一个接口属于骨干区域。6、 ASBR: OSPF域外部的通信量进入0SPF域的网络路由器。7、 0SPF的虚链路:一条通过非骨干区域连接到骨干区域的链路。通过非骨干区域修复分段efreshT
|
网络协议 数据库 网络架构
OSPF路由协议
1、OSPF的基本概念 2、OSPF邻接关系的建立 3、OSPF的应用环境 4、O应用环SPF的基本配置命令
OSPF路由协议