ospf(open shortest path first)协议即“开放最短路径优先协议”。它是一种基于链路状态的自治系统内部的动态路由协议,它通过路由器间交换链路状态信息来组成一个链路状态数据库,然后基于这个数据库用最短路径优先算法生成路由表。ospf协议支持ip子网、支持与其他路由协议的路由的引入、还支持基于接口的报文验证、接口链路开销的用户配置。

    ospf的配置命令:

1 default redistribute cost

     2 default redistribute interval

     3 default redistribute limit

     4 default redistribute tag

     5 default redistribute type

     6 ip opsf authentication

     7 ip ospf cost

     8 ip opsf dead-interval

     9 ip ospf enable area

     10 ip ospf hello-interval

     11 ip ospf neighbor

     12 ip ospf network-type

     13 ip ospf passive-interface

     14 ip ospf pollinterval

     15 ip ospf priority

     16 ip ospf retransmit-interval

     17 ip ospf transit-delay

     18 network

     19 preference

     20 redistribute ospfase

     21 router id

     22 router ospf

     23 stub cost

     24 virtuallink neighborid

     25 show ip ospf

     26 show ip ospfase

     27 show ip ospf cumulative

     28 show ip ospf database

     29 show ip ospf interface

     30 show ip ospf neighbor

     31 show ip ospf routing

     32 show ip ospf virtual-links

     33 show ip protocols

     34 debug ip ospf event

     35 debug ip ospf lsa

     36 debug ip ospf packet

     37 debug ip ospf spf

     4.2.3.1 default redistribute cost

     命令:default redistribute cost [cost]

     no default redistribute cost



    功能:配置ospf引入外部路由时缺省的花费值;本命令的no操作为恢复缺省值。

    参数:[cost]为花费值,取值范围1~65535。

    缺省情况:缺省设置引入的花费值为1。

    命令模式:ospf协议配置模式

    使用指南:ospf路由协议引入由其它路由协议发现的路由时,把这些路由信息作为自己的自治系统外部的路由信息。引入外部路由信息需要一些额外的参数,如:路由的缺省花费和缺省的标记等。本命令提供给用户可据实际情况设置合理的引入外部路由时缺省花费值。

    举例:设置ospf引入外部路由的缺省花费值为20。

router(config-router-ospf)#default redistribute cost 20

     4.2.3.2 default redistribute interval

     命令:default redistribute interval [time]

     no default redistribute interval



    功能:配置ospf引入外部路由的时间间隔;本命令的no操作为恢复缺省值。

    参数:[time]为引入外部路由的时间间隔,单位为秒,取值范围1~65535。

    缺省情况:ospf引入外部路由的时间间隔缺省为1秒。

    命令模式:ospf协议配置模式

    使用指南:ospf会定期的引入外部的路由信息,并将这些路由信息传播到整个自治系统中,本命令用于修改引入外部路由信息的时间间隔。

    举例:ospf引入外部路由的时间间隔为3秒。

router(config-router-ospf)#default redistribute interval 3

     4.2.3.3 default redistribute limit

     命令:default redistribute limit [routes]

     no default redistribute limit



    功能:配置ospf一次可引入外部路由的最大值;本命令的no操作为恢复缺省值。

    参数:[routes]为引入路由数量的最大值,取值范围1~65535。

    缺省情况:ospf引入外部路由数量的最大值缺省为100。

    命令模式:ospf协议配置模式

    使用指南:ospf定期引入外部的路由信息并将它们传播到整个自治系统中,本命令规定在一次能够引入的外部路由信息的最大条数。

    举例:设置ospf一次最多可引入110条外部路由。

router(config-router-ospf)#default redistribute limit 110

     4.2.3.4 default redistribute tag

     命令:default redistribute tag [tag]

     no default redistribute tag



    功能:配置引入外部路由时缺省的标记值;本命令的no操作为恢复缺省值。

    参数:[tag]为标记值,取值范围0~4294967295。

    缺省情况:缺省值为2147483648。

    命令模式:ospf协议配置模式

    使用指南:ospf路由协议引入由其它路由协议发现的路由时,把这些路由信息作为自己的自治系统外部的路由信息。引入外部路由信息需要一些额外的参数,如:路由的缺省花费和缺省的标记等。本命令为用户提供路由标记标识协议相关的信息。

