论述脱氮除磷的新技术:超详细破析OSPF路由协议(2)

来源:百度文库 编辑:中财网 时间:2024/04/30 03:50:04

超详细破析OSPF路由协议(2)

8.13.1 IP Packet Head

                 IP报头可以看出协议号为89,TTL=1即OSPF packet转发不会超过1跳,一些路由器可以设置Precedence bit来运行一些具有优先次序的报文处理,包括WFQ—加权公平队列 或者 WRED--加权随机预先检测序列

 

8.13.2 OSPF Packet

         OSPF packet的头部长度为24字节

 

Version: 当前最新为版本2

 Type: 类型1为Hello包; 类型2为数据库描述包(DDP); 类型3为链路状态请求包(LSR); 类型4为链路状态更新包(LSU); 类型5为链路状态确认包(LSAck)

Area ID: 区域ID,如果是虚链接,区域ID为0.0.0.0(即Backbone Area的区域ID),因为虚链接被认识是骨干区域的1部分

AuType: 认证类型 0为null,即没有认证; 1为简单口令验证(即明文); 2为MD5加密验证

8.13.3 Hello Packet

Network Mask: 发送这个Hello包的接口的掩码,如果收到这个Hello包的接口的掩码和它不能精确匹配,这个Hello包将被丢弃

Router Dead Interval: 始发路由器在宣告邻居路由器无效前,将要等待的从邻居路由器发出的Hello包的时长

 

Router Priority:优先级,参与DR/BDR选举之用,默认为1, 如果为0的话将不能被选举为DR/BDR

DR/BDR: DR/BDR的接口的IP地址(而非DR/BDR的RID).在选举DR/BDR的过程中,这个DR/BDR字段的值并不一定就是最终选举出来的DR/BDR的值.如果没有DR/BDR(未选举或者是不需要DR/BDR的网络类型),该字段的值就为0.0.0.0

Neighbor: 是一个循环重复字段,列出了始发路由器在过去的一个RDI时间内受到的有 效Hello包的网络上的所有neighbor

8.13.4 DDP(Database Description Packets)

Interface MTU: 在报文不分段的情况喜爱,始发路由器接口可以发送的最大IP报文大小。 在虚链接上这个字段的值设置为0x0000

I: Initial bit,初始化位.最初的DDP把该位设置为1,后续的设置为0

M: More bit,后续位,当DDP不是这一系列的DDP中最后一个DDP的时候,该位设置为1

MS: Master/Slave bit.主/从位.Master为1,Slave设置为0

 

8.13.5 Link State Request Packet

 

Link State Type:
用来表明LSA的类型
Link State ID:
是LSA头部中和类型无关的字段
Advertising Router:
宣告这条LSA的路由器的RID

8.13.6 Link State Update Packet

 

8.13.7 Link State Ack Packet

 

8.14 OSPF LSA格式

                 8.14.1 LSA packet head:

 

8.14.2 Router LSA

 

 

8.14.3 Network LSA

 

Show ip ospf database network

8.14.4 Network Summary and ASBR Summary LSA

 

8.14.5 AS External LSA

 

8.14.6 NSSA External LSA

 

8.14.7 The Options Field

 

 

8.15 OSPF配置及命令汇总

8.15.1 OSPF Process Configuration Commands Router ospf process-id : *process-id 1~65535 *no router ospf process-id 删除进程

启动OSPF进程,并分配RID。RID除非进程重新启动或者RID使用的接口状态是不活动的,否则不会改变RID,配置OSPF前,检查loopback口是否配置ip addr。Loopback不是强制的,但可以稳定OSPF进程 Route ospf process-id vrf name: *process-id 1~65535 *name: 一个VPN路由选择转发表实例的名称。通过OSPF进程学到路由将替代全球的ip路由选择表被注入vrf的路由选择表

 

在MPLS-VPN环境下,此命令用于在ISP和VPN用户间传送VPN用户的路由

P :ISP提供商 CE:用户边缘路由器 PE:提供商边缘路由

8.15.2 OSPF Area Commands

 

 

 

 

Area area-id nssa 在一个stub区域或者完全stub区域,stub区域的ABR会阻止OSPF外部路由(LSA5)在stub区域内广播。故ASBR将不会成为stub区域的一部分。NSSA区域中,允许路由器作为ASBR redistribution,被配置为NSSA区域的ASBR将产生7类路由

 

 

