当前位置: 首页 > news >正文

动态路由协议

文章目录

  • 一、动态路由协议
  • 二、管理距离(Administrative Distance)
  • 三、静态路由
  • 四、环回接口
  • 五、缺省路由(默认路由)
  • 六、动态路由协议,RIP
    • 距离矢量路由协议
    • RIP解决环路问题的机制
    • RIP配置
    • RIP案例1
    • RIPV2的路由汇总

一、动态路由协议

  • 通过在路由器上运行动态路由协议,使得路由器之间能够交互“用于路由计算的信息”,从而路由器动态的“学习”到网络中的路由

二、管理距离(Administrative Distance)

  • 不同的路由协议会有不同的管理距离
  • 值越小的管理距离优先级越高
  • 当路由器从不同的协议里学习到相同的路由的时候,优先选择优先级高的路由
  • 常见的管理距离
    管理距离

三、静态路由

  • 特点:
    • 需要通过手工的方式进行添加及维护;
    • 适用于组网规模较小的场景,如果网络规模较大,则配置及维护的成本就会很高;
    • 无法根据拓扑的变化进行动态的响应(各厂商开发了扩展特性,以便弥补静态路由在这点上的不足);
    • 在大型的网络中,往往采用动、静态路由结合的方式进行部署。
  • 配置方式
R1(config)# ip route network-address subnet-mask {ip-add | exit-interface}
例子:
配置R1到R3的静态路由,同时R3到R1也需要配置
  • 示例
    静态路由

四、环回接口

  • Loopback接口,也叫环回口,是一个逻辑的、虚拟的接口;
  • 使用全局配置命令interface loopback 加上接口编号可创建一个Loopback接口,创建完成后即可为接口配置IP地址;
  • Loopback接口在手工创建后,除非人为shutdown,否则不会DOWN掉;
  • Loopback接口常用于:
  • 模拟路由器的直连网段,可用于测试;
  • 可用于设备管理(Loopback接口比较稳定);
  • 供其他协议使用,例如OSPF、BGP、MPLS等;
  • SNMPTraps消息的源地址;
  • 其他用途(Loopback接口的用途十分广泛)。

五、缺省路由(默认路由)

特殊的静态路由

ip route 0.0.0.0 0.0.0.0 [IP|INT] # 出接口的地址

六、动态路由协议,RIP

  • RIP是应用及开发较早的路由协议,是典型的距离矢量路由协议
  • 适用于小型网络,最大跳数15跳(16跳视为不可达)
  • RIP是基于UDP的,使用端口号520
  • 在CISCO IOS平台上的管理距离为120

距离矢量路由协议

  • 使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道:
    • 自身与目的网络之间的距离
    • 应该往哪个方向或使用哪个接口转发数据包
    • 路由器收敛完成
    • 当所有路由表包含相同网络可达性信息
    • 网络(路由)进入一个稳态
    • 路由器继续交换路由信息
    • 当无新路由信息被更新时收敛结束
    • 网络在达到收敛前无法完全正常工作

RIP解决环路问题的机制

  • 定义最大跳数
    • 定义当跳数达到16时认为不可达
  • 水平分割
    • 从某个接口学习到的路由,不会再从这个接口更新出去
  • 毒性路由
    • 当路由器感知到某个网段发生故障,可以立即泛洪该网段的路由(将其跳数设置为16跳,也就是不可达),以此来快速刷新网络中其他路由器的路由表。
  • 毒性逆转
    • RIP从某个接口学到路由后,当它从该接口发送Response报文时会携带这些路由,但是这些路由度量值被设置为16跳(16跳意味着该路由不可达)。利用这种方式,可以清除对方路由表中的无用路由。毒性逆转也可以防止产生路由环路。
  • 触发更新
    • 拓扑发生变更时,路由器立即发送更新消息,而不等更新计时器超时

RIP配置

Router(config)# router rip
Router(config-router)# version 1/2
Router(config-router)# network network-number # 宣告网络

RIP案例1

  • 需求
    在这里插入图片描述
    R1:
int e0/0
ip address 192.168.12.1 255.255.255.0
no sh
int lo0
ip add 1.1.1.1 255.255.255.255
router rip
version 2
network 1.1.1.1
network 192.168.12.0

R2:

int e0/0
ip add 192.168.12.2 255.255.255.0
no sh
int e0/1
ip add 192.168.23.2 255.255.255.0
no sh
int lo0
ip add 2.2.2.2 255.255.255.255
router rip
version 2
network 192.168.12.0
network 192.168.23.0
network 2.2.2.2

R3:

int e0/0
ip add 192.168.23.3 255.255.255.0
no sh
int lo0
ip add 3.3.3.3 255.255.255.255
router rip
version 2
network 192.168.23.0
network 3.3.3.3
  • 结果
    在这里插入图片描述

RIPV2的路由汇总

  • 默认情况,rip version2 会将自己的路由条目进行汇总然后更新给其他路由器

  • 当路由汇总后出现同样的条目时,会进行等价的负载均衡

  • 如果想要进行人工汇总,建议首先关闭自动汇总,然后再进行手动汇总

R1(config-if)#int lo10
R1(config-if)#ip addr 172.16.10.10 255.255.255.0
R1(config-if)#int lo20
R1(config-if)#ip addr 172.16.20.20 255.255.255.0
R1(config-if)#int lo30
R1(config-if)#ip addr 172.16.30.30 255.255.255.0
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#network 172.16.10.0
R1(config-router)#network 172.16.20.0
R1(config-router)#network 172.16.30.0
R1(config-router)#no auto-summary # 关闭rip的自动路由汇总
R1(config-router)#int e0/0
R1(config-if)#ip summary-address rip 172.16.0.0 255.255.0.0 # 手动添加路由汇总#查看R2的路由表
R2#sh ip rou
#如果没有更新,就把连接的接口重启一下
R2(config)#int e0/0
R2(config-if)#sh
R2(config-if)#no sh

相关文章:

  • 传奇手游详细图文架设教程
  • C++面试经典问题-Union联合
  • 系分备考计算机网络传输介质、通信方式和交换方式
  • 大功率直流电子负载
  • 宝宝洗衣机买几公斤?婴儿专用洗衣机测评
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第二天-tcp编程练习(物联技术666)
  • Linux文件隐藏属性及chattr和lsattr命令
  • 【C语言】操作符
  • CTF CRYPTO 密码学-1
  • Netty-Netty组件了解
  • Apache StringUtils:Java字符串处理工具类
  • openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题
  • 多级缓存架构(二)Caffeine进程缓存
  • javascript的三元运算
  • 【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Docker 笔记(2):Dockerfile
  • ES6--对象的扩展
  • extjs4学习之配置
  • HomeBrew常规使用教程
  • HTML中设置input等文本框为不可操作
  • Java超时控制的实现
  • XForms - 更强大的Form
  • 彻底搞懂浏览器Event-loop
  • 讲清楚之javascript作用域
  • 力扣(LeetCode)22
  • 区块链共识机制优缺点对比都是什么
  • 如何在 Tornado 中实现 Middleware
  • 微信小程序开发问题汇总
  • 自制字幕遮挡器
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #宝哥教你#查看jquery绑定的事件函数
  • #单片机(TB6600驱动42步进电机)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二)linux使用docker容器运行mysql
  • (推荐)叮当——中文语音对话机器人
  • (转) Android中ViewStub组件使用
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)jdk与jre的区别
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .Net Core 中间件验签
  • .Net 垃圾回收机制原理(二)
  • .net 无限分类
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET大文件上传知识整理
  • .Net语言中的StringBuilder:入门到精通
  • .Net中间语言BeforeFieldInit
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [\u4e00-\u9fa5] //匹配中文字符
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [<MySQL优化总结>]
  • [1204 寻找子串位置] 解题报告