网络设备诸如二层交换机、三层交换机、防火墙、WiFi设备等等很多,有些人可能知道这些设备是干什么的。但是单单一款设备,都有很多种品牌、很多个型号。真要买设备时,估计各种各样的设备,会看得眼花缭乱、雾里看花。下面我们介绍下如何进行设备选型,选到最适合自己的网络设备。
产品类型
网络产品有路由器、交换机、防火墙、无线 AP 等,选择产品类型时,要考虑网络中是否需要?是否需要一台进行路由选择的路由器?是否需要核心交换机?是否需要负责安全控制的防火墙?这些设备在网络中如何配置?
产品类型:
- 路由器
- 二层交换机
- 三层交换机
- 防火墙
- 无线 AP
- 负载均衡
- 带宽控制
- 代理
- ......
在新建网络时,可以根据组网中的产品类型去选择对应的产品。当现网中需要替换某些网络设备时,也可以选择相同类型的设备。如果性能足够,可以使用三层交换机或防火墙替代路由器。三层交换机替换二层交换机也是可以的。选择安全设备时,某些防火墙有基于内容的安全控制功能,可以考虑统一使用防火墙来替代独立的防病毒设备、URL 过滤设备、IDS/IPS 设备等,达到降低成本的目的。
根据需求选择设备型号
确定了产品类型,就要根据需要的功能,选出具体的设备型号。一般会考虑下面这些方面。
网络接口与接口速率
- WAN 侧和 LAN 侧接口数量是否满足需求。RJ-45 的 10/100/1000BASE-T 或 SFP 的 1000BASE-SX 这种,接口类型和接口速率是否满足要求。
- 使用 VLAN 或虚拟路由器时,子接口(逻辑接口)的数量是否满足需求。
- 使用 IEEE 802.1ad 等汇聚接口时,汇聚后的带宽是否满足需求。
性能
- 吞吐率(传输速率)是否足够。
- 使用 ASIC 或 FPGA 等硬件处理的范围和使用 CPU 软件处理的范围是多少,根据这些信息处理那些流量能够得到高性能,处理哪些流量得不到高性能。
- 在进行内容扫描时,能扫描多大容量的文件。
- 如果同时运行多个功能,设备 CPU 使用率和内存占用率是否跑满。
软件功能
- 支持哪些协议,有哪些独立功能。
- 网络功能。
- 管理功能。
- 报告功能。
迁移便捷性
- 替换设备时,使用现有、相同厂商的设备,并且运行相同操作系统的设备更容易迁移。
售后服务
- 产品能够现场维护还是需要寄回原厂。
- 支持售后服务的时间。
网络延迟
路由器这类网络设备,都会有转发报文的操作,报文离开始发地,向目的地传输的过程中,总会有延迟( delay )产生。
在网络中传输声音和视频等实时流量时,需要收集各个路由器之间延迟的参数,必须减少端到端( end to end )的网络延迟作为整个网络设计的重要目标。
ITU-T 推荐的 G.114 把延迟定义三个类型。
延迟的种类。
- 端到端延迟( end to end delay ): 报文从发送源发出后,到达目的地所需的时间。报文在中途经过的网络设备数量越多,这个值就越大。
- 处理延迟( processing delay ): 从报文进入设备入接口,到进入出接口的队列的时间,一般只有几微秒。
- 分片延迟( packetization delay ): 数据分成多个部分传输,在进行编码、压缩、封装等操作的时间,一般在几十毫秒。
- 队列延迟( queuing delay ): 报文在出接口队列停留的时间。在 QoS 控制时,优先级低的报文在队列总停留的时间长,也就是延迟大,一般在几毫秒。
- 串行延迟( serialization delay ): 报文在接口发送时,进行电气、光、电磁波等信号转换的时间,具体数值通过 “ 报文尺寸 ÷ 带宽 ” 公式计算。速率越高的接口,串行延迟越低。64 字节的报文使用 64kbit/s 带宽进行传输时,串行过程时间是 8 毫秒。
- 传播延迟( propagation delay ): 信号通过线缆或无线电波等介质传输,到达下一个设备的时间,依赖介质的传输速度。光纤一般 1km 的距离需要 6 微秒。
- 网络延迟( network delay ): 经过 WAN 和互联网进行通信时,报文经过这些网络需要的时间。IP 电话的网络一般平均延迟需要在 70 毫秒以下。
时延
网络设备从收到数据后,到再次发送数据的延迟时间叫做时延( latency )。时延越小,说明设备处理报文的能力越强。时延相当于 “ 处理延迟 + 队列延迟 + 串行延迟 ” 的时间。
吞吐率测试的结构中,从测试仪发送的报文经过路由器后,再返回测试的时间,测试仪器叫做时延。网络设备的时延一般在几微秒。
抖动
报文发送时,是有一定时间间隔的。这个时间间隔在实际传输中,变长或变短的现象叫做抖动( jitter )。比如:发送源每隔 5 毫秒发送报文,接收方收到的实际时间间隔却是 4 、3 、6 、5 、7 毫秒这种不停变化的结果。VoIP 和流媒体应用程序能够通过缓存来缓解部分抖动,但抖动过大就会导致声音、画面突然中断。在进行实时双向流媒体视频会议时,推荐延迟在 150 毫秒以内,抖动在 35 毫秒以内的网络环境。对比单向视屏流媒体,由于应用程序接收缓存,能够处理部分延迟和抖动,因此允许双向 10 倍以上的网络延迟时间。
丢包
网络上传输的报文没有到达目的地的现象叫做丢包。丢包通过报文丢弃率的百分比来表示。通常 IP 电话网络的报文丢失率要在 0.1% 以下。
往返时间
发送源发送的报文,到达目的地后,目的地生成响应报文,返回发送源,直到发送源接收到响应报文的这个过程的时间叫做往返时间( RTT ,Round Trip Time )。往返时间是通过 ping 命令发送 ICMP Echo Request 消息,再收到 ICMP Echo Reply 消息来检查,单位是毫秒。
如果互联网发生延迟过长的问题,需要通过 QoS 设备或者路由器的 QoS 功能对报文转发进行优先级控制,保障实时性高的应用程序优先转发,尽可能减少队列延迟。
性能测试
网络设备的性能可以通过测试仪器进行统计测试。产品目录里,会有 bit/s 和 pps 等参数,有些厂商还会说明是在怎样的测试环境下得到的这个数值。
测试对象叫做 DUT( Device Under Test )。测试仪器在发送端口( Tx )逐步增加发送到路由器的报文数量,然后在接收端口( Rx )测试 DUT 返回的报文数量。当到达 DUT 的性能极限时,DUT 上就会发生丢包的现象,测试仪器接收的报文数就会减少。
DUT 不发生丢包而持续的传输能力指标叫做 NDR( non-drop rate ),产品目录中一般叫做最大吞吐率。
RFC2544 中定义了网络设备吞吐率的测试方法,推荐了测试时使用的数据帧大小。比如在以太网环境中,推荐使用 64 、128 、256 、512 、1024 、1280 、1518 字节大小的数据帧进行测试。
测试路由器时,测试仪器经常模拟互联网实际通信流量、叫做 IMIX( Internet Mix )的各种数据帧组合来进行测试。
测试仪器通过生成二层至七层的各种报文,能够模拟百万台客户端连接的网络环境。通过测试仪器的测试,能够明确网络设备的最大吞吐率、最大在线会话数等各项性能指标数据。
最大吞吐率
最大吞吐率,单位 Mbit/s ,是指连续处理长度为 1518 字节的数据帧的吞吐率。1518 字节中,去掉 18 字节的帧头部,剩下 1500 字节的 IP 报文。再去掉 20 字节的 IP 头部,剩下 1480 字节是 IP 数据有效载荷,最终处理的就是这 1480 字节。
路由器处理不是以字节为单位,而是以报文(数据帧)为单位进行转发。因此,路由器 1 秒内能处理多少个报文的指标 pps 的最大值,加上 1518 字节数得到的数值,就是路由器的最大吞吐率。
产品性能会根据 IP 数据内容的不同而发生变化,对比 TCP ,使用 UDP 这种头部简单的报文进行测试时,能够得到更好的吞吐率数值。
交换机性能
二层交换机和三层交换机的数据帧转发是通过 ASIC 完成,因此产品目录里的交换容量和交换能力,可以人为是这个设备的实际性能指标。
交换容量
交换容量,又叫做背板容量,是交换机内部数据传输的带宽容量。当流量高于交换机容量时,交换机就会由于缓存不足或内部带宽不够而无法处理,导致数据帧丢失、丢包率上升等现象。
交换能力
除了 bit/s 表示交换机的容量外,pps(包每秒)也能用来表示交换机的交换能力,即单位时间内能够处理的数据帧数目。
交换机通过查看数据帧头部,先确认目的 MAC 地址,并校验数据帧尾部是否异常,最后查看访问控制列表是否有匹配项,如果有匹配项,就对数据帧进行过滤或转发处理。随着数据帧数目增加,交换机处理的数量也随之增大,路由器也是这样。所以,处理流量的 bit/s 相同,数据帧越小,处理的工作量越大,系统负载也随之变大。
以太网数据帧最小是 64 字节,加上前导码和 SFD(帧头定界符)的 8 字节,数据帧之间的 IFG(数据帧间隔)12 字节,一共 84 字节,也就是说,交换机在转发一个数据帧时,需要处理 672 bit 的数据。
理论的最大线路速度,也叫做线速。对于 1000Mbit/s 的以太网而言,线速是 1000000000 bit/s ÷ 672 bit = 1488000 pps ,也就是 1.488 Mbit/s 。万兆以太网的线速是 14880000 pps( 14.88 Mbit/s )。
交换机是由多个接口组成。如果一台交换机有 24 个 10/100/1000BASE-T 的接口,那么就有 24 × 1.488Mbit/s = 35.712Mpps 的交换能力。如果交换容量小于这个值,就会发生阻塞,导致所有的接口无法达到理论的最大线速。
实际上,在交换机上传输的大多是 TCP 或 UDP 的应用程序数据。在 UDP 中,对实时性要求高的报文,一般长度在 100 ~ 300 字节之间才能进行通信。而在 TCP 中,有窗口尺寸等带宽控制,实际的速率往往达不到理论线速水平。
MAC 表容量
二层交换机使用 MAC 表管理 MAC 地址,三层交换机还会使用三层表来管理 IP 地址。如果表项超出了容纳的数量,那么设备就无法正常转发处理,造成丢包的结果。在对设备性能进行测试时,要对报文的地址数量进行限制,限制在 MAC 表支持的范围内。
广播风暴
广播风暴( broadcast storm )是多个交换机连接成回环,数据帧不停的来回转发的现象。这种现象会造成网络带宽、交换机资源的过度消耗,最终导致整个网络的瘫痪。使用生成树功能,可以避免这个问题。生成树通过 NDP 端口的关闭来解决网络的回环问题。另外,遇到 DoS 攻击、操作系统出现 bug 或 NIC 出现故障导致生成树无法正常工作时,同样也会产生广播风暴。
这时,可以使用交换机的广播风暴控制( storm-control )功能来避免这个现象。广播风暴控制功能的原理是在端口监控数据帧,如果数据帧的数量超过了预定的上限值,就会把超过上限值的部分丢弃。数据帧上限值使用 pps 为单位,能够分别对单播、多播、广播进行定义和配置。
如果没有回环状态,广播帧只会转发到广播域内的所有终端。相反,如果网络存在回环,广播帧会永远在回环内循环转发,导致数据帧数量越来越多,最终整个网络的带宽被广播帧消耗殆尽。
路由器性能
路由器性能是用单位时间内的转发能力来表示,也可以使用吞吐率( throughput )表示。单位 bit/s(比特每秒)来表示吞吐率,也会使用 pps(报文每秒)来表示吞吐率。
pps 性能相同的路由器,转发的报文越大,路由器的 bit/s 值就越高。比如,处理能力是 100 pps 的路由器,处理 64 字节( 512 bit)报文时,速率是 51.2 kbit/s ,但在处理 1500 字节( 12000 bit)的报文时,速率达到 1.2 Mbit/s 。
防火墙性能
同时在线会话数
防火墙使用会话表管理会话,以会话为单位进行流量的控制。会话表记录的表项数目,表明了防火墙能处理的同时在线会话数量。
小型的桌面防火墙一般能够支持几万个会话,电信运营商使用的防火墙能够同时管理数百万个会话。
会话生存时间
通过安全策略的 UDP 报文或 TCP 报文到达防火墙时,防火墙会生成对应的会话信息。如果在一定时间内,这个会话没有流量的话,就把会话删除,这个时间段叫做会话生存时间。
会话信息被删除后,这个会话相关的报文到达防火墙时,防火墙需要重新生成会话信息。如果是 UDP 报文,只需要再次生成会话信息即可,但如果是 TCP 报文,除了 SYN 报文外,其余报文都会丢弃。如果 SYN 之外的报文遭到防火墙拒绝,就需要客户端的应用程序重新发起流程,跟服务器进行 3 次握手,重新建立 TCP 连接。
会话生存时间,可以根据不同的协议设置不同的值。一般 TCP 的会话生存时间是 1 小时,UDP 和其它 IP 协议的会话生存时间是 30 秒。
如果生存时间过长,或者没有生存时间,TCP 没有收到 FIN 或 RST ,连接会一致保持开放,而 UDP 会话不会结束,会话信息一直保留。
由于会话信息表中的会话表项的数量有限,如果长时间不清除,会让表项数量到达上限值。当会话表项数量达到上限值后,不能新建会话,造成无法通信的后果。
每秒会话数
路由器性能一般使用 bit/s 和 pps 这两个单位描述。防火墙的话,还要增加每秒能建立的会话数( new session per second )这个参数指标。这个指标表示在 1 秒内能够完成多少次会话建立。1 个完整的会话建立过程包括:监控 TCP 连接的 3 次握手,握手正常就生成会话信息,将会话信息记录到会话表等操作。如果数值不满足网络需求,就会造成网络中新会话信息无法建立。用户使用过程中,就会觉得这个网络的响应速度非常慢。
VPN
防火墙或安全设备都会支持站到站 IPsec-VPN 、远程接入 IPsec-VPN 或 SSL-VPN 功能。有些产品还支持用户通信的 SSL( HTTPS )解密功能。
执行加密或解密的操作,和使用明文通信对比,系统的负载会增加,导致性能下降。虽然使用 ASIC 芯片完成加密,不会带来性能下降问题,但几乎所有的设备都是采用 CPU 的软件处理方式。因此,当通信流量增大时,性能还是会大幅的下降。
无线 AP 性能
实际环境中,CSMA/CA 和无线电波的干扰、距离的远近导致无线电波的强弱不同等原因,AP 是达不到理论支持的最大吞吐率。
CSMA/CA
IEEE 802.11 的无线 AP 使用 CSMA/CA 通信。
CSMA 中 CS 用来执行载波侦听,当遇到其它终端正在发送数据帧时,这个终端停止发送并等待,直到其它终端发送完毕。MA 是指多址接入,即多个终端共享 1 个传输媒介。CA 是冲突避免,遇到其它设备正在发送数据,那么就等待设备发送完成后,再等待一段随机时间,才继续发送数据。通过这个机制可以错开多个节点同时发送数据帧,有效降低冲突发生的可能性。
由于有线网络能够通过电气噪音及时检测冲突的发生,而无线网络无法迅速有效的检测冲突,只能采用 CSMA/CA 的机制来避免冲突的发生。
ACK 数据帧
收到数据帧后的 AP 需要返回 ACK 数据帧,当发送方接收到 ACK 数据帧后,表示整个通信过程结束。但无线信号不好时,接收方没有收到数据帧,就不会发送 ACK 数据帧,这时发送方会重发数据帧。另一方面,当接收方顺利收到数据帧,并返回 ACK 数据帧,但是发送方却没有收到 ACK 数据帧时,接收方也会再次发送 ACK 数据帧。终端和 AP 之间的距离和无线信号的状态会影响数据重发的概率。
在实际环境中,重发数据的概率大概在 20% 左右。
现场调查
通过使用频谱分析仪进行的现场勘查工作,能够确认无线网络区域的无线信号干涉情况,反射波段、外部无线电波带来的影响以及噪音带来的影响,能够部署和配置最佳 AP 。
一般现场勘查,可以按照下面的步骤来完成。
1、准备办公场所的平面图。
2、测试从相邻 AP 发出的无线电波,了解当前位置无线电波的情况。
3、通过模拟来确定 AP 的数量、无线电波强波和使用的频道,并标记到办公场所的平面图上。
4、根据模拟结果,对配置的 AP 进行临时配置并进行验证。
5、完成配置后,对 AP 是否能够覆盖所有区域进行最终确认。
选择交换机
选择接入交换机
交换机的下行端口用来连接终端,大部分接入交换机都是 1G 的下行端口。目前个人电脑都有 1G 的网络接口,但如果交换机是 100M 接口,那么自适应功能就会让链路速度变成 100Mbit/s ,这时下行链路就可能成为网络瓶颈。
大部分交换机都采用 2 个或 4 个万兆上行端口。两个上行端口,可以同时连接两台汇聚交换机或核心交换机组成冗余组网结构。四个上行端口构成两组通道,以两倍的吞吐率和上层交换机组成冗余网络结构。
下行端口数量,根据客户端或打印机等终端数量决定的。
选择汇聚交换机和核心交换机
大规模的网络中,需要接入交换机、汇聚交换机、核心交换机这种分层组网结构。
汇聚交换机的下行链路一般使用 10G 网络接口和接入交换机的上行链路进行连接。在三层组网结构中,汇聚交换机的上行链路要和核心交换机的下行链路连接,而在二层组网中,接入交换机的上行链路要和核心交换机的下行链路连接,也有使用 40Gbit/s 和 100Gbit/s 网络接口连接的。
如果接入互联网,往往是路由器和防火墙容易成为网络瓶颈。如果局域网的通信多,交换机就可能成为最大的网络瓶颈。如果预算有限,可以选择吞吐量满足最低需求的交换机。
汇聚交换机和核心交换机的端口数量,要根据接入交换机和终端数量来设计。框式交换机能够通过增加线卡模块来满足端口增加的需求。
PoE 供电
通过 PoE 供电技术对无线 AP 、IP 电话、摄像头等设备进行供电时,需要对能够供给的电源容量进行总体的设计和规划。比如:PoE 交换机能够提供 420W 的电能,可以同时支持 24 个端口使用 802.3af( 15.4W/接口 )供电,或同时支持 12 个端口使用 802.3at( 30W/接口 )供电,或同时支持 6 个端口使用 802.3bt( 60W/接口 )供电。
选择路由器
路由器的接口数量是依据连接的网段数量来选择。在以太网中,使用的物理接口数量只要满足最低限度就可以了,可以通过添加二层交换机来增加接口数量,也可以使用 VLAN 的子接口来缓解接口不足的问题。
选择防火墙
在互联网网关配置防火墙时,至少要准备两个端口,即连接互联网的上行端口和连接内网的下行端口,最常用也是最传统的防火墙组网方式。
现在为了保障内网的安全,会把防火墙部署在内网,同时配置 RJ-45 、SFP/SFP+ 等接口,提供 8 ~ 24 个网络端口。
网络设备互操作性
互操作性表示网络中不同类型的网络设备互相连接后,也能正常通信的情况。由于网络设备通常实现了相同的 RFC 或 IEEE 等标准或协议,因此不同厂商设备之间,可以说具有互联性。但另一方面,厂家独自实现了一些未标准化的功能,这类功能是无法在所有设备上运行的。
当需要引入多个不同厂商生产的网络设备进行组网时,就要考虑设备的互操作性,并作为选择设备的一项重要依据。像访问控制列表或病毒扫描等能够在网络设备内部处理,无需和网络上其它设备连接的功能,就不用考虑互操作性。
高可用性
MTBF 和 MTTR
包含网络设备的电气产品和计算机系统等,通常使用 MTBF(平均故障间隔时间)来计算出现故障的概率。这个参数以小时( hour )为单位,可以使用下面的公式计算。
MTBF = 运行时间 / 故障次数。
在实际运用中,MTBF 还能使用预测法或推测法计算出来。推测法之一,是数据计量法。通过记录多个样本数据,观察在相对较短的时间内有多少台设备发生了故障,推算出 MTBF 值。比如:同时启用一万台相同的设备,运行 100 个小时,这个期间出现 5 台设备故障,就可以计算 MTBF 值: 1 万台 × 100 小时 ÷ 5 次故障 = 20 万小时。
故障率可以通过 MTBF 的倒数计算得出。
故障率 = 1 / MTBF。
MTTR(平均修复时间)是指系统发生故障后,到修复完毕花费的平均时间。
系统的运行概率可以通过下面公式计算得出。
正常运行概率 = MTBF /( MTBF + MTTR )。
简单说,就是 MTBF 值越大,而 MTTR 值越小,系统可用性更高。
结语
当然,完整的进行设备选型,首先要收集预算、需求、网络现状和未来可扩容等,再进行有针对性的设备选型,甚至可以有几套设备选型方案,逐步细化和分解,并结合设备采购流程,最终敲定设备采购清单。如果有钱的金主,那肯定是一分钱一分货,买最好的准没错。如果预算有限,就要选高性价比的。
本文链接:http://nix.pub/article/netdevice/