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.)