4.2.3.5 default redistribute type

     命令:default redistribute type { 1 | 2 }

     no default redistribute type



    功能:配置引入外部路由时缺省的类型;本命令的no操作为恢复缺省值。

    参数:1 | 2分别表示第一类外部路由和第二类外部路由。

    缺省情况:系统缺省认为引入的外部路由为第二类外部路由。

    命令模式:ospf协议配置模式

    使用指南:ospf在协议中规定了两类外部路由信息的代价选择方式:第一类外部路由和第二类外部路由。第一类外部路由的代价=外部路由的通告代价+从某个路由器到通告路由器(as外部路由器)的代价。第二类外部路由的代价=外部路由的通告代价。第一类和第二类外部路由同时存在的时,第一类外部路由代价的优先级高。

 

4.2.3.6 ip ospf authentication

     命令:ip ospf authentication { simple [auth_key]| md5 [auth_key] [key_id]}

     no ip ospf authentication



    功能:指定接口上接受ospf报文所需要的验证方式;本命令的no操作为取消验证。

    参数:simple为简单验证方式;md5为md5加密验证方式;[auth_key] 验证密钥,为连续的字符串,简单验证方式下最大长度为8字节,md5 验证方式下最大长度为16字节;[key_id]为md5 验证方式时的验证字,取值范围1~255。

    缺省情况:接口上接受ospf报文缺省不需要验证。

    命令模式:接口配置模式

    使用指南:密钥的值将写入ospf报文中,为保证路由器与相邻路由器之间ospf报文的正常收发,必须在对端设置相同的密钥参数。

    举例:在ospf串口s1/0配置md5验证方式,验证密码为123abc。

router(config-serial2/0)#ip ospf authentication md5 123abc 1

     4.2.3.7 ip ospf cost

     命令:ip ospf cost [cost]

     no ip ospf cost



    功能:指定接口运行ospf协议所需的代价;本命令的no操作为恢复缺省值。

    参数:[cost ]为ospf协议所需花费的值,取值范围1~65535。

    缺省情况:接口缺省的ospf 协议所需花费的值为1。

    命令模式:接口配置模式

    举例:将串口s1/0的ospf路由代价配置成3。

router(config-serial2/0)#ip ospf cost 3

     4.2.3.8 ip ospf dead-interval

     命令:ip ospf dead-interval [time ]

     no ip ospf dead-interval



    功能:指定相邻路由器路由失效的时间长度;本命令的no操作为恢复缺省值。

    参数:[time ]为相邻路由器失效的时间长度,单位为秒,取值范围1~65535。

    缺省情况:广播类型网络和点对点类型网络,接口认为相邻路由器失效的时间长度缺省为40秒;非广播类型网络,相邻路由器失效时间间隔为120秒。

    命令模式:接口配置模式

    使用指南:当路由器在一定时间间隔内没有接收到来自邻居路由器的hello数据包,则认为该路由器不可达、失效,该时间间隔为dead-interval,本命令可以根据链路的实际情况修改相邻路由器路由失效时间的值。设置的dead-interval的值将写入hello报文中,并随hello报文传送。为使ospf协议的正常运行,必须保证和该接口相邻的路由器之间的dead-interval参数一致,且至少为hello-interval值的4倍。

  

相关命令:ip ospf hello-interval

     4.2.3.9 ip ospf enable area

     命令:ip ospf enable area [area_id]

     no ip ospf enable area



    功能:配置接口属于某个ospf区域;本命令的no操作为取消该配置。

    参数:[area_id]为该接口所属区域的区域号,取值范围0~4294967295。

    缺省情况:接口缺省没有被配置成属于某个区域。

    命令模式:接口配置模式

    使用指南:要在某一个接口上运行ospf协议,必须首先指定该接口属于一个区域。

    举例:将串口s1/0配置为属于1域。

   

router(config-serial2/0)#ip ospf enable area 1

     4.2.3.10 ip ospf hello-interval

     命令:ip ospf hello-interval [time]

     no ip ospf hello-interval



    功能:指定在接口上发送hello报文的时间间隔;本命令的no操作为恢复缺省值。

    参数:[time]为发送hello报文的时间间隔,单位为秒,取值范围1~255。

    缺省情况:广播类型和点对点类型网络,接口缺省发送hello报文的间隔时间为10秒;非广播类型网络,接口缺省发送hello报文的时间间隔为30秒。

    命令模式:接口配置模式

    使用指南:hello数据包是一种最常见的一种数据包,它周期性地被发送至邻接路由器,用于发现和维持邻接关系、选举dr与bdr。用户设置的hello-interval的值将写入hello报文中,并随hello报文传送。hello-interval的值越小,则网络拓扑结构的变化将被越快的发现,同时路由开销也增加。为使ospf协议的正常运行,必须保证和该接口相邻的路由器之间的hello-interval参数一致。

    相关命令:ip ospf dead-interval

4.2.3.11 ip ospf neighbor

     命令:ip ospf neighbor [ip-address] [eligible]

     no ip ospf neighbor



    功能:在非广播类型的网络中,为接口指定相邻路由器的ip地址;本命令的no操作为取消该项配置。

    参数:[ip-address]为相邻路由器的ip地址,点分十进制格式;eligible为设置该相邻路由器有选举权,缺省为有。

    缺省情况:系统缺省不为非广播网络指明相邻路由器的ip地址。

    命令模式:接口配置模式

    使用指南:对于非广播网络,如x.25和帧中继等不支持广播方式的网络上,由于无法通过广播hello报文的形式发现相邻路由器,必须手工为接口指定相邻路由器的ip地址,及该相邻路由器是否有选举权等。

  

4.2.3.12 ip ospf network-type

     命令:ip ospf network {broadcast | non-broadcast | point-to-point | point-to-multipoint [non-broadcast] }

     no ip ospf network-type



    功能:指定接口的ospf网络类型;本命令的no操作为恢复缺省配置。

    参数:broadcast为广播类型网络;non-broadcast为非广播类型网络;point-to-point 为点对点类型网络;point-to-multipoint [non-broadcast]为点到多点类型,点对多点类型又分有广播能力和无广播能力两种类型,可选关键字non-broadcast用于设定有广播能力的点到多点网络为非广播网络。

    缺省情况:依据不同的物理网络缺省设置不同。对于以太网络,缺省网络类型为broadcast;对于点到点网络(如ppp链路),缺省网络类型为为point-to-point;对于x.25、fr网络,缺省网络类型为non-broadcast。

    命令模式:接口配置模式

    使用指南:对于物理网络类型为非广播类型时,ospf网络类型可以设置为点对点或点对多点。若ospf网络类型的参数选择使用non-broadcast或point-to-multipoint参数,需要配合使用neighbor命令,才能使得路由器得到邻接路由器的链路状态信息。对于fr网络接口缺省的ospf网络类型为non-broadcast,但如果使用了inverse arp命令,则无需使用neighbor命令。

4.2.3.13 ip ospf passive-interface

     命令:ip ospf passive-interface

     no ip ospf passive-interface



    功能:将接口设置为只收不发ospf报文;本命令的no操作为取消该项配置。

    缺省情况:接口缺省状态是收发ospf报文。

    命令模式:接口配置模式

4.2.3.14 ip ospf pollinterval

     命令:ip ospf pollinterval [time]

     no ip ospf pollinterval



    功能:在非广播类型网络上配置发送轮询hello报文的时间间隔;本命令的no操作为恢复缺省值。

    参数:[time]为发送轮询hello报文的时间间隔,单位为秒,合法的范围是0~255。

    缺省情况:接口缺省发送轮询hello报文的时间间隔为120秒。

    命令模式:接口配置模式

    使用指南:在非广播网络中,当一台路由器的邻居路由器一直没有响应时(时间间隔超过了dead-interval),仍然有必要继续发送hello报文,但发送的频率要降低为以pollinterval的频率发送。所以pollinterval要远大于hello-interval的值,至少hello-interval的值为的3倍。

  

