四、网络层(二)路由算法与路由选择协议

news2025/1/16 5:54:26

目录

2.1 静态路由与动态路由

2.2 层次路由与自治系统

2.3 距离-向量路由算法之路由信息协议(RIP)

2.3.1  RIP的基本特点

2.3.2  距离向量算法

2.4 链路状态路由算法之开放最短路径优先(OSPF)协议

2.4.1  OSPF协议的基本特点

2.4.2  OSPF协议的五种分组类型

2.6 边界网关协议(BGP)

 2.7 三种路由协议的比较


2.1 静态路由与动态路由

路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。从能否随网络的通信量或拓扑自适应地进行调整变化来划分,路由算法可以分为两类:

静态路由算法(又称非自适应路由算法)指由网络管理员手工配置的路由信息。特点是简便和开销小,它不能及时适应网络状态的变化,对于简单的小型网络,可使用静态路由。

动态路由算法(自适应路由算法):指路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的寻路效果。

2.2 层次路由与自治系统

当网络规模扩大时,路由器的路由表成比例增大。这不仅会消耗更多的路由器缓冲区空间,而且扫描路由表和交换路由状态信息的代价也更大,因此互联网采用分层的路由选择协议

整个互联网被划分为许多较小的自治系统(自治系统内可包含多个局域网),每个自治系统自主地决定本系统内应采用何种路由选择协议如果两个自治系统需要通信,那么就需一种在两个自治系统之间的协议来屏蔽这些差异。因此把路由选择协议划分为两大类:

  • 内部网关协议(IGP):一个自治系统内部使用的路由选择协议。如RIP、OSPF协议。
  • 外部网关协议(EGP):自治系统之间所使用的路由选择协议。如BGP

使用层次路由时,OSPF协议将一个自治系统再划分为若干区域(area),每个路由器都知道本区域内如何把分组路由到目的地的细节,但不用知道其他区域的内部结构。

采用层次划分区域的方法虽然会使交换信息的种类增多,也会使OSPF更加复杂。但这样做却能使每个区域内部交换路由信息的通信量大大减少,因而使OSPF能够用于规模很大的自治系统中

自治系统(Autonomous System ,AS)是指单一技术管理下的一组路由器。这些路由器使用一种AS内部的路由选择协议和共同的度量来确定数据报在该AS内的路由,同时还使用一组AS之间的路由选择协议,以确定数据报在AS之间的路由。一个AS内的所有网络都由一个组织(如一个学校)来管辖,一个AS的所有路由器在本AS内都必须是连通的。 

2.3 距离-向量路由算法之路由信息协议(RIP)

2.3.1  RIP的基本特点

RIP是一种分布式的基于距离向量的路由选择协议,其最大的优点是简单。

规定

  • 网络中的每个路由器都要维护从它自身到其他每个目的网络的距离记录(故维护一组距离,称为距离向量→如(3,6,0,5,8,4)是C到总计6个结点的距离向量,其中0代表到自身。)
  • 距离也称跳数,规定从一个路由器到直接连接网络的跳数为1。每经过一个路由器跳数加1.
  • RIP优先选择跳数最少的路径
  • RIP最多允许15跳,出现16跳则认为网络不可达
  • RIP默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息(即动态路由选择)
  • 当到达同一网络有多条距离相等的路由时,可进行等价负载均衡。

特点

  • 仅和相邻的路由器交换信息。
  • 路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表。
  • 固定的时间间隔交换路由信息,默认为30秒。
  • 经过多次RIP广播后,所有路由器都知道了整个IP网络的路由表,称RIP此时是收敛的。

2.3.2  距离向量算法

 

其他补充

  • RIP默认超时时间为180秒,若180秒还未收到某相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即把距离设置为16。
  • 优点是实现简单、开销小、正常收敛过程较快。
  • 缺点是只适用于小型局域网,网络规模越大开销越大;
  • 网络出现故障时会出现慢收敛现象,即坏消息传得慢。改进方法有可在路由表发生故障时立即发送更新报文,而不仅是周期性发送。

无论使用何种改进方法后都不能完全避免路由环路(距离无穷计数)问题,如下图所示:

2.4 链路状态路由算法之开放最短路径优先(OSPF)协议

2.4.1  OSPF协议的基本特点

规定

  • 向本自治系统中的所有路由器发送信息,使用的是洪泛法。而非像RIP那样只发送给相邻路由器。洪泛法是一种简单的路由算法,将收到的封包,往所有的可能连结路径上递送,直到封包到达为止。
  • 发送的信息是与本路由器相邻的所有路由器的链路状态,而非像RIP那样发送本路由器知道的全部信息。
  • 只有当链路状态发送变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程很快,不会出现RIP的坏消息传递慢现象。
  • OSPF是网络层协议,直接使用IP数据报传送。RIP是应用层协议,在传输层使用UDP。

