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

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.mzph.cn/news/777806.shtml

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

相关文章

flutter 修改app名字和图标

一、修改名字 在Android中修改应用程序名称&#xff1a; 在AndroidManifest.xml文件中修改应用程序名称&#xff1a; 打开Flutter项目中的android/app/src/main/AndroidManifest.xml文件。找到<application>标签&#xff0c;然后在android:label属性中修改应用程序的名称…

安卓Activity上滑关闭效果实现

最近在做一个屏保功能&#xff0c;需要支持如图的上滑关闭功能。 因为屏保是可以左右滑动切换的&#xff0c;内部是一个viewpager 做这个效果的时候&#xff0c;关键就是要注意外层拦截触摸事件时&#xff0c;需要有条件的拦截&#xff0c;不能影响到内部viewpager的滑动处理…

爬取豆瓣电影分类排行榜中的电影详情数据

进入界面&#xff0c;右键打开检测&#xff0c;选择网络 然后网页滚动条拉倒最下面使其刷出新的数据&#xff0c;然后查看数据包 编写代码 import requests import jsonif __name__ __main__:get_url https://movie.douban.com/j/chart/top_listheaders {User-Agent:Mozil…

边缘计算与云计算总结

一. EdgeGallery 简介 MEC场景下的EdgeGallery是让资源边缘化&#xff0c;实时完成移动网络边缘的业务处理&#xff0c;MEC场景下的EdgeGallery让开发者能更便捷地使用 5G 网络能力&#xff0c;让5G能力在边缘触手可及。 EdgeGallery是由华为、信通院、中国移动、中国联通、…

语音模块摄像头模块阿里云结合,实现垃圾的智能识别

语音模块&摄像头模块&阿里云结合 文章目录 语音模块&摄像头模块&阿里云结合1、实现的功能2、配置2.1 软件环境2.2 硬件配置 3、程序介绍3.1 程序概况3.2 语言模块SDK配置介绍3.3 程序文件3.3.1 开启摄像头的程序3.3.2 云端识别函数( Py > C ) & 串口程序…

Spring Boot 防护 XSS + SQL 注入攻击

XSS跨站脚本攻击 ① XSS漏洞介绍 跨站脚本攻击XSS是指攻击者往Web页面里插入恶意Script代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的Script代码会被解析执行&#xff0c;从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击&#xff01; ② XSS…

【 MyBatis 】| 关于多表联查返回 List 集合只查到一条的 BUG

目录 一. &#x1f981; 写在前面二. &#x1f981; 探索过程2.1 开端 —— 开始写 bug2.2 发展 —— bug 完成2.3 高潮 —— bug探究2.4 结局 —— 效果展示 三. &#x1f981; 写在最后 一. &#x1f981; 写在前面 今天又是 BUG 气满满的一天&#xff0c;一个 xxxMapper.xm…

spark核心概念

DAG 所谓DAG就是有向无环图&#xff0c;其实就是个无环的流程&#xff0c;Spark的核心是根据RDD来实现的&#xff0c;Spark Scheduler!则为Spark核心实现的重要一环&#xff0c;其作用就是任务调度。Spark的任务调度就是如何组织任务去处理RDD中每个分区的数据&#xff0c;根据…

Day53:WEB攻防-XSS跨站SVGPDFFlashMXSSUXSS配合上传文件添加脚本

目录 MXSS UXSS&#xff1a;Universal Cross-Site Scripting HTML&SVG&PDF&SWF-XSS&上传&反编译(有几率碰到) SVG-XSS PDF-XSS Python生成XSS Flash-XSS 知识点&#xff1a; 1、XSS跨站-MXSS&UXSS 2、XSS跨站-SVG制作&配合上传 3、XSS跨站-…

Docker进阶:使用Docker部署Harbor私有镜像仓库

Docker进阶&#xff1a;使用Docker部署Harbor私有镜像仓库 1、安装Docker和Docker Compose1、安装Docker、Docker Compose2、验证Docker和Docker Compose是否成功安装3、先启动运行docker服务 2、下载并配置Harbor1、下载最新版本的Harbor离线安装包2、配置Harbor的主机名和管理…

