OSPF 学习笔记

更新时间:2023-11-18 13:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

OSPF 学习笔记 版权所有

OSPF学习笔记

By sharpmind

2013-3-25

第1页, 共65页

OSPF 学习笔记 版权所有

日期 Date 修订版本Revision version 初稿完成 补充至第50 FAQ 补充至第53 FAQ 补充至第57 FAQ 修改描述 change Description 作者 Author Sharpmind sharpmind sharpmind sharpmind 2006-11-05 1.00 2007-01-27 1.01 2007-04-15 1.02 2007-04-17 1.03

2013-3-25

第2页, 共65页

OSPF 学习笔记 版权所有

1 2 3 4 5 6 7 8 9

目录

OSPF的HELLO报文包含哪些字段? .................................................................................................. 7 ROUTER ID 是运行OSPF路由器的唯一标识,必须在整个OSPF DOMAIN中唯一。 ....... 7 ABR 是否会在AREA 0中产生 TYPE 4的LSA? ...................................................................... 7 OSPF对LSA如何进行唯一性标识? ............................................................................................ 7 OSPF 附录E的描述 ....................................................................................................................... 8 OSPF 的P2P网络类型一定要求两端在同一网段吗? ............................................................... 9 后续很多知识点都在以下组网图上验证。 ................................................................................ 10 OSPF链路两端配置不同的网络类型,能否形成FULL关系? ............................................... 10 从不同区域学习到的由不同ASBR(或从同一个ASBR)引入的同一个外部路由,路由器该

如何处理呢? ........................................................................................................................................ 11 10 OSPF的邻居无法形成FULL状态是什么原因? ....................................................................... 13 11 如何优化OSPF配置,加快收敛速度? ...................................................................................... 14 12 OSPF 中的FA是做什么用的? .................................................................................................. 14 13 OSPF协议中FA地址是如何影响外部路由选路的? ................................................................ 15 14 同时从普通区域和骨干区域学习到的由同一ASBR引入的外部路由,如果COST值相同,应该优选哪个?还是会形成ECMP路径?(参见问题8,注意不同点) ........................................... 18 15 什么是RFC 1583的兼容模式? ................................................................................................... 21 16 执行DISP OSPF ERROR命令,存在有错误项: XXX: IP: RECEIVED MY OWN PACKET,是什么原因? ................................................................................................................... 22 17 路由器的OSPF ROUTER ID 设置的并不是任何一个接口的IP地址,是否会有问题? .... 23 18 对TYPE 3 、4、5 三种类型LSA报文METRIC字段的简单分析。 ...................................... 23 19 两个ABR之间的互连链路应该放在AREA0中还是放在AREA1中?ABR的LOOPBACK接口应该放在AREA0还是AREA1中? ................................................................................................. 30

2013-3-25

第3页, 共65页

OSPF 学习笔记 版权所有

20 VRP5 OSPF协议视图中FILTER-POLICY命令的具体用法?区域视图中FILTER命令的用法? 34

21 谈谈对NSSA区域的理解!时常会看到关于NSSA区域的一些知识点,但都是零零星星的,一直也没有很好的整理过,20-28几个问题均与NSSA区域有关。RFC1587已经被RFC3101更新,这里也会提及两个RFC的异同点。HW的VRP5.0的大部分仍遵从RFC1587的定义。 ................ 35 22 NSSA区域中,路由器为何无法从两个通告默认路由的ABR处学习到等价的默认路由? . 37 23 NSSA区域中,ABR通告的默认路由LSA是什么类型?能否被转换成TYPE 5 LSA通告到AREA0中? ........................................................................................................................................... 39 24 NSSA区域中,ASBR通告的默认路由LSA是什么类型?能否被转换成TYPE 5 LSA通告到AREA0中? ........................................................................................................................................... 39 25 当ABR同时从NSSA区域和骨干区域学习到外部路由时,会如何处理? ............................. 40 26 NSSA区域中的路由器是如何识别其支持NSSA区域功能? ABR路由器依据什么来判断是否将TYPE 7 LSA转换成TYPE 5 LSA? ........................................................................................... 41 27 当NSSA区域存在有两个ABR时,TYPE 7 LSA由谁来转换成TYPE 5? ............................. 47 28 NSSA区域中TYPE 7 LSA的FA字段如何设置,转换后TYPE 5 LSA的FA地址如何设置? CISCO提供了一种新特性,可将转换后的 TYPE 5 LSA的FA地址重置为0,有什么优缺点? 47 29 ABR-SUMMARY 和ASBR-SUMMARY命令中的NOT-ADVERTISE参数有什么用途? . 48 30 在OSPF中,ASBR是通过什么方式告诉其他路由器它是ASBR的?ABR呢?ABR在什么条件下触发产生TYPE 4 LSA? .............................................................................................................. 49 31 关于OSPF协议中HELLO、DD报文以及每个LSA中的可选项字段的具体定义 .................. 50 32 PE-CE之间运行OSPF协议是如何防止路由环路的? .............................................................. 50 33 OSPF协议中的SHAM-LINK是做什么用的?部署时有什么注意事项? .............................. 50 34 OSPF中默认路由的发布方式根据不同区域又什么不同? ...................................................... 50 35 OSPF协议对于直连路由有无建议的发布方式?为什么? ...................................................... 51 36 在HW VRP实现中,如何安全、有效地实现OSPF与其他路由协议的互引?...................... 52

2013-3-25

第4页, 共65页

OSPF 学习笔记 版权所有

37 OSPF在不同区域中通告默认路由的方式有几种,分别有哪些区别?在普通区域中如果采用非强制通告默认路由,有什么好处? ................................................................................................ 54 38 对于HW的VRP实现,如果在城域网出口的两台路由器上使用OSPF非强制下发默认路由,并且又分别从上行设备接收BGP默认路由时,会出现什么问题?应该如何处理? .................... 54 39 MCE是什么?OSPF和MCE有什么关系? ............................................................................... 54 40 VRP实现中将OSPF路由重发布到其他协议与CISCO的实现方式有何不同?在VPN环境下将OSPF重发布到BGP又是如何实现的? .......................................................................................... 57 41 在VPN实例中PE能够以TYPE 3 LSA向CE通告默认路由,有什么作用? ........................... 57 42 将OSPF路由重发布到BGP时,OSPF中的默认路由能否也被BGP发布出去?为什么? ... 57 43 H厂商路由器与C厂商路由器在采用P2MP对接时,为何无法建立邻居关系? ................... 58 44 OSPF协议状态机有哪几个状态?分别表示什么阶段?在路由器上通常看到的FULL,2WAY,EXSTART,EXCHANGE等状态是指自己的状态还是对端邻居的状态? ................... 58 45 在OSPF邻居关系建立过程中,有时无法达到FULL状态;而是停止到某个状态或者在几个状态之间频繁FLAP,有哪些原因会导致这些情况出现? .............................................................. 58 46 OSPF LSDB中存在有相应的LSA条目,但没有进入IP路由表中的原因可能有哪些? ....... 58 47 OSPF认证的基本原则? ............................................................................................................. 59 48 FORWARDING ADDRESS的填写原则是什么? .................................................................... 59 49 为何无法建立SHAM-LINK? ...................................................................................................... 60 50 MPLS VPN 多实例OSPF应用下的几个重要概念? ............................................................... 61 51 OSPF路由频繁振荡的几种可能因素? ...................................................................................... 62 52 为什么OSPF进程跑飞?所有OSPF路由都消失了? ............................................................... 62 53 在H3C的设备上,为何无法将OSPF外部路由引入到其他协议例如BGP中? ...................... 63 54 何为链路状态重传间隔及设置命令? .......................................................................................... 63 55 何为OSPF LSA的更新时间间隔?及设置命令? ..................................................................... 63

2013-3-25

第5页, 共65页

OSPF 学习笔记 版权所有

此尽管可以形成full关系,却不能正常学习到路由。 9

从不同区域学习到的由不同ASBR(或从同一个ASBR)引入的同一个外部路由,路由器该如何处理呢? 分两种情况分析:

从不同区域学习到的由同一ASBR引入的外部路由时,OSPF域内的路由器在选路时,优选经过较大area ID的那条路由。HW 的VRP5平台是这样实现的。

参见上图中的RT9、RT4、RT6、RT8组成的网络。在RT8上引入一条静态路由,在RT9上查看IP路由表和LSDB数据库,显示如下: disp ip rout

192.168.4.0/24 OSPF 10 4687 10.10.11.1 Serial0 OSPF 10 4687 10.10.12.1 Serial1

192.168.6.0/24 O_ASE 150 1 10.10.12.1 Serial1

disp ospf lsdb

AS External Database

Type LinkState ID AdvRouter Age Len Sequence Metric External 192.168.6.0 1.1.1.8 1378 36 80000001 1 红色标注部分是在RT8上引入的外部路由,RT9上只有从area6区域学习的那条路由,也就是经过较大area ID的那个路由。

兰色标注部分是RT8上位于area 8的域间路由,在RT9上有两个ECMP表项,说明对区域间路由不用此规则。

从不同区域学习到的由不同ASBR引入的外部路由时,OSPF域内的路由器在选路时,同样选择经过较大area ID的那条路由。HW的VRP5平台是这样实现的。如图所示:

2013-3-25

第11页, 共65页

OSPF 学习笔记 版权所有

192.168.4.0/24192.168.2.0/24192.168.4.1/24192.168.4.2/248.2192.168.3.0/24r7r87.2area3r57.15.29.19.26.28.1area4r6area0r35.110.11.12.110.21.26.1r4area511.111.212.212.1area63.1r9192.168.5.0/24area12.23.24.1r210.10.x.x互连网段1.1.1.x loopback地址192.168.x.0 用户段area2r14.2192.168.1.0/24 参见上图中的RT9、RT4、RT6、RT5、RT8组成的网络。分别在RT8、RT5上引入相同的静态外部路由192.168.6.0/24,在RT9上查看IP 路由表和LSDB:

disp ip rout

192.168.6.0/24 O_ASE 150 1 10.10.12.1 Serial1 disp ospf lsdb

AS External Database Type LinkState ID AdvRouter Age Len Sequence Metric External 192.168.6.0 1.1.1.5 181 36 80000005 1 External 192.168.6.0 1.1.1.8 1573 36 80000004 1 尽管在LSDB中有两条TYPE 5 LSA ,但是在路由表中仍然只学习经过最大区域号的那条路由。

RFC 2328规定如果从不同区域学习到同一个外部路由,那么应该优选经过较大area ID的那个路由,但是事实上很多厂商设备并没有按此实施。HW的VRP5也没有按照此规定实现,而是作为ECMP来处理。(待整理)

那么对于在同一个区域内学习到的由不同ASBR引入的同一个外部路由,路由器又该如何处理呢?

2013-3-25

第12页, 共65页

OSPF 学习笔记 版权所有

10 OSPF的邻居无法形成full状态是什么原因?

OSPF的邻居之间如果要形成full状态有几个过程,以及几个因素,下面我们分别考虑: 1、 在OSPF的FSM中有两个关键点: 2WAY状态--->FULL状态。要达到2WAY状态,

必须要确保hello报文能够协商成功,也就是说同意hello报文中的参数设定。接下来会进行LSA的同步,如果这个过程顺利完成,邻居之间最终才能形成full状态。 2、 下面先来分析导致无法到达2WAY状态的原因:

1、 hello报文中的ared id不一致; 2、 hello报文中的netmask不一致;

3、 hello报文的发送间隔和超时间隔不一致; 4、 hello报文的验证方式和验证key设置不一致;

5、 接口配置的IP不在同一网段;(不在一个网段,不通也是可以理解的) 6、 Hello报文中设置的flag标志位不一致; 7、 试图通过辅助地址建立邻居关系;

8、 配置的网络类型为NBMA,没有配置邻居命令或者在映射命令中没有指定

broadcast参数;

9、 Ospf网路类型为NBMA或Broadcast类型,但所有接口DR优先级均为0; 10、 11、

Router id 冲突;

系统软件bug或者硬件故障;

3、 接着再分析一下无法到达FULL状态的原因:

1、 两端接口的MTU设置不一致,导致DD报文无法正常交互。

2、 对于BROADCAST或者NBMA网络类型而言,没有DR存在,即都是DRother,

导致无法建立邻接关系并进行后续报文的交互。

4、 可以到达FULL状态,但无法正常学习到路由的原因:

1、 两端配置的OSPF 网络类型不匹配。

2013-3-25

第13页, 共65页

OSPF 学习笔记 版权所有

11 如何优化OSPF配置,加快收敛速度?

简单来说有3个方面:减少hello报文发送间隔,减少SPF的延迟计算间隔,减少lsa的更新发送和接收(lsa-originate-interval和lsa-arrival-interval)间隔,另外VRP5还支持智能记时器,可以优化收敛速度的同时,保证网络的稳定性。

由于IGP协议自身机制问题,尽管优化后对于互连网业务可以满足需求,但是对于作为承载网而言,这种速度无法满足要求,因此需要通过其他机制来进一步加快收敛速度,这包括BFD、IPFRR等一系列的快速重路由手段。

12 OSPF 中的FA是做什么用的?

FA 是Forwarding Address的简写。FA是ASBR通告的TYPE 5 LSA中的字段,它的作用是告诉OSPF域内的路由器如何能够更快捷地到达LSA 5所通告路由的下一跳地址。以免OSPF 内部路由器在广播网络上以ASBR为下一跳,再由ASBR自己转发到正确的下一跳,而产生额外的路由。简单来说,FA字段的作用类似于BGP协议中的“第三方下一跳”概念,主要在广播共享网络中起作用。FA字段可以为全0或者非0两种选择,有以下几个规则:

1、 当与引入路由的下一跳关联(互连)的接口没有启动OSPF时,FA设置为0; 例如在上面图中,R8引入直连接口E1的路由,此接口没有启动OSPF,因此TYPE 5 的LSA中 FA字段为0。在RT2上执行disp ospf lsdb ase 192.168.4.0 显示如下:

disp ospf lsdb ase 192.168.4.0

OSPF Process 1 with Router ID 1.1.1.2 Link State Database

Type : External Ls id : 192.168.4.0 Adv rtr : 1.1.1.8 Ls age : 1211

2013-3-25

第14页, 共65页

OSPF 学习笔记 版权所有

Len : 36 Options : E seq# : 80000008 chksum : 0xca86 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2

Forwarding Address : 0.0.0.0 Tag : 1

2、当下列所有条件均满足的情况下,TYPE 5 LSA中FA字段设置为非0:

1、在ASBR上,与引入外部路由下一跳关联的接口启动了OSPF,即位于Network 命令范围内。

2、在ASBR上,与引入外部路由下一跳关联的接口不能配置被动接口;

//前两个规则是确保LSA能够被通告。

3、在ASBR上,与引入外部路由下一跳关联的接口配置的OSPF网络类型不能是P2P 或P2MP。

//确保网络类型是Broadcast或NBMA 的共享网络。

以上说了FA字段可能设置为非0,那么到底是一个什么值呢? 它是数据包应该被路由到的出口的接口地址。并不是loopback接口的IP地址,或者ROUTER ID指示的值什么的?

13 OSPF协议中FA地址是如何影响外部路由选路的?

上面提到TYPE 5 LSA的FA字段要么为0,要么非0。那么对于路由选路有何影响吗?

又有哪些注意点呢?再RFC 2328的 16.4中是这样描述的。

(3) Call the destination described by the LSA N. N's address is

obtained by masking the LSA's Link State ID with the network/subnet mask contained in the body of the LSA. Look up the routing table entries (potentially one per attached

2013-3-25

第15页, 共65页

OSPF 学习笔记 版权所有

area) for the AS boundary router (ASBR) that originated the LSA. If no entries exist for router ASBR (i.e., ASBR is unreachable), do nothing with this LSA and consider the next in the list.

Else, this LSA describes an AS external path to destination N. Examine the forwarding address specified in the AS- external-LSA. This indicates the IP address to which packets for the destination should be forwarded.

If the forwarding address is set to 0.0.0.0, packets should be sent to the ASBR itself. Among the multiple routing table entries for the ASBR, select the preferred entry as follows. If RFC1583Compatibility is set to \ of routing table entries for the ASBR as described in Section 16.4.1. In any case, among the remaining routing table entries, select the routing table entry with the least cost; when there are multiple least cost routing table entries the entry whose associated area has the largest OSPF Area ID (when considered as an unsigned 32-bit integer) is chosen.

Moy Standards Track [Page 173]

2013-3-25

第16页, 共65页

OSPF 学习笔记 版权所有

RFC 2328 OSPF Version 2 April 1998

If the forwarding address is non-zero, look up the forwarding address in the routing table.[24] The matching routing table entry must specify an intra-area or inter-area path; if no such path exists, do nothing with the LSA and consider the next in the list.

以上是RFC中描述的OSPF在计算外部路由时要考虑的因素之一。其他因素可参考

RFC2328 16.4小节。概括起来讲就是在计算由TYPE 5 LSA描述的某个外部路由时,会查找生成该LSA的ASBR,如果不存在这个ASBR的表项,忽略这个LSA。

否则,检查这个LSA的FA地址,这个地址就是转发数据包应该被发送到的地址。如果

FA为0,数据包应该被发送到ASBR;如果FA非0,在OSPF路由表中查找到FA地址的表项,而且该表项必须被域内或者域间路由覆盖,否则不考虑这个LSA。

前面卖了这么多的关子,到底ospf在计算路由时如何参考FA地址?

一句话:如果FA非0,根据计算到FA地址的metric,而不是计算到ASBR的metric进行路

由优选。那么在计算外部路由时又是如何依据它进行选路呢?

1、 计算外部路由时,首先检查通告TYPE 5 LSA的ASBR是否存在,否则忽略该LSA; 2、 检查TYPE 5 LSA的FA地址是否为0。如为0,说明路由必须经过ASBR转发,那么优

选到ASBR metric 最短的路径。当有多个最短路径时,优选从较大area ID学习到的。 如果FA非0,那么优选到FA地址 metric最短的路径,而且到FA的路由必须时域内或域间的,否则忽略该表项。

注意以上的优选过程都是在比较了OSPF 域内、域间、外部类型1、外部类型2 四种优

先级后,以及网络前缀长度都相同的情况下进行的。

2013-3-25

第17页, 共65页

OSPF 学习笔记 版权所有

14 同时从普通区域和骨干区域学习到的由同一ASBR引入的外部路由,如果cost值相

同,应该优选哪个?还是会形成ECMP路径?(参见问题8,注意不同点)

RFC 2328建议 当RFC1583 兼容特性被关闭的情况下,采用从普通区域学习到的路由,但是根据VRP5的测试,无论该兼容特性是否关闭,都会优选从普通区域学习的路由,目的是为了减轻骨干区域的压力。

r55.29.19.2r66.2area05.16.110.11.12.110.21.2r3r43.1area12.23.2r2以上图中的RT3和RT4为例,RT3和RT4之间存在两条链路,上边一条位于area0,下边一条位于area1。在RT4上引入静态路由192.168.5.0/24,在RT3上查看ip路由表: disp ip rout Routing Tables: Public Destinations : 11 Routes : 11 Destination/Mask Proto Pre Cost NextHop Interface 1.1.1.3/32 Direct 0 0 127.0.0.1 InLoopBack0 1.1.1.4/32 OSPF 10 1563 10.10.10.2 Serial3

2013-3-25

第18页, 共65页

OSPF 学习笔记 版权所有

10.10.1.0/30 Direct 0 0 10.10.1.1 Serial0 10.10.1.1/32 Direct 0 0 127.0.0.1 InLoopBack0 10.10.1.2/32 Direct 0 0 10.10.1.2 Serial0 10.10.10.0/30 Direct 0 0 10.10.10.1 Serial3 10.10.10.1/32 Direct 0 0 127.0.0.1 InLoopBack0 10.10.10.2/32 Direct 0 0 10.10.10.2 Serial3 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoopBack0

192.168.5.0/24 O_ASE 150 10 10.10.1.2 Serial0 该路由选择下一跳为10.10.1.2,位于area 1中。

进一步在RT3上查看LSDB: disp ospf lsdb ase

OSPF Process 1 with Router ID 1.1.1.3 Link State Database

Type : External Ls id : 192.168.5.0 Adv rtr : 1.1.1.4 Ls age : 1206 Len : 36 Options : E seq# : 80000003 chksum : 0x3c14 Net mask : 255.255.255.0 TOS 0 Metric: 10 E type : 2

Forwarding Address : 0.0.0.0

2013-3-25

第19页, 共65页

OSPF 学习笔记 版权所有

Tag : 1

会发现LSDB中只有一个LSA表项,并不是两个LSA表项。通过分析RT4和RT3的debug信息可以看到R54分别从上下两条链路上发出TYPE 5 LSA,RT3也分别从上下两条链路收到两个LSA,但是它只在LSDB中放置了最优的那个。

RT4上debug ospf lsa 输出如下:

*0.4958790 rt4 RM/7/RMDEBUG:OSPF 1, LSAType 5. *0.4958790 rt4 RM/7/RMDEBUG:LinkStateId: 192.168.5.0. *0.4958790 rt4 RM/7/RMDEBUG:Advertising Rtr: 1.1.1.4.

*0.4958790 rt4 RM/7/RMDEBUG:LSA Age: 0 Options: ExRouting:ON. *0.4958790 rt4 RM/7/RMDEBUG:Length: 36 Seq# 80000001 CheckSum: 4012. *0.4958790 rt4 RM/7/RMDEBUG:Net Mask: 255.255.255.0.

*0.4958800 rt4 RM/7/RMDEBUG:TOS: 128 Metric: 10 FwdAddr 0.0.0.0 Tag 0.0.0.1.

*0.4958800 rt4 RM/7/RMDEBUG:OSPF 1, LSAType 5. *0.4958800 rt4 RM/7/RMDEBUG:LinkStateId: 192.168.5.0. *0.4958800 rt4 RM/7/RMDEBUG:Advertising Rtr: 1.1.1.4.

*0.4958800 rt4 RM/7/RMDEBUG:LSA Age: 0 Options: ExRouting:ON. *0.4958800 rt4 RM/7/RMDEBUG:Length: 36 Seq# 80000001 CheckSum: 4012. *0.4958800 rt4 RM/7/RMDEBUG:Net Mask: 255.255.255.0.

*0.4958800 rt4 RM/7/RMDEBUG:TOS: 128 Metric: 10 FwdAddr 0.0.0.0 Tag 0.0.0.1.

RT3上debug ospf update输出如下:

*0.4960062 rt3 RM/7/RMDEBUG:OSPF 1: RECV Packet. *0.4960062 rt3 RM/7/RMDEBUG:Source Address: 10.10.10.2 *0.4960062 rt3 RM/7/RMDEBUG:Destination Address: 224.0.0.5 *0.4960072 rt3 RM/7/RMDEBUG:Ver# 2, Type: 4, Length: 64.

*0.4960072 rt3 RM/7/RMDEBUG:Router: 1.1.1.4, Area: 0.0.0.0, Chksum: f2bd. *0.4960072 rt3 RM/7/RMDEBUG:AuType: 00, Key(ascii): 0 0 0 0 0 0 0 0.

2013-3-25

第20页, 共65页

OSPF 学习笔记 版权所有

LSA并发送给RT3。RT3就优选TYPE 5 LSA了! (那在RT4上会是什么结果呢?是否会和RT3一样呢?)那么我们再来看看RT4上的显示结果:

disp ip rout 192.168.20.0 Routing Table : Public Summary Count : 1

Destination/Mask Proto Pre Cost NextHop Interface 192.168.20.0/24 O_NSSA 150 1 10.10.3.2 Serial2

192.168.20.0/24是NSSA路由,怎么不像RT3一样是ASE路由呢?^_^这个问题我就没有讲过了!要知道为什么就先看看下面的问题27吧!在看看RT4上的LSDB: disp ospf lsdb ase 192.168.20.0

OSPF Process 1 with Router ID 1.1.1.4 Link State Database Type : External Ls id : 192.168.20.0 Adv rtr : 1.1.1.4 Ls age : 1670 Len : 36 Options : E seq# : 80000004 chksum : 0x7ac9 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2

Forwarding Address : 1.1.1.2 Tag : 1

是RT4自己通告了这个ASE LSA,值得一提地是FA设置为1.1.1.2,并不是0。这样实现

的目的是确保其他路由器能够选择最优路径,不会选择走RT4出现次优路由问题。 好了,书归正传!讲了半天,发现明显有跑题现象。讲P标志位的怎么又跑到别的了!

2013-3-25

第46页, 共65页

OSPF 学习笔记 版权所有

那么既然是根据P标志位来判断的,那么什么情况下会设置P标志位,什么情况下又不会设置呢?

针对HW VRP5.0平台,NSSA区域的ASBR在通告TYPE 7 LSA时,除了默认路由的LSA之外,都是要设置P标志位的。目前根据实验环境,还没有发现哪种情况下不设置P位,至于到底有没有哪种情况下不设置P位,只好留待以后研究了。说到这里,就再延伸一下,既然大多数情况下都有P位,那也就是说都会被ABR转换成TYPE 5 LSA发送到area0中,那么有没有控制手段来限制呀? 没有办法控制P位,但通过其他方式控制还是可以的。想想怎么控制?前边也讲过的。对了,就是通过filter-policy控制。具体参见问题20。

当然还有其他控制的方法,请参见后续问题29。

