企业网站模板htmlWordPress留下评论

一、适用场景
1、企业需要连接总部与分部,但总部与分部运行着不同的路由协议,总部到分部有自建的专线,端到端的设备支持BGP路由协议。
 2、网络运营商,如电信、联通、移动等,各区域的ip路由表庞大,若要完成区域之间的连接,既不暴露某区域的网络拓扑,又能减少路由表的条目,只传送最优的路由。
 3、中大型企业的网络,区域的网络结构复杂,路由表条目多,使用BGP路由可给网络减负,留出更的CPU计算资源与内存、缓存等资源,提高处理的效率与与速率。
二、专业术语
1、BGP路由协议的产生(Border Gateway Protocol):OSPF、ISIS路由协议在网络中已经广泛使用,但是随着网络规模的扩大,路由条目也随增加,IGP协议已经无法管理大规模网络了。因此出现了AS的概念。
 可以把大型网络中的不同的设备划分到不同的组(自治系统AS)中,或者某地理范围中的网络设备都划分在一个组中,那么一个组中的这些设备运行相同的路由协议。比如可以将企业总部网络划分在一个AS中,企业的分部网络划分在一个AS中。不同的AS可以运行不同的路由协议。
 2、iBGP与EBGP
 (1)IBGP:内部网关协议,自治系统AS之内运行IGP协议
 (2)EBGP:外部网关协议,自治系统AS之间运行EGP协议
 3、自治系统的编号: 标准编号为16位二进制,2……16范围0-65535,公有编号范围1-64511。私有编号范围64512-65535 扩展编号:32位二进制。
 4、BGP特征:BGP协议本身不产生新路由,不计算路由,不会暴露AS内部的网络拓扑。只转发本地路由表中来自其他协议生成的路由条目,即路由的搬运工。BGP协议本质上是一个重发布协议,专为AS之间共享路由定制。
 5、BGP的5种报文
 
 6、BGP是基于TCP的路由协议,只要能够建立TCP就能够建立BGP。
 7、BGP防环机制:
 (1)EBGP利用AS_PATH属性防环:路由条目在传递的过程中,将记录所经过的AS号,BGP协议拒绝接受携带本地AS号的BGP路由,丢弃这条路由。
 (2)EBGP 的防环机制:Next-hop下一跳属性,EBGP之间通告路由的时候会修改next-hop属性,把自己的的AS number前缀到as-path属性上,接收方从EBGP收到路由更新后首先检查as-path属性,如果发现自己的AS number就认为有环路风险,直接丢弃该路由;
 (3)IBGP 的防环机制:水平分割,IBGP不中转路由,从一个IBGP邻居处学习到的路由条目不得传递给下一个BGP邻居。
 (4)IBGP 的防环机制:Origin属性,解决反射器产生的环路,不接收与自己起源ID相同的路由。
 (5)IBGP中的反射器的防环机制:ORIGINATOR_ID属性用于记录到本地AS内部路由发起者的路由器ID,BGP发布者将丢弃ORIGINATOR_ID中与自己路由器ID相同的路由信息。
 (6)cluster-list属性用于防止集群之间环路。RR反射路由的时候会将自己的cluster-id(默认为router-id)写进cluster-list,当接收这条路由发现cluster-list里面有自己的cluster-id,就会拒收路由。
 (7)IBGP中的联盟的防环:通过AS Path属性防环,联盟相关的属性在传出联盟时会自动被删除。
 CLUSTER_LIST属性和ORIGINATOR_ID属性不是公认必遵属性,只用于BGP反射里面防环。
 BGP在比较Next Hop属性时,会优选去往Next Hop属性中IP地址的IGP开销最小的路由。
8、BGP建立邻居的过程及6种状态机:
                                       BGP建立邻居的过程及6种状态机
 

三、拓扑图

四、配置过程
(一)采用对端物理接口的ip地址建立BGP邻居
【AR1】:
 sysname AR1
 interface GigabitEthernet0/0/0
 ip address 10.1.12.1 255.255.255.0
 interface GigabitEthernet0/0/1
 ip address 10.1.21.1 255.255.255.0
 interface LoopBack0
 ip address 1.1.1.1 255.255.255.255
 router id 1.1.1.1
 bgp 100 #注:写错AS号时,undo BGP会清除所有BGP配置
 peer 10.1.12.2 as-number 100 #使用对端的物理端口建立BGP邻居
 peer 10.1.21.2 as-number 100 #使用对端的物理端口建立BGP邻居
