目录
1. BGP的概述
边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。
边界网关协议( Border Gateway Protocol , BGP )是一种实现自治系统AS之 间的路由可达,并选择最佳路由的矢量性协议。早期发布的三个版本分别是BGP-1 ( RFC1105)、BGP-2 ( RFC1163 )和BGP-3 ( RFC1267 ) , 1994年开始使用BGP -4(RFC1771) , 2006年之后单播IPv4网络使用的版本是BGP-4 (RFC4271 ) ,其他网络使用的版本是MP-BGP ( RFC4760 )。
BGP的特点:
BGP能够承载大批量的路由信息,能够支撑大规模网络。
BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导邻居按策略发布路由。
BGP能够支撑MPL S/VPN的应用,传递客户VPN路由。
BGP提供了路由聚合和路由衰减功能用于防止路由振荡,有效提高了网络的稳定性。
BGP使用TCP作为其传输层协议(端口号为179) , 并支持BGP与BFD联动、BGP Tracking、BGP
Auto FRR和BGP GR和NSR ,提高了网络的可靠性。
1.1 BGP消息类型及状态转换
BGP使用如下消息类型:
Open消息:Open消息是TCP连接建立后发送的第一个消息,用于建立BGP对等体之间的连接关系。
Keepalive消息:BGP会周期性地向对等体发出Keepalive消息,用来保持连接的有效性。
Update消息:Update消息用于在对等体之间交换路由信息。它既可以发布可达路由信息,也可以撤销不可达路由信息。
Notification消息:当BGP检测到错误状态时,就向对等体发出Notification消息,之后BGP连接会立即中断。
五种报文:
报文名称 | 作用是什么 | 什么时候发包 |
---|---|---|
Open | 协商BGP邻居的各项参数,建立邻居关系 | BGP对等体之间需先建立TCP连接,如果TCP连接成功,那么BGP向对等体发送Open报文 |
Update | 用于发送BGP路由信息 | 连接建立后,有路由需要发送或路由变化时,发送UPDATE通告对端路由信息 |
Notification | 报告错误,中止对等体关系。 | 当BGP在运行中发现错误时,要发送NOTIFICATION报文通告BGP对端 |
Keepalive | 维持BGP对等体关系 | 定时发送Keepalive报文以保持BGP对等体关系的有效性 |
Route-refresh | 用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新能力的BGP设备会发送和响应此报文 | 当路由策略发生变化时,触发请求对等体重新通告路由 |
BGP邻居建立中的状态和过程如下:
空闲(Idle):为初始状态,当协议激活后开始初始化,复位计时器,并发起第一个TCP连接,并开始倾听远程对等体所发起的连接,同时转向Connect状态。。
连接(Connect):开始TCP连接并等待TCP连接成功的消息。如果TCP连接成功,则进入OpenSent状态;如果TCP连接失败,进入Active状态。
行动(Active):BGP总是试图建立TCP连接,若连接计时器超时,则退回到Connect状态,TCP连接成功就转为Open sent状态。
OPEN发送(Open sent):TCP连接已建立,自己已发送第一个OPEN报文,等待接收对方的Open报文,并对报文进行检查,若发现错误则发送Notification消息报文并退回到Idle状态。若检查无误则发送Keepalive消息报文,Keepalive计时器开始计时,并转为Open confirm状态。
OPEN证实(Open confirm):BGP等待Keepalive报文,同时复位保持计时器。如果收到了Keepalive报文,就转为Established状态,邻居关系协商完成。如果系统收到一条更新或Keepalive消息,它将重新启动保持计时器;如果收到Notification消息,BGP就退回到空闲状态。
已建立(Established):即建立了邻居(对等体)关系,路由器将和邻居交换Update报文,同时复位保持计时器。
BGP状态:
Peer状态名称 | 发什么包 | 在做什么 |
---|---|---|
ldle | 尝试建立TCP连接 | 开始准备TCP的连接并监视远程peer启动TCP连接,启用BGP时,要准备足够的资源。 |
Connect | 发TCP包 | 正在进行TCP连接,等待完成中,认证都是在TCP建立期间完成的。如果TCP连接建立失败则进入Active状态,反复尝试连接。 |
Active | 发TCP包 | TCP连接没建立成功,反复尝试TCP连接。 |
OpenSent | 发Open包 | TCP连接建立已经成功,开始发送Open包, Open包携带参数协商对等体的建立。 |
OpenConfirm | 发Keepalive包 | 参数、能力特性协商成功,自己发送Keepalive包,等待对方的Keepalive包。 |
Established | 发Update包 | 已经收到对方的Keepalive包,双方能力特性经协商发现-致,开始使用Update通告路由信息。 |
1.2 BGP路由通告原则
BGP在进行路由通告的时候,需要遵循以下原则:
多条路径时,BGP Speaker只选最优的给自己使用(负载均衡和FRR除外)。
BGP Speaker只把自己使用的路由(最优路由)通告给相邻体。
BGP Speaker从EBGP获得的路由会向自己所有BGP相邻体通告(包括EBGP和IBGP)。
BGP Speaker从IBGP获得的路由不向自己的IBGP相邻体通告(反射器除外)。
BGP Speaker从IBGP获得的路由是否通告给自己的EBGP相邻体要根据IGP和BGP同步的情况来决定。
当收到对端的refresh报文并且本端邻居支持refresh能力,BGP Speaker将把自己所 有BGP路由通告给对等体。
GR过程中,主备倒换方在GR结束时BGP Speaker会把自己所有BGP路由通告给对等体。
1.3 BGP路径矢量特征
BGP通常被称为路径矢量路由协议( Path-Vector Routing Protocol )。
每条BGP路由都携带着多种路径属性( Path attribute ) , 在各种路径属性中, AS_ Path属性 是非常关键的一个。AS Path属性记录了BGP路由传递过程中所经过的AS号,实际上它是一个AS号的列表。BGP路由器不接受AS_ Path中包含其自身AS号的路由更新。AS_ Path属性值的长短( AS号的个数)会作为一个比较的依据,影响BGP路由选择的决策。
1.4 BGP协议特征
BGP使用TCP为传输层协议, TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。
运行BGP的路由器被称为BGP发言者( BGP Speaker ) , 或BGP路由器。
两个建立BGP会话的路由器互为对等体( Peer )。BGP对等体之间交换BGP路由表。
BGP路由器只发送增量的BGP路由更新,或进行触发更新(不会周期性更新)。
BGP具有丰富的路径属性和强大的路由策略工具。
BGP能够承载大批量的路由前缀,用于大规模的网络中。
1.5 BGP Peer
1.运行BGP的路由器被称为BGP发言者,或者BGP路由器。
2.BGP对等体也叫BGP邻居,与OSPF、RIP等协议不同, BGP的会话是基于TCP建立的。建立BGP对等体关系的两台路由器并不要求必须直连。
3、BGP存在两种对等体关系类型: EBGP及IBGP,针对这两种对等体类型, BGP处理路由的操作存在较大差异。
4、IBGP ( Internal BGP ) : 位于相同自治系统的BGP路由器之间的BGP邻接关系。
5、两台路由器之间要建立IBGP对等体关系,必须满足两个条件:
两个路由器所属AS需相同(也即AS号相同)。
在配置BGP时, Peer命令所指定的对等体IP地址要求路由可达,并且TCP连接能够正确建立。
不能主动发现邻居关系,不能自动发现路由
peer 需要自己指定对端 建立关系
1.6 IBGP 水平分割规则
为了防止BGP路由在AS内部传递时发生环路, BGP要求:“路由器不能将自己从IBGP对等体学习到的路由再传递给其他IBGP对等体”, 这就是IBGP水平分割规则。
由于IBGP水平分割原则的存在, BGP要求AS内须保证IBGP对等体关系的全互联,因为只有这样,才能够确保每一个路由器都能学习到路由。
解决方案:路由反射器 联邦
1.7 IBGP 三张表
名称 | 查看命令 | 说明 |
---|---|---|
BGP邻居表 | display bgp peer | 列出本设备的BGP对等体,以及对等体的状态等信息 |
BGP路由表 | display bgp routing-table | 列出本设备发 现的所有BGP路由,如果到达同一个目的地存在多条路由,则将路由都进行罗列,但每个目的地只会优选一条路由 |
路由表 | display ip routing-table | 设备的路由表,被优选的BGP路由会被加载到路由表中使用 |
2. BGP路径属性
路由器发送关于目标网络的BGP更新消息,更新的度量值被称为路径属性。属性可以是公认的或可选的、强制的或自由决定的、传递的或非传递的。属性也可以是部分的。并非组织的和有组合的都是合法的,路径属性分为4类:公认必遵、公认自决、可选过渡、可选非过渡。
公认属性:
1.公认必遵 :所有的BGP实现都必须都能识别,且在Update报文中必须携带
(Origin+AS_ Path+Nexthop)
2.公认自决:所有的BGP实现都必须都能识别,但不要求必须包含在Update报文中
(L ocal-Preference+ATOMIC_ Aggregate)
可选属性:
1.可选传递:设备可以不支持该属性,但即使不支持,也应当接收包含该属性的路由并传递给其他对等体
(Community+Aggregator)
2.可选非传递:设备可以不支持该属性,不识别的BGP进程忽略包含这个属性的路由更新,并且不传递给其他BGP对等体
(MED+Originator_ ID+Cluster_ list+pre_ value)
2.1 Preferred-Value
Preferred-Value只能在路由器本地配置,而且只影响本设备的路由优选。该属性不会传播给任何BGP对等体。路由器本地始发的BGP路由默认的Preferred-Value为0,从其他BGP对等体学习到的路由默认Preferred-Value也为0,相当于路由的权重值,取值范围:0~65535;该值越大,则路由越优先。
2.2 Local_Preference
即本地优先级属性,是公认自决属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径。
Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。
该属性只能被传递给IBGP对等体,而不能传递给EBGP对等体。
注:Local_Preference注意事项
只能在IBGP对等体间传递
可以在AS边界路由器上使用Import方向的策略来修改Local_Preference属性值,也就是在收到路由之后,在本地为路由赋予Local_Preference。
使用bgp default local-preference命令修改缺省Local_Preference值,该值缺省为100。
2.3 AS_Path
该属性为公认必遵属性,是前往目标网络的路由经过的AS号列表,确保路由在EBGP对等体之间传递无环,也作为路由优选的衡量标准之一。路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号,路由被通告给IBGP对等体时,AS-path不会发生改变。
AS Path的四种类型:
类型 | 描述 |
---|---|
AS_ SET | 一个 去往特定目的地所经路径上的无序AS号列表 |
AS_ SEQENCE | 一个有序的AS号列表 |
AS_ CONFED_ SEQUENCE | 一个去往特定目的地所经路径上的有序AS号列表,其用法与AS_ SEQUENCE完全-样,区别在于该列表中的AS号属于本地联邦中的AS |
AS_ CONFED_ SET | 一个去往特定目的地所经路径上的无序AS号列表,其用方法与AS_ SET完全一样区别在于列表中的AS号属于本地联邦中的AS |
2.4 Origin
该属性为公认必遵属性,它标识了BGP路由的起源。如下表所示,根据路由被引入BGP的方式不同,存在三种类型的Origin。
当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete
名称 | 标记 | 描述 |
---|---|---|
igp | i | 通过BGP network的路由,也就是起源于IGP的路由, Origin为igp。因为BGP network必须保证该网络在路由表中。 |
egp | E | 如果BGP路由是由EGP这种早期的协议重发布而来,那么其Origin为egp。 |
Incomplete | ? | 通过Import命令,从其他协议弓入到BGP的路由,其0rigin为Incomplete(确认该路由来源的信息完全)。 |
2.5 MED
MED(MultiExitDiscriminator)是可选非传递属性,是一种度量值,用于向外部对等体指出进入本AS的首选路径,即当进入本AS的入口有多个时,AS可以使用MED动态地影响其他AS选择进入的路径。
MED属性值越小则BGP路由越优。MED主要用于在AS之间影响BGP的选路。MED被传递给EBGP对等体后,对等体在其AS内传递路由时,携带该MED值,但将路由传递给其EBGP对等体时,缺省不会携带MED属性
注意事项:
2.6 Next_Hop
该属性是一个公认必遵属性,用于指定到达目标网络的下一跳地址。
当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。
在EBGP及IBGP对等体的场景中,Next_Hop的缺省操作是存在差异的。
2.7 BGP路由优选规则
1.优选具有最大Preferred-Value的路由
2.优选具有最大Local_Preference的路由
3.优选起源于本地的路由
4.优选AS_Path最短的路由
5.Origin(IGP > EGP > Incomplete)
6.优选MED最小的路由
7.优选EBGP对等体所通告的路由
8.优选到Next_Hop的IGP度量值最小的路由
9.BGP路由负载分担
10.优选Cluster_List 最短的路由
11.优选Router-ID最小的BGP对等体发来的路由
12.优选Peer-IP地址最小的对等体发来的路由
3. BGP实验题
3.1 实验一:
R1:
[Huawei]sys r1
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.0.0.1 30
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 15.0.0.1 30
[r1-GigabitEthernet0/0/1]int loopback 0
[r1-LoopBack0]ip add 1.1.1.1 32
[r1-LoopBack0]q
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]network 15.0.0.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]q
[r1-ospf-1]q
[r1]bgp 100
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 2.2.2.2 as-number 100 //配置对等体关系
[r1-bgp]peer 2.2.2.2 connect-interface loopback 0
[r1-bgp]peer 4.4.4.4 as-number 100
[r1-bgp]peer 4.4.4.4 connect-interface loopback 0
R2:
[Huawei]sys r2
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 12.0.0.2 30
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]ip add 23.0.0.1 30
[r2-GigabitEthernet0/0/1]int loopback 0
[r2-LoopBack0]ip add 2.2.2.2 32
[r2-LoopBack0]q
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]q
[r2-ospf-1]q
[r2]rip 1
[r2-rip-1]version 2
[r2-rip-1]network 23.0.0.0
[r2-rip-1]q
[r2]bgp 100
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 1.1.1.1 as-number 100 //配置对等体关系
[r2-bgp]peer 1.1.1.1 connect-interface loopback 0
[r2-bgp]peer 4.4.4.4 as-number 100
[r2-bgp]peer 4.4.4.4 connect-interface loopback 0
[r2-bgp]peer 23.0.0.2 as-number 200 //跟R3做EBGP
[r2-bgp]import-route ospf 1 //注入
[r2-bgp]peer 4.4.4.4 next-hop-local
[r2-bgp]network 23.0.0.0 30
R3:
[Huawei]sys r3
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ip add 23.0.0.2 30
[r3-GigabitEthernet0/0/0]int loopback 0
[r3-LoopBack0]ip add 3.3.3.3 32
[r3-LoopBack0]q
[r3]rip 1
[r3-rip-1]version 2
[r3-rip-1]network 23.0.0.0
[r3-rip-1]network 3.0.0.0
[r3-rip-1]q
[r3]bgp 200
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 23.0.0.1 as-number 100
[r3-bgp]network 3.3.3.3 32
[r3-bgp]peer 2.2.2.2 next-hop-local
Error: The peer does not exist.
[r3-bgp]q
[r3]dis bgp peer
R4:
[Huawei]sys r4
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]ip add 15.0.0.2 30
[r4-GigabitEthernet0/0/0]int loopback 0
[r4-LoopBack0]ip add 4.4.4.4 32
[r4-LoopBack0]int loopback 1
[r4-LoopBack1]ip add 202.0.0.1 24
[r4-LoopBack1]int loopback 2
[r4-LoopBack2]ip add 202.0.1.1 24
[r4-LoopBack2]q
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 15.0.0.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]q
[r4-ospf-1]q
[r4]bgp 100
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 1.1.1.1 as-number 100 //配置与R1.R2的对等体关系,是双向配置的
[r4-bgp]peer 1.1.1.1 connect-interface loopback 0
[r4-bgp]peer 2.2.2.2 as-number 100
[r4-bgp]peer 2.2.2.2 connect-interface loopback 0
[r4-bgp]network 202.0.0.1 24 //讲网段信息通告给bgp
[r4-bgp]network 202.0.1.1 24
3.1 实验二:
R1:
[Huawei]sys r1
[r1]int loopback 0
[r1-LoopBack0]ip add 1.1.1.1 32
[r1-LoopBack0]int loopback 1
[r1-LoopBack1]ip add 100.1.1.0 24
Error: The specified IP address is invalid.
[r1-LoopBack1]ip add 100.1.1.1 24
[r1-LoopBack1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[r1-GigabitEthernet0/0/0]q
[r1]bgp 100
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.0.0.2 as-number 300
[r1-bgp]network 100.1.1.1 24
R2:
[Huawei]sys r2
[r2]int loopback 0
[r2-LoopBack0]ip add 2.2.2.2 32
[r2-LoopBack0]int loopback 1
[r2-LoopBack1]ip add 100.1.1.1 24
[r2-LoopBack1]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 34.0.0.1 24
[r2-GigabitEthernet0/0/0]q
[r2]bgp 200
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 34.0.0.2 as-number 300
[r2-bgp]network 100.1.1.1 24
R3:
[Huawei]sys r3
[r3]int loopback 0
[r3-LoopBack0]ip add 3.3.3.3 32
[r3-LoopBack0]int g0/0/0
[r3-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1]ip add 23.0.0.1 24
[r3-GigabitEthernet0/0/1]q
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]q
[r3-ospf-1]q
[r3]bgp 300
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 12.0.0.1 as-number 100
[r3-bgp]peer 5.5.5.5 as-number 300
[r3-bgp]peer 5.5.5.5 connect-interface loopback 0
[r3-bgp]peer 4.4.4.4 as-number 100
[r3-bgp]undo peer 4.4.4.4 as-number 100
^
Error:Too many parameters found at '^' position.
[r3-bgp]dis this
[V200R003C00]
#
bgp 300
router-id 3.3.3.3
peer 4.4.4.4 as-number 100
peer 5.5.5.5 as-number 300
peer 5.5.5.5 connect-interface LoopBack0
peer 12.0.0.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
peer 5.5.5.5 enable
peer 12.0.0.1 enable
#
return
[r3-bgp]undo peer 4.4.4.4
[r3-bgp]dis this
[V200R003C00]
#
bgp 300
router-id 3.3.3.3
peer 5.5.5.5 as-number 300
peer 5.5.5.5 connect-interface LoopBack0
peer 12.0.0.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 5.5.5.5 enable
peer 12.0.0.1 enable
#
return
[r3-bgp]peer 4.4.4.4 as-number 300
[r3-bgp]peer 4.4.4.4 connect-interface loopback 0
[r3-bgp]peer 5.5.5.5 ne
[r3-bgp]peer 5.5.5.5 next-hop-lo
[r3-bgp]peer 5.5.5.5 next-hop-local
R4:
[Huawei]sys r4
[r4]int loopback 0
[r4-LoopBack0]ip add 4.4.4.4 32
[r4-LoopBack0]int g0/0/0
[r4-GigabitEthernet0/0/0]ip add 34.0.0.2 24
[r4-GigabitEthernet0/0/0]int g0/0/1
[r4-GigabitEthernet0/0/1]ip add 45.0.0.1 24
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 0
[r4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]network 45.0.0.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]q
[r4-ospf-1]q
[r4]bgp 300
[r4-bgp]router-id 4.4.4.4
[r4-bgp]peer 34.0.0.1 as-number 200
[r4-bgp]peer 3.3.3.3 as-number 300
[r4-bgp]peer 3.3.3.3 connect-interface loopback 0
[r4-bgp]peer 5.5.5.5 as-number 300
[r4-bgp]peer 5.5.5.5 connect-interface loopback 0
[r4-bgp]peer 5.5.5.5 ne
[r4-bgp]peer 5.5.5.5 next-hop-lo
[r4-bgp]peer 5.5.5.5 next-hop-local
R5:
[Huawei]sys r5
[r5]int loopback 0
[r5-LoopBack0]ip add 5.5.5.5 32
[r5-LoopBack0]int g0/0/0
[r5-GigabitEthernet0/0/0]ip add 23.0.0.2 24
[r5-GigabitEthernet0/0/0]int g0/0/1
[r5-GigabitEthernet0/0/1]ip add 45.0.0.2 24
[r5]ospf 1 router-id 5.5.5.5
[r5-ospf-1]area 0
[r5-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255
[r5-ospf-1-area-0.0.0.0]network 45.0.0.0 0.0.0.255
[r5-ospf-1-area-0.0.0.0]network 5.5.5.5 0.0.0.0
[r5-ospf-1-area-0.0.0.0]q
[r5-ospf-1]q
[r5]bgp 300
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 3.3.3.3 as-number 300
[r5-bgp]peer 3.3.3.3 connect-interface loopback 0
[r5-bgp]peer 4.4.4.4 as-number 300
[r5-bgp]peer 4.4.4.4 connect-interface loopback 0
看R5的BGP路由表显示为:100.1.1.0的网段选择3.3.3.3为最优路由
Emmmmmm 后面还没写完,待定。。。