【计算机网络篇】数据链路层(11)在数据链路层扩展以太网

文章目录

  • 🍔使用网桥在数据链路层扩展以太网
    • 🥚网桥的主要结构和基本工作原理
      • 🎈网桥的主要结构
      • 🔎网桥转发帧的例子
      • 🔎网桥丢弃帧的例子
      • 🔎网桥转发广播帧的例子
    • 🥚透明网桥
      • 🔎透明网桥的自学习和转发帧的流程
        • 🗒️小结
      • 🔎透明网桥的生成树协议STP
        • 📒生成树协议STP

在这里插入图片描述

🍔使用网桥在数据链路层扩展以太网

使用集线器在物理层扩展共享式以太网会形成更大的碰撞域,实际上,在扩展共享式以太网的时候,为了避免形成更大的碰撞域,可以使用网桥在数据链路层扩展共享式以太网。
网桥工作在数据链路层,也包含其下的物理层,而集线器仅工作在物理层

在这里插入图片描述
由于网桥工作在数据链路层(包含其下的物理层),因此网桥具备属于数据链路层范畴的相关能力
在这里插入图片描述

🥚网桥的主要结构和基本工作原理

使用网桥将2个使用集线器的共享式以太网连起来,就会形成一个覆盖范围更大,站点更多的以太网
而原来的2个共享式以太网,分别成为这个更大的以太网的一个网段,并且各自是一个独立的碰撞域
在这里插入图片描述

🎈网桥的主要结构

在这里插入图片描述
其中,转发表是网桥转发帧的依据,里面记录有网桥所知道的网络中各主机的MAC地址与自己的各接口的对应关系
网桥收到帧后,会在自身的转发表中进行查找目的帧的MAC地址,根据查找结果来转发或丢弃帧

🔎网桥转发帧的例子

假设主机A给D发送单播帧,该单播帧被集线器转发给主机B C以及网桥
主机B C中的网卡根据该单播帧首部中的目的MAC地址可知这不是发送给自己的帧,于是将其丢弃
网桥从自己的接口1收到该单播帧后,在转发表中查找主机D的目的MAC地址D,根据查找结果可知,应从接口2转发该帧,于是就把该帧从自己的接口2转发给另一个网段,使主机D能够收到该帧
主机D中的网卡根据该单播帧首部中的目的MAC地址可知,这是发送给自己的帧,于是接收该帧。而自己E和F中的网卡根据该单播帧首部的目的MAC地址可知,这不是发送给自己的帧,于是将其丢弃
在这里插入图片描述

🔎网桥丢弃帧的例子

假设主机A给C发送单播帧,该单播帧被集线器转发给主机B C以及网桥,主机B中的网卡根据该单播帧首部的目的MAC地址可知,这不是发送给主机的帧,于是将其丢弃。而主机C中的网卡,根据该单播帧首部的目的MAC地址可知,这是发送给自己的帧,于是接受该帧
网桥从自己的接口1收到该单播帧后,在转发表中查找主机C的目的MAC地址C,根据查找结果可知,应从接口1转发该帧
然而网桥正是从接口1收到该帧的,这表面主机C和主机A在同一个网段,主机C能够直接收到这个帧,而不需要依靠网桥的转发,因此网桥会丢弃该帧
在这里插入图片描述

🔎网桥转发广播帧的例子

假设主机A发送了一个广播帧,广播帧的目的MAC地址为全F,该广播帧被集线器转发给主机B C以及网桥,主机B和C中的网卡会接受该帧
网桥从主机的接口1收到该广播帧,不用查找转发表,而是会通过除接受该帧的接口的其他接口转发该广播帧,该广播帧通过集线器的转发,到达该网段中的各主机,各主机中的网卡接受该广播帧
在这里插入图片描述

🥚透明网桥

我们上述提到的转发表,是通过透明网桥产生的
在这里插入图片描述

🔎透明网桥的自学习和转发帧的流程

