bgp论文(bgp引入路由的方式)
导语:BGP引入 论述题
R2、R3、R4 之间运行 RIP,R2 和 R4 之间建立 IBGP,R2 和 R1 建立 EBGP,R3 上没有运行 BGP, R1 上将 1.1.1.0 /24 宣告至 BGP,为了保证网络可达性,在 R4 上将 IBGP 引入到 RIP。
第一问:该场景当中出现环路,请说明环路的原因及解决方案?
环路原因如下:
当 AR1 将 10.1.1.0/24 路由加入到 BGP 之后,AR2 将会通过 EBGP 邻居学习到该路由,下一跳为 AR1; AR4 将会通过 IBGP 邻居学习到该路由,下一跳为 AR2;当 AR4 将 IBGP 邻居引入到 RIP 之后,AR3 将会 通过 RIP 学习到该路由,下一跳为 AR4;AR3 将通过 RIP 协议将 1.1.1.0/24 路由传递给 AR2,AR2 将会 通过 RIP 学习到该路由下一跳为 AR3;此时对于 AR2 关于 1.1.1.0/24 路由,既可以从 EBGP 路由学到, 也可以从 RIP 协议学到。默认情况下,EBGP 路由优先级为 255,RIP 路由优先级为 100,根据路由加表 原则,RIP 路由将会被装载进 AR2 的 IP 路由表中。此时,假设 AR2 访问 1.1.1.0/24 路由,将会根据 RIP 路由转发到 AR3 上,AR3 根据 RIP 路由转发到 AR4 上,AR4 根据 IBGP 路由进行下一跳迭代,最终又将 报文转发到 AR3 上。因此,会在 AR3 和 AR4 之间产生环路。
解决方案:
方案 1:不要在 AR4 上引入,可以在 AR2 上引入 BGP 路由解决问题。
方案 2:AS200 内不需要将 RIP 引入到 BGP。在 AR2、AR3、AR4 之间建立 full-mesh IBGP 邻 居关系,实现IBGP 路由互通
方案 3:AS300 内不需要将 RIP 引入到 BGP。在 AR2 和 AR3、AR3 和 AR4 之间建立 IBGP 邻居关系,AR3 配置为 RR。实现 IBGP 路由互通。
方案 4:在 AS200 内开启 MPLS 转发,配置 LDP 通告标签建立 LSP Tunnel。并使用 route recursive-lookup tunnel 命令将 BGP 路由迭代到 LSP Tunnel,利用标签转发穿越 AR3 避免流量 环路。
第二问::假设 R1 和 R2 的 BGP 邻居状态机一致处于 connect 状态,请列举 2 个可能的原因?
在 Connect 状态下,BGP 启动连接重传定时器(Connect Retry),等待 TCP 完成连接。
①如果 TCP 连接成功,那么 BGP 向对等体发送 Open 报文,并转至 Open Sent 状态;
②如果 TCP 连接失败,那么 BGP 会转至 Active 状态;
③如果连接重传定时器超时,BGP 仍没有收到 BGP 对等体的响应,那么 BGP 会继续尝试和其他对等体进 行 TCP 连接,并停留在 Connect 状态。
若 BGP 邻居一直处于 Connect 状态,则有可能是以下原因:
1.ACL 过滤了 TCP 的 179 号端口:因为配置 ACL 过滤了 TCP 179 端口,无法建立 TCP 连接 导致 EBGP 邻居一直处于 connect 状态。
2.BGP 认证不匹配:BGP 利用 TCP 的 MD5 选项实现认证,如果两端认证不一致会导致 TCP 会 话建立失败。
3.AR1 和 AR2 使用环回口建立 EBGP 邻居,没有配置 EBGP 多跳,导致 TTL 超时,报文被丢弃;
4.Peer地址配置错误:在两端 peer 地址配置错误,但是所配地址路由可达的场景下。针对配错 peer 也 会发起 TCP 连接,但是因为使用无响应导致 BGP 邻居状态一直处于 connect 状态。
5. 更 新 源配 置 错 误: 如 果 两 端EBGP 邻居通过 Loopback 地址建立邻居关系,在没有配置 connect-interface 或者配置错误的情况下,也会导致TCP会话建立失败。原因是 TCP 会话在建立过程 中会检查 TCP 报文发送源,如果源 IP 和配置的 peer 地址不一致,则断开 TCP 连接,导致邻居处 于 connect 状态。
6.Peer 为 passive 模式:如果 BGP 两端 peer 配置了 listening-only,则 peer 只会监听 TCP 会 话建立,而不会主动发起 TCP 连接,最终导致 BGP 处于 connect 状态。
本文内容由小德整理编辑!