当前位置: 首页 > news >正文

网络模型——二层转发原理

 网课地址:网络模型_二层转发原理(三)_哔哩哔哩_bilibili

一、路由交换

网络:用来信息通信,信息共享的平台。

网络=节点(交换机,路由器,防火墙,AP)+介质(网线,光纤,射频)

节点的通信需要遵循一定的规则,即模型( OSI七层模型,TCP/IP四层模型)——网络通信遵循的标准

OSI七层模型         TCP/IP四层模型

应用层                         应用层

表示层

会话层

传输层                         传输层

网络层                         网络层

数据链路层                  链路层

物理层

路由交换——数据转发的动作,将封装好的数据转发到下一个节点,当我们的数据封装到网络层之后,怎么转发给下一个节点。这时候就需要用到路由器(路由动作发给下一跳设备)和交换机(交换工作实现转发给下一跳)。

总结:数据传递的过程要么就是路由,要么就是交换。分别对应的网络层的寻址方式,链路层转发的方式。

路由转发:三层转发(网络层称为三层)

交换转发:二层转发(数据链路层称为二层,基于MAC地址转发)

二、交换机转发

交换机:

MAC地址表:转发依据

假设三台pc机之间需要互相访问。

在以太网中有一个重要的机制——ARP(地址解析协议):知道了访问的ip地址,查询mac地址的过程。

ARP请求:根据ip寻找mac地址,这是一种广播的方式请求。

ARP应答:根据ip应答mac地址,这是一种单播的方式请求。(主机收到arp返回的mac地址后,会存储在主机的ARP缓存记录表中——记录MAC和ip的关系)

交换机收到ARP报文后,会进行两件事情:

学习: 当数据帧进入到交换机的接口后,交换机通过学习,实现将源mac和接口对应起来的动作就叫做学习,并存储MAC地址表中。

转发:根据MAC地址,查询mac地址表转发,转发有三种转发报文的行为:转发(从接受的数据帧中提出目的mac,根据目的mac在MAC地址表中查找,若存在,就从mac地址对应的接口转发)、泛洪(目标mac是广播帧;收到了组播帧;未知单播帧—mac地址在mac地址表中查不到)、丢弃(mac地址黑名单等);

补充:每一个硬件在厂家出厂的时候,都会给设备打上一个唯一的标识符,用于识别该设备。

三、虚拟局域网(VLAN)

VLAN:虚拟局域网——减小广播域的范围,存在于交换机的概念。

两个问题:

1、同一个广播域,泛洪的范围是一样的,这就造成了但凡有一台设备发起arp请求或需要泛洪的数据帧,在同一个广播域的其他设备都能收到。不能做到针对性的发送数据,这样有隐患。

2、会浪费大量的带宽资源。

为了解决以上提出的两种问题,提出了vlan的概念。

在同区域之间才会泛洪,不同区域之间不会泛洪,减少广播域的泛洪范围。

华为的二层接口类型

Access接口:接入链路——连接终端(主机、网络打印机、网络摄像头),默认vlan(vlan号从1-4094)。

Trunk:干道链路——连接网络设备(交换机、路由器),允许通过列表。

Hybrid:混杂接口(处于兼容Access和Trunk的模式)——可以将Hybrid接口变为access接口或Trunk接口。

1、Access接口

现在需要PC1通过ping方式访问PC3.

过程:

如果没有划分VLAN,则可以在广播域中泛洪,会将arp报文转发给同一个广播域的所有主机。

当为接口设置了默认的vlan号,接口接收到数据帧后,为数据帧打上一个对应的vlan标记。假设,此时接口的vlan号为10,就会将这个数据转发给接口的vlan号为10的交换接口。接口收到带有vlan表示的数据帧后,会进行vlan号比对,如果数据帧中的vlan号和本接口的vlan号相同,就会将数据帧中的vlan号剥离掉,再进行转发。即:交换机接口转发出的数据帧,不会带有vlan标识。

交换机的默认vlan号是1,交换机内部通信一定会看vlan,只要数据帧经过交换机处理,那就会为数据帧打上vlan标签。

2、Trunk接口

情景:现在PC1需要转发数据给PC2.

