IP路由基础

news2024/11/18 9:28:23

——IP路由基础(IA)——

​​​​​​​HCIA全套笔记已经上线(arp+AAA+vlan+Trunk+链路聚合+vlan间通信+ACL+广域网技术+以太网交换...........)_孤城286的博客-CSDN博客

目录

——IP路由基础(IA)——

(1)路由概述

1、路由基本概念

-- 路由信息介绍:

-- 路由表:

2、路由条目生成

3、最优路由条目优选

-- 路由表

-- 路由优先级

-- 度量值(COST)

4、路由转发

-- 最长掩码匹配原则

(2)静态路由

1、静态路由应用场景

2、静态路由特点

3、静态路由配置

4、缺省路由

(3)动态路由

(4)路由高级特性

1、路由递归

2、等价路由

3、浮动路由

(5)CIDR&路由汇总

1、CIDR

2、路由汇总


(1)路由概述

  • 背景:IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域。
  • 为实现IP寻址,分布在不同区域的网段之间要能够相互通信。

1、路由基本概念

  • 路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。
  • 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
  • 路由设备维护着一张路由表,保存着路由信息。

-- 路由信息介绍:

路由中包含以下信息:

  • 目的网络:标识目的网段
  • 掩码:与目的地址共同标识一个网段
  • 出接口:数据包被路由后离开本路由器的接口
  • 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址

这些信息标识了目的网段、明确了转发IP报文的路径

-- 路由表:

  • 路由器通过各种方式发现路由
  • 路由器选择最优的路由条目放入路由表中
  • 路由表指导设备对IP报文的转发
  • 路由器通过对路由表的管理实现对路径信息的管理

2、路由条目生成

直连路由:

  • 直连路由指向本地直连网络的路由,由设备自动生成。
  • 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
  • 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。
  • 直连路由的下一跳地址并不是其他设备上的接口地址,因为该路由的目的网段为接口所在网段,本接口就是最后一跳,不需要再转发给下一跳,所以在路由表中的下一跳地址就是接口自身地址。
  • 使用直连路由进行路由转发时,转发的动作不是交给下一跳,而是查询ARP表项,根据ARP表项封装报文,将报文发送到目的IP。
  • 注意: 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。

3、最优路由条目优选

-- 路由表

display ip routing-table

-- 路由优先级

  • 当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。( 例如从不同的路由协议学习到的)
  • 路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
  • 拥有最高优先级的路由将被添加进路由表。

-- 度量值(COST)

  • 当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时,度量值将作为路由优选的依据之一。
  • 路由度量值表示到达这条路由所指目的地址的代价。
  • 一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。
  • 度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
  • 度量值很多时候被称为开销(Cost)

4、路由转发

-- 最长掩码匹配原则

  • 当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
  • 掩码越越大,越精确

5、总结

  • 当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
  • 当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。
  • 路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
  • 数据通信往往是双向的,因此要关注流量的往返(往返路由)。

(2)静态路由

1、静态路由应用场景

  • 静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
  • 缺点是不能自动适应网络拓扑的变化,需要人工干预。

2、静态路由特点

  1. ① 管理员手动配置非直连的路由信息
  2. ② 适用于小型网络结构,拓扑结构相对固定的网络环境
  3. ③ 静态路由具备路由递归、负载分担、路由备份等功能
  4. ④ 如果没有配置负载分担或者备份路径,当静态路由失效后,无法再次选路。
  5. ⑤ 无法适应规模较大的网络:随着设备数量增加,配置量急剧增加。
  6. ⑥ 无法动态响应网络变化:网络发生变化,无法自动收敛网络,需要工程师手动修改。

3、静态路由配置

4、缺省路由

  • 缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
  • 缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。
  • 缺省路由一般用于企业网络出口,配置一条缺省路由让出口设备能够转发前往Internet上任意地址的IP报文。

(3)动态路由

动态路由分类

根据路由信息传递的内容、计算路由的算法,可以将动态路由协议分为两大类

--距离矢量协议(Distance-Vector Protocol)

  • RIP

--链路状态协议(Link-State Protocol)

  • OSPF
  • IS-IS

--BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算法。因此在某些场合下,BGP也被称为路径矢量路由协议。

根据工作范围不同,又可以分为

  • 内部网关协议IGP(Interior Gateway Protocol):在一个自治系统(AS自治系统中运行相同的IGP协议,AS之间使用BGP相连)内部运行。RIP、OSPF、ISIS为常见的IGP协议。
  • 外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。

(4)路由高级特性

1、路由递归

  • 路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
  • 路由递归也被称为路由迭代。

2、等价路由

等价路由: 来源相同、开销相同的路由都会被加入路由表,形成的路由为等价路由(两个路由条目指向的目的网段相同,但是具有不同的下一跳地址),路由转发会将流量分布到多条路径上。

负载分担: 路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担。(防止单一链路带宽瓶颈,冗余功能。防止点单点故障。)

路由负载分担算法:

基于包的负载分担,已经很少使用 (因为容易引起数据乱序)

