前文我们了解了BGP相关概念、AS相关概念以及BGP邻居类型、基础配置等,相关回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15370838.html;今天我们来聊一聊BGP建立邻居的条件和优化相关话题;

  BGP建立邻居条件

  我们知道动态路由协议能够学习到路由,最基础的就是建立邻居;对于BGP来说,它工作在七层应用层,TCP179端口,所以两个路由器要想建立BGP邻居,首先满足对应两端的网络可达;即邻居地址可达;

  其次,我们配置的邻居地址所在AS号必须是邻居配置中声明的AS号;即本端配置邻居AS号一定是对端邻居所在AS号;

  最后,也是BGP建立邻居中最重要的一点,数据包源ip必须等于对方配置的邻居ip,这个源IP也叫更新源,也将作为路由的下一条IP;即配置邻居的ip地址,必须是邻居发送三次握手的源ip地址;

HCNP Routing&Switching之BGP邻居建立条件、优化和认证

  提示:如上图所示,本端配置邻居ip地址10.1.1.2,首先本端会根据路由表查找去往10.1.1.2所在网络的路由,这也是配置邻居指定的ip地址,必须可达的原因;在路由表查找到对应路由的出接口后,对应路由器就会封装报文,把出接口的ip地址封装成对应数据包的源ip,把配置邻居ip地址作为目标ip进行封装,然后再从对应接口发送出去;在对端收到本端发送到TCP三次握手,只有三次握手成功以后,后续才会发送open包,keepalived包,这样邻居才能正常建立;

  BGP使用回环口建立邻居

HCNP Routing&Switching之BGP邻居建立条件、优化和认证

  提示:如上图所示,R3想要本端的3.3.3.3和R1的1.1.1.1建立邻居,首先R3和R1之间3.3.3.3和1.1.1.1的路由要通,在路由通畅的情况下,R3会根据配置,将对应发送tcp三次握手的源ip更改为对应3.3.3.3接口,即更改更新源;然后封装报文从对应物理接口发送出去;在对端收到对应报文以后,首先检查该报文的源ip是不是本地配置的邻居ip地址,如果不是,对应三次握手的报文会被R1拒绝;如果是,那么对应三次握手就会进行下去;只有建立起TCP三次握手以后,对应才会发送BGP open包,对应open包中会封装ASN(as号码),这个号码就是指本端所在AS,即也是对端配置邻居所在AS号;

  实验:如下拓扑,配置bgp使用回环口建立邻居

HCNP Routing&Switching之BGP邻居建立条件、优化和认证

  分析:根据BGP邻居建立条件,再结合上图,R1和R2通过bgp建立ibgp类型邻居,R2和R3建立ebgp类型邻居;要想R1和R2建立起邻居,首先R1的1.1.1.1的路由和R2的2.2.2.2的路由首先要互通,我们可以通过内部跑一个IGP路由协议(因为R1和R2在同一个AS内,可以使用IGP路由协议,互相学习对方的路由),让R1和R2的路由互通;对于R2和R3,他们各属于不同AS,通常情况下R2和R3要想建立邻居,首先也是R2要有去往3.3.3.3的路由,R3也有去往2.2.2.2的路由,因为他们不属于同一AS,所以不能跑IGP路由协议来学习路由;此时我们只能手动配置静态路由,让R2的2.2.2.2和R3的3.3.3.3互通即可;

  R1的配置

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 1
ip add 1.1.1.1 32

ospf 1 router-id 1.1.1.1
area 0
net 12.0.0.1 0.0.0.0
net 1.1.1.1 0.0.0.0

bgp 12
peer 2.2.2.2 as 12
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-17
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案