Skip to content

Request for Remote Connection over WAN support and Addition of ICE and STUN Support for remote Connection over WAN #39

@volkansari

Description

@volkansari

Description:
RabbitRemote currently faces difficulties in establishing reliable communication between devices over WAN, especially when they are behind different NATs (Network Address Translators) and firewalls. Establishing a remote connection system over WAN and adding ICE (Interactive Connectivity Establishment) and STUN (Session Traversal Utilities for NAT) protocol support to address this will significantly increase the ability to establish connectivity through NAT and firewall traversal.

Need and Purposes:

WAN Support:
Enables remote devices to connect over WAN

STUN Support:
STUN helps devices behind NATs discover their public IP addresses and port information, enabling successful communication even in the presence of NAT. By integrating STUN support, RabbitRemote can handle NAT traversal more effectively.

This improves overall connectivity by reducing issues with various NAT types (e.g. full cone, symmetric, restricted) and dynamic IP addressing.

ICE Support:
ICE provides a more robust solution for connection establishment. It works by testing multiple connection candidates using both STUN and TURN (NAT Around Relay) and selecting the optimal connection path.

The implementation of ICE improves the connection process in environments with restrictive NAT or firewalls, providing a more reliable and efficient connection, especially in peer-to-peer communication scenarios such as WebRTC and VoIP.

Required Functionality:
STUN Server Integration: RabbitRemote should be able to query STUN servers to obtain external IP addresses and port information to enable NAT traversal.

ICE Protocol Integration: ICE should be integrated to test connection candidates and select the best path using both STUN and TURN servers. This ensures robust connectivity even in restrictive network environments.
Improved Connection Establishment: With ICE support, RabbitRemote selects the best possible connection path faster, improving both speed and reliability in connection establishment.

Benefits:
Improved NAT Traversal: By supporting STUN and ICE, RabbitRemote can establish reliable connections even across different NAT types and restrictive firewalls.

Improved Connection Quality: ICE optimizes connection quality by reducing latency and improving throughput, providing a better overall user experience.

Increased Compatibility: Integrating ICE and STUN makes RabbitRemote more compatible with modern communication technologies such as WebRTC, expanding its potential user base.

Conclusion:
After adding WAN support to RabbitRemote, adding STUN and ICE support will solve many current issues related to NAT and firewall traversal. This enhancement will not only improve connection reliability, but will also enhance the overall user experience, making RabbitRemote more versatile and efficient across a wider range of network environments.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions