我想设置一个动态路由网络,我想知道 BGP 和 OSPF 有什么区别?两者是否通常需要一起使用?
答案1
根据您的问题,我猜您是网络新手,只需要一个高级的答案。
简单来说:
- BGP(边界网关协议)用于网络边缘,将您的网络连接到互联网
- OSPF(开放最短路径优先)在您的网络内部使用
在网络边缘,您可以使用路由器将 BGP 映射到 OSPF,反之亦然。
路由不是一个简单的话题 - 您应该计划花费大量时间来研究和设计解决方案。还有其他可用的协议,例如 RIP、IS-IS 和 IGRP,它们可能更适合您的要求。
答案2
开放源协议 (OSPF)是 IGP(内部网关协议),而边界网关协议是目前唯一真正的EGP(外部网关协议)。
如果您正在进行内部路由,即在站点、公司或校园内进行路由,则需要使用 OSPF。通常在站点边缘需要使用 BGP,您从那里路由到公共互联网。在中小型网络中,通常最好使用静态路由到外部,而不是设置 BGP。如果您有一个复杂的多宿主站点,无论大小,您都可以考虑使用 BGP。
你真的不会想使用互联网连接协议——它是思科专有 EIGRP(也是专有的)的弃用旧版本。 增强型内部网关路由协议可靠、相当直观且性能与 OSPF 相当,但只能在 Cisco 设备上运行。
对于大多数项目我不推荐使用 IS-IS。伊斯兰国是一种链路状态协议,类似于 OSPF,但很少使用,目前通常仅在 ISP 中使用(尽管有些人会称其为广泛使用但小众的路由协议)。您能如果您的平台上有它,当然可以使用它,但您会发现故障排除资源更难获得。
RIP 适用于小型网站,但如果你使用 Linux(以及大多数现代平台),你实际上会使用RIPv2。它比上述其他方法更容易设置,但由于其局限性,它不再用于小型网络部署之外。如果你想获得知识,它是一个很好的起点。
OSPF 是与供应商无关的 IGP 标准(即不是 Cisco 专有的),并且可以根据您的需要变得简单或复杂。
我假设您谈论的是 IPv4 而不是 IPv6。您在这方面的要求(以及其他方面)将直接影响您使用的路由协议。 OSPFv3是支持 IPv6 的 OSPF 版本;OSPFv2 目前最为常见,但仅适用于 IPv4。
*nix-wise,如果硬件可以处理吞吐量,bsd 系统也是运行生产级 bsd 或 ospf 部署的好选择。
答案3
您确实意识到要使用 IBGP,您必须在边缘路由器之间创建对等关系,并且为了使这些边缘路由器能够建立对等关系,它们还必须运行 IGP,例如 OSPF、RIP 或 ISIS。没有人会在没有适当的 IGP 的情况下单独运行 IBGP。IBGP 通常仅在 AS 中的边缘路由器和任何路由反射器上运行...而不是在所有路由器上运行,而 OSPF 等则在所有路由器上运行。
我从未见过只运行 IBGP 的网络。事实上,这几乎是不可能的,因为 BGP 依赖现有的底层路由表来确定如何路由到下一个 IBGP 对等体。它真正被使用的唯一情况是单个自治系统通过多条链路连接到其他 AS。例如,AS 100 中的一个路由器与一个 ISP 对等,而另一个路由器(也在 AS 100 中)与备份或第二个 ISP 对等。在这种情况下,这两个路由器之间使用 IBGP。除了这种情况外,不应使用 IBGP。
从记录上看,IBGP 交换的信息比 OSPF 多得多,这意味着开销更大。此外,由于它在协议堆栈中位于 IGP 之上,因此它通常无法快速收敛。
IGP 是路由协议(即 OSPF、ISIS、EIGRP、RIP)。BGP
是针对多宿主场景扩展的拓扑协议。IBGP 中的“I”并不意味着它是 IGP。
答案4
ospf是内部网关,而bgp是外部网关。
ospf收敛速度快,bgp收敛速度慢。
设计 - 在 ospf 中可以实现分层网络,在 bgp 中完全网格化。
算法 - ospf 使用 Dijkstra 算法,bgp 使用最佳路径算法。
协议-ospf有IP协议,bgp有TCP协议。
端口 - ospf 有端口 89,bgp 有端口 179。
类型 - ospf 中的链路状态,bgp 中的路径向量。
需要设备资源-ospf 中内存和 CPU 密集型,取决于路由表的大小,但扩展性比 ospf 更好。