You are on page 1of 32

Electronics & Communication Department

Lab Manual

Data Communication & Networking (181101)


Enrollment Number: ________________________

Name of the Student: _____________________________________________
Academic Year: __________________

List of Experiments

Introduction to LAN cabling scheme & crimping process

Introduction to RS 232C & UART

To perform byte transfer between 2 PCs using serial port (using C code)

To perform simple file transfer between 2 PCs using serial port (using C code)

Study and execution of Network commands

Study of Network planning and setup (e.g. - GEC-Rajkot)

Study of Networking and Internetworking devices

To find out details of network from IP addressing scheme (using C code)

To perform encryption on data (using C code)


Demonstration of Linux OS installation and network utilities


Study of internet packet capturing tool - Ethereal


Network Simulator-ns-2: Installation, Programming & Simulation demonstration

Introduction to LAN cabling scheme & crimping process

Pin out for EIA/TIA 568A/B cabling






Transmit +



Transmit -

Green/White or

Orange/White or

Receive +




Blue/White or

Blue/White or

Not Used




Not Used

Receive -

Orange/White or

Green/White or




Not Used


Brown/White or Brown/White or
Wiring/Color Coding for CAT5 Cable

Not Used

RJ-45 Connector "Pin-Outs"

TUTORIAL Questions
1) What are hubs and repeaters?
2) How many types of LED indicators are there at back panel of a Hub? What is their
3) What is the need of an uplink feature in a Hub?
4) What is an NIC card?
5) What is maximum length that category 5 up cable support?
6) What is the difference between a router and a repeater or a bridge?
7) There are how many types of connecting devices?
8) In which layer/layers does the repeater function?
9) In which layer/layers does the router function?
10) What do you mean by 10BASE5?
11) What is the meaning of T in 10BASE-T?
12) What is a crossover cable?
13) What is power consumption for DE 816TP hub?
14) What is the function of Collision LED?

