计算机网络——29ISP之间的路由选择:BGP

news2024/12/23 4:29:09

ISP之间的路由选择:BGP

层次路由

一个平面的路由

  • 一个网络中的所有路由器的地位一样
  • 通过LS,DV,或者其他路由算法,所有路由器都要知道其他所有路由器(子网)如何走
  • 所有路由器在一个平面

平面路由的问题

  • 规模巨大的网络中,路由信息的存储、传输和计算代价巨大
    • DV:距离矢量很大,而且不能收敛
    • LS:几百万个节点的LS分组的泛洪传输,存储以及最短路径算法的计算
  • 管理问题:
    • 不同的网络所有者希望按照自己的方式管理网络
    • 希望对外隐藏自己网格的细节
    • 希望和其他网络互联

层次路由:将互联网分成一个个AS(路由器区域)

  • 某个区域内的路由器集合,自治系统“autonomounts systems(AS)
  • 一个AS用AS Number(ASN)唯一标识
  • 一个ISP可能包括1个或者多个AS

路由变成了:2个层次路由

  • AS内部路由:在同一个AS内路由器运行相同的路由协议
    • “intra-AS” routing protocol:内部网关协议
    • 不同的AS可能运行着不同的内部网关协议
    • 能够解决规模和管理问题
    • 网管路由器:AS边缘路由器,可以连接到其他AS
  • AS间运行AS间路由协议
    • “inter-AS” routing protocol:外部网关协议
    • 解决AS之间的路由问题,完成AS之间的互联互通

层次路由的优点

解决了规模问题

  • 内部网关协议解决:AS内部数量有限的路由器相互到达的问题,AS内部规模可控
    • 如AS节点太多,可分割AS,使得AS内部的节点数量有限
  • AS之间的路由的规模问题
    • 增加一个AS,对AS之间的路由从总体上来说,只是增加了一个节点=子网(每个AS可以用一个点表示)
    • 对于其他AS来说只是增加了一个表项,就是这个新增的AS如何走的问题
    • 拓展性强:规模增大,性能不会减的太多

解决了管理问题

  • 各个AS可以运行不同的内部网关协议
  • 可以使自己网络的细节不向外透露

互联网AS路由:BGP

BGP:自治区域间路由协议“事实上的”标准

  • “将互联网各个AS粘在一起的胶水”

BGP提供给每个AS以以下方法:

  • eBGP:从相邻的ASes那里获得子网可达信息
  • iBGP:将从获得的子网可达信息传播到AS内部所有的路由器
  • 根据子网可达信息和策略来决定子网的“好”路径

允许子网向互联网其他网络通告“我在这里

基于距离矢量算法(路径矢量)

  • 不仅仅是距离矢量,还包括到达各个目标网络的详细路径(AS序号的列表)能够避免简单DV算法的路由环路问题

eBGP,iBGP连接

在这里插入图片描述

BGP基础

BGP会话:2个BGP路由器在一个半永久的TCP连接上交换BGP报文:

  • 通告向不同目标子网前缀的“路径”(BGP是一个“路径矢量”协议)

在这里插入图片描述

当AS3网管路由器3a向AS2的网管路由器2c通告路径:AS3,X

  • 3a参与AS内路由运算,知道本AS所有子网X信息
  • 语义上:AS3向AS2承诺,它可以向子网X转发数据报
  • 3a是2c关于X的下一跳(next hop)

路径的属性 & 路由

当通告一个子网前缀时,通告包括BGP属性

  • prefix + attributes = “route”

两个重要的属性

  • AS-PATH:前缀的通告所经过的AS列表:AS 67 AS 17
    • 检测环路:多路径选择
    • 在向其他AS转发时,需要将自己的AS号加载路径上
  • NEXT-HOP:从当前AS到下一跳AS有多个链路,在NEXT-HOP属性中,告诉对方通过那个I转发
  • 其他属性:路由偏好指标,如何被插入的属性

基于策略的路由

  • 当一个网关路由器接收到了一个路由器通告,使用输入策略来接受或过滤
    • 过滤原因例子
      • 不想经过某个AS,转发某些前缀的分组
      • 已经有了一条往某前缀的偏好分组
  • 策略也决定了是否向它别的邻居通告接收到的这个路由信息

BGP路径通告

在这里插入图片描述

  • 路由器AS2.2c从AS3.3a接收到的AS3,X路径通告(通过eBGP)
  • 基于AS2的输入策略,AS2.2c决定接收AS3,X的通告,而且(通过iBGP)向AS2的所有路由器进行通告
  • 基于AS2的策略,AS2路由器2a通过eBGP向AS1.1c路由器通告AS2,AS3,X路由信息
    • 路径上加上了AS2自己作为AS序列的一跳

在这里插入图片描述

网关路由器可能获取有关一个子网X的多条路径,从多个eBGP会话上:

  • AS1网关路由器1c从2a学习到路径:AS2,AS3,X
  • AS1网关路由器1c从3a学习到路径:AS3,X
  • 基于策略:AS1路由器1c选择了路径:AS3,X,而且通过iBGP告诉所有AS1内部的路由器

BGP报文

使用TCP协议交换BGP报文
BGP报文:

  • OPEN:打开TCP连接,认证发送方
  • UPDATE:通告新路径(或者撤销原路径)
  • KEEPALIVE:在没有更新的时候保持连接,也用于对OPEN请求确认
  • NOTIFICATION:报告以前消息的错误,也用来关闭连接

BGP、OSPF,转发表表项

路由器是如何设置到这些远程子网前缀的转发表表项的?

在这里插入图片描述

回顾:1a,1b,1c从1c那里通过iBGP学习到了子网X,“到往子网X的要通过1c”
1d:通过OSPF内部网关协议,为了到达1c,必须通过本地接口1

BGP路径选择

路由器可能获得一个网络前缀的多个路径,路由器必须进行路径的选择,路由选择可以基于:

  1. 本地偏好值属性:偏好策略决定
  2. 最短AS-PATH:AS的跳数
  3. 最近的NEXT-HOP路由器:热土豆路由
  4. 附加的判据:使用BGP标识

一个前缀对应着多种路径,采用消除规则直到留下一条路径

热土豆路由

在这里插入图片描述

2d通过iBGP获知,它可以通过2a或者2c到达X
热土豆策略:选择具备最小内部区域的代价的网关作为往X的出口(如:2d选择2a,即使X可能有比较多的AS跳数),不要操心域间的代价

为什么内部网关协议和外部网关协议如此不同

策略

  • Inter-AS:管理员需要控制通信路径,谁在使用它的网络进行数据传输
  • Intra-AS:一个管理者,所以无需策略
    • AS内部的各子网的主机尽可能的利用资源进行快速路由

规模

  • AS间路由必须考虑规模问题,以便支持全网的数据转发
  • AS内部路由规模不是一个大的问题
    • 如果AS太大,可将AS分成小的AS:规模可控
    • AS之间只不过多了一个点而已
    • 或者AS内部路由支持层次性,层次性路由节约了表空间降低了更新的数据流量

性能

  • Inter-AS:策略可能比性能更重要
  • Intra-AS:关注性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1552483.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE初阶Day 4:多线程(2)

目录 Day4:多线程(2)1. catch语句2. sleep的处理3. Thread3.1 Thread构造方法3.2 Thread的属性3.2.1 ID3.2.2 优先级3.2.3 后台线程3.2.4 存活3.2.5 start3.2.6 中断3.2.6.1 控制线程结束代码3.2.6.2 interrupt和isInterrupted Day4&#xff…

学习笔记——微信小程序读取当前时间

<view class"box"><text>日期:</text><view class"date">{{obtaindate}}</view></view> wxml中定义了一个文本元素&#xff0c;通过{{obtaindate}}获取js页面传递的日期数据 data:{obtaindate:"" }, onlo…

公链角逐中突围,Solana 何以成为 Web3 世界的流量焦点?

在众多区块链公链中&#xff0c;Solana 凭借其创纪录的处理速度和极低的交易费用&#xff0c;成为了众多开发者和投资者的宠儿。就像网络上流行的那句话所说&#xff1a;“Why slow, when you can Solana?”&#xff0c;Solana 正以它的速度和强大的生态系统&#xff0c;重新定…

nacos的各种类型的配置文件 yml 、json、 Properties、 text 等文件类型 发生变化怎么热更新,实现实时监听nacos配置文件变化

本文用的是 Nacos作为配置中心注册监听器方法 实现热更新 nacos 配置文件 从而不用重启项目 依赖、工具类 这边就不写了 因为项目用的是 Json 类型的配置文件 所以下文 主要是对json文件进行实现 别的文件大同小异 先说扯淡的东西 在nacos 的配置文件中 dataId 这两种声明 是…

Postman传对象失败解决

文章目录 情景复现解决方案总结 情景复现 postman中调用 debug发现pId传入失败 分析解释&#xff1a; 实体类中存在pId、uid和num字段 controller层将GoodsCar作为请求体传入 解决方案 当时觉得很奇怪&#xff0c;因为uid和num可以被接收&#xff0c;而pId和num的数据类型相…

图腾柱PFC:HP1010为您的电动两轮车之旅提供绿色,高效,安全的动力

电动两轮车不仅为当今生活提供了便利&#xff0c;更是一种健康和绿色的出行方式。想象一下&#xff0c;在经过一整晚的充分休息&#xff0c;骑上爱车&#xff0c;满血复活的准备开始新的一天。您会愿意带着如何给心爱的两轮车充电的担心开始这一天吗&#xff1f; 随着越来越…

HackTheBox-Machines--Legacy

