首页 > 代码库 > BGP
BGP
公有AS:0-64511
私有AS:64512-65535
它是一个路径矢量协议
IGP是以路由器为一个节点的,也就是hop-by-hop
BGP是以AS号为一个节点,as-by-as
特点:
1、基于TCP 端口为179,可靠的更新机制
2、触发更新机制
3、keepalive 每60秒发送一次,holdtime是180秒
IGP中hello的作用:
1、就是建立邻居
2、和keepalive一样的作用
BGP发送OPEN报文,建立邻居,之后周期发送keepalive报文
4、具有更多的属性
5、设计用于大型网络
BGP有三张表:
1、邻居表 show ip bgp summary
2、BGP表 show ip bgp
3、路由表 show ip route b
IBGP的AD为200 EBGP的AD为20
BGP的报文类型:
1、open报文
2、keepalive报文
3、update报文
4、Notification报文:发送错误的时候
Peers=neighbors speeker就是运行BGP的路由器
EBGP:AS之间建立的BGP邻居关系
IBGP:一个AS内建立的BGP关系
为什么需要有IBGP呢?
很简单,位于一个AS内的两个运行BGP协议的路由器不运行IBGP的话,两者之间是没有办法交互BGP更新的。
问题:路由控制层面已经通了,为什么数据层面不通呢?
那是因为控制层面进行交互的时候,传送报文的源目IP地址都是变化的,每经过一跳,都是有
直连路由来转发报文的。
而数据层面的转发的源目IP地址都不是不变的,所以不是直达的路由,从而因为缺乏必要的路
由转发而失败。
解决的办法:
1、添加物理链路
2、BGP邻居的full mesh
3、将bgp重分布到IGP中,只能在实验室环境
4、MPLS,AS边界之间运行BGP,而AS内的路由器之间根据标签进行转发
EBGP的水平分隔:通过AS号来防环,到一个AS就记录一个AS号,如果接受到的报文中含有自己的
AS号,说明产生环路
IBGP的水平分隔:从IBGP邻居学习到IBGP路由,不会通告给其他的BGP邻居
将R2上的2.2.2.0 /24通告出去
IGP的network的作用:
1、发送hello数据包,建立邻居
2、通告路由
而在BGP中是分开实现的
1、neighbor 建立邻居
2、network 通告本地有的路由
R2:
router bgp 2
bgp router-id 2.2.2.2
network 2.2.2.0 mask 255.255.255.0
show ip bgp
R2(config-router)#do show ip bgp
BGP table version is 2, local router ID is 2.2.2.2
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
*> 2.2.2.0/24 0.0.0.0 0 32768 i
*代表可用 >代表最优的路由 next hop 0.0.0.0 代表是自己通告的
R3(config)#do show ip 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
* i2.2.2.0/24 12.1.1.2 0 100 0 2 i
说明这个不是跳最优的路由
1、不能放入路由表
2、不会传递给其他BGP邻居
优化该类路由的条件:
1、同步,通过IBGP学习到IBGP路由不能用,除非通过IGP学习到该路由
所以no synchronization 也就是关闭同步就好了
2、下一跳不达,通过使用next-hop-self告知对端用自己为下一跳
R1:
router bgp 1
neighbor 3.3.3.3 next-hop-self
R3(config)#do show ip bgp
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
*>i2.2.2.0/24 1.1.1.1 0 100 0 2 i
看到了吧,