4.2.3.15 ip ospf priority

     命令:ip ospf priority [priority]

     no ip ospf priority



    功能:配置接口在选举“指定路由器”(dr)时的优先级;本命令的no操作为恢复缺省值。

    参数:[priority]为优先级,合法的取值范围是0~255。

    缺省情况:接口在选举路由器时缺省的优先级值为1。

    命令模式:接口配置模式

    使用指南:当连在同一网段的两台路由器都想成为“指定路由器”时,根据优先级的值来决定谁是“指定路由器”,通常选择优先级高的作为“指定路由器”;如果优先级值相等,则选router-id号大的。当一台路由器的优先级值为0时,这台路由器将不会被选举为“选举路由器”或“备份选举路由器”。只有在nbma网络上配置priority才会生效。

    举例:配置接口在选举指定路由器dr中的优先级。将串口s2/0配置成没有选举权利,即priority值为0。

router(config-serial2/0)#ip ospf priority 0

     4.2.3.16 ip ospf retransmit-interval

     命令:ip ospf retransmit-interval [time]

     no ip ospf retransmit-interval



    功能:指定接口与邻接路由器之间传送链路状态宣告(lsa)时的重传间隔;本命令的no操作为恢复缺省值。

    参数:[time]为与邻接路由器之间传送链路状态宣告时的重传间隔,单位为秒,取值范围1~65535。

    缺省情况:缺省重传间隔为5秒。

    命令模式:接口配置模式

    使用指南:当一台路由器向它的邻居传送链路状态宣告时,它将保持链路状态宣告直至收到对方的确认,若在时间间隔内没有收到确认报文,则路由器将重传链路状态宣告。重传间隔的值必须大于两台路由器传送报文一个来回的时间。

    举例:设置串口2/0重传lsa的时间为10秒。

router(config-serial2/0)#ip ospf retransmit 10

     4.2.3.17 ip ospf transit-delay

     命令:ip ospf transit-delay [time]

     no ip ospf transit-delay



    功能:设置在接口上传送链路状态宣告(lsa)的时延值;本命令的no操作为恢复缺省值。

    参数:[time]为接口上传送链路状态宣告的时延值,单位为秒,取值范围1~65535。

    缺省情况:接口上传送链路状态宣告的缺省时延值为1秒。

    命令模式:接口配置模式

    使用指南:链路状态宣告在本路由器中会随时间老化,但在网络传输过程中却不会,因此在发送链路状态宣告之前增加transit-delay的时延,使之能在老化之前将链路状态宣告发送出去。

    举例:设置串口2/0发送lsa的时延为2秒。

router(config-serial2/0)#ip ospf transit-delay 2



    4.2.3.18 network

   

命令:network [network] [mask] area [area_id] [ advertise | notadvertise ]

     no network [network] [mask] area [area_id]



    功能:为路由器的各个网络定义所属区域;本命令的no操作为删除该项配置。

    参数:[network]和[mask]为网络ip地址和地址通配符位,点分十进制格式;[area_id]为区域号,取值范围0~4294967295;advertise | notadvertise指定是否将到这一网络范围路由的摘要信息广播出去。

    缺省情况:系统缺省没有配置网络所属的区域;若配置了,则缺省认为是广播摘要信息。

    命令模式:ospf协议配置模式

    使用指南:一旦将某一网络的范围加入到区域中,所有该网络的内部路由都不再被独立地广播到别的区域,而只是广播整个网络范围路由的摘要信息。引入网络范围和对该范围的限定,可以减少区域间路由信息的交流量。

    在配置需要注意的是[mask]是通配符位,不是掩码。

    举例:定义网络范围10.0.0.0 255.255.255.0加入到区域1中。

    router(config-router-ospf)#network 10.1.1.1 0.0.0.255 area 1

    4.2.3.19 preference

