shadowsocks or l2tp which more fast and stable - vpn

some game is Censorship in iran we most tunnel the internet between my device and vps in Foreign country
but now want to know which protocol is fast shadowsocks or l2tp ?

l2tp uses udp, shadowsocks uses tcp, I think l2tp is faster. Maybe you can test both in your network.

Related

Why did NFS switch from UDP to TCP as the standard protocol in version 4?

Why was UDP used as the standard protocol in NFS systems up to version 3 and TCP in version 4? Unfortunately, I have not yet found anything about the motives that led to this.
The Red Hat NFS documentation provides some insight about why UDP was preferred:
When using NFSv2 or NFSv3 with UDP, the stateless UDP connection under normal conditions has less Protocol overhead than TCP which can translate into better performance on very clean, non-congested networks.
...and why the move to allow and eventually require TCP was made:
However, because UDP is stateless, if the server goes down unexpectedly, UDP clients continue to saturate the network with requests for the server. For this reason, TCP is the preferred protocol when connecting to an NFS server.
The current RFC also notes that TCP facilitates transport security without needing to tunnel:
Historically, NFSv2 and NFSv3 servers have resided on port 2049. The registered port 2049 [RFC3232] for the NFS protocol SHOULD be the default configuration. Using the registered port for NFS services means the NFS client will not need to use the RPC binding protocols as described in [RFC1833]; this will allow NFS to transit firewalls.
Why TCP specifically? Actually, the RFC says SCTP is also acceptable (though TCP support is mandatory):
Where an NFSv4 implementation supports operation over the IP network protocol, the supported transport layer between NFS and IP MUST be an IETF standardized transport protocol that is specified to avoid network congestion; such transports include TCP and the Stream Control Transmission Protocol (SCTP). To enhance the possibilities for interoperability, an NFSv4 implementation MUST support operation over the TCP transport protocol.
Finally, addressing performance, the original reason UDP was chosen, the RFC says:
If TCP is used as the transport, the client and server SHOULD use persistent connections. This will prevent the weakening of TCP's congestion control via short-lived connections and will improve performance for the Wide Area Network (WAN) environment by eliminating the need for SYN handshakes.
Ultimately, only the engineers at Sun Microsystems (as the creators of NFS) know the exact reasons UDP was chosen and only the IETF working group for NFS (as the maintainers) know why the switch to TCP was made.

How to force UDP Packets to be capsulated over TCP for Cloud Gaming? (VPN TCP Tunnel, Packetloss fix)

I have a question about packetloss in streaming (UDP protocoll) and I have packetloss with every Cloud-Gaming streaming provider and the only workaround is a VPN with TCP as protocoll.
The problem is that here in Germany the peering is totally bad so UDP packets on the way have problems to be transmitted properly.
VPN with TCP as a protocol creates help here by packing the UDP packets in a TCP frame (I think) and then routing them.
As soon as I switch the VPN off or back to UDP I have packetloss again, TCP is the only way I can get rid of the streaming problem, unfortunately one can't select TCP as protocoll in the settings of the cloud providers, so I have to rely on VPN with TCP.
Sadly the ping and the response time increases a lot, because the route is extended and therefore overhead is created.
Are there other ways to force streaming over TCP? Maybe via Windows GPO/Registry or router settings?
I don't want to rely on VPNs, as they cost money and improve the experience in general, but don't solve the problem overall.

Why does ping use ICMP not TCP?

In our office we've got an Amazon VPC linked to our office network with a bastion server in the middle.
When I try to ping servers within the VPC it doesn't work. The answer I got from a co-worker was that "ping won't work because ICMP isn't linked in our routing configuration, only TCP."
(I can ping servers on our local business network, and Internet websites).
My question is: Why does ping use ICMP not TCP?
They belong to different layers in the OSI model.
ICMP is layer 3, for networking.
While TCP, UDP is layer 4, for transport.
Ping is echo request/reply, part of the layer 3.
there are ping utilities which use ping-like features over TCP or UDP to test whether a target host answers connection attempts. One of these is Mark Russinovich's psping (https://technet.microsoft.com/en-us/sysinternals/psping.aspx) which can use ICMP or TCP. Technically, it's not the same as ICMP as it's built upon the TCP handshake; in practice, you use it like ICMP ping.

Sending UDP/TCP packets from server to clients

Ive build a local multiplayer game (multiplayer over wlan network). Now, I want to add an online multiplayer feature..
Currently, the network communications consist mostly of "signals" (tcp/udp packets sent from game-host peer to the game-client peers). I would like to use this mostly signal based communication for my online multiplayer (because of performance and efficiency ), too . But, since the host peer is now replaced by a server there will be a lot problems with sending signals (NAT, firewall,...).
So is there good solution to implement these signals?
regards
there will be a lot problems with sending signals (NAT, firewall,...)_
What problems exactly?
Normally, the clients establish a TCP connection to the server and the server uses this TCP connection to communicate with the clients.
For UDP-based communication the clients use Internet Gateway Device Protocol to forward ports on the router, so that the server can send UDP datagrams to the clients.
Assuming your server is in public internet, not behind any NAT. All the clients must initiate the connection. Otherwise the server can't know clients credential and can't connect. As the server has no NAT it will accept connection from client. And this connection client must keep alive. So when server needs to send some data there should be no problem.
This will work for both UDP and TCP.

Can port forwarding be done with IPsec?

If i understand correctly, SSH tunnelling allows for the binding of a local port to a remote port through a SSH server. If I'm right, could something similar be done with IPsec?
Yes, an IPSec VPN sends traffic through IPSec and split tunnelling is where you only send some of your data through the vpn.
I've not played with split tunnelling much and I've only seen it configured to split traffic by destination IP, but I'm sure there will be ways to do it by tcp/udp port. Can't really point you to more information without knowing what OS you want to do this on.
Hope this helps.

Resources