知识1 OSPF概述
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

   开放式最短路径优先协议(Open Shortest Path FirstOSPF)是基于开放标准的发链路状态路由选择协议

 

1.OSPF是内部网关路由协议

 

内部网关路由协议(IGP):用于在单一自治系统(Autonomous System-AS)内决策路由

 

自制系统(AS):执行统一路由策略的一组网络设备的组合

 

2.OSPF区域
  
为了适应大型的网络,OSPFAS内划分多个区域;一定要划分区域0(骨干区域),其他区域必须和区域0相连。

 

每个OSPF路由器只维护所在区域的完整的链路状态信息

 

3.链路状态路由协议

 

OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息

 

链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构

 

知识2 Router ID

 

Router ID 是在OSPF区域内唯一标识一台路由器的IP地址。

 

Router ID选取规则

§   首先,路由器选取它所有loopback接口上数值最高的IP地址

 

§   如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址
Router ID 不具备强占性,Router ID 只要选定就不会改变,即使是物理接口关闭,Router ID 也不会变,除非重启路由器或进程。

 

知识3 OSPF的工作过程
邻居列表

        列出每台路由器全部已经建立邻接关系的邻居路由器

链路状态数据库(LSDB

        列出网络中其他路由器的信息,由此显示了全网的网络拓扑

路由表

        列出通过SPF算法计算出的到达每个相连网络的最佳路径

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

知识4 OSPF邻接关系

   

邻接关系的建立过程

 

 

建立邻接关系的条件

 

1Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网

2、验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居

3Hello IntervalDead Interval OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。

4stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居

 

知识5 OSPF的网络接口类型

 

   路由器接口类型不同,在建立邻接关系的时候,OSPF路由器执行的操作也略有不同,所以定义了4种类型,如下

 

  

 

知识6 OSPF多址网络中的DR与BDR   
  
一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系

广播多址型网络选DRBDR2-way阶段,他们不具备强占性,要想成为DR必须先成为BDR

 

           
 

 
DRBDR的选举

 

通过Hello报文选择DRBDR来代表OSPF网段

通过组播发送Hello报文

具有最高OSPF优先级的路由器会被选为DR

如果OSPF优先级相同,则具有最高Router ID的路由器会被选为DR

其他的路由器(DRothers)只和DRBDR路由器之间形成邻接关系

 

每台路由器的每一个多点访问的接口都有一个路由器的优先级(Router Priosrity),用一个8位的无符号整数来表示,范围是0255,数值越大,优先级越高,默认优先级是1,可以通过命令ip ospf priority来更改,具有0优先级的路由器不能成为DRBDR

 

知识7 OSPF包类型
 

 

1.HELLO协议:

 

当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello

 

Hello包通过组播地址224.0.0.5发送

 

OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失

 

在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30

 

2.Hello报文用于发现和维护邻居关系,并保证邻居间的双向通信。不同类型的网络种,Hello协议的工作方式如下:
     
      多址网络:周期性的组播Hello包,允许邻居的动发现,尝试进行指定路由器DR/备份路由器BDR的选举。

 

      点到多点型网络:发送Hello包给于直连的能通信的全部路由器。

 

          DBDLSR报文用于建立邻接关系。
          LSULSAck报文用于实现OSPF可靠的更新机制。

 

知识8 OSPF的路由传播
   
整个OSPF的拓扑图可以描绘成一组互联的路由器或一组互联的节点。为了使这些节点能够在这些逻辑的拓扑上完全的进行路由选择,每一个节点都必须拥有一个关于这个拓扑结构的相同的拓扑图,这个拓扑图就是拓扑数据库,也叫链路状态数据库。这个数据库由路由器可以接收到的所有LSA组成。在拓扑图中发生的一个变化将可以表示为一条或多条LSA的变化。
泛洪(Flooding)过程就是将这些变化或更新的LSA发送到整个网络中去,以保证每一个节点的数据库都可以更新。
泛洪过程将会使用到下面两种类型的OSPF报文
    链路状态更新报文(Link State Updatapackets,类型4
    链路状态确认报文(Link State Acknowledgmentpackets,类型5

 

在点到点网络中,路由器以组播的方式将更新报文发送到组播地址(224.0.0.5)。在点到多点网络上,路由器是以单播方式将更新报文发送到邻接邻居的接口地址的。

 

在广播型的网络上,DRouthers路由器只能和DR与BDR路由器形成邻接关系,因此更新报文将发送到组播地址(224...6),相应,DR路由器也将以组播的方式发送包含LSA的更新包问道网络上与之建立邻接关系的路由器。接着,所有的路由器将从他们所有其他的接口上泛洪LSA通告。

 

知识9: OSPF 度量值

 

OSPF用来度量路径优劣的度量值称为Cost(代价),是指从该接口发送出去的数据报的出站口代价。并用16位无符号的整数表示,范围在1--65535之间。默认代价是 ,表示一个整数,BW是指再接口上配置的带宽,而 Cisco路由器使用的参考带宽。
接口的代价值可以通过命令 ip ospf Cost 来改变

 

知识10 OSPF路由协议的应用环境

 

1.OSPF的使用地方

 

    网络的规模 :网络中的路由器在10台以上;中等或大规模的网络

 

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

 

其它特殊的需求 :要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低

 

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

 

2.OSPF的特点
 
       可适应大规模网络

 

路由变化收敛速度快

 

无路由环

 

支持变长子网掩码VLSM

 

支持区域划分

 

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

 

  3.OSPFRIP的比较

 

       

 

 
知识11 OSPF单区域介绍

 

1.区域ID
 
  是通过一个32为的区域ID(Aera ID)来标识的。
 
2.相连的路由器接口
 
     指的是连接到区域的路由器的接口。一个路由器的接口属于且仅属于一个区域。
 
3.路由器链路状态通告列表
 
     区域内的每台路由器产生的链路状态通告,他描述了连接到区域的路由器接口的状态。
 
4.网络链路状态通告列表
 
     DR/BDR产生的链路状态通告。用于描述链接到该区域的路由器。
 
5.汇总链路状态通告列表
 
     ABR发起的链路状态通告。用于描述区域间的或者达到AS外部的路径信息
 
6.最短路径树
 
     每台路由器都会以自身作为树的根利用SPF算法来计算到达目的网络的最短路劲。
 

 

 知识12:配置命令

 

v     配置loopback接口地址

Router(config)# interface loopback 0

Router(config-if)# ip address IP地址掩码

 

v     启动OSPF路由进程

Router(config)# router ospf 进程号

 

v     指定OSPF协议运行的接口和所在的区域

Router(config-router)# network 网络号反向掩码  area  区域号
 

v     修改接口的Cost

    Router(config-if)#ip ospf cost number

 

例如:

    Router(config)#interface s0

    Router(config-if)#ip ospf cost 1000
 

v     配置OSPF计时器

 Router(config-if)#ip ospf hello-interval 时间(s)

 Router(config-if)#ip ospf dead-interval 时间(s)

 

例如:

    Router(config)#interface e0

    Router(config-if)#ip ospf hello-interval 5

    Router(config-if)#ip ospf dead-interval 20
 
v     查看邻居列表

Router#show ip ospf neighbor
 

v     查看链路状态数据库

Router#show ip ospf database
 

v     查看路由表

Router#show ip route
 

 查看OSPF的配置
Router#show ip ospf
 

v     查看OSPF接口数据结构

Router#show ip ospf interface 接口