Overview of Azure RTOS NetX Duo

Azure RTOS NetX Duo embedded TCP/IP network stack is Microsoft advanced, industrial grade dual IPv4 and IPv6 TCP/IP network stack designed specifically for deeply embedded, real-time, and IoT applications. NetX Duo provides embedded applications with core network protocols such as IPv4, IPv6, TCP, and UDP as well as a complete suite of additional, higher-level add-on protocols. Azure RTOS NetX Duo is also secure via additional add-on security products, including Azure RTOS NetX Secure IPsec and Azure RTOS NetX Secure SSL/TLS/DTLS. All of this combined with an small footprint, fast execution, and superior ease-of-use make Azure RTOS NetX Duo the ideal choice for the most demanding embedded IoT applications.

API protocols

MQTT

  • Messaging Queue Telemetry Transport (MQTT)

  • Minimal 2.7 KB FLASH

  • Intuitive MQTT APIs:

    nx_mqtt_*

Auto IP

  • Automatic IPv4 address assignment

  • Minimal 1.2 KB, 300 bytes of RAM

  • Intuitive AutoIP APIs:

    nx_autoip_*

HTTP, HTTPS

HTTP 1.0

  • Hypertext Transfer Protocol(HTTP)

  • Minimal 2.8 KB to 4.8 KB FLASH / 0.4 KB to 1.0 KB RAM

  • Client and server support

  • Intuitive APIs:

    nx_http_*

HTTP/HTTPS 1.1

  • Hypertext Transfer Protocol(HTTP)

  • Minimal 3.0 KB to 9.5 KB FLASH / 0.5 KB to 2 KB RAM

  • Client and server support

  • Multiple incoming client sessions

  • Plaintext and encrypted HTTPS

  • Persistent connection support

  • Multipart file upload

  • Fully integrated with Azure RTOS NetX Secure TLS

  • Intuitive APIs:

    nx_web_http*

SMTP

  • Simple Mall Transfer Protocol (SMTP)

  • Minimal 4.1 KB and 0.6 KB RAM footprint

  • Client support

  • Intuitive SMTP APIs:

    nx_smtp_*

DHCP

  • Dynamic Host Configuration Protocol (DHCP)

  • Minimal 3.6 KB to 4.6 KB FLASH, 2.7 KB RAM footprint

  • Client and server support

  • IPv4 and IPv6 support

  • Intuitive DHCP APIs:

    nx_dhcp_*

NAT

  • Network Address Translation (NAT)

  • Minimal 3.5K6 and 0.6 KB RAM footprint

  • IPv4 address support

  • Intuitive NAT APIs:

    nx_nat_*

  • NAT is only available with Azure RTOS NetX Duo

SNMP

  • Simple Network Management Protocol (SNMP)

  • Minimal 10.9 KB and 2.6 KB RAM footprint

  • Agent support for VI, V2, and V3

  • Intuitive SNMP APIs:

    nx_snmp_*

DNS, mDNS, DNS-SD

  • Domain Name System (DNS)

  • Multicast Domain Name System (mDNS)

  • DNS-based service discovery (DNS-SD)

  • DNS Minimal 2.4 KB to 3 KB FLASH, 1 KB RAM footprint

  • Client support

    nx_dns_*

  • mDNS and DNS-SD are only available with Azure RTOS NetX Duo

P0P3

  • Post Office Protocol Version 3 (POP3)

  • Minimal 8.1 KB and 1.4 KB RAM footprint

  • Client support

  • Intuitive P0P3 APIs:

    nx_pop3_*

TELNET

  • Minimal 0.5 KB and 0.3 KB RAM footprint

  • Client and server support

  • Intuitive Telnet APIs:

    nx_telnet_*

