静态路由及动态路由

news2024/11/25 0:46:14

文章目录

  • 静态路由及动态路由
  • 一、静态路由基础
    • 1. 静态路由配置
    • 2. 负载分担
    • 3. 路由备份
    • 4. 缺省路由
    • 5. 静态路由实操
  • 二、RIP 动态路由协议
    • 1. RIP 协议概述
    • 2. RIP 协议版本对比
      • 2.1 有类路由及无类路由
    • 3. RIP 路由协议原理
    • 4. RIP 计时器
    • 5. 度量值
    • 6. 收敛
    • 7. 示例

静态路由及动态路由

一、静态路由基础

静态路由适用于末梢网络。(只有一条路的网络叫末梢网络)

  • 例如公司网关的网络都是向运营商发数据,公司网关的路由器写默认路由指向运营商。

静态路由的优缺点

  • 优点:

    • 对路由器CPU没有管理性开销。
    • 在路由器间没有宽带占用。
    • 增加安全性。
  • 缺点:

    • 必须真正了解网络。
    • 对于新添加网络配置繁琐。
    • 对于大型网络工作量大。

静态路由的优先级比动态路由的优先级高

静态路由是指由管理员手动配置和维护的路由静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。

image-20230720164324215

1. 静态路由配置

image-20230720164355049

ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]

命令配置静态路由。

说明

  • 参数ip-address指定了一个网络或者主机的目的地址。
  • 参数mask指定了一个子网掩码或者前缀长度。如果使用了广播接口如以太网接口作为出接口,则必须要指定下一跳地址;如果使用了串口作为出接口。则可以通过参数interface-type和interface-number(如Serial 1/0/0)来配置出接口,此时不必指定下一跳地址。

image-20230720164518994

以太网是广播类型网络,和串行网络情况不同。在以太网中配置静态路由,必须指定下一跳地址。

以太网中同一网络可能连接了多台路由器,如果在配置静态路由时只指定了出接口,则路由器无法将报文转发到正确的下一跳。在本示例中,RTA需要将数据转发到192.168.2.0/24网络,在配置静态路由时,需要明确指定下一跳地址为10.0.123.2,否则,RTA将无法将报文转发到RTB所连接的192.168.2.0/24网络,因为RTA不知道应该通过RTB还是RTC才能到达目的地。

路由器根据数据包中IP首部中的目的IP地址查询路由表,查看是否有去目的IP的信息。

2. 负载分担

配置静态路由

image-20230720164536117

当源网络和目的网络之间存在多条链路时,可以通过==等价路由==来实现流量负载分担。这些等价路由具有相同的目的网络和掩码、优先级和度量值。

本示例中RTA和RTB之间有两条链路相连,通过使用等价的静态路由来实现流量负载分担。

在RTB上配置了两条静态路由,它们具有相同的目的IP地址和子网掩码、优先级(都为60)、路由开销(都为0),但下一跳不同。在RTB需要转发数据给RTA时,就会使用这两条等价静态路由将数据进行负载分担。

在RTA上也应该配置对应的两条等价的静态路由。

配置验证

image-20230720164632298

在配置完静态路由之后,可以使用**display ip routing-table**命令来验证配置结果。在本示例中,红色高亮部分代表路由表中的静态路由。这两条路由具有相同的目的地址和掩码,并且有相同的优先级和度量值,但是它们的下一跳地址和出接口不同。此时,RTB就可以通过这两条等价路由实现负载分担。

3. 路由备份

image-20230720164613633

RTB上配置两条静态路由。正常情况下,这两条静态路由是等价的。通过配置preference 100,使第二条静态路由的优先级要低于第一条(值越大优先级越低,默认60)。路由器把优先级最高的静态路由加入到路由表中。当加入到路由表中的静态路由出现故障时,优先级低的静态路由才会加入到路由表并承担数据转发业务。

image-20230720190428197

优先级较高静态路由暂时会隐藏,如果断了一个链路,那么优先级较高静态路由就会显示出来。

4. 缺省路由

image-20230720164833330

