计算机网络:网络层 —— 边界网关协议 BGP

时间:2024-11-04 12:11:38

文章目录

    • 路由选择协议
      • 动态路由协议
      • 边界网关协议 BGP
        • BGP 的基本概念
        • BGP-4 的四种报文

路由选择协议

因特网是全球最大的互联网,它所采取的路由选择协议具有以下三个主要特点:

  • 自适应:因特网采用动态路由选择,能较好地适应网络状态的变化。

  • 分布式:因特网中的各路由器通过相互间的信息交互,共同完成路由信息的获取和更新

  • 分层次:将整个因特网划分为许多较小的自治系统(AutonomousSystem,AS)在自治系统内部(域内路由选择)和外部(域间路由选择)采用不同类别的路由选择协议,分别进行路由选择。

![[自治系统.png]]

  • 自治系统内部使用内部网关协议 IGP ,自治系统之间使用外部网关协议 EGP

  • 外部网关协议 EGP 和内部网关协议 IGP 只是路由选择协议的分类名称,而不是具体的路由选择协议。

  • 外部网关协议和内部网关协议名称中使用的是“网关”这个名词,是因为在因特网早期的 RFC 文档中,没有使用“路由器”而使用的是“网关”这一名词。

动态路由协议

动态路由协议分为距离矢量路由协议链路状态路由协议

  • 距离矢量路由协议(Distance Vector Routing Protocols)

    • 通过向相邻路由器定期通告自己的路由表,逐跳传递路由信息。
    • 典型协议:RIP(Routing Information Protocol)。
    • 优点:实现简单。
    • 缺点:收敛慢,容易产生路由环。
  • 链路状态路由协议(Link State Routing Protocols)

    • 每个路由器通过广播链路状态信息构建整个网络的拓扑图,使用 Dijkstra 算法计算最短路径。
    • 典型协议:OSPF(Open Shortest Path First)、IS-IS(Intermediate System to Intermediate System)。
    • 优点:收敛快,路由精确。
    • 缺点:实现复杂,资源消耗大。
  • 路径矢量路由协议(Path Vector Routing Protocols)

    • 主要用于大型互联网络(如互联网),通过通告路径信息,避免路由环。
    • 典型协议:BGP(Border Gateway Protocol)。
    • 优点:适用于大规模网络,避免路由环。
    • 缺点:实现复杂,路由策略灵活。

边界网关协议 BGP

路由信息协议 RIP 和 开放最短路径优先 OSPF 都属于内部网关协议,用于自治系统内部的路由选择。

计算机网络:网络层 —— 路由信息协议 RIP

计算机网络:网络层 —— 开放最短路径优先 OSPF

边界网关协议(Border Gateway Protocol,BGP)属于外部网关协议 EGP 这个类别,用于自治系统 AS 之间的路由选择协议。

由于在不同 AS 内度量路由的“代价”(距离、带宽、费用等)可能不同,因此对于AS之间的路由选择使用统一的“代价”作为度量来寻找最佳路由是不行的

![[代价不统一.png]]

并且,AS 之间的路由选择还必须考虑相关策略(政治、经济、安全等)

![[相关策略.png]]

自治系统之间的路由选择协议应当允许使用多种路由选择策略。这些策略包括政治、经济、安全等,它们都是由网络管理人员对每一个路由器进行设置的。但这些策略并不是自治系统之间的路由选择协议本身。

BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(即不能兜圈子),而并非要寻找一条最佳路由。

BGP 的基本概念
  • 在配置 BGP 时,每个 AS 的管理员要选择至少一个路由器作为该 AS 的“BGP发言人

  • 一般来说,两个 BGP 发言人都是通过一个共享网络连接在一起的,而 BGP 发言人往往就是 BGP 边界路由器

  • 不同自治系统的 BGP 发言人要交换路由信息,首先必须建立 TCP 连接端口号为 179在此 TCP 连接上交换 BGP 报文,以建立 BGP 会话。利用 BGP 会话,交换路由信息,如增加新的路由或撤销过时的路由、报告出错的情况等。

![[BGP发言人交换路由信息.png]]

  • 使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此称为对方的邻站(neighbor)或对等站(peer)

  • BGP 发言人除了运行 BGP 协议外,还必须运行自己所在AS所使用的内部网关协议IGP,例如 RIPOSPF

  • BGP 发言人交换网络可达性的信息,也就是要到达某个网络所要经过的一系列自治系统

  • 当 BGP 发言人相互交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略,从收到的路由信息中,找出到达各自治系统的较好的路由,也就是构造出树形结构且不存在环路的自治系统连通图

BGP 适用于特别适合于处理大型、复杂且具有多级结构的互联网环境,即多级结构的因特网

![[BGP适用于多级结构的因特网.png]]

BGP-4 的四种报文

BGP-4 是目前使用得最多的版本,在 [RFC4271] 中规定了 BGP-4 的四种报文:

  1. 打开OPEN)报文:用来与相邻的另一个 BGP 发言人建立关系,使通信初始化。

  2. 保活KEEPALIVE)报文:用来周期性地证实邻站的连通性

  3. 更新UPDATE)报文:用来通告某一条路由的信息,以及列出要撤销的多条路由。

  4. 通知NOTIFICATION)报文:用来发送检测到的差错。