Various versions of our TCP/IPv4/IPv6 Networking Stack has been deployed in both commercial and military applications for 25 years. Designed as a reusable software component, our TCP/IPv4/IPv6 Networking Stack provides the performance and reliability that you need for even the most demanding embedded applications. It is a customizable reusable component meeting the demands of microcontroller (MCU), microprocessor (MPU), digital signal processor (DSP), digital signal controller (DSC), and FPGA developers who need scalability in memory and performance. It is an ideal component for any machine to machine (M2M) system.
TCP/IPv4/IPv6 Network Stack Overview
By standardizing the TCP/IPv4/IPv6 networking stack architecture and interfaces, the TCP/IPv4/IPv6 networking stack becomes a pluggable component which may be implemented with the stack of your choice. Today RoweBots offers two alternatives dealing with different performance, feature and size requirements.
The following diagram shows the two levels of Internet related protocols. The upper level are all high level protocols and the subject of another article which many be found with this link. The lower half of the diagram is what is in discussion here. The TCP/IPv4/IPv6 protocols and the various elements which are included to ensure that users get all the features that they require.
The current versions of the stacks have options for:
- ● direct on chip Ethernet MAC or SPI based
- ● a single interface or multiple interfaces
- ● a complete TCP/IPv4/IPv6 Stack
- ● a smaller UDP Stack
- ● variable size buffer space and locations
- ● small high performance ipv4
- ● larger mixed IPV4/V6
- ● IPV6 only
- ● tailorable sizes with conditional compilation to eliminate unnecessary features
- ● serial and packet based interfaces for both wireless and wireline devices
- ● and a Berkely Sockets Interface (POSIX and Linux compatible) for all the stacks with standard error codes and IOCTL options.
The combination of these stacks offers the optimal tradeoff between tiny size, intermediate size and performance, and very high performance with substantial resources available.
Fully integrated with our POSIX RTOS or ultra tiny embedded Linux compatible products, Unison and DSPNano, our stack saves you precious development time on your project. Since our TCP/IP stack works with all supported processors, you can make the move to new processors quickly and easily, and have the best resource and performance trade off for your system.
With reference to the diagram, you can see the POSIX or BSD sockets interface as the highest level item. Below this standard interface, there is a set of protocols which implement the various internal RFCs associated with the protocols. There is a list of these RFCs below. The lowest layer, accessed through the NetIF provides multiple device interfaces to the lowest level elements of the stack. These elements are replaceable components for both wireline and wireless interfaces for both packet transmission and serial packet transmission.
The off the shelf TCP/IPv4/IPv6 proocol features are:
- ● IPV4
- ● IPV6
- ● ARP
- ● IP
- ● UDP
- ● ICMP
- ● IGMP
- ● TCP
- ● DHCP client and server (although an upper level protocol, the client is bundled with the TCP/IPv4/IPv6 component as it is invariably used today)
- ● PPP with appropriate security protocols
- ● Dynamic routing - NAT with PAT
- ● Wireless 6loWPAN and WiFi with packet based interfaces
- ● Wireless integration for WiFi
- ● Wireless support for machine to machine communications (M2M) wide area networks using GSM/GPRS, UHF, LTE and other protocols
- ● Wireline support for both packet and serial communication devices
TCP/IPv4/IPv6 Network Stack Selection
Mixed IPV4 and V6 are fully functional versions with much greater resource usage. For this reason, an IPV4 only stack is provided which maximizes features while minimizing size. . Most MCUs need low resource usage and low cost.
If IPV6 or mixed IPV4/V6 is required there is a second network stack to meet your needs. It is fully functional with conditional compilation allowing a subset of features if desired. It has complete SNMP instrumentation. This stack is also very small and features can be expanded as required. For microprocessors (MPUs) and FPGAs this is the natural choice. For medium and large microcontrollers (MCUs) this is the most functional choice with small cost.
One key feature of the approaches that we take in both DSPnano and Unison is a modular architecture. For this reason, various TCP stacks can be used to suit the application. Very tiny applications need solutions like UDP only, high functionality high performance applications can use our stock TCP stack and very full featured requirements can use our mixed IPV4/V6 stack with multple interfaces, security and greater buffer space.
TCP/IPv4/IPv6 Network Stack Feature Support
- ● Source code for TCP/IP, UDP, ICMP, ARP, RARP, TFTP, DHCP client, IKE, IPSec and IGMPv1/v2/v3.
- ● Static routes
- ● Zero Copy
- ● BSD/POSIX standard Sockets compatible with Linux, embedded Linux and other POSIX offerings
- ● Documentation both at the architectural level and at the operational level.
- ● 20+ Demonstration programs with Windows and Linux host programs for testing.
- ● Microcontroller (MCU), digital signal controller (DSC), digital signal processor (DSP), FPGA and microprocessor (MPU) support with a broad set of vendors.
- ● 100% ANSI C compliant, MISRA compliant, C++ interface options
- ● A straightforward RTOS API makes RTOS porting extremely simple. Six 5 function calls are required to interface with an RTOS and POSIX I/O behavior is guaranteed by the POSIX sockets.
- ● Heap allocation mechanism with fixed size buffers and memory allocation at startup which ensures deterministic memory usage.
- ● Numerous build-time configuration options to tailor functionality and capabilities.
- ● Run-time configuration to dynamically control the operating environment as per POSIX specifications.
- ● Volume based and Royalty-free license options.
- ● Open source TCP/IPv4 option, free for non commercial development under Rowebots' license.
- ● Full integration with higher level protocols and security protocols.
- ● Standards based throughout: RFCs (see below), POSIX sockets.
- ● Multiple packet based and serial based wireline and wireless network interfaces.
- ● Full range of wireless support including WiFi, 6loWPAN, GPRS/GSM, etc for Machine to Machine Communications (M2M) in just 10 minutes out of the box.
- ● Redundant routing with fail over
- ● Efficient DMA usage options
- ● Host and router support with complete firewall and filtering capabilities.
- ● TCP/IPv4/IPv6 auto addressing and configuration.
- ● Multi-homing.
- ● Tailorable size options with feature selection to create a minimal footprint.
- ● Performance tuning options to trade size and performance.
- ● Excellent performance - measure yourself with off the shelf demonstrations. iperf compatible implementations.
- ● Off the shelf operation on a broad set of off the shelf evaluation hardware for microcontrollers (MCU), microprocessors (MPU), digital signal processors (DSP), digital signal controllers (DSC) and FPGAs. These standard boards are available from the processor vendors and from the various wireless module vendors.
The current set of RFC's that are supported include:
- RFC 768
- - UDP User Datagram Protocol
- RFC 791
- - IPv4 Internet Protocol
- RFC 792
- - ICMP Internet Control Message Protocol
- RFC 793
- - TCP Transmission Control Protocol
- RFC 813
- - Window & Acknowledgement Strategy in TCP
- RFC 826
- - Ethernet Address Resolution Protocol
- RFC 896
- - Congestion Control in TCP/IP Inter-networks
- RFC 903
- - Reverse Address Resolution Protocol
- RFC 1058
- - Routing Information Protocol
- RFC 1112
- - Host Extension for IP Multicast
- RFC 1122
- - Requirements for Internet Hosts – Communication layers
- RFC 1144
- - Compressing TCP/IP Headers for low speed links
- RFC 1256
- - ICMP Router Discovery Messages
- RFC 1323
- - TCP Extensions for High Performance
- RFC 1349
- - TOS Bit Type of service In Internet Protocol
- RFC 1388
- - Routing Information Protocol V2
- RFC 1644
- - TCP Extensions for Transactions T/TCP
- RFC 2001
- -TCP Slow Start Congestion Avoidance
- RFC 2018
- - TCP Selective Acknowledgment Options
- RFC Other
- - Consult factory for current RFC upgrades
- RFC 1886
- - DNS Extensions to Support IPv6
- RFC 1981
- - Path MTU Discovery for IPv6
- RFC 2460
- - Internet Protocol Version 6
- RFC 2461
- - Neighbor Discovery for IPv6
- RFC 2462
- IPv6 Stateless Address Autoconfiguration
- RFC 2463
- - IPv6 Internet Control Message Protocol (ICMPv6) for IPv6
- RFC 2464
- - Transmission of IPv6 Packets over Ethernet Networks
- RFC 2710
- - Multicast Listener Discovery (MLD) for IPv6 (host-side only)
- RFC 2711
- - IPv6 Router Alert Option
- RFC 2893
- - Transition Mechanisms for IPv6 Hosts and Routers
- RFC 3041
- - Privacy Extensions for Stateless Address Auto-configuration in IPv6
- RFC 3484
- - Default Address Selection for IPv6
- RFC 3487
- - IPv6 Global Unicast Address Format
- RFC 3493
- - Basic Socket Interface Extensions for IPv6
- RFC 3513
- - IPv6 Addressing Architecture
- RFC 6071
- - IPSec and IKE
- RFC Other
- - Consult factory for current RFC upgrades
The Unison tcp-ip4-ipv6-networking-stack is unequaled for embedded devices with maximum size and performance customization - available immediately.
You don`t have permission to comment here!