当前位置: 首页 > news >正文

计算机网络自顶向下方法42——网络层 自治系统间路由选择:BGP 深度解析

我们开始深入解析将全球数以万计的自治系统粘合在一起的胶水——BGP。这是互联网能够成为一个真正“网”的核心所在。


自治系统间路由选择:BGP 深度解析

BGP是互联网的事实标准外部网关协议,是所有ISP之间进行路由通信的共同语言。理解BGP,就理解了互联网的骨架。

一、BGP 概述:互联网的“外交官”

1. 核心角色:在AS间传递可达性信息

  • 内部 vs. 外部:OSPF、RIP等IGP负责AS内部的路由,像一个国家的国内交通系统。而BGP负责AS之间的路由,像国家间的外交官,互相通告“如何到达我这里的网络”。

  • 路径向量协议:BGP不属于严格的距离向量或链路状态协议,它被归类为路径向量协议。它通告的不仅是距离,而是完整的AS路径

2. BGP 的核心作用

  • 获取子网可达性信息:BGP允许一个子网向互联网的其他部分通告它的存在:“我在这里,可以通过我所在的AS到达我”。

  • 策略决策:这是BGP最强大也最复杂的地方。一个AS可以策略性地决定它向谁发送流量,以及从谁那里接收流量。这不仅仅是技术最优,更是商业最优。

  • 基于策略的路由选择:BGP路由决策可以由任意策略决定,而不仅仅基于最短路径。这些策略考虑了政治、安全、商业和经济因素。

二、BGP 基础:会话与通告

1. BGP 会话

  • BGP连接被称为“BGP会话”,运行在TCP端口179上。使用TCP确保了BGP报文的可靠传输。

  • 两种类型的会话

    • eBGP:运行在不同AS的BGP路由器之间。用于在AS间交换路由信息。

    • iBGP:运行在同一AS内部的BGP路由器之间。用于确保AS内部的所有BGP路由器拥有一致的对外路由信息。

2. 通告BGP路由信息

  • BGP通告的内容:当一台BGP路由器通过eBGP会话学习到一条去往某IP前缀(如138.16.0.0/16)的路由后,它会在AS内部通过iBGP共享,并可能通过eBGP通告给其他邻居AS。

  • 通告的不是路径,而是“前缀 + BGP属性”:BGP通告的不是简单的下一跳,而是一个网络层可达性信息(包含IP前缀)和一系列BGP属性。最重要的属性之一是 AS-PATH

3. BGP 属性
BGP路由的决策依赖于一系列属性,这些属性像标签一样附着在每条路由上:

  • AS-PATH:记录了该路由通告所经过的AS序列。例如,AS6431, AS7018, AS15169 表示去往某个前缀,需要先经过AS6431,然后是AS7018,最后到达AS15169。

    • 作用1:防止环路。如果BGP路由器在收到的AS-PATH中看到了自己所在的AS号,它会拒绝该路由,因为这形成了环路。

    • 作用2:是路由选择算法的重要依据(通常偏好路径更短的)。

  • NEXT-HOP:这是一个微妙而关键的属性。它指示了到达该路由的下一跳边界路由器的IP地址。对于从eBGP对等体学来的路由,NEXT-HOP就是那个eBGP对等体的接口IP。

三、确定最好的BGP路由:复杂的决策过程

当一台BGP路由器从不同的邻居那里收到通往同一个IP前缀的多条路由时,它会执行一个多阶段的决策过程来选择“最佳”路由。

1. 热土豆路由选择

  • 核心思想:“把烫手的土豆(数据包)尽快扔出你自己的AS”。它关注的是如何最小化本AS内部的流量开销

  • 工作机制:对于所有可用的BGP路由,路由器选择那个NEXT-HOP路由器在本AS内“最近” 的路由。这个“最近”通常由AS内部的IGP(如OSPF)开销来衡量。

  • 示例:一个ISP在纽约和旧金山都有入口点可以到达某个前缀。对于洛杉矶的一台路由器,它会选择通过旧金山入口的路由,因为数据包在它自己的AS内部传输到旧金山比到纽约的开销更小。

  • 本质:一种自私的路由策略,只优化自己的成本,不管数据包在后续AS中的路径如何。

2. BGP路由选择算法(决策过程)
如果热土豆路由选择后仍有多个选项,BGP路由器会按顺序应用以下规则,直到只剩下一条路由:

决策步骤详解:

  1. 本地偏好:这是最高优先级的属性,仅在同一AS内的iBGP对等体之间传递。网络管理员可以手动设置,以明确指示:“当有多个出口时,优先使用这个出口”。例如,优先使用高速、稳定的私有对等链路,而不是廉价的上行链路。

  2. 最短AS-PATH:在本地偏好相同或未设置的情况下,选择经过AS数量最少的路由。这是最直观的“最短路径”选择。

  3. 最低MED(多出口鉴别器):MED是一个提示性的属性,由一个AS发送给另一个AS,意思是:“如果你有多个入口点可以到达我,请优先使用这个”。接收AS在LOCAL_PREFAS-PATH都相同的情况下,会选择MED值最低的路由。

  4. 热土豆路由:如果以上所有条件都无法区分,则采用热土豆路由,尽快将数据包送出本AS。

  5. 如果仍有平局,则可能基于BGP Router ID等打破僵局。

