五_交换网络

        交换机是局域网中最重要的设备,用于将同一网络中的多个设备连接起来。交换机基于MAC地址进行工作。本章主要介绍交换原理、转发方法、交换网络层次结构、交换机管理(SSH)和交换机安全等内容。

5.1 交换网络概述

5.1.1 交换机的工作原理

        从传统概念来讲,交换机是二层(数据链路层)设备,基于收到的数据帧中的源MAC(Media Access Control)地址和目的MAC地址来进行工作,具有每个端口享用专用的带宽、隔离冲突域、实现全双工操作等优点。当然现在三层交换机使用也非常普及。交换机的作用主要有两个:一是维护内容地址表(Context Address Memory,CAM)表,该表是MAC地址、交换机端口以及端口所属VLAN的映射表;二是根据CAM表来进行数据帧的转发。对于收到的每个数据帧,交换机都会将数据帧头中的目的MAC地址与MAC表中的地址列表进行比对,如果找到匹配项,表中与MAC地址配对的端口号将被用作帧的转发出端口。交换机采用以下5种基本操作来完成交换功能。

  1. 学习:当交换机从某个接口收到数据帧时,交换机会读取帧的源MAC地址,并在MAC表中填入MAC地址及其对应的端口。
  2. 过期:通过学习获取的MAC 表条目具有时间戳,此时间戳用于从MAC表中删除旧的条目。当某个条目在MAC 表中创建之后,就会使用其时间截作为起始值开始递减计数。计数值到0后,条目被删除,也称为老化。交换机如果从相同端口接收同一源MAC地址的帧时,将会刷新MAC表中的该条目,即重新计时。Cisco交换机MAC 表条目的老化时间默认为300秒。
  3. 泛洪:如果目的MAC地址不在 MAC 表中,交换机不知道向哪个端口发送帧,此时它会将帧发送到除接收端口以外的处于同一VLAN的所有其他端口,这个过程称为未知单播帧泛洪。泛洪还用于发送目的地址为广播或者组播MAC地址的帧。
  4. 转发:转发是指当计算机发送数据帧到交换机时,交换机检查帧的目的 MAC地址,当MAC地址表中有相应的表项时,将收到的数据帧从对应的端口转发出去。
  5. 过滤:在某些情况下,帧不会被转发,此过程称为帧过滤。前面已经描述了过滤的使用条件:交换机不会将收到的数据帧转发到接收帧的端口。另外,交换机还会丢弃损坏的帧,例如,帧没有通过循环冗余码校验(Cyclic Redundancy Check,CRC)检查,就会被丢弃。

5.1.2 交换机转发方法

         以太网交换机转发数据帧的方法有如下3种。

1、存储( Store-and-Forward)转发

        存储转发方式是先接收后转发的方式。它把从交换机端口接收的数据帧先全部接收并缓存,然后进行CRC检查,把错误帧丢弃(例如,如果它太短,小于64字节;或者太长,大于1518字节;或者数据传输过程中出现了错误,都将被丢弃),最后才取出数据帧的源地址和目的地址,查找 MAC地址表后进行过滤和转发。存储转发方式的延时与数据帧的长度成正比,数据帧越长,接收整个数据帧所花费的时间越多,因此延时越大,这是它的不足。但是它可以对进入交换机的数据包进行高级别的错误检测。这种方式可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。

2、直通(Cut-Through)转发

        交换机在输入端口检测到一个数据帧时,检查该帧的帧头,只要获取了数据帧的目的MAC地址,就开始转发帧数据。它的优点是开始转发前不需要读取整个完整的数据帧,延时非常小,交换过程非常快。它的缺点是因为数据帧的内容没有被交换机缓存下来,所以无法检查所传送的数据帧是否有误,不能提供错误检测能力。

3、无碎片(Fragment-Free)转发

         这是改进后的直接转发,是介于前两者之间的一种转发方法。由于在正常运行的网络中,冲突大多发生在64字节之前,所以无碎片方法在读取数据帧的前64字节后,就开始转发该数据帧。这种方式也不提供数据校验,它的数据处理速度虽然比直接转发方式慢,但比存储转发方式快许多。

        从3种交换方法可以看出,交换机的数据转发延时和错误率取决于采用何种交换方法。存储转发方式的延时最大,无碎片转发方式次之、直通转发方式最小;然而存储转发方式的帧错误率最小,无碎片转发方式次之、直通转发方式最大。在采用何种交换方法上,需要折中考虑。现在,许多交换机可以做到在正常情况下采用直通转发方式,而当数据的错误率达到一定程度时,自动转换到存储转发方式。

5.1.3 冲突域和广播域

1、冲突域

        在基于集线器的以太网段上,网络设备会竞争介质,在设备之间共享同一带宽的网段被称为冲突域,因为当该网段中两个或更多设备尝试同时通信时可能会出现冲突,而解决冲突的方法是载波侦听多路访问/冲突检测(Carrier Sense Multiple Access with CollisionDetection,CSMA/CD)。交换机可以将网络划分为网段以减少竞争带宽的设备数量。交换机每个端口就是一个单独的冲突域。

2、广播域

         当交换机收到广播帧时,它将向和自己处于同一VLAN的每一个端口转发该帧(接收该广播帧的端口除外),因此交换机不能过滤广播帧,相连交换机的集合构成了一个广播域。网络上太多的广播帧可能导致网络拥塞,造成交换机网络性能降低,甚至发生广播风暴。路由器可以用于分割冲突域和广播域。

5.1.4 交换网络​​​​​​层次结构

        在企业园区网中采用分层网络设计更容易管理和扩展网络,排除故障也更迅速。典型的分层设计模型可分为接入层、分布层和核心层。在中小型网络中,通常采用紧缩型设计,即分布层和核心层合二为一,各层描述如下。

1、接入(Access)层

        接入(Access)层负责连接终端设备(如 PC、打印机、无线接入点和IP电话等)以提供对网络中其他部分的访问。接入层的主要目的是提供一种将设备连接到网络中并控制允许网络上的哪些设备间进行通信的方法。接入层设备通常是二层交换机,如Cisco的29系列交换机。

2、分布(Distribution)层

        分布层 (Distribution)先汇聚接入层交换机发送的数据,再将其传输到核心层,最后发送到最终目的地。分布层使用策略控制网络的通信流量并通过在接入层定义的虚拟LAN(VLAN)之间执行路由功能来划定广播域。利用VLAN,可以将交换机上的流量分成不同的网段,置于互相独立的子网内。分布层设备通常是三层交换机,如Cisco的35、37和38等系列交换机。

3、核心(Core)层

         核心层汇聚所有分布层设备发送的流量,保持高可用性和高冗余性非常重要,因为它必须能够快速转发大量的数据。核心层设备通常也是三层交换机,如 Cisco的65等系列交换机。

        三层交换机通常部署在交换网络的核心层和分布层,它的特点是能够构建路由表,支持一些路由协议并转发IP数据包,其转发速率接近二层转发速率。三层交换机支持专用硬件,如专用集成电路(Application Specific Integrated Circuit,ASIC)。ASIC与专用软件数据结构配合使用可简化与CPU无关的IP数据包的转发。

5.1.5 交换机选型

          根据交换机端口的带宽,交换机可分为对称交换和非对称交换两类。对称交换中,交换机端口的带宽相同;非对称交换中,交换机端口的带宽不相同。非对称交换使更多带宽能专用于连接服务器或者上行链路交换机的端口,以防止产生带宽瓶颈。

        在选择交换机设备时企业需要考虑的一些常见因素包括成本、端口密度、冗余电源和 POE功能、可靠性、端口速度、帧缓冲区和可扩展性等。同时,在选择交换机类型时,网络设计人员必须选择使用固定配置或模块化配置以及堆叠式或非堆叠式交换机。

  1. 固定配置交换机:不支持除交换机出厂配置以外的功能或选件,具体的型号决定了可用的功能和选件。
  2. 模块化配置交换机:模块化配置交换机配置较灵活,通常有不同尺寸的机箱,允许安装不同数目的模块化板卡。
  3. 可堆叠配置交换机:可以使用专用电缆进行互连,电缆可在交换机之间提供高带宽的吞吐能力。

        在企业网络中存在以下5种类型的交换机。

  1. 园区 LAN交换机:在企业LAN中扩展网络性能,包括核心层、分布层、接入层和紧凑型交换机,这些交换机平台各不相同,园区 LAN交换机平台包括Cisco 2960、3560、3650,3850、4500、6500和 6800系列。
  2. 云管理型交换机:Cisco Meraki云管理接入交换机支持交换机的虚拟堆叠,它们通过Web监控和配置数千个交换机端口,而不需要IT人员的现场干预。
  3. 数据中心交换机:数据中心交换机可以提高基础架构的可扩展性、操作连续性和传输灵活性。数据中心交换机平台包括Cisco Nexus系列交换机等。
  4. 运营商交换机:运营商交换机分为汇聚交换机和以太网接入交换机两类。汇聚交换机是运营商级以太网交换机,它能够在网络边缘汇聚流量。运营商以太网接入交换机具备应用层智能、统一服务、虚拟化、集成安全性和简化管理功能。
  5. 虚拟网络交换机:网络正变得越来越虚拟化,Cisco Nexus 虚拟网络交换机平台通过将虚拟化智能技术添加到数据中心网络来提供安全的多用户服务。

5.1.6 交换机启动顺序

        Cisco交换机加电之后,启动顺序如下。

  1. 执行低级 CPU初始化:启动加载器初始化CPU寄存器,寄存器控制物理内存的映射位置、内存量以及内存速度。
  2. 执行CPU子系统的加电自检(POST):启动加载器测试CPU、内存以及Flash。
  3. 初始化系统主板上的Flash 文件系统。
  4. 加载IOS 映像文件:交换机将IOS 映像文件加载到内存中并启动交换机。首先交换机尝试使用 BOOT环境变量中的信息自动启动。如果没有设置此变量,启动加载器先在与Flash中 Cisco IOS映像文件同名的目录中查找交换机上的映像文件,如果在该目录中未找到,则启动加载器软件搜索每一个子目录,然后继续搜索原始目录。如果没有找到IOS 文件,则进入switch:模式。比如误删除IOS文件等原因,此时需要通过XMODEM方式恢复IOS。
  5. 加载配置文件。交换机在 Flash中查找配置文件 config.text并加载。如果没有找到配置文件,则提示是否进入设置(setup)模式。

        Cisco交换机前面板的左侧有Mode按钮和几个状态LED 指示灯。不同型号和功能集的交换机将具有不同的LED,而且在交换机前面板上的位置也可能不同。其中 Mode按钮用于在端口状态、端口双工、端口速度和端口PoE状态之间进行切换。常见的指示灯如下。

  1. 系统(SYST) LED:显示系统是否通电以及是否正常工作。
  2. 冗余电源系统(Redundant Power System,RPS) LED:显示冗余电源系统状态。
  3. 端口状态(STAT) LED:当端口状态LED为绿色时,表示选择了端口状态模式。此模式为默认模式。
  4. 端口双工(DUPLEX) LED:当端口双工LED为绿色时,表示选择了端口双工模式。
  5. 端口速度(SPEED) LED:表示选择了端口速度模式。
  6. 以太网供电(PoE)模式LED:如果交换机支持PoE功能,则存在 PoE模式LED·

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

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

相关文章

场景文本检测识别学习 day02(AlexNet论文阅读、ResNet论文精读)

怎么读论文 在第一遍阅读的时候,只需要看题目,摘要和结论,先看题目是不是跟我的方向有关,看摘要是不是用到了我感兴趣的方法,看结论他是怎么解决摘要中提出的问题,或者怎么实现摘要中的方法,然…

Elementplus 2.6.1表单校验模块开发体验改进

需求 之前的表单代码看了下,写的比较冗长,于是去万能的Github找点轮子,发现了这个: GitHub - aweiu/element-ui-verify: 如果你受够了饿了么ElementUI原生的校验方式,那就来试试它吧!一款更懂你的校验插件…

Taro框架中的H5 模板基本搭建

1.H5 模板框架的搭建 一个h5 的基本框架的搭建 基础template 阿乐/H5 Taro 的基础模板

Java多线程实战-从零手搓一个简易线程池(四)线程池生命周期状态流转实现

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️本系列源码仓库:多线程并发编程学习的多个代码片段(github) 🏷️个人学习笔记,若有缺误,欢迎评论区指正…

nexus设置s3存储

