Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connecting P2P over NAT #73

Closed
longfin opened this issue Feb 13, 2019 · 3 comments
Closed

Connecting P2P over NAT #73

longfin opened this issue Feb 13, 2019 · 3 comments
Assignees
Milestone

Comments

@longfin
Copy link
Member

longfin commented Feb 13, 2019

Currently, the implementation of P2P through Swarm assumes that the peer can connect via TCP with public IP. however, clients targeted by libplanet are not directly connected to the Internet with such public IP, but are often connected through NAT. In such a connection method, it is often difficult for one peer to directly access another peer.

Using techniques such as UDP hole punching, it is necessary to support natural connections in these environments.

@longfin longfin self-assigned this Feb 27, 2019
@longfin longfin added this to the 0.2.0 milestone Feb 27, 2019
@longfin
Copy link
Member Author

longfin commented Feb 27, 2019

I've researched about it and leave note as below.

  • Option 1: we can modify Swarm to act as a repeater.
    • it changes Swarm's basic communications to broadcast and peers with public IP help communication with peer that don't
    • there is no need for an external server or entity, but the implementation is complicated and the load on peer with public IP is increased.
    • to be honest, I'm not sure if the implementation is possible. 😕
  • Option 2: we can modify Swarm to rely STUN / TURN protocols.
    • Swarm uses STUN to determine its public IP and NAT type to traversal.
    • Swarm uses TURN to send actual packet with relay.
    • although it requires two type of external servers (STUN / TURN), it's an open protocol as rfc and can be operated by anyone who wants to operate (including us).
      • but there is not a lot of public TURN servers (compared to STUN).

@longfin
Copy link
Member Author

longfin commented Mar 8, 2019

I've made #117 for sharing progress to other teammates.

@longfin
Copy link
Member Author

longfin commented Mar 20, 2019

Related PRs have been merged. (#117 , #130) so let's close this issue and try it for real game implementation. 😄

@longfin longfin closed this as completed Mar 20, 2019
dahlia pushed a commit to dahlia/libplanet that referenced this issue Mar 9, 2021
limebell pushed a commit to limebell/libplanet that referenced this issue Jul 7, 2021
OnedgeLee pushed a commit to OnedgeLee/libplanet that referenced this issue Jan 31, 2023
…-prefix

Solved planetarium#73 Remove Unsigned prefix when os is linux or mac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant