计算机网络 --- 网络层路由算法与路由协议

路由表:

最佳路由:

“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。

路由算法的分类

  • 静态路由算法(非自适应路由算法) 管理员手工配置路由信息。简便,可靠,在负荷稳定,拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。但是路由更新慢,不适用大型网络。
  • 动态路由算法(自适应路由算法) 路由器间彼此交换信息,按照路由算法优化出路由表项。路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。但是算法复杂,增加网络负担。通常被使用。

动态路由算法分类

  • 全局性 链路状态路由算法 OSPF  所有路由器掌握完整的网络拓扑和链路费用信息。
  • 分散性 距离向量路由算法 RIP  路由器只掌握物理相连的邻居及链路费用。

分层次的路由选择协议

  • 因特网规模很大
  • 很多单位不想让外界知道自己的路由选择协议,但还想连入因特网

自治系统AS:

在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

路由选择协议

  • 内部网关协议IGP      一个AS内使用的    RIP,OSPF
  • 外部网关协议EGP    AS之间使用的    BGP-4

内部网关协议 --- RIP

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

RIP协议要求网络中的每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离,如下图)。

距离:

通常指“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一个路由器到直接相连的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达(RIP协议只适用于小互联网)。

信息交换:

  • 仅和相邻路由器交换信息
  • 路由器交换的信息是自己的路由表
  • 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表

路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也之和数目非常有限的相邻路由器交换并更新路由器。

经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。

距离向量算法

RIP报文,包含路由表的全部信息。相邻两个路由器交换路由表信息是通过RIP报文传递的。

以下是距离向量算法的过程:

1. 修改相邻路由器发来的RIP报文中所有表项:对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段 + 1.

2. 对修改后的RIP报文中的每一个项目,进行以下步骤:

2.1 如果路由表中没有RIP报文中的网络,则直接把该项目填入路由表

2.2 如果路由表中有RIP报文中的网络,则查看下一跳路由器地址:

2.2.1 如果下一跳就是发来RIP报文的路由器,则用收到的项目替换源路由表中的项目

2.2.2 如果下一跳不是发来RIP报文的路由器,原来距离比最新距离远则更新,否则不作处理

3. 若180s还没有收到相邻路由器的更新路由表,则把该路由器记为不可达的路由器,则把距离设置为16

4. 返回

RIP协议的报文

格式:

特点:

当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器,“慢收敛”

内部网关协议 --- OSPF

开放最短路径优先OSPF协议:“开放”标明OSPF协议不受某一家厂商控制,而是公开发表的:“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。

OSPF最主要的特征就是使用分布式的链路状态协议。

OSPF的特点:

  • 使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。最终整个区域内所有路由器都得到了这个信息的一个副本。
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价 --- 费用,距离,时延,带宽等)。
  • 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。

最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。

链路状态路由算法

  1. 每个路由器发现它的邻居结点HELLO问候分组,并了解邻居结点的网络地址。
  2. 设置到它的每个邻居的成本度量metric
  3. 构造DD数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
  4. 如果DD分组中的摘要自己都有,则邻站不作处理;如果有没有的或者是更新的,则发送LSR链路状态请求分组,请求自己没有的和比自己更新的信息。
  5. 收到邻站的LSR分组后,发送LSU链路状态更新分组进行更新。
  6. 更新完毕后,邻站返回一个LSAck链路状态确认分组进行确认。

只要一个路由器的链路状态发生变化:

  1. 泛洪发送LSU链路状态更新分组进行更新。
  2. 更新完毕后,其他站返回一个LSAck链路状态确认分组进行确认。
  3. 使用Dijkstra根据自己的链路状态数据库构造到其他结点间的最短路径。

OSPF的区域

为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个32位的区域标识符(用点分十进制表示)。

区域也不能太大,在一个区域内的路由器最好不超过200个。

OSPF分组

与RIP分组不同(RIP使用UDP发送),OSPF分组用IP数据报传送。

OSPF协议其他特点

  • 每个30min,要刷新一次数据库中的链路状态。
  • 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好很多。
  • OSPF不存在坏消息传的慢的问题(对比RIP),它的收敛速度很快。

外部网关协议 --- BGP

与其它AS的邻站BGP发言人交换信息。

交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS。

发生变化时更新有变化的部分。

BGP协议交换信息的过程

BGP所交换的网络可达性的信息就是要到达某个网络索要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。

BGP协议报文格式

一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。

BGP协议特点

  • BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀,下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
  • 在BGP刚刚运行时,BGP的邻站时交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。

BGP-4的四种报文

  • OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方。
  • UPDATE(更新)报文:通告新路径或撤销源路径。
  • KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性,也作为OPEN的确认。
  • NOTIFICATION(通知)报文:报告先前报文的差错,也被用于关闭连接。

内部网关协议RIP,OSPF与外部网关协议BGP对比

RIP是一种分布式的基于距离向量的内部网关路由协议,通过广播UDP报文来交换路由信息。

OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不适用传输层协议(如UDP或TCP),而是直接采用IP。

BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

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

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

相关文章

cplex安装_Excel软件规划求解工具的安装与功能介绍

引言规划求解工具是Excel软件中自带的一个功能非常强大的加载项/工具。它能够完成包括线性规划、整数线性规划等一般规模的数学优化问题的问题求解。更重要的是,无论是在Windows操作系统下,还是苹果电脑Mac平台下,这个工具都是免费的。下面就…

计算机网络 --- 网络层IP数据报

IP数据报格式 首部 版本:IPv4/IPv6首部长度:单位是4B,最小为5。也就是说如果首部长度的四个bit的出来的数是8,那么首部长度就是8 * 4B 32B也就是32字节区分服务:指示期望获得哪种类型的服务总长度:首部数据…

线程管理(学习)

线程管理 在日常生活中,我们要完成一个大任务,一般会将它分解成多个简单、容易解决的小问题,小问题逐个被解决,大问题也就随之解决了。 在多线程操作系统中,也同样需要开发人员把一个复杂的应用分解成多个小的、可调…

imread函数_MATLAB图像处理:27:使用imtranslate函数平移图像

