设为首页 收藏本站
查看: 784|回复: 0

[经验分享] BGP 配置详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-17 09:19:17 | 显示全部楼层 |阅读模式
一、先总结一下BGP怎么学(磨刀不误砍柴工哈):
    先看BGP的特性ferture,然后再看这些ferture在数据包传递过程中会产生哪些问题,接下来就看怎么解决这些问题,以实现数据包的正确传递!
    1:BGP靠TCP进行连接,故第一步要保证三层IP的可达性;
    2:BGP以单播建邻居,故须手工指邻居;
    3:BGP有源检测特性,故邻居地址须和发送更新地址保持一致(至少保证一条TCP连接);
    4:EBGP邻居open包的TTL值为1(其他包呢),如以环回接口建邻居须将它改大;
    5:BGP要关自动汇总吧,这个是因为什么?
    6:BGP有同步规则,这会导致传输AS不传递路由条目(从外部AS传过来的条目不再传向其他AS)[这个同步关了会造成路由黑洞,不关路由器承受不住,怎么折衷?传输AS的路由器性能应该不错吧,为什么还要关同步?];
    7、BGP有水平分割,在同一个AS内路由条目只传一跳,故要求IBGP全互联或者是做路由反射;
    8、BGP的下一跳是以AS计数,故为了保证数据包能够被正确封装,应该将下一跳改成物理上的下一跳(这个如果BGP和IGP同步了就不用打nexthop-self命令了吧?)
回头看看,这好像都是从BGP到数据包的思路,那么还可以从数据包到BGP吧。嗯,两种思路!回头再总结一下!
二、next-hop属性
    1、针对EBGP邻居传递过来的条目;
    2、非MA网络上只须在连接外部AS的边缘路由器上打相应命令;
    3、MA网络上的next-hop,如图:
      (1)A向AS65000传递路由时无须更改下一跳
      (2)第三方下一跳:
        前提:以直连物理口建立邻居
        问题:AS65000在向A传递外部AS路由条目时会先经C到B然后到A,并且A上这种条目的下一跳地址会显示为B,这在MA网络中并不是数据包传递的最佳路径(完全可由C直接到A)。BGP解决这种问题的具体方法是怎么样的?没弄明白,还请老师指教!!!
三、peer-group
    1、作用:简化IBGP邻居配置任务;减少资源消耗(只对peer-group建立缓存)
    2、范围:针对IBGP邻居
    3、命令:
      R2(config-router)#neighbor PG peer-group        建立peer-group
      R2(config-router)#neighbor PG remote-as 123      设置peer-group所属AS
      R2(config-router)#neighbor PG update-source lo0 指明更新源
      R2(config-router)#neighbor PG next-hop-self      修改下一跳
      R2(config-router)#neighbor 1.1.1.1 peer-group PG 针对1.1.1.1这个邻居调用peer-group
      R2(config-router)#neighbor 3.3.3.3 peer-group PG 调用
    4、不足:一旦所有的IBGP邻居都用peer-group建立,就不能针对单个IBGP邻居实施出站策略(入站策略还是可以的)
四、邻居状态
    1、idle:在这上状态下BGP会查路由表,看有没有去往建立邻居地址的路由,如果有的话则进行TCP的连            接,一直处于此种状态则表明找不到去住邻居地址的路由,无法完成数据帧的封装;
    2、Active:有路由了,这时尝试建立TCP的连接,发出TCP请求;
    3、Connect:被请求的一方才会有这种状态(端口为179的一方),出现这种状态表示TCP连接已经建立;
    4、Open sent:发送BGP的路由信息
    5、Open confirm:路由信息发送完毕,邻居关系快要协商成功了
    6、Established:邻居关系建立,开始为数据包提供正常的路由.
    注意:一会显示idle一会显示active,则有以下原因:
      发出去的包邻居没有回包;
      指的邻居地址不对;
      AS号码错误.
五、BGP的认证
    1、只支持MD5认证
    2、非对称式密钥,只发消息摘要,不发密码本身
    3、针对每个TCP段、每个路由更新进行认证
    4、命令
      R3(config-router)#neighbor 1.1.1.1 password 0 cisco
六、查看写路由表失败的路由:
  show ip bgp rib-failure 可以看到失败的原因 
七、BGP会话的清除方式
    作用:让BGP立刻执行所实施的策略
  1、硬清除:直接清除邻居关系重新建;
      (1)R3#clear ip bgp *
          清除所有BGP的会话,邻居关系重新从IDLE状态开始协商
      (2)R3#clear ip bgp 1.1.1.1
          清除单个的BGP邻居
    2、软清除:清除BGP路由重新发或者重新收
      (1)R3#clear ip bgp * soft out        只针对out方向清,in方向通常清不了(原因?)
      (2)R3#clear ip bgp 1.1.1.1 soft out
      (3)清入站路由更新
          R3(config-router)#nei 2.2.2.2 soft-reconfiguration inbound
          R3#clear ip bgp * soft in
          或者到邻居端清出站更新
      这个好像没多大效果啊,没看出来
    3、等待BGP的刷新,让它自己清
八、路由黑洞
    1、BGP水平分割带来的黑洞
      (1)原因:IBGP的水平分割
      (2)解决方法:IBGP全互联、路由反射器、BGP联盟
      (3)查看向邻居通告了哪些BGP路由
          R2#show ip bgp neighbors 1.1.1.1 advertised-routes
            BGP table version is 4, local router ID is 2.2.2.2
            Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
            Origin codes: i - IGP, e - EGP, ? - incomplete
            Network          Next Hop            Metric LocPrf Weight Path
            *> 4.1.1.0/24      202.100.0.1              0            0 400 i
    2、不同步带来的路由黑洞
      (1)原因:没有路由
      (2)解决:同步
九、路由反射器
    1、路由反射簇:路由反射器和它的客户端所在的范围,可以看作是一个逻辑上的路由器,但这个路由器只有RR知道,非RR只是一个普通的IBGP路由器。
    2、工作原理
      卷二上是这么说的
      (1)从客户端发送过来的BGP路由RR会发送给其他客户端,会反射给其他非客户端,会反射给EBGP邻居;
      (2)从非客户端发送过来的BGP路由RR会发送给它的客户端,会发送给它的EBGP邻居,但不会发送给其他的非客户端;
      (3)从EBGP邻居发送过来的BGP路由RR会发送给它的客户端、非客户端
      但是这很废话,所以事实上我们可以把路由反射器理解为遵从BGP规则的一个逻辑路由器。
    3、应用:在IBGP之间打破BGP水平分割原则传递BGP路由(前提:该路由在RR上能够被优化--下一跳可达)
    4、配置:
      R1(config-router)#nei 3.3.3.3 route-reflector-client      指明客户端
      R1(config-router)#bgp cluster-id ?                        配置簇ID(可选)
        <1-4294967295> Route-Reflector Cluster-id as 32 bit quantity
        A.B.C.D        Route-Reflector Cluster-id in IP address format
      有关簇ID:在BGP选路的时候会用到,经过的簇越多,簇ID越长(?),越不优选。
    5、实践:中间的路由器做双向的反射,如果存在多台中间路由器,则这些中间路由器都得做路由反射器,以最终将BGP路由传递出去
十、BGP联盟
    1、含义:大AS含小AS
    2、联盟AS号:通常为私有AS号
    3、角色:联盟IBGP、联盟EBGP
    4、做法:将IBGP域用私有AS号划成几个小AS,对外以大AS宣告
    5、问题:
      (1)一台路由器上只能起一个BGP进程,私有AS号又不能在公网上识别,如何与外部AS建立EBGP邻居?
      (2)联盟EBGP之间邻居关系的建立:须用到EBGP多跳属性
      (3)联盟EBGP路由器都宣称自己是大AS,但是又不是属于同一个AS,怎么建立邻居?
      (4)下一跳的问题
    6、解决:
      (1)向外宣告大AS(注意:大AS内所有路由器都得打这条命令);
          R3(config-router)#bgp confederation identifier 123
      (2)在联盟EBGP对等体上修改更新源和TTL值;
      (3)不向联盟AS宣告自己的大AS号
          R3(config-router)#bgp confederation peers 65100 65200
      (4)修改下一跳,联盟BGP之间也得这样做
    7、变与不变:
      (1)变:AS path
            路由条目标识
      (2)不变:从联盟EBGP学来的路由条目的管理距离仍为200
    8、应用:打破BGP水平分割传递路由
    变态了一把:中间的路由器上不宣告自己的大AS号,结果报错,公网上的BGP路由的AS path中出现了私有AS号!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114737-1-1.html 上篇帖子: IOS 的恢复方法总结 下篇帖子: CISCO ASA配置说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表