27 当NSSA区域存在有两个ABR时,TYPE 7 LSA由谁来转换成TYPE 5?

RFC1587中描述如下:

All reachable area border routers in the NSSA should now be examined noting the one with the highest router ID. If this router has the highest router ID, it will be the one translating type-7 LSAs into type-5 LSAs for the NSSA, otherwise the translation algorithm should not be performed.

28 NSSA区域中TYPE 7 LSA的FA字段如何设置,转换后TYPE 5 LSA的FA地址如

何设置? Cisco提供了一种新特性,可将转换后的 TYPE 5 LSA的FA地址重置为0,有什么优缺点?

前面在讨论P标志位时,提到过FA的设置,并且在之前也讨论过在标准区域中的FA设具有最大router id的ABR进行转换。

置规则,现在讨论一下在NSSA区域中TYPE 7 LSA的FA设置规则,以及被转换成TYPE 5 LSA后的FA设置方法。

RFC3101中描述:

Type-5 LSAs that are translations of Type-7 LSAs copy the Type-7 LSAs’ non-zero forwarding addresses. Only those Type-5 LSAs that are aggregations of Type-7 LSAs may have 0.0.0.0 as a forwarding address.

2013-3-25

第47页, 共65页

OSPF 学习笔记 版权所有

根据以上描述,通常情况下TYPE 5 LSA的FA只是从原有TYPE 7 LSA中复制,因此在

这里只要关注TYPE 7 LSA的FA设置规则即可。FA有两种设置:0和非0。

Non-zero forwarding addresses produce efficient inter-area routing to an NSSA’s AS external destinations when it has multiple border routers.

前面卖了一些关子,现在正式开始讨论TYPE 7 LSA中FA的设置规则,参照RFC3101: 1、如果与引入外部路由相关联的接口启动了OSPF,则将该外部路由的下一跳地址填入当有多个NSSA ABR时,非0的FA地址可以确保最优路由。

TYPE 7 LSA的FA中。如果那个接口没有启动OSPF,FA将采用ASBR 在NSSA区域中活动接口的IP或者为0。如果TYPE 7 LSA设置了P标志位,则FA字段必须设置为非0,如果非0的FA地址不可用则忽略此LSA。(根据HW VRP5的实现,在接口没有启动ospf的情况下,ASBR并不会设置为0,而是采用如下规则优先设置FA:NSSA区域中最大的loopback接口IP > NSSA区域中最大的活动接口IP)。

2、?????????

29 abr-summary 和asbr-summary命令中的not-advertise参数有什么用途?

首先说说这两条命令的作用:

Abr-summary在ABR上配置,用来对区域的路由聚合并通告该域间聚合路由。 Asbr-summary在ASBR上配置,用来对外部路由聚合并通告该域外聚合路由。 这两条命令在通告聚合路由LSA同时,会抑制原有的LSA(flush original lsa)。以图中

RT2、RT3、RT5组成的网络为例:RT2上发布192.168.24-27.0/24,打算在RT3上把area1(NSSA)内的这4条路由聚合成192.168.24.0/22。首先问一下:应该用哪一个命令?用abr-summary吗?

错了!应该用asbr-summary。因为area1是NSSA区域,TYPE 7的精细路由会被转换成

TYPE 5。当在RT3上配置了asbr-summary 192.168.24.0 255.255.252.0后,在RT5上LSDB ASE显示如下:

disp ospf lsdb ase 192.168.24.0

OSPF Process 1 with Router ID 1.1.1.5

2013-3-25

第48页, 共65页

OSPF 学习笔记 版权所有

Link State Database Type : External Ls id : 192.168.24.0 Adv rtr : 1.1.1.3 Ls age : 1377 Len : 36 Options : E seq# : 80000003 chksum : 0x1138 Net mask : 255.255.252.0 TOS 0 Metric: 2 E type : 2

Forwarding Address : 0.0.0.0

Tag : 1

只有聚合后的TYPE 5 LSA,精细路由的LSA没有了。另外FA为0也是一个关注点。asbr-summary命令通告聚合路由,同时也屏蔽了精细路由信息,所以需要讲FA重置为0。

现在再说说not-advertise的作用,使用该参数将不会通告聚合后的LSA,而且落在聚合范围内的精细路由同样也不会通告出去。使用该参数后在RT5上显示如下:

[rt5]disp ospf lsdb ase 192.168.24.0

OSPF Process 1 with Router ID 1.1.1.5 Link State Database

30 在OSPF中,ASBR是通过什么方式告诉其他路由器它是ASBR的?ABR呢?ABR

在什么条件下触发产生TYPE 4 LSA?

ASBR通过在ROUTER LSA 中设置E bit,指示它自己是一个ASBR; 在NSSA区域中

同样如此。ABR通过在ROUTER LSA中设置B bit,指示它是一个ABR。

2013-3-25

第49页, 共65页

OSPF 学习笔记 版权所有

31 关于OSPF协议中HELLO、DD报文以及每个LSA中的可选项字段的具体定义

可选项占一个字节。这里主要介绍常用的一些bit位。

N/P之所以这样描述是因为bit位既可以当N标志位,又可以当P标志位使用,只是在不同