OSPF的基本工作原理

由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库LSDB,这个数据库实际上就是全网拓扑结构图,它在全网范围内是一致的(称为链路状态数据库的同步)。每个路由器就根据这个全网拓扑结构图,使用Dijkstra算法计算从自己到各目的网络的最优路径,构造出自己的路由表。之后,当链路状态发生变化时,每个路由器重新计算到各自的网络的最优路径,构造出新的路由表。

为了使OSPF能够用于规模很大的网络,将一个自治系统再划分为若干个更小的范围,称为区域。虽然分层次划分区域使OSPF更复杂,但划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每个区域而不是整个自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。这些区域也有层次之分,处于上层的区域称为主干区域,负责连通其他在下层的区域,并且还连接其他自治系统。

2.4.2  OSPF协议的五种分组类型

  • 问候分组,用来发现和维持邻站的可达性。 每10秒钟相邻路由器交换一次问候分组。
  • 数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
  • 链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。
  • 链路状态更新分组,用洪泛法对全网更新链路状态。规定每隔一段时间(如30分钟)就刷新一次数据库中的链路状态。
  • 链路状态确认分组,对链路更新分组的确认。

2.6 边界网关协议(BGP)

在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP发言人

不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179。

  • 在此TCP连接上交换BGP报文以建立BGP会话
  • 利用BGP会话交换路由信息(如,增加新的路由,或撤销过时的路由,以及报告出错的情况等)即到达某个网络所要经过的各个自治系统序列。
  • 使用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站或对等站。BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP,如OSPF或RIP。
  • BGP的路由选择过程使用路径向量协议。

BGP-4有以下四种报文:

  1. 打开(open)报文:用来与相邻的另一个BGP发言人建立关系,使通信初始化。
  2. 更新(update)报文:用来通告某一路由的信息,以及列出要撤销的多余路由。
  3. 保活(Keepalive)报文:用来确认打开报文并周期性地证实邻站的连通性。
  4. 通知(notification)报文:用来发送检测到的差错。 

 BGP-4报文被封装在TCP报文段中进行传输。

 2.7 三种路由协议的比较

 

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

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

相关文章

DELL Precison 7670 不能加载系统固态硬盘

xiaokcehui: 电脑无法开机 戴尔技术支持: 诸葛小戴检测到您这是台笔记本电脑,小戴会带着您做4个操作尝试帮您解决问题: 戴尔技术支持: [1/4] 请您参考小戴发给您的图片做一下重置RTC的操作 ✅RTC是集成电路,通常称为时钟芯片,如…

React基础知识(事件处理、受控组件与非受控组件、高阶函数、组件的生命周期)(三)

系列文章目录 第一章:React基础知识(React基本使用、JSX语法、React模块化与组件化)(一) 第二章:React基础知识(组件实例三大核心属性state、props、refs)(二&#xff0…

使用 Pygame Zero 构建一个捕捉游戏(详细步骤含源码)

Pygame zero 是一个用于教育的工具,适合任何开始学习使用 Python 创建游戏的人。那么让我们从制作一个小的捕捉游戏开始吧:) 您可以使用 pip 安装 pygame 零,如图所示 pip install pgzero你好 Pygamezero! 要开始使用 pygamezero,请将以下代码复制到文件catching_game.py…

Word处理控件Aspose.Words功能演示:在 Java 中将 DOC 或 DOCX 转换为 JPG

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外, Aspose API支持流行文件格式处…

GEO芯片数据基本分析

GEO数据挖掘,表达芯片分析 举例:王同学近期拟通过生物信息学相关软件与数据库来探讨女性非抽烟者的非小细胞肺癌预后相关的显著性基因及潜在的治疗靶点,他在NCBI上查询到了1套芯片数据GSE19804。请帮助他完成该项目的设计与分析。 一、一般…

基于Redis实现登录

