Azure RTOS NetX Duo 概述

Azure RTOS NetX Duo 嵌入式 TCP/IP 网络堆栈是 Microsoft 高级行业级 IPv4 和 IPv6 TCP/IP 双网络堆栈,专为深度嵌入式实时应用程序和 IoT 应用程序而设计。 NetX Duo 为嵌入式应用程序提供 IPv4、IPv6、TCP 和 UDP 等核心网络协议以及一整套其他更高级别的附加协议。 Azure RTOS NetX Duo 通过其他附加安全产品(包括 Azure RTOS NetX Secure IPsec 和 Azure RTOS NetX Secure SSL/TLS/DTLS)提供安全性。 凭借上面所有因素以及占用内存少、执行速度快、易于使用这些优势,Azure RTOS NetX Duo 成为要求严格的嵌入式 IoT 应用程序的理想选择。

API 协议

MQTT

  • 消息队列遥测传输 (MQTT)
  • 最少占用 2.7 KB 闪存

自动 IP

  • 自动 IPv4 地址分配
  • 最少占用 1.2 KB、300 字节的 RAM

HTTP、HTTPS

NetX Duo 支持以下 HTTP/HTTPS 协议。

HTTP 1.0

  • 超文本传输协议 (HTTP)
  • 最少占用 2.8 KB 到 4.8 KB 闪存/0.4 KB 到 1.0 KB RAM
  • 客户端和服务器支持

HTTP/HTTPS 1.1

  • 超文本传输协议 (HTTP)
  • 最少占用 3.0 KB 到 9.5 KB 闪存/0.5 KB 到 2 KB RAM
  • 客户端和服务器支持
  • 多个传入的客户端会话
  • 纯文本和加密 HTTPS
  • 持续连接支持
  • 多部分文件上传
  • 与 Azure RTOS NetX Secure TLS 完全集成

SMTP

  • 简单邮件传输协议 (SMTP)
  • 最少占用 4.1 KB 和 0.6 KB RAM
  • 客户端支持

DHCP

  • 动态主机配置协议 (DHCP)
  • 最少占用 3.6 KB 到 4.6 KB 闪存,2.7 KB RAM
  • 客户端和服务器支持
  • IPv4 和 IPv6 支持

NAT

  • 网络地址转换 (NAT)
  • 最少占用 3.5 KB 和 0.6 KB 的 RAM
  • IPv4 地址支持
  • NAT 仅适用于 Azure RTOS NetX Duo

SNMP

  • 简单网络管理协议 (SNMP)
  • 最少占用 10.9 KB 和 2.6 KB RAM
  • 适用于 VI、V2 和 V3 的代理支持

DNS、mDNS、DNS-SD

  • 域名系统 (DNS)
  • 多播域名系统 (mDNS)
  • 基于 DNS 的服务发现 (DNS-SD)
  • DNS 最少占用 2.4 KB 到 3 KB 闪存,1 KB RAM
  • 客户端支持
  • mDNS 和 DNS-SD 仅适用于 Azure RTOS NetX Duo

POP3

  • 邮局协议第 3 版 (POP3)
  • 最少占用 8.1 KB 和 1.4 KB RAM
  • 客户端支持

TELNET

  • 最少占用 0.5 KB 和 0.3 KB RAM
  • 客户端和服务器支持
  • 直观的 Telnet API:*nxtelnet**

FTP、TFTP

  • 文件传输协议 (FTP)
  • 普通文件传输协议 (TFTP)
  • FTP 最少占用 1.8 KB 到 7.2 KB 闪存,0.6 到 2.1 KB RAM
  • TFTP 最少占用 1.7 KB 到 2.4 KB 闪存,0.3 KB 到 1.8 KB RAM
  • 客户端和服务器支持
  • 直观的 FTP 和 TFTP API:*nxftp** 或 nxtftp***

PPP、PPPoE

  • 点对点协议 (PPP)

  • 以太网上的点对点协议 (PPPoE)

  • 最少占用 7.1 KB 和 3.8 KB RAM

  • 直观的 PPP API:*nxppp**

  • PPPoE 仅适用于 Azure RTOS NetX Duo

SNTP

  • 简单网络时间协议 (SNTP)
  • 最少占用 4 KB 和 0.5 KB RAM
  • 客户端支持
  • 直观的 SNTP API:*nxsntp**

旧代码支持

  • 用于移植旧套接字代码的可选 BSD 层

IGMP

  • Internet 组管理协议 (IGMP)
  • 最少占用 2.5 KB 闪存
  • IPv4 多播组支持
  • 经过 IXIA IxANVL 验证
  • 可选 IGMP 统计信息
  • 通过 Azure RTOS ThreadX 进行系统级跟踪
  • 直观的 IGMP API:*nxigmp**