#使能BGP的iPv4地址族并进入BGP的P4地址族视图,缺省进入BGP-IPv4单播地址族视图, 将IP路由表中的路由以静态方式加入到BGP路由表中,并发布给对等体(可以是各种路由,最终引入的是哪种协议的路由要视路由的优先级而定)。
 ipv4-family unicast
 network 1.1.1.1 255.255.255.255
 network 10.1.12.0 255.255.255.0
 network 10.1.21.0 255.255.255.0
 peer 2.2.2.2 enable
 ip route-static 2.2.2.2 255.255.255.255 10.1.12.2
 ip route-static 2.2.2.2 255.255.255.255 10.1.21.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.12.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.21.2
【AR2】:
 sysname AR2
 interface GigabitEthernet0/0/0
 ip address 10.1.12.2 255.255.255.0
 interface GigabitEthernet0/0/1
 ip address 10.1.32.1 255.255.255.0
 interface GigabitEthernet0/0/2
 ip address 10.1.21.2 255.255.255.0
 interface GigabitEthernet2/0/0
 ip address 10.1.23.1 255.255.255.0
 interface LoopBack0
 ip address 2.2.2.2 255.255.255.255
 bgp 100
 peer 10.1.12.1 as-number 100
 peer 10.1.21.1 as-number 100
 peer 10.1.23.3 as-number 200
 peer 10.1.23.3 ebgp-max-hop 255
 peer 10.1.32.3 as-number 200
 peer 10.1.32.3 ebgp-max-hop 255
 ipv4-family unicast
 network 2.2.2.2 255.255.255.255
 network 10.1.12.0 255.255.255.0
 network 10.1.21.0 255.255.255.0
 network 10.1.23.0 255.255.255.0
 network 10.1.32.0 255.255.255.0
 import-route static
 peer 1.1.1.1 enable
 peer 3.3.3.3 enable
 peer 3.3.3.3 next-hop-local
 ip route-static 1.1.1.1 255.255.255.255 10.1.12.1
 ip route-static 1.1.1.1 255.255.255.255 10.1.21.1
 ip route-static 3.3.3.3 255.255.255.255 10.1.23.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.32.2
【AR3】:
 sysname AR3
 router id 3.3.3.3
 interface GigabitEthernet0/0/0
 ip address 10.1.32.2 255.255.255.0
 interface GigabitEthernet0/0/1
 ip address 10.1.23.2 255.255.255.0
 interface LoopBack0
 ip address 3.3.3.3 255.255.255.255
 bgp 200
 peer 10.1.23.2 as-number 100
 peer 10.1.23.2 ebgp-max-hop 255
 peer 10.1.32.2 as-number 100
 peer 10.1.32.2 ebgp-max-hop 255
 ipv4-family unicast
 ip route-static 1.1.1.1 255.255.255.255 10.1.23.1
 ip route-static 1.1.1.1 255.255.255.255 10.1.32.1
 ip route-static 2.2.2.2 255.255.255.255 10.1.23.1
 ip route-static 2.2.2.2 255.255.255.255 10.1.32.1
1、此时在AR1上查看BGP的邻居状态,断开AR1的G0/0/1接口后,查看邻居,如下图:
 
由上图可见
 (1)到AR2的10.1.21.2这条到BGP邻居的状态为Idle(空闲状态),在该状态下,BGP路由器尚未建立与邻居路由器的TCP连接。
 (2)正常连接到AR2的10.1.12.2这条到BGP邻居的状态为Established(BGP邻居连接已建立) Established状态下:BGP可以和对等体交换Update、Keepalive、Route-refresh报文和 Notification报文。在建立连接状态下,BGP邻居之间的连接已经建立并且稳定,可以交换路由信息。
2、在AR1的G0/0/1接口上执行undo shutdown后,再通过抓包,如下图:
 (1)当AR1的G0/0/1状态恢复正常后,在AR2的G0/0/2端口上抓包,查看BGP协议报文,可看出是OPEN message报文,建立BGP邻居的报文
 (2)在AR1上通过display bgp peer命令,可以看到2条链路都建立了BGP邻居,状态是Established,说明AR1与AR2已经建立BGP邻居。
 
3、在AR2上查看邻居状态,AR2与AR1之间的iBGP邻居已经建立完成,AR2与AR3之间的EBGP邻居已经建立完成,如下图:
 
4、查看邻居状态:
 (1)在AR3上查看BGP的邻居状态,与AR2已经建立BGP邻居,如下图:
 
(2)在AR2上查看IBGP邻居状态:
 
(3)在AR2上查看EBGP邻居状态:
 
5、查看BGP路由表是空的,此时我们还没有通过network与import命令引入路由到BGP对等体中
 
6、查看ip路由表
 