当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由作为报文的转发路径。在路由表中,缺省路由的目的网络地址为0.0.0.0,掩码也为0.0.0.0。在本示例中,RTA使用缺省路由转发到达未知目的地址的报文。缺省静态路由的默认优先级也是60。在路由选择过程中,缺省路由会被最后匹配。

image-20230720190545256

配置缺省路由后,可以使用display ip routing-table命令来查看该路由的详细信息。在本示例中,目的地址在路由表中没能匹配的所有报文都将通过GigabitEthernet 0/0/0接口转发到下一跳地址10.0.12.2。

5. 静态路由实操

环境搭建

image-20230720193007928

配置R1

image-20230720192134581

配置R2

image-20230720192512171

配置R3

image-20230720192728289

配置静态路由

查看路由表发现没有去10.4.4.0网段的路由

image-20230720193153585

配置R1的静态路由,要跳转到10.4.4.0网段,下一条地址为10.2.2.2

image-20230720193612055

配置R2的静态路由,要跳转到10.4.4.0网段,下一条地址为10.3.3.2

image-20230720193815537

配置R3的静态路由,要跳转到10.1.1.0网段,下一条地址为10.3.3.1

image-20230720194427955

配置R2的静态路由,要跳转到10.1.1.0网段,下一条地址为10.2.2.1

image-20230720194543158

最后PC1成功ping通PC2

image-20230720194637521

取消配置的 IP 地址命令

如果在交换机中配置好了IP地址,但是ip配置错误可以使用下面的命令来取消。

undo ip address

二、RIP 动态路由协议

动态路由协议——RIP概述

1. RIP 协议概述

RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由协议距离矢量IP路由协议

RIP通过UDP报文进行路由信息的交换,工作在网络层,使用端口号为==520==,协议号17(其实就是UDP),每30秒发送一次路由信息更新。

RIP动态路由协议的消息形式:请求消息,响应消息。

默认支持的等价负载均衡4,最大支持6。

距离矢量路由协议: 距离矢量名称的由来是因为路由是以矢量(距离、方向)的方式通告出去的,其中距离是根据度量定义的,方向是根据下一跳路由器定义的。传递的内容是路由表中的信息

image-20231127211724685

RIP的一个特点是触发式更新。当其中一个路由器的路由表更新后,那么该路由器会给其他直连的路由发送自身的路由表。

image-20231127212016825

环路的发生

image-20231127214110700

防止环路发生的机制

距离矢量型路由协议中,用以下几个方法解决环路问题:

  1. 水平分割:从一个接口收到的路由条目不会在从这个接口发送出去。
  2. 路由毒化和毒性逆转的水平分割:从一个接口收到的路由条目会从这个接口发送出去,但是将这个路由条目标记为16跳不可达。
    • 路由毒化就是将路由条目标记为16跳不可达。
  3. 触发更新,当路由表发生变化时,会立刻发送更新信息。

2. RIP 协议版本对比

当前使用的RIP协议是针对与IPV4的地址,针对于IPV4的RIP有两个版本:

RIPv1

  • RIPv1使用广播更新路由表
    • 当路由器首次在网络上被激活时,最简单的方式是广播地址(在IP网络中,广播地址是 255.255.255.255)发送更新信息。使用相同的路由选择协议的邻居路由器将会收到广播数据包,并且采取相应的动作。不关心路由更新信息的主机和其他设备会丢弃该数据包。
  • RIPv1有类路由,不支持变长子网掩码,不支持不连续子网。

RIPv2

  • RIPv2使用组播更新路由表,组播地址是224.0.0.9
    • 启用了RIP,那么设备就拥有了监听224.0.0.9这个IP地址的功能。当一个路由器收到一条更新消息时,它会检查消息的源IP地址,并相应地更新其路由表。如果它已经有了关于该网络的路由信息,则将其更新为新的信息。如果它还没有关于该网络的路由信息,则将其添加到路由表中。
  • RIPv2无类路由,支持变长子网掩码,支持不连续子网。
  • 路由表查询机制是由小类->大类(按位查询最长匹配、精确匹配,先检查32位掩码的)
  • 支持明文及密文认证(思科私有)

2.1 有类路由及无类路由

RIPv1有类路由

  • 在传递路由表的时候不传递子网掩码。

  • 其中网络地址被分为五个类别(A、B、C、D、E),每个类别有固定的网络前缀长度。类路由是基于网络地址的类别来划分的,因此它只能处理默认网络掩码,无法有效地支持可变长度子网掩码(VLSM)。这意味着在RIPv1中,所有属于同一个类别的网络都会被汇总为一个路由,而无法区分具体的子网。

  • 在有类路由中,网络地址被汇总为一个路由,无法区分具体的子网。这使得类路由在网络规模较小、拓扑结构相对简单且不需要细粒度控制时比较适用。

RIPv2无类路由

  • 无类路由能够更精确地表示网络地址和子网掩码,可以对不同的子网进行区分。VLSM允许将网络地址划分为更小的子网,并为每个子网分配适当的子网掩码。这使得RIPv2能够更有效地利用IP地址空间,并更好地适应复杂的网络拓扑。
  • 例如,在一个网络中可能有多个子网,每个子网都具有不同的子网掩码。使用无类路由,路由器可以将每个子网的地址和相应的子网掩码一起传输,从而实现更准确的路由选择。这样可以更好地利用IP地址空间,并支持更复杂的网络拓扑。

3. RIP 路由协议原理

RIP 路由协议使用跳数(Hop Count)作为度量值来衡量达到目的的地址的距离(最大跳数15跳)。设备到与它直连网络的设备跳数为0,然后每经过一 个三层设备跳数增加1。也就是说通过一个3层设备到达的网络的跳数 为1。度量值等于从本网络到达目的网络间的设备数据量。为限制收敛时间,RIP规定度量值取1~15之间的整数,大于或等于16的跳数(也 就是3层设备数量)被定义为无穷大,即目的网络或主机不可达。也就 是说最大跳数15跳所以流量只能经过15个3层设备,16跳第16个3 层设备为不可达。

4. RIP 计时器

RIP使用距离作为路由选择的度量标准,并通过定期广播路由更新来维护网络的路由表。

  • 更新计时器(Update Timer) :RIP协议平均每30s(默认值)从每个启动 RIP 协议的接口不断发送响应消息。这个周期性的更新又更新计时器进行初始化,并且包含一个随机变化量用来防止表的同步。
  • 超时计时器(Timeout Timer): 超时计时器也就是失效计时器,超时计时器用来限制停留在路由选择表中的路由未被更新的时间。五类什么时候,当有一条新的路由建立后,超时计时器就会被初始化为 180s(默认值), 而每当接收到这条路由的更新报文时,超时计时器又将被重置成计时器的初始值。如果一条路由的更新在180s(6个更新周期)内还没有收到,那么这条路由的跳数将变成16,也就是标记不可达路由。
  • 刷新计时器(Flush Timer): 也叫垃圾收集,这个计时器所设置的时间长度一般比超时计时器的时间长240~60s (Cisco路由器使用60s的刷新收集计时器,虽然RFC1058规定为120s)。也就是超时计时器的180s 到期后再加 60s 也就是 240s 为刷新计时器的时间 (可以更改)。如果刷新计时器也超时了,则该路由器将被通告为一条度量值为不可达的路由,同时从路由选择表中删除该路由。
  • 抑制计时器(Holddown Timer): 用于抑制更新机制,Cisco的路由器中允许的 RIP 协议使用了它们。如果一条路由表更新的跳数大于路由选择表已记录的该路由的跳数,那么将会引起该路由进入长达180s(即6个更新周期)的抑制状态节点。

5. 度量值

度量值跳数用来计算开销用的。不能超过15,如果超过15台第16台为路由不可达。

当到达同一个网段有两条或者两条以上不同路径的时候,动态路由协议会选择一条最优的路径传输数据。路由协议使用度量选择路径优劣的依据:不同的路由协议使用不同的度量,有时还使用多个度量。

直白来说就是路由器选路的依据。