Area area-id nssa default-information-originate

                 OSPF ABR或者ASBR中产生一个能够进入NSSA区域的OSPF NSSA 外部类型2的缺省路由,在ABR上无须定义。在ASBR上配置该命令,则需要配置缺省路由。在B上配置后,C会产生一条O*N2的路由指向B

 

注意:此条命令仅用在NSSA ABR 或者ASBR上

Area area-id nssa no-redistribution

 在下图中,EIGRP的信息将从ABR上redistribution进入到NSSA区域,故可以采用此条命令,防止NSSA产生由EIGRP产生的外部路由

 

 

注意:此条命令仅用在ASBR上,其它NSSA每台路由器只需 area x nssa

Area area-id nssa no-summary

                该命令用于在OSPF ABR,阻止OSPF区域间路由进入NSSA区域,该命令同时产生一条道路一个OSPF区域间的缺省路由

 

注意:no-summary仅用在NSSA ABR上

Area area-id range ip-addr mask [advertise | not-advertise]

OSPF可以会聚从骨干网或者区域0到非0 OSPF区域的OSPF路由,或者从非0区

域到骨干网的OSPF路由。 OSPF路由汇聚只能在ABR上发生,ABR应是一个在区域0,并且在非0区域有接口的路由器。默认情况下 advertise是打开的, not-advertise用于抑制ABR广播默认路由

 

注意: 1。 如果其中156.26.32.0/28 down了以后,

                     IOS将自动为这条中断链路创建一条默认路由 ip route 156.26.32.0 255.255.255.192 Null0

             2。Area x range 仅用在OSPF ABR上

Area area-id stub

域配置成为stub区域后,ABR将产生一条默认路由,通告到整个stub区域,域间路由能通过但 5类的外部路由不能进入

                      

注意: Stub区域不能作为virtual-link的穿透区域, Stub区域内的每台路由器都应配置stub area

Area area-id stub no-summary

            将区域配置为完全stub区域后, 将会阻止区域间路由和外部路由通过

 

No-summary仅用在ABR上,ASBR不能成为完全末节的一部分。不能作为virtual-link的穿透区域

Area transit-area-id virtual-link router-id

              所有非0 OSPF区域必须具有到骨干或者区域0的连接,虚拟链路用于修复被分割的区域,但传送区域不能为stub区域。

 

 

 

 

Area transit-area-id virtual-link router-id authentication-key password

如上例,在Vlink上不使用认证是不安全的,故可以在v-link链路上使用认证。

 

Area transit-area-id virtual-link router-id [dead-interval | hello-interval | retransmit-interval | transmit-delay]

 

Area transit-area-id virtual-link router-id message-digiest-key key-id md5 password

 

8.15.3 OSPF reference-bandwidth

               Auto-cost reference-bandwidth bandwidth

 

8.15.4 Default Route Generation

        Default-information originate [always | metric | Metric-type]

        在区域内产生默认路由,并广播到区域内,此命令用于ASBR。

 

 

Default-information originate route-map route-map-name

Router B:

default-information originate route-map exist

access-list 1 permit 3.3.3.0 0.0.0.3

route-map exist permit 10

match ip address 1

 

 

超详细破析OSPF路由协议(3) 来源:作者: 发布时间:2008-07-18 阅读次数498

8.15.5 Setting the Default Metric for Redistributed Protocols

               Default-metric cost

                          对于重分布到OSPF的路由,如果没有使用redistribute命令分配一个度量,那么可以使用该命令分配一个成本,但使用此命令不会影响已由redistribute分配一个度量的路由,默认的redistribute-cost BGP的缺省度量是1,其他协议是20在路由进程中,使用Default-metric cost 可以更改

8.15.6 Administrative Distance

         Distance administrative-distance

                       用于修改本地路由选择表中所有OSPF路由的管理距离,默认管理距离如下

                                connected— 0         static— 1    EBGP— 20       EIGRP— 90    IGRP— 100

                                OSPF— 110             IS-IS— 115  RIP— 120      IBGP— 200

      Distance administrative-distance source-ip-address source-ip-mask access-list-number

             用于修改特定来源的特定路由条目的管理距离,其中source-ip-address对于OSPF来说是源路由器的router-id,Mask是原地址的ip掩码,用反掩码表示

            例如 R1 的R-ID为1.1.1.1 则 distance 99 1.1.1.1 0.0.0.0 是修改来自1.1.1.1的管理距离, 若子网掩码为0.0.0.255则指来自1.1.1.0/24的所有路由器的管理距离。同时可以可以使用access-list 对特定的路由条目进行处理

 

