二层设备与三层设备的区别--总结

1、计算机网络

  学过计算机网络的人都知道,网络是分层次的。执行流程与邮局非常类似。例如从省寄信到某个乡村,邮局顺序一次是省邮局、市邮局、县邮局、镇邮局。一级一级的,最终送到乡村。iso给出网络标准是七层,而实际网络则是四层,即物理层、数据链路层、网络层、应用层。传统的网络设备通常工作在数据链路层和网络层,例如交换机、路由器。而目前有些网络控制设备则工作在应用层,这种设备用于对应用层的报文进行分析,进行应用识别和审计。

2、二层设备和三层设备

  二层设备是工作数据链路层的设备。二层交换机可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
  不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。

  三层设备是工作在网络层的设备。路由器是最常用的三层设备,利用不同网络的ID号(即IP地址)来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的网络,有时这些第三层的地址也称为协议地址或者网络地址。

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

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

相关文章

leetcode189.轮转数组|超简单易于理解方法

题目 https://leetcode.cn/problems/rotate-array/description/https://leetcode.cn/problems/rotate-array/description/ 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输…

springboot完成一个线上图片存放地址+实现前后端上传图片+回显

1.路径 注意路径 2.代码:(那个imagePath没什么用,懒的删了),注意你的本地文件夹要有图片,才可以在线上地址中打开查看 package com.xxx.common.config;import org.springframework.beans.factory.annotat…

Matlab自学笔记二十六:sprintf函数用法简介

1.一个概念 格式化文本,是具有特定显示格式的文本形式,包括字段宽度、显示精度、特殊标志和辅助符号等; 当普通文本和数值需要按照特定格式显示和输出时,会用到格式化文本,常用函数为sprintf。 2. sprintf用法分解 …

深信服技术认证“SCCA-C”划重点:深信服云计算关键技术

为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。“考试重点”内容框架,帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

关于Thread.sleep方法的一些使用

Thread.sleep方法的作用就是使当前线程暂停执行一段指定的时间。 它的参数是以ms为单位的时间参数,表示暂停时间长度。如Thread.sleep(1000);表示暂停1s。 这个方法通常用在以下一些情况: 1、模拟延迟:在某些情况下,我们希望在…

mermaid使用指南+notion使用实例-持续更新中

最近一个月了吧,发现Notion插入图片的功能坏了,直接paste会404,本地上传也不行。电脑本地版和手机端都插不了图片,很头疼。解决方法也简单,用图床,放链接。 付费版我用的七牛,结合PicGo&#x…

Linux 路由配置与使用

概念 路由信息用于指导数据包从源地址查找到目的地址传输路径的信息; 路由分类 根据路由信息的来源分为静态路由和动态路由 静态路由 由管理员手动配置的路由表项信息,根据路由形式的不同,静态路由又可细分为: 直连路由&#xf…

SpringBoot拉取日历数据

SpringBoot拉取日历数据 一、前言 万年历API:https://www.mxnzp.com/doc/detail?id1 二、代码如下 按年生成日历数据国家一般当年10月底发布下一年度的节假日安排 package com.qiangesoft.calendar.mxnzp;import com.baomidou.mybatisplus.core.conditions.qu…

LEETCODE 170. 交易逆序对的总数

class Solution { public:int reversePairs(vector<int>& record) {if(record.size()<1)return 0;//归并 递归int left,right;left0;rightrecord.size()-1;int nummergeSort(left,right,record);return num;}int mergeSort(int left,int right, vector<int>…

Tomcat -- catalina.bat

Tomcat – catalina.bat 配置 1. 手动分配内存&#xff0c;防溢出 # 位置&#xff1a;..\Tomcat\bin\catalina.bat&#xff1b; # echo off 下面添加&#xff08;第二行&#xff09;&#xff1a; set JAVA_OPTS-server -Xms2048m -Xmx2048m -Xss512k -XX:NewSize256m -XX:Max…

【Qt】Json在Qt中的使用

Json JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;广泛用于互联网应用程序之间的数据传输。JSON基于JavaScript中的对象语法&#xff0c;但它是独立于语言的&#xff0c;因此在许多编程语言中都有对JSON的解析和生成支持。…

STM32CubeIDE 使用标准库来编写程序

这些天我想找一个软件来实现软件的替代。就找到了st 的生态。可是现在st 生态都在极力的推荐HAL 库,但是习惯了标准库的朋友们,还不是很习惯。 先上总结一下,为了好记忆: 一、 在编译栏做如下设置 1、头文件设置 2、源文件设置 二、指定具体的预定义宏 1、USE_STDPERIPH_D…

数据结构-图的最小生成树

最小生成树介绍 最小生成树(Minimum Cost Spanning Tree)是代价最小的连通网的生成树&#xff0c;即该生成树上的边的权值和最小 最小生成树的性质&#xff1a; 必须使用且仅使用连通网中的n-1条边来联结网络中的n个顶点&#xff1b; 不能使用产生回路的边&#xff1b; 各…

Linux部署幻兽帕鲁服务器,PalWorld开服联机教程,保姆级教程

------另一个号申请积分-------- Linux系统搭建PalWorld私服&#xff0c;幻兽帕鲁开服联机教程&#xff0c;保姆级教程 最近这游戏挺火&#xff0c;很多人想跟朋友联机&#xff0c;如果有专用服务器&#xff0c;就不需要房主一直开着电脑&#xff0c;稳定性也好得多。 幻兽帕…

Kubernetes operator(五)api 和 apimachinery 篇

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列第五篇&#xff0c;主要对 k8s.io/api 和 k8s.io/apimachinery 两个项目 进行学习基于 kubernetes v1.24.0 代码分析Kubernetes operator学习系列 快捷链接 Kubernetes operator&a…

大数据StarRocks(九):资源隔离实战

前言 自 2.2 版本起&#xff0c;StarRocks 支持资源组管理&#xff0c;集群可以通过设置资源组&#xff08;Resource Group&#xff09;的方式限制查询对资源的消耗&#xff0c;实现多租户之间的资源隔离与合理利用。在 2.3 版本中&#xff0c;StarRocks 支持限制大查询&#…

Android配置GitLab CI/CD持续集成,Shell版本的gitlab-runner,FastLane执行,上传蒲公英

mac环境下&#xff0c; 首选需要安装gitlab-runner和fastlane brew install gitlab-runner brew install fastlane 安装完成&#xff0c;来到我们在gitlab下新建的Android项目&#xff0c;我们开始创建gitlab-runner 1、创建runner 点开runner&#xff0c;点击新建runner …

自然语言nlp学习四

5-5 BMTrain--ZeRO_哔哩哔哩_bilibili 5-6 BMTrain--Pipeline Parallel (流水线并行)_哔哩哔哩_bilibili 5-12 BMCook--背景介绍_哔哩哔哩_bilibili 5-20 BMInf--背景介绍_哔哩哔哩_bilibili 6-7 机器问答--QA介绍_哔哩哔哩_bilibili 6-8 机器问答--阅读理解_哔哩哔哩_bilibili…

常用API1 ---Math

包含用于执行基本数学运算的方法&#xff0c;如初等指数、对数、平方根和三角函数。 常用方法&#xff1a; package MyApi.a01mathdemo01;public class MathDemo01 {public static void main(String[] args) {//abs 获取参数的绝对值System.out.println(Math.abs(-88));System…

C++——new关键字

C——new关键字 介绍 在C中&#xff0c; new 关键字用于动态分配内存。它是C中处理动态内存分配的主要工具之一&#xff0c;允许在程序运行时根据需要分配内存。 基本用法 分配单个对象&#xff1a;使用 new 可以在堆上动态分配一个对象。例如&#xff0c; new int 会分配一…