SEVENSTAX TCP/IP-USB
SEVENSTAX TCP/IP is an internet protocol stack developed specifically for the use in embedded systems.
The variant SEVENSTAX TCP/IP-USB provides the possibility to transfer IP-packets via USB. Using internet protocols via USB is an attractive solution when an embedded system have an Ethernet interface which requires internet protocols anyway. In this case USB can be used as an additional service interface to connect a PC. Thereby, the same protocols and applications (e.g. Webserver) can be used which saves immense amount of development effort and decreases complexity. The USB interface is recognized as a network card by the PC.
In addition to the Internet Protocol Version 4 (IPv4) all important protocols are included.
- Internet Protocol Version 4 (IPv4) based on RFC 791
- Subnetmask with CIDR blocks (Classless Inter-Domain Routing, RFC 1518 and RFC 1519)
- IP fragmentation and reassembly according to RFC 791, RFC 815
- Validation of IP address/subnet (RFC 3330)
- Transmission Control Protocol (TCP) based on RFC 675, RFC793, RFC 1323
- Checksum according to RFC 1071
- TCP extensions according to RFC 1323
- Error correction algorithms (RFC1122)
- Simultaneous operation in TCP server and TCP client mode
- No limitation of simultaneous connections
- Full frame size control (TCP segmentation according to RFC 879)
- Sliding window technique (RFC 793)
- Keep-alive packets (RFC 1122)
- Protection against „Sequence Number Attacks“ (RFC 1948)
- Fast retransmission algorithm
- User Datagram Protocol (UDP) based on RFC 768
- Domain Name System (DNS) client based on RFC 1034, RFC 1035
- Internet Control Message Protocol (ICMP) based on RFC 792
- Sending ICMP host messages
- Receiving ICMP host and router messages
- Internet Group Management Protocol (IGMP)
- Version 1 (RFC 1112)
- Version 2 (RFC 2236)
- (Simple) Network Time Protocol (NTP/SNTP) based on RFC 958, 4330
USB Devicestack & USB Deviceclass
SEVENSTAX TCP/IP-USB uses the Thesycon's USB device stack (www.thesycon.de) as a lower-layer communication stack. The following USB device classes can be used for IP-based communication via USB:
- RNDIS
- ECM/NCM
The Ethernet frames for communication via USB are sent and received via the USB. The modules required for this communication are included:
- Address Resolution Protocol (ARP) based on RFC 826
- Prioritized ARP cache
- Dynamic Host Configuration Protocol (DHCP) based on RFC 2131
- DHCP options (RFC 2132):
- 0 DHCP_OPT_PAD
- 1 DHCP_OPT_SBNT_MASK
- 3 DHCP_OPT_RTR
- 6 DHCP_OPT_DMN_SRV
- 12 DHCP_OPT_HOSTNAME
- 42 DHCP_OPT_NTP_SRV
- 50 DHCP_OPT_ADDR_REQ
- 51 DHCP_OPT_ADDR_TIME
- 53 DHCP_OPT_MSG_TYPE
- 54 DHCP_OPT_SRV_ID
- 55 DHCP_OPT_PARM_LIST
- 116 DHCP_OPT_AUTO_CFG
- 255 DHCP_OPT_END
- DHCP options (RFC 2132):
- Bootstrap Protocol (BOOTP) based on RFC 951
USB Device Core
Thesycon's USB Device Core is available for numerous USB device controllers. If a USB controller is not supported yet, please contact us, we also offer development of the required driver.
Optional
The following subprotocols and services are available:
- Domain-Name-System (DNS) Server: see SEVENSTAX ZeroConf
- Multicast DNS (mDNS & DNS Service Discovery (DNS-SD): see SEVENSTAX ZeroConf
- DHCP-Server (on request)
- L2-Softswitch - connects usb- and ethernet-interface (similar to a hardware ethernet switch). PC connected to the embedded systems via USB can access devices which are connected to this embedded systems via Ethernet.