Introduction to RS 232C & UART
To understand RS232-C standard and UART functions.
To study RS232-C cabling scheme.
To test RS232-C cable using Windows inbuilt utility.
To verify serial port communication between two PCs by writing simple C code. (byte
To implement byte transfer using ALP.
In most cases, any device you connect to the serial port will need the serial transmission
converted back to parallel so that it can be used. This can be done using a UART. On
software side, there are many more registers that you have to attend to than on a Standard
Parallel Port. (SPP)
What are the advantages of using serial data transfer rather than parallel?

Serial Cables can be longer than Parallel cables. The serial port transmits a '1' as -3 to -25
volts and a '0' as +3 to +25 volts where as a parallel port transmits a '0' as 0v and a '1' as
5v. Therefore the serial port can have a maximum swing of 50V compared to the parallel
port which has a maximum swing of 5 Volts. Therefore cable loss is not as much of a
problem for serial cables then they are for parallel.
You don't need as many wires then parallel transmission. If your device needs to be
mounted a far distance away from the computer then 3 core cable (Null Modem
Configuration) is going to be cheaper that running 19 or 25 core cable. However you
must take into account the cost of the interfacing at each end.
Many electronic diaries and palmtop computers have infra red capabilities build in.
Serial transmission is used where one bit is sent at a time. IrDA-1 (The first infra red
specifications) was capable of 115.2k baud and was interfaced into a UART. The pulse
length however was cut down to 3/16th of an RS 232 bit length to conserve power
considering these devices are mainly used on diaries, laptops and palmtops.
Serial Communication reduces the pin count of Microcontrollers. Only two pins are
commonly used, Transmit Data (TXD) and Receive Data (RXD) compared with at least
8 pins if you use an 8 bit Parallel method (You may also require a Strobe).

Hardware Properties
Devices which use serial cables for their communication are split into two categories.
These are DCE (Data Communications Equipment) and DTE (Data Terminal
Equipment.) Data Communications Equipments are devices such as your modem, TA
adapter, plotter etc while Data Terminal Equipment is your Computer or Terminal

The electrical specifications of the serial port are contained in the RS232C standard. It
states many parameters such as

A "Space" (logic 0) will be between +3 and +25 Volts.

A "Mark" (Logic 1) will be between -3 and -25 Volts
The region between +3 and -3 volts is undefined.
An open circuit voltage should never exceed 25 volts. (In Reference
to GND)
5. A short circuit current should not exceed 500mA. The driver should
be able to handle this without damage. (Take note of this one!)

The RS 232 C standard specifies a maximum baud rate of 20,000 BPS. Serial Ports come
in two "sizes". There are the D-Type 25 pin connector and the D-Type 9 pin connector
both of which are male on the back of the PC, thus you will require a female connector on
your device. Below is a table of pin connections for the 9 pin and 25 pin D-Type
Serial Pin outs (D25 and D9 Connectors)
D-Type-25 Pin No. D-Type-9 Pin No.
Pin 2
Pin 3
Pin 3
Pin 2
Pin 4
Pin 7
Pin 5
Pin 8
Pin 6
Pin 6
Pin 7
Pin 5
Pin 8
Pin 1
Pin 20
Pin 4
Pin 22
Pin 9


Full Name
Transmit Data
Receive Data
Request To Send
Clear To Send
Data Set Ready
Signal Ground
Carrier Detect
Data Terminal Ready
Ring Indicator

Pin Functions

Full Name
Transmit Data
Receive Data
Clear to Send


Data Carrier Detect


Data Set Ready


Data Terminal Ready


Request To Send


Ring Indicator

Serial Data Output (TXD)
Serial Data Input (RXD)
This line indicates that the Modem is ready to
exchange data.
When the modem detects a "Carrier" from the
modem at the other end of the phone line, this Line
becomes active.
This tells the UART that the modem is ready to
establish a link.
This is the opposite of DSR. This tells the Modem
that the UART is ready to link.
This line informs the Modem that the UART is
ready to exchange data.
Goes active when modem detects a ringing signal
from the PSTN.

Null Modems
A Null Modem is used to connect two DTE's together without using intermediate DCEs..

9D to 25D Conversion

This Loopback plug can come in extremely handy when

writing Serial / RS232 Communications Programs. It
has the receive and transmit lines connected together, so
that anything transmitted out of the Serial Port is
immediately received by the same port. If you connect
this to a Serial Port a load a Terminal Program, anything
you type will be immediately displayed on the screen.
This can be used with the examples later in this tutorial.

Loopback Plug Wiring


Please note that this is not intended for use with

Diagnostic Programs and thus will probably not work.
For these programs you require a differently wired
Loop Back plug which may vary from program to

The UART (8250 and Compatibles)

UART stands for Universal Asynchronous Receiver / Transmitter. UART 8250 is the
device that controls the serial port. Most cards will have the UART's integrated into other
chips which may also control your parallel port, games port, floppy or hard disk drives
and are typically surface mount devices. The 8250 series, which includes the 16450,
16550, 16650, & 16750 UARTS are the most commonly found type in your PC.
All the UARTs pins are TTL compatible. That includes TD, RD, RI, DCD, DSR, CTS,
DTR and RTS which all interface into your serial plug, typically a D-type connector.
Therefore RS 232 Level Converters are used.
The UART requires a Clock to run. If you look at your serial card a common crystal
found is either a 1.8432 MHZ or an 18.432 MHZ Crystal. This clock will be used for the
Programmable Baud Rate Generator which directly interfaces into the transmit timing
circuits but not directly into the receiver timing circuits. For this an external connection
mast be made from pin 15 (Baud Out) to pin 9 (Receiver clock in.) Note that the clock
signal will be at Baud rate * 16.
Serial Port's Registers (PC's)
Port Addresses & Iraqs



Above is the standard port addresses. These should work for most PC's. If you just happen to
be lucky enough to own a IBM P/S2 which has a micro-channel bus, then expect a different
set of addresses and IRQ's. Just like the LPT ports, the base addresses for the COM ports can
be read from the BIOS Data Area.
Start Address
COM1's Base Address
COM2's Base Address
COM3's Base Address
COM4's Base Address
COM Port Addresses in the BIOS Data Area;
The above table shows the address at which we can find the Communications (COM) ports
addresses in the BIOS Data Area. Each address will take up 2 bytes.

