In lab Assignment 7 - Simulating Routing Protocols
In this lab we are going to use a simple network topology in order to investigate how the
Distance Vector
and Link State
Routing Protocols behave in the presence of link/node failures.
Network Model
The network will consist of 7 nodes and we will have a ring topology.
The topology is shown in the following figure.
The technical characteristics of the network are the following
-
All the links will have bandwidth of 1.5 Mbps, delay of 10ms and they will have a DropTail queue
- We will have two types of traffics: FTP Traffic and CBR traffic. The CBR traffic will have
rate of 1Mbps and the packet size will be 1000 bytes
- Use TCP for the FTP Traffic
- Use UDP for the CBR Traffic
Simulation Scenario
In this simulation we want to see how the Distance vector and Link state protocols behave in the presence
of link or node failures. We will use the network modelthat we just described.
The Events of the scenario are:
-
In time 0 the simulation will start
-
The FTP and CBR will start in time 0.5 with source node0 and destination node4
-
At time 1.0 the link between node4 and node5 will fail and will be restored at time 3.0
-
At time 3.8 node6 will fail and will recover at time 4.5
-
At time 5.0 the simulation will end
You will test the above scenario for three different routing protocols: Static, Distance Vector and Link State. In other words you will have to run
the above scenario 3 times, one for each routing protocol
New NS2 Instructions (***)
Some new commands that will be used in the simulation:
-
Set a Routing Protocol: $ns rtproto name_of_routing_protocol
(DV for distance vector and LS
for Link State)
Note: For Static routes do not use this command.
-
Simulate Node Failure/Restoration: $ns rtmodel-at [time] [down/up] [node_id]
Examples:
$ns rtmodel-at 10.2 down $n16 #Node failure
$ns rtmodel-at 43.5 up $n16 #Node restoration
-
Simulate Link Failure/Restoration: $ns rtmodel-at [time] [down/up]
[node_id_from node_id_to]
Before leaving
Play the animation of Distance Vector, and answer the following questions:
-
What is the behavior of the each routing protocol in each event (failure or restoration). In detail:
What happens when there is a failure of a link or node? Does the route change? Why or why not?
When the link or node is restored, what happens to the route? Does it change and why?
The above questions should be answered for each routing protocol.
-
What is the overhead (in number of packets and bytes) for updates messages(control information) for each routing protocol
Note: The control packets are labeled as rtProtoDV or
rtProtoLS .
Example of a trace-line containing information about a routing control message:
+ 0.00017 0 1 rtProtoDV 7 ------- 0 0.3 1.1 -1 0