Client Network Tab

Use the Client Network tab to configure the client network characteristics that you want to emulate. For example, you can choose to resolve domain names in Action lists for every simulated user request, and specify various TCP/UDP parameters and port ranges.

The Client Network tab contains the following panes:

Field Description
Miscellaneous Parameters:
Enable Round Robin DNS Select to resolve domain names in the Action lists for every simulated user request. If the Action list contains hostnames (fully qualified domain names) instead of IP addresses, Avalanche queries the DNS server and caches the result for future transactions. Because Avalanche queries the DNS server for every transaction, it generates a great amount of UDP traffic out of the administration interface. You can use this as a quick way to test the performance and scalability of DNS servers. A test stops if the DNS server cannot resolve a particular host in an Action list entry.
IGMP Version The version of the Internet Group Management Protocol (IGMP) that controls multicast channels for IPv4. This version will be used in Video On Demand (VoD) Multicast tests. The available versions are 2 and 3.
Suppress IGMP/MLD Reports

Select to reduce the number of join report messages sent from the client. The Avalanche IGMP and MLD protocols will send join report messages twice to the multicast gateway initially, but will not actively send join report messages without receiving a query message from the multicast gateway. If a query message is received from the gateway, only one join report message will be sent.

If deselected, Avalanche will send join report messages to the multicast gateway continuously, triggered at automatic intervals, without receiving a query message from the multicast gateway. This is useful when some multicast gateways do not send query messages for long periods of time, in which case, the multicast gateway will not receive join report messages for long periods, and will stop the multi-stream transmission.

Fairness Threshold bytes/sec/connection This value is the throughput (fairness) threshold per connection that you expect when testing a DUT/SUT (device/system under test) that performs bandwidth management, traffic shaping, or QoS guarantee. You specify the fairness threshold per connection in bytes/second. All data sent and received inside a particular connection is recorded. The rate for every connection is calculated as follows: (bytes sent + bytes received) / connection lifetime. This calculation is based on TCP bandwidth, that is, the TCP data minus any Ethernet, IP, or TCP headers. The result determines if a connection is below or above the specified threshold. For example, if a DUT is configured to prevent a connection from exceeding 2048 bytes/second, you would enter a fairness threshold of 2048. The number of connections that exceeded this throughput threshold would appear in the Fairness tab in the client real-time statistics.
IP Fragment Reassembly Timer The maximum time in milliseconds that the IP stack waits for subsequent fragments after receiving the first fragment of an IP datagram. If the entire datagram has not been received by this time, the entire datagram is discarded.
TCP Parameters:
IPv4/IPv6 Maximum Segment Size (MSS) bytes

The maximum TCP segment size (in bytes) that the TCP stack receives (data only, excluding headers). The send segment size is determined by the communicating peer. The default maximum segment size (MSS) is 1460 for IPv4 and 1440 for IPv6. The valid range is 6 to 9176 for IPv4, and 6 to 9156 for IPv6.

NOTES:

  • For guidance on configuring MSS and Jumbo Frames, log in to the Spirent CSC (https://support.spirent.com) with your user name and password, and then see

    see the following Knowledge Base article:

  • You must enable jumbo frames, if you want to use frames with over 1460 or 1440 bytes for IPv4 or IPv6, respectively. If you disable jumbo frames, and you exceed these values, then the default MSS settings are used (1460 for IPv4 and 1440 for IPv6), regardless of the MSS that you specify in this field. Also, this field will not update to reflect the default settings being used.
  • When configuring tests with IPSec enabled subnets, you should set the MSS to a value less than 1400 bytes to allow for additional headers.
  • When configuring tests with DS-Lite enabled, an IPv4 MSS value greater than 1420 may cause fragmentation, affecting performance.
  • When configuring tests with GTP enabled, you should set the IPv4 MSS to allow for additional headers (IP, UDP, and GTP) of 40 bytes. An IPv4 MSS value greater than 1420 may cause fragmentation, affecting performance.
Override Remote Device MSS

Select to specify the maximum TCP segment size (in bytes) to be used for sending TCP data. This overrides the MSS value announced by the remote device. (If deselected, the send segment size is determined by the remote device.) The specified value must be between 6 and 9176, and the default value is 1460.

NOTE: If you specify a value that is greater than the MSS value announced by the remote device, your new value will not take effect. That is, the MSS value announced by the remote device will be used.

Receive Window bytes The receive window in which you want the TCP stack to send TCP segments. The receive window informs the peer how many bytes of data the stack is currently able to receive. The supplied value is used in all segments sent by the stack. The valid range is 0 to 1073741823.
Delayed ACKs Select to cause the TCP stack to implement the Delayed ACK strategy, which attempts to minimize the transmission of zero-payload ACK packets. Acknowledgements will be deferred and should be piggybacked on top of valid data packets. If successfully deferred, these acknowledgements are free, in the sense that they consume no additional bandwidth.
Delayed ACK Timeout ms If you select Delayed ACKs, use this timeout value to specify the maximum time the TCP stack waits to defer ACK transmission. If this timer expires, the stack transmits a zero-payload acknowledgement.
Delayed ACK Bytes If you select Delayed ACKs, use this value to specify the maximum amount of TCP payload (in bytes) that the stack accepts before ACK transmission. Once this value is met, the stack transmits a zero-payload ACK packet acknowledging the received data.
Timestamps Option Select to add a TCP timestamp to each TCP segment and calculate RTT (Round Trip Time) for each TCP segment. If selected, Avalanche sends TCP segments with the Timestamps option (TSopt), checks the TSopt received, calculates RTTs, and generates statistics. If deselected, Avalanche sends TCP segments without the TSopt, and discards the TSopt received.

NOTES:

  • See RFC 1323, TCP Extensions for High Performance, for more information.
  • When configuring tests with the Timestamps Option enabled, the size of the net payload in each TCP segment that Avalanche sends is the MSS value minus 12 bytes (assuming no other TCP options are enabled), in conformance with RFC 6691, TCP Options and Maximum Segment Size (MSS).
Enable Push Flag Select to set the TCP PSH (push) flag in all TCP packets. This flag causes buffered data to be pushed to the receiving application. If deselected, the PSH flag is not set in any TCP packet.

NOTE: This flag does not apply to TCP handshake messages (SYN and SYN/ACK).

Enable Congestion Control Select to invoke the TCP stack's congestion control mechanism, and select one of the following algorithms:
  • TCP Reno (default)

    The TCP stack implements Slow Start and Congestion Avoidance and Fast Retransmit/Fast Recovery, according to RFC 2581.

  • TCP SACK (Selective Acknowledgement)

    This strategy is used to handle multiple dropped segments during data transmission. With selective acknowledgment, the data receiver informs the sender of all segments that have arrived successfully, so that the sender need retransmit only the segments that have been lost.

    Select this option to enable the TCP data receiver to accept TCP connections with the SACK option; also enables the TCP data sender to use the SACK loss recovery algorithm instead of non-SACK TCP implementations, such as Reno.

    NOTES:

    • See the following RFCs for more information:
      • RFC 2018 - TCP Selective Acknowledgment Options
      • RFC 2883 - An Extension to the Selective Acknowledgement (SACK) Option for TCP
      • RFC 6675 - A Conservative Loss Recovery Algorithm Based on Selective Acknowledgment (SACK) for TCP
    • When configuring tests with the SACK Option enabled, the size of the net payload in each TCP segment that Avalanche sends is the MSS value minus 40 bytes (assuming no other TCP options are enabled). This Avalanche implementation is not fully in conformance with RFC 6691, TCP Options and Maximum Segment Size (MSS).
  • TCP Vegas

    This strategy emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets.

    NOTES:

    • See the following IEEE/SIGCOMM papers for more information:
      • TCP Vegas: End to End Congestion Avoidance on a Global Internet
      • TCP Vegas: New Techniques for Congestion Detection and Avoidance
    • Enabling TCP Vegas on a test with open connections as a load specification causes a 10% degradation in performance.
Initial Congestion Window The TCP Initial Congestion Window (ICW) specifies the amount of TCP payload to send initially in the TCP slow-start process. This process is part of the TCP congestion control strategy to avoid causing network congestion.   Specify a value between 1 and 64. This value gets multiplied by the MSS value to derive the ICW in bytes.

NOTES:

  • This ICW value does not apply if Delayed Ack Bytes is lower than the ICW value x MSS value.
  • This ICW value does not apply if Delayed Acks is disabled. The first ACK is not delayed according to the ICW value.
Override Internal Timeout Calculation ms Select to override the TCP stack calculation of the retransmission timeout value and replace it with the value that you enter (in milliseconds). Avalanche uses this value for the first transmission of a particular data or control packet and doubles it for each subsequent retransmission.
Retries The number of times a timed-out packet is retransmitted before aborting further retransmission. If the client does not receive a response after the configured number of retries have been attempted, the error is logged in the results CSV file as a TCP timeout when a SYN or FIN is sent, and no SYN/ACK or FIN/ACK from the server is received.
Inactivity Timer ms

The amount of time that passes before Avalanche resets (the stack sends an RST segment) and abandons inactive connections. A value of 0 disables the timer. You must disable this timer before each streaming test.

NOTE: The TCP inactivity timer value is also used for ThreatEx UDP (stateless) traffic, for determining when to reset/abandon the connection.

Fin Ack Timer ms

The amount of time that a SimUser waits after it finishes its actions and before it directly breaks all of its TCP connections (that is, the time to wait to receive the LAST_ACK message for a FIN request). A value of 0 disables the timer.

NOTE: Setting this timer can adversely affect TCP performance.

Piggyback Get Requests Select to enable piggybacking the HTTP GET request ACK packet with the server's SYN/ACK packet (available only for HTTP). The behavior will be as follows:

SYN ->

<-SYN/ACK

ACK with GET ->

  If you don't select this option, the default behavior for a TCP handshake from Avalanche is as follows:

SYN ->

<-SYN/ACK

ACK to SYN/ACK ->

GET/POST ->

Piggyback TLS ClientHello Select to enable piggybacking the TLS ClientHello message ACK packet with the server's SYN/ACK packet. The behavior will be as follows:

SYN ->

<-SYN/ACK

ACK with ClientHello ->

  If you don't select this option, the default behavior for a TCP handshake from Avalanche is as follows:

SYN ->

<-SYN/ACK

ACK to SYN/ACK ->

ClientHello ->

Enable TCP Port Randomization Select to enable source TCP port number assignment in a random order, within the range specified by the System Port Range fields below. If deselected, the TCP port numbers are assigned sequentially. This option applies only if you have more than one URL in your Actions list, and HTTP 1.1 Persistence is not enabled.

NOTE: You cannot use this option along with Enable TCP Port Reuse.

Enable TCP Port Reuse Select to enable source TCP port reuse with freed ports taking precedence. That is, when a TCP connection terminates, the freed source port gets reused for the next connection for the IP address. If deselected, the source ports within the entire System Port Range get used first, prior to any freed ports.

NOTE: You cannot use this option along with Enable TCP Port Randomization.

Connection Termination With FIN Select to close the TCP connection as soon as it completes all transactions for the connection, using FIN (CloseConnection) to complete the closure. (Generally, the server-side TCP close connection method is used.)
UDP Parameters:
Enable IPv4 UDP Checksum Select to enable the checksum calculation in the UDP header of IPv4 packets sent by the client.

NOTE: This option affects only the sent packets. It does not provide error checking against the received packets.

System Port Range Fields:
Lower Bound

The lower bound for source port number assignment (TCP or UDP). The default value is 1024.

NOTES:

  • The following is the difference between UDP and TCP for the port number assignment:

    UDP: Increments by 1 for each Simuser

    TCP: Increments  by 1 for each connection within the same Simuser

  • When using ThreatEx, this value is used for the ThreatEx lower bound source port number, and subsequent ports are allocated for ThreatEx. For example, if ThreatEx requires 1000 source ports, and the lower bound is 5000, ThreatEx uses 5000-5999, while other tests use the remaining ports, from 6000 to the upper bound (specified below). (These bounds are not used for raw attacks.)
Upper Bound The upper bound for source port number assignment (TCP or UDP). The default is value 65535.
Zero Fill Settings:
Zero Fill Select to fill inconsequential data in TCP packets with zeros to speed up checksum processing, and thus improve performance.

NOTES:

  • This setting applies only to the SPT-C100-S3-MP-6 platform (2x100G configuration).
  • This is an advanced setting, which should be left unchecked when in doubt. It does not apply to all protocols, or in all cases for a particular protocol.

Configuring Client Network Profiles

Action Lists

Testing VoD Multicast

Client Statistics Fairness Tab