Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
docs:user-guide:perf_and_log:benchmark.nat [2018/03/03 20:12] – ↷ Page moved from docs:user-guide:performance:benchmark.nat to docs:user-guide:perf_and_log:benchmark.nat bobafetthotmaildocs:guide-user:perf_and_log:benchmark.nat [2020/06/19 23:11] – [Rationale] Link for JPerf download does not address to the correct site. sopalajoarrierez
Line 1: Line 1:
-====== Benchmark Network Address Translation ======+====== IPv4 Benchmark Network Address Translation ======
  
-After you install OpenWRT on your Router you should do a Network Address Translation Benchmark to know how well it performs address translation of network packets between your local network (LAN) to your internet service provider (WAN).+After you install OpenWrt on your Router you should do a //Network Address Translation Benchmark// to know how well it performs address translation of network packets between your local network (LAN) to your internet service provider (WAN). 
 + 
 +The diagram below shows the general layout of the benchmark test described below: 
 + 
 +{{:media:jperf-ipv4-setup.png?600|}}
  
 ===== Rationale ===== ===== Rationale =====
Line 9: Line 13:
 In order to make full use of the bandwidth you are paying for, the router has to be able to process network packets at rates that exceed the bandwidth of the subscription you are paying for. In order to make full use of the bandwidth you are paying for, the router has to be able to process network packets at rates that exceed the bandwidth of the subscription you are paying for.
  
-You should not take benchmarks found online as a reference because it is now using OpenWRT iptables (Masquerade) to perform translation of ip address of network packets instead of the factory firmware network stack implementation.+You should not take benchmarks found online as a reference because it is now using OpenWrt iptables (Masquerade) to perform translation of ip address of network packets instead of the factory firmware network stack implementation.
  
 For a graphical approach to testing you can follow the methods to utilise jperf to benchmark Network Address Translation performance as described below: For a graphical approach to testing you can follow the methods to utilise jperf to benchmark Network Address Translation performance as described below:
  
-[[http://code.google.com/p/xjperf/‎|Jperf]] is [[http://en.wikipedia.org/wiki/Iperf‎|Iperf]] with a Java graphical frontend.+[[http://code.google.com/p/xjperf/‎|Jperf]]FIXME (check modern link) is [[http://en.wikipedia.org/wiki/Iperf‎|Iperf]] with a Java graphical frontend.
  
 ===== Prerequisites ===== ===== Prerequisites =====
Line 29: Line 33:
   - In order to simplify the steps involved we will use 10.1.1.0/24 as the WAN Network and the default 192.168.1.0/24 as the LAN Network   - In order to simplify the steps involved we will use 10.1.1.0/24 as the WAN Network and the default 192.168.1.0/24 as the LAN Network
  
-==== Client Network Settings ====+==== WAN Network Settings ====
  
 On the Client Computer using Web Browser,Telnet or SSH get to the Router Configuration Page at IP Address 192.168.1.1 and set the network settings on the Router WAN Interface to On the Client Computer using Web Browser,Telnet or SSH get to the Router Configuration Page at IP Address 192.168.1.1 and set the network settings on the Router WAN Interface to
  
-Protocol | Static | +Protocol          | Static          
-|IP Address | 10.1.1.1 | +IP Address        | 10.1.1.1        
-|Subnet Mask | 255.255.255.0 | +Subnet Mask       | 255.255.255.0   
-|Default Gateway |   |+Default Gateway                   |
  
 {{media:doc:howtos:openwrt_server_wan.png|}} {{media:doc:howtos:openwrt_server_wan.png|}}
Line 46: Line 50:
 On the Server use its own network configuration tool to set the network settings to On the Server use its own network configuration tool to set the network settings to
  
-Protocol | Static | +Protocol          | Static          
-IP Address | 10.1.1.2 | +IP Address        | 10.1.1.2        
-|Subnet Mask | 255.255.255.0 | +Subnet Mask       | 255.255.255.0   
-|Default Gateway | 10.1.1.1 |+Default Gateway   | 10.1.1.1        |
  
 {{media:doc:howtos:server.png|}} {{media:doc:howtos:server.png|}}
Line 60: Line 64:
 <code>ping 10.1.1.2 </code> <code>ping 10.1.1.2 </code>
 You should get a series of ping echo response if not recheck your network settings or turn off your firewall on both the Client and the Server. You should get a series of ping echo response if not recheck your network settings or turn off your firewall on both the Client and the Server.
-There is no need to change the LAN Settings as by default OpenWRT sets LAN to 192.168.1.0/24 DHCP Mode.+There is no need to change the LAN Settings as by default OpenWrt sets LAN to 192.168.1.0/24 in DHCP Mode.
  
 ===== Setting Up Jperf ===== ===== Setting Up Jperf =====
Line 73: Line 77:
  
 You should be able to see the jperf main screen. You should be able to see the jperf main screen.
 +
 You need to set the Jperf on the Server to listen first before we can run the Client. You need to set the Jperf on the Server to listen first before we can run the Client.
 +
 For the Server, simply select Server and change the metric to Mbits for easy reference and comparison as shown below. For the Server, simply select Server and change the metric to Mbits for easy reference and comparison as shown below.
 +
 Then click run Iperf to set the Server to listening mode. Then click run Iperf to set the Server to listening mode.
 +
 +For TCP select TCP as shown below, for UDP select UDP
  
 {{media:doc:howtos:jperf_server.png|}} {{media:doc:howtos:jperf_server.png|}}
Line 84: Line 93:
  
 {{media:doc:howtos:jperf_client.png|}} {{media:doc:howtos:jperf_client.png|}}
 +
 +For UDP, you need to set the bandwidth to line rate eg. 900Mbits and observe the actual throughput on the receiver Server as shown below
 +
 +{{:media:jperf-udp.png?1000|}}
  
 When you are ready click run Iperf to start the test. When you are ready click run Iperf to start the test.
-After the test ends you should analyse the result on the Server for accuracy instead of the Client since only the network packets that get through matters not the packets generated.+After the test ends you should ALWAYS analyse the result on the Server for accuracy instead of the Client since only the network packets that get through matters not the packets generated.
  
 {{media:doc:howtos:jperf_result.png|}} {{media:doc:howtos:jperf_result.png|}}
Line 92: Line 105:
 For the above picture it indicates that the Router will be generally sufficiently powerful enough for a < 250Mbps Internet Subscription Plan. For the above picture it indicates that the Router will be generally sufficiently powerful enough for a < 250Mbps Internet Subscription Plan.
  
-|Note that OpenWRT does Network Address Translation in Software so any activities that taxes the Router'Processor will affect the Network Address Translation performance including accessing the Router Web Server LuCI, Telnet Sessions, SSH Sessions,Samba File Copy etc.|+<WRAP center round important 80%> 
 +Note that OpenWrt does Network Address Translation in Software so any activities that taxes the router'processor will affect the Network Address Translation performance including accessing the router web server LuCI, Telnet sessions, SSH sessions, Samba file copy etc. Running Network Congestion Control software like SQM also reduces the network throughput performance. 
 +</WRAP> 
  
-{{tag>fastethernet ethernet router gigabitethernet}} 
  • Last modified: 2020/06/19 23:16
  • by sopalajoarrierez