ProbeLab's Measurement Study of libp2p's DCUtR protocol #6584
srene
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
ProbeLab has measured libp2p's DCUtR (Direct Connection Upgrade through Relay), the protocol two NAT'd peers use to open a direct connection by hole-punching through a circuit-v2 relay. About 91% of peers on the live IPFS network sit behind NAT, so DCUtR's success rate is key to giving a large share of IPFS nodes the public reachability they need for DHT serving, content exchange, and gossipsub membership. The study completes earlier work on DCUtR performance.
Alongside an up-to-date measurement of DCUtR, it extends previous work in two ways. Trautwein et al. (IMC '26) reported a 70% aggregate hole-punch rate but did not classify peers by NAT type. Using a similar honeypot approach, but without cooperating clients on the live network, this study first classifies the IPFS network by NAT type (along the RFC 4787 mapping and filtering axes), then reports DCUtR success rates, in line with the original study for the peers we could classify. It also audits the go-libp2p and rust-libp2p implementations for spec compliance and interoperability.
A few pointers:
Much of the report is implementation-agnostic, but we point to go-libp2p and rust-libp2p specifically for the implementation audit.
With this thread we'd like to do two things: raise awareness of the study, and gather feedback on anything you think we missed or that belongs in the reports. Please reply if you've got something to share.
All reactions