在路由器之间动态的学习路由条目,形成路由表

 IGP:以最快的速度,计算一个去往目标网络的最短的、无环的转发路径
  -DV
     RIP
     IGRP
     EIGRP
  -LS
     ISIS
     OSPF 
 EGP:在不同的企业之间,实现大量路由的稳定可靠的传输,并且可以实现路由
      的灵活控制,并且保证无环;
  -BGP:border gateway protocol ,边界网关协议
  用于连接不同的企业或者组织结构;

  prefix/mask    type      priority   cost   next-hop  , interface 

    数据库中 ---(priority/cost)---> 路由表中
                                        -match packet :
                                                最长匹配原则

money  money  home 

优先级:表示的路由的稳定性,值越小越好;0-255 ;

Metric(度量值):表示的是去往一个目标网络的距离的远近,越小越好; 

OSPF:
   1、邻居表
   2、数据库
   3、路由表
      -hello:是非可靠传输方式;
      -DBD:隐式确认,通过DBD报文中的序列号字段进行确认;
      -LSU:显式确认,每发送一个LSU,都会返回一个LSAck;
      -LSR:显式确认,每发送一个LSR,都会返回一个LSAck;
      -LSAck:仅仅对其他报文实现确认作用,但是本身的传输是不可靠的;

    L2+L3+OSPF

BGP:
    L2+L3+TCP+BGP - tcp 179
    L2+L3+UDP+RIP - udp 520 
    L2+L3+OSFP - protocol-id : 89 , TCP/IP 路由技术卷1,2 | OSPF设计与实现 | OSPF命令手册
    L2+L3+EIGRP - protocol-id:88
    L2+ISIS 

    关于交换:
        BCMSN    chm/pdf

BGP工作原理:
    1、邻居表:display bgp peer 
    2、数据库:display bgp routing-table
    3、路由表

bgp {as}  # as 分为公有和私有,[64512--65535]

  peer  {ip-address} as-number {对方设备的}

-------------------------------------------------------

BGP邻居建立:
   -内部邻居
      R1;
        bgp 64512   # 设备本地运行的 BGP AS 号;
          router-id 1.1.1.1
          peer 192.168.12.2 as-number 64512  #邻居路由器属于的 AS 号;

      R2;
        bgp 64512
          router-id 2.2.2.2
          peer 192.168.12.1 as-number 64512

      display bgp peer  # 查看设备上的 BGP 邻居表;
         local-as
         local-router-id 
         number of peers 

  peer    v    as    msgrcvd  msgsent  outq  up/down  state  prefrvcd

    R1:
      bgp 64512
        peer  10.10.2.2  as-number 64512 
           # R1 主动向 10.10.2.2 发起一个 TCP 179 的链接;
           # 10.10.2.2 必须位于 AS 64512
               or
             10.10.2.2 的回复报文,必须是属于as 64512 的; 
           # 对方回包时,所使用的源IP地址必须是 10.10.2.2 ,
              否则不接受(这就是“更新源检测机制”)

        为了解决“非直连端口建立邻居时”所面临的“更新源检测机制”,
        所以我们在发送 BGP 链接请求时候,更改报文的源IP地址:
            例如:
                bgp 64512
                  peer 10.10.2.2  connect-interface loopback 0

        强烈建议:
            非直连端口建立BGP邻居关系时,两边的Peer命令,都使用
            该参数;
-------------------------------------------------------------------

非直连IBGP邻居关系建立:

1、配置IP
2、配置IGP
3、配置BGP

外部BGP邻居建立时候需要考虑的机制:
    1、更新源检测机制 -- 与IBGP邻居是相同的;
    2、直连检测机制
          #在什么时候才会检查该机制
            在建立EBGP时,并且发送的BGP报文的 TTL 为 1 时,才会检查;
          #该机制的定义是什么
             &去往邻居地址时,使用的必须是“直连路由”,
               如果不是,则表示不满足“直连检测机制”,从而无法建立EBGP邻居

    面对为了链路稳定为建立的“非直连的 EBGP 邻居关系”,我们需要修改 EBGP 
    报文的 TTL 值不是“1”即可。因为,一旦不是1,就不会关心该机制了。

        bgp 64513
          peere 10.10.2.2 ebgp-max-hop [255]

============================================================

IBGP邻居防环机制:
    -IBGP水平分割
       指的是从内部邻居路由器收到的路由,不会再次发送给其他的内部邻居;

    解决方案:
       -IBGP全互连
       -BGP联盟
           大AS:在外部邻居关系之间发送的报文中,使用的是大AS;
           小AS: 在联盟内部的“内部邻居”之间肯定是用;
                 在联盟内部的“联盟成员AS”之间的特殊的外部邻居之间也使用;

R1:
  bgp 64512
  confederation id 200  # BGP联盟的号码,表示的是 大AS 
  peer 10.10.2.2 as-number 64512
  peer 10.10.2.2 connect-interface loopback 10

R2:
  bgp 64512
  confederation id 200 
  confederation peer-as 64513
  peer 10.10.1.1 as-number 64512  #与R1为内部邻居,所以使用小AS
  peer 10.10.1.1 connect-interface loopback 0 

  peer 10.10.3.3 as-number 64513  #联盟内部的特殊的外部邻居,使用小AS
  peer 10.10.3.3 connect-interface loopback 0
  peer 10.10.3.3 ebgp-max-hop 

  peer 192.168.24.4  as-number 400  # 此时与R4建立邻居使用的是大AS

R3:
  bgp 64513
  confederation id 200
  confederation peer-as 64512
  peer 10.10.2.2 as-number 64512
  peer 10.10.2.2 connect-interface loopback 10
  peer 10.10.2.2 ebgp-max-hop