和OSPF一样,BGP一样有自己的名词和属性词汇,也同样遵守共有的名词。如AS等。。
为了学习BGP协议,建议必须掌握以下名词的释义,在阅读资料的时候也不至于不明白说的什么。
首先要必须理解的名词是:
IGP,EGP,BGP,EBGP,IBGP什么意思?
答:首先路由协议我们可以按照很多种办法去分类,比如按照计算类型,范围类型,矢量距离等等,然后我们常常分类最为重要的是按照 AS 来分的,也就是路由协议运行的范围,可以分为 IGP 和 EGP ,IGP则为在一个AS内运行的,EGP则为AS与AS之间运行的。So按照AS分类的话是这样的:
IGP : RIP,OSPF,ISIS
EGP: BGP
所以说IGP和EGP是概念名词,而不是一个路由协议的名字。那么EBGP和IBGP又是怎么回事呢?EBGP,IBGP都是属于路由协议BGP下的邻居关系。BGP现在用于最多的是AS之间,但是并不是说不能运行于AS内,IBGP就是运行在AS内的邻居关系,但是它不属于IGP,EBGP就自然不用说了。可能你在此有一个疑问,那就是既然BGP是自治系统之间的路由协议,那为何还需要在自治系统内运行BGP?原因很简单,因为一个AS会与多个AS相连,与其他AS相连的路由器成为边界路由器,这些不同边界的路由也要建立BGP连接,才能实现BGP的全网连接,当然这些路由器也可能同时运行了其他的AS内路由协议。换句话说就是不同的AS之间交换BGP的时候穿越一个AS内的过程成为IBGP。
明白吗?不明白就在读100遍。。。。。。啊啊啊啊啊啊 呵。。。。疯了。。
一、路由协议共同的名词
1、AS = autonomous system :自治系统,由同一个技术管理的路由器集合,换个理解就是使用相同的动态路由协议的路由器集合区域。AS编号又IANA分配的,范围是1-65535,其中1-64511是注册的因特网编号,64512-65535是私有网络编号。
2、IGP = Interior gateway protocol :内部网关协议,主要是AS内发现路由和计算路由。
3、EGP = Exterior gateway protoc :主要是BGP路由,用于AS之间的路由交换,并且带有AS属性路径等等信息。还带有路由策略哦。
4、BGP = border gateway protocol :边界网关协议,是一种路由协议的名字。是如今LSP之间用的最多的协议。
说到这里一定要说明一下BGP的特性:
1、提供AS之间无环路的路由交换信息。通过AS-PATH实现。
2、BGP是基于策略的路由协议,通过路径属性attributes控制。
3、BGP是工作在应用层的路由协议,传输层采用的是TCP协议来建立可靠的邻居关系。
4、路径传输方式类似矢量路由协议,但是路由的好坏并不是基于路由的矢量距离,而是基于带宽的。
5、支持CIDR和支持路由过滤和路由策略。
二、BGP的名词
1、peer = 对等体 :在BGP中建立连接的2台设备互为对等体。
2、open报文 :BGP五种报文类型中的一种,负责和对等体建立邻居关系。
3、KeppAlive :BGP五种报文类型中的一种,对等体之间周期性发送的报文,用于维护连接,默认时间为60s。
4、Update :BGP五种报文类型中的一种,已经建立连接的对等体之间用来传递路由信息。
5、Notifiction :BGP五种报文类型中的一种,BGP speeker 检测到错误的时候,发送该消息,消息会包含几种代码,代表不同错误。
6、Route-refresh :BGP五种报文类型中的一种,用来通知对等体自己支持路由刷新能力的报文。
三、BGP报文中的字段名称
1、version :存在于open报文中标识BGP的版本。
2、My AS :存在于open报文中,本地AS编号,比较2端的AS编号可以知道是EBGP还是IBGP。
3、Hold Time :存在于open报文中,称之为连接有效时间,当建立了BGP连接后,在该时间内只要收到一次Keepalive报文,hold time就重置,如果该时间内没收到报文,则认为对等体失效了。BGP就关闭。默认有效时间为180s。
4、BGP Identifier:存在于open报文中,BGP路由器的ID。以IP地址形式标识。
5、Opt parm Len :存在于open报文中,可选参数的长度,为open报文添加可选的参数。如果为0表示没有可选参数。
6、opt param :存在于open报文中,可选参数,以(参数名 类型 值)三元组来确定。5是指定6有多少个。
7、Keepalive 报文只是一个报文头,舞其他参数。
8、withdrawn :存在于update报文中,2Byte整数,用于表示withdrawn routers的长度。
9、withdrawn routers :存在于update报文中,变长,用于撤销路由,表明该路由失效。以<长度,网段>来表示。
10、path attribute len :存在于update报文中,2Byte整数,用于表示path attributes 的长度。
11、path attribute :路径属性,变长字段,以三元方式组成,<属性类型,属性长度,属性值>。
12、network layer reachability information :变长,网络可达信息,和撤销路由一样。2元组。
13、notifition报文中有的errorcode表示错误码,errsubcode表示错误子码,data描述错误信息。关于错误码代表的不同数字含义请自行查阅其他资料。
14、AFI = Address family identifier :存在于route-refresh报文中,地址族标识符,2字节。
15、Res :保留区域。发送方置为0,接收方忽略它
16、SAFI = Sub AFI : 子地址族。
四、BGP状态的名词
1、LDLE:空闲状态,等待启动事件。
2、connect :连接状态,该状态下开始TCP的连接发起,如果未能成功就一直保持此状态,并且一直尝试连接,连接成功后转为Opensent状态。
3、opensent :表示TCP已经连接成功,开始发送第一个open报文,并等待对等体发送open报文,接受检查open报文,有错误就发送notification报文并退回到LDLE状态,如果没有错误就开始发送keepalive报文,同时转为openconfirme状态。如果TCP连接失败了,立即转为Active状态。
4、Active :表示TCP连接失败了,BGP会重新尝试TCP连接。
5、openconfirm :该状态下等待keepalive报文。收到keepalive报文就转入established阶段,此时邻居关系就建立起来了。
6、estabilshed :此状态下就发送update报文。
五、BGP数据库名词
1、IP-RIB :IP路由表,包含全局路由信息库,包括所有ip路由信息。
2、LOC-RIB :本地bgp路由表。
3、邻居表 :对等体邻居表清单。
4、Adj-RIB-IN :对等体宣告给本地的speaker的未处理的路由信息库。
5、Adj-RIN-Out :本地speaker宣告给对等体路由器的信息库。
最后简单的建议要学习BGP必须要从理论上先掌握以下几个方面,你才能更轻松的完成学习任务:
1、学习BGP的邻居关系。
2、BGP路由通告原则。
3、BGP路由通告方式。
4、BGP的路径属性。
5、BGP选路原则。