常见的路由协议之RIP协议与OSPF协议

目录

RIP

OSPF

洪泛和广播的区别


 

        路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息,以便找到从源到目标的最佳路径。

常见的路由协议:

  1. RIP (Routing Information Protocol):RIP 是一种基于距离向量算法的内部网关协议。它使用跳数作为度量标准,最多允许15跳。RIP 的两个版本是 RIPv1(不支持子网划分和CIDR)和 RIPv2(支持子网划分和CIDR)。

  2. OSPF (Open Shortest Path First):OSPF 是一种基于链路状态算法的内部网关协议。它使用代价作为度量标准,并根据带宽计算代价。OSPF 支持子网划分、CIDR、VLSM(可变长度子网掩码)以及在大型网络中进行分区。

  3. EIGRP (Enhanced Interior Gateway Routing Protocol):EIGRP 是一种基于距离向量和链路状态算法的混合内部网关协议。它使用带宽和延迟作为度量标准,并支持子网划分、CIDR、VLSM 和快速收敛。

  4. BGP (Border Gateway Protocol):BGP 是一种基于路径向量算法的外部网关协议。它用于在自治系统(AS)之间交换路由信息。BGP 使用 AS 路径长度、MED(多路径退出选择器)等属性作为度量标准。BGP 的两个版本是 BGP-4(支持CIDR 和路由聚合)和 BGP-4+(支持IPv6)。

  5. IS-IS (Intermediate System to Intermediate System):IS-IS 是一种基于链路状态算法的内部网关协议,主要用于大型网络。它使用代价作为度量标准,并支持子网划分、CIDR、VLSM 和分区。

本篇主要讲析一下RIP和OSPF路由协议。

两者都是内部网关路由协议,用于在同一个自治系统(AS)内的路由器之间交换路由信息。


RIP

  1. 基于距离向量算法。
  2. 使用跳数作为度量标准,最大跳数为15
  3. 定时广播更新路由表,每30秒一次。
  4. 支持RIPv1(不支持子网划分、CIDR)和RIPv2(支持子网划分、CIDR)。


    配置(Cisco路由器)
router ripversion 2network 192.168.1.0network 192.168.2.0no auto-summary

OSPF

  1. 基于链路状态算法。
  2. 使用代价作为度量标准,根据带宽计算。
  3. 支持子网划分、CIDR、VLSM和分区。
  4. 使用洪泛方式发送链路状态通告(LSA),而非定时广播。

配置(Cisco路由器)

router ospf 1network 192.168.1.0 0.0.0.255 area 0network 192.168.2.0 0.0.0.255 area 0

        洪泛方式传播,确保所有路由器都接收到最新的链路状态信息。会构建一个链路状态数据库,然后使用Dijkstra算法计算到达其他网络的最短路径。


 

洪泛和广播的区别

(1)概念上:
洪泛:当一个节点(如路由器)接收到一条新的信息,发送到所有与其相邻的节点,而不管这些节点是否需要这个信息。这个过程会一直持续下去,直到信息传播到整个网络中的所有节点。

广播:广播是一种一对多的通信方式,源节点会将信息发送给网络中的所有节点。广播通常在数据链路层或网络层进行。

(2)范围限制

  • 洪泛:可以通过设置生存时间(TTL)或其他机制来限制信息的传播范围。
  • 广播:常受到子网或广播域的限制。

(3)传播效率上,洪泛可能会导致网络中的冗余信息传播但能实时了解网络中其他路由器的状态,广播在某些情况下可能更有效,因为信息只发送给网络中的所有节点一次

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

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

相关文章

Mac os 上的apt-get install 就是brew install

Mac os 上面不支持apt-get install ,但是有个 brew install可以代替。 Homebrew是Mac OS的包管理器,可以方便地安装各种需要的软件。 1.1 安装Homebrew 如果没有安装Homebrew,需要在终端输入以下命令进行安装: /usr/bin/ruby -e "$(…

使用wxPython和PyMuPDF在Python中显示PDF目录的实现

展示如何使用wxPython和PyMuPDF库在Python中选择PDF文件并将目录显示在列表框中。 简介: 在本篇教程中,我们将学习如何使用wxPython和PyMuPDF库在Python中选择PDF文件,并将其目录显示在一个列表框中。这将使用户能够方便地浏览PDF文档的目录…

c#实现设配器模式

下面是一个使用C#实现适配器模式的示例代码: using System;// 目标接口 public interface ITarget {void Request(); }// 目标类 public class Target : ITarget {public void Request(){Console.WriteLine("目标类的请求");} }// 需要适配的类 public c…

Golang 局部变量、全局变量 声明

文章目录 一、局部变量二、全局变量 一、局部变量 四种声明方式 多变量声明: package mainimport "fmt"//局部变量声明 func main() {//方法一: 声明一个变量和数据类型,不初始化值;默认值为0;var lvA intfmt.Printl…

【MybatisPlus】LambdaQueryWrapper和QueryWapper的区别

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

可视化应用:提升教育领域的学习与理解

在教育领域,可视化应用作为一种强大的工具,已经开始发挥着重要的作用。通过将抽象的概念和复杂的数据转化为直观的图形和图表,可视化应用能够提升学生的学习效果和理解能力。本文将探讨可视化应用在教育领域中的重要性,以及它在不…

