学习计算机网络,其实就是学习网络协议。通过各种各样的网络协议,实现不同的网络需求。当然,网络协议不是凭空存在的,而是运行在网络设备上。搞懂网络协议,只是知道了技术原理。搞懂网络设备,才能把所学的网络知识用起来,实际解决我们的网络需求。下面我们来看看最常见的网络设备——交换机。
中继器( repeater )是一种信号增强设备,运行在 OSI 参考模型的第一层。它的功能仅仅是将信号重新输出,延迟网络的传输距离,不进行其它的数据控制,也无法识别数据链路层的 MAC 地址和网络层的 IP 地址。
网桥( bridge )是具有两个端口的二层网络设备,可隔离冲突域。作用相当于 OSI 模型中的数据链路层,能够根据 MAC 地址进行数据转发。只能连接同构网络(同一网段),不能连接异构网络(不同网段)。
集线器( hub )是工作在物理层、具有信号放大功能、以它为中心的网络设备。即一个多端口的中继器,以集线器为中心,连接多个节点。广播方式发送数据,也就是说,当它要发送数据时,会发送到与集线器相连的所有节点。
由于集线器没有控制功能,因此所有终端共享带宽,同一时刻只能一个终端发送数据,多个终端同时发送数据就会产生冲突。这时,集线器、连接线缆以及连接在集线器上的终端设备构成了一个冲突域。于是采用 CSMA/CD 方式决定终端能否发送数据。
集线器是从接收方收到的数据,会转发给所有非发送方端口,也就是简单的通过复制电气信号来实现发送。
但是交换机是通过学习连接的每个终端的 MAC 地址,将数据发送给对应的目的终端上,避免将数据发送到无关端口,提供网络利用率。这里说的交换机都是二层交换机。
如果是没有学习到的 MAC 地址,或者想跟网段内所有终端进行通信,交换机会使用广播方式,将数据帧进行泛洪。
交换机通过数据帧的源 MAC 地址,学习到交换机端口和 MAC 地址的对应关系,并记录到交换机的 MAC 地址表中。
主机 A 向主机 D 发送数据:A 发送数据帧,数据帧的源 MAC 地址是 11:11:11:11:11:11 ,目的 MAC 地址是 44:44:44:44:44:44 。交换机端口 1 收到数据帧,记录源 MAC 地址和端口的对应到 MAC 地址表项。交换机不知道目的 MAC 地址在哪个端口,于是将数据帧进行泛洪,即转发到除端口 1 之外的所有端口。B 和 C 发现目的 MAC 地址不是自己,将丢弃数据帧。
D 发现是发送给自己的数据帧,于是发送应答数据帧,源 MAC 地址是 44:44:44:44:44:44 ,目的 MAC 地址是 11:11:11:11:11:11 。交换机端口 4 收到数据帧,记录 D 的 MAC 地址表项。于是交换机知道了主机 A 和主机 D 的 MAC 地址信息,之后会根据 MAC 地址表进行转发。交换机通过同样的方式,可以学习到主机 B 和主机 C 的 MAC 地址。
交换机收到数据帧后,会有三种处理方法:直通转发、碎片隔离和存储转发。
直通转发是交换机只读取数据帧的前 14 个字节就进行转发。由于读取的数据量固定,发送方和接收方的速度需要一致,导致无法桥接不同速率的以太网。另外,只读取前 14 个字节,会跳过了 FCS 域,因此无法检测并丢弃 CRC 校验错误的数据帧。
碎片隔离是读取数据帧的前 64 个字节就进行转发,可以防止转发小于 64 字节的残帧。但是如果出现 CRC 错误,还是会转发数据帧。也无法桥接不同速率的以太网。
存在转发会读取数据帧全部内容再进行转发。这样就可以识别残帧和 CRC 校验错误帧,并将它们丢弃。交换机还能对数据帧进行缓存,因此可以桥接不同速率的以太网。
交换机的处理能力也叫做背板容量或交换机容量。容量单位是 bit/s(比特每秒),值越大,说明交换机在单位时间内传输的数据越多。
当交换机的所有端口的总带宽小于交换机的容量时,交换结构为非阻塞,即带宽充裕,没有等待处理的情况。反之,当所有端口总带宽超过交换机的容量时,叫做交换机结构过载。
交换机是千兆端口时,处理能力达到端口数 × 2 × 1Gbit/s 的数值,就是非阻塞。其中 × 2 表示上行和下行都是 1Gbit/s 的全双工通信。假如交换机有 24 个端口,背板容量到达 24 × 2 × 1G = 48Gbit/s ,就是非阻塞。
交换机按照功能可以分为二层交换机和三层交换机。
没有 IP 路由功能、仅处理数据链路层的交换机叫做二层交换机。二层交换机根据不同的功能而不同。
带有 IP 路由功能的交换机叫做三层交换机。
根据外形,交换机可分为桌面式交换机、箱式交换机和机框式交换机。
桌面式交换机是指放在桌面上使用的交换机。它体积不大,只能连接几台网络设备,通常用于家庭网络中,主要有 3 端口、5 端口、8 端口和 16 端口的产品。
桌面式交换机通常不安装风扇,采用无风扇设计,运行噪声小。
箱式交换机通常高度是 1U 或 2U ,可以安装在 19 英寸的机柜内。通常采用金属外壳、内置电源,并配置冷却风扇。下行有 24 千兆网口或 48 千兆网口,上行有 2 万兆光口或 4 万兆光口的配置较多。下行使用 RJ-45 的网线接口,上行使用 SFP+ 槽进行连接。
主要作为企业中作为接入交换机使用,支持电源冗余。
框式交换机是指在机框内组合多个接口模块的交换机。可以根据需要选择端口数量和不同类型的接口模块,扩展性好,端口数量多。
在机框中可以添加电源、风扇等组成部分,再插入管理模块和接口模块。接口模块和管理模块叫做线卡。机框上总线的主板叫做背板,可以插入线卡。
根据交换机在网络中的位置和用途,可分为三类:核心交换机(核心层)、汇聚交换机(汇聚层)和接入交换机(接入层)。
选择交换机时,需要根据实际的使用需求,以及具体的端口类型、端口数量和设备性能等参数,决定购买哪款交换机。
大部分交换机都配置了 RJ-45 的千兆以太网接口,连接千兆接口要使用增强型 5 类双绞线。通过自适应功能,还可以连接百兆接口。
箱式交换机会配置光纤端口,主要是用于连接上行链路。为了连接万兆以太网的上行链路,通常会搭载 SFP+ 接口。
框式交换机中,一般会配置多个千兆以太网 SFP 或万兆以太网 SFP+ 接口的接口卡。
接入交换机还会配 PoE 端口。Poe 端口使用网线连接 IP电话或无线 AP ,并通过网线对设备进行供电。
为了让 IP 电话或无线 AP 无需外接电源也能接入网络,通过一根网线给设备供电的技术就是 PoE 技术。PoE 技术有简化布线、节省人工成本,管理方便,使用灵活,安全等优点,得到广泛的应用。
PoE 技术作为 IEEE 802.af 在 2003 年完成了标准化工作,这个技术还用于网络摄像头、POS 终端等连接以太网的硬件设备。
PoE 的供电标准是 IEEE 802.3af ,最大能提供 15.4W 的功率,可以为 IP 电话、无线 AP 等终端设备供电。PoE+ 是 PoE 的增强版,供电标准是 IEEE 802.3at ,最大能提供 30W 的功率,可以为视频电话、 摄像机等终端设备供电。PoE++ 是 PoE+ 的增强版,供电标准是 IEEE 802.3bt ,最大能够提供 60W 的功率,能够满足更多的终端功率需求,可以为基站、室外热感摄像机等终端设备提供更大功率的供电。
支持 PoE 功能的交换机,会说明每个端口最大支持 ×× W ,设备最大供电 ×× W 等电能信息,可以算出交换机最多可接入的 PoE 设备数量。
接入交换机和汇聚交换机要集中下行连接的所有设备流量,并将流量传输到上行的网关或核心交换机中,向网关、核心交换机传输流量的端口叫做上行链路端口,反向就叫做下行链路端口。在箱式交换机中一般会配置 2~4 个万兆上行链路端口。
通常下行链路是 RJ-45 的接口,也有使用光纤接口的。一台交换机或一块板块,能提供 24 或 48 个接口。
通过堆叠线缆可以把多台交换机连接起来,成为逻辑上的一台交换机。
交换机的完整功能说明,可以查看官网的产品文档,里面进行了详细的描述。
MAC 地址数是指一台交换机最大可以学习到的 MAC 地址表数量。
为了避免二层环路,我们使用生成树协议( STP ),让交换机知道对方的存在,具体做法是在交换机之间交换 BPDU 数据帧。详情可看《图解 STP 》和《图解 RSTP 和 MSTP 》。
链路聚合是将交换机的多条线路汇聚成一条逻辑线路在网络中使用。有多个称呼:端口聚合、链路捆绑、绑定等。
如果不使用链路聚合功能,直接将交换机的多个物理端口连接起来,可能会导致网络环路。如果使用生成树协议,又会避开某些链路,导致只有一条物理链路可用。如果使用链路聚合,把几条物理链路聚合成一条逻辑链路,即使某一条物理链路断开,由于逻辑线路还有其它物理链路在维持,因此通信也不会中断,到达线路冗余的效果。
将广播域分割成一个个逻辑网段的功能叫做 VLAN 。
将某个端口接收和发送的数据帧复制到镜像端口的功能叫做端口镜像,被复制的源端口叫做监控端口。
为了分析网络故障或检测网络中的流量,交换机会将收到的数据帧复制一份并转发到网络分析设备或流量监控设备中。
QoS 是 Quality of Service 的缩写,也叫做服务质量。当数据通过网络设备时,根据通信种类控制通信优先级和带宽的功能。通常是将声音、视频等数据定义为高优先级,高优先数据优先处理,保障这类数据的稳定和低延迟。
除了交换机在二层进行的 QoS 控制外,还有路由器和三层交换机的三层( IP )的 QoS 控制,以及 TCP 进行的四层的 QoS 控制。
IEEE 802.1p 标准完成了对二层的 QoS 优先级控制的标准化工作。通过 3bit 长度的优先级控制信息,定义了从 0 到 7 的 8 个优先级,即 CoS 值(服务等级值),交换机会优先转发值大的数据帧。
为了网络安全,只让指定的设备接入网络。二层交换机提供了以数据帧的头部信息进行过滤的功能。具体过程是,先设置一个过滤条件,比如目的 MAC 地址、源 MAC 地址等,满足条件的数据帧通过,阻断不满足条件的数据帧。
考虑到伪造 MAC 地址的情况发生,还可以跟 802.1X 一起使用。三层交换机或路由器可以根据 IP 头部信息完成 IP 通信过滤的功能。
在交换机中,只有通过认证的客户端才能使用有线端口。这个功能由 IEEE 802.1X 完成标准化,对接入 LAN 的客户端进行认证的机制。
当 PC 连接交换机时,认证过程启动。根据发送方的 MAC 地址信息进行客户端识别,通过用户名、口令或证书等认证信息进行用户认证。对于没有认证的客户端发来的数据帧,交换机只接收包含认证信息的数据帧,其余的全部丢弃。对于认证失败的客户端发来的数据帧,交换机就直接丢弃不会进行转发。
要使用基于端口的认证功能,客户端的电脑和交换机都要支持 802.1X 认证功能,缺一不可。
802.1X 认证中使用 PPP 的扩展协议 EAP ,通过 EAPOL 协议封装 EAP 认证消息,然后在 LAN 中进行传输。认证结束之前,客户端电脑只能进行 EAPOL 通信。
远程管理、监控和配置网络设备可以使用 SNMP 协议。SNMP 协议可以对整个网络结构内的交换机和其它网络设备进行集中统一的管理。
被 SNMP 管理的网络设备叫做 Agent ,管理网络的设备叫做 Manager 。
交换机的基本架构是由 RJ-45 接口、PHY 、MAC 等模块的 NIC 和管理由 NIC 收发帧缓存、转发表的软件组成,通过查看转发表信息,在 NIC 之间进行数据帧交互。