命令:preference [ase] [preference ]

     no preference [ase]



    功能:配置ospf协议在各路由协议之间的优先级,以及引入的自治系统外部路由的优先级;本命令的no操作为恢复缺省值。

    参数:ase表示指定引入自治系统外部路由的优先级;[preference ]为优先级值,取值范围1~255。

    缺省情况:ospf协议的缺省优先级为10; 引入的外部路由协议的缺省优先级为150。

    命令模式:ospf协议配置模式

    使用指南:由于路由器上可能同时运行多个动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。所以为每一种路由协议指定了一个缺省的优先级,当不同协议发现同一条路由时,优先级高的协议将起决定作用。优先级更改后对新构造的路由开始有效。有ospf 的性质决定,ospf的优先级不宜过低。

    4.2.3.20 redistribute ospfase

命令:redistribute ospfase {connected | static | rip} [type { 1 | 2 }] [tag [tag]] [metric [cost_value]]

     no redistribute ospfase {connected | static | rip}



    功能:引入rip协议发现路由和静态路由作为外部路由信息;本命令的no操作为取消引入的外部路由信息。

    参数:connected表示引入直连路由作为外部路由信息;static表示引入静态路由作为外部路由信息;rip表示引入rip协议发现路由作为外部路由信息;type 指定外部路由类型,1 | 2 分别表示第一类外部路由和第二类外部路由;tag 指定路由的标记,[tag]为路由的标记值,取值范围为1~2147483648;metric指定路由的权值,[cost_value]为路由的权值,取值范围为1~16777215。

    缺省情况:ospf缺省不引入外部路由。

    命令模式:ospf协议配置模式

    使用指南:路由器上各动态路由协议之间是可以互相共享路由信息的,由于ospf的特性,其它的路由协议发现的路由总被当作自治系统外部的路由信息处理。

    举例:在ospf路由中引入rip路由作为第一类外部路由,引入标记值为3,引入代价为20。

    router(config-router-ospf)#redistribute ospfase rip type 1 tag 3 metric 20

    4.2.3.21 router id

    命令:router id [router_id]

    no router id

    功能:配置运行ospf协议路由器的id 号;本命令的no操作为取消路由器的id 号。

    参数:[router_id]为路由器id号,点分十进制格式。

    缺省情况:系统缺省为不配置路由器id号,协议运行时从各接口的ip地址中选其中一个地址作为路由器id号。

    命令模式:全局配置模式

    使用指南:ospf协议运行时把路由器的id号作为本路由器在自治系统中的唯一标识,通常选取路由器中运行ospf协议的某个接口的ip地址作为id号。若路由器所有接口上都没有配置ip地址时,必须使用本命令指定路由器的id号,否则ospf协议无法运行。路由器id号的变化在ospf重启后才起作用。

    举例:指定路由器的id号为10.1.120.1。

