📜  WLAN基础(1)

📅  最后修改于: 2023-12-03 14:48:31.050000             🧑  作者: Mango

WLAN基础

WLAN (Wireless Local Area Network) 是一种无线局域网技术,通过无线方式连接计算机、手机、平板等设备,实现数据的传输和共享。在现代社会中,WLAN 基础已经成为一项非常重要的技术。在此,我们将从以下几个方面给程序员介绍 WLAN 基础。

WLAN 技术架构

WLAN 技术架构主要分为三个层次,如下图所示:

WLAN 技术架构

  • 物理层(PHY Layer): 是 WLAN 的第一层,其主要作用是将数字信号转换成无线电波。现今常用的无线电波频率有 2.4GHz 和 5GHz 两种。
  • 数据链路层(Data Link Layer): 是 WLAN 的第二层,其主要作用是通过 MAC 协议(Media Access Control,介质访问控制)来控制接入点(Access Point)之间的通信。
  • 网络层(Network Layer): 是 WLAN 的第三层,其主要作用是通过 IP 协议(Internet Protocol,互联网协议)来实现网络互连。
WLAN 中的术语

在 WLAN 中,有一些列术语需要了解,如下:

  • ESSID: 即 WLAN 中的网络名称,小区内的 AP(Access Point)共享同一 ESSID。
  • MAC Address: 即 WLAN 中的硬件地址,每个网络设备都有独一无二的 MAC 地址。
  • SSID: 即 WLAN 中的服务集标识(Service Set ID),是一个 32 个字符的字符串。
  • Access Point (AP): 即 WLAN 中的接入点,是无线网络中支持有线转无线的设备。
  • Client: 即 WLAN 中的无线客户端设备,通常是指笔记本电脑、手机、平板等无线设备。
  • Channel: 即 WLAN 中的信道,是指在特定的无线电频率上发射的数据传输通道。
WLAN 中的安全

在 WLAN 中,安全是一项重要的问题。以下为 WLAN 中主流的两种安全机制:

  • WEP(Wired Equivalent Privacy): WEP 是一种早期的 WLAN 安全机制,其目的是保证 WLAN 的安全性能与有线网络等同。
  • WPA/WPA2(Wi-Fi Protected Access): WPA 是一种最常见的 WLAN 安全机制,其目的是通过使用密钥来加密无线网络流量。
WLAN 开发

WLAN 开发涉及的技术包括无线网络传输协议、网络编程、网络安全等多个方面。目前市面上有多种 WLAN 开发平台,如 Raspberry Pi、Arduino Yun 等,在开发过程中可选择多种编程语言,如 C、C++、Python 等。

# 示例:Python WLAN 编程
import pywifi

wifi = pywifi.PyWiFi()  # 创建 PyWiFi 对象

ifaces = wifi.interfaces()  # 获取所有网卡

iface = ifaces[0]  # 获取第一个网卡

profile = pywifi.Profile()  # 创建 WiFi 配置文件

profile.ssid = 'Your_SSID'  # 设置 SSID

profile.key = 'Your_Passsword'  # 设置密码

profile.auth = pywifi.const.AUTH_ALG_OPEN  # 设置认证算法

profile.akm.append(pywifi.const.AKM_TYPE_WPA2PSK)  # 设置加密算法

iface.remove_all_network_profiles()  # 移除所有的 WiFi 配置文件

new_profile = iface.add_network_profile(profile)  # 添加 WiFi 配置文件

iface.connect(new_profile)  # 连接新的 WiFi
总结

以上为 WLAN 基础的介绍,覆盖了 WLAN 的技术架构、术语、安全和开发等方面。在实际开发中,需要根据实际需求选择合适的 WLAN 技术和平台进行开发。