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

HCIA--IP路由基础

路由概述

  • 路由基本概念
    路由是指导报文转发的路径信息,是告诉数据包往目的网段应该走哪里的,最常见的设备就是路由器,路由器转发数据包考路由器设备中维护的路由表。
    在这里插入图片描述
    路由表包含:目标网段、掩码、出接口、下一条IP地址
    在这里插入图片描述

  • 路由条目生成
    在这里插入图片描述
    直连路由:直连接口所在网段的路由,由设备自动生成。(物理状态、协议状态都为UP状态就会自动生成,接口为down则该接口的直连路由不会出现在路由表中)
    静态路由:由网络管理员手工配置的路由条目
    动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由

  • 最优路由条目优选
    在这里插入图片描述
    Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。在业界,Cost也被称为路由度量值(Metric)。
    在这里插入图片描述
    如下图,不同协议的路由表比较Pre,优先选择值小的。
    在这里插入图片描述
    在这里插入图片描述
    同种协议的路由比较Cost。
    在这里插入图片描述在这里插入图片描述

  • 路由转发
    路由器按照最长掩码匹配原则
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    数据要想到达目标必须要有到目标的路由表,不止要有去的路由,也要有会来的路由,防止数据包只过去不能回来。

静态路由

静态路由配置有三种配置方式
在这里插入图片描述
还有一些情况可以直接使用缺省路由
在这里插入图片描述
在这里插入图片描述

动态路由

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

距离矢量协议链路状态协议
基本原理每个路由器维护一个表,记录到网络中每个目的地的距离(通常是跳数)和方向(下一跳路由器)。这个表称为距离矢量表。每个路由器会创建一个关于整个网络拓扑结构的完整图,并且知道所有其他路由器的位置以及与之连接的链路的状态。
更新机制路由器定期将自己的距离矢量表发送给其直接相连的邻居,并接收邻居的距离矢量信息。然后根据这些信息来更新自己的距离矢量表。当网络中的链路状态发生变化时(如链路失效或恢复),受影响的路由器会生成链路状态通告(LSA),并将其泛洪到整个网络中的其他路由器。
算法使用贝尔曼-福特(Bellman-Ford)算法或其变种来计算最短路径。使用迪杰斯特拉(Dijkstra)算法或其他类似算法来计算最短路径树。
典型协议RIP(Routing Information Protocol)是一个常见的距离矢量协议。OSPF(Open Shortest Path First)和IS-IS(Intermediate System to Intermediate System)是两种常见的链路状态协议。

区别总结
传播方式:距离矢量协议采用周期性的广播更新;而链路状态协议在链路状态改变时才会触发更新,并通过泛洪机制传播至全网。
信息量:距离矢量协议只包含局部信息,即到邻居的信息;链路状态协议则需要维护整个网络的拓扑信息。
收敛速度:链路状态协议通常比距离矢量协议更快地收敛,即在网络变化后能更快地找到新的最佳路径。
环路问题:距离矢量协议更容易产生路由环路,而链路状态协议则很少出现这种情况。

每种类型的协议都有其适用场景,选择哪种取决于网络的具体需求和规模。
在这里插入图片描述

路由高级特性

路由递归
在这里插入图片描述
在这里插入图片描述

等价路由
在这里插入图片描述

浮动路由
在这里插入图片描述

路由汇总CIDR
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/282018.html

相关文章:

  • 内网安全隧道搭建-ngrok-frp-nps-sapp
  • Linux :进程间通信之管道
  • 5. langgraph中的react agent使用 (从零构建一个react agent)
  • Vue模块化开发的理解
  • 基于Java Springboot编程语言在线学习平台
  • 计算机网络:运输层 —— TCP的流量控制
  • Efficient LoFTR论文阅读(特征匹配)
  • Java 输入与输出之 NIO【非阻塞式IO】【NIO网络编程】探索之【二】
  • GPT-4.0 新手使用教程(保姆级入门)
  • Springboot-基于Axis2的WebService,发送短信并加密短信内容,使用BouncyCastle作为加密库
  • 基于计算机视觉的图书推荐应用【AI编程实录】
  • sqli-labs靶场通关攻略 46-50
  • 【C#】【EXCEL】Bumblebee/Classes/ExColumn.cs
  • 代码随想录(day8)—环形链表
  • PyQt5中,editingFinished连接的槽函数中 QMessageBox 弹出两次
  • MagiskBoot编译解包打包boot.img
  • Linux系统使用Docker compose搭建开源文档系统Paperless-ngx
  • TS学习笔记
  • 【计算机网络】计算机网络的组成和功能
  • SpringBoot 项目——抽奖系统
  • webContextUnify的作用
  • mac安装java17(jdk17)
  • Netty+WebSocket实现高并发网络编程
  • 【Go - interface, 强类型语言中的任意类型 】
  • 【项目日记】高并发内存池---实现线程缓存
  • Linux学习记录(十三)----信号