ISP路由表分发中的AS与BGP51CTO博客 - 亚美娱乐

ISP路由表分发中的AS与BGP51CTO博客

2019-01-03 10:43:06 | 作者: 千风 | 标签: 路由,路由表,协议 | 浏览: 710

原文出自【听云技能博客】:http://blog.tingyun.com/web/article/detail/1348

摘要

本文面向,初级网络工程师,数据发掘工程师,触及EGP(外部网关协议; Exterior Gateway Protocol),IGP(内部网关协议; Interior Gateway Protocol)两类协议,AS(自治体系;Autonomous System)构成,whois内容解析及部分RPSL(路由战略标准言语;Routing Policy Specification Language)语法,了解所谓的运营商库中的ISP到底是个什么鬼。资深运维玩家速速退散~_~

文中引证数据更新日期截止2016/12/10, 引证的部分链接来自wiki,需求**。

防混杂声明

再开端之前,由于不同书本的出书时刻及可信度的不同,在正文之前,对或许存在的过错界说进行更正及一致,本文所讲到的EGP及IGP指两类协议,并非某一个具体的算法。最早的[RFC 827]界说了一个叫EGP的协议,而尔后相继运用了BGP(鸿沟网关协议; Border Gateway Protocol),BGP4来替换该算法,现以扩展到可支撑ipv6的BGP4+,在类别中,这3个算法均归于EGP这一类协议。别的,由于在新的RFC文档中,选用了Router一词,因而,有部分书本将这两类协议翻译为ERP(外部路由协议; Exterior Router Protocol)和IRP(内部路由协议; Interior Router Protocol),实际上,他们所指的其实是同一个意思。别的全部经过了中级资格证考试的读者能够跳到第三节以节约阅览时刻。

从IGP开端聊

具体的算法不讲,本文要点不在这,只讲思维。

这类协议有许多种,例如RIP,IGRP,OSPF,IS-IS,EIGRP,这儿就不逐个翻译了,过度着重中文其实没什么含义,他们的差异首要仍是在算法完成上不同,以及协议的链路间隔目标不同,即链路间隔发生的价值。最简略的RIP,路由器间两两相互通讯,每个路由器并不了解这整个网络的拓扑,它们只向其他相邻的路由器陈述自己的可达间隔,超越并包含16及表明不可达(有些书本从0开端界说可达间隔,用来表明不需求经过路由器的内网间隔),并相互更新。

而OSPF和IS-IS是按链路状况来转发路由的,简而言之就是,用这俩协议的路由器存储着整个内部网络的路由拓扑,而RIP只知道一部分。OSPF相关于RIP的别的一个长处就是设置了路由传达价值,没错,就是在拓扑线上加点数字表明这条路好不好走,算一下开支再挑选。

到了BGP

基本上仍是和IGP相同的思维,怎样转之类的都差不多,搞个路由表啊之类的,可是为什么又独自搞了个协议呢,由于场景。这儿触及到一个自治体系的概念,大致意思就是,我自己内部的电脑能相互通讯,即便不好外部通讯,我也能玩联机游戏,大不了不上网。可是想接入互联网的话就的跟其他网络做一下布告,我是谁,我这个网有谁才干正确的向其他AS转发报文。这个时分就需求一个身份证来表明自己的身份,就是ASN(Autonomous System Number),想要这个号码,就得掏钱买,IP也是。跟谁买呢?国际上的五大安排现已承包了这些东西。刺进一张图来阐明全部。

NIC表明Network Information Center(网络信息中心)前面的字母别离是非洲,亚太,拉丁美+加勒比区域

美帝和欧洲的姓名很古怪啊,特意查了收拾如下

区别办法大概是照着这个来的吧(美帝战区图,咳咳,其实没啥联系)

在国家也能够向国家的分配组织恳求(买)了,CNNIC,并且要求一个月内运用其恳求的AS号与一家ISP互设BGP协议,3-6个月内与两家以上(包含两家)的ISP互设BGP协议[1]。因而咱们就能够了解为什么百度(AS38365),网易(AS45062),均在各个ISP库的列表里呈现了。

好的,说回为什么场景不同,现在来讲,全球互联的(存在BGP效劳器通报的)骨干网IP前缀路由表共有72739条,经过链路状况协议同步路由表,时刻略长也不合适。除了技能上的原因,这儿面触及许多杂乱的政治问题和安全问题,比方在我国内部流转的流量就没有必要从外面跑。因而在AS的鸿沟路由器上会设置许多规矩,比方,答应来自AS1的网络包进入本网络不答应AS2的进入,或许答应来自AS1的4.0.0.0/8进入本网络,或许让购买了本网络带宽的其他AS优先进入,这儿的设置语法后边讲。

终究的BGP需求找到一条能通的路由,而不是一条能够最短的。因而BGP选用的是途径向量挑选协议(这儿指类别,差异于RIP的间隔向量协议和OSPF的链路状况协议)。

AS

关于界说和概念咱们讲了这么多,仍是直观念的好,咱们来看一下我国联通骨干网(AS4837)它在全国范围内的ip地理位置散布(留意,这儿的骨干网并非全球骨干网,即该AS并非一个根节点,在它之上还有其他AS作为他的提供商)