8.15.7 Filtering Routes with Distribute Lists

         Distribute-list access-list-number in

        用于阻止从OSPF学到的路由条目放置到IP路由选择表 如图所示,将A上过滤掉2.2.2.0 和 3.3.3.0

 

distribute-list 1 in

!

access-list 1 deny 2.2.2.0 0.0.0.255

access-list 1 deny 3.3.3.0 0.0.0.255

access-list 1 permit any

          Distribute-list access-list-number in interfacetype interface-number

                  用于阻止从特定接口学到的OSPF路由被放置到ip路由选择表中。

 

 

Distribute-list access-list-number out [interfacetype interface-number | routing-process]

 

          对于距离矢量协议(RIP IGRP EIGRP),该命令阻止被访问列表选定的路由广播到邻居处,OSPF不会把路由广播到邻居,但会广播LSDB,因此该命令在OSPF一起使用是无效的。如果加入参数 routing-process 可以过滤相应的距离矢量路由协议重分布进OSPF的路由表项

                        distribute-list 1 out eigrp 1

                        !

                       access-list 1 permit 4.4.4.0 0.0.0.255

        Distribute-list access-list-name in

                 用于阻止从OSPF学到的路由条目放置到IP路由选择表

 

如图所示,将A上过滤掉2.2.2.0 和 3.3.3.0

 

Distribute-list access-list-name in interfacetype interface-number

         用于阻止从特定接口学到的OSPF路由被放置到ip路由选择表中。

 

 

Distribute-list access-list-number out [interfacetype interface-number | routing-process]

           对于距离矢量协议(RIP IGRP EIGRP),该命令阻止被访问列表选定的路由广播到邻居处,OSPF不会把路由广播到邻居,但会广播LSDB,因此该命令在OSPF一起使用是无效的。如果加入参数 routing-process 可以过滤相应的距离矢量路由协议重分布进OSPF的路由表项

 

 

Distribute-list prefix prefix-name [in | out] {interface-type interface-number | routing-process}

         如上3例使用prefix的配置如下

 

 

8.15.8 Handling of MOSPF LSAs

       Ignore lsa mospf

                   Cisco不支持MOSPF路由,缺省情况下会接受Type6-LSA,路由器不支持,但会产生syslog, 此命令可以阻止syslog产生

8.15.9 Logging OSPF Neighbor Changes

                          g-adjacency-changes {detail}

 

8.15.10 Multiple Path Configuration

          Maximum-paths number-of-paths

                    默认是4条路径的负载均衡,可以自行设置负载均衡链路条路 参数范围1 ~ 6

8.15.11 OSPF neighbor Commands

          Neighbor ip-address

                 OSPF对待NBMA网络和其他任何广播网络一样,OSPF认为这类网络具有广播特性,但必须使用neighbor命令建立一个OSPF邻居。在引入ip ospf network 接口命令前,使用neighbor 配置OSPF邻居

 

 

           由于帧中继交换机是全互连的,路由器通过反向ARP获得所有特定接口的DLCI,关闭路由器A,B的反向ARP,并把适当IP映射到相应的DLCI。

 

 

但一方加入neighbor,邻居关系即将建立,并选举出DR。

//OSPF neighbor只需配置一端

 

 

Neighbor ip-address cost cost

          帧中继接口在OSPF下Cost为48,Neighbor cost命令仅用于点到多点的网络  

          可以在接口上使用 ip ospf network point-to-multipoint更改接口网络类型

                                 Neighbor 10.1.1.1 cost 10

Neighbor ip-address database-filter all out

           此命令为了防止LSA泛洪到指定的邻居。 许多ISP在OSPF邻居间使用冗余电路,当一个OSPF路由器收到一个LSA,则LSA在所有的OSPF接口上泛洪,除了收到LSA的接口。 可以使用该命令阻止其中一个邻接LSA的扩散

 

                                                  注意: 该命令仅用于 p-to-mp 或者NBMA类型接口 如果OSPF邻居具有全连接,那么database-filter all out应该有效

