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

[已解决] MPLS解决BGP路由黑洞的问题

[复制链接]
发表于 2014-6-11 10:46:39 | 显示全部楼层 |阅读模式
3鸿鹄币
本帖最后由 HaroldFinch 于 2014-6-14 17:38 编辑

如图,R4R2是24.1.1.0网段,以此类推。R1R2R3建立IBGP,R2R4、R3R5分别建立EBGP。IBGP中运行了MPLS,但是R4与R5还是不能通信,网上说的要R2、R3重分布面向EBGP的直连接口,然后R4 R5可以通信了,但原理不是很明白
搜狗截图20140611104326.png

最佳答案

查看完整内容

按照R1不起bgp来说,道理还是一样的,R3上5.5.5.5的下一跳是35.1.1.5,传给R2这个ibgp对等体,不改变下一跳,R2没有35段路由,下一跳不可达,不装表,根本就不会再传给R4。R4都没有路由,能ping通就怪了。
发表于 2014-6-11 10:46:40 | 显示全部楼层
HaroldFinch 发表于 2014-6-13 14:10
我是这么理解的:重分布之后R2上有了35网段的路由,但数据报发往5.5.5.0时,并没有用到这条路由。至于R1 ...

按照R1不起bgp来说,道理还是一样的,R3上5.5.5.5的下一跳是35.1.1.5,传给R2这个ibgp对等体,不改变下一跳,R2没有35段路由,下一跳不可达,不装表,根本就不会再传给R4。R4都没有路由,能ping通就怪了。
沙发 2014-6-11 10:46:40 回复 收起回复
回复

使用道具 举报

发表于 2014-6-11 10:55:43 | 显示全部楼层
您这个能详细描述一下么 123 IBGP 24 35 EBGP?
板凳 2014-6-11 10:55:43 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-6-11 11:00:50 | 显示全部楼层
是的  123运行的IBGP,24、35分别建立EBGP
地板 2014-6-11 11:00:50 回复 收起回复
回复

使用道具 举报

发表于 2014-6-12 16:58:53 | 显示全部楼层
R1R2R3是否建立了全网对等体,也就是说每个路由器和其他两个路由器都建立对等体?
如果没有的话,需要重分布,因为R2可以获得R3宣告的 去往R5的BGP路由,但是R1  IGP路由表内却没有关于R5的任何路由,同理 R1 IGP路由表内也没有关于R4的路由,R4 R5路由黑洞
5# 2014-6-12 16:58:53 回复 收起回复
回复

使用道具 举报

发表于 2014-6-12 23:43:53 | 显示全部楼层
这就是单纯的bgp问题,跟mpls没关系。
例如4.4.4.4传给R2,下一跳是24.1.1.4,再传给R1,不改变下一跳,还是24.1.1.4。R1没有24.1.1.0网段的路由,下一跳不可达,不装表。
R2和R3指R1 neighbor时加next-hop-self即可
6# 2014-6-12 23:43:53 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-6-13 14:03:09 | 显示全部楼层
q0066421 发表于 2014-6-12 23:43
这就是单纯的bgp问题,跟mpls没关系。
例如4.4.4.4传给R2,下一跳是24.1.1.4,再传给R1,不改变下一跳,还 ...

R1并没有运行BGP啊,那R2R3 怎样指R1next-hop-self
7# 2014-6-13 14:03:09 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-6-13 14:10:42 | 显示全部楼层
L_The_gray 发表于 2014-6-12 16:58
R1R2R3是否建立了全网对等体,也就是说每个路由器和其他两个路由器都建立对等体?
如果没有的话,需要重分 ...

我是这么理解的:重分布之后R2上有了35网段的路由,但数据报发往5.5.5.0时,并没有用到这条路由。至于R1上没有R5的路由,R1传递数据包用的是标签表,所以我觉得重分布并没有什么作用,这点我实在是没想明白。
8# 2014-6-13 14:10:42 回复 收起回复
回复

使用道具 举报

发表于 2014-6-13 14:50:52 | 显示全部楼层
HaroldFinch 发表于 2014-6-13 14:03
R1并没有运行BGP啊,那R2R3 怎样指R1next-hop-self


"R1R2R3建立IBGP,R2R4、R3R5分别建立EBGP"这是我花眼了吗???
9# 2014-6-13 14:50:52 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-6-13 16:59:29 | 显示全部楼层
q0066421 发表于 2014-6-13 14:57
按照R1不起bgp来说,道理还是一样的,R3上5.5.5.5的下一跳是35.1.1.5,传给R2这个ibgp对等体,不改变下一 ...

我在R3上已经指R2 next hop了,给你看一下R2,R3的路由表

R2路由表

R2路由表

R3路由表

R3路由表
10# 2014-6-13 16:59:29 回复 收起回复
回复

使用道具 举报

发表于 2014-6-13 18:15:42 | 显示全部楼层
HaroldFinch 发表于 2014-6-13 16:59
我在R3上已经指R2 next hop了,给你看一下R2,R3的路由表

如果这些你都做了,我就不知道了。因为我是通了。
R4#ping 5.5.5.5 sou lo0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 4.4.4.4
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/79/92 ms
R4#traceroute
Protocol [ip]:
Target IP address: 5.5.5.5
Source address: 4.4.4.4
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to 5.5.5.5

  1 24.1.1.2 28 msec 16 msec 24 msec
  2 12.1.1.1 [MPLS: Label 17 Exp 0] 56 msec 64 msec 52 msec
  3 13.1.1.3 64 msec 72 msec 56 msec
  4 35.1.1.5 104 msec 84 msec 96 msec
R4#
11# 2014-6-13 18:15:42 回复 收起回复
回复

使用道具 举报

发表于 2014-6-13 19:42:29 | 显示全部楼层
q0066421 发表于 2014-6-12 23:43
这就是单纯的bgp问题,跟mpls没关系。
例如4.4.4.4传给R2,下一跳是24.1.1.4,再传给R1,不改变下一跳,还 ...

对,这就是个BGP的问题,我觉得大家得把这里边的几个问题摘出来,讨论的就是关于BGP next-hop 属性和同步这两个问题

关于BGP同步  可以看看TCP/IP 第二卷 P86  这个例子,就直接说明了Haroldfinch 问的这个问题
12# 2014-6-13 19:42:29 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2014-6-14 17:37:45 | 显示全部楼层
谢谢 问题已解决
13# 2014-6-14 17:37:45 回复 收起回复
回复

使用道具 举报

发表于 2014-6-19 19:46:17 | 显示全部楼层
原因是R4没有去往R5的路由,R5也没有去往R4的路由,但是你重发布后就有路由了,有了路由就可以通了
14# 2014-6-19 19:46:17 回复 收起回复
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-11 16:51 , Processed in 0.103218 second(s), 25 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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