计算机网络——网络层-边界网关协议(BGP)

计算机网络系列博文——目录
边界网关协议(Broder Gateway Protocol,BGP)

  • BGP4是当前因特网中域间路由选择的事实标准;
BGP服务 BGP为每个AS提供以下服务:
  1. 从相邻AS处获得子网可达性信息;
  2. 向本AS内部的所有路由器传播可达性信息;
  3. 基于可达性信息和AS策略,确定到达子网的优路由;
  • BGP使得每个子网向因特网的其它部分通过自身的存在 ,即确保因特网中的所有AS了解该子网的存在即如何到达该子网;
  • BGP使得每个AS了解经过其相邻AS可达的目的地;
  • 目的地不是主机IP,而是CDIR(无类别域间路由选择)化的前缀;
  • 每个前缀代表一个子网或一个子网的集合;
  • BGP通过IP地址聚合,最长前缀匹配等技术生成,解析前缀;
BGP基本概念 BGP会话
  • 用于BGP的TCP连接,路由器对使用179端口的半永久TCP连接以交换路由选择信息;
  • BGP会话是TCP连接,未必与实际的物理链路对应;
BGP对等方 位于一个BGP会话两端的两台路由器;
外部BGP会话(eBGP) 跨越两个AS的BGP会话;
内部BGP会话(iBGP) 同一AS内两路由器间的BGP会话;
路径属性及BGP路由 自洽系统号(Autonomous System Number,ASN)
  • BGP中,自洽系统由全局唯一的自洽系统号标识(桩AS无ASN);
  • AS号由ICANN地区注册机构分配;
【计算机网络——网络层-边界网关协议(BGP)】桩AS
  • 仅承载源地址或目的地址为本AS的流量,通常无ASN;
  • 即不承载中转流量的AS,这样的AS往往是客户AS;
路由
  • 路由是带有BGP属性的IP前缀;
  • BGP对等方通过BGP会话彼此通告路由;
路由属性
  • AS-PATH
    该属性包含前缀的通告已经通过的AS;
    当前缀传送到一个AS时,该AS将它的ASN添加到AS-PATH属性中;
    AS-PATH属性可以检测和防止循环通告;
    一台路由器若发现他的AS被包括在AS-PATH中,则它会拒绝该通告;
  • NEXT-HOP
    一个开始某AS-PATH的路由器接口,即下一跳AS对应网关路由器的相应接口;
    路由器使用该属性配置转发表;
输入策略
当网关路由器收到一条路由时,根据输入策略决定接收或过滤该路由;
BGP路由选择
BGP使用eBGP和iBGP发布路由;
某台路由器可能知道到达某一前缀的多条路由,路由器必须在可能的路由中选择一条;
消除规则
输入:到同一前缀的多条路由
输出:一条路由
  1. 本地偏好值,该值由AS的网络管理员设置;被配置了本地偏好的路由器,会选择本地偏好值最大的路由;若有多个最大值,进入下一步;
  2. 选择具有最短AS-PATH的路由;若有多个最短AS-PATH路由,进入下一步;
  3. 选择具有最靠近NEXT-HOP路由器的路由(即热土豆路由选择);最靠近指最低费用;若有多个最靠近路由器,进入下一步;
  4. 使用BGP标识符选择路由;
路由选择策略
  • AS网络可分为主干提供商网络和客户桩网络
  • 客户桩网络至少与一个提供商网络相连以获得因特网连接
  • 客户桩网络也可以多宿,即同时与多个提供商网络连接
  • 多宿的客户桩网络不会转发过路流量,亦即所有通告客户桩网络的流量或者发送源该网络,或者目的地是该网络
  • 亦即,客户桩网络不会向邻居AS转发到其它网络的BGP通告
  • 主干提供商网络与其它提供商网络和它的客户网络相连
  • 提供商网络会为它的客户转发BGP通告
  • 提供商网络之间如何转发BGP通告并没有统一的强制性规定
    事实上的商业法则是,任何穿越某ISP主干网的流量必须是其源或目的地位于该ISP的某个客户网络的流量;否则,这些流量就免费通过该ISP网络

    推荐阅读