版权声明:原创作品,谢绝转载!否则将追究法律责任。
3.对bgp不够了解
4.as间带宽太小
----------------------------------------------------------------------------------
bgp的防环机制:bgp是通过as-path来做路由策略,到达目标网络时每经过一个AS,就把AS号记录到它的path中,如果路由器收到一个路径中含有他本地的AS号,这就出现了环路。
----------------------------------------------------------------------------------
bgp表只能看到AS树,也就是到达目的网段所经过的AS号,以及下一跳等信息,而IGP表是显示域内拓扑结构,可以通过命令show ip bgp命令查看,*表示这条路由可得,>表示这是最佳的,i是域内的网段
----------------------------------------------------------------------------------
bgp可以支持负载均衡,一般情况下,当某个特殊目的网络有并列的,等开销的路径时,cisco缺省执行ebgp只选择一条路径,可以使用命令 maximum-paths 改变,注意只能对ebgp有效
---------------------------------------------------------------------------------
bgp表:
邻居表:列出周围的邻居,可以是直连也可以不直连
转发表:从邻居那学习到的,包含到达某个目的的多条路径
路由表:最好的路径
----------------------------------------------------------------------------------
bgp具有4种包的类型:
open:hello,是我
keepalive: 我还活着,
update: 有新东西了,
notification:我不和你玩了
bgp的open包:发送bgp版本(默认为V4),as号,holdtime(180s),router-id(最高的loopback ip值), 其它的操作特性
keepalive:保持时间,默认位60秒,是不可靠传输
update:包括到达目标网络的路径和属性network layer reachability information(NLRI)网络层可靠信息,公布ip前缀和前缀的字节数
path attribute:属性:起点,as路径,邻居,as间的度等
withdrawn routes:不可达的路由撤消的目的地址字节组(长度和前缀)
notification:出现错误,监测到后断开连接并发送通知给对方
----------------------------------------------------------------------------------
bgp和isis一样以链路为边界,ebgp的peer邻居在不同的as之间的路由器,必须要求直连,ibgp的邻居peer要求在同一as中的路由器,不要求直连的,但必须建立tcp连接bgp路由一般不会再发布到igp中去,因为bgp的内容太庞大,但可以使用静态路由或默认路由,但igp会再发布
到bgp中,以便告诉外部如何进入内部网络
----------------------------------------------------------------------------------
bgp的启动机制:
1,idle states:开始状态
2,connect state:连接状态,如果建立连接成功,向邻居发open消息,转入open状态。如果不成功,继续监听发出的连接,重置计时器并转移到active状态。如果在连接状态下,连接计时器超时后将重新开始,并再次与邻居建邻居
3,active激活状态:试图与邻居建立tcp连接的过程
4,open send状态:open消息发送状态,发送open消息,bgp等待邻居发来的open消息
收到open消息,发现差错,将发notification消息并转入idle状态
收到open消息,没有发现差错,将发送keepalive消息并将此计时器清零
收到tcp断开消息,本地断开bgp连接,重置connect计时器,转入active状态
5,open confirm状态:open消息确认状态,等待一个keepalive消息或notification消息
收到一个keepalive消息,转移到establish状态
收到一个notification消息,转入idle状态,断开tcp连接
holdtime超时,发送notification并断开连接,转入idle状态
4.as间带宽太小
----------------------------------------------------------------------------------
bgp的防环机制:bgp是通过as-path来做路由策略,到达目标网络时每经过一个AS,就把AS号记录到它的path中,如果路由器收到一个路径中含有他本地的AS号,这就出现了环路。
----------------------------------------------------------------------------------
bgp表只能看到AS树,也就是到达目的网段所经过的AS号,以及下一跳等信息,而IGP表是显示域内拓扑结构,可以通过命令show ip bgp命令查看,*表示这条路由可得,>表示这是最佳的,i是域内的网段
----------------------------------------------------------------------------------
bgp可以支持负载均衡,一般情况下,当某个特殊目的网络有并列的,等开销的路径时,cisco缺省执行ebgp只选择一条路径,可以使用命令 maximum-paths 改变,注意只能对ebgp有效
---------------------------------------------------------------------------------
bgp表:
邻居表:列出周围的邻居,可以是直连也可以不直连
转发表:从邻居那学习到的,包含到达某个目的的多条路径
路由表:最好的路径
----------------------------------------------------------------------------------
bgp具有4种包的类型:
open:hello,是我
keepalive: 我还活着,
update: 有新东西了,
notification:我不和你玩了
bgp的open包:发送bgp版本(默认为V4),as号,holdtime(180s),router-id(最高的loopback ip值), 其它的操作特性
keepalive:保持时间,默认位60秒,是不可靠传输
update:包括到达目标网络的路径和属性network layer reachability information(NLRI)网络层可靠信息,公布ip前缀和前缀的字节数
path attribute:属性:起点,as路径,邻居,as间的度等
withdrawn routes:不可达的路由撤消的目的地址字节组(长度和前缀)
notification:出现错误,监测到后断开连接并发送通知给对方
----------------------------------------------------------------------------------
bgp和isis一样以链路为边界,ebgp的peer邻居在不同的as之间的路由器,必须要求直连,ibgp的邻居peer要求在同一as中的路由器,不要求直连的,但必须建立tcp连接bgp路由一般不会再发布到igp中去,因为bgp的内容太庞大,但可以使用静态路由或默认路由,但igp会再发布
到bgp中,以便告诉外部如何进入内部网络
----------------------------------------------------------------------------------
bgp的启动机制:
1,idle states:开始状态
2,connect state:连接状态,如果建立连接成功,向邻居发open消息,转入open状态。如果不成功,继续监听发出的连接,重置计时器并转移到active状态。如果在连接状态下,连接计时器超时后将重新开始,并再次与邻居建邻居
3,active激活状态:试图与邻居建立tcp连接的过程
4,open send状态:open消息发送状态,发送open消息,bgp等待邻居发来的open消息
收到open消息,发现差错,将发notification消息并转入idle状态
收到open消息,没有发现差错,将发送keepalive消息并将此计时器清零
收到tcp断开消息,本地断开bgp连接,重置connect计时器,转入active状态
5,open confirm状态:open消息确认状态,等待一个keepalive消息或notification消息
收到一个keepalive消息,转移到establish状态
收到一个notification消息,转入idle状态,断开tcp连接
holdtime超时,发送notification并断开连接,转入idle状态
00:47:37: BGP: 2.2.2.2 OPEN has ROUTE-REFRESH capability(new) for all address-families
00:47:37: BGP: 2.2.2.2 went from OpenSent to OpenConfirm
00:47:37: BGP: 2.2.2.2 send message type 1, length (incl. header) 45
00:47:37: BGP: 2.2.2.2 send message type 4, length (incl. header) 19
00:47:37: BGP: 2.2.2.2 rcv message type 4, length (excl. header) 0
00:47:37: BGP: 2.2.2.2 went from OpenConfirm to Established
00:47:37: %BGP-5-ADJCHANGE: neighbor 2.2.2.2 Up
----------------------------------------------------------------------------------
ibgp的水平分割:在一个as中,从ibgp学习到的路由绝对不会传递给其它的邻居,igp是基于端口的水平分割,而ibgp是基于邻居的水平分割
----------------------------------------------------------------------------------
ibgp的全网连接:在一个as中,bgp的邻居路由器通常要求全互连,但是如果有n个路由器,就必须建立n(n-1)/2个连接,将会加大巨大的成本,如果不建立全互连,将会出现丢包的现象。
解决方法:将bgp重分布到igp中,但我们一般不建议这么做。加入到远端的静态路由,然后再发布到igp中
----------------------------------------------------------------------------------
bgp的属性
公认必遵:
origin:可信度,0-igp学到,1-egp学到,3-incomplete其它手段学到,igp>bgp>重分布
as-path:as路径,逐级逐级的叠加,如果发现有自己的as存在,就有可能出现环路
next-hop:下一跳路由器的地址,
如果宣告路由器和接收路由器在不同as中,下一跳为正在宣告的路由器接口的ip
如果宣告路由器和接收路由器在同一个as中,并且更新的目的地也在同一as中,下一跳为宣告路由的邻居的ip
如果宣告路由器和接收路由器是内部peer,但更新消息指向不同AS,下一跳为学习到路由的外部peer的ip
公认可遵:
local-pref:本地优先级,只在本地有效,不会传到其他区域,值越高优先级越高,默认为100,是控制流出区域的
automic_aggre:警告下游路由器聚合时产生路径信息丢失,可设置属性aggregate通告
可选传输:
aggregator:通告汇聚点,采用rid作为汇聚的地址
community:团队,相当于一个模板,一组成员使用相同的策略,由4个字节构成,前面两个是as号,后面两个定义表示符,cisco正好反过来,你可以用ip bgpcommuity new-format修改
NO_EXPORT:允许在邻居as内公布但不允许邻居as在发布其它的as
NONE:删除现有的团队属性
NO_ADVERTISE:不在ibgp邻居间传递带有该属性的路由
DELETE:值删除匹配特定团队列表的属性
可选非传递:
originator_id:由rp使用,一个32比特的值,记录本地as离路由发起者的rid
cluster_list:路由反射簇的序号,由rp路由反射器使用,如果一个簇中有多个rp,需要bgp cluster-id手工指定id
multi_exit_disc:用于影响流入as的数据,它允许一个as将其首选入口通知给另一个as,可以在as间传输,最低med值被选择,默认为0
cisco专有:weight:权重,离开as的报文,来选择那一条。它是不传递,从peer学到的所有路由器的权重值为0,由本地路由其产生的所有路由的权重值为32768,值越高越会被选择
00:47:37: BGP: 2.2.2.2 went from OpenSent to OpenConfirm
00:47:37: BGP: 2.2.2.2 send message type 1, length (incl. header) 45
00:47:37: BGP: 2.2.2.2 send message type 4, length (incl. header) 19
00:47:37: BGP: 2.2.2.2 rcv message type 4, length (excl. header) 0
00:47:37: BGP: 2.2.2.2 went from OpenConfirm to Established
00:47:37: %BGP-5-ADJCHANGE: neighbor 2.2.2.2 Up
----------------------------------------------------------------------------------
ibgp的水平分割:在一个as中,从ibgp学习到的路由绝对不会传递给其它的邻居,igp是基于端口的水平分割,而ibgp是基于邻居的水平分割
----------------------------------------------------------------------------------
ibgp的全网连接:在一个as中,bgp的邻居路由器通常要求全互连,但是如果有n个路由器,就必须建立n(n-1)/2个连接,将会加大巨大的成本,如果不建立全互连,将会出现丢包的现象。
解决方法:将bgp重分布到igp中,但我们一般不建议这么做。加入到远端的静态路由,然后再发布到igp中
----------------------------------------------------------------------------------
bgp的属性
公认必遵:
origin:可信度,0-igp学到,1-egp学到,3-incomplete其它手段学到,igp>bgp>重分布
as-path:as路径,逐级逐级的叠加,如果发现有自己的as存在,就有可能出现环路
next-hop:下一跳路由器的地址,
如果宣告路由器和接收路由器在不同as中,下一跳为正在宣告的路由器接口的ip
如果宣告路由器和接收路由器在同一个as中,并且更新的目的地也在同一as中,下一跳为宣告路由的邻居的ip
如果宣告路由器和接收路由器是内部peer,但更新消息指向不同AS,下一跳为学习到路由的外部peer的ip
公认可遵:
local-pref:本地优先级,只在本地有效,不会传到其他区域,值越高优先级越高,默认为100,是控制流出区域的
automic_aggre:警告下游路由器聚合时产生路径信息丢失,可设置属性aggregate通告
可选传输:
aggregator:通告汇聚点,采用rid作为汇聚的地址
community:团队,相当于一个模板,一组成员使用相同的策略,由4个字节构成,前面两个是as号,后面两个定义表示符,cisco正好反过来,你可以用ip bgpcommuity new-format修改
NO_EXPORT:允许在邻居as内公布但不允许邻居as在发布其它的as
NONE:删除现有的团队属性
NO_ADVERTISE:不在ibgp邻居间传递带有该属性的路由
DELETE:值删除匹配特定团队列表的属性
可选非传递:
originator_id:由rp使用,一个32比特的值,记录本地as离路由发起者的rid
cluster_list:路由反射簇的序号,由rp路由反射器使用,如果一个簇中有多个rp,需要bgp cluster-id手工指定id
multi_exit_disc:用于影响流入as的数据,它允许一个as将其首选入口通知给另一个as,可以在as间传输,最低med值被选择,默认为0
cisco专有:weight:权重,离开as的报文,来选择那一条。它是不传递,从peer学到的所有路由器的权重值为0,由本地路由其产生的所有路由的权重值为32768,值越高越会被选择
r5#show ip bgp
BGP table version is 21, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 21, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 196.1.1.4 0 65101 65100 i
*> 2.2.2.0/24 196.1.1.4 0 65101 i
*> 4.4.4.0/24 196.1.1.4 0 0 65101 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
----------------------------------------------------------------------------------
RIB:BGP路由信息库
Adj-RIB-IN Loc-RIB Adj-RIB-OUT
----------------------> | ------------------------- | ---------------------->
判断优先级,做出选择 进入 最优的路由路径 适合的路由 出
---------------------------------------------------------------------------------
bgp选路原则:
|权重weight(越大越好)
|local-pref本地优先级(越大越好)
|本地路由优先(0.0.0.0)
|as-path(越短越好)
| 起源(igp>bgp>重分布)
| MED (越低越好)
| ebgp>ibgp
| 下一跳igp度量值(越低的)
| 越老的路径会被选择
| bgp邻居的RouterID(越小越好)
> ip地址(最小的)
----------------------------------------------------------------------------------
ibgp和igp的同步:一个从ibgp邻居学习到的路由信息在进入igp表或发布给其他bgp对等体之前,igp必须知道这条路由信息,否则不会发布
*> 1.1.1.0/24 196.1.1.4 0 65101 65100 i
*> 2.2.2.0/24 196.1.1.4 0 65101 i
*> 4.4.4.0/24 196.1.1.4 0 0 65101 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
----------------------------------------------------------------------------------
RIB:BGP路由信息库
Adj-RIB-IN Loc-RIB Adj-RIB-OUT
----------------------> | ------------------------- | ---------------------->
判断优先级,做出选择 进入 最优的路由路径 适合的路由 出
---------------------------------------------------------------------------------
bgp选路原则:
|权重weight(越大越好)
|local-pref本地优先级(越大越好)
|本地路由优先(0.0.0.0)
|as-path(越短越好)
| 起源(igp>bgp>重分布)
| MED (越低越好)
| ebgp>ibgp
| 下一跳igp度量值(越低的)
| 越老的路径会被选择
| bgp邻居的RouterID(越小越好)
> ip地址(最小的)
----------------------------------------------------------------------------------
ibgp和igp的同步:一个从ibgp邻居学习到的路由信息在进入igp表或发布给其他bgp对等体之前,igp必须知道这条路由信息,否则不会发布
r2#show ip bgp
BGP table version is 7, local router ID is 172.16.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 7, local router ID is 172.16.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
* i100.100.100.0/24 172.16.4.5 0 100 0 300 i
r>i172.16.1.0/24 172.16.2.1 0 100 0 i
* i172.16.2.0/24 172.16.2.1 0 100 0 i
*> 0.0.0.0 0 32768 i
* i172.16.3.0/24 172.16.3.3 0 100 0 i
*> 0.0.0.0 0 32768 i
r>i172.16.4.0/24 172.16.3.3 0 100 0 i
* i200.200.200.0 172.16.1.4 0 100 0 200 i
r2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
* i100.100.100.0/24 172.16.4.5 0 100 0 300 i
r>i172.16.1.0/24 172.16.2.1 0 100 0 i
* i172.16.2.0/24 172.16.2.1 0 100 0 i
*> 0.0.0.0 0 32768 i
* i172.16.3.0/24 172.16.3.3 0 100 0 i
*> 0.0.0.0 0 32768 i
r>i172.16.4.0/24 172.16.3.3 0 100 0 i
* i200.200.200.0 172.16.1.4 0 100 0 200 i
r2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:20, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:05, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r2中的bgp表中有100.100.100.0和200.200.200.0网络,虽然它们都是全网互连,但它的ibgp和igp没有同步,所以它无法将路由发布给其他的peer,这样,r4和r5都没有学到对方的路由
解决方案:
1,将bgp重发布到igp中,一般我们不建议
我们分别在r1和r3上做重发布操作(只需要在边界上)
如:
router rip
redistribute bgp 100 metric 5
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:20, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:05, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r2中的bgp表中有100.100.100.0和200.200.200.0网络,虽然它们都是全网互连,但它的ibgp和igp没有同步,所以它无法将路由发布给其他的peer,这样,r4和r5都没有学到对方的路由
解决方案:
1,将bgp重发布到igp中,一般我们不建议
我们分别在r1和r3上做重发布操作(只需要在边界上)
如:
router rip
redistribute bgp 100 metric 5
r2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
R 200.200.200.0/24 [120/5] via 172.16.2.1, 00:00:14, Serial1
100.0.0.0/24 is subnetted, 1 subnets
R 100.100.100.0 [120/5] via 172.16.3.3, 00:00:07, Serial0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:07, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:14, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
100.0.0.0/24 is subnetted, 1 subnets
R 100.100.100.0 [120/5] via 172.16.3.3, 00:00:07, Serial0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:07, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:14, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r5#show ip bgp
BGP table version is 9, local router ID is 100.100.100.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 9, local router ID is 100.100.100.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 100.100.100.0/24 0.0.0.0 0 32768 i
*> 172.16.1.0/24 172.16.4.3 0 100 i
*> 172.16.2.0/24 172.16.4.3 0 100 i
*> 172.16.3.0/24 172.16.4.3 0 0 100 i
* 172.16.4.0/24 172.16.4.3 0 0 100 i
*> 0.0.0.0 0 32768 i
*> 200.200.200.0 172.16.4.3 0 100 200 i
2.ibgp邻居全网连接,关闭自动同步的功能
router bgp 100
no syn
-------------------------------------------------------------------------------
路由反射器RP:
在大型网络中,as间要建立一个全互连的关系,一是成本大,二是工作量大,要有n台路由器,你要建立n*(n-1)/2,当你使用RP技术,提供了C/S机制,建立邻居的条目是N-1。
规则:
1,如果路由是从非客户的 IBGP对等学习到的,只将它反射给客户
2,如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外所有的客户以及非客户
3,如果路由是从 EBGP邻居学来的,将它反射给所有的客户和非客户
*> 100.100.100.0/24 0.0.0.0 0 32768 i
*> 172.16.1.0/24 172.16.4.3 0 100 i
*> 172.16.2.0/24 172.16.4.3 0 100 i
*> 172.16.3.0/24 172.16.4.3 0 0 100 i
* 172.16.4.0/24 172.16.4.3 0 0 100 i
*> 0.0.0.0 0 32768 i
*> 200.200.200.0 172.16.4.3 0 100 200 i
2.ibgp邻居全网连接,关闭自动同步的功能
router bgp 100
no syn
-------------------------------------------------------------------------------
路由反射器RP:
在大型网络中,as间要建立一个全互连的关系,一是成本大,二是工作量大,要有n台路由器,你要建立n*(n-1)/2,当你使用RP技术,提供了C/S机制,建立邻居的条目是N-1。
规则:
1,如果路由是从非客户的 IBGP对等学习到的,只将它反射给客户
2,如果路由是从客户处学习到的,将它反射给除了发起该路由的客户外所有的客户以及非客户
3,如果路由是从 EBGP邻居学来的,将它反射给所有的客户和非客户
举例:只需要在服务端设置就可以了
router bgp 100
no synchronization
bgp log-neighbor-changes
network 172.16.2.0 mask 255.255.255.0
network 172.16.3.0 mask 255.255.255.0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 route-reflector-client
neighbor 172.16.3.3 remote-as 100
neighbor 172.16.3.3 route-reflector-client
no auto-summary
----------------------------------------------------------------------------------
启用bgp进程
router bgp AS号
一个路由器只能启用一个bgp实例,不会把路由器放入到多个bgp中
----------------------------------------------------------------------------------
建立对等体关系:
1)neighbor 邻居地址/邻居组名 remote-as AS号
ebgp邻居必须是路由器直连的那个地址,如果是ibgp邻居,就不一定是直连的,可以是as中任意一个地址,但必须保障tcp连通。
ibgp一般用loopback端口来作为邻居的地址
2)neighbor 邻居地址/邻居组名 shutdown
暂时的邻居关系不可用,但邻居关系并没有删除,用于维护和策略
3)neighbor 邻居地址 update-source loopback接口
如果用物理接口指定为邻居的地址,必须要求源地址匹配,如果不匹配会出现数据包丢失的问题,或者网络出现问题,源地址出现问题,这样邻居关系将不稳定,为了保障邻居关系稳定,一致不变,最好用loopback接口,对于ebgp邻居来说,必须还要额外加命令(还必须能够访问到,比如使用静态路由或者路由)
4)neighbor 邻居地址 ebgp-multihop 跳数值(默认为255)
5)neighbor 邻居地址 next-hop-self
ebgp到ibgp,下一跳地址是不会改变的,这样对于像帧中继网络(hub-to-spoke)来说,可能会造成网络不可达的问题,这时候需要修改下一跳地址
6)neighbor 对等体组名 peer-group
创建对等体组
7)neighbor 邻居地址 peer-group 对等体组名
添加成员到对等体组中
----------------------------------------------------------------------------------
宣告网络:
network 网络号 mask 子网掩码
bgp支持vlsm和cidr,所以网络和子网掩码可以使用VLSM,但是要注意宣告的网络如果和接口的IP地址掩码不匹配,将不会进入到BGP表中,如果希望能进入BGP表,需要添加一条命令如:ip route 192.1.1.0 255.255.255.0 null0,这个命令还可以进行网络的汇总
--------------------------------------------------------------------------------
router bgp 100
no synchronization
bgp log-neighbor-changes
network 172.16.2.0 mask 255.255.255.0
network 172.16.3.0 mask 255.255.255.0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 route-reflector-client
neighbor 172.16.3.3 remote-as 100
neighbor 172.16.3.3 route-reflector-client
no auto-summary
----------------------------------------------------------------------------------
启用bgp进程
router bgp AS号
一个路由器只能启用一个bgp实例,不会把路由器放入到多个bgp中
----------------------------------------------------------------------------------
建立对等体关系:
1)neighbor 邻居地址/邻居组名 remote-as AS号
ebgp邻居必须是路由器直连的那个地址,如果是ibgp邻居,就不一定是直连的,可以是as中任意一个地址,但必须保障tcp连通。
ibgp一般用loopback端口来作为邻居的地址
2)neighbor 邻居地址/邻居组名 shutdown
暂时的邻居关系不可用,但邻居关系并没有删除,用于维护和策略
3)neighbor 邻居地址 update-source loopback接口
如果用物理接口指定为邻居的地址,必须要求源地址匹配,如果不匹配会出现数据包丢失的问题,或者网络出现问题,源地址出现问题,这样邻居关系将不稳定,为了保障邻居关系稳定,一致不变,最好用loopback接口,对于ebgp邻居来说,必须还要额外加命令(还必须能够访问到,比如使用静态路由或者路由)
4)neighbor 邻居地址 ebgp-multihop 跳数值(默认为255)
5)neighbor 邻居地址 next-hop-self
ebgp到ibgp,下一跳地址是不会改变的,这样对于像帧中继网络(hub-to-spoke)来说,可能会造成网络不可达的问题,这时候需要修改下一跳地址
6)neighbor 对等体组名 peer-group
创建对等体组
7)neighbor 邻居地址 peer-group 对等体组名
添加成员到对等体组中
----------------------------------------------------------------------------------
宣告网络:
network 网络号 mask 子网掩码
bgp支持vlsm和cidr,所以网络和子网掩码可以使用VLSM,但是要注意宣告的网络如果和接口的IP地址掩码不匹配,将不会进入到BGP表中,如果希望能进入BGP表,需要添加一条命令如:ip route 192.1.1.0 255.255.255.0 null0,这个命令还可以进行网络的汇总
--------------------------------------------------------------------------------
bgp log-neighbor-changes
network 200.200.200.0
network 200.200.200.0
redistribute static
neighbor 10.1.1.9 remote-as 100
default-information originate
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 Ethernet0
r4#show ip bgp
BGP table version is 7, local router ID is 200.200.200.201
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
neighbor 10.1.1.9 remote-as 100
default-information originate
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 Ethernet0
r4#show ip bgp
BGP table version is 7, local router ID is 200.200.200.201
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 0.0.0.0 0 32768 ?
*>i192.168.193.0 10.1.1.9 0 100 0 50 i
*>i192.168.194.0 10.1.1.9 0 100 0 50 i
*>i192.168.196.0 10.1.1.9 0 100 0 200 i
*>i192.168.198.0 10.1.1.9 0 100 0 200 i
*> 200.200.200.0 0.0.0.0 0 32768 i
*> 0.0.0.0 0.0.0.0 0 32768 ?
*>i192.168.193.0 10.1.1.9 0 100 0 50 i
*>i192.168.194.0 10.1.1.9 0 100 0 50 i
*>i192.168.196.0 10.1.1.9 0 100 0 200 i
*>i192.168.198.0 10.1.1.9 0 100 0 200 i
*> 200.200.200.0 0.0.0.0 0 32768 i
r3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 10.1.1.10 to network 0.0.0.0
......
10.0.0.0/30 is subnetted, 3 subnets
C 10.1.1.8 is directly connected, Serial1
C 10.1.1.0 is directly connected, Serial0
C 10.1.1.4 is directly connected, Ethernet0
B* 0.0.0.0/0 [200/0] via 10.1.1.10, 00:03:43
B 192.168.192.0/21 [200/0] via 0.0.0.0, 02:23:03, Null0
----------------------------------------------------------------------------------
......
10.0.0.0/30 is subnetted, 3 subnets
C 10.1.1.8 is directly connected, Serial1
C 10.1.1.0 is directly connected, Serial0
C 10.1.1.4 is directly connected, Ethernet0
B* 0.0.0.0/0 [200/0] via 10.1.1.10, 00:03:43
B 192.168.192.0/21 [200/0] via 0.0.0.0, 02:23:03, Null0
----------------------------------------------------------------------------------
转载于:https://blog.51cto.com/hellome/31193