静态路由的原理和配置

一.路由器的工作原理

首先我们知道路由器是工作在网络层的,那就是三层设备。网络层的功能主要为:不同网段之间通信、最佳路径选择也就是逻辑地址(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地址一直在变。

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

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

相关文章

【QT 5 调试软件+(Linux下验证>>>>串口相关初试串口)+Windows下qt代码在Linux下运行+参考win下历程+基础样例】

【QT 5 调试软件Linux下验证>>>>串口相关初试串口参考win下历程基础样例】 1、前言2、实验环境3、先行了解4、自我总结-win下工程切到Linux下1、平台无关的代码:2、依赖的库:3、文件路径和换行符:4、编译器差异:5、构…

什么是防抖与节流?应用场景举例

防抖节流如何处理防抖与节流 防抖节流防抖例子节流例子Vue Axios全局接口防抖、节流封装实现 小结 防抖 防抖:触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 应用场景: 提交按钮、用户注册…

QEMU源码全解析 —— virtio(2)

接前一篇文章: 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 特此致谢! 上一回对于virtio进行了简介,并说明了其基本原理以及框架。对…

【JVM入门到实战】(三) 查看字节码文件的工具

一、 javap -v命令 javap是JDK自带的反编译工具,可以通过控制台查看字节码文件的内容。适合在服务器上查看字节码文件内容。直接输入javap查看所有参数。输入javap -v 字节码文件名称 查看具体的字节码信息。(如果jar包需要先使用 jar –xvf 命令解压&a…

mmyolo的bbox_loss和检测bbox都是空

最近用mmyolo训练自己的数据集的时候发现训练的时候loss_bbox0,测试和eval的时候结果也全是空的,排除了数据集读取的问题,最后发现是config中自定义了自己的类别但是没有传给dataset。。。 简而言之,在自定义了数据集里的metainf…

【C语言】一个RDMACM、Verbs API与epoll一起使用的例子

一、epoll介绍 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 以下是epoll的主要使用方法和优点: epo…

2023-12-05 Qt学习总结10

点击 <C 语言编程核心突破> 快速C语言入门 Qt学习总结 前言二十六 学生信息管理系统插入介绍: QTableView和QSqlTableModelQTableViewQSqlTableModel 程序所用数据库表格程序组成以及界面学生端源码:管理员端源码: 总结 前言 要解决问题: 学习qt最核心知识, 多一个都不…

Android : BottomNavigation底部导航_简单应用

示例图&#xff1a; 1.先创建底部导航需要的图片 res → New → Vector Asset 创建三个矢量图 图片1 baseline_home.xml <vector android:height"24dp" android:tint"#000000"android:viewportHeight"24" android:viewportWidth"24…

nrm 的使用 可以快速切换下载(npm)镜像,解决资源下载慢和运行失败

nrm是什么&#xff1f; 介绍 nrm(npm registry manager) 是 npm 的镜像源管理工具. 有时候国外资源太慢,使用 nrm 可以快速的在 npm 源之间切换 安装 npm install -g nrm 基本使用 查看可选择的源 nrm ls 切换到对应的镜像源 nrm use 对应的镜像 删除镜像源 nrm del 名字 …

深入理解 SVG:开启向量图形的大门(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

ArcGIS pro与SuperMap根据属性自动填充颜色步骤

GIS项目经常会接触到控规CAD数据&#xff0c;想要把数据转换成GIS图层并发布&#xff0c;需要进行专题配图。研究了一下ArcGIS pro和SuperMap iDesktop的配图&#xff0c;整理一下用到的一些技术思路。 1、Excel表格根据RGB值添加单元格填充颜色 要实现如上效果图&#xff0c;…

【C语言程序设计】循环结构程序设计

目录 前言 一、程序设计第一题 二、程序设计第二题 三、程序设计第三题 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da…

Armv8/Armv9从入门到精通-课程介绍

通知&#xff0c;Arm二期&#xff0c;咱们也有大合集PDF了&#xff0c;共计1587页&#xff0c;还未完成&#xff0c;后续持续更新和优化中。为了方便大家阅读、探讨、做笔记&#xff0c;特意整了此合集PPT&#xff0c;为了增加标签目录&#xff0c;还特意开了福兮阅读器会员。 …

宇视科技视频监控 main-cgi 文件信息泄露漏洞

宇视科技视频监控 main-cgi 文件信息泄露漏洞 一、产品简介二、漏概述三、复现环境四、漏洞检测手工抓包自动化检测 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#…

【C语言程序设计】选择结构程序设计

目录 前言 一、程序阅读 二、程序改错 三、程序设计 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如…

[Linux] Tomcat

一、Tomcat相关知识 1.1 Tomcat的简介 Tomcat 是 Java 语言开发的&#xff0c;Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器&#xff0c;是 Apache 软件基金会的 Jakarta 项目中的一个核心项目&#xff0c;由 Apache、Sun 和其他一些公司及个人共同开发而成。Tomc…

19.java绘图

A.Graphics类 Graphics类是java.awt包中的一个类&#xff0c;它用于在图形用户界面&#xff08;GUI&#xff09;或其他图形应用程序中进行绘制。该类通常与Component的paint方法一起使用&#xff0c;以在组件上进行绘制操作。 一些Graphics类的常见用法和方法&#xff1a; 在组…

Flask维护者:李辉

Flask维护者&#xff1a;李辉&#xff0c; 最近看b站的flask相关&#xff0c;发现了这个视频&#xff1a;[PyCon China 2023] 濒危 Flask 扩展拯救计划 - 李辉_哔哩哔哩_bilibili 李辉讲他在维护flask之余&#xff0c;开发了apiflask这个依托flask的框架。GitHub - apiflask/a…

如何通过 SSH 访问 VirtualBox 的虚机

VirtualBox 是一款免费虚机软件。在用户使用它安装了 linux 以后&#xff0c;它默认只提供了控制台的管理画面。 直接使用控制台管理 Linux 没有使用诸如 putty 或者 vscode 这样的 ssh 远程管理工具方便。那么可不可以直接使用 ssh 访问 VirtualBox 上的 Linux 呢&#xff1f…

【Spark精讲】Spark作业执行原理

基本流程 用户编写的Spark应用程序最开始都要初始化SparkContext。 用户编写的应用程序中&#xff0c;每执行一个action操作&#xff0c;就会触发一个job的执行&#xff0c;一个应用程序中可能会生成多个job执行。一个job如果存在宽依赖&#xff0c;会将shuffle前后划分成两个…