知识1OSPF概述
 
   开放式最短路径优先协议(Open Shortest Path FirstOSPF)是基于开放标准的发链路状态路由选择协议
 
1.OSPF是内部网关路由协议
 
内部网关路由协议(IGP):用于在单一自治系统(Autonomous System-AS)内决策路由
 
自制系统(AS):执行统一路由策略的一组网络设备的组合
 
2.OSPF区域
  
为了适应大型的网络,OSPFAS内划分多个区域;一定要划分区域0(骨干区域),其他区域必须和区域0相连。
 
每个OSPF路由器只维护所在区域的完整的链路状态信息
 
3.链路状态路由协议
 
OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息
 
链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构
 
知识2Router ID
 
Router ID 是在OSPF区域内唯一标识一台路由器的IP地址。
 
Router ID选取规则
§  首先,路由器选取它所有loopback接口上数值最高的IP地址
 
§  如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址
Router ID 不具备强占性,Router ID 只要选定就不会改变,即使是物理接口关闭,Router ID 也不会变,除非重启路由器或进程。
 
知识3OSPF的工作过程
邻居列表
        列出每台路由器全部已经建立邻接关系的邻居路由器
链路状态数据库(LSDB
        列出网络中其他路由器的信息,由此显示了全网的网络拓扑
路由表
        列出通过SPF算法计算出的到达每个相连网络的最佳路径
 
 
知识4OSPF邻接关系
   
邻接关系的建立过程
 
 
建立邻接关系的条件
 
1Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网
2、验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居
3Hello IntervalDead Interval OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。
4stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居
 
知识5OSPF的网络接口类型
 
   路由器接口类型不同,在建立邻接关系的时候,OSPF路由器执行的操作也略有不同,所以定义了4种类型,如下
 
  
 
知识6OSPF多址网络中的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
 
知识7OSPF包类型
 
 
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可靠的更新机制。
 
知识8OSPF的路由传播
   
整个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 来改变
 
知识10OSPF路由协议的应用环境
 
1.OSPF的使用地方
 
    网络的规模 :网络中的路由器在10台以上;中等或大规模的网络
 
网络的拓扑结构 :网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求
 
其它特殊的需求 :要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低
 
对路由器自身的要求 :运行OSPF协议时,对路由器的CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议
 
2.OSPF的特点
 
       可适应大规模网络
 
路由变化收敛速度快
 
无路由环
 
支持变长子网掩码VLSM
 
支持区域划分
 
支持以组播地址发送协议报
 
  3.OSPFRIP的比较
 
      
 
 
知识11OSPF单区域介绍
 
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 接口