FTP, TFTP

  • File Transfer Protocol (FTP)

  • Trivial File Transfer Protocol (TFTP)

  • FTP Minimal 1.8 KB to 7.2 KB FLASH, 0.6 KB to 2.1 KB RAM footprint

  • TFTP Minimal 1.7 KB to 2.4 KB FLASH, 0.3 KB to 1.8 KB RAM footprint

  • Client and server support

  • Intuitive FTP and TFTP APIs:

    nx_ftp_ or nx_tftp_

PPP, PPPoE

  • Polnt-to-PoInt Protocol (PPP)

  • Point-to-Point Protocol over Ethernet(PPPoE)

  • Minimal 7.1 KB and 3.8 KB RAM footprint

  • Intuitive PPP APIs:

    nx_ppp_*

  • PPPoE is only available with Azure RTOS NetX Duo

SNTP

  • Simple Network Time Protocol (SNTP)

  • Minimal 4 KB and 0.5 KB RAM

  • Client support

  • Intuitive SNTP APIs:

    nx_sntp_*

Azure RTOS NetX Duo API

  • Intuitive and consistent API
  • Noun-verb naming convention
  • Fast, zero-copy API implementation
  • All APIs have leading nx_* to easily identify as Azure RTOS NetX
  • Blocking APIs have optional thread timeout
  • See Azure RTOS NetX Duo User Guide for more details
  • Optional BSD layer for porting legacy socket code

IGMP

  • Internet Group Management Protocol (IGMP)

  • Minimal 2.5 KB FLASH

  • IPv4 multicast group support

  • IXIA IxANVL validated

  • Optional IGMP statistics

  • System-level trace via Azure RTOS ThreadX

  • Intuitive IGMP APIs:

    nx_igmp_*

Azure RTOS NetX Secure DTLS

  • Datagram Transport Layer Security (DTLS) 1.0 and 1.2
  • Minimal 11 KB FLASH
  • Fast, software RSA 2048-bit key size ~1-second @120MHz
  • Streamlined X.509 Implementation
  • Fully integrated with Azure RTOS NetX Duo UDP sockets
  • Hardware Crypto Support
  • Software Crypto Support: RSA (all key sizes), AES, DES/3DES, ECC, HMAC, MD5, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • Elliptic Curve Cryptography (ECC) with ECDSA (signing) and ECDH (encryption), including P-curves 192/224/256/384/521
  • Encrypted Key Support (hardware dependent)

Azure RTOS NetX Secure TLS

  • Transport Layer Security (TLS) 1.0, 1.1, and 1.2
  • Minimal 8.8 KB FLASH
  • Fast, software RSA 2048-bit key size ~1-second @120MHz
  • Streamlined X.509 Implementation
  • Fully integrated with Azure RTOS NetX Duo TCP sockets
  • Hardware Crypto Support
  • Software Crypto Support: RSA (all key sizes), AES, DES/3DES, ECC, HMAC, MD5, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • Elliptic Curve Cryptography (ECC) with ECDSA (signing) and ECDH (encryption), including P-curves 192/224/256/384/521
  • Encrypted Key Support (hardware dependent)

ICMP

  • Internet Control Message Protocol (ICMP)

  • Minimal 2.5 KB FLASH

  • IPv4 and IPv6 support

  • IXIA IxANVL validated

  • Ping request and ping response

  • Optional thread suspension on ping requests

  • Optional timeout on all suspension

  • Optional ICMP statistics

  • System-level trace via Azure RTOS TraceX

  • Intuitive ICMP APIs

    nx_icmp_*

UDP

  • User Datagram Protocol (UDP)

  • Minimal 2.5 KB FLASH, 124 sockets bytes of RAM per socket

  • Fast, near wirespeed TCP packet processing:

    • RX 95 Mbps on 100 Mbps Ethernet, MCU @100MHz, 14% MCU utilization
    • TX 94 Mbps on 100 Mbps Ethernet, MCU @100MHz, 10% MCU utilization
  • UDP Fast Path™ technology

  • No limits on the number of UDP

  • IXIA IxANVL validated

  • Optional suspension on socket receive

  • Optional timeout on all suspension

  • Optional UDP statistics

  • System-level trace via Azure RTOS TraceX

  • Intuitive UDP APIs:

    nx_udp_*

