WiFi基础知识二.docx

上传人:b****6 文档编号:5548815 上传时间:2022-12-19 格式:DOCX 页数:17 大小:34.89KB
下载 相关 举报
WiFi基础知识二.docx_第1页
第1页 / 共17页
WiFi基础知识二.docx_第2页
第2页 / 共17页
WiFi基础知识二.docx_第3页
第3页 / 共17页
WiFi基础知识二.docx_第4页
第4页 / 共17页
WiFi基础知识二.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

WiFi基础知识二.docx

《WiFi基础知识二.docx》由会员分享,可在线阅读,更多相关《WiFi基础知识二.docx(17页珍藏版)》请在冰豆网上搜索。

WiFi基础知识二.docx

WiFi基础知识二

WIFI基础知识

(二)

这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习。

因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种情况就直接英文来描述了。

 

主要内容:

一、基本概述

二、实践基础

三、一些原理

四、补充

五、其它

 

 

一、基本概述

============================

1、有线和无线网络

        目前有线网络中最著名的是以太网(Ethenet),但是无线网络WLAN是一个很有前景的发展领域,虽然可能不会完全取代以太网,但是它正拥有越来越多的用户,无线网络中最有前景的是Wifi。

本文介绍无线网络相关内容。

        无线网络相比有线网络,还是有许多的缺点的:

        (*)通信双方因为是通过无线进行通信,所以通信之前需要建立连接;而有线网络就直接用线缆连接,不用这个过程了。

        (*)通信双方通信方式是半双工的通信方式;而有线网络可以是全双工。

        (*)通信时在网络层以下出错的概率非常高,所以帧的重传概率很大,需要在网络层之下的协议添加重传的机制(不能只依赖上面TCP/IP的延时等待重传等开销来保证);而有线网络出错概率非常小,无需在网络层有如此复杂的机制。

        (*)数据是在无线环境下进行的,所以抓包非常容易,存在安全隐患。

        (*)因为收发无线信号,所以功耗较大,对电池来说是一个考验。

        (*)相对有线网络吞吐量低,这一点正在逐步改善,802.11n协议可以达到600Mbps的吞吐量。

 

2、协议

        Ethenet和Wifi采用的协议都属于IEEE802协议集。

其中,Ethenet以802.3协议做为其网络层以下的协议;而Wifi以802.11做为其网络层以下的协议。

无论是有线网络,还是无线网络,其网络层以上的部分,基本一样。

        这里主要关注的是Wifi网络中相关的内容。

Wifi的802.11协议包含许多子部分。

其中按照时间顺序发展,主要有:

        

(1)802.11a,1999年9月制定,工作在5gHZ的频率范围(频段宽度325MHZ),最大传输速率54mbps,但当时不是很流行,所以使用的不多。

        

(2)802.11b,1999年9月制定,时间比802.11a稍晚,工作在2.4g的频率范围(频段宽度83.5MHZ),最大传输速率11mbps。

        (3)802.11g,2003年6月制定,工作在2.4gHZ频率范围(频段宽度83.5MHZ),最大传输速率54mbps。

        (4)802.11n,2009年才被IEEE批准,在2.4gHZ和5gHZ均可工作,最大的传输速率为600mbps。

        这些协议均为无线网络的通信所需的基本协议,最新发展的,一般要比最初的有所改善。

        另外值得注意的是,802.11n在MAC层上进行了一些重要的改进,所以导致网络性能有了很大的提升例如:

        (*)因为传输速率在很大的程度上取决于Channel(信道)的ChannelWidth有多宽,而802.11n中采用了一种技术,可以在传输数据的时候将两个信道合并为一个,再进行传输,极大地提高了传输速率(这又称HT-40,highthrough)。

        (*)802.11n的MIMO(多输入输出)特性,使得两对天线可以在同时同Channel上传输数据,而两者却能够不相互干扰(采用了OFDM特殊的调制技术) 

 

3、术语

        讲述之前,我们需要对无线网络中一些常用的术语有所了解。

这里先列出一些,后面描述中出现的新的术语,将会在描述中解释。

        (*)LAN:

即局域网,是路由和主机组成的内部局域网,一般为有线网络。

        (*)WAN:

即广域网,是外部一个更大的局域网。

        (*)WLAN(WirelessLAN,即无线局域网):

前面我们说过LAN是局域网,其实大多数指的是有线网络中的局域网,无线网络中的局域网,一般用WLAN。

        (*)AP(Accesspoint的简称,即访问点,接入点):

是一个无线网络中的特殊节点,通过这个节点,无线网络中的其它类型节点可以和无线网络外部以及内部进行通信。

