WiFi时间同步_第1页
WiFi时间同步_第2页
WiFi时间同步_第3页
WiFi时间同步_第4页
WiFi时间同步_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、wi-fi 同步一、同步的意义1.1 什么是同步时钟同步的目的是维护一个全局一致的物理或逻辑时钟,时钟同步广义上称为时间同步,狭义上称为频率同步。时间同步:指在对比时刻求得标准时钟与本地时钟的频率和相位偏移,并通过修正使本地时钟与参考时钟保持同步。频率同步:指信号之间的频率或相位保持某种严格的特定关系,通信网络中频率同步用来保证所有的设备以相同的速率运行。频率同步一般采用锁相环技术,频率调节具有连续性和周期性;而时间同步可以是非连续性的调控。1.2 wifi同步的意义数字通信网中传递的信号是对源信息,比如模拟的语音信息,进行采样编码后得到的pcm(pulse code modulation)离

2、散脉冲。如果两数字交换设备之间的时钟频率不一致产生采样时刻的偏差,或者由于数字比特流在传输中因码间干扰和各种噪声干扰的叠加产生相位偏移和频率偏移,接收端就会出现码元的丢失或重复,导致传输的比特流中出现滑码的现象。wifi作为无线接入技术承载3g基站业务时,由于3g基站业务,例如一些基于wlan的宽带数据应用,流媒体、网络游戏等均需要优于50ppb的频率同步,其中有些制式,如cdma2000、ts-scdma,wimax等还有高精度的时间同步需求,所以要求wifi能够对时间和频率信号进行高精度稳定地传送,因此研究wifi时间同步有其必要性和迫切性。二、802.11链路时钟同步层2.1 概述根据w

3、ifi的机制,在bss中利用tsf来保证stas 同步于一个时钟。2.2 ap与ac的同步ap与ac的时间同步是基于的capwap协议,该协议主要包括了ap自动发现ac,ac对ap进行安全认证,ap从ac获取软件映像,ap从ac获得初始和动态配置等。2.2.1 capwap协议capwap 协议由discovery阶段开始。wtps发送discovery request 消息,诱发任何收到该消息的ac用discovery response消息响应。根据收到的 discovery response 消息,wtp 用与其建立安全的dtls会话来选择一个ac。一旦wtp和ac完成dtls会话建立,开

4、始配置交换其间两个设备对采用的版本达成一致。在这个交换中,wtp可以接收配置设置。然后,wtp开始运行。当wtp和ac完成版本和配置交换并启动wtp后,capwap协议用于封装在 wtp和ac间发送的无线数据帧。如果被封装的无线用户数据(data)帧或协议控制(management)帧的长度引起最终的capwap协议分组超过wtp和ac 间支持的mtu,capwap协议将分段第2层帧。为了重建原始封装的净荷,分段的capwap分组被重组。2.2.2 ac 的timestamp传递ac timestamp消息要素由ac发送,用于同步wtp时钟。除非另有规定由ac发送给wtp的任何配置信息可以保存

5、到非易失性存储器中,数据信息要素格式使用下图所示的tlv格式 type length0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 value.消息要素用于携带控制消息中需要的信息。每个消息要素由type value字段标识,如上面定义。在消息要素的长度字段指出消息要素的总长度。16位type字段标识value字段携带的信息,length(16位)指出value字段的字节数。0值保留并且不能使用。字段值其余部分分配如下: 用途 类型值capwap protocol message elements 1

6、 - 1023ieee 802.11message elements 1024 2047保留将来使用 2048 3071epcglobalmessage elements 3072 4095保留将来使用 4096 6553516位type字段标识value字段携带的信息,length(16位)指出value字段的字节数。0值保留并且不能使用。ac时间戳要素的格式如下图所示。timestamp0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ac timestamp消息格式type:ac timestam

7、p为6length:4timestamp:ac的目前时间,让所有wtps采用ntr(network time protocal)rfc1305中定义的格式,实现时间同步。仅ntp时间的最高有效32位包括在这个字段中。ntr的时间戳由一个64位的无符号定点数组成,前32位表示整数部分,后32位表示分数部分。ntr的相关信息将会在下一节介绍。 2.3 ntr协议中的时间同步 ntp(network time protocol)以gps时间代码传送的时间消息为参考标准,采用了client/server结构,具有相当高的灵活性,可以适应各种互联网环境。ntp除了可以估算封包在网络上的往返延迟外,还可独

8、立地估算计算机时钟偏差,从而实现在网络上的高精准度计算机校时,它是设计用来在internet上使不同的机器能维持相同时间的一种通讯协定。在大多数的地方,ntp可以提供1-50ms的可信赖性的同步时间源和网络工作路径。2.3.1 ntp的通信模式 ntp以客户机和服务器方式进行通信。每次通信共计两个包。客户机发送一个请求数据包,服务器接收后回送一个应答数据包。两个数据包都带有时间戳。ntp根据这两个数据包代的时间戳确定时间误差,并通过一系列算法来消除网络传输的不确定性的影响。在数据包的传送方式上,有客户机和服务器一对一的点对点方式,还有多个客户机对一个服务器的广播/多播方式。两者工作方法基本相同

9、。处于两种方式下的客户机在初始时和服务器进行如同点对点的简短信息交换,据此对往返延时进行量化判断。此后广播/多播客户机只接收广播/多播消息的状态,并根据第一次信息交换的判断值修正时间在广播/多播方式下一个服务器可以为大量的客户机提供时间,但精度较低。ntp要求的资源开销和通信带宽很小。ntp采用udp协议,端口号设定为123。udp占用很小的网络带宽,在众多客户机和少许服务器通信时有利于避免拥塞。ntp数据包的净长度在v3下为64个字节,v4下为72个字节;在ip层分别为76和84个字节。如果通信方式是广播模式,服务器以固定的间隔向客户机广播发送一个数据包;如果是服务器/客户机方式,则通信间隔

10、将在指定的范围内变化(一般是64秒到1024秒),同步情况越好,间隔就越长。2.3.2 ntp的同步实现 在单播及广播方式下,单播服务器回答及广播所有的字段;但是,在sntp下,各字段中,只有传送时间戳在非零情况下才有明确的意思.这个字段的整数部分包含服务器此刻的时间,其格式与udp/time 协议相同pos83.这个字段的fraction部分通常是有效的, sntp的精确度证明可以精确到秒。如果传送用时间戳字段是全0,则该消息将被忽略。 在单播方式下,一种简单的计算可以用来计算与服务器有关的往返传播延迟d及本地时钟补偿t,通常对在数十毫秒内。为此,客户端在请求包中将本地时钟时间按ntp的格式

11、写入源时间戳。当收到答复时,客户端将目的时间戳作为到达时间,并根据它的本地时钟,将其转变成ntp格式。下述表格总结4个时间戳。 用时间戳名字 id 产生 原始时间戳 t1 时间请求由客户端送 收到时间戳 t2 时间请求在服务器收到 传送时间戳 t3 时间答复通过服务器送 目的地时间戳 t4 时间答复在客户端收到 往返传播延迟d和本地时钟补偿t定义为: d =( t4 - t1) - ( t2 - t3) t =( t2 - t1) +( t3 - t4) /2。 下述表格是sntp客户端操作的总结。在表格里显示有两种推荐的错误检查方式。在全部ntp版本里,如果li字段为3;或者阶层字段不在第1

12、-15范围里;或者传送用时间戳是0,服务器决不同步或者不予同步成过去24小时内有效的时间源。在客户端的判断中,保留字段值也可能被检查。是否相信传送用时间戳取决于对这些字段中的一个或多个字段的有效性判断。 字段名 请求 回答 li 0 闰秒指示器; 如果是3 (非同步),则放弃该消息 vn 1( 参见正文) 忽略 方式 3( 客户端) 忽略 阶层 0 忽略 轮询 0 忽略 精度 0 忽略 根延迟 0 忽略 根差量 0 忽略 参考标识符 0 忽略 参考时间戳 0 忽略 原始用时间戳 0 忽略( 参见正文) 收到用时间戳 0 忽略( 参见正文) 传送的时间戳 0 时间; 如果是0(非同步),则忽略该

13、消息 authenticator. (不使用) 忽略 2.4 sta与ap保持同步bss中,ap控制tsf的计时器。(系统中存在)多个ap的情况下,ap需要同时、独立的初始化tsf计时器,这样能最小化同步(误差/系统)ap需要周期性发送含有tsf值的beacon frames,用来同步同一个bss下的其他sta。sta需要接收来自ap的beacon frames,并将接收到的frames中的时间戳设置成本地的tsf计时器的值(还需要考虑延迟)。同步分为主动同步和被动同步:tsf for an ibss(被动同步)ibss中tsf的实现是由一个分布式算法完成的(bss中的所有成员都会参与,每个s

14、ta都需要根据这个算法来传送beacon frames)。若sta接收到的tsf值迟于本地tsf计时器的值,则更新时间。tsf for an mbss(主动同步)根据mbss的主动同步方法,the mesh sta需要初始化它的tsf计时器,并周期性的传送内含tsf计时器值的beacon frames来对外宣称自己的本地时间。2.5 获得同步信息,扫描2.3.1 beacon 的间隔beacon frames 的间隔主要由dot11beaconperiod参数决定。 sta在发送beacon frame时需要设置beacon frame的时间戳(其值等于the sta的tsf的计时器的值) t