咱们再来看神舟长城(AS9389)的ip地理位置散布, 神舟长城又是从我国联通购买效劳(或许有些优化吧,具体的处理逻辑只能从战略上看了)。

盯梢一次AS转播,以www.google.com为例,在tracerouter得到的路由追寻信息中咱们能够看到

每一个ip地点的CIDR为

一段恳求,经过源AS中的路由,抵达自治体系的鸿沟路由器,被转发到了AS8100,又从AS8100的一个鸿沟被路由到了别的一个鸿沟路由,终究进入AS15169的内部域。留意,此处的Provider并不一定是专门的运营商Internet Service Provider,有些公司为了处理多个ISP进口的流量,恳求了ASN。假如在流量逻辑上和上级ISP没有太多的收支,就没有必要恳求一个ASN,就算运用了BGP协议,来源域也能够运用一个私有ASN好像私有IP相同进行衔接,在IANA的规矩中将[64512-65534][4200000000-4294967294]保存为私有ASN用于上述情况,其他保存ASN请拜访官方网站。

那全部IP都有对应的ASN嘛?不是,由于不是全部的IP都挑选接入互联网,假如我接入了那我就一定有ASN嘛?是的。在一个局域网玩游戏,自己设置IP,怎样设置都行,让大家能通讯就好,可是假如你要和其他局域网玩,两个局域网的管理员就得相互商量一下,怎样设置IP,怎样通讯,以此来更改路由器设置。假如想和全世界玩,就得遵守人家的协议了。

在某些根据多协议标签沟通中为了完成***之间的沟通,相同也能够为***独自恳求一个ASN,以区别互相并进行路由[2]。

Whois信息

关于ASN的whois信息或许各个数据库的存储格局都有所不同,以RIPE的数据库为比方。下面是由RPSL言语所写的我国网通AS的信息

其间import就是AS的路由表导入规矩

Import语法如下

import: from <peering-1> [action <action-1>]
            . . .
            from <peering-N> [action <action-N>]
            accept <filter>

意思就是说,从全部的from后米娜的peering导入契合filter规矩的路由表,以上的import信息表明,承受全部来自AS701,A S11919, AS6453, AS9225, AS4134, AS4538, AS4789, AS9800, AS4799的路由表,并别离设置了100,120的优先级。

更细粒度的语法

import: from AS2
         action pref = 10;
         accept { 128.9.0.0/16 }

则表明,承受来自AS2的路由128.9.0.0/16

而export的语法相似

export: to <peering-1> [action <action-1>]
            . . .
            to <peering-N> [action <action-N>]
            announce <filter>

向全部契合filter的peer转发路由上面的比方之一则表明向AS4134转发AS9929,AS9812,AS9810,AS9813,AS9816,AS9819,AS17432,AS7639的路由。

关于其他路由协议,多协议路由协议,和协议间的反射路由的完好import和export语法如下:

import:[protocol <protocol-1>] [into <protocol-2>]
            from <peering-1> [action <action-1>]
            . . .
            from <peering-N> [action <action-N>]
            accept <filter>
  export:[protocol <protocol-1>] [into <protocol-2>]
            to <peering-1> [action <action-1>]
            . . .
            to <peering-N> [action <action-N>]
            announce <filter>

具体的解说请翻阅RFC[2622]文档.

BGP绑架

由于协议的特殊性,在核算路由道路时,通常在会集路由表中的全部ip前缀进行匹配,假如满意变长掩码的需求,就会把经过该路由将数据转发,假如存在相同的IP前缀,则找到一个ip块更小的路由,既掩码最长的那一个。***者通常会***鸿沟路由器,使将过错的或许未经运用的ip前缀发出出去,将过错的路由信息播送至上级和其他对等体的路由表中,然后到达获取本不应该承受到的路由的数据音讯。

就BGP自身而言,这种***很难从协议上进行更改,由于规划中虽然是树立在TCP之上,可是协议自身并没有验证数据源牢靠与否的规划。唯逐个个难点在于,鸿沟路由的衔接必须在物理上进行端口设置,并且BGP交换报文的TTL只要1,也就是必须在1秒之内树立衔接才干进行下一步操作,比方,鸿沟路由器RA和鸿沟路由RB假如要互设BGP,那么必须在路由器的console中设置BGP会经过哪一个物理端口。因而,这种***效劳器中假如有人为改动的话,是很难防备的。

2014年记录到的BGP绑架从前阻拦了比特币矿机到采矿器效劳器的衔接,将流量搬运到了***者自己的矿池,就简简略单看着流量就收集了在当时价值8万美刀的比特币。

参考文献

http://www.rfc-editor.org/info/rfc827

http://www.rfc-editor.org/info/rfc1105

http://docstore.mik.ua/orelly/networking/tcpip/ch07_05.htm

http://docstore.mik.ua/orelly/networking/tcpip/ch07_04.htm

http://www.cnnic.net.cn/jczyfw/ipas/assq/201206/t20120612_26541.htm

http://www.iana.org/assignments/iana-as-numbers-special-registry/iana-as-numbers-special-registry.xhtml

http://baike.c114.net/view.asp?MPLS


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章