网络复习——路由器&交换机工作原理

2023-10-30

1.路由器的工作原理

路由器的工作原理,3层设备;当数据包进入路由器时,路由器先查看数据包中的2层报头目标MAC地址;
①. 广播:解封装到3层(当路由器收到数据包时,如果目标MAC为全F,那么路由器无法判断广播与自己有无关系,需要借助3层)
②. 组播:每一个组播地址均存在自己的MAC地址;基于目标MAC就可以判断本地是否需要解封装;若本地加入了该组将解包,否则直接丢弃
③. 单播:
(a)目标MAC为路由器接收到该流量的接口mac地址 --解封装
(b)目标MAC不是本地路由器的mac地址 --丢弃

二层解封装完成后,查看3层报头;默认路由器仅查看目标ip地址;
由于路由器只看目标ip会导致一种攻击行为:
在这里插入图片描述
目标ip也有3种情况:
①. 广播:解封装到4层
②. 组播:若路由器加入了该组,解封;若没有加入,丢弃
③. 单播:
(a) 目标ip地址为路由器,继续解封
(b) 目标ip地址为其他设备,路由器将查询本地的路由表—TCAM
交换机的CAM表二进制表格,TCAM由1、0、x构成 x标识主机位

数据交换方式(路由方式)
(1)原始包交换:先查询本地的TCAM表,再查看本地的ARP表来确定目标或者下一跳的mac地址—前提网络环境为以太网
在这里插入图片描述
(2)快速交换: 一次路由多次交换 基于数据流的第一个包进行TCAM和ARP表查询;之后将该通信过程—源目ip地址、进出接口、新的二层封装记录到缓存中;生成一个cache列表(该cache列表里存储着数据流进出的接口,以及源目ip,源目MAC,新的二层封装记录);该数据流的第二个包将基于缓存直接转发;

(3)特快交换: 最早由cisco提出;CEF技术 无需路由直接交换
路由器将本地的路由表和ARP直接转换为二进制的列表;之后将两个表格整合形成转发规则;
路由表—FIB转发信息数据库 –解决完了递归
ARP—adj 邻居关系表

面试:流量到了边界路由器先进行路由查表,还是先nat转换?

在这里插入图片描述
解析:流量从内网往外网走,先查表在nat(内网还有其他的路由器,先路由在nat,如果先nat,那么流量就不能内网的其他路由器。
流量从外网往内网走,先nat在查表(外部为公有ip,只有nat后变成私有Ip,才能查询私有路由表,转发到私有目的地)

2.网络类型:

点到点 – 在一网段内只能存在两个物理接口
BMA – 广播型多路访问网络 在一个MA网络中,同时存在广播洪泛机制
NBMA – 非广播型多路访问网络 在一个MA中不支持洪泛机制,只能使用伪广播来进行广播或组播行为
MA:多路访问,在一个网段内物理节点数量不做限制

如何判断网络类型?

解析:接口的二层封装。
举例1:接口使用的以太网网线,以太网技术是BMA技术。以太网存在广播洪范的机制,故为BMA。
举例2:如果2个路由器之间使用串线相连,但是接口的二层封装为PPP/hdlc,这个就为点到点网络类型。因为hdlc和ppp技术在物理上不允许连第三第四个路由器。

面试:

不同的网络类型能否建立OSPF 邻居(邻接)?

能,ospf中建立邻居(邻接)的条件没有要求网络类型相同
==邻居关系建立条件: (面试) ==
1.router-id 必须不同 ,ospf是链路状态,router-id唯一标识
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
4.hello时间,dead时间
5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)
做了stub区域,E=0,没做stub区域的E=1
在这里插入图片描述

面试举例:
1.p2mp和p2p的网络类型不能建立邻接关系,原因是hello时间不同,并不是因为不同的网络类型导致的,修改成相同的就可以。
2.一端为p2p,一端为BMA ,能建立邻接关系(hello时间相同),但是路由有问题。
BMA选DR,p2p不选DR,路由有问题,SPF算法无法计算路径,学不到路由,路由不能加表

3.交换机

二层交换机的作用:

①.提供端口密度,用于更多节点的互联 集线器(HUB)也可以实现
②. 对电流信息进行识别在转发(将电流信号转成二进制信号,再将二进制信号转为电流信号转发给第二个交换机);故理论上可以无限延长传输距离
③. 实现完全没有冲突;实现所有节点间的同时数据收发(以前使用集线器电流信号和电流信号相遇产生冲突,现在使用交换机将电流信号都转为二进制信号了不存在物理冲突)
④. 二层单播(以前是集线器是物理导体,A发包,所有人都会收到包。现在交换机基于MAC转发,不在收到其他pc发的垃圾流量)

