newip开发手册检视问题修改

Signed-off-by: yangyanjun <yangyanjun@huawei.com>
This commit is contained in:
yangyanjun
2022-11-26 17:15:37 +08:00
parent 4893ca2250
commit 721ebf8c91
+27 -26
View File
@@ -1,8 +1,8 @@
# NewIP内核协议栈
# New IP内核协议栈
## 简介
NewIP在现有IP能力的基础上,以灵活轻量级报头和可变长多语义地址为基础,通过二三层协议融合,对协议去冗和压缩,减少冗余字节,实现高能效比,高净吞吐,提升通信效率。打造终端之间高效的横向通信,支撑超级终端的体验,实现异构网络的端到端互联。
New IP在现有IP能力的基础上,以灵活轻量级报头和可变长多语义地址为基础,通过二三层协议融合,对协议去冗和压缩,减少冗余字节,实现高能效比,高净吞吐,提升通信效率。打造终端之间高效的横向通信,支撑超级终端的体验,实现异构网络的端到端互联。
目前WiFi协议报文,三层报头和地址开销使得报文开销大,传输效率较低。
@@ -13,69 +13,69 @@ IPv4地址长度固定4字节,IPv6地址长度固定16字节。
IPv4网络层报头长度20~60字节,IPv6网络层报头长度40字节。
```
NewIP支持**可变长多语义地址(最短1字节)**,**可变长定制化报头封装(最短5字节)**,通过精简报文头开销,提升数据传输效率。
New IP支持**可变长多语义地址(最短1字节)**,**可变长定制化报头封装(最短5字节)**,通过精简报文头开销,提升数据传输效率。
NewIP报头开销,相比IPv4节省25.9%,相比IPv6节省44.9%。
New IP报头开销,相比IPv4节省25.9%,相比IPv6节省44.9%。
NewIP载荷传输效率,相比IPv4提高最少1%,相比IPv6提高最少2.33%。
New IP载荷传输效率,相比IPv4提高最少1%,相比IPv6提高最少2.33%。
| 对比场景 | 报头开销 | 载荷传输效率(WiFi MTU=1500BBT 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% |
| NewIP for WiFi | 30+8+5=43 B | (1500-43)/1500=97.13% |
| 对比场景 | 报头开销 | 载荷传输效率(WiFi MTU=1500BBT 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% |
## 系统架构
NewIP内核协议栈架构图如下,用户态应用程序调用Socket API创建NewIP socket,采用NewIP极简帧头封装进行收发包。
New IP内核协议栈架构图如下,用户态应用程序调用Socket API创建New IP socket,采用New IP极简帧头封装进行收发包。
![image-20220901152539801](figures/image-20220901152539801.png)
## 目录
NewIP内核协议栈主要代码目录结构如下:
New IP内核协议栈主要代码目录结构如下:
```
/foundation/communication/sfc/newip
├── examples # NewIP 用户态样例代码
# 代码路径 /kernel/common_modules/newip
├── examples # New IP 用户态样例代码
├── src
│ ├── common # NewIP 通用代码
│ └── linux # NewIP Linux内核代码
│ ├── include # NewIP 头文件
│ ├── common # New IP 通用代码
│ └── linux # New IP Linux内核代码
│ ├── include # New IP 头文件
│ │ ├── linux
│ │ ├── net
│ │ └── uapi
│ └── net
│ └── newip # NewIP 功能代码
│ └── newip # New IP 功能代码
├── figures # ReadMe 内嵌图例
└── tools # NewIP 配套工具
└── tools # New IP 配套工具
```
## 编译构建
详见“NewIP内核协议栈开发手册-[配置指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip配置指导)”章节。
详见“New IP内核协议栈开发手册-[配置指导](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip配置指导)”章节。
## 说明
### 可变长报头格式
详见“NewIP内核协议栈开发手册-[可变报头格式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#可变长报头格式)”章节。
详见“New IP内核协议栈开发手册-[可变报头格式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#可变长报头格式)”章节。
### 可变长地址格式
详见“NewIP内核协议栈开发手册-[可变长地址格式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#可变长地址格式)”章节。
详见“New IP内核协议栈开发手册-[可变长地址格式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#可变长地址格式)”章节。
### 接口说明
详见“NewIP内核协议栈开发手册-[NewIP相关接口](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip相关接口)”章节。
详见“New IP内核协议栈开发手册-[New IP相关接口](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip相关接口)”章节。
### NewIP收发包代码示例
### New IP收发包代码示例
详见“NewIP内核协议栈开发手册-[NewIP收发包代码示例](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip收发包代码示例)”章节。
详见“New IP内核协议栈开发手册-[New IP收发包代码示例](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#newip收发包代码示例)”章节。
### selinux规则说明
详见“NewIP内核协议栈开发手册-[selinux规则说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#selinux规则说明)”章节。
详见“New IP内核协议栈开发手册-[selinux规则说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/kernel/kernel-standard-newip.md#selinux规则说明)”章节。
## 相关仓
@@ -87,3 +87,4 @@ NewIP内核协议栈主要代码目录结构如下:
[kernel_linux_build](https://gitee.com/openharmony/kernel_linux_build)
[device_board_hihope](https://gitee.com/openharmony/device_board_hihope)