The TOFFEE Project
HOMEDOCUMENTATIONUPDATESVIDEOSRESEARCHDOWNLOADSPONSORSCONTACT


DOCUMENTATION 》 TEST CASES :: TEST RESULTS :: Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2

Here are my test cases and test results of Raspberry Pi TOFFEE-Mocha (version: TOFFEE-Mocha-1.0.14-1-rpi2) WAN Emulator build. I have connected two laptops as shown below via TOFFEE-Mocha Raspberry Pi2 device. I did these test cases to assess TOFFEE-Mocha, test its existing features, find and fix bugs if any, as well as a part of my routine research and analysis. It is connected via 100Mbps network since the Raspberry Pi2 supports only 100Mbps Ethernet as well my other USB2 to 100Mbps Ethernet adapter connected to it.
Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 test setup

The DELL Laptop is installed with Apache2 web-server. And in the /var/www/html/videos/xaa file is copied. Which is a fragment of video file of size exactly 500MB.

Basic Test criteria:
The intent of all the test cases is to do few ping tests from HP Laptop to DELL Laptop via Raspberry Pi TOFFEE-Mocha device. And followed by a wget copy/download (via HTTP Protocol) of the xaa file from DELL Laptop via Raspberry Pi TOFFEE-Mocha device. And in each test case the same two tests are repeated while enabling various WAN emulation features supported in TOFFEE-Mocha (TOFFEE-Mocha-1.0.14-1-rpi2). Finally compare all test cases with the first test case (Test case1). Test case 1 is the reference test case in which no TOFFEE-Mocha WAN Emulation features are enabled in the TOFFEE-Mocha Raspberry Pi device.

Test case1 :: All TOFFEE-Mocha WAN Emulation features are disabled:
This is the first case in which all the TOFFEE-Mocha WAN Emulation features are disabled. Only Linux Kernel network bridging is created via TOFFEE-Mocha to facilitate to-and-fro packet flow between my HP and DELL laptops.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=2.19 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=1.70 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=1.71 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=1.64 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=1.72 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=1.67 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=1.72 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=1.71 ms
1208 bytes from 192.168.0.100: icmp_seq=9 ttl=64 time=1.68 ms
1208 bytes from 192.168.0.100: icmp_seq=10 ttl=64 time=1.72 ms
^C
--- 192.168.0.100 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9015ms
rtt min/avg/max/mdev = 1.647/1.752/2.199/0.159 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 10:59:20--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M  4.90MB/s    in 72s     