router(config)#router id 10.1.120.1

     4.2.3.22 router ospf

     命令:router ospf

     no router ospf



    功能:启动ospf协议的,开启后进入ospf模式;本命令的no操作为关闭ospf协议。

    缺省情况:系统缺省不运行ospf协议。

    命令模式:全局配置模式

    使用指南:使用本命令运行或终止ospf协议。有关ospf的配置,只有在系统运行了ospf后才能生效。

    4.2.3.23 stub cost

    命令:stub cost [cost] area [area_id ]

    no stub area [area_id ]

    功能:将一个区域定义成stub区域;本命令的no操作为取消该定义。

    参数:[cost]为stub区域缺省路由的花费值,取值范围1~65535;[area_id ]为stub区域的区域号,取值范围0~4294967295。

    缺省情况:系统缺省没有配置stub区域。

    命令模式:ospf协议配置模式

    使用指南:当一个区域只有一个出口点时(只与一个路由器相连),或不必为每个外部目的地选择出口点时,它就可以被配置成stub域。在stub区域中类型4lsa(asbr汇总lsa)和类型5lsa(as外部lsa)等两种lsa不允许泛滥进入/通过,可以节省该区域内部各路由器处理外部路由信息所花费的资源。

    举例:将1域配置成stub域,缺省路由的代价为60。

    router(config-router-ospf)#stub cost 60 area 1

    4.2.3.24 virtuallink neighborid

    命令:virtuallink neighborid [router_id] transitarea [area_id] [hellointerval [time]] [deadinterval [time]] [retransmit[time]] [transitdelay [time]]

    no virtuallink neighborid [router_id] transitarea [area_id]

    功能:创建并配置虚连接;本命令的no操作删除一条虚连接。

    参数:[router_id]为虚连接邻居的id,点分十进制格式;[area_id]为转换区域的区域号,取值范围0~4294967295;其余四项可选时间间隔配置参数同ospf接口配置模式下的命令。

    缺省情况:系统缺省没有配置虚连接。

    命令模式:ospf协议配置模式

    使用指南:引入虚连接的概念是为了实现或者增强骨干区域(area 0)的连通性。由于骨干区域必须在逻辑上保持连通,因此,如果出现在骨干区域上两个节点之间没有一条区域内部路由的情况,就应该在这两个节点之间穿过某一转换区域(transit area)建立虚连接。虚连接由对端路由器的id号来标识。为虚连接两端提供一条非骨干区域内部路由的区域称为转换区域,其区域号也必须在配置时指明。

    虚连接在穿过转换区域的路由计算出来后被激活,相当于在两个端点之间形成了一个点到点的连接,因此,在这个连接上,和物理接口一样可以配置接口的各个参数,如hello间隔等。

    举例:配置通过转换区域2到达11.1.1.1的虚连接。

    router(config-router-ospf)#virtuallink neighborid 11.1.1.1 transitarea 2

    4.2.3.25 show ip ospf

    命令:show ip ospf

    功能:显示ospf主要信息。

    缺省情况:不显示。

    命令模式:特权用户配置模式

    举例:

router#show ip ospf

     my router id is 11.11.4.1

     preference=10 ase perference=150

     export metric=1

     export tag=-2147483648

     area id 0

     interface count:1

     80times spf has been run for this area

     net range:

     lsrefreshtime is1800

     area id 1

     interface count:1

     41times spf has been run for this area

     net range:

     netid11.11.3.255 netaddress11.11.0.0 netmask255.255.252.0

     lsrefreshtime is1800


    
    
    4.2.3.26 show ip ospf ase

    命令:show ip ospf ase

    功能:显示ospf外部路由信息。

    缺省情况:不显示。

    命令模式:特权用户配置模式

    举例:

router#show ip ospf ase

     destination advrouter nexthop age seqnumber type cost

     10.1.1.125 11.11.1.2 11.1.1.2 3 300 2 20



    
    4.2.3.27 show ip ospf cumulative

    命令:show ip ospf cumulative

    功能:显示ospf 统计信息。

    缺省情况:不显示。

    命令模式:特权用户配置模式

    举例:

router#show ip ospf cumulative

     io cumulative

     type in out

     hello 1048 253

     dd 338 337

     ls req 62 219

     ls update 753 295

     ls ack 495 308

     ase count 0 checksum 0

     original lsa 340 ls_rtr 179 ls_net 1 ls_sum_net 160 ls_sum_asb 0 ls_ase 0

     received lsa 325

     areaid 0

     nbr count 1 interface count 1

     spf times 120

     db entry count 6

     ls_rtr 2 ls_net 2 ls_sum_net 3 ls_sum_asb 0 ls_ase 3

     areaid 1

     nbr count 2 interface count 1

     spf times 52

     db entry count 6

     ls_rtr 3 ls_net 3 ls_sum_net 1 ls_sum_asb 0 ls_ase 3

     as internal route 4 as external route 0

转载于:https://blog.51cto.com/peibaozhen/743334