I presented my recent work on Firefox’s HTTP3/QUIC stack in the Network Devroom at FOSDEM 2025. QUIC is a new transport protocol on top of UDP, transporting a large portion of the Internet traffic today. UDP I/O performance is crucial for QUIC implementations, where e.g. system call overhead can significantly impact throughput at high network speeds. To improve QUIC throughput, Firefox is switching to a modern UDP IO stack in Rust, using mechanisms like recvmmsg, and GRO across Linux, Windo...| Posts on Max Inden
I don’t see myself making major contributions to (rust-) libp2p in the near future and thus I am stepping down as a maintainer. As announced before, I have left Protocol Labs in December 2023. After a 2 month re-orientation break, I have decided to move on entirely. My first commit was 5y ago, a small bug fix in our address handling. Since then lots happened. A couple of milestones I was involved in:| Posts on Max Inden
How you can connect everything (browsers & non-browsers), everywhere (public or private), all at once (using libp2p). Slides| Posts on Max Inden
I presented at IPFS Camp 2022 on mitigating Denial-of-Service attacks in peer-to-peer networks. I discussed resource management strategies such as enforcing backpressure and provided examples of coding pitfalls to avoid in Rust and Go. You can find the recording and slides of my talk below. Slides DOS Denial-of-service attack Hard in peer-to-peer as identities are cheap Relevant for any scarce resource, e.g. CPU, memory(, file descriptors) Do’s Bound EVERYTHING Once a bound is exceeded: Dro...| Posts on Max Inden
Dennis and I presented Hole punching in the wild, learnings from running libp2p hole punching in production, measured from vantage points across the globe in the network devroom at FOSDEM 2023. At FOSDEM 2022 I presented libp2p’s hole punching mechanism, overcoming NATs and firewalls with no dependencies on central infrastructure. One year has passed since. We rolled it out to live networks. We launched a large measurement campaign with many volunteers deploying vantage points in their home...| Posts on Max Inden
I presented an overview on Peer-to-peer Browser Connectivity options in the network devroom at FOSDEM 2023. Connecting from the browser to a public server with a valid TLS certificate is easy. But what if the server has a self-signed certificate? What if it isn’t public? What if it is another browser? This talk covers the intricacies of browser communication beyond the standard browser-to-server use-case. I will give an overview of the many protocols available and how they can be used in a ...| Posts on Max Inden
We’ll take a closer look at the recently added decentralized hole punching feature, allowing NAT and firewall traversal without the need for any central coordination servers (STUN and TURN). Recording| Posts on Max Inden
We will discuss the current state of the project, eyeball the various language implementations, take a look at the many live networks running on top of libp2p today and finally cover the project roadmap for the years to come. Recording| Posts on Max Inden
We have been working on hole punching support in libp2p for the last year. It finally landed in the Go and Rust libp2p implementation. Read all about it on the IPFS blog: https://blog.ipfs.io/2022-01-20-libp2p-hole-punching/| Posts on Max Inden
Motivation Around 20% of Firefox’s HTTP traffic today uses HTTP/3, which runs over QUIC, which in turn runs over UDP. This translates to substantial UDP I/O activity. Firefox uses NSPR for most of its network I/O. When it comes to UDP I/O, NSPR only offers a limited set of dated APIs, most relevant here PR_SendTo and PR_RecvFrom, wrappers around POSIX’s sendto and recvfrom. The N in NSPR stands for Netscape, giving you a hint of its age.| max-inden.de