四、BGP与IP任播

1. 什么是IP任播?
IP任播是一种网络寻址和路由技术,其中多个分布在不同地理位置的服务器共享同一个IP地址。数据包根据BGP路由,被路由到拓扑上“最近” 的那台服务器。

2. BGP如何实现任播?

  • 通告相同前缀:所有提供相同服务的服务器(或它们前面的路由器)都向互联网通告完全相同的IP前缀(例如,一个DNS服务器的IP)。

  • BGP自然选择:BGP的路由选择算法(特别是热土豆原则和最短AS-PATH)会自动将用户的请求引导到通告该前缀的、拓扑最近的站点。

3. 任播的应用

  • 根域名服务器和顶级域名服务器(如a.root-servers.net)广泛使用任播,以提供极高的可用性和全球负载均衡。

  • 大型CDN和云服务提供商:使用任播将用户请求导向最近的数据中心入口。

  • DDoS缓解:攻击流量会被分散到全球多个清洁中心。

五、路由选择策略:BGP的商业本质

BGP的配置本质上就是商业策略的体现。

1. 客户、提供商和对等体
一个ISP与其他AS的关系无外乎三种:

  • 提供商:我付钱给它,它为我提供到互联网其他部分的流量传输。

  • 客户:它付钱给我,我为它提供到互联网其他部分的流量传输。

  • 对等体:我们互不收费,仅交换通往彼此客户的路由信息,以改善双方用户的互访质量。

2. 基于商业关系的策略示例

  • 出口策略

    • 对客户:通告“我可以到达所有我知道的网络”(包括我的客户、对等体和提供商网络)。

    • 对提供商:通告“我可以到达我自己的网络和我的客户网络”。不会通告从其他提供商或对等体学来的路由,因为我不想成为免费的“中转站”。

    • 对对等体:通告“我可以到达我的客户网络”。仅此而已。

  • 进口策略

    • 从提供商/对等体接收路由时:设置较低的LOCAL_PREF

    • 从客户接收路由时:设置非常高的LOCAL_PREF。这意味着:只要客户能到达的目的地,就优先通过客户链路发送,因为这是能带来收入的流量。

总结

BGP远不止一个技术协议,它是技术、商业和政治的混合体。

  • 技术核心:通过路径向量可靠的TCP会话,在AS间安全地交换可达性信息。

  • 决策复杂性:其路由选择是一个多阶段过滤器,综合考虑了管理员策略AS跳数内部开销,其著名的热土豆路由策略旨在最小化自身成本。

  • 商业本质:BGP配置直接反映了AS间的商业合同关系(客户、提供商、对等体),策略决定了流量的进出口。

  • 强大应用IP任播巧妙地利用了BGP的“最近”路由特性,实现了全球负载均衡和高可用服务。

正是BGP的这种灵活性和策略驱动特性,使得它虽然复杂,却成为支撑起一个多元化、竞争化、去中心化的全球互联网的唯一可行选择。

详解:为何需要区分AS间与AS内路由选择协议?

我们可以用一个生动的比喻来理解:

  • 自治系统内部 像一个国家

  • 自治系统之间 像国际社会

  • OSPF/RIP 等内部网关协议就像国家的国内法律和交通系统,追求高效、统一、可控。

  • BGP 这个外部网关协议就像国家间的外交规则和条约,讲究策略、协商、互利,并尊重各自的主权。

下面我们从多个维度进行深度解析。

一、核心目标与哲学的根本差异
维度自治系统内部自治系统之间
核心目标性能最优化策略控制与策略实现
设计哲学“合作”“竞争与协作”
信任模型高信任度低信任度
关注点最小化延迟、最大化吞吐量、快速收敛商业关系、安全、流量成本、政治考量

深入解释:

  • AS内部:通常由一个组织管理,所有设备都为共同目标服务。因此,路由协议的目标非常纯粹:找到最快、最短的路径,并在链路故障时尽快恢复(快速收敛)。这是一个工程最优化问题

  • AS之间:由不同组织(ISP、公司)管理,各有各的利益。对于AS X来说,通过AS Y的路径即使延迟再低,但如果AS Y是它的竞争对手且收费高昂,AS X也宁愿选择另一个更友好、更便宜的AS Z。这是一个商业和政治决策问题

二、技术尺度的巨大差异
维度自治系统内部自治系统之间
规模相对较小(几十到几千台路由器)极其巨大(互联网包含数万个AS)
拓扑变化相对频繁(链路抖动、设备维护)相对稳定(AS间连接比较固定)
可扩展性分层设计是关键(如OSPF的区域)路径矢量和策略控制是关键

深入解释:

  • AS内部:使用链路状态协议(如OSPF) 是可行的,因为通过划分区域,可以将洪泛和计算限制在局部。路由器需要知道整个区域的拓扑细节,以便计算精确的最短路径。

  • AS之间:如果让全球所有AS都运行一个统一的链路状态协议,那么每次任何AS内发生任何变化,都需要洪泛到全球所有BGP路由器,这带来的控制平面流量和计算开销将是灾难性的,完全不可扩展。BGP的路径向量方式只传递“路径摘要”(AS序列),而不传递拓扑细节,完美解决了可扩展性问题。

