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

 网课地址:网络模型_二层转发原理(三)_哔哩哔哩_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类型。

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

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

相关文章

[watevrCTF 2019]Voting Machine 1-好久不见10

shiiftF12查找字符串,发现flag.text跟踪 from pwn import * i remote("node5.anna.nssctf.cn",22956) address 0x400807 payload ba*(0x28) p64(address) i.sendline(payload) i.interactive()

【Linux】从零开始使用多路转接IO --- select

碌碌无为,则余生太长; 欲有所为,则人生苦短。 --- 中岛敦 《山月记》--- 从零开始认识五种IO模型 1 前言2 认识多路转接select3 多路转接select等待连接4 完善代码5 总结 1 前言 上一篇文章我们讲解了五种IO模型的基本概念,并…

【Java SE 】String 类 详解!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 1. String 的地位 在Java 编程中,字符串的使用是非常频繁的,而字符串的使用有离不开 String类 ,在开发和面试中String类也是非常…

专业130+总400+武汉理工大学855信号与系统考研经验电子信息与通信工程,真题,大纲,参考书。

已经顺利读研一段时间,回顾一下考研还是历历在目。应群里学弟要求,回忆总结一下自己考研经历,希望对大家复习有帮助。总分400,专业课855信号与系统130(犯了低级错误,计算出现问题,大家专业好好准…

Self-Lengthen:阿里千问开源提升 LLM 长文本生成能力的训练框架

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦! 🥦 微信公众号&#xff…

双向链表及如何使用GLib的GList实现双向链表

双向链表是一种比单向链表更为灵活的数据结构,与单向链表相比可以有更多的应用场景,本文讨论双向链表的基本概念及实现方法,并着重介绍使用GLib的GList实现单向链表的方法及步骤,本文给出了多个实际范例源代码,旨在帮助…

C++笔试题之实现一个定时器

一.定时器(timer)的需求 1.执行定时任务的时,主线程不阻塞,所以timer必须至少持有一个线程用于执行定时任务 2.考虑到timer线程资源的合理利用,一个timer需要能够管理多个定时任务,所以timer要支持增删任务…

【Java笔记】1-JDK/JRE/JVM是个啥?

JDK、JRE、JVM可以说是入门必须了解的三个词汇 先说全称 JDK:Java Development Kit,Java开发工具包 JRE:Java Runtime Environment,Java运行环境 JVM:Java Virtual Machine,Java虚拟机 再说关系 JVM⊆J…

c语言-进位计数制

文章目录 一、进位计数制是什么?二、c语言1.二进制转十进制2.十进制转二进制 一、进位计数制是什么? 进位计数制简称进制,是人类用于计算数量的基本规则。 可使用数字符号的数目称为基数或底数,基数个数为n个,即可称n…

HTML 基础标签——结构化标签<html>、<head>、<body>

文章目录 1. <html> 标签2. <head> 标签3. <body> 标签4. <div> 标签5. <span> 标签小结 在 HTML 文档中&#xff0c;使用特定的结构标签可以有效地组织和管理网页内容。这些标签不仅有助于浏览器正确解析和渲染页面&#xff0c;还能提高网页的可…

【算法赌场】区间合并

区间问题 区间问题的引入 数学上&#xff0c;用两个数字可以确定数轴上的一个区间&#xff0c;较小的数字叫做区间的左端点&#xff0c;也叫区间起点&#xff0c;较大的数字叫做区间的右端点&#xff0c;也叫区间终点。 在算法竞赛中&#xff0c;很多题目是以区间为单位去进行…

给定开始日期时间结束日期时间、间隔得到符合条件的序列pandas.timedelta_range()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 给定开始日期时间 结束日期时间、间隔 得到符合条件的序列 pandas.timedelta_range() [太阳]选择题 以下代码执行后&#xff0c;delta中包含的时间差序列的个数是多少&#xff1f; import pa…

【AI工作流】FastGPT - 深入解析FastGPT工作流编排:从基础到高级应用的全面指南

文章目录 一、工作流编排概述二、FastGPT的节点类型1. 基础功能插件(1) 文本输出(2) 功能调用(3) 工具(4) 外部调用(5) 其他 2. 系统插件3. 团队插件 三、工作流中的流向结语 在当今快速发展的人工智能领域&#xff0c;工作流编排的能力已成为提升用户体验和应用效率的关键因素…

qt QAction详解

1、概述 QAction是Qt框架中的一个抽象类&#xff0c;用于表示用户界面中的一个动作&#xff08;action&#xff09;。这些动作可以绑定到菜单项、工具栏按钮或快捷键上&#xff0c;提供了一种灵活的方式来处理用户交互。QAction不仅包含了动作的名称、图标、提示信息等属性&am…

MRCTF2020:你传你ma呢

文件上传题先判断黑白名单过滤&#xff0c;先传个最简单的木马 这里上传不了php文件&#xff0c;猜测可能是对php文件进行了过滤&#xff0c;将文件改为任意后缀这里改为.abc 还是上传不成功&#xff0c;猜测可能对MIME也做了过滤&#xff0c;将Content-Type更改为image/jpeg再…

LeetCode (206单链表反转)

目录 题目描述: 代码: 第一种: 第二种: 第三种: 第四种: 第五种: 主函数: ListNode类: 题目描述: 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3…

C# Modbus RTU通讯回顾

涉及技术&#xff1a; 1.使用NMdbus4 库 2.ushort[]转int 记得之前刚学习的时候&#xff0c;是ushort[] → Hex字符串→byte[] → 翻转byte[] →BitConverter.ToInt32()&#xff0c;饶了一大圈&#xff1b;实际上可以直接转&#xff1b;这里也有小细节&#xff1a;使用BitCo…

RHCE6

一、DNS域名解析服务器 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。DNS 系统使用的是网络的查询&#xff0c;那么自然需要有监听的 port 。…

uni-app 下拉刷新、 上拉触底(列表信息)、 上滑加载(短视频) 一键搞定

一、下拉刷新 1. 首先找到pages.json中 给需要进行下拉刷新的页面设置可以下拉刷新 2. 然后在需要实现下拉刷新的script标签内添加 导入onPullDownRefresh import {onPullDownRefresh} from dcloudio/uni-app 下拉刷新触发的事件 onPullDownRefresh(()> {console.log(正…

QML旋转选择器组件Tumbler

1. 介绍 Tumbler是一个用于创建旋转选择器的组件。它提供了一种直观的方式来让用户从一组选项中进行选择&#xff0c;类似于转盘式数字密码锁。网上找的类似网图如下&#xff1a; 在QML里&#xff0c;这种组件一共有两个版本&#xff0c;分别在QtQuick.Extras 1.4(旧)和QtQuic…