文章目录
- 局域网
- 无线局域网 WLAN
- 802.11 无线局域网
- 802.11无线局域网的组成
- WLAN 的组成
- 有固定基础设施的802.11无线局域网
- 漫游服务
- 无固定基础设施的802.11无线局域网
- 802.11无线局域网的物理层
- 802.11无线局域网的数据链路层
- 不使用碰撞检测 CD 的原因
- CSMA/CA 协议
- CSMA/CA 协议的退避算法
- 预约机制
- 802.11无线局域网的MAC帧
- 802.11无线局域网的数据帧格式
- 站点间发送数据帧
- 站点向路由器发送数据帧
- 站点接收以太网数据帧
局域网
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机网络。它通常覆盖一个小的地理范围,如一个学校、一座大楼或一片厂区等。
局域网采用的传输方式为广播式,通信距离短,信号衰减较小,因此误码率较低。主要目的是使这些地理位置相邻的计算机和设备能够互相通信和共享资源。
局域网的特点:
-
地理范围小:局域网覆盖的地理范围一般不超过几公里。
-
高传输速率:相比于广域网(WAN),局域网具有较高的数据传输速率,可以从几兆比特每秒(Mbps)到千兆比特每秒(Gbps)甚至更高。
-
低延迟:局域网内的通信通常具有较低的延迟,因为数据不需要经过复杂的路由就能到达目的地。
-
易于管理:由于规模较小,局域网更容易进行管理和维护。
-
安全性较高:局域网通常属于私有网络,对外部的访问受到严格控制,因此相比公共网络来说安全性更高。
无线局域网 WLAN
随着移动通信技术的发展,无线局域网(Wireless Local Area Network,缩写为 WLAN
或 WiFi
)自20世纪80年代未以来逐步进入市场。
无线局域网是指使用无线电波或其他无线通信技术在有限区域内建立的计算机网络。WLAN 使用无线接入点(Access Point,AP
)或者基站(Base Station)来提供无线网络服务,允许终端设备(如笔记本电脑、智能手机和平板电脑)在无需物理连接的情况下接入互联网或局域网。
802.11 无线局域网
IEEE 于 1997 年制定出了无线局域网的协议标准802.11,802.11无线局域网是目前应用之一,人们更多地将其简称为 Wi-Fi
(Wireless Fidelity,无线保真度)。
无线局域网(WLAN)的范围通常在几十米以内,适合办公室及单位楼层内部使用。与有线网络相比,无线局域网具备安装便捷、使用灵活、经济节约、易于扩展等优点。
802.11无线局域网可分为以下两类:
- 有固定基础设施的
- 无固定基础设施的
固定基础设施是指预先建立的、能够多覆盖一定地理范围的、多个固定的通信基站。802.11无线局域网使用最多的是它的固定基础设施的组网方式。
802.11无线局域网的组成
WLAN 的组成
无线局域网由 无线网卡 和 无线接入点(AP)构成。
无线网卡是终端无线网络的设备,是在无线局域网的无线覆盖下,通过无线连接网络进行上网使用的无线终端设备。具体来说,无线网卡就是使电脑可以利用无线网络上网的一个装置,但是有了无线网卡也还需要一个可以连接的无线网络,因此就需要配合无线路由器或者无线AP使用。
无线接入点(AP)是一个无线网络的接入点,俗称“热点”。主要有路由交换接入一体设备和纯接入点设备,一体设备执行接入和路由工作,纯接入设备只负责无线客户端的接入,纯接入设备通常作为无线网络扩展时使用,与其他AP或者主AP连接,以扩大无线覆盖范围。
有固定基础设施的802.11无线局域网
802.11无线局域网的最小构件称为基本服务集(BSS
),在一个 BSS
中,包含有一个 AP
和若干个移动站
本 BSS
内各站点之间的通信以及与本 BSS
外的站点之间的通信,都必须经过本 BSS
内的 AP
(中心的基站)进行转发。
网络管理员需要为 AP
分配一个最大32字节的服务集标识符(Service setIdentifier,SSID
)和一个无线通信信道,SSID 实际上就是使用该 AP 的 802.11 无线局域网的名字。
一个 BSS 所覆盖的地理范围,称为基本服务区(BSA),直径小于100m。
一个 BSS 可以是孤立的,也可以通过一个分配系统(DS
,最常用的是以太网,也可使用点对点链路或其他无线网络)与其他 BSS 进行连接,构成一个扩展的服务集(ESS)。
ESS 还可为无线用户提供到其他非802.11无线局域网的接入,如通过 DS 有线连接到因特网。
漫游服务
802.11标准并没有定义实现漫游的具体方法,仅定义了以下一些基本服务:
- 关联(Association)服务,移动站与接入点AP建立关联的方法有以下两种:
-
被动扫描(移动站被动等待接受信标帧)
-
主动扫描(移动站主动发出探测请求帧)
- 重建关联(Reassociation)服务和分离(Dissociation)服务
如果一个移动站要把与某个接入点AP的关联转移到另一个AP,就可以使用重建关联服务;若要终止关联服务,就应使用分离服务。
- 重建关联:切换到另一个wifi
- 分离服务:断开wifi
无固定基础设施的802.11无线局域网
无固定基础设施的802.11无线局域网也被称为自组织网络(ad hoc Network)
转发站需要具备路由功能,自组织网络有其特定的路由选择协议,一般不能与因特网直接相连,需要通过网关或协议转换器接入因特网
自组织网络组网方便,不需要基站,并且具有非常好的生存性,这使得自组织网络在军用和民用领域都有很好的应用前景。
802.11无线局域网的 ad hoc
模式允许网络中的各站点在其通信范围内直接通信,也就是支持站点间的单跳通信,而标准中并没有包括多跳路由功能。因此,802.11无线局域网的 ad hoc
模式应用较少
802.11无线局域网的物理层
802.11无线局域网的物理层非常复杂,依据工作频段、调制方式、传输速率等,可将其分为多种物理层标准。
802.11无线网卡一般会被做成多模的,以便能适应多种不同的物理层标准,例如支持802.11b/g/n。
最近几年,802.11无线局域网又有一些新的物理层标准陆续推出:
802.11无线局域网的数据链路层
对于802.11无线局域网,其使用无线信道传输数据,这与共享总线以太网使用有线传输介质不同。因此802.11无线局域网不能简单照搬共享总线以太网使用的 CSMA/CD
协议。
802.11无线局域网采用了另一种称为 CSMA/CA
的协议,也就是载波监听多址接入/碰撞避免(Carrier SenseMultiple Access/Collision Avoidance,CSMA/CA)
CSMA/CA协议
仍然采用 CSMA/CD
协议中的 CSMA
,以“先听后说”的方式来减少碰撞的发生,但是将“碰撞检测CD”改为了“碰撞避免CA”
尽管CA表示碰撞避免,但并不能避免所有的碰撞,而是尽量减少碰撞发生的概率。
不使用碰撞检测 CD 的原因
802.11无线局域网不采用“碰撞检测CD”的原因如下:
由于无线信道的传输环境复杂且信号强度的动态范围非常大,在802.11无线网卡上接收到的信号强度一般都远远小于发送信号的强度,信号强度甚至相差百万倍。
因此,如果要在802.11无线网卡上实现碰撞检测,对硬件的要求非常高。还会出即使能够在硬件上实现碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),现无法检测到碰撞的情况,因此实现碰撞检测并没有意义。
无线局域网不能简单照搬共享总线以太网(有线局域网)使用的CSMA/CD协议,而是不再实现碰撞检测CD功能,但在CSMA的基础上增加碰撞避免CA功能,即使用 CSMA/CA
协议。
CSMA/CA 协议
说明:
-
DIFS
:DCF
帧间间隔 DIFS 的长度为128 μ s \mu s μs,在 DCF 方式中,DIFS用来发送数据帧和管理帧。DCF 是分布式协调功能(Distributed Coordination Function,DCF)的英文缩写词。 -
在 DCF 方式下没有中心控制站点,每个站点使用
CSMA/CA
协议通过争用信道来获取发送权。DCF 方式是802.11定义的默认方式(必须实现) -
等待 DIFS 间隔是考虑到可能有其他的站有高优先级的帧要发送
-
帧首部中的“持续时间”字段的值指出了源站要占用信道的时间(包括目的站发回确认帧所需的时间)
-
SIFS
:短帧间间隔(Short Interframe Space,SIFS
)的长度为28 μ s \mu s μs,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用SIFS
的帧类型有ACK帧
、CTS帧
等。 -
由于无线信道的误码率较高,
CSMA/CA
协议还需要使用停止-等待的确认机制来实现可靠传输,这与使用CSMA/CD
协议的共享式以太网不同, -
NAV
:当某个站检测到正在信道中传送的帧首部中的“持续时间”字段时,就调整自己的网络分配向量(NetworkAllocation Vector,NAV)。NAV 指出了完成这次帧的传送且信道转入空闲状态所需的时间。即虚拟载波监听机制
CSMA/CA 协议的退避算法
当某个站要发送数据帧时,仅在这种情况下才不使用退避算法:检测到信道空闲,并且该数据帧不是成功发送完上一个数据帧之后就立即连续发送的数据帧。
除此之外的以下情况,都必须使用退避算法:
- 在发送帧之前检测到信道处于忙态
- 在每一次重传一个帧时
- 在每一次成功发送帧后要连续发送下一个帧时
在执行退避算法时,站点为退避计器设置一个随机的退避的时间:
-
当退避计时器的时间减小到零时,就开始发送数据;
-
当退避计时器的时间还未减小至零时而信道又转变为忙状态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过帧间间隔 DIFS 后,继续启动退避计时器。
在进行第 i 次退避时,退避时间在时 { 0 , 1 , . . . , 2 2 + i − 1 {0,1,... ,2^{2+i}-1} 0,1,...,22+i−1} 中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。当时隙编号达到255时(对应于第6次退避)就不再增加了。
预约机制
为了进一步降低发生碰撞的概率,802.11无线局域网允许源站对信道进行预约。
使用 RTS帧
和 CTS帧
进行信道预约会带来额外的开销,但由于 RTS帧 和 CTS帧 都很短,发生碰撞的概率、碰撞产生的开销以及本身的开销都很小。
对于一般的数据帧其发送时延往往远大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。
802.11无线局域网仍为用户提供了以下三种选择:
- 使用 RTS帧 和 CTS帧
- 只有当数据帧的长度超过某个数值时才使用 RTS帧 和 CTS帧。
- 不使用 RTS帧 和 CTS帧:
CSMA/CA 退避算法预约机制:
说明:
-
RTS
(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间。 -
CTS
(Clear To Send)帧是短的响应控制帧,它也包括本次通信所需的持续时间(从RTS帧中将此持续时间复制到 CTS帧 中) -
除源站和目的站的其他各站,在收到 CTS帧 或数据帧后就推迟访问信道。这样就确保了源站和目的站之间的通信不会受到其他站的干扰。
-
若 RTS帧 发生碰撞,源站就不可能收到 CTS帧,源站会执行退避算法重传RTS帧。
-
由于 RTS帧 和 CTS帧 都会携带通信需要持续的时间,使用RTS帧和CTS帧进行信道预约,也属于虚拟载波监听机制。
802.11无线局域网的MAC帧
802.11无线局域网的 MAC帧,分别为:
-
数据帧:用于在站点间传输数据
-
控制帧:通常与数据帧搭配使用。负责区域的清空、虚拟载波监听的维护以及信道的接入,并于收到数据帧时予以确认。ACK帧、RTS帧 以及 CTS帧 等都属于控制帧。
-
管理帧:用于加入或退出无线网络以及处理 AP 之间连接的转移事宜。信标帧、关联请求帧以及身份认正帧等都属于管理帧。
802.11无线局域网的数据帧格式
-
持续期:用于实现
CSMA/CA
的虚拟载波监听和信道预约机制。在数据帧、RTS帧 和 CTS帧 中用该字段指出将要持续占用信道的时长。 -
地址1-地址4的内容和使用情况:取决于帧控制字段中的“去往DS”(到分配系统)和“来自DS”(分配系统)这两个字段的值
站点间发送数据帧
站点A向站点B发送数据帧
-
当 站点A 想要向 站点B 发送数据帧时,数据帧首先会被发送到 AP1。
-
AP1 收到数据帧后,检查地址字段,发现 地址1 是自己的 MAC 地址,于是将数据帧转发给因特网。
-
因特网中的 R 收到数据帧,根据地址2(A的MAC地址)和地址3(B的MAC地址)确定目标是 BSS2 中的 站点B。
-
R 将数据帧转发回无线网络,传送到 AP2,最后 AP2 将数据帧发送给站点B。
站点向路由器发送数据帧
在802.11无线局域网中,在站点的信号覆盖范围内,可能有多个 AP 共享同一个物理信道,但站点只能与其中的一个 AP 建立关联,因此在802.11数据帧中,需要携带 AP 的 MAC 地址,明确指出转发该数据帧的 AP
站点A向路由器R发送数据帧:
-
当 站点A 想要向 路由器R 发送数据帧时,数据帧首先会被发送到 AP1。
-
AP1 收到 802.11数据帧 后,检查地址字段,发现地址1是自己的 MAC 地址,于是将数据帧封装为以太网数据帧转发给因特网。
-
因特网中的 R 收到数据帧,根据地址2(A的MAC地址)和地址3(R的MAC地址)确定目标是路由器R。
-
R 将数据帧处理后,再将响应的数据帧返回给无线网络,传送到 AP1,最后 AP1 将数据帧发送给 站点A。
站点接收以太网数据帧
在以太网中,AP和透明网桥一样,对各站点是透明的,因此以太网数据帧不需要携带 AP 的MAC地址。
- 序号控制:用来实现802.11的可靠传输,对数据帧进行编号
-
当 路由器R 想要发送数据帧给 站点A 时,会先将数据帧转换成以太网数据帧,然后发送给分配系统(例如以太网)。
-
分配系统中的 AP1 检查地址字段,发现 地址1 是自己的 MAC 地址,于是以太网将数据帧转换成 802.11 数据帧,并发送给站点A。
-
站点A 接收到来自因特网的数据帧