【以太网技术发展】
名称 | 带宽 | 拓扑 | 组网方式 | 标准 | 适用范围 |
---|---|---|---|---|---|
标准以太网 | 10M | 总线、星型 | 共享、交换 | IEEE 802.3 | 局域网 |
快速以太网 | 100M | 星型 | 共享、交换 | IEEE 802.3u | 局域网 |
千兆以太网 | 1G | 星型 | 交换 | IEEE 802.3z、IEEE 802.3ab | 局域网 |
万兆以太网 | 10G | 星型、点对点 | 交换 | IEEE 802.3ae | 局域网、城域网 |
【共享以太网与交换以太网】
共享以太网
早期的以太网采用基于总线结构的共享广播式网络,以及基于集线器的星型拓扑,在以太网中,数据以帧的形式传输
共享式以太网是基于广播的方式来发送数据的,因为集线器不能识别帧,所以它就不知道一个端口收到的帧应该转发到哪个端口,它只好把帧发送到除源端口以外的所有端口
在这种工作方式下,所有设备与节点位于同一个冲突域,同一时刻网络上只能传输一组数据帧的通讯,对共享介质的争用造成节点间的碰撞或冲突,如果发生碰撞还得重试,影响了网络的运行性能
交换以太网
通常,解决共享以太网存在的问题就是利用分段的方法,即将一个大型的以太网分割成两个或多个小型的以太网,使各网段成为隔离开的冲突域
交换以太网是借助交换的思想,在数据链路层的帧为数据交换单位,以以太网交换机为基础构成的网络,允许多对节点同时通信,每个节点可以独占传输通道和带宽,交换机为星状拓扑或扩展星状拓扑的中心节点
交换机的冲突域仅局限于交换机的一个端口上
【以太网交换机】
工作原理
交换机具有基于 MAC 地址进行帧过滤和转发的能力,其可以学习 MAC 地址,并将其存放在内部缓存的地址表中,该表给出关于交换机不同接口所连主机的 MAC 地址信息
交换机收到一个数据帧后,能够识别出这个帧的结构,根据帧的目的地址,将这个帧转发到对应的某个端口上去,而不是广播到其它所有的端口
根据帧中的目的地址,通过查找地址表决定转发行为:
- 若地址表显示目的节点与源节点位于交换机的同一端口,忽略帧
- 若地址表显示目的节点在交换机所连的某一端口,且与源节点不在 同一端口,转发到目的端口
- 若目的 MAC 地址为广播地址,向除源端口外的所有端口转发帧
- 若地址表中找不到目的地址,向除源端口外的所有端口转发帧
交换机体系结构
背板是交换机的中央交换部件,用于交换机的各个端口之间传送数据,背板的结构和容量决定了一个交换机的性能
交换机背板主要有三种结构:
- 共享总线(Shared-bus)
- 共享存储(Shared-memory)
- 交叉矩阵(Cross-bar)
共享总线型
交换端口通过 ASIC 芯片同高速总线相连,数据由端口传输至 ASIC 芯片,ASIC 芯片根据目的地址通过高速总线将数据传至目的端口
为了解决多个端口并发访问共享数据总线所产生的竞争或冲突,还引入了仲裁机制
在数据交换的具体实现上,可以选择分布式或集中式
集中式交换方式:由交换机的中心处理器保存端口与目的 MAC 地址的映射表,一旦某端口接收到分组,该端口将该分组中的目的 MAC 地址通过高速总线送至交换机仲裁处理器,仲裁处理器通过访问中央数据库,确定 MAC 地址所对应的目的交换端口,然后仲裁处理器对共享总线进行控制,使得来自源端口的数据帧经由共享总线传至目的端口
分布式交换方式:每个端口在本地维持一个端口与目的 MAC 地址的映射表,当数据进入交换机端口时,由该端口的 ASIC 芯片截获分组的目的 MAC 地址,ASIC 芯片将该地址在本地数据库中检索,寻找对应的目的端口:
- 如果发现目的端口,就将分组通过共享总线发送至目的端口
- 如果没有发现目的端口,该端口将目的 MAC 地址发送至所有的交换端口,由知道该目的 MAC 地址的交换端口通知源端口,然后再进行数据交换
共享存储器
共享存储器使用一个全局共享存储池进行数据传输交换
进入交换机的数据首先存储在共享 RAM 中,共享 RAM 一般由专用集成电路(ASIC)芯片管理
ASIC 芯片通过查找地址表,找到与目的地址对应的目的端口,然后将数据发送至所对应的目的端口
共享内存结构实现简单,但受内存容量与速度限制,无法支持大容量交换,一般限制在 20G-80G,且交换延时比较大
交叉矩阵型
早期的交叉结构中,所有的端口连接汇聚到一个交叉点,数据传输通过交叉点进行,当交叉点正在进行端口交换时,端口输入的数据必须暂时存储在输入端口的本地缓存中,等待别的数据传输结束后,再传输至目的端口,这使得当端口数据量大、网络负载重的情况下,会因交叉点的瓶颈而造成阻塞
为此提出了纵横式交换矩阵的结构,它是大容量高端交换机中普通采用的结构,通过内部的交换矩阵和仲裁矩阵实现了无阻塞交换
这种方式可以明显地看出其效率很高,不会浪费网络资源,只是对目的地址发送数据,一般来说不易产生网络堵塞,另一方面数据传输十分安全,因为它不是对所有节点都同时发送,发送数据时其它节点很难侦听到所发送的信息
转发方式
交换机将数据从一个端口转发至到另一个端口的处理方式称为转发方式,又被称为交换模式
常见的转发方式有两种:
- 直接交换(cut-through)
- 存储转发(store-and-forward)
在实际交换机中,通常引入智能控制方式来进行选择,通过设置帧错误率的阈值,先采用直接交换,一旦帧错误率超过阈值,改用存储转发
直接交换
快速转发方式
在快速转发交换方式下,交换机只读出数据帧的前 6 个字节,即交换机确定目的 MAC 地址,就会查找转发表,将数据帧传输到相应的输出端口,将帧发出去
快速转发方式在转发帧的过程中不能有任何间隙,而任何时候从低速率转换到高速率时都会有一个间隙,除非使用某种类型的缓冲,这就导致其存在两个问题:
- 会转发小于 64 字节的破碎帧和错误帧
- 要求交换机的所有端口要以同样的速率工作
也就是说,如果交换机的大部分端口是 10Mbps 的,那么这台交换机上就不能有快速以太网的端口
该方法转发速率快,减少了时延,提高了整体吞吐率,但不提供帧的错误检测,在整个帧还未全部接收到之前就开始转发帧,因此错误帧也会被转发出去,导致网络资源的浪费
其具有最小的时延,适用于网络链路质量较好、错误数据包较少的网络环境
无碎片交换方式
在无碎片交换方式下,交换机通过对无效碎片帧过滤来降低直接交换错误帧的概率
它检查数据包的长度是否够 64 个字节,如果小于 64 字节,说明是碎片帧,则丢弃该帧;如果大于等于64字节,则发送该帧
该方法数据处理速度比存储转发方式快,但相较于快速转发交换方式来说较慢,适用于一般的通讯链路
存储转发
在存储转发时,交换机将帧向目的端口转发之前要先接收完整的帧,将数据帧存储到缓冲器中,进行 CRC 循环冗余校验,如果这个数据包有 CRC 错误,则该包将被丢弃;如果数据包完整,交换机查询地址映射表将其转发至相应的端口
该方法会过滤所有的错误帧,没有残缺数据包转发,减少不必要的数据转发,但由于存在 CRC 循环冗余校验,使得转发速率比直接转发方式慢,适用于普通链路质量或较为恶劣的网络环境