2016-06-27 11:00:32 (6.90 MB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Here is the screenshot of the System Monitor Networking stats captured in my HP Laptop. Notice the blue curve (Network History) in the graph which denotes constant flow of packets with few glitches here and there.
Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 Test case1

Test case2:
Constant packet delay: 1-millisecond and 0-microseconds
Dynamic packet delay disabled. Random packet drop disabled
This is a constant 1-millisecond packet delay. As you can see below there is a performance drop in both ping tests as well in the xaa wget file download.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=3.73 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=3.63 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=3.65 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=3.71 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=3.70 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=3.90 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=3.56 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=3.69 ms
1208 bytes from 192.168.0.100: icmp_seq=9 ttl=64 time=3.74 ms
1208 bytes from 192.168.0.100: icmp_seq=10 ttl=64 time=3.67 ms
^C
--- 192.168.0.100 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 3.562/3.702/3.902/0.099 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 11:06:33--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M   889KB/s    in 9m 37s  

2016-06-27 11:16:10 (887 KB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Notice the blue curve(Network History). The overall performance dropped to around 800KB/s.
Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 Test case2

Test case3:
Constant packet delay: 1-millisecond and 500-microseconds
Dynamic packet delay disabled. Random packet drop disabled
This is a constant 1-millisecond and 500-microseconds (which is 1.5millisecond) packet delay. As you can see below there is a performance drop in both ping tests as well in the xaa wget file download.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=4.66 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=4.70 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=4.69 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=4.60 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=4.69 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=4.72 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=4.73 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=4.81 ms
^C
--- 192.168.0.100 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7012ms
rtt min/avg/max/mdev = 4.605/4.705/4.813/0.073 ms
kiran@HP-ENVY-15:~/temp$ 
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 11:17:54--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M   602KB/s    in 14m 16s 

2016-06-27 11:32:10 (598 KB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Test case4:
Constant packet delay: 0-millisecond and 0-microsecond
Dynamic packet delay enabled (factor 1). Random packet drops disabled
In this case constant packet delay is disabled and dynamic packet delay is enabled with dynamic delay factor 1. If the dynamic delay factor is 1 then the dynamic delay is more proportional to the size of the packet. Hence you can see there is a huge performance drop in the ping packets. As well stable performance drop in the wget xaa file download. Since it is a large 500MB file download, so the performance drop is fairly constant without much fluctuations. But in real world scenario, assume you are doing casual browsing and large folder with 100s of small file downloads, in those cases you may experience burst-like network performance. Since small packets are transferred without any significant delay and large near MTU sized packets are proportionally delayed.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=4.09 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=4.17 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=4.15 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=4.09 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=4.13 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=4.19 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=4.19 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=4.29 ms
^C
--- 192.168.0.100 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7008ms
rtt min/avg/max/mdev = 4.091/4.167/4.295/0.061 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 11:35:32--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M   887KB/s    in 9m 39s  

2016-06-27 11:45:11 (884 KB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Test case5:
Constant packet delay: 0-millisecond and 0-microsecond
Dynamic packet delay enabled (factor 2). Random packet drops disabled
Same test case as above (i.e Test case 4) but with dynamic delay factor 2. This cuts down the exponential dynamic delay proportional to the packet size. And hence there is better network performance compared with test case 4. But in general you may experience similar network performance characteristics dynamically as test-case 4, but in this case little less significant.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=2.86 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=2.88 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=2.96 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=2.91 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=2.88 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=2.85 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=2.92 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=2.89 ms
1208 bytes from 192.168.0.100: icmp_seq=9 ttl=64 time=2.89 ms
^C
--- 192.168.0.100 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8014ms
rtt min/avg/max/mdev = 2.858/2.898/2.967/0.059 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 11:46:47--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M  1.67MB/s    in 5m 2s   

2016-06-27 11:51:49 (1.66 MB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Test case6:
Constant packet delay: 0-millisecond and 0-microsecond
Dynamic packet delay disabled. Random packet drop enabled (factor 1)
In this case both dynamic and constant delay features are disabled and random packet drop is enabled with random drop factor 1 option. With this setting you may not notice much issues in ping performance as you can see below. This ping performance is almost the same as Test case 1 (i.e no WAN Emulation settings enabled in TOFFEE-Mocha). But you may notice a drastic file download performance degrade. You can control this via drop factor variable. In this case it is value 1. So there is excess packet loss. This will add confusion in TCP connection(s) and hence you will get extremely unpredictable dynamic performance.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=1.69 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=1.74 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=1.97 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=1.79 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=1.71 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=1.74 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=1.73 ms
1208 bytes from 192.168.0.100: icmp_seq=9 ttl=64 time=1.70 ms
1208 bytes from 192.168.0.100: icmp_seq=11 ttl=64 time=1.71 ms
1208 bytes from 192.168.0.100: icmp_seq=12 ttl=64 time=1.66 ms
1208 bytes from 192.168.0.100: icmp_seq=13 ttl=64 time=1.71 ms
^C
--- 192.168.0.100 ping statistics ---
13 packets transmitted, 11 received, 15% packet loss, time 12015ms
rtt min/avg/max/mdev = 1.661/1.745/1.970/0.077 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 11:54:40--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M   663KB/s    in 12m 25s 

2016-06-27 12:07:04 (687 KB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Notice the blue curve (Network History) which is completely fluctuating. You get extremely bad and unpredictable performance. Notice the second screenshot, where it sometimes halts the packet transfer due to the confusion caused by random packet drop.
Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 Test case6_1
Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 Test case6_2

Test case7:
Constant packet delay: 0-millisecond and 0-microsecond
Dynamic packet delay disabled. Random packet drop enabled (factor 2)
Same as Test case 6, but in this case the random packet drop factor is value 2. This means the probability of packet drop (packet loss) is lesser than drop factor 1. So similar to Test case 6, you may not notice any significant ping performance issues. But in the wget xaa file download, you may notice now it is somewhat better than test case 6. There is less confusion in the link/connectivity, and hence better network performance and so less turbulence.

kiran@HP-ENVY-15:~/temp$ ping 192.168.0.100 -s 1200
PING 192.168.0.100 (192.168.0.100) 1200(1228) bytes of data.
1208 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=1.66 ms
1208 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=1.71 ms
1208 bytes from 192.168.0.100: icmp_seq=3 ttl=64 time=1.77 ms
1208 bytes from 192.168.0.100: icmp_seq=4 ttl=64 time=1.78 ms
1208 bytes from 192.168.0.100: icmp_seq=5 ttl=64 time=1.78 ms
1208 bytes from 192.168.0.100: icmp_seq=6 ttl=64 time=1.62 ms
1208 bytes from 192.168.0.100: icmp_seq=7 ttl=64 time=1.66 ms
1208 bytes from 192.168.0.100: icmp_seq=8 ttl=64 time=1.73 ms
1208 bytes from 192.168.0.100: icmp_seq=9 ttl=64 time=1.71 ms
^C
--- 192.168.0.100 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8014ms
rtt min/avg/max/mdev = 1.629/1.717/1.781/0.060 ms
kiran@HP-ENVY-15:~/temp$
kiran@HP-ENVY-15:~/temp$ wget http://192.168.0.100/videos/xaa
--2016-06-27 12:10:13--  http://192.168.0.100/videos/xaa
Connecting to 192.168.0.100:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288000 (500M)
Saving to: ‘xaa’

xaa                                  100%[===================================================================>] 500.00M  5.96MB/s    in 95s     

2016-06-27 12:11:48 (5.28 MB/s) - ‘xaa’ saved [524288000/524288000]

kiran@HP-ENVY-15:~/temp$

Notice the blue curve (Network History), the network performance is now improved compared to the test case 6. You can notice due to still existing random packet drop (although less compared to test case 6), there is a dynamic network fluctuating performance.

Raspberry Pi WAN Emulator TOFFEE-Mocha-1.0.14-1-rpi2 Test case7

So these are the various test cases I tested casually. The intent is not to try all combinations of TOFFEE-Mocha features. But the intent is to test how far these features are going to affect the real-time simulated WAN network performance. And as well to understand which combination of settings need to be set for any given WAN network simulation, such as Mobile networks, Satellite networks, inflight WiFi and so on.



Suggested Topics:


TOFFEE-Mocha - WAN Emulator


Categories

💎 TOFFEE-MOCHA new bootable ISO: Download
💎 TOFFEE Data-Center Big picture and Overview: Download PDF


Recommended Topics:

Why TOFFEE is forked from TrafficSqueezer ↗
Saturday' 13-Mar-2021
TrafficSqueezer is an open-source WAN Optimization project. TrafficSqueezer is mainly a research project which is started around mid-2006. It is initially started as a research (or prototype) code even before it is officially registered in Sourceforge.net. But this code is just primitive user-space raw socket modules. This is later refined and a pre-alpha version is created. Followed by which Alpha release. This prototype code is moved from user-space to Linux Kernel (Kernel Space) and then the journey begin in terms of making a serious WAN Optimization solution. Once the pre-beta and beta releases are complete the mainstream series is started.

Network MTU research and optimization of WAN Links ↗
Saturday' 13-Mar-2021
Network MTU research and optimization of WAN Links

TOFFEE-Mocha WAN Emulation software development - Update: 1-July-2016 ↗
Saturday' 13-Mar-2021
Today I got a feature request from Jonathan Withers. Jonathan is from a company called MultiWave Australia. He said he is able to get the TOFFEE-Mocha Raspberry Pi setup up and with that he is able to emulate geostationary satellite link. But he requested me is there a way to extend the constant packet delay from 40mS to 500mS. So as a part of his request I supported the same in the current ongoing development version of TOFFEE-Mocha.

TCP Tune-up and Performance Analysis Graphs - Congestion Control - Research - Dos and Don'ts ↗
Saturday' 13-Mar-2021

DIY TOFFEE WAN Optimization Device with Intel Celeron Mini PC ↗
Saturday' 13-Mar-2021
Here is a step-by-step DIY to build your own Intel based Mini PC WAN Optimization Device with TOFFEE. I chose this below Intel Celeron Mini PC since it is fan-less aluminium case and as well it has 2 dedicated inbuilt Gigabit Ethernet ports. You can use one for LAN Network and one for WAN Network.

Power consumption of my Home Lab devices for research ↗
Saturday' 13-Mar-2021
Here is my power-consumption measurements of various devices deployed within my home lab. I measured via my kill-a-watt sort of power-meter which is fairly reliable and accurate. I checked its accuracy with various standard load such as Philips LED laps and other constant power-consuming devices to make sure that the power-meter is precise.



TOFFEE-DataCenter - First Live Demo and software development - Update: 26-Aug-2016 ↗
Saturday' 13-Mar-2021
Today I have done a test setup so that I can able to connect my Android Samsung Tab via TOFFEE DataCenter. Below is my complete test topology of my setup. For demo (and research/development) context I configured TOFFEE DataCenter in engineering debug mode. So I do not need two devices for this purpose.

TOFFEE-DataCenter :: Features Supported ↗
Saturday' 13-Mar-2021
Here is a list of TOFFEE-DataCenter features supported. TOFFEE-DataCenter currently supports some of the important features such as loss-less network data compression, Packet Deduplication (protocols/applications supported), Application Acceleration, TCP Acceleration, dynamic MTU optimization, data packaging, hardware offload support, etc.

Building my own CDN - choosing a web-hosting to deploy my CDN - Update: 28-July-2016 ↗
Saturday' 13-Mar-2021
The TOFFEE Project website is hosted on Inmotion Hosting. And so I am looking for alternate hosting provider to build my first CDN node. My plan is to make multiple sub-domains of my website such as cdn1.the-toffee-project.org, cdn2.the-toffee-project.org and point each of this corresponding subdomain(s) to various alternative web hosting servers geographically spread across the world. Sometimes choosing the same vendor for multiple CDN nodes may result multiple servers existing in the data-center. And this becomes an issue if there is some catastrophic network disaster.

TOFFEE-Butterscotch Documentation :: TOFFEE-Butterscotch-1.0.11-rpi2-23-nov-2016 ↗
Saturday' 13-Mar-2021
TOFFEE-Butterscotch Documentation :: TOFFEE-Butterscotch-1.0.11-rpi2-23-nov-2016



Featured Educational Video:
Watch on Youtube - [1836//1] x257 tp-link UE300 Linux Kernel Realtek Driver Codewalk rtl8153a-3 r8152 USB 3.0 to Gigabit - Part1 ↗

TCP Tune-up and Performance Analysis Graphs - Congestion Control - Research - Dos and Don'ts ↗
Saturday' 13-Mar-2021

TOFFEE-Mocha WAN Emulation software development - Update: 18-June-2016 ↗
Saturday' 13-Mar-2021
In the previous update (17-Jun-2016) I discussed about the upcoming new Random Packet drop feature along with other completed features. Now I completed the entire TOFFEE-Mocha Random packet drop feature. I completed all the kernel components and the UI support of the same. And to make GUI settings more organized I split the earlier Basic-Settings page into two separate pages namely: Packet Drop and Packet Delay. So this way it is simple to understand settings according to their functionality.

TOFFEE (and TOFFEE-DataCenter) deployment with VPN devices ↗
Saturday' 13-Mar-2021
In case if you need to deploy TOFFEE along with your existing VPN devices you can deploy the same as shown below. This will allow your VPN devices to encrypt your TOFFEE WAN Optimized network data. NOTE: Make sure about the VPN deployment topology done in the right order. Else TOFFEE (LAN side) may get VPN encrypted packets which may not be possible (and or difficult) to further optimize. Hence always make sure to deploy them in a topology suggested below so that TOFFEE devices are out of VPN tunnel.

TOFFEE (and TOFFEE-DataCenter) deployment in SD-WAN Applications ↗
Saturday' 13-Mar-2021
Software-Defined Wide Area Networking (SD-WAN) is a new innovative way to provide optimal application performance by redefining branch office networking. Unlike traditional expensive private WAN connection technologies such as MPLS, etc., SD-WAN delivers increased network performance and cost reduction. SD-WAN solution decouple network software services from the underlying hardware via software abstraction.



Watch on Youtube - [466//1] 158 VLOG - TOFFEE WAN Optimization Software Development live update - 6-Nov-2016 ↗

The TOFFEE Project :: TOFFEE-Mocha :: WAN Emulator ↗
Saturday' 13-Mar-2021
The TOFFEE Project :: TOFFEE-Mocha :: Linux Open-Source WAN Emulator



Research :: Optimization of network data (WAN Optimization) at various levels:
Network File level network data WAN Optimization


Learn Linux Systems Software and Kernel Programming:
Linux, Kernel, Networking and Systems-Software online classes [CDN]


Hardware Compression and Decompression Accelerator Cards:
TOFFEE Architecture with Compression and Decompression Accelerator Card


TOFFEE-DataCenter on a Dell Server - Intel Xeon E5645 CPU:
TOFFEE-DataCenter screenshots on a Dual CPU - Intel(R) Xeon(R) CPU E5645 @ 2.40GHz - Dell Server