微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

交换机基础知识

交换机基础知识

概述

今天主要研究学习下以太网交换机的基础知识,从交换机的发展史以及其工作原理进行剖析,以下内容主要是自己收集的资料以及自己的理解。
以太网交换机基础知识总纲

以太网交换机演进史

随着以太网的飞速发展,以太网交换机凭着高性能,低成本的优势在不断演进。目前已经成为应用最广泛的网络设备。早期的以太网设备如集线器是物理层设备,不能隔绝冲突域和广播域,对带宽带来了极大的浪费。交换机作为一种能隔绝冲突域和广播域的二层网络设备,极大的提高了以太网的性能
下面列举一些不同时代的交换机产品,看下交换机的具体演进。

阶段产品类典型产品转发方式应用场景
第一代集线器3Com 3C16410/Ciso 1538ASIC共享式局域网
第二代二层交换机Cisco 2960系列/Huawei S5700-LI系列ASIC小型局域网
第三代三层交换机Cisco 3750X系列/Huawei S5700-EI系列ASIC中小型局域网
第四代叠加型多业务交换机Cisco 6500系列/Huawei 9700系列ASIC+多核cpu混合模型各类园区网城域网

根据数据交换方式演进

  1. 共享总线

    在这里插入图片描述

    通过共享总线进行通信,大家都在同一个冲突域,采用CSMA/CD技术。
  2. 环形交换
    环形交换实质上仍然是一种总线交换方式,改进点就是将总线移到了芯片中,而不是在背板上。
  3. 共享内存
    共享内存结构的交换机使用大量的高速RAM来存储输入数据,同时依赖中心交换引擎来提供全端口的高性能连接,由核心引擎检查每个输入包以决定路。此时交换引擎成为性能突破的瓶颈。
  4. Crossbar

    在这里插入图片描述

    业务线卡通过背板走线连接到 Crossbar 芯片上,Crossbar 芯片集成在主控引擎上。

    在这里插入图片描述

    CrossBar(即Crosspoint)被称为交叉开关矩阵或纵横式交换矩阵。它能很好的弥补共享内存模式的一些不足。
    简单地说,Crossbar 架构是一种两级架构,它是一个开关矩阵,每一个 Crosspoint 都是一个开关,交换机通过控制开关来完成输入到特定输出的转发。如果交换具有 N 个输入和 N 个输出,那么该 Crossbar Switch 就是一个带有 N*(N-1)≈N?个 Crosspoint 点的矩阵,可见,随着端口数量增加,交叉点开关的数量呈几何级数增长。对于 Crossbar 芯片的电路集成水平、矩阵控制开关的制造难度、制造成本都会呈几何级数增长。所以,采用一块 Crossbar 交换背板的交换机,所能连接的端口数量也是有限的。
  5. 分布式Crossbar CLOS

    在这里插入图片描述

    每块业务线卡和所有交换网板相连,交换芯片集成在交换网板上,实现了交换网板和主控引擎硬件分离。CLOS 架构是一种多级架构,每个入口级开关和每个中间级开关之间只有一个连接,并且,每个中间级开关正好连接到每个出口级开关,这种架构的优点是可以通过多个小型 Crossbar 开关来实现大量输入和输出端口之间的连接,Crosspoint 数量级别低于 Crossbar 架构的 N 的 2 次方,降低了芯片实现难度。

以太网交换机简介

交换机这个名称是通过Switch直译过来的,是一种基于MAC地址识别,可以解封装二层以太网帧,根据转发表进行直通转发的网络设备。

交换机基础概念

  1. 转发表: 交换机的数据帧转发方式,是依据存储在内部的fdb(Forwarding DataBase)表进行临时建立的交换路径,由数据帧的源直接到数据的目的地址。
  2. 地址学习:交换机最重要的一个特性就是MAC(Media Access Control)地址的学习,建立一个fdb表,以供数据的转发。
  3. 交换容量: 交换机有一条高带宽的背板总线和内部交换矩阵,交换机所有端口同时工作,它们的双向数据传输速率之和称为整机交换容量,也叫背板带宽。每个端口都是独占带宽,不会影响其它端口。

交换机三个主要特性:MAC学习、转发/过滤、消除回路

交换机交换模式

交换机把某端口的入方向数据,转发至另一个端口的方式叫做交换模式。分为以下三种。

存储转发 - Store and Forward

特点:交换机接收报文,数据包进入缓存器,进行CRC循环冗余校验,失败丢弃。校验成功查表转发。
优点:可靠、稳定,没有残缺数据包转发。
缺点:由于需要缓存并校验,相比直通转发速度较慢。
适用环境:环境对数据传输链路影响较大并且要求高传输质量的恶劣环境中。

直通交互 - Cut-Through

特点:数据进入交换机端口后,仅仅解析前6个字节,根据目的MAC地址进行查表转发。
优点:转发速率快,减少延时。
缺点:通信网络中会出现垃圾包,污染环境。
适用环境:适用网络传输质量可靠,对时延有要求的网络。

碎片丢弃 - Fragmentfree

特点:这是介于前两者之间的解决方案,判断当前包大小,小于64字节直接丢弃。
优点:数据转发速率比存储转发快。
缺点:比直通慢。
适用环境:适用普通网络,一般的通信链路。

与传统网桥和集线器对比

对比网桥

  1. 延迟小:交换机基于硬转发(ASIC: Application-Specific-Integrated Circuit),而网桥式软转发;
  2. 端口多;
  3. 功能强大:交换机支持丰富的网络协议,并且可以网关。

对比集线器
交换机与集线器有着本质的不同,具有无与伦比的优势,目前集线器已经逐渐推出历史舞台。

  1. 工作的层次不同:交换机工作在二层以及二层以上,集线器工作在物理层;
  2. 数据传输方式不同: 集线器共享总线传输,所有端口在同一个广播域,采用广播形式。交换机每个端口处于一个冲突域,转发只在源目端口之间;
  3. 带宽占用方式不同:集线器共享带宽,交换机每个端口独占带宽;
  4. 传输模式不同:集线器采用半双工通信方式,交换机采用全双工通信方式。

交换机分类

根据产品划分

  1. 盒式交换机

    在这里插入图片描述

  2. 框式交换机

    在这里插入图片描述

根据应用区域划分

  • 广域网交换机:主要用于移动运营商,提供通信的基础平台;
  • 局域网交换机:主要用于局域网网络,直接连接终端设备。

根据网络层次划分

在这里插入图片描述

  • 核心层交换机:一般采用机箱式模块化设计,机箱中可承载管理模块、光端口模块、高速电口模块、电源等,具有很高的背板容量;
  • 汇聚层交换机:可以是机箱式模块化交换机,也可以是固定配置的交换机,具有较高的接入能力和带宽,一般会包含光端口、高速电口等端口;
  • 接入层交换机:一般是固定配置的交换机,端口密度较大,具有较高的接入能力,以10/100M端口为主,以固定端口或扩展槽方式提供1000Mbps的上联端口。

根据传输介质划分

根据传输介质、传输的速度以及交换机发展史来划分。

  1. 以太网交换机
  2. 快速以太网交换机
  3. 千兆以太网交换机
  4. 万兆以太网交换机
  5. FDDI交换机:传输速度100Mbps,快速以太网技术之前开发出来的设备,用于老式中、小型企业的快速交换网络中。
  6. ATM交换机:用于ATM网络的交换机产品,价格昂贵,目前仅广泛用于电信、邮政网的主干网段。采用的技术是信元交换和各虚连接间的统计复用
  7. 令牌环交换机:用在以环形网络拓扑结构为基础的局域网。环上传输特点,谁有令牌谁就传输。

根据规模应用上划分

  1. 企业级交换机
  2. 部门级交换机
  3. 工作组交换机

根据ISO的OSI划分

  1. 二层交换机:基于MAC地址工作的第二层交换机最为普遍,用于网络接入层和汇聚层。
  2. 三层交换机:基于IP地址和协议进行交换的第三层交换机应用于网络的核心层,也少量应用于汇聚层。部分第三层交换机也同时具有第四层交换功能,可以根据数据帧的协议端口信息进行目标端口判断。
  3. 四层交换机:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它所传输的业务服从各种各样的协议,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。
  4. 七层交换机:第四层以上的交换机称之为应用型交换机,主要用于互联网数据中心。

根据交换机可管理性划分

  1. 可管理型交换机
  2. 不可管理型交换机

两者区别在于对SNMP、RMON等网管协议的支持。可管理型交换机便于网络监控、流量分析,但成本也相对较高。大中型网络在汇聚层应该选择可管理型交换机,在接入层视应用需要而定,核心层交换机则全部是可管理型交换机。

根据是否支持堆叠

  1. 可堆叠交换机
  2. 不可堆叠交换机

根据应用的角度划分

  1. 电话交换机(PBX):主要应用于电信领域,提供语音通讯。
  2. 数据交换机(Switch):应用于计算机网络。

交换机主要性能指标

背板带宽与端口速率

  1. 背板带宽:指通过交换机所有通信的最大值。
  2. 端口速率:每秒通过的比特数。 10Mbps、100Mbps、1000Mbps、10000Mbps

模块化与固定配置

  1. 模块化交换机:具有很强的可扩展性,可在机箱内提供一系列扩展模块,如千兆位以太网模块、FDDI模块、ATM模块、快速以太网模块、令牌环模块等,所以能够将具有不同协议、不同拓扑结构的网络连接起来。但是它的价格一般也比较昂贵。模块化交换机一般作为骨干交换机来使用。
  2. 固定配置交换机:一般具有固定端口配置,比如Cisco公司的Catalyst l900/2900交换机,Bay公司的BayStack350/450交换机等。固定配置交换机的可扩充性显然不如模块化交换机,但是价格要低得多。

芯片类型

  1. X86: 通用计算机芯片
  2. ASIC: (Application-Specific-Integrated Circuit )
  3. NP: 专用网络处理器

单/多MAC地址类型

  1. 单MAC交换机:每个端口只有一个MAC地址
  2. 多MAC交换机:每个端口捆绑有多个MAC硬件地址

单MAC交换机主要用于连接最终用户、网络共享资源或非桥接路由器,它们不能用于连接集线器或含有多个网络设备的网段;多MAC交换机的每个端口可以看作是一个集线器,而多MAC交换机可以看作是集线器的集线器。

交换机转发原理

三层交换机实质上是将二层交换机与路由器结合起来的网络设备,它既可以完成数据交换功能,又可以完成数据路由功能

在这里插入图片描述


下面以BCM芯片详细介绍二三层转发原理。

二层交换机转发原理

在这里插入图片描述

  • 单播转发:
    1. 分配VID:untag报文,VLAN模块进行VID分配(PVID)。如果式tag报文,根据端口的VLAN列表判断是否丢弃。
    2. 源MAC地址学习:根据源MAC地址与VID(IVL模式)或者MAC地址与FID(SVL模式),查找L2_ENTRY,如果存在则更新hit位、如果已经存在且端口发生变化,则进行地址迁移更新;如果不存其则进行地址的芯片自动学习、丢弃或者上送cpu(CML决定)。
    3. 目的MAC地址查找:如果匹配L2_USER_ENTRY且BPDU=1,将报文在VLAN内洪泛、丢弃或者上送cpu;如果BPDU=0,报文根据DST_MODID与DST_PORT进行转发。如果不匹配L2_USER_ENTRY,但匹配L2_ENTRY,报文根据DST_MODID与DST_PORT/TGID进行转发;如果不匹配L2_ENTRY,报文将在VLAN内泛洪。
  • 组播转发:目的MAC地址查找如果匹配L2_ENTRY且l2mc_ptr指向L2MC,则转发到L2MC的指定端口。
  • 广播转发:地址学习阶段结束后,向VLAN内泛洪。

    在这里插入图片描述


    L2 Aging
    新的源MAC地址学习或者源MAC地址查找匹配时,会设置hit位。当AGE_VAL时间到期,则会自动清除hit位。当AGE_VAL时间再次到期时,如果hit位已经处于清除状态,则删除转发表项。

三层交换机转发原理

在这里插入图片描述


L3 Packet Flow

  • L2进行目的MAC地址的L2_USER_ENTRY与L2_ENTRY查找时L3=1,那么报文将进入L3的处理流程。目的MAC为交换机的MAC地址。
    1. SIP查找:如果不匹配L3,则不进行DIP的查找处理(可选送cpu处理);如果匹配L3,则更新L3 hit位并进行DIP的查找处理;如果匹配L3且发生端口迁移,报文将送往cpu处理,由软件负责L3表的更新,并进行DIP的查找处理。hit可以被软件用于老化处理。
    2. DIP查找:如果匹配L3,输出索引指向ING_L3_NEXT_HOP与EGR_L3_NEXT_HOP,从ING_L3_NEXT_HOP获取DST_MODID与DST_PORT/TGID,从EGR_L3_NEXT_HOP获取报文下一跳的目的MAC地址和索引指向EGR_L3_INTF,从EGR_L2_INTF获取源MAC地址与VID,获取的信息都是由硬件用于自动替换报文的内容(SA,DA,VID);如果不匹配L3,则搜索L3_DEFIP,最长匹配搜索算法用来匹配DIP的最长子网掩码,如果找到匹配,输出索引指向ING_L3_NEXT_HOP与EGR_L3_NEXT_HOP。

对于查找命中的报文,将进行TTL减少,IP checksum与Ethernet FCS重新计算后发送 。
对于查找未命中的报文,将丢弃或者上送cpu处理。

L3 Mulitcast

在这里插入图片描述

  1. 三层组播报文根据端口关联的VLAN数来决定需要复制多少份报文发送(1个VLAN需要一份)。L3(IPMC)索引指向L3_IPMC与IPMC_GROUP。

    • L3_IPMC指示组播报文要往哪个端口进行二层转发(L2_BITMAP),或者三层路由(L3_BITMAP).
    • IPMC_GROUP指示组播报文要往哪个VLAN进行转发。

      在这里插入图片描述

  2. IPMC_GROUP用来索引IPMC_VLAN,IPMC_VLAN用来指示报文应该被复制到哪个VLAN_ID里进行泛洪。

  3. IPMC_VLAN有三个字段

    1. MSB_VLAN与LSB_VLAN_BM用来组合L2位的数值标识组播报文发送目的VLAN_ID,VID的高6位由MSB_VLAN表示;VID的低6位由LSB_VLAN_BM的置位bit的位置表示(从左往右开始计算)。
    2. 一条表项最多只能表示64个VLAN,由NextPrt把多条表项组成链表,来表示更多的VLAN。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