1 .TH NETEM 8 "25 November 2011" "iproute2" "Linux"
3 NetEm \- Network Emulator
10 .IR OPTIONS " := [ " LIMIT " ] [ " DELAY " ] [ " LOSS \
11 " ] [ " CORRUPT " ] [ " DUPLICATION " ] [ " REORDERING " ]"
19 .IR TIME " [ " JITTER " [ " CORRELATION " ]]]"
22 .BR distribution " { "uniform " | " normal " | " pareto " | " paretonormal " } ]"
27 .IR PERCENT " [ " CORRELATION " ] |"
30 .IR p13 " [ " p31 " [ " p32 " [ " p23 " [ " p14 "]]]] |"
33 .IR p " [ " r " [ " 1-h " [ " 1-k " ]]]"
38 .IR PERCENT " [ " CORRELATION " ]]"
40 .IR DUPLICATION " := "
42 .IR PERCENT " [ " CORRELATION " ]]"
46 .IR PERCENT " [ " CORRELATION " ] [ "
51 NetEm is an enhancement of the Linux traffic control facilities
52 that allow to add delay, packet loss, duplication and more other
53 characteristics to packets outgoing from a selected network
54 interface. NetEm is build using the existing Quality Of Service (QOS)
55 and Differentiated Services (diffserv) facilities in the Linux
59 netem has the following options:
63 limits the effect of selected options to the indicated number of next packets.
66 adds the chosen delay to the packets outgoing to chosen network interface. The
67 optional parameters allows to introduce a delay variation and a correlation.
68 Delay and jitter values are expressed in ms while correlation is percentage.
71 allow the choose the delay distribution. If not specified, the default
72 distribution is normal. Additional parameters allow to consider situations in
73 which network has variable delays depending on traffic flows concurring on the
74 same path, that causes severeal delay peaks and a tail.
77 adds an independent loss probability to the packets outgoing from the chosen
78 network interface. It is also possibile to add a correlation, but this option
79 is now deprecated due to the noticed bad behaviour.
82 adds packet losses according to the 4-state Markov using the transition
83 probabilities as input parameters. The parameters p13 is mandatory and if used
84 alone corresponds to the Bernoulli model. The optional parameters allows to
85 extend the model to 2-state (p31), 3-state (p23 and p32) and 4-state (p14).
86 State 1 corresponds to good reception, State 4 to independent losses, State 3
87 to burst losses and State 2 to good reception within a burst.
90 adds packet losses according to the Gilbert-Elliot loss model or its special
91 cases (Gilbert, Simple Gilbert and Bernoulli). To use the Bernoulli model, the
92 only needed parameter is p while the the others will be set to the default
93 values r=1-p, 1-h=1 and 1-k=0. The parameters needed for the Simple Gilbert
94 model are two (p and r), while three parameters (p, r, 1-h) are needed for the
95 Gilbert model and four (p, r, 1-h and 1-k) are needed for the Gilbert-Elliot
96 model. As known, p and r are the transition probabilities between the bad and
97 the good states, 1-h is the loss probability in the bad state and 1-k is the
98 loss probability in the good state.
101 allows the emulate the random noise introducing an error in a random position
102 for a chosen percent of packets. It is also possible to add a correlation
103 through the proper parameter.
106 using this option the chosen percent of packets is duplicated before queueing
107 them. It is also possible to add a correlation through the proper parameter.
110 there are two ways to use this option:
115 in this first example every 5th (10th, 15th) packet is sent immediately while
116 other packets are delayed by 10 ms
121 in this second example 25% of packets are sent immediately (with correlation of
122 50%) while the other are delayed by 10 ms.
125 The main known limitation of Netem are related to timer granularity, since
126 Linux is not a real-time operating system.
130 Hemminger S. , "Network Emulation with NetEm", Open Source Development Lab,
132 (http://devresources.linux-foundation.org/shemminger/netem/LCA2005_paper.pdf)
135 Netem page from Linux foundation, (http://www.linuxfoundation.org/en/Net:Netem)
138 Salsano S., Ludovici F., Ordine A., "Definition of a general and intuitive loss
139 model for packet networks and its implementation in the Netem module in the
140 Linux kernel", available at http://netgroup.uniroma2.it/NetemCLG
147 Netem was written by Stephen Hemminger at Linux foundation and is based on NISTnet.
148 This manpage was created by Fabio Ludovici <fabio.ludovici at yahoo dot it> and
149 Hagen Paul Pfeifer <hagen@jauu.net>