DJ5-4 链路层交换机

news2024/11/18 16:49:53

目录

一、链路层交换机

二、交换机:支持多节点同时传输

三、交换机:转发表或称交换表

四、交互机:自学习

1. 单个交换机自学习/转发的例子

2. 多个交换机自学习/转发的例子

五、交换机:数据帧的过滤/转发

六、交换机的交换特点

1、存储转发交换方式

2、快速分组交换方式

3、交换机的交换方式讨论

七、三层交换机*

1、三层交换机的工作原理

2、交换机 versus 路由器

八、VLAN

1、VLAN:动机

2、VLAN

3、基于端口的 VLAN

4、跨越多个交换机的 VLAN


一、链路层交换机

① 交换机是链路层设备

存储和转发数据帧:检查达到的数据帧的 MAC 地址,有选择的转发数据帧到一个或多个输出链路,当数据帧被转发到一个共享网段时,使用 CSMA/CD 来访问共享链路。

② 交换机对于主机是透明的

主机不关心是否存在交换机

交换机的功能

  • 过滤
  • 转发

④ 交换机的特点

  • 自学习
  • 即插即用:交换机不需要手工配置

二、交换机:支持多节点同时传输

支持同时传输:A-to-A' 和 B-to-B' 可以同时传输,而不会发生碰撞。

  • 每个主机由单独的链路直接连到交换机端口
  • 交换机可以缓存数据帧
  • 以太网协议在每个输入链路使用,无碰撞,全双工
  • 每条链路自身是一个碰撞域

三、交换机:转发表或称交换表

Q:交换机是怎么知道 A' 可通过端口 4 达到, B' 可通过端口 5 到达呢?

A:每个交换机有一个交换机转发表,类似于路由器的路由表,其中每个条目包括:

  • 主机的 MAC 地址
  • 到达主机的端口
  • 时戳:存活时间

交换机转发表类似如下形式:

Q:转发表中的条目是怎么建立的呢?是否类似于路由协议呢?

A:通过自学习。

四、交互机:自学习

交换机会学习通过自己的哪些端口可以到达哪些主机。

当接收到数据帧时,交换机

  1. “学习” 发送主机的位置,即到达端口
  2. 在转发表中记录发送主机/位置对

1. 单个交换机自学习/转发的例子

主机 A 想要向主机 A' 发送数据帧,该帧中:源 MAC 地址是 A,目的 MAC 地址是 A' 。主机 A 的数据帧传输到了交换机处,交换机 “学习”,在原始空的转发表中添加了主机 A 的 MAC 地址和它的到达端口。接着,交换机查询转发表,想找到主机 A' 的相关条目,可惜没有,因此交换机向与它相连的所有主机发送该数据帧,除了主机 A 。

主机 A' 接收到数据帧,发现是给自己的,因此进行完全接收;其它主机发现目的 MAC 地址与自己的不匹配,因此丢弃该数据帧。当主机 A' 向主机 A 发送数据帧时,数据帧传输到交换机,交换机先 “学习”,即添加主机 A' 的 MAC 地址和它的到达端口。然后,交换机查询转发表,发现有主机 A 的相应表目,因此直接通过端口 1 把数据帧传送给主机 A,不再需要像之前那样向所有主机发一份了。

2. 多个交换机自学习/转发的例子

C:S1 => A/B/S4 => S2/S3

I:S3 => S4 => S1

五、交换机:数据帧的过滤/转发

当交换机收到数据帧时:

  1. 记录到达链路和发送主机的 MAC 地址
  2. 使用数据帧的目的 MAC 地址,在转发表中检索

检索结果有以下三种情况:

〇 在转发表条目中找到目的 MAC 地址:

  • ① 目的 MAC 地址对应的端口和数据帧的到达端口相同 —— 丢弃该数据帧
  • ② 目的 MAC 地址对应的端口和数据帧的到达端口不同 —— 转发该数据帧

