Features needed for a configurable transparent proxy to simulate adverse network characteristics:
- Proxy destination configuration. It should be possible to use to the tool to establish mappings from ports on the proxy machine to destination hosts and ports.
- Bandwidth limitation. It should be possible to limit the bandwidth by specifying a maximum bps rate in several modes:
- Individual specification for incoming and outgoing bandwidths
- Specification of combined bandwidth for both directions
- Latency specification. The proxy should read data as quickly as possible, but each block of incoming data should be queued and held until specified latency time has passed.
- Ability to break the connection
- Packet loss, simulated by randomly adding latency to blocks of data
An initial implementation of this (based on code developed for EPIC email proxies) can be found in edu.vt.chci.proxy.tcp.AdjustablePiper.
|