问题 因为我的nexus是安装在EC2上面,需要利用s3的存储能力,为nexus提供存储服务。 步骤 准备s3桶 输入桶名,创建s3桶,如下图: 创建桶读写策略 具体内容如下: {"Version": "2012-10-1…

c++之代码编译问题

为什么头文件不是编译的对象 1、头文件与包含指令(#include) 那些没有被项目中任何源文件包含的头文件,编译器是不去理会它的,不管它有没有语法错误,也不管它是否已添加到项目中。 2、包含指令的执行 包含指令是一种预编译指令,它…

如何区别进化和演化

在生物学中,"进化"和"演化"这两个词通常可以互换使用,它们都指的是生物种群随时间推移而发生的遗传变化。然而,在某些语境中,这两个词可能会有细微的差别: 进化(Evolution)…

Java基础知识总结(46)

(1)构造器 构造器的定义: 需要注意的是构造器是一种特殊的方法,其方法名和类名相同,但没有方法返回值,也不用void修饰。 [修饰符] 方法名(形参列表){ •方法体 •} 修饰符:修饰符可以省略&am…

java中的尾递归

1、基本概念 1)尾调用: 在计算机学里,尾调用是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。此时,该尾部调用位置被称为尾位置。尾调用中有一种重…

[翻译] 在 CI 或测试环境中使用 Docker-in-Docker,三思而后行

发布日期:2024-04-08 18:01:01 原文地址:Using Docker-in-Docker for your CI or testing environment? Think twice. Docker-in-Docker 的主要目的是帮助 Docker 本身的开发。许多人使用它来运行 CI(例如使用 Jenkins)&#xf…

[NKCTF2024]-PWN:leak解析(中国剩余定理泄露libc地址,汇编覆盖返回地址)

查看保护 查看ida 先放exp 完整exp: from pwn import* from sympy.ntheory.modular import crt context(log_leveldebug,archamd64)while True:pprocess(./leak)ps[101,103,107,109,113,127]p.sendafter(bsecret\n,bytes(ps))cs[0]*6for i in range(6):cs[i]u32(p…

Java 基于微信小程序的校园请教小程序的研究与实现,附源码

博主介绍:✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅&#x1f447…

SpringBoot整合Spring Data JPA

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容: SpringBoot整合Spring Data JPA 📚个人知识库: Leo知识库,欢迎大家访问 1.…

ChatGPT新手指南:如何用AI写出专业学术论文

ChatGPT无限次数:点击直达 ChatGPT新手指南:如何用AI写出专业学术论文 在当今信息爆炸的时代,人工智能技术的快速发展为我们提供了许多新的可能性。ChatGPT作为一种先进的自然语言处理技术,不仅能够进行对话和文本生成,还可以辅助…

淘宝销量API商品详情页原数据APP接口测试㊣

淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地…

Java-StringBuilder容器

一、基础用法 1.创建对象 StringBuilder sbnew StringBuilder(); 2.添加元素 可以添加整型、浮点型、字符串等。 sb.append(1); sb.append(2.3); sb.append(true); 3.反转 sb.reverse(); 4.获取长度 int len sb.length(); 5.转变成字符串 tring strsb.toString(); …

Python学习笔记11 - 列表

1. 列表的创建与删除 2. 列表的查询操作 3. 列表的增、删、改操作 4. 列表元素的排序 5. 列表生成式

利用IP地址判断羊毛用户:IP数据云提供IP风险画像

在当今数字化社会,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。然而,随着网络的普及,网络欺诈行为也日益猖獗,其中包括了羊毛党这一群体。羊毛党指的是利用各种手段获取利益、奖励或者优惠而频繁刷取优惠券、注册账…

png转换成jpg格式?这几种方法很简单

在发送电子邮件时,附件的大小是一个重要的考虑因素。将PNG图像转换为jpg格式可以减小文件大小,减少附件的传输时间和存储空间占用。这对于商务邮件、个人邮件或邮件营销活动中的图片附件都非常有用,下面就介绍几个可以快速完成图片转格式的方…

C++之std::initializer_list详解

目录 1.引言 2.容器的初始化 3.函数中使用std::initializer_list 4.自定义类型中使用std::initializer_list 5.迭代std::initializer_list 6. 在模板中使用std::initializer_list 7.std::initializer_list的限制 8.总结 1.引言 std::initializer_list 是 C11 中的一个特…