如果PC1需要转发数据给PC2,就需要两个交换机互通,所以需要将两个交换机的接口类型配置为Trunk类型。同时需要在对应的Trunk接口配置“允许通过列表”,在允许通过列表中规定了那个vlan数据运行通过。因为Trunk链路默认情况下,不允许数据通过。

补充:当服务器(支持虚拟化功能)与交换机连接的时候,配置接口类型的Trunk类型。

相关文章:

网络模型——二层转发原理

网课地址:网络模型_二层转发原理(三)_哔哩哔哩_bilibili 一、路由交换 网络:用来信息通信,信息共享的平台。 网络节点(交换机,路由器,防火墙,AP)介质&#…...

【编程技巧】C++如何使用std::map管理std::function函数指针

一、问题背景 开发过程中遇到了需要根据const字符串调用不同函数的要求。在开发过程中为了快速实现功能,实际使用了if else等判断实现了不同函数的调用,徒增了不少代码行数。 明知道可以采用map管理函数指针,但是没有具体实现过&#xff0c…...

导航栏小案例

实现类似于这样的效果 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><style>*{margin: 0;padding: 0;}.div1{width: 100%;height: 60px;/* border: 1px solid blue; */background-color:rgb(…...

MyBatis一文入门精通,面试题(含答案)

一、MyBatis详细介绍 MyBatis 是一个流行的 Java 持久层框架&#xff0c;主要用于简化 SQL 数据库操作。它的设计初衷是通过 XML 或注解的方式配置和执行 SQL 语句&#xff0c;使得数据库操作更加灵活、方便和高效。相比于传统的 JDBC&#xff0c;MyBatis 提供了一些关键优势&…...

Ubuntu18.04服务器非root用户在虚拟环境下的python版本设定

最近需要跑一个python3.9.16版本的代码&#xff0c;Ubuntu18.04服务器上是上次博客中已经定死的python3.8.0版本 需要创建一个虚拟环境&#xff0c;并且在虚拟环境中配置python3.9.16版本 只需要创建一个虚拟环境 conda create -n yyy python3.9.16yyy是你的虚拟环境名字 创建…...

CodeS:构建用于文本到 SQL 的开源语言模型

发布于&#xff1a;2024 年 10 月 29 日 #RAG #Text2 SQL #NL2 SQL 语言模型在将自然语言问题转换为 SQL 查询&#xff08;文本到 SQL &#xff09;的任务中显示出良好的性能。然而&#xff0c;大多数最先进的 &#xff08;SOTA&#xff09; 方法都依赖于强大但闭源的大型语言…...

HTML 基础概念:什么是 HTML ? HTML 的构成 与 HTML 基本文档结构

文章目录 什么是 HTML &#xff1f;HTML 的构成 &#xff1f;什么是 HTML 元素&#xff1f;HTML 元素的组成部分HTML 元素的特点 HTML 基本文档结构如何打开新建的 HTML 文件代码查看 什么是 HTML &#xff1f; HTML&#xff08;超文本标记语言&#xff0c;HyperText Markup L…...

18 Docker容器集群网络架构:一、etcd 概述

文章目录 Docker容器集群网络架构:一、etcd概述1.1 etcd 的基本概念和特点1.1.1 定义1.1.2 特点1.2 etcd 在 Docker 集群网络中的作用1.3 etcd 集群的架构和原理1.3.1 架构1.3.2 原理Docker容器集群网络架构:一、etcd概述 etcd是一个高可用的分布式键值存储系统,它主要用于…...

R语言贝叶斯分层、层次(Hierarchical Bayesian)模型房价数据空间分析

原文链接&#xff1a;https://tecdat.cn/?p38077 本文主要探讨了贝叶斯分层模型在分析区域数据方面的应用&#xff0c;以房价数据为例&#xff0c;详细阐述了如何帮助客户利用R进行模型拟合、分析及结果解读&#xff0c;展示了该方法在处理空间相关数据时的灵活性和有效性。&a…...

SpringBoot 在初始化加载无法使用@Value的时候读取配置文件教程

怀旧网个人博客地址&#xff1a;怀旧网&#xff0c;博客详情&#xff1a;SpringBoot 在初始化加载无法使用Value的时候读取配置文件教程 读取数据库数据案例 // 创建YamlPropertiesFactoryBean对象 YamlPropertiesFactoryBean factory new YamlPropertiesFactoryBean(); // …...

基于MATLAB的身份证号码识别系统

课题介绍 本课题为基于连通域分割和模板匹配的二代居民身份证号码识别系统&#xff0c;带有一个GUI人机交互界面。可以识别数十张身份证图片。 首先从身份证图像上获取0&#xff5e;9和X共十一个号码字符的样本图像作为后续识别的字符库样本&#xff0c;其次将待测身份证图像…...

【人工智能-初级】练习题:matplotlib基础练习30例

练习 1: 画折线图 import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [10, 20, 25, 30, 40] 使用 plt.plot() 画出折线图,适用于连续数据的可视化 plt.plot(x, y) plt.xlabel(‘X 轴’) plt.ylabel(‘Y 轴’) plt.title(‘简单折线图’) plt.show() 练习 2: 画散…...

【002】基于SpringBoot+thymeleaf实现的蓝天幼儿园管理系统

基于SpringBootthymeleaf实现的蓝天幼儿园管理系统 文章目录 系统说明技术选型成果展示账号地址及其他说明源码获取 系统说明 基于SpringBootthymeleaf实现的蓝天幼儿园管理系统是为幼儿园提供的一套管理平台&#xff0c;可以提高幼儿园信息管理的准确性&#xff0c;系统将信息…...

nvm详解

本文借鉴转载于 nvm文档手册 文章目录 1.nvm是什么&#xff1f;2.nvm安装2.1 window上安装下载链接安装步骤 2.2 Mac上安装使用homebrew 安装 nvm 3.nvm使用指令 1.nvm是什么&#xff1f; nvm&#xff08;Node Version Manager&#xff09;是一个用于管理和切换不同版本 Node.…...

Lucene的概述与应用场景(1)

文章目录 第1章 Lucene概述1.1 搜索的实现方案1.1.1 传统实现方案1.1.2 Lucene实现方案 1.2 数据查询方法1.1.1 顺序扫描法1.1.2 倒排索引法 1.3 Lucene相关概念1.3.1 文档对象1.3.2 域对象1&#xff09;分词2&#xff09;索引3&#xff09;存储 1.3.3 常用的Field种类 1.4 分词…...

11.3笔记

在C#中&#xff0c;静态类和普通类&#xff08;实例类&#xff09;有一些关键的区别&#xff1a; 实例化&#xff1a; 普通类&#xff1a;可以被实例化&#xff0c;即创建对象。每个对象都有自己的状态和方法。静态类&#xff1a;不能被实例化&#xff0c;它们不包含构造函数&a…...

数据结构之线段树

线段树 线段树&#xff08;Segment Tree&#xff09;是一种高效的数据结构&#xff0c;广泛应用于计算机科学和算法中&#xff0c;特别是在处理区间查询和更新问题时表现出色。以下是对线段树的详细解释&#xff1a; 一、基本概念 线段树是一种二叉搜索树&#xff0c;是算法竞…...

vue 快速入门

文章目录 一、插值表达式 {{}}二、Vue 指令2.1 v-text 和 v-html&#xff1a;2.2 v-if 和 v-show&#xff1a;2.3 v-on&#xff1a;2.4 v-bind 和 v-model&#xff1a;2.5 v-for&#xff1a; 三、生命周期四、Vue 组件库 Element五、Vue 路由 本文章适用于后端人员&#xff0c;…...

iframe视频宽度高度自适应( pc+移动都可以用,jq写法 )

注意&#xff1a;要引入jquery 可以直接使用弹框播放iframe 一、创建 index.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.modal {/* 默认隐藏 */display: none;position: fixed;z-i…...

Observability:OpenTelemetry Elastic 分发简介

作者&#xff1a;来自 Elastic Alexander Wert•Miguel Luna•Bahubali Shetti Elastic 自豪地推出了 Elastic Distributions of OpenTelemetry (EDOT)&#xff0c;其中包含 Elastic 版本的 OpenTelemetry Collector 和多种语言 SDK&#xff0c;如 Python、Java、.NET 和 NodeJ…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

Windows 下端口占用排查与释放全攻略

Windows 下端口占用排查与释放全攻略​ 在开发和运维过程中&#xff0c;经常会遇到端口被占用的问题&#xff08;如 8080、3306 等常用端口&#xff09;。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口&#xff0c;帮助你高效解决此类问题。​ 一、准…...