15、he data symbol 包含的时间戳的第一个bit是被传送给phy的延迟加上the transmitting stas 本身phy到mac-phy 交界面的delays(延迟来自于本地mac-phy和wm的的交界面)。 虽然由于csma的退避机制,beacon frame的发送可能会延迟,但是随后的beacon frame被安排在没有延迟的beacon间隔内发送,如上图。(不管是否繁忙,每个beacon interval内都会发送一个beacon帧)。2.3.2 beacon receptionap: a、cf参数集:再没考虑到bssid的时候,stas 可以使用接收到的cf param

16、eter set element(无竞争参数集的元素)来更新它们的nav.(详细描述见9.4.3.3) b、非cf参数集:只有当sta(contained in the ap of the bss)正在使用的bssid field=mac address,在一个基础网络中的stas才能使用不在cf parameter set中的元素。non-ap: 基础网络中的支持多路bssid capability 的non-ap stas,只有non-ap的sta的bssid field=mac address或者the bssid field is equal to one of the nontran

17、smitted bssids,sta才能使用接收到的beacon frames的其他信息。 一旦sta接收到有效地fcs(帧效验序列),bssid,ssid的beacon frame,sta就需要根据以下算法跟新它的tsd计时器: 接收到的时间戳的值需要加上sta的总的延迟本地phy传输的时间加上mac/phy交界面接收到时间戳第一个比特的延迟。基本架构下,sta的tsf计时器更新为调整后的时间戳的值,tsf的精确度误差不能超过0.01%。2.3.3 分为主动扫描和被动扫描被动扫描 不超过maxchanneltime参数规定的间隙主动扫描 包含请求探针帧的产生,和随后接收探针响应帧的处理 当d

18、ot11radiomeasurementactivated is true且probe request frame包含的dsss参数集的当前信道值与dot11currentchannelnumber.不同,sta接收到探测请求帧后不作出响应 当probe request中的ssid相符,或者sta的ssid包含在ssid列表中,stas接收到probe request frame后需要作出响应。(以下做出具体说明) stas在以下情况下接收到probe request需要作出响应:a、probe request中的address 1 是广播地址或者与sta的mac地址相同;b、对mesh st

19、a来说, probe request 中的mesh id是the wildcard mesh id(通配符id)或者与sta的mesh id相符;c、如果sta 不是mesh sta 只要 1)probe request中是wildcard ssid, 或者ssid与sta的ssid相符合, 亦或sta的ssid 包含在ssid list element, 且 2) probe request中的address 3 field是wildcard bssid or the bssid of the sta.在bss,ibss这两个不管什么时刻都会有至少一个sta处于工作状态。2.6 调整sta计

20、时器时间 在某些频带和域管理中主动扫描是被禁止的。sta根据mlme-scan.request primitive的扫描模式参数分为主动扫描和被动扫描。 sta接收到 mlme-start.request primitive, sta就要确定bss的bssid,选择信道同步信息,选择beacon周期,select the operational rate set, 初始化和设置tsf timer, 并开始传送beacon frame。sta接收到mlme-scan的请求原语,sta使用域管理的信息来处理这个请求,如果主动扫描是非法的就返还一个not_supported的参数,否则进行主动扫描。

21、 sta接收到mlme-join请求原语,sta采用请求中的bssid sta接收到beacon frame,sta就采用其中的信道同步信息,mlme会发出mlme-join确认原语来确认同步操作成功。2.7 bss同步的终止bss可以在随意时刻终止。sta一接收到mlme-stop request primitive,sta就停止传送beacon 和probe response frames,并解除所有关联sta的验证。 三、802.11的时间测量过程wifi时钟同步包括两个过程:一是测量出链路延迟和时钟偏差,二是通过补偿算法使丛时钟同步上主时钟。802.11链路的时间同步是在mlme层产生和回收用于时间测量的帧,并在该层记录同步帧发送和接收的时间,然后通过服务原语吧时间戳传递给媒介无关层。802.11mlme用于测量时间的帧和协议如下图: 测量过程通过一个来回的帧交换完成。首先当mlme-timingmsmt request原语被requester端唤醒,由80

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论