实验拓扑图:
关键知识点
何时使用BGP?
1.有多条到 ISP 的线路时;
2.用户需要知道 ISP 的详细路由;
3.内网有超过 100 台服务器对外提供服务;
自治系统(AS):
自制系统的经典定义是:一组被统一管理的路由器,他们使用相同的内部网关 协议和统一的度量值来决定如何在自制系统内部路由分组,下面是各种协议的位置;
1.内部网关协议(IGP)都属于一个自制系统,例如 rip eigrp ospf
2.外部网关协议(EGP)用来连接不同的自制系统,例如 BGP
AS号和四层协议
自制系统号是需要由 IANA 统一分配的,号码是一个 16 位的数字,其取值范围为 1—65535,目前使用的是 BGP 版本 4,BGP 是唯一使用 TCP 作为传输层协议,端口号是 TCP 179;
特点:
- BGP 特点是它不会随着 IGP 协议收敛的影响,只要邻居可达,它的路由表就永远存在, 因此 BGPv4 支持 VLSM 和 CIDR,一般一台 ISP 边界路由器的 CIDR 块超过 300000 个(主要是 BGP 路由),路由条目超过 2000000 个;
- BGP 在确定最佳路径时不考虑速度,他是基于策略的,将 自治系统能够根据多种 BGP 属性来控制数据流的传输,运行 BGP 的路由器会交换:路径矢量或 属性的网络可达性信息,其中包括前往目标网络时经过的完整路径
- BGP 对等体也叫 BGP 邻 居,成为邻居后,会交换这个 BGP 路由表,对等体可以是内部的(iBGP),也可以是外部的(eBGP
邻居建立条件:
iBGP:可以不直接相连,路由可达就行; 自制系统号相同 定义邻居 路由可达
eBGP:一般是直接相连的 自制系统号不同 定义邻居 路由可达
BGP 同步:
必须在 IGP 路由表中有这条路由,BGP 才会将这条通告出去,而由于当今 internet BGP 表的路由条目非常庞大,因此改特性已经不再适用,在 IOS12.2 版本之后,路由器默认关闭同步
更新源:
在建立邻居时,如果不指定更新源,将默认使用物理接口作为更新源来建立邻居,与 iBGP 建立邻居时,一般使用 loopback 接口作为更新源;与 eBGP 建立邻居一般使用物理接口;
BGP 路由优化:
路由优化之后将会加入到路由表中,BGP 优化必须满足以下两个条件:
下一跳可达 2. 同步默认关闭
下一跳问题自己:
从 eBGP 学来的路由默认情况下,iBGP 在传递给邻居时,是不会更改下一跳的,如 果想让 iBGP 在传递给邻居时,把下一跳改为自己,就需要指定下一跳自己
RR 反射:
iBGP 在收到自己的 iBGP 邻居传递过来的路由后,不会再传递给自己的下一个邻居,如 果想要继续传递,必须将这台路由器配置为 RR 反射器;
实验目的:深刻理解BGP邻居建立过程和路由传递原理
需求一:见图 1,R1 和 R2 之间跑 ospf,并将 loopback 接口和直连网段 network 进 OSPF 中, R1 与 R3 之间不运行路由协议,R1 上建立一个 199.100.1.1/24 路由,并 network 到 ospf 中;
需求二:见图 1,R1 和 R2 使用 loopback 接口建立邻居,R1 和 R3 使用直连接口建邻居,查看 R2 上是否 199 的路由,并将它放入 BGP 的路由表中;
需求三:见图 1,R3 在 BGP 路由表中发布一条 200.202.1.1/24 的路由条目,要求 R2 能够 ping 通该地址;
需求四:见图 2,增加一台 R4 路由器,连接到 R2,运行 OSPF,并且与 R2 建立 iBGP 邻居, 要求 R3 发布的 200 路由,R4 也能够学习到;
实验一:
需求二:
需求三
这是因为R3上面没有回来的路由
需求四
排错思路
- 如果 iBGP 之间使用 loopback 地址无法建立起邻居,首先检查你 neighbor 的 IP 地址三层是 否可达,不管是静态路由还是动态路由;其次检查是否指定更新源是 loopback 接口;
- 如果 eBGP 之间使用 loopback 地址无法建立起邻居,首先检查你 neighbor 的 IP 地址三层是 否可达;其次检查是否指定更新源是 loopback 接口;再次检查是否打了 ebgp-multihop 命令;
- Weight 值影响自己,local-preference 影响别人,要使他们快速生效,请软清除 BGP 连接