Expt. No. 1 Title : ETHERNET Date :
A Direct Link Network w ith Media Access Control Control
The Ethernet is a working example of the more general Carrier Sense, Multiple Access with Collision Detect (CSMA/CD) local area network technology. The Ethernet is a multiple-access network, meaning that a set of nodes sends and receives frames over a shared link. The “carrier sense” in CSMA/CD means that all the nodes can distinguish between an idle and a busy link. The “collision detect” means that a node listens as it transmits and can therefore detect when a frame it is transmitting has interfered (collided) with a frame transmitted by another node. The Ethernet is said said to be a 1-persistent 1-persis tent protocol because an adaptor with a frame to send transmits with probability 1 whenever a busy line goes idle.
Objective This lab is designed to demonstrate the operation of the Ethernet network. The simulation in this lab will help you examine the performance of the Ethernet network under different scenarios.
In this lab you will set up an Ethernet with 14 nodes connected via a coaxial link in a bus topology. The coaxial link is operating at a data rate of 10 Mbps. You will study how the throughput of the network is affected by the network load as well as the size of the packets.
Procedure Creatin Creating g a New Project To create a new project for the Ethernet network: 1. Start OPNET IT Guru 2. Select Project
Choose New Ne w from the File menu.
Click OK
Name the project _Ethernet , and the
scenario Coax
Click OK
3. In the Start up Wizard: I nitial Topology Topology dialog box, make sure that Create Empty Scenario is selected Next
Click Next
Choose Office from the Network Scale list Click
20 0 to X Span and keep Y Span as 100 10 0 Assign 200
Click Next twice
Click
Finish.
4. Close the Object Object Palette dialog box.
L oc oc al al a r e a n e t w o r k s (LANs) (LANs) are designed to span distances
Create Create the Netwo rk To create our coaxial Ethernet network: 1. To create the network configuration, select Topology
Rapid Configuration Configuration. From the
drop-down menu choose Bus Bu s and click Next. 2. Click the Select Select M odels button in the Ra Rapid pid Configur ation dialog box. From the Model List drop-down menu choose ethcoax and click OK .
3. In the Ra Rapid pid Configu ration dialog box, set the eight values and click OK (Figure 3).
Figure 1
Rapid Configuration: Bus
T e e t h _ t a p is an Et erne rnet us tap tap t at conn conne ects cts a no e wit wit t e us. us.
The eth_coax is an Ethernet bus that can connect nodes with bus receivers and transmitters via taps. The e t h _ t a p is an Ethernet bus tap that connects a node with the bus.
4. To configure the coaxial bus, right-click on the horizontal link
Select Edit Attributes
(Advanced) from the menu:
a. Click on the value of the model attribute
Select Edit from the drop- down menu
Choose the eth_coax_adv model (Figure 4). b. Assign the value 0.05 to the delay attribute (propagation delay in s/m). c. Assign 5 to the thickness attribute. d. Click OK .
A higher delay is used here as an alternative to generating higher traffic which would require much longer simulation
Thickness specifies the thickness of the line used to “draw”
Figure 2
Configuring Coaxial Bus
5. Now you have created the network (Figure 5). 6. Make sure to save your project.
Figure 3
Coaxial Ethernet Netw ork
Configure the Network Nodes To configure the traffic generated by the nodes: 1. Right-click on any of the 30 nodes
Select Similar Nodes . Now all nodes in the network
are selected. 2. Right-click on any of the 30 nodes
Edit Attributes
3. Check the Apply Changes to Selected Objects check box. This is important to avoid reconfiguring each node individually. 4. Expand the Traffic Generation Parameters hierarchy: Change the value of the ON State Time to exponential(100)
Change the value of the OFF State Time to exponential(0.001) . (Note:
Packets are generated only in the "ON" state.) 5. Expand the Packet Generation Arguments hierarchy: a. Change the value of the Packet Size attribute to constant(1024) . b. Right-click on the Interarrival Time attribute and choose Promote Attribute to Higher Level. This allows us to assign multiple values to the
Interarrival Time attribute
and hence to test the network performance under different loads (Figure 6).
The argument of the exponential distribution is the mean of the interval between successive events. In the exponential distribution the probability of occurrence of the next event by a given time is independent of the time of occurrence of the last event or the elapsed time since that event.
The interarrival time is the time between successive packet generations in the "ON" state.
Figure 4
Configuring Traffic Generated by Netw ork Nodes
6. Click OK to return back to the Project Edito r . 7. Make sure to save your project.
Configure the Simulation To examine the network performance under different loads, you need to run the simulation several times by changing the load into the network. There is an easy way to do that. Recall that we promoted the Interarrival Time attribute for package generation. Here we will assign different values to that attribute:
1. Click Configure/ Run Simulation button: 2. Click Detailed
Common tab
Assign 15 seconds to the Duration.
3. Expand Input click Object Attributes . 4. Click Ad d button. The A d d A t t r i b u t e dialog box should appear filled with the promoted attributes of all nodes in the network (if you do not see the attributes in the list, close the whole project and reopen it). You need to add the Interarrival Time attribute for all nodes. To do that: a. Click the first attribute in the list ( Office Network.node_0.Traffic Generation … .)
Click Wildcard button
drop-down menu
Click node_0 and choose the asterisk (*) from the
Click OK .
b. A new attribute is now generated containing the asterisk (the second one in the list), and you need to add it by clicking on the corresponding cell under the Add? column. c. The A d d At t r i b u t e dialog box opens (Figure 7). Click OK .
Figure 5
Add Attribute: scenario
5. Now you should see the Office Netw ork.*.Traffic Generation Parameter … in the list of simulation object attributes (Figure 8). Click on that attribute to select it
Click Enter
Multiple Values… button of the dialog box.
6. Add the following nine values. (Note: To add the first value, click on the first cell in the Value column
Type “exponential (2)” into the textbox and hit enter. Repeat this for all
nine values.)
Figure 6
Attribute: Office Netw ork.*.Traffic Generation Parameters
7. Click OK . Now look at the upper-right corner of the Simulation Configuration dialog box, make sure that the N u m b e r o f r u n s i n s e t is 9 . 8. Click Apply and then Close.
Choose the Statistic s To choose the statistics to be collected during the simulation: 1.
Right-click anywhere in the project workspace (but not on one of the nodes or links) and select Choose Individual Statistics from the pop-up menu
Expand the Global
Statistics hierarchy.
a. Expand the Traffic Sink hierarchy
Click the check box next to Traffic Received
(packets/ sec) (make sure you select the statistic with units of packets/sec).
b. Expand the Traffic Source hierarchy
Click the check box next to Traffic Sent
(packets/ sec).
c. Click OK . 2. Now to collect the average of the above statistics as a scalar value by the end of each simulation run:
a. Select Choose Statistics (Advanced) from the DES menu. b. The Traffic Sent and Traffic Received probes should appear under the Global Statistic Probes .
c. Right-click on Traffic Received probe data attribute to enabled
Edit Attributes . Set the scalar
Set the scalar type attribute to time average
Compare with Figure 9 and click OK . d. Repeat the previous step with the Traffic Sent probe. e. Select Save from the File menu in the Probe Model window and then close that window. f.
Now you are back to the Project Editor . Make sure to save your project.
A p r o b e represents a request by the user to collect a particular piece of data about a simulation.
Figure 7
(pb0) Attributes
Run the Simulation To run the simulation:
1.
Click Configure/ Run Discrete Event Simulation(DES) button: that 15 second(s) (not hours) is assigned to the Duration
Make sure
Click Ru n . Depending on
the speed of your processor, this may take several minutes to complete. 2. Now the simulator is completing nine runs, one for each traffic generation interarrival time
(representing the load into the network). Notice that each
successive run takes longer to complete because the traffic intensity is increasing. 3. After the nine simulation runs complete, click Close . 4. Save your project.
View the Results To view and analyze the results: 1.
Select DES
Results
View R esults .
Choose DES Parametric Studies . Expand Scalar Statistics , Choose Traffic Source. Traffic Sent (packets/ sec).average and click Set As X Series, Similarly Traffic Sink.Traffic Received (packets/ sec).average and click Set As Y Series.
2. The resulting graph is depicted in Figure 10.
Figure 8
Results Brow ser
Questions based on Experiment
1. What are the benefits of Token passing Medium access scheme? How can u prevent the collision?
Expt. No. 2 Title : Implementation of Distance Vector Routing Algorithm Date :
Aim The aim of this experiment is to study the implementation of RIP (Routing Information Protocol) Distance‐Vector Routing Protocol
The RIP Protocol (Routing Information Protocol) is, in a nutshell: •
•
• • • •
• •
•
Designed to reach a stable routing table with the less Administrator management as possible. The messages that routers send each other are sent to the multicast address to reduce the hosts processing load. It is a Intra‐Domain and Vector‐Distance protocol based in the Bellman‐ Ford algorithm. Uses the hop count metric. It is used in middle ‐size networks with no more than 15 hops. RIP messages are encapsulated inside UDP (port 520) and are sent once every 30 seconds, even if there are no changes in the network. No authentication is required. It was released in BSD Unix for the first time. The first version was RIPv1, a classful routing protocol. RIPv2 extended it using classless routing and other advantages. It is defined in RFC 1058 (RIPv1) and RFC 2453 (RIPv2). The RFC2091 supports Triggered Extension.
All routers in the network have a routing table to indicate the link to forward IP packets. Every 30 seconds, all routers send UDP messages to the surrounding routers, indicating the distance, expressed in hops, to the other routers. The router that receives the UDP message increases 1 unit the distance and will lookup in its tables if there’s a shortest path to the destination. If there’s no shorter link then the routing tables will be updated.
After several iterations the protocol will converge, and every router in the network will know how to route each IP packet it receives, and this route will be the shortest.
Lab Description
Four routers are connected each other in a ring topology. Each router has two LANs attached. We are going to design three scenarios: NoFailure, where all the links will work; WithFailure, with a specific link that is going to fail during the simulation and stops working in the future: WithFailureAndRecovery , where the link that failed is recovered later, and restarts working as before. The purpose of this scenario is to represent with a bar chart the routing table updates and to see the evolution of the routing tables.
Creating the Scenario
1. Open a new project in OPNET IT Guru Academic Edition (File
New Project)
with the following parameters (leave default values for the remainder):
Project Name: _RIP Scenario Name: SenseFallida Network Scale: Campus Use the Next button in the Startup Wizard until the end. A new blank grid shall open in the • • •
Project Editor.
2. Deploying devices and controls upon the Grid: The following table summarizes all the nodes that have to be deployed in the scenario, and the Object Palette where can be found.
Qty
Description
Component
Palette
4
ethernet4_slip8_gtwy
internet toolbox
Routers
8
100BaseT_LAN
internet toolbox
LAN network model
1
Failure Recovery
utilities
Failure and Recovery Control
4
PPP_DS3
links
To connect the routers each other
8
100BaseT
internet toolbox
To connect the routers with the LANs.
L4.1 Component list
Rename all the components as seen in picture L4.2. Hereinafter we will refer them by their name.
L4.2 The scenario with the names of the nodes The fastest way to create the scenario is to create first Router 1, LAN 1 and LAN 2 with their names, and connect them with wires. After that, copy the whole structure and paste it three times. OPNET manages the name nodes to make a succession. Finally, connect the routers with PPP _DS3, deploy a Failure Recovery control and rename it.
3. Exporting routing tables to the Simulation Log: Select all the routers of the scenario, right click on any and Edit Attributes. Check the following options:
IP Routing Parameters Routing Table Export Status: Enabled Export Time(s) Specification row 0 Time: End of Simulation Apply Changes to Selected Objects (To perform changes on all the routers of the • • •
scenario).
L4.3 Exporting the routing tables
4. Statistics: From the Project Editor, right click on the Grid and Choose Individual Statistics. Select the following statistics in the Choose Results dialog. Click OK.
Global Statistics
RIP
Traffic Sent (bits/sec)
Global Statistics
RIP
Traffic Received (bits/sec)
Node Statistics
Route Table
Total Number of Updates
5. Simulation configuration:
In the Project Editor, click on configure/run simulation
, and use the following
parameters: • •
Duration: 10 minute(s). On the Global Attributes tab, IP Dynamic Routing Protocol: RIP. This sets RIP protocol for all the routers in the scenario. We can do this also in the Project Editor doing Protocols IP Routing Configure Routing Protocols and setting RIP in all interfaces. IP Interface Addressing Mode: Auto Addressed / Export RIP Sim Efficiency: Disabled. If this attribute is Enabled, the RIP protocol will stop after the “Stop Time”. But instead of this, we want it to continue updating the routing tables when there are changes. This is precisely what we will do in the second scenario, by programming a controlled link failure to study routing changes. RIP Stop Time: 10000 will ensure that the tables won’t stop updating during •
• •
•
•
the simulation. IP Routing Table Export/Import: Export. This will export the routing tables to a file when the simulation ends.
When finished, click OK (do not run the simulation yet).
Creating the second and third scenarios
In the scenario we just build up, the routers maintain their routing tables and are not going to be updated anymore if there are no network failures, so once all the routes are set, they won’t change at all. We first want to study the effect of a router failure, to see how RIP can learn new routes.
1. In the Project Editor, Scenario
Duplicate Scenario.. and call it
WithFailure . Right click on the Failure object, and Edit Attributes , expand the Link Failure/Recovery Specification branch, set rows: 1 and unfold the branch of the new row. Use the following data:
L4.4 Programming a link failure
We have established a failure for Router 2 – Router 1 link, 180 seconds after the simulation start. Click OK to close the dialog.
2. Creating the third scenario: Now we create the third scenario: WithFailureAndRecovery with the same parameters as the second but 180 seconds after the link failure (i.e., 360 seconds after the simulation start), the link will recover. Repeat the steps as before but this time use Status: Recovery.
3. Run the simulation of the three scenarios at the same time: In the Project Editor,
Scenarios
Manage Scenarios… Change values of column Results
and click or on every scenario. When we click OK now, the 3 simulations will run in sequence. Click on Close when the three simulations are over (wait for Simulation runs to go to be 0).
L4.5 Detail of Simulation sequence dialog
Results analysis
1. Compare the number of updates of the routing tables done by the RIP protocol (Q1).
In the Project Editor, Results
Compare Results.
We can see in picture L4.6 that we have to choose Stacked Statistics and All Scenarios to show the graphics of all scenarios at the same time, but with overlaid charts to compare results.
L4.6 Compare Results
Select the statistic Total Number of Updates for Router1 and click on Show.
The two graphics appear now. Right click on each scenario and select Draw Style
Bar.
2. Obtaining the IP addresses of the interfaces (needed to study the routing tables). (Q2). The IP addresses of all the interfaces are generated automatically during the simulation. When we
set
IP
Interface
Addressing
Mode:
Auto Addressed/Export we made all this
information to be able for analysis. We will export this data into a Generic Data File (gdf). On the System
window,
choose
File
Model Files
OPNET will search the models directory and update the file list.
Refresh Model Directories.
L4.7 Refresh Model Directories
Don’t forget that the System window can be open in the Project Editor if its closed (Windows
System ).
In the System window: File
Open, and choose Generic Data File. Use the filename
_RIP‐NoFailure‐ip_addresses. This file is generated automatically during the simulation. Click OK.
An editor will pop up with the Generic Data File we choose. This contains the IP addresses of all the active interfaces in our network model.
L4.8 Generic Data File with the IP addresses
3. Comparing the routing tables: Steps to visualize the routing tables of a router, for instance Router 1, for the two scenarios (Q3):
o o
In the Project Editor, Results Open Simulation Log. Click on the COMMON ROUTE TABLE entry for the router.
The routing tables export is not saved until the end, because we are using the Once at End of Simulation option.
L4.9 Router 1 routing table
Questions Q1 Create a routing table update bar chart for Router 1 throughout all 3 scenarios, and analyze it. Q2 Write down the IP addresses for all interfaces on picture L4.2. They may differ depending on the creation order.
Q3 Compare the routing tables for Router 1 throughout all 3 scenarios. Routing tables are visible in the Simulation Log for all the scenarios (Scenarios
Switch to Scenario in the Project Editor). Compare
the ingoing routes to LAN 3, LAN 4 and Router 2 loopback. Pay attention to these fields: Next Hop, Insertion Time and Metric.
Answers
Q1 Routing tables do not differ much during the simulation unless there are any changes, like a link failure or recovery.
L4.10 Router 1 table updates
Q2 This is the .gdf file generated and the IP addresses for all interfaces on the network: #
# Purpose:
Contains IP address information for all active
#
interfaces in the current network model.
#
(created by exporting this information from the model.)
#
# Node Name: Campus Network.LAN 1 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.0.1
255.255.255.0
Campus Network.LAN 1 <-> Router 1
IP Address
Subnet Mask
Connected Link
IF0
# Node Name: Campus Network.Router 1 #
Iface Name
Iface Index
#
----------
-----------
---------------
---------------
----------------
IF0
0
192.0.0.2
255.255.255.0
Campus Network.LAN 1 <-> Router 1
IF1
1
192.0.1.1
255.255.255.0
Campus Network.LAN 2 <-> Router 1
IF10
10
192.0.2.1
255.255.255.0
Campus Network.Router 2 <-> Router 1
IF11
11
192.0.3.1
255.255.255.0
Campus Network.Router 1 <-> Router 4
Loopback
12
192.0.4.1
255.255.255.0
Not connected to any link.
# Node Name: Campus Network.LAN 2 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.1.2
255.255.255.0
Campus Network.LAN 2 <-> Router 1
IF0
# Node Name: Campus Network.Router 2 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
IF1
1
192.0.5.1
255.255.255.0
Campus Network.LAN 3 <-> Router 2
IF2
2
192.0.6.1
255.255.255.0
Campus Network.LAN 4 <-> Router 2
IF10
10
192.0.2.2
255.255.255.0
Campus Network.Router 2 <-> Router 1
IF11
11
192.0.7.1
255.255.255.0
Campus Network.Router 3 <-> Router 2
Loopback
12
192.0.8.1
255.255.255.0
Not connected to any link.
# Node Name: Campus Network.LAN 3 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.5.2
255.255.255.0
Campus Network.LAN 3 <-> Router 2
IF0
# Node Name: Campus Network.LAN 4 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.6.2
255.255.255.0
Campus Network.LAN 4 <-> Router 2
IF0
# Node Name: Campus Network.LAN 5 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.9.1
255.255.255.0
Campus Network.LAN 5 <-> Router 3
IF0
# Node Name: Campus Network.Router 3
#
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
IF0
0
192.0.9.2
255.255.255.0
Campus Network.LAN 5 <-> Router 3
IF1
1
192.0.10.1
255.255.255.0
Campus Network.LAN 6 <-> Router 3
IF10
10
192.0.7.2
255.255.255.0
Campus Network.Router 3 <-> Router 2
IF11
11
192.0.11.1
255.255.255.0
Campus Network.Router 4 <-> Router 3
Loopback
12
192.0.12.1
255.255.255.0
Not connected to any link.
# Node Name: Campus Network.LAN 6 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
F0
0
192.0.10.2
255.255.255.0
Campus Network.LAN 6 <-> Router 3
# Node Name: Campus Network.LAN 7 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.13.1
255.255.255.0
Campus Network.LAN 7 <-> Router 4
IF0
# Node Name: Campus Network.Router 4 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
IF0
0
192.0.13.2
255.255.255.0
Campus Network.LAN 7 <-> Router 4
IF1
1
192.0.14.1
255.255.255.0
Campus Network.LAN 8 <-> Router 4
IF10
10
192.0.11.2
255.255.255.0
Campus Network.Router 4 <-> Router 3
IF11
11
192.0.3.2
255.255.255.0
Campus Network.Router 1 <-> Router 4
Loopback
12
192.0.15.1
255.255.255.0
Not connected to any link.
# Node Name: Campus Network.LAN 8 #
Iface Name
Iface Index
IP Address
Subnet Mask
Connected Link
#
----------
-----------
---------------
---------------
----------------
0
192.0.14.2
255.255.255.0
Campus Network.LAN 8 <-> Router 4
IF0
L4.11 Generic Data File (gdf)
L4.12 IP Addresses for all interfaces
Q3 The tables produced at the end of the simulation for the first 3 scenarios can be seen in picture below. Routes to networks 192.0.5.0/24, 192.0.6.0/24 and 192.0.8.0/24 appear in red color. They’re the networks of the two LANs connected to Router 2. Router 1 has direct access (Metric = 1) when there’s no link failure. When the link fails, however, access is granted though using another path, Metric and Next Hop. When the link is up once again, the routing table is identical as the first scenario, but the Insertion Time is delayed.
•
NoFailure
COMMON ROUTE TABLE snapshot for:
Router name: Campus Network.Router 1 at time: 600,00 seconds
ROUTE TABLE contents:
Dest. Address
Subnet Mask
Next Hop
Interface Name ---------------
Metric ------
Protocol --------
Insertion Time
---------------
---------------
---------------
--------------
192.0.0.0
255.255.255.0
192.0.0.2
IF0
0
Direct
0,000
192.0.1.0
255.255.255.0
192.0.1.1
IF1
0
Direct
0,000
192.0.2.0
255.255.255.0
192.0.2.1
IF10
0
Direct
0,000
92.0.3.0
255.255.255.0
192.0.3.1
IF11
0
Direct
0,000
192.0.4.0
255.255.255.0
192.0.4.1
Loopback
0
Direct
0,000
192.0.5.0
255.255.255.0
192.0.2.2
IF10
1
RIP
5,000
192.0.6.0
255.255.255.0
192.0.2.2
IF10
1
RIP
5,000
192.0.7.0
255.255.255.0
192.0.2.2
IF10
1
RIP
5,000
192.0.8.0
255.255.255.0
192.0.2.2
IF10
1
RIP
5,000
192.0.11.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.13.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.14.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.15.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.9.0
255.255.255.0
192.0.2.2
IF10
2
RIP
7,263
192.0.10.0
255.255.255.0
192.0.2.2
IF10
2
RIP
7,263
192.0.12.0
255.255.255.0
192.0.2.2
IF10
2
RIP
7,263
L4.13
•
WithFailure
COMMON ROUTE TABLE snapshot for:
Router name: Campus Network.Router 1 at time: 600,00 seconds
ROUTE TABLE contents:
Dest. Address
Subnet Mask
Next Hop
Interface Name ---------------
Metric ------
Protocol --------
Insertion Time
---------------
---------------
---------------
--------------
192.0.0.0
255.255.255.0
192.0.0.2
IF0
0
Direct
0,000
192.0.1.0
255.255.255.0
192.0.1.1
IF1
0
Direct
0,000
192.0.2.0
255.255.255.0
192.0.2.1
IF10
0
Direct
0,000
192.0.3.0
255.255.255.0
192.0.3.1
IF11
0
Direct
0,000
192.0.4.0
255.255.255.0
192.0.4.1
Loopback
0
Direct
0,000
192.0.11.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.13.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.14.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.15.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.5.0
255.255.255.0
192.0.3.2
IF11
3
RIP
185,000
192.0.6.0
255.255.255.0
192.0.3.2
IF11
3
RIP
185,000
192.0.7.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.8.0
255.255.255.0
192.0.3.2
IF11
3
RIP
185,000
192.0.9.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.10.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.12.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
L4.14
•
WithFailureAndRecovery
COMMON ROUTE TABLE snapshot for:
Router name: Campus Network.Router 1 at time: 600,00 seconds
ROUTE TABLE contents:
Dest. Address
Subnet Mask
Next Hop
Interface Name ---------------
Metric
--------
Insertion Time
---------------
---------------
---------------
192.0.0.0
255.255.255.0
192.0.0.2
IF0
0
Direct
0,000
192.0.1.0
255.255.255.0
192.0.1.1
IF1
0
Direct
0,000
192.0.2.0
255.255.255.0
192.0.2.1
IF10
0
Direct
0,000
192.0.3.0
255.255.255.0
192.0.3.1
IF11
0
Direct
0,000
192.0.4.0
255.255.255.0
192.0.4.1
Loopback
0
Direct
0,000
192.0.11.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.13.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.14.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.15.0
255.255.255.0
192.0.3.2
IF11
1
RIP
5,000
192.0.9.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.10.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.12.0
255.255.255.0
192.0.3.2
IF11
2
RIP
185,000
192.0.5.0
255.255.255.0
192.0.2.2
IF10
1
RIP
365,000
192.0.6.0
255.255.255.0
192.0.2.2
IF10
1
RIP
365,000
192.0.7.0
255.255.255.0
192.0.2.2
IF10
1
RIP
365,000
192.0.8.0
255.255.255.0
192.0.2.2
IF10
1
RIP
L4.15
------
Protocol
--------------
365,000
Expt. No. 3 Title : ICMP PING Date :
ICMP (Internet Control Message Protocol) is encapsulated inside the IP protocol, and is used for network troubleshooting and control messaging. It is used to notify that a datagram did not reach its destination either because the destination host was not found (UNREACHABLE HOST) or because the IP packets traveled across too many routers (TTL EXCEEDED).
Objective This Lab explains yet another application: ICMP ECHO REQUEST/ECHO REPLY (aka Ping). An ECHO REQUEST message is sent to an IP address to find out if the communication between peers is working. The destination computer is supposed to answer with a ECHO REPLY message. A network is created with a 5-routers-ring-backbone and 2 workstations (A and B) directly opposite. A will send an ECHO REQUEST to B, and B will answer with an ECHO REPLY. We’ll check out that the REQUEST packet went through the three routers between peers, and the REPLY packet came back using the same path (the routing protocol for this Lab is RIP). In a second scenario, one of this links will fail, and we will study how this changes the ping trace.
This lab session teaches you the basics to understand how ECHO Request and Reply takes place, and also to use Ring Topology to route through different paths.
Procedure Creating a New Project & Netw ork
To create a new project for the ICMP Ping network: 1.
Start OPNET IT Guru
Choose New from the File menu.
Project Name : _P ing Scenario Name: NoFailu re
Netw ork Scale: Campus
2. Press Next several times to end the Startup Wizard. Close the Object Palette dialog box. The Project Editor will be launched with a blank Grid. 3. To create the 5-router ring: Topology
Rapid Configuration
a. On the Popup window, Configuration: Ring , press Next (Figure 11). b. Click Select Models and choose internet_toolbox in the combo box, to select the library where we want to pick up the routers and links from. Press OK . c. In
the
Node
Model
combo
box,
pick
up
the
router
CS_4000_3s_e6_fr2_sl2_tr2 .
d. Select the link to connect the routers, Link Model: PPP _DS1 e. Numb er: 5 routers. f.
The center for the ring is (X,Y)=(5,5).
g. The radius length is 2.5. h. Press OK to create the network.
Figure 9
Rapid Configuration: Ring
4. Insert two workstations Sm_Int_wkstn and connect each other with 10BaseT wires:
a. Open the Object Palette by clicking on
.
b. Drag the two Sm_Int_wkstn workstations, and drop them into the Grid. This can be found in the Sm_Int_Model_List palette in the Object Palette. Change
the attributes: i. Right-click on the station and press Edit Attributes . ii. Select Application Supported Profiles
rows: 0 . By doing this, the
workstations won’t have any profile defined (We don’t need any, because the only traffic demand we want is Ping). iii. Repeat this process for the two workstations. c. Connect the two workstations to the two routers directly opposite using 10BaseT wires from the same palette. d. Now the network is complete and is time to set the ICMP traffic. The first step is to place an IP Attribute Config control. This can be found in the internet_toolbox palette.
e. Edit the control properties (right click Edit Attributes ). The parameters to be set can be found in IP Ping Parameters row 0 (Patte rn: Default ) – Figure 12. i. Interval (sec): 90 ii. Count: 1000 iii. Record Route: Enabled f.
Press OK to accept the changes.
Figure 10
(node_7) Attributes
5. Using the ip_ping_traffic object from the Object Palette (internet_toolbox), draw an ICMP ping demand from one host to the other: a. Select the ip_ping_traffic object in the palette. b. Click on one workstation (start) and then on the other one (end). c. Upon completion,
press
the
right
button
and
select Abort Demand
Definition to stop drawing wires.
d. Right-click on the flow line and click Edit Attributes , and then set: i. Ping Pattern: Default ii. Start Time : constant(1000) 6. Choose RIP as routing protocol for the scenario: a. On the Project Editor Menu, choose Protocols
IP
Routing
Configure
Routing Protocols...Check out that only RIP is selected and press OK .
b. Protocols
RI P
Configure Start Time . Select Mean Outcome: 20 and
press OK. The RIP protocol will begin creating routing tables at this moment. c. Change the node names for the Routers as Router 1, 2…etc., and also for the workstations as Workstation 1, 2 etc (Figure 13).
Figure 11
Routing
Choose Statistics & Configure Simulation 1.
Chose RIP as routing protocol for the scenario:
Click
at the Project Editor, and set these values:
Configure/ run simulation
a. Duration: 1 hour(s). b. In the Global Attributes
Simulation Efficiency ,
i. RIP Sim Efficiency: Disabled . RIP messages will be sent all the time during the simulation. ii. IP Stop Time: 10000 . Routing Tables will be updated during all the simulation (the simulation is finished before RIP stops). c. In the Global Attributes
IP,
IP Routing Table Export/ Import: Export. We will export routing tables to a
file at the end. d. Click Run .
View the Results Once the simulation is over, 1.
Exit the simulation window by clicking on Close.
2. At the Project Editor , click DES Tables . Expand Object Tables Report… (Figure 14):
Results
View DES Reports
Campus Network
DES Run(1)
Workstation1
Ping
Figure 12
Results Brow ser
Question Duplicate the scenario NoFailure and call it WithFailure . Choose a link the PING was using in the last simulation (e.g. Router 1- Router 2 ), and make it fail, by selecting it and clicking on the mark selected node or link as failed
button. Analyze the new ping trace.
Answer At the Project Editor , Scenarios
Duplicate Scenario . The new scenario is called Scenario
Name: WithFailure and we press OK . We mark Router 1 – Router 2 link to fail and execute
the simulation. The ping trace takes a new path now; it can be viewed in the Report.
Expt. No. 4 Title : SWITCHED LANS Date :
A Set of LANs In terconnected by Sw itches
There is a limit to how many hosts can be attached to a single network and to the size of a geographic area that a single network can serve. Computer networks use switches to enable the communication between one host and another, even when no direct connection exists between those hosts. A switch is a device with several inputs and outputs leading to and from the hosts that the switch interconnects. The core job of a switch is to take packets that arrive on an input and forward (or switch) them to the right output so that they will reach their appropriate destination. A key problem that a switch must deal with is the finite bandwidth of its outputs. If packets destined for a certain output arrive at a switch and their arrival rate exceeds the capacity of that output, then we have a problem of contention. In this case, the switch will queue, or buffer packets until the contention subside. If it lasts too long, however, the switch will run out of buffer space and be forced to discard packets. When packets are discarded too frequently, the switch is said to be congested.
Objective This lab is designed to demonstrate the implementation of switched local area networks. The simulation in this lab will help you examine the performance of different implementations of local area networks connected by switches and hubs.
Procedure Create a New Project 1.
Start the OPNET IT Guru
2. Select Project and click OK the scenario OnlyHub
Choose New from the File menu. Name the project _SwitchedLAN , and
Click OK .
3. In the Start up Wizard: I nitial Topology dialog box, make sure that Create Empty
Scenario is selected
Click Next
Click Next three times
Click Finish .
Choose Office from the Network Scale list
4. Close the Object Palette dialog box.
Create the Netwo rk To create our switched LAN: 1.
Select Topology
Rapid Configuration. From the drop-down menu choose Star
and click Next . 2. Click the Select Models button in the Rapid Configuration dialog box. From the Model List drop-down menu choose ethernet and click OK .
3. In the Rapid Configuration dialog box (Figure 15), set the following five values: Center Node Model = ethernet16_hub, Periphery Node Model = ethernet_station, Link M odel = 10BaseT, Number=16, Y=50 , and Radius = 42
Click OK .
The prefix ethernet16 indicates that the device supports up to 16 Ethernet The 10BaseT link represents an Ethernet
Figure 13
Rapid Configuration: Star
4. Right-click on node_16 , which is the hub
Edit Attributes
attribute to Hub1 and click OK . 5. Now that you have created the network, it should look like Figure 16. 6. Make sure to save your project.
Change the name
Figure 14
Switched LAN
Configure the Network Nodes Here you will configure the traffic generated by the stations. 1.
Right-click on any of the 16 stations (node_0 to node_15)
Select Similar Nodes.
Now all stations in the network are selected. 2. Right-click on any of the 16 stations
Edit Attributes .
3. Check the Apply Changes to Selected Objects check box. This is important to avoid reconfiguring each node individually. 4. Expand the hierarchies of the Traffic Generation Parameters attribute and the Packet Generation Arguments attribute
Set the following four values (Figure 17):
Figure 15
(node_8) Attrbutes
5. Click OK to close the attribute editing window(s). Save your project.
Choose Statistics To choose the statistics to be collected during the simulation: 1.
Right-click anywhere in the project workspace and select Choose Individual DES Statistics from the pop-up menu.
2. In the Choose Results dialog box, choose the four statistics as depicted in Figure 18. 3. Click OK .
Figure 16
Choose Results
The Ethernet Delay represents the end to end delay of all packets received by all the stations.
Traffi c Received (in pkts/sec) by the traffic sinks across all nodes.
Traffic sent (in pkts/sec) by the traffic sources
Collision Coun t is the total no: of collisions encountered by the hub during packet transmissions
Configure the Simulation Here we need to configure the duration of the simulation:
1.
Click Configure/ Run Discrete Event Simulation(DES) button:
2. Set the duration to be 2.0 minutes. 3. Click Run .
Duplicate the Scenario The network we just created utilizes only one hub to connect the 16 stations. We need to create another network that utilizes a switch and see how this will affect the performance of the network. To do that we will create a duplicate of the current network: 1.
Select Duplicate Scenario from the Scenarios menu and give it the name HubAndSwitch
Click OK .
2. Open the Object Palette by clicking on
. Make sure that ethernet is selected in
the pull-down menu on the object palette. 3. We need to place a hub and a switch in the new scenario. (Circled in Figure 19).
Figure 17
Object Palette
4. To add the Hub , click its icon in the object palette
Move your mouse to the workspace
Click to drop the hub at a location you select. Right-click to indicate you are done
deploying hub objects. 5. Similarly, add the Switch 6. Close the Object Palette . 7. Right-click on the new hub
Edit Attributes
Change the name attribute to Hub2
and click OK . 8. Right-click on the switch
Edit Attributes
Change the name attribute to Switch
and click OK . 9. Reconfigure the network of the HubAndSwitch scenario so that it looks like Figure 20. Hints: a. To remove a link, select it and choose Cut from the Edit menu (or simply hit the Delete key). You can select multiple links and delete all of them at once.
b. To add a new link, use the 10BaseT link available in the Object Palette. 10. Save your project.
Figure 18
Network
Run the Simulation To run the simulation for both scenarios simultaneously: 1. Select Manage Scenarios from the Scenarios menu. 2. Change the values under the Results column to (or ) for both scenarios. Compare it with Figure 21.
Figure 19
Manage Scenarios
3. Click OK to run the two simulations. Depending on the speed of your processor, this may take several minutes to complete. 4. Upon completion of the two simulations, one for each scenario, click Close. 5. Save your project.
View the Results To view and analyze the results: 1. From DES menu, select Results
Compare Results .
2. Change the drop-down menu in the lower-right part of the Compare Results dialog box from As Is to time_average (Figure 21). 3. Select the Traffic Sent (packets/ sec) statistic and click Show , you see, the traffic sent in both scenarios is almost identical. 4. Select the Traffic Received (packets/ sec) statistic and click Show , you see, the traffic received with the second scenario, HubAndSwitch , is higher than that of the OnlyHub
scenario. 5. Select the Delay (sec) statistic and click Show . (Note: Result may vary slightly due to different node placement.) 6. Select the Collision Count statistic for Hub1 and click Show . 7. On the resulting graph right-click anywhere on the graph area Expand the hierarchies a s s h o w n i n F i g u r e 2 2 statistic for Hub2
Change As Is to time_average
Choose Add Statistic
Select the Collision Count
Click Add .
8. Save your Project.
Figure 20
Results Brow ser
time_average is the average value over time of the values generated during the collection window. This average is performed assuming a “sample-and-hold” behavior of the data set (i.e., each value is weighted by the amount of time separating it from the following update and the sum of all the weighted values is divided by the width of the collection window). For example, suppose you have a 1-second bucket in which 10 values have been generated. The first 7 values were generated between 0 and 0.3 seconds, the 8th value at 0.4 seconds, the 9th value at 0.6 seconds, and the 10th at 0.99 seconds. Expt. No.the 5 last three values have higher durations, they are weighted more heavily in Because
Title : Implementation of Link State Routing Algorithm Date :
Aim The aim of this experiment is to study the performance of OSPF Link State Routing Protocol
OSPF (Open Shortest Path First) is yet another routing protocol. In a nutshell: •
• • • • •
•
•
• •
• •
•
It is a Link‐State protocol instead of a Vector‐Distance as RIP. Link‐State protocols converge faster than Vector‐Distance. It is a Interior Gateway Protocol (IGP), used for Internet routing. Based on Dijkstra algorithm. Based on IP, it does not use any upper layer service (RIP uses TCP/UDP). Can calculate many routes for each IP service. Can use Load‐Balancing (balanced distribution of traffic on different routers) for same‐cost routes. If there are many same‐cost routes, OSPF will write all them up in the routing tables. The effective bandwidth is reduced by the protocol because of its multicast IP messages usage, instead of broadcast. Does not overload those systems that do not use OSPF. Can use many metrics: outgoing frame length, throughput, delay, link liability, cost, etc. RIP can only use hop counting. Messages are sent only if there are changes on the topology. Needs a better router processing speed: routers have a link state table and a route state table as well. Can implement classless addresses (CIDR). Can use areas. The traffic generated by the OSPF protocol can be significantly decreased dividing the network in areas. Routers do not have to save any other data but the routing within their own area and a route to other areas. This reduces a lot the OSPF load on the network and the global results can be better than with a more accurate route. Areas are identified by an Area ID. The Area ID is a 32‐bit number using A.B.C.D notation (similar to IP addresses). The backbone is usually identified by 0.0.0.0. The other areas use 0.0.0.1 and so on. OSPF is based in open standards and public domain specification. The current implementation is based on RFC 2328.
Lab Description
This Lab is divided in three scenarios: •
•
NoAreas, where no area is defined. Its proves how OSPF chooses the cheapest area when two possible paths exist; WithAreas explains areas, and
•
LoadBalancing shows how two equal ‐cost routes are used equally to divide the traffic across the route, and thus reducing the total load on each link.
Scenario Creation 1. Open a new OPNET IT Guru Academic Edition Project (File
New Project)
using the following parameters (use default values for the remainder): o o o o Press
Project Name: _OSPF Scenario Name: NoAreas Network Scale: Campus 1000x1000 Meters Next several times until the Startup Wizard finishes. A new blank grid is now created in
the Project Editor.
2. Deploying devices on the grid: In
the
Project
Editor,
Topology
Rapid
Configuration,
choose Configuration:
Mesh, Full and click OK. Set the following parameters in the dialog:
L5.1 Rapid Configuration
This creates 5 ethernet_slip_8_gtwy nodes in a full‐meshed, star‐topology.
Deploy the remaining nodes as in picture L5.2. Zoom +
before to work more comfortably. All
nodes are type ethernet_slip8_gtwy and are connected using PPP_DS3 wiring. Use the same node names: we will refer to them using these names hereinafter. We used OPNET default names (including autonumbering). Use the same order of creation to obtain the same numbers.
The picture shows the links cost as well. We will explain how to set the costs later, but it is not necessary to use the labels on the links (Topology
Open Annotation Palette). The colored arrows
have a special meaning, as we will see.
L5.2 The completed scenario
3. Configuring the link cost:
The link cost formula is given by:
Cost = (Reference Bandwidth)/(Link Bandwidth) . The default value is Reference Bandwidth = 1,000,000 Kbps. To assign a link cost (for instance, to assign 10 units to node 8 – node 9):
10=1.000.000/Link Bandwidth Link Bandwidth = 100.000
The Link Bandwidth value can be set to a specific link by selecting all the same‐cost links (hold Shift key + Left button for multiple selections), and then Protocols
IP
Routing
Configure
Interface Metric Information .
For the example, we input
Bandwidth (Kbps): 100000, checked Interfaces
links and pressed OK. The remaining parameters use default values.
across
selected
5.3 Setting the link metrics
The remaining links have Cost=1 Bandwidth = 1000000 Kbps.
4. Configuring traffic demands: We create two traffic demands
o o
node_7 to node_9 node_8 to node_9
To create the node_7 to node_9 demand (the other one is similar)
o o
Select node_7 and node_9. In the Project Editor, Protocols IP Demands Create Traffic Demands… Select From: node_7, and pick up a color for this traffic demand (this color will be used in the Project Editor map). Choose White and click on Create.
L5.4 Creating traffic demands
We create another Traffic Demand from node_8 to node_9 , in yellow. Traffic demands can be hidden/shown at any moment with View Hide All/Show All.
Demand Objects
5. Setting addressing and routing protocols: •
Go to Protocols IP Routing Configure Routing Protocols… without having any node selected. A new dialog will pop up as seen in picture L5.5. At the routing protocols checkbox, we mark only OSPF, and select as well Visualize Routing Domains and All Interfaces (including loopback). The remaining options will be left with default values. Click OK.
L5.5 Setting the protocol at the routers
•
Select the Traffic demand origin nodes (node_7 and node_8 ), and at the Project Editor go to Protocols IP Routing Export Routing Table for Selected Routers and press OK at the confirmation dialog. This way we can study the routing of the packets at the end of the simulation.
L5.6 Confirming the Routing Table Export
•
Now we can assign IP addresses to all routers at the Project Editor, Protocols IP Addressing Auto‐Assign IP Addresses .
6. Setting up the simulation:
At the Project Editor click at configure/run simulation
, and write Duration: 10
minute(s), and press OK (don’t start the simulation yet).
Creating the second and third scenarios
At the scenario we have just created, all the routers belong to the same hierarchical level (area). We have not enforced Load Balancing on any route. We can now create the second and third scenarios: the second will be WithAreas and it will define three areas and a central backbone. The third scenario allows Load Balancing within nodes 7 and 9.
1. Creating the scenario WithAreas
•
•
• • •
•
At the Project Editor, select Scenarios Duplicate Scenario…, and call it WithAreas. Press OK. The first area is 0.0.0.1. In order to configure it, select it with the Shift key the links connecting nodes 4,5,6 and 7, and then go to Protocols OSPF Configure Areas and assign the value 0.0.0.1 to the Area Identifier, and press OK. Do the same for the second area (0.0.0.2), with the links connecting nodes 0, 8 and 9. The third area is 0.0.0.3 and is composed by the links that connect nodes 1, 10 and 11. The central backbone is not configured because this is done by default. It’s Area ID is 0.0.0.0. By doing Protocols OSPF Visualize Areas… we can show the links of the different areas expressed in different colors.
L5.7 Dividing areas in different colors
L5.8 The scenario whit areas in colors
2. Creating the scenario LoadBalancing
•
• • •
At the Project Editor, Scenarios Switch to Scenario SenseArees. We use this scenario so that now we can make changes on the duplicate scenario, without having any areas.
Select Scenarios Duplicate Scenario... and call it LoadBalancing. Click OK afterwards. Select nodes 7 and 9 holding the Shift key. Protocols IP Routing Configure Load Balancing Options. We must ensure Packet‐Based is selected and the radio button Selected Routers is checked. Click OK.
L5.9 Configuring Load Balancing
Edit
the
Attributes
of node_9,
and
set
the
OSPF
value:
Parameters
Loopback Interfaces
row 0
Area ID: 0.0.0.2.
L5.10 Configuring the Area ID of the loopback
3. Running the simulation:
From the Project Editor, Scenarios Manage Scenarios… Change the values on Results row to or in all scenarios. When we now press OK the 3 simulations will run, one after another. When the simulations are finished, click on Close. At the top left part of the dialog we can see a field called Simulation runs to go, that needs to be zero when the simulations are finished before we can click
Close.
L5.11 Details of the dialog
Results analysis
1. WithoutAreas
• •
At the Project Editor, Scenarios Switch to scenario WithoutArees To see the traffic demand between 8 and 9, from the Project Editor go to Protocols IP Demands Display Routes for Configured Demands. Drop down the branches completely and set Display: Yes, and click on Close. Now we can see the traffic demand.
L5.12 Configuring the demand visualization
•
Repeat the last step so we can see the traffic between 7 and 9. Depending on the order the links were created, it will pass through router 6 instead of the router 5. Both two paths have the same cost. OPNET will choose one depending on the order. (Q1)
WithAreas
• •
From the Project Editor, Scenario Switch to Scenario Areas See the route between 8 and 9. (Q2)
Load_Balancing
• •
At the Project Editor, Scenario Switch to Scenario LoadBalancing See the routing between nodes 7 and 9. We did load balancing, so the both minimum cost paths are highlighted. They both cost the same.
Questions
Q1 Which routes are traffic demands node_8 node_9 and node_7 node_9 following at WithoutAreas? Why?
Q2 Which route is taking the traffic demand node_8 node_9 at WithAreas and why? Q3 Which route is taking the traffic demand node_7 node_9 at LoadBalancing and why?
Answers Q1 The result can be seen at picture L5.13
L5.13 Traffic demands routing at WithoutAreas
It will take the shortest path, but not the shortest. Regarding to the node_8 node_9 demand, RIP would have used the link node_8 node_9, but OSPF is using the links 8‐0‐1‐9. There are two possible paths for the other demand, the one that goes through node_5 and the one that goes through
node_6. OSPF will take one of them for the load balancing. In this case, it takes node_5.
Q2 We can see now it is not taking the cheapest path, but the cheapest in its own area. When we do areas, each router has a route to all possible destinations in its own area, and a gateway to the remaining stations.
L5.14 Route to the traffic demands at WithAreas Q3 As we have said at Q1, there are two possible paths to communicate each other node_7 and node_9. LoadBalancing will take both of them, dividing the load equally for the two routes.
L5.15 Route with load balancing Assistance for more information 1. Stallings. W. "Data and Computer Communications", Prentice Hall. 2. Behrouz A. Foruzan, “Data communication and Networking”, Tata McGraw‐Hill
Labo ratory 6: Subn etting A Netw ork w ith Different Users, Hosts, & Service IP addresses are classified in classes, to divide Internet in subnets, to have a better use of Internet addresses. Subnet addresses have a subnet part and a host part. There are five different types of address classes:
Class
Number of Subnet bits A
Number of
First
Host bits
bits
8
24
Address ra nge
0...
0.0.0.0
– 127.255.255.255
B
16
16
10...
128.0.0.0 – 192.255.255.255
C
24
8
110..
223.0.0.0 – 223.255.255.255
Subnet mask is an address which network part is full of 1s and the host part is full of 0s. We can obtain the host part of an IP address using an AND operation with its subnet mask, and the network part using the XOR operation.
Network addresses are defined in the network layer of the OSI model, so routers can divide networks, but not switches, bridges or hubs.
Objective The objective of this lab is to perform Subnetting with a number of network devices. Doing this experiment, you will understand how subnetting is done in a LAN, and also understand the OSI Model.
This lab shows how IT Guru performs subnetting. We are going to design a complex LAN network, using many different devices (workstations,
servers,
hubs, bridges, switches,
routers and an Internet cloud), and Class C subnetting. One workstation will ping another one far away from it, so we can study the ping trace and try to understand the OSI model from it.
Procedure Create a New Project 1. Open a new Project in OPNET IT Guru ( File
New Project ) using these values (use
default values for the remainder): a.
Project Nam e: _Subnetting
b. Scenario Name: AutoAssignedAddresses
c. Netw ork Scale: Campus Press Next several times in the Startup Wizard until a new Project Editor is opened with a blank grid.
Zoom +
into a small part of the map, so we could do a Zoom – later if we need
some more room if the scenario is quite big.
Open the Object Palette
from the Project Editor , and pick up the following
components from the Sm_Int_Model_List palette: •
1 Sm_Application_Config control
•
1 Sm_Profile_Config control
•
1 Sm_Int_wkstn control (We’ll do copy & paste to have 22 more units).
From the Cisco palette, pick up these items (Figure 45): •
3 routers CS_7505_5s_e6_fe2_fr4_sl4_tr4 . They appear as Cisco 7505 in the palette, but once you drop them into the Grid you can choose the model:
•
2 routers CS_7000_6s_a_e6_fe2_fr4_sl4_tr4 (Cisco 7000 in the palette).
From the Ethernet palette:
•
4 ethernet16_bridge bridges
•
8 ethernet16_hub hubs
•
1 IP Attribute Config control
From the 3Com palette: •
Figure 21
1 3C_SSII_3900_4s_ae36_ge3 switch (3Com SSII 3900-36 in the Palette).
Object Palette Tree: Subnetting-AutoAssigned Addresses
From the internet_toolbox palette: •
2 ppp_server servers
•
1 ip32_cloud Internet model
Rename the nodes using the names depicted in Figure 46. We need 23 nodes using names 1,2,...23. We don’t want to set the names individually, so we just change the name of the number 1 ( right click
Edit Attributes
Name: 1 and then use Copy &
Paste 22 times. OPNET will manage to assign consecutive node numbers. Change the names of the other elements as well. Build up all the wires of the network. Use 10BaseT for all the links except servers and Internet links ( PPP_DS1). These links are in palette internet_toolbox. Figure 46
shows how color and width parameters for the links have been changed as well, and the Grid is been hidden. This is not necessary, but details are better seen with this option.
Figure 22
Subnetting Scenario
2. Network addresses definition: Click on any workstation of the Grid, and use Select Similar Nodes from the right button option to select all the stations. Click on any station, and use Edit Attributes from the right-button menu. Mark Apply Changes to Selected Objects to perform changes on all selected stations at the same time. Change the following values (Figure 47): a. I P
IP Host Parameters
Interface Information
i. Address: AutoAssi gned
ii. Subnet Ma sk: Class C (natural)
Figure 23
(8) Attributes
Repeat the same steps for the Cisco C isco 7505 routers (Router 1,2,3). Use the following values (Figure 48): b. I P
IP R outing Parameters
Loopback I nterfaces nterfaces
c. Make rows as 1 and expand row 0 , and assign i. Address: AutoAssi gned
ii. Subnet Ma sk: Class C (natural) .
row 0
Figure 24
(Router 1) Attributes
Do the same steps for the Cisco 7000 routers (Routers 4 and 5). Give automatic IP addresses to all interfaces from the Project Editor, using: d. I P
IP R outing Parameters
Loopback I nterfaces nterfaces
row 0
e. Make rows as 1 and expand row 0 , and assign i. Address: AutoAssi gned
ii. Subnet Ma sk: Class C (natural) . 3. Assigning services to servers: Assign the following f ollowing Applicati on: Supported Services : a. FTP and Telnet Server: File Transfer (Heavy), Telnet Session (Heavy) b. Printer and DB Server: File Print (Heavy), Database Access (Light). To assign services, right click on a server, and then click on Edit Attributes Application: Supported Services
Edit...
On this dialog you can add on the
services. Set the number of services in the rows field, and then edit the Name of each row. Make sure the field Description is supported, and click OK twice to close the dialogs. 4. Creating the ping traffic demand: Select two workstations far away one from the other like workstation 23 and FTP and
Telnet Server , and create a ping from the workstation to the server. Use the ip_ping_traffic object from the internet_toolbox palette, and click on the traffic start
(23 ) and then the traffic end ( FTP and Telnet Server). When finished, click on Abort Demand Definition . Right click on the arrow representing the Ping traffic, and click on Edit Attributes .
Set Ping Pattern:Record Route and press OK . Now we can see all the layer-3 devices the ECHO/ECHO REPLY packets have gone through.
Confgure Simulation 1. Click on configure/ run simulation , and set Duration to 1 hour(s) . 2. Click on Run .
Results Analysis When the simulation is over, 1. Close the simulation window ( Close ). 2. Write down the IP address of each node and interface. You can get the IP address doing right click
Edit Attributes and (Figure 49):
a. On workstations and servers, IP Host Parameters
Interface Information
Address.
b. On routers, IP Routing Parameters hierarchy:
Interface Information and unfold the
Figure 25
Router Attributes
IP Addr esses of rou ter interfaces
Information is ordered by rows, each row containing information for each interface of the router. In Figure 49, interface IF0 has IP address 192.0.1.4. The only IP addresses that appear are those that are connected to some network. When a link starts/finishes into a router, OPNET gets a free interface and assigns it to the links automatically. The way interfaces are assigned depends on the router model. On Picture, it’s a Cisco 7505 router. The real name is CS_7505_5s_e6_fe2_fr4_sl4_tr4 and can be found in the Attributes. This means "Cisco
Systems (CS) with 5 slot chassis, 6 Ethernet ports, 2 Fast Ethernet Ports, 4 Frame Relay ports, 4 Serial IP connectors (SLIP) and 4 Token Ring ports”. Finding out the way ports are assigned is somehow difficult, but you can get this information also by right-clicking on the router model you’re interested in on the Object Palette. The Model Description dialog describes on the Comments textbox, a complete description of all interfaces on the Interconnections section
(Figure 50)
Figure 26
Node Model Description
Slot#
Technology
Interface#
-----
----------
0
6 eth10T
1
2 eth100T
6-7
2
4 Token Ring
8-11
3
4 Frame Relay
12-15
4
SLIP RSP1 (reserved)
---------0-5
16-19
So, if Router 1 has interfaces 0,1,2 reserved, this means these are et10T (10BaseT). These interfaces are assigned to Hub 1, Switch 1 and Hub 2. They are assigned using the same order the links were created, and you can see on the pop up tool tip when you click on a link (Figure 51).
Figure 27
Popup Tool Tip
F i n d i n g o u t t h e i n t e r f a c e n a m e s o f a l in in k
Now we are able to find out the IP addresses of all interfaces and networks.
Question Fill up the table with the IP address, subnet address and mask and interface name for each network and interface:
Address and Station or interface
IP Address Address
Interface Subnet Mask
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Address and Station or interface
IP Address Address
Interface Subnet Mask
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Router 1 Loopback
Router 1 to Switch 1
Router 1 to Hub 2
Router 1 to Hub 1
Router 2 Loopback
Router 2 to Bridge 2
Router 2 to Hub 7
Router 2 to Hub 6
Router 3 Loopback
Router 3 to Hub 5
Router 3 to Hub 8
Router 4 Loopback
Router 4 to Printer and DB Server
Router 4 to Internet
Router 4 to Hub 6
Router 5 Loopback
Address and Station or interface
IP Address
Interface Subnet Mask
Router 5 to Internet
Router 5 to FTP and Telnet Server
Printer and DB Server
FTP and Telnet Server
Internet Loopback
Answer These results refer to data of our simulation, but they may change depending on the order the interfaces were created. Address and Station or interface
IP Address
Interface Subnet Mask
1.
192.0.2.4
192.0.2.0/24
2.
192.0.2.1
192.0.2.0/24
3.
192.0.2.2
192.0.2.0/24
4.
192.0.1.1
192.0.1.0/24
5.
192.0.1.2
192.0.1.0/24
6.
192.0.1.3
192.0.1.0/24
7.
192.0.3.1
192.0.3.0/24
8.
192.0.3.2
192.0.3.0/24
9.
192.0.3.3
192.0.3.0/24
10.
192.0.3.4
192.0.3.0/24
11.
192.0.3.5
192.0.3.0/24
12.
192.0.3.6
192.0.3.0/24
13.
192.0.4.1
192.0.4.0/24
14.
192.0.4.2
192.0.4.0/24
15.
192.0.5.1
192.0.5.0/24
16.
192.0.5.2
192.0.5.0/24
17.
192.0.3.7
192.0.3.0/24
18.
192.0.3.8
192.0.3.0/24
19.
192.0.6.1
192.0.6.0/24
20.
192.0.6.2
192.0.6.0/24
21.
192.0.6.3
192.0.6.0/24
22.
192.0.6.4
192.0.6.0/24
23.
192.0.6.5
192.0.6.0/24
Router 1 Loopback
192.0.13.1
192.0.13.0/24
Router 1 to Switch 1
192.0.1.4
192.0.1.0/24
IF0
Router 1 to Hub 2
192.0.3.9
192.0.3.0/24
IF2
Router 1 to Hub 1
192.0.2.3
192.0.2.0/24
IF1
Router 2 Loopback
192.0.17.1
192.0.17.0/24
Router 2 to Bridge 2
192.0.3.11
192.0.3.0/24
IF0
Router 2 to Hub 7
192.0.5.3
192.0.5.0/24
IF2
Router 2 to Hub 6
192.0.4.4
192.0.4.0/24
IF1
Router 3 Loopback
192.0.14.1
192.0.14.0/24
Router 3 to Hub 5
192.0.3.10
192.0.3.0/24
IF0
Router 3 to Hub 8
192.0.6.6
192.0.6.0/24
IF1
Router 4 Loopback
192.0.15.1
192.0.15.0/24
Router 4 to Printer and DB Server
192.0.7.2
192.0.7.0/24
IF17
Router 4 to Internet
192.0.8.2
192.0.8.0/24
IF18
Router 4 to Hub 6
192.0.4.3
192.0.4.0/24
IF1
Router 5 Loopback
192.0.16.1
192.0.16.0/24
Router 5 to Internet
192.0.9.2
192.0.9.0/24
IF17
Router 5 to FTP and Telnet Server
192.0.11.1
192.0.11.0/24
IF18
Printer and DB Server
192.0.7.1
192.0.7.0/24
FTP and Telnet Server
192.0.12.1
192.0.12.0/24
Internet Loopback
192.0.11.2
192.0.11.0/24
Expt. No. 7 Title : PC to PC Communication Date :
Aim The aim of this Experiment is to communicate data between PCs using Serial and Parallel Communication Ports and to study the Asynchronous byte (character) transfer.
Objectives Doing this experiment, you will •
•
Understand how characters (bytes) transfer takes place from one system to another system over the transmission lines. Know the elementary issues related to the use of terminal, network ports and asynchronous data transmission
Equipment Components Required : 1. 2. 3. 4.
V.35 Female DCE Serial Cable – 1 Nos. USB to USB File transfer Cable – 1 Nos. Parallel Port Cable – 1 Nos. PC with Serial and Parallel Port Interface Connectors – 2 Nos.
Software Required : 1. Windows Operating Environment 2. Driver files for Serial Port, Parallel Port and USB Ports
Experimental Setup – 1 (PC – Serial Cable – PC) Procedure : 1. Initially connect the Serial Cable both ends to the two PCs 2. In Windows setup the following a. Go to My Network Places > View Network Connections > Create a New Connection
b. In the New Connection Wizard, choose Setup and Advanced Connection > Connect directly to another computer c. Give settings as Host (Information provider) or Guest (Information seeker) d. Choose Communication Port (COM1) and select users from list e. Click Incoming / Ougoing connections and set properties f. Write a program such that the transmitter node, directly and unconditionally transmit all the characters entered from its key board and that the characters entered at the transmitter’s keyboard should also be displayed on its screen. g. Write a program such that the receiver node, accept every character appearing on its network bus and display it on its screen. h. Study the point to point, asynchronous byte transmission with the above setup.
Experimental Setup – 2 (PC – USB File transfer Cable – PC) 1. Initially connect the USB File transfer Cable both ends to the two PCs USB connectors 2. Install the driver software to both PCs 3. Communicate data : a. Write a program such that the transmitter node, directly and unconditionally transmit all the characters entered from its key board and that the characters entered at the transmitter’s keyboard should also be displayed on its screen. b. Write a program such that the receiver node, accept every character appearing on its network bus and display it on its screen. c. Study the point to point, asynchronous byte transmission with the above setup.
Experimental Setup – 3 (PC – Parallel Port Cable – PC) Procedure : 1. Initially connect the Parallel data sharing Cable both ends to the two PCs 2. In Windows setup the following a. Go to My Network Places > View Network Connections > Create a New Connection b. In the New Connection Wizard, choose Setup and Advanced Connection > Connect directly to another computer c. Give settings as Host (Information provider) or Guest (Information seeker) d. Choose Communication Port (LPT1) and select users from list e. Click Incoming / Ougoing connections and set properties f. Write a program such that the transmitter node, directly and unconditionally transmit all the characters entered from its key board and that the characters entered at the transmitter’s keyboard should also be displayed on its screen. g. Write a program such that the receiver node, accept every character appearing on its network bus and display it on its screen. h. Study the point to point, asynchronous byte transmission with the above setup.
The algorithms for transmitter and receiver should be as follows:
Transmitter
Set the device number; Repeat forever; If character is pressed on the key board display and send the serial port Print the character; /* end of if statement */ /* end of repeat loop */ /* end of main */
Receiver Set device number; Repeat forever; If character is present on the network then get the character; Print the character; /* end of if statement */ /* end of repeat loop */ /* end of main */
Precautions •
• •
Make sure that the port numbers used in the program are same as the port numbers assigned for the serial/parallel ports. Make sure that the systems used are compatible. Make sure that connections are proper before doing the experiment.
Record of Observations • •
Type and send a single line text from the transmitter node to the receiver node. Send a File from the transmitter node to the receiver node.
Interpretation of results •
Check for One to one asynchronous data transfer
Questions based on Experiment 1. Define asynchronous data transfer ? 2. What are the differences between synchronous and asynchronous data transfer?
3. Brief on (a) RS232 serial interface (b) Centronics parallel interface (c) USB interface
Assistance for more information [1] Stallings. W. "Data and Computer Communications", Prentice Hall. [2] Behrouz A. Foruzan, “Data communication and Networking”, Tata McGraw‐Hill
Expt. No:8 Title : Implementation of Data Encryption and Decryption Date :
Aim The aim of this experiment is to study the perform XOR Encryption and Decryption.
Objectives Doing this experiment, you will • •
Understand how XOR encryption algorithm can be implemented. Know the elementary issues related to data encryption and decryption
Exclusive‐OR encryption, while not a public‐key system such as RSA, is almost unbreakable through brute force methods. It is susceptible to patterns, but this weakness can be avoided through first compressing the file (so as to remove patterns). Exclusive‐or encryption requires that both encryptor and decryptor have access to the encryption key, but the encryption algorithm, while extremely simple, is nearly unbreakable.
Exclusive‐OR encrytion works by using the boolean algebra function exclusive‐OR (XOR). XOR is a binary operator (meaning that it takes two arguments ‐ similar to the addition sign, for example). By its name, exclusive‐OR, it is easy to infer (correctly, no less) that it will return true if one, and only one, of the two operators is true. The truth table is as follows: A
B
A XOR B
T
T
F
T
F
T
F
T
T
F
F
F
(A truth table works like a multiplication or addition table: the top row is one list of possible inputs, the side column is one list of possible inputs. The intersection of the rows and columns contains the result of the operation when done performed with the inputs from each row and column)
The idea behind exclusive‐OR encryption is that it is impossible to reverse the operation without knowing the initial value of one of the two arguments. For example, if you XOR two variables of unknown values, you cannot tell from the output what the values of those variables are. For example, if you take the operation A XOR B, and it returns TRUE, you cannot know whether A is FALSE and B is TRUE, or whether B is FALSE and A is TRUE. Furthermore, even if it returns FALSE, you cannot be certain if both were TRUE or if both were FALSE.
If, however, you know either A or B it is entirely reversible, unlike logical‐AND and logical‐OR. For exclusive‐OR, if you perform the operation A XOR TRUE and it returns a value of TRUE you know A is FALSE, and if it returns FALSE, you know A is true. Exclusive‐OR encryption works on the principle that if you have the encrypted string and the encryption key you can always decrypt correctly. If you don't have the key, it is impossible to decrypt it without making entirely random keys and attempting each one of them until the decryption program's output is something akin to readable text. The longer you make the encryption key, the more difficult it becomes to break it. The actual way exclusive‐OR encryption is used is to take the key and encrypt a file by repeatedly applying the key to successive segments of the file and storing the output. The output will be the equivalent of an entirely random program, as the key is generated randomly. Once a second person has access to the key, that person is able to decrypt the files, but without it, decryption is almost impossible. For every bit added to the length of the key, you double the number of tries it will take to break the encryption through brute force.
Software Required 1. Turbo C++ Compiler.
Procedure : The input text file is should be named "input.txt" (without the quotes) in c:\ directory
Encryption /* This program takes a file as an input in command line paramater. *
Such as "C:\input.txt".
*
The encrypted file appears with the filename 'encrypted_file' in the
*
same location where the executable is executed. The decrypted file
*
exists with the filename 'decrypted_file' in the same location from where
*
the executable is executed.
*/
#include #include int main() { FILE *fpread, *fpwrite; FILE* fp_print; char fname1[30];
int c;
clrscr(); printf("Enter the name of the file to Encrypt\n"); gets(fname1); fpread=fopen( fname1,"r"); if(!fpread) { printf("No Such file exist !!!"); return 0; } printf("Encrypting the file:::\n"); fpwrite=fopen("encrypted_file","w");
//**** creating encrypted file
while((c=(int)fgetc(fpread)) != EOF) {
putc(c^1,fpwrite); printf("%c",c^1);
}
//****** PRINTING THE ENCRYPTED FILE
fp_print=fopen("encrypted_file","r"); printf(" The encrypted file is\n");
/*while((c=(int)fgetc(fp_print)) != EOF) { //putc(c^1,fpwrite); printf("%d",c); //printf("%c",c); }*/
fclose(fp_print); fclose(fpread); fclose(fpwrite); printf("Decrypting the file\n"); fpread=fopen("encrypted_file","r"); fpwrite=fopen("decrypted_file","w"); while((c=(int)getc(fpread)) != EOF) { putc(c^1, fpwrite); }
fclose(fpwrite);
fpwrite=fopen("decrypted_file","r");
printf("\n");
//******** PRINTING THE DECRYPTED FILE************ printf(" The decrypted file is: opening decrypted_file.txt\n");
while((c=(int)fgetc(fpwrite)) != EOF) {
printf("%c",c); } fclose(fpread); fclose(fpwrite); getch(); return 0; }
Assistance for more information 1. Stallings. W. "Data and Computer Communications", Prentice Hall. 2. Behrouz A. Foruzan, “Data communication and Networking”, Tata McGraw‐Hill
Expt. No:9 Title : Bus, Ring and Star Topology and Protocols Date :
Aim The aim of this experiment is to create an Ethernet using Network Hubs and Switches and study how a token‐passing scheme is implemented.
Objective Doing this experiment, you will •
•
Illustrate the operation of a token‐bus/ring LAN. (The scope of the protocol is limited and does not include token recovery or network reconfiguration operations. Since token recovery is not supported, a loss of token stops the network operation). To illustrate the operation of a star topology.
Equipment Components Required : 1. CAT 5 E UTP Ethernet Patch Cable – 5 Nos. 2. 10 / 100 Mbps Fast Ethernet Packet Switch – 3 Nos. 3. PC with 10/100 Mbps Fast Ethernet Ports – 3 Nos.
Procedure 1. A token‐bus logical ring is implemented using two types of frames – the normal frame as outlined in the Addressed Frame Broadcast and Reception Experiment, and a “token” frame containing only the destination address. Thus the token frame format is: PRE, DID, EOT. 2. The experiment deals with sending and receiving the token: when a token is sent to a successor, the transmitting node waits for a response. It does not implement any token recovery, so if the token is lost, the network operations halt. 3. Also the network needs to be started manually by an operator, since no ring initialization procedure is included.
4. The AL is still unchanged for this experiment. The NL, however, has the following states: receive, send packet and send token.
5. In the receive state, the NL monitors the frames arriving from the network medium and awaits a token or packet frame. If a packet is received, the application layer is informed about it, but the NL remains in the receive state, ready to accept another packet or the token frame. 6. If the token is received, it means that the node obtained the right to transmit. 7. If a packet is waiting to be transmitted, the state is changed to send packet, and transmission begins. 8. The request to send a packet is signaled in the application-network interlayer interface by a flag. 9. After packet transmission has been completed, the state is changed to send token, and token transmission begins.
The algorithm for the experiment is as follows:
/* AL Machine */ repeat forever if char at the keyboard and TBF == 0 then AI = 1;
get the char; Array[0] = PRE get the next char; if char == machine ID then
/* check address */
while char != CR place char in the array; inc array index; get the char; end while; if token sequence has been received set token received flag to 1; display message “Token Received….” ; else place CR in array; inc array index; place LF in array; inc array index; place EOT in array; AI = 0; TF = 1; TBF = 1; /* end of if statements */ if DF == 1 then DF = 0; AD = 1; get the char from buffer; display the char string until CR; ignore CR; ignore LF;
ignore EOT; AD = 0; RBF = 0; /* end of if statement */ /* NL Machine */ if char at the network and RBF == 0 then NR = 1; get the char; if char == PRE then continue; while char != EOT place in array; inc array index; get the char; /* end while */ NR = 0; DF = 1; RBF = 1; /*end of if statement */ if (TF == 1 and token received flag set to 1) then TF = 0; NT = 1; send char to network until EOT;
NT = 0; TBF = 0; /*end of if statement */ /* end or repeat loop */ /* end of main */
Observations •
Enter and send a few one‐line frames between various nodes
• •
Use two nodes as receivers and see the frame broadcast. Use two nodes as transmitters and one as receiver and send frames from the two transmitters simultaneously. Is there a collision taking place? If not, why?
Record of Observations • • •
Program listings and details (put enough comments in the program to make the code clear) Flow chart and the algorithm Program output to screen
Questions based on Experiment
2. What are the benefits of Token passing Medium access scheme? How can u prevent the collision? 3. How the algorithm is implemented?
Expt.no :10 Date:
TCP Congestion Control The Internet’s TCP guarantees the reliable, in-order delivery of a stream of bytes. It includes a flowcontrol mechanism for the byte streams that allows the receiver to limit how much data the sender can transmit at a given time. In addition, TCP implements a highly tuned congestion-control mechanism. The idea of this mechanism is to throttle how fast TCP sends data to keep the sender from overloading the network.
The idea of TCP congestion control is for each source to determine how much capacity is available in the network, so that it knows how many packets it can safely have in transit. It maintains a state variable for each connection, called the congestion window , which is used by the source to limit how much data it is allowed to have in transit at a given time.
TCP uses a mechanism, called additive increase/multiplicative decrease, that decreases the congestion window when the level of congestion goes up and increases the congestion window when the level of congestion goes down. TCP interprets timeouts as a sign of congestion. Each time a timeout occurs, the source sets the congestion window to half of its previous value. This halving corresponds to the multiplicative decrease part of the mechanism. The congestion window is not allowed to fall below the size of a single packet (the TCP maximum segment size, or MSS). Every time the source successfully sends a congestion window’s worth of packets, it adds the equivalent of one packet to the congestion window; this is the additive increase part of the mechanism.
TCP uses a mechanism called slow start to increase the congestion window “rapidly” from a cold start in TCP connections. It increases the congestion window exponentially, rather than linearly. Finally, TCP utilizes a mechanism called fast retransmit and fast recovery . Fast retransmit is a heuristic
that sometimes triggers the re-transmission of a dropped packet sooner than the regular timeout mechanism.
Objective This lab is designed to demonstrate the congestion control algorithms implemented by the Transmission Control Protocol (TCP). The lab provides a number of scenarios to simulate these algorithms. You will compare the performance of the algorithms through the analysis of the simulation results. In this lab you will set up a network that utilizes TCP as its end-to-end transmission protocol and analyze the size of the congestion window with different mechanisms.
Procedure Create a New Project 1. Start OPNET IT Guru
Choose Ne w from the File menu.
2. Select Project and click OK No_Drop
Name the project _TCP , and the scenario
Click OK .
3. In the Startup Wizard: Initial Topology dialog box, make sure that Create Empty Scenario is selected Click Next
Click Next
Select Choose From Maps from the Network Scale list
Choose USA from the Map List
Click Next twice
Click OK .
Create and Configure the Netwo rk Initialize the Netw ork :
1. The Object Palette dialog box should now be on the top of your project space. If it is not there, open it by clicking
. Make sure that the internet_toolbox item is selected from the pull-
down menu on the object palette. 2. Add to the project workspace the following objects from the palette: Application Config , Profile Config , an ip32_Cloud , and two subnets.
To add an object from a palette, click its icon in the object palette workspace
Click to drop the object in the desired location
objects of that type.
Move your mouse to the Right-click to finish creating
3. Close the palette. 4. Rename the objects you added as shown in Figure 75 and then save your project:
Figure 28
Initializing the Network
Co n f i g u r e t h e A p p l i c a t i o n s :
1. Right-click on the Applications node Definitions attribute and set rows to 1
Edit Attributes
Expand the Application
Expand the new row
Name the row
FTP_Application .
Expand the Description hierarchy
Edit the FTP row as shown in Figure 76 (you will
need to set the Special Value to Not Used while editing the shown attributes)
Figure 29
Configuring the Applications
2. Click OK twice and then save your project.
Co n f i g u r e t h e Profiles:
Right-click on the Profiles node
Edit Attributes
Expand the Profile Configuration attribute
and set rows to 1. Name and set the attributes of row 0 as shown in Figure 77
Figure 30 C o n f i g u r e t h e W e st S u b n e t :
Click OK .
(Profiles) Attributes
1. Double-click on the West subnet node. You get an empty workspace, indicating that the subnet contains no objects. 2. Open the object palette
and make sure that the internet_toolbox item is selected from
the pull-down menu. 3. Add the following items to the subnet workspace: one ethernet_server , one ethernet4_slip8_gtwy router, and connect them with a bidirectional 100_BaseT link Close the palette
Rename the objects as shown in Figure 78.
Figure 31
Configuring the West Subnet
4. Right-click on the Server_West node
Edit Attributes :
a. Edit Application: Supported Services FTP_Application
Set rows to 1
Set Name to
Click OK .
a. Edit the value of the Server Address attribute and write down Server_West . b. Expand the TCP Parameters hierarchy
Set both Fast Retransmit and Fast
Recovery to Disabled .
Configure the East Subnet:
1. Double-click on the East subnet node. You get an empty workspace, indicating that the subnet contains no objects. 2. Open the object palette
and make sure that the internet_toolbox item is selected
from the pull-down menu. 3. Add the following items to the subnet workspace: one ethernet_wkstn , one ethernet4_slip8_gtwy router, and connect them with a bidirectional 100_BaseT link Close the palette
Rename the objects as shown in Figure 79.
Figure 32
Configuring the East Subnet
4. Right-click on the Client_East node
Edit Attributes :
a. Expand the Application: Supported Profiles hierarchy row 0 hierarchy
Set rows to 1
Expand the
Set Profile Name to FTP_Profile .
b. Assign Client_ East to the Client Address attributes. c. Edit the Application: Destination Preferences attribute as follows: Set rows to 1
Set Symbolic Nam e to FTP Server
Set rows to 1
Edit Actual Name
In the new row, assign Server_West to the Name column.
5. Click OK three times and then save your project. 6. You have now completed the configuration of the East subnet. To go back to the project space, click the Go to next higher level
button.
Co n n e c t t h e S u b n e t s t o t h e I P Cl o u d :
1.
Open the object palette
.
2. Using two PPP_DS3 bidirectional links connect the East subnet to the IP Cloud and the West subnet to the IP Cloud.
3. A pop-up dialog box will appear asking you what to connect the subnet to the IP Cloud with. Make sure to select the “routers.” 4. Close the palette (Figure 80).
Figure 33
Connecting Subnets to IP Cloud
Choose the Statistic s 1. Right-click on Server_West in the West subnet and select Choose Individual Statistics from the pop-up menu.
2. In the Choose Results dialog box, choose the following statistic: TCP Connection Congestion W indow Size (bytes) and Sent Segment Sequence Num ber .
3. Right-click on the Congestion Window Size (bytes) statistic Collection Mode
In the dialog box check Advanced
assign all values to Capture mode
Figure 34
From the drop-down menu,
Click OK (Figure 81)
Congestion W indow Size (bytes)
4. Right-click on the Sent Segment Sequence Number statistic Collection M ode
Choose Change
In the dialog box check Advanced
assign all values to Capture mode. 5. Click OK twice and then save your project. 6. Click the Go to next higher level
button.
Configure the Simulation Here we need to configure the duration of the simulation:
Choose Change
From the drop-down menu,
1. Click on
and the Configure Simulation window should appear.
2. Set the duration to be 10.0 minutes . 3. Click OK and then save your project.
Duplicate the Scenario In the network we just created we assumed a perfect network with no discarded packets. Also, we disabled the fast retransmit and fast recovery techniques in TCP. To analyze the effects of discarded packets and those congestion-control techniques, we will create two additional scenarios.
1. Select Duplicate Scenario from the Scenarios menu and give it the name Drop_NoFast Click OK . 2. In the new scenario, right-click on the IP Cloud
Edit Attributes
Assign 0.05% to
the Packet Discard Ratio attribute. 3. Click OK and then save your project. 4. While you are still in the Drop_NoFast scenario, select Duplicate Scenario from the Scenarios menu and give it the name Drop_Fast.
5. In the Drop_Fast scenario, right-click on Server_ West , which is inside the West subnet Edit Attributes Retransmit attribute
Expand the TCP Parameters hierarchy
Enable the Fast
Assign Reno to the Fast Recovery attribute.
6. Click OK and then save your project.
Run the Simulation To run the simulation for the three scenarios simultaneously: 1. Go to the Scenarios menu
Select Manage Scenarios.
2. Change the values under the Results column to (or ) for the three scenarios. Compare with Figure 82.
Figure 35
Manage Scenarios
3. Click OK to run the three simulations. Depending on the speed of your processor, this may take several minutes to complete. 4. After the three simulation runs complete, one for each scenario, click Close
Save your
project.
View the Results To view and analyze the results: 1. Switch to the Drop_NoFast scenario (the second one) and choose View Results from the Results menu.
2. Fully expand the Object Statistics hierarchy and select the following two results: Congestion W indow Size (bytes) and Sent Segment Sequence Nu mber (Figure 83).
Figure 36
View Results
3. Click Show . The resulting graphs should resemble the ones in Figure 84.
Figure 37
Map Network - I
4. To zoom in on the details in the graph, click and drag your mouse to draw a rectangle, as shown above. 5. The graph should be redrawn to resemble Figure 85.
Figure 38
Maps Network – II
6. Notice the Segment Sequence Number is almost flat with every drop in the congestion window. 7. Close the View Results dialog box and select Compare Results from the Result menu. 8. Fully expand the Object Statistics hierarchy and select the following result: Sent Segment Sequence Num ber (Figure 86).
Figure 39
Compare Results
9. Click Show . After zooming in, the resulting graph should resemble the one in Figure 87.
Figure 40
Maps Network
Wireless LAN Ex.No : 11 Date
:
Aim: To establish a wireless LAN network and to study its performance by simulation.
Objective: To create a wireless LAN network and to obtain the following statistics.
Global statistics
FTP (Traffic sent , Traffic Recieved) Wireless LAN(Throughput, Delay,Etc)
Node statistics
Wireless LAN(Throughput, Delay,Etc) Client FTP Server FTP
Procedure:
Step1: Open the object panel in OPNET browser and select the following components from the wireless_lan subtools.
Application Configuration‐1 Profile Configuration
‐1
Wireless Lan Router(Fixed)‐1 Wireless Server(Fixed)
‐1
Wireless Workstation(Fixed)‐4
Step 2:
Right click on application config and select edit attribute option and change the following fields: Name: application App.Def: Default
Step 3: Right click on profile config and select edit attribute option and change the following fields:
Name: Profile Profile config:set no of rows equal to 1 Profile name: FTP Application column set: rows =1 Select file transfer (light)
Step4:
Right click on Router and select edit attribute option and change the following fields:
Name: Router
Step5:
Right click on workstation(choose similar nodes) and select edit attribute option and change the following fields
Application(Supported Profiles) set no of rows=1 Select FTP.
Step6: Right click on server and select edit attribute option and change the following fields
Application(Supported Services) set no of rows=1 Select File transfer(light).
Step7: Right click on OPNET workspace and select choose individual statistics And select the statistics shown below:
Global Statistics:(Ftp,Wireless LAN) Node Statistics: (Wireless Lan,Client Ftp, Server FTP).
Step 8:
Click run simulation button , set the simulation duration to 300 seconds and run the simulation.
Step9: View the results.
Expt. No: 12 Title : Ethernet LAN and Protocols Date :
Aim The aim of this experiment is to study the performance of CSMA / CD Protocol using Wireshark Protocol Analyzer.
Objectives Doing this experiment, you will • • • •
Understand how Packets are captured and displayed in the Protocol Analyzer Calculate Packet Length Calculate Port Type Draw flow graph of packet transmission
Equipment 1. Wireshark Protocol Analyzer Software – LAN User License. 2. PCs connected in a Local Area Network
Procedure 1. In Wireshark Simulator choose Capture > Start to open a window where you can enter parameters for frame capturing. You can click Interface to choose the network interface (Whether wired or wireless) to be used to capture frames. 2. Click OK to begin capturing. After the capturing has finished, you can view the individual captured frames. 3. Once packet capturing is over click View > Packet Length to view the length of the packets. 4. Similarly calculate other parameters also.
Precautions • •
Make sure that you choose the right interface for wired and wireless networked environment Make sure your pc either sends or receives some data
Record of Observations
• •
Record the length of Packets received Record the number and types of packets
Interpretation of results •
The length of the Packet received determines the types of packet being transmitted and received.
Questions based on Experiment 1. What are the different types of packets that can be analyzed using Wireshark ?
OSI Model Layers
Virtually all networks in use today are based in some fashion on the (OSI) standard.
was developed in 1984
by the International Organization for Standardization (ISO), a global federation of national standards organizations representing approximately 130 countries. The core of this standard is the OSI Reference Model, a set of seven layers that define the different stages that data must go through to travel from one device to another over a network. The Open Systems Interconnection Reference Model (OSI Reference Model or OSI Model) is an abstract description for layered communications and computer network protocol design. It was developed as part of the Open Systems Interconnection (OSI) initiative. In its most basic form, it divides network architecture into seven layers which, from top to bottom, are the Application, Presentation, Session, Transport, Network, Data-Link, and Physical Layers. It is therefore often referred to as the OSI Seven Layer Model. A layer is a collection of conceptually similar functions that provide services to the layer above it and receives service from the layer below it. For example, a layer that provides error-free communications across a network provides the path needed by applications above it, while it calls the next lower layer to send and receive packets that make up the contents of the path. History:
In 1977, work on a layered model of network architecture was started, and the International Organization for Standardization (ISO) began to develop its OSI framework architecture. OSI has two major components: an abstract model of networking, called the Basic Reference Model or seven-layer model, and a set of specific protocols. All aspects of OSI design evolved from experiences with the CYCLADES network, which also influenced Internet design. The new design was
documented in ISO 7498 and its various addenda. In this model, a networking system is divided into layers. Within each layer, one or more entities implement its functionality. Each entity interacts directly only with the layer immediately beneath it, and provides facilities for use by the layer above it. Protocols enable an entity in one host to interact with a corresponding entity at the same layer in another host. Service definitions abstractly describe the functionality provided to an (N)-layer by an (N-1) layer, where N is one of the seven layers of protocols operating in the local host.
Think of the seven layers as the assembly line in the computer. At each layer, certain things happen to the data that prepare it for the next layer. The seven layers, which separate into two sets, are: •
Application Set:
Layer 7: Application - This is the layer that actually interacts with the operating system or application whenever the user chooses to transfer files, read messages or perform other network-related activities. Layer 6: Presentation - Layer 6 takes the data provided by the Application layer and converts it into a standard format that the other layers can understand. Layer 5: Session - Layer 5 establishes, maintains and ends communication with the receiving device. •
Transport Set :
Layer 4: Transport - This layer maintains flow control of data and provides for error checking and recovery of data between the devices. Flow control means that the Transport layer looks to see if data is coming from more than one application and integrates each application's data into a single stream for the physical network.
Layer 3: Network - The way that the data will be sent to the recipient device is determined in this layer. Logical protocols, routing and addressing are handled here. Layer 2: Data - In this layer, the appropriate physical protocol is assigned to the data. Also, the type of network and the packet sequencing is defined. Layer 1: Physical - This is the level of the actual hardware. It defines the physical characteristics of the network such as connections, voltage levels and timing.
The seven layers of the OSI Reference Model
Layer 7: Application Layer
The application layer is the OSI layer closest to the end user, which means that both the OSI application layer and the user interact directly with the software application. This layer interacts with software applications that implement a communicating component. Such application programs fall outside the scope of the OSI model. Application layer functions typically include identifying
communication partners, determining resource availability, and synchronizing communication. When identifying communication partners, the application layer determines the identity and availability of communication partners for an application with data to transmit. When determining resource availability, the application layer must decide whether sufficient network resources for the requested communication exist. In synchronizing communication, all communication between applications requires cooperation that is managed by the application layer. Some examples of application layer implementations include Telnet, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Simple Mail Transfer Protocol (SMTP).
Layer 6: Presentation Layer
The Presentation Layer establishes a context between Application Layer entities, in which the higher-layer entities can use different syntax and semantics, as long as the Presentation Service understands both and the mapping between them. The presentation service data units are then encapsulated into Session Protocol Data Units, and moved down the stack. This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer. The original presentation structure used the Basic Encoding Rules of Abstract Syntax Notation One (ASN.1), with capabilities such as converting an EBCDIC-coded text file to an ASCII-coded file, or serializing objects and other data structures into and out of XML. Layer 5: Session Layer
The Session Layer controls the dialogues (connections) between computers. It establishes, manages and terminates the connections between the local and remote application. It provides for full-duplex, half-duplex, or simplex operation, and establishes check pointing, adjournment, termination, and restart procedures. The OSI model made this layer responsible for "graceful close" of sessions, which is a property of TCP, and also for session check pointing and recovery, which is not usually used in the Internet Protocol Suite. The Session Layer is commonly implemented explicitly in application environments that use remote procedure calls (RPCs). Layer 4: Transport Layer
The Transport Layer provides transparent transfer of data between end users, providing reliable data transfer services to the upper layers. The Transport Layer controls the reliability of a given link through flow control, segmentation/desegmentation, and error control. Some protocols are state and connection oriented. This means that the Transport Layer can keep track of the segments and retransmit those that fail. Although not developed under the OSI Reference Model and not strictly conforming to the OSI definition of the Transport Layer, the best known examples of a Layer 4 protocol are the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
Of the actual OSI protocols, there are five classes of connection-mode transport protocols ranging from class 0 (which is also known as TP0 and provides the least error recovery) to class 4 (which is also known as TP4 and is designed for less reliable networks, similar to the Internet). Class 0 contains no error recovery, and was designed for use on network layers that provide error-free connections. Class 4 is closest to TCP, although TCP contains functions, such as the graceful close, which OSI assigns to the Session Layer. Also, all OSI TP connection-mode protocol classes provide expedited data and preservation of record boundaries, both of which TCP is incapable.
Layer 3: Network Layer
The Network Layer provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks, while maintaining the quality of service requested by the Transport Layer. The Network Layer performs network routing functions, and might also perform fragmentation and reassembly, and report delivery errors. Routers operate at this layer—sending data throughout the extended network and making the Internet possible. This is a logical addressing scheme – values are chosen by the network engineer. The addressing scheme is hierarchical. The best-known example of a Layer 3 protocol is the Internet Protocol (IP). It manages the connectionless transfer of data one hop at a time, from end system to ingress router, router to router, and from egress router to destination end system. It is not responsible for reliable delivery to a next hop, but only for the detection of errored packets so they may be discarded. When the medium of the next hop cannot accept a packet in its current length, IP is responsible for fragmenting the packet into sufficiently small packets that the medium can accept. A number of layer management protocols, a function defined in the Management Annex, ISO 7498/4, belong to the Network Layer. These include routing protocols, multicast group management, Network Layer information and error, and Network Layer address assignment. It is the function of the payload that makes these belong to the Network Layer, not the protocol that carries them. Layer 2: Data Link Layer
The Data Link Layer provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical Layer. Originally, this layer was intended for point-topoint and point-to-multipoint media, characteristic of wide area media in the
telephone system. Local area network architecture, which included broadcastcapable multiaccess media, was developed independently of the ISO work, in IEEE Project 802. IEEE work assumed sublayering and management functions not required for WAN use. In modern practice, only error detection, not flow control using sliding window, is present in modern data link protocols such as Point-toPoint Protocol (PPP), and, on local area networks, the IEEE 802.2 LLC layer is not used for most protocols on Ethernet, and, on other local area networks, its flow control and acknowledgment mechanisms are rarely used. Sliding window flow control and acknowledgment is used at the Transport Layer by protocols such as TCP, but is still used in niches where X.25 offers performance advantages. The ITU-T G.hn standard, which provides high-speed local area networking over existing wires (power lines, phone lines and coaxial cables), includes a complete Data Link Layer which provides both error correction and flow control by means of a selective repeat Sliding Window Protocol. Both WAN and LAN services arrange bits, from the Physical Layer, into logical sequences called frames. Not all Physical Layer bits necessarily go into frames, as some of these bits are purely intended for Physical Layer functions. For example, every fifth bit of the FDDI bit stream is not used by the Layer. Layer 1: Physical Layer
The Physical Layer defines the electrical and physical specifications for devices. In particular, it defines the relationship between a device and a physical medium. This includes the layout of pins, voltages, cable specifications, Hubs, repeaters, network adapters, Host Bus Adapters (HBAs used in Storage Area Networks) and more. To understand the function of the Physical Layer in contrast to the functions of the Data Link Layer, think of the Physical Layer as concerned primarily with the interaction of a single device with a medium, where the Data Link Layer is concerned more with the interactions of multiple devices (i.e., at least two) with a shared medium. The Physical Layer will tell one device how to transmit to the medium, and another device how to receive from it (in most cases it does not tell the device how to connect to the medium). Standards such as RS-232 do use physical wires to control access to the medium. The major functions and services performed by the Physical Layer are:-Establishment and termination of a connection to a communications medium. •
•
•
Participation in the process whereby the communication resources are effectively shared among multiple users. For example, contention resolution and flow control. Modulation, or conversion between the representation of digital data in user equipment and the corresponding signals transmitted over a communications channel. These are signals operating over the physical cabling (such as copper and optical fiber) or over a radio link.
Parallel SCSI buses operate in this layer, although it must be remembered that the logical SCSI protocol is a Transport Layer protocol that runs over this bus. Various Physical Layer Ethernet standards are also in this layer; Ethernet incorporates both this layer and the Data Link Layer. The same applies to other local-area networks, such as Token ring, FDDI, ITU-T G.hn and IEEE 802.11, as well as personal area networks such as Bluetooth and IEEE 802.15.4.
Tabulation: Layer
Function
P rotocols
Netw ork
Components •
•
Application User Interface
•
•
•
•
•
•
Presentation Translation •
•
•
Session
•
"syncs and sessions" •
used for applications specifically written to run over the network allows access to network services that support DNS; FTP; TFTP; applications; BOOTP; directly represents the services SNMP;RLOGIN; SMTP; that directly support user MIME; NFS; FINGER; applications TELNET; NCP; APPC; handles network access, flow AFP; SMB control and error recovery Example apps are file transfer,e-mail, NetBIOSbased applications Translates from application to network format and vice-versa all different formats from all sources are made into a common uniform format that the rest of the OSI model can understand responsible for protocol conversion, character conversion,data encryption / decryption, expanding graphics commands, data compression sets standards for different systems to provide seamless communication from multiple protocol stacks not always implemented in a network protocol establishes, maintains and ends sessions across the network responsible for name recognition (identification) so only the designated parties can participate in the session provides synchronization services by planning check
Gateway
Gateway Redirector
NetBIOS Names Pipes Gateway
Mail Slots RPC
•
•
•
•
•
Transport packets; flow control & errorhandling
•
•
•
•
•
Network addressing; routing •
points in the data stream => if session fails, only data after the most recent checkpoint need be transmitted manages who can transmit data at a certain time and for how long Examples are interactive login and file transfer connections, the session would connect and re-connect if there was an interruption; recognize names in sessions and register names in history additional connection below the session layer manages the flow control of data between parties across the network divides streams of data into chunks or packets; the transport layer of the receiving computer reassembles the message from packets "train" is a good analogy => the data is divided into identical units provides error-checking to guarantee error-free data delivery, with on losses or duplications provides acknowledgment of successful transmissions; requests retransmission if some packets don’t arrive error-free provides flow control and error-handling translates logical network address and names to their physical address (e.g. computername ==> MAC address) responsible for
TCP, ARP, RARP; SPX NWLink NetBIOS / NetBEUI
Gateway Advanced Cable Tester Brouter
ATP
IP; ARP; RARP, ICMP; RIP; OSFP;
Brouter Router
IGMP; Frame Relay
addressing o determining routes for sending o managing network problems such as packet switching, data congestion and routing if router can’t send data frame as large as the source computer sends, the network layer compensates by breaking the data into smaller units. At the receiving end, the network layer reassembles the data think of this layer stamping the addresses on each train car o
•
•
IPX
Device
NWLink
ATM Switch
NetBEUI
Advanced Cable Tester
OSI DDP DECnet
Logical Link Control •
turns packets into raw bits error correction 100101 and at the receiving and flow control end turns bits into packets. manages link handles data frames between control and the Network and Physical defines SAPs layers the receiving end packages 802.1 OSI Model raw data from the Physical layer into data frames for delivery to the Network layer 802.2 Logical Link Control responsible for error-free transfer of frames to other Media Access Control computer via the Physical Layer communicates this layer defines the methods with the adapter used to transmit and receive card data on the network. It controls the type consists of the wiring, the of media being devices use to connect the used: NIC to the wiring, the signaling involved to transmit 802.3 CSMA/CD / receive data and the ability to (Ethernet) detect signaling errors on the network media 802.4 Token Bus (ARCnet) •
•
•
Data Link data frames to bits
•
•
Bridge Switch ISDN Router Intelligent Hub
•
•
•
NIC Advanced Cable Tester