BGP疑惑
我做了一个bgp的实验,R1是AS100,R2和R3是AS200,R2和R3之间起了ospf,R1与R2用S1/0连接
R2与R3用s1/1连接,
R1在bgp中宣告了1.1.1.1,在R3是能看到这个bgp路由,没为什么ping 1.1.1.1 不通啊
谢谢 -- 我也不知道。
我帮你招 兵买马来回答吧!…… 把你的主要配置贴出来看看吧,这个问题是BGP的一个重要概念的理解! 因为你没在r2上通告r2和r3的直连网段,r1上没有去往那个网段的路由表条目 这样数据包在回去的时候会被丢弃 是不是R2要设一下next-hop-self R1根本就学不到R3的路由怎么会通了啊 BGP确实够让人着迷啊 较复杂啊 不象IGP那样好理解 小模拟了一下:
R1---------------R2---------------R3
12.12.12.0 23.23.23.0
原来R3 bgp表:
BGP table version is 1, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i1.1.1.0/24 12.12.12.1 0 100 0 100 i
发现下一跳为R1.由于R1不与R3直连,故不可达.
原因:EBGP路由条目在IBGP中学习是不改变下一跳地址.R2学到传给R3,下一跳地址还是R1,没有变成R2.R3发现到1.1.1.0 的下一跳12.12.12.1不可达,故不将其放到路由表
解决:
在R2上输入neighbor next-hop-self
效果:
BGP table version is 2, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 2.2.2.2 0 100 0 100 i
[ 本帖最后由 ccs1218 于 2009-1-6 13:21 编辑 ] R1-------------(--R2------R3
"R1在bgp中宣告了1.1.1.1,在R3是能看到这个bgp路由"
说明楼主没有在R2上通告OSPF内部的网络给R1,这样R1就学习不到了3.3.3.3,所以,就算你有R2上修改neighbor R3 next-hop-self,R3能学习到1.1.1.1,即路由表中有了一个B打头的路由条目,也没用的,这个只能保证ICMP包能去,不能保证能回来,回来的事是由R1负责的。分析如下:
在R3 ping 1.1.1.1,也就是ICMP包能够到达R1。具体过程:R3 ping 1.1.1.1时,它开始检查自已的路由表有没有1.1.1.1,它发现有一个B打头的1.1.1.1路由条目,它的下一跳是23.1.1.2,因为是B打头,R3知道要进行递归查找直到找到一个不是B打头的路由条目,它利用1.1.1.1这条路由条目的下一跳----23.1.1.2为关键字开始在路由表中再检索一遍,于是它发现到一个以C打头的23.1.1.0的路由条目,根据最长匹配原则,就是它了,于是它开始封包,源地址是自已的出口IP地址---23.1.1.3,而目的地址是1.1.1.1。发给R2,R2收到此包,发现里面的目的地址是1.1.1.1于是R2与R3进行同样的递归查找,最后,把包原封不动的发给R1.R1收到此包时,发现里面的目的地址是自已的,于是开始拆包,发现里面的IP包协议字段是1,于是它知道了这是个ICMP包,它要回传一个ICMP包,于是R1开始以23.1.1.3为关键字检索路由表,发现没有23.1.1.3的路由条目(因为R2没有把R3的网络用network命令通告出去即network 23.1.1.0 mask 255.255.255.0).于是就回不去了,也就PING不通了。
PS:ICMP还没理解好!--
[ 本帖最后由 kkingkill 于 2009-1-6 14:14 编辑 ] 呵呵 大家很激烈啊 勇于发表啊Kkingkill QQ多少啊 你是刘伟?
页:
[1]
2