Member-only story
Traffic Controller Precedes Network Link Conditioner
Apple’s Network Link Conditioner is likely a derivative of a Command Line Interface (i.e., CLI) tool that hails from the kernel. Linux, for instance, has a tool called a CLI for Linux Traffic Control, which allows users to configure the kernel packet scheduler to simulate packet delay and loss for UDP or TCP applications, or limit the bandwidth usage of a particular service to simulate Internet connections (DSL, Cable, T1, etc…).
Linux’ tc
relates to the Linux kernel packet scheduler as iptables is to netfilter. Both are user-space CLI. An example of tc
as a user-space CLI is tc qdisc add dev eth0 root netem delay 200ms
. A breakdown of the example is that you are looking at a tool on Debian, called Traffic Control, that runs tc
, which is an acronym for its namesake, qdisc
, which is the command for modifying the traffic scheduler (i.e., queuing discipline), add
, which is there for adding a new rule, dev
, which is there for identifying the device, eth0
,which is there for the device,root
,which is there for modifying the outbound traffic emulator, or netem
, which is there fore the network emulator. The example’s objective is to schedule network interference at a delay of 200 miliseconds to the outgoing or uplink connection on the ethernet device marked at the zero index of ethernet devices. Although just one example, there are a myriad of just such examples…