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

[求助] BGP协议EBGP和IGP问题

[复制链接]
发表于 2016-6-24 00:01:44 | 显示全部楼层 |阅读模式
20鸿鹄币
如图所示,拓扑图如下 QQ图片20160623235216.png ,各路由器配置如下
R1:interface Loopback0
ip address 2.2.2.1 255.255.255.0
ip router isis
!
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.0
ip router isis
duplex half
!
interface FastEthernet1/0
ip address 4.4.4.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/1
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/1
no ip address
shutdown
duplex auto
speed auto
!
router isis
net 00.0002.0000.1111.e700.00
!
router bgp 100
no synchronization
bgp log-neighbor-changes
network 2.2.2.0 mask 255.255.255.0
neighbor 4.4.4.1 remote-as 200
no auto-summary


R2:interface Loopback0
ip address 3.3.3.1 255.255.255.0
ip router isis
!
interface FastEthernet0/0
ip address 1.1.1.2 255.255.255.0
ip router isis
duplex half
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 5.5.5.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/1
no ip address
shutdown
duplex auto
speed auto
!
router isis
net 00.0002.0000.2222.e700.00
!
router bgp 100
no synchronization
bgp log-neighbor-changes
network 3.3.3.0 mask 255.255.255.0
neighbor 5.5.5.1 remote-as 200
no auto-summary



R3:interface Loopback0
ip address 192.168.1.1 255.255.255.0
!
interface FastEthernet0/0
no ip address
shutdown
duplex half
!
interface FastEthernet1/0
ip address 4.4.4.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 5.5.5.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/1
no ip address
shutdown
duplex auto
speed auto
!
router bgp 200
no synchronization
bgp log-neighbor-changes
network 4.4.4.0 mask 255.255.255.0
network 5.5.5.0 mask 255.255.255.0
network 192.168.1.0
neighbor 4.4.4.2 remote-as 100
neighbor 5.5.5.2 remote-as 100
no auto-summary

实际上在R1和R2之间只运行了isis协议,然后R1和R3,R2和R3之间运行BGP协议,各自的网段通过network命令发布,分别show ip bgp如下显示:
R1: Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.0/24       0.0.0.0                  0         32768 i
r> 4.4.4.0/24       4.4.4.1                  0             0 200 i
*> 5.5.5.0/24       4.4.4.1                  0             0 200 i
*> 192.168.1.0      4.4.4.1                  0             0 200 i

R2:
  Network          Next Hop            Metric LocPrf Weight Path
*> 3.3.3.0/24       0.0.0.0                  0         32768 i
*> 4.4.4.0/24       5.5.5.1                  0             0 200 i
r> 5.5.5.0/24       5.5.5.1                  0             0 200 i
*> 192.168.1.0      5.5.5.1                  0             0 200 i


R3:
Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.0/24       4.4.4.2                  0             0 100 i
*> 3.3.3.0/24       5.5.5.2                  0             0 100 i
*> 4.4.4.0/24       0.0.0.0                  0         32768 i
*> 5.5.5.0/24       0.0.0.0                  0         32768 i
*> 192.168.1.0      0.0.0.0                  0         32768 i

实际上可以看到R3是接收到了2.2.2.0和3.3.3.0网段的,但是为什么到R2和R1就没了?在R1上traceroute3.3.3.1 实际上走的还是ISIS协议的路由,即使我把R1和R2之间的isis路由断掉,show ip bgp还是学习不到对应的路由,请问这是为什么,请知道的告诉下,谢谢了,实际上就是一个很简单的实验,可能我粘贴的配置有点多了,麻烦大神看下

最佳答案

查看完整内容

1) 为什么R1没学到3.3.3.0, R2没学到2.2.2.0? 因为你R1和R2没有互为邻居。所以当R3把3.3.3.0传给R1的时候,AS-PATH里带着100这个AS号,R1收到后当然就不会放到BGP表里了。 同理R2为什么没学到2.2.2.0. 怎么解决? R1和R2互指邻居成为iBGP邻居就可以了。 2) 为什么BGP路由表里的有些路由项会带"r"? 比如说 R1上的4.4.4.0/24这个网段。 这是因为你在R1本地上没把该路由宣告进BGP里。 当你从邻居 (R3啦)学到的 ...
发表于 2016-6-24 00:01:45 | 显示全部楼层
本帖最后由 dingjerry 于 2016-6-24 01:42 编辑

1) 为什么R1没学到3.3.3.0, R2没学到2.2.2.0?

因为你R1和R2没有互为邻居。所以当R3把3.3.3.0传给R1的时候,AS-PATH里带着100这个AS号,R1收到后当然就不会放到BGP表里了。  

同理R2为什么没学到2.2.2.0.
怎么解决?  R1和R2互指邻居成为iBGP邻居就可以了。

2) 为什么BGP路由表里的有些路由项会带"r"?  比如说 R1上的4.4.4.0/24这个网段。

这是因为你在R1本地上没把该路由宣告进BGP里。 当你从邻居 (R3啦)学到的时候是EBGP, AD值高达200. 你本地路由表里有该直连路由, AD值是1.  当然就不会把学到的AD值高达200的该EBGP 路由放到路由表里了。

怎么解决?  简单,R1上在"router bgp 100" 里宣告4.4.4.0/24就可以了。
沙发 2016-6-24 00:01:45 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-24 07:17:49 | 显示全部楼层
本帖最后由 531207502 于 2016-6-24 07:33 编辑

谢谢你的回答,第一个问题我懂了,实际上就是因为R1R2没有互指邻居,然后他们从R3学到的路由都是带了100这个AS号,所以拒绝接受该更新,R1R2之间建立邻居实际上就是让R1和R2他们相互更新(比如R1的网段2.2.2.0,以前是想从R3更新到R2,现在就是直接R1到R2)
然后2.2.2.0和3.3.3.0 既然是从R1和R2学到的,那实际上他们就是从ibgp学到的,管理距离就是200,所以traceroute的时候还是走的ospf的路径
第二个,EBGP的管理距离是20,其他的暂时没看到啥问题,谢谢你的回答还有个问题,如果我R1R2互指邻居是用的是4.4.4.2和5.5.5.2接口,同时把R1和R2之间fa0/0down掉,互ping2.2.2.1和3.3.3.1有掉包的情况,如果用isis路由ping的话没有掉包,请问知道是什么问题吗

板凳 2016-6-24 07:17:49 回复 收起回复
回复

使用道具 举报

发表于 2016-6-24 13:03:22 | 显示全部楼层
你在R3上抓PING包看看会不会显示掉包的原因。
地板 2016-6-24 13:03:22 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-24 13:38:31 | 显示全部楼层
dingjerry 发表于 2016-6-24 13:03
你在R3上抓PING包看看会不会显示掉包的原因。

现在上班了没法弄,我感觉是拓扑有点问题,仔细想想那个拓扑,实际上R3是连接了2个相同AS的路由器,然后对R1和R2来说实际上他们互指邻居走的路由又是跨了一个EBGP,这种拓扑本来应该就是错的吧

点评

拓扑没有问题。相当于同一个AS中的两个邻居之间的的直接链接down了,这个时候只能通过走ISP来互相访问。  详情 回复 发表于 2016-6-25 00:40
5# 2016-6-24 13:38:31 回复 收起回复
回复

使用道具 举报

发表于 2016-6-25 00:40:23 | 显示全部楼层
531207502 发表于 2016-6-24 13:38
现在上班了没法弄,我感觉是拓扑有点问题,仔细想想那个拓扑,实际上R3是连接了2个相同AS的路由器,然后 ...

拓扑没有问题。相当于同一个AS中的两个邻居之间的的直接链接down了,这个时候只能通过走ISP来互相访问。
6# 2016-6-25 00:40:23 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-25 01:44:54 | 显示全部楼层
dingjerry 发表于 2016-6-25 00:40
拓扑没有问题。相当于同一个AS中的两个邻居之间的的直接链接down了,这个时候只能通过走ISP来互相访问。

那请问为什么会有丢包呢,还有如果是EBGP的话一般不会非直连情况下互指邻居吧?比如AS100-AS200-AS300,一般AS200和AS100和300互为邻居,然后AS100和AS300不会互指邻居是把,如果要互指的话,一般是在什么情况下

点评

1) 为什么有丢包,我也说不清楚。 所以我在上面的一个回复里建议在R3上抓包看。 2)按照你的这个拓扑,AS100-AS200-AS300 , 我不知道你纠结于什么东西。 AS100和AS300还是有可能互指为EBGP邻居啊。 举个例子  详情 回复 发表于 2016-6-25 05:19
7# 2016-6-25 01:44:54 回复 收起回复
回复

使用道具 举报

发表于 2016-6-25 05:19:42 | 显示全部楼层
531207502 发表于 2016-6-25 01:44
那请问为什么会有丢包呢,还有如果是EBGP的话一般不会非直连情况下互指邻居吧?比如AS100-AS200-AS300, ...

1) 为什么有丢包,我也说不清楚。 所以我在上面的一个回复里建议在R3上抓包看。

2)按照你的这个拓扑,AS100-AS200-AS300 , 我不知道你纠结于什么东西。 AS100和AS300还是有可能互指为EBGP邻居啊。

举个例子说,公司A 是AS100, 公司B是AS300, 他们都和同一个ISP , 也就是AS200互为EBGP 邻居。  后来公司A收购了公司B, 他们不想把AS300改成AS100, 但是又要互为邻居(同一个公司了嘛)。 这个时候, AS100和AS300还是可以互为EBGP邻居的。

记住一点:  BGP邻居不是基于直连的基础上的,而是基于有路由可达的基础上的。
8# 2016-6-25 05:19:42 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-25 10:32:53 | 显示全部楼层
谢谢你的回答,我在R3抓包看了,实际上从R1到R2的接口上都存在丢包的现象,不知道为什么,wireshark抓到的是ping包没有回复,具体原因就不知道了
然后你说的AS100-AS200-AS300这个拓扑,其实我主要想的是AS100和AS300互指为EBGP邻居的目的其实还是为了交换路由信息,但实际上他们已经属于两个不同的AS了,实际上不同AS路由信息还是可以交换到的,比如我说的那个拓扑AS100-AS200-AS300,如果AS100和300建立邻居,实际上就是把AS100或者300的路由信息直接发给邻居,如果不建立邻居的话就是AS100的路由信息到AS200,然后再由AS200发给AS300,所以我觉得EBGP没有建立邻居的必要,而且书上也没有地方专门说EBGP建立邻居,不知道是不是这部分的知识我看漏了,麻烦解答下,谢谢
9# 2016-6-25 10:32:53 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-25 10:33:59 | 显示全部楼层
dingjerry 发表于 2016-6-25 05:19
1) 为什么有丢包,我也说不清楚。 所以我在上面的一个回复里建议在R3上抓包看。

2)按照你的这个拓扑 ...

谢谢你的回答,我在R3抓包看了,实际上从R1到R2的接口上都存在丢包的现象,不知道为什么,wireshark抓到的是ping包没有回复,具体原因就不知道了
然后你说的AS100-AS200-AS300这个拓扑,其实我主要想的是AS100和AS300互指为EBGP邻居的目的其实还是为了交换路由信息,但实际上他们已经属于两个不同的AS了,实际上不同AS路由信息还是可以交换到的,比如我说的那个拓扑AS100-AS200-AS300,如果AS100和300建立邻居,实际上就是把AS100或者300的路由信息直接发给邻居,如果不建立邻居的话就是AS100的路由信息到AS200,然后再由AS200发给AS300,所以我觉得EBGP没有建立邻居的必要,而且书上也没有地方专门说EBGP建立邻居,不知道是不是这部分的知识我看漏了,麻烦解答下,谢谢

点评

换句话说,你不要纠结于EBGP有没有建立邻居的必要。 在实际运用中,总会有一种情况要用到这种拓扑的, 只是你还没碰到而已。  详情 回复 发表于 2016-6-26 00:18
你的拓扑,关于路由交换你的理解是对的。 但是你说”觉得EBGP没有建立邻居的必要“, 这个我不敢苟同。 就像我举的那个例子就是啊。  详情 回复 发表于 2016-6-26 00:12
10# 2016-6-25 10:33:59 回复 收起回复
回复

使用道具 举报

发表于 2016-6-26 00:12:47 | 显示全部楼层
531207502 发表于 2016-6-25 10:33
谢谢你的回答,我在R3抓包看了,实际上从R1到R2的接口上都存在丢包的现象,不知道为什么,wireshark抓到 ...

你的拓扑,关于路由交换你的理解是对的。 但是你说”觉得EBGP没有建立邻居的必要“, 这个我不敢苟同。  就像我举的那个例子就是啊。
11# 2016-6-26 00:12:47 回复 收起回复
回复

使用道具 举报

发表于 2016-6-26 00:18:07 | 显示全部楼层
531207502 发表于 2016-6-25 10:33
谢谢你的回答,我在R3抓包看了,实际上从R1到R2的接口上都存在丢包的现象,不知道为什么,wireshark抓到 ...

换句话说,你不要纠结于EBGP有没有建立邻居的必要。  在实际运用中,总会有一种情况要用到这种拓扑的, 只是你还没碰到而已。
12# 2016-6-26 00:18:07 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-6-26 11:22:32 | 显示全部楼层
dingjerry 发表于 2016-6-26 00:18
换句话说,你不要纠结于EBGP有没有建立邻居的必要。  在实际运用中,总会有一种情况要用到这种拓扑的,  ...

好的,谢谢你的回答,这种还是要根据实际来看,还有丢包的问题我估计是GNS3本来的问题,因为那两个点都是直连的还存在丢包的情况,我重新做了个拓扑实际上又不存在丢包的情况了
13# 2016-6-26 11:22:32 回复 收起回复
回复

使用道具 举报

发表于 2016-7-6 09:52:05 | 显示全部楼层
AS号都为100,BGP防环机制,R3不会将来自AS100的路由再宣告给AS100,所以你可以在R1,R2上来一条nei xxx allowas-in 2就可以了,你还可以控制两个路由条目的AD值来设置从ISP走呢,还是从内部AS走。
14# 2016-7-6 09:52:05 回复 收起回复
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 20:15 , Processed in 0.119733 second(s), 34 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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