本示例说明如何使用imtranslate函数对图像执行平移操作。平移操作将图像在x或y方向或两者上移动指定数量的像素。将图像读入工作区。I imread(cameraman.tif);显示图像。图像的大小为256 x 256像素。默认情况下,imshow显示图像的左上角坐标为(0,0&#…

计算机网络 --- 网络层IP地址

全世界唯一的32位/4字节标识符&#xff0c;标识路由器主机的接口。 IP地址&#xff1a;&#xff1a; {<网络号><主机号>} IP编址的历史阶段 分类的IP地址子网的划分构成超网&#xff08;无分类编址方法&#xff09; 分类的IP地址 特殊IP地址 私有IP地址 网络地址…

3测试图片显示置信度_云上的移动性能测试平台

1. 功能决定现在&#xff0c;性能决定未来性能测试在移动测试领域一直是一个大难题&#xff0c;它最直观的表现是用户在前台使用 App 时的主观体验&#xff0c;然而决定体验优劣的背后&#xff0c;涉及到了许许多多的技术变迁。当我们习惯于诺基亚时&#xff0c;智能机出现了&a…

计算机网络 --- 网络层重要协议

动态IP分配协议 --- DHCP协议 主机如何获得IP地址&#xff1a; 静态配置 包括IP地址&#xff0c;子网掩码&#xff0c;默认网关 动态配置 由DHCP服务器来分配 DHCP协议&#xff1a; 动态主机配置协议DHCP是应用层协议&#xff0c;使用客户、服务器方式&#xff0c;客户端和…

java 并发_Java并发防范机制

1.背景并发程序开发不可避免地要涉及多线程、多线程协作、数据共享和线程安全等问题。在多线程并发场景下&#xff0c;由于采用数据共享的线程通信模型可能导致多个线程之间并发时相互干扰&#xff0c;影响到程序的正常逻辑、无法保证正常的结果。为了保证程序在并发环境的正确…

水晶底是什么材质_都是红酒杯,水晶的和玻璃的有什么区别?

除了看酒杯的形状外&#xff0c;材质也是我们选酒杯不可忽视的一环。酒杯材质可简单分为玻璃酒杯和水晶酒杯。那么&#xff0c;水晶酒杯和玻璃酒杯到底有何不同&#xff1f;普通玻璃杯二氧化硅是主要成分&#xff0c;价格低廉&#xff0c;容易清洗普通玻璃酒杯材质较厚&#xf…

计算机网络 --- 网络层

主要任务是把分组从源端传到目的端&#xff0c;为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。&#xff08;分组是把数据报进行切割形成&#xff09; 网络层主要功能 路由选择与分组转发异构网络互联拥塞控制 如果所有结点都来不及接收分组&#xff0…

mac 串口调试工具_MACamp;串口调试

上一篇文章讲了Mac下进行stm32开发wlzz&#xff1a;Mac下stm32开发(clion)​zhuanlan.zhihu.com不可避免的遇到了串口调试的问题,发现mac下进行串口调试还真的不太容易。下了不少网上的软件,发现都不是特别好用,有很多已经不支持现在的macos系统版本了。于是在CLion下搜索了一下…

golang atomic load 性能_设计模式之Golang单例模式

今天给大家讲下什么是单例模式&#xff0c;以及在Go语言中如何用正确的姿势实现它。其实单例模式是一种在平时开发中经常用到的软件设计模式。在设计模式结构中&#xff0c;其核心是只包含一个被称为单例的特殊类。通过单例模式可以确保系统中一个类只有一个实例&#xff0c;且…

计算机网络 --- 传输层

传输层概述 传输层是只有主机才有的层次&#xff08;路由器没有&#xff09;&#xff0c;为应用层提供通信服务&#xff0c;使用网络层的服务 传输层的功能 传输层提供进程与进程之间的逻辑通信&#xff08;网络层提供主机之间的逻辑通信&#xff09;。复用和分用传输层对收…

手机相机里面的m_荣耀V30 PRO详细评测:Matrix Camera相机矩阵开启5G视频时代

【IT168 评测】随着手机摄像头的配置越来越高&#xff0c;手机上已经能实现不俗的拍照效果&#xff0c;甚至超越了数码相机(DC)成为了人们最常用的拍照工具。进入今年的下半年&#xff0c;随着5G的商用&#xff0c;手机厂商对于手机的摄像头功能优化已经不局限于拍照&#xff0…

计算机网络 --- 传输层UDP协议

UDP只在IP数据报服务之上增加了很少功能&#xff0c;即复用分用和差错检测功能。 UDP的主要特点 UDP是无连接的&#xff0c;减少开销和发送数据之前的时延。UDP使用最大努力交付&#xff0c;即不保证可靠交付。UDP是面向报文的&#xff0c;适合一次性传输少量数据的网络应用。…

怎么调整字段长短_【芝士蛋糕怎么总烤不熟呢?】

烘焙群一位同学发来图片问&#xff0c;不是说看蛋糕有没有烤熟&#xff0c;要用牙签检测吗&#xff1f;可我这个芝士蛋糕&#xff0c;怎么扎都会带出面糊&#xff0c;烤不熟怎么办&#xff1f;看到这个被扎成刺猬的舒芙蕾芝士&#xff0c;原谅Windy 不厚道的笑了。也是Windy 疏…

计算机网络 --- 传输层TCP协议

TCP协议的特点 TCP是面向连接&#xff08;虚连接&#xff09;的传输层协议。每一条TCP连接只能有两个端点&#xff0c;每一条TCP连接只能是点对点的。TCP提供可靠交付的服务&#xff0c;无差错、不丢失、不重复、按序到达。可靠有序&#xff0c;不丢不重。TCP提供全双工通信。…

java 委托_java 能不能自己写一个类叫 java.lang.System/String 正确答案

来自&#xff1a;一汪清水 | 责编&#xff1a;乐乐链接&#xff1a;blog.csdn.net/tang9140/article/details/42738433正文 最近学习了下java类加载相关的知识。然后看到网上有一道面试题是能不能自己写个类叫java.lang.System&#xff1f;网上提供的答案&#xff1a;通常不可…

中奖人js滚动效果_js使用transition效果实现无缝滚动

作者&#xff1a;李大雷出自&#xff1a;SegmentFault 思否原文&#xff1a;segmentfault.com/a/1190000023945464前言无缝轮播一直是面试的热门题目&#xff0c;而大部分答案都是复制第一张到最后。诚然&#xff0c;这种方法是非常标准&#xff0c;那么有没有另类一点的方法呢…