IGP
EGP

  BGP
    IBGP
	   -IBGP的水平分割
	     #IBGP全互联
		 #联盟(大AS和小AS)
		 #路由反射器(route-reflector)
		    -当我们将一个路由器配置为BGP的“路由反射器”之后,
			 该路由器就会不关心“IBGP水平分割”机制。
			-路由反射器 + 路由反射器客户端 = 路由反射 簇 (cluster)
			
		R5;
            bgp 64512
              peer 10.10.4.4 reflect-client		#将R4作为自己的客户端;
                                                 从而自己成为了反射器;			    
	EBGP

BGP路由在传递过程下一跳的变化:
    1、在内部邻居之间传递的时候,下一跳是不变化的;
    2、在外部邻居之间传递的时候,下一跳是会变化的;

在AS的边界路由器上,对自己的内部邻居配置“下一跳自我”:
     R7:
        bgp 64513
          peer 10.10.6.6 next-hop-local 
                    # R7发送给 R6 的所有的路由的下一跳为 10.10.7.7 ; 

BGP在什么情况下使用:
    1、运营商之间使用 BGP ; 
    2、当企业具有多出口网络设计的时候,可以使用 BGP ;
    3、当想对路由选路进行灵活控制的时候,可以使用BGP;
	
-------------------------------------------------------------------

BGP 13 条选路原则:

1、权重(prefered value |  weight ) ,私有属性,值越大越好;

2、local preference ,本地优先级,越大越好;

  

3、是否为本地起源 
       所谓本地起源,表示的是本地产生的BGP路由。
	   对于BGP路由器而言,BGP路由分为两种:
	          自己本地产生的
			  从其他路由器学习的
			本地产生的,要优于 “从其他路由器”学习的路由
			
4、as-path长度 ,越短越好(属性as-path可以实现不同AS之间的路由转发环路的防护)
    as-path 表示的是 BGP 路由在传递过程中,前后依次经历过的 AS 号的组成;
	  当BGP路由器发现收到的BGP路由的 AS-path 属性中包含了自己的 AS号,
	  则表明该路由在传递过程中,曾经穿越过自己的 AS , 
	  那么,就不接收该路由条目,以防止路由环路的发生;
      as-path 的形成过程是:从右向左;
	  
	  默认情况下,as-path在 外部邻居之间发送路由的时候,才会变化;



5、origin code ,本地起源属性( i > e > ? )

6、MED,值越小越好(只有当邻居AS相同时,才会进行比较)


7、EBGP优先于IBGP

8、去往BGP路由的下一跳的 IGP Metric ,越小越好;

9、负载均衡
       如果开启的话,则将多个路由条目都放入到路由表中;
	   并且将 best 路由,发送给邻居;
10、越老越好(仅仅对于EBGP)
11、RID(router-id),越小越好;
12、Cluster list 长度,越短越好;
13、peer address ,越小越好;



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


R1:更改 BGP 属性 -  local preference 

1、匹配感兴趣的路由;
   acl 2000
      rule 5 permit source  80.80.80.0 0.0.0.255
	  
2、创建路由策略
   route-policy CCNA permit node 10 
      if-match acl 2000
	  apply local-preference 333
      
3、调用路由策略
    bgp 100
	  peer 10.10.3.3 route-policy CCNA import # 调用入向路由策略
4、验证
    display bgp routing-table #去往80 的路由,下一跳变成 R3;
	display bgp routing-table peer 10.10.3.3 received-route 

	存在的问题:R1从R3收路由时,少了40和70的相关路由。

注意:
   基本ACL在匹配路由条目时,只能匹配路由的前缀,不能匹配掩码;
   扩展ACL是可以的;


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

R2:更改 BGP 属性 -  as-path 属性 

1、创建ACL,匹配感兴趣的路由(40.40.40.0/24) 
     acl 2004
	   rule 5 permit source 40.40.40.0 0.0.0.0 
2、创建 route-plicy , 修改 as-path:添加一个 210,将as-path长度变为2;
     route-policy R2-R4-IN permit node 10
	    if-match acl 2004
		apply as-path  210  additive
     route-policy R2-R4-IN permit node 100 		
3、调用路由策略
     bgp 100
	   peer 192.168.24.4  route-policy R2-R4-IN import 
4、验证、测试、保存
     R2:
	   display bgp routing-table                  as-path 
	       *>  40.40.40.0/24  10.10.3.3            200 
                              10.10.2.2            100 200		   

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

acl 2000
   rule 5  permit source 80.80.80.0  0.0.0.0 # 此时ACL匹配的是 prefix
   rule max   deny  source   any 
                         40.40.40.0
						 70.70.70.0


Route-policy : CCNA                             【route-map】
  permit : 10 (matched counts: 7)
    Match clauses : 
      if-match acl 2000
    Apply clauses : 
      apply local-preference 333

[注意:]
    route-plicy 最后有一个隐含的 deny any  ;
	如果想表示 permit any ; 
	    route-policy {name}  permit  {node-id}
		   if-match #不写任何的匹配条件,则表示匹配所有;
		   apply {路由属性} # 在不写 if-math 的情况下,可以写 apply ; 

R1:
  bgp 100
    peer  10.10.3.3 route-policy CCNA import 


display bgp routing-table

    少了 40 , 70 ;