Hole punching in libp2p - Overcoming Firewalls | IPFS Blog & News

In case you haven't yet heard the great news, libp2p (opens new window) can now punch holes.


This is a companion discussion topic for the original entry at https://blog.ipfs.io/2022-01-20-libp2p-hole-punching/
1 Like

Thank you for this helpful and clear article.

Is there any place where I can find a fully working example of that, w/ go-libp2p ?

1 Like

Do these examples help at all? go-libp2p should more-or-less figure out the hole-punching for you with little intervention. Lots of upgrades / changes / techniques happen over time too, which all make it into the spec and libraries.

Does the data plane pass through the relay mode being used?

Iā€™m assuming yes because thatā€™s the purpose of bypassing the firewall.

Iā€™m asking about traffic engineering here.

Thatā€™s to say, I may be taking a suboptimal route via the relay node.

Also, is it possible to ā€˜interceptā€™ connections via relays in a firewall.

Thoughts?

Iā€™ve asked similar questions but there doesnā€™t seem to be much interest in running IPFS on networks that you donā€™t control. I personally donā€™t like the, ā€œWTF are you doing?ā€ email from the IT department.

1 Like

Relays are used to coordinate the hole punching protocol, theyā€™re not doing any other kind of data-relaying by default.

OK thanks, so the hole is punched simply to gain access to the metadata locating the peers. Once both have that, they can make outbound connections with the right IPā€™s and port numbers?