京东云搭建幻兽帕鲁Palworld多人游戏联机服务器教程,1分钟开服

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程&#xff0c;非常简单&#xff0c;京东云推出幻兽帕鲁镜像系统&#xff0c;镜像直接选择幻兽帕鲁镜像即可一键自动部署&#xff0c;不需要手动操作&#xff0c;真正的新手0基础部署幻兽帕鲁&#xff0c;阿腾云atengyun.…

uni-app(使用阿里图标)

1.注册阿里矢量图标库 注册阿里图标库账号并登录&#xff0c;https://www.iconfont.cn/ 2.加入购物车 搜索适合自己的图标&#xff0c;加入购物车&#xff0c;如下图&#xff1a; 3.加入项目 我的->资源管理->我的项目->创建项目&#xff0c;然后返回购物车&#…

中国信通院 X StarRocks金融用户社区正式成立

在国家战略的推动下&#xff0c;开源技术正逐渐成为金融行业创新发展的重要驱动力。2024 年 3 月 26 日&#xff0c;中国信息通信研究院 X StarRocks 金融用户社区&#xff08;以下简称“社区”&#xff09;正式成立&#xff0c;这一举措旨在深化国内金融领域的开源生态建设&am…

粗略总结AI大模型学习需要了解的要点

目录 一、概念简介 二、兴起原因 三、相关要点 四、不足之处 五、总结 一、概念简介 AI大模型学习是指利用大规模数据集和强大计算能力进行深度学习模型的训练。随着数据的爆炸式增长和计算资源的提升&#xff0c;AI大模型学习成为了现代人工智能研究的重要方向。 二、兴起…

使用pytorch构建一个初级的无监督的GAN网络模型

在这个系列中将系统的构建GAN及其相关的一些变种模型&#xff0c;来了解GAN的基本原理。本片为此系列的第一篇&#xff0c;实现起来很简单&#xff0c;所以不要期待有很好的效果出来。 第一篇我们搭建一个无监督的可以生成数字 (0-9) 手写图像的 GAN&#xff0c;使用MINIST数据…

入门指南|营销中人工智能生成内容的主要类型 [新数据、示例和技巧]

由于人工智能技术的进步&#xff0c;内容生成不再是一项令人头疼的任务。随着人工智能越来越多地接管手动内容制作任务&#xff0c;营销人员明智的做法是了解现有的不同类型的人工智能生成内容&#xff0c;以及哪些内容从中受益最多。这些工具可以帮助我们制作对您的受众和品牌…

Synchronized锁、公平锁、悲观锁乐观锁、死锁等

悲观锁 认为自己在使用数据的时候一定会有别的线程来修改数据,所以在获取数据前会加锁,确保不会有别的线程来修改 如: Synchronized和Lock锁 适合写操作多的场景 乐观锁 适合读操作多的场景 总结: 线程8锁🔐 调用 声明 结果:先打印发送短信,后打印发送邮件 结论…

机器学习(三)

神经网络: 神经网络是由具有适应性的简单单元组成的广泛并行互连的网络&#xff0c;它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。 f为激活(响应)函数: 理想激活函数是阶跃函数&#xff0c;0表示抑制神经元而1表示激活神经元。 多层前馈网络结构: BP(误差逆…

OpenPLC_Editor 在Ubuntu 虚拟机安装记录

1. OpenPLC_Editor在虚拟机上费劲的装了一遍&#xff0c;有些东西已经忘了&#xff0c;主要还是python3 的缺失库版本对应问题&#xff0c;OpenPLC_Editor使用python3编译的&#xff0c;虚拟机的Ubuntu 18.4 有2.7和3.6两个版本&#xff0c;所以需要注意。 2. OpenPLC_Editor …

Svg Flow Editor 原生svg流程图编辑器(四)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;四&#xf…