Files
go-i2ptunnel/lib/udp
2025-02-10 00:36:58 -05:00
..
2025-02-10 00:36:58 -05:00
2025-02-10 00:36:58 -05:00
2025-02-02 20:04:51 -05:00

UDP Tunnels

UDP tunnels provide transparent packet forwarding between I2P and local UDP endpoints. Key characteristics:

  • Non-standard implementation (not included in Java I2P)
  • Direct packet forwarding without modification
  • No protocol filtering or inspection
  • End-to-end UDP datagram transport
  • Bidirectional tunnel support

The tunnel suite includes both client and server components for creating complete UDP connectivity through I2P.

UDP Server Tunnels

UDP Server Tunnels accept incoming I2P datagrams and forward the UDP packets to a specified local port. This enables:

  • Running UDP services accessible through I2P
  • Hosting game servers that use UDP protocols
  • Providing access to local UDP services via I2P
  • Simple packet forwarding without protocol awareness

Key features:

  • One-to-one UDP packet forwarding
  • No packet inspection or modification
  • Stateless operation
  • Local port binding for service

When an I2P peer connects to the tunnel's destination, the traffic flows:

  • Incoming: I2P Network → I2P Service → UDP Packet → Local Service
  • Outgoing: Local Service → UDP Packet → I2P Service → I2P Network

UDP Client Tunnels

UDP Client Tunnels accept incoming UDP packets and forward them as I2P Datagrams to an I2P destination. This enables:

  • Accessing remote I2P UDP services locally
  • Connecting to game servers hosted on I2P
  • Forwarding local UDP traffic through I2P
  • Simple client-side UDP tunneling

Key features:

  • Transparent UDP forwarding
  • Direct destination addressing
  • Local UDP socket binding
  • Stateless operation

When sending UDP packets to an I2P service, the traffic flows:

  • Outgoing: Local Client → UDP Packet → I2P Client → I2P Network
  • Incoming: I2P Network → I2P Client → UDP Packet → Local Client