如图所示,使用网桥将原本独立的2个使用集线器的共享式以太网连接起来,就可以形成一个覆盖范围更大,站点数量更多的以太网
为了简单起见,我们把主机A ~ F各自网卡的MAC地址分别记为A ~ F
网桥上电启动后,其转发表是空的,网桥需要在网络中各站点相互通信的过程中,通过自学习来建立自己的转发表
假设主机A给B发送单播帧,与主机A处于同一网段中的主机B和C以及网桥的接口 1 都会收到该单播帧
主机B中的网卡根据该单播帧的目的MAC地址B可知,这是发送给自己的帧而接受该帧
自己C中的网卡根据该单播帧的目的MAC地址B可知,这不是发送给自己的帧,于是将其丢弃
网桥从接口1收到该单播帧后,实现进行自学习,也就是进行登记,登记的内容为帧的源MAC地址A和该帧进入网桥的接口号1,之后,网桥要对该单播帧进行转发,网桥在自己的转发表中,查找该单播帧的目的MAC地址B,但没有找到,只能进行盲目地转发,也就是说 网桥只能通过除接收该单播帧的接口1以外的其他接口转发该单播帧
(对于本例,其他接口只有接口2,因此,该单播帧会从网桥的接口2转发到另一个网段,该网段中的自己D E F收到该单播帧后并将其丢弃)

在这里插入图片描述

之后,假设主机D给A发送单播帧,与主机D处于同一网段的主机E和F以及网桥的接口2都会收到该单播帧,主机E和F中的网卡根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧,而将其丢弃
网桥从接口2收到该单播帧后,实现进行自学习,也就是进行登记,登记的内容为:帧的源MACQ地址D和该帧进入网桥的接口号2。
之后,网桥要对该单播帧进行转发,网桥在自己的转发表中,查找该单播帧的目的MAC地址A,可以找到相应的记录
从记录的接口号部分可知,应从接口1转发该帧,这属于明确地转发
该单播帧从网桥的接口1转发到另一个网段,该网段中的主机A收到并接受该单播帧,而主机B和C收到该单播帧后并将其丢弃
在这里插入图片描述

之后,假设主机C给A发送单播帧,与主机C处于同一网段中的主机A和B以及网桥的接口1都会收到该单播帧
主机A中的网卡根据该单播帧的目的MAC地址A可知,这是发送给自己的帧而接受该帧
主机B中的网卡根据该单播帧的目的MAC地址A可知,这不是发送给自己的帧而丢弃该帧
网桥从接口1收到该单播帧后,首先进行自学习,也就是进行登记,登记的内容为帧的源MAC地址C和该帧进入网桥的接口号1
之后,网桥要对该单播帧进行转发,网桥在自己的转发表中查找该单播帧的目的MAC地址A,可以找到相应的记录,从记录的接口号部分可知,应从接口1转发该帧,然而网桥正是从接口1接收的该帧,这表面主机A与C在同一个网段,A能够直接收到该帧,而不需要借助于网桥的转发,因此网桥丢弃该帧
在这里插入图片描述

在本例中,如果网络中的各主机陆续都发送了帧,则网桥会逐步建立起完整的转发表,即网桥的每个接口,都与网络中哪些主机的MAC地址对应

🗒️小结

在这里插入图片描述

🔎透明网桥的生成树协议STP

为了提高以太网的可靠性,有时需要在2个以太网之间使用多个透明网桥来提供冗余链路
如下图所示,E1和E2是两个独立的共享总线型以太网,使用网桥B1将它们互联起来,就形成了一个更大的以太网
为了提高该以太网的可靠性,还使用了一个冗余的网桥B2,将E1和E2进行了连接
很显然,添加B2后,以太网中出现了环路
在这里插入图片描述

如果以太网的E1或E2中的某个主机发送了一个广播帧,则该广播帧就会在网桥B1和B2构成的环路中按顺时针和逆时针2个方向永久兜圈
在这里插入图片描述
很显然,会永久兜圈,造成广播帧充斥整个网络,网络资源被白白浪费,而网络中的主机之间无法正常通信


通过本例可以看出
在这里插入图片描述

📒生成树协议STP

为了避免广播帧在环路中永久兜圈,透明网桥使用生成树协议(Spanning Tree Protocol,STP),可以在增加冗余链路提高网络可靠性的同时,又避免环路带来的问题。
不管网桥之间连接成了怎样复杂的带环拓扑,网桥之间通过交互网桥协议单元(Bridge Protocol Data Unit,BPDU),找出原网络拓扑的一个连通子集(即生成树),在这个子集里整个连通的网络中不存在环路。
如下图所示
网桥B1和B2通过交互BPDU找出了一个连通以太网E1和E2并且不存在环路的生成式,而网桥B2和以太网E2连接的接口并不在该生成式链路上
网桥B2关闭该接口,这样,以太网E1和E2是通过网桥B1连通的
在这里插入图片描述
当首次连接网桥或网络拓扑发生变化时(人为改变或出现故障),网桥都会重新构造生成树,以确保网络的连通。
例如网桥B1与以太网E1之间的链路出现了故障,网桥B1和B2通过交互BPDU重新构造了一个可以连通以太网E1和E2的生成树
主要网桥B2重新开启自己与以太网E2的连接接口即可
这样,以太网E1和E2重新通过网桥B2连通
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面

二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面 二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面

c# winform修改控件数字类型运行输入null

txtMaxQty.Properties.Mask.MaskTypeDevExpress.XtraEditors.Mask.MaskType.Numeric; txtUrgentQty.Properties.Mask.MaskTypeDevExpress.XtraEditors.Mask.MaskType.Numeric;txtMinQty.Properties.Mask.MaskType DevExpress.XtraEditors.Mask.MaskType.Numeric;在winform里&am…

openh264 码率控制原理框架

openh264 OpenH264 是一个开源的 H.264 视频编码库,由 Cisco Systems, Inc. 开发并提供。它支持 H.264 的主要编码特性,包括但不限于: 支持基线、主要、高和高10配置文件支持帧内预测、帧间预测、变换编码、量化、环路滤波等支持多线程编码支…

Nvidia Isaac Sim 入门教程 2024(3)图形界面

Isaac Sim 基本使用 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The author …

Hadoop3:MapReduce中的Partition原理及自定义Partition

一、默认Partition分区配置 以WC案例来进行验证。 1、设置setNumReduceTasks 修改的代码 这行代码,确定了reduceTask的数量,也确定了分区逻辑 在mapper文件中,打上断点 计算分区的代码 这里会对每一个kv进行计算,然后&#…

【星环社区版TDH2024年度大事件】全新版本?全新组件?性能提升10倍?

TDH社区版家族迎来新成员 不知不觉社区版已经陪伴大家将近两年的时间了,在这两年里收获到了很多认可,同时也收获到了一些建议与意见,比如资源成本的问题。在去年我们发布了TDH社区开发版,仅需单台服务器即可一键安装部署Inceptor…

zip文件上传到linux服务器文件大小发生变化

在传一个文件到服务器的时候,第一次传完看见大小不一样(服务器中du命令查看大小796596MB)就重传了一下,还是大小不一样,就查了下。 查了下有以下原因: 文件系统的不同: 原因:不同的…

12.2 Go 编写测试代码

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Spring之IoC(容器配置、Spring坐标导入、获取bean)

