HCIP BGP

BGP 边界网关协议

使用范围: BGP范围,在AS之间使用的协议
协议的特点(算法):路径矢量型,没有算法
协议是否传递网络掩码 :传递网络掩码,支持VLSM CIDR
协议消息数据包封装:基于TCP封装,端口号:179

BGP用于在不同的自治系统(AS)之间交换路由信息。当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)

AS: 自治系统 自治系统范围:1-65535 , 公有AS (1-64511) 私有AS(64512-65535)

EGP协议在之前还存在一款协议 — EGP,但是由于其功能有限,后来在其基础上进行优化和改进,生成了现在的BGP协议。目前AS之间使用最广泛的协议就是BGP协议

BGP协议特点
1.BGP是一种路径矢量型路由协议
2.BGP协议版本,当前版本 V4(V4+) V1 V2 V3(有类别) V4(无类别 仅仅支持IPV4单播路由传递) V4+(支持IPV4单播路由、IPV6单播 IPV4 组播 、IPV6组播、VPNV4 、VPNV6 等,除了IPV4单播路由之外的其他的都称为 MP-BGP—多协议BGP; 注意:默认仅仅支持传递IPV4单播路由,传递其他方式路由时需要开吭(激活))
3.更新地址:单播更新
4.更新方式:触发更新、增量更新
5.BGP协议中存在大量的属性(是一种基于规则的路由协议)
6.BGP协议支持路由认证
7.支持BGP路由聚合(汇总)
8.BGP是一种非常消耗资源的路由协议

适合使用BGP的网络环境
1.传输AS
2.多宿主
3.需要对进入和离开的流量进行强大的策略控制时

BGP邻居关系
IBGP :内部BGP邻居
防环机制:IBGP 水平分割机制(IBGP只传一跳规则,通过一个IBGP邻居学习的路由不能传递给其他的IBGP邻居);next-hop;起源者属性;簇ID列表

EBGP:外部BGP邻居
防环机制:AS-Path AS路径防环;不接收AS-Path中包含自身AS号的路由信息

BGP 邻居状态机制
Idle:初始化
Connect:连接 Active : 活劢
Opensent:収送open报文   Openconfirm:open报文确认
Established:邻居状态

BGP的数据包
在BGP中,因为使用TCP协议,需要建立点到点的连接,所以,无法通过组播或者广播来自动发现邻居,只能手工指定邻居关系
Open报文 — 主要完成BGP对等体关系的建立,协商参数
BGP邻居关系建立条件
 1.router-id 必须丌同
 2.BGP认证一致
 3.指定正确的AS号
 4.建立TCP三次握手的两端路由可达

Keeplive报文 — 仅完成周期保活即可,周期发送时间为保活时间的1/3;默认为60S

Update报文 — 真正携带路由信息的数据报;主要携带目标网络号及掩码信息和路径属性

Notification报文 — BGP协议设计的一个告警机制;在BGP协议运行的全过程中,如果发生错误导致对等体关系断开,则设备将在断开之前,发送该报文来报告错误原因

BGP的基本配置
对等体关系建立
1.EBGP直连邻居建立
 1)启动BGP进程
 [R1]bgp 1 — AS号 — 因为BGP设备只能存在在一个AS中,所以,BGP一台设备上只能启动一个进程
 [R1-bgp]
 2)配置RID
 [R1-bgp]router-id 1.1.1.1
 3)手动指定邻居关系
 [R1-bgp]peer 12.0.0.2 as-number 2 — 注意,手工指定一定是双向的
 [R1]display bgp peer — 查看BGP邻居表

