zoukankan      html  css  js  c++  java
  • BGP基础【第三部】

    静态路由的优点:安全稳定。缺点:配置繁琐不灵活。动态路由的优缺点则反之。



    BGP边界网关路由协议

    路径向量(rip是距离矢量)

    到达目的网段所要经过的所有as

    BGP选路不看度量值而参考13种路径属性(但大多情况下比较到前面五个就差不多结束了)

    使用BGP的原因:

    1.IGP只能最多容纳上千条路由信息而BGP可以容纳数十万条(路由器性能优越)

    2.丰富的路径属性

    问题:为什么整个互联网全使用比如说ospf而不用BGP?

    设备性能达不到或网络规模较小的情况不建议使用BGP。


    企业连接ISP的方式:

    单宿:只连接一个运营商并且没有冗余链路

    双宿:只连接一个ISP,有冗余链路

    多宿:连接多个ISP,没有冗余

    双多宿:连接多个ISP,有冗余


    消息类型:

    open

    update

    keeplive 维护对等体关系的建立,周期发送

    notification报错消息,tcp连接错误时发送


    BGP特点

    路由器之间交换信息基于TCP,端口号179

    路由更新增量触发,不会周期发送!!(IGP所有更新条目都是周期发送的!!!通常30分钟)因为BGP的路由表太大。

    对等体关系手动指定

    丰富的选路策略


    show ip bop summary查询邻居表

    命令:nei 对等体地址 remote-as 对等体的as号(对等体地址必须在此时的路由表中可达,也就是需要底层协议)

    最好用环回口来建立peer关系

    建立peer关系时双方的open消息的源和目的必须交差匹配!!!输入命令时要指定源update-sourse lo0

    默认情况下ebgp关系不使用环回口建立而使用物理接口!!因为一般as间就一条链路,断掉后就没有其他路径了。


    BGP的边界在路由器上不在接口上!IGP中只有IS-IS的边界在路由器上。

    clear ip bgp *硬清除:强制重启bgp

    ”UUUUU“代表数据包能过去但回不来。

    ebgp路由默认只有一跳,设置ebgp多跳,这样可以用环回口建立ebgp

    来自ebgp的更新条目发送给ibgp,下一跳不是自己而是ebgp,对ibgp使用next-hop-self设定自己的ip为更新源,这样ibgp将数据包的源ip作为下一跳地址,非bgp路由器只是单纯依照目的ip转发消息包


    路由黑洞解决方法:重分发或as中形成全互联的peer


    BGP的as间还是DV算法,BGP路由器只把数据包交给下一跳就行了。


    使用对等体组建立对等体关系:只是为了减少配置量。。。


    BGP对等体建立经历的状态:

    1.idle:协商建立tcp

    2.connected:tcp已建立

    3.open-sent:开始发送open,协商建立对等体关系

    4.open-confirm:收到open,验证是否参数一致(源和目的ip)

    5.established:建立成功


    tcp连接失败进入active状态:重新连接;对等体建立失败

    可能原因:ip不匹配,ip地址不可达,as不匹配(加错手段)

    进入never状态。。


    数据包源ip的价值:ping包的回包使用的目的IP;BGP路由更新用做下一跳地址。


    BGP的水平分割:来自的ibgp的路由更新不会传递给其他ibgp

    解决方案:路由反射器RR(中转设备):在所要任命RR的设备上指定ibgp为客户(客户并不知道自己是客户)


    BGP 的认证:针对对等体进行认证,md5


    BGP本身很慢


    第一条选路原则“权重值”只针对思科设备有效:思科私有

    本地学到的路由默认权重为32768,其他默认为0

    权重值只在本地生效,不会通过路由更新传递出去!!只影响路由器自己的选路

    两种方式:针对对等体!!(从他学到的所有路由);route-map


    clear IP bgp * soft in/out软清除


    第二条选路原则:本地优先级(大优)

    只能在ibgp中传递,ebgp传来的条目缺省100(ebgp比ibgp优?)


    第三条:起源本路由器上的路由(无法修改)


    第四条:as-path,可以修改!!!





    数据包中的目的ip字段都是前一个路由器紧邻的下一跳ip,而不是最终目标网络ip,目标网络ip存放在“负载”字段,数据包每经过一个设备都要封装一次,解析出最终的目标网络ip再查找路由表得到合适的下一跳放到目的ip字段,将包头中的目的IP字段变成下一跳的ip。这样一来二层交换机寻路时也就有了合适的依据而不谁便广播。路由器只关心目的ip指的是“负载”里的那个目的ip。同源ip字段!!!!!!但是BGP发包的下一跳是peer不一定是直连。



    十三条选路原则就是为了针对同一个目标网络选择不同的下一跳:ibgp peer(不止一个),ebgp peer,或者说选择合适的邻居AS!!!

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7516471.html
Copyright © 2011-2022 走看看