IPv4/v6 software for network-connected devices
This high performance embedded TCP/IP protocol suite, combined with the RTXC Quadros real-time operating system, gives you everything you need to deploy an Ethernet- or wireless-connected device. Serve up web pages with device status, download firmware updates, perform remote device diagnostics and maintenance, send e-mail alerts, and much more. This suite of networking protocols is specifically designed to bring networking functionality to embedded systems with the high performance and ease-of-use you need.
RTXC Quadnet TCP/IP networking software is designed to support a wide range of applications where connectivity is essential such as data acquisition and data logging, factory automation, CAN-to-Ethernet gateways, building control and security, remote diagnostics and monitoring, point-of-sale kiosks and printers, environmental controls, and medical devices.
The RTXC Quadnet TCP/IP stack is available for IPv4, IPv6 or as a dual IPv4/IPv6 stack. Basic protocols include TCP, IP, UDP, ARP, ICMP, DNS, and DHCP/BOOTP with a Berkeley Sockets API.
Additional networking protocols such as IGMPv3, RIPv2, NAT, AutoIP and PPP are available as add-on modules. Available application level protocols include HTTP (web) server, FTP and TFTP (file transfer), Telnet, SMTP/POP3 (email), and SNMPv1, 2, and 3.
More detailed information:
- High Performance. Zero-copy design and tight coding increase processing speed and overall system efficiency. Zero copy is an efficient way of transferring packets during transmit and receive through the sockets. Instead of having to make an extra copy of the packet data to/from the application buffer to/from the stack buffer, a pointer to the data is passed to either the application or the stack.
- Support for IPv4 and/or IPV6. Available as IPv4 stack, IPv6 stack or dual IPv4/v6 stack. IPv6 stack is fully compliant with all TAHI conformance test suites including IPv6 Neighbor Discovery, IPv6 Path MTU Discovery, IPv6 Stateless Address Auto-Configuration (Prefix Discovery), IPv6 Robustness, IPv6 Specification.
- Fully RFC-compliant. Tested according to the Automated Network Validation Library (ANVL) to ensure RFC compliance.
- Designed for Embedded Systems. Written specifically to meet the needs of embedded applications; not repurposed from publicly available stacks.
- Real-time Design; Tightly Integrated with RTXC Quadros RTOS. Designed for real time, deterministic processing with low latency, preemption, and timer granularity. The stack uses very small, deterministic critical sections. No function calls or loops are allowable inside a critical section, which prevents a task that is running the stack from blocking a higher priority task. The stack is also reentrant, preventing memory corruption during interrupt processing.
- Flexible and Configurable. Choose only the RTXC Quadnet components you need. Then use options within each component to configure RTXC Quadnet to meet the needs of your application.
- Extensively Tested. The Quadnet stack has undergone rigorous testing procedures, including PC-Lint testing, to ensure error free builds when using any ANSI C compiler. To ease implementation and provide a high-level of compliance, Quadnet has also been tested according to the Automated Network Validation Library (ANVL) and to regular TAHI conformance testing (IPv6).
- Auto Configuration at Runtime. Automatic discovery of memory/resource requirements and device environment at runtime, eliminating the need to recompile the stack. The result is higher performance, less wasted memory, and easy set-up.
- ROMable. Allows non-variable data to be stored in ROM, reducing the usage of expensive RAM memory.
- Large Library of device drivers. Quadnet TCP/IP includes device drivers for the most popular Ethernet controllers.
- AutoIP Configuration – The AutoIP configuration APIs allow the user to configure the interface with an AutoIP address, without having to pick a specific IP address. The IP address is automatically selected in the AutoIP v4 address range.
- BOOTP/DHCP client Automatic Configuration – The BOOTP/DHCP interface allows the user to query a BOOTP/DHCP server for an IP address and parameters and default router.
- DHCP Server – Dynamic Host Configuration Protocol. This thin server was developed specifically for use in a small-footprint, embedded system and can configure a small number of clients on a network.
- IGMP v3 – Internet Group Management Protocol facilitates sending and receiving multicast messages and allows a device to join and leave various multicast groups.
- IGMP snooping – Designed to prevent hosts on a local network from receiving traffic for a multicast group they have not explicitly joined
- NAT – The Network Address Translation module enables the Quadnet TCP/IP stack to become a NAT Router. It is primarily used when there is only one IP address to be shared by several machines, or there are multiple IP addresses that need to be flexibly assigned to multiple machines.
- DNS Resolver – Domain Name System Used to translate domain names (URLs) into IP addresses.
- PPP – Point-to-Point Protocol is a low level protocol that establishes and maintains a link between two peers. Includes Link Control Protocol and Network Control Protocol. Supports CHAP and MSCHAP.
- PPPoE – Point to Point over Ethernet
- HTTP Server – Web server used to serve up HTML pages to remote web browsers. Supports HTTP1.1, multiple connections and pipeline requests. Utilizes chunk encoding for DHTML in CGI. Includes ROM file system interface and ROM file image building tool.
- HTTP Client – simple web client intended for basic communication with an HTTP server
- SMTP Client – Simple Mail Transfer Protocol is email client module used to send messages to an SMTP mail server for distribution to standard email addresses.
- POP3 Client – Post Office Protocol v3 allows an embedded device to receive asynchronous status reports and information using email.
- SNMP – Simple Network Management Protocol is used for remote device management. Includes SNMPv1, v2c, or v3 agent, SNMP Abstraction Layer, and the Quadnet Code Generator.
- TFTP Client/Server – Trivial File Transfer Protocol is a lightweight file transfer mechanism. TFTP only requires UDP/IP so it can be used on systems with very limited resources. It is commonly used to transfer a new boot image from a server to the embedded device.
- FTP Client/Server – File Transfer Protocol provides the functionality to transfer files to the embedded device via any FTP software.
- Telnet Client/Server – The Quadnet Terminal Emulator simulates a dumb terminal connected to a host computer (or embedded device). Can run as a single task while supporting multiple connections or in a “main line” loop. Allows remote login to the RTXC Command Shell via a TCP/IP connection.
- SNTP Client – Simple Network Time Protocol Client queries an NTP server for the current time. API allows adjustment for time zone and frequency of NTP query.
The RTXC Quadnet Prioritized Ethernet Framework was developed for applications that need tighter control over Ethernet packet handling. This allows the developer to configure his system so that critical Ethernet packets are given priority treatment. The Prioritized Framework is comprised of the following elements:
- Packet sorting system in the data link layer that uses the VLAN tag (or DiffServ tag) on the packet header to determine the priority level of the incoming packet; Note: VLAN tagging is part of the IEEE 802.1p/802.1Q standard for Ethernet Quality of Service (QoS).
- Multiple stack interfaces for multiple priority-based paths through the networking stack; the number of priority levels is user-configurable
- Buffer management system to regulate buffer utilization and ensure available memory to handle critical packets
- Individual sockets are bound to specific priority levels; all incoming and outgoing traffic on the socket is at the same priority level allowing prioritization to specific services.
- Each priority level processes packets within a different RTXC Quadros RTOS task, which gives the packets preference in processing all the way through the TCP/IP stack.
Quality of Service (QoS) standards have been driven by the IT industry but have not been broadly adopted in the embedded market due to its complexity and cost. Previously, sophisticated packet prioritization has only been available in much larger and costlier systems. The Prioritized Ethernet Framework for the RTXC Quadnet TCP/IP suite now offers an affordable solution for delivering this capability to embedded systems. The RTXC Quadnet Prioritized Ethernet Framework is available as an add-on component to the RTXC Quadnet TCP/IP package.