静态路由的原理和配置
一.路由器的工作原理
首先我们知道路由器是工作在网络层的,那就是三层设备。网络层的功能主要为:不同网段之间通信、最佳路径选择也就是逻辑地址(ip地址)寻址、转发数据。
1.路由器是什么
路由器是能将数据包转发到正确的目的地,并且在转发过程中选择最佳路径的设备,用于不同网络之间的通信。(这跟网络层的功能一样)
2.路由器的工作原理
跨网段通信把数据交给网关,ARP请求目标主机MAC地址,数据封装、解封装后通过路由表选择最佳路径然后转发。
第一步:主机1.1段要发送数据包给主机4.1端,因为IP地址不在同一段,主机会将数据包发送给本网段的网关路由器A。
第二步:路由器A接收到数据包,查看数据IP首部中的目标地址,再查找自己的路由表,数据包的目标IP地址是4.1端,属于4.0网段,路由器A在路由表中查到4.0网段对应的是S0接口,然后将数据从S0口转发出去。
第三步:网络中的每一个路由器都是按这样的步骤进行转发数据,直达了路由器B,用同样的转发方法从E0口转发出去,4.1主机就可以收到这个数据。
二.路由表结构
1.路由表是什么
它是路由器中维护的路由条目的集合,路由器根据路由表做路径选择,里面记录了网段ip地址和对应下一跳接口的接口地址。
2.路由表的原理和形成
2.1原理
根据路由表转发数据
2.2形成
直连网段:跟路由器直接相连接的网段,配置IP地址,端口UP状态,形成直连路由。
非直连网段:跟路由器不直连相连的网段,需要静态路由或者动态路由,将网段添加到路由表中。
3.静态路由
3.1静态路由
由管理员手工配置,是单向的,并且缺乏灵活性,静态路由需要管理员逐条写入,而且不能对网络的改变做出反应,因此一般来说,静态路由用于规模不大、拓扑图相对固定的网络中,如果拓扑图变了,管理员又要手动配置了。
注意:它是单方向的,如果要在路由器上配置静态路由,它也是只能往一个方向传输,如果对面需要回访,那就需要在路由器上也配置静态路由。
3.2默认路由 (特殊的静态路由 )
当路由器在路由表中找不到目标的路由条目时,路由器把请求转发到默认路由接口,它是一种特殊的静态路由,同时它的优先级也是最低的,如果同时存在静态路由,它会优先匹配静态路由。
使用场景:
这个网络只有一个唯一的路径能够到达其它网络,默认路由在某些时候非常有效,当存在末梢网络(Stub Network)时,默认路由会大大简化路由器的配置减轻管理员的工作负担,提高网络性能。
①企业的出口路由器
②末梢网络
什么是末梢网络:就是靠近用户主机的最近的一个路由器。
三.路由器转发数据包的封装过程
1.交换机和路由器的区别
交换机:先查看MAC地址缓存表是否有MAC地址,有—>转发,没有—>广播(泛洪)
工作在数据链路层,根据“MAC地址表”转发数据,硬件转发。
路由器:先查看路由表中是否有接口,有—>转发,没有–>丢弃。(路由器封装过程中:IP地址不变,MAC地址随着封装在变动)
2.路由器转发数据包的封装过程
①明确:
源IP地址:192.168.1.2
目标IP地址:192.168.2.2
②前提:
当Host A主机ping Host B主机,此时中间因为跨网段了,所以需要通过路由器来进行转发。但是传输的时候需要知道目标的MAC地址,点到点进行传输时就需要通过MAC地址来识别下一个设备的位置。
第一步:
Host A首先进行广播,使用ARP协议解析出路由器A的MAC地址,然后将路由器A的MAC地址存在自己的ARP缓存表中,再然后将源IP(192.168.1.2)、源MAC(11-11),目标IP(192.168.2.2)、目标MAC(22-22)进行封装,然后送到路由器A的E0接口。
第二步:
当路由器A的E0接口收到数据包后,先进行解封装,再查看目标IP地址,然后根据对应自己的路由表,查询到对应的转发路线,转发路由为E1,将数据送到接口E1。
第三步:
到达路由器A的E1口后再次使用ARP协议解析出路由器B的MAC地址,然后将路由器B的MAC地址存在自己的ARP缓存表中,再然后将源IP(192.168.1.2)、源MAC(33-33),目标IP(192.168.2.2)、目标MAC(44-44)进行封装,送到路由器B的E1接口。
第四步:
到达路由器B的E1接口进行解封装,查看源IP地址,再查看自己的路由表,查找到对应的路线为E0,然后将数据转发至路由器的E0接口。
第五步:
到达路由器B的E0接口,再次进行ARP解析出Host B的MAC地址,并将MAC地址存到自己的ARP缓存表中,然后将源IP(192.168.1.2)、源MAC(55-55),目标IP(192.168.2.2)、目标MAC(66-66)进行封装,封装之后送达到Host B主机中。
③小结:路由器的封装过程中,IP地址不变,MAC地址一直在变。
相关文章:

静态路由的原理和配置
一.路由器的工作原理 首先我们知道路由器是工作在网络层的,那就是三层设备。网络层的功能主要为:不同网段之间通信、最佳路径选择也就是逻辑地址(ip地址)寻址、转发数据。 1.路由器是什么 路由器是能将数据包转发到正确的目的地…...

