其实之前写“从香港机房引入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. 快速入门系列--WCF--05事务

    最近开始WCF相关知识的学习,虽然实际工作中使用公司自己的一套SOA系统,但微软的一套服务架构还是具有很大的参考意义.除了WCF的一些基础使用,相对比较复杂的内容有分布式的事务和通信的安全等,不过基本 ...

  2. SQL Server中关于跟踪(Trace)那点事

    前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...

  3. JS中实现数组和对象的深拷贝和浅拷贝

    数组的拷贝 > 数组的深拷贝,两层 var arr = [[1,2,3],[4,5,6],[7,8,9]]; var arr2 = []; 循环第一层数组 for(var i=0,len=arr ...

  4. WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要针对WPF项目 ...

  5. maven -- 学习笔记(二)之setting.xml配置说明(备忘)

    setting.xml配置说明,learn from:http://pengqb.javaeye.com,http://blog.csdn.net/mypop/article/details/6146 ...

  6. JSON.stringify转换Date不正确的解決方法

    JSON.stringify转换Date不正确的原因:国际时区(UTC)和中国时区(GMT)的原因,东八区+8等于国际时区. 解决方法,重新Es5的Date.prototype.toJSON方法,代码 ...

  7. Spark入门实战系列--3.Spark编程模型(下)--IDEA搭建及实战

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 . 安装IntelliJ IDEA IDEA 全称 IntelliJ IDEA,是java语 ...

  8. Nodejs学习笔记(一)——初识Nodejs

    前言:目前工作的分内之事相对较为单一,希望可以通过工作之余的时间给自己充充电,只是没有一个学伴或大神带,只能说是摸索着前进.起初准备好好研究下Spring这个框架,下载了源码,结合书籍准备一探究竟,看 ...

  9. 《HelloGitHub月刊》第05期

    <HelloGitHub>第05期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 欢迎各路人士加入本项目,丰富月刊的内容,也可以直接在Issue(需要登录gi ...

  10. 补充$.extend()

    这里多谢某童鞋的提醒!说我的上篇随笔jquery插件开发的方式一还还可用于合并参数和深clone,虽然方式二中用了方式一做参数合并,但并未详细介绍,所以今天在此处做点补充! 一.合并参数 jquery ...