• Community Value再理解


    其实之前写“从香港机房引入google/bitbucket路由”的时候,对community value的了解还并不深入,对Juniper default BGP export/import policy的理解也不是很深入。我需要再整理一下对它们的理解。

    这里有一个很好的case, 

    http://www.juniper.net/documentation/en_US/junos15.1/topics/example/bgp-communities.html

    这里写了community value在帮助更改local preference时的应用,不过好像在结尾verify的时候,有个地方把R2 R4写错了,但是不耽误看。

    今天思考的问题首先涉及到community value的传递性,和这个问题在我的环境里取决于default BGP export/import policy的问题。因为之前在香港IDC,我并没有考虑的很深,在default BGP export/import policy这块,以至于,我对于BGP路由以及其community value从hkg1-wan2 到 hkg1-wan1是怎么传过去的并不十分清楚,今天有必要弄清楚。

    拓扑是这样的

     |hkg1-wan1-------------------hgk1-wan2|| ---------------------|  PACNET |

     |                   AS 6623                         ||    <---ebgp---->    | AS 10026|

    wan1 和 wan2 之间相互neighbor的时候,并没有在结尾添加任何default-reject, 也就是说,依照Juniper 默认的BGP readvertise策略,凡是wan2 从Pacnet那里学来的BGP路由,都应该readvertise 给wan1,那么问题来了,这个时候,如果我wan2本地针对某条路由(比如github的路由)add 了community value,那么这个value会不会随着一起readvertise,我目前认为是会的。我的结论也是会的,为了验证我的assertion我在wan2上标记了Facebook的路由,并且add了一个community value,

    在不更改任何wan1配置的情况下!

    wan1上show route www.facebook.com detail

    root@hkg1-wan1> show route www.facebook.com detail 
    
    inet.0: 581816 destinations, 581963 routes (581806 active, 10 holddown, 0 hidden)
    69.171.224.0/20 (1 entry, 1 announced)
            *BGP    Preference: 170/-101
                    Next hop type: Indirect
                    Address: 0xea8c51c
                    Next-hop reference count: 1744150
                    Source: 10.25.255.102
                    Next hop type: Router, Next hop index: 607
                    Next hop: xxx.xxx.xxx.xxx via ae0.0, selected
                    Session Id: 0x1b
                    Protocol next hop: 10.25.255.102
                    Indirect next hop: 294c0ec 1048575 INH Session ID: 0x1c
                    State: <Active Int Ext>
                    Local AS:  6623 Peer AS:  6623
                    Age: 12:04      Metric2: 10 
                    Validation State: unverified 
                    Task: BGP_6623.10.25.255.102+179
                    Announcement bits (3): 0-KRT 5-Resolve tree 4 6-RT 
                    AS path: 10026 32934 I
                    AS path: Recorded
                    Communities: 6623:1000 6623:6011 10026:1230 10026:32344 10026:40101
                    Accepted
                    Localpref: 100
                    Router ID: 10.25.255.102

    可以看到,wan1已经知道这个路由的community value是多少了,因为wan2 默认向wan1 重发布wan2 学到的所有BGP 路由,而Juniper又是默认send-community 的(send-community是思科命令,需要手动打),所以这个community value就被随着路由的重发布而传到了wan1。那么接下来wan1要做的就是,在wan1本地写一个community XXX members 6623:6011, XXX这个名字可以随便起,因为是本地概念,只要6623:6011这个值和上面标红的那个地方一致即可,一致之后,这个本地的名字就有了意义,就可以被当做其他用处的匹配的依据(set from community XXX, then accept),这个其他的用处就有“再次发布给大陆”,或者改一改local preference值什么的。

    晚安,我爱这个世界。

  • 相关阅读:
    Scala 学习 (八) 高级语法
    Scala 学习 (七) 并发编程模型Akka
    Scala 学习 (六) 面向对象
    Scala 学习(五) Set和HashSet
    Scala 学习(四) 集合之List
    Scala 学习(三) 集合之数组
    Scala 学习(二) 方法和函数
    datatable动态添加,及填充数据
    因为数据库正在使用,所以无法获得对数据库的独占访问权
    win2003超过最大连接数
  • 原文地址:https://www.cnblogs.com/Vooom/p/5393648.html
Copyright © 2020-2023  润新知