【BGP:边界网关协议概述】 BGP是一种不同自治系统的路由器之间进行通信的外部网关协议 。BGP是ARPANET所使用的老EGP的取代品 。RFC1267[LougheedandRekhter1991]对第3版的BGP进行了描述 。
RFC1268[RekhterandGross1991]描述了如何在Internet中使用BGP 。下面对于BGP的大部分描述都来自于这两个RFC文档 。同时 , 1993年开发第4版的BGP(见RFC1467[Topolcic1993]) , 以支持我们将在10.8节描述的CIDR 。
BGP系统与其他BGP系统之间交换网络可到达信息 。这些信息包括数据到达这些网络所必须经过的自治系统AS中的所有路径 。这些信息足以构造一幅自治系统连接图 。然后 , 可以根据连接图删除选路环 , 制订选路策略 。
首先 , 我们将一个自治系统中的IP数据报分成本地流量和通过流量 。在自治系统中 , 本地流量是起始或终止于该自治系统的流量 。也就是说 , 其信源IP地址或信宿IP地址所指定的主机位于该自治系统中 。其他的流量则称为通过流量 。在Internet中使用BGP的一个目的就是减少通过流量 。
可以将自治系统分为以下几种类型:
1)残桩自治系统(stubAS) , 它与其他自治系统只有单个连接 。stubAS只有本地流量 。
2)多接口自治系统(multihomedAS) , 它与其他自治系统有多个连接 , 但拒绝传送通过流量 。
3)转送自治系统(transitAS) , 它与其他自治系统有多个连接 , 在一些策略准则之下 , 它可以传送本地流量和通过流量 。
这样 , 可以将Internet的总拓扑结构看成是由一些残桩自治系统、多接口自治系统以及转送自治系统的任意互连 。残桩自治系统和多接口自治系统不需要使用BGP——它们通过运行EGP在自治系统之间交换可到达信息 。
BGP答应使用基于策略的选路 。由自治系统治理员制订策略 , 并通过配置文件将策略指定给BGP 。制订策略并不是协议的一部分 , 但指定策略答应BGP实现在存在多个可选路径时选择路径 , 并控制信息的重发送 。选路策略与政治、安全或经济因素有关 。
BGP与RIP和OSPF的不同之处在于BGP使用TCP作为其传输层协议 。两个运行BGP的系统之间建立一条TCP连接 , 然后交换整个BGP路由表 。从这个时候开始 , 在路由表发生变化时 , 再发送更新信号 。
BGP是一个距离向量协议 , 但是与(通告到目的地址跳数的)RIP不同的是 , BGP列举了到每个目的地址的路由(自治系统到达目的地址的序列号) 。这样就排除了一些距离向量协议的问题 。采用16bit数字表示自治系统标识 。
BGP通过定期发送keepalive报文给其邻站来检测TCP连接对端的链路或主机失败 。两个报文之间的时间间隔建议值为30秒 。应用层的keepalive报文与TCP的keepalive选项是独立的 。
推荐阅读
- BGP 边缘网关协议简介
- Border Gateway Protocol 在边界网关协议版本2
- 路由器BGP协议配置命令
- 如何提高bgpas-path的编写效率
- BGP/MPLS VPN的实现技术
- 如何更改路由器网关
- 如何获得默认网关
- 边界网关协议 BGP简介(1)
- BGP常用命令
- BGP配置示例
