Wednesday, May 23, 2012

Building a Free Network Emulator, Vyatta

Creating a Packet-Loss / Delay Emulator Using Vyatta

If you need a network emulator to create a configurable amount of packet-loss, packet-corruption, packet-reorder, delay, bandwidth,  or etc, you could use a free routing software called Vyatta with a PC which has at least 2 NIC. Vyatta installation is out of the topic, but you could find how to configure a vyatta installation to create your own network emulator. I used this emulator for testing purpopes to understand the effects of packet loss on video streaming, and i hope you would find it useful too. For whom experienced Junos, it will be very easy to use this system.

What is Vyatta

Vyatta is an open source routing software which is developed by the Vyatta company created in 2005. It uses a routing engine called XORP created in 2002. Except MPLS features it has nearly all the features that is expected from a CE device. If you ever use Junos, you will see that using Vyatta is like using Junos. For additional information about Vyatta take a look at the links below:    vyatta live cd & esx images      vyatta--cisco commands & case studies

Vyatta Configuration

Assuming that you already installed Vyatta on a PC that has 2 NIC, all you need to do is to configure the Vyatta to work transparently (inline).  The main idea is to bridge (local connect) any vlan that should pass transparently over your network emulator.

For a network emulator which vlan 100 and native vlan should pass through, the configuration should look like:
edit traffic-policy network-emulator drop_test
  set drop packet-loss 5
  set network-delay 100
set interfaces bridge br0
set interfaces bridge br1
edit interfaces ethernet eth0
  set bridge-group bridge br0
edit interfaces ethernet eth1
  set bridge-group bridge br0
edit interfaces ethernet eth0 vif 100
 set bridge-group bridge br1 
edit interfaces ethernet eth1 vif 100
 set bridge-group bridge br1 

edit interfaces ethernet eth0 vif 100
  set traffic-policy out ercin_drop
network policy  creation
create Bridge interface 0
create Bridge interface 1
include Ethernet0 native vlan to bridge group 0
include Ethernet1 native vlan to bridge group 0
include Ethernet0  vlan100 to bridge group 1
include Ethernet1  vlan100 to bridge group 1
configuring network policy named ercin_drop to under eth0 vlan 100 in outbound direction
All changes applied with a commit
if you install vyatta on a hdd, you could save the config.

For additional configuration information, you may have a look at the QOS documents of Vyatta. 


With Vyatta you could apply packet delay, loss, reorder etc. for any vlan in any direction. Most of the free solutions does not have a vlan flexibility. If you have a Pc with at least 2 ethernet interaces, you could easily have a basic network emulator. You could even use this sytem for fiber ethernet with a NIC that has SFP capability, what important is that if Vyatta automatically detects your NIC otherwise you have to struggle with linux. 
You may  buy Vyatta appliances also to use it as a network emulator also. In Turkey there is no distributor of Vyatta, but may be you could find in your country. 

If you are interested in free network emulator solutions, you should have a look at Wanem solution too. 


Post a Comment


Internetworking Hints Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger