精华内容
下载资源
问答
  • BGP:边界网关路由协议 - 典型的EGP协议,用于AS和AS之间; 协议更新中是否携带网络掩码:携带网络掩码 协议算法:无算法 ,规则 ,路径矢量型 协议封装:基于TCP封装 ,端口号 179 2.BGP的特性 特性: 1、...

    在这里插入图片描述

    1.BGP的概念

    BGP:边界网关路由协议 -
    典型的EGP协议,用于AS和AS之间;
    协议更新中是否携带网络掩码:携带网络掩码
    协议算法:无算法 ,规则 ,路径矢量型
    协议封装:基于TCP封装 ,端口号 179

    2.BGP的特性

    
    特性:
    1、可靠性--不能周期更新,增量更新;-TCP
    2、可控性--该协议的真正意义,
       在于AS间共享路由条目时更加方便快捷的干涉选路
    3、AS-BY-AS  以一个AS为单位进行计数   
         IGP -hop-by-hop 一个路由器为一个单位
    

    3.BGP特点

    1.BGP版本 V1 V2 V3 V4 V4+ --MP-BGP(支持多种协议)
    2.BGP一般被用于大型网络,无类别路径矢量 -----距离矢量的升级版—AS-BY–AS
    3.BGP更新方式:触发更新
    4.具有丰富的属性来取代IGP中度量进行选路----多个参数控制协议
    5.默认不被用于负载均衡-----通过各种选路规则仅仅产生一条最佳路径
    6.可以在进项和出项对流量实施强大的策略–可控性
    7.BGP使用open报文建立邻居,使用keepalive 报文维持邻居关系
    8.keepalive 周期间隔60s hold 时间为180s
    9.BGP支持路由聚合(汇总),支持VLSM CIDR
    10.BGP支持路由认证
    11.BGP非常消耗路由器资源(一个路由器只能运行1个BGP进程)

    4.BGP AS号、邻居关系

    AS自治系统--as编号    
    0-65535      1-64511公有  
          64512-65535私有
    IBGP:内部BGP邻居关系,同一个AS之内建立BGP邻居
    EBGP:外部BGP邻居关系,在不同AS之间建立BGP邻居  
    IBGP邻居学习到路由的AD: 200
    EBGP邻居学习到路由的AD:20
    Local  BGP 路由=本地BGP路由值   200 
    

    5.BGP的数据包

    open Open包中存在hold time 和 RID;用于邻居关系建立;默认仅收发一次即可
    keeplive Keeplive 保活 周期60s 保活 TCP会话 hold time 180s
    update 更新包 路由条目:目标网络号+属性 路由更新,用于通告路由;用于撤销路由路由通告,使用TCP 中的ACK进行确认
    notification Notification 报错包 错误信息出现时发送

    BGP邻居关系建立的条件:1.AS号 2. BGP router-ID必须不一致3.认证一致

    6.BGP的工作过程

    1、启动配置完成后,本地和对端先单播进行TCP的三次握手,建立TCP的会话;
    
    2、会话建立后,使用open报文进行邻居关系的建立,正常收发一次open报文即可;建立关系后生成邻居表;
    
    3、邻居关系建立后,用户进行路由宣告;宣告配置完成后,BGP使用update包进行路由条目的传递---目标网络号+属性  
     
    4、本地接收到的所有路由条目均存储在BGP表中;--装载本地发出和接收到的所有路由
    
    5、默认仅从BGP表中挑选一条最优路径到路由表内;
    
    6、收敛完成,仅keeplive包继续周期保活TCP会话即可;
    

    注:所有BGP协议的数据包均基于TCP的会话传递;TCP会保证这些数据包的可靠性-确认、重传、排序、流控(窗口机制)

    7.结构突变

    1、新增网段--BGP路由上出现了新的宣告路由,使用更新包更新即可
    
    2、断开网段--BGP路由上出现断开路由,若本地给邻居发送的是汇总路由;那么只要所有明细没有全部断开,将不进行BGP更新;若明细全部消失,使用更新包告知即可;对端删除该信息即可;
    
    3、无法沟通---hold time到时时,断开邻居关系,删除所有通过该邻居学习到的信息;
    

    8.BGP的路由黑洞问题

    黑洞产生的原因 :BGP可以非直连建邻,非直连传递路由信息;导致所有运行了BGP协议的路由器均学习到路由条目;但是数据层面流量在传输时所需要经过没有运行BGP协议的路由器时,将出现不可达现象;

    解决方案:
    1、物理链路全连或者vpn
    2、邻居关系全连—所有设备运行BGP
    3、将BGP的路由重发布IGP(LAB)
    4、最佳解决方案---MPLS多协议标签交换
    

    9.BGP的防环机制(水平分割机制)

    1、ebgp邻居间的水平分割–防止ebgp邻居关系间的环路
    AS-PASH 属性 ----记录所有经过的AS的编号;接收的条目中若存在本地的AS号,拒绝接收;

    2、IBGP水平分割
    从一个IBGP邻居处学习到的路由条目,不得传递另一台IBGP邻居;
    影响:该规则迫使同一个as内所有的BGP设备间建立邻居关系,关系建立数量成指数上升;
    解决办法:故使用联邦、路由反射器来传递路由打破该规则;

    10.BGP的基础配置

    r1(config)#router bgp 1 启动时携带真实的as号,无多进程概念
    r1(config-router)#bgp router-id 1.1.1.1 顺序:手工—环回接口最大地址—物理接口最大地址

    BGP协议需要宣告的路由,不仅仅是本地的直连路由,而是本地路由表中通过所有方式产生的信息;
    故在BGP协议中,邻居关系的建立与路由条目的宣告是分开进行;

    【1】建立BGP的邻居关系

    1)建立普通的EBGP邻居关系

    在这里插入图片描述

    2)建立IBGP邻居关系

    由于IBGP邻居处于同一个as内,存在大量的可达路径;建议使用环回接口地址作为会话的源和目标地址,启用设备间所有可达链路;
    r2(config-router)#neighbor 4.4.4.4 remote-as 2
    切记环回建邻时,需要将更新源地址也修改为环回接口;
    r2(config-router)#neighbor 4.4.4.4 update-source loopback 0

    3)ebgp邻居间,存在多条链路

    {1}先处理IP可达问题

    r4(config)#ip route 5.5.5.0 255.255.255.0 45.1.1.2
    r4(config)#ip route 5.5.5.0 255.255.255.0 54.1.1.2

    {2}使用环回建立关系

    r4(config)#router bgp 2
    r4(config-router)#neighbor 5.5.5.5 remote-as 3
    r4(config-router)#neighbor 5.5.5.5 update-source loopback 0

    {3}修改TTL值

    默认EBGP邻居间数据包的TTL值为1,ibgp间为255; 故若使用环回来建立ebgp邻居关系,必须修改TTL值

    r4(config-router)#neighbor 5.5.5.5 ebgp-multihop ?
    <1-255> maximum hop count
    255
    r4(config-router)#neighbor 5.5.5.5 ebgp-multihop

    【2】查看BGP的邻居关系

    建邻配置完成后,两端进行TCP的三次握手行为;建立TCP的会话
    r1#show tcp brief
    在这里插入图片描述
    如果后边端口号黄标为179 则表示另一个IP向这个IP主动发起TCP会话

    当TCP会话建立后,邻居间使用open报文来进行邻居关系;生成邻居表:
    r1#show ip bgp neighbors 查看BGP的邻居关系–该表过大,不易查看

    r1#show ip bgp summary 查看信息简报
    在这里插入图片描述

    State/PfxRcd状态处显示阿拉伯数字标识邻居关系已经建立,该数值标识通过该邻居学习到的路由条目数量;

    【3】宣告路由

    BGP协议不计算产生路由条目,而是将本地路由表中的路由条目共享到BGP来;这些路由是通过什么方式获取的不关注;
    规则:宣告时所填写的条目内容必须和路由表中的记录完全一致
    r1(config)#router bgp 1
    r1(config-router)#network 1.1.1.0 mask 255.255.255.0

    宣告条目后,本地将生成BGP表—本地收发的所有路由信息;

    r1#show ip bgp 查看BGP表
    在这里插入图片描述

    状态注解:
    * 标识条目可用--可以加载到路由表  
       不可用的情况:
    1、*被r取代 ---不装载--本地路由表中通过其他更好的方法已经拥有了该路由
    2、*被s取代 ---被抑制--被管理员策略了,该条目不得传输给邻居;
    >标识条目是优秀的---可以加载路由表,可以传输给邻居
     优的条件:1、同步问题---本地必须通过igp也学习到该条目,BGP才能优
                  该规则在高版本设备默认关闭
               2、下一跳可达问题;AS-BY-AS--规定条目在一个AS内部传递,其属性不变化;
     将路由条目传递给IBGP邻居时,下一跳默认不修改的;可能导致下一跳不可达 
    

    解决方法:
    r2(config)#router bgp 2
    r2(config-router)#neighbor 4.4.4.4 next-hop-self

    将路由传递给邻居4.4.4.4时修改下一跳地址为本地
    当条目传输给EBGP邻居时,进入下一个AS了,过程中修改属性(包括下一跳)

    注:一条条目必须优且可用才能加表;只有优同时没有被抑制(人为)就可以传递;
    i标识该条目通过IBGP邻居学习

    展开全文
  • 一台运行BGP协议的设备在宣告本地路由表中非本地直连路由时,将携带本地到达这些路由的度量和下一跳地址; 度量问题:AS2中假设R2/R3同时连接着AS1;那么它们在宣告了本AS的路由后,将在路由信息中携带本地到达这些...

    在这里插入图片描述

    1、.BGP的宣告问题:

    一台运行BGP协议的设备在宣告本地路由表中非本地直连路由时,将携带本地到达这些路由的度量和下一跳地址;

    度量问题:AS2中假设R2/R3同时连接着AS1;那么它们在宣告了本AS的路由后,将在路由信息中携带本地到达这些网段的度量值,便于AS1判定R2/R3谁离目标最近; 同时这些路由也会被同一AS内的R4/5学习到,R4/5连接着AS3,它们在将路由传递给AS3时,会将度量清0;可以通过在R4/5上宣告AS2的路由,来向AS3导入R4/5的度量;

    总结:所有存在EBGP邻居的路由器均宣告本地AS的路由;

    2、关闭bgp的自动汇总问题

    no auto-summary 对BGP的正常的宣告路由没有影响;正常宣告路由即使设备在auto-summary条件下也携带路由表中的实际掩码;

    12.2(8)T以上IOS默认已经关闭了自动汇总no auto-summary;
    自动汇总针对的是从IGP重发布到BGP的路由;
    r2(config)#router bgp 2
    r2(config-router)#redistribute ospf 1

    批量重发布的路由

    auto-summary no auto-summary
    不携带原有掩码、度量、下一跳 携带原有掩码、度量、下一跳

    总结:所有存在EBGP邻居的路由器均重发布本地AS的路由;同时为 no auto-summary;

    1.将IGP重发布到BGP–批量的将IGP路由宣告到BGP;
    2.在BGP协议中逐条宣告IGP路由–逐一的将IGP路由重发布到bgp;
    这两种的路由区别仅仅在于起源属性不同; **逐一的起源属性优于批量的属性;**

    3、BGP的认证

    r1(config)#router bgp 1
    r1(config-router)#neighbor 12.1.1.2 password cisco123

    与12.1.1.2 邻居间进行认证,认证秘钥为cisco123,秘钥默认为MD5模式发送;

    开启密码加密服务后,在本地的running-config中,密码会被加密;
    r1(config)#service password-encryption

    4、BGP的聚合–汇总

    【1】利用BGP的宣告特点

    本地路由表中无论条目的来源均可宣告
    不需要宣告明细路由,而是在准备汇总设备上,先配置一条到达汇总地址的空接口防环路由,然后将其再宣告到BGP协议中
    r5(config)#ip route 10.1.0.0 255.255.252.0 null 0
    r5(config)#router bgp 3
    r5(config-router)#network 10.1.0.0 mask 255.255.252.0

    基于优选路径要求,BGP协议常常需要在传递汇总路由给EBGP邻居后,再传递部分的明细路由;
    这种聚合配置,只需要在宣告了汇总条目后,再逐一宣告需要的明细路由即可;

    【2】BGP的聚合配置

    先逐一宣告所有的明细路由;再在汇总源路由上,进行聚合配置

    r5(config)#router bgp 3
    r5(config-router)#aggregate-address 10.1.0.0 255.255.252.0

    聚合配置完成后,本地自动生成空接口防环路由
    注:以上配置完成后,明细和聚合条目,同时发送

    r5(config-router)#aggregate-address 10.1.0.0 255.255.252.0 summary-only
    仅传递聚合条目,所有明细路由被抑制;标记S;

    【3】控制明细的收发

    (1)抑制列表

    在汇总时,设定一张抑制列表,未被抑制的明细路由和汇总路由同时发出
    在汇总配置时,先不抑制明细路由;
    再定义一张抑制列表

    r5(config)#ip prefix-list ss permit 10.1.2.0/24
    r5(config)#route-map ss permit 10
    r5(config-route-map)#match ip address prefix-list ss
    r5(config-route-map)#exit
    r5(config)#router bgp 3
    r5(config-router)#aggregate-address 10.1.0.0 255.255.252.0 suppress-map ss
    

    注:以上被允许流量,实际最终被抑制传输;

    注:以下三种方式,即便不在汇总时,也可以正常和邻居间使用;

    (2)分发列表
    r5(config)#access-list 1 deny 10.1.2.0
    r5(config)#access-list 1 permit any
    r5(config)#router bgp 3
    r5(config-router)#neighbor 4.4.4.4 distribute-list 1 out 控制层面方向的邻居
    r5#clear ip bgp * soft 
    
    (3)Route-map
    r5(config)#ip prefix-list r permit 10.1.2.0/24
    r5(config)#route-map r deny 10
    r5(config-route-map)#match ip address prefix-list r 
    r5(config-route-map)#exit
    r5(config)#route-map r permit 20
    r5(config-route-map)#exit
    r5(config)#router bgp 3
    r5(config-router)#neighbor 4.4.4.4 route-map r out 控制层面方向
    r5(config-router)#end
    r5#clear ip bgp * soft 
    

    关注实际状态设备,in、out方向均可;若拒绝的条目多,建议编写允许,然后自动拒绝所有;拒绝的少,那么仅关注拒绝流量,添加允许所有;

    (4)前缀列表
    r5(config)#ip prefix-list qq deny 10.1.2.0/24
    r5(config)#ip prefix-list qq permit  0.0.0.0/0 le 32
    r5(config)#router bgp 3
    r5(config-router)#neighbor 4.4.4.4 prefix-list qq out 控制层面方向调用
    r5(config-router)#end
    r5#clear ip bgp * soft 
    

    关注实际状态设备,in、out方向均可;若拒绝的条目多,建议编写允许,然后自动拒绝所有;拒绝的少,那么仅关注拒绝流量,添加允许所有;

    5、BGP在MA网络中的下一跳问题

    基于ICMP重定向规则,在MA网段中传递路由时,将定义为最佳下一跳;
    r1# debug ip bgp updates

    r1#clear ip bgp * 硬重启 断开本地所有邻居间的TCP会话然后重建
    r1#clear ip bgp 123.1.1.2 和某个特定的邻居进行硬重启
    r1#clear ip bgp * soft 软重启,仅和所有邻居重新收发路由信息,不断开邻居关系
    r1#clear ip bgp 123.1.1.2 soft 和某个特定的邻居进行软重启
    r1#clear ip bgp 123.1.1.2 soft ? in Soft reconfig inbound update out Soft reconfig outbound update 还可以定义方向,区分本地发出和接收流量

    查看本地发送给该邻居的BGP表内容

    r1#show ip bgp neighbors 123.1.1.2 advertised-routes

    查看本地从某个邻居接收的BGP表内容

    r1#show ip bgp neighbors 123.1.1.2 received-routes
    % Inbound soft reconfiguration not enabled on 123.1.1.2 默认没有空间来进行区分
    创建专用空间,建议查看完空间内容后,删除该空间

    r1(config)#router bgp 1
    r1(config-router)#neighbor 123.1.1.2 soft-reconfiguration inbound

    6.社团属性

    BGP协议的一种扩展属性
    各家厂商的产品默认不传播社团属性,故在使用社团属性时,必须开启传递性

    例:关闭控制条目传播范围的几种社团属性
    r1(config)#route-map com permit 10   定制社团属性
    r1(config-route-map)#set community ?
      <1-4294967295>  community number
      aa:nn           community number in aa:nn format
      additive        Add to the existing community
      internet        Internet (well-known community)
      local-AS        Do not send outside local AS (well-known community)
      no-advertise    Do not advertise to any peer (well-known community)
      no-export       Do not export to next AS (well-known community)
      none            No community attribute
      <cr>
    r1(config-route-map)#set community no-advertise 
    r1(config-route-map)#exit
    
    r1(config)#router bgp 1 
    r1(config-router)#neighbor 12.1.1.2 route-map com out 调用属性
    r1(config-router)#end
    r1#clear ip bgp * soft 
    

    r1(config)#router bgp 1
    r1(config-router)#neighbor 12.1.1.2 send-community

    开启传递性后,才将社团属性传递给下一邻居,每台BGP设备均需要与下一台设备间开启

    no-advertise 接收到的路由条目中,若存在该属性,将不再传递给下一个邻居;
    no-export 接收到的路由条目中,若存在该属性,将不再传递给下一个大AS;
    local-AS 接收到的路由条目中,若存在该属性,将不再传递给下一个小AS;
    若没有小AS,no-export和local-AS作用一致;均不传递给下一个大AS;

    配置小工具:

    peer-group–简化BGP配置的技术

    r1(config)#router bgp 1 
    r1(config-router)#neighbor xxx peer-group   创建名为xxx的peer-group
    定制xxx的内容
    r1(config-router)#neighbor xxx remote-as 2  
    r1(config-router)#neighbor xxx update-source loopback 0
    r1(config-router)#neighbor xxx ebgp-multihop 
    针对邻居进行调用
    r1(config-router)#neighbor 2.2.2.2 peer-group xxx
    r1(config-router)#neighbor 3.3.3.3 peer-group xxx
    r1(config-router)#neighbor 4.4.4.4 peer-group xxx
    注:一旦和某个邻居间调用了peer-group,那么之后与该邻居的大部分操作均需要在peer-group中定制;
    
    展开全文
  • ** BGP边界网关路由协议: 无类别的路径矢量EGP协议 **

    **

    BGP边界网关路由协议: 无类别的路径矢量EGP协议

    **
    一、建邻居配置—单播建立邻居关系
    【1】直连的EBGP邻居关系建立
    r1(config)#router bgp 1 启动时需要配置真实AS号,无多进程概念;
    r1(config-router)#bgp router-id 1.1.1.1 手工配置RID,生成方式与OSPF一致;
    r1(config-router)#neighbor 12.1.1.2 remote-as 2
    在这里插入图片描述

    当建邻配置完成后,邻居间将进行TCP三次握手,建立TCP会话:
    在这里插入图片描述

    会话建立后,邻居间使用open报文来建立邻居关系,生成邻居表:
    r1#show ip bgp neighbors 查看邻居间详细信息
    r1#show ip bgp summary 查看邻居综合信息

    【2】IBGP邻居关系建立—因为在一个AS内部,存在大量的备份路径;故建议使用环回接口来建立邻居关系,保障稳定性;
    r2(config)#router bgp 2
    r2(config-router)#neighbor 3.3.3.3 remote-as 2
    r2(config-router)#neighbor 3.3.3.3 update-source loopback 0
    注:使用环回做为目标地址的同时,也需要将源修改为本地的环回地址

    【3】EBGP邻居间存在多条直连路径时,也建议使用环回建
    1)IP可达
    r4(config)#ip route 5.5.5.0 255.255.255.0 45.1.1.2
    r4(config)#ip route 5.5.5.0 255.255.255.0 54.1.1.2
    2)建立邻居关系
    r4(config)#router bgp 2
    r4(config-router)#neighbor 5.5.5.5 remote-as 3
    r4(config-router)#neighbor 5.5.5.5 update-source loopback 0

    3)EBGP邻居关系间的数据包TTL值,默认为1;IBGP间为255;
    故一旦使用环回建立EBGP邻居关系,就必须修改默认的TTL值

    二、BGP的宣告配置
    BGP协议可以宣告本地路由表中任意路由;这些路由条目的产生方式不关注
    r1(config)#router bgp 1
    r1(config-router)#network 1.1.1.0 mask 255.255.255.0
    注:宣告时,必须逐条宣告;且所宣告信息必须和本地路由表中完全一致
    宣告完成后,生成BGP表;该表存储所有本地发出及接收到的路由信息;
    r1#show ip bgp 查看BGP表
    在这里插入图片描述

    BGP条目状态:
    "*"标示可用---- 可以加表–路由表
    “>”标示优秀---- 可以加表–路由表 可以传递–传输给邻居
    故必须可用同时优秀才能加表;仅优即可传递;
    字母i标示条目通过IBGP邻居学习;

    不可用的情况:
    *号被r取代 —不装载–本地路由表中已经拥有更好的路由
    *号被s取代 —抑制—管理员策略限制条目的传输

    优秀的条件:
    1、同步问题—IOS版本12.2(8)T以上,默认关闭该规则;也可手工关闭
    同步要求—本地路由表必须先通过IGP学习到该路由,BGP才能同步生成;

    2、下一跳可达问题
    基于AS-BY-AS规则,条目在一个AS内部传递时属性不变;导致IBGP邻居间路由的下一跳地址可能为其他AS设备,最终出现不可达;
    r2(config)#router bgp 2
    r2(config-router)#neighbor 3.3.3.3 next-hop-self
    将路由传递给IBGP邻居3.3.3.3时,将条目中的下一跳地址修改为本地;
    路由条目在传递给EBGP邻居时,会自动修改下一跳地址为本地;

    三、BGP宣告问题
    在BGP协议中,若宣告的路由非本地直连路由,那么将携带本地到达这些目标的度量值和下一跳地址;
    度量:本地将携带本地到底目标的度量值,传输给本地的EBGP邻居;方便本地直连的AS内部设备挑选最佳的EBGP邻居;但这些若通过本地的IGBP邻居传递给它们的EBGP邻居时,度量值将归0;故建议所有存在EBGP邻居的BGP路由器均宣告内网路由;
    下一跳:本地将路由传递给本地的EBGP邻居时,下一跳地址自动修改为本地;
    若从IBGP邻居处学习到的路由条目中,下一跳地址为本地将拒绝接收;迫使所有存在EBGP设备的路由器均需要宣告内网路由;但next-hop-self会使得路由传递给邻居时下一跳地址修改为本地;故需要管理员自己为网络最佳在所有存在EBGP邻居的BGP设备上宣告内网路由;

    四、BGP的no auto-summary
    自动汇总行为在BGP协议中,对普通的BGP路由没意义;
    针对的是从IGP重发布到BGP的路由条目;
    auto-summary 重发布时不携带掩码、度量、下一跳
    no auto-summary 携带掩码、度量、下一跳
    故建议no auto-summary,且所有存在EBGP邻居的BGP路由器均进行重发布,便于选路;

    BGP协议中,宣告就是逐条的重发布路由;重发布就是一次性的宣告;所产生的路由仅起源属性不同;

    五、认证
    r1(config)#router bgp 1
    r1(config-router)#neighbor 12.1.1.2 password cisco123
    实际密码是以MD5值传输;
    可以开启密码密文服务,来在running-config中密文显示
    r1(config)#service password-encryption

    六、聚合
    1)利用BGP的宣告特征—本地路由表中任何路由,无论产生方式均可宣告;先在汇总路由器上配置一条到达汇总目标的空接口防环路由,然后再BGP中宣告条目;不需要逐条宣告明细路由,在这种汇总的配置下,若还需要传递明细路由,只需要在汇总后,逐一去宣告各个明细路由即可;
    2)普通的BGP聚合—自动产生空接口防环路由,先逐一宣告所有的明细路由,然后再在源设备上聚合配置即可;
    3)聚合地址非本地AS;
    若聚合配置设备,聚合了其他AS的路由,那么为防止路由回传,可以将明细路由中的as-pash属性附加于聚合条目上,来避免回传。

    七、特殊情况下打破IBGP的水平分割
    IBGP水平分割----从一个IBGP邻居处学习到的路由条目,不得给下一个IBGP邻居;
    若不打破该规则,将导致所有存在EBGP邻居的BGP路由器间均需建邻;配置量成指数上升;有条件的打破是指在保障无环的情况下,来处理;
    RR 路由反射器
    客户端、非客户端均必须为RR的IBGP邻居; 强制至少一台RR和一台客户端;
    三种角色构建一个簇(组)
    1)若RR从一台EBGP邻居处学习到的路由信息,传递给本地的客户端、非客户端、其他EBGP邻居
    2)若RR从一台客户端学习到了路由信息,可以传递给其他的客户端、非客户端、EBGP邻居;
    3)若RR从一台非客户端学习到了路由信息,可以传递该其他的客户端、EBGP邻居;不能传递给其他的非客户端;
    注:若路径不优,也不能被反射;

    联邦
    将一个大AS逻辑区分多个小AS;小AS间可以像EBGP邻居一样传递路由,但不能修改属性;
    1)所有的配置均使用小as号完成
    2)联邦内所有BGP设备需声明自己所在的大AS号
    3)小AS间的ebgp路由器护指peer;
    注:实际应用中两种技术将被结合;

    八、BGP选路规则
    比较前提–同步被关闭、下一跳可达;均可优
    1)首先比较weight 大优–不传递 ,Cisco私有 EBGP/IBGP
    2)比较本地优先级,默认100;仅IBGP邻居传递,大优 IBGP
    3)优选本地下一跳
    4)比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP
    5)起源码最小 i-igp=0 e-egp=1 ?-incomplete=2 EBGP/IBGP
    6)MED值最小 EBGP/IBGP
    7)普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居
    8)优选最近的IGP邻居(IGP度量小)
    9)优选最先建立EBGP邻居
    10)最小BGP邻居的RID
    11)优选最小的RR list 列表
    12)若收到到达同一目的地两条均可优的EBGP路由,可以人为实现负载均衡

    九、BGP的peer-group
    九、BGP的社团属性–BGP的扩展属性;这些扩散属性数量庞大,默认大多数厂商不会传递这些属性的;故一旦使用社团属性,就必须开启传递性;
    例:关于传播范围的社团属性
    r1(config)#route-map com permit 10
    r1(config-route-map)#set community no-advertise
    r1(config-route-map)#exit
    r1(config)#router bgp 2
    r1(config-router)#neighbor 23.1.1.3 route-map com out
    r1(config-router)#end
    r1#clear ip bgp * soft
    因为默认不传递,故配置属性后,必须开启传递性
    r1(config)#router bgp 2
    r1(config-router)#neighbor 23.1.1.3 send-community
    r1#clear ip bgp * soft

    no-advertise 条目中携带该属性,将不得传递给下一个邻居
    no-export 条目中携带该属性,将不得传递给下一个大AS
    local-AS 条目中携带该属性,将不得传递给下一个小AS;
    若拓扑中没有小as,那么no-export和local-as作用一致;

    十、BGP的团属性
    r3(config)#router bgp 11
    r3(config-router)#neighbor xxx peer-group 创建名为xxx的peer-group
    r3(config-router)#neighbor xxx remote-as 11
    r3(config-router)#neighbor xxx update-source loopback 0
    r3(config-router)#neighbor xxx ebgp-multihop
    r3(config-router)#neighbor 1.1.1.1 peer-group xxx
    r3(config-router)#neighbor 2.2.2.2 peer-group xxx
    r3(config-router)#neighbor 3.3.3.3 peer-group xxx
    注:一旦和某个邻居间调用了peer-group,那么和该邻居间大多数的配置均需要在peer-group中定制;

    展开全文
  • BGP边界网关路由协议

    2021-08-01 19:07:25
    自治系统(Autonomous System)是指使用统一内部路由协议的一组网络。 如果成员单位的网络路由器准备采用EGP(Exterior Gateway Protocol) BGP(Border Gateway Protocol)或 IDRP(OSI Inter-Domain Routing ...

    目录

    什么是AS?

    协议基础

    特点

    什么时候使用BGP

    邻居关系

    配置

    路由宣告

    防环机制

    路由反射器

    联邦

    BGP工作过程

    BGP路由黑洞问题

    BGP的认证


    什么是AS?

    自治系统(Autonomous System)是指使用统一内部路由协议的一组网络。 如果成员单位的网络路由器准备采用EGP(Exterior Gateway Protocol) BGP(Border Gateway Protocol)或 IDRP(OSI Inter-Domain Routing Protocol)协议,可以申请AS号码。一般如果该单位的网络规模比较大或者将来会发展成较大规模的网络, 而且有多个出口,建议建立成一个自治系统,这样就需要AS号码。 如果网络规模较小,或者规模较为固定,而且只有一个出口, 可采用静态路由或其它路由协议,这样就不需要AS号码。https://www.cidr-report.org    标准AS编号  16位二进制   0-65535

    路径矢量(一个AS为一跳)--- 距离矢量(一个路由器为一跳)

    协议基础

    EGP协议 、无类别协议;无算法有规则,基于TCP封装,使用TCP端口号179

    特点

    • 收敛速度慢
    • 基于TCP做认证,认证信息在TCP报文中
    • 单播更新
    • 具有丰富的属性
    • 支持路由认证
    • 默认不被用于负载均衡——通过各种选路规则仅仅产生一条最佳路径
    • BGP支持认证和聚合(汇总)

    什么时候使用BGP

    • 传输AS
    • 连接多宿主(多出口)
    • 对进入和离开本AS的流量实现强大的控制策略

    邻居关系

    • IBGP内部邻居关系AD---200
    • EBGP外部邻居关系AD---20
    • IGBP TTL=255
    • EBGP TTL=1
    • 邻居---直连  因为BGP协议中存在非直连邻居的需求,故BGP邻居称为毗邻关系
    • EBGP邻居关系 ----  外部BGP邻居关系,建邻的两台设备处于不同的AS中

    • IBGP邻居关系  ---- 内部BGP邻居关系,建邻的两台设备处于相同的AS中

    配置

    建立BGP邻居关系

    [r1]bgp 1   启动时需要定义AS号,没有多进程概念;一台设备只能在一个AS中工作

    [r1-bgp]router-id 1.1.1.1  建议配置RID;RID的生成规则同OSPF;

    1、单链路的EBGP邻居关系

    [r1-bgp]peer 12.1.1.2 as-number 2      对端接口ip地址    对端所在的AS号

    2、建立IBGP邻居关系;--由于一个AS的内部大多拓扑冗余比较丰富,若使用物理接口来作为源、目IP地址建立BGP邻居,将浪费冗余资源;建议使用环回接口作为源/目ip地址;

    稳定/且可以同时使用多条链路资源

    切记:在使用环回地址作为源、目ip地址时;及要定义目标为对端的环回,还需要修改本端的源为环回,否则将自动使用本地的物理出口作为源

    [r2-bgp]peer  3.3.3.3 connect-interface LoopBack 0

    3、多链路的EBGP邻居关系  、建议使用环回作为源、目标接口

          IP可达问题—一般使用静态

    [r4]ip route-static  5.5.5.0 24 45.1.1.2

    [r4]ip route-static 5.5.5.0 24 54.1.1.2

          建立EBGP邻居关系

    [r4]bgp 2

    [r4-bgp]peer  5.5.5.5 as-number 3

    [r4-bgp]peer  5.5.5.5 connect-interface LoopBack 0

    TTL问题,默认IBGP邻居间的数据包TTL值为255,EBGP邻居间TTL值为1;

      因此若使用环回来建立EBGP邻居关系,TTL不够;故,必须修改

    [r4-bgp]peer 5.5.5.5 ebgp-max-hop 2

    两端配置完成后,邻居间先进行TCP的三次握手,建立TCP的会话

    r1]display  tcp status 

    当TCP会话建立后,邻居间收发一次open包(携带RID),建立BGP的邻居关系;生成邻居表

    [r1]display  bgp peer
    
     BGP local router ID : 1.1.1.1
    
     Local AS number : 1
    
     Total number of peers : 1                Peers in established state : 1
    
     Peer        V        AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv
    
    12.1.1.2        4           2        5        6     0 00:03:22 Established       0

    表格尾部的数字0,代表从该邻居处学习到的路由条目数量

    路由宣告

    BGP协议所宣告路由为本地路由表中任何来源产生的路由信息;

    宣告时,可逐条选择本地路由表中的路由信息宣告:

    [r1]bgp 1

    [r1-bgp]network 1.1.1.0 24

    切记:宣告时,所宣告的网络号必须和本地路由表中的记录完全一致

    当宣告配置完成后,本地生成BGP表;-装载本地发出及接收到所有BGP路由

    [r1]display  bgp routing-table 
     Total Number of Routes: 1
          Network            NextHop        MED        LocPrf    PrefVal Path/Ogn
     *>   1.1.1.0/24            0.0.0.0         0                     0      i
    状态   目标网络号                        属性
    

    * 可用

    > 优秀  

    使用i标识该条目通过本地的IBGP邻居学习

    一条条目可用且优秀才能传输给本地的其他邻居;才能加载到本地的路由表中;

    条目优秀的条件:

    • 同步问题—目前的设备同步规则默认关闭,该问题在当下已经不需要关注了

            同步问题—本地必须先通告IGP学习到该路由,在通过BGP学习

    • 下一跳不可达问题—因为AS-BY-AS规则  使得下一跳地址在一个AS内部传递时,默认不修改;故通过本地的IBGP邻居学习到的路由,大多下一跳不可达
    [r2]bgp 2
    
    [r2-bgp]peer  3.3.3.3 next-hop-local   R2将路由传输给3.3.3.3时,修改下一跳地址为R2

    防环机制

    • IBGP水平分割机制:本地一个从IBGp邻居学习到的路由条目,不得传给本地其他的IBGP邻居
    • EBGP水平分割:接收到的路由条目中,若存在本地的AS号将拒绝该条目进入
    • 缺点:在IBGP水平分割的限制下,虽然避免了IBGP的环路产生,但同时也使得AS内部为了能够传递路由条目,必须两两间建立IBGP邻居关系,邻居关系成指数上升,配置量巨大
    • 解决方案:联邦、路由反射器

    路由反射器

    客户端、非客户端必须分别为RR的IBGP邻居关系;三种角色构建为一个簇(组);
    一个簇内可以存在多台设备,但至少一个簇内存在一个RR和一个客户端
    规则:
    1)RR从一台EBGP邻居处学习到的路由可以共享给本地的其他客户端、非客户端、EBGP邻居;
    2)RR从一台客户端邻居处学习到的路由可以共享给本地的其他客户端、非客户端、EBGP邻居;
    3)RR从一台非客户端邻居处学习到的路由可以共享给本地的其他客户端、EBGP;不能共享给其他的非客户端;
    注:被反射路由,在反射过程中,其属性不发生任何变化;若RR接收的条目不优,不具备传递性,将不被反射;

    [r3-bgp]peer 2.2.2.2 reflect-client    ibgp邻居2.2.2.2成为本地的客户端,同时本地成为RR;
     

    联邦

    • 联邦,将一个大as逻辑为多个小as;小AS使用私有AS号,小AS间为联邦内的bepg邻居关系,可以像EBGP一样传递路由,但不能修改属性; 对于联邦外的AS,只能看到大AS号;
    • 所有的启动,建邻、管理均基于小AS号进行
    • 联邦内所有设备需要声明自己所在的大AS号
    • 小AS间的ebgp邻居需要互指对端的小as号

     [r3]bgp 64512

     [r3-bgp]router-id 3.3.3.3

     [r3-bgp]confederation id  2   声明本地的大AS号

     [r3-bgp]confederation peer-as 64513   对端小AS号

     [r3-bgp]pe 2.2.2.2 as-number 64512

     [r3-bgp]pe 2.2.2.2 connect-interface LoopBack 0

     [r3-bgp]pe 4.4.4.4 as-number 64513

     [r3-bgp]pe 4.4.4.4 connect-interface  LoopBack 0

         [r3-bgp]pe 4.4.4.4 ebgp-max-hop 2

    注:在实际工程中,路由器反射器与联邦技术是结合,在一个拓扑中共同使用的;

    BGP工作过程

    1. 配置完成后,邻居间进行单播TCP3次握手,目标端口号为179,建立TCP的会话;之后所有的BGP协议数据包会基于该会话进行传输
    2. 会话建立后,邻居间正常收发一次open报文建立BGP邻居关系,生成邻居表BGP协议的open报文中将携带本地的RID—生成方式和OSPF一致;仅需要本地及本地所有邻居唯一即可
    3. 邻居建立后,默认1min使用keeplive周期保活邻居关系(周期保活TCP会话)
    4. 管理员选择性将本地路由表中通过任意来源获取的路由条目,向BGP协议进行宣告;使用updata数据包进行邻居间的路由共享,之后生成BGP表(装载本地发出及收到的所有路由条目)默认将最优路径加载于路由表中(最优仅仅基于BGP的选路规则,不一定为最佳路径)
    5. 收敛完成后仅keeplive周期保活即可
    6. 若出现错误信息,邻居间将使用Notification报文进行报错

    BGP路由黑洞问题

    非直连建邻到达控制层面路由条目可传递,递归计算路由可达,而实际数据层面流量在经过没有运行BGP协议的路由器时无法通过,导致有去无回

    解决方案:

    • 物理、逻辑拓扑全连:物理直连/VPN
    • 邻居关系全连:网络中所有设备均运行BGP协议
    • BGP重发布到IGP
    • MPLS多协议标签交换(推荐)

    BGP的认证

    [r3-bgp]peer  34.1.1.2 password cipher 123456

                                      双方密码需要一致,密码默认基于MD5计算后转发

    展开全文
  • BGP边界网关路由协议: 无类别的路径矢量EGP协议 AS之间沟通使用的协议----AS自治系统 ; AS的编号:0-65535其中: 1-64511是公有的, 64512-65535是私有的; 什么时候使用BGP: 1.传输AS 2.连接多宿主 3.对...
  • BGP:边界网关路由协议 无类别的路径矢量EGP协议,是EGP类别的路由协议,用于AS与AS间进行路由条目共享;AS编号 0-65535标准编号,其中1-64511公有,64512-65535私有 32位二进制构建为扩展编号;BGP协议为不同AS间...
  • BGP路由协议

    2021-03-28 15:17:29
    BGP全称:边界路由网关协议,属于EGP、距离矢量路由协议、无类 EGP:工作在AS与AS之间的路由协议,主要是用于传递与选择路由,无周期性更新,收敛较慢。 BGP协议的开发是为了解决多个AS之间的路由传递与选择的过程,...
  • ospf、rip、bgp基于什么协议

    千次阅读 2017-04-14 08:47:31
    RIP协议采用UDP是因为,rip每周期需全网组播路由信息,路由信息数目较大,故使用UDP协议可提高效率BGP为边界网关协议,因携带的路由信息较多,且可能跨不同网络传送路由信息,为保证可靠性,需使用TCP协议,可兼顾
  • Bgp路由协议

    2012-03-21 14:10:27
    Bgp路由协议路由协议分为igp和egp。Igp是内部路由协议,应用于as内部。egp是是as间的路由协议。Bpg就是一个egp协议,是一个距离矢量路由协议。它在as内部用metric来描述链路的质量,而bgp是用链路的属性来描述as...
  • BGP的主要目的是提供一个域间路由选择系统,以确保独立系统只能无环地交换路由选择信息,BGP路由器交换路径信息到目标网络。BGP是一种基于策略的路由选择协议,...类似于OSPF和ISIS路由协议的Hello报道,BGP使用kee..
  • BGP:边界网关路由协议

    2021-01-16 15:37:18
    BGP:边界网关路由协议 无类别的路径矢量EGP协议; EGP类别的路由协议,用于AS与AS间进行路由条目共享; AS编号 0-65535标准编号,其中1-64511公有 64512-65535私有 32位二进制构建为扩展编号; ...
  • BGP:边界网关路由协议 EGP协议 管理AS间路由传递 距离矢量型–分布式计算 用TCP来传递路由信息(端口179) 保证可靠性但丧失了邻居自动发现可以非直连建邻 设计用来处理AS之间的路由,所以该协议重点处理的是AS...
  • bgp路由协议

    千次阅读 2016-06-27 10:49:24
    BGP(Border Gateway ... RFC对AS的定义:一组被统一管理的路由器,它们使用相同的内部网关协议和统一的度量值在AS内部路由分 组,并使用外部网关协议将分组路由到其他AS。  每一个自治系统都有一个AS号
  • 文章目录BGP(边界网关协议)一、BGP特征1、主要作用2、相关特点二、BGP的6种状态三、BGP的5个报文四、BGP的2个对等体类五、BGP的5大原则六、配置命令 一、BGP特征 1、主要作用 在AS之间自动交换无环路的路由信息...
  • BGP设备学习到去往同一个目的网络(包括网段和掩码)的多条BGP路由(路径)时,设备将这些路由都装载到BGP路由表,并在这些条目中进行路由优选,最终决策出最优(Best)的路由,将该BGP路由加载到全局路由表中,...
  • 三层路由高可用指的是网络协议模型中网络层的路由高可用功能。基于虚拟IP来实现。对应的有四层传输层 LVS 是通过IP和端口实现。七层应用层F5可以通过URL实现。 场景:   3台Linux服务器,2台server部署了服务...
  • BGP路由协议入门

    2021-03-26 13:37:17
    目录前言一、BGP二、BGP实验1.1 BGP命令2.2 实验 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器...
  • TCP/IP中唯一的一款AS之间使用的协议 ,但我们使用静态默认也可以去往外网,并且你使用bgp要接收外网的明系路由,15w条外网明系还会占用极大的内存空间,转发数据负担更大,查表延时也更加高。为啥要使用BGP? 那么...
  • 1 AODV协议概述 AODV协议是在DSDV协议基础上综合类似DSR中的按需路由机制进行改进后提出的不同之处在于AODV采用...点就是加入了组播路由协议扩展并支持QoS但是AODV是基于双信道的假设工作路由应答报文沿路由请求报文的
  • 路由协议——BGP

    2019-02-28 20:05:26
    BGP属于应用层协议基于TCP。 它是边界网关协议,有别于内部网关协议BGP用来在不同自治系统之间交换路由信息,应用于互联网与互联网之间。 BGP只是力求寻找到一条尽可能到目标网络比较好的路径,因为找到最佳路径...
  • BGP路由反射器 背景 在中转AS65102中,BCDE路由互通。B与E运行BGP,并且两者建立IBGP对等体关系(两者并非直连,但是对于BGP,这是允许的,仅需确保两者之间能够正确建立TCP连接即可)。C与D并未运行BGP。 此时A将...
  • BGP :边界网关路由协议 AS与AS之间使用的EGP协议;外部网关路由协议; AS AS:自治系统 --控制IGP协议的工作半径,涉及到管理域(管理者) As编号 : 标准16位 0-65535 其中1-64511公有 64512-65535私有 扩展32位 IGP...
  • 1路由选择策略(静态和动态) 最典型的路由选择策略有两种:静态路由和动态路由。 所谓的静态是说明路由器不是通过彼此之间动态交换路由信息建立和更新路由表,而是指由网络管理员根据网络拓扑结构图来手动配置。 ...
  • FRR的BGP路由策略 过滤器 FRR提供了基于IP,基于Community和基于AS-PATH的三种类型过滤器来匹配路由。 IP Access List 基于IP的路由ACL规则,比较少使用,通常是用IP Prefix List来设置策略。 access-list NAME [seq...
  • 一、BGP协议 二、BGP协议报文格式 三、BGP协议交换信息的过程及BGP的4种报文 四、BGP协议的特点 五、三种路由协议的比较

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,998
精华内容 4,399
关键字:

bgp基于什么的路由协议