Ubuntu20.04降低linux版本到5.4.0-26-generic
前言 试用ubuntu20.04安装昇腾的驱动和cann的时,出现如下问题: (base) rootubuntu:/home/work# ./Ascend-hdk-910-npu-driver_23.0.rc3_linux-aarch64.run --full Verifying archive integrity... 100% SHA256 checksums are OK. All good. Uncompr…...
C++ 类型萃取
什么是 type_traits 在C中,类型萃取(type_traits)是一种编译时技术,用于在编译期间获取和操作类型的信息。 主要用于泛型编程以及在编译时做出决策。 类型萃取可以帮我们检查和处理类型特性,从而优化代码、避免错误或…...

【JVM从入门到实战】(四)类的生命周期
什么是类的生命周期 类的生命周期描述了一个类加载、连接、初始化、使用、卸载的整个过程 一个类完整的生命周期如下: 加载阶段 加载阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。 程序员可以使用Java代码拓展的不同的渠道…...

2023年度美食关键词-葱油花卷
2023年即将过去了,总结这一年的美食关键词,对于我来就,应该就是-大葱了。 前一周,朋友送了我5大葱,在北方,大葱是家家户户必不可少的食材,尤其对于面食爱好者来说,大葱的加入无疑让…...

「Verilog学习笔记」简易秒表
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1nsmodule count_module(input clk,input rst_n,output reg [5:0]second,output reg [5:0]minute);always (posedge clk or negedge rst_n) begin if (~rst…...
《每天一个Linux命令》 -- (12) file命令
欢迎阅读《每天一个Linux命令》系列 !在本篇文章中,将说明file命令用法。 概念 file命令是Linux系统下的文件类型识别命令,用于识别文件的类型。 命令操作 file命令的语法如下: file [选项] 文件命令详细解释 以下是 file 命…...

如何使用ArcGIS Pro制作类似CAD的尺寸注记
经常使用CAD制图的朋友应该比较熟悉CAD内的尺寸标注,这样的标注看起来直观且简洁,那么在ArcGIS Pro内能不能制作这样尺寸注记呢,答案是肯定的,这里为大家介绍一下制作的方法,希望能对你有所帮助。 数据来源 本教程所…...
Go语言bufio包的使用
准备文本文件 rpc_intro.txt RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议, 允许调用不同进程空间的程序。RPC 的客户端和服务器可以在一台机器上,也可以在不同的机器上。程序员使用时,就像调用本地程序一样&…...

计算机网络之IP篇
来源自小林Coding博客,阅读后部分精简笔记 目录 一、IP 的基本认识 二、DNS 三、ARP 四、DHCP 五、NAT 六、ICMP 七、IGMP 七、ping 的工作原理 ping-----查询报文的使用 traceroute —— 差错报文类型的使用 八、断网了还能 ping 通 127.0.0.1 吗&…...
Java中JDK类库常用的6种设计模式
Java中JDK类库常用的6种设计模式:1、抽象工厂。2、建造者模式。3、工厂模式。4、原型模式。5、单例模式。6、适配器模式。 1、抽象工厂 javax.xml.parsers.DocumentBuilderFactory抽象类。 public static DocumentBuilderFactory newInstance()方法。 类功能&…...
C++ 用法全面剖析
我们知道,参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。 对于像 char、bool、int、float 等基本类型的数据,它们占用的内存往往只有几个字节,对…...
数据库结构
三级结构 内模式:也称为物理模式,它是数据库中数据的物理存储表示,描述了数据在存储介质上的存储方式和物理结构,通常由数据库管理员进行定义。 概念模式:也称为逻辑模式,它是对数据库中全体数据的逻辑表示…...
什么是HTML以及超链接,特殊符号转义的简单使用
目录 什么是HTML🌸 HTML版本 版本说明🌸 XHTML和HTML的区别 超链接🌸基本语法🌸链接的分类 特殊符号 什么是HTML HTML 不是编程语言,没有逻辑处理能力,没有计算能力,不能动态地生成内容&#x…...

汽车销售技巧培训应该学习哪些内容
汽车销售技巧培训应该学习哪些内容 随着汽车市场的竞争日益激烈,汽车销售技巧培训对于提高销售人员的销售能力和服务水平至关重要。本文将介绍汽车销售技巧培训应该学习哪些内容,并结合案例进行分析。 一、产品知识 作为销售人员,了解所销售…...

机器学习---Adaboost算法
1. Adaboost算法介绍 Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然 后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。Adaboost算法本身…...

Java网络编程,使用UDP实现TCP(三), 基本实现四次挥手
简介 四次挥手示意图 在四次挥手过程中,第一次挥手中的Seq为本次挥手的ISN, ACK为 上一次挥手的 Seq1,即最后一次数据传输的Seq1。挥手信息由客户端首先发起。 实现步骤: 下面是TCP四次挥手的步骤: 第一次挥手&…...

“百里挑一”AI原生应用亮相,百度智能云千帆AI加速器首个Demo Day来了!
作者简介: 辭七七,目前大二,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖…...

PyTorch深度学习实战(25)——自编码器
PyTorch深度学习实战(25)——自编码器 0. 前言1. 自编码器2. 使用 PyTorch 实现自编码器小结系列链接 0. 前言 自编码器 (Autoencoder) 是一种无监督学习的神经网络模型,用于数据的特征提取和降维,它由一个编码器 (Encoder) 和一…...

靠谱的车- 华为OD统一考试(C卷)
靠谱的车- 华为OD统一考试(C卷) OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...