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

HCIA笔记6--路由基础与静态路由:浮动路由、缺省路由、迭代查找

文章目录

      • 0. 概念
      • 1.路由器工作原理
      • 2. 跨网访问流程
      • 3. 静态路由配置
      • 4. 静态路由的应用场景
        • 4.1 路由备份
        • 4.2 浮动路由
        • 4.3 缺省路由
      • 5. 迭代路由
      • 6 问题
        • 6.1 为什么路由表中有的下一跳的地址有接口?
        • 6.2 个人电脑的网关本质是什么?

0. 概念

自治系统:一个统一管理的大型网络,由路由器组成的集合。
路由器隔离广播域,交换机隔离冲突域。

1.路由器工作原理

路由器根据路由表进行转发数据包;

  1. 路由表中没有路由,直接丢弃该数据包
  2. 路由表中只有一条路由匹配目标ip时,直接根据路由表项进行转发。
  3. 路由表中有多个路由表项匹配数据包的目标ip时:
    • 最长掩码匹配原则
    • 掩码相同,比较外部路由优先级,数值越小越优先
    • 外部路由优先级相同,比较内部路由优先级
    • 如果内部路由优先级相同,则比较开销值,数值越小越优先
    • 如果开销值相同,则认为两条路都是最优路径,形成负载分担

路由表项
在这里插入图片描述

2. 跨网访问流程

在这里插入图片描述

  1. PC1 请求访问PC2, PC1发现两者不在同一个网段

  2. PC1请求网关mac地址,如果PC1的arp缓存表中无网关mac地址;则进行发起arp广播来获取网关AR1的mac地址。

  3. PC1封装数据包,并将其发往路由器AR1的g0/0/1口。
    dip: 192.168.2.1
    sip: 192.169.1.1
    dmac: ar1_g001_mac
    smac:pc1_mac

  4. 路由器AR1在路由表项中查找去往192.168.2.1的下一跳的IP地址(10.1.12.2); 路由器在arp缓存表中查找下一跳的mac地址;如果没找到,则进行arp广播获得下一跳的mac地址。

  5. 路由器AR1封装数据包,并将其从g0/0/0口发给下一跳路由器AR2的g0/0/0口。
    dip: 192.168.2.1
    sip: 192.169.1.1
    dmac: ar2_g000_mac
    smac: ar1_g000_mac

  6. 路由器AR2收到AR1发来的数据包,查找路由表发现下一跳IP地址(192.168.2.1/24),与自己同网段;查找自己的arp缓存中是否有PC2(192.168.2.1)的mac地址。如果没有,则进行arp广播请求PC2的mac地址。

  7. 路由器AR2封装数包,并将其从g0/0/1口发往下一跳PC2。
    dip: 192.168.2.1
    sip: 192.169.1.1
    dmac: pc2_mac
    smac: ar2_g001_mac

  8. PC2收到PC1发送的数据包

3. 静态路由配置

  • 给路由器接口配置ip
ip address 192.168.1.254 24
  • 查看路由器的路由表
display ip routing-table

在这里插入图片描述
路由表项会额外加上广播地址和网络号地址

  • 查看路由表接口ip信息
display ip interface brief

在这里插入图片描述

  • 配置静态路由表项
ip route-static 192.168.2.0 24 10.1.12.2
# ip route-static 目标IP地址 目标IP地址子网掩码 下一跳IP地址

路由表项
在这里插入图片描述

4. 静态路由的应用场景

4.1 路由备份

甲方要求在不增加过多的成本情况下实现冗余性。
冗余性体现在两方面,一方面是设备的冗余,另一方面是链路的冗余。
设备一般都比较贵,为了实现甲方的要求就做链路的备份。
链路的备份当然也是需要物理链路的存在作为先决条件的。如图所示,我们配置两条静态路由就实现了负载分担。

即上面跟下面的通过流量的大小大致相当。
顺带一提,流量的分控有两个。
(1)负载分担,它是基于流的;一个包的流由ip port proto五元组哈希形成。所以说一个给定的包走哪条路它是确定的。
(2)负载均衡,它是基于包的;上面一个包,下面一个包,流量是绝对相等的。

在这里插入图片描述
路由器1 2的路由表如下

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

我们可以注意到形成负载分担的两条路,它们其中有一个的目标网段是省略了的;其实就是和上面的网段相同。
在这里插入图片描述

4.2 浮动路由

假设两个路由器间有两条链路,一个是作为主链路(1000M),另一个备份链路(100M)。
如下图所示:
在这里插入图片描述
将备份链路的优先级调得比主链路低,配置如下:
在这里插入图片描述
当上面的1000M链路Down掉时,会切到下面的100M
比如上图中的路由器AR1g0/0/1挂掉的时候,下面的100M链路就会切换过来。此时两者的路由表如下
在这里插入图片描述
在这里插入图片描述
我们可以观察到路由表项中,有了优先级为100的路由表项。
在这里插入图片描述

