BGP学习笔记

BGP:边界网关协议

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

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

  1. 一组共享相似路由策略并在单一管理域中运行的路由器的集合
  2. 可以是运营相同协议的路由器集合,也可以是运行不同路由协议但属于同一个组织机构的路由器集合
  3. 每个自治系统都有一个唯一的自治系统编号,由lANA分配
  4. 自治系统的编号范围是1-65535,1-65411是注册的Internet编号,65412-65535是专用网络编号

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 :运行于同一AS内部的BGP(内部BGP邻居)
  • EBGP:运行于不同AS之间的BGP(外部BGP邻居)
  • IBGP邻居的防环机制:IBGP 水平分割机制(IBGP只传一跳规则,通 过一个IBGP邻居学习的路由不能传递给其他的IBGP邻居); nexthop、起源者属性、簇ID列表.。
  • EBGP邻居的防环机制:AS-Path AS路径防环,BGP的一种属性,BGP的路由条目在传递过程中将记录所有经过的AS号,若接收到的路由条目中存在本地的AS号,将拒绝接收该条目。

BGP消息数据包

在这里插入图片描述

  • Open
    建立BGP邻居关系,只发送一次
    在这里插入图片描述
  • Keeplive
    保活,维持BGP邻居关系。周期性发送 周期时间 keepalive 时间默认为60s
    Hold 时间,保持时间默认为180s

在这里插入图片描述

  • Update 更新

    • 通告路由
      在这里插入图片描述
    • 撤销路由
      在这里插入图片描述
  • notification 报告(错误报告)

在这里插入图片描述

BGP邻居状态机制

在这里插入图片描述

在这里插入图片描述

BGP邻居关系建立条件:

  1. router-id 必须不同
  2. BGP认证一致
  3. 指定正确的AS号
  4. 建立TCP三次握手的两端路由可达

BGP配置

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

启动BGP进程,并指定BGP Router-ID:
[Router] bgp as-num
[Router-bgp] router-id x.x.x.x

  • As-num参数为设备所处的AS号;
  • 为了增加网络的可靠性,建议将BGP Router-ID手工配置为设备Loopback接口的地址。如果没有配 置,则BGP会自动选取系统视图下的Router-ID作为BGP协议的Router-ID。

配置BGP对等体:
[Router-bgp] peer x.x.x.x as-number as-num

  • Peer关键字后面的x.x.x.x为对等体的IP地址,本设备与该IP地址之间必须路由可达。
  • 在BGP中,对等体需要通过peer命令手工指定,无法像IGP那样通过协议自动发现。
  • AS号码决定了与对等体建立的是EBGP会话还是IBGP会话。

使用network命令将路由通告到BGP:
[router-bgp] network ipv4-address [ mask | mask-length ]

  • 使用network命令将路由表中的路由通告到BGP。路由必须存在于路由表中才能够被成功通告到 BGP。
  • 如果上述命令没有指定mask或mask-length参数,则按有类地址处理。指定了mask,则仅当路由选择表中有与该网络完全匹配的条目时才被通告出去。
  • BGP中的network命令与IGP中的network是大不相同的,BGP中的network命令用于将路由通告到 BGP,而不是在接口上激活BGP。

修改更新源;默认更新源为到达peer的本地出接口地址

  • 指定用于建立BGP会话(也就是TCP连接)的源接口或源地址:
    [Router-bgp] peer x.x.x.x connect-interface intf [ ipv4-src-address ]
  • 缺省情况下,BGP使用报文出接口的IP地址作为与对等体建立会话的源地址。
  • 在部署IBGP对等体关系时,建议使用Loopback地址作为更新源地址。Loopback接口非常稳定,而且可以借助AS内的IGP和冗余拓扑来保证可靠性。
  • 在部署EBGP对等体关系时,通常使用直连接口的IP地址作为源地址,如若使用Loopback接口建立EBGP对等体关系,则应注意EBGP多跳问题。

