RIP与OSPF双向重分发:eNSP配置、原理与排错

发布时间:2026/10/26 12:55:16
RIP与OSPF双向重分发:eNSP配置、原理与排错

1. 先想明白:为什么非要在RIP和OSPF之间做重分发

第一次在eNSP里把RIP和OSPF摆在一起的时候,很多人的直觉是"直接把两个协议都配上去不就行了"。真配下去你会发现,两边各自的邻居关系都是通的,路由表里却看不到对端网段的影子——RIP觉得自己只认识跳数,OSPF觉得自己只认识开销,两套协议互不认账,就像两个说不同方言的人坐在同一张桌子上,谁也听不懂谁。路由重分发(Route Redistribution)要解决的就是这个问题:在ASBR(自治系统边界路由器)上,把一个协议进程里的路由"翻译"成另一个协议进程能听懂的语言,再注入进去。

这个技能在实际网络里的出场率非常高。园区网早年上的RIP,后来出口设备换成支持OSPF的,两套要共存一段时间;或者并购、改造、分期割接的过程中,老区域跑RIP、新区域跑OSPF,边界设备上必然要做重分发。在eNSP里练这个,好处是成本极低:拓扑随便删,命令敲错了reset saved-configuration一重启就干净了,比真机折腾安全得多。所以我一直建议刚接触路由协议的人,把RIP与OSPF双向重分发当成一道"必修实验题"——它把度量值、优先级、路由环路、路由过滤这几个核心概念一次性串起来了,做完这一道,路由选路的底层逻辑基本就通了。

适合谁看:能配单协议RIP或OSPF、但对"引入之后路由去哪了"心存疑惑的人;正在准备网络方向认证、需要把实验现象和原理对上号的人;以及被"配了import-route但路由表没变化"卡住、想找一条系统排查路径的人。下面我按"原理—设计—配置—排错—工程化"的顺序铺开讲,命令都是在eNSP里实敲验证过的,可以直接抄。

1.1 两套协议并存不是设计失误,是现实妥协

很多人潜意识里觉得一个网络里跑两种IGP是"不专业"。实际上大型网络的演进从来不是推倒重来,而是渐进替换。一个典型场景是:某公司的老厂区网络十几年前用RIP搭起来,设备老、网段简单、维护人员也熟;新建的研发楼用OSPF,因为要分层、要快速收敛、要支持VLSM。两边的核心交换机之间连一根线,谁也不想把这个割接做成"停机一个周末"的大工程,于是边界设备上就出现了RIP进程和OSPF进程同时运行的局面。

还有一类场景是设备能力异构。有些低端接入设备只支持RIP,跑不了OSPF;而汇聚层以上全部是OSPF。这时候RIP就成了"最后一公里"的接入协议,重分发点放在汇聚设备上。这种"边缘RIP、核心OSPF"的架构在一些传统行业网里至今还能见到。

理解了这一点,你就不会把重分发当成一个炫技的配置,而会把它看成一种协议边界的适配层。适配层的设计目标很朴素:让两边的路由该通的通、不该通的不通、通过去的那条路还得是次优解里最优的那条。想清楚这三个目标,后面所有的参数(种子度量、路由类型、优先级、过滤策略)就都有了落脚点。

1.2 重分发的本质:汇率兑换加方向管理

我一直用一个比喻来解释重分发:它像货币兑换。RIP的度量单位是"跳数",OSPF的度量单位是"开销"(Cost),两者之间没有天然换算关系——就像人民币和美元,你不能说"1块钱等于1美元",必须有个汇率。这个"汇率"在网络术语里叫种子度量(Seed Metric),是你手工指定的、路由刚进入新协议时的初始开销。种子度量给得合不合理,直接决定了重分发过去的路由在对方域里是"优等生"还是"垫底货"。

除了汇率,还有方向。重分发是单向的:在OSPF进程里写import-route rip,意思是"把RIP的路由拿进OSPF",反过来在RIP进程里写import-route ospf才是另一个方向。这两条命令互不替代。很多人第一次配只写了一条,然后疑惑"为什么RIP能看到OSPF的网段,OSPF看不到RIP的",原因就在这儿。

再往深一层,还有"谁能换、换多少、换过去之后能不能再换回来"三个问题。谁能换靠路由策略控制,换多少靠度量值和路由类型控制,能不能换回来——这就是路由反馈和环路的源头,也是重分发里最容易翻车的地方。我见过不少实验环境的配置,单看每一条命令都对,但两台边界路由器一互联,路由表里就冒出莫名其妙的次优路径,本质上都是"换回来的钱又拿去换了一遍"。