这里,AP和无线路由都在一台设备上(即CiscoE3000)。

        (*)Station(工作站):

表示连接到无线网络中的设备,这些设备通过AP,可以和内部其它设备或者无线网络外部通信。

        (*)Assosiate:

连接。

如果一个Station想要加入到无线网络中,需要和这个无线网络中的AP关联(即Assosiate)。

        (*)SSID:

用来标识一个无线网络,后面会详细介绍,我们这里只需了解,每个无线网络都有它自己的SSID。

        (*)BSSID:

用来标识一个BSS,其格式和MAC地址一样,是48位的地址格式。

一般来说,它就是所处的无线接入点的MAC地址。

某种程度来说,它的作用和SSID类似,但是SSID是网络的名字,是给人看的,BSSID是给机器看的,BSSID类似MAC地址。

        (*)BSS(BasicServiceSet):

由一组相互通信的工作站组成,是802.11无线网络的基本组件。

主要有两种类型的IBSS和基础结构型网络。

IBSS又叫ADHOC,组网是临时的,通信方式为Station<->Station,这里不关注这种组网方式;我们关注的基础结构形网络,其通信方式是Station<->AP<->Station,也就是所有无线网络中的设备要想通信,都得经过AP。

在无线网络的基础形网络中,最重要的两类设备:

AP和Station。

        (*)DS(DistributedSystem):

即分布式系统。

分布式系统属于802.11逻辑组件,负责将帧转发至目的地址,802.11并未规定其技术细节,大多数商业产品以桥接引擎合分步式系统媒介共同构成分布式系统。

分步式系统是接入点之间转发帧的骨干网络,一般是以太网。

其实,骨干网络并不是分步系统的全部,而是其媒介。

主要有三点:

骨干网(例如以太网)、桥接器(具有有线无线两个网络接口的接入点包含它)、属于骨干网上的接入点所管辖的基础性网络的station通信(和外界或者BSS内部的station)必须经过DS、而外部路由只知道station的mac地址,所以也需要通过分布式系统才能知道station的具体位置并且正确送到。

分步式系统中的接入点之间必须相互传递与之关联的工作站的信息,这样整个分步式系统才能知道哪个station和哪个ap关联,保证分步式系统正常工作(即转达给正确的station)。

分步式系统也可以是使用无线媒介(WDS),不一定一定是以太网。

总之,分步式系统骨干网络(例如以太网)做为媒介,连接各个接入点,每个接入点与其内的station可构成BSS,各个接入点中的桥接控制器有到达骨干网络和其内部BSS无线网的接口(类似两个MAC地址),station通信需要通过分布式系统。

 

 

二、实践基础

============================

1、一些参数

(*)MAC

        MAC(即Medium/MediaAccessControl, 介质访问控制),是数据链路层的一部分。

MAC地址是烧录在NetworkInterfaceCard(即网卡,简称NIC)里的,它也叫硬件地址,是由48位(即bit,一字节为8位,即1byte=8bits)16进制的数字组成。

其中0-23位叫做组织唯一标志符(organizationallyunique,简称OUI),是识别LAN(局域网)节点的标识(在有些抓包工具抓包的时候会将前三个字节映射成某种组织名称的字符,也可以选择不显示这种映射)。

24-47位是由厂家自己分配。

(*)SSID

        表示一个子网的名字,无线路由通过这个名字可以为其它设备标识这个无线路由的子网。

设备进行扫描的时候,就会将相应SSID扫描到,然后就能够选择相应的SSID连接到相应的无线网络(当然不扫描,理论上也可以直接指定自己事先已经知道的ssid进行连接)。

SSID可以和其它的重复,这样扫描的时候会看到两个同样SSID的无线网络,其实这一般用于将一个无线网络扩大的情况(毕竟无线路由器无线信号的覆盖范围是有线的):

当想要扩大一个无线网络(即SSID固定)的范围的时候,可以给多个路由设置相同的SSID来达到这个目的。

(这也是漫游的原理,漫游的时候,我们可以在远方或者本地都能够打电话,也就是访问移动通信网络)。

        SSID和BSSID不一定一一对应,一个BSSID在不同的Channel上面可能会对应到多个SSID,但是它们在一个Channel是一一对应的;另外,漫游的时候,虽然SSID不变,但是BSSID一定是会变化的。

我们经常可以看到实际数据包中的AP的MAC地址和BSSID只差几位,其实实际设备的MAC地址可能只有一个,和BSSID没什么对应关系。

在一个包含了路由功能和AP功能的无线路由器(FatAP)上面,很可能是:

路由器有两个MAC地址,一个用于外网(WAN),一个用于内网(WLAN和LAN),一般路由器上面或者配置路由器的网页上面只标注外网的MAC地址;内网的MAC地址和外网MAC地址一般只有几位不同(甚至连续,也有些相差很多的例外)。

 

(*)Band(频率范围)

        一般ap可以支持5g或2.4g两个频率范围段的无线信号。

如果两者同时可以设置,而不是互斥那么,这个路由器还能够同时支持两种频段(频段即Band),这相当于这个ap可建立两个无线网络,它们采用不同的频段(这类似收音机在长波范围内收音和短波范围内收音)。

 

(*)Channel(信道)

        Channel是对频段的进一步划分(将5G或者2.4G的频段范围再划分为几个小的频段,每个频段称作一个Channel),有”5.18GHZ“,“Auto(DFS)”等等,处于不同传输信道上面的数据,如果信道覆盖范围没有重叠,那么不会相互干扰。

对于信道的使用,在国际上有所规定。

其中有些信道是无需授权即可直接使用的(究竟是那个频段的那个信道,依照各个国家而不同),无需授权使用的意思是,传输数据的时候(无论以哪种无线方式),可以让设备收发的功率导致传输时的数据进入该信道的频率并在该信道所在频段宽度内进行传输;授权的使用的意思是,不允许传输时使用授权信道进行,否则会违反规定,并且干扰该信道上其他数据的传输。

另外,除了wifi,微波、红外线、蓝牙(使用802.15协议)的工作频段也都有在2.4gHZ范围内的,所以,它们传输的时候会对wifi传输造成干扰,因为两者在不同的协议下进行通信,所以互相将对方传输的信号识别为噪声。

有时候配置AP的时候,Channel中有一个类似“Auto”的选项值,这表示打开AP的时候,AP自己Scan周围的环境,选择一个干扰最小的Channel来进行通信,当选择好了一个Channel的时候,一般就不会改变了。

 

(*)ChannelWidth(信道宽度)

        这里的ChannelWidth是信道的带宽,有”20MHZ“、”40MHZ“等,它表示一个Channel片段的宽度(假设5g的频段宽度总共为100M,平均划分为互不干扰的10个Channel,那么每个Channel的ChannelWidth就为100M/10=10M,实际Channel并不一定是完全不重叠的)。

这个参数可能依赖于一些其它的选项,例如不是802.11N的协议,就可能不会有40MHZ的ChannelWidth(N模式有一个特点就是可以把两个Channel合并,通过提高ChannelWidth来提高吞吐量)。

例如选择了"20MHZ"这个ChannelWidth之后,后面再选择一个“5.18GHZ”的Channel,则表示以5.18GHZ为中心的前"10MHZ"以及其后面的"10MHZ"频带范围被占用。

        至此可知,配置无线AP的时候,如果屋子里面有很多的AP(也就是无线路由接入点)的话,仔细设置它们的ChannelWidth和Channel可以保证它们相互之间的干扰(类似收音机里面的串台)尽可能小。

当然,如果相互干扰了,那么NetMode所指定的协议也会有相应的处理方式让他们之间进行协调(例如让谁先通信谁等一会再通信之类的),但是这样网络的性能就不如没有干扰的时候好了。

 

(*)WirelessSecurity(无线网络的安全性)

        这里主要涉及WEP、WPA、WPA2和RC4、TKIP、AES。

        IEEE802.11 所制定的是技术性标准 ,Wi-Fi 联盟所制定的是商业化标准 , 而 Wi-Fi 所制定的商业化标准基本上也都符合 IEEE所制定的技术性标准。

WEP 是1999年9月通过的 IEEE802.11 标准的一部分;WPA(Wi-FiProtectedAccess) 事实上就是由 Wi-Fi 联盟所制定的安全性标准 , 这个商业化标准存在的目的就是为了要支持 IEEE802.11i 这个以技术为导向的安全性标准;而 WPA2 其实就是 WPA的第二个版本。

直观点说,WEP是较老的认证方法它有好几个弱点,因此在2003年被WPA淘汰,WPA又在2004年由完整的 IEEE802.11i 标准(又称为 WPA2)所取代。

        WEP(WiredEquivalentPrivacy),采用名为RC4的RSA加密技术;WPA(Wi-FiProtectedAccess) ,采用新的TKIP算法,TKIP算法保留了RC4所以也有其弱点,但是这个时候更好的CCMP还没完成,所以先在WPA上用TKIP技术;WPA2是WPA的第2个版本,采用CCMP加密协定(在有些路由器等设备上设定加密协定或者加密算法的时候,可能会用类似AES之类的字眼替代CCMP)。