③ 在转发表条目中没有找到目的 MAC 地址 —— 向除了到达端口之外的所有端口转发

Q:为什么可以直接 “丢弃该数据帧” ?

六、交换机的交换特点

  1. 识别源 MAC 地址,更新转发表/交换表
  2. 识别目的 MAC 地址,根据转发表/交换表进行端口选择

Q:在识别目的 MAC 地址和源 MAC 地址的过程中是否需要接收并缓存完整的帧呢?

  • 存储转发:缓存整个帧后再转发
  • 快速分组/直通交换:识别出目的地址直接转发

路由器是存储转发设备:因为路由器需要修改 IP 分组的 ttl,所以它必须把分组缓存下来进行解封、修改、封装。而交换机不需要对帧进行修改,并且知道 MAC 地址后就能直接转发,因此交换机既可以采用存储转发的方式,又可以采取快速分组的方式。

1、存储转发交换方式

2、快速分组交换方式

3、交换机的交换方式讨论

  • 存储转发:具有差错检测功能,转发时延较大,适用于出错率高的链路。
  • 快速分组:不具有差错检测功能,转发时延较小,适用于时延要求高,出错率低的链路。

七、三层交换机*

传统的交换技术是在 OSI 网络参考模型中的数据链路层进行操作的,通常称做 “二层交换机”。三层交换是相对于传统的交换概念而提出的,它能够在OSI 网络参考模型中的网络层实现数据包的高速转发。简单地说,三层交换技术就是二层交换技术 + 三层转发技术,三层交换机就是 “二层交换机+基于硬件的路由器”。

1、三层交换机的工作原理

发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内。
若目的站B与发送站A在同一子网内,则进行二层的转发。
若两个站点不在同一子网内,则发送站A要向“缺省网关”发出ARP请求,请求获得B的MAC地址。
如果三层交换机知道B的MAC地址,则向A回复B的MAC地址。否则三层交换机根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换机回复其MAC地址,三层交换机将B站的MAC地址保存到二层交换引擎的MAC地址表中,并回复给发送站A。
A直接用B的MAC地址封装数据帧,三层交换机接收到数据后直接进行二层交换。

2、交换机 versus 路由器

两者都是存储转发设备:

  • 路由器:网络层设备(检查网络层头部)
  • 交换机:链路层设备(检查链路层头部)

两者都有转发表:

  • 路由器:使用路由算法计算转发表,基于 IP 地址转发
  • 交换机:通过泛洪、自学习来学习转发表,基于 MAC 地址转发

八、VLAN

Virtual Local Area Network 

1、VLAN:动机

2、VLAN

VLAN:利用支持 VLAN 的交换机,在一个实际的物理局域网内,定义多个虚拟的局域网。

基于端口的 VLAN:利用交换机内置的管理软件,将端口分组,使得一个单独的交换机像多个交换机那样工作。

3、基于端口的 VLAN

虽然这些主机都连在一个交换机上,但是连接 VLAN1 端口的主机只能和同样连接 VLAN1 端口的主机通信,对连接 VLAN2 端口的主机同理。

  • 流量隔离:从 1-8 号端口进/出的帧,只能访问 1-8 号端口
  • 动态成员:端口可以在 VLAN 之间动态调整
  • VLAN 之间的转发:通过路由器来完成

在实际中,厂商会将路由功能和交换功能都整合在一台设备中。

4、跨越多个交换机的 VLAN

干线端口:trunk port,承载定义在多个物理交换机之上的 VLAN 间的流量。

802.1q 协议:对干线端口之间传输的帧,添加或移除额外的头部字段。

某一个 VLAN 内的流量帧,如果要跨域物理的交换机,那么需要使用 802.1q 格式,其中带有 VLAN ID 信息。注意:802.1q 协议只应用于交换机之间连接的端口!