Azure RTOS NetX Secure DTLS

  • 数据报传输层安全性 (DTLS) 1.0 和 1.2
  • 最少占用 11 KB 闪存
  • 快速的软件 RSA(2048 位密钥大小),约 1/秒@120MHz
  • 简化的 X.509 实现
  • 与 Azure RTOS NetX Duo UDP 套接字完全集成
  • 硬件加密支持
  • 软件加密支持:RSA(所有密钥大小)、AES、DES/3DES、ECC、HMAC、MD5、SHA-1、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)
  • 带有 ECDSA(签名)和 ECDH(加密)的椭圆曲线加密 (ECC),包括 P 曲线192/224/256/384/521
  • 加密密钥支持(与硬件相关)

Azure RTOS NetX Secure TLS

  • 传输层安全 (TLS) 1.0、1.1 和 1.2
  • 最少占用 8.8 KB 闪存
  • 快速的软件 RSA(2048 位密钥大小),约 1/秒@120MHz
  • 简化的 X.509 实现
  • 与 Azure RTOS NetX Duo TCP 套接字完全集成
  • 硬件加密支持
  • 软件加密支持:RSA(所有密钥大小)、AES、DES/3DES、ECC、HMAC、MD5、SHA-1、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)
  • 带有 ECDSA(签名)和 ECDH(加密)的椭圆曲线加密 (ECC),包括 P 曲线192/224/256/384/521
  • 加密密钥支持(与硬件相关)

ICMP

  • Internet 控制消息协议 (ICMP)
  • 最少占用 2.5 KB 闪存
  • IPv4 和 IPv6 支持
  • 经过 IXIA IxANVL 验证
  • Ping 请求和 ping 响应
  • 对 ping 请求的可选线程挂起
  • 所有挂起的可选超时
  • 可选 ICMP 统计信息
  • 通过 Azure RTOS TraceX 进行系统级跟踪
  • 直观的 ICMP API:*nxicmp**

UDP

  • 用户数据报协议 (UDP)
  • 最少占用 2.5 KB 闪存,每套接字 124 个套接字字节的 RAM
  • 快速、接近线速的 TCP 数据包处理:
    • 100 Mbps 以太网上的 RX 95 Mbps、100MHz 的 MCU、14% 的 MCU 利用率
    • 100 Mbps 以太网上的 TX 94 Mbps、100MHz 的 MCU、10% 的 MCU 利用率
  • UDP Fast Path™ 技术
  • UDP 数量无限制
  • 经过 IXIA IxANVL 验证
  • 套接字接收时的可选挂起
  • 所有挂起的可选超时
  • 可选 UDP 统计信息
  • 通过 Azure RTOS TraceX 进行系统级跟踪
  • 直观的 UDP API:*nxudp**

TCP

  • 传输控制协议 (TCP)
  • 最少占用 10.5 KB 到 12.5 KB 闪存,每套接字 280 字节的 RAM
  • 快速、接近线速的 TCP 数据包处理:
    • 100 Mbps 以太网上的 RX 93 Mbps、100MHz 的 MCU、20% 的 MCU 利用率
    • 100 Mbps 以太网上的 TX 94 Mbps、100MHz 的 MCU、27% 的 MCU 利用率
  • 可靠连接
  • TCP 套接字的数量无限制
  • 经过 IXIA IxANVL 验证
  • 套接字接收/发送时的可选挂起
  • 所有挂起的可选超时
  • 可选 TCP 统计信息
  • 通过 Azure RTOS TraceX 进行系统级跟踪
  • 直观的 TCP API:*nxtcp**

ARP/RARP

  • 地址解析协议 (ARP)
  • 反向地址解析协议 (RARP)
  • 最少占用 1.7 KB 的闪存、RAM 大小
  • 动态解析 32 位 IPv4 和 48 位 MAC 地址
  • 经过 IXIA IxANVL 验证
  • 灵活的、用户定义的 ARP 缓存
  • 免费 ARP 支持
  • 由应用程序确定的可选 ARP/RARP 统计信息
  • 通过 Azure RTOS TraceX 进行系统级跟踪
  • 直观的 ARP/RARP API:*nxarp*nxrarp**

IPv4 & IPv6

  • Internet 协议 (IP)
  • 最少占用 3.5 KB 到 8.5 KB 闪存,2 KB 到 3 KB RAM
  • Piconet™ 体系结构
  • 快速、接近线速的性能
  • 多接口支持
  • 多宿主支持
  • 静态路由支持
  • IP 分段/重组支持
  • IPv4 和 IPv6 地址支持
  • 经过 IXIA IxANVL 验证
  • 阶段 II IPv6 就绪徽标认证
  • 可选 IP 统计信息
  • 明确定义的直观物理层驱动程序接口
  • 通过 Azure RTOS TraceX 进行系统级跟踪
  • 直观的 IP 层 API:*nxip*nxdip*nxdipv6**
  • 经 TUV 和 UL 预认证,符合 IEC 61508 SIL 4

Azure RTOS NetX Secure IPSEC

  • Internet 协议安全性 (IPSEC)
  • IP 层
  • 硬件加密支持
  • 软件加密支持,包括:
    • DES、3DES
    • AES
    • HMAC-MD5
    • HMAC-SHA1
  • Internet 密钥交换 (IKE) 版本 2 支持
  • 直观的 IPsec API:*nxipsec**
  • IPsec 仅适用于 Azure RTOS NetX Duo

安全可靠

Azure RTOS NetX Duo 非常安全。 此安全性由附加安全产品(包括 IPsec、SSL、TLS 和 DTLS)提供。 此外,应用程序可以完全控制对 Azure RTOS NetX Duo 的所有外部访问,从而能够更轻松地确定安全风险。

Microsoft Azure RTOS 为 OEM 提供了一些组件,通过这些组件可以保护通信以及使用底层 MCU/MPU 硬件保护机制创建代码和数据隔离。 最终由设备生成器负责确保设备完全符合特定用例不断变化的相关安全要求。

互操作性验证

NetX Duo 符合 RFC 标准,可提供与大多数供应商设备的完全互操作性。

IPv6 就绪徽标

Azure RTOS NetX Duo 是唯一一种获得严格的 IPv6 就绪徽标认证的嵌入式 TCP/IP 堆栈,这表明它已通过由 IPv6 论坛管理和验证的符合性和互操作性测试。 NetX Duo 还将行业标准 IxANVL(自动网络验证库)用于 NetX Duo 核心 TCP/IP 协议实现。

全面的 IoT 解决方案

NetX Duo 为深度嵌入式 IoT 应用程序提供最全面的 TCP/IP 网络之一。 此支持包括以下附加协议产品。

  • MQTT
  • CoAP
  • LWM2M
  • 6LoWPAN
  • SSL/TLS/DTLS
  • IPsec
  • AutoIP
  • DHCP
  • DNS
  • mDNS
  • DNS-SD
  • FTP
  • HTTP
  • IPsec
  • NAT
  • POP3
  • PPP
  • PPPoE
  • SMTP
  • SNMP v1/2/3
  • Telnet
  • TFTP

高级技术

Azure RTOS NetX 是一项高级技术,其中包括以下内容。

  • Piconet™ 体系结构
  • 自动缩放
  • UDP Fast-Path Technology™
  • 灵活的数据包管理
  • 零复制 API 和实现
  • 多宿主支持
  • 所有挂起的可选超时
  • 静态路由支持
  • IPsec
  • SSL/TLS/DTLS
  • Azure RTOS TraceX 系统分析支持

NetX Duo 提供以下附加服务。

  • Azure IoT 中间件
  • Microsoft Defender for IoT
  • 适用于 IoT 中心的设备更新。

Azure IoT 中间件

NetX Duo 包含了适用于 Azure RTOS 的 Azure IoT 中间件,这是一个特定于平台的库,充当 Azure RTOS 和 Azure SDK for Embedded C 之间的绑定层,从而与 Azure IoT 服务建立连接。 Azure IoT 中间件的目标如下。

  • 提供开发人员需要用于他们应用程序的智能客户端接口(IoTHub_Client 和 DeviceProvisioning_Client)。
  • 协调 Embedded C SDK 与平台之间的交互。
  • 提供 Azure RTOS 平台初始化。
  • IoT 即插即用支持。
  • 安全功能。
  • 资源限制感知。
  • 协议支持。

Azure RTOS NetX Duo 相关服务

Microsoft Defender for IoT

Azure Defender for IoT 安全模块为 Azure RTOS 设备提供了一个全面的安全解决方案。 用于 Azure RTOS 的安全模块提供恶意网络活动检测、基于自定义警报的设备行为基线,并帮助改进设备安全机制。 请详细了解用于 Azure RTOS 的安全模块,或开始学习配置用于 Azure RTOS 的安全模块快速入门。

IoT 中心的设备更新文档

Azure Device Update for IoT Hub 是一项服务,使你能够为 IoT 设备部署无线更新 (OTA)。 Device Update for IoT Hub 模块是 Device Update for IoT Hub 代理在 Azure RTOS NetX Duo 中的实现。 它提供了简单的 API,使设备制造商能够在他们的应用程序中集成 Device Update 功能。

查看关键半导体评估板的示例,其中包括如何针对设备配置、生成和部署无线更新 (OTA) 的入门指南。

此外,还可以了解有关结合使用 Device Update for IoT Hub 与 Azure RTOS 的详细信息。

后续步骤

若要详细了解 NetX Duo,请首先学习 Azure RTOS NetX Duo 用户指南