2.IBGP对等体之间环回接口建邻
 由于IBGP对等体之间处于同一个AS中,正常一个AS内部将存在大量的备份路径,若使用物理接口建立邻居关系,将浪费备份资源,所以建议使用环回接口来建立IBGP对等体关系
 [r2-bgp]peer 3.3.3.3 as-number 2
 [r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0 — 给3.3.3.3发消息使用环回接口的IP地址 — 使用环回接口建立对等体关系一定需要执行这个命令,否则邻居关系将建立失败

3.EBGP对等体之间的非直连建邻
 前提条件:建邻的IP之间必须可达,可以使用静态路由来保证
 [r4-bgp]peer 5.5.5.5 ebgp-max-hop 2 — 修改EBGP对等体之间发送数据报中的TTL值
 [r5-bgp]peer 4.4.4.4 ebgp-max-hop — 直接将TTL值修改为255

BGP协议三张表
1.BGP邻居表
 [R1]display bgp peer verbose
查看BGP邻居表的摘要信息
 [R2]display bgp peer

2.BGP路由表
 [R1]display bgp routing-table

3.IP路由表
BGP 路由优先级:
 EBGP:255
 IBGP:255
 Local BGP : 255

注意:
EBGP邻居之间传递路由最小间隔为30s
IBGP邻居之间传递路由最小间隔为15s

路由不优问题
原因:1.下一跳不可达;2.IBGP同步

下一跳属性规则:
1.network 引入;默认next-hop;属性为0.0.0.0
2.network通告路由传递给IBGP邻居或EBGP邻居时,下一跳默认为更新源地址(即建立TCP三次握手的对方IP地址)
3.IBGP学习路由传递给EBGP邻居时,下一跳为EBGP邻居建立的更新源地址(EBGP邻居路由传递给EBGP邻居时也一样)
4.EBGP学习路由传递给IBGP邻居时,下一跳不发生改变

数据层面的路由黑洞:
1.在边界设备上将BGP重发布引入IGP协议(仅仅引入EBGP邻居学习并加表的路由)
2.在AS内建立全互联的IBGP邻居关系
3.减少IBGP邻居关系的数量,打破IBGP水平分割;a.路由反射器;b.EBGP 联邦
4.MPLS

路由反射器
Router Reflector — RR — 我们可以将BGP路由器配置成为路由反射器,而被配置成为路由反射器的设备在一定条件下,将可以反射学到的IBGP路由信息,以此来打破IBGP水平分割带来的通信障碍

路由反射器的反射规则
1.如果路由反射器从自己客户处学习到一条路由信息,则他将把该路由信息反射给自己所有的客户以及非客户
2.如果RR从自己的非客户处学习到一条路由信息,则他将把该路由信息反射给自己所有的客户"非非不传"
3.当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射

联邦
在大的AS中重新规划小的AS,小的AS之间去建立联邦的EBGP对等体关系,以此来打破IBGP水平分割的限制。(注意:联邦的EBGP对等体关系是一种特殊的存在,仅遵循EBGP对等体的传递特性,但是,也需要遵守AS-BY-AS规则)
因为联邦的出现也将打破IBGP水平分割,可能造成路由回传,出现环路。所以,联邦的EBGP之间也需要防环,其使用方法还是使用AS_PATH属性来防环。因为,这个防环也只是针对AS内部进行防环,所以,联邦成员的AS号将使用小括号括起来。之后,在发送到其他AS时将不携带

 [r2]bgp 100 — 联邦成员设备启动BGP进程时,使用小号来启动
 [r2-bgp]confederation id 23 — 告知设备其所处的大的AS为AS 23
 [r2-bgp]peer 3.3.3.3 as-number 100 — 联邦内部建立IBGP对等体使用小号建邻
 [r3-bgp]confederation peer-as 200 — 告知需要建立联邦的EBGP对等体设备所在的AS号 — 只需要在联邦的EBGP对等体关系上执行即可
 [r3-bgp]peer 4.4.4.4 ebgp-max-hop — 联邦的EBGP对等体之间因为需要遵循EBGP的传递特性,所以,他们之间的数据包的TTL值将设置为1,环回建邻的话需要修改该值

团体属性
可选可传递属性
标准团体属性:定义BGP路由的传播范围
扩展团体属性:针对传递的路由信息进行标记

Internet—可以传递给所有邻居
no-advertise—不能传递给任何邻居
no-export—不能传递出大的AS
no-export-subconfed—不能传递出小的AS

默认情况下,所有路由器识别并支持所有的属性,但是不传递
开启传递BGP团体属性的能力
开启支持传递标准:peer 12.1.1.1 advertise-community
开启支持传递扩展:peer 12.1.1.1 advertise-ext-community

BGP的路由过滤
1,通过路由策略进行过滤
 1)抓取流量
 [r1]ip ip-prefix aa permit 192.168.1.0 24
 2)配置路由策略
 [r1]route-policy aa deny node 10
 Info: New Sequence of this List.
 [r1-route-policy]if-match ip-prefix aa
 [r1-route-policy]q
 [r1]route-policy aa permit node 20
 Info: New Sequence of this List.
 [r1-route-policy]q
 3)在BGP进程调用
 [r1-bgp]peer 12.0.0.2 route-policy aa export
2,通过前缀列表来过滤路由
 1)抓取流量并过滤
 [r2]ip ip-prefix aa deny 192.168.2.0 24
 [r2]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32 — 注意,需要放通所有剩余流量
 2)在BGP进程中进行调用
 [r2-bgp]peer 12.0.0.1 ip-prefix aa import
3,通过过滤策略来进行过滤
 1)抓流量
 [r3]ip ip-prefix aa deny 192.168.2.0 24
 [r3]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
 2)在BGP进程中调用
 [r3-bgp]filter-policy ip-prefix aa import — 直接在进程中调用过滤策略
 也可以在peer中调用,注意,在peer中调用时,只能使用ACL列表抓取流量。
 [r3-acl-basic-2000]rule deny source 192.168.3.0 0
 [r3-acl-basic-2000]rule permit source any
 [r3-bgp]peer 13.0.0.1 filter-policy 2000 import

BGP的路由聚合
就是IGP中的汇总

1.利用BGP 可以network 所有加表的路由信息
 [R1]ip route-static 1.1.1.0 255.255.255.0 NULL 0
通告:[R1-bgp]network 1.1.1.0 255.255.255.0
查看:[R2]display bgp routing-table

2.使用聚合者属性进行路由聚合
 [R1-bgp-af-ipv4]aggregate 1.1.1.0 255.255.255.0

注意:
在进行路由聚合时,会丢弃某些属性,例如AS-path,导致网络故障(严重的会出现路由环路),还有一些属性会自动生成一些默认值

存在问题的属性:
1.AS-Path(丢失)
2.origin(默认使用所有明细中最差的 )
3.LP(丢失) 4.团体属性(丢失)

使用AS-SET属性之后:
AS-PATH:会将经过的所有AS恢复,若存在重复的多个AS路径中,将所有经过的AS 写入到一个叫做AS序列属性中, 在计算AS-path长度时仅仅算一个
Origin:默认使用所有明细中最差的 (思科中默认使用i,使用了AS-SET之后才会选择最差的)
LP:丢失(思科中,使用最小的LP)
COM:丢失(在思科中会恢复所有团体属性,同时使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值