BGP

1.0 BGP基本概念

1.1 自治系统AS

由同一个技术管理机构管理,使用统一的选路策略IGB(rip,ospf)的一些路由器集合
不管是什么协议都是为我们构建路由表,IGB运行于AS内,BGP运行于AS之间 AS号1~64511是注册的英特网编号,64512 ~ 65535是私有的

1.2 BGP

bgp是边界网关协议简称,bgp是一种增强的路径矢量路由协议,同时BGP是拥有丰富的策略控制技术的外部网关协议,BGP多运行于AS和AS之间,BGP为TCP179端口
EBGP为运行AS之间的BGP
IBGP为运行在AS之内的BGP

2.0 BGP的邻居

在这里插入图片描述
AR1和AR3之间是IBGP,AR6和AR4之间也是IBGP,AR3和AR5之间是EBGP,AR2和AR4之间也是EBGP
我们要在AR2和AR3之间建立EBGP,AR2配置如下

bgp 100 //as number为100  
//EBGP建立邻居我们一般使用直连接口建立邻居  
peer 10.1.24.4 as-number 200	//指定对端AR4的S2/0/0的ip,并且指明对端的AS号

AR4配置如下

bgp 200 //as number为100  
//EBGP建立邻居我们一般使用直连接口建立邻居  
peer 10.1.24.2 as-number 100	//指定对端AR2的S2/0/0的ip,并且指明对端的AS号

2.1 EBGP/IBGP邻居建立步骤

在这里插入图片描述
首先我们的状态为idle状态,idle状态就是什么都不做,拒绝所有的tcp连接,我们只要在R1或者R2上配置了PEER它就成为idle状态他会等待30秒左右等计时器超时后进入connect状态(connect就是发送tcp连接,connect会触发连接重传32秒,如果tcp连接建立成功就不会触发这个连接重传进入opensent状态,如果建立不成功32秒后就会进入active状态,active会等对端给我建立连接就连接成功就变成opensent状态),opensent就是发送open报文,open报文里包含很多内容(AS号,版本,认证),如果协商成功就会变成openconfirm状态,到了openconfirm就会发送keepalive报文,如果对端绝对没问题就进入establish状态
EBGP的ttl值为1也就是只能经过一个路由器,也就是说我们只能一直连接口建立连接,当然这个ttl值可以改

open报文格式如下
在这里插入图片描述
在这里插入图片描述
BGP version为4
hold time 为180(如果180秒没有收到keepalive的消息就认为邻居down掉,open报文60秒发送一次)
BGP id为发送者的route id
option
在这里插入图片描述
multiprotocol extensions capability他可以支持IPV6/IPV4/单播/组播具体如下
在这里插入图片描述
上图中ipv4后面是一代表ipv4协议,unicast后面1代表单播,数值各表示什么意思如下
在这里插入图片描述
在这里插入图片描述
再上图中我们再AR2上敲

refresh bgp all import 

AR2上会产出refresh报文个给AR4,AR4收到此报文后会主动发起update信息给AR1,达到网络快速收敛

再上图中我们再AR2上敲

refresh bgp all export 
 

上述命令代表AR2主动推送路由给AR4

在这里插入图片描述
假设AR2和AR4之间配置了EBGP,AR2指的peer是AR4 Serial2/0/0的端口ip,AR4指的是AR2的S2/0/0的ip
如果我们要在AR1和AR2之间建立IBGP,AR1设置peer指向GE0/0/0的ip,他们之间的邻居关系建立不起来,因为AR2中的peer是AR4 s2/0/0的ip,没有AR1的ip,所以AR1不断的向AR2发送报文请求tcp连接,AR2总会拒绝
我们在AR1和AR2之间配置IBGP,我们要相互指peer才能建立邻居关系,假设AR1的G0/0/0的ip是1.1.1.1,AR2的G0/0/0的IP是1.1.1.2

AR1上配置

peer 1.1.1.2 connect-interface lo0  //此处也可以将loopback0配置成AR2的G0/0/0

AR2上配置

peer 1.1.1.1 connect-interface lo0  //此处也可以将loopback0配置成AR1的G0/0/0

在这里插入图片描述

在这里插入图片描述

2.2 BGP update报文

bgp通告原则之一,仅将自己最优的路由发布给邻居
在这里插入图片描述

bgp通告原则之二,通过EBGP获得的最优路由发布给所有的BGP邻居
在这里插入图片描述
bgp通告原则之三,通过IBGP获得的最优路由不会发布给其他的IBGP邻居
在这里插入图片描述

bgp通告原则之四:bgp与igp同步
在这里插入图片描述
上述拓扑会产生路由黑洞问题因为RTA和RTB之间做了EBGP,RTB,RTC,RTD之间做了IGP ospf,RTB和RTD之间做了IBGP,RTD和RTE之间做了EBGP,但是RTC上没有配置bgp协议,此时RTB收到RTA的EBGP路由他会传给自己的IGB和BGP邻居就是传给了RTD,RTD收到了会将其传递给自己的非IGP邻居RTE,此时RTE就会学习到RTA的路由,但是RTE想100.0.0.0发送包的时候到了RTD他会发往下一跳RTB,但是到达他得先进过RTC,但是RTC并没有100.0.0.0的路由不知道发给谁,就这样丢掉了此路由,这样产生了路由黑洞
我们怎么解决了?可以用BGP和IGP同步解决
首先加入RTB和RTD上开启了路由器同步,路由器D会先检查自己的IGP路由表,看IGP路由表是否可达,如果可达我才会传给邻居,如果不可达我会设置成不优,不优就不会传递
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.0 BGP的属性

3.1 origin

在这里插入图片描述
我们可以看到起源属性有一个i,e和?,如果时network引入来的都是i,?代表import引入的,E时EGP的现在已经不用了

network是发布路由在每个运行bgp的路由器中发布,import是引入

3.2 AS_PATH

在这里插入图片描述
路由器之间都运行的是EBGP,此时E路由器上有一个路由100.0.0.0/24然后传给别的BGP邻居,E->B->C->D->E这样又回来了,我们就用AS_PATH来防环,首先AS_PATH是一个AS号组成的列表,首先E->B此时列表有4,2 B->C列表为4,2,3 C->D此时列表为4,2,3,5 D->E此时列表有4,2,3,5当E收到后发现有我自己的AS号就丢弃这个路由
在这里插入图片描述
AR1上有一个10网段和20网段,此时假设AR1到R3之间的链路down了,R6挂了,此时AR1传递路由给R2
R2,接受来自IBGP的路由 后不会传给IBGP也就是R3(叫做水平分割),将路由传递给R4,R4收到由EGP传来的路由传给AR5,AR5收到后传给R3,但是注意AS_PATH的性质,R5传递的路由list表中已经有100,200了R3接受这个AS_PATH发现第一个100是自己的AS 号所以不接受此路由

3.3 next hop

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值