bgp外部网关协议

igp

egp:egp,bgp

工作在as内部就是igp,工作在as之间就是egp。

由统一管理者的范围叫as。bgp工作在运行商之间的

as号

公有:0-64511

私有:64512-65535

网通9929

电信4134

http://www.cidr-report.org (查询as号)

as-by-as

bgp特征

1当一个数据包从一个as穿越到另一个as,使用bgp

2当as连接多个as

3路由策略

a管理

b支持路由多

c策略

4扩展应用

不需要用

1当对bgp知识少

2不需要选路

3路由器性能不行

bgp的原理

1.bgp基于tcp port 179,更新可靠

2.更新机制,触发更新,增量更新

3.周期发送keeplive 60秒,holdtime 180s收不到就说明邻居down,open报文只发送一次。

4.有丰富的属性。

5.设计就是为了大型网络

bgp的三张表

neighbor table 建邻居发open报文。

bgp table bgp 默认不做负载均衡,总会选择一条最优的路径。

ip routing table

bpg的报文

open:建立邻居,open报文包括hold time,router id

keepalive:维持邻居关系。

update:传输bgp的路由,

notification:通告报文,当发生错误就会发生notification报文。

ebgp and ibgp

peers=neighbors(对等体)

bgp speakers(运行bgp路由器)

ebgp(外部bgp)

如果不同as之间建立邻居关系。

ibgp

同一个as内部建立邻居关系。

在bgp建邻居不一定非要直连。

解决路由黑洞:

1.物理线路full mesh

2.bgp邻居的full mesh.

3.bgp->igp (lab)

3.mpls

水平分割

ebgp的水平分割

ibgp的水平分割

ebgp通过as号防环的。as-path,不接受含有本as号的路由。

ibgp默认情况下,从ibgp学到的路由不会通告给其他的ibgp邻居。

实验:

r4:

router bgp 4

bgp router-id 4.4.4.4

neighbor 24.1.1.2 remote-as 1

r2:

router bgp 1

bgp router-id 2.2.2.2

neighbor 24.1.1.4 remote-as 4

router ospf 110

router-id 2.2.2.2

network 12.1.1.0 0.0.0.255 area0

net 2.2.2.0 0.0.0.255 area0

show ip bgp summary

show ip bgp neighbor

show tcp brief

r1:

router ospf 110

router-id 1.1.1.1

net 12.1.1.0 0.0.0.255 area 0

net 13.1.1.0 0.0.0.255 area 0

net 1.1.1.0 0.0.0.255 area 0

r3:

router ospf 110

router-id 3.3.3.3

net 13.1.1.0 0.0.0.255 area0

net 3.3.3.0 0.0.0.255 area 0

r2:

router bgp 1

neighbor 3.3.3.3 remote-as 1

neighbor 3.3.3.3 update-source lo0

r3:

router bgp 1

neighbor 2.2.2.2 remote-as 1

neighbor 2.2.2.2 update-source lo0

ip route 5.5.5.5 255.255.255.255 s0

router bgp 1

neighbor 5.5.5.5 remote-as 5

neighbor 5.5.5.5 update-source lo0

neighbor 5.5.5.5 ebgp-multihp

r5:

ip route 3.3.3.3 255.255.255.255 s0

router bgp 5

bgp router-id 5.5.5.5

neighbor 3.3.3.3 remote-as 1

neighbor 3.3.3.3 up lo0

neighbor 3.3.3.3 ebgp-multihop

r4:

router bgp 4

network 4.4.4.0 mask 255.255.255.0

show ip bgp

*代表bgp可以用,>最优的,

没有标示>:(不优的路由)

1.不会放进路由表

2.不会给其他bgp邻居传。

bgp路由优的条件:

1.同步(匆匆ibgp学到/no syn) ibgp

2.下一跳 (静态/next-hop-self)

同步规则:在默认情况下从ibgp邻居学到的路由不会放进路由表,也不通告给邻居,直到我从igp也学到这条路由。

r3:

router bgp 1

no syn

r2:

router bgp 1

neighbor 3.3.3.3 next-hop-self

i-internal(代表从ibgp邻居学到的路由)

本地通告或ebgp邻居学到的不打i

peer-group

1减少bffer

2减少命令行

r1:

router bgp 1

bgp router-id 1.1.1.1

neighbor smoke peer-group

neighbor smoke remote-as 1

neighbor smoke update-source lo0

neighbor 2.2.2.2 peer-group smoke

neighbor 3.3.3.3 peer-group smoke

r2:

router bgp 1

neighbor 1.1.1.1  remote-as 1

neighbor 1.1.1.1 update-source lo0

r3:

router bgp 1

neighbor 1.1.1.1 remote-as 1

neighbor 1.1.1.1 update-source lo0

r1:

no syn

r2:

neighbor 1.1.1.1 next-host-self

r5:

router bgp 5

net 5.5.5.0 mask 255.255.255.0

r3:

router neighbor 1.1.1.1 next-hop-self

router neighbor 2.2.2.2 next-hop-self