协议简介

1.网络的规模:十台以上或大中型规模的网络

2.网络的拓扑结构:网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求

3.其他特殊的需求:要求路由能快速收敛,路由协议本身网络开销尽量降低。

4.路由器自身要求:运行ospf协议时对路由器cpu的处理能力及内存的大小都有一定的要求,性能低的路由器不推荐使用ospf协议。

Ospf的特点

可适应性大规模网络

路由变化收敛速度快

无路由环

支持可变长子网掩码vlsm

支持区域划分

支持以组播地址发送协议报文


ospf是内部网关路由协议开放式最短路径优先协议openshortest path first在共同管理与下的一组运行相同路由选择协议的路由器的合集为一个自治系统(autonomous system as

 IGP 内部网关路由协议,用于在单一自治系统内决策路由。(autonomous system as

EGP 与内部网关路由协议相对应的叫做外部网关路由协议,外部网关路由协议用于在多个自治系统之间执行路由。

 Spfshortest path tree)最短路径优先算法

ospf是链路状态路由协议

链路状态路由协议通过与邻居路由器建立邻接关系,相互传递链路信息,来了解整个网络的拓扑结构,在链路状态信息中包含有哪些链路,这些链路与哪个路由器相连,连接的路径成本是多少等信息,因此,在链路状态路由协议收敛后,一台路由器可以了解区域完整的链路信息。


ospf工作过程

邻居列表链路状态数据库列表路由表每一台路由都将从最短路径中构建出自己的路由表。

Ospf区域

  Ospf 是一种链路状态型的路由协议,不会产生环路问题,因此不需要使用最大跳数等限制来防止环路产生。

  Ospf 将自制区系统分割成多个小的区域,ospf的路由器只能在区域内部学习完整的链路状态。不必了解整个系统的链路

区域是通过一个32位的区域id来标识的。

区域00.0.0.0)是为骨干区域保留的区域id号,ospf的骨干区域backbone  area  是一个特殊的ospf区域,它负担区域间路由信息传播的重任。

Router id

路由器选取它所有loopback接口上数值最高的ip地址。

路由器没有配置loopback接口的ip地址,那么路由器就在所有活动物理端口中选取一个数值较高的ip地址作为路由器的router id ,用作router id的路由器接口不一定要运行ospf协议。

使用loopback接口作为router id的主要好处是loopback接口比任何其他的物理端口更稳定。


自动选举Drbdr

网段router id最大路由器将被选举为dr designated router ,第二大的被选举为bdr

手工选举drbdr

需要设置路由的优先级,每台路由器的接口都有一个路由器优先级,用一个八位的无符号整数来表示,大小范围是0-255,数值越大,优先级越高,cisco路由器上默认的优先级是1.接口优先级可以通过ip ospf priortiy 来更改,如果路由器优先级被设置为0 ,那么它将不参与选举。


Ospf的度量值

用来度量路径优劣的度量值称为cost开销。范围1-65535

用命令更改开销  ip ospf cost

Auto-cost reference-bandwidth     --更改默认开销值

ospf邻接关系的建立

hello用于发现和维护邻居关系,选举drbdr

数据库描述包(dbd)    用于向邻居发送摘要信息以同步链路状态数据库

链路状态请求包(lsr)    在路由器收到包含新信息dbd后发送,用于请求更详细的信息

链路状态更新(list)      收到lsr后发送链路状态通告(lsa),一个lsu数据包可能包含几个lsa

链路状态确认包(lsack)        确认已经收到lsu,每个lsa 需要被分别确认。


 7种状态:

1)失效(down)状态

这是ospf建立交互关系的初始化状态,路由器没有于任何邻居交换信息。

2)初始(init)状态

路由器的各个接口通过224.0.0.5,发送(hello)报文。这里以r1发送hello报文为例,当邻居r2收到第一个hello就会进入init状态,在该状态时,路由器r2已经接收到hello报文,但自身的id并没有出现在该hello报文内。

3)双向(2-way)状态

Hello回应完之后,1发送含自身id,这时就进入2-way状态,双向通信已经建立,drbdr选举正是在这个状态完成的。

4)准启动(exstart)状态

在选举出drbdr之后,路由器就被认为是出于exstart状态。

5)交换exchange状态

6)加载(loading)状态

7)完全邻接(full)状态

Ospf 组播地址

组播地址224.0.0.5 代表所有参与ospf的路由器,而组播地址224.0.0.6地址有drbdr路由器侦听这个地址,但bdr指侦听不响应。在广播多路访问网络上,链路更新信息先发送到224.0.0.6,再由dr路由器使用组播地址224.0.0.5泛洪更新报文到其他所有路由器。


链路状态数据库组成,每台路由器中都创建了每个接口,对应的相邻节点和接口速率组成的数据库,链路状态数据库中的每个条目都称为lsa(链路状态通告),常见的lsa有六种类型。               Lsa 1 路由器通告所有连接的路由接口

Lsa 2 网络通告列出所有与之相连的路由器

Lsa 3 网络汇总通告该区域外部目的地址,发送汇总,lsa到一个区域

Lsa 4 汇总     ABR始发但通告的目的地是一个ASBR路由,其他的与网络汇总lsa都一样

Lsa 5 自治系统外部通告到1.目的地 2.自治系统外部默认的lsa