1.3 一个最小可验证的拓扑设计

讲原理不如直接上手。为了把现象看清楚,我用一个三台路由器的线性拓扑,这是验证重分发最经济的结构:R1在RIP域,R3在OSPF域,R2夹在中间做ASBR,两边各跑一套协议,R2上做双向重分发。

地址规划如下,这个规划我在多个实验里复用,逻辑清晰、不易冲突:

设备接口IP地址所属协议域
R1GE0/0/0192.168.12.1/24RIP
R1GE0/0/1192.168.1.1/24RIP(模拟用户网段)
R2GE0/0/0192.168.12.2/24RIP
R2GE0/0/1192.168.23.2/24OSPF
R3GE0/0/0192.168.23.3/24OSPF
R3GE0/0/1192.168.3.1/24OSPF(模拟服务器网段)

为什么选线性拓扑而不是三角形?因为三角形会天然引入"两条路径",双向重分发一旦配上,次优路径和路由反馈会同时出现,现象非常混乱,新手根本分不清哪个现象是哪个原因造成的。先用线性拓扑把"路由能不能过去"这件最基本的事验证通过,再换成三角形去看环路,这个递进顺序我建议你别跳过。

提示:eNSP里给接口配完地址记得undo shutdown(多数型号默认开启,但某些镜像下GE口初始是关闭状态),不放心就手动敲一遍,代价为零。

2. 原理拆解:种子度量、优先级与环路是怎么发生的

配置命令其实只有几行,难的是理解"为什么这么给参数"。这一节我把三个决定成败的机制掰开讲:种子度量决定路由过去之后的相对优劣,优先级决定同一目的地有多条来源时谁进路由表,路由反馈决定双向重分发会不会自激。这三件事想透了,后面排错就是查表。

2.1 度量值不可通约,种子度量就是那个"汇率"

RIP的度量是跳数,取值范围1到15,16表示不可达。OSPF的度量是开销,默认算法是参考带宽 ÷ 接口带宽,参考带宽默认100Mbps,所以一个千兆口算出来的开销是1(100/1000不足1按1算),百兆口是1,十兆口是10。两套量纲完全不同:RIP里的"3"是3跳,OSPF里的"3"是3个开销单位,直接拿来比较毫无意义。

所以当RIP路由进入OSPF时,你必须告诉OSPF"这条外部路由初始算多少开销",这就是import-route rip 1 cost 20里那个20的作用。反过来把OSPF路由灌进RIP时,import-route ospf 1 cost 3里的3就是初始跳数。

这里有个非常关键的默认值陷阱:OSPF引入外部路由时默认cost是1,而RIP引入外部路由时默认cost是0(路由表里显示为metric 1)。这两个默认值都极度危险。RIP那边给0意味着这条从OSPF来的路由在RIP域里"零跳",比任何本地直连之外的RIP路由都优,一旦网络里存在冗余链路,流量会一股脑涌向重分发点。OSPF那边给1意味着不管RIP域里那条路实际有多远,进入OSPF后统一按"开销1"对待,多边界场景下所有OSPF路由器都会认为走这个ASBR最近。

我的经验做法是:RIP方向给3到5跳,OSPF方向给20到50的开销。给这个范围的理由是留出余量——RIP最大15跳,如果种子度量给到10以上,再叠加几跳就撞16变不可达,整条路由直接消失,这种故障现象特别隐蔽,路由表里是"没有"而不是"错误",很容易查错方向。OSPF给20以上则是因为域内一个千兆链路的开销才1,种子度量太小会让外部路由比域内路由还优,造成流量绕行。

重分发方向命令位置默认种子度量建议取值给这个值的理由
RIP → OSPFOSPF进程视图cost 120~50避免外部路由优于域内路由,留出叠加空间
OSPF → RIPRIP进程视图cost 0(显示1)3~5避免"零跳"抢占最优,同时不撞15跳上限

顺带说OSPF外部路由的两种类型。type 1表示外部开销要加上沿途OSPF域内的内部开销,type 2(默认)表示只算外部开销,域内开销不累加。选路时Type 1永远优先于Type 2,同类型之间才比总开销。多ASBR场景下,如果你想让大家按"离谁近走谁"来选,就用Type 1;如果就是想固定从某个点进出、不想让路径长度影响选择,用Type 2更稳。实验里先用默认的Type 2把流程跑通,再切Type 1观察路由表变化,这个对比做一次,你对LSA的理解会深一层。