The communication between the processor and the UART is completely controlled by
twelve registers. These registers can be read or written to check and change the behavior of
the communication device. Each register is eight bits wide. On a PC compatible, the
registers are accessible in the I/O port map.
RBR: Receiver buffer register (RO)
The receiver buffer register contains the byte received if no FIFO is used, or the oldest
unread byte with Fifes. If FIFO buffering is used, each new read action of the register
will yield the next byte, until no more bytes are present. Bit 0 in the line status register
can be used to check if all received bytes have been read. This bit will change to zero if
no more bytes are present.
THR: Transmitter holding register (WO)
The transmitter holding register is used to buffer outgoing characters. If no FIFO
buffering is used, only one character can be stored. Otherwise the amount of characters
depends on the type of UART. Bit 5 in the line status register can be used to check if
new information must be written to the transmitter holding register. The value 1
indicates that the register is empty. If FIFO buffering is used, more than one character
can be written to the transmitter holding register when the bit signals an empty state.
There is no indication of the amount of bytes currently present in the transmitter FIFO.
The transmitter holding register is not used to transfer the data directly. The byte is first
transferred to a shift register where the information is broken in single bits which are
sent one by one.
LCR: Line control registers (R/W)
The line control register is used at initialization to set the communication parameters.
Parity and number of data bits can be changed for example. The register also controls
the accessibility of the DLL and DLM registers. Because they are only accessed at
initialization when no communication occurs this register swapping has no influence on
Common settings are:
8 data bits, one stop bit, no parity
7 data bits, one stop bit, even parity

LCR: Line Control Register



Data Word Length

Bit 1

Bit 0

5 Bits

6 Bits

7 Bits

8 Bits




Bit 5

1 stop bit
1.5 stop bits(5 bits word)
2 stop bits (6,7 or 8 bit word)
Bit 4
Bit 3

No parity

Odd Parity

Even Parity

High Parity(stick)

Low Parity(stick)

Break signal disabled

Break signal enabled

DLAB : RBR, THR and IER accessible

DLAB : DLL and DLM accessible

LSR: Line Status Register (RO)

The line status register shows the current state of communication. Errors are reflected in
this register. The state of the receiver and transmitter buffers is also available. Bit 5 and
6 both show the state of the transmitting cycle. The difference is, that bit 5 turns high as
soon as the transmitter holding register is empty whereas bit 6 indicates that also the
shift register which outputs the bits on the line is empty

LSR: Line status register



Data available

Overrun error

Parity error

Framing error

Break signal received

THR is empty

THR is empty, and line is idle

Erroneous data in FIFO

DLL and DLM: Divisor latch registers (R/W)

The frequency (1.8432 MHz) is divided by 16 to generate the time base for
communication. Because of this division, the maximum allowed communication speed
is 115200 bps. Modern UARTS like the 16550 are capable of handling higher input
frequencies up to 24 MHz which makes it possible to communicate with a maximum
speed of 1.5 Mbps. This 115200 bps communication speed is not suitable for all
applications. To change the communication speed, the frequency can be further
decreased by dividing it by a programmable value. For very slow communications, this
value can go beyond 255. Therefore, the divisor is stored in two separate bytes, the
DLL and DLM which contain the least, and most significant byte.
It is necessary that both the transmitting and receiving UART use the same time base.
Default values have been defined which are commonly used. The table shows the most
common values with the appropriate settings of the divisor latch bytes.

DLL and DLM: Divisor latch registers









































Table of Registers
Base Address DLAB Read/Write Abr. Register Name


Transmitter Holding Buffer



Receiver Buffer


Read/Write -


Read/Write IER Interrupt Enable Register


Read/Write -

Divisor Latch High Byte



Interrupt Identification Register


FCR FIFO Control Register


Read/Write LCR Line Control Register


Read/Write MCR Modem Control Register



LSR Line Status Register



MSR Modem Status Register


Read/Write -



Divisor Latch Low Byte

Scratch Register

1. Prepare 9 9 pin serial cables with null modem configuration.
2. Load divisors in DLM & DLL to support communication at 9600 bps. After
configuration restore transmission mode.
3. Check functioning of prepared cable using Direct Cable Communication under
4. Perform simple byte transfer between 2 PCs through serial ports connected via serial
cable tested in previous exercise. (Using C program)

