Uploaded by Angela Gonzaga

SWDENET Lab Activity 3-1

advertisement
SWDENET – SOFTWARE-DEFINED NETWORKING AND VIRTUALIZATION
AY 2023-2024, 2nd TERM
LAB ACTIVITY 3: Wireshark in Mininet and Flow Management
GROUP
MEMBERS:
Camarillo, Danny Boy Jr.
Dulaca, Joanna Grace P.
Kundert, Thadeus Emmanuel
DATE:
SECTION
02/09/2024
BSIT212
PLEASE READ ALL OF THE INSTRUCTIONS CAREFULLY. FOR SCREENSHOTS USING THE
TERMINAL, PLEASE INCLUDE THE DATE AND TIME USING THE date COMMAND IN THE VM,
USING sh WHILE IN THE MININET APPLICATION TO SUCCESSFULLY USE THE COMMAND.
Learning Objectives


To learn how to use Wireshark using the Mininet VM
To learn how to add and delete flow entries in the Mininet application
Software Needed



Mininet 2.3.0 VM image Ubuntu legacy image
https://github.com/mininet/mininet/releases/download/2.3.0/mininet-2.3.0210211-ubuntu-20.04.1-legacy-server-amd64-ovf.zip
X Server for Windows https://x410.dev/download/
PuTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Pre-requisites



Make sure that the X Server (X410) is installed and running on your machine
Make sure that PuTTY, or any other terminal that supports X11 tunnelling, is installed
in your machine
Get the IP address of the Mininet VM, using commands such as hostname –I,
ifconfig, and ip addr.
Setting up PuTTY for X11 Tunnelling
1. Open PuTTY, by default it is open on the Session category
2. In the lefthand side (Category), expand the SSH category (click the plus (+) icon) and
click the X11 entry
3. Check the Enable X11 forwarding option
4. Click the Session category and fill up the Host Name (or IP address) field using the IP
address obtained from Pre-requisites.
5. (Optional, but recommended) Save the session by entering a name in Saved Sessions
and clicking the Save button. To open a saved session, double click the name of the
saved session.
Running Wireshark
Before running Wireshark, the mininet user should be able to capture and analyze
packets using Wireshark without elevated privileges (without using sudo or changing to the
root user). When executing Wireshark with sudo, i.e. sudo wireshark, there will be
errors and solutions regarding this may lead to breaking the VM. Running Wireshark without
sudo, i.e. wireshark, will open Wireshark in a window, but capturing packets is not
possible unless root access is given. To setup the mininet user to capture packets in
Wireshark, making sure to restart the terminal after to be sure:
To run Wireshark on the terminal where the user cannot execute commands while
Wireshark is open:
To run Wireshark on the terminal where Wireshark is opened as a background process,
enabling the user to execute other commands, pressing the Enter key in the terminal when
the Wireshark window appears (preferred option):
For Mininet, the loopback (lo) interface is used. Double click the Loopback: lo item to
initiate packet capture:
Apply a display filter of openflow_v1 to see OpenFlow messages:
While Wireshark is running in the background AND capturing packets in the lo interface, run
sudo mn --topo=linear,3:
[TASK #1] IN THE WIRESHARK CAPTURE, WHAT OPENFLOW MESSAGES WERE DISCUSSED
DURING THE OPENFLOW LECTURE? SHOW SOME SCREENSHOTS OF THE MESSAGES IN
WIRESHARK, INCLUDING THE TYPE AND CONTENT OF THE OPENFLOW MESSAGE, AND THE
HEX DUMP OF THE ENTIRE PACKET.
[TASK #2] GIVEN THE WIRESHARK CAPTURE, HOW DOES THE MININET APPLICATION
ROUTE MESSAGES TO SPECIFIC NODES IN THE NETWORK? ANALYZE THE OPENFLOW
MESSAGE PACKETS CAREFULLY AND SHOW USING SCREENSHOTS WHAT DIFFERENTIATES
NODES FROM EACH OTHER.
Manually Managing Flows
General Syntax
By default, the switches in the Mininet network are Open vSwitch (OVS). These can be
managed manually using the ovs-ofctl command.
[TASK #3] USING THE MANUAL COMMAND, PASTE A SCREENSHOT OF THE ovs-ofctl
MANUAL PAGE WITH THE HEADER, NAME, SYNOPSIS, AND FIRST PARAGRAPH OF THE
DESCRIPTION.
ovs-ofctl can be used to configure the switch manually, including the addition,
deletion, and modification of flow entries.
Given the specified configuration, no SDN controller, and simplified MAC address allocation:
[TASK #4] PLEASE PASTE A SCREENSHOT OF THE dump OUTPUT
[TASK #5 AND #6] PLEASE PASTE A SCREENSHOT OF THE net OUTPUT AND DRAW THE
NETWORK TOPOLOGY.
NETWORK TOPOLOGY:
To add flows onto an OVS Switch, the add-flow command with ovs-ofctl is to be
used, with the following format:
FLOW can be seen in the manual page of ovs-ofctl, ovs-fields, and ovsactions. For example,
adds a flow entry with the normal forwarding function is added to the flow table of OVS
switch 1 (s1).
To show the current flow entries in an OVS switch:
[TASK #6 AND #7] PLEASE PASTE A SCREENSHOT OF THE COMMAND RESULT AND A
PINGALL RESULT.
To delete flow entries, the del-flows command with ovs-ofctl is to be used, with the
following format:
If FLOW is not present, then all existing flow entries are deleted, as with the following
example:
[TASK #8 AND #9] PLEASE DISPLAY THE FLOW ENTRIES IN SWITCH 1 (s1) AFTER EXECUTING
THE COMMAND ABOVE AND A PINGALL RESULT.
Download