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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
xtaci avatar

xtaci/kcp-go

0
View on GitHub↗
4,518 stars·800 forks·Go·MIT·20 views

Kcp Go

kcp-go is a Go library implementing the KCP protocol for reliable data transmission over UDP. It provides a stream-based transport layer and an automatic repeat request network protocol to ensure ordered delivery while reducing network tail latency.

The project differentiates itself through the use of forward error correction via Reed-Solomon codes to reconstruct lost packets without retransmissions. It also implements secure UDP tunneling by using block ciphers to encrypt both packet headers and payloads.

The library includes capabilities for high-throughput networking through batch system call processing and memory recycling. It further optimizes performance with congestion tuning to prioritize immediate data recovery and a two-stage task scheduling system for parallel CPU distribution.

The implementation includes observability tools for tracking network metrics and tracing protocol events.

Features

  • Reliable UDP Layers - Implements a reliable UDP layer using an ARQ protocol to ensure ordered delivery and low latency.
  • ARQ Protocols - Implements an ARQ-based protocol to ensure reliable data delivery and fast recovery from packet loss.
  • Forward Error Correction - Implements forward error correction using Reed-Solomon codes to reconstruct lost packets without retransmission.
  • Low-Latency Data Transmission - Reduces network tail latency by optimizing retransmission timers and bypassing standard congestion control.
  • UDP Tunneling - Implements a secure UDP tunnel that encrypts both headers and payloads for anonymity.
  • UDP Transport Implementations - Provides a full Go implementation of the KCP protocol for reliable, low-latency UDP transport.
  • Packet Encryption - Provides encryption of individual network packets to secure both headers and payloads during transmission.
  • Encrypted Tunneling - Provides secure encrypted tunneling for UDP traffic to protect data privacy and anonymity.
  • Slab-Based Pre-allocation - Employs slab-based pre-allocation and buffer recycling to minimize garbage collection overhead during packet processing.
  • Connection Managers - Includes connection managers that handle thousands of simultaneous network socket connections using a fixed worker pool.
  • High-Throughput Network Engineering - Optimizes for high-throughput networking through batch processing and efficient memory management.
  • Buffer Recycling - Recycles memory slices for packet operations to reduce the frequency of high-overhead memory allocations.
  • Packet Batching Engines - Implements packet batching engines to reduce system call overhead and increase network throughput.
  • Nodelay Tuning - Provides congestion tuning to prioritize immediate data recovery and reduce tail latency.
  • Network - Increases transmission speeds using immediate acknowledgement triggers and a pacing mechanism to prevent burst congestion.
  • Networking Libraries - Fast and reliable ARQ protocol implementation.
  • Networking - Reliable ARQ protocol implementation.
  • Networking Libraries - Implementation of the KCP reliable ARQ protocol.
  • Networking - Reliable-UDP library with FEC.

Star history

Star history chart for xtaci/kcp-goStar history chart for xtaci/kcp-go

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Kcp Go

These projects share indexed features with Kcp Go. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • skywind3000/kcpskywind3000 avatar

    skywind3000/kcp

    16,786View on GitHub↗

    KCP is a low-latency transport protocol and reliability layer designed to provide TCP-like guaranteed delivery and ordering over UDP. It implements an automatic repeat request protocol to minimize network jitter and delays, prioritizing timeliness over bandwidth efficiency. The project distinguishes itself through a pluggable congestion controller and flow control logic, allowing the transport layer to be tuned for specific network environments. It includes a NAT keep-alive system that uses periodic heartbeat packets to maintain active communication paths and prevent address translation timeo

    C
    View on GitHub↗16,786
  • quic-go/quic-goquic-go avatar

    quic-go/quic-go

    11,661View on GitHub↗

    This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing multiplexed, low-latency network connections over UDP. It serves as a foundational networking stack for building modern web servers and clients, with native support for HTTP/3 and WebTransport standards. The library distinguishes itself through advanced connection management, including the ability to maintain stable sessions across changing network paths or IP addresses using connection identifiers. It optimizes data throughput by employing packet batching to reduce kernel ov

    Gogogolanghttp3
    View on GitHub↗11,661
  • akrennmair/gopcapakrennmair avatar

    akrennmair/gopcap

    491View on GitHub↗

    A simple wrapper around libpcap for the Go programming language

    Go
    View on GitHub↗491
  • aerogo/packetA

    aerogo/packet

    0View on GitHub↗
    View on GitHub↗0
Compare all 30 related projects→

Frequently asked questions

What does xtaci/kcp-go do?

kcp-go is a Go library implementing the KCP protocol for reliable data transmission over UDP. It provides a stream-based transport layer and an automatic repeat request network protocol to ensure ordered delivery while reducing network tail latency.

What are the main features of xtaci/kcp-go?

The main features of xtaci/kcp-go are: Reliable UDP Layers, ARQ Protocols, Forward Error Correction, Low-Latency Data Transmission, UDP Tunneling, UDP Transport Implementations, Packet Encryption, Encrypted Tunneling.

Which projects share features with xtaci/kcp-go?

Projects with overlapping indexed features include: skywind3000/kcp — KCP is a low-latency transport protocol and reliability layer designed to provide TCP-like guaranteed delivery and… quic-go/quic-go — This project is a high-performance implementation of the QUIC transport protocol, providing a library for establishing… ccding/go-stun. aerogo/packet. akrennmair/gopcap — A simple wrapper around libpcap for the Go programming language. anacrolix/utp.