无线通信为何要尽量避免使用IP协议

很多用户以及互联网开发、桌面应用开发者很可能难以理解,因为TCP/IP是最为人熟知的网络通信协议。但这是无线通信技术应用中的现实。

这个问题难以简单地回答,因为它是综合权衡多方因素之后的结论。篇幅所限,我们就用尽可能简短的方式来说清楚这个问题。

IP协议是一种连续传输固定格式数据包的协议。IP协议针对有线网络设计,有线网络的特点是信道质量稳定,数据率非常高, 适合传输大量数据。图1给出了IP数据包的格式,标明了包内部各个字段的字节长度。

图-1 IP数据包结构

可以看出,一个IP数据包至少包含20个字节的固定包头,用于IP协议控制和寻址。这部分内容对于实际传输的用户数据来说是没有用处的,因此这个包头的字节长度代表了传输一定量的有效数据所需付出的代价,也称为开销(overhead)。数据包中除了包头以外的有效用户数据被称为净载(payload)。开销大小可以通过如下公式计算:

       overhead = 1 - payload长度 / 数据包总长度

这是一个百分比值。显然,overhead值越低,那么通信的效率越高。

然而有了IP协议还不能直接通信,还要配合使用更上一层的TCP协议。TCP协议的数据包同样有20个字节的包头,这样在一个完整的TCP/IP数据包里就包含了20+20=40个字节的包头。

对于TCP/IP协议来说这个包头长度并不是什么大问题。因为一个TCP/IP数据包最大长度可以达到64,000个字节,相比这么大的数据包长度,overhead = 0.06%, 几乎可以忽略不计,通信效率可以说相当高。

但是无线环境情况完全不同。无线信道的特点是信道质量非常不稳定,无线射频信号会发生衰减和反射,导致传输中错误概率相当高。这样无线数据包的长度就不能太长,否则一旦发生错误,重传的代价非常高,很容易堵塞整个传输信道。例如,64,000个字节中,只要有一个bit出错,那么所有64,000个字节全部要重新传一遍。这样太可怕了。所以无线通信协议普通都采用短数据包的形式。短包的大小到底多长,是根据不同的射频频率、调制编码方式、符号速率、使用环境的要求等共同决定的。例如,IEEE 802.15.1(蓝牙)标准规定数据包长度为251个字节,IEEE 802.15.4(Zigbee)规定数据包长度仅为127个字节,LoRa数据包长度最大234个字节。

图2是802.15.4 Zigbee协议的数据包结构

图-2 802.15.4 Zigbee数据包结构

可以计算出Zigbee数据包的overhead约为 1- 102/133 = 23.3%.

图3是802.15.1蓝牙数据包的结构,

图-3 802.15.1 蓝牙数据包结构

可以计算出蓝牙数据包的overhead = 1 - 246/265 = 7.1%

如果我们要在802.15.1和802.15.4标准上传输TCP/IP数据包的话,那么每个数据包的传输开销就不再是可以忽略不计,而是严重影响效率了:

IP over IEEE 802.15.1: overhead = 1 - 206/266 = 22.5%

IP over IEEE 802.15.4:  overhead = 1 - 62/133 = 53.3%

因为每个数据包都要付出这样的代价,这样的数字已经难以接受了。这些数字意味着什么?打个比方,假设中国电信卖给你10M的宽带,但你实际只能用4M,而中国电信是按10M来收费的,那你恐怕就要去投诉了。

那难道就没有办法改进这个问题了吗?有,答案是6LowPAN。一些聪明的IP协议的拥趸找到了优化的办法:压缩包头。如果能够把40个字节的包头压缩到很短,那效率不就可以提高了吗?在6LowPAN的标准里,20个字节在最理想情况下可以被压缩到2个字节。如此一来,开销的问题就显得不那么严重了。图4中给出了6LowPAN数据包的结构。

图-4 6LowPAN数据包结构

那是否这就是我们所需要的完美解决方案呢?

没那么简单。6LowPAN仍然有自己的局限性。

1. 能够压缩的前提是在同一种物理连接的无线局部网络内部,比如同一个蓝牙网络内,或者同一个LoRa网络,并且限在一跳(hop)之内。如果要向不在同一网络内的设备发送数据,比如一个蓝牙网络中的设备向一个LoRa设备发送数据,那么这个方法就失去作用了。

2. IPv6协议要求数据包最小的长度为1280个字节,而显然无线网络中的数据包是达不到这个要求的。因此在无线网络中传输时 6LowPAN协议栈需要人为地进行分片和填充以适合IP网络的要求。这在同一无线技术网络中还容易实现,但是在包含了多种无线技术网络环境中这个工作就变得很复杂,要付出很多额外的开销。

因此,在解决这些问题之前,6LowPAN和IPv6要在无线通信网络中得到普及,还有很长的路要走。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355