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

Investigate half duplex #284

Open
cbeuw opened this issue Oct 3, 2024 · 0 comments
Open

Investigate half duplex #284

cbeuw opened this issue Oct 3, 2024 · 0 comments

Comments

@cbeuw
Copy link
Owner

cbeuw commented Oct 3, 2024

@notsure2 mentioned SoftEther's half duplex mode #283 (comment)

https://www.softether.org/4-docs/1-manual/2._SoftEther_VPN_Essential_Architecture/2.1_VPN_Communication_Protocol#Using_in_Half_Duplex_Mode

The half duplex mode is a function whereby, if VPN communications are conducted by establishing 2 or more TCP/IP connections, concerning various TCP/IP connections between VPN connection source and SoftEther VPN Server, approximately half of the TCP/IP connections are dedicated to the transmission direction and the other half are dedicated to receiving. If this function is enabled, transmission direction of data flowing through respective TCP/IP connections established as part of SoftEther VPN protocol is limited to either from VPN server to client (download) or from client to VPN server (upload). If all TCP/IP connections are lumped together, simultaneous communication in both directions is possible (full duplex), but each respective TCP/IP connection can only handle data transmission in one direction, so it is referred to as the half duplex mode.

This may be useful to defeat size/directionality statistical detection, forcing censors to combine data stream across multiple connections which would be more expensive

Dedicating a TCP connection to be full up or downstream is probably not a good idea, as most TCP traffic are bidirectional, but we can do a x% up 1-x% down approach

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