最详细BGP的学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BGP第一节:IBGP邻居(所用的版本是4)
IBGP邻居:通常运行在同一个AS内。
AS :就是一组被统一管理的路由器。
这组路由器的特点:使用相同的内部网关协议,统一的度量值。
特点:可以直连,也可以不直连,但是底层必须能够访问。
AS号在eigrp的作用就是用于邻居的建立。在BGP中可以理解为是不同的运营商。
bgp的AS号是需要申请的。
具体的配置:neighbor 邻居Ip remote-as AS号
show controllers serial 0/0
查看某接口是DCE还是DTE。
配置时钟速率:clock rate 64000
一定要在DCE端配置时钟速率。
R1与R2 建立邻居
BGP的三张表:
邻居表:BGP的邻居关系不会自动建立,需要单播进行指邻居。(保留对端的AS 号码)BGP表:收集所有的路由信息,并且保留BGP 的所有属性--------更好的做人为控制。
BGP的管理距离值:20和200;20是从EBGP学过来的路由,200是从IBGP学过来的路由。路由表:
BGP的报文:
Open:
Keepalive:激活(hold时间不一样,邻居可以建立,它会进行协商选择时间小的,并且它的keepalive的时间自动调整为Hold时间的1/3。如果hello时间为0则BGP的邻居不down)
(需要注注意的是:hello时间不一样,ospf的邻居将不会建立)
修改命令;timesbgp 10 30
Update:包括路由器的属性,还有我BGP的路由信息。
Notification:
如果两端的AS号不一致,则会出现NOTIFICATION这个报文。-------BGP建立出错的时候也会出现这个报文。(2):清除了BGP的邻居关系时,也会出现这种报文。
BGP的经典案例(IBGP)
解决方法:如果有多条链路,就要建立多个邻居关系。
用物理接口建立邻居;不太可行(不太稳定),但是所出现的问题能解决。
用这种方法所出现的问题:设备的消耗(内存,CPU)
第二中的解决方法:就是邻居地址起环回口。(提供了邻居关系的备份)
这样的解决方案是最优的。
为什么做是最优的?
用环回口建立邻居可以使的邻居关系更稳定,因为如果是接口建立,一出现接口动荡就会影响邻居关系,用环回口会一直在。环回口还可以使链路有冗余。
但是需要解决两问题:
1:底层路由可达性
2:就是对源的检测(比较我neighbor地址是否是对端的发包地址的源地址)
源检测就是检测数据包的源地址是否是neighbor后的地址
如果要想邻居建立则如图
该怎么解决呢?根据命令修改。
Neighbor (ip-address)update-source interface-type interface-number
R1
Neighbor 2.2.2.2 update-source loopback 0
R2
Neighbor 1.1.1.1 update-source loopback 0
需要注意的是:该命令通常用在建立IBGP邻居。
如果R2开启了源检测,则那一个端口是TCP端口。(提供服务的端口,或者是目的端口)
R2是TCP端口。查看命令show ipbgpnei
Show tcpbri
BGP的同步技术
如果不是通过IBP得到的路由,或者是不可到达广播的下一跳,就不能把IBGP学到的路由,安装在路由表中,这就是同步。
EBGP邻居的建立
建立EBGP所遵循的规则;
1:解决问题是路由。(通常AS与AS之间有两种路由,一种是静态路由,另一种是缺省路由。)--------底层可达
2:更新源的问题
3:检测直连路由(TTL默认1)如果TTL值为0,路由器将会把包丢弃。
以环回接口来建立EBGP邻居,如果TTL值为1.则BGP不会发包,所以要修改TTL值。
命令:neighbor (ip-address) ebgp-multihop +(ttl值)
总结:
1:如果用的是直连接口,不管建立的是EBGP还IBGP,只需neighbor一条命令。
2:如果用环回接口来建立IBGP邻居,需要两条命令
(1)neighbor XXX remote-as +AS号
(2)Neighbor (ip-address)update-source interface-type interface-number
3:如果用环回接口来建立EBGP邻居,需要用三条命令:
(1)neighbor
(2)Neighbor (ip-address)update-source interface-type interface-number
(3)neighbor (ip-address) ebgp-multihop +(ttl值)
注意的是;
BGP的连接关系凌驾与IGP之上。(BGP的邻居的建立需要igp,但是我bgp的路由的传递不需要igp的)
如果两AS与AS之间用的是静态路由,则邻居将会建立。
如果两AS与AS之间用的是缺省路由,则邻居将不会建立。
原因是:BGP建立邻居需要在路由表里找到邻居Ip地址的明细路由,如果没有明细路由邻居将不能建立。
假如:
R1 静态路由(发包)
R2 缺省路由show tcpbri 179
实验:
EBGP建立邻居一般用直连接口建立。
show running-config | begin bgp
第二部分: