|
RTIP-32 - Embedded TCP/IP Network Stack
RTIP-32 is a TCP/IP stack for embedded systems. It provides
deterministic, configurable memory usage, a table driven device driver
interface and an easy-to-use Berkeley socket compatible API. The network
configuration can be set statically or obtained dynamically at runtime
using RARP, BOOTP, and optionally DHCP protocols.
RTIP-32 supports simultaneous communications over multiple Ethernet and
serial port interfaces. It supports the protocols UDP, TCP, ARP,
RARP, BOOTP, IGMP, ICMP, NAT, and NATP. Numerous add-ons are available to
extend RTIP-32's range of supported protocols (see below).
Features
- Full Source Code Available
- BOOTP, RARP, ARP, ICMP, UDP, TCP, DNS, NAT, NATP Protocols Included
- Fast and Robust TCP Implementation
- Supports IP Fragments
- Supports Multiple Interfaces and NAT Routing
- Standard Berkeley Unix Sockets API with Extensions
- Support for Encrypted (SSL/TLS) Network Communication
- IP/UDP/TCP Checksum Offloading on All Gigabit Ethernet Interfaces
- Many Add-Ons (High-Level Protocols) Available
Driver Support
RTIP-32 comes with drivers for the Ethernet controllers listed in the
table below. For serial connections, a SLIP/CSLIP driver is included with
RTIP-32. A PPP driver is available as an add-on.
New drivers are being developed continually. If your hardware is not
listed here, please Email address at On Time to check whether a
suitable driver has been added in the meantime.
Vendor |
Model |
Bus |
Speed |
NS RealTek |
NE2000 RTL8019 |
ISA |
10Mbs |
NS |
DP83815 DP83816 |
PCI |
10/100Mbs |
3COM |
3C900B 3C905B 3C905C |
PCI |
10/100Mbs |
SMC |
SMC91C90 SMC91C92 SMC91C94 SMC91C96 SMC91C100 SMC91C110 SMC91C111 |
ISA |
10/100Mbs |
AMD |
79C960 79C961 79C965 |
ISA |
10Mbs |
AMD |
79C970 |
PCI |
10Mbs |
AMD |
79C972 79C973 79C975 |
PCI |
10/100Mbs |
Crystal |
CS8900 CS8920 |
ISA |
10Mbs |
Intel |
82551 82558 82559 82562 82801 |
PCI |
10/100Mbs |
Intel (Gigabit Ethernet) |
82540/1/2/3/4/5/6/7 82567 82571/2/3/4/7/8/9 82583 80003 ICH8/9/10 i217 i218 i219 DH89XXCC |
PCI |
10/100/1000Mbs |
Intel (Gigabit Ethernet) |
82575 82576 82580 i210 i211 i350 i354 |
PCI |
10/100/1000Mbs |
Intel (2.5 Gigabit Ethernet) |
i255 |
PCI |
100/1000/2500Mbs |
Intel (10 Gigabit Ethernet) |
82598 82599 X540 X550 |
PCI |
1Gbs/10Gbs |
Intel (Gigabit Ethernet) |
EG20T |
PCI |
10/100/1000Mbs |
ROHM Semiconductor (Gigabit Ethernet) |
ML7223 ML7831 |
PCI |
10/100/1000Mbs |
RealTek |
8129 8139 8139C+ |
PCI |
10/100Mbs |
RealTek (Gigabit Ethernet) |
8168/9 8100/1/2/4/3/5/6 8110/1 8401 |
PCI |
10/100/1000Mbs |
D-Link |
DGE-528T |
PCI |
10/100/1000Mbs |
TP-Link |
TG-3468 |
PCI |
10/100/1000Mbs |
Corega |
CG-LAPCIGT |
PCI |
10/100/1000Mbs |
Linksys |
EG1032 |
PCI |
10/100/1000Mbs |
USRobotics |
997902 |
PCI |
10/100/1000Mbs |
Davicom |
DM9102A |
PCI |
10/100Mbs |
STMicroelectronics |
STE10/100A |
PCI |
10/100Mbs |
VIA Technologies |
VT6105L (Rhine) VT8235 VT8237 |
PCI |
10/100Mbs |
VIA Technologies |
VT6122 VT6130 VT6132 |
PCI |
10/100/1000Mbs |
RDC |
R6040 |
PCI |
10/100Mbs |
DEC/Intel |
21xx4x (Tulip) |
PCI |
10/100Mbs |
ASIX |
AX88172 AX88772 |
USB |
10/100Mbs |
ASIX |
AX88178 |
USB |
10/100/1000Mbs |
any |
USB CDC ECM class |
USB |
100/1000Mbs |
RTIP-32 High-Level Protocol Add-Ons
- IPv6
An IPv4/IPv6 dual mode version of RTIP-32
is also available. Please Email address On Time for details.
- PPP Driver Add-On
The PPP Driver for serial
communications supports LCP, PAP, and IPCP. The PPP Driver runs in both
passive and active modes. Modem dialing and script processing for login
procedures is supported.
- FTP Client/Server Add-On
The FTP Client/Server
add-on supports file transfers over TCP/IP. The FTP module uses a virtual
file system layer, allowing easy integration with RTFiles-32 or a RAM
file system.
- TFTP Client/Server Add-On
TFTP provides a simple
file send and retrieve mechanism via UDP. Unlike true FTP, TFTP does not
support advanced features such as browsing remote directories, changing
directories, etc. It can be used for file transfers of known file names in
small systems which prefer not to load the full TCP protocol (e.g., a boot
loader which only retrieves a remote boot image).
- Web Server Add-On
The RTIP-32 Web Server is a
full-featured HTTP/HTTPS server specifically designed for embedded
systems. With very little additional overhead, an embedded system can
display static or dynamic HTML pages on PCs running a standard Web
browser. The RTIP-32 Web Server supports HTML forms and CGI (server side
scripts). CGI script names are mapped to C/C++ functions of the
application.
- POP3 Client Add-On
The POP3/POP3S Client can
retrieve mail information and email messages, possibly with attachments,
from a POP3 Server.
- SMTP Client Add-On
The SMTP/SMTPS Client can
send emails, possibly with attachments, to an SMTP Server. Optional SMTP
Authentication is supported.
- TELNET Client Add-On
The Telnet Client add-on
provides a VT100 terminal emulator package for a PC console and the
necessary socket management code to establish and maintain an interactive
or automated Telnet session.
- TELNET Server Add-On
The Telnet Server can
accept and process commands over the network from any Telnet client and
return the results to the client. There are no limits to the number or
complexity of commands the application can implement.
- SNMP Agent Add-On
The SNMP (Simple Network
Management Protocol) can be used to retrieve configuration, performance,
and statistics information about a network node. In addition,
configuration parameters can be sent to a network node running RTIP-32.
The RTIP-32 SNMP agent supports versions SNMPv1 and SNMPv2. Both provide
the capability to retrieve and set internal RTIP-32 data.
- DHCP Client Add-on
Using the DHCP Client API,
an application can obtain an IP address, network configuration
parameters, or both. The DHCP client will automatically extend its lease
in the background before it expires.
- DHCP Server Add-on
The DHCP Server Add-on
manages a pool of IP addresses for all DHCP clients on a network LAN
segment as a background service.
- SNTP Client Add-on
SNTP (Simple Network Time
Protocol) is a protocol to synchronize the clocks of computers over a
TCP/IP network. The SNTP Client can request the current date and
time-of-day from an SNTP server, which the application in turn can use to
set the clock of the local computer. The SNTP Client adjusts the time
received by a timezone offset and the actual transmission time. For most
networks, the achieved accuracy is better than 1 second.
- SMB3 Client
CIFS (Common Internet File System)
or SMB (Server Message Block) is a protocol designed by Microsoft to allow
networked computers to share files. The SMB3 Client allows an On Time
RTOS-32 embedded system to access files located on a network share
published by another computer on the network. The file I/O API is the
standard Win32 API also used to access local files. Thus, application
programs can open files with the same functions (e.g.,
fopen("\\\\Server\\Share\\C\\SomeFile.txt", "rt")). Through its optional
code page and UTF-8 support, the SMB3 Client has full Unicode support. The
SMB3 Client supports SMB protocol versions 1, 2, and 3.1.1. This product
includes the license required by Microsoft to use the SMB protocol.
- SMB3 Server
The SMB3 Server allows an On Time
RTOS-32 embedded system to publish network directories such that other
computers on the network can access files on them. Client computers can
either be Windows PCs or other computers with SMB client software
installed (for example, Samba or the On Time RTOS-32 SMB3 Client). Full
user authentication is supported to restrict usage to no access,
read-only, or read-write permission. Through its optional code page and
UTF-8 support, the SMB3 Server provides full Unicode support. The SMB3
Server supports SMB protocol versions 1, 2, and 3.1.1. This product
includes the license required by Microsoft to use the SMB protocol.
|