二层交换机的工作原理:

数据帧进入交换机后,交换机先查看数据帧中的源mac地址,基于该mac的进入接口记录到本地的MAC地址表—CAM 表
标准CAM = MAC + 接口编号 + 哈希运算
支持vlan基础的CAM = MAC+接口编号+VLAN ID + 哈希运算
哈希运算==hash 散列函数算法 – 摘要提取法
最常用哈希算法 MD5 SHA-1 -128 -256 -512

注意:哈希算法不是加密算法,哈希是散列函数算法。
加密算法的共同特点:
①. 加密后的数据比原数据大。
②. 要有key
③. key可以用来加密和解密
哈希算法特点:
①. 不等长的输入,等长的输出(输入的大小不定,1M or 1T都ok,但是输出就只有128bit。因此不能原来加密,无法还原的数据)
②. 雪崩效应(输入有一丢丢变化,输出就完全变化,适合做校验))
③. 不可逆向运算(不可还原数据)

三层交换机工作原理:

二层交换机和路由器的功能集合设备;
当一个数据包进入3层交换机后,会有3个步骤:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络复习——路由器&交换机工作原理 的相关文章

  • 深聊全链路压测之:第二十二讲

    解决 GoReplay 动态数据关联 1 引言 2 中间件 2 1 什么是中间件 2 2 如何使用中间件 3 关联 3 1 什么是关联 3 2 关联回放实现 4 总结 1 引言 第二十讲 我们聊的是GoReplay平台的搭建 在私下里 不少
  • 使用html表单制作简单网页(加表单详细知识点)

    表单也是html非常重要的一块 常用于输入信息 进行信息的收集和提交 属性 action 信息提交地址 method 提交方式 get 信息拼接在地址中 不安全 post 信息打包发送 安全 select 下拉菜单 option 下拉菜单中
  • 无法获取 java Console 对象

    在eclipse环境中调用System console 获取Console对象 打印返回对象为空 反复试验都是相同结果 Console con System console if con null System out println co
  • 分布式系统:数据分区

    数据分区 每一条数据只属于某个特定分区 一个大数据集可以分散在更多的磁盘上 查询负载也随之分布到更多的处理器上 每个节点对自己所在分区可以独立执行查询操作 因此可以提高查询的吞吐量 通常一个节点负责几个分区 采用数据分区的主要目标是提高可扩
  • Python手势识别与控制

    代码地址如下 http www demodashi com demo 12968 html Python手势识别与控制 概述 本文中的手势识别与控制功能主要采用 OpenCV 库实现 OpenCV是一个基于BSD许可 开源 发行的跨平台计算
  • Spring Security集成knife4j访问接口文档出现403

    目录 问题描述 解决过程 问题描述 使用的springboot版本是2 3 12 RELEASE 引用的依赖如下
  • 搜索引擎的故事

    本篇要介绍的搜索引擎包括 Shodan censys 钟馗之眼 Google FoFa Dnsdb等 介绍的内容主要是这几款搜索引擎的一些高级语法 掌握高级语法会让搜索结果更准确 Google搜索引擎 这里之所以要介绍google搜索引擎
  • 日常开发中常用的JVM调优参数有哪些呢?

    下文笔者讲述JVM调优参数的简介说明 如下所示 Xms2g 初始化推大小为 2g Xmx2g 堆最大内存为 2g XX NewRatio 4 设置年轻的和老年代的内存比例为 1 4 XX SurvivorRatio 8 设置新生代 Eden
  • python找不到对象报错代码,python2.7源码安装方式

    安装python2 7 下载Python 2 7 下载地址 解压安装 tar xzvf Python 2 7 15 tgz cd Python 2 7 15 configure prefix opt local python enable
  • Ubuntu下安装MySQL 以及C++连接MySQL

    一 简单分享Ubuntu 16 04下安装MySQL的过程 首先执行下面三条命令 sudo apt get install mysql server 此步骤可以省略 已经启用docker mysql服务容器 sudo apt get isn
  • ctf.show刷题记录_web(1-10)

    ctf平台 ctfshow https ctf show 1 签到 解题 base64解码 ctfshow 0da357d0 359b 47e1 80dc 5c02212725e5 2 web2 解题 正常页面 输入用户名admin 密码a
  • koin框架预研文档

    背景 koin框架简介 Koin框架 适用于使用Kotlin开发 是一款轻量级的依赖注入框架 无代理 无代码生成 无反射 相对于dagger 而言更加适合Kotlin语 引入目的 目前app比较常用的是dagger框架 dagger框架属于
  • echarts显示纵坐标轴上的箭头

    问题描述 提示 这里描述具体问题 在使用echarts时默认纵坐标是不显示的 所以你在怎么设置样式也不会显示出来 需要手动在代码里面写出来 yAxis name type value axisLine show true 这个是需要主动添加
  • java实现插入排序+代码推导

    图解 代码推导 package data structure import java util Arrays public class insertSort public static void main String args int a
  • 使用Eclipse IDE for GNU ARM搭建STM32的开发环境

    01 下载必要的文件 1 1 安装java运行环境 这一步比较简单 就不细说了 1 2 需要下载四个文件gnumcueclipse gcc arm none eabi xpack windows build tools jlink gnum
  • VS2017无法登录:我们无法刷新此账户的凭证、我们无法添加此账户发送请求时出错、评估期已结束,请登录以解除产品锁定

    之前下了vs但是开的有点慢习惯用codeblocks了 之后因为vs有快速生成类getset函数的快捷键就跑回来用 这个时候vs提示我 评估期已结束 请登录以解除产品锁定 问题描述 vs2017许可证到期 如何评估 解决方法 登录更新许可证
  • IRI-2016 Matlab 使用教程

    IRI2016在线计算模型 https ccmc gsfc nasa gov modelweb models iri2016 vitmo php 同时IRI2016还有Matlab和Fortran版本 其中的Matlab也是通过在线的接口进
  • 直流电机PID调节——P

    其实要用PID调节的话 最好是使用带有编码器的比较高端一点的直流减速电机 但是因为它价格有点贵 所以我们一般做智能小车就会选用普通的直流电机 但是普通的直流电机也是可以使用PID调节的 虽然它的效果没有带编码器得到直流减速电机的好 但是我们
  • 单片机检测脉冲个数c语言程序,C51单片机脉冲累加器(C语言程序)

    void timer0 void interrupt 1 using 1 switch count case 1 TH0 2700 pwm value 256 TL0 2700 pwm value 256 while 1 if pwm va

随机推荐

  • 分享个最佳的代码片段在线测试网站

    Its our pleasure to share best resources tools for web developers and designer Today we are 1 非常好的在线编译调试网站 https www onl
  • 10.网络爬虫—MongoDB详讲与实战

    网络爬虫 MongoDB详讲与实战 MongoDB MongoDB安装 创建数据目录 1 数据库操作 2 集合操作 3 文档操作 4 索引操作 5 聚合操作 6 备份与恢复 MongoDB增删改查 mongodb集合的增删改查 数据插入到表
  • 知识点记录-abase是什么

    Abase Abase是一套支持redis协议的分布式KV存储系统 是字节跳动自研的一套数据库系统 对在线业务发挥着核心作用 支持redis协议 高可用 低延迟 高扩展的kv存储 常用于redis的大容量持久化场景 为什么采用Abase r
  • 在react项目中调用百度地图API的BMap后报错解决方案

    我这里是使用了react typescript技术栈 在 public index html文件中引入百度地图项目的文件 就相当于是全局导入了 但是并不能直接使用相关的API 需要在使用的文件中这样声明一下 然后就可以直接使用了 const
  • stm32专题二十九:Flash 读写保护

    设置Flash的读写保护 其实就是操作内部Flash的选项字节 选项字节在内部Flash的主存储页之后 由于是Flash 不能像内存RAM一样随意写入 由于Flash的写入特性 只能将 1 写成 0 而如果要确保写入数据的绝对正确 则需要先
  • pytorch:nn.ReLU(inplace=True) 中的参数 inplane 的作用

    pytorch 的激活函数nn Relu 有一个参数 inplace 其作用是 该nn Relu 函数计算得到的输出是否更新传入的输出 正常情况下 一个卷积操作 首先经过卷积层 接着是正则化 Normalize 最后经过激活函数 而输入激活
  • Excel多行转置为一列

    原始数据如下 想把上述数据变成下边这个样子 面板模型数据录入需要用到下边这个形式的数据 步骤 1 先把所有原始数据转置 2 再在153 19下的单元格输入 C2 输入完之后 16 85就会在153 19下的单元格处了 再先横向 后纵向下拉即
  • 解决IDEA安装Python插件,下载失败的方法

    一 问题 通过file gt settings gt Plugins 安装python时 会提示下载失败 可以采用以下方法解决 二 解决办法 1 在help about中查看IDEA版本 作者的是181 4445 2 在https plug
  • Java架构直通车——结合源码理解PageHelper

    PageHelper实现方式 PageHelper首先将前端传递的参数保存到page这个对象中 接着将page的副本存放入ThreadLoacl中 这样可以保证分页的时候 参数互不影响 接着利用了mybatis提供的拦截器 取得Thread
  • XXL-JOB任务分片

    文章目录 任务类型 任务配置 路由策略 阻塞处理策略 单个任务和集群任务 单机多任务分片 集群分片 任务类型 单个任务 一个任务实例便可完成 单机单任务 单机模式下任何路由模式都只有一个实例执行 集群单任务 由路由策略 广播模式除外 选择其
  • 内网穿透-外远程连接中的RabbitMQ服务

    文章目录 前言 1 安装erlang 语言 2 安装rabbitMQ 3 内网穿透 3 1 安装cpolar内网穿透 支持一键自动安装脚本 3 2 创建HTTP隧道 4 公网远程连接 5 固定公网TCP地址 5 1 保留一个固定的公网TCP
  • GIS项目研发总结

    海珠区慢性防治系统 项目研发阶段性总结 作者 华境聪 本次任务完成时间 2018年12月22日 2019年1月16日 完成模块功能 前台 图层管理 医院 社康 药店 后台 修改资料 密码 数据管理 一 功能实现 图层管理主要包括医院 社康
  • Strtus2漏洞复现

    文章目录 安装docker 第一步 安装docker 第二步 检查docker安装是否成功 第三步 安装docker compose 第四步 下载漏洞库 第五步 启动 关闭漏洞 漏洞列表 S2 048远程执行代码漏洞 漏洞简介 漏洞原理 影
  • MyBatis整体架构分析:mysql跳过错误执行日志

    缓存维护方案一 如果是一读 线程B 一写 线程A 操作 先操作缓存 再操作数据库 流程图如下所示 1 线程A发起一个写操作 第一步del cache 2 线程A第二步写入新数据到DB 3 线程B发起一个读操作 cache miss缓存失效了
  • python retrying retry

    在写业务时 有个业务需要在return某种情况下 进行重试 代码类似于下面 from retrying import retry def verify self try return self verify 1 except RetryEr
  • Java学习笔记(十三)

    面向对象和面向过程的区别 面向过程 优点 性能比面向对象高 因为类调用时需要实例化 开销比较大 比较消耗 资源 比如单片机 嵌入式开发 Linux Unix 等一般采用面向过程开发 性能是最重要的因素 缺点 没有面向对象易维护 易复用 易扩
  • [网络安全]upload-labs Pass-02 解题详析

    读者可参考 订阅专栏 Upload Labs靶场攻防实战 Antsword蚁剑 该题涉及蚁剑工具的利用 操作可参考 网络安全 AntSword 蚁剑 实战解题详析 入门 网络安全 DVWA之File Upload AntSword 蚁剑 攻
  • echarts柱状图个数多,横坐标名称过长显示不全解决方法

    当echarts柱状图个数多 横坐标名称过长时横坐标名称显示不全 网上并没有搜到太好的方法 于是自己加工了下 将横坐标名称显示前六位 当鼠标放到上面的时候显示全名 下面是示例代码 可以直接拷贝测试 代码解读 HTML div class m
  • 新的换脸模型FaceShifter论文解读

    论文地址 https arxiv org pdf 1912 13457 pdf 前言 本文介绍了一种pipline模型 用以抽取多维度的图片特征信息 并自适应的完成FaceSwap任务 整体模型分类两个部分 第一部分基于AAD Adapti
  • 网络复习——路由器&交换机工作原理

    1 路由器的工作原理 路由器的工作原理 3层设备 当数据包进入路由器时 路由器先查看数据包中的2层报头目标MAC地址 广播 解封装到3层 当路由器收到数据包时 如果目标MAC为全F 那么路由器无法判断广播与自己有无关系 需要借助3层 组播