CCNP-第十篇-BGP(二)
首先 BGP都基本上部署在PE,CE设备
PE:Provider edge =运营商边界
CE:Customer edge =用户边界
建立BGP
1.一般呢,是会使用环回口建立BGP
2.因为他是虚拟接口,很稳定,而且不会down,只要系统在,他就不会down;;
3.如果他down了就是整个网络都断了
4.节约接口使用
本次实验环境
后面的R3和R4启EBGP邻居
R1环回口为100.1.1.1
R3环回口为200.1.1.1
R1-R3启动OSPF跑底层,然后R1和R3启BGP宣告环回接口
这个时候分别看看R1R2R3的路由表
可以看到 R1和R3都收到了彼此宣告的路由条目
>但是,请注意
>1.从R1上宣告的,R4收到了 但是其实并不通,虽然理论上是通的
>2.R4宣告的,R1并没有收到
TAG:所以,从EBGP邻居收回来的路由条目不能被宣告到IGP的邻居
因为在R1中,并没有去往R4的路由
可是当我们输入上这条命令
R1就能收到了,为什么呢?
next-hot-self 这条命令的意思是,对于10.1.1.1来说,我就是他在BGP里面的下一跳
可以看到,已经收到了来自R4的路由并且下一跳是指向R3的
.
其实这个过程有点像重分布
但是其实这个时候,他们并不通
此时从R4上去ping一下R1
因为到了R2上,他并没有路由条目,这个东西叫做BGP路由黑洞
那么怎么防御呢?
BGP同步(现在不用)
因为防止黑洞,这个时候就有一个东西叫做BGP同步
因为这里是模拟器,所以需要进行一次重启
clear ip bgp * 硬重启
BGP软重启
clear ip bgp * soft
可以看到,R3的路由器已经失去了IBGP的100.1.1.0的网段
但是在BGP表里面是有的
既然R3收不到,那肯定就不能给R4了
可以看到在BGP表里面的标志是
没有大于号Best
第一种情况,他不是最优的
第二种情况,开了同步
这时候问题来了了,为什么他既不是最优的又没有条目
他不会放到路由表里面呢?
因为在同步的情况下,只有从IGP中也收到这个条目才会进入路由表
但是IGP有个特点,必须两两互联,那么这样就失去了BGP的意义
这个时候在R1上把100.1.1.1也宣告了
然后这个时候来看R3
可以看到,100.1.1.0虽然受到了,但是状态是RIB,无法进入路由表
这是因为
OSPF的管理距离是110.而IBGP的管理距离是200.肯定越小的越好呀
但是!!!
他只是在本机上不能进入路由表,不代表他不可以传输
所以在R4上,可以收到这个路由条目
TAG:它只要是best(大于号)最优的,那么它就可以传递
但是这样一来,就相当于在运营商每个涩北桑都要有全网路由可是这样不科学啊,BGP还有什么意义啊,所以其实这个功能是默认关闭的!,而且也不这样用
.
这里面穿插一个东西,叫MPLS,以后就能学到滴啦
这里面做了MPLS就会通R1和R4了
这里配置省略
有一个词叫做MPLS-VPN
其实这个东西就是MPLS+BGP的存在
BGP防环机制
1.IGBP防御机制
一.水平分割
这个水平分割跟路由器的一样,不过角色不一样而已
当从一个IBGP的邻居收到的条目不会再传给另外一个IBGP邻居.
RR-路由反射器,用来打破IBGP防滑机制
2.EBGP防环机制
一.As-Path
一旦收到了路由条目,如果发现了这个条目里面有我自己的AS号,那么就会拒收.
BGP邻居机制
1.Idle(检测路由,互通,跳数)
2.connect,找到路由表后进行3次握手(发送TCP连接)
成功则进入OpenSent,失败则进入Active,并且发起重连
3.Active 失败重连等待状态
4.OpenSent,建立完TCP後开始发送open,并且等对面的open,如果没问题就发送Keepalive,如果没有,就发送报错信息,notification回到idle.
5.Open confirm,等待对方的keepalive分组,如果等到了,就进入establish,如果等不到,那就回到idle状态
6.establish ,正常状态,维持邻居信息,可以交换update,keepalive,notification.
总结
1.同步的概念,为什么要用,为什么不用.不用的解决方案是什么
说了这么多
为什么会产生黑洞,因为是跨设备运行
为什么会有同步,因为可以解决黑洞
为什么默认关闭同步,因为同步要求IGP,IGP则要求每跳传输
所以,必须要用到MPLS,一定要存在.而且是没什么其他的解决办法
因为会有MPLS标签的解决方案,这里就是截至目前的教学
2.防环机制
IBGP水平分割
EBGP的As-Path
3.BGP的邻居状态机制的建立过程以及维系
下一章即将到达很重要的东西
BGP的十三条选路原则,这也是为什么BGP的可控性强的原因