无线局域网
无线局域网的组成
IEEE于1997年制定出了无线局域网的协议标准802.11,802.11无线局域网是目前应用最广泛的无线局域网之一,人们更多地将其简称为Wi-Fi(Wireless Fidelity,无线保真度)。
802.11无线局域网可分为以下两类:有固定基础设施的 、无固定基础设施的
固定基础设施是指预先建立的、能够覆盖一定地理范围的、多个固定的通信基站。
802.11无线局域网使用最多的是它的固定基础设施的组网方式。
有固定基础设施的802.11无线局域网
有固定基础设施的802.11无线局域网采用星型网络拓扑,位于其中心的基站被称为接入点,其英文缩写词为AP。
802.11的最小构件称为基本服务集,其英文缩写词为BSS。在一个BSS中,包含有一个AP和若干个移动站,本BSS内各站点之间的通信以及本BSS外各站点之间的通信,都必须经过本BSS内的AP进行转发。
网络管理员需要为AP分配一个最大32字节的服务集标识符和一个无线通信信道。服务集标识符的英文缩写为SSID,它实际上就是使用该AP的802.11无线局域网的名字。
一个BSS所覆盖的地理范围称为基本服务区,基本服务区的英文缩写为BSA,一个BSA的直径不超过100m。
一个BSS可以是孤立的,也可以通过一个分配系统与其他BSS连接,这样就构成了一个扩展的服务集。分配系统的英文缩写为DS,扩展的服务集英文缩写为ESS。DS最常用的是以太网,也可使用点对点链路,或其他无线网络。
【本BSS内各站点之间的通信以及本BSS外各站点之间的通信,都必须经过本BSS内的AP进行转发。】
在这里转发路径 A->AP1->DS->AP2->B。
漫游
若A从BSS1漫游到了BSS2,在漫游过程中,移动站A的接入点从BSS1中的AP1改为了BSS2中的AP2,但是移动站A仍然可保持与移动站B的通信。
漫游的基本服务:
关联(Association)服务:被动扫描
主动扫描
重建关联(Reassociation)服务和分离(Dissociation)服务:
如果一个移动站要把与某个接入点AP的关联转移到另一个AP,就可以使用重建关联服务;若要终止关联服务,就应使用分离服务。
关联服务——被动扫描:
AP会周期性地发出信标帧,移动站被动等待接收信标帧。
关联服务——主动扫描:
移动站主动发出探测请求帧,然后等待来自AP的探测响应帧。
无固定基础设施的802.11无线局域网
无固定基础设施的802.11无线局域网,自组织网络。由一些对等的移动站点构成的临时网络,数据在自组织网络中被多跳存储转发。
⭐转发站需要具备路由功能。
A→B→C→D→E
!!转发站需要具备路由功能。
自组织网络有特定的路由选择协议,一般不能和因特网直接相连,需要通过网关或协议转换器,接入到因特网。
802.11无线局域网的ad hoc模式允许网络中的各站点在其通信范围内直接通信,也就是支持站点间的单跳通信,而标准中并没有包括多跳路由功能。因此,802.11无线局域网的ad hoc模式应用较少。
无线局域网的物理层
802.11无线局域网使用CSMA/CA协议
为了解决各站点争用总线的问题,共享总线以太网使用了一种专用协议CSMA/CD。
对于802.11无线局域网,其使用无线信道传输数据,这与共享总线以太网使用有线传输介质不同。因此, 802.11无线局域网不能简单照搬共享总线以太网使用的CSMA/CD协议。
802.11无线局域网采用了另一种称为CSMA/CA的协议,也就是载波监听多址接入/碰撞避免(Carrier Sense Multiple Access/Collision Avoidance,CSMA/CA)
CSMA/CA协议的基本工作原理
假设信道是空闲的,源站要发送它的第一个数据帧,若检测到信道空闲,则在等待DIFS间隔后才能发送。DIFS是指DCF帧间间隔 ,等待DIFS间隔是考虑到可能有其他的站有高优先级的帧要发送。
DCF帧间间隔DIFS的长度为128us,在DCF方式中,DIFS用来发送数据帧和管理帧。DCF是分布式协调功能(Distributed Coordination Function,DCF)的英文缩写词。在DCF方式下, 没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权。DCF方式是802.11定义的默认方式(必须实现)。
获得信道的发送权后,发送帧。
帧首部中的“持续时间”字段的值指出了源站要占用信道的时间(包括目的站发回确认帧所需的时间)。
当某个站检测到正在信道中传送的帧首部中的“持续时间”字段时,就调整自己的网络分配向量(Network Allocation Vector,NAV)。NAV指出了完成这次帧的传送且信道转入空闲状态所需的时间。
帧发送到目的站后,等待一个SIFS(从发送方式切换到接收方式),然后目的站发送确认帧。
短帧间间隔(Short Interframe Space,SIFS)的长度为28us,它是最短的帧间间隔,用来分隔开属于一次对话的各帧。
一个站点应当能够在这段时间内从发送方式切换到接收方式。使用SIFS的帧类型有ACK帧、CTS帧等。
补充:由于无线信道的误码率较高,CSMA/CA协议还需要使用停止-等待的确认机制来实现可靠传输,这与使用CSMA/CD协议的共享式以太网不同。
收到ACK帧后,信道转为空闲。
当某个站在发送帧时,很可能有多个站都在监听信道并等待发送帧, 一旦信道空闲,这些站几乎同时发送帧而产生碰撞。
为了避免上述情况,所有要发送帧的站检测到信道从忙转为空闲后, 都要执行退避算法。这样不仅可以减少发生碰撞的概率,还可避免某个站长时间占用无线信道。
使用退避算法的情况:
在发送帧之前检测到信道处于忙态
在每一次重传一个帧时
在每一次成功发送帧后要连续发送下一个帧时
举个例子:
如图所示,横坐标为时间,纵坐标为各站点。
刚开始是A正在占用信道发送帧,在A发送帧的过程中,BCD想要发送帧,先监听,监听到信道忙之后,根据退避算法选择一个退避时间,并一直监听(在每个时隙对信道进行一次检测),直到信道空闲,执行了一个DIFS后,开始执行退避时间。
C先执行完退避时间,C执行完之后开始占用信道发送帧,BD此刻检测到信道忙,冻结退避时间。假设在C发送帧的过程中E想要发送帧,E监听信道发现信道忙,然后根据退避算法选择一个退避时间,并一直监听在每个时隙对信道进行一次检测)。
C发送完,信道空闲后,其它站点先等待一个DIFS,然后解冻退避时间。
D先执行完退避时间,D占用信道发送帧,其它的重复上述操作...
预约机制
为了进一步降低发生碰撞的概率,802.11无线局域网允许源站对信道进行预约。
RTS(Request To Send)帧是短的控制帧,它包括源地址、目的地址和本次通信(包括目的站发回确认帧所需的时间)所需的持续时间。
CTS(Clear To Send)帧是短的响应控制帧,它也包括本次通信所需的持 续时间(从RTS帧中将此持续时间复制到CTS帧中)。
除源站和目的站的其他各站,在收到CTS帧或数据帧后就推迟访问信道。这样就确保了源站和目的站之间的通信不会受到其他站的干扰。
若RTS帧发生碰撞,源站就不可能收到CTS帧,源站会执行退避算法重传RTS帧。
使用RTS帧和CTS帧进行信道预约会带来额外的开销。 但由于RTS帧和CTS帧都很短,发生碰撞的概率、碰撞产生的开销以及本身的开销都很小。
对于一般的数据帧, 其发送时延往往远大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。
由于RTS帧和CTS帧都会携带通信需要持续的时间,这与之前介绍过的数据帧可以携带通信所需持续时间的虚拟载波监听机制是一样的,此使用RTS帧和CTS帧进行信道预约,也属于虚拟载波监听机制。
利用虚拟载波监听机制,站点只要监听到数据帧、RTS帧或CTS帧任何一个,就能知道信道将被占用的持续时间,而不需要真正监听信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。
习题:
IFS1是 DCF帧间间隔DIFS 长度为 128us。
IFS2是 短帧间间隔SIFS 长度为28us。
IFS3是 短帧间间隔SIFS 长度为28us。
IFS4是 短帧间间隔SIFS 长度为28us。
802.11无线局域网的MAC帧
它由30字节帧头,0-2312字节的数据,4字节的帧尾组成。
帧头中包含有相关控制信息和地址信息。数据部分主要用来存放上层交付下来的待传送的协议数据单元。尽管数据载荷的最大长度为2312字节,但是通常802.11无线局域网的数据帧的长度都不超过1500字节。帧尾用于存放帧检验序列,采用CRC检验码。
帧控制:
1.类型和子类型控制位:用于区分不同类型的帧
802.11共有数据帧,控制帧、管理帧三种帧,每种帧还又分为若干种子类型。
2.有线等效保密WEP控制位用于指示是否使用了WEP加密算法。WEP表明使用在无线信道上的这种加密算法,在效果上可以和在有线信道上进行通信一样保密。
持续期:
用于实现CSMA/CA的虚拟载波监听和信道预约机制。在数据帧、RTS帧和CTS帧中用该字段指出将要持续占用信道的时长。
序号控制:
用来实现802.11的可靠传输,对数据帧进行编号。
地址:
取决于帧控制字段中的“去往DS”(到分配系统)和 “来自DS”(分配系统)这两个字段的值。
01 目的 发送AP 源
10 接收AP 源 目的
举个例子:
站点A向站点B发送帧:
数据帧 从A →AP1→B
A要发送数据帧,数据帧从A发送到AP1,此时 是 数据帧要到AP1,所以去往为1,来自为0,地址字段是为了描述要到哪个AP
所以 去往DS=1,来自DS=0, 地址1=要去的那个AP的MAC地址,然后是 源地址、目的地址
所以是 接收AP地址 源地址 目的地址 (从A发给AP 用的是接收AP地址 源地址 所以这俩在前面)
AP1收到数据帧后,数据帧从AP1到B
此时是,AP1发送数据帧,地址字段描述 这个数据帧来自哪个AP
所以来自DS=1,去往DS=0 这个时候目的地址重要,所以把目的地址提到前面来,也就是 目的地址 发送AP地址 源地址(AP发给目的主机B 用到的是目的地址 发送AP地址 所以这俩在前面yy)
站点A向位于DS的路由器R发送帧:
A把数据帧发送给AP1,由于DS是以太网,所以AP1把数据帧(802.11帧)转换成以太网帧转发给R。
当R给A发回响应时,以太网帧首部中的源地址和目的地址...AP1收到该以太网帧时,会将以太网帧转换成80.211帧转发给A。
AP具有网桥功能。
80.211帧中必须携带AP的MAC地址,而以太网帧中却不需要携带AP的MAC帧地址。
因为在802.11无线局域网中,在站点的信号覆盖范围内,可能有多个AP共享物理信道,但站点只能与其中一个AP建立关联,所以需要802.11帧中必须携带AP的MAC地址,来明确指出转发该帧的AP。
主机H发送 要表明去哪个AP 所以是去往1 来自0 ,接收AP地址 源地址 目的地址(发送给AP先用的是 接收AP地址和源地址,所以这俩在前面)