BGP路由器间通讯
BGP不使用hello数据包来发现类似IGP协议的邻居,也没法动态发现邻居。BGP被设计为自治自治路由协议,这意味着邻居邻接关系不应频繁更改并且可以调和。BGP邻居由IP地址定义。
BGP使用TCP端口179与其他路由器进行通讯。TCP允许处理通讯数据包的分段,排序和可靠性(确认和重传)。
IGP协议遵守物理拓扑,由于会话是由没法逾越网络边界的hello组成的(即,仅单跳)。BGP使用能够逾越网络边界的TCP(即具有多跳功能)。BGP可以构成直接连接的邻居邻接关系,但也能够构成距离多跳的邻接关系。多跳会话要求路由器使用RIB中安装的基础路由(静态或通过任何路由协议)来建立与远程端点的TCP会话。
R1能够与R2建立直接BGP会话。另外,即便R2穿过R3,它也能够与R4构成BGP会话。R1和R2使用直接连接的线路相互定位。R2使用静态路由到达10.1.34.0/24网络,而R4使用静态路由到达10.1.23.0/24网络。即便数据包流经R3,R3也不知道R2和R4已建立BGP会话。
注意:
通过同一网络连接的BGP邻居使用ARP表查找对等方的第二层地址。多跳BGP会话需要路由表信息来查找对等方的IP地址。通常会在IBGP邻居之间运行静态路由或IGP,以提供用于建立BGPTCP会话的拓扑路径信息。默许路由不足以构成多跳BGP会话。
BGP可以被视为控制平面路由协议或利用程序,由于它允许与距离多跳的对等体交换路由。BGP路由器没必要在数据平面(路径)中交换前缀,但是数据路径中的所有路由器都需要知道将通过它们转发的所有路由。
BGP会话
BGP会话是指两个BGP路由器之间已建立的邻接关系。BGP会话始终是点对点的,分为两种类型:
1.内部BGP(IBGP):与位于同一AS或参与同一BGP同盟的IBGP路由器建立的会话。与EBGP会话相比,IBGP会话被认为更安全,并且下降了BGP的某些安全措施。在将IBGP前缀安装到路由器的路由信息??库(RIB)后,分配的管理距离(AD)为200。
2.外部BPG(EBGP):与位于不同AS中的BGP路由器建立的会话。在安装到路由器的RIB中时,会将EBGP前缀的AD分配为20。
注意
管理距离(AD)是路由信息源可信度的等级。如果路由器从多个路由协议中获知到目的地的路由,并且它们都具有相同的前缀长度,则将比较AD。优先选择具有较低AD的路由。