最近因为一些原因,从事了一些网络相关工作 ,感觉这块水还是挺深的,特别是无线这块,有很多新的概念,现把学到的基础知识列举如下,希望对大家有帮助。
有线网部分
VLAN 以及 VLAN tag
从字面上就可以理解,这是对以太网即数据链路层的虚拟化。大家都知道通知交换机,我们可以将多个计算机连接到一张以太网中。但是企业场景非常复杂,有些网络可能专门用于管理,有些专门用于测试,还有些用于供外部访客使用。这些网络极可能存在不同的路由及配置(比如 DHCP 服务器、出口网关或 IP 地址段),如果每个网络都分开部署,成本就会相当的高。因此在 IEEE 802.1Q 规范中,在链路层的帧上添加了一个 ID,即 VLAN ID,不同的虚拟网拥有不同的 vlan id,这样就在物理局域网(LAN)上虚拟出了若干虚拟局域网(VLAN)。
为了处理 vlan 报文头,交换机在接口上还有 Trunk、Access 以及 Hybrid 三种模式可以选择,第三咱 Hybrid 可以简单理解为 Trunk 与 Access 的简单二合一产物, Trunk 可以处理 vlan 标记,因此需要在启用 vlan 的交换机之间的连接接口中开启, Access 可以理解为对接终端时使用配置。详细来讲:
- Access 端口在收到数据包时会先判断是否带 VLAN tag,有则丢弃数据包,没有则打上该端口已配置的 VLAN tag;而在出数据时,交换机将打了与端口相同VLAN tag的数据包转发出去,并且去掉VLAN tag变成普通数据包。
- Trunk 端口在收到数据包时先判断是否带 VLAN tag,没有则丢弃数据包,有则按照对应VLAN进行转发;交换机将带VLAN tag的数据包原封不动转发出去,没有带 VLAN tag 数据包不会从 Trunk 端口转发出去。
由此可见,Access 与 Trunk 的区别在于 VLAN tag 的处理逻辑上。若需要更详细的理解,可参考此文章。
ARP 地址欺骗与 ARP Request 攻击
ARP 全称 Address Resolution Protocol,是衔接网络二、三层的协议,其作用就是获取局域网 IP 地址(三层)对应的 MAC 地址(二层),它的工作流程是这样的:
-
计算机想向 IP 地址 A 发送数据包时,首先检查是否缓存地址 A 的 MAC 地址,如下:
- 若没有此地址信息,计算机会向 x.x.255.255 广播地址(其中 x.x 是子网前缀,如 192.168)发送 ARP 请求报文询问 IP 地址 A 所在机器对应的 MAC 地址。
- 交换机在收到目的地址为 255.255 这样的广播地址时,会向所有的已经连接上的机器转发,相当每台机器都会收到询问。
- 若某台机器的 IP 地址为 A,则此台机器会返回 ARP 应答报文,告之发送源他的 MAC 地址,IP 地址为 A 的 MAC 地址。
- 计算机收到应答后会将 MAC 以址缓步,若为 Windows 系统,可以使用 arp -a 命令来进行查看,至此结束 ARP 发现流程。
从上面的流程我们可以看出两个漏洞:一是每次 ARP 请求交换机都会进行广播,如果 ARP 请求非常频率,则会形成广播风暴,占用网络资源,就这个 ARP Request 攻击也叫 ARP 泛洪攻击;二是 ARP 应答报文进行没加密以及校验机制,谁都可以返回应答信息,假如我的 IP 地址是 B,我仍然向源地址返回应答信息,源地址就会收到错误的 MAC 地址,如此形成 ARP 欺骗攻击。ARP 欺骗攻击在局域网中经常发生,如果网络连接正常但突然上不了网,多半是由此原因引起的。
DHCP Snooping, DAI 以及 IPSG
针对 ARP 泛洪攻击有效的防守方式就是限制 ARP 频率,如一个 MAC 一秒最多 10 个报文(正常绝对够了);针对 ARP 地址欺骗攻击的防御手段是使用 DAI(Dynamic ARP Inspection)。这两个技术的前提都是 DHCP Snooping,所谓 snooping 即 “监听”,即交换机会监控 DHCP 响应报文,记录 DHCP 从哪个接口(Interface 接收到的),这项技术的由来是为了防止 DHCP 服务器仿冒,在配置交换机的时候会将我们认为合法交换机所连接的接口标记为信任(Trusted),这样其他接口收到 DHCP 应答时交换机就会直接丢弃。使用 DHCP Snooping,交换机会监听 DHCP 的 Offer 报文,得知源 MAC 地址获得的 IP 地址,这样便实现 IP - MAC 之前的绑定关系。
DAI 正是利用这一绑定列表,在任务一个 ARP 应答报文在经过它时,都会与已经学习的绑定列表进行对比,若发现不匹配,则会丢弃报文。例如,计算机 B 的 IP 地址是 C,MAC 地址是 D,但是故意响应 IP 地址为 F 的 ARP 请求报文,想欺骗源端 IP 地址 F 所在的 MAC 地址是 D,但是交换机在收到报文后发现 MAC 地址 D 对应的 IP 地址是 C,而不是报文中填写的 F,属于无效数据,因此会直接丢弃。因此开启 DAI 后,手动指定 IP 地址不再能访问网络,因为交换机上没有对应的绑定关系。
还有另一种技术 IPSG 也是利用上述 IP - MAC 绑定关系,只不过是反过来的,是通过 MAC 查 IP 而不是像 DAI 那样通过 IP 来查 MAC,可见,开启 IPSG 后是为了防止 IP 欺骗。典型的使用场景两台计算机拥有的 IP 地址分别为 A、B,但他们的网络控制权限不一样,A 拥有更高的访问权限,这样在 A 下线的时候,如果 B 仿冒 A 的 IP 地址进行数据发送就可以绕过权限控制,因此交换机会通过查询绑定列表来验证是不是真的 IP 地址为 A 的计算器发出的。
DHCP 两步上线与四步上线
说到 DHCP Snooping,有必要解释一下 DHCP 报文的几个交互过程,分为二类,即二步上线与四步上线。当计算机第一次加入局域网且开启通过 DHCP 获取 IP 地址时,发生四步上线过程:
- 客户机请求IP(客户机发 DHCPDISCOVER 广播包),注意这步也是广播与 ARP 解析一样的,这个时候 IP 报文中源地址的 IP 地址为 0.0.0.0,端口为 UDP 68,目的地址为 x.x.255.255 即广播地址。
- Server响应(server发 DHCPOFFER 广播包),即在自己的IP地址池中查找是否有合法的IP地址提供给客户机,注意这个时候 IP 地址还没有分配给计算机,只是作了一个标记。由于DHCP客户机还没有IP地址,所以DHCPserver使用自己的IP地址作为源地址,使用 UDP 67 端口作为源端口,使用x.x.255.255 作为目标地址,DHCP 服务 IP 作为源地址,来广播 DHCPOFFER 信息。DHCPOFFER 中除了有客户可选的 IP 地址之外,还有租期、网关地址、子网掩码等信息
- 客户机选择IP(客户机发 DHCPREQUEST 广播包),这个时候报文中源 IP 地址仍然是 0.0.0.0,目的地址仍然是广播地址 x.x.255.255。
- Server确定租约(Server发 DHCPACK/DHCPNAK 广播包),向客户端发出确认或者拒绝消息,这个时候使用源地址与目的地址与第二步是一样的。
那什么是二步上线呢?其实就是 IP 地址还在租期中,但是发生了漫游或者重新连网,这个时候会直接路过前面两个步骤从第二步开始。这里有个小问题,如果漫游的子网与之前的不同,就会造成 DHCP NACK(因为新的子网里 DHCP 不同,也就没有对应的租约记录),但是有些交换机是不发送 NACK 的(比如华为的,需要手动开启),而是让客户端超时重试,这样就会造成 DHCP Request 超时,造成漫游失败。
二层交换机、三层交换机与七层交换机
ISO OSI 网络模型里三层是指 IP 层,二层是指数据链路层。二层交换机工作在数据链路层,相当于将网线都连接起来,不存在管理的需求,因此没有管理界面,使用时将网线插入即可。三层交换机工作在 IP 层,可以针对 IP 进行过滤以及应用对应的安全防护,如 DAI、IPSG 等。七层交换机则可以识别应用流量,并针对进行优化或者配置,一般防火墙才会工作在七层。
网络环境中大多是 3 层交换机。
网段、子网段以及 ACL 安全组
以太网使用 IP 地址作为 3 层寻址。那么就需要针对不同的网络区域设置成不同的网段,公开的私有网段如下:
- A 类私有:10.0.0.0/8,即:10.0.0.0-10.255.255.255
- B 类私有:172.16.0.0/12,即:172.16.0.0-172.31.255.255
- C 类私有:192.168.0.0/16,即:192.168.0.0-192.168.255.255
私有网段下,还可以使用 CIDR 进行掩码划分,IPv4 使用 4 个字节一共 32 位表示 IP 地址,那么 CIDR 就是表示使用左边多少位来表示子网段。例如 192.168.0.0/16 则表示使用前面 16 位来表示子网段,如果是 192.168.128.0/17 则表示前面 17 位是固定的,那么可用的 IP 地址就是 192.168.128.0~192.168.255.255 一共 32768 个 IP 地址。有些时候,CIDR 书写并不是很规范,可能是 192.168.130.0/17 这种,但是与 192.168.128.0/17 的效果是一样的。
无线网部分
频率、带宽、频段与载波聚合
无线通信技术基于无线电波,无线电波本质就是电磁波,波的基本公式:v = λ * f,波的特性有:波长、频率与波速。目前局域网无线通信通信技术创建于 IEEE 802.11 标准,由 Wi-Fi 联盟进行管理,Wi-Fi 经常被写成 WiFi,但实际上没有得到官方的认可,并且 Wi-Fi 一词也不是任何单词的组合或者缩写。Wi-Fi 发展至今,已经形成 2.4GHz 与 5GHz 两代重要升级。其中 2.4G 与 5G 指的就是波的频率,由于电磁波是光波的一种,因此其速度是固定的,就只需要频率就可以描述了。2.4G 就是用 2400MHz 以基础频率的波进行通信,而 5G 就是使用 5000MHz 的波进行通信。由于波在事一频率下会产生干扰的现象,因此技术人员在 2.4G 与 5G 的基础上划分出多个小的区间,每个区间大概间隔 20MHz,,这就是信道的概念。
2.4GHz 信道一共设计 14 个,但并不是每个国家都开放了,其中由于一些安全原因,会关闭某些信道。2.4G Wi-Fi 信道有个特点,即相邻的信道是重合的,中心点相距 5Hz,如下图所示:
因此在场内多信道组网部署时,通常只使用 1、6、11 这三个信道,这样可以在设计层面避免干扰。当然,这是在理想情况下,现实是除了自己部署的信号,还有其他人部署的,因此 2.4GHz 想要完全避免干扰是非常难的。
5GHz 信道就更多了,因此每个国家的区别就更大了,目前我们使用的是 36、38、40、42、44、46、48、149、153、157、161、165 这几个。5GHz 的信道最大的好处就是完全不重叠,在抗干扰上更优:
5G Wi-Fi 还有一个好处就是可以将多个信道联合起来,两个信道组成一个,就成了双车道,自然信息传递就更快了 5G 40Mhz;三个信道组成一个,就成了了三车道,对应 5G 80Mhz,这种技术被称为 “载波聚合”(Carrier Aggregation)。它是另一种提升网络吞吐率的方法。一般来说,提升无线网络吞吐率的思路有,增加基站(如 MIMO 方式)数量、提升频谱效率(如优化编码等),还有一种就是增加频谱带宽。但是无论是 2.4G 还是 5G,已经将一个载波单元(Component Carrier)的大小规定好了,肯定是不容变更的,所以截波聚合就是通过将空闲多个频带资源进行整合分配给同一个用户。普通 5G 20Mhz 的理论通信速率 65Mbps、40Mhz 理论通信速率 150Mbps、80MHz 的理论通信速率 300Mbps,为用户提供更高的峰值传输速率。
最佳无线布局
前面提到由于相同信道的无线网络会产生干扰,因此在部署覆盖大面积场景的时候必须对信道进行设计,尽可能多地覆盖区域并将冲突降低到最小。根据华为官方撰写的《企业 WLAN 优化场景》,AP 在平面内应该以正六边形也即蜂窝状部署,如下:
上面 AP 接连的数字代码信道设置的参考值。在一些特殊的场景,如会议室,部署的推荐如下:
在比较密集的 AP 覆盖场景,由于 AP 本身的接入能力有限,因此不是说一个范围仅安装一个 AP 能够覆盖即可。对于不同的接入密度,还需要针对性地设计,这个时候我们就需要调整每个 AP 的功率,使之在小范围不产生信号冲突。否则 AP 都以最大功率发射的话,整个空间都充斥着无线信号,冲突自然无法避免。
空间流
淘宝上经常宣传某个路由器有 1500M 的效率,但是无论从 2.4G 还是 5G 的速率来看,都不可能达到 1500M,这又是怎么回事呢?
这里就要讲到一个新的概念:空间流。前面说到通过将多个信道组合成一个信道来增加传输速率,空间流就是通过增加天线的数量,在另一个维护进一步加宽信号传输这条高速公路。这种技术被称为 MIMO(Multi Input Multi Output),没错就是这么直接。
常说的 4x4 空间流说的就是发送的天线 2 根,接收的天线也是 2 根,这样以下,如果你的设备恰好也有 2 根天线,则发送与接收速率都可以翻倍。如果设备只有一根天线,不支持 MIMO,没关心,路由器多的天线通道可以同时给其他设备使用,等于增加了路由器的吞吐量。所以宣传说的 1500M 指的是 4x4 的空间流,前面说过在 5G 80M 频宽下单流的速度为 300M,那么 4 条天线通道最大的吞吐量就是 1200M,再加上 2.4G 的 2x2, 差不多就是 1500M 了,所以商加宣传的是路由器的理论最大吞吐量,并不是说你使用后下载带就可以达到 1500M。
SNR、RSSI、底噪、EIRP 及其的关系
在企业无法部署中,由于无线路器由的数量特别多,为方便集中管理,出现了 AC-AP 即 FitAP 的方案,这种方案使用 AC 控制器对无线路由器 AP 的配置进行统一分发,方便集中管理。AP 本身作为无线信号的接发装置,有诸多的性能指标。如下:
指标名 | 作用 |
---|---|
RSSI | 终端(STA)或者 AP 的信号的发射功率,则信号覆盖面更广,为负数,数值越低消耗的能量越多,一般 -50~-100dBm 的范围 |
底噪 | 反映 AP 的信号环境的状态,底噪为负数,越低越好,一般 -80~-100dBm |
SNR | 即信噪比,反映终端(STA)接收网络质量的指标,等于 "RSSI - 底噪",如 RSSI=-52dBm,底噪=-93dBm, 则 SNR = 41,SNR 在 35 以上信号就较好了 |
通过上述表格,可以发现,如果无线环境比较差,那么其底噪就会比较高,如 -80dBm,这个时候 SNR 就会得到比较低的数值,SNR 低于 15 时,信号质量就比较差了。这个时候我们可以通过增加发射功率 RSSI 来提升 SNR。反过来,如果无线环境的底噪比较低,这个时候就不需要这么高的发射功率了。
Beacon 周期
AP 在提供 SSID(Service Set Identifier)即服务集标识符时,会定期向周围进行帧广播,以快速发现漫游、离线设备,这个周期被称为 Beacon 周期,一般默认值为100。在漫游环境和一些无线客户端(wireless client )联机变动比较大场合(如公众热点),客户端(Client)属于移动状态,需要快速漫游,应将beacon适当调低。Beacon 周期也不宜调至过大,否则某些设备会因长时间收到不而认为网络已变更,造成设备掉线的情况。
RTS - CTS
由于无线电波只有一条,在多个设备在使用的时候,就存在争抢的情况,此时就需要使用类似一个 “请求发送/允许发送” 的令牌,属于控制辅助信号。当一个 AP 准备发送数据至 STA B 时,首先向 B 发送一个 RTS 帧,表明要发送若干数据;B 收到 RTS 后,向所有 AP 广播 CTS 信号,表明已准备就绪,A 可以发送,而其余欲向 B 发送数据的基站则暂停发送。由于目前的无线电都是双路通信(目前的主流方案有时分多路 TDD 与频分多路 WDD),因此只需要一边确认即可。
由于无线电波只有一条,在多个设备在使用的时候,就存在争抢的情况,此时就需要使用类似一个 “请求发送/允许发送” 的令牌,属于控制辅助信号。当一个 AP 准备发送数据至 STA B 时,首先向 B 发送一个 RTS 帧,表明要发送若干数据;B 收到 RTS 后,向所有 AP 广播 CTS 信号,表明已准备就绪,A 可以发送,而其余欲向 B 发送数据的基站则暂停发送。由于目前的无线电都是双路通信(目前的主流方案有时分多路 TDD 与频分多路 FDD),因此只需要一边确认即可。
WIDS
WIDS 即 “无线入侵检测”,是一组安全策略,与 WAF(Web Application Fire)的概念是一样的,并不是某项具体的安全技术。通常 WIDS 里包含的安全策略有:
- 暴力破解攻击:即采用穷举法、字典式攻击以及彩虹表攻击方式获取权限的方式。
- 各类泛洪攻击:如 ARP-Request、DNS、ICMP 等请求的泛洪攻击,这类请求的特点是存在广播路径,容易形成风暴。
- 欺骗攻击:如 ARP 地址欺骗、IP 地址欺骗等,就是伪装成某个正常的设备。
- 弱 IV 攻击:弱向量是指当采用WEP加密方式时,对于每一个报文,在发送前都会使用一个3字节的初始向量(Initialization Vector)和固定的共享密钥一起来加密报文,使相同的共享密钥产生不同的加密效果。如果AP使用了弱IV(当AP检测到IV的第一个字节取值为3~15,第二个字节取值为255时,即为弱IV),由于在STA发送报文时IV作为报文头的一部分被明文发送,攻击者很容易暴力破解出共享密钥后访问网络资源。
- 非法设备反制:这是主要是非法 AP,即区域内 AC 管理的 AP 存在一个非法的 AP,试图冒充正常的 AP 服务,以损害 STA 的连接稳定性。反制就是通过监测 AP 以非法 AP 或干扰 AP 的身份发送广播解除认证(Deauthentication)帧,这样,接入非法 AP 或干扰 AP 的 STA 收到解除认证帧后,就会断开与非法 AP 或干扰 AP 的连接。通过这种反制机制,可以阻止 STA 与非法 AP 或干扰 AP 的连接。
定向天线
本身天线发出的电磁波就像池塘中的水波一样,会均匀地呈圆状散播开来,这种被称为全向天线,但有时候我们希望只向某一个方向发射,这种不仅可以集中能量向目的方向发射以节省能源,还能防止不必要的电磁干扰,这种就被称为定向天线。以下天线都是定向天线:
速波成型
MIMO技术通过多天线传输,带来传输速率的成倍增长。但在实际应用中STA(无线终端)往往只有1到2个天线,如果仅使用对应数量的天线发送信号,则无法利用多天线带来的增益。为了解决这一问题,通过引入波束成形技术,可以增强STA接收到的信号强度,从而使AP和STA可以协商出更高的传输速率。束波就是利用了波的叠加龙原理,使用多个天向,将发射周期调整到适当的位置,使用两个天线发出来的波正好形成正向叠加,实现信号增益的效果。
评论列表: