CycloneTCP Datasheet

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3
At a glance
Powered by AI
CycloneTCP is an embedded TCP/IP stack that supports both IPv4 and IPv6. It has a modular design and supports various protocols for network communication and embedded operating systems.

CycloneTCP supports many application layer protocols like HTTP, CoAP, MQTT as well as transport layer protocols like TCP, UDP. It also supports protocols for network configuration like DHCP, DNS.

CycloneTCP supports various real-time operating systems like FreeRTOS, ChibiOS as well as non-RTOS environments. It can also be used with desktop operating systems in embedded projects.

CycloneTCP

Embedded TCP/IP Stack (IPv4/IPv6)

CycloneTCP is a dual IPv4/IPv6 stack dedicated to embedded


applications. CycloneTCP conforms to RFC standards and offers
seamless interoperability with existing TCP/IP systems. By
supporting IPv6, CycloneTCP eases deployment of next-
generation Internet. The stack is distributed as a full ANSI C and
highly maintainable source code.

Main Features
Dual stack (IPv4 and/or IPv6)
Built-in support for multiple network interfaces
Flexible memory footprint (built-time configuration to embed only the necessary features)
Configurable memory model (static memory pool or heap memory allocation)
Portable architecture (no processor dependencies)
Straightforward port to any RTOS
Highly maintainable source code
Debugging and trace functionality to ease development and integration
BSD style socket API
Blocking/non-blocking socket operation and event-driven functions (select and poll)
Efficient data transfer through zero copy
Well-crafted TCP module with selective acknowledgement (SACK) and congestion control
Raw socket interface
IP fragmentation and reassembly support
Support for virtual interfaces (multiple MAC addresses per physical interface)
Support for multi-homed hosts (multiple IPv4 addresses per interface)
Ethernet port multiplication using VLAN tagging (SMSC switches) or tail tagging (Micrel switches)
VLAN support (802.1q and 802.1ad)
USB Device RNDIS class driver (for STM32 microcontrollers)

© 2010-2021 Oryx Embedded www.oryx-embedded.com


CycloneTCP
Embedded TCP/IP Stack (IPv4/IPv6)

Supported Protocols Supported Processors


DNS client ARM Cortex-M3
NetBIOS client and responder ARM Cortex-M4
LLMNR client and responder ARM Cortex-M7
mDNS client and responder ARM Cortex-R4
DNS-SD responder (DNS-based service ARM Cortex-A5
discovery) ARM Cortex-A8
DHCP client and server ARM Cortex-A9
Auto-IP (dynamic configuration of IPv4 link- Legacy ARM7TDMI / ARM926EJ-S
RISC-V
local addresses)
MIPS M4K
DHCPv6 client and relay agent
MIPS microAptiv
SLAAC (IPv6 stateless address
Infineon TriCore AURIX
autoconfiguration)
PowerPC e200
Multicast support (IGMPv2 and MLDv1) Coldfire V2
FTP / FTPS client and server (implicit TLS and RX600
explicit TLS modes supported) AVR32
HTTP / HTTPS client Xtensa LX6
HTTP / HTTPS server with SSI, CGI scripting
and WebSocket support Supported Compilers / Toolchains
HTTP/2 client (including HPACK compression, GNU GCC / Makefile
server push and https scheme) AC6 System Workbench for STM32
MQTT v3.1.1 client (TCP, TLS, WebSocket and (SW4STM32)
secure WebSocket transport layers HighTec Toolset for TriCore
supported) IAR Embedded Workbench
MQTT-SN client (UDP and DTLS transport Infineon DAVE
layers supported) Keil MDK-ARM
CoAP client and server (DTLS-secured CoAP, Microchip Studio (Atmel Studio) & MPLAB X
Observe and Block-Wise Transfers Microsoft Visual Studio
supported) NXP MCUXpresso
SMTP client Renesas e2Studio
SNTP client (network time synchronization) Segger Embedded Studio
SNMP agent (SNMPv1, SNMPv2c and ST STM32CubeIDE & TrueSTUDIO
SNMPv3 supported) TI Code Composer Studio (CSS)
Remote management of SNMP users and
Supported Operating Systems
access rights (SNMP-USM-MIB and SNMP-
VACM-MIB) Amazon FreeRTOS
Standard MIBs: MIB-II, IF-MIB, IP-MIB, TCP- ChibiOS/RT
MIB, UDP-MIB, SNMPv2-MIB CMSIS-RTOS
TFTP client and server CMSIS-RTOS2 (RTXv5 and FreeRTOS)
Keil RTX
Modbus/TCP client and server (Modbus/TCP
Micrium µC/OS-II and µC/OS-III
security supported)
Microsoft Azure RTOS (ThreadX)
WebSocket client and server (WebSocket
Segger embOS
connections tunneled over SSL/TLS
SYS/BIOS (TI-RTOS)
supported) Bare Metal programming (without RTOS)
PPP (Point-to-Point Protocol)

© 2010-2021 Oryx Embedded www.oryx-embedded.com


CycloneTCP
Embedded TCP/IP Stack (IPv4/IPv6)