电路基础之电容

电容器(Capacitor)是由两个导体电极之间夹着一个电介质而组成的元件。这两个电极可以是金属板、箔片、涂层等,而电介质则是放置在电极之间的绝缘材料。电容器的基本构成包括以下几个要素: 电极:电容器的电极是两个导体…

Ubuntu系统kubeadm安装K8S_v1.25.x容器使用docker(K8S_v1.24版本以后依然使用docker容器管理)

安装所需要的全部文档请点击这里下载 系统是: rootk8s-master:~# cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE22.04 DISTRIB_CODENAMEjammy DISTRIB_DESCRIPTION“Ubuntu 22.04.3 LTS” rootk8s-master:~# uname -a Linux k8s-master 5.15.0-76-generi…

js合并数组对象(将数组中具有相同属性对象合并到一起,组成一个新的数组)

一、根据数组对象中某一key值,合并相同key值的字段,到同一个数组对象中,组成新的数组 1.原数组: var array [{ id: 1, name: Alice },{ id: 2, name: Bob },{ id: 1, age: 25 },{ id: 3, name: Charlie, age: 30 } ];2.合并后数…

C++隐式调用和explicit关键字

隐式类型转换 #include <iostream> using namespace std;class Point { public:int x, y;Point(int x 0, int y 0): x(x), y(y) {} };void displayPoint(const Point& p) {cout << "(" << p.x << "," << p.y <&l…

接口测试实战,Jmeter正则提取响应数据-详细整理,一篇打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 在测试时&#xf…

服务器安装JDK

三种方法 方法一&#xff1a; 方法二&#xff1a; 首先登录到Oracle官网下载JDK JDK上传到服务器中&#xff0c;记住文件上传的位置是在哪里&#xff08;我放的位置在/www/java&#xff09;&#xff0c;然后看下面指示进行安装 方法三&#xff1a; 首先登录到Oracle官网下载…

Skywalking-9.6.0系列之本地源码编译并启动

Skywalking相信有很多人使用过&#xff0c;通过容器或者下载安装包进行安装的&#xff0c;今天从源代码角度&#xff0c;拉取、构建、启动。 官方文档步骤简洁明了&#xff0c;我这边会结合自己遇到的一些问题做出总结。 当前构建资源版本&#xff1a; MAC 10.15.7IDEA 2021.…

基于STM32CUBEMX驱动TMOS模块STHS34PF80(1)----获取ID

基于STM32CUBEMX驱动TMOS模块STHS34PF80----1.获取ID 概述样品申请视频教程所有功能接口最小系统图生成STM32CUBEMX串口配置IIC配置IO口设置串口重定向 模块地址参考demoIIC写函数IIC读函数参考程序初始化获取ID主函数 概述 STHS34PF80 是一款非冷却、工厂校准的红外运动和存在…

端口输入的数据为什么要打拍?

一次作者在开发图像时候&#xff0c;对输入的图像没有打拍&#xff0c;直接输出给显示终端&#xff0c;时好时坏&#xff0c;或者图像颜色不正确&#xff0c;最终经过打拍解决了此问题。 //配置为16-Bit SDR ITU-R BT.656模式时pixel_data[23:16]为高阻。always (posedge pixe…

AtCoder Beginner Contest 314-A/B/C

A - 3.14 题目要求输出圆周率保留小数几位后的结果 用字符串来存储长串的圆周率&#xff0c;截取字符串就可以了。 #include<iostream> using namespace std; int main() {string s"3.1415926535897932384626433832795028841971693993751058209749445923078164062…

C#多线程开发详解

C#多线程开发详解 持续更新中。。。。。一、为什么要使用多线程开发1.提高性能2.响应性3.资源利用4.任务分解5.并行计算6.实时处理 二、多线程开发缺点1.竞态条件2.死锁和饥饿3.调试复杂性4.上下文切换开销5.线程安全性 三、多线程开发涉及的相关概念常用概念(1)lock(2)查看当前…

NanoPi NEO移植LVGL8.3.5到1.69寸ST7789V屏幕

移植前准备 移植好fbtft屏幕驱动 参考链接&#xff1a;友善之臂NanoPi NEO利用fbtft驱动点亮1.69寸ST7789V2屏幕 获取源码 名称地址描述lvglhttps://github.com/lvgl/lvgl.gitlvgl-8.3.5lv_drivershttps://github.com/lvgl/lv_drivers.gitlv_drivers-6.1.1 创建工程目录 创…

RF PCB的9条改进型建议

1.小功率的RF的PCB设计中,主要使用标准的FR4材料(绝缘特性好、材质均匀、介电常数ε=4,10%)。主要使用4层~6层板,在成本非常敏感的情况下可以使用厚度在1mm以下的双面板,要保证反面是一个完整的地层,同时由于双面板的厚度在1mm以上,使得地层和信号层之间的FR4介质较厚,…

Linux | curl命令调用接口时查看调用时长和详情

关注wx&#xff1a; CodingTechWork 引言 在服务器中通过curl命令调用接口时&#xff0c;我们经常需要分析一些时长。本文主要总结两种方式进行处理。 curl命令 使用time命令 time curl -k -u <username>:<password> https://127.0.0.1/xxxx -vvv 使用文本 编…