BGP基本配置-EBGP多跳

  • 通常EBGP的对等体关系基于直连接口建立。如果EBGP的对等体关系并非基于直连接口建立,而是基于Loopback接口,又或者EBGP对等体不是直连的(中间隔着其他设备),那么要注意EBGP多跳的问题:在EBGP之间,所发送的BGP报文默认的TTL为1,因此如果EBGP对等体之间存在多跳,则需修改最大跳数限制。
  • 命令如下:
    [Router-bgp] peer ipv4-address ebgp-max-hop [ hop-count ]
    (1.关闭EBGP之间直连检测;2.修改EBGP数据包的TTL值)
  • 如果配置上述命令时没有指定参数hop-count,则为255。

修改BGP路由下一跳为自身

  • BGP是AS-by-AS的路由协议,而不是Router-by-Router的路由协议。在BGP中,Next-Hop属性值并不 意味着是下一台路由器,而是到达下一个AS的IP地址。
  • 当路由器将一条BGP路由传递给自己的EBGP对等体时,缺省情况下该路由的Next-Hop属性值为其更新 源地址,一般为自己的接口IP地址。
  • 当路由器将一条学习自EBGP对等体的路由传递给自己的IBGP对等体时,它会保持路由原有的NextHop属性不变。使用peer x.x.x.x next-hop-local命令可以将路由的Next-Hop修改为自己。

BGP相关的几张表

在这里插入图片描述

BGP邻居表详细信息:display bgp peer verbose

BGP邻居表

在这里插入图片描述

BGP路由表

在这里插入图片描述

查看BGP条目详细信息

在这里插入图片描述
BGP路由表
display ip routing-table protocal bgp

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

下一跳属性规则:

  1. network 引入,默认next-hop属性为0.0.0.0
  2. IBGP或者EBGP邻居学习到的路由,下一跳默认为对方的更新源地址(即建立TCP三次握手的对方IP 地址)
  3. IBGP学习路由传递给EBGP邻居时,下一跳为EBGP邻居建立的更新源地址(EBGP邻居路由传递给 EBGP邻居时也一样)
  4. EBGP学习路由传递给IBGP邻居时,下一跳不发生改变,使用peer x.x.x.x next-hop-local命令可以将路由的Next-Hop修改为自己。

数据层面的路由黑洞:
(路由传递:分段;数据:源目IP不变)

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

对等体组 peer group : 将多个peer划入一个group中,针对group实施BGP邻居关系。
优点:减少BGP配置;将多个peer划入一个group仅仅针对一个group一次性消耗CPU内存等资源。

配置:

group ccie internal		#创建group
peer ccie connect-interface loopback 0
peer ccie next-hop-local		#针对group定义配置
peer  3.3.3.3  group ccie		#将peer划入对等体组

路由反射器:
反射规则:非非不传(非客户端收到的路由不能传递给其他的非客户端)
在路由反射器中,由于破坏了IBGP水平分割机制,可能导致路由环路,所以引起了起源者属性和簇ID属性进行防环。
设置路由反射器:设置对等体用户为路由反射器的客户端,同时宣告自身为路由反射器的服务器端。

peer 2.2.2.2 reflect-client

EBGP联邦
先部署小AS,再声明大AS。
注意:联邦BGP邻居既有IBGP邻居特性又有EBGP邻居特性
IBGP特性:下一跳问题;学习到的路由标记为IBGP
EBGP特性:邻居建立过程中存在EBGP邻居的非直连检测和TTL问题
联邦EBGP防环:引入联邦AS序列号进行防环(与AS-path区别:不计入选路,当传递出大的AS时消失)

confederation id 200	#声明大的AS号
confederation peer-as 567	#在需要建立联邦EBGP之间指定peer-as

BGP引入IGP路由
• 需注意的是:BGP本身不发现路由,因此需要将其他路由引入到BGP路由表。 • BGP引入路由时支持Import和Network两种方式: • Import方式是按协议类型,将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中。Import方式还 可以引入静态路由和直连路由。 • Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中。 • BGP在引入IGP的路由时,可以使用路由策略进行路由过滤和路由属性设置。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值