Router "WAN to LAN" throughput Test
duckware.com/testwan2lan -- February 20, 2018 -- Version 2.1a (2019/07/17)
TIP: The test programs below are great at testing Mbps speeds between any two
computers. That can be WAN to LAN, LAN to wifi, etc.
TIP: The efficiency of TCP/IP over Ethernet, with a MTU of 1500, is 1460/1538, or (1500-20-20) / (1500+38)),
which translates to a maximum possible (application level) speed of 949.28 Mbps for Gigabit Ethernet
(50.72 Mbps overhead).
Details from wikipedia
|
|
The problem: How do you reliably and very accurately test Router "WAN to LAN"
throughput? Because even with a full Gigabit (1000 Mbps) Internet connection, a bad
speedtest result might be the fault of the Internet connection, and not the router.
How do you test ONLY the router?
The solution: Use your gigabit LAN as the WAN that the 'router to test' sees, and run a speedtest
over this known full gigabit LAN!
Test Requirements:
You will need two computers with gigabit wired Ethernet to run this test.
First, attach all devices as seen in the diagram below:
Running Speed Test...
IN=http://192.168.1.2/huge.bin
OUT=http://192.168.1.2/huge.bin
IP=192.168.1.2
BPS=940,591,744
0: 117,448,805 (939,590,440 bps)
1: 117,572,777 (940,582,216 bps)
2: 117,576,621 (940,612,968 bps)
3: 117,571,626 (940,573,008 bps)
4: 117,573,800 (940,590,400 bps)
5: 117,572,657 (940,581,256 bps)
...
|
LAN to LAN test, port 80
Running Speed Test...
IN=http://192.168.1.2/huge.bin
OUT=http://192.168.1.2/huge.bin
IP=192.168.1.2
BPS=326,754,656
0: 15,756,597 (126,052,776 bps)
1: 36,133,285 (289,066,280 bps)
2: 41,282,269 (330,258,152 bps)
3: 41,238,824 (329,910,592 bps)
4: 41,169,722 (329,357,776 bps)
5: 41,211,178 (329,689,424 bps)
6: 41,310,052 (330,480,416 bps)
7: 41,154,980 (329,239,840 bps)
8: 41,176,542 (329,412,336 bps)
9: 41,194,539 (329,556,312 bps)
10: 41,011,124 (328,088,992 bps)
11: 40,844,220 (326,753,760 bps)
12: 40,793,024 (326,344,192 bps)
13: 40,763,889 (326,111,112 bps)
14: 40,856,632 (326,853,056 bps)
15: 41,094,183 (328,753,464 bps)
16: 41,092,261 (328,738,088 bps)
17: 41,273,242 (330,185,936 bps)
18: 41,209,349 (329,674,792 bps)
19: 41,227,831 (329,822,648 bps)
RWIN=1460000
RTT=1.27 ms
BDP=8,741,797,899 bps
|
Netgear R7800 WAN to LAN, port 80
Running Speed Test...
IN=http://192.168.1.2:81/huge.bin
OUT=http://192.168.1.2:81/huge.bin
IP=192.168.1.2
BPS=940,504,328
0: 117,397,405 (939,179,240 bps)
1: 117,572,084 (940,576,672 bps)
2: 117,575,301 (940,602,408 bps)
3: 117,573,382 (940,587,056 bps)
4: 117,574,013 (940,592,104 bps)
5: 117,574,222 (940,593,776 bps)
...
|
Netgear R7800 WAN to LAN, port 81
|
Configure Test Router as an "Access Point":
Connect the WAN port of the 'router to test' to a Gigabit switch that is
connected to the Internet (as per diagram above).
Factory reset (how to factory reset Netgear routers)
the 'router to test' and set the mode of operation to "Access Point" (AP)
(how to configure AP mode for Netgear routers).
In this "AP" mode, the WAN/LAN ports on the 'router to test' act as a gigabit switch on the
LAN (there is NO routing and NO DHCP). So all devices are actually connecting to the WAN router
to obtain ip addresses (not the 'router to test').
Setup your computers: Turn wifi off on both computers and verify that the only
active connection is wired Gigabit ethernet, and install the test software:
- Download test-wan2lan.zip
- Extract/copy the ZIP contents (httpd.exe and dlspeed.exe)
into a temp folder on two computers. The two EXE's in this ZIP require 32-bit Java.
UPDATE 2020/02/11:There is a new multi-platform
SpeedTest program available. Run the
program in server mode on one computer, and client mode on another computer,
and both download and upload Mbps will be displayed.
|
Verify computer power: Run the 'LAN to LAN' test below, but instead of between
PC's, run the test within each PC to itself (from a PC to the same PC).
You should obtain a speed test result well over 1 Gbps. This is to confirm that your
computers are powerful enough to run the true 'LAN to LAN' test below. On two of my
PC's, I get a result around 5 Gbps (and on a third, 20 Gbps), a good result.
TIP: It can't hurt to reboot your computer before running this test. I once got 1.5 Gbps
speeds and could not figure out why. Rebooted, and immediately got 5 Gbps speeds again.
LAN to LAN test: Next, verify that your Gigabit LAN and network cards are fully capable
of Gigabit speeds. With the 'router to test' in AP mode:
- Run "httpd.exe ." on the first computer and take note of the ip address output by
this program (to use in next step). This runs a mini HTTP web server (allowing access
to any file in the temp folder; great for testing static web sites) with a built-in 10 GB "huge.bin" file.
In this computer's firewall, you must
allow httpd.exe to accept incoming connections (or suspend the firewall during test).
You can also use "ipconfig/all" to find a computer's ip address.
- Run "dlspeed.exe -1460000 http://x.x.x.x/huge.bin" on the second computer
where "x.x.x.x" is the ip address of the first computer. dlspeed.exe runs
for around 20 seconds and then outputs all results at once.
You should obtain a speedtest result that is very close to the maximum Gigabit
LAN speed of 949 Mbps (network overhead uses up 51 Mbps).
For example, on my test system, I obtained a speedtest result of 941 Mbps
(see test above right), a good result.
If you do not obtain the expected speed, review ethernet driver settings in the OS.
Finally, run the WAN to LAN test:
Next, factory reset the 'router to test' (you want the router back in "Router" mode with
default settings). The 'router to test' will see your LAN as the WAN.
The second computer will now get a new IP address from the
'router to test'. Re-run the exact same "dlspeed.exe" test above (to the same IP address
previously used). This tests Router 'WAN to LAN' throughput.
WARNING: After a factory reset, you will likely need to first connect to the router
from the second computer and answer some basic questions before the router is properly
configured and ready for use in the speedtest. Namely, the test router may detect an ip address
conflict with the existing router (192.168.1.X) and change to a secondary ip address range
(10.0.0.X).
Optional test variation: Just before running dlspeed.exe, unplug the
Ethernet cable (orange cable line in diagram above) running from the switch to the WAN
router. This will eliminate any possible influence (however unlikely) from that router
or Internet during the speedtest on your LAN.
This test variation also make it incredibly clear that your existing Internet router plays NO
'routing' role in the speedtest. The only equipment involved in the speedtest is:
(1) the gigabit switch, (2) two computers, and (3) the 'router to test' -- and nothing else.
Results:
If you run this test, please forward your dlspeed.exe output results
(along with router model number and firmware version) to us. See the last section
below for contact info.
Router throughput |
Era | Router | Firmware | WAN to LAN | LAN to LAN |
port 80 | port 81 |
100 Mbps class routers -- 94.9 Mbps max |
2009 | Netgear WNR1000v3 | V1.0.2.68_60.0.93 | 94 Mbps | 94 Mbps | 94 Mbps |
1 Gbps class routers -- 949 Mbps max |
2012 | Netgear JNR3210 | V1.1.0.30_1.0.2 | 425 Mbps | 433 Mbps | 941 Mbps |
2016 | Netgear R7800 | V1.0.2.44 | 327 Mbps | 941 Mbps | 941 Mbps |
2016 | Netgear R7800 | V1.0.2.62 | 941 Mbps | 941 Mbps | 941 Mbps |
Single vs Multiple socket speed tests: dlspeed.exe very intentionally uses only
a single socket to download the huge.bin file -- because a single socket speedtest
is the hardest test to pass! This is because a single socket speedtest immediately reveals
problems such as packet loss, per socket throttling, RWIN bugs, router bugs, etc.
The entire point is to verify great WAN to LAN performance, not mask core underlying
performance bugs!
WARNING: Virtually all Internet speedtest sites that you find on the web intentionally
use multiple sockets. Why? Because these sites want to work around bugs, as their goal
is to display your maximum speed possible (not inform you that there is some unknown
bug causing problems).
And if you want to speedtest multiple sockets, just start multiple dlspeed.exe
downloads at the same time (all on the second PC) and take note if overall combined speed
increases (Windows Task Manager,
Networking tab can be useful). If overall speed does significantly increase, there is a bug somewhere.
UPDATE 2018/03/06: Port issues: Some routers will behave differently depending upon which TCP/IP port
is used for the speedtest. In particular, WAN to LAN on Netgear routers appears to be greatly negatively affected
by using port 80. You can test for this issue by altering the command line of the test
programs above (which use port 80 by default) to specify a different port number:
Run "httpd.exe -port:81 ." on the first computer.
Run "dlspeed.exe -1460000 http://x.x.x.x:81/huge.bin"
on the second computer.
UPDATE 2018/03/06: A huge "TELL" that something is not right with the Netgear router is
that during the download speedtest above, the "CPU Load" on the R7800 router's "http://x.x.x.x/debug.htm"
web page is very high.
I wonder if this is a bug regarding Netgear's 'Parental Controls' implementation?
UPDATE 2019/07/17: Retesting the Netgear R7800 with the latest V1.0.2.62 firmware
(today) shows a fast 941 Mbps speed. So whatever bug Netgear had appears to have been fixed.
A final note: This "WAN to LAN" test was specifically designed to test BOTH 'LAN to LAN'
and 'WAN to LAN' without changing any ethernet cables. The 'router to test'
is never eliminated from the test. Rather, only the software configuration inside
the 'router to test' is changed (between "Access Point" and "Router" mode).
This takes advantage of how routers implement 'access point' mode
(converts WAN port into another LAN port).
Because no cables are changed, if 'LAN to LAN' is fast, but 'WAN to LAN' is slow,
there is only the reconfiguration mode of the 'router to test' to blame (not cables, etc).
Use this contact form to contact the author of this paper, Jerry Jongerius.
|
Some images and text are copyrighted by their respective owners and are reproduced
in this paper under Title 17 Section 107 (Fair Use) of the copyright code.
The rest of this document is Copyright © 2020-2025 Jerry Jongerius
|