1,BGP的三张表
     邻居表(adjancy table)
     BGP表(forwarding database):BGP默认不做负载均衡,会选出一条最优的,放入路由表
     路由表(routing table)
 
     查询命令:
     BGP表:show ip bgp
     路由表:show ip route
     邻居表:show ip bgp summary(简单邻居),show ip bgp neighbor(详细邻居)
 
2,BGP表中的路由通告规则
     多条路径时,BGP只选最优的使用,以及传给邻居
     从EBGP获得的,直接传(包括EBGP和IBGP)
     从IBGP获得的,不再传给IBGP(RR除外)
     从IBGP获得的,只有优化时才传给EBGP邻居
 
3,BGP表
     
     status codes是最前面的,包括s,d,h,*,>,i,r,S
     origin codes是后面path列,包括i,e,?
     *:     可以用(不可用:R,从更小AD值的IGP中学到了该路由,因此不用BGP路由;s,聚合时明细路由被抑制)         
     >:     优化的(要确保>号出来,才能放进路由表,才能继续传给EBGP邻居)         
     i:     >号后面的i代表从IBGP学到的路由,本地通告的/从EBGP学到的路由不打i
    ?:     重发布得来的       
     没有>号的路由非优化的:不会放进路由表,不会给其他邻居传         
 
     例子如下:
 
 
4,BGP表中路由优化的条件(即出现>号的条件:关同步,next-hop-self)          
     实际上就是在讨论从IBGP收到的路由,是否有资格放入路由表,是否能传给后面的IBGP/EBGP邻居的问题。
     BGP同步规则:从IBGP学到的路由默认不会用,直到从IGP也学到。
     只有解决“IBGP下一跳可达性问题,以及路由黑洞问题 ”这2个问题才能优化。
     
     方法:
     首先确保下一跳可达,next-hop-self或者静态指向EBGP下一跳地址。
     然后:1)同步+BGP重发布到IGP;2)同步+写静态欺骗;3)关同步。
 
     关同步后黑洞问题仍然存在,可以通过fullmesh或者mpls解决。
 
5,BGP打R路由
     *变成R,同时从IGP和BGP学到的路由,IGP管理距离比BGP小,一般发生在IBGP(AD200)
     打R的路由不放进路由表,但是会继续传给BGP邻居
 

BGP - 4,BGP的三张表的更多相关文章

  1. Ajax案例:三级联动查询员工的信息(三张表进行内连接)

    需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...

  2. mysql三张表关联查询

    三张表,需要得到的数据是标红色部分的.sql如下: select a.uid,a.uname,a.upsw,a.urealname,a.utel,a.uremark, b.rid,b.rname,b. ...

  3. Yii的Relational Active Record三张表连接查询

    需求如下: 查询book表信息,同时关联entitystags表,以entitystags的字段eid关联book的主键,再关联查询tags表,以entitystags表的tid字段关联tags表的主 ...

  4. django 多对多自定义第三张表时的注意事项

    杂交(自定义第三张表+ManyToManyField) # modles.py class Boy(models.Model): name = models.CharField(max_length= ...

  5. $Django 多对多-自定义第三张表 基于双下划线的跨表查询(补充)

    自定义第三张表的好处:可以定义多个字段, 缺点:查询不方便(有方法解决) 1.第三张表设置外键,联合唯一(查询不方便) class Books(models.Model): name=models.C ...

  6. Oracle将两张表的数据插入第三张表且第三张表中不存在

    1.由于是先查再插所以不能使用insert into table1() values(), 要使用insert into table1() select * table2,不能使用values. 2. ...

  7. Django之多对多表之through第三张表之InlineModelAdmin后台内嵌

    话不多说,来看表结构 这里有两个表,一个是阶段表,一个是老师表,一个老师可以带多个阶段,一个阶段也可以由多个老师带,所以是多对多关系 # 阶段表 class Stage(models.Model): ...

  8. Django框架(十一)-- 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表、mvc和mtv模式

    一.inclusion_tag 1.作用 用于生成HTML片段,是数据由参数传入而变成动态 2.使用 # 1.app下新建一个模块,templatetags # 2.创建一个py文件(mytag.py ...

  9. 【Oracle/Java】向三张表各插入百万数据,共用时18分3秒,平均每张表6分钟

    三张表DDL如下: CREATE TABLE tb01 ( "ID" ,) not null primary key, "NAME" NVARCHAR2() n ...

随机推荐

  1. MongoDB的常用操作总结

    简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. ...

  2. NodeJs中npm使用

    什么是 NPM npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ruby , pear 之于 PHP . npm 是 Node 官方提供的包管理工具,他已经成了 Node ...

  3. 【ContextLoaderListener】Web项目启动报错java.lang.ClassNotFoundException: ContextLoaderListener

    错误原因: 进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下检查了一下,发现工程部署后在WE ...

  4. P4609 [FJOI2016]建筑师

    思路 裸的第一类斯特林数,思路和CF960G相同 预处理组合数和第一类斯特林数回答即可 代码 #include <cstdio> #include <cstring> #inc ...

  5. .Net Core之Swagger

    1.项目生成xml 2.添加链接文件,并将属性设值为始终复制 3.添加swagger引用:Swashbuckle.AspNetCore 4.startup.cs配置swargger的xml来源: Co ...

  6. Jquery Validate 相关参数

    Jquery Validate 相关参数 //定义中文消息 var cnmsg = { required: “必选字段”, remote: “请修正该字段”, email: “请输入正确格式的电子邮件 ...

  7. 草珊瑚理解IFC(inline formatting context)

    1. 认识字体font-family 字体渲染的实际高度, 由字体本身的设置(升部ascender,降部descender,大写字母高度Capital Height,小写字母高度X-Height等等) ...

  8. react native 渐变组件 react-native-linear-gradient

    github:  https://github.com/react-native-community/react-native-linear-gradient 安装:yarn add  react-n ...

  9. Mysql 函数使用记录(二)——ELT()、FIELD()、IFNULL()

    昨天在对一业务修改的过程中想到用DECODE()来实现效果,转眼发现目前使用的是Mysql库,经过查阅,最终用ELT().FIELD().IFNULL()函数来实现需求.现对其做一个记录. 语法: E ...

  10. ORACLE的rownum用法讲解

    如果选择踏足,终有一天你会爱上这条路. 今天讲讲ORACLE中关于ROWNUM的用法: 一.简单介绍一下ROWNUM是什么,可以用来干什么. 答:ROWNUM是一个序列,会根据sql语句自动给你加上一 ...