awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
smoltcp-rs avatar

smoltcp-rs/smoltcp

0
View on GitHub↗
4,496 estrellas·532 forks·Rust·0BSD·6 vistas

Smoltcp

smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded systems. It provides a memory-safe implementation of the internet protocol suite that operates without requiring dynamic heap allocation.

The project is distinguished by its heap-less memory management, using fixed-size buffers and manually allocated memory to ensure deterministic performance. It employs zero-copy packet processing and an interface-based hardware abstraction to decouple the network stack from physical hardware.

The stack covers a broad range of networking capabilities, including connection-oriented TCP streams with congestion control and connectionless UDP datagrams for both IPv4 and IPv6. It supports Ethernet link-layer management, ICMP diagnostic messaging, CIDR-based routing, and specialized 6LoWPAN wireless networking with header compression for low-power environments.

The library includes utilities for network interface administration, raw packet capture, and configurable resource limits to fit the constraints of specific hardware.

Features

  • Bare-Metal Network Stacks - Provides a complete TCP/IP stack for systems without an operating system or dynamic heap memory.
  • TCP/IP Stacks - Provides a memory-safe TCP/IP stack for bare-metal systems without requiring a heap allocator.
  • TCP Connection Management - Implements socket buffer management to coordinate data streams between clients and servers.
  • Connection Lifecycle State Machines - Implements the TCP connection lifecycle using a formal finite state machine for handshakes and congestion control.
  • Ethernet Frame Processing - Implements processing for Ethernet II frames, supporting unicast, broadcast, multicast, and ARP.
  • Ethernet Frame Switching - Handles Ethernet II frame routing for various traffic types and manages ARP entries.
  • Network Stacks - Provides a standalone implementation of layered communication protocols for customized packet routing and processing.
  • Socket Networking - Manages multiple network sockets within a single set to coordinate data flow.
  • TCP Connection Lifecycles - Handles the full TCP connection lifecycle, from initiation to termination and byte stream reception.
  • TCP Client Connections - Enables establishing TCP connections to remote addresses to exchange data streams.
  • TCP Connection Operations - Provides support for window scaling, congestion control, and segment reassembly during active socket operations.
  • TCP Socket Programming - Implements a complete TCP socket system for reliable connection-oriented byte stream exchange.
  • IPv6 Routing Rules - Routes IPv6 traffic via CIDR tables and processes hop-by-hop headers.
  • UDP Datagram Transfers - Transmits connectionless data packets over IPv4 and IPv6 with automatic checksum generation.
  • UDP Endpoint Implementations - Provides the implementation for creating UDP endpoints to exchange connectionless data packets via port binding.
  • IPv4 and IPv6 Unicast and Multicast Routing - Directs outgoing IPv4 and IPv6 packets using default gateways and CIDR route tables.
  • Bare-Metal Runtimes - Provides a networking implementation for embedded systems that operates without requiring dynamic heap allocation.
  • Fixed-Size Buffer Management - Provides a heap-less memory model using fixed-size buffers to ensure deterministic performance on bare-metal systems.
  • Rust Network Frameworks - Provides a memory-safe Rust library for managing network interfaces, sockets, and packet routing.
  • Deterministic Network Memory Management - Ensures predictable performance in real-time systems by using fixed memory allocations for network sockets.
  • 6LoWPAN Networking - Routes IPv6 over low-power wireless networks using header compression and packet fragmentation.
  • Low-Power Wireless Connectivity - Supports IPv6 routing over constrained wireless networks using header compression and fragmentation.
  • Interface Route Definitions - Enables assigning IP addresses and defining default IPv4 and IPv6 routes for the device.
  • ICMP Diagnostic Utilities - The project supports sending ICMPv4 and ICMPv6 echo requests to a remote address to verify connectivity and measure round-trip time.
  • ICMPv4 Message Processing - The project responds to echo requests and monitors sockets for port unreachable or specific identifier messages.
  • ICMPv6 Message Processing - The project responds to echo requests and validates header checksums for IPv6 diagnostic messages.
  • Socket Buffer Management - Enables the allocation of fixed-size transmit and receive buffers to manage data flow without a dynamic heap.
  • Neighbor Discovery Protocol - Implements Neighbor Advertisement and Router Solicitation messages for IPv6 connectivity.
  • Interface-Based IP Assignments - Configures IP addresses and routing tables by mapping them to specific hardware MAC addresses.
  • Network Control Messaging - Generates and responds to ICMPv4 and ICMPv6 control messages such as echo requests.
  • Network Data Compression - Implements 6LoWPAN header compression and decompression for UDP and extension headers.
  • Zero-Copy Packet Processing - Processes network frames by referencing memory slices directly to avoid data duplication during parsing.
  • Resource Limit Configuration - Allows tuning of memory and resource limits for interface addresses and buffer sizes.
  • Protocol Abstraction Layers - Employs a layered architecture to route packets sequentially through Ethernet, IP, and Transport layers.
  • CIDR Route Tables - Implements routing of outgoing traffic by matching destination addresses against CIDR network prefixes.
  • Hardware Abstraction Layers - Uses generic traits to provide a consistent API that decouples the network stack from physical hardware implementations.
  • Network Interface Configurators - Provides utilities for configuring IP addresses and TCP/IP properties on network interfaces.

