站点图标 Linux-技术共享

什么是BGP路由和AS自治域?

边界网关协议(BGP)是Internet的路由协议。与邮局处理邮件非常相似,BGP选择最有效的路由来传送互联网流量。

什么是BGP?

BGP代表边界网关协议,它是Internet的路由协议。换句话说,它提供了方向,以便流量尽可能高效地从一个IP地址传输到另一个IP地址。IP地址是给定网站的实际Web地址。当用户键入网站名称并且浏览器找到并加载它时,请求和响应在用户的IP地址和网站的IP地址之间来回传递。DNS(域名系统)服务器提供IP地址,但BGP提供了最有效的方式来访问该IP地址。粗略地说,如果DNS是互联网的地址簿,那么BGP就是互联网的路线图。

每个BGP路由器存储一个路由表,其中包含自治系统之间的最佳路由。由于每个AS *(通常是Internet服务提供商(ISP))广播他们拥有的新IP前缀,因此几乎不断更新这些内容。BGP总是倾向于从AS到AS的最短和最直接的路径,以便通过网络中尽可能少的跳跃来到达IP地址。

边界网关协议(BGP)相当于Internet的邮政服务。当有人将信件放入邮箱时,邮政服务处理该邮件并选择快速有效的路径将该信件发送给其收件人。同样,当有人通过Internet提交数据时,BGP负责查看数据可以传输的所有可用路径并选择最佳路由,这通常意味着在自治系统之间跳转。

BGP是使Internet工作的协议。它通过在Internet上启用数据路由来实现此目的。当国内的用户访问香港的网站时,BGP是使该通信快速有效地发生的协议,找到一个最优的路径达到香港。

什么是AS自治系统?

互联网是一个网络; 它被分解成数十万个称为自治系统(AS)的小型网络。这些网络中的每一个本质上都是由单个组织运行的大型路由器池。

自治系统是由单个组织管理的大型网络或网络组。AS可能有许多子网,但都共享相同的路由策略。通常,AS是ISP或具有自己的网络的非常大的组织,以及从该网络到ISP的多个上游连接(这称为“多宿主网络”)。每个AS都分配有自己的自治系统编号(ASN),以便轻松识别它们。

AS举例说明

如果我们继续将BGP比喻为互联网的邮政服务,AS就像个人邮局分支机构一样。一个城镇可能有数百个邮箱,但这些邮箱中的邮件必须通过本地邮政分支才能被路由到另一个目的地。AS中的内部路由器就像邮箱一样,它们将出站传输转发给AS,AS然后使用BGP路由将这些传输传输到目的地。

上图说明了BGP的简化版本。在这个版本中,互联网上只有6个自治系统。如果AS1需要将数据包路由到AS3,它有两个不同的选择:

跳到AS2然后跳到AS3:

AS2→AS3

或者跳到AS6,然后跳到AS5,AS4,最后到AS3:

AS6→AS5→AS4→AS3

在这个简化的模型中,决定似乎很简单。AS2路由比AS6路由需要更少的跳数,因此它是最快,最有效的路由。现在假设有数十万个AS,并且跳数只是复杂路由选择算法的一部分。这就是互联网上BGP路由的现实。

互联网的结构不断变化,新的系统突然出现,现有的系统变得不可用。因此,每个AS必须及时更新有关新路线和过时路线的信息。这是通过对等会话来完成的,其中每个AS通过TCP / IP连接连接到相邻的AS ,以便共享路由信息。使用此信息,每个AS都可以正确路由来自内部的出站数据传输。

AS与邮局系统相类似:各个邮局分支不同,自治系统并非都属于同一个组织。因此,他们没有理由相互友好,往往是商业竞争对手!因此,BGP路由有时会考虑业务因素。自治系统通常相互收费以在其网络上传输流量,并且可以将访问的价格考虑在最终选择走哪条路由。

谁运营BGP自治系统AS?

自治系统通常属于ISP或其他大型高科技组织,如科技公司,大学,政府机构和科研机构。希望交换路由信息的每个自治系统必须具有注册的自治系统号(ASN)。互联网号码分配机构(IANA)将ASN分配给地区互联网注册机构(RIR),然后将其分配给ISP和网络。ASN是1到65534之间的16位数字和131072到4294967294之间的32位数字。截至2018年,全球大约有64,000个ASN在使用中。这些ASN仅对外部BGP是必需的。

外部BGP和内部BGP之间有什么区别?

交换路由,并使用外部BGP或eBGP通过Internet传输流量。自治系统还可以使用内部版本的BGP来路由其内部网络,这称为内部BGP,简称iBGP。应该注意,使用内部BGP不是使用外部BGP的要求。自治系统可以从许多内部协议中进行选择,以连接其内部网络上的路由器。

外部BGP就像国际航运; 在国际上发送邮件时需要遵循某些标准和准则。一旦该邮件到达其目的地国家,它必须通过目的地国家的本地邮件服务才能到达其最终目的地。每个国家/地区都有自己的内部邮件服务,不一定遵循与其他国家/地区相同的指导原则。类似地,每个自治系统可以具有其自己的内部路由协议,用于在其自己的网络内路由数据。

BGP如何破坏互联网

2004年,一家名为TTNet的土耳其互联网服务提供商(ISP)意外向其邻居发布了错误的BGP路由。这些路线声称TTNet本身是互联网上所有流量的最佳目的地。随着这些路线越来越多地扩展到更自治的系统,发生了大规模的中断,造成了为期一天的危机,世界上许多人无法访问部分或全部互联网。

同样,2008年,巴基斯坦ISP尝试使用BGP路由阻止巴基斯坦用户访问YouTube。然后ISP意外地将这些路由与其相邻的AS进行通告,并且该路由快速传播到因特网的BGP网络。这条路线将尝试访问YouTube的用户发送到了死胡同,导致YouTube几个小时无法访问。

这些是称为BGP劫持的实践示例,并不总是偶然的。在2018年4月,攻击者故意创建错误的BGP路由来重定向用于亚马逊DNS服务的流量。通过将此流量重定向到自己,攻击者能够窃取价值超过10万美元的加密货币。

这样的事件可能发生,因为BGP的路由共享功能依赖于信任,而自治系统隐含地信任与它们共享的路由。尽管有许多雄心勃勃的提案旨在使BGP更加安全,但这些提案很难实现,因为它们需要每个自治系统同时更新其行为。由于这需要数十万个组织的协调,并可能导致整个互联网的临时删除,因此这些主要提案似乎不太可能很快实施。

退出移动版