图中的 16 号端口和 1 号端口就是干线端口。图中的红色链路,既帮助转发 VLAN1 的数据帧,又帮助转发 VLAN2 的数据帧。可见,该链路是属于所有 VLAN 的。注意:它只帮助转发给属于同一 VLAN 的端口,不可能帮助 VLAN1 端口转发给 VLAN2 端口。

主机传输给交换机的数据帧采用的是普通的帧格式,交换机会根据 802.1q 协议在数据帧中添加额外的头部字段,用于指示该数据帧来自哪个 VLAN 。因为 VLAN 是在交换机中设置的,所以交换机完全知道应该添加什么样的字段。

802.1q VLAN 帧格式*

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

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

相关文章

css基础技巧

1. emmet语法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>…

如何在CSDN获取更多的铁粉?

一、铁粉的定义 要想获取铁粉&#xff0c;首先我们得知道什么是铁粉&#xff0c;根据官方给出定义是下面这样的&#xff1a; 【铁粉】具体规则如下&#xff1a; 铁粉 90 天内有阅读&#xff0c;购买专栏或其他互动&#xff0c;并且原力等级 > 0 的粉丝。 也就是说你的原力…

数据结构——二叉树_(上)

学习二叉树之前我们首先要对树有一个认识&#xff0c;树是一种非线性结构&#xff0c;它是由n(n>0)个有限节点组成的一个具有层次关系的节点&#xff1b;而这个层次结构倒过来看就十分的像一棵树&#xff0c;所以起名树结构。 跟现实中的树一样&#xff0c;树结构也有一个根…

Altium Designer18基础

原理图 第5课 元件库介绍及电阻容模型的创建.mp4_哔哩哔哩_bilibili 原理图库&#xff08;schLib&#xff09; 1. 创建原理图库&#xff1a; panels -> SCHLIB&#xff1a;左侧弹出SCH Lib窗口 Add&#xff1a;新建原理图库 点击原理图库名称&#xff1a;进入原理图库设置…

【短视频矩阵系统源码搭建+二开源码定制部署】

短视频矩阵源码的框架有很多种&#xff0c;根据不同的业务需求和技术要求&#xff0c;可选择适合的框架。目前常见的短视频矩阵源码框架有&#xff1a;Flutter、React Native、Vue、Angular等前端框架&#xff1b;Spring Boot、Laravel等后端框架&#xff1b;FFmpeg、Pusher、W…

ChatGPT“保姆级教程”——手把手教你5分钟快速AI智能文字转爆款视频(剪映+百度AIGC平台)

目录 前言ChatGPT 剪映ChatGPT生成视频文档安装专业版剪映使用剪映一键出片保姆集教程 百度AIGC平台注册百度AIGC平台使用百度AIGC平台一键出片保姆集教程 总结其它资料下载 前言 在这个数字时代&#xff0c;视频已经成为了最流行的内容形式之一。而如何自动将文字转化为引人…

JavaScript实现输入学生姓名,按q键程序结束的代码

以下为实现输入输入学生姓名&#xff0c;按q键程序结束的程序代码和运行截图 目录 前言 一、输入学生姓名&#xff0c;按q键程序结束 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择&#xff0c;您可以在目录里进行快速查找&#…

Web应用技术(第十三周/第二次练习/7h)

本次练习基于how2java和课本&#xff0c;学习MyBatis高级映和分页 1.MyBatis高级映射&#xff1a;1.1 相关XML标签及其属性&#xff1a;&#xff08;1&#xff09;mapper标签&#xff1a;&#xff08;2&#xff09;DOCTYPE标签&#xff1a;&#xff08;3&#xff09;typeAliase…

【MySQL】MySQL体系架构

文章目录 背景一、MySQL体系架构二、网络连接层三、数据库服务层3.1 连接池3.2 系统管理和控制工具3.3 SQL接口3.4 解析树3.5 查询优化器3.6 缓存 四、存储引擎层五、系统文件层5.1 日志文件5.2 数据文件5.3 配置文件5.4 pid文件5.5 socket文件 背景 很多小伙伴工作很长时间了…

【OJ比赛日历】快周末了,不来一场比赛吗? #05.27-06.02 #14场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2023-05-27&#xff08;周六&#xff09; #8场比赛2023-05-28…

Holocube-第一集

准备工作&#xff1a; 装备&#xff1a; ESP 8266 D1 MINI1.3寸 TFT 屏幕分光棱镜25.4mm面包板、杜邦线、数据线等配件 软件&#xff1a; Arduino(本人使用1.8.16)---驱动ch341 初始arduino简单程序&#xff0c;对esp8266上传代码&#xff0c;能正常运行。正式开始 坑1&…

Day0:Windows编程环境搭建

前言&#xff1a;学习一个东西&#xff0c;首先要有三问&#xff1a; 1. 这个东西是什么&#xff1f; 2. 为什么要学它&#xff1f; 3. 该怎么学习它&#xff1f; 第一问是要明白你要学习的东西它是什么&#xff0c;你就会对它有一个整体的了解。这也是第二问的半个答案&#x…

有没有想过一种可能,30岁之后,转行去做IT售前?

灵魂拷问 IT行业的变化是非常迅速的&#xff0c;各种新技术、新产品、新观念、新的业务模式层出不穷&#xff0c;不仅是我们&#xff0c;客户也在不断地学习进步&#xff0c;因此我们注定要终身学习。 IT售前这个岗位为许多IT职场人提供了一种新的选择: 你不需要成为某一方面…

微信小程序推送消息

微信小程序推送消息 前言一、推送消息&#xff1a;小程序“订阅消息”功能二、开发步骤1.小程序调用wx.requestSubscribeMessage&#xff0c;进行消息订阅用户授权2.小程序调用wx.login&#xff0c;获取code3.后端访问请求&#xff0c;获取用户openId4.后端访问请求&#xff0c…

树形dp问题套路

⭐️前言⭐️ 本篇文章旨在将二叉树中的树形dp问题模板化&#xff0c;借助信息体传递的方式&#xff0c;通解树形dp问题。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主将持续更新学习记录收获&#xff0c;友…

双目测距联合YOLOv8 项目总结

代码贴&#xff1a;双目测距--5 双目相机 联合 YOLOv8_爱钓鱼的歪猴的博客-CSDN博客 1、单目标定&#xff08;张友正标定法&#xff09; 获得左相机、右相机的cameraMatrix&#xff08;内部参数值&#xff09;、disCoeffs(畸变矩阵) 2、双目标定 固定左右相机的内部参数值、…

File类和IO流的相关面试(二)

一.IO流 1.什么是IO? I&#xff1a;Input&#xff0c;数据的读取&#xff0c;数据的输入 数据的输入&#xff0c;可以是从键盘输入&#xff0c;从文件读取&#xff0c;从网络接收... O&#xff1a;Output&#xff0c;写数据&#xff0c;数据的输出 数据的输出&#xff0c;可…

C++服务器框架开发2——头文件memory/typedef

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) 上一篇&#xff1a;C服务器框架开发1——项目介绍/分布式/#ifndef与#pragma once C服务器框架开发2——头文件memory/typedef 目前进度memoryty…

C4D R26 渲染学习笔记 建模篇(1):参数模型

往期文章 介绍篇 C4D R26 渲染学习笔记&#xff08;1&#xff09;&#xff1a;C4D版本选择和初始UI框介绍 C4D R26 渲染学习笔记&#xff08;2&#xff09;&#xff1a;渲染流程介绍 C4D R26 渲染学习笔记&#xff08;3&#xff09;&#xff1a;物体基本操作快捷键 建模篇 …

JVM内存结构介绍

我们都知道&#xff0c;Java代码是要运行在虚拟机上的&#xff0c;而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域&#xff0c;这些区域都有各自的用途。其中有些区域随着虚拟机进程的启动而存在&#xff0c;而有些区域则依赖用户线程的启动和结束…