大家好,我是 Fox 。最近在追一部剧,封面就是女主角,剧中男主光环太强了,太多不符合常理的设定,都想弃剧了。可说来奇怪,这剧质量不咋的,但还是想继续追完,这就是爽剧的魅力吧。开始追剧的原因很简单,就是男主张若昀,喜欢看他演的《庆余年》,结果这部剧翻车了。但是二层交换机的升级产品:三层交换机,没翻车,一个顶俩,很给力。它既有交换机的全部功能,又有路由器的部分功能,一台设备就实现局域网内的数据高速转发。接下来,我们就详细介绍下三层交换机。
三层交换机是在二层交换机的基础上,增加了路由选择功能的网络设备,能够基于 ASIC 和 FPGA 实现网络功能和转发分组。
二层交换机能够基于数据链路层的 MAC 地址,进行数据帧或 VLAN 的传输功能。三层交换机能够基于网络层的 IP 地址,实现路由选择以及分组过滤等功能。
二层交换机通过使用 VLAN 分隔广播域,位于同一个 VLAN 下的终端才能进行数据帧交互。对于不同 VLAN 的终端有通信需求时,就必须使用路由功能,也就是需要额外添加路由器。
二层交换机和路由器组合使用,才能完成跨 VLAN 的通信,但使用三层交换机就不需要其它网络设备,能够直接完成不同 VLAN 之间的通信。
现在,内部网络核心交换机都是使用三层交换机。三层交换机用于由以太网构成的 Intranet 内部转发分组,而路由器作为连接互联网和 Intranet 内网之间的网关来使用。
三层交换机一般只支持以太网的数据链路层协议和 IP 网络的网络层协议。
路由器的物理层和数据链路层除了 IEEE 802 标准以外,还支持其它各种协议,包括 ATM、SDH、串口等。网络层和传输层也一样,支持 TCP/IP 协议簇以外的协议簇,比如 IPX 、AppleTalk 等。这些功能都是由运行在 CPU 上的软件来完成,对比三层交换机,速度会慢不少,但是也有很多功能必须由路由器 CPU 来处理,比如远程接入、安全功能等。
三层交换机的构成要素有:控制平面、数据平面、背板和物理接口。高端路由器和防火墙也是同样的架构。三层交换机把硬件设备内部分成两个区域,即以路由选择、管理功能为主的控制平面和以数据转发功能为主的数据平面,从而实现高速转发分组的系统架构。
当硬件内部结构分为控制平面和数据平面时,分组的传输需要使用 FIB(转发信息库)和邻接表的信息。这种利用 FIB 和邻接表信息的 IP 分组传输方式叫做特快转发。
路由器使用 CPU 完成分组转发,而三层交换机使用 ASCI 代替 CPU ,分组的转发更快。
三层交换机将 FIB 和邻接表合并成一个表项,这个表项叫做 FDB(转发数据库),注册在内存中并通过硬件处理完成高速检索。
除了二层交换机之外,三层以上功能的交换机统称为多层交换机。
拥有 IP 路由选择等网络功能、能够通过访问控制列表来对传输层的 TCP 端口编号进行访问控制的三层交换机,也叫做四层交换机。
能够支持到 TCP 层级访问控制的交换机叫做四层交换机。能够基于 HTTP 和 HTTPS 这里应用层参数进行负载均衡等操作,这类交换机叫做七层交换机。
有些厂家将处理到应用层的网络设备和路由器区分开来,作为不同类型的产品。但所谓的多层交换机,也就是基于 ASIC 和 FPGA 的硬件处理,高速进行各层业务处理的网络设备。
多个客户端同时连接一台服务器,可能导致服务器的处理能力超过负载。如果使用多台提供相同服务的服务器,通过使用负载均衡设备,就可以将客户端的请求分散到各个服务器进行处理。
负载均衡设备可以是专用设备,也可以是在服务器上运行的应用程序。专用设备会有以太网接口,可以说是多层交换机的一种。也存在拥有负载均衡功能的路由器。
负载均衡设备一般会分配虚拟 IP 地址,所有客户端的请求是通过虚拟 IP 地址完成的,通过负载均衡算法将客户端的请求转发到服务器的实际 IP 地址上。
使用负载均衡设备可以提高扩展性和可靠性。
负载均衡设备不仅适用于服务器,防火墙或代理服务器这种安全设备也可以使用负载均衡设备。
SSL 加速是负载均衡专用设备的一项功能,执行这个功能的内部装置叫做 SSL 加速器。
在服务器进行 SSL 通信时,对传输的数据进行加密解密操作需要执行相当复杂的计算,这会导致服务器 CPU 的处理负载进一步加大。与不执行加密解密的 HTTP 通信对比,HTTPS 的处理负载是 HTTP 的 10 倍。
这时,通过使用 SSL 加速器对客户端的 HTTPS 请求进行解密,并转换成 HTTP 请求后再转发到实际的服务器上,这样就可以降低服务器 CPU 的处理负载。
这样一来,整个系统在提高服务器响应速度的同时,还能减少服务器的数量,在单位时间内能够转发更多 Web 服务内容。
根据三层交换机的背板容量,可分为高端交换机、中端交换机和低端交换机。
框式三层交换机由路由引擎、交换结构、线卡模块、风扇模块和电源模块组成,一般作为企业的核心交换机用在数据中心。
为了提高交换机的可靠性,除了线卡模块之外,其余模块都提供了冗余结构。电源或风扇模块通常采用 1+N 或 N+N 冗余结构,路由引擎通常采用 1+1 的冗余结构。三层交换机一般通过多台设备堆叠构成三层冗余结构,来提高整个系统的可用性。
中端三层交换机一般是箱式交换机或最大插槽数为 4 的框式交换机,用于企业核心交换机和接入交换机进行汇聚交换。
低端三层交换机一般为箱式交换机或桌面式交换机,作为企业的接入交换机使用,设备通常有 24 端口或 48 端口。有些作为 IP 电话或无线 LAN 的访问接入点,还能直接使用以太网的电源供电( PoE )。
尽管各个厂家的三层交换机提供的功能不同,但是这些功能大致有几个类别:认证类、管理类、路由选择协议、QoS 、IP 隧道、VLAN 、STP 等。
在三层交换机中,对分组进行管理的功能是由 CPU(软件)直接处理的。用户直接的通信,是由 ASIC(硬件)处理实现分组的高速转发的。
由一台或几台集线器组成的一个广播域可以称为是一个扁平网络。相互连接的终端会接收网络发来的所有广播帧。随着连接终端数量的增加,广播数量也会增加,网络状况也就越混杂。
这种情况下,需要采用 VLAN( Virtual Lan )技术把整个扁平网络进行逻辑分段。一个 VLAN 对应一个广播域,不同 VLAN 的广播域互相隔离,因此能够控制广播域内的广播通信规模。
交换机通过设置,可以轻易的修改物理端口的属性,让这个物理端口加入到某一个 VLAN 之中,而不需要改变对应的物理线路。
VLAN 之间的通信需要使用路由选择,不借助路由器或三层交换机就无法与不同 VLAN 的终端进行通信,因此安全性也有了保障。
基于端口的 VLAN 是在交换机的端口上设置 VLAN ID ,拥有相同 VLAN ID 的多个端口构成一个 VLAN 。通常交换机在初始状态下,所有端口默认 VLAN ID = 1(即 VLAN 1 ),可以对任意一个端口的 VLAN ID 进行设置。比如把修改某一个端口配置为 VLAN ID = 2 ,那这个端口就属于 VLAN 2 。
当 VLAN 需要跨越多个交换机时,会使用中继端口( trunk port )的标签 VLAN( tag VLAN )。tag VLAN 通过中继端口完成数据帧的接收和发送,其中数据帧需要添加 4 字节 IEEE 802.1Q 定义的头部信息(即 VLAN 标签信息)。为数据帧添加标签的过程叫做 tagging 。当 tagging 完成后,数据帧的最大长度从 1518 字节变成 1522 字节,其中有 12bit 的 VLAN ID 信息,也就是说,最多支持的 VLAN 数是 4096 个。
在以太网中,数据帧中 TPID 的值是 0x8100 。如果源地址后面的值不是 0x8100 ,那么就不是 TPID 信息,而是识别成“长度/类型”。当“长度/类型”的值为 0x05DC 以下时,表示数据帧的长度;在0x0600 以上时,表示数据帧的类型。数据帧类型的值分别是:IPv4 是 0x0800 ,ARP 是 0x0806 、IPv6 是 0x86DD 等。
不支持 IEEE 802.1Q 的交换机,由于无法识别 TPID ,会将 0x8100 视为数据帧类型,但是不存在 0x8100 类型的数据帧,交换机会作为错误帧直接丢弃。
IEEE 802.1Q 还定义了一个字段:TCI ,TCI 可以分为 3 个类型:PCP 、CFI 和 VID 。
本征 VLAN( native VLAN )用于中继端口( trunk port )。如果数据帧在进入 trunk port 前,是没有标记的,那么 trunk port 会给它打上 native VLAN 的标记,这个数据帧就以 native VLAN 的身份传输。如果数据帧在进入 trunk 前,已经打上标记了,且 trunk port 允许这个 VLAN ID 通过,这个数据帧就通过。trunk port 不允许通过的 VLAN 数据帧会直接丢弃。交换机默认使用 VLAN ID 为 1 的 VLAN 作为 native VLAN 。native VLAN 是可以自定义的,通常是使用 VLAN 1 以外的 VLAN 作为本征 native VLAN ,作为管理 VLAN 。
使用标签 VLAN( tag VLAN )向其它交换机传递 VLAN ID 时,首先设置中继端口( trunk port )。trunk port 能够属于多个 VLAN ,与其它交换机进行多个 VLAN 的数据帧收发通信。两台交换机 trunk port 之间的链路叫做中继链路( trunk link )。
与 trunk port 和 trunk link 对应的,是接入端口( access port )和接入链路( access link )这两个概念。access port 只属于一个 VLAN ,access link 也仅传输一个 VLAN 数据帧。
私有 VLAN( Private VLAN )也叫做 PVLAN ,是指在 VLAN 内部再构建一层 VLAN 的功能,也叫做多层 VLAN 。
PVLAN 能够进一步分割广播域,削减 VLAN 内部的广播流量并保障通信的安全性。酒店、公寓等场所使用这个功能,能够控制服务器或网关与终端的连接,让不同终端之间无法相互通信。
PVLAN 由主 VLAN( Primary VLAN )和从 VLAN( Secondary VLAN )组成,从 VLAN 与 1 个主 VLAN 关联。
通过输入交换机命令,将一个交换机端口固定分配给某个 VLAN ,这种 VLAN 划分方式叫做静态 VLAN 。
相对的,根据连接端口的终端或用户信息自动分配某个 VLAN 的方式叫做动态 VLAN 。具体来说,就是交换机根据终端的 MAC 地址来分配,或者基于 802.1X 的认证来决定端口属于哪个 VLAN 。在动态 VLAN 中,无论终端与哪台交换机连接,都会获取固定的同一个 VLAN 。
通过交换机内部的数据库,可以实现基于 MAC 地址的认证,但大部分情况下,动态 VLAN 的实现都是使用 RADIUS 服务器。
在二层交换机上设置多个 VLAN 后,单台交换机内,数据帧只能在相同 VLAN 内转发,不能在不同 VLAN 之间转发。
当需要在多个 VLAN 之间转发数据时,一般会使用 trunk link 连接路由器,通过路由器进行 VLAN 之间的路由选择。
三层交换机能够在交换机内部直接完成 VLAN 之间的路由选择。
阿威十六式,打完收工。希望文章对你有用,喜欢的话,来个点赞、在看、分享和转发!谢谢!!!