CH394Q IPV6模式下 UDP接收说明
CH394Q支持切换到IPv6模式,详情介绍和使用说明查阅手册第8章节。
芯片手册:https://www.wch.cn/downloads/CH394DS1_PDF.html
芯片EVT:https://www.wch.cn/downloads/CH394EVT_ZIP.html
本文着重介绍UDP模式下,接收数据时,IPv4 和 IPV6 的差异

(1)IPv4
IPv4下,UDP模式,CH394会在接收数据的头部添加8个字节的信息表,主机端可以根据信息表来获得数据包的来源信息(手册12.2.4章节)

也就是说,
假设对端设备(IP:192.168.1.200 , 端口:1000)给芯片发了一包100字节的数据包,芯片收到此包数据后,主机端读取接收缓冲区长度为108字节(100字节数据长度+8字节头部信息),其中,8字节头部信息分别为:4字节IP地址(为192.168.1.200)+2字节端口信息(端口1000)+数据包长度(长度为100)+后续的实际数据内容
(2)IPv6
当芯片切换到IPv6模式后,因为此模式下,芯片既支持IPv4通信,也支持IPv6通信,所以UDP接收数据时,数据格式有些许差异:
CH394Q会在接收到数据的头部添加8或20字节的信息表,主机端可以根据信息表来获得数据包的来源信息(手册12.3.5章节)

也就是说,当切换到IPv6模式后,
如果此时是实现UDP4通信,那么当接收数据时,将会是8字节信息表+实际数据内容。这8字节信息表和上面IPv4下的udp通信有区别,此时8字节信息表组成参考图片中表12-10:前两个字节(由5bit单独功能参数+11bit数据长度构成),再后面是4字节的IP信息,最后是2字节端口信息
如果此时是实现UDP6通信,那么当接收数据时,将会是20字节信息表+实际数据内容。20字节信息表组成参考图片中表12-10:前2个字节(由5bit单独功能参数+11bit数据长度构成),再后面是16字节的IP信息,最后是2字节端口信息
如果此时是实现UDPD通信,此模式可同时接收发往本机IPv4和IPv6地址的数据包,接收格式由上面两部分组成,根据来源是IPv4还是IPv6来进行切换
浙公网安备 33010602011771号