BGP协议
为方便管理, 互连网被划分为不同的自治系统,BGP协议用来学习不同的自治系统间的路由信息。
Autonomous Systems:运行同一种选路策略,由统一管理者管理。
自治系统号由IANA (Internet地址授权委员会)分配, 组织使用BGP连接INTERNET 时,必须要申请公有AS号。
AS: 1—65535, 其中公有: 1—64511
私有: 64512—65535
当前, BGP协议广泛在INTERNET和大型行业及企业网中应用。
路由协议作用:
动态学习互连网网的路由信息。
内部网关协议IGP, 如RIP /OSPF /EIGRP 在选择路径时, 依据:度量值
RIP 跳数
OSPF 开销=100M/带宽
EIGRP带宽+延迟
外部网关协议EGP, 当前使用的是BGP(边界网关协议, 它的前身是EGP), 在选择路径时, 采用的是BGP属性(或者可以称之为策略).
使用BGP的原因:
1.管理:电信联通
2.支持更多的路由条目(OSPF最多1万条,ISIS最多2万条,而internet现在路由条目为
13万多条)
3.策略:非常丰富的属性(路由策略)对路由进行控制。
4.扩展:IPV4 IPV6 VPNV4(MBGP, 用于MPLS-VPN)
BGP属性:
一.AS路径属性.
BGP是一种路径矢量型协议, 类似于RIP(距离矢量协议).。
默认情况下, BGP协议会选择一条从源到目的地的最短无环路径。
分析:
从AS200访问160.1.0.0 /16, BGP协议默认会选择:
160.1.0.0/16 300 600 i
400 500 600 i
类似于RIP的逐跳选择,以AS为跳数,选择最短的AS无环路径。
并且,在向邻居通告时,只通告自已采用的路由。
EBGP水平分割
不接收路径列表中包含本身AS号的路由更新。(防止环路)二.下一跳属性
默认, 下一跳为邻接AS路由器的外部接口IP.
如果下一跳不可达,则路由无效,解决办法:
1. 通过IGP学习
2. 修改下一跳属性
R2(config-router) # neighbor 23.0.0.3 next-hop-self
neighbor 34.0.0.4 next-hop-self
可避免AS间路径在IGP中通告
三.源头属性
信息来源:
i 由BGP的Network命令通告的路由
e 由EGP(早期的外部网关协议)学来的(现在已不用)
? 通过重分发到BGP进程学到的.
可信度i>e >?
实验: 基本的BGP配置.
要求: AS100 BGP + OSPF 重分发
AS200 BGP + EIGRP
AS300 BGP
1、IGP的配置
R1(config)# router ospf 1
router-id 1.1.1.1
net 15.0.0.1 0.0.0.0 area 1
net 110.0.0.1 0.0.0.0 area 1
R5(config)# router ospf 1
router-id 5.5.5.5
net 15.0.0.1 0.0.0.0 area 1
net 100.0.0.1 0.0.0.0 area 1
R2(config)# router eigrp 200
network 23.0.0.0
network 170.1.0.0
no auto-summary
R3(config)# router eigrp 200
network 23.0.0.0
network 34.0.0.0
no auto-summary
R4(config)#router eigrp 200
network 34.0.0.0
network 171.1.0.0
auto-summary
2、BGP的配置
R1(config)# router bgp 100 启用BGP协议
# bgp router-id 11.1.1.1
# neighbors 12.0.0.2 remote-as200 指定邻居
# redistribute ospf 1 向邻居通告路由
R1(config)# router ospf 1
# redistribute bgp 100 subnet 将BGP路由重分发到OSPF中R2(config)# router bgp 200
# bgp router-id 2.2.2.2
# neighbors 12.0.0.1 remote-as 100
# neighbors 23.0.0.3 remote-as 200
# neighbors 34.0.0.4 remote-as 200
# network 170.1.0.0
R3(config)# router bgp 200
# bgp router-id 3.3.3.3
# neighbors 23.0.0.2 remote-as 200
# neighbors 34.0.0.4 remote-as 200
R4(config)# router bgp 200
# bgp router-id 4.4.4.4
# neighbors 23.0.0.2 remote-as 200
# neighbors 34.0.0.3 remote-as 200
# neighbors 46.0.0.6 remote-as 300
# network 171.1.0.0
R6(config)# router bgp 300
# bgp router-id 6.6.6.6
# neighbors 46.0.0.4 remote-as 200
# net 161.1.0.0
# net 150.1.0.0
# net 150.2.0.0
# net 150.3.0.0
# net 150.255.0.0
查看:
R1#sh ip bgp summary 查看BGP邻居的简略信息
R# sh ip bgp // 查看BGP表(BGP数据库)
R# sh ip route
Neighbor命令指定和谁建立邻居关系
Network的作用
向邻居通告哪些路由条目, 区别于IGP协议中的network.
IGP 指定哪些接口参于协议运行(向邻居发送更新,并接收邻居的更新) BGP应将哪些路由告诉邻居