我想介绍OSPF<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

我认为我们第一个重点研究对象就是OSPF。我们应该研究OSPF的哪些方向呢?第一,OSPF的应用场景,根据尽可能多的情况,来总结OSPF的应用场景。第二个,OPSF的具体实施。我们知道OSPF应用在哪里了,但必须知道怎么实施它。不管是什么样的技术,把它给用出来了是很好的结果,但是没有谁能保证网络不会在OSPF上出问题。所以呢,我觉得OSPF出现问题影响到网络的运行,我们应该怎么来排错和解决问题。

         为了排错,为了解决与OSPF相关的网络问题,我们就必须研究OSPF的相关细节。据我所知,OSPF应该有以下几大点,需要我们去细细的讨论。第一,OSPF分组细节,第二,OSPF LSA细节,第三,OSPF 区域,第四,OSPF 介质类型,第五,OSPF 运行从开始到最后生成路由表的各大状态。以上五点是OSPF的重点主题。只有细细的品味了上述5点的细节,我们才能更高效、更正确的解决网络中出现的与OSPF相关的问题。

          我简单的描述下上述五点。OSPF分为HELLO包,DBD包,LSU(LSA)包,LSR包,LSACK包等五种。HELLO包主要就是用来在OSPF中建立邻居关系的,在广播环境中还用于选举DRBDRDBD叫做数据库描述包,大多用于数据库交换期间,为了向邻居描述本路由器所有的链路及接口状态信息。另外,DBD还控制主从路由器的选举。LSR即链路状态请求分组,主要是用来在DBD交换完后,请求在DBD中看到的LSA,以及在某些路由数据库丢失或者过时的情况下,取回那些已经丢失的数据库信息的精确部分。LSA则响应LSR的请求。LSACK则确认收到的LSA

           OSPF LSA总共有11种类型。我们研究的只有123457等这六种LSALSA即链路状态通告。LSA1就是路由器LSA,它主要是在本地区域内洪范,向本区域描述路由器的接口及链路状态信息。LSA2就是辅助LSA1的,它主要是由DR产生,描述广播网络中路由器的数目,它并不是一定存在的。DR叫做指定路由器,BDR叫做备份指定路由器。LSA3又叫做网络LSA,它主要是由ABR产生的,负责对每个区域的网络进行汇总通告,然后通过骨干区域传递到OSPF网络中的各个区域。LSA4也是辅助型的,它是描述ASBR的可达性的。LSA5是用来向OSPF自治系统内通告外部路由,其由ASBR产生。LSA7则在NSSA区域中产生,是通过NSSA中的重发布向NSSA区域通告外部路由,此LSA7不会传到其它区域中。当其它区域需要此LSA7中的外部路由时,LSA7则会转化成LSA5通告出去,传遍整个OSPF网络。ABR叫做区域间路由器。ASBR叫做自治系统间路由器。

       OSPF区域又有4种,存根区域,完全存根区域,NSSA和完全NSSA等四种区域。存根区域阻挡LSA5的进入,完全存根区域则阻挡LSA5LSA3的进入。NSSA即半存根区域,在此区域中可以进行重发布,当然也阻挡LSA5的进入。NSSA不会自动产生缺省路由,需要人为配置。这些区域一般都不会用,当有特殊需求的时候才会实施。至于在什么样的需求才用,则留待下次讨论。

        OSPF介质类型,总结归纳就只有2种,点对点,和点对多点。在点对点中,就只有专线。在点对多点,又可以分为以太网和FR。以太网又属于广播型多路访问的介质类型,而FR则属于非广播型多路访问。在FR上运行OSPF则会产生一系列的问题。最好的解决办法是直接配置点对点子接口。在这当中,又有2个问题。会产生什么问题?还有些什么样的办法?这也留待下次研究和讨论。希望看过此文章的人能提出这2个问题的看法。

        OSPF最开始应该是关闭状态,然后到INIT状态,即初始化状态。慢慢的到2-WAY状态,达到OSPF中路由器成为邻居的状态。要交换路由信息,还必须先成为邻接关系。在广播型的网络中,还有DRBDR的选举,此过程是在2-WAY状态中进行的。然后接下来的是OSPF Exstart 准启动状态,此状态是用来进行数据库同步处理的初始化过程的。主从路由器的选举也在此状态中进行。再接下来就是OSPF Exchange 准交换状态,进行链路状态数据库信息的描述。再接着就是OSPF loading状态,即装入状态。用LSR请求分组,请求看到的LSA,再把LSA放入到自身的数据库中,作为计算最佳路由的原材料。最后的状态就是FULL状态了。意思就是整个OSPF网络的所有路由器,已经都产生了最佳的路由表,可以进行数据的转发了。

         以上所述,不是很详细。我只是阐述大的框架,细节的学习需要我们平时的积累。希望大家一起努力吧。我一直最喜欢的就是系统性、框架性、层次化、模块化的学习了。