这里的话,因为博主学习时间有限,并没有实际去操作,只是学习和了解一个大概的流程。 目录 一、引言 1、管理什么?(对象:Service、Dao ...) 2、如何将被管理的对象告知 IoC 容器?(用…

Linux内核编程(六)平台总线plantform驱动模型

本文目录 前述:为什么引入平台总线模型一、知识点1. 什么是平台总线模型2. 平台总线模型使用3. 平台总线是如何工作的4. 平台总线模型的优点 二、平台总线设备层1. 常用API(1) 注册一个平台设备(2) 注销一个平台设备&a…

2748. 美丽下标对的数目

题目 给定一个下标从 0 开始的整数数组 nums。如果下标对 (i, j) 满足 0 ≤ i < j < nums.length&#xff0c;且 nums[i] 的第一个数字与 nums[j] 的最后一个数字互质&#xff0c;那么认为 nums[i] 和 nums[j] 是一组美丽下标对。 对于两个整数 x 和 y&#xff0c;如果…

无忧易售新功能:集成图片库智能图片翻译,跨越语言障碍

在电商全球化的浪潮中&#xff0c;跨越语言的障碍&#xff0c;让产品图像说话&#xff0c;成为了商家致胜的关键。"无忧易售ERP"推出集成图片库与图片翻译功能的全新升级&#xff0c;为全球电商提供一站式解决方案&#xff0c;让商品跨越国界&#xff0c;沟通无界。 …

使用二进制安装安装docker

在一些情况下无法使用yum安装docker下面写了一个使用二进制安装docker的文档 官网下载地址https://download.docker.com/linux/static/stable/x86_64/ 可以按需求下载 wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.10.tgz 下载包 tar xf dcker…

计算机网络 —— 应用层(DHCP)

计算机网络 —— 应用层&#xff08;DHCP&#xff09; 什么是DHCPDHCP工作过程DHCP DISCOVERDHCP OFFERDHCP RQUESTDHCP ACK DHCP租约机制中继代理工作原理功能与优势 我们今天来计网的DHCP&#xff1a; 什么是DHCP DHCP&#xff08;Dynamic Host Configuration Protocol&…

Python11 使用爬虫实现图书250排行榜信息爬取

1.什么是网络爬虫 Python爬虫是使用Python编程语言编写的程序&#xff0c;它能自动从互联网上抓取数据。这类程序一般利用网络请求来访问网站&#xff0c;解析网站的HTML或其他格式的内容&#xff0c;提取出有用的数据&#xff0c;有时还会进行后续的数据处理或存储。 Python…

人工智能大模型之开源大语言模型汇总(国内外开源项目模型汇总)

开源大语言模型完整列表 Large Language Model (LLM) 即大规模语言模型&#xff0c;是一种基于深度学习的自然语言处理模型&#xff0c;它能够学习到自然语言的语法和语义&#xff0c;从而可以生成人类可读的文本。 所谓"语言模型"&#xff0c;就是只用来处理语言文…

如何制定数据治理策略?做好这7点就够了

在当今的商业环境中&#xff0c;数据已成为企业最宝贵的资产之一。随着大数据、云计算、物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;等技术的不断进步&#xff0c;企业积累的数据量呈指数级增长&#xff0c;这为企业提供了前所未有的商业机会&…

大语言模型的微调方法_大语言模型六种微调方法

01 引言 自2018年BERT发布以来&#xff0c;“预训练微调”成为语言模型的通用范式。以ChatGPT为代表的大语言模型针对不同任务构造Prompt来训练&#xff0c;本质上仍然是预训练与微调的使用范式。千亿规模的参数微调需要大量算力&#xff0c;即使提供了预训练的基座模型&…

正版 navicat 下载

1. 打开浏览器访问 navicat 官网 Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版 windows 用户选择这三项其中一个就可以 2. 下载 点击之后等个几秒钟就会开始下载了 3. 双击打开 下载好的 .exe 程序 进入安装程序 (不影响之前已经安装过的) 可…

数据结构试题 20-21

真需要就死记吧 二叉树遍历-先序(非递归)【图解代码】_哔哩哔哩_bilibili 解释一下步骤&#xff1a; 一个循环为&#xff1a; 1.取节点 2.放右子树 3.放左子树 每次循环&#xff0c;都要从栈里取出一个节点 先放右子树&#xff0c;再放左子树 那这道题就是&#xff0c;先放1&am…