关于路由笔记

路由

定义

在计算机网络中,路由是将数据包从源节点传输到目标节点的过程。这个过程涉及到网络中的多个设备,如路由器、交换机等,其中路由器起着关键的决策作用。

工作原理示例

假设你在一个公司的局域网内,你的电脑(源节点)要访问公司服务器(目标节点)。当你在电脑上发送一个请求数据的数据包时,这个数据包会首先到达连接你电脑所在子网的路由器。路由器会查看数据包的目的 IP 地址,然后根据自己的路由表来确定数据包应该从哪个接口转发出去。如果公司服务器在另一个子网,路由器可能会将数据包转发到连接该子网的接口,经过一系列的转发操作,数据包最终到达服务器。

路由概念
  • 在网络中有很多路由器,当一个数据包从源到目标传递时,比如从网站到你的电脑或手机,它中间会经历很多的设备
  • 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器
  • 这就是路由来处理的,路由是指导数据如何进行转发的一种技术
路由条目包含以下信息
  • 目的网络:目的网段的网络号
  • 掩码:目的网段的掩码
  • 出接口:数据包从本路由器发出的接口
  • 下一跳:到达目的网段的下一跳的设备地址
路由优先级比较

路由优先级的比较过程是:

  • 首先比较路由的掩码,掩码长的优先(掩码长的更精确)
  • 然后比较路由的preference,数字小的优先
  • 然后比较路由的cost,数字小的优先
  • 如果都相同,则形成等价路由
路由条目生成的方式分类

路由器依据路由表进行路由转发

为实现路由转发,路由器需要发现路由,以下为常见的路由获取方式

直连路由
  • 直连路由指向本地直连网络的路由,由设备自动生成。
  • 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机
  • 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。
  • 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP
  • 在刚才的案例中,2.2.2.0 其实就是 AR2 的直连网段,也就是直连路由

静态路由
  • 在刚才的案例中,在 AR1 配置的就是直连路由
    ( ip route-static 2.2.2.2 32 1.1.1.2 )
  • 静态路由需要由网络管理员手动配置路由条目
  • 配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
  • 缺点是不能自动适应网络拓扑的变化,需要人工干预
案例2.静态路由
  • 按照拓扑图设置IP等
  • 此时R1只有直连路由
  • 抓包工具测试R1两侧接口:右侧接口如下
静态路由-R1

R1ip route-static 192.168.2.0 24 12.1.1.2

静态路由-R2

R2ip route-static 192.168.2.0 24 23.1.1.3

静态路由-R3
其他概念-缺省路由

在实际的使用中,会有几个比较特别的应用,其中之一就是:缺省路由

其他概念-路由递归
其他概念-等价路由

路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。

其他概念-浮动路由
  • 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。

  • 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。

其他概念-路由汇总
  • 子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。
  • 为减少路由条目数量可以使用路由汇总。
路由汇总(路由聚合)
其他概念-路由汇总
  • 基于一系列连续的、有规律的IP网段,如果需计算相应的汇总路由,且确保得出的汇总路由刚好"囊括"上述IP网段,则需保证汇总路由的掩码长度尽可能长。
  • 诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中"相同的比特位"
路由汇总带来的问题

解决方案:

相关推荐
云飞云共享云桌面5 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
Sylvia33.6 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
鼹鼠SDN9 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
小诗懂技术11 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
INS_KF12 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
DM今天肝到几点?13 小时前
AI 安全进入「攻防同频」:Gemini 3.8 Flash Cyber 上线、Astra 触及关键级、HiddenLayer 融资 1 亿美元
网络·人工智能·深度学习·安全·语言模型·开源·知识图谱
tju新生代魔迷13 小时前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习
幼儿园蛋小黑14 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
点心的游戏开发世界14 小时前
UnityShaderGraph滚动UV笔记
笔记·uv
瑞码空间15 小时前
git知识点黄金笔记
笔记·git·elasticsearch