所以WPA2+AES是安全性最强的。

        另外,在有些无线网路设备的参数中会看到像 WPA-Enterprise/WPA2-Enterprise 以及 WPA-Personal/WPA2-Personal 的字眼, 其实 WPA-Enterprise/WPA2-Enterprise 就是 WPA/WPA2 ; WPA-Personal/WPA2-Personal 其实就是 WPA-PSK/WPA2-PSK, 也就是以 ”pre-sharekey” 或 ”passphrase” 的验证 (authentication) 模式来代替 IEEE802.1X/EAP 的验证模式 ,PSK 模式下不须使用验证服务器 ( 例如 RADIUSServer), 所以特别适合家用或 SOHO 的使用者。

        还有,wep是旧的加密方式,工作于802.11B/G模式下而802.11N草案并不支持此加密方式,所以如果802.11N的设备采用wep加密方式后,它也只会工作在802.11b/g模式下,N的性能发挥不出来。

        实际中,在有些路由器上面,设置的时候,可能不是严格按照这个规定来设置的(例如设定了采用WPA方式,还可以选择AES),但是大体一样。

 

(*)Region(区域)

        一般在无线网络中的AP上都有一个参数,表明它是处于哪个Region(地区)。

Station根据AP中设置的Region调整其相应的发射功率以遵守该地区的规定。

AP的调整过程一般都是手动设定,设置好AP所处的Region之后,这些信息就会在AP发送的Beacon帧(后面会说到)中包含了;通过这个AP连接到无线网络上的Station,从Beacon帧中了解到这些Region信息,并且根据这些信息中的规定和AP进行通信。

如果AP开始设置错了,那么Station和AP通信的时候,采用的将会是不符合Region规定的频段,可能会对该Region中的其它传输网络造成干扰,这应当是“非法”的。

 

(*)TransmissionRate

        设置传输速率。

这里采用不同的无线网络传输协议(802.11a,802.11b,802.11g等),那么可以设置的速率范围有所不同,这里的速度是指理论的速度,实际中,由于各种干扰因素,传输的速率可能会比设置的小。

        一般而言,在无线网络中,对于某种协议的性能进行描述时,我们需要注意的是,描述时提到的传输速率(Datarate)和吞吐量(Throughput)是不同的。

Datarate是理论上面最大数据传输速率,而Throughput是数据的实际最大吞吐量。

因为厂家以及传输时所使用的协议等各种因素造成的开销,会导致实际吞吐量比理论吞吐量要小,一般实际最大吞吐为理论最大的50%左右(一个不太准确但是相对直观的估计:

在网络中,高清视频所需的Throughput也就30mbps左右,网络上一般的视频也就4mbps左右)。

 

(*)Qos(质量保证)

        无线网络中的QOS是质量保证,大致的意思是,传输数据的时候,考虑各种因素(例如收费策略,所处地区等),以一定的优先级来保证传输的特定要求(一般就是速度),如果带宽足够的话,QOS反而不需要了。

 

(*)RTSThreshold/CTSProtectionMode:

        这里的RTS是Request-To-Send的简写,CTS是Clear-To-Send的简写。

设置好RTS的阈值之后,如果超过这个阈值就会在发送信息之前先发送RTS,以减少干扰,相应的CTS会回应之前的RTS。

一般都是AP发送CTS数据,而Station发送RTS数据。

        这里对RTS和CTS做一个简单解释:

假设在同一个AP所覆盖的无线网络范围内的两个StationA和B,它们之间可能会因为距离的原因互相不可见(例如它们在AP网络范围的两端,而这两端的距离大于两者的信号覆盖范围),但是AP却知道它们是在自己的范围内。

当一个A想要在AP的网络中进行通信的时候,必定要经过AP转发它的信息,由于A不知道B的存在,所以如果同时B也通过AP进行网络通信,那么会出现AP同时收到A、B两个Station的通信请求,而这在无线网络中是不允许的(无线网络中,同一时刻不能有多个人传输数据)。

在这种情况下,B和A互相干扰了对方的通信,但是却互相不可见(不可见的节点互相被称作隐藏节点)。

如果在一个网络中,这样的隐藏节点很多,那么势必会影响网络的性能(因为数据一旦发送失败,就要重传,隐藏节点会导致重传的机率增大)。

这个时候,可采用RTS和CTS机制。

即:

在A想要通信的时候,先广播发送RTS给AP,告诉AP“它想要通信”,同时接受到RTS的别的Station(它们对发送RTS的Station而言可见)会知道A将要发送数据,于是它们不会发送数据以免干扰A;AP收到RTS之后,会广播发送CTS,告诉所有在AP范围内的Station(包括对A而言的隐藏节点B)”A将要通信(同时也相当于告诉A,A可以无干扰的发送信息了)”,这样对A而言的隐藏节点B也知道有一个A的存在并且要发送信息了,于是B就不会干扰A了。

这里,A和B两者可以在不同的网络上,也就是说,不同网络的工作站之间也可以通过RTS/CTS来清除相互的干扰。

 

(*)BeaconInterval:

        表示无线路由定期广播其SSID的时间间隔。

这个一般不会特别设置,就采用默认值即可。

如果不广播了,那么Station端扫描的时候可能会发现不定期广播的AP对应的SSID的网络不见了,所以可能会断开连接。

这里定期广播,表示AP会定时向其范围内广播SSID的信息,以表示AP的存在,这样Station进入一个区域之后,就能够通过扫描知道这个区域是否有AP的存在。

当然,除了AP广播SSID以告知其无线网络存在之外,Station也可主动广播探寻包,在其能够覆盖的范围内询问是否有AP存在(即我们通常所说的扫描寻找接入点)。

 

(*)DTIMInterval:

        DTIM/TIM表示告诉Station,AP在为Station做packagebuffer(例如Station睡眠的时候)的缓存时间。

为了节省电池使用时间,处于无线网络中的Station可能会在一定时间之后自动进入休眠状态。

这个时候,AP会为这个Station缓存发送给它的数据,而处于休眠状态的Station只会在一定时间间隔内给AP发送一个数据帧,以确认是否有发送给自己的数据存在。

例如,当我们在主机上ping另外一台睡眠的机器的时候,收到另外一台机器响应的时间,要比它不睡眠的时候响应的时间长很多。

 

(*)FragmentationThreshold:

        表示一个package的分片阈值。

我们可以设置分片大小,当发送的数据包超过这个阈值之后,802.11协议会自动对这个数据包进行分割。

如果设置的这个分片值越小,那么整个数据包越容易传输成功(因为如果出错,那么只需要传送一个片段而不是整个包,无线wifi网络中数据传输时出错的概率比有线的以太网要大的多的多),当然开销也越大(因为需要额外的信息标记每个分片,以及各个分片传输成功之后涉及到的重组问题)。

 

2、抓包

        一般来说,我们的机器上面的软件抓取无线网卡上面的包的时候,其实这些包的目标地址都是这个机器的无线网卡,因为不是发给这个机器无线网卡的包都被网卡过滤了。

所以如果我们想要抓取所处无线网络环境下所有的包的时候,需要给机器配备一种特殊的设备(sniffer就是嗅探器),然后再通过抓包工具抓取并分析。

有一个硬件设备叫做AirPcap,就是做这个用的,大有几百到上千美金,它可以同时做为嗅探器或者无线网卡使用,不过做为嗅探器的时候,会抓取所有经过它的包。

这个工具目前只有Windows上面的驱动,所以使用这个工具,只能在Windows上面,配合Wireshark抓包软件进行抓包。

        这里假设采用AirPcap嗅探,Wireshark软件抓包(其它抓包软件,例如linux下面的tcpdump等分析类似)。

不用图形方式详细展示具体的抓包过程以及分析方法了,主要说一下抓包(这里的包实际主要指的是网络层以下的包,更常见的称呼应该是数据帧)时候需要注意的问题。

        (*)Wireshark展示包的时候,大致都是按照协议规定的字段展示,也些地方按照它自己特定的方式展示。

因为这里着重讲述一些抓包时注意的基本原理上面的东西,所以不会对此进行过多阐述。

大致就是:

Wireshark软件中,对包展示的时候,按照协议规定的字段分别用Header和Body两个部分展示;另外,在Header之前还有两个部分是Wireshark为方便用户而展示的包的大小、时间等全局信息(例如见过表示这个包在B和Gmode中的Channel1时,用"BG1"表示)。

所以,其实我们分析的时候,实际应该按照后面的Header和Body两个部分进行。

后面将基于以上所述,进行进一步的讲解。

        (*)抓包的时候,需要首先确认这个包是否是完整、正确的包。

只要是校验位(checksum)不对的,就是错误的包,也无法确定接收的时候那里出了差错,所以这个包是应该忽略的,几乎没有分析的价值。

另外,抓包的时候,由于干

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1