![]() ![]() Verify the performance improvement of the operation with different router boards.Implement a solution in an existing SOCKS proxy of implement a new one with the fast proxy operation.Try to minimalize the amount of user-space syscalls and context switches also packet copies between kernel and user-space.Create a testbed for fast testing and kernel related development. Try out existing solutions and measure the performance of them. ![]() I will measure the performance of these methods before I implement my approach. There is multiple existing method, like vmsplice which is a good approach to do that or recent TCP Zero-copy kernel extension. My current GSoC project goal is find a way to accelerate the proxy to near-routing and NAT-ing performance with some kernel-space offload or SOCKS implementation. Cyprus, the Czech Republic, Estonia, Hungary, Liechtenstein, Lithuania. I created a small figure to illustrate this (in reality its a little bit different but this is a simplified version). is to create an SSH tunnel to a trusted server outside of your country and. After some debug it turned out that the CPU do lots of I/O with copying the packets from kernel-space memory to user-space memory back and forth. Without proxy one of my router is capable to route and NAT packets with ~700-800 Mbps throughput, but after the proxyfication the throughput drops down to ~100-150 Mbps. This is completely fair question because I also experienced big performance drop with my proxy. If we omit it, ssh binds on the loopback interfaces only. ![]() The optional bindaddress assigns a client local interface to listen for connections. (Cont.) The current projectĪlso many people asked me: “Why the speed of the proxy is so slow?”. To create a direct TCP forward tunnel, we have to use the -L option on the command line: ssh -L bindaddress:port:host:hostport userremotesshserver. In China, where the router proxyfication is necessary because of the great firewall, many people applied the method of my GSoC 2017 project outcome. SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding TCP ports and X11 connections it can. We succeeded, I also provided a detailed tutorial with the method for reproducing the experiment in home. I did not expected too much enquiry about the project but after the blogposts and an OpenWRT summit workshop, I received lots of emails and messages – many experimenter interested about the project which is a great honor of me. First establish a -D tunnel over SSH like always, then configure the HTTP proxy to use the SSH tunnel example Polipo configuration. In a nutshell it was an experiment to create a test-bed for aggregating the speed of multiple Wi-Fi links in transport layer with MPTCP. Method 1: Use a HTTP proxy that supports using a SOCKS upstream, e.g. You can find all of my post from the project on this link here: In 2017 I did my first GSoC project with my mentors Benjamin Henrion and Claudio Pisa. Welcome! I’m Ferenc Fejes from University of Debrecen, Hungary. ![]()
0 Comments
Leave a Reply. |