Introduction |
|
|
|
|
|
Download |
|
|
|
Resources |
|
Documentation |
|
|
|
Link |
|
|
|
|
|
Description |
|
| |
The WAN emulator (wan-emu) is a network research/development toolkit that builds network testbed in a
easy, efficient, cheap, and realistic way. It is
suitable for conducting switched LAN-to-WAN experiments with delay/loss/jitter emulations. Wan-emu
can support 100 simultaneous routes per interface, with each one containing independent
impairments and modifiers. Also it can construct asymetric links.
Some vendors, such as PacketStorm, modify Linux
kernel (open source) as their platforms and use the same queuing disciplines as those in tc
(Traffic Control for Linux), but never do they open their patches. Related vendors are listed at
the vendor page.
| |
| Motivations and Objectives |
|
| |
Many networking researches use the dumbbell (single bottleneck) scenario
to perform their simulations. Simulation may be the fatest way to implement
their ideas because various conditions, such as link bandwidth, RTT, loss
probability, and queuing delay (delay jitter) can be easily specified. However,
simulations are often too simplified and ignore some details that may
influence the results. Some well-know algorithms, such as TCP congestion
control algorithms (Tahoe, Reno, NewReno, Sack, Fack, and Vegas), has a lot
of implementations deployed at various operating systems, and has some
different assumptions from the original versions, which implements in
simulators such as NS, and xkernel. We have no efficient way verifying their
effectiveness against their original simulation results. After all, the
purpose of networking researches is to deployed their ideas. We thus develop
an efficient/cheap/realistic tool to make things easier.
Some companies may also find useful using this tool for developing their products.
For example, Zyxel have used wan-emu to test their VoIP solutions and find it useful
when customizing delay, loss, and jitter. Merely 4 PCs and wan-emu
facilitate the development process of most networking equipments, such as debugging, testing,
and benchmarking.
| |
| Technology |
The testbed (see the figure below) consists of cascaded machines with statically
configured routes. To emulate multiple competing sources and their sinks,
we utilize the IP-aliasing; to emulate the dynamics of the Internet,
we write the wan-emu virtual interface driver (a Linux kernel module).
We describe them as follows:
| |
wan-emu:
|
|
| |
wan-emu with tcp-masq:
|
|
Click the figure above to enlarge.
| 1.
|
IP-aliasing support:
Each network interface card (NIC) can not only have multiple
IP addresses, but also multiple aliased interface names. With proper routing table setup,
we can direct flows destined to somewhere through some aliased interface.
Aliased interfaces generate packets with their corresponding aliased IP addresses such that the edge feels that
outgoing packets are from different local hosts, and incoming acks are from different remote hosts.
What is more, packets are sent without link-layer collisions since a single physical NIC is present at each side.
By this we claim that it is a switched LAN-to-WAN testbed. Note that some operating systems
merely support aliased IP addresses, but cannot support aliased interface names, such as FreeBSD and
Windows 2000.
| | 2.
|
wan-emu virtual interface driver:
Each packet passing through is pasted a timestamp
indicating the time for it to be kicked out. An interrupt is triggered every 1ms to
examine how many packets are due and should be forwarded. The timer granularity can be easily tuned
to 8192 Hz in Linux. We can also specify the random loss probability, and the RTT jitter on each wan-emu virtual device.
Multiple wan-emu virtual devices can be attached to multiple aliased interfaces, with multiple data segments but
with only one code segment.
|
| |
|
We write a Linux kernel virtual network interface card (NIC) device driver
to implement the RTT/loss/QueueDelay, together with IP-aliasing and
interface-aliasing support, so that a specfied route path can have the
desired path properties. In such a way each physical NIC can emulate 100 NICs
with different IP addresses attached on them, thus emulating the dumbbell
scenario. Each path can have a wan-emu cascaded to characterize the path.
This method is verified through the results compared with live-experiment
connections from our site to UCLA. Flows through wan-emu resembles the
real-life connections in Internet.
| |
| News |
|
|
|
| Misc |
If you have any comment or find bugs, please contact
.
|
|
|
|