BGP之邻居关系的建立
BGP邻居原理概述:路由信息协议分为内部网关协议(IGP:Interior Gateway Protocol)和外部网关协议(EGP:Exterior Gateway Protocol)两大类。IGP用于自治系统AS(Autonomous System)内部,EGP用于AS之间。最早的IGP是一种称为GGP(Gateway-to-Gateway Protocol)的路由协议,而最早的EGP是一种E
BGP邻居
原理概述:
路由信息协议分为内部网关协议(IGP:Interior Gateway Protocol)和外部网关协议(EGP:Exterior Gateway Protocol)两大类。IGP用于自治系统AS(Autonomous System)内部,EGP用于AS之间。最早的IGP是一种称为GGP(Gateway-to-Gateway Protocol)的路由协议,而最早的EGP是一种EGP(Exterior-Gateway protocol,注意,它与类别名EGP同名,现已被废除)的路由协议。目前,常见的IGP包括RIP、OSPF、IS-IS等,而常见的EGP只有BGP(Border Gateway Protocol)。
实验目的:
理解BGP协议的应用场景
理解IBGP和EBGP邻居的概念
配置IBGP与EBGP邻居关系
实验拓扑:
1:基础配置:
将在R1和R2上使用直连物理接口来配置IBGP邻居关系,为了实现链路冗余,R1和 R2之间部署了两条链路,当其中一条链路出现故障时,另一条物理链路可以提供连通性。
R1:
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.21.1 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
bgp 100
router-id 10.0.1.1
peer 10.0.12.2 as-number 100
peer 10.0.21.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 10.0.1.1 255.255.255.255
peer 10.0.12.2 enable
peer 10.0.21.2 enable
R2:、
#
interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.21.2 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 10.0.23.2 255.255.255.0
#
interface GigabitEthernet4/0/0
ip address 10.0.32.2 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
#
bgp 100
router-id 10.0.2.2
peer 10.0.12.1 as-number 100
peer 10.0.12.2 as-number 100
peer 10.0.21.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.0.12.1 enable
undo peer 10.0.12.2 enable
peer 10.0.21.1 enable
R3:
#
interface GigabitEthernet0/0/0
ip address 10.0.23.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.32.3 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
2:配置IBGP邻居:
我们在基础配置上已经配置完成了,接下来我们查看BGP邻居关系
可以看到,R2现在有两个BGP邻居,分别使用R1的G0/0/0和G0/0/1接口地址来表示,AS编号为100,与R2自己的AS编号相同,因此R2与R1为IBGP邻居,当前邻居状态为Established,表示邻居关系已完全建立。
[R1]bgp 100
[R1-bgp]network 10.0.1.1 32
配置完成后,在R2上查看BGP路由表
为了能使R1的Loopback 0 接口与R2的Loopback接口建立起TCP会话,需要在R1和R2上配置到达对方Loopback 0 接口的静态路由。
R1:Lo0的静态:
[R1]ip route-static 10.0.2.2 32 10.0.12.2
[R1]ip ro
[R1]ip route-s
[R1]ip route-static 10.0.2.2 32 10.0.21.2
R2:Lo0的静态:
ip route-static 10.0.1.1 255.255.255.255 10.0.12.1
ip route-static 10.0.1.1 255.255.255.255 10.0.21.1
删除之前采用物理接口的配置IBGP邻居的命令,并使用Loopback 0接口重新建立IBGP邻居关系。
[R1]bgp 100
[R1-bgp]undo peer 10.0.12.2
[R1-bgp]un peer 10.0.21.2
[R1-bgp]peer 10.0.2.2 as-number 100
[R2]bgp 100
[R2-bgp]un peer 10.0.12.1
[R2-bgp]un peer 10.0.21.1
[R2-bgp]peer 10.0.1.1 as-number 100
上述配置完成后,在R1上查看BGP的邻居关系
可以看到,R1与R2的邻居关系停留在Active状态,而非Extablished,这说明R1与R2尚未正常建立起IBGP邻居关系。
在R1上指定使用自己的Loopback 0 接口地址作为发送BGP报文时的源IP地址,R2上也需使用类似的命令
[R1]bgp 100
[R1-bgp]peer 10.0.2.2 connect-interface lo 0
[R2]bgp 100
[R2-bgp]peer 10.0.1.1 connect-interface lo 0
上述配置完成后,在R2上查看BGP路由表
可以看到,R2的BGP路由表中只有一条去往10.0.1.1/32的路由,下一跳为10.0.1.1
再查看R2的IP路由表
配置EBGP邻居
在R2和R3上使用Loopback 0 接口来建立EBGP邻居关系
[R2]bgp 100
[R2-bgp]peer 10.0.3.3 as-number 200
[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.2.2 as-number 100
上述配置完成后,在R3上查看BGP邻居关系
可以看到,R2与R3的邻居状态一直停留在IdIe状态,说明邻居关系未能正常建立。
我们知道,BGP邻居关系建立的前提条件是要能够建立起TCP会话,而目前R2和R3上都不存在去往对方Loopback 0 接口的路由,因此无法建立TCP会话,为了解决这个问题,可以在R2和R3上配置到达Loopback 0 接口的静态路由。
[R2]ip route-static 10.0.3.0 24 10.0.23.3
[R2]ip route-static 10.0.3.0 24 10.0.32.3
[R3]ip route-static 10.0.2.0 24 10.0.23.2
[R3]ip route-static 10.0.2.0 24 10.0.32.2
上述配置完成后,在R3上查看BGP邻居关系
可以看到,R2与R3之间的邻居关系一直停留在Active状态,说明邻居关系还是未能正常建立起来
[R2-bgp]peer 10.0.3.3 connect-interface lo 0
[R3-bgp]peer 10.0.2.2 connect-interface lo 0
配置完成后,在R3上查看BGP邻居关系
在默认情况下,EBGP邻居之间在发送BGP报文时,TTL为1,所以EBGP默认要求邻居之间必须物理直连。但是当R2和R3使用Loopback 0 接口建立邻居关系时,由于使用的不是物理直连的接口,所以TTL值会被多减一次,成为0,最终使得BGP报文会丢弃;从而导致邻居关系无法建立,为了解决这一问题,可以修改EBGP邻居发送的BGP报文的TTL值,使报文的TTL值大于1
在R2和R3上配置BGP报文的TTL值为2
[R2-bgp]peer 10.0.3.3 ebgp-max-hop 2
[R3-bgp]peer 10.0.2.2 ebgp-max-hop 2
上述配置完成后,在R3上查看BGP邻居关系
可以看到,R2与R3之间已经建立起了EBGP邻居关系
需要说明的是,在实际场景中,通常使用Loopback接口来建立IBGP邻居关系,使用物理接口来建立EBGP邻居关系。
备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!
更多推荐
所有评论(0)