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. day28 网络编程

    网络编程 什么是网络编程? 编写基于网络的应用程序的过程称之为网络编程 一.CS构架 C/S构架 服务器和客户端之间用网线连接 提供数据的计算机称为服务器,访问数据的计算机称为客户端 二.网络通讯的基 ...

  2. gcc,make,cmake

    1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C.C++.Objective-C.Fortran.Java等等 ...

  3. linux下安装tomcat和jdk

    1.现在的linux服务器一般自带jdk,先查询是否已经安装jdk rpm -qa | grep java rpm -qa | grep jdk 如上则是没有安装,可以直接跳到步骤X,安装jdk.否则 ...

  4. topcoder srm 535 div1

    problem1 link 对于每个质因子$p$,枚举其出现的最少次数以及最多次数分别在哪个数字中. problem2 link 分数规划.题目是求$\frac{3600K+\sum_{i=0}^{K ...

  5. Python3 tkinter基础 Frame bind 鼠标移动事件 实时显示鼠标的位置

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. 远程调试Spring项目

    目录 服务端启动: 启动jar包: 使用环境变量参数调试jar包: 使用mvnDebug启动SpringMVC项目: 使用mvn启动: 使用Tomcat,非嵌入式启动: 客户端设置: IDEA设置: ...

  7. 【做题】arc072_f-Dam——维护下凸包

    题意:有一个容量为\(L\)的水库,每天晚上可以放任意体积的水.每天早上会有一定温度和体积的水流入水库,且要保证流入水之后水的总体积不能超过\(L\).令体积分别为\(V_1,V_2\),温度分别为\ ...

  8. C# DataTable.Compute()用法

    DataTable.Compute()用法 2010-04-07 11:28 一.DataTable.Compute()方法說明如下 作用:          计算用来传递筛选条件的当前行上的给定表达 ...

  9. [implements] - 一个接口的使用

    4种货物,如何使用一个接口实现CRUD: package com.tansuo365.test1.service.goods; import com.tansuo365.test1.entity.Go ...

  10. 用RAR将多个文件夹一次性压缩为多个对应zip文件

    选中要压缩的所有文件夹.右键,选“添加到压缩文件...”,弹出的菜单如下图: 点击菜单栏“文件”.在“把每个文件都单独压缩文件中”选中,才可以单独创建压缩.如下图