至此,通过物理接口的ip地址建立iBGP与EBGP已经完成。
(二)采用环回口地址建立BGP邻居
1、采用环回口地址建立BGP邻居的好处:
 (1)提高稳定性:环回接口是一种逻辑接口,不受物理链路的影响,只要路由器本身不故障,环回接口就会一直处于UP状态。因此,使用环回接口建立BGP邻居关系可以提供更高的稳定性,减少因物理链路故障导致的BGP会话中断12。
 (2)增加冗余性:当存在多条路径通往对等体时,使用环回接口建立BGP邻居关系可以增加冗余性。如果某条路径出现故障,其他路径仍然可以通过环回接口保持BGP会话的连续性,确保网络的可用性12。
 (3)快速收敛:在内部网关协议(IGP)路由协议或静态路由的支持下,使用环回接口可以提供快速的收敛。当某条路径出现故障时,IGP或静态路由可以迅速重新计算路由,确保流量能够快速切换到其他路径1。
 (4)适用于IBGP:在内部BGP(IBGP)环境中,通常使用环回接口建立邻居关系。这是因为IBGP环境底层存在IGP,环回接口也会宣告到IGP中。即使其中一条物理链路故障,环回接口仍然可以保持UP状态,不会影响IBGP邻居关系。
 (5)简化配置:在某些情况下,使用环回接口可以简化BGP配置。例如,在建立EBGP邻居关系时,如果直连设备使用环回接口建立连接,可以减少配置的复杂性
 2、使用环回口地址建立BGP邻居配置:
 【AR1】:
 bgp 100
 peer 2.2.2.2 as-number 100
 peer 2.2.2.2 connect-interface LoopBack0
 #指定更新源(open报文以物理源口来发送,与环回口不同,所以要做此指定)
 ip route-static 2.2.2.2 255.255.255.255 10.1.12.2
 ip route-static 2.2.2.2 255.255.255.255 10.1.21.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.12.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.21.2
【AR2】:
 bgp 100
 peer 1.1.1.1 as-number 100
 peer 1.1.1.1 connect-interface LoopBack0
 peer 3.3.3.3 as-number 200
 peer 3.3.3.3 ebgp-max-hop 255
 peer 3.3.3.3 connect-interface LoopBack0
ip route-static 1.1.1.1 255.255.255.255 10.1.12.1
 ip route-static 1.1.1.1 255.255.255.255 10.1.21.1
 ip route-static 3.3.3.3 255.255.255.255 10.1.23.2
 ip route-static 3.3.3.3 255.255.255.255 10.1.32.2
 (4)display bgp peer命令查看BGP邻居的状态,可以看出AR2与AR1、AR2与AR3都已经通过loopback环回接口建立了邻居关系,如下图:
 
(5)shutdown g0/0/0后,再看bgp邻居依然存在(因为loopback口的TCP连接依然存在,所以用loopback口做bgp邻居有此优势)
 
注:使用EBGP做邻居时,需要指定更新源,并将TTL值指定为大于等于2,默认255
【AR3】
 bgp 200
 peer 2.2.2.2 as-number 100
 peer 2.2.2.2 ebgp-max-hop 255
 peer 2.2.2.2 connect-interface LoopBack0
ip route-static 1.1.1.1 255.255.255.255 10.1.23.1
 ip route-static 1.1.1.1 255.255.255.255 10.1.32.1
 ip route-static 2.2.2.2 255.255.255.255 10.1.23.1
 ip route-static 2.2.2.2 255.255.255.255 10.1.32.1
五、验证结果
(一)BGP的报文类型:
1、配置BGP路由协议,建立BGP邻居
 (1)配置BGP自治系统100,指定邻居的的ip及AR1所在的自治系统编号100
 
(2)在AR1的接口上抓包,抓包为OPEN报文,如下图:
 
2、BGP的update报文,当路由条目有变化时,会触发更新,报文内容如下:
 (1)包含公认必遵属性ORIGIN属性、AS_PATH属性
 
(2)Update报文:包含公认必遵属性NEXT_HOP等,如下图
 
3、Keepalive报文:每隔60秒发送一次,通过keepaliver报文确认邻居在线与否。
 
4、Notification报文:当出现BGP故障时,通过Notification报文通知
 (1)执行undo bgp 自治系统编号 命令,取消bgp配置时,y确认
 
(2)此时在AR1接口上抓包就能看到BGP路由协议的Notification报文
 
(二)在AR1上查看iBGP邻居状态正常,如下图:

(三)在AR3上查看EBGP邻居状态正常,如下图:

至此,iBGP与EBGP的初识实验结束,后续再写黑洞路由、AS_PATH属性、Local_prefrence优先级属性、MED属性、BGP路由反射器、手动路由聚合、自动路由聚合、路由控制之路由策略、策略路由traffic-policy、MPLS-VPN搭建之MP-BGP等。
