Skip to content

NAT traversal: Implement connection upgrade protocol for NAT hole punching using Relays #1013

@aarshkshah1992

Description

@aarshkshah1992

Both QUIC and TCP hole-punching need a co-ordination server to ensure that both peers attempt the hole punch at roughly the same time.
WebRTC also needs a signalling server to co-ordinate SDP and share the candidate address list for ICE.
We have a spec at libp2p/specs#173 to use Circuit-Relays for co-ordinating hole punching.
We can also use the same idea for signaling in the WebRTC transport implementation.

Edit: As flagged by @aschmahmann AND @jacobheun , we do need to consider limited bandwidth allocated by relays to peers after we get hole punching in as they shouldn't need relays for data transfer anymore.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions