OpenHarmony南向开发:New IP内核协议栈规范

 基本概念

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报文头可以由用户根据业务场景自行定制报头中携带哪些字段。

  1. Dispatch:指示封装子类,数值0b0表示其为极简封装子类,长度为1比特;(0b表示后面数值为二进制)。

  2. Bitmap:变长,Bitmap默认为紧跟在Dispatch有效位后面的7比特,Bitmap字段长度可持续扩展。Bitmap最后一位置0表示Bitmap结束,最后一位置1表示Bitmap向后扩展1 Byte,直至最后一位置0。

  3. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值