NicheStack TCP/IPv4

NicheStack is a closed source IPv4 network layer and application implementation for operating systems, written in ANSI "C" and is one of four available from InterNiche Technologies, Inc., designed for use in embedded systems. Its Transport Layer implementation has historical roots in BSD and the IP layer was derived from a Carnegie Mellon University (CMU) implementation. NicheStack been deployed in products from a wide range of companies.

InterNiche's FTP server, Telnet server, DNS client, DHCP client, and IGMP (v1 and v2) components are included in the software package. Supporting a wide variety of physical interfaces, NicheStack's IP layer can be configured as a standard client machine, an IP router, or a multi-homed server. NicheStack IPv4 provides a protocol platform for InterNiche's optional Point-to-Point Protocol (PPP), Web server, DHCP server, email protocols and SNMP. Also available to run on NicheStack are a number of security modules, including SSH, IPsec/IKE and SSL.

NicheStack is marketed as a small-footprint, RFC compliant embedded protocol stack. A minimal Boot Client (ARP, IP, ICMP, UDP, DHCP. and TFTP) can be as small as 12.8 KB. A full featured TCP/IP with a sockets API has a typical total ROM and RAM requirements of 50 KB on a 32-bit processor.

NicheStack's TCP layer is based on "mbufs" and BSD 4.4 Sockets familiar to experienced TCP programmers. All socket operations can be made in a non-blocking mode, including connect(). The "mbuf" data, including headers, is in contiguous buffers to simplify memory management and avoid data copies. Tunable parameters such as MSS (Maximum Segment Size) and the TCP window can be left to runtime logic or be customized by the application.

The IP layer includes

  • Support for network address translation
  • Fragmentation and re-assembly
  • IP Routing: Routes set via ICMP, SNMP, IGP, etc.
  • Loop back test driver
  • Optimized checksum routines
  • Multi Homed IP support
  • Support for Auto-IP Assignment

NicheStack also includes NicheTool, a menu driven utility that assists the process of optimizing NicheStack for the memory usage and performance characteristics of the application. It is customizable by the product development engineers.

See also

  • TCP/IP
  • Internet Engineering Task Force