网桥与以太网交换机:功能与区别解析
在传统的共享式局域网中,所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加,这样的网络通信负载加重,网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低,具有更高性能的交换式局域网在有线领域已完全取代了传统的共享式局域网。本节,我们先从扩展局域网的角度,讨论在物理层扩展以太网存在的问题和在数据链路层扩展以太网的数据链路层分组交换设备——网桥,然后讨论使用以太网交换机的全双工交换式以太网。
在物理层扩展以太网
以太网两站点之间的距离不能太远(例如,10BASE—T以太网每个站点到集线器的距离不超过100m),否则站点发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作。在过去广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。那时,两个网段可用一个转发器连接起来。IEEE802.3标准还规定,任意两个站点之间最多可以有三个电缆网段。但随着双绞线以太网成为以太网的主流类型,扩展以太网的覆盖范围已很少使用转发器了。
现在,扩展站点和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器。光纤调制解调器的作用就是进行电信号和光信号的转换。由于信号在光纤中衰减和失真很小,使用这种方法很容易使站点和千米以外的集线器相连接。
单个集线器能连接的站点数非常有限,如果使用多个集线器,就可以连接成覆盖更大范围、连接更多站点的多级星形结构的以太网。例如,一个学院的三个系各有一个10BASE—T以太网。可通过一个主干集线器把各系的以太网连接起来,成为一个更大的以太网。
但这种多级结构的集线器以太网也有一些缺点:
-
冲突域扩大:在三个系的以太网互连起来后,三个冲突域变成了一个冲突域,而这时的最大吞吐量仍然是一个系的吞吐量10Mbit/s。
-
数据率不一致:如果不同的系使用不同的以太网技术(如数据率不同),用集线器将它们互连起来后,大家都只能工作在最慢速率。
总之,在物理层扩展的以太网仍然是一个冲突域,不能连接过多的站点,否则平均吞吐量太低,且会导致大量的冲突。同时,不论是利用转发器、集线器还是光纤在物理层扩展以太网,都仅仅相当于延长了共享的传输媒体,由于以太网有争用期对端到端时延的限制,因此并不能无限扩大地理覆盖范围。
在数据链路层扩展以太网
用网桥可以在数据链路层扩展以太网。网桥工作在数据链路层,采用存储转发方式,它根据MAC帧的目的地址对收到的帧进行转发和过滤。网桥的主要功能包括:
-
过滤通信量,增大吞吐量:网桥可以使以太网各网段成为隔离开的冲突域。
-
扩大了物理范围:隔离冲突域后,网络覆盖范围不受端到端传播时延的限制。
-
提高了可靠性:网络故障一般只影响个别网段。
-
互连不同物理层和速率的以太网。
网桥的内部结构:网桥依靠转发表来转发帧。转发表记录了每个接口所能到达的各站点的MAC地址。网桥通过内部的接口管理软件和网桥协议实体来完成操作。
网桥的不足:
- 增加时延:网桥对接收的帧要先存储和查找转发表,然后再转发。
- 无流量控制功能:当网络负荷重时,网桥中的缓存可能溢出,导致帧丢失。
- 广播风暴:网桥会转发所有广播帧,不适合于用户数太多和通信量大的以太网。
透明网桥
透明网桥是通过一种自学习算法来逐步建立起自己的转发表的。透明网桥的工作原理包括:
- 自学习:每收到一个帧,就将其源地址和进入网桥的接口号记录到转发表中。
- 转发策略:如果目的地址在转发表中,则向相应接口转发;否则向所有其他接口转发。
生成树协议:透明网桥使用生成树协议(STP)来避免环路。通过生成树协议,网桥找出网络拓扑的一个连通子集,确保不存在环路。
以太网交换机
交换式集线器(Switching Hub)提高了以太网的性能。以太网交换机工作在数据链路层,具有以下特点:
- 多接口:交换机通常有十几个接口,每个接口可以直接连接计算机或集线器。
- 全双工方式:交换机直接与计算机或交换机连接时可以以全双工方式工作,无须使用CSMA/CD协议。
- 自学习:交换机通过自学习算法建立MAC地址表。
- 高效转发:交换机使用专用交换结构芯片,能实现多对接口的高速并行交换。
交换机的优点:
- 提高带宽利用率:每个用户在通信时是独占带宽。
- 易于扩展:增大交换机的容量,系统容量容易扩充。
- 多速率接口:交换机具有多种速率的接口,如10Mbit/s、100Mbit/s和1Gbit/s。
虚拟局域网(VLAN)
虚拟局域网技术解决了广播风暴和安全问题。通过逻辑配置在一个物理局域网上建立多个逻辑上独立的虚拟网络:
- 简化网络管理:站点迁移时只需调整VLAN配置,无需改变网络布线。
- 控制广播风暴:将广播报文限制在本VLAN内,防止广播风暴。
- 增强网络安全性:根据用户需求隔离VLAN间的通信。
VLAN划分:可以根据交换机接口、MAC地址、IP地址等进行划分。最常用的方法是基于交换机接口的VLAN划分。交换机的MAC地址表中除了MAC地址和接口号外,还有一个VLAN号。
VLAN中继技术(Trunk) :通过Trunk接口跨越多个交换机,多个VLAN可以共享同一条中继链路。IEEE 802.1Q标准允许在以太网帧中插入4字节的VLAN标记,用来指明帧的VLAN归属。
总结:交换式以太网和虚拟局域网技术极大地提升了网络性能和管理效率,解决了传统共享式以太网的许多问题,是现代局域网发展的重要方向。
图文来源:《计算机网络教程》
相关文章:
网桥与以太网交换机:功能与区别解析
在传统的共享式局域网中,所有站点共享一个公共的传输媒体。随着局域网规模的扩大、网络中站点数目的不断增加,这样的网络通信负载加重,网络效率急剧下降。随着技术的发展、交换技术的成熟和成本的降低,具有更高性能的交换式局域网…...
动态引用的艺术:在Postman中实现自动化的终极指南
🌀 动态引用的艺术:在Postman中实现自动化的终极指南 在API开发和测试中,Postman是一个强大的工具,它提供的动态引用功能可以帮助我们实现自动化和更高效的测试流程。本文将深入探讨如何在Postman中使用动态引用,通过…...
Qt:15.布局管理器(QVBoxLayout-垂直布局、QHBoxLayout-水平布局、QGridLayout-网格布局、拉伸系数,控制控件显示的大小)
目录 一、QVBoxLayout-垂直布局: 1.1QVBoxLayout介绍: 1.2 属性介绍: 1.3细节理解: 二、QHBoxLayout-水平布局: 三、QGridLayout-网格布局: 3.1QGridLayout介绍: 3.2常用方法:…...
图论---无向图中国邮路的实现
开始编程前分析设计思路和程序的整体的框架,以及作为数学问题的性质: 程序流程图: 数学原理: 本质上是找到一条欧拉回路,考虑图中的边权重、顶点的度数以及如何通过添加最少的额外边来构造欧拉回路,涉及到欧…...
Rockchip RK3588 - Rockchip Linux SDK脚本分析
---------------------------------------------------------------------------------------------------------------------------- 开发板 :ArmSoM-Sige7开发板eMMC :64GBLPDDR4 :8GB 显示屏 :15.6英寸HDMI接口显示屏u-boot &a…...
【C++中resize和reserve的区别】
1. resize的用法 改变当前容器内含有元素的数量(size())比如: vector<int> vct;int num vct.size();//之前的元素个数为num vct.resize(len);//现在的元素个数为len如果num < len ,那么容器vct新增len - num个元素&am…...
计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设
本论文的主要研究内容如下: 了解基于Spark的TapTap游戏数据分析系统的基本架构,掌握系统的开发方法,包括系统开发基本流程、开发环境的搭建、测试与运行等。 主要功能如下: (1)用户管理模块:…...
Python面试题:如何在 Python 中进行正则表达式操作?
在 Python 中,正则表达式操作可以通过 re 模块来实现。以下是一些常用的正则表达式操作和示例: 1. 导入模块 import re2. 常见操作和示例 a. 匹配 使用 re.match() 来检查字符串的开头是否匹配某个模式。 pattern r\d # 匹配一个或多个数字 strin…...
C#面:简述什么是中间件(Middleware)?
中间件是组装到应⽤程序管道中以处理请求和响应的软件。 每个组件: 选择是否将请求传递给管道中的下⼀个组件。 可以在调⽤管道中的下⼀个组件之前和之后执⾏⼯作。 请求委托(Request delegates)⽤于构建请求管道,处理每个HTTP请…...
AWS Glue 与 Amazon Redshift 的安全通信配置
1. 引言 在 AWS 环境中,确保服务间的安全通信至关重要。本文将探讨 AWS Glue 与 Amazon Redshift 之间的安全通信配置,特别是为什么需要特定的安全组设置,以及如何正确实施这些配置。 2. 背景 AWS Glue:全托管的 ETL(提取、转换、加载)服务Amazon Redshift:快速、完全…...
nginx访问控制
最近部署consul服务,发现consul认证配置比较麻烦,于是上网查询发现nginx支持路由认证,在此做个记录。 1.Nginx访问控制模块类型 基于IP的访问控制:http_access_module基于用户的信任登录:http_auth_basic_module 2.…...
高效应对网络攻击,威胁检测响应(XDR)平台如何提升企业应急响应能力
在数字化时代,企业面临的网络攻击威胁持续增加,如恶意软件、勒索软件、钓鱼攻击、DDoS攻击等。这些威胁不仅危及企业数据安全、系统稳定,还损害了品牌形象和市场信任。随着云计算、大数据、物联网的广泛应用,企业网络攻击面扩大&a…...
多线程问题
什么是线程 线程是cpu调度和执行的单位,一个程序的运行伴随着的是一个进程的执行,而一个进程是由一个或多个线程来完成的,通过cpu调度资源在很短时间切换主线程和子线程并行,交替执行来做到看似多个线程同时进行的状态࿰…...
自动优化:SQL Server数据库自动收缩配置指南
自动优化:SQL Server数据库自动收缩配置指南 在数据库管理中,随着数据的增删,数据库文件的大小会不断变化,导致空间浪费和性能下降。SQL Server提供了自动收缩功能,帮助数据库文件保持最佳状态。本文将深入探讨如何在…...
华为机考真题 -- 密码解密
题目描述: 给定一段"密文"字符串 s, 其中字符都是经过"密码本"映射的,现需要将"密文"解密并且输出映射的规则 (a - i)分别用(1 - 9)表示;(j - z)分别用(10* - 26*)表示约束:映射始终唯…...
ScrapySharp框架:小红书视频数据采集的API集成与应用
引言 随着大数据时代的到来,数据采集成为了互联网企业获取信息的重要手段。小红书作为一个集社交和电商于一体的平台,其丰富的用户生成内容(UGC)为数据采集提供了丰富的资源。本文将介绍如何使用ScrapySharp框架进行小红书视频数…...
PostgreSQL 数据库监控项
在维护和优化 PostgreSQL 数据库时,采集并监控数据库的各种静态和动态指标非常重要。这些指标包括数据库的配置信息、资源使用情况、性能指标等,能够帮助数据库管理员及时发现并解决潜在的问题,从而提高数据库的稳定性和性能。本文提供了一系…...
用python生成词频云图(python实例二十一)
目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.词频云图 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&a…...
HTML 标签简写和全称及其对应的中文说明和实例
<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…...
(2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
前言 本系列最初的想法就是搭建一个多项目的环境, 包含nginx, nodejs, php, html, redis, MongoDB, mysql.本文使用的PHP镜像为php:7.3.6-apache, 这里可以使用上一篇文章中生成好的镜像.LAMP或包含react或vue的前端项目, 本文就各写了一个, 可以按照实际需求, 自行添加多个容…...
全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用
全网最适合入门的面向对象编程教程:13 类和对象的 Python 实现-可视化阅读代码神器 Sourcetrail 的安装使用 摘要: 本文主要介绍了可视化阅读代码神器Sourcetrail的安装与使用,包括软件简介和特性、下载地址、安装方式、新建工程和如何查看…...
Django 视图 - FBV 与 CBV
Django 视图 - FBV 与 CBV 在 Django 框架中,视图是处理 Web 请求和返回 Web 响应的核心组件。Django 提供了两种主要的视图编写方式:函数基础视图(Function-Based Views,简称 FBV)和类基础视图(Class-Bas…...
AI机器人在未来的应用场景预测:是否会取代人类?华为、百度、特斯拉他们在AI领域都在做什么?
引言 随着人工智能(AI)技术的飞速发展,AI机器人在各个领域的应用变得越来越普遍。从工业自动化到日常生活,AI机器人已经开始展现出强大的潜力和实际应用价值。本文将深入探讨AI机器人在未来的应用场景,并分析它们是否…...
第58期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…...
maven 依赖冲突
依赖冲突 1、对于 Maven 而言,同一个 groupId 同一个 artifactId 下,只能使用一个 version。 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 --><dependency><groupId>org.apache.commons</groupId&…...
demon drone 200无人机标定流程
demon drone 200无人机标定流程 一、飞控固件更新1.1 固件更新1.2 参数更新 二、imu标定2.1 安装imu标定工具(在你自己的电脑上)2.2 录制rosbag(在对应飞机上)2.3 运行标定程序(在你自己的电脑上) 三、双目及imu联合标定3.1 安装标…...
案例开发-日程管理-第一期
九 案例开发-日程管理-第一期 共7期 9.1 登录页及校验 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.ht{text-align: center;color: cadetblue;font-family: 幼…...
【Java 注解,自定义注解,元注解,注解本质,注解解析】
文章目录 什么是注解?Java内置注解自定义注解元注解注解的本质注解解析 什么是注解? 注解是Java编程语言中的一种元数据,提供了有关程序的额外信息。注解以符号开始,紧跟着注解的名称和一对括号,括号内包含注解的参数…...
染色法判定二分图
什么是二分图? 二分图,也称作二部图,是图论中的一种特殊模型。在一个无向图G(V,E) 中,如果顶点集合 V 可以被分割成两个互不相交的子集 A 和 B,并且图中的每条边 (i,j) 关联的两个顶点 i 和 j 分别属于这两个不同的顶…...
自动气象站的主要功能优势
在科技日新月异的今天,我们生活的方方面面都受到了科技的影响。其中,自动气象站作为气象观测领域的重要一环,不仅提升了气象数据的准确性和时效性,还为我们的日常生活、农业生产、灾害预防等提供了重要的数据支持。 自动气象站概述…...
wordpress+最新版本/北京网站seo招聘
题目解决代码及点评 /************************************************************************/ /* 15. 有 N个国家名,要求按字母先后顺序排列(用起泡排序法)后输出*/ /***************************…...
在哪里可以免费做个人网站/产品推广建议
今天偶然想做FLEX里鼠标右键弹出菜单,但其实是很麻烦的,因为忘记了FLASH自己是有个鼠标右键菜单的,所以还是不动为秒, 但如果实在要动的话,也可以,转载之: 1.如果你是Desktop Application监听事件的MouseEvent.RIGHT_CLICK事件 比如对某个控件a进行监控右键点击事件 a.addEve…...
网站调用字体库/灰色关键词排名方法
问题: Python操作数据库出现链接超时断开问题: pymysql.err.OperationalError: (2006, "MySQL server has gone away (ConnectionAbortedError(10053, 你的主机中的软件中止了一个已建立的连接。, None, 10053, None))") 原因: …...
wordpress默认登录页修改/百度官网认证多少钱一年
前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。要用微信发消息,自己首先要有微信企业号,如果没有申请也容易准备工作:1.申请微信企业号2.在企业号后台创建应用3.关注微信企业号脚本用Pyt…...
深圳高端家具公司/上海专业seo排名优化
C初始化之超级大坑起因类中定义成员变量的初始化问题解决方法采用如下初始化方法栈区定义类的加括号与不加括号问题起因 平时很少用leetcode写题(一般都是用ACWing)今天看到个题用leetcode写了哈,结果遇到了两个语法大坑 类中定义成员变量的…...
网站建设服务开税率多少的票/搜索关键词怎么让排名靠前
考虑以下代码: int x; void someFunc() {double x;std::cin >> x; };读取数据的语句涉的是局部变量x,而不是全局变量x,因为内层作用域的名称会遮掩外围作用域的名称。 考虑以下的类: class Base { private:int x; public:virtual vo…...