Neighbor ip-address poll-interval interval

            如果在终止间隔内没有从邻居处收到hello packet,那么这个邻居是被宣告down的,当down后,hello包会以论询间隔指定的速率发送到这个邻居,但这个选项不能用于p-to-mp接口上.仅在NBMA网络使用.

router ospf 1

network 1.1.1.1 0.0.0.0 area 1

 

Neighbor ip-address priority priority

              设置邻居的priority 用于影响DR选举,默认priority为10 不参与选择

 

8.15.12 OSPF network Command

                  network ip-address wild-card-mask area area-id

             用于通告和定义OSPF的区域,其中要使用wild-card-mask Area-id 可以使用 点分10进制的形式

8.15.13 Passive OSPF Interfaces

             passive-interface interface-name interface-number

              使用被动接口减少协议流量,由于OSPF有hello机制,相对于RIP,OSPF端口passive以后,邻居关系立即断开,而Rip还可以接受路由更新信息

 

 

 

8.15.14 Route Redistribution

               redistribute routing-process process-id [tag|metric|metic-type|subnets|route-map]

 

*routing-process:                           BGP EGP Connected EIGRP IGRP ISIS ISO-IGRP Mobile ODR OSPF

                                                            RIP and Static

*ospf-metric:                                      BGP缺省重分布度量 1 其他协议为20

*tag-value:                                           附加到重分布路由的一个32位的值,OSPF没有使用路由标记,

                                                               可以在用于指定策略的路由映射中引用,缺省标记为0

 

 

利用route-map控制重分布,并修改metric值,并做标记

 

 

如上图,基于标签来控制路由的重分布

 

8.15.15 Controlling the OSPF Router ID

                  Router-id ip-address

                                    手工指定路由器的router-id,建议配置时手工设置,以增加RID的稳定性。CCIE试验时,手工设置一次,避免扣分 另ipv6环境的RID,仍然是现有的ipv4表示方法,但必须手工设置一次

8.15.16 Summarizing External Routes

                  Summary-address ip-address [advertise | not-advertise]

                                   汇聚路由可以应用到从动态路由选择协议,静态路由和连接路由再次分布的路由上。 只可用在ASBR和ABR上默认参数为advertise not-advertise关键词阻止汇聚路由被ABR,ASBR广播

 

 

Summary-address ip-address tag

           用于对汇总路由标记,如下例在OSPF重分布到RIP时,对特定标记的路由进行重分布

 

 

8.15.17 OSPF Timers

          timers lsa-group-pacing seconds

                  用于LSA更新,以前仅一个计时器,每30min,路由器会检查整个LSDB并更新每个LSA。但这样将会导致路由器CPU周期性的高负载及周期性的高网络使用率。LSA-group-pacing就是用于解决这个问题的,路由器将LSA分组并指定更新 校验 老化功能的步调。对于一个快速路由器和一个慢速路由器点对点连接以及几个邻居同时向一个路由器发送分组的情况,为了增加效率和减少重传几率可以适当的增加time, 默认时间为33ms

 

Timers spf delay interval

            用于修改SPF计算的延迟和间隔,默认时间为 5s/10s

traffic-share min across-interfaces

          用于和IGRP EIGP一起是用来支持非等价负载均衡,该命令作为OSPF下一个选项出现, 但不应用到OSPF中

8.15.18 Interface Configuration Commands

        ip ospf authentication

             在IOS12.0以前,如果对OSPF一个区域进行认证,该区域的所有接口将配置相同的认证。 该命令允许在接口认证上与区域使用的认证类型不同

 

 

ip ospf cost

              修改接口的OSPF成本值,但建议使用autocost reference-bandwidth来修改参考值

ip ospf database-filter all out

              用来阻止接口上的LSA扩散。许多ISP在OSPF邻居将使用冗余的链路。可以使ISP在频繁扩散和可靠扩散间进行选择。

 

ip ospf hello/dead-interval

                      llo/失效计时器,默认为hello-interval的4倍。即邻居down了以后,发送4次hello packet 无应答,则宣告邻居失效,注意:设置时间总应大于hello-interval

1.如果链路上两端hello/dead interval不匹配,邻居关系无法建立

 2.如果dead < hello ,邻居关系会反复震荡

ip ospf demand-circuit

             对于某些按流量或者时间收费的线路,此命令允许在拓扑相对稳定的情况下,定期禁用hello消息,LSA的定期更新也不会传至该接口,关闭底层的数据链路层。从而减少流量和使用时间