2.2 优先级(管理距离)决定谁是回程那条路

华为设备里管"不同来源的同一目的地谁进路由表"的参数叫优先级(Preference),概念上等价于思科的管理距离,数值越小越优。默认值必须背下来:

路由来源默认优先级说明
直连0最高,永远优先
OSPF域内/域间10内部路由
静态路由60手工指定
RIP100距离矢量
OSPF外部(ASE)150引入进来的外部路由
BGP255最低

这张表里藏着一个很多人没注意到的关键点:OSPF外部路由的默认优先级是150,比RIP的100还低(数值更大)。这意味着在重分发边界路由器上,如果同一个目的网段既有一条RIP学来的路由,又有一条OSPF外部路由,设备会选RIP那条。

这个设计不是随意的,它天然抑制了一部分路由反馈:OSPF外部路由被引入RIP后,RIP域里传一圈再传回边界路由器时,因为优先级100优于150,回传的那条不会被采纳,环路被切断了一层。但别指望它包打天下——单向重分发时它确实好用,双向重分发加多边界时,优先级这道防线会被绕过去,该出环还是出环。

实际排错时,display ip routing-table 192.168.3.0这条命令比什么都好使,它会明确告诉你这个目的地有几条候选路由、各自什么协议、什么优先级、最终选了哪条。我经常看到有人只看display ip routing-table的汇总输出,发现路由"不对劲"就开始瞎改配置,其实一条带目的地址的查询就能定位到问题在优先级还是在度量值。

2.3 双向重分发的环路从哪来,怎么破

线性拓扑下做双向重分发,一般不会出问题,因为路径是单线的。但只要你把拓扑改成三角形——比如R1和R3之间再加一条直连——麻烦立刻就来。

推演一下:R2把RIP域的路由引入OSPF,R3学到了;R3又把这条路由通过直连链路以OSPF的方式告诉了R1?不对,R1不跑OSPF。真正的经典场景是双边界:两台边界路由器R2和R4同时连接RIP域和OSPF域,两边都配了双向重分发。这时候一条RIP路由被R2引入OSPF,OSPF泛洪到R4,R4又把它引入回RIP,RIP域里就出现了一条"绕了一圈回来"的路由,度量值随传播增加,但路由确实存在。如果R4引入时给的度量比原来那条还小,RIP域内的选路就直接被带偏了。

破法有三层,从轻到重:

第一层是单向重分发 + 默认路由。如果两个域之间本质是"边缘访问核心"的关系,根本不需要互相知道对方的所有明细,那就让边缘域只下发一条默认路由,核心域不需要知道边缘的明细。这是最干净的做法,环路从根上就不存在。OSPF里用default-route-advertise always,RIP里用default-route originate,各一条命令解决。

第二层是路由过滤。用ACL或前缀列表在重分发点卡住不该传播的网段,或者用路由策略给不同来源的路由打标签(Tag),在对方域里按标签拒绝。标签法是双边界场景的标准解法:R2引入时打tag 100,R4引入时打tag 200,两边都在import时拒绝对方标签的路由,环路立刻断掉。

第三层是调整优先级和度量值,让反馈回来的路由永远比原始路由差,设备自然不会选它。这层属于"用选路机制兜底",不如前两层干脆,但作为辅助手段很有效。

注意:双向重分发只在"确实需要两边互相知道明细"的时候才做。我见过太多实验环境上来就配双向,然后花两小时查环路,其实现网根本不需要——问一句"RIP域真的需要知道OSPF域里的每一条明细吗",答案往往是不需要。

3. eNSP实操:从零把这条链路配通

原理讲完,进eNSP动手。这一节的命令我按"先跑通单协议、再加重分发、最后验证"的顺序排,每一步都有明确的验证动作,做完一步看一步,比一口气全敲完再排查要省事得多。

3.1 拓扑搭建与基础地址配置

在eNSP里拖三台AR系列路由器,按1.3节的规划连线、改名、配地址。R1的配置:

system-view sysname R1 interface GigabitEthernet0/0/0 ip address 192.168.12.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.1.1 255.255.255.0 quit

R2作为边界设备,两个接口分属不同协议域:

system-view sysname R2 interface GigabitEthernet0/0/0 ip address 192.168.12.2 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.23.2 255.255.255.0 quit

R3:

