BGP和OSPF有什么区别?


14

我想建立一个动态路由网络,我想知道BGP和OSPF有什么区别?两者是否需要共同使用?


1
广义上讲,OSPF是一种内部网络协议,它与AS(自治系统)一起使用,而BGP是一种网络间协议,因此在两个不同的AS之间使用。根据您的网络设计,可以肯定地同时使用它们
Amol Sharma

Answers:


19

根据您的问题,我猜测您是网络新手,只需要一个高级答案。

简化:

  1. 在网络的边缘使用BGP(边界网关协议)将网络连接到Internet
  2. OSPF(开放式最短路径优先)在网络内部使用

在网络的边缘,您将使用路由器将BGP映射到OSPF,反之亦然。

路由不是一个简单的话题-您应该计划花费大量时间来研究和设计解决方案。还有其他可用协议,例如RIP,IS-IS和IGRP,可能更适合您的要求。


24

OSPF是一种IGP(内部网关协议),而BGP是当前唯一的真实EGP(外部网关协议)。

如果要进行内部路由,即在站点,公司或园区内进行路由,则需要使用OSPF。通常,在站点边缘需要BGP,您可以在其中路由到公共Internet。在中小型网络中,到外部的静态路由通常比建立BGP更可取。如果您有一个复杂的多宿主站点,无论其大小如何,都可以考虑使用BGP。

您真的不想使用IGRP,它是Cisco专有EIGRP(也是专有)的不推荐使用的旧版本。 EIGRP可靠,相当直观,并且性能可与OSPF媲美,但仅在Cisco设备上运行。

对于大多数项目,我都不推荐使用IS-IS。IS-IS是一种类似于OSPF的链路状态协议,但很少使用,通常仅在ISP时代才使用(尽管有些人将其称为一种广泛但利基的路由协议)。你可以肯定使用它,如果它是您的平台上,但你会发现疑难解答资源难度加大了。

尽管您在Linux(和大多数现代平台)上使用RIPv2,但RIP既适合小型站点,也最适合小型站点。它的设置比上面提到的其他方法更容易,尽管由于其局限性,它已不再在小型网络部署之外使用。如果您想获取知识,那么这将是一个很好的起点。

OSPF是与供应商无关的IGP标准(即,不是Cisco专有的),并且根据您的需要可以很容易地变得复杂。

我假设您是在谈论IPv4而不是IPv6。您在这方面的要求(与其他方面一样)将直接影响您使用的路由协议。 OSPFv3是OSPF的支持IPv6的版本; OSPFv2是目前最常用的,但仅IPv4。

*从硬件角度来看,如果硬件可以处理吞吐量,则bsd系统也是运行生产级bsd或ospf部署的不错选择。


1
+1,适用于小型网站的RIP;OSPF用于媒介;大型/复杂网络的BGP。另外,OpenBSD和FreeBSD也是出色的路由器平台。
克里斯S

RIP 邪恶的!
Jed Daniels

@Jed好吧,我不是一个狂热的粉丝,但是它也变得邪恶了吗?
belacqua 2011年

4

您确实意识到要使用IBGP,您必须在边缘路由器之间创建对等关系,并且要使这些边缘路由器能够建立对等关系,它们还必须运行IGP(例如OSPF,RIP或ISIS)。没有适当的IGP,没人会独自运行IBGP。IBGP通常仅在边缘路由器和AS中的任何路由反射器上运行,而不是在所有路由器上运行,而OSPF等在所有路由器上运行。

我从未见过仅运行IBGP的网络。实际上,由于BGP依靠现有的基础路由表来确定如何路由到下一个IBGP对等方,因此实际上是不可能的。唯一真正使用的时间是单个自治系统是否通过多个链接连接到其他AS。例如,AS 100中的一个路由器与一个ISP对等,而AS 100中的另一个路由器,与备用或第二个ISP对等。在这种情况下,这两个路由器之间将使用IBGP。在这种情况之外,不应使用IBGP。

与记录相比,与OSPF相比,IBGP交换的信息更多,这意味着有更多的开销。而且,由于它位于协议栈上的IGP之上,因此通常无法收敛得那么快。

IGP是路由协议(即OSPF,ISIS,EIGRP,RIP)。
BGP是一种拓扑协议,已针对多宿主方案进行了扩展。IBGP中的“ I”并不表示它是IGP。

https://supportforums.cisco.com/thread/2032739


0

根据您问题上的标签-您是否有兴趣将ubuntu服务器用作路由器?如果是这种情况,Ubuntu在nemesis-ospf项目中似乎确实具有OSPF协议的端口。对于BGP而言,Vyatta发行版(how-to)将是最佳选择,并且还可以执行OSPF(两者都不是必需的)以及DNS,DHCP和其他服务。

更一般而言,OSPF将是一种更容易设置,快速配置和理解的路由协议。 BGP涉及更多,对于一个简单的小型网络来说可能会显得过分杀伤力。OSPF被认为是一种链路状态协议,而BGP是路径矢量。上面的链接将更加详细,但是我的建议是研究OSPF。

但是,我建议使用专用的盒进行路由,而不要在提供其他服务的盒上运行它,除非这仅用于教育/学习/实验室目的。


有什么理由比克格犬更喜欢克星?
乔里斯(Joris)2010年

无偏好-我都不是很熟悉。
彼得

0
  1. ospf是内部网关,而bgp是外部网关。

  2. 在ospf中收敛快,在bgp中收敛慢。

  3. 设计-在ospf中可能是分层网络,而在bgp中则是完全网格化的。

  4. 算法-ospf使用Dijkstra算法,bgp使用最佳路径算法。

  5. 协议-ospf具有IP协议,bgp具有TCP协议。

  6. 端口-ospf具有端口89,bgp具有端口179。

  7. 类型-链接状态为ospf,路径向量为bgp。

  8. 设备资源需求-ospf中的内存和CPU密集型,取决于路由表的大小,但扩展性优于ospf。


-3

我想说的是,如果您不熟悉动态路由协议,则应该研究BGP,毕竟它是用于Internet本身上的路由共享/发现的所有协议。OSPF对于某些设置非常有用,但是即使在内部BGP中也是一个不错的选择,OSPF对我来说太“神奇”了。


5
OSPF使用Dijkstra的算法自动导航路由。根本不是“魔术”。缺乏理解是阻止其使用的可怜原因。
克里斯S

我在引号中加了魔术,即我没有将OSPF定义为字面上的魔术。你没听错吗 您是否只是在服务器故障时让我发火,让我休息一下。我个人更喜欢BGP,如果您的网络足够复杂,或者您与许多第三方进行集成,则通常是更好的选择。OSPF可以使新手用户更容易错误地注入路由。向克里斯伸出援手。
MattyB 2010年

1
OSPF或IS-IS分配您的环回地址,BGP则承载所有其他路由信息。使整体变得美观而简单。如此说来,如果您的网络具有适合OSPF的拓扑,则OSPF非常简单。在网络上强加OSPF可能是一场噩梦。
Vatine 2010年

BGP具有更多的调整和“魔术”功能,因为不同的公司可以不同地使用它。(例如,请参见bgp社区的各种实现)如果您没有连接到两个上游ISP,我会发现使用BGP过于复杂。
Joel K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.