bgp边界网关协议,用于AS与AS之间的路由协议,bgp本身只负责控制路由,数据转发依然靠静态和IGP路由。
bgp分为同一个AS内的ibgp和不同AS之间的ebp。
bgp对等体和igp对等体不同,bgp对等体是指使用tcp建立连接的两端,而非与igp 同概念的直连邻居,只要有tcp可以建立连接并不需要直连。
bgp地址族,最初bgp-4标准协议仅支持ipv4网络,为了解决bgp多多种网络层协议的支持,对bgp进行了地址族功能的扩展,形成了支持多协议的MP-BGP。所谓的“地址族”就是一种网络层协议的配置模块,就是把不同类型的网络分块进行配置,目的就是把针对运行不同网络网络层协议的网络分别进行功能配置,这样配置起来就更加有条理。为了进一步区分一类网络中不同的网络应用,又可以再地址族下划分子地址族,地址族使用AFI地址标识符进行标识,对应的子地址族标识为SAFI,目前在ip网络中,MP-BGP主要包括4个地址族:iPv4、ipv6、L2VPN、VPLS等,而在ipv4地址族下有ipv4单播、ipv4组播、ipv4-mpls和ipv4-mdt等子地址族,ipv6地址族下有ipv6单播和ipv6组播等子地址族,在哪个(子)地址族模式下配置的就只能影响该地址族,而在BGP全局下配置的影响所有地址族。
igp路由选择使用metric,而bgp中使用路由属性来做路由选择。
IBGP中的ebgp叫做联邦,目的是为了解决ibgp内路由只传一跳的特性,与路由反射器RR功能一样。
EBGP邻居默认情况下限制了建立邻居的最大跳数为1,如果不是直连接口收发bgp报文需要修改最大跳数。
bgp对等体建立的三个阶段:Idle(查找到达对等体路由)、Active(主动建立tcp连接)、Established(对等体建立完成)
bgp对等体建立的必要条件:ibgp中需要tcp连接可达,ebgp中需要tcp可达+允许的最大条数可达(默认是1直连),ebgp中如果需要使用loopback等接口来(收发bgp报文)建立对等体,那么就必须修改允许的最大条数。
在BGP中,向IBGP和EBGP邻居发送路由时,下一跳的处理是不同的。向EBGP邻居(即在AS间传播)发送路由时,next-hop均改为该路由器的出口IP地址(当下一跳修改前后的地址符合第三方下一跳时,不做修改);向IBGP邻居(即在AS内传播)发送路由时,next-hop是不变的。由于BGP向其他IBGP邻居转发来自EBGP路由时不修改下一跳,这样的话若IBGP邻居所处的设备没有到该下一跳地址的路由,会导致该IBGP收到这条转发自IBGP邻居的EBGP邻居的路由后下一跳不可达,导致路由失效。
session 2 BGP实例配置
一、bgp的基本配置
拓扑中AR1与AR3形成ibgp邻居,区域13,AR2与AR4形成ibgp邻居,区域24,AR1与AR2形成ebgp对等体(邻居)。为了让AR3与AR4互通,需要通过AR1和AR2相互传递路由给对端的bgp区域,让区域13和区域24通过bgp协议相互学习到对方的路由。因为bgp只负责控制路由,而底层依然是靠igp来完成寻址建立tcp连接。所以需要使用igp路由使得bgp对等体可以建立tcp连接相互形成bgp对等体,对等体形成后AR1与AR2需要分别将自己从igbp邻居学到的路由宣告给ebgp邻居,从ebgp邻居学到的路由宣告给ibgp邻居,达到as13与as24相互通信的目的。
具体配置如下:
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 13.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 13
router-id 1.1.1.1
peer 2.2.2.2 as-number 24 与AR2建立ebgp邻居
peer 2.2.2.2 ebgp-max-hop 2 ebgp邻居允许的最大跳数修改为2(因为不是直连而是用loopback0接口)
peer 2.2.2.2 connect-interface LoopBack0 更新发送bgp报文的接口为loopback0接口
peer 3.3.3.3 as-number 13与AR3建立ibgp对等体
peer 3.3.3.3 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
network 3.0.0.0宣告从AR3这个ibgp邻居学到的路由(给AR2这个ebgp邻居)network 13.1.1.0 255.255.255.0 宣告自己的直连路由给ebgp邻居peer 2.2.2.2 enable 指定与邻居2.2.2.2开启MP-BGP功能,iPv4地址族默认开启
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local 从ebgp邻居学习到的路由传递给ibgp邻居时,路由的下一跳修改为自己
#
rip 1 使用igp路由搭建底层寻址undo summary
network 1.0.0.0
network 13.0.0.0
#
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2 AR1与AR2建立ebgp对等体需要建立tcp 连接,这里用静态做底层的寻址
interface GigabitEthernet0/0/0
ip address 13.1.1.3 255.255.255.0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 13
router-id 3.3.3.3
peer 1.1.1.1 as-number 13
peer 1.1.1.1 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
#
rip 1
undo summary
network 3.0.0.0
network 13.0.0.0
#