基本概念
New IP在现有IP能力的基础上,以灵活轻量级报头和可变长多语义地址为基础,通过二三层协议融合,对协议去冗和压缩,减少冗余字节,实现高能效比,高净吞吐,提升通信效率。打造终端之间高效的横向通信,支撑超级终端的体验,实现异构网络的端到端互联。
目前WiFi协议报文,三层报头和地址开销使得报文开销大,传输效率较低。
IPv4地址长度固定4字节,IPv6地址长度固定16字节。
IPv4网络层报头长度20~60字节,IPv6网络层报头长度40字节。
New IP支持可变长多语义地址(最短1字节),可变长定制化报头封装(最短5字节),通过精简报文头开销,提升数据传输效率。
New IP报头开销,相比IPv4节省25.9%,相比IPv6节省44.9%。
New IP载荷传输效率,相比IPv4提高最少1%,相比IPv6提高最少2.33%。
对比场景 | 报头开销 | 载荷传输效率(WiFi MTU=1500B,BT MTU=255B) |
---|---|---|
IPv4 for WiFi | 30+8+20=58 B | (1500-58)/1500=96.13% |
IPv6 for WiFi | 30+8+40=78 B | (1500-78)/1500=94.8% |
New IP for WiFi | 30+8+5=43 B | (1500-43)/1500=97.13% |
可变长报头格式
New IP WiFi灵活极简报文头如下图所示,通过LLC Header中的EtherType = 0xEADD标识New IP报文。Bitmap是一组由0和1组成的二进制序列,每个二进制位的数值用于表示New IP报头中是否携带某个字段,即New IP报文头可以由用户根据业务场景自行定制报头中携带哪些字段。
-
Dispatch:指示封装子类,数值0b0表示其为极简封装子类,长度为1比特;(0b表示后面数值为二进制)。
-
Bitmap:变长,Bitmap默认为紧跟在Dispatch有效位后面的7比特,Bitmap字段长度可持续扩展。Bitmap最后一位置0表示Bitmap结束,最后一位置1表示Bitmap向后扩展1 Byte,直至最后一位置0。
-
Value: 标识字段的值,长度为1 Byte的整数倍,类型及长度由报头字段语义表确定。
Bitmap字段定义如下:
极简Bitmap标识 | Bitops | 携带字段的长度 | 置位策略 | 备注 |
---|---|---|---|---|
Bitmap 1st Byte: | - | - | - | 下面8bit是从高位到低位排列。 |
标记位Dispatch | 0 | - | 置0 | 0:极简封装报头,1:非极简封装报头。 |
报文头是否携带TTL | 1 | 1 Byte | 置1 | 剩余跳数。 |
报文头是否携带Total Length | 2 | 2 Byte | UDP置0,TCP置1 | New IP报文总长度(包含报头长度)。 |
报文头是否携带Next Header | 3 | 1 Byte | 置1 | 协议类型。 |
Reserve | 4 | 保留 | 置0 | 保留字段。 |
报文头是否携带Dest Address | 5 | 变长(1~8 Byte) | 置1 | 目的地址。 |
报文头是否携带Source Address | 6 | 变长(1~8 Byte) | 由协议自行确定 | 源地址。 |
标记位,标志是否有2nd Byte | 7 | - | - | 0:bitmap结束,1:后跟另外8bit bitmap。 |
Bitmap 2nd Byte: | - | - | - | 下面8bit是从高位到低位排列。 |
报文头是否携带Header Length | 0 | 1 Byte | - | New IP报头长度。 |
Reserve | 1 | 保留 | 置0 | - |
Reserve | 2 | 保留 | 置0 | - |
Reserve | 3 | 保留 | 置0 | - |
Reserve | 4 | 保留 | 置0 | - |
Reserve | 5 | 保留 | 置0 | - |
Reserve | 6 | 保留 | 置0 | - |
标记位,标志是否有3rd Byte | 7 | - | - | 0:bitmap结束,1:后跟另外8bit bitmap。 |
New IP报头(极简封装)解析遇到新bitmap字段时的处理方法:
仅解析当前版本协议中已定义的bitmap字段,从第一个未知语义的bitmap字段开始,跳过后面的所有bitmap字段,直接通过header length定位到报文开始位置并解析报文。如果报头中携带了未知语义的bitmap字段,且未携带header length字段,则丢弃该数据包。
可变长地址格式
New IP支持可变长地址(IPv4/IPv6地址长度固定),支持自解析地址长度,报文头中可以不携带地址长度字段,New IP地址编码格式如下所示:
First Byte | Semantics | 地址段有效范围 |
---|---|---|
0x00 | Add |