基于流的负载分担,默认的主流负载分担方式

  • 根据5元组(sip + dip + sport + dport + TCP/UDP)来判断是否属于同一个流:
  • 5个参数相同的报文则认为是同一个流,走相同的链路。(不同的流也可以走相同的链路,也可以走不同的)
  • 同一个流往往代表同一种应用,在确定的路径上转发,网路质量相对稳定

3、浮动路由

  • 静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
  • 浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。
  • 当优先级小的没有之后,优先级较大的才会浮现出来

(5)CIDR&路由汇总

1、CIDR

  • CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
  • CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。

2、路由汇总

HCIA—子网划分与路由汇总(VLSM + CIDR)_路由汇总与cidr_孤城286的博客-CSDN博客

精确的CIDR可能会增加路由的条目的数量,但是路由表精确度提高,不精确的CIDR路由条目的数量减少,但路由表的精确度降低。

路由汇总计算方法: IP地址+掩码 ➡网络地址 ➡ 化为二进制寻找相同bit位 (其他为0) ➡化为十进制 ➡ 得出汇总路由

推荐做法:

  • 能精确汇总的路由尽量精确汇总。
  • 在没有路由黑洞风险的情况下,可以做不精确的路由汇总。
  • 无法汇总的路由,直接发布路由本身

路由汇总背景:

  • 子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题:路由表中的路由条目数量增加。
  • 对于一个大规模的网络来说,路由器或其他具备路由功能的设备势必需要维护大量的路由表项,为了维护臃肿的路由表,这些设备就不得不耗费大量的资源。同时,由于路由表的规模变大,会导致路由器在查表转发时效率降低。因此在保证网络中的路由器到各网段都具备IP可达性的同时,需要减小设备的路由表规模。一个网络如果具备科学的IP编址,并且进行合理的规划,是可以利用多种手段减小设备路由表规模的。一个非常常见而又有效的办法就是使用路由汇总(Route Summarization)。

路由汇总简介

  • 路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。
  • 路由汇总采用了CIDR的思想:将相同前缀的地址聚合成一个。
  • 我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。

路由汇总带来的环路问题及解决

  • 一般来说一条路由,无论是静态的或者是动态的,都需要关联到一个出接口,路由的出接口指的是设备要到达一个目的网络时的出站接口。路由的出接口可以是该设备的物理接口,例如百兆、千兆以太网接口,也可以是逻辑接口,例如VLAN接口(VLAN Interface),或者隧道(Tunnel)接口等。在众多类型的出接口中,有一种接口非常特殊,那就是Null(无效)接口,这种类型的接口只有一个编号,也就是0。Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口为Null0的路由,那么这些报文将被直接丢弃,就像被扔进了一个黑洞里,因此出接口为Null0的路由又被称为黑洞路由。

精确的路由汇总

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

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

相关文章

【Debug】Centos 7 下部署 ElasticSearch 及 Kibana 时踩过的坑

Windows 电脑安装的 Centos 7 都是 X86_64版本, 但是 MAC 电脑 M1 芯片安装的是 arm 64 版本的 Centos 7, 这就导致有些镜像的安装可能会出现问题. 如果拉取速度比较慢, 修改镜像源, 如我的镜像源如下: 执行创建或修改镜像源指令: vim /etc/docker/daemon.json, 然后将下面的内…

【CMU15-445数据库】bustub Project #2:B+ Tree(上)

(最近两个月学校项目有亿点忙,鸽得有点久,先来把 Project 2 补上) 本节实验文档地址:Project #2 - BTree Project 2 要实现的是数据结构课上都会讲的一个经典结构 B 树,但是相信大多数的同学(…

vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地

①首先下载 FileSaver.js 插件 npm install file-saver --save ②在需要的.vue页面引入 import { saveAs } from file-saver 在HTML中引入 <script src"https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> //Fil…

k8s 安装dashboard

前言 上一篇中将k8s简单部署安装上了&#xff0c;这篇接着安装下dashboard。 具体步骤 下载yaml文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml注意&#xff1a;这里使用的版本是v2.5.0&#xff0c;这个要和k8s的版…

褪去大厂光环下的功能测试,出去面试自动化居然一问三不知......不淘汰你淘汰谁呢

在一家公司待久了技术能力反而变弱了&#xff0c;原来的许多知识都会慢慢遗忘&#xff0c;这种情况并不少见。 一个京东员工发帖吐槽&#xff1a;感觉在大厂快待废了&#xff0c;出去面试问自己接口环境搭建、pytest测试框架&#xff0c;自己做点工太久都忘记了。平时用的时候…

CCF-CSP真题《202212-2 训练计划》思路+python题解

想查看其他题的真题及题解的同学可以前往查看&#xff1a;CCF-CSP真题附题解大全 试题编号&#xff1a;202212-2试题名称&#xff1a;训练计划时间限制&#xff1a;1.0s内存限制&#xff1a;512.0MB问题描述&#xff1a; 问题背景 西西艾弗岛荒野求生大赛还有 n 天开幕&#xf…

总结Anisble中的任务执行控制并练习