Historial de estrellas

Gráfico del historial de estrellas de smoltcp-rs/smoltcpGráfico del historial de estrellas de smoltcp-rs/smoltcp

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Smoltcp

Proyectos open-source similares, clasificados según cuántas características comparten con Smoltcp.
  • m-labs/smoltcpAvatar de m-labs

    m-labs/smoltcp

    4,492Ver en GitHub↗

    smoltcp is a TCP/IP stack and network protocol implementation designed for resource-constrained environments and bare-metal hardware. It provides a set of socket interfaces for managing reliable TCP stream connections and connectionless UDP datagrams without relying on a standard library. The project utilizes a fixed memory layout and static memory allocation to manage network state and process packets without a dynamic memory allocator. It includes specialized capabilities for low-power wireless networks, such as header compression and fragmentation for 6LoWPAN. The stack covers the data li

    Rust
    Ver en GitHub↗4,492
  • riba2534/tcp-ip-networknoteAvatar de riba2534

    riba2534/TCP-IP-NetworkNote

    2,505Ver en GitHub↗

    TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP and UDP sockets in C and C++. It provides a detailed manual for using the POSIX socket API and covers the implementation of network protocols, synchronous and asynchronous I/O patterns, and concurrent programming models. The project is distinguished by its focus on cross-platform networking, offering a detailed comparison of socket implementation details and adaptation utilities between Linux and Windows Winsock environments. It specifically addresses the differences in header

    C
    Ver en GitHub↗2,505
  • codeplea/hands-on-network-programming-with-cAvatar de codeplea

    codeplea/Hands-On-Network-Programming-with-C

    701Ver en GitHub↗

    This project serves as a comprehensive tutorial and technical resource for developing network applications in the C programming language. It focuses on the practical application of the Berkeley socket interface, guiding users through the implementation of low-level network protocols and the management of data transmission across both connection-oriented and connectionless streams. The material distinguishes itself by covering the full lifecycle of network communication, from initializing system-level protocol stacks and resolving domain names to managing complex connection behaviors. It provi

    C
    Ver en GitHub↗701
  • systemsapproach/bookAvatar de SystemsApproach

    SystemsApproach/book

    3,298Ver en GitHub↗

    This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra

    Python
    Ver en GitHub↗3,298
Ver las 30 alternativas a Smoltcp→

Preguntas frecuentes

¿Qué hace smoltcp-rs/smoltcp?

smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded systems. It provides a memory-safe implementation of the internet protocol suite that operates without requiring dynamic heap allocation.

¿Cuáles son las características principales de smoltcp-rs/smoltcp?

Las características principales de smoltcp-rs/smoltcp son: Bare-Metal Network Stacks, TCP/IP Stacks, TCP Connection Management, Connection Lifecycle State Machines, Ethernet Frame Processing, Ethernet Frame Switching, Network Stacks, Socket Networking.

¿Qué alternativas de código abierto existen para smoltcp-rs/smoltcp?

Las alternativas de código abierto para smoltcp-rs/smoltcp incluyen: m-labs/smoltcp — smoltcp is a TCP/IP stack and network protocol implementation designed for resource-constrained environments and… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP… codeplea/hands-on-network-programming-with-c — This project serves as a comprehensive tutorial and technical resource for developing network applications in the C… systemsapproach/book — This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical… cesanta/mongoose — Mongoose is an embedded networking library providing TCP/IP stacks, web server hosting, and IoT device connectivity.… cloudius-systems/osv — OSV is a unikernel operating system and cloud-native execution environment designed to run as a secure microVM on…