设为首页收藏本站language 语言切换
查看: 3224|回复: 8
收起左侧

[求助] 关于bgp 下一跳特例的 在线等答

[复制链接]
发表于 2014-8-21 14:24:19 | 显示全部楼层 |阅读模式
3鸿鹄币
本帖最后由 xccnat 于 2014-8-21 14:29 编辑

关于bgp 下一跳特例的 问题

如图拓扑

问题 1
R1 和 R3 建立ibgp邻接关系 互相指neighbor是loopback0口
更新源也改的是loopback 0口
R1 对 R3做了next-hop-self
然后 R3 和R4是Ebgp关系
在指了直连接口的情况下
R3因为下一跳特例 给R4传路由时
下一跳地址会直接改成R1的出接口地址
即便指的是 loopback口也能通过递归查询找到对的地址
如果R3 和 R4之间 也用 环回口建邻居
并改了更新源地址
再看下一跳地址 就变成R3了
也就是特例失效了


按理说即便特例失效 不是还有icmp的重定向么

为什么路由条目下一跳还是R3
为什么会这样呢 这个路由是怎么走的 ??怎么变的??


问题 2
如果在 R4宣告环回口路由
R1收到了路由条目是指向R4的出接口地址
上面也说了 R3和R4用的环回口建邻居
也就是说R1收到的路由下一跳不是R4的更新源地址
这说明R3做了递归表查询之后发给R1的吗?
不然下一跳地址应该是R4的更新源地址而不是接口地址
而且这个和上面情况一样 R3和R4,R1之间都是环回口指邻居,更新源
为什么这里R1收到的路由下一跳地址是R4的出接口地址呢
而且不是更新源 地址

这个怎么解释的?


1231231.jpg

最佳答案

查看完整内容

我总结过这个特殊下一跳,以下是我总结的规律: 路由器发现上一跳邻居传递该路由的接口IP地址和下一跳邻居的更新原地址在同一个IP子网 那么,该路由器就会主动将该路由的下一跳地址改为上一跳邻居的接口IP地址 必须满足上面加粗字体的条件 否则特殊下一跳不成立
 成长值: 51215
发表于 2014-8-21 14:24:20 | 显示全部楼层
我总结过这个特殊下一跳,以下是我总结的规律:

路由器发现上一跳邻居传递该路由的接口IP地址和下一跳邻居的更新原地址在同一个IP子网
那么,该路由器就会主动将该路由的下一跳地址改为上一跳邻居的接口IP地址

必须满足上面加粗字体的条件
否则特殊下一跳不成立
沙发 2014-8-21 14:24:20 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-8-21 15:13:15 | 显示全部楼层
本帖最后由 xccnat 于 2014-8-21 15:15 编辑
qsy112233 发表于 2014-8-21 14:55
我总结过这个特殊下一跳,以下是我总结的规律:

路由器发现上一跳邻居传递该路由的接口IP地址和下一跳邻 ...

先谢谢兄弟指点 我虽然也发现了
但是没总结到你这么精华。


这个我也发现了 就是问题1 问的
上一跳的地址是可以通过递归解析出来的
而下一跳却解析不了 如果下一跳也互相改了更新源
而不是直接指的接口地址特例就失效了。

关键就是 这个原理是什么呢
路由为什么下一跳就不能通过递归解析了呢
发出路由条目的时候肯定也是通过路由解析后才知道
更新源地址该怎么走的。


就在我这么认为的时候
问题2出现了
反向在R4通告路由后,R3两边指的都是更新源
R1收到的路由条目下一跳竟然是接口
也就是说反向解析出来了,匪夷所思啊
板凳 2014-8-21 15:13:15 回复 收起回复
回复

使用道具 举报

 成长值: 51215
发表于 2014-8-21 15:18:56 | 显示全部楼层
xccnat 发表于 2014-8-21 15:13
先谢谢兄弟指点 我虽然也发现了
但是没总结到你这么精华。

谁知道呢,当初听视频的时候我就发现自己做的实验不对
然后琢磨了一下才搞清楚怎么回事
地板 2014-8-21 15:18:56 回复 收起回复
回复

使用道具 举报

 成长值: 51215
发表于 2014-8-21 15:50:57 | 显示全部楼层
xccnat 发表于 2014-8-21 15:13
先谢谢兄弟指点 我虽然也发现了
但是没总结到你这么精华。

你有没有对邻居使用next-hop-self
如果没有敲这条命令,显示4的地址是正常且应该的吧
5# 2014-8-21 15:50:57 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-8-21 16:01:11 | 显示全部楼层
qsy112233 发表于 2014-8-21 15:50
你有没有对邻居使用next-hop-self
如果没有敲这条命令,显示4的地址是正常且应该的吧

我一开始也这么想
后来我发现更新源是改过的
如果没有经过解析 应该是R4的loopback口地址才对
但是他却正确的指了接口地址
6# 2014-8-21 16:01:11 回复 收起回复
回复

使用道具 举报

 成长值: 51215
发表于 2014-8-21 17:18:47 | 显示全部楼层
xccnat 发表于 2014-8-21 16:01
我一开始也这么想
后来我发现更新源是改过的
如果没有经过解析 应该是R4的loopback口地址才对

我刚才又做了一次实验,结论验证应该是没问题的,下一跳指向的是R3啊。。
router bgp 1
no synchronization
bgp router-id 3.3.3.3
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 1
neighbor 1.1.1.1 update-source Loopback0
neighbor 1.1.1.1 next-hop-self
neighbor 4.4.4.4 remote-as 4
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 4.4.4.4 update-source Loopback0
no auto-summary

这是我R3的配置 你看看是否有什么不同的地方
7# 2014-8-21 17:18:47 回复 收起回复
回复

使用道具 举报

头像被屏蔽
发表于 2014-8-22 16:28:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
8# 2014-8-22 16:28:43 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-8-23 11:03:56 | 显示全部楼层
qsy112233 发表于 2014-8-21 17:18
我刚才又做了一次实验,结论验证应该是没问题的,下一跳指向的是R3啊。。
router bgp 1
no synchroniz ...

回晚了不好意思
昨天学属性了 没做试验
今天一早把实验又做了一遍
确实是 指的R3的回环口
没有问题的。是我上次不知道哪里配错了。
9# 2014-8-23 11:03:56 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-5-8 15:01 , Processed in 0.199731 second(s), 27 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表