1.发送短信验证码 Overridepublic Result sendCode(String phone, HttpSession session) {//校验手机号if(RegexUtils.isPhoneInvalid(phone)){//如果不符合,返回错误信息。return Result.fail("手机号格式错误!");}//生成验证码String code …

Codeforces Round #699 (Div. 2) C. Fence Painting

翻译: You finally woke up after this crazy dream and decided to walk around to clear your head. Outside you saw your houses fence — so plain and boring, that youd like to repaint it. You have a fence consisting of 𝑛n planks, where …

网络实验之VTP协议

一、VTP协议简介 VLAN中继协议,VTP,VLAN TRUNKING PROTOCOL,是CISCO专用协议,大多数交换机都支持该协议。VTP负责在VTP域内同步VLAN信息,这样就不必在每个交换上配置相同的VLAN信息。如协议名称,VTP协议需要…

“世界上最鸽派”的央行转鹰,透露了什么信号?

​当地时间周二,日本中央银行结束货币政策会议后宣布,部分调整当前超宽松货币政策,将长期利率波动幅度由正负0.25%扩展至正负0.5%。这一“黑天鹅”令全球投资者感到大为震惊。长期以来,投资者将日本央行看作是最后一家尚未放弃其长…

【Linux】---文件基础I/O(上)

文章目录回顾C语言文件操作接口文件相关的系统调用接口打开和关闭文件文件的打开方式文件描述符文件描述符的分配规则write、read重定向dup2mysell回顾C语言文件操作接口 在C语言中对于文件的操作有着几个常用的接口可以调用 fopen//打开文件 fclose//关闭文件 fprintf//输出…

L1-070 吃火锅(分数 15)

以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。 本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。 输入格式&#x…

即时通讯音视频开发数字视频介绍

数字视频就是先用摄像机之类的视频捕捉设备,将外界影像的颜色和亮度信息转变为电信号,再记录到储存介质(如录像带)。 图像: 是人对视觉感知的物质再现。三维自然场景的对象包括:深度,纹理和亮度…

InnoDB详解2

文章目录InnoDB详解21 行格式1 Compact行格式详解1 变长字段长度列表(两个字节)2 NULL值列表(1个字节)3 记录头信息 (重点)2 Dynamic行格式2 页的上层结构InnoDB详解2 1 行格式 规定每条记录是怎么存储的…

汽车租赁服务小程序开发, 新时代下的行业商机

随着我国经济水平的提升,群众生活水平不断改善,人们的出行方式也发生了非常大的变化,不再依赖传统的出行方式,而是将目光转移到汽车上,作为当下便捷的出行方式之一,在面对远程旅游时却显得有些吃力&#xf…

React扩展:fragment、Context

目录 1.fragment fragment标签能包裹其它标签&#xff0c;但最后不会渲染到DOM树上。 import React, { Component, Fragment } from reactexport default class Demo extends Component {render() {return (<Fragment><input type"text" /><input …

Stealth-Persist混合内存系统中持久应用程序的体系结构支持

文章目录crash-consistent applications 崩溃一致性程序摘要一、引言二、背景A.新兴的非易失性存储器B.混合主存储器(HMM)C.页面缓存策略D. 目前的工业HMM系统E. 持久性内存编程模式F.动机三、设计A.设计要求B.设计选项C.Stealth-PersistD.概述E. Stealth-Persist NVM库的比较四…

如何用DWDM射频光纤技术实现200公里外的站点分集

本文概述了大型卫星和数据通信服务提供商如何通过使用DWDM射频光纤解决方案为Ka波段卫星数据传输实施经济高效的位置分集天线安装。 什么是DWDM技术? DWDM是Dense Wavelength Division Multiplexing的缩写&#xff0c;即密集波分复用技术&#xff0c;指的是一种光纤数据传输技…

pytest-需要模块相应的库

1. pytest-需要模块相应的库 文章地址&#xff1a;http://www.pythonck.com/archives/docs/1-2/13-2/13002-2 http://www.pythonck.com/archives/docs/1-2/13-2/13002-2 pytest-断言、跳过及运行 三元表达式&#xff1a;三元表达式又称三目运算符。在python中并没有三元表达式…

数商云SRM供应商系统打造家居建材企业完整电商数据生态平台

随着5G、物联网、大数据、人工智能、云计算等技术的快速发展&#xff0c;全球科技不断突破创新&#xff0c;推动了整个社会的智能化发展&#xff0c;同时&#xff0c;也带动了包含家居业在内的制造行业的技术创新、产品更迭以及更加精细化的经营管理。 数字经济时代&#xff0…

代替塞规的高精度孔径测量方法——泊肃叶压差法

摘要&#xff1a;针对现有压力衰减法孔径测量中存在的基本概念不清和实施方法不明确等问题&#xff0c;本文详细介绍了压力衰减法的孔径测量基本原理&#xff0c;并重点介绍压差法测量中的高精度压力控制方法&#xff0c;为各种微小孔径和等效孔径的准确测量提供切实可行的解决…