image-20231127172905652

  • 跳数(Hop Count): 度量可以简单记录路由器的跳数。

    • 如上图,R1要到达192.168.1.0,如果选择跳数作为度量值来衡量链路的优劣。那么就会选择跳数较少的路径转发数据,即R1–>R3–>192.168.1.0。但是R1–>R3真的是最优路径吗?R1–>R3的链路带宽只有19.2Kb/s,而R1–>R2–>R3的路径带宽却是2Mb/s。
  • 带宽(Bandwidth): 度量将会选择高带宽路径,而不是低带宽路径。

    • 如上图,如果将带宽作为度量值,选择的路径应该是R1–>R2–>R3。然而带宽本身可能不是一个好的度量。例如,一条被其他 流量过多占用的的2Mb/s链路,与一个 128Kb/s 的空闲链路相比到底谁更好呢?或者与一条高带宽但是延迟很大的链路相比又如何呢?

6. 收敛

网络中的路由器通过交换路由更新信息并重新计算路由表,最终达到稳定的路由状态的过程叫收敛

收敛时间(convergence time):从网络拓扑发生变化到网络中所有路由器都知道这个变化的时间就叫收敛时间。

动态路由选择协议必须包含一系列过程,这些过程用于路由器向其他路由器通告本地直连网络(传递路由表),接受并处理来自其他路由器的同类信息,中继从其他路由器接收到的信息。此外,路由选择协议还需要定义决定最优路径的度量。对路由协议来说,另一个标准是互联网络上所有路由器的路由表中的可达信息必须一致。使所有路由表都达到一致状态的过程称为收敛(Convergence)。全网实现信息共享及所有路由器计算最优路径所花费的时间的总和就是收敛时间。

每30秒收敛一次,也就是每隔30秒把路由表发送一次。

7. 示例

image-20230721195255873

像之前每台路由器都要配置静态路由会非常的麻烦,现在使用RIP动态路由。

配置方式如下:

在R1中启用version 2版本,并宣告network。

image-20230721195652179

在R2中启用version 2版本,并宣告network。

image-20230721195836533

在R3中启用version 2版本,并宣告network。

image-20230721195921157

然后使用PC1和PC2通信即可

image-20230721200319024

Wireshark抓包分析

image-20231128095246944

image-20231127215655999

image-20231127222258757

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

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

相关文章

ADB:获取坐标

命令: adb shell getevent | grep -e "0035" -e "0036" adb shell getevent -l | grep -e "0035" -e "0036" 这一条正确,但是,grep给过滤了,导致没有输出 getevent -c 10 //输出10条信息…

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用 1)框架介绍与引入1.1.🚀 什么是 StreamPark1.2.🎉 Features1.3.🏳‍🌈 组成部分1.4.引入 StreamPark 2)安装部署2.1.环境要求2.2.Hado…

electron与cesium组件入门应用功能

