路由器工作原理

路由器原理

路由概述

路由:跨越从源主机到目标主机的一个互联网络来转发数据包的过程。(为数据包选择路径的过程)

作用:路由器是连接不同网段的。

转发依据:

路由表:路径选择全看路由表,根据路由表来转发。

数据到路由后,路由查看目标地址,然后查看路由表。

路由表:

表里有的就转发,表里没有直接丢弃。

丢弃后会给源主机一个icmp回馈,目标主机不可达。

IPv4与ipv6

现在网速之所以难以提高,就是因为全世界网段规划有问题,路由表地址太多,查询太慢了。

在IPv6中全世界的网段已经分划好了,寻址会比较快,如果全世界用上ipv6网速会快很多。

路由配置

当路由接入网段后,会有直连网络,就是直接接入路由的网段。

image-20230729101011955

image-20230729101657555

默认路由

是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由,配置默认路由的路由器,一般不会丢弃数据。边缘路由器非常适合配置默认路由,只有一个方向。

0.0.0.0/0代表所有IP(默认路由)

管理路由值

值越小,优先级越大。

C 0

S 1

S* 无限大

image-20230729103917657

广播与广播域概述

广播与广播域
广播:将广播地址做为目的地址的数据帧
广播域:网络中能接收到同一个广播所有节点的集合

image-20230729105036738

广播域越小越好。

ARP协议:将一个已知的IP地址解析成MAC地址。

ARP命令

arp -a: 查看本机arp缓存

arp -d:清楚ARP缓存,关机后也就没了

arp -s:ARP绑定

image-20230729112252333

路由器的工作原理。

  • 1.一个帧到达路由,路由器首先检查目标MAC地址是不是自己,如果不是则丢弃,如果是则解封装,并讲IP包送到路由器内部。
  • 2.路由器检查IP包头中的目标IP,并匹配路由表,如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口。
  • 3.封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如果有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的MAC地址,再记录缓存,并封装,最后将帧发送出去。
  • 路由器认识MAC地址,但是没有MAC地址表。检查帧头是看是不是给自己发的。

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

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

相关文章

蓝桥杯2018省赛全球变暖dfs

全球变暖 问题描述格式输入格式输出样例输入样例输出评测用例规模与约定解析参考程序 问题描述 格式输入 格式输出 输出一个整数 样例输入 样例输出 1 评测用例规模与约定 最大运行时间:1s最大运行内存: 256M 解析 采用dfs的方式进行搜索,首先输入地…

【C语言】—— __attribute__((fallthrough))

__attribute__((fallthrough)) 是一个在编译器中使用的特性,用于指示在 switch 语句中的 case 标签中故意省略 break 语句时的意图。它告诉编译器,故意省略 break 是有意为之,而不是出现了错误或遗漏。 当使用 switch 语句时,通常…

Xshell使用是出现全黑或全白问题

Xshell使用是出现全黑或全白问题,这是我实际遇到的问题如图。 解决方式: 设置字体 解决成功:

整理mongodb文档(一):增

个人公众号 整理mongodb文档(一):增 看前提示 本文主要用到的工具是mongodb的db管理工具-----mongo compass。 本文主要讲的是在上述工具中如何对db的增加的操作,对应转化为mongose里面的语句我想应该不需要我帮忙了吧。。。 选用mongose的理由也很简单&#xf…

iOS开发-使用网络特殊字体下载CGFontRef

iOS开发-使用网络特殊字体下载CoreText 在开发中遇到需要将字体下载后再显示的情况,这种特殊字体下载后才能正常。 一、字体下载器 在AFNetworking中添加 pod Reachability字体下载器使用AFNetworking实现将字体文件下载 代码如下 #import "SDFontDownloa…

一个监控系统的典型架构

监控系统的典型架构图,从左往右看,采集器是负责采集监控数据的,采集到数据之后传输给服务端,通常是直接写入时序库。然后就是对时序库的数据进行分析和可视化,分析部分最典型的就是告警规则判断,即图上的告…

算法leetcode|65. 有效数字(rust重拳出击)

文章目录 65. 有效数字:样例 1:样例 2:样例 3:提示: 分析:题解:rust:go:c:python:java: 65. 有效数字: 有效数字&#xf…

数字转义汉字数字显示的简单研究

最近有个需求,需要显示汉字数字,比如一二三四五…这样子,问题看起来挺简单,但我没有找到有自带这样的转换的方法,数字转汉字数字,挺有意思的,就简单研究了一下; 百度了一下&#xff…

Java阶段五Day14

Java阶段五Day14 文章目录 Java阶段五Day14分布式事务整合demo案例中架构,代码关系发送半消息本地事务完成检查补偿购物车消费 鲁班周边环境调整前端启动介绍启动前端 直接启动的项目gateway(网关)login(登录注册)atta…

网络请求fetch

fetch()是 XMLHttpRequest 的升级版,用于在 JavaScript 脚本里面发出 HTTP 请求。浏览器原生提供这个对象 fetch()的功能与 XMLHttpRequest 基本相同,但有三个主要的差异。 与 Ajax 类似,Fetch 也是前后端通信的一种方式。Fetch 要比 Ajax …

JavaScript---环境对象this

环境对象:指的是 函数 内部特殊的变量 this,它代表着当前函数运行时所处的环境。每个函数都有环境对象this。函数调用的方式不同,this指代的对象不同。 普通函数里面this指向的是window谁调用,this就指向谁(是判断thi…

React Flow

// 创建项目 npm create vitelatest my-react-flow-app -- --template react // 安装插件 npm install reactflow npm install antd // 运行项目 npm run dev 1、App.jsx import { useCallback, useState } from react; import ReactFlow, {addEdge,ReactFlowProvider,MiniMap…

享元模式——实现对象的复用

1、简介 1.1、概述 当一个软件系统在运行时产生的对象数量太多,将导致运行代价过高,带来系统性能下降等问题。例如,在一个文本字符串中存在很多重复的字符,如果每个字符都用一个单独的对象来表示,将会占用较多的内存…

hive的metastore问题汇总

1. metastore内存飙升 1 问题 metastore内存飙升降不下来; spark集群提交的任务无法运行, 只申请到了dirver的资源; 2 原因 当Spark任务无法获取足够资源时,因为任务无法继续进行,不能将元数据从Metastore返回给任务 后,这些元数据暂存在…

39.手机导航

手机导航 html部分 <div class"phone"><div class"content"><img class"active" src"./static/20180529205331_yhGyf.jpeg" alt"" srcset""><img src"./static/20190214214253_hsjqw…

【leetcode】7.29记录

题目考察内容思路踩坑剑指Offer 05.替换空格(easy)字符串创建StringBuffer&#xff0c;用charAt获取每个字符并判断&#xff0c;用sb.append©添加字符&#xff0c;最后返回sb.toString()541.反转字符串 II (easy)字符串针对每种情况直接实现就行string.substring(start,en…

【hive 运维】hive注释/数据支持中文

文章目录 一. 设置mysql中的hive库二. hive-site.xml 设置三. 测试 hive支持中文需要关注两个方面&#xff1a; 设置hive 元数据库中的一些表设置hive-site.xml. 一. 设置mysql中的hive库 use hivedb; alter table TBLS modify column TBL_NAME varchar(1000) character se…

TCP socket编程

一、服务端代码 #encoding utf -8 #导入socket库 from socket import * #等待客户端来连接&#xff0c;主机地址为0.0.0.0表示绑定本机所有网络接口ip地址 IP 0.0.0.0 #端口号 PORT 50000 #定义一次从socket缓存区最多读入512个字节数据 BUFLEN 512 #实例化一个socket编程…

【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Pythonmatlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

比较常见CPU的区别:Intel、ARM、AMD

一、开发公司不同 1、Intel&#xff1a;是英特尔公司开发的中央处理器&#xff0c;有移动、台式、服务器三个系列。 2、ARM&#xff1a;是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。 3、AMD&#xff1a;由AMD公司生产的处理器。 二、技术不同 1、Intel&…