重新开启路由器ar1g0/0/1口后,我们也可以直接查看静态路由的配置选项:

display ip routing-table protocol static 

在这里插入图片描述
会发现100优先级的路由是处于inactive状态的。

我们称优先级不同,目标网段相同,下一跳相同的两组路由叫作浮动路由
在线网中,不可能完全浪费链路带宽的,因此会引入一个叫策略路由对指定的流量来通过这个100M的备份链路的。

4.3 缺省路由

目标网段的网址和掩码都是0,它匹配的是任意网络。

如图所示,路由器AR1的路由表中并没有直接到阿里192.168.4.1的表项;但是路由器AR1的下一跳永远都是AR2g0/0/1接口。

因此可以直接配置缺省路由0.0.0.0/0的下一跳地址为10.1.12.2
配置命令

ip route-static 0.0.0.0 0 10.1.12.2

查看AR1的路由表项
在这里插入图片描述

在这里插入图片描述
配置以后,我们发现PC1PC3是可以互通的。
图中的网络拓扑,其实右边可以看成外网,左边看作企业内网。我们的企业内部网关不知道用户请求的ip在哪,但是直连的肯定是运营商的路由器;因此可以设置企业网的缺省路由为运营商的路由器

但是向内网指肯定是不能有缺省路由的,否则两个缺省路由形成了负载分担,会造成用户请求的丢失。

5. 迭代路由

路由表项添加中,我们可以不知道目标网段,但是需要知道下一跳地址。

比如下面的网络拓扑中,如果在路由器AR1中添加一条去往PC2的下一跳为1.1.1.1的静态路由。

ip route-static 192.168.2.1 255.255.255.0 1.1.1.1

我们查看路由表发现并没有发现该表项出现
在这里插入图片描述
我们如果在此时添加一条去往1.1.1.1的下一跳为10.1.12.2的路由表,会发现路由表一下多了两条。这是因为进行了迭代查询,去往192.168.2.1的下一跳是1.1.1.1, 会在路由表中继续查,发现1.1.1.0/24的下一跳是10.1.12.2也就是出接口g0/0/1
在这里插入图片描述
迭代路由的标志是RD, 我们再在AR2上进行类似的配置即可实现PC1PC2的互通了。
AR2路由表:
在这里插入图片描述

在这里插入图片描述

6 问题

6.1 为什么路由表中有的下一跳的地址有接口?

因为下一跳连接的设备是唯一的。

6.2 个人电脑的网关本质是什么?

个人电脑配置网关地址,其实就是在配置缺省路由地址。
查看windows 下的路由表

route print

在这里插入图片描述


http://www.mrgr.cn/news/79059.html

相关文章:

  • 【SARL】单智能体强化学习(Single-Agent Reinforcement Learning)《纲要》
  • 【JMX JVM监控】Prometheus读取Trino的JMX数据到Grafana展示
  • Git分布式版本控制工具 Git基本概念、Git工作流程、Git常用命令、Git远程仓库、IDEA操作Git
  • BUUCTF—Reverse—Java逆向解密(10)
  • C++学习日记---第16天
  • java将word docx pdf转换为图片(不需要额外下载压缩包,直接导入maven坐标)
  • 软件工程——期末复习(2)
  • 【SpringBoot】整合篇
  • 2024第六届金盾信安杯Web 详细题解
  • 软件工程——期末复习(1)
  • 网络命令配置
  • AD学习笔记·空白工程的创建
  • React 第九节 组件之间通讯之props 和回调函数
  • 重生之我在异世界学编程之C语言:深入指针篇(上)
  • 组合问题变式——选数(dfs)
  • 嵌入式硬件面试题【经验】总结----会不断添加更新
  • IDL学习笔记(二)IDL处理卫星数据
  • 使用playwright自动化测试时,npx playwright test --ui打开图形化界面时报错
  • L15.【LeetCode笔记】相同的树
  • 同时将scss全局变量注入、Tailwind样式使用、自己插件配置到vite
  • 汽车IVI中控OS Linux driver开发实操(二十七):常用Linux指令
  • 记录vite关于tailwindcss4.0-bate4出现margin[m-*]、padding[p-*]无法生效的问题。
  • 神经网络中的优化方法(一)
  • Android 应用单元测试涉及 Telephony 环境初始化问题
  • 浏览器的事件循环机制
  • 深入解析 Dubbo 中的常见问题及优化方案: 数据量限制与配置错误20241203