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

 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