Data Link Layer (PPP) Application Layer


RFC 1332: The PPP Internet Protocol Control RFC 959: File Transfer Protocol (FTP)
Protocol (IPCP) RFC 1035: Domain Names – Implementation and Specification
RFC 1334: PPP Authentication Protocols RFC 1157: A Simple Network Management Protocol (SNMP)
RFC 1661: The Point-to-Point Protocol (PPP) RFC 1213: Management Information Base for Network
RFC 1662: PPP in HDLC-like Framing Management of TCP/IP-based internets (MIB-II)
RFC 1350: The TFTP Protocol (Revision 2)
RFC 1994: PPP Challenge Handshake Authentication
RFC 1769: Simple Network Time Protocol (SNTP)
Protocol (CHAP)
RFC 1905: Protocol Operations for Version 2 of the Simple
RFC 2472: IP Version 6 over PPP
Network Management Protocol (SNMPv2)
RFC 1945: Hypertext Transfer Protocol - HTTP/1.0
Network Layer (IPv4) RFC 2131: Dynamic Host Configuration Protocol
RFC 791: Internet Protocol Specification RFC 2132: DHCP Options and BOOTP Vendor Extensions
RFC 2616: Hypertext Transfer Protocol - HTTP/1.1
RFC 792: Internet Control Message Protocol
RFC 2617: HTTP Authentication: Basic and Digest Access
Specification
Authentication
RFC 815: IP Datagram Reassembly Algorithms
RFC 2818: HTTP Over TLS
RFC 826: Ethernet Address Resolution Protocol
RFC 2863: The Interfaces Group MIB
RFC 1112: Host Extensions for IP Multicasting RFC 3207: SMTP Service Extension for Secure SMTP over
RFC 1122: Requirements for Internet Hosts - Transport Layer Security
Communication Layers RFC 3315: Dynamic Host Configuration Protocol for IPv6
RFC 2113: IP Router Alert Option (DHCPv6)
RFC 2236: Internet Group Management Protocol, RFC 3410: Introduction and Applicability Statements for
Version 2 Internet Standard Management Framework
RFC 3927: Dynamic Configuration of IPv4 Link-Local RFC 3411: An Architecture for Describing SNMP Management
Addresses Frameworks
RFC 5227: IPv4 Address Conflict Detection RFC 3412: Message Processing and Dispatching for the SNMP
RFC 3413: Simple Network Management Protocol (SNMP)
Applications
Network Layer (IPv6) RFC 3414: User-based Security Model (USM) for version 3 of
RFC 2460: Internet Protocol, Version 6 (IPv6) the Simple Network Management Protocol (SNMPv3)
Specification RFC 3415: View-based Access Control Model (VACM) for the
RFC 2464: Transmission of IPv6 Packets over Simple Network Management Protocol (SNMP)
Ethernet Networks RFC 3418: Management Information Base (MIB) for the Simple
RFC 2710: Multicast Listener Discovery (MLD) for Network Management Protocol (SNMP)
IPv6 RFC 3584: Coexistence between Version 1, Version 2, and
Version 3 of SNMP Framework
RFC 3484: Default Address Selection for Internet
RFC 3646: DNS Configuration options for DHCPv6
Protocol version 6 (IPv6)
RFC 3826: AES Cipher Algorithm in the SNMP User-based
RFC 3493: Basic Socket Interface Extensions for IPv6
Security Model
RFC 4291: IP Version 6 Addressing Architecture
RFC 4022: MIB for the Transmission Control Protocol (TCP)
RFC 4294: IPv6 Node Requirements RFC 4113: MIB for the User Datagram Protocol (UDP)
RFC 4443: Internet Control Message Protocol RFC 4293: MIB for the Internet Protocol (IP)
Version 6 (ICMPv6) Specification RFC 4795: Link-local Multicast Name Resolution (LLMNR)
RFC 4861: Neighbor Discovery for IP version 6 (IPv6) RFC 4954: SMTP Service Extension for Authentication
RFC 4862: IPv6 Stateless Address Autoconfiguration RFC 5321: Simple Mail Transfer Protocol
RFC 6106: IPv6 Router Advertisement Options for RFC 6455: The WebSocket Protocol
DNS Configuration RFC 6762: Multicast DNS
RFC 6763: DNS-Based Service Discovery
Transport Layer RFC 7252: The Constrained Application Protocol (CoAP)
RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
RFC 768: User Datagram Protocol RFC 7541: HPACK Header Compression for HTTP/2
RFC 793: Transmission Control Protocol RFC 7641: Observing Resources in the Constrained Application
RFC 2018: TCP Selective Acknowledgment Options Protocol (CoAP)
RFC 5681: TCP Congestion Control RFC 7860: HMAC-SHA-2 Authentication Protocols in the User-
RFC 6298: Computing TCP's Retransmission Timer based Security Model
RFC 6528: Defending against Sequence Number RFC 7959: Block-Wise Transfers in the Constrained Application
Attacks Protocol (CoAP)

© 2010-2021 Oryx Embedded www.oryx-embedded.com

You might also like