electron与cesium组件入门应用功能 运行应用效果图: electron应用目录,需要包括三个文件: index.html main.js package.json (一)、创建一个新项目 目录名称:project_helloWolrd (二)、生成package.json文件 npm init --yes(三&#x…

Glycosaminoglycans Assay Kit(糖胺聚糖检测试剂盒)--Chondrex

糖胺聚糖(glycosaminoglycans,GAGs)是一种携带负电荷的多糖链,位于大多数结缔组织和许多不同类型细胞的细胞外基质(extracellular matrices, ECM)中以及细胞表面上。由重复双糖单位复合构成的糖胺聚糖可分为…

crash实战:手把手教你使用crash分析内核dump

Kdump是Linux的一种内核崩溃捕获机制,Linux内核遇到致命错误崩溃时会触发Kdump机制将崩溃时的现场保存下来,以便后续分析和故障排查。目前市面上有很多分析Kdump的工具,例如trace32, crash tool,本文介绍crash tool在手机领域的应…

mac电脑html文件 局域网访问

windows html文件 局域网访问 参考 https://blog.csdn.net/qq_38935512/article/details/103271291mac电脑html文件 局域网访问 开发工具vscode 安装vscode插件 Live Server 完成后打开项目的html 右键使用Live Server打开页面 效果如下,使用本地ip替换http://12…

Kafka发送流程

首先我们要将外部数据导入到集群,首先在main线程中创建producer 对象,调用send方法发送数据,拦截器为可选项,通过序列化器对数据序列化,因为需要跨节点通讯,分区器会对每个数据进行分区,发送到指…

深入浅出RPC:选取适合自己的RPC

文章目录 1、RPC概念&&背景1.1、RPC背景 1.2、RPC是什么,什么时候需要用到?2、进程间的通信 - IPC与RPC2.1、什么是IPC2.2、IPC与RPC联系 3、RPC的实现3.1、RPC实现的基本思路3.2、RPC实现的扩展方向 4、RPC的选择 1、RPC概念&&背景 1.…

基于ssm大学学术交流论坛论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于大学学术交流论坛当然也不能排除在外,随着网络技术的不断成熟,带动了大学学术交流论坛的发展,它彻底改…

爬虫国密加密案例:某医保服务

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行 atob(‘aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWw/Y29…

无框架Java转go语言写http与tcp请求

项目地址 https://github.com/cmdch2017/http_tcpServer 项目结构 如何快速上手 http篇 1、controller包就相当于RestController,这里返回了一个Person对象,当你需要新建一个接口时,再新写一个func仿照下面的方法就行了 package control…

送奶APP开发:终极指南

您是否有兴趣使用新鲜牛奶和乳制品,但不想每天早上去乳制品店或最近的商店?借助技术,订购日常用品(例如杂货和牛奶)变得更加简单。 DailyMoo 是最受欢迎的送奶应用,收入达数百万人民币。因此,投…

vue门户设计器实现技术方案

一、什么是门户设计器 门户设计器是一种用于创建和设计门户网站或者应用系统首页的工具。它通常是一个软件应用程序,可以帮助用户快速、轻松地设计和构建自己的门户网站或者应用系统的首页。门户设计器通常提供在线拖拉拽设计器,以及各种模板、主题和组…

多项目同时跑多个node版本-比nvm好用的volta

开发环境中多个项目需要node版本不同,且同时不止是一个项目在开发中,用了nvm进行node版本管理和切换,但是太麻烦了。新的解决方案volta可以比较好的处理这种情况 Volta 官网先挂出来:https://volta.sh/ 1、volta是什么&#xff…

Paging-5G 寻呼

处于RRC_IDLE态的UE与网络之间是不存在RRC连接的,处于RRC_INACTIVE态的UE虽然与网络建立了RRC连接,但该连接是挂起的。当网络有下行数据需要发往处于RRC_IDLE或RRC_INACTIVE态的UE时,网络需要先通过Paging流程来寻呼UE,以通知该UE…

瑞芯微 rk3568的npu使用,部署unet网络

文章目录 rk3568-1.6.01.在任一个ubuntu系统上安装RKNN-Toolkit21.1 下载1.2 安装 2.在机器端(板端)查看 RKNPU2的驱动3.RKNN使用说明3.1 模型转换a. RHKNN初始化和释放b. RKNN configc. 加载模型d. 构建模型e. 导出模型f.转换工具 3.2 python 代码示例导…

VS Code配置Go语言开发环境

提示:首先这是一个新型语言,最好把vscode更新到最新版。 1:去官网下载Go语言编译器,之后配置到系统环境中,能看到版本就行。 2:创建一个文件夹,存放go的工具文件,我的在D:\GoFile\G…

引领半导体划片机行业,实现钛酸锶基片切割的卓越效能

在当今快速发展的半导体行业中,博捷芯以其卓越的技术实力和精准的行业应用,脱颖而出,再次引领行业潮流。这次,他们将先进的BJX3356划片机技术应用于钛酸锶基片的切割,为半导体制造行业的进一步发展提供了强大的技术支持…

Python爬虫全解析

一.爬虫--requests 1.常见的爬虫 -通用爬虫: 抓取系统重要组成部分。抓取的是一整张页面数据。 -聚焦爬虫: 是建立在通用爬虫的基础之上。抓取的是页面中特定的局部内容。 -增量式爬虫: 检测网站中数据更新的情况。只会抓取网站中最新更新出来的数据。 2.requests模块 re…

「数据结构」二叉树1

🎇个人主页:Ice_Sugar_7 🎇所属专栏:C启航 🎇欢迎点赞收藏加关注哦! 文章目录 🍉树🍉二叉树🍌特殊二叉树🍌二叉树的性质🍌存储结构 🍉…