前言:
  现在很多大的企业网络规划时使用OSPF协议,不仅仅考虑网络设备的兼容,主要是OSPF确实比EIGRP有优势,特别是在网络整合方面,如:公司合并或收购其它公司时。至于OSPF与EIGRP的区别,在此不再赘述。很多人在学习OSPF的过程中编写了很多很好的学习笔记,但基本上都是书上的实验,不具有现实代表性。这里根据我的经验,总结一下关于OSPF配置方面的技术和工程实践经验。
   一、      OSPF技术简介
  OSPF 是典型的链路状态型路由协议。它使用COST(开销)作为度量,根据拓扑表通过SPF算法获得以自己为根的到达目标的最优路径。它使用三张表:邻居表,拓扑表,路由表,通过这3张表,每个路由器都能独立的获得前往每个目标的路径,而不象距离矢量协议那样依靠邻居来发现路由。确保了路由的真实可靠。下面是它的一些特点:
   1.OSPF路由更新过程
  1)运行OSPF的路由器从它所有启用了OSPF的接口向外发送Hello包。如果2台路由器共享某条数据链路,并能够使Hello包中所定义的某些参数协商成功,那么这2台路由器就可以成为邻居(Neighbor)
  2)邻接(Adjacency)可以想象成一条由邻居之间形成虚拟的点到点链路,每个路由器都发送链路状态宣告(link state advertisement,LSA)给它的邻居。LSA描述了所有的路由器的链路或接口信息和链路的状态信息。
  3)当路由器收到从邻居发来的LSA,就把这个LSA记录在自己的链路状态数据库里(link state database,LSDB),然后拷贝该LSA,继续发送给别的邻居。
  4)通过在整个区域洪泛(flood)LSA,所有的路由器将建立一致的LSDB ,当所有路由器的LSDB的信息同步完成以后,路由器就各自使用SPF(最短路径优先,Shortest Path First)算法计算到达目标地址的最短路径
  5)路由器根据SPF算法的结果构建自己的路由表 ,邻居之间交换的Hello包叫做keepalive,并且LSA每30分钟重传1次
2.相关类型汇总
  1)网络类型分为5种:
  点到点网络、广播型网络、NBMA网络、点到多点网络、虚链接(virtual link)
  2)区域类型
  主要有5种类型:标准区域、端(stub)区域、完成端化(totall stubby)区域、半端化(NSSA)区域、主干区域。
  3)类型有11种,主要有6种LSA
  1.类型1:Router LSA:
  ROUTER LSA描述了路由器物理接口所连接的链路或接口,指明了链路的状态,代价等。每个OSPF区域内的路由器均回产生第一类LSA.它让路由器彼此认识彼此的链路 接口等。只在产生的区域内泛洪。
  2.类型2:Network LSA:
  Network LSA是由DR始发的,它描述了OSPF区域中的路由器,只在产生的区域内泛洪。
  3.类型3:Network Summary LSA :
  Nnetwork summary LSA是由ABR发出的,它将某个区域的汇总告知其他区域,也就是通知其他区域路由器要到这些网络就找我。这里就有点距离矢量路由协议的味道,依靠下一跳路由器来路由。
  4.类型4:ASBR Summary LSA :
  ASBR Summary LSA ,它也是由ABR发出的,但是它却是告诉其他区域路由器到某个非OSPF AS外的网络要找通告里告诉的那个ASBR.可以理解为汇总是由ASBR产生但由ABR代为通告出去的。它是ASBR发出的特殊置E位的一类LSA,然后由ABR代为转成LSA4发出。
  5.类型5:AS External LSA :
  Autonomous system external LSA .,它是由ASBR产生的,用来通告自治系统外部的路由,它在整个OSPF自治系统内泛洪。所以管理员应该尽量在ASBR上进行路由汇总(summary-address 外部汇总网络号 汇总掩码)
  6.类型6:Group Membership LSA :
  7.类型7:NSSA External LSA :
  是指在非纯末梢区域内(not-so-stubby area)由ASBR发出的通告外部AS的LSA.仅仅在这个非纯末梢区域内泛洪。不能在整个自治系统内泛洪。NSSA网络中的ABR会将这个7类LSA转换为5类LSA告诉主干区域。
  8.类型8:External Attributes LSA
  9.类型9:Opaque LSA(link-local scope,本地链路范围)
  10.类型10:Opaque LSA(area-local scope,本地区域范围)
  11.类型11:Opaque LSA(AS scope,AS范围)
  使用命令show ip ospf database database-summary可以查看LSA的类型信息,以上有说明的类型为必需掌握的类型,不然是无法排错的。
 
区域类型1&23&457
骨干区域容许容许容许不存在
标准区域容许容许容许不存在
末节区域容许3容许/4不存在不容许不存在
绝对末节区域容许不容许*(只有0.0.0.0的默认汇总)不容许不存在
NSSA(次末节区域)容许3容许/4不存在不容许#容许
 
二、OSPF常用配置命令
  这里是配置OSPF常用的命令:
  Router ospf 600用进程ID 600启用OSPF
  network X.X.X.X 0.0.0.0 area 2 指定运行OSPF的接口和它们的区域
  area x range 192.168.X.0 255.255.255.0 归纳地址
  area X stub [no-summary] 将一个区域配置为一个端化区域或完全端化区域
  area x nssa将一个区域配置为一个半端化区域(NSSA)一般与ISP相连
  summary-address 172.16.0.0 255.255.0.0 将外部地址归纳发布到OSPF
  show ip ospf 显示有关OSPF路由进程的一般信息
  show ip ospf neighbor显示有关OSPF邻居信息
  show ip ospf database 显示OSPF链路状态数据库中的条目
  show ip ospf interface 显示有关一个接口的具体OSPF信息
  show ip ospf border-routers显示路由信息
  debug ip ospf adj 显示涉及建立或拆除一个OSPF毗邻关系的
  ip ospf authentication-key <password> 创建一个口令
  area <area-id> authentication 启用验证
   三、OSPF网络设计要点
  如果网络规模比较小,路由器和交换机只有几十台,建议使用EIGRP协议,如果网络规模较大,且远程站点较多,网络互连复杂,可以采用OSPF.毕竟OSPF对网络工程师的技术要求还是较高的。
  如果规划一个大的网络,类似于一个ISP,内部规划时最好选择OSPF.现在很多城域网络是OSPF的
  如果你总公司与子公司或两点间有多条线路,可以考虑使用OSPF进行负载平衡。
  每个区域的路由器不要太多,cisco建议不要超过50个,但我想最好不要超过30个,否则的话可以多划分一个区域。每个路由器的区域数不要超过3个。
  编写项目规划技术方案时,最好做一次模拟实施配置,这样你的方案更准确。