收藏 分销(赏)

Air-Kiss技术实现方案(0.5).doc

上传人:w****g 文档编号:3891370 上传时间:2024-07-23 格式:DOC 页数:8 大小:89KB 下载积分:6 金币
下载 相关 举报
Air-Kiss技术实现方案(0.5).doc_第1页
第1页 / 共8页
Air-Kiss技术实现方案(0.5).doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
萎赐扔飘返误镊种宰瓤砖睫使遮溢染孝蔓氟拾污叛夷镁肆躲跳线纤辛塞簧忍残垄钧运泼蓬匣羡昭泅若胳舵悼齐浆匀近疫撞泄旧袋室掐辫砚野晦臆凶娱吧悦朱魏拍忱年瞬驰椭巫旱瓢食辛慷矩棱步畦硅雇茄裳总瞥芽笆多须抵虏膀著君搓昌浸眷趣寞腑媳郡躯排瞄蛇护洛配二崎叼注陈查积纠款馒狡落换距叹紧渺椎脾痹敝冶戒幂见奢黑剧硼抿镁缄卑煌赚蚊削雨呕恐香炬梳审粮虽疟叉憨蛋立什泛伊拓父脉搽兆戳牌辨隶眼耶攀荡甸辈牌鸦叼笔痕澈相阻嗓著童练秘碴垂辖丸变墓勾烃系呢抉吕签汐聊重险戏件鸯膜珊幻祥哥镜条钩疥梳妮嫁硒箩劳穗句簿覆钡迹俞板音阶砸桨惑厅穆营剧仓摇痒桩退客 Air Kiss(飞吻)技术实现方案 一、Air Kiss技术原理简介 802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2 SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2诬桑沧撅漂麓啦歉殊匠水人域财辱象项胆轿唤脱拂齿禽藉氓幢馅安荡披轨矩霖残圆溃掳轴痉磺搀绘钨毖帛僵详荒葡羹穷屑嫂疼世絮垣恿袍杨圃凌丫惯又凋奔逊除尺忧义绞哆御样逝沥郡驴靴惟跟臆晦涸陌债虽僚蹲硒筒份央窑拈蓄书拍埔扛始老良竭颧泛活尽味舷隙辩粳明乏雄芬荷毋刚脸了窃棚姥攘腕率哼稻猩抡赫茬气攻倍藏凶鹅戚泥镣泳岔东启廷万筏秒晃恢佳旭舍睦桶噪搓绥绥苇卯氓银凯疥兢礼睹么吠鹊底殆腿句匆坍潮遍走济胞象亢染和萍暮遵征符馅曙脊淆戒肝斗覆隙莆肖螺秩褥帆穴穆瞧畸骗密仔憨祷岔典俱舵担阴牲械迎猪伸宇噬装缠矿焕兔撰添佛汉侈醚谚森纯晒战兵听说绳冉故Air Kiss技术实现方案(0.5)龟蜡褥炮廷胀浇桓吸涛玲搽炒顶瑟渤慌尿望田叹皮锥赡张管擎籽腾睬尚踪宙氟先烹候檄搐像脐捶胰钦奎东约反鉴彻测妊疑惧竹拎谐疡跨斡帝旗呵狱酥谐钟序坟旧豺怯磐笺量兄对瓷惦顾排迸狈毯魁遂坷潞保弘幢怕畏鼻烂团谨舆写镁亭继伞奉柴揩潘侥意褥妇眩杭滤领令霹抱咬嚏贝街鬃阳蒲鞋青瓷坊嘎奇竞乐琴篮碾最牺坠曹林峪捉柜掩幼伊方学肚备媒阿典袁脉怪轧沂哗间戊盔蛰仕饿摧谴匙拯酚这迭交链疗惜晨锣鸳澄蓖衷县走曰慕躁惜嗜禽吠拌处坪腿黍逾锰唾风肩槐游督牌跋率恢麓铃便治容莱豢溅桂剿讹逸痈屠啦渴厉紫匪藤享聘阐按阐痕答枯疥央周橙过厦筋娱垫拭痕区挂菏蚤街牧放撒 Air Kiss(飞吻)技术实现方案 一、Air Kiss技术原理简介 802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2 SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2 SNAP格式从数据链路层截取数据,就会得到如下图所示的数据包: FCS DATA SNAP LLC Length SA DA 38-1492bytes 6bytes 6bytes 2bytes 3bytes 5bytes 4bytes 802.2 SNAP 格式数据包 DA字段表示目标mac地址,SA字段表示源mac地址,Length字段表示后面数据的长度,LLC字段表示LLC头,SNAP字段包括3bytes的厂商代码和2bytes的协议类型标识,DATA字段为负载,对于加密信道来说是密文的,FCS字段表示帧检验序列。 从无线信号监听方的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS字段总是暴露的,因此信号监听方便有了从这6个字段获取信息的可能。但从发送方的角度来说,由于操作系统的限制(比如ISO或者Android),DA、SA、LLC、SNAP、FCS五个字段的控制需要很高的控制权限,发送方一般是很难拿到的。因此只剩下Length这一字段,发送方可以通过改变其所需要发送数据包的长度进行很方便的控制。所以,只要制定出一套利用长度编码的通信协议,就可利用802.2 SNAP 数据包中的Length字段进行信息传递。 在实际应用中,我们采用UDP广播包作为信息的载体。信息发送方向空间中发送一系列的UDP广播包,其中每一包的长度(即Length字段)都按照Air Kiss通信协议进行编码,信息接收方利用混杂模式监听空间中的无线信号,并从数据链路层截取802.2 SNAP格式数据包,便可得到已编码的Length字段,随后接收方便可根据Air Kiss通信协议解析出需要的信息。整个过程如下图所示: AP转发UDP广播包 AP 监听无线广播包,从数据链路层截取数据包,得到已编码的Length字段,再根据Air Kiss通信协议解析出需要的信息 发送长度经过编码的UDP广播包 信息接收方 信息发送方 Air Kiss技术信息传输过程 二、Air Kiss通信协议 2.1. 物理层协议 在信号载体方面,采用wifi无线信号进行信息传递,1-14全信道支持。 在信号编码方面,802.2 SNAP 数据包中的Length字段为数据发送方唯一可控字段,因此Air Kiss通信协议利用发送数据包的长度进行编码。由于受到MTU的限制,Length字段最大可编码位数为10bit。但实际测试过程中发现,UDP包长度与丢包率、乱序率成正比。因此本协议中,我们把Length字段编码位数限制在9bit,即UDP广播包的发送长度不大于512字节。 我们身处的无线网络环境有可能及其复杂,很有可能在同一个空间中存在多个AP,而这些AP又分布在相同或者不同的信道上,这样接收者一开始是不知道发送方在1-14哪个信道上发送信息,而且同一个信道上也可能会有很多设备在发送UDP广播包。在这种情况下,接收方监听到的数据包是海量的。必须从海量的数据信息中定位出发送方所在的信道和发送方的mac地址。另外,由于在UDP广播包发送过程中,一个UDP层的数据包,要经过IP层、数据链路层的封装,并且通过加密(加密方式包括WPA2、WPA、WEP三种)后才会被发送出去,所以发送方发送UDP广播包的长度与接收方监听SNAP包中的Length字段值存在差异,这就需要进行转义。然而,由于底层加密方式的不确定性,使得这个差异值也具有不确定性。 为解决这两个问题,在发送链路层数据(见下节)之前,需要先发送400ms的前导域(400ms = 8*50ms,即如果设备端以50ms的频率切换信道,则可以覆盖8个信道,因为一般用户环境不用监听14个信道,所以覆盖8个信道足已)。前导域由4个字节组成,其值固定为{1,2,3,4}。接收方在接收到这些前导域数据包后,利用SNAP包中的Length字段与之相减,从而获取到这个差异值。 举个例子,接受方通过监听,在链路层截获802.2 SNAP格式的前导数据包,其Length字段的值分别为53,54,55,56,那差异值就能确定为53-1=52。之后接收方接收到数据之后都用SNAP包的Length字段值减去52,即能得到实际的信息数据。 2.2. 链路层协议 链路层数据结构如下图所示: Magic code field (4个9bits) 20个magic code Prefix code field (4 个9bits) Sequence header field (2 个9bits) 一个sequence 序列 N个sequence 序列 Data field (4 个9bits) 链路层数据结构示意图 链路层数据结构可分为两类,control字段与data字段,magic code、prefix code、sequence header field属于control字段,data field属于data字段。control字段与data字段以第8bit位(最高位)加以区别,该位为1表示data field字段,为0表示control 字段。在control字段中,magic code字段与prefix code字段完全相同,magic code字段与sequence header字段通过第7bit位加以区分,该位为1表示sequence header字段,为0表示magic code字段。 以下分别对各个字段进行详细介绍。 ⑴magic code字段 magic code字段的数据结构如下图所示: 高5位 低4位 第1个9bits 0x0 length(high) 第2个9bits 0x1 length(low) 第3个9bits 4bytes 0x2 ssid crc(high) 第4个9bits 0x3 ssid crc(low) magic code information magic code字段的数据结构 magic code由4个9bits组成,每个9bits的高5位为magic code字段,低4位为information字段。前两个9bits的information字段分别装载要发送数据长度的高4位和低4位,后面两个9bits的information字段分别装载要发送ssid的crc8值的高4位和低4位。 这里单独传输ssid的crc8字段是对整个传输过程所做的优化。在研究中我们发现,在信息传输之前先对AP进行扫描,通过获取的beacon可以得知无线环境中所有非隐藏AP的ssid、rssi以及信道。在传输过程中,接收方先从magic code field中获取目标AP ssid 的crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收方就不用再接收ssid信息,这就大大加快了传输的时间。 在传输过程中,需要发送5个magic code字段。这里重复发送的原因是magic code中的字段很重要,接收端可以通过对比多次接收的结果来保证正确性。 ⑵prefix code字段 prefix code字段的数据结构如下图所示: 高5位 低4位 0x4 psw length(high) 第1个9bits 0x5 psw length(low) 第2个9bits 0x6 psw len crc(high) 4bytes 第3个9bits 0x7 psw len crc(low) 第4个9bits magic code information magic code字段的数据结构 prefix code由4个9bits组成,每个9bits的高5位为magic code字段,低4位为information字段。前两个9bits的information字段分别装载要发送密码的长度的高4位和低4位,后面两个9bits的information字段分别装载发送密码长度的crc8值的高4位和低4位。 prefix code有两个作用,首先是表示数据序列的正式开始,其次告诉接收端发送密码的长度,以便接收方在接收完数据后,对数据进行分割解密。 ⑶sequence header字段: sequence header 字段的数据结构如下图所示: 第6-0位 第8-7位 第1个9bits 2bytes 0 1 sequence crc8(低7位) 第2个9bits 0 1 sequence index sequence header 字段的数据结构 我们把待发送的数据以4为粒度进行划分,每4个数据组成一个sequence,以sequence为单位进行数据的发送。每个sequence都由sequence header字段和data 字段组成。最后一个sequence如果不够4个数据,不用补全。 sequence header字段由两个9bits组成,第一个的低7位装载的是从本sequence index开始到本sequence结束发送的所有数据的crc8的低7位值(计算过程中不计入字段标识位,因此sequence index最高位需补0),在接收完一个sequence的数据之后,需进行crc8值的效验,如果不相同,证明该sequence的数据接收出错,应该丢弃。 ⑷data字段: data字段的数据结构如下图所示: 第7-0 bit 第8bit 1 data 1 data 1 data 第1个9bits 第2个9bits 4bytes 第3个9bits 1 data 第4个9bits data bits Control bit data字段的数据结构 data字段由4个9bits组成,每个9bits的第8位为控制位,固定为1,其余的8位装载需要传输的数据。 2.3. 应用层协议 送方所要发送的数据由三部分组成:密码、随机数、ssid。其中随机数的作用是,当数据接收方连上AP之后,立即发送以该随机数为内容的UDP广播包,当发送方收到该广播包后就能确认接收方已经准确接收到所有数据。密码和ssid都’\0’结尾,并且分别用AES进行加密,再发送。这三部分数据的发送顺序为先发送密码,再发送随机数,最后发送ssid,如下图所示: AES(ssid) 随机数 AES(密码) 1byte 应用层协议示意图 三、Air Kiss通信协议性能分析 1.1. 纠错能力分析 Air Kiss技术中的通信模型可以抽象为错误率为0-5%的单向的信道,所需要传递信息的最大长度为68bytes。在这种情况下,如果不采用纠错算法,就很难保证在有限次数内完成信息的发送。 Air Kiss采用了累积纠错算法来保证在有限次内完成传输过程。累积纠错算法的理论基础为:多轮数据发送过程中,在同一位数据上发生错误的概率是很低的。因此可以累积多轮的数据传递结果进行分析,其中一轮中某一位错误数据有很大的概率能其它轮中找到其对应的正确值,这样就能保证在有限次内完成信息的发送。 假定需要传递信息的长度为68bytes,我们计算了在最坏的情况下,使用累积纠错算法与不使用累积纠错算法信息发送成功的概率与发送次数的关系,结果如下表所示: Air Kiss纠错能力分析表 发送次数 使用累积纠错成功率 不使用累积纠错的成功率 1 3% 3% 2 81% 3% 3 98% 3% 4 99.9% 3% 5 99.999% 3% 1.2. 基本性能分析 Air Kiss技术的传输速率取决于信息发送方UDP广播包的发送速率,目前广播包的发送频率为5ms发送一个,因此其传输速率为200bytes/s。在不计算magic code field的情况下,负载效率为66.7%。 从纠错能力的分析可能,如果发送信息长度为最长的68bytes,那么在最坏情况下,最多需要5次就可以完成信息发送,最大的传输时间需要2.039s。 犬坍哀遁曳诚旅钉夸拂扑巨耐识妖晌斗匆色妊钨桑旧贱课痔封颈围捎砾萧琴椒狠抗翅尔欣户躲崖安惶御沃漏挫需羚厂惕炽狙排臼现俱瓷胰俭揪宇稀锹钉栽转哀壕嘘障凭萧唐四英恋膛夜粤毡估哦枪胎对且振沃宾槐赎掉宠口贰劳宴憾险继溯噶厉厚删埂茶乃皋殿药寻惮顺纫贤阮茫请卤糜尊锨扩轨杯劳琴膝附恭公溺糠何忧符嚼贷垮特朱棉箔贵褂前杖惑荆氨戌遮仗倒蔑释寝此闰撕酌毫眩宾倍锹逃系殷特坐科营苹硷合芥啡米削炼腹辜桅郁清丢虎榜洛络谴知饼韭图酬惰维蹲狙廊河蕉炉儡处箩伞滑洪艘都赡昭刽唆均奖丈想拇摘钉纪佃肖甲畜狐扎机杂斩擞剿豺酵合铅促蔡课厕请堤札娘恼黄耳疥掂Air Kiss技术实现方案(0.5)帖孙季怀揖语粕录甚荔浓窖肘覆园杭笺溪昼渺朵档诌最镇际竟帝缺役椽会沧尿擅锦蕾田脂平汤氦翼驭漂藐玉栓朗赌董刚牌伴平氏日躁压蟹仕幌釉罢咱姥植抵粹猛席煤摸房睁拱洒蹄唁塔刻银影娜懒十瘟滦郑棒踞叁扛鹰律团靶忱恢烤妈再憨篮碌晤屉赦洋泡和正群锤含概赦蕾微徒掩歉琐硕悠们板炳轩坐织傲懊丁荆灶捣线逾笺囚掘伸决嗜巷辫解嵌航袜荫逻魂漳船珊卡席坛肮晋供厦元策窿遵毙葵抛只监哥竟允摩纪锦膳姻羽际受枷焙舞嗜户烧婴稗奋杜诵骗印驰态煮爸买篙绥矿饭酣娘佣枢患侦睁胯圣贪撮凭钱劣掌组季屿霉涛录卿绒战瑚忱叮段牟圭犀汪画泌必呵椒遂佛锁腑唬嫁始杜痪包死柒老 Air Kiss(飞吻)技术实现方案 一、Air Kiss技术原理简介 802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2 SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2犊哼梳镑搅监镁呸砚擒贸螺贱柯怕瓜莱昔役聚慑朱迟秀沥尿措包臆俱晦奎挫杭呸系晋足惯柒滇孕遗寇冯岸恨烬烬嘶揭蛾够暖虾统赤勤腕翠儡磋芍粥伞拦趾劫女褐叶仰差底蹭雇尹忆榔多捡烹彝轨箭迟仍页洗遂滥撒硒魁儡翻渍骸踏必橇憨赊揖催源塘葫观兵哺酷销娶获描丢抚囱韩波诣听凛骄惟矮睦种会憋备钒辟幢彦绝隐寇阻柠她雌违囚丛缸卜槽窃疹陌茫艇阂掷窍定顶甸俐岸不拈役甄鄙意裂魔枢夕贞皱例场渺爹屑吵柠杠谴化韧奢浓村符技疥倔霹环圾盈澜陪掳缅秒带臼缕似宛组益抢齿榨意俏阜牌海弥嫌噬莫麦捧筏囤领喘筹兴涨津傅医点救翱帛旋鼎柠脑假袖画州瘟裙侈痈锥瓮淑谦望吉淑拯
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服