文章目录一、循环1.简单循环2.循环散列或字典列表二、条件三、触发器四、处理失败任务1.ignore_errors2.force_handlers3.changed_when4.failed_when5.block五、 练习建立大小为1500M名为/dev/sdb1的设备利用ansible循环安装且开启vsftpd&#xff0c;apache&#xff0c;dns&…

java8新特性【2023】

Lambda表达式 新的一套语法规则 是一个匿名函数 Testpublic void test1(){Runnable r1 new Runnable(){Overridepublic void run() {System.out.println("线程A");}};r1.run();System.out.println("");Runnable r2 () -> System.out.println("…

linux 安装rabbitmq 文档

1、下载rabbitMQ https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.9.15对应的erlang https://packagecloud.io/app/rabbitmq/erlang/search?distel%2F7https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm?distro_ver…

Mysql | Error Code: 1153 - Got a packet bigger than ‘max_allowed_packet‘ bytes

描述 在执行sql语句插入的时候&#xff0c;报出了Error Code: 1153 - Got a packet bigger than ‘max_allowed_packet’ bytes 错误 解决方法 &#x1f6a9; 临时调整&#xff0c;重启后失效 1️⃣ 查询默认的max_allowed_packet值大小 执行语句&#xff1a; SHOW VARIABLE…

[Android Studio] Android Studio Virtual Device虚拟机的功能试用

&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Android Debug&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Topic 发布安卓学习过程中遇到问题解决过程&#xff0c;希望我的解决方案可以对小伙伴们有帮助。 &#x1f680;write…

JS:构造函数和原型

目录 1.构造函数和原型 1.1 概述 1.2 构造函数 1.2.1创建 1.2.2 静态成员和实例成员 1.3 构造函数原型 prototype 1.4 对象原型_proto_ 1.5 constructor 构造函数 1.6 构造函数、实例、原型对象的关系 1.7 原型链 2. 继承 2.1 call() 1.构造函数和原型 1.1 概述 在…

OpenStack

名词解释RAM 身份验证管理SDN 软件定义网络虚拟化为什么openstack清一色的KVM&#xff1f;KVM属于redhat&#xff0c;开源可定制nentron实现SDNSDN实现了东西向流量管理&#xff08;VPC与VPC的流量管理&#xff09;SDNVXLan实现隧道网络&#xff08;对等连接&#xff09;SDN在公…

【郭东白架构课 模块一:生存法则】04|法则二:架构师为什么要学习马斯洛的需求理论?

你好&#xff0c;我是郭东白&#xff0c;今天我们来聊聊架构师的第二个生存法则&#xff1a;架构活动需要尊重和顺应人性。 自从学习计算机专业的那一天起&#xff0c;我们似乎就走入了一个简单直接的机器世界&#xff0c;一个完全靠逻辑和数字主宰的世界。于是我们总不自觉地认…

如何将数据库结构导入到word

在navicat执行查询语句 SELECT COLUMN_NAME 备注, COLUMN_COMMENT 名称, COLUMN_TYPE 数据类型, false as 是键 FROM INFORMATION_SCHEMA.COLUMNS where -- wx 为数据库名称&#xff0c;到时候只需要修改成你要导出表结构的数据库即可 table_schema yuncourt_ai AND -- articl…

蓝库云|制造业数字化转型为何转不动?资料处理很重要

数字化转型已经成为每个产业势在必行的课题&#xff0c;没有人会怀疑数字化技术与科技能解放的生产力能量&#xff0c;但为什么看似美好的愿景&#xff0c;实行起来却如此缓慢&#xff1f;蓝库云认为这是因为没有盖好「资料治理」的地基。 面对不断变化的法令规范要求&#xf…

<<Java开发环境配置>>7-Apache Tomcat安装教程环境变量配置IDEA配置

一.Apache Tomcat简介: Apache是普通服务器&#xff0c;本身只支持html即普通网页。不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页&#xff0c;但像php,cgi,jsp等动态网页就需要Tomc…

无需端口映射,快解析外网访问U8C

U8C是用友针对成长型、创新型企业&#xff0c;提供企业级ERP整体解决方案&#xff0c;支持多组织业务协同、营销创新、智能财务、人力服务&#xff0c;构建产业链制造平台&#xff0c;实现企业互联网资源连接、共享、协同。 在系统实施过程中&#xff0c;多数企业想要自主掌握企…

分支管理方案

背景 在工作的过程中&#xff0c;git管理方式已经成为每一个项目开发的基础&#xff0c;每个项目的开发都离不开git管理方式。 但是在使用的过程中&#xff0c;由于对git分支管理方案的了解不深&#xff0c;导致会出现分支管理不明确的情况。 本文主要是做科普作用&#xff…

c++类与对象

1.类的定义 2.类的构造函数 1.函数名与类名相同 2.无返回值 3.对象实例化时编译器会自己调用构造函数 4.构造函数可以重载 5.没有显示定义时&#xff0c;编译器会自动调用一个无参的默认构造函数&#xff0c;一旦写显示则不生成 6.对于内置类型构造函数不做处理&#xff0c;对于…