其实之前写“从香港机房引入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值什么的。

晚安,我爱这个世界。

Community Value再理解的更多相关文章

  1. SVM问题再理解与分析——我的角度

    SVM问题再理解与分析--我的角度 欢迎关注我的博客:http://www.cnblogs.com/xujianqing/ 支持向量机问题 问题先按照几何间隔最大化的原则引出他的问题为 上面的约束条件 ...

  2. 再理解HDFS的存储机制

    再理解HDFS的存储机制 1. HDFS开创性地设计出一套文件存储方式.即对文件切割后分别存放: 2. HDFS将要存储的大文件进行切割,切割后存放在既定的存储块(Block)中,并通过预先设定的优化 ...

  3. SpringBoot-04-自动配置原理再理解

    4. 自动配置原理再理解 ​ 配置文件到底能写什么?怎么写?SpringBoot官方文档有大量的配置,但是难以全部记住. 分析自动配置原理 ​ 官方文档 ​ 我们以HttpEncodingAutoCo ...

  4. Python无类再理解--metaclass,type

    上次理解过一次,时间久了,就忘了.. 再学习一次.. http://blog.jobbole.com/21351/ ======================= 但是,Python中的类还远不止如此 ...

  5. Q他中的乱码再理解

    Qt版本有用4的版本的也有用5的版本,并且还有windows与linux跨平台的需求. 经常出现个问题是windows的解决了,源代码放到linux上编译不通过或者中文会乱码,本文主要是得出一个解决方 ...

  6. 再理解 as3.0接口

    As3.0 接口的理解与运用 1.把接口当作"类"来理解.你easy接受她. 我们看她的标准结构: package 包路径{ public interface 接口名称{ func ...

  7. RESTful再理解

    目录 目录 前言 RESTful的目的 REST的含义 表现层 状态转化 无状态协议HTTP 最后 前言 这是在经过一段时间的积累后,对RESTFul框架的再一次更深入的理解.希望能够将零散的知识点连 ...

  8. C语言-const再理解(转)

    有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定.例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小.为了满足这一要求,可以使用const关键字对变量加以限定: co ...

  9. cookie&&session再理解笔记

    就拿php来说,两个php页面之间不拿get,post传递变量的话,数据是不能共享的.访问完1.php页面该页面的变量就被销毁了.所以就拿学校食堂来说,拿现金买饭的话你交完钱后,他给你个票以便确认你, ...

随机推荐

  1. .NET面试题解析(05)-常量、字段、属性、特性与委托

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 弱小和无知不是生存的障碍,傲慢才是!——<三体> 常见面试题目: 1. const和reado ...

  2. Android入门(十七)Android多线程

    原文链接:http://www.orlion.ga/670/ 一.在子线程中更新UI Android中不允许在子线程中更新UI,只能在主线程中更新,但是我们有时候必须在子线程中执行一些耗时的任务,然后 ...

  3. 插入排序java代码

    /** * 插入排序 * * 原理:从数组中取出一个值插入到一个左边已经排好序的数组片段中 * * @param a * @return */ public long[] InsertSort(lon ...

  4. Js杂谈-正则的测试与回溯次数

    例子来源于<精通正则表达式(第三版)>这本书,我贴出来: 这里的NFA是正则的一种引擎,书中介绍了一共三种引擎:NFA,DFA和POSIX NFA.像一般我们常用的.NET,java.ut ...

  5. 在ssh中利用Solr服务建立的界面化站内搜索---solr2

         继上次匆匆搭建起结合solr和nutch的所谓站内搜索引擎之后,虽当时心中兴奋不已,可是看了看百度,再只能看看我的控制台的打印出每个索引项的几行文字,哦,好像差距还是有点大……        ...

  6. 别用symbolicatecrash来解析crash Log了

    今天突然发现了一个解析iOS crash log的好方法,忍不住来分享一下. 相信每个做iOS开发的TX都应该不会对symbolicatecrash陌生,我们第一次遇到真机上产生的崩溃日志时,在网上搜 ...

  7. JS网页顶部弹出可关闭广告图层

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. HT for Web基础动画介绍

    在上一篇<基于HT for Web矢量实现3D叶轮旋转>一文中,我略微提了下HT for Web基础动画的相关用法,但是讲得不深入,今天就来和大家分享下HT for Web基础动画的相关介 ...

  9. The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value. 错误的原因及解决方案

    异常描述: 数据访问用EF,在数据库中用getdate()设置的默认值,程序中没有赋值. 出现异常. 此错误在百度上在我写此文之前没有多少解决方案,谷歌之等到以下两个有用的页: http://stac ...

  10. STM32 DMA使用详解

    DMA部分我用到的相对简单,当然,可能这是新东西,我暂时还用不到它的复杂功能吧.下面用问答的形式表达我的思路. DMA有什么用? 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数 ...