system-view sysname R3 interface GigabitEthernet0/0/0 ip address 192.168.23.3 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.3.1 255.255.255.0 quit

配完之后先互相ping一下直连,ping 192.168.12.2和ping 192.168.23.3都通了再往下走。这一步别省,我踩过的坑里有一半是地址掩码敲错、接口没起来导致的"协议不通",结果花了半小时查协议配置。直连不通的时候看协议配置,纯属浪费时间。

3.2 先把RIP和OSPF各自配通

R1的RIP配置,重点是版本2和关闭自动汇总:

rip 1 version 2 undo summary network 192.168.1.0 network 192.168.12.0 quit

version 2必须配,版本1是有类路由协议,不支持掩码,实验里用不上。undo summary是关闭RIPv2的自动汇总——默认情况下RIPv2会把192.168.1.0/24这类子网路由汇总成主类网络192.168.1.0/24(C类正好是/24,看不出差别),但如果是192.168.10.0/24这种,自动汇总会变成192.168.0.0/16发出去,重分发到OSPF后就是一条错误的大网段。这个坑极其隐蔽,因为汇总后的路由"看起来也能通",只是通了不该通的地方。

R2的RIP侧和R1对接,只宣告12网段;OSPF侧只宣告23网段:

rip 1 version 2 undo summary network 192.168.12.0 quit ospf 1 router-id 2.2.2.2 area 0 network 192.168.23.0 0.0.0.255 quit

R3的OSPF配置:

ospf 1 router-id 3.3.3.3 area 0 network 192.168.23.0 0.0.0.255 network 192.168.3.0 0.0.0.255 quit

配到这儿,验证两件事:R1上display ip routing-table应该能看到192.168.12.0/24(直连)和192.168.1.0/24(直连),RIP邻居用display rip 1 neighbor确认状态是Up;R3上display ospf peer brief应该看到2.2.2.2处于Full状态。此时R1看不到192.168.3.0,R3也看不到192.168.1.0,这是正常的,两边还没打通。

提示:router-id在OSPF里必须手动指定。eNSP里如果没配loopback、也没指定router-id,设备会自己从接口地址里选一个,选举结果不可控,重启后可能变,引发邻居重建。养成习惯,每台跑OSPF的设备第一件事就是写router-id。

3.3 重分发命令逐条拆解

现在在R2上加两条命令,这是整个实验的核心。

把RIP引入OSPF:

ospf 1 import-route rip 1 cost 20 type 2 quit

把OSPF引入RIP:

rip 1 import-route ospf 1 cost 3 quit

就这两条,路由就通了。现在R3上执行display ip routing-table protocol ospf,应该能看到类似这样的输出:

Destination/Mask Proto Pre Cost Flags NextHop Interface 192.168.1.0/24 O_ASE 150 20 D 192.168.23.2 GE0/0/0

四个字段值得逐个看:O_ASE表示OSPF外部路由;Pre 150就是前面讲的默认优先级;Cost 20是你指定的种子度量;下一跳是R2。R1上display ip routing-table protocol rip应该能看到192.168.3.0/24,Cost为3。

为了验证连通性,在R1上ping 192.168.3.1,通。到这一步,最基础的双向重分发就跑通了。

再补两个常用变体。如果RIP域里有静态路由或者直连网段需要传过去,命令是import-route static和import-route direct,direct在eNSP实验里用得很多,因为不用额外造静态路由就能模拟"内部网段"。如果希望OSPF域能访问RIP域之外,可以在OSPF里下发默认路由:default-route-advertise always,注意不加always的话,只有本机存在默认路由时才会下发,实验里经常因为没有默认路由而"配了没反应"。

3.4 验证:别只看路由表,要看LSA和路径

路由表通了只是第一层。真正确认重分发按你预期工作,得多看几个地方。

先看OSPF的LSDB,确认外部路由是以Type-5 LSA的形式泛洪的:

display ospf lsdb ase 192.168.1.0

输出里能看到Type: External、Ls id: 192.168.1.0、Advertising Router: 2.2.2.2、Metric: 20、Forwarding Address。Forwarding Address这个字段是重分发排错的常客——如果它被填成了一个不可达地址,其他路由器虽然收到了LSA,但算不出有效路径,路由表里就是空的。默认情况下R2引入RIP路由时,FA是0.0.0.0,表示"从ASBR自己走",一般没问题;但如果R2连接RIP域的接口被配成了静默接口或者被过滤,FA可能变成实际地址,就要留意了。