ip ospf mtu-ignore

           如果相邻的OSPF路由器的MTU单元不匹配,将无法形成邻接关系,此命令忽略mtu影响 例如Cisco Catalyst 3550的3层口和路由器直连时,如果该口不是SVI,则连接路由器运行OSPF 将会发生邻接关系震荡, 此bug则是MTU不匹配造成的.

ip ospf network

             OSPF网络分以下3种形式:

1. A broadcast multi-access network 所有该网络相关的路由器都可以与其他所有路由器直连通信,例如以太网 FDDI tokenring

2. A point-to-point network 这种网络只有2台路由器,如HDLC PPP

3. NBMA 例如FR x.25等,所有的路由器都可能与其他有连接,其实质是逻辑上的点到点连接

 

Broadcast

             如右图,对于FR线路将网络类型改为broadcast后,将建立邻居关系,并选举DR/BDR。

 

non-Broadcast 

           OSPF通过多点传送发送Hello包及其他协议包,如果网络不支持多点传送,或者只希望OSPF使用单点传送与邻居通信,这可以使用该命令,将网络类型转换为非广播型,必须使用neighbor指定邻居

Point-to-multipoint non-Broadcast

           用来把一个NBMA型网络配置成多点网络。OSPF使用多点传送在点到多点网络上发送Hello包和其他协议包。在一些网络上,如ATM,连接是动态的,hello包仅在已经建立的连接上传送

                        如上图,A可以设置为P-MP B,C 设置为P-P

                                           P-MP hello-interval 30s

                                        P-P hello-interval 10s 故要修改默认的hello/dead-interval

                                          另一种方案是,将BC均改为P-MP类型。相对于广播型,不能选举DR/BDR

Point-to-Point

                 如上图,如果要配置成P2P的网络结构,路由器A上将启用子接口,并将网络类型都设置为P2P,此时FR的Inverse-arp将自动失效

ip ospf priority

                    用于在DR,BDR选举时,设置端口优先级,1位最高优先级 0为不参与DR/BDR选举。

                   注意:非DR/BDR最好将其优先级设置为0,保证DR/BDR选择不会出现异常

ip ospf [retransmit-interval | transmit-delay]

              LSA重传间隔及传送延迟,默认时间 5s/1s

8.15.19 Show Commands

              Show ip ospf process-id

                 

 

 

 

 

 

 

 

 

 

 

 

8.15.20 debug Commands

                  debug ip ospf adj

                         用来显示有关邻居关系的信息

 

 

 

 

 

 

 

debug ip ospf lsa-generation ip-access-list-number

                                   显示和摘要LSA的发生和扩散有关的信息

 

 

 

 

8.15.21 clear Commands

              clear ip ospf {process-id} couters {neighbor neighbor-id} {int-name int-number}

                           用于重新设置邻居状态变换计数器

               ear ip ospf process

                          用于重新启动OSPF进程

               clear ip ospf redistribution

                              用于清除重分布到OSPF的路由

8.16 配置OSPF路由

            8.16.1 基本配置

 

 

 

8.16.4 OSPF和接口上的第二个IP地址

 

 

8.16.5 Stub区域配置

 

                可以把区域1设置为stub area,可以在OSPF进程里加入area stub命令把区域设置为stub area.配置如下:

 

 

8.16.6 完全Stub区域配置

               只需在area stub后挂接 no-summary,仅在ABR上执行,此时将过滤掉域间路由,只剩下域内路由和默认路由

 

8.16.7 在NBMA型网络上配置OSPF

              在NBMA网络比如ATM,X.25和帧中继等,需要人工指定邻居.在IOS版本10.0之前,可以使用命令neighbor 来指定邻居.

拓扑图如下:

 

 

1. neighbor命令只是用在老版本的IOS(10.0之前)上,在之后的IOS版本里,可以在接口配置模式下使用ip ospf network命令改变默认的OSPF网络类型

2. 采用全互连的NBMA上DR/BDR的选举是最有利的,但是这样的成本太高;另1种解决方法是把网络类型改为点到多点,来避免DR/BDR的选举问题.点到多点链路把PVC当作点到点链路的集合.

3. 但是这种点到多点的配置,在动态连接的网络比如帧中继SVC,ATM SVC等出现问题.在IOS版本11.3AA之后,可以使用在ip ospf network point-to-multipoint之后加个参数non-broadcast来解决.但是仍然要人工指定邻居

4. 在IOS版本11.3AA之后,多了个特性,就是在指定邻居的同时还可以基于每条VC来指定开销

5. 最后一种解决方案是,把每条PVC当作1条点到点链路,通过划分子接口的方式完成,这样也消除了DR/BDR的选举带来的问题

 

在配置NBMA Broadcast型时注意:

1. 更改OSPF接口优先级方式确保中心路由器为DR

2. 更改接口类型为广播型

3. 为了保证端到端ping通,边缘路由器没有直连的PVC,故在边缘路由器上除了要做对中心路由器IP地址到本地DLCI的映射,还要做邻居边缘路由器IP到本地DLCI的映射,让中心路由器引导流量

在配置NBMA P-P型时注意:

 1. 中心路由器要启用子接口,子接口之间出于不同子网,映射子接口到本地DLCI
 2 在边缘路由器上把接口类型更改为P-P,并映射同一子网下中心路由器子接口的IP地址到本地DLCI

在配置NBMA non-broadcast型时注意:

1. 更改OSPF接口优先级方式确保中心路由器为DR
2. 为了保证端到端ping通,边缘路由器没有直连的PVC,故在边缘路由器上除了要做对中心路由器IP地址到本地DLCI的映射,还要做邻居边缘路由器IP到本地DLCI的映射,让中心路由器引导流量

在配置NBMA P-MP型时注意:

1. 中心路由器类型改为P-MP
2. 边缘路由器如果做为P-P,只需设置一条中心路由器IP到本地DLCI的映射,并且hello_interval改为30s
3. 边缘路由器作为P-MP,需要将邻居路由器和中心路由器的IP映射到本地DLCI
4. 凡是P-MP的接口,都会宣告一条该接口的32位主机路由给邻居

8.16.8 在按需电路上配置OSPF

          通过在按需电路相连的接口上增加ip ospf demand-circuits。在按需电路上实现OSPF需要注意:

1. 只有在区域的LSDB中的所有LSA设置了DC-bit后,设置DoNotAge位的LSA才被允许进入该区域
2. 实现按需电路上的OSPF区域内的说有路由器都必须具有支持这种配置方法的能力
3. 如果运行在按需电路上的OSPF是在一个非末节区域实现的,那么所有的非末节区域必须支持这种方式 因为DC-bit是在type-5LSA中实现的,Type-5 LSA可以泛洪到所有的非末节区域
4. 应该尽量限制在末节,完全末节,NSSA区域上实现DC,因为这样可以限制LSA的数量,亦可取消OSPF域内的所有路由器支持DC
5. 如果配置的DC上有虚电路穿过,此虚电路亦被认为是按需电路
6. 每30min刷新LSA。但由于设置了donotAge的LSA在穿越按需电路时不需要刷新,因此丧失了OSPF的稳定特性
7. 重新刷新过程可以在一条按需电路两端外的其他所有接口上发生。结果导致链路2端的LSA序列号可能会是不同的

8.17 OSPF设计及解决方案

              推荐的OSPF网络规模如下表

 

ABR的区域数目:每个ABR有2个区域是最优的

DR/BDR选择:可以使用show process cpu/memory检查

                            尽量选择负载低,且链路稳定的路由器为了网络稳定,最好设置端口优先级,避免路由进程重启后导致的DR/BDR改变

NBMA网络: 部分互联网络要比全互联好很多,在一些情况下仔细设计的P-P或者P-MP网络要比多点网络工作起来好很多

LSDB大小: LSDB的大小对于路由器是否稳定工作十分重要

                          *路由选择表的每一项需要消耗200~280字节,加上每条链路消耗44字节

                         *每个LSA消耗100字节,加上LSA实际长度,大概增加60~100字节

                           因此通常要给少于500KB的路由选择表2~16MB的RAM。大于500KB大型网络需要16~64MB的储存器 检测注意:

                            how memory最好不要在工作日时间做,在show memory之前最好备份路由器配置,

                              较小OSPF区域并使用路由汇总将会急剧减少CPU使用

OSPF区域设计概述:

1. 优先考虑物理的临近
2. 如果链路不稳定则减小区域规模
3. 确保连续的区域,尽量避免不必要的虚链路
4. 调整hello-interval/dead-interval/retransmission-interval/
transmit-delay来降低链路使用率
5. 区域命名,点分10进制和普通10进制2种。大型多区域最好采用点分10进制
6. BB区域必须连续,否则会对网络稳定性产生影响,当然非连续也可以通过VL来修补
7. E1/E2路由:通常网络有多个从OSPF AS到相同外部网络的接入点,使用E1路由可以让路由器更好的选择到外部的最短路径,同时大规模网络亦使用E1。当网络规模较小时使用E2
8. 尽量把ABR的loopback口放入area 0

OSPF Redistribution:

1. 尽可能将功能不够强大的路由协议重分布到相对功能强大的路由协议中, 例如RIP重分布进OSPF OSPF重分布进BGP。但BGP重分布进OSPF将是一个非常糟糕的做法
2. 尽可能在一个点上重分布。多点重分布容易产生环路,例如CCIE_lab 160的路由环路
3. 使用路由过滤器,尽量过滤无用路由信息
4. 必要时进行重分布,而不是尽可能重分布
5. 调整管理距离和路由选择度量标准
6. 一直都要设置度量值。
7. 对部分路由信息打标,通过route-map过滤分类是一个不错的做法

OSPF Summary-address:

1. IP编址时尽量考虑到子网的规则分配
2. IP编址尽量考虑到以后用户的增长

3. 汇总仅在ABR,ASBR进行
4. 如果网络中有Classful的路由协议,则必须在边界上进行汇总。

8.18 OSPF排错

.

8.18.1 Troubleshooting 常用步骤:

1. 清楚地定义问题
2. 收集信息,例如受影响的用户,网络管理员,改变的配置,NMS报告内容,路由器debug命令, Cisco设计缺陷等
3. 思考可能的问题
4. 制定一个行动计划
5. 执行计划
6. 收集结果
7. 重新执行此过程

8.18.2 Debug命令使用:

参见前文command and configurations中的相关叙述

8.18.3 OSPF协议故障排除方法如下

1. 一般故障是由路由信息丢失,错误的或者不精确的路由信息引起的。
2. show ip ospf database 查看LSA,如果一条链路是不稳定的,则通告将十分频繁,故其序列号明显高于其他LSA
3. 检查network area 语句是否把所有接口都指定到正确的区域,wild-netmask是否正确
4. 检查邻接关系时,考虑hello报文是否在发送?两端计时器是否相同,可选性能字段是否相同,接口是否在同一子网邻居是否同一种网络类型
5. 认证类型是否有问题?
6. 虚链路是否正确设置?
7. 如果怀疑LSDB有问题,可以show ip ospf database查看同区域内每台路由器的LSA数量及类型
8. 分区域检查,如果stub NSSA区域,每台路由器都将申明area stub or area nssa
9. 地址汇总配置是否正确
10. 防止重分布产生的路由环路

8.18.4 OSPF协议常见故障:

邻居及邻接关系出现问题大致情况如下
1. OSPF没有在接口上启用,或者一条网络路由器配置命令错误或丢失
2. 不匹配的Hello或者计时器,E位,区域ID,认证类型或者网络掩码
3. 访问列表错误配置,可能正在阻塞OSPF hello包
4. 虚拟链路和末节设置不匹配
5. 接口被定义为passive-mode
6. 不匹配的认证类型
7. 不匹配的认证密钥

8. 第2层停机
9. 没有在NBMA上定义网络类型
10. FR或dialer缺少broadcast关键字

8.18.5 OSPF停滞在INIT状态

检查方法如下:
1. 一端正在阻塞hello分组
2. 一端NAT转换了OSPF hello 包
3. 一端的组播能力被破坏
4. 肯定是一个2层的问题
5. Dialer或FR缺少broadcast
6. 路由器发送hello,但没有收到响应
7. 邻居hello在NBMA云团中消失
8. ACL或者某些2层原因拒绝了hello包

 

8.18.6 OSPF停滞在Exstart/Switching状态

 

检查方法如下:

1. MTU不匹配
2. 邻居RID是一致的
3. 单播被破坏
               在一个高度冗余的网络中,Frame/ATM环境中错误的VC/DLCI映射
                MTU的问题,不能使用超过某长度的分组
                 ACL阻塞单播
                  NAT正在转换单播分组
4. 在PRI和BRI/dialer和网络类型之间是点到点的

8.18.7 OSPF停滞在Loading状态