Lsa 7 NSSA外部指在非纯末梢区域nnsa    始发于ASBR路由器的lsa通告


Ospf网络类型

1、点到点网络(point-point)连接单独的一对路由器,在点到点网络上有效邻居总是可以形成邻接关系。

2、广播多路访问网络(bma像以太网和光纤分布式数字网络(fddi)等。它们可以连接多余两台的设备、

3、非广播多路访问网络(nbma)想x.25和帧中继,可以连接两台以上的路由,但是他们没有广播数据包的能力。

4、点到点网络(poing-to-multipoint)点到多点网络是nbma网络的一个特殊配置,可以被看做是一群点到点链路的集合.


末梢区域

对区域外的路由仅需要一条默认路由,为了减少区域内路由的路由条目,可以把此区域配置为末梢区域。

router(config-router)#area id  stub

完全末梢区域

不仅使用默认路由到达ospf自治系统外部的目的地址,而且使用默认路由到达这个域外部所有目的地址,一个完全末梢区域的ABR不仅阻塞AS外部的lsa,而且阻塞所有汇总lsa,除了通告默认路由的那一条类型3的lsa。

router(config-router)#area id stub no-summary

非纯末梢区域(NSSA)

wKiom1M-B5jC5GeFAAC2s9yIw_A222.jpg


(2.1)

2.1图所示,连接在末梢网络的b路由器必须通过area2连接到其他网络,但是该路由器仅支持rip协议。因此,a台路由器将同时运行rip协议和ospf协议,并利用重分发把该路由器学到的rip路由信息注入到ospf区域,不幸的是,这个a路由器正好是area2ASBR路由器,因此,区域2不再是末梢区域了,而成为一个非纯末梢区域(not-so-stubby area ,NSSA)

 B不需要学习ospf域的路由,只要有一条默认路由指向a就足够了,但ospf域内路由为了能正确转发数据包到达rip路由器的哪些目的地址,他们必须要学习到这些rip路由器相连的目的网络路由。

非纯末梢区域nssa允许外部路由通告到ospf自治系统内部,而同时保留自治系统其余部分末梢区域特征,为了做到这一点,在nssa区域内的ADBR将始发类型7lsa来通告哪些外部的目的网络。这些NSSA区域外部的lsa将在整个Nssa区域中进行泛红,但是会在ABr路由器的地方被阻塞


路由重分发

路由重分发通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。例如一台路由器既运行ospf 又运行rip,如果配置ospf学到rip学得的路由,这种做法叫做重分发。


Ospf 重分发路由的路径类型

类型1的外部路径(type1external path,E1):这个代价值时这条路由的外部代价加上到达ASBR路由的路径代价之和。

类型2的外部路径(type 2external path,E2):也是指目的地在ospf自治系统外部的路径,但是在计算外部路由的度量值时不再计入到达ASBR路由器的路径代价。

wKiom1M-B1KgMSxIAADA1LwMwIo686.jpg


Ad路由有两条路下面进行比较测试:

E1类型

ABD=250

ACD=400

路由器路径则会选择ABD

    E2类型

       ABD=50

       ACD=300

      路由器路径则会选择ACD

重分发需要注意的几个方面:

2决定在哪儿添加新的协议

2确定自治系统边界路由器(ASBR)

2决定哪个协议在核心,哪个在边界

2决定路由重分发的方向

配置命令实例

  Routerrip

 Redistribute ospf 1 metric 10

 Router ospf 1

 Redistribute rip metric 200  subnets

Rip协议中充分发ospf协议需要制定metric的值,否则在rip中无法学到充分发的路由条目

重分发静态路由时只需要在ospf协议中发布即可,配置如下

Router ospf 10

Redistribute static metric 100 subnets  metric-type 2 --如果缺省路由则使用default-information original命令

   1.区域间路由汇总命令

router(config-router)#area id  range  ip地址  子网掩码

   2.外部路由汇总

router(config-router)#summary-address ip地址  子网掩码


三种路由协议类型和功能对比

距离矢量协议:典型代表就是rip,其特点就是周期性广播或多播,将自己的路由表通告给其他路由器

链路状态协议:典型代表就是ospf,其特点就是周期性使用hello包维护邻居信息,触发式更新链路状态,使用链路状态数据库计算路由表

混合型协议:典型代表就是eigrp,为什么说它是混合的:因为使用hello包维护邻居列表信息,触发式更新,这些特性像链路状态的分布特性,但是它又直接通告路由表到其他路由器,此特性是距离矢量的特性,因此称eigrp是为混合型。

特性

  Rip  v1

 Rip  v2

  Eigrp

   Ospf

协议类型

距离矢量

距离矢量

混合

链路状态

无类支持

  Vlsm支持

自动汇总

手动汇总

不连续子网支持

路由传播

周期性广播

周期性组播

触发式

触发式更新

度量值

跳数

跳数

带宽和延迟

带宽

跳数限制

 15

 15

最大255

汇聚

最快

分层网络

自制系统

分区域

更新

直接更新路由表

直接更新路由表

触发式更新

事件触发

路由计算

Bellman-ford

Bellman-ford

 Dual

 Dijkstra

管理距离表

路由器默认ad

连接接口             0

静态路由             1

eigrp                90

ospf                 110

rip            120

   未知             255