ISP之间的路由选择:BGP
OSPF是一个AS内部路由选择协议。当在相同AS内的源和目的地之间进行分组选路时,分组遵循的路径完全由AS内路由选择协议所决定。然而,当分组跨越多个AS进行路由时,我们需要一个自治系统间路由选择协议(inter-autonomous system routing protocol)。因为AS间路由选择协议涉及多个AS之间的协调,所以AS通信必须运行相同的AS间路由选择协议。在因特网中,所有的AS运行相同的AS间路由选择协议,称为边界网关协议(Broder Gateway Protocol, BGP) [ RFC 4271 ; Stewart 1999]。BGP无疑是所有因特网协议中最为重要的,因为正是这个协议将因特网中数以千计的ISP黏合起来。BGP是一种分布式和异步的协议,与距离向量路由选择协议一脉相承。
BGP的作用
对于位于相同AS中的目的地而言,在路由器转发表中的表项由AS内部路由选择协议所决定。而对于位于该AS外部的目的地而言这正是BGP用武之地。作为一种AS间的路由选择协议,BGP为每台路由器提供了一种完成以下任务的手段:
1)从邻居AS获得前缀的可达性信息。特别是,BGP允许每个子网向因特网的其余部分通告它的存在。BGP确保在因特网中的所有AS知道该子网。如果没有BGP的话,每个子网将是隔离的孤岛,即它们孤独地存在,不为因特网其余部分所知和所达。
2)确定到该前缀的“最好的”路由。一台路由器可能知道两条或更多条到特定前缀的不同路由。为了确定最好的路由,该路由器将本地运行一个BGP路由选择过程(使用它经过相邻的路由器获得的前缀可达性信息)。该最好的路由将基于策略以及可达性信息来确定。