三、策略与控制能力的刚性需求

这是最核心的区别。

  • AS内部:策略需求简单。通常只有基本的流量工程(如调整链路开销来引导流量)和安全过滤。管理员拥有绝对控制权。

  • AS之间:策略需求极其复杂,直接关系到运营商的生存。例如:

    • 进口策略:“我从我的客户那里学来的路由,优先级最高;从对等体学来的次之;从上游提供商学来的优先级最低。” 因为来自客户的流量能赚钱。

    • 出口策略:“我向我所有的邻居通告我客户的路由,但只向我客户通告我自己的和我的客户的路由,绝不把我的提供商或对等体的路由通告给其他人。” 避免成为免费的“中转站”。

BGP被设计成一种“可编程”的协议,它提供了丰富的属性(如 LOCAL_PREFAS-PATHMEDCommunities),让管理员可以像写程序一样,精细地实现这些商业策略。而OSPF这类IGP根本不具备如此丰富的策略表达能力。

四、安全与信任模型的本质不同
维度自治系统内部自治系统之间
信任基础所有路由器由同一机构管理,默认信任。对方AS是另一个商业实体,不可默认信任。
主要威胁配置错误、设备故障。恶意路由注入、路由劫持。
协议机制认证机制主要用于防止意外或内部误配置。协议设计必须防范外部攻击。

深入解释:

  • AS内部:OSPF邻居之间通常有认证,但这更多是为了防止意外或内部问题。

  • AS之间:BGP设计时必须假设对方可能(无意或恶意地)发送错误路由。其 AS-PATH 属性本身就是一个安全特性:它可以防止环路(看到自己的AS号就拒绝),并且让接收方可以看到路由的来源,从而基于来源做出策略决策。此外,现代BGP强烈推荐使用 RPKI 来验证对方通告的IP地址前缀是否真的属于它,以防御路由劫持。

总结:一种协议无法兼顾所有

让我们用表格来做一个最终的总结,清晰地展示为什么“一招鲜”行不通:

需求AS内部(如OSPF)AS之间(如BGP)如果强行互换会导致
核心目标性能最优策略最优要么无法实现商业目标,要么性能低下
规模适应性通过分层支持成百上千路由器通过路径摘要支持数万AS全球路由表洪泛,网络立即崩溃
收敛速度秒级,追求快速分钟级,追求稳定要么AS内部动荡波及全球,要么AS间变化响应太慢
策略表达能力弱(主要靠调整度量值)极强(多种属性、过滤器)复杂的商业关系无法实现,运营商无法盈利
安全模型基于内部信任基于外部不信任极易遭受路由欺骗和劫持

结论:

互联网这种 “IGP处理国内事务,BGP处理外交事务” 的分层路由模型,是一种经过时间检验的、完美的职责分离。它允许每个AS独立地管理自己的内部网络(选择最适合自己的IGP),同时通过一个统一而灵活的外交语言(BGP)与外部世界进行复杂的、策略驱动的交互。这种设计赋予了互联网无与伦比的可扩展性、灵活性和鲁棒性

http://www.dtcms.com/a/591141.html

相关文章:

  • 做网站钱郑州手机网站
  • 广州网站建设广州在公司做网站是什么职位
  • 基于 Python 和 Qt 的尺寸数据输入系统设计与实现
  • h5神兽平台正规的代理seo推广的全称是
  • 南阳公司网站建设VR网站建设价格
  • 云南建设网站郑州网络营销学校
  • 泰州网站建设搭建移动网站建设学习
  • 正中路桥建设发展有限公司网站电子商务与网站建设策划书
  • 手机端怎样做网站建设网站优化和推广方案ppt
  • 怎么自己创建网站或者app24小时自动发货网站建设
  • 手机如何建立网站平台游戏软件开发需要多少钱
  • 网站建设暖色调电商平台推广
  • 如何给网站加关键词建站快车品牌
  • 物流那个网站做推广好软件 网站开发合作协议
  • 网站预约功能怎么做电子商务网站建设与维护教案
  • 为学校网站做网站推广策划大专网站建设的论文范文
  • 做网站难还是app难wordpress 自定义留言
  • CellNavi方法细节:预测指导细胞状态转移的基因
  • 攀枝花住房和城乡建设厅网站在哪个网站去租地方做收废站
  • 建大型网站要多少钱建设个人网银登录
  • C++ SLT之 set
  • 北京制作网站公司哪家好wordpress win7
  • 网站建设经费申请ppt模板免费下载完整版免费无需会员
  • 怎么看自己做没做网站地图2023年营业执照年检申报
  • 如何注册网站免费的可以免费注册网站
  • wap网站 html5html 公司网站 代码下载
  • 网页设计网站的分析西安官网seo哪家公司好
  • 天津网站建设服务wordpress改关键词
  • 赣州商友网络科技有限公司如何做网站推广优化
  • 上海建设集团网站青岛百度推广优化怎么做的