📅  最后修改于: 2020-11-10 06:10:58             🧑  作者: Mango
它是一种域间路由协议,它使用路径向量路由。它是一种网关协议,用于在Internet上的自治系统之间交换路由信息。
我们知道边界网关协议可在不同的自治系统上运行,因此我们应该了解BGP的历史,自治系统的类型等。
第一个网络是国防部开发的ARPANET,由高级研究计划局设计。在Arpanet中,仅存在一个由单个管理员处理的网络。所有路由器都是单个网络的一部分,路由是在GGP(网关到网关路由协议)的帮助下进行的。 GGP是所有路由协议中的第一个协议。自治系统编号未在GGP协议中使用。
当互联网进入市场时,GGP开始制造问题。由于Internet主干网变大,因此路由表也变大,从而导致了维护问题。为了解决此问题,ARPANET被划分为多个域,称为自治系统。每个自治系统都可以单独处理,每个系统都有自己的路由策略,并且自治系统包含小型路由数据库。实施自治系统概念后,第一个路由协议即RIP,该协议在单个自治系统上运行。为了将一个自治系统与另一个自治系统连接,开发了EGP(外部网关协议)协议。 EGP协议于1984年启动,在RFC 904中定义。该EGP协议使用了五年,但由于存在一定的缺陷,1989年开发了新协议,称为RFC 1105中定义的边界网关协议(BGP)。 。
BGP有许多版本,例如:
自治系统是位于单个公共管理域下的网络的集合。或者我们可以说这是单个管理域下的一组路由器。例如,一个组织可以包含多个具有不同位置的路由器,但是单个自治号码系统将识别它们。在同一自治系统或同一组织内,我们通常使用IGP(内部网关协议)协议,例如RIP,IGRP,EIGRP,OSPF。假设我们要在两个自治系统之间进行通信。在这种情况下,我们使用EGP(外部网关协议)。在Internet上运行或用于在两个不同的自治号码系统之间进行通信的协议称为BGP(边界网关协议)。 BGP是唯一在Internet主干网上运行或用于在两个不同的自治号码系统之间交换路由的协议。 Internet服务提供商使用BGP协议来控制所有路由信息。
以下是BGP协议的功能:
它是可以在任何窗口设备上运行的标准协议。
它是一个外部网关协议,用于在两个或多个自治系统编号之间交换路由信息。
它是专为域间路由而设计的,其中域间域间路由意味着在两个或多个自治号码系统之间交换路由信息。
它是唯一在Internet主干上运行的协议。
这是一个无类协议。
像IGP一样,BGP也支持增量更新和触发器更新。
BGP是路径矢量协议。在此,路径向量是一种将路由与路由信息一起发送的方法。
它发送更新以手动配置邻居关系。假设有两个路由器R1和R2。然后,R1必须发送configure命令,说您是我的邻居。另一方面,R2还必须向R1发送配置命令,说R1是R1的邻居。如果两个configure命令都匹配,则将在这两个路由器之间建立邻居关系。
它是一个应用层协议,并使用TCP协议来提高可靠性。
它具有许多属性,例如权重属性,来源等。BGP支持大量可能影响路径操作过程的属性。
如果信息来自外部自治系统,则使用20个管理距离。如果信息来自同一自治系统,则它将使用200个管理距离。
有一种可能是,当您连接到Internet时,您可能会将10.0.0.0路由发布到某个自治系统,然后又将其发布到其他自治系统。这样就有可能再次返回相同的路线。这将创建一个循环。但是,在BGP中,有一个规则,例如,当路由器看到自己的AS编号时,如上图所示,网络180.10.0.0/16源自AS 100,并且当它发送到AS 200时,它将携带其路径信息,即180.10.0.0/16和AS100。当AS 200发送到AS 300时,AS 200将发送其路径信息180.10.0.0/16,AS路径为100,然后为200 ,这意味着路由起源于AS 100,然后到达200,最后到达300。当AS 300发送到AS 500时,它将发送网络信息180.10.0.0/16,AS路径为100、200和200。然后是300。如果AS 500发送到AS 100,并且AS 100在更新中看到其自己的自治号码,它将不接受。这样,BGP阻止了环路的创建。
以下是自治系统的类型:
它是一个仅包含从一个自治系统到另一个自治系统的连接的系统。数据流量无法通过存根自治系统传递。存根AS可以是源,也可以是宿。如果我们有一个自治系统,即AS1,那么它将与另一个自治系统AS2具有单一连接。 AS1既可以充当源也可以充当宿。如果它充当源,那么数据将从AS1移动到AS2。如果AS1充当接收器,则意味着来自AS2的数据已在AS1中使用,但数据不会从AS1向前移动。
它是一个自治系统,可以与另一个自治系统建立多个连接,但仍然可以是数据流量的源或宿。没有瞬时数据流量,这意味着可以从一个自治系统传递数据。
临时自治系统是一个多宿主自治系统,但它也提供了临时交通流。
BGP根据路径的属性选择最佳路由。
众所周知,边界网关路由协议中使用了路径矢量路由,该协议包含显示路径信息的路由表。路径属性提供路径信息。显示或存储路径信息的属性称为路径属性。此属性列表可帮助接收路由器在应用任何策略时做出更好的决策。让我们看看不同类型的属性。路径属性大致分为两类:
1.众所周知的属性:每个BGP路由器都应识别的属性。
众所周知的属性进一步分为两类:
2.可选属性:此属性不必一定要被每个BGP路由器识别。简而言之,我们可以说它不是强制属性。
可选属性进一步分为两类:
BGP邻居与OSPF邻居相似,但差异不大。 BGP在端口号179上的TCP连接的帮助下形成邻居关系,然后交换BGP更新。他们在形成邻居关系后交换更新。在BGP中,邻居关系是手动配置的。 BGP邻居也称为BGP对等体或BGP发言人。
邻居关系有两种类型:
BGP表有三种类型:
为了进行验证,使用了以下命令:
#show ip bgp summary
# show ip bgp neighbors
上面的命令对于验证邻居关系是否正常非常有用。
# show ip bgp
#SH ip route
当我们谈论BGP时,意味着自治系统之间的通信。让我们考虑两个分别具有五个节点的自治系统。
BGP会话分为两类:
1.内部BGP会话
内部BGP会话用于在自治系统内的路由器之间交换信息。简而言之,可以说路由信息是在同一自治系统的路由器之间交换的。
2.外部BGP会话
外部BGP会话是不同自治系统的节点或路由器相互通信的会话。
BGP中存在四种不同类型的数据包:
现在我们将看到数据包传输的格式。以下是BGP数据包格式的字段: