SEVENSTAX TCP/IP-USB

SEVENSTAX TCP/IP ist ein speziell für den Einsatz in Embedded Systemen entwickelter Internet-Protokoll-Stack. In der Variante SEVENSTAX TCP/IP-USB wird die Übertragung von IP-Paketen über USB ermöglicht. Die Nutzung von Internetprotokollen über USB ist vor allem dann besonders interessant, wenn das Embedded System bereits über eine Ethernet-Schnittstelle verfügt, die ohnehin den Einsatz von Internetprotokollen erfordert. In diesem Fall kann USB als zusätzliche Serviceschnittstelle für die Verbindung zu einem PC verwendet werden. Dabei können die gleichen Protokolle und Applikationen (z.B. Webserver) verwendet werden, was erheblich Entwicklungsaufwand und Komplexität einspart. Auf dem PC wird das USB-Interface dabei als Netzwerkkarte erkannt.

Neben dem Internet Protokoll Version 4 (IPv4) sind bereits alle weiteren wichtigen Protokolle enthalten.

  • Internet Protocol Version 4 (IPv4) basierend auf RFC 791

    • Subnetzmaske mit CIDR-Blöcken (Classless Inter-Domain Routing, RFC 1518 und RFC 1519)
    • IP-Fragmentierung und Reassembly nach RFC 791, RFC 815
    • Prüfung von IP-Adresse/Subnetz auf Gültigkeit (RFC 3330)

  • Transmission Control Protocol (TCP) basierend auf RFC 675, RFC793, RFC 1323

    • Prüfsummen nach RFC 1071
    • TCP-Extensions nach RFC 1323
    • Fehlerkorrektur-Algorithmen (RFC1122)
    • gleichzeitiger Betrieb von TCP-Server- und -Client-Mode
    • keine Limitierung der Anzahl gleichzeitiger Verbindungen
    • vollständige Frame-Size-Kontrolle (TCP-Segmentation nach RFC 879)
    • Sliding-Window-Technik (RFC 793)
    • Keep-Alive-Pakete (RFC 1122)
    • Schutz vor „Sequence Number Attacks“ (RFC 1948)
    • Fast-Retransmission-Algorithmus

  • User Datagram Protocol (UDP) basierend auf RFC 768
  • Domain-Name-System (DNS) Client basierend auf RFC 1034, RFC 1035
  • Internet Control Message Protocol (ICMP) basierend auf RFC 792

    • Senden von ICMP-Host-Messages
    • Empfangen von ICMP-Host- und Router-Messages

  • Internet Group Management Protocol (IGMP)

    • Version 1 (RFC 1112)
    • Version 2 (RFC 2236)

  • (Simple) Network Time Protocol (NTP/SNTP) basierend auf RFC 958, 4330

USB Devicestack & USB Deviceclass

Das SEVENSTAX TCP/IP-USB verwendet den USB-Devicestack der Firma Thesycon (www.thesycon.de) als lower-layer Kommunikationsstack. Es können die folgenden USB-Device-Klassen für die IP-basierte Kommunikation über USB verwendet werden:

  • RNDIS
  • ECM/NCM

Für die Kommunikation über USB werden Ethernet-Frames über USB gesendet und empfangen. Die für diese Ethernet-Kommunikation notwendigen Module werden mitgeliefert:

  • Address Resolution Protocol (ARP) basierend auf RFC 826

    • priorisierter ARP-Cache

  • Dynamic Host Configuration Protocol (DHCP) basierend auf RFC 2131

    • Folgende DHCP-Optionen (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

  • Bootstrap Protocol (BOOTP) basierend auf RFC 951

USB Device Core

Der Thesycon USB Device Core ist für zahlreiche USB-Device-Controller verfügbar. Sollte ein USB-Controller noch nicht unterstützt werden, so kontaktieren Sie uns bitte. Wir bieten die entsprechende Treiberentwicklung gerne an.

Optional

Folgende Subprotokolle und Services sind separat erhältlich:

  • Domain-Name-System (DNS) Server: siehe SEVENSTAX ZeroConf
  • Multicast DNS (mDNS & DNS Service Discovery (DNS-SD): siehe SEVENSTAX ZeroConf
  • DHCP-Server (auf Anfrage)
  • L2-Softswitch - ermöglicht die Verbindung des USB-Interfaces und eines Ethernet-Interfaces ähnlich wie mit einem Hardwareswitch. PC's, die per USB mit dem Embedded System verbunden sind, können auch mit einem per Ethernet an das Embedded System angeschlossenen Netzwerk kommunizieren.

Eigenschaften

  • Eigenentwicklung für Embedded Systeme
  • minimaler RAM/ROM-Verbrauch
  • Zero-Copy
  • einfache API-Funktionen
  • ANSI-C Quellcode
  • arbeitet mit und ohne RTOS
  • keine "GPL-Kontamination"
  • keine Stückzahl-Lizenzen
  • MISRA geprüft

Lieferumfang

  • Gut dokumentierter Sourcecode
  • User Manual
  • Softwarelizenz

Systemanforderungen

  • 32-Bit Timer/Counter, Genauigkeit: 1ms
  • ROM: auf Anfrage
  • RAM: auf Anfrage

Lizenzen

  • Projekt-Lizenz
  • CPU-Lizenz
  • Company-Lizenz
  • Preise: aurjcf Assg9nfragevi (infpqo@smhevenstax.duq3ce/8u)