的报文中出现。说得再明白些就是在HELLO报文中作为N标志位用,在NSSA LSA中作为P标志位使用。现在解释下N标志位用途:N=1表示支持NSSA外部LSA,也就是说它是一台NSSA路由器。N标志位与E标志位互斥(稍候会介绍E标志位)。P标志位只会在TYPE 7 LSA中出现,P=1表示该LSA可以被转换成TYPE 5 LSA。E标志位表示具有接收AS外部LSA的能力,在所有TYPE 5 LSA以及始发于骨干区域和标志区域的LSA里边E标志位为1,在STUB区域中E=0,而且E与N互斥的原因讲到这里也明白了,NSSA区域中不可能有TYPE 5 LSA。 另外在HELLO报文中E标志位为1表示该接口具有接收和发送TYPE 5 LSA的能力。

32 PE-CE之间运行OSPF协议是如何防止路由环路的? ???

33 OSPF协议中的sham-link是做什么用的?部署时有什么注意事项? ???

34 OSPF中默认路由的发布方式根据不同区域又什么不同?

2013-3-25

第50页, 共65页

OSPF 学习笔记 版权所有

*0.4960072 rt3 RM/7/RMDEBUG:LSA Count: 1. *0.4960072 rt3 RM/7/RMDEBUG:OSPF 1, LSAType 5. 0.4960072 rt3 RM/7/RMDEBUG:LinkStateId: 192.168.5.0. *0.4960072 rt3 RM/7/RMDEBUG:Advertising Rtr: 1.1.1.4.

*0.4960072 rt3 RM/7/RMDEBUG:LSA Age: 1 Options: ExRouting:ON. *0.4960072 rt3 RM/7/RMDEBUG:Length: 36 Seq# 80000001 CheckSum: 4012. *0.4960082 rt3 RM/7/RMDEBUG:Net Mask: 255.255.255.0.

*0.4960082 rt3 RM/7/RMDEBUG:TOS: 128 Metric: 10 FwdAddr 0.0.0.0 Tag 0.0.0.1.

*0.4960082 rt3 RM/7/RMDEBUG:OSPF 1: RECV Packet. *0.4960082 rt3 RM/7/RMDEBUG:Source Address: 10.10.1.2 *0.4960082 rt3 RM/7/RMDEBUG:Destination Address: 224.0.0.5 *0.4960082 rt3 RM/7/RMDEBUG:Ver# 2, Type: 4, Length: 64.

*0.4960082 rt3 RM/7/RMDEBUG:Router: 1.1.1.4, Area: 0.0.0.1, Chksum: f2bc. *0.4960082 rt3 RM/7/RMDEBUG:AuType: 00, Key(ascii): 0 0 0 0 0 0 0 0. *0.4960092 rt3 RM/7/RMDEBUG:LSA Count: 1. *0.4960092 rt3 RM/7/RMDEBUG:OSPF 1, LSAType 5. *0.4960092 rt3 RM/7/RMDEBUG:LinkStateId: 192.168.5.0. *0.4960092 rt3 RM/7/RMDEBUG:Advertising Rtr: 1.1.1.4.

*0.4960092 rt3 RM/7/RMDEBUG:LSA Age: 1 Options: ExRouting:ON. *0.4960092 rt3 RM/7/RMDEBUG:Length: 36 Seq# 80000001 CheckSum: 4012. *0.4960092 rt3 RM/7/RMDEBUG:Net Mask: 255.255.255.0.

*0.4960092 rt3 RM/7/RMDEBUG:TOS: 128 Metric: 10 FwdAddr 0.0.0.0 Tag 0.0.0.1.

15 什么是RFC 1583的兼容模式?

RFC 2328 中提供了兼容RFC1583协议规定的可选功能,目的是为了控制当存在多条相同目的地的外部路由时,是否按照RFC1583规定进行优选。如果设置enable,遵照RFC1583的规则进行优选,如果设置disable,则遵照RFC2328的规则进行优选,

2013-3-25

第21页, 共65页

OSPF 学习笔记 版权所有

设置disable方式,可以有效地防止当存在多条分别从不同区域学习到的相同目的地的外部路由时,出现路由环路问题。RFC2328建议默认设置enable,即设置为RFC1583兼容模式。

为减小由于RFC 1583兼容模式设置的不一致导致的路由环路问题,所有路由器应该做相同的设置。(需要修订)

其实我们这里所说的RFC1583兼容模式,主要是针对外部路由计算采用的方式。当在HW VRP中打开兼容模式时(默认即打开),对于外部路由的计算会采用如下方式:(这只是外部路径优选一系列规则其中的一个优选环节)

1、对于TYPE 5 LSA对应的ASBR/FA地址,优选到该地址 Metric最小的路径。 2、当到该ASBR/FA存在多条等价路径时,优选Area ID大的路径或者形成ECMP路径。 附注:

TYPE 1外部路由在RT表的Metric=TYPE 5 LSA的Metric + 到ASBR/FA的Metric值 TYPE 2外部路由在RT表的Metric=TYPE 5 LSA的Metric

16 执行disp ospf error命令,存在有错误项: XXX: IP: received my own packet,是什么原因?

执行debug ospf event,打开ospf的事件调试信息,出现如下提示:

*1.712182973 Quidway RM/7/RTDBG:OSPF RECV Area 0.0.0.168 192.168.168.1 -> 224.0.0.5: IP: received my own packet

红色部分为区域号,兰色部分为loopback0 IP地址,该日志的意思是loopback0接口向ALLOSPFROUER地址发送了报文,而设备自身又接收到了这个报文。 造成这种情况的原因是loopback0接口起用了OSPF进程,而由于loopback0接口在系统内部是一个环回接口,从这个接口发出的报文经过环回后又会发给自己,因此出现这种情况。

解决办法:OSPF并不会在loopback0接口上建立邻居关系,因此并不需要从loopback0接口发送什么报文。在OSPF视图下把loopback0配置为silent-interface即可。

2013-3-25

第22页, 共65页

OSPF 学习笔记 版权所有

17 路由器的OSPF ROUTER ID 设置的并不是任何一个接口的IP地址,是否会有问题?

首先我们来说道说道ROUTER ID是干什么用的?OSPF又为什么需要ROUTER ID这个

东东?ROUTER ID能否被修改?知道以后也就自然明白是否有问题了!

RFC2328中对ROUTER ID的描述如下:Router ID A 32-bit number assigned to each router

running the OSPF protocol. This number uniquely identifies the router within an Autonomous System.

If a router's OSPF Router ID is changed, the router's OSPF software should be restarted

before the new Router ID takes effect. In this case the router should flush its self-originated LSAs from the routing domain (see Section 14.1) before restarting, or they will persist for up to MaxAge minutes.

从RFC的描述中,ROUTER ID是一个标识。举个例子,就像每个人的身份证一样。由

于链路状态数据库需要根据每个OSPF节点通告的LSA进行SPF计算,需要标识这些由不同路由器生成的LSA。ROUTER ID并不会直接参与路由的计算。通常我们在起OSPF协议时,经常会使用loopback接口的IP地址作为OSPF 的ROUTER ID,但这只是一种惯例(当然有诸多好处了)。但并不是必须要这样做。

如果更改了ROUTER ID,要使新的ROUTER ID生效,需要重启OSPF进程。同时修改ID

的路由器在重启之前需要发送MaxAge=3600的LSA来清除其他路由器上学到的由该路由器生成的原有的LSA,以便学习到新的LSA;否则原有的LSA将会一直持续到老化超时。

现在我们在回到该问题的题目:如果ROUTER ID设置的不是任何一个接口的IP,是否

会有问题?首先要确定的是没有问题。但是在VRP中,如果不使用router id参数明确指定ROUTER ID,则默认会优先选取loopback接口最高IP地址,如果没有loopback接口,会选择活动接口的最高IP地址。

18 对TYPE 3 、4、5 三种类型LSA报文metric字段的简单分析。

先来分析TYPE 5 LSA的metric:

仍然以RT4、RT5、RT6、RT8、RT9组成的网络为例。在RT8上以TYPE 2引入一条外部静态路由192.168.6.0/24指向null0接口。

在RT9上会学习到这条路由的,执行disp ip rout查看这条路由:

第23页, 共65页

2013-3-25

OSPF 学习笔记 版权所有

disp ip rout

192.168.6.0/24 O_ASE 150 1 10.10.11.1 Serial0 disp ospf lsdb ase

OSPF Process 1 with Router ID 1.1.1.9 Link State Database

Type : External Ls id : 192.168.6.0 Adv rtr : 1.1.1.8 Ls age : 893 Len : 36 Options : E seq# : 80000004 chksum : 0xbc96 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2

Forwarding Address : 0.0.0.0 Tag : 1

这条LSA是由RT8通告的,引入时使用TYPE 属性为2,metric属性设置为1;那么

当引入时采用TYPE 1时,metric属性是多少呢?

OSPF Process 1 with Router ID 1.1.1.9 Link State Database

Type : External

2013-3-25

第24页, 共65页

disp ospf lsdb ase

OSPF 学习笔记 版权所有

Ls id : 192.168.6.0 Adv rtr : 1.1.1.8 Ls age : 8 Len : 36 Options : E seq# : 80000005 chksum : 0x379b Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 1

Forwarding Address : 0.0.0.0 Tag : 1

可以看到当TYPE 为1时,metric属性仍然是1,我们通常所说的TYPE 2不计算OSPF

域内路径的COST值,TYPE1时要计算域内路径的COST值,那只是接收这个TYPE 5 LSA的域内路由器针对不同TYPE值采用不同的计算COST方法罢了,TYPE 5 LSA中字段的metric值是固定不变的。

接下来分析一下TYPE 3 LSA的metric:

10.10.8.0/30是RT6和RT8之间的互连网段,对于RT9来讲是OSPF区域间路由。查看RT9的路由表和LSDB:

disp ip rout

10.10.8.0/30 OSPF 10 4686 10.10.11.1 Serial0 disp ospf lsdb

Sum-Net 10.10.8.0 1.1.1.4 671 28 80000005 3124

disp ospf lsdb sum 10.10.8.0

OSPF Process 1 with Router ID 1.1.1.9 Area: 0.0.0.5

2013-3-25

第25页, 共65页

本文来源:https://www.bwwdw.com/article/nwtv.html

Top