您的位置:首页 > 职场人生

策略默认路由的作用及影响 推荐

2011-02-15 14:15 260 查看
前几天在论坛上看一道na题目,貌似被称了na题库中比较难的一道题目。

题目是这样的:





其实就是ospf下放默认路由的问题,先废话几句,ospf下放的type 5 的lsa。ospf下放路由有2种方法:

1、必须有一条默认路由,再此基础上,进ospf进程下配置default-information originate这条命令

2、不需要默认路由,直接进ospf进程下配置default-information originate always这条命令

先说说这道题目,R1是宣告明细路由与默认路由到area 0,但是默认路由的下一跳不是指向null接口,而是指向R2.R2的路由表中会有明细路由与默认路由,如果R2去访问isp(注意我这里说的是非直连R1的接口),R2是会将数据包转发给R1的,而R1查看路由表,发现没有明细路由,只有一条指向R2的默认路由,又会将数据包转发给R2的,这样就会形成环路。至于l3的环路怎么解决,当然靠time to live来解决了,当收到ttl=1或0的时候是不会转发给下一跳的,并由icmp回复一个ttl超时的差错报文给发送设备。

但是,如果是直连isp的接口,还是会转发给isp的,因为R1有直连的明细路由,是不需要靠默认路由来转发的。

好了,轮到今天的主角:策略默认路由登场了,让默认路由的下一跳问题去一边凉快去吧。

先说说路由的优先级:

明细策略路由》明细路由》默认策略路由》默认路由

一般策略路由都是配置在接口的,只有到达接口才能触发。(我个人理解,接口模式优先于全局模式,也许不一定对,希望有人指正啊)

好了,先上topology吧:





R1与R2:12.1.1.0/24网段

R1与R3:13.1.1.0/24网段

R1与R4:14.1.1.0/24网段

R1上面配置loopback口:1.1.1.1/24

R2上面配置loopback口:2.2.2.2/24

R3上面配置loopback口:3.3.3.3/24与33.3.3.3/24网段

R4上面配置loopback口:4.4.4.4/24

R1与R3与R4运行ospf,都属于传输区域。(就没配置ospf多区域了)

先看看R1上面的配置吧:









(这里默认路由的下一跳换了个接口,开始放在ser0/1接口的,为了给大家看看效果,就是上面题目的意思:发生loop,通信不了。







看R1的路由表:





有下一跳为ser0/2的默认路由。

R2的路由表





R3的路由表





R4的路由表





R3与R4都没有R2上面lookback口:2.2.2.2的路由条目(明细路由),只能靠默认路由来转发。而R2上面有到达R3与R4的各个接口的静态路由。

先来看看R3与R4访问R2,R2上面loopback口的结果:

(这里为什么要访问R2的串口,为了证明R2如果有明细路由的话,明细路由的优先级高于策略默认路由以及默认路由的)

R4的:





R3的:





R3 traceroute





注意这里,一会比较默认路由下一跳指向R3,而且route-map作用在R1与R3直接接口上面有什么不同.这里先放放。

R4 Traceroute





看到结果没有,R4访问2.2.2.2,R4将数据包转发给R1,R1查看路由表将数据包返还给R4,周而复始,ttl=0才能结束。

R4发送出去的packet(traceroute为udp数据包,设置一个高的端口,如果这个端口有应用程序用就搞笑了,不过microsoft的tracert有所改进,tracert靠icmp的echo-relay查询报文来得知到达目的地。traceroute靠icmp的差错报文来得知每一跳的ip地址,到达都后靠icmp回复的端口不可达的差错报文得知达到目的地)





R1给予的回应:(type为11,code为0的ttl超时)





R4将ttl值加+1,得知下2跳的ip地址:





R4自己给自己发的icmp差错报文(这里就是R1将该报文返还给R4了,因为这里经过R1所以ttl-1.这里就是loop了,路由器的ttl为255,想想结果吧)





结果是:默认策略路由》默认路由

好了,现在将R1上面的默认路由的下一跳改为与R3直连的接口





再来看看R3与R4访问R2上面2.2.2.2的结果







看到没有R3与R4都可以访问R2上面的loopback接口了,但是2者的路由方向并不相同。

还记得上面“一会比较默认路由下一跳指向R3,而且route-map作用在R1与R3直接接口上面有什么不同?”

这里要分析R4的packet转发了,当R4将packet转发给R1的时候,R1查看自己的路由表发现转发给R3(这里就是13.1.1.3的来历了)。但是R1上面与R3直连的接口配置了route-map,所以R3又将packet转发回R1,(这里就是R1接口地址:13.1.1.1的来历)并由于策略默认路由优先于默认路由,packet被转发到R2了。剩下的过程由R2来处理。

这也是我认为“一般策略路由都是配置在接口的,只有到达接口才能触发。”的由来。

说完了配置及原理,策略默认路由该运用在什么场合?

我个人认为

1、可以配置在lan内部,某些主机不想给他访问internet的权限,但是可以访问server,可以将下一跳指向与server的连接设备接口。

2、多个isp接入的网关设备上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息