BGP协议原理总结
BGP协议3:
边界网关路由协议(版本3)
RFC1267
王尚
201192339
名词解释:
1AS(自治系统):在单一技术管理下的一系列路由器,他们使用一个内部网关,在AS内部路由数据包的共同标准,使用同一个外部网关协议来想其他AS传输数
据包。因为这个经典的解释已经被扩展,所以对于一个单一的AS来说在内部
使用多个内部网关协议和有时多个系列的标准已经很普遍了。
(在这里使用的AS强调了这样的事实,即便多个内部网关协议和度量标准被
使用,一个AS面向其他的AS的管理拥有一个单一的连贯一致的内部路由方
案,并且展示一个始终如一的图片,什么的网络通过它可以到达。从外部的路
由的观点来看一个AS可以被看做一个单片集成电路:)
图1AS系统
2IGP(内部的边界网关协议)专门用于自治系统中的网关间交换数据流转通道信息的协议
3EGP(外部的边界网关协议)在自治系统间的相邻的网关主机间交换路由信息的协议。常用于在INTERNET主机间交换路由表信息。一个轮询协议,利用H
ELLO和I-HEARD-YOU消息的转换,能让每个网关控制盒接受网络
可达性信息的速率,容许每个系统控制自己的开销,同时发出命令请求更新响应。
路由表包括一组一知路由器及这些路由器的可到达地址及路径开销,从而选择最
佳路由。每个路由器没个120或者480秒访问邻居一次,邻居发挥完整的路
由表来响应。
4IBGP(内部边界网关协议)
5EBGP(外部边界网关协议)
6EBGP对等体
7BGP和IGP同步:一个BGP路由器不将从内部Peer得知的目的地通告给外部Peer,除非该目的地也能通过IGP得知。若一个路由器通过IGP得知该
目的地,则可以认为路由能在AS中传播,内部通达已经可以得到保证。
BGP协议概述
1BGP协议是外部路由协议,用来在AS之间传递路由信息。
2是一种增强的距离矢量路由协议。具有以下特点:
①可靠的路由更新机制
②丰富的Metric度量方法
③从设计上避免了环路的发生
3可以为路由附带属性信息
4支持CIDR(无类别域间路由)
5丰富的路由过滤和路由策略
6使用的传输层协议是TCP协议,使用的端口号是179
7无需周期性的更新
8周期性的发送KEEPALIVE报文验证TCP连接的连通性
9在进行路由更新时只发送路由增量
BGP路由通告原则
1当存在多条路径时,BGPSpeaker只选择最优的给自己使用
2BGPSpeaker只把自己只用的路由通告给邻居
3BGPSpeaker从EBPG获得的路由会向他的所有BGP邻居通告(包括EBGP和IBGP)
4BGPSpeaker从IBGP获得的路由不向它的IBGP邻居发送
5BGPSpeaker从IBGP获得的路由是否会通告给他的EBGP对等体要依从于IGP和BGP同步的情况来决定
6连接一但建立,BGPSpeaker将把自己所有BGP路由通告给新的邻居IBGP全连接
①IBGP对等体物理意义上的全连接
②IBGP对等体逻辑意义上的全连接
BGP报文种类
1Open:在TCP会话建立之后,两个邻居都将发送Open消息,每个邻居都
利用该消息标识自己并指定BGP操作参数
2KeepAlive:当路由器接受了由邻居发送来的Open消息中的指定参数。
它将响应一条KeepAlive消息,此后路由器每60秒发
送一条KeepAlive消息,或是以协商的保持时间的1/
3为周期发送KeepAlive消息。由于KEEPALIV
E纯粹是一个通信知会,不需要携带什么信息,因此KEEPA
LIVE报文实际上是不带数据的BGP报文头。
3Update:被用来宣告可行路由、撤销的路由
4Notification:只要路由器检测到差错就会发送Notificat
ion消息并关闭BGP进程,随后我们将看到BGP邻居断开,
然后试图重新建立BGP邻居。
BGP报文头
BGP报文的格式都是一样的:BGP报文头+BGP报文体
其中BGP报文头格式如下:
图2BGP报文头
⑴Maker(16byte):全为1,否则标记值要使用认证机制来计算
(认证机制是通过认证信息的一部分来指定的)。标记可以用来探测BGP对
端的同步丢失,认证进入的BGP消息。
⑵Length(2byte)BGP报文的全长,长度值必须最少19个字节,
最大4096个字节。可能更多,根据报文类型决定
⑶Type(1byte)1-Open
2-UPDATE
3—Notification
4KeepAlive
Open报文:
图3Open报文头
⑷Version(1字节)当前BGP版本号为3
⑸MyAutonomusSystem(2字节):发射者自导系统号
⑹HoldTIME(2字节):BGP的Holdtime为180秒
⑺BGPIDENTIFIER(4字节):发送者的BGProute
ID
⑻AUTH. CODE
⑼AUTHENTICATIONDATA
Update
图4Update报文头
⑽TOTALPathAttributeSLENGTH(2字节):总的路径属性长度0代表在UPDATE消息中没有网络层可达信息域⑾PathAttribute:路径属性,在一个UPDATE中可能存在多个路径属性对。每个路径属性对包括AttributeFlags,A
ttributetypecode,AttributeDate
Length三个字段。AttributeFlags,Attrib
utetypecode各占一个字节。
⒈AttributeFlags的8位分别表示:
⒉Attributetypecode指明是什么属性。
图5Attributetypecode属性⑿Network(4字节):INTERNETNETWORK编码