再用tracert看实际转发路径。在R1上tracert 192.168.3.1,应该看到两跳:192.168.12.2、192.168.23.3。这个动作比ping有价值得多,ping只告诉你通不通,tracert告诉你走的是不是你以为的那条路。我在排查一次"路由表看着对但延迟异常"的问题时,就是靠tracert发现流量绕了一台本不该经过的设备。

最后一招,在R2上开调试观察路由的引入过程(实验环境用,现网慎用):

terminal monitor terminal debugging debugging ospf routing

能看到类似"import route from rip"的日志。看完记得undo debugging all关掉,调试日志在eNSP里刷屏很快,不及时关会拖慢模拟器。

4. 疑难排查:那些"配了但没生效"的时刻

重分发的报障有很强的规律性,绝大多数集中在五类现象上。我按"现象—原因—验证—处理"的结构整理了一遍,配一份速查表,遇到问题照着走一遍,基本能定位。

4.1 五类高频现象的原因分析

现象一:路由表里根本看不到引入的路由。最常见的原因是协议进程号写错。import-route rip 1里的1是RIP进程号,如果你RIP配的是rip 2,这条命令引的是个不存在的进程,自然没东西进来。第二种原因是源协议里本身就没有这条路由——比如RIP域里的网段没有被network宣告出去,RIP路由表里压根没有,那OSPF再怎么引也引不到。验证方法很直接:先在源协议上display rip 1 route或display ospf routing,确认路由确实存在,再去查引入端。

现象二:路由进来了,但下一跳不可达,路由表里标记为无效。这种通常在OSPF外部路由上出现,表现为路由表里有一条但Flags不是D。原因多半是Forwarding Address指向了一个OSPF域内不可达的地址,或者ASBR与下一跳之间的接口没跑OSPF。处理办法是在ASBR上确认引入接口所属网段已经被OSPF宣告,或者干脆用import-route配合route-policy把FA强制设为0。

现象三:路由有了,但走的是次优路径。这个最典型。比如OSPF域里明明有两条路能到R2,但所有流量都挤在一条上。原因通常是种子度量给得太小(比如默认的1),导致所有路由器都认为从ASBR出去最近。这时候把cost调大,或者改用type 1让内部开销参与累加,路径就会自然分散。我在一次实验里把cost从1改成30之后,OSPF域内两台路由器的下一跳立刻从"都指向同一个ASBR"变成了"各走各的近端",效果立竿见影。

现象四:RIP域里出现了一条跳数很离谱的路由。双向重分发加上冗余链路时,路由反馈会让某条路由在RIP域里来回传播,跳数不断累加,直到撞上16变成不可达,然后路由"时有时无",表现为间歇性丢包。看到这种抖动,第一反应就应该是"有环,去查双向重分发的两个点"。验证方法是在RIP域的两端分别display rip 1 route,对比同一目的地的跳数是否不一致。

现象五:明细路由变成了大网段。前面提过的RIPv2自动汇总。192.168.10.0/24、192.168.11.0/24被汇总成192.168.0.0/16传给OSPF,OSPF域里的设备就会认为整个/16都在RIP域,去往192.168.99.0的流量也会被送到R2然后丢弃。处理就是在RIP进程下加undo summary,然后在接口上确认没有额外的汇总配置。

4.2 排查命令与速查表

排查的核心思路是"顺着数据流往回找":先确认目的端有没有这条路由,再看源端有没有这条路由,最后看中间的重分发点有没有正确引入。每一步都有对应的命令。

现象优先检查的命令常见原因处理动作
完全看不到引入的路由display rip 1 route/display ospf routing源协议没有该路由、进程号写错补宣告、核对进程号
路由存在但不可用display ospf lsdb ase看FA字段Forwarding Address不可达宣告ASBR互联网段、或route-policy改FA
路径次优、流量集中display ip routing-table 目标网段种子度量过小调大cost或改type 1
路由抖动、时通时断两端display rip 1 route对比跳数双向重分发环路加路由过滤、打Tag、改单向
明细变大网段display rip 1 databaseRIPv2自动汇总未关闭undo summary
引入后路由优先级异常display ip routing-table 目标网段看PreOSPF外部150 vs RIP 100用preference调整或加过滤

再补两个我常用的组合命令。display ip routing-table protocol ospf只看OSPF路由,比看全表清爽;display ospf brief能看到本机是不是ASBR(输出里有ASBR: YES),如果这里显示NO,说明你压根没配import-route或者配到了别的进程上——这个字段是判断"重分发到底生效没有"最快的一眼。

注意:OSPF的filter-policy import只影响本机路由表,不影响LSA泛洪。很多人想用它阻止某条外部路由传播给其他设备,配完发现邻居照样能学到,就是因为这个。要真正阻止泛洪,得用filter-policy export(在ASBR上抑制Type-5生成)或者在ABR上用asbr-summary做抑制。这个区别记牢,能省下大量试错时间。

5. 工程化收尾:过滤、聚合与度量微调

实验环境跑通只是起点。真实网络里重分发承担的是"协议边界治理"的职责,光能通不够,还得可控、可预测、不惹事。这一节讲三件在实验里容易被忽略、但在实际配置中必须做的事。

5.1 用路由策略把不该传播的网段掐死

最直接的手段是ACL加filter-policy。假设RIP域里有个实验网段192.168.1.0/24不需要让OSPF域知道,先在R2上写ACL:

acl number 2000 rule 5 deny source 192.168.1.0 0.0.0.255 rule 10 permit quit

然后在OSPF进程的引入上调用:

ospf 1 filter-policy 2000 export quit

这样一来Type-5 LSA就不会为192.168.1.0生成,OSPF域里彻底看不到。比在接收端过滤干净得多。

更精细的控制用route-policy。它的好处是除了匹配还能改属性,比如给引入的路由统一打标签:

route-policy TAG-RIP permit node 10 apply tag 100 quit ospf 1 import-route rip 1 route-policy TAG-RIP cost 20 type 2 quit

打了Tag之后,在双边界场景里另一台边界路由器就可以在import时拒绝tag 100的路由,环路直接断掉。这套"引入时打标、反向时拒绝"的组合,是我处理多边界重分发的默认动作,比调度量值可靠得多,因为它不依赖数值比较的巧合,是逻辑上的硬隔离。

对RIP侧做过滤,命令形式一样:

rip 1 filter-policy 2001 export quit

注意RIP的filter-policy作用在发送更新上,export方向和OSPF的含义略有差别,别搞混。

5.2 度量值微调与聚合的取舍

种子度量给多少,除了前面讲的范围原则,还要结合实际的链路带宽。华为设备可以用bandwidth-reference统一调整OSPF的参考带宽,默认100Mbps在千兆、万兆环境下会让所有高速链路的开销都算成1,失去区分度。如果实验里想看到带宽差异带来的选路变化,可以在所有设备上统一改成bandwidth-reference 10000(即10Gbps参考),这样千兆口开销是10、百兆口是100,差异就出来了。这个参数必须在同一OSPF域内所有设备上统一,不一致会导致路由计算出现环路——因为每台设备对同一条链路的开销理解不同。

聚合方面,OSPF侧可以用asbr-summary把多条外部路由汇总成一条Type-5,RIP侧可以用summary在接口上做汇总。聚合的好处是减小LSDB和路由表规模、提高稳定性;代价是丢失明细,聚合网段内的某些地址如果实际不可达,流量会被引到ASBR然后丢弃,形成黑洞。我的做法是:只有在明细网段连续、且全部可达的前提下才做聚合,且聚合后的掩码不要比实际使用的范围大太多。实验环境里可以大胆试,把asbr-summary 192.168.0.0 255.255.0.0加进去,观察路由表从多条变一条,再undo回来对比,这个过程对理解聚合边界很有帮助。

最后提一句default-route-advertise的使用时机。如果RIP域是纯末端网络、只需要一条出口,那在OSPF里下发默认路由、在RIP域里也下发默认路由,两边互不引入明细,是最稳的架构。这种设计下压根不存在重分发环路问题,维护成本极低。我个人的偏好是:能用默认路由解决的场景,绝不引入明细;能单向解决的场景,绝不做双向。重分发的复杂度是有代价的,而这个代价往往在半年后某次割接时才显现出来。

我在实际做这类实验时的体会是,命令本身十分钟就能背下来,真正花时间的是"看到现象能反推到原因"。建议你把第4节那张速查表打印出来贴在显示器边上,每次实验故意制造一个故障——把cost改成1、把undo summary删掉、把进程号写错——然后自己查一遍,查三次之后这套东西就长在身上了。另外一个小技巧:eNSP支持保存拓扑快照,把"配置正确"的那个状态存一份,改坏了直接回滚,比一条条undo快得多,也避免了改到一半忘了原配置是什么。