[GH-ISSUE #284] Investigate half duplex #224

Open
opened 2026-02-26 12:34:18 +03:00 by kerem · 0 comments
Owner

Originally created by @cbeuw on GitHub (Oct 3, 2024).
Original GitHub issue: https://github.com/cbeuw/Cloak/issues/284

@notsure2 mentioned SoftEther's half duplex mode https://github.com/cbeuw/Cloak/pull/283#issuecomment-2391975907

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

Originally created by @cbeuw on GitHub (Oct 3, 2024). Original GitHub issue: https://github.com/cbeuw/Cloak/issues/284 @notsure2 mentioned SoftEther's half duplex mode https://github.com/cbeuw/Cloak/pull/283#issuecomment-2391975907 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 in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Cloak#224
No description provided.