TCP

  • Transmission Control Protocol (TCP)

  • Minimal 10.5K8 to 12.5 KB FLASH, 280 bytes of RAM per socket

  • Fast, near wlrespeed TCP packet processing:

    • RX 93 Mbps on 100 Mbps Ethernet, MCU @100MHz, 20% MCU utilization
    • TX 94 Mbps on 100 Mbps Ethernet, MCU @100MHz, 27% MCU utilization
  • Reliable connection

  • No limits on the number of TCP sockets

  • IXIA IxANVL validated

  • Optional suspension on socket receive/transmit

  • Optional timeout on all suspension

  • Optional TCP statistics

  • System-level trace via Azure RTOS TraceX

  • Intuitive TCP APIs:

    nx_tcp_*

ARP/RARP

  • Address Resolution Protocol (ARP)

  • Reverse Address Resolution Protocol (RARP)

  • Minimal 1.7 KB FLASH, RAM size

  • Dynamic resolution of 32-blt IPv4 and 48-blt MAC addresses

  • IXIA IxANVL validated

  • Flexible, user-defined ARP cache

  • Gratuitous ARP support

  • Optional ARP/RARP statistics determined by application

  • System-level trace via Azure RTOS TraceX

  • Intuitive ARP/RARP APIs:

    nx_arp_ nx_rarp_

IPv4 & IPv6

  • Internet Protocol (IP)

  • Minimal 3.5 KB to 8.5 KB FLASH, 2 KB to 3 KB RAM footprint

  • Piconet™ architecture

  • Fast, near wirespeed performance

  • Multiple interface support

  • Multihomed support

  • Static routing support

  • IP fragmentation/reassembly support

  • IPv4 and IPv6 address support

  • IXIA IxANVL validated

  • Phase II IPv6 Ready Logo Certification

  • Optional IP statistics

  • Well defined, intuitive physical layer driver interface

  • System-level trace via Azure RTOS TraceX

  • Intuitive IP layer APIs:

    nx_ip_ nxd_ip_ nxd_ipv6_*

  • Pre-certified by TUV and UL to IEC 61508 SIL 4, IEC 62304 Class C, ISO 26262 ASIL D, and EN 50128 SW-SIL4

Azure RTOS NetX Secure IPSEC

  • Internet Protocol Security (IPSEC)

  • IP layer

  • Hardware crypto support

  • Software crypto support, including:

    • DES, 3DES
    • AES
    • HMAC-MD5
    • HMAC-SHA1
  • Internet Key Exchange (IKE) Version 2 support

  • Intuitive IPsec APIs:

    nx_ipsec_*

  • IPsec is only available with Azure RTOS NetX Duo

Small-footprint

Azure RTOS NetX Duo has a remarkably small footprint of 9 KB to 15 KB for basic IP and UDP support. An additional 10 KB to 13 KB of instruction area memory is needed for TCP functionality. Azure RTOS NetX Duo RAM usage typically ranges from 2.6 KB to 3.6 KB plus the packet pool memory, which is defined by the application. Like Azure RTOS ThreadX, the size of Azure RTOS NetX Duo automatically scales based on the services used by the application. This virtually eliminates the need for complicated configuration and build parameters, making things easier for the developer.

Fast execution

Azure RTOS NetX Duo provides a zero-copy packet send/receive implementation, highly integrated with Azure RTOS ThreadX, to achieve the fastest possible performance. For example, Azure RTOS NetX Duo can typically achieve near wirespeed data transfers on an 80 MHz (or less) processor, while using only a small percentage of the processor cycles.

Simple, easy-to-use

Azure RTOS NetX Duo is simple to use. The Azure RTOS NetX Duo API is both intuitive and highly functional.

The API names are made of real words and not the “alphabet soup” or highly abbreviated names that are so common in other networking products. All Azure RTOS NetX Duo APIs have a leading nx_ and follow a noun-verb naming convention. Furthermore, there is a functional consistency throughout the API. For example, all APIs that suspend have an optional timeout that functions in an identical manner for APIs. For legacy applications, Azure RTOS NetX Duo offers an additional BSD socket compatible layer. This layer helps developers migrate large networking applications with ease.

Safe and secure

Azure RTOS NetX Duo is secure. This security is provided through additional security products, including IPsec, SSL, TLS, and DTLS. In addition, the application has complete control over all external access to Azure RTOS NetX Duo, making security risk determination that much easier.

Microsoft Azure RTOS provides OEMs with components to secure communication and to create code and data isolation using underlying MCU/MPU hardware protection mechanisms. It is ultimately the responsibility of the device builder to ensure the device fully meets the evolving security requirements associated with its specific use case.

Pre-certified by TUV and UL to many safety standards

Azure RTOS NetX Duo has been certified by SGS-TUV Saar for use in safety-critical systems, according to IEC-61508 SIL 4, IEC-62304 SW Safety Class C, ISO 26262 ASIL D and EN 50128. The certification confirms that Azure RTOS NetX Duo can be used in the development of safety-related software for the highest safety integrity levels of IEC-61508, IEC-62304, ISO 26262 and EN 50128 for the “Functional Safety of electrical, electronic, and programmable electronic safety-related systems.” SGS-TUV Saar, formed through a joint venture of Germany’s SGS-Group and TUV Saarland, has become the leading accredited, independent company for testing, auditing, verifying, and certifying embedded software for safety-related systems worldwide. The industrial safety standard IEC 61508, and all standards that are derived from it, including IEC-62304, ISO 26262 and EN 50128, are used to assure the functional safety of electrical, electronic, and programmable electronic safety-related medical devices, process control systems, industrial machinery, automobiles and railway control systems.

SGS-TUV certification

Azure RTOS NetX Duo has been recognized by UL for compliance with UL 60730-1 Annex H, CSA E60730-1 Annex H, IEC 60730-1 Annex H, UL 60335-1 Annex R, IEC 60335-1 Annex R, and UL 1998 safety standards for software in programmable components. UL is a global, independent, safety-science company with more than a century of expertise innovating safety solutions, ranging from the public adoption of electricity to breakthroughs in sustainability, renewable energy, and nanotechnology.

CRU UL certification

Artifacts (Certificate, Safety Manual, Test Report, etc.) associated with the TUV and UL certifications are available for sale.

In cases where the application needs additional certification, a certification service is available through Microsoft for providing turn-key certification to various standards using the actual hardware platform and even covering the application code. Contact us for more details on our certification service.

EAL4+ Common Criteria security certification

Azure RTOS has achieved EAL4+ Common Criteria security certification. The Target of Evalution (TOE) covers Azure RTOS ThreadX, Azure RTOS NetX Duo, Azure RTOS NetX Secure TLS, and Azure RTOS NetX MQTT. This represents the most typical IoT protocols required by deeply embedded sensors, devices, edge routers, and gateways.

EAL certification

The IT Security Evaluation Facility used for the Microsoft Azure RTOS SC security certification is Brightsight BV and the Certification Authority is SERTIT.

FIPS 140-2 Validated

Azure RTOS NetX Crypto libraries have achieved Federal Information Processing Standardization 140-2 (FIPS 140-2) Certification for software, which specifies requirements for cryptography modules. FIPS 140-2 requires all federal government agencies and departments that use cryptographic-based security to meet specific standards related to encryption strength and capabilities. These cryptographic-based security standards are also recognized in Canada and the European Union.

The Information Security evaluation lab used for Azure RTOS NetX Crypto libraries was atsec and the certification authority is The National Institute of Standards and Technology (NIST). Review the NIST website for additional details.

Interoperability verification

NetX Duo conforms to RFC standards and offers complete interoperability with devices for most vendors.

IPv6 Ready Logo

Azure RTOS NetX Duo is one of the only embedded TCP/IP stacks to achieve the rigorous IPv6-Ready Logo certification, evidence that it has passed conformance and interoperability tests, administered and validated by the IPv6 Forum. NetX Duo also utilizes the industry standard IxANVL (Automated Network Validation Library) for the NetX Duo core TCP/IP protocol implementation.

Comprehensive IoT solution

Azure RTOS NetX Duo has a remarkably small footprint of 9 KB to 15 KB for basic IP and UDP support. NetX Duo has one of the most comprehensive TCP/IP networking for deeply embedded IoT applications. This support includes the following add-on protocol products:

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

Advanced technology

Azure RTOS NetX Duo is advanced technology that includes:

  • Piconet™ architecture
  • Automatic scaling
  • UDP Fast-Path Technology™
  • Flexible packet management
  • Zero-copy API and implementation
  • Multihomed support
  • Optional timeout on all suspension
  • Static routing support
  • IPsec
  • SSL/TLS/DTLS
  • Azure RTOS TraceX system analysis support

Fastest time-to-market

Azure RTOS NetX Duo is easy to install, learn, use, debug, verify, certify and maintain. As a result, NetX Duo is one of the most popular TCP/IP stacks for embedded IoT devices, including many SoCs from Broadcom, Gainspan, etc. Our consistent time-to-market advantage is built on:

  • Quality documentation – please review our Azure RTOS NetX Duo User Guide and see for yourself!
  • Complete source code availability
  • Easy-to-use API
  • Comprehensive and advanced feature set

One Simple License

There is no cost to use and test the source code and no cost for production licenses when deployed to pre-licensed devices, all other devices need a simple annual license.

Full, highest-quality source code

Throughout the years, Azure RTOS NetX Duo source code has set the bar in quality and ease of understanding. In addition, the convention of having one function per file provides for easy source navigation.

Azure RTOS NetX Duo runs on most popular 32/64-bit microprocessors out-of-the-box, fully tested and fully supported, including the following advanced architectures:

Analog Devices: SHARC, Blackfin, CM4xx

Andes Core: RISC-V

Ambiqmicro: pollo MCUs

ARM: RM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A15/A5/A7/A8/A9/A5x 64-bi/A7x 64-bit/R4/R5, TrustZone ARMv8-M

Cadence: Xtensa, Diamond

CEVA: PSoC, PSoC 4, PSoC 5, PSoC 6, FM0+, FM3, MF4, WICED WiFi

Cypress: RISC-V

EnSilica: eSi-RISC

Infineon: XMC1000, XMC4000, TriCore

Intel & Intel FPGA: x36/Pentium, XScale, NIOS II, Cyclone, Arria 10

Microchip: AVR32, ARM7, ARM9, Cortex-M3/M4/M7, SAM3/4/7/9/A/C/D/E/G/L/SV, PIC24/PIC32

Microsemi: RISC-V

NXP: LPC, ARM7, ARM9, PowerPC, 68 K, i.MX, ColdFire, Kinetis Cortex-M3/M4

Renesas: SH, HS, V850, RX, RZ, Synergy

Silicon Labs: EFM32

Synopsys: ARC 600, 700, ARC EM, ARC HS

ST: STM32, ARM7, ARM9, Cortex-M3/M4/M7

Tl: C5xxx, C6xxx, Stellaris, Sitara, Tiva-C

Wave Computing: MIPS32 4K, 24 K, 34 K, 1004 K, MIPS64 5K, microAptiv, interAptiv, proAptiv, M-Class

Xilinx: MicroBlaze, PowerPC 405, ZYNQ, ZYNQ UltraSCALE

All timing and size figures listed are estimates and may be different on your development platform.