【1】BGP邻居关系建立,与路由条目宣告是分开的配置的
(1)直连的EBGP邻居关系建立
[r1]bgp 1 //启动BGP协议,启动时需要键入AS号;没有多进程概念
[r1-bgp]router-id 1.1.1.1 //建议配置RID;若不配置将自动生成—规则同OSPF相同
[r1-bgp]peer 12.1.1.2 as-number 2 //对端IP地址,及对端所在的AS编号
(2)IBGP邻居关系建立
在一个AS内部,拓扑正常较为负载;建议使用环回接口地址作为源、目标ip地址;存在备份链路,同时可以多条物理链路传递;
[r2]bgp 2
[r2-bgp]peer 3.3.3.3 as-number 2 //对端环回接口ip地址,及对端所在AS号
切记:一旦使用环回接口建立BGP的邻居关系;必须将源地址也修改为环回接口
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
(3)EBGP邻居间存在多条物理链路时,也建议使用环回接口地址来建立
[1]、IP可达,建议静态路由
[2]、正常环回做为源、目ip地址建立邻居关系
[3]、默认IBGP邻居间数据包的TTL值为255,EBGP邻居间TTL为1;故一旦使用环回建立ebgp邻居关系,必须修改TTL值,否则无法建立
[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
当建邻配置完成后,邻居间通过三次握手,建立TCP的会话
[r2]display tcp status //查看TCP会话表
当TCP会话建立后,邻居间BGP协议将正常收发一次open报文,建立BGP邻居关系;生成邻居表:
[r2]display bgp peer //查看BGP邻居表
BGP local router ID : 2.2.2.2
Local AS number : 2
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
12.1.1.1 4 1 8 8 0 00:06:36 Established 0
表格最后的数值,标识本地从该邻居处学习到的路由条目的数量;
【2】BGP的宣告
运行BGP协议的路由可以宣告本地路由表中通过任何协议获取到的路由条目—静态、IGP、直连; 而本地通过BGP协议学习到的路由,只要在本地依然优秀,将继续将本地的其他BGP邻居传输;
注意:宣告时,宣告的条目必须同本地路由表中的记录完全一致
[r1]bgp 1
[r1-bgp]network 1.1.1.0 24
一旦进行宣告配置,条目将加载于本地的BGP表中;装载本地发出及接收到的所有路由信息
[r1]display bgp routing-table //查看BGP表
BGP Local router ID is 1.1.1.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 1.1.1.0/24 0.0.0.0 0 0 i
BGP表中状态符号
1、* 可用
2、 > 优秀
3、*>同时存在,可以加表(路由表)也可以传递(传递给本地的其他BGP邻居)
4、状态处若出现 i 代表该条目是本地通过IBGP邻居学习到的
优秀的条件:1、同步问题(默认不关注) 2、下一跳可达
基于AS-BY-AS规则,条目在一个AS内部传递时将不修改条目属性;导致通过IBGP邻居学习到的BGP路由可能出现下一跳不可达;导致条目不优;
[r2-bgp]peer 3.3.3.3 next-hop-local
//将BGP路由传递给本地的邻居3.3.3.3时修改下一跳地址为本地与3.3.3.3建立邻居关系的源ip地址
当路由条目传递给本地的EBGP邻居时,属性将自动发生变化,包括下一跳地址;
备注:在BGP协议中,若通过本地传递过来的路由条目,与本地路由表中已经存在且用于建立BGP邻居关系的路由相同时,该条目将不能优秀;