To perform byte transfer between 2 PCs using serial port (using C code)

To perform simple file transfer between 2 PCs using serial port (using C code)

Study and execution of Network commands
To test different network utilities like ping, tracert, arp, ipconfig, ftp
To study and use different options for these utilities
(1) PING (Packet Internet Groper Command)
If any system (host or router) want to communicate with the other system (host or route) then
it is necessary to check the communication is possible or not? For this, First of all we have to
check for destination system is reachable or not. Due to hardware failure or any other reason
it is possible the system may on network but not reachable. How can we detect that the
destination system is reachable or not? PING command is useful for checking the reach
ability of the system.
First go to command prompt
For help and information about this command type ping /?
Type ping IP address of system

When one system (host or router) send the packet of data to another system then there be two
possibilities, Packet directly reach to destination system or it pass through one or more
routers. TRACERT command is useful to trace the route through which packet passes.
First go to command prompt
For help and information about this command type tracert /?
Type tracert IP address or name of the destination.


When System is in network at that time it is necessary to know the IP address of that system,
subnet mask and gateway address IPCONFIG command is used.
First go to command prompt
For help and information about this command type ipconfig /?
Type ipconfig.

(4) ARP (Address Resolution Protocol):

Any system on the network is identified by Physical address and IP address, so it is
sometimes necessary to resolve Physical address from IP address or vice-versa. ARP is used
to resolve Physical address from the IP address. We can also get the dynamic ARP table.
First go to command prompt
For help and information about this command type arp:?
Type arp-a


TUTORIAL Questions
(1) Which protocol is used in PING command?
(2) Explain briefly about each field received in reply while using PING command.
(3) Is it possible to find IP address of the system on which you are working using PING
(4) Which kind of ICMP messages used in PING command?
(5) What is maximum size of a packet practically? Prove it using PING command?
(6) State the minimum number of hop count is requiring for checking reach ability of host?
(7) Which message will display while hop count is less than the number of routers on the
(8) Which protocol is used in TRACERT command?
(9) If more than one router in the route than first reply comes from which router while using
(10) If final destination is not reachable than how many reply comes while using TRACERT
(11) Explain briefly about each field in an ARP table.
(12) Explain briefly about each field displayed while running ipconfig command.
(13) Which information we get from subnet mask?
(14) Write subnet mask for class A, class B, class C and class D addresses.
(15) If one router on the path to reach the final destination How can we find the IP address of
the two interfaces of the router?

Study of Network planning and setup (e.g. - GEC-Rajkot)

Study of Networking and Internetworking devices


To study network devices and the specifications of each for existing network
To study existing network plan
To draw a new network plan as per the new constraints

Local area networks generally called LANs are privately owned networks within a single
building or campus or up to few kilometers in size. They are widely used to connect personal
computers and workstations in company offices and factories to share resources and
exchange information. LANs are distinguished from other kinds of networks by three
1) Transmission media
2) Transmission mechanism
3) Topology
4) Protocol
A Local area network is a data communication system that allows a number of independent
devices to communicate directly with each other in a limited geographic area such as single
department, single building, or campus. A large organization may need several connected
The IEEE standard defined several implementations for Internet

100 m
200 m
500 m
2000 m


Connecting Devices
A repeater is a device that operates only in the physical layer. A repeater receives a signal
before it becomes too weak or corrupted and regenerates the original signal. A repeater can
extend the physical length of a network. A repeater connects segments of LAN together. It
has no filtering capability.

A hub is a multiport repeater. It is used to create connections in physical star topology.





Nodes ..