文章目录 1 端口扫描2 测试思路3 445端口漏洞测试4 flag Legacy 测试过程 1 端口扫描 nmap -sC -sV 10.129.227.1812 测试思路 目标开启了135、139、445端口&#xff0c;445 SMB服务存在很多可利用漏洞&#xff0c;所以测试点先从445端口开始。而且在Nmap扫描结果中&#xff0c…

Unity 窗口化设置

在Unity中要实现窗口化&#xff0c;具体设置如下&#xff1a; 在编辑器中&#xff0c;选择File -> Build Settings。在Player Settings中&#xff0c;找到Resolution and Presentation部分。取消勾选"Fullscreen Mode"&#xff0c;并选择"Windowed"。设…

Unity2018发布安卓报错 Exception: Gradle install not valid

Unity2018发布安卓报错 Exception: Gradle install not valid Exception: Gradle install not valid UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1[T] progress) (at <c67d1645d7ce4b76823a39080b82c1d1>:0) …

通用指南-营销和设计中的增强现实(AR)

原文作者&#xff1a;Superside 翻译&#xff1a;数字化营销工兵 --- 经典万字长文&#xff0c;权威解读&#xff0c;分享经典&#xff0c;预计阅读完需要30分钟&#xff0c;建议收藏&#xff01; 目录 一、引言 为什么要尝试AR AR到底是什么&#xff1f;营销人员和创意人…

网络工程师实验命令(华为数通HCIA)

VRP系统的基本操作 dis version #查看设备版本信息 sys #进入系统视图 system-name R1 #改设备名字为R1进入接口配置IP地址 int g0/0/0 ip address 192.168.1.1 255.255.255.0 #配置接口地址为192.168.1.1/255.255.255.0 ip address 192.168.1.2 24 sub #此…

Intellij IDEA安装配置Spark与运行

目录 Scala配置教程 配置Spark运行环境 编写Spark程序 1、包和导入 2、定义对象 3、主函数 4、创建Spark配置和上下文 5、定义输入文件路径 6、单词计数逻辑 7、输出结果 8、完整代码&#xff1a; Scala配置教程 IDEA配置Scala&#xff1a;教程 配置Spark运行环境 …

持续集成流程主要系统构成介绍(CI)

目录 一、概述 二、版本控制系统 2.1 概述 2.2 版本控制系统使用流程示意图 2.3 版本控制软件划分 2.3.1 集中式版本控制软件 2.3.2 分布式版本控制软件 2.3.3 总结 2.4 常用版本控制软件介绍 三、编译构建系统 3.1 概述 3.2 编译构建流程示意图 3.3 列举Java 源码…

uniApp使用XR-Frame创建3D场景(5)材质贴图的运用

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这篇我们讲解在xr-frame中如何给几何体赋予贴图材质。 先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"><xr-node><xr-assets><xr-asse…

向量法求点在直线上的投影

已知直线上两点a、b和直线外一点p&#xff0c;求p在直线ab上的投影点。 根据《计算几何之 点在直线上的投影 代码模板与证明》一文中所述&#xff0c;p的投影点p’就是a x ⃗ \vec x x &#xff08;直线的点向式&#xff09;&#xff0c;所以我们只要求出 x ⃗ \vec x x 就能…

基于单片机的二维码LCD显示控制设计

**单片机设计介绍&#xff0c;基于单片机的二维码LCD显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的二维码LCD显示控制设计是一个集硬件、软件与通信于一体的综合性项目。此设计的主要目标是实现单片机…

AI新工具 又一个开源大模型DBRX击败GPT3.5;根据音频和图像输入生成会说话、唱歌的动态视频

✨ 1: AniPortrait 腾讯开源&#xff1a;根据音频和图像输入生成会说话、唱歌的动态视频 AniPortrait 是个先进的框架&#xff0c;专门用来生成高质量的、由音频和参考肖像图片驱动的动画。如果你有视频&#xff0c;也可以用来实现面部的再现&#xff08;Face reenactment&am…

Windows 最佳文件管理器:快速、简单、直观、自由 | 开源日报 No.175

files-community/Files Stars: 30.6k License: MIT Files 是为 Windows 构建的最佳文件管理器应用程序。该项目解决了在 Windows 上进行文件管理时的困难。 它具有以下主要功能和优势&#xff1a; 采用直观设计&#xff0c;使浏览文件变得更加简单支持标签、预览和自定义背景…

面试算法-121-完全二叉树的节点个数

题目 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置…

多源统一视频融合可视指挥调度平台VMS/smarteye系统概述

系统功能 1. 集成了视频监控典型的常用功能&#xff0c;包括录像&#xff08;本地录像、云端录像&#xff08;录像计划、下载计划-无线导出&#xff09;、远程检索回放&#xff09;、实时预览&#xff08;PTZ云台操控、轮播、多屏操控等&#xff09;、地图-轨迹回放、语音对讲…