To use Wireshark, compare the performance of types of the switches by contents of OpenFlow packets. This resembles a part of OpenFlow Tutorials. Its details are listed at the URL below
http://www.openflow.org/wk/index.php/OpenFlow_Tutorial
To use Wireshark, which includes OpenFlow analytical plugins, observe the flow of packets on the virtual network that is created at OpenFlow/OpenFlow Tutorial 1.
Code and Commands>
To boot Wireshark, capture the packets at loopback interface.
To imput “of” a string at Filter, it recognizes only OpenFlow related packets (Protocol OFP).
While Wireshark monitors the packets, boot the controller, which implements OpenFlow reference, as the learning switch.
Code and Commands> To look at the capture window of Wireshark, see how the controller and switch communicate each other.
#ref(): Usage:([pagename/]attached-file-name[,parameters, ... ][,title])
The messages and their details are shown below.
Hello switch → controller Show the version of OpenFlow Hello controller → switch Show the version of OpenFlow Feature Request controller → switch Request feature Set Config controller → switch Controller shows how to handle IP fragments and the maximum bytes of a new flow Features Reply switch → controller Switch replies a list of features In mininet environment, all packets are handled via localhost, so their original sender's IP address are not specified. The controller uses the OpenFlow standard port 6630, and the switch occupies any available port. (for this example, the port number is 54129.)
While learning switch is effective, send a ping, and check what will happen on OpenFlow. Then, to pture the interface of loopback by Wireshark again, echo Request/Reply, which maintains the connection between the controller and switch, is needed to work as a filter, input string at the entry field, and apply it. As this is completed, the capturing process will start.Code and Commands> At this moment, the table flow is empty.
Try to check it by shell, instead of mininet termina.Code and Command>
Send a ping by mininet prompt.Code and Command> In the capture window of Wireshark show new messages. (See the image below.)
&ref(): File not found: "" at page "OpenFlow/OpenFlow Tutorial 2";
The contents of the messages are shown below.
Packet In Switch → Controller Receiving packets (Since there are no matches on the flow table at the switch, switch sends packets to the controller.) Packet Out Controller → Switch Sending packets Flow Mod Controller → Switch Add a flow to the flow table
To check the flow table, the entries shown below are added by the controller.Code and Commands> This is a case that OpenFlow is set and used in Passive mode.
In Passive modem, a flow interacts with each packet.
To boot the mininet environment with mn commands, the switch option is specified by --switch. This option make difference in throughputs.
The switch of the mininet environment, which has been used here, is Open vSwitch
Code and Commands>
In average, it reaches 300 ~ 500 Mbps throughputs.
This time, the mininet boots with a switch, which works in the user-land applied by the reference implementation of OpenFlow.
Code and Commands> In this implementation, packets need to move from user-space to kernel space several times. This is the reason why its throughputs are lower than the previous setting. With this switch, it is not complicated to improve the throughputs.
- 2013/08/28 This article is initially uploaded.