A bridge operates in both physical layer and data link layers. As a physical layer device it
regenerates the signal it receives. As a data link layer device the bridge can check the
physical address contained in the packet. A bridge like a repeater has no physical address. It
only acts as a filter, not an original sender to a final destination. Filtering means that it can
check the destination address of a packet and decide if the packet should be forwarded or
A two layer switch is a bridge with many interfaces and a design that allows better
performance. A three layer switch is router with an improved design to allow better
When a packet is received by the switch, the switch examines the destination and source
hardware addresses and compares them to a table of network segments and addresses. If the
segments are the same, the packet is dropped ("filtered"); if the segments are different, then
the packet is "forwarded" to the proper segment. Filtering of packets and the regeneration of
forwarded packets enables switching technology to split a network into separate collision
domains. Regeneration of packets allows for greater distances and more nodes to be used in
the total network design, and dramatically lowers the overall collision rates. In switched
networks, each segment is an independent collision domain. Switches can connect different
networks types (such as Ethernet and Fast Ethernet) or networks of the same type.
Router is a three layer device; it operates in physical, data link and network layers. As a
physical layer device, it regenerates the signal it receives. As a data link layer device the
router checks the physical addresses (source and destination) contained in the packet. As a
network layer device, a router checks the network layer addresses.
A Router can connect LANs together, a router can connect WANs together and it can also
connect LANs and WANs together. A router is an internetworking device.

Many networks exist in the world, often with different hardware & software. People
connected to one network often want to communicate with people attached to a different one.
This desire requires connecting together different and frequently incompatible networks. This
is done by using machines called gateways to make the connection and provide the necessary
translation, both in terms of hardware and software. Stopping point can be either a gateway
node. It can also be referred as entrance point.
Network Interface Cards
A network interface card (NIC) is used to connect a PC to a network. NIC provides a physical
connection between the networking cable and the computers internal bus. NIC comes in 3
basic varieties.8 bit, 16 bits and 32 bits. The larger the number of bits faster the NIC.
CAT Cabling
Ethernet networks use unshielded twisted pair (UTP) Category 5 cable. CAT5 cable runs
should not exceed 100 meters.
CAT5 cables are typically terminated with RJ-45 connectors. There are two different types of
RJ-45 connectors. There is the "bent type" connector intended for use with solid core CAT5,
and then there is the "aligned type" connector for use with stranded CAT5 cable.
Two types of CAT5 cables are typically used in a network: the straight-through cable and the
crossover cable. The difference between the two has to do with how the conductors terminate
to the RJ-45 connector at each end of the cable. The chart below shows the RJ-45 connector
"pin-outs" for CAT5 crossover and straight-through cables.
RJ-45 Connector "Pin-Outs". A straight-through cable is used to connect a DTE to a switch.
Crossover cables are used to connect switches to other switches. . If the wiring is identical at
both ends, you are holding a straight-through cable, if it is different; you most likely have a
crossover cable.
Access Technique for LAN
The IEEE 802.3 standard defines carrier sense multiple access with collision detection as the
access method for Ethernet. Stations on an Ethernet can be connected together using a
physical star topology with a logical bus topology. By this we mean that the medium is
shared between the stations and only one station at a time can use it. It also implies that all
stations receive a frame sent by a station. The real destination keeps the frame while the rest
drop it.
CSMA-CD stands for Carrier Sense Multiple Access / Collision Detection, a set of rules
determining how network devices respond when two devices attempt to use a data channel
simultaneously (called a collision). Standard Ethernet networks use CSMA/CD. This standard
enables devices to detect a collision. After detecting a collision, a device waits a random
delay time and then attempts to re-transmit the message.

Specification of a network device

Model DE-816TP Ethernet Hub
Data transfer rate:
EMI Certification:

10 Mbps
Star, Bus
DE-812TP+ and DE-824TP:

AC power:

100 - 250 V, 50 - 60 Hz

Power consumption:

DE-812TP+: 18 W
DE-816TP: 18 W
DE-824TP: 20W


W x H x L, mm (including
mounting brackets):
DE-812TP+: 483 x 44 x 125
DE-816TP: 483 x 44 x 125
DE-824TP 483 x 44 x 211


DE-812TP+: 2.0 kg
DE-816TP: 2.0 kg
DE-824TP: 3.03 kg

Operating temperature:

0 - 55 C


10 - 90 % non-condensing

Power cord:

Type 1 (US) or Type 2 (Europe)

Per purchase order
Type 1

Type 2

Plug Rating

125V, 7A

250V, 10A

Cord Rating

125V, 7A

250V, 10A


1830mm (6ft)

1830mm (6ft)

Safety Standard



To find out details of network from IP addressing scheme (using C code)
TUTORIAL Questions
(1) A device can have more than one IP addresses-true or false, justify your answer.
(2) What is the use of Loopback address?
(3) IP addresses are unique- true or false, justify your answer.
(4) Which version of IP addressing scheme is currently in use and what could be the future
expansion in the IP addressing scheme?
(5) What is meant by Net ID and Host ID?
(6) An address space has a total 1024 addresses, how many bits are needed to represent an
(7) A router has an IP address; it sends a direct broadcast packet to all hosts
in this network. What are the source and destination addresses used in this packet?
(8) A host with IP address wants to use Loopback testing what are the source
and destination addresses?

To perform encryption on data (using C code)

Demonstration of Linux OS installation and network utilities

Study of internet packet capturing tool - Ethereal

Ethereal is a network packet analyzer. A network packet analyzer will try to capture network
packet and tries to display that packet data as detailed as possible.
One could think of a network packet analyzer as a measuring device used to examine what's
going on inside a network cable, just like a voltmeter is used by an electrician to examine
what's going on inside an electric cable (but at a higher level, of course).
In the past, such tools were either very expensive, proprietary or both. However, with the
advent of Ethereal, all that has changed.
Ethereal is perhaps one of the best open source packet analyzers available today.

Some intended purposes:

Here are some examples people uses Ethereal for:

network administrators use it to troubleshoot network problems
network security engineers use it to examine security problems
developers use it to debug protocol implementations
people use it to learn network protocol internals

The following are some of the many features Ethereal provides:
Available for UNIX and Windows.
Capture live packet data from a network interface.
Display packets with very detailed protocol information.
Open and Save packet data captured.
Import and Export packet data from and to a lot of other capture programs.
Filter packets on many criteria.

Search for packets on many criteria.

Colorize packet display based on filters.

Platforms Ethereal runs on:

Ethereal currently runs on most UNIX platforms and various Windows platforms.
Apple Mac OS X
SCO UnixWare/OpenUnix
SGI Irix
Sun Solaris/Intel
Sun Solaris/Sparc
Tru64 UNIX (formerly Digital UNIX)

Debian GNU/Linux
Gentoo Linux
IBM S/390 Linux (Red Hat)
Mandrake Linux
PLD Linux
Red Hat Linux
Rock Linux
Slackware Linux
Suse Linux

Microsoft Windows:
Windows Me / 98 / 95
Windows Server 2003 / XP / 2000 / NT 4.0

A brief history of Ethereal:

In late 1997, Gerald Combs needed a tool for tracking down networking problems and
wanted to learn more about networking, so he started writing Ethereal as a way to solve both
problems. Ethereal was initially released, after several pauses in development, in July 1998 as
version 0.2.0.Within days, patches, bug reports, and words of encouragement started arriving,
so Ethereal was on its way to success. Not long after that Gilbert Ramirez saw its potential
and contributed a low-level dissector to it. In October, 1998, Guy Harris of Network

Appliance was looking for something better than tcpview, so he started applying patches and
contributing dissectors to Ethereal.

Installing Ethereal:
As with all things, there must be a beginning, and so it is with Ethereal. To use Ethereal, you
Obtain a binary package for your operating system, or
Obtain the source and build Ethereal for your operating system.
The following are the general steps you would use:
1. Download the relevant package for your needs, e.g. source or binary distribution.
2. Build the source into a binary, if you have downloaded the source.
This may involve building and/or installing other necessary packages.
3. Install the binaries into their final destinations

Figure 4.1: First Look of Ethereal


Start Capturing:
There are two methods you can use to start capturing packets with Ethereal:
1. From the command line using the following:
ethereal -i eth0 k This will start Ethereal capturing on interface eth0.

2. By starting Ethereal and then selecting Start... from the Capture menu (or use the
corresponding item in the "Main" toolbar), this brings up the Capture Options dialog box.
The "Capture Options" dialog box
When you select Start... from the Capture menu, Ethereal pops up the "Capture Options"
dialog box
as shown in figure below.

Figure 4.2 : The "Capture Options" dialog box

Running Capture:
While the capture is running, the following dialog box is shown:
This dialog box will inform you about the number of captured packets and the time since the

Figure 4.3: Capture dialog box

This dialog box will inform you about the number of captured packets and the time since the
capture was started. The selection which protocols are counted cannot be changed.

Viewing packets you have captured:

Once you have captured some packets, or you have opened a previously saved capture file,
you can view the packets that are displayed in the packet list pane by simply clicking on that
packet in the packet list pane, which will bring up the selected packet in the tree view and
byte view panes. You can then expand any part of the tree view by clicking on the plus sign
(the symbol itself may vary) to the left of that part of the payload, and you can select
individual fields by clicking on them in the tree view pane.

Figure 4.4 Ethereal with a TCP packet selected for viewing

You can also select and view packets the same way, while Ethereal is capturing, if you
selected "Update list of packets in real time" in the Ethereal Capture Preferences dialog box.

Network Simulator-ns-2: Installation, Programming & Simulation demonstration
o To study various features of Network Simulator & Network Emulator
o To test a given script on Network Simulator platform and observe the behavior
of the network with the help of the key parameters
o To measure the performance of a network for a given topology
o To understand the network setup with a network emulator
o To implement different types of link characteristics and measure the
performance by changing various parameters using NIST Net
Network Simulator is a very powerful tool for studying the working of layers and related
protocols. Though it is giving protocol stack independent performance, which is an
advantage, but it is highly recommended by researchers around the world. Its simulated
output is considered to be valid for most of real protocol implementations.
Network Simulator includes The Network Animator, which is helping Network Simulator to
support a graphical environment. The Network Animator uses the parameters from the script
and writes it into .nam file and then according to that it will create a topology identical to the
script. So we can see graphically how the packets are forwarded and traffic is handled in the
network, so this can give the more realistic implementation and observation.
Network Simulator uses tcl script for simulation. Syntax of this script can be understood by
referring the NS_DOC.PDF
We can understand Network Simulators simulation process and tcl script format and The
Network Animator graphical representation with the help of the following scripts:
#Create a simulator object
set ns [new Simulator]
#Define different colors for data flows
$ns color 1 Blue
$ns color 2 Red
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the trace file
close $nf
#Execute nam on the trace file

exec nam out.nam &

exit 0
#Create four nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
#Create links between the nodes
$ns duplex-link $n0 $n2 1Mb 10ms DropTail
$ns duplex-link $n1 $n2 1Mb 10ms DropTail
$ns duplex-link $n3 $n2 1Mb 10ms SFQ
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right
#Monitor the queue for the link between node 2 and node 3
$ns duplex-link-op $n2 $n3 queuePos 0.5
#Create a UDP agent and attach it to node n0
set udp0 [new Agent/UDP]
$udp0 set class_ 1
$ns attach-agent $n0 $udp0
# Create a CBR traffic source and attach it to udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
#Create a UDP agent and attach it to node n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1
# Create a CBR traffic source and attach it to udp1
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$cbr1 attach-agent $udp1
#Create a Null agent (a traffic sink) and attach it to node n3
set null0 [new Agent/Null]
$ns attach-agent $n3 $null0
#Connect the traffic sources with the traffic sink
$ns connect $udp0 $null0
$ns connect $udp1 $null0
#Schedule events for the CBR agents

$ns at 0.5 "$cbr0 start"

$ns at 1.0 "$cbr1 start"
$ns at 4.0 "$cbr1 stop"
$ns at 4.5 "$cbr0 stop"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Run the simulation
$ns run


Installation Procedure

Copy ns-allinone-2.27.tar.gz file to /root

Type tar xvzf ns-allinone-2.27.tar.gz and press enter
Directory of the name ns-allinone-2.27 will be created
After entering in this directory, type ./install and press enter
After the completion of the installation set the library paths in .bash_profile file in
(6) After the completion of the installation goto ns-2.27 directory which is in the nsallinone-2.27 directory
(7) In this directory goto ns-tutorial directory
(8) In this directory goto examples directory
(9) .tcl files will be available there.
(10) To run .tcl files type ns filename.tcl
To view source code type vi filename.tcl
(11) To modify the source code press INSERT and make changes and at last press
ESC and give :wq for save and quit.