From 4f70dc14350ff4ab9295d129fcd963da5cd5b38d Mon Sep 17 00:00:00 2001 From: Max Inden Date: Thu, 27 Jan 2022 15:35:14 +0100 Subject: [PATCH] src/_blog: Document alternatives when hole punching doesn't work --- src/_blog/libp2p-hole-punching.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_blog/libp2p-hole-punching.md b/src/_blog/libp2p-hole-punching.md index 4f17db10..295c5224 100644 --- a/src/_blog/libp2p-hole-punching.md +++ b/src/_blog/libp2p-hole-punching.md @@ -73,12 +73,12 @@ In case you haven't noticed, we just fixed our problem. *A* and *B* can now happ ![img](../assets/libp2p-hole-punching-hole-punch.svg) - +Small note on alternative mechanisms. Hole punching will not always work, e.g. when behind a symetric NAT. In such cases nodes can instead explicitly add port mappings, either manually or via [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play). In addition as a last resort, nodes can leverage external [relay](https://docs.ipfs.io/concepts/glossary/#relay) nodes. # Project Flare -So the above sounds easy from a birds-eye view, but is a lot more complex than one would think. In addition, we didn't even cover the "mysterious mechanism to synchronize *A* and *B*". +Based on the above the concept of hole punching looks easy from a birds-eye view, but is a lot more complex than one would think. In addition, we didn't even cover the "mysterious mechanism to synchronize *A* and *B*". Introducing **Project Flare**, libp2p's way of decentralized hole punching. Those familiar with [IETF's ICE](https://datatracker.ietf.org/doc/html/rfc8445) will spot many similarities. Project Flare is heavily inspired by ICE.