提交 e31b45bc 编写于 作者: IT_newip's avatar IT_newip

NewIP开发手册检视问题修改

Signed-off-by: Nyangyanjun <yangyanjun@huawei.com>
上级 f3ef4504
......@@ -250,7 +250,7 @@ struct sockaddr_nin {
## NewIP开发说明
目前只在鸿蒙Linux-5.10内核支持NewIP内核协议栈,只能在用户态人工配置NewIP地址和路由到内核,两台设备可以通过路由器WiFi连接,也可以通过Eth网线直接连接。如果想配置NewIP地址和路由后自动切换到NewIP内核协议栈通信,应用可以参考下面蓝框中描述。
目前只在OpenHarmony Linux-5.10内核支持NewIP内核协议栈,只能在用户态人工配置NewIP地址和路由到内核,两台设备可以通过路由器WiFi连接,也可以通过Eth网线直接连接。如果想配置NewIP地址和路由后自动切换到NewIP内核协议栈通信,应用可以参考下面蓝框中描述。
![zh-cn_image-20221009112548444](figures/zh-cn_image-20221009112548444.png)
......@@ -265,11 +265,9 @@ struct sockaddr_nin {
设备1上查看NewIP地址和路由:
```sh
dev-1@localhost:~# cat /proc/net/nip_addr
# cat /proc/net/nip_addr
01 wlan0
dev-1@localhost:~#
dev-1@localhost:~#
dev-1@localhost:~# cat /proc/net/nip_route
# cat /proc/net/nip_route
02 ff09 1 wlan0 # 到设备2的路由
01 01 2149580801 wlan0 # 本机自发自收路由
```
......@@ -277,12 +275,9 @@ dev-1@localhost:~# cat /proc/net/nip_route
设备2上查看NewIP地址和路由:
```sh
dev-2@localhost:~# cat /proc/net/nip_addr
# cat /proc/net/nip_addr
02 wlan0
dev-2@localhost:~#
dev-2@localhost:~#
dev-2@localhost:~#
dev-2@localhost:~# cat /proc/net/nip_route
# cat /proc/net/nip_route
01 ff09 1 wlan0 # 到设备1的路由
02 02 2149580801 wlan0 # 本机自发自收路由
```
......@@ -305,15 +300,15 @@ NewIP可变长地址配置,路由配置,UDP/TCP收发包demo代码链接如
![zh-cn_image-20220915165414926](figures/zh-cn_image-20220915165414926.png)
1将demo代码拷贝到Linux编译机上,make clean,make all编译demo代码。
1. 将demo代码拷贝到Linux编译机上,make clean,make all编译demo代码。
2将编译生成二级制文件上传到设备1,设备2。
2. 将编译生成二级制文件上传到设备1,设备2。
3执行“ifconfig xxx up”开启网卡设备,xxx表示网卡名,比如eth0,wlan0。
3. 执行“ifconfig xxx up”开启网卡设备,xxx表示网卡名,比如eth0,wlan0。
4在设备1的sh下执行“./nip_addr_cfg_demo server”给服务端配置0xDE00(2字节)变长地址,在设备2的sh下执。行“./nip_addr_cfg_demo client”给客户端配置0x50(1字节)变长地址,通过“cat /proc/net/nip_addr”查看内核地址配置结果。
4. 在设备1的sh下执行“./nip_addr_cfg_demo server”给服务端配置0xDE00(2字节)变长地址,在设备2的sh下执。行“./nip_addr_cfg_demo client”给客户端配置0x50(1字节)变长地址,通过“cat /proc/net/nip_addr”查看内核地址配置结果。
5在设备1的sh下执行“./nip_route_cfg_demo server”给服务端配置路由,在设备2的sh下执行“./nip_route_cfg_demo client”给客户端配置路由,通过“cat /proc/net/nip_route”查看内核路由配置结果。
5. 在设备1的sh下执行“./nip_route_cfg_demo server”给服务端配置路由,在设备2的sh下执行“./nip_route_cfg_demo client”给客户端配置路由,通过“cat /proc/net/nip_route”查看内核路由配置结果。
以上步骤操作完成后,可以进行UDP/TCP收发包,收发包demo默认使用上面步骤中配置的地址和路由。
......@@ -388,13 +383,11 @@ allowxperm thread_xxx thread_xxx:socket ioctl { 0x8933 0x8916 0x890B };
## WireShark报文解析模板
### 模板导入
Wireshark默认报文解析规则无法解析NewIP报文,在WireShark配置中添加NewIP报文解析模板可以实现NewIP报文解析,[NewIP报文解析模板](https://gitee.com/openharmony-sig/communication_sfc_newip/blob/master/tools/wireshark_cfg_for_newip.lua)详见代码仓。
报文解析模板配置文件的方法:
依次点击Help->About Wireshark->Folders,打开Global Configuration目录,编辑init.lua文件。在末尾添加dofile(DATA_DIR..”newip.lua”),其中DATA_DIR即为newip.lua插件所在路径。
依次单击 Help -> About Wireshark -> Folders,打开Global Configuration目录,编辑init.lua文件。在末尾添加dofile(DATA_DIR..”newip.lua”),其中DATA_DIR即为newip.lua插件所在路径。
![zh-cn_image-20220930141628922](figures/zh-cn_image-20220930141628922.png)
......@@ -413,18 +406,34 @@ dofile("D:\\tools\\WireShark\\wireshark_cfg_for_newip.lua")
### 报文解析样例
#### ARP请求
#### ND请求
NewIP邻居发现请求报文格式如下,NewIP极简报文头包含1字节的bitmap(0x76),bitmap标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。NewIP ND请求报文包含报文类型,操作码,校验和和请求地址。
![zh-cn_image-20221011144901470](figures/zh-cn_image-20221011144901470.png)
![zh-cn_image-20221011143924648](figures/zh-cn_image-20221011143924648.png)
#### ND应答
![zh-cn_image-20220930142806235](figures/zh-cn_image-20220930142806235.png)
NewIP邻居发现应答报文格式如下,NewIP极简报文头包含2字节的bitmap(0x77,0x00),bitmap1标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。bitmap2是字节对齐不携带任何数据(rk3568开发板链路层数据发送要求数据长度是偶数字节)。NewIP ND应答报文包含报文类型,操作码,校验和和邻居MAC地址长度,邻居MAC地址。
#### ARP应答
![zh-cn_image-20221011145157288](figures/zh-cn_image-20221011145157288.png)
![zh-cn_image-20220930142858397](figures/zh-cn_image-20220930142858397.png)
![zh-cn_image-20221011144751355](figures/zh-cn_image-20221011144751355.png)
#### TCP握手
![zh-cn_image-20220930142912014](figures/zh-cn_image-20220930142912014.png)
TCP三次握手SYN报文格式如下,NewIP极简报文头包含2字节的bitmap(0x77,0x00),bitmap1标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。bitmap2是字节对齐不携带任何数据(rk3568开发板链路层数据发送要求数据长度是偶数字节)。
![image-20221011150018915](figures/zh-cn_image-20221011150018915.png)
![image-20221011145430048](figures/zh-cn_image-20221011145430048.png)
#### TCP数据包
![zh-cn_image-20220930142920255](figures/zh-cn_image-20220930142920255.png)
TCP数据格式如下,NewIP极简报文头包含2字节的bitmap(0x77,0x00),bitmap1标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。bitmap2是字节对齐不携带任何数据(rk3568开发板链路层数据发送要求数据长度是偶数字节)。
![image-20221011150215316](figures/zh-cn_image-20221011150215316.png)
![image-20221011145616293](figures/zh-cn_image-20221011145616293.png)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册