IP Tuning



( Bandwidth × DelayProduct ) == ( BDP ) = Bandwidth * RTTLatency

aka "optimum ( send and receive TCP/IP ) buffer size"

aka "TCP window size"

aka maximum number of packets in transit ( in flight ) between transmitter and receiver

RTTLatency ( round trip latency ) is the number you get from ping

To tune your gigE ( tcp/ip ) network ( of everything connected on the network )

( aka: parameters affecting network performance )

use a wan-simulator to test some of these conditions

adjust your tcp transmit buffer size

adjust your tcp receive buffer size

adjust your kernel's ethernet queue size

adjust your MTU ( 1500 or 9000 or ??? )

adjust your bandwidth ( traffic shaping ? )

adjust your MSS ( maximum segment size )

change the operating system and/or device drivers if needed

if possible, minimize/adjust your (ping) round trip latency

if possible, minimize/adjust your collisions

if possible, minimize/adjust your packet jitter

if possible, minimize/adjust your packet loss

if possible, minimize/adjust your packet corruptions

Your network performance will be highly dependent upon

your method of injecting test conditions

your method of measuring and monitoring the "effects"

your servers, clients, gateways, firewalls and network topology

( ethernet cables, switches/hubs, nic cards, ethernet drivers,

linux vs freebsd vs microsoft vs .. )

your ability to tune the network for performance

( speed vs thruput vs reliability vs costs vs time vs ?? )

Tuning

TCP (config) Analyzer

BDP calculator

BDP

Latency

TCP optimizer

TCP calculator

resources

tutorial

thruput vs loss

jitter

Tools

TCP Tuning

TCP Tuning resources

TCP Tuning Tutorial ( local copy )

see page 4, pg 5, pg 15

tcp wan performance

TCP Tuning

Optimal buffer size = bandwidth * ping(RTT)

given ping shows 50ms,

Optimal buffer size = 100Mbit/sec * 0.050sec * 1/8 == 625 KBytes

Watch out for default and maximum ( tcp ) send and receive buffer sizes

setting buffer sizes too big or too small will adversely affect your network performance

NIC driver limits on queue buffer sizes

OS limits on queue buffer sizes

use setsockopt to get around OS buffer limits of 256MB setsockopt

tcp tuning

tcp tuning doesn't help copying across the network with ssh/scp

Tuning different OSs

Tuning different OSs ( local copy )

tuning linux

tuning freebsd

tuning solaris

tuning windows

tuning Mac OSX

Trouble-Shooting gigE networks

trouble shooting with tcpdump + tcptrace

netstat -s to see if there are a lot of TCP retransmissions

full duplex or half duplex

check for half-duplex vs full-duplex

window size

Projects

iperf-1.7.0 ( Mar 2003 )

given ping shows 42ms delays,

BDP for DS3 ( T3 ) == 45 Mbit/sec * 0.042 ms * 1/8 == 230 KByte

Network Performance Measurement Tools ( NPMT )

10GigE

MTU

tcp tune ( local copy )

congestion avoidance

iperf patches

DCCP = Datagram Congestion Control Protocol

congestion ( local copy )

gigaTCP

tcpar - TCP Armonk

TCP over WAN Performance Tuning and Troubleshooting

Effective Evaluation of TCP

jumbo frames

GigE

© 2004-2011 wan-sim.net All Rights Reserved.