**
法一: 路由反射器
** 3种角色,RR(反射器) 客户端 非客户端 3者构建一个簇;可以理解为RR为中心站点,客户端或非客户端是分支站点要求所有分支与中心必须是IBGP邻居关系;在一个簇中至少存在一台客户端;
规则:1、 RR从一台EBGP邻居处学习到的路由可以传输给本地的客户端、非客户端、其他EBGP邻居
2、 RR从一台客户端邻居处学习到的路由,可以传输给本地的其他客户端、非客户端、其他EBGP邻居
3、 RR从一台非客户端邻居处学习到的路由条目,可以传输给本地的客户端,其他EBGP邻居;不得传输给本地的其他非客户端;注意:若路由条目不优,不具有传递性;反射器也无法反射路由;
1.BGP建邻
1)ebgp建邻, 直连的EBGP邻居,直接使用直连物理接口的ip地址来作为源、目地址;
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 12.1.1.2 as-number 2
[r2]bgp 2
[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 12.1.1.1 as-number 1
2)ibgp建邻,IBGP邻居处于同一个AS,用环回
[r2-bgp]peer 3.3.3.3 as-number 2
[r2-bgp]peer 3.3.3.3 connect-interface lo0
[r3]bgp 2
[r3-bgp]peer 2.2.2.2 as-number 2
[r3-bgp]peer 2.2.2.2 connect-interface lo0
[r3-bgp]peer 4.4.4.4 as-number 2
[r3-bgp]peer 5.5.5.5 as-number 2
[r3-bgp]peer 4.4.4.4 connect-interface lo0
[r3-bgp]peer 5.5.5.5 connect-interface lo0
[r4]bgp 2
[r4-bgp]peer 3.3.3.3 as-number 2
[r4-bgp]peer 3.3.3.3 connect-interface lo0
[r5]bgp 2
[r5-bgp]peer 3.3.3.3 as-number 2
[r5-bgp]peer 3.3.3.3 connect-interface lo0
2.bgp 宣告传递路由
[r1]bgp 1
[r1-bgp]network 1.1.1.0 24
[r2-bgp]peer 3.3.3.3 next-hop-local
[r2-bgp]network 23.1.1.1 24
[r2-bgp]network 2.2.2.0 24
[r3]bgp 2
[r3-bgp]network 23.1.1.2 24
[r3-bgp]network 34.1.1.1 24
[r3-bgp]network 35.1.1.1 24
[r3-bgp]network 3.3.3.0 24
[r4-bgp]network 34.1.1.2 24
[r4-bgp]network 4.4.4.0 24
[r5-bgp]network 35.1.1.2 24
[r5-bgp]network 5.5.5.0 24
ibgp水平分割,环回1可传r2,r2只可以传一跳,不可传r4,r5。用r2做客户端,客户端可以给非客户端r4,r5 传。
3.路由反射器
r3为RR,r2为客户端。
[r3-bgp]peer 2.2.2.2 reflect-client
//让2.2.2.2成为本地的客户端,同时本地成为路由反射器;
r3作为 RR从一台客户端邻居处学习到的路由,可以传输给本地的其他客户端、非客户端、其他EBGP邻居。r4非客户端不得传输给本地的其他非客户端。
**
法二 联邦
**
将一个真实的大AS,逻辑的分为多个小AS;小AS的编号建议为私有编号;小AS间构建联邦内的EBGP邻居关系,可以向真实EBGP关系一样传递路由条目,但不修改属性; 对于该大AS外的其他AS,是不知道内部的小AS情况;
1.Ebgp 建邻
[r1]ip route-static 2.2.2.2 32 12.1.1.2
[r1]bgp 1
[r1-bgp]router-id 1.1.1.1
[r1-bgp]peer 2.2.2.2 as-number 2
[r1-bgp]peer 2.2.2.2 connect-interface lo0
[r1-bgp]peer 2.2.2.2 ebgp-max-hop 2
[r2]ip route-static 1.1.1.1 32 12.1.1.1
[r2]bgp 64512[r2-bgp]router-id 2.2.2.2
[r2-bgp]peer 1.1.1.1 as-number 1
[r2-bgp]peer 1.1.1.1 connect-interface lo0
[r2-bgp]peer 1.1.1.1 ebgp-max-hop 2 //r1-2建邻
[r5]ip route-static 6.6.6.6 32 56.1.1.2
[r5]bgp 64513[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 6.6.6.6 as-number 3
[r5-bgp]peer 6.6.6.6 connect-interface lo0
[r5-bgp]peer 6.6.6.6 ebgp-max-hop 2
[r6]ip route-static 5.5.5.5 255.255.255.255 56.1.1.1
[r6]bgp 3[r6-bgp]router-id 3.3.3.3
[r6-bgp]peer 5.5.5.5 as-number 2
[r6-bgp]peer 5.5.5.5 connect-interface lo0
[r6-bgp]peer 5.5.5.5 ebgp-max-hop 2
//r5-6建邻上述建邻后邻居关系处于idle与active之间死循环,并没有出现establish
2.联邦建邻
[r2]bgp 64512
[r2-bgp]router-id 2.2.2.2
[r2-bgp]confederation id 2
//==联邦内所有运行BGP协议的设备均先声明自己所在的大AS号==
[r2-bgp]peer 3.3.3.3 as-number 64512
[r2-bgp]peer 3.3.3.3 connect-interface lo0
[r3]bgp 64512
[r3-bgp]router-id 3.3.3.3
[r3-bgp]confederation id 2
//==联邦内所有运行BGP协议的设备均先声明自己所在的大AS号==
[r3-bgp]confederation peer-as 64513
// ==再进行小AS间互指peer==
[r3-bgp]peer 2.2.2.2 as-number 64512
[r3-bgp]peer 2.2.2.2 connect-interface lo0
[r3-bgp]peer 4.4.4.4 as-number 64513
[r3-bgp]peer 4.4.4.4 connect-interface lo0
[r3-bgp]peer 4.4.4.4 ebgp-max-hop 2
[r4]bgp 64513
[r4-bgp]confederation id 2
//==**联邦内所有运行BGP协议的设备均先声明自己所在的大AS号**==
[r4-bgp]confederation peer-as 64512
//==**再进行小AS间互指peer**;==
== **有线连接的需要小as互指peer**==
[r4-bgp]peer 3.3.3.3 as-number 64512
[r4-bgp]peer 3.3.3.3 connect-interface lo0
[r4-bgp]peer 3.3.3.3 ebgp-max-hop 2
[r4-bgp]peer 5.5.5.5 as-number 64513
[r4-bgp]peer 5.5.5.5 connect-interface lo0
[r5]bgp 64513
[r5-bgp]confederation id 2
[r5-bgp]peer 4.4.4.4 as-number 64513
[r5-bgp]peer 4.4.4.4 connect-interface lo0
//联邦建邻后,ebgp的邻居关系处于establish,联邦内的邻居关系也为establish。
3. 宣告路由(产生bgp路由条目)
[r1]bgp 1[r1-bgp]network 1.1.1.0 24
[r6]bgp 3[r6-bgp]network 6.6.6.0 24
[r2-bgp]peer 3.3.3.3 next-hop-local
[r5-bgp]peer 4.4.4.4 next-hop-local
//环回6 可传r5(优),r5在传r4时不优需修改属性
为使全网可达,所有直连路由全部宣告。
[r1]bgp 1
[r1-bgp]network 12.1.1.0 24
[r2]bgp 64512
[r2-bgp]network 2.2.2.0 24
[r2-bgp]network 12.1.1.0 24
[r2-bgp]network 23.1.1.0 24
[r3]bgp 64512
[r3-bgp]network 3.3.3.0 24
[r3-bgp]network 23.1.1.0 24
[r3-bgp]network 34.1.1.0 24
[r4]bgp 64513
[r4-bgp]network 4.4.4.0 24
[r4-bgp]network 34.1.1.0 24
[r4-bgp]network 45.1.1.0 24
[r5]bgp 64513
[r5-bgp]network 5.5.5.0 24
[r5-bgp]network 45.1.1.0 24
[r5-bgp]network 56.1.1.0 24
社团属性
BGP的社团属性 –BGP的扩展属性
默认大多数厂商的产品在BGP协议中不携带社团属性例:控制传播范围的社团属性
[r1]route-policy com permit node 10
[r1-route-policy]apply community no-advertise
//针对所有的流量修改属性
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 route-policy com export
//默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性
[r1-bgp]peer 12.1.1.2 advertise-community
//==逐跳行为,每台设备均需开启传递性==
[r2-bgp]peer3.3.3.3 advertise-community
[r3-bgp]peer 4.4.4.4advertise-community
[r4-bgp]peer 5.5.5.5 advertise-community
[r5-bgp]peer 6.6.6.6 advertise-community
no-advertise 接收到的条目中若存在该社团属性,将不再传递该路由
no-export 接收到的条目若存在该社团属性,将不传递给下一个AS
no-export-subconfed 接收到的条目若存在该社团属性,将不传递给下一个小AS若网络没有小AS,仅存在大AS时no-export和no-export-subconfed作用一致