Skip to content

rustp2p/tcp_ip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1ddf2a3 · Apr 1, 2025

History

75 Commits
Dec 30, 2024
Feb 20, 2025
Apr 1, 2025
Dec 21, 2024
Apr 1, 2025
Dec 6, 2024
Feb 21, 2025
Dec 16, 2024

Repository files navigation

Crates.io tcp_ip

tcp_ip

User-space TCP/IP stack

Features

IPv4

  • IPv4 fragmentation and reassembly is supported.
  • IPv4 options are not supported and are silently ignored.

IPv6

  • In development, currently does not support any extended protocols.

UDP

Use UdpSocket. Supported over IPv4 and IPv6.

ICMPv4 & ICMPv6

Use IcmpSocket or IcmpV6Socket. The user needs to handle the ICMP header themselves and calculate the checksum.

TCP

Use TcpListener and TcpStream. Supported over IPv4 and IPv6.

  • MSS is negotiated
  • Window scaling is negotiated.
  • Reassembly of out-of-order segments is supported
  • The timeout waiting time is fixed and can be configured
  • Selective acknowledgements permitted. (Proactively ACK the need for improvement)

Other

Using IpSocket to send and receive packets of other protocols.(Handles all IP upper-layer protocols without requiring the user to consider IP fragmentation.)

example

iperf test

LAN Speed Test

image

Example:Proxy-Windows

image

Example: Proxy-Linux

image

Releases

No releases published

Packages

No packages published

Languages