BGP (边界网关协议,Border Gateway Protocol)是自治系统之间的路由选择协议。
BGP用于连接Internet。
作为最新的外部网关协议,现有四个版本。
1.BGP 是唯一一个用来处理像因特网大小的网络协议,也是唯一能够妥善处理好不相关路由域间的多路连接协议。
BGPv4是一种外部的路由协议,可认为是一种高级的距离向量路由协议。
在BGP网络中,可以将一个网络分成多个自治系统。
自治系统间使用eBGP广播路由,自治系统内使用iBGP在自己的网络内广播路由。
2.BGP路由选择方法是基于距离向量路由选择。
与传统的距离向量(1个单独的度量,如跳数)协议不同,BGP将AS外部路径的度量复杂化。
BGP系统的主要功能是和其他BGP系统交换网络可达信息。
网络可达信息包括列出的AS信息。
这些信息有效地构造了 AS互联的拓朴图并由此清除了路由环路,同时在 AS级别上可实施策略决策。
3.BGP使用可靠的会话管理,TCP中的179端口用于触发Update和Keepalive信息到它的邻居,以传播和更新BGP路由表。
当运行BGP的两个路由器开始通信以交换动态路由信息时,使用TCP端口179,他们依赖于面向连接的通信(会话)。
4.BGP必须依靠面向连接的TCP会话以提供连接状态。
因为BGP不能使用Keepalive信息(但在普通头上存放有Keepalive信息,以允许路由器校验会话是否Active)。
标准的Keepalive是在电路上从一个路由器送往另一个路由器的信息,而不使用TCP会话。
路由器使用电路上的这些信号来校验电路没有错误或没有发现电路。
BGP的结构和功能如下:1.BGP用于在不同的自治系统(AS)之间交换路由信息。
当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。
这个节点可以是一个主机。
但通常是路由器来执行BGP。
两个AS中利用BGP交换信息的路由器也被称为边界网关(Border Gateway)或边界路由器(Border Router)。
2.由于可能与不同的AS相连,在一个AS内部可能存在多个运行BGP的边界路由器。
同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)。
归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。
在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edge router)。
在互联网操作系统(Cisco IOS)中,IBGP通告的路由的距离为200,优先级比EBGP和任何内部网关协议(IGP)通告的路由都低。
其他的路由器实现中,优先级顺序也是EBGP高于IGP,而IGP又高于IBGP。
3.BGP属于外部网关路由协议,可以实现自治系统间无环路的域间路由。
BGP是沟通Internet广域网的主用路由协议,例如不同省份、不同国家之间的路由大多要依靠BGP协议。
BGP的邻居关系(或称通信对端/对等实体)是通过人工配置实现的,对等实体之间通过TCP(端口179)会话交互数据。
BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为30秒)。
在路由协议中,只有BGP使用TCP作为传输层协议。