Technische Universität MünchenFakultät für InformatikLehrstuhl für Netzarchitekturen und NetzdiensteImplementation and PerformanceAnalysis of Firewall onOpen vSwitchInterdisziplinäres Projekt in der Elektrotechnikdurchgeführt amLehrstuhl für Netzarchitekturen und NetzdiensteFakultät für InformatikTechnische Universität MünchenvonJay ShahAufgabensteller: Prof. Dr.-Ing. Georg CarleBetreuer:M.Sc. Cornelius Diekmann and M.Sc. Florian WohlfartTag der Abgabe: 29. April 2015

Ich versichere, dass ich die vorliegende Arbeit selbständig verfasst und nur die angegebenenQuellen und Hilfsmittel verwendet habe.Garching, den 29. April 2015

Abstract:Software Defined Networking (SDN) is a current research trend that follows the ideologyof physical separation of the control and data plane of the forwarding devices. SDN mainlyadvocates with two types of devices: (1) Controllers, that implement the control plane and(2) Switches, that perform the data plane operations. OpenFlow protocol (OFP) is thecurrent standard through which controllers and switches can communicate with each other.Using OpenFlow, SDN controllers can manage forwarding behaviors of SDN switches bymanaging Flow Table entries. Switches use these low-level Flow Table entries to forwardpackets to appropriate hosts.Firewalls are integral part of today’s networks. We can’t imagine our network without aFirewall which protects our network from potential threats. As SDN is getting pace inreplacing traditional architecture, it would be very interesting to see how much securityfeatures can be provided by OpenFlow-enabled switches. Hence, it will be very importantto see if SDN, on the top of OpenFlow, can efficiently implement Firewalls and providessupport for an advanced feature like connection tracking. The task is straightforward:Controller will add Flow Table entries on switches based upon Firewall rules. Such way,we can enhance packet-processing by providing security.In this Document, one strategy for implementing Firewall on SDN is presented. We canwrite some controller applications that work as Firewall and inspect incoming packetsagainst the Firewall rules. These applications are also able to implement connection tracking mechanism. As SDN devices for the experiments, we selected Ryu controller and OpenvSwitch. Initially, such applications are tested on local machine with small Firewall ruleset. Later, they are tested with real-world traffic and comparatively large Firewall ruleset.The testing results present that such strategy can be used as a first step in implementingsecurity features (including connection tracking) in SDN environment.

Contents1 Problem Analysis11.1Software Defined Networking . . . . . . . . . . . . . . . . . . . . . . . . . .11.2OpenFlow and Open vSwitch . . . . . . . . . . . . . . . . . . . . . . . . . .21.2.1Introduction to OpenFlow . . . . . . . . . . . . . . . . . . . . . . . .21.2.2OpenFlow Events and Messages . . . . . . . . . . . . . . . . . . . .31.2.3Open vSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Ryu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.3.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41.3.2Ryu Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Firewall on SDN Controller . . . . . . . . . . . . . . . . . . . . . . . . . . .61.31.42 Design and Implementation72.1Ryu Application - General Template Design . . . . . . . . . . . . . . . . . .72.2Firewall Implementation as Ryu Applications . . . . . . . . . . . . . . . . .92.2.1Inefficient Stateful Firewall Application . . . . . . . . . . . . . . . . 102.2.2Efficient Stateful Firewall Application . . . . . . . . . . . . . . . . . 112.2.3Inefficient Stateless Firewall Application . . . . . . . . . . . . . . . . 122.2.4Efficient Stateless Firewall Application . . . . . . . . . . . . . . . . . 123 Results and Evaluations3.13.213Testing on Local Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1Inefficient Stateful Firewall . . . . . . . . . . . . . . . . . . . . . . . 143.1.2Inefficient Stateless Firewall . . . . . . . . . . . . . . . . . . . . . . . 163.1.3Efficient Stateful Firewall . . . . . . . . . . . . . . . . . . . . . . . . 173.1.4Efficient Stateless Firewall . . . . . . . . . . . . . . . . . . . . . . . . 19Deployment on Memphis Testbed . . . . . . . . . . . . . . . . . . . . . . . . 213.2.1Tests with single TCP packet . . . . . . . . . . . . . . . . . . . . . . 213.2.2Tests with Real world traffic . . . . . . . . . . . . . . . . . . . . . . 25

iiContents4 Summary31E Appendix33E.1 MAC address learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33E.2 No direct support for TCP flag based Match Rule . . . . . . . . . . . . . . 33E.3 Firewall Rules and Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34E.4 Commands for Mininet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34References35

1. Problem AnalysisThis chapter illustrates the technologies that are used in this IDP. Section 1.1 discussesthe concept and need for Software Defined Networking along with architectural diagram.In the next Section 1.2, OpenFlow protocol, message exchange types and Open vSwitchare explained. Ryu controller, its architecture & features are described in Section 1.3,whereas Section 1.4 demonstrates Firewall and its implementation strategy on Ryu.1.1Software Defined NetworkingSoftware Defined Networking (SDN) is a rising network architecture which splits the functions of networking devices into two groups, namely network control and forwarding; wherenetwork control is directly programmable. Earlier, these functions were tightly coupledwithin a device. But, since they are separated into two individual functions, they makenetwork a logical entity by abstracting the underlying complex architecture for upper layernetworking applications and services [1].SDN has risen from the failure of current networking technologies to meet current marketneeds [1],[2]. Static nature of a network fails to adapt network traffic and user demands thatare tremendously growing. Carriers and enterprises seek to deploy new capabilities andservices, however lack of standard and open interfaces between networking devices limittheir abilities. Although enterprises are encouraging cloud services, scaling of computingand networking resources has been a painful task yet to be solved. These issues put forwarda need of a new standard which should be capable of overcoming them; and hence, SoftwareDefined Networking has been introduced [3],[4].The architecture of Software Defined Networking, which is illustrated in Figure 1.1, consists of 3 major parts, namely Application Layer, Control Layer and underlying Infrastructure Layer. Unlike traditional network architecture where each device possesses a separatecontrol plane, in SDN architecture it is taken out and made centralized on a remote process (called controller) running at Control Layer. This remote process (controller) providesglobal view of the network. As a result, the applications and services running at Application Layer appear to be running on a single, logical network switch. Network carriers andcompanies face significantly less complexity in designing and operating a network sincethe Infrastructure Layer becomes vendor-independent with the introduction of SDN. Infrastructure Layer devices (for example: switches and routers which are also referred asforwarding devices) should be configured to understand instructions from SDN controllersonly. This makes the configuration process easy and fast.

21. Problem AnalysisFigure 1.1: Software Defined Networking: Architectural Diagram [1]Since the Control Layer has become programmable, Network Managers can easily configure the state of the network by writing some SDN programs [5]. These programs breakthe vendor specific software dependencies of the devices and make them self-contained.In addition to network abstraction, common network services like routing, multicasting,security, load balancing etc. can also be implemented on SDN architecture to achieve business objectives [6]. These advantages and features make SDN right candidate to overcomecurrent network problems and establish a new norm of Networking. and Open vSwitchIntroduction to OpenFlowOpenFlow Protocol(OFP) is the first, industry-specified, standardized SDN protocol whichdefines a way for the controller to communicate with switches. The purpose behind it isto provide standardized specification for communication interfaces of Control and Infrastructure Layer devices. It allows manipulation of the data stored on forwarding devices torefine policy-based decision for packet forwarding [7].OpenFlow is implemented on both ends of communication: On SDN controller and onforwarding devices. With OpenFlow, each forwarding device can export their networkinterfaces to the controller which will manage their forwarding states. The managed statesare segregated into Flow Tables on such devices, which are nothing but set of packet headerfields and associated actions. Some examples of these set of fields are standard Ethernet,IP and transport protocol fields which are roughly equivalent to the fields used in ASICmatch. The actions associated with these fields are basically common packet operationslike sending a packet to some ports or modifying protocol fields [8]. OpenFlow has beenconsistently revising under various versions and in this IDP, OpenFlow version 1.3 is used.Deploying OFP-enabled SDN on physical (and virtual) networks is thought to be an easyprocess for an enterprise to gradually introduce SDN on the existing network infrastructure.This is because OFP enabled switches can forward packets based on matching rules as wellas in traditional manner. Even in multi-vendor network infrastructure, carriers can easilydeploy it ignoring vendor dependencies. According to the, OpenFlowprotocol is currently the only standardized SDN protocol that allows direct manipulation of

1.2. OpenFlow and Open vSwitch3the forwarding plane of network devices, which makes it a key enabler for software-definednetworks [1].1.2.2OpenFlow Events and MessagesThe OpenFlow protocol implementation is done between two devices by exchanging seriesof OpenFlow negotiation messages. It supports three message types, namely controllerto-switch, asynchronous, and symmetric; each with multiple sub-types. Controller-toswitch messages are sent by the controller to directly manage the state of the switch.Asynchronous messages are sent by the switch in order to notify the controller aboutnetwork events and changes made to the switch state. Symmetric messages are sent byeither the switch or the controller to one another without prior request. Messages aresummarized in Table 1.1 [9].TypeSymmetricController SwitchMessageDescriptionHelloEchoFeature RequestSet ConfigurationVersion Numbers are negotiatedSent to detect liveliness of each otherDetermine which switch ports are availableController asks switch to inform about FlowTable entry expirationsIt tells switch to send packets out of specificport. It is also used to forward packetsreceived via Packet In messagesTransfer control of the packet to controllerInform controller about a change on a portPacket OutPacket InPort StatusAsynchronousTable 1.1: OpenFlow protocol: Messages Types1.2.3Open vSwitchAccording to, Open vSwitch (OVS) is an open source software switch designed tobe used as a “virtual switch“ in virtualized server environments. The goal of OVS is toimplement a switching platform that enables standard, vendor-independent managementinterfaces and opens the forwarding functions of switches to programmatic extension andcontrol [10]. It supports all versions of OpenFlow protocol. Using ovs-ofctl tool, anydesired OpenFlow version can be implemented on a physical switch.Simply, Open vSwitch is a “software switch“ which implements OpenFlow protocol onswitching hardwares [11]. It manages the Flow Tables for the Datapaths which are usedfor forwarding the incoming traffic according to matched entries. The structure of FlowTable entries is explained in the Table 1.2.Match le 1.2: Flow Table Entry structure Match Fields: will be matched against incoming packets. It includes packet headerand input port Priority: matching priority for this Flow Table entry

41. Problem Analysis Counters: number of received packets matching this rule Instructions: Used to modify the action to be applied on the packet Timeout: The number of seconds this Flow Table entry lives in the Table Cookie: Opaque value chosen by controller. Not used while processing a packet.Used by controllerFigure 1.2 shows the example of entries within a Flow Table.Figure 1.2: Flow Table Entries [9] [12] is a component-based SDN framework which delivers a suitable platform for SDNapplications to run on the top of Ryu controller. It is an open source tool written in Pythonthat provides well-defined APIs & packet libraries and supports all versions of OFP. It iswell tested with various OpenFlow switches and suits well on Open vSwitch which is usedin this IDP. Ryu has a powerful but complex architecture. However, its active communitysupport, nice documentation and few exemplary applications provide novice developersa room to understand and get adapted to the environment easily. There are numerouscontrollers that deliver SDN capabilities, but choosing the best of them is confusing forthe developers. As a research was carried out with number of controllers, Ryu has beenselected as the best controller choice for SDN environment [6].The following Figure 1.3 depicts the role and features of Ryu SDN framework [13].1.3.2Ryu ArchitectureRYU has ‘Event-based‘ architecture. As shown in Figure 1.4, it uses ‘Event Dispatcher‘ forgenerating and handling events from incoming OFP messages [13]. The controller worksas an event source. Explanation about the architecture in a stepwise manner can be foundbelow:

1.3. Ryu5Figure 1.3: Ryu SDN framework1. Ryu manages two threads for sending and receiving the packets to and from theswitch. Upon receiving a packet, controller’s Receive Thread stores the packet in areceiving queue. This packet is nothing but only raw bytes and yet to be parsed inorder to understand the OFP message that it has carried. To understand the OFPmessage, controller calls an OFP parser (parser file: ofproto v1 N whereN is the protocol version negotiated with the switch upon connection).2. OFP Parser will generate appropriate OFP event by parsing the packet and labelsit as ‘OFPxxx‘. As for example, a ‘Packet In‘ event becomes ‘OFPPacketIn‘ event[14].Figure 1.4: Ryu architecture: Structural Diagram3. On the other hand, RYU applications that are running on the top of RYU framework,maintain queue of events. Applications register event handlers dynamically accordingto their specification to the Event Dispatcher. It simply means that RYU applicationsare waiting for necessary events to occur in order to start execution.4. At this stage, Event Dispatcher plays an important role. It decouples Event source(which is RYU controller) and Event sinks (which is RYU App). Event source willcall the methods of Event Dispatcher to construct event objects (from OFPxxx to

61. Problem AnalysisEventOFPxxx. [Figure 1.5]). Event dispatcher knows to which RYU app it has todispatch an event [13].Figure 1.5: Conversion of an OFPxxx event into EventOFPxxx5. These events are dispatched to event queues of RYU Apps. As shown in Figure 1.6,each RYU App runs a thread over the event queue to consume the events. Only oneinstance of RYU app can run at a moment [14].Figure 1.6: Dispatching the event to Event Sink1.4Firewall on SDN ControllerFirewalls are the systems which control the incoming and outgoing packets to and from theinner network. They provide security barrier against potential attacks coming from theInternet that can disrupt the services running in the inner network. Firewalls are dividedinto 2 types: Stateful Firewall and Stateless Firewall. In Stateful Firewall, the connectionis tracked by the Firewall and the packets part of the tracked connection, are allowed topass by. Stateful Firewall uses attributes in order to track the traversing packets. Theseattributes include the source and destination IP addresses, port numbers and sequencenumbers which are also known as state of the connection. In our Ryu application, we willuse a Python dictionary to implement connection tracking mechanism of Stateful Firewall.In contrast, Stateless Firewall checks all incoming packets individually with the ruleset. Itdoes not track connections nor keeps state of the traversed packets, rather simply checkeach packet with Firewall rules and identifies whether the packet is allowed to pass by ornot. It assumes that the information within a packet is trustworthy. Hence, one possiblebreach could be: a TCP SYN-ACK packet can be passed by the Firewall before theFirewall has seen a TCP SYN packet. With the Stateful Firewall case, such a packet willbe discarded by the Firewall itself as there is no state information found for the packet.The goal of this IDP is to implement both types of Firewall applications with real-worldFirewall rules on SDN architecture and analyse the performance of the controller & theapplications with incoming traffic.

2. Design and ImplementationIn section 2.1, general structural design of a Ryu application is presented by means ofa Flow-Chart. It also features security limitation of the applications that are developedusing the proposed design. The next section 2.2 covers description about all 4 types ofFirewall applications developed for the purpose of the IDP. It also explains design of thoseapplications in a Flow-Chart manner and compares Inefficient and Efficient applicationsin greater details.2.1Ryu Application - General Template DesignRyu applications can be run via command-line tool called ryu-manager. We developedour Ryu applications to run under OFP version 1.3, hence, connecting switch must usesame protocol version in order to communicate with the controller. Firewall rules arewritten down in a text file which will be taken as an input by Ryu application. Whenthe application starts running, it maps these rules into Python dictionary keys, which willbe used later for packet inspection. As soon as switch connects with the controller, Ryuapplication will flush out all existing Flow Table entries from switch and installs a DefaultMiss Flow entry. Using Default-Miss Flow entry, switch will forward all incoming hosttraffic to the controller where packets will be inspected. Figure 2.1 shows the structuraldiagram of Ryu application.The applications do not include following security features:(1) ARP security: Applications are designed to work at Layer 3 or above. Hence, Layer 2security considerations are not taken into account while designing the applications. Thiscan make ARP spoofing attacks successful.(2) Link layer security: Applications can learn the MAC address of a host from its association with a switch port. However, applications can not verify the associated MACaddress; hence, a spoofed MAC address attack can be successful. More information aboutthe design can be found in E.1.(3) With Stateful Firewall applications, torn down connection can not automatically remove the ’tracked’ state from the application. Hence, A TCP FIN packet does not triggerdeletion of the Firewall’s state.

82. Design and ImplementationFigure 2.1: Flow-Chart: general template design of a Ryu application

2.2. Firewall Implementation as Ryu Applications2.29Firewall Implementation as Ryu ApplicationsUsing a template from previous section, four Ryu applications are developed to measureperformance of Stateful and Stateless Firewall in SDN environment. They are listed below. Inefficient Stateful Firewall application Efficient Stateful Firewall application Inefficient Stateless Firewall application Efficient Stateless Firewall applicationMain difference between these Firewall applications lies within how they inspect incomingpackets and how they speed up packet processing by using Flow Tables. Table 2.1 comparesEfficient and Inefficient Firewall application in general with various parameters.Inefficient FirewallEfficient FirewallTerminologySwitch forwards all receivedpackets to controller. Noextensive use of OFP Flowtables.Connection Trackingcapabilities withStateful FirewallWhich packets of aconnection are seenon controller?How to handle them?YesSwitch forwards only initialpackets of the connection tothe controller. Afterwards,it will use Flow table entriesto forward/drop packetswithout asking controller.YesICMP all PINGs & PONGsTCP all segmentsUDP all datagramsICMP First PING & PONGTCP SYN & SYN-ACK onlyUDP First 2 datagramsSimply inspect each packetindividually against Firewallpolicies. If a policy allows thepacket then inform switch toforward it, otherwise drop it.Flow Table rules tobe added per flowEfficiencyPotential ConnectionTracking AccuracyNoneCheck connection initiationand response packets againstFirewall policies on controller.Add one Flow Table entryper inspection on switch toallow/deny further trafficfrom the host.OneLess100% accurateMorecan approximate after handshakeTable 2.1: Comparison between Inefficient and Efficient Firewall

102.2.12. Design and ImplementationInefficient Stateful Firewall ApplicationAs per terminology, Inefficient Stateful Firewall application makes switch forward all incoming traffic to the controller. It does not store any Flow Table entry on switch thatspeeds up packet processing. When first packet of an unseen flow is received by the controller, the application checks it against Firewall rules and creates new state informationfor that flow. This information will be used later when subsequent reply-packet from destination host shows up at the controller. The application tracks down the reply-packetwith the stored information and learns about newly established connection. Figure 2.2explains the mechanism of Inefficient Stateful Firewall application in detail.Figure 2.2: Flow-Chart: Infficient Stateful Firewall application

2.2. Firewall Implementation as Ryu Applications2.2.211Efficient Stateful Firewall ApplicationUnlike its Inefficient counterpart, here switch will forward only first few packets of a newflow to the controller. Upon receipt of such packets, Firewall application will decodethem, prepare some Flow Table entries according to the Firewall policies and finally addthem upon switch’s Flow Table. This way, Efficient Stateful Firewall application willtake the advantage of OpenFlow’s capability to set Flow Table entries for fast packetprocessing. After that, switch will check incoming packets with the Flow Table entries.Once a matching entry is found, switch will take out necessary action associated withit rather than forwarding the packet to the controller. However, packets which are notmatched with any Flow Table entries are simply forwarded to the controller. Flow Tableactions can be forwarding or dropping depending upon firewall policies.Figure 2.3: Flow-Chart: Stateful Efficient Firewall application

122.2.32. Design and ImplementationInefficient Stateless Firewall ApplicationCompared to 2.2.1 case, Inefficient Stateless Firewall application does not manage anystate information for packet flows. It does not use any connection-tracking feature totrack down ongoing connections; rather simply checks each packet individually against theFirewall rules and takes out necessary action associated with a rule on the packet. As thename suggests, the application will not store any Flow Table entry on switch either, whichmakes it inefficient in terms of packet inspection.(a) Inefficient Stateless Firewall application(b) Efficient Stateless Firewall applicationFigure 2.4: Flow-Charts of Stateless Firewall applications2.2.4Efficient Stateless Firewall ApplicationSimilar to 2.2.2, Efficient Stateless Firewall application also stores Flow Table entrieson switches to reduce bandwidth consumption of controller-switch link and to speed uppacket-processing. It also does not keep any state information to track down ongoingconnections. It can be seen from details of Flowchart 2.4b that Packet inspection of theapplication is very similar to the one with 2.4a except the Flow Table rule addition foreach inspected packet.Application code are uploaded to and can be found via [15].

3. Results and EvaluationsThis section explains different tests that are conducted with the designed Firewall applications on local machine and Memphis Testbed. General network tools like Ping and Netcatare used for the tests. Section 3.1 enhances the testing on local system in more details.Next section 3.2 encompasses details about Memphis Testbed, its topology designs andtesting results.3.1Testing on Local MachineIn order to determine correct behavior, the applications are tested with Mininet [16] onlocal machine. Mininet is a command-line tool that creates a virtual network with controllers, switches & hosts and runs applications on the top of controllers to simulate Software Defined Networking environment. Virtual image file consisting Ryu controller withMininet tool can be downloaded from [17]. Figure 3.1 shows network topology used forlocal testing.Figure 3.1: Mininet Topology for Local TestingFollowing Fig. 3.2 depicts how switch can be connected with a controller in Mininet environment. On the controller, Ryu application code is given as argument to ryu-managercommand. Correct OpenFlow version can be provided by ovs-vsctl command whereas,ovs-ofctl command is used to list out Flow Table entries of the switch. More details aboutthe commands can be found in Appendix E.4.

143. Results and EvaluationsFigure 3.2: Console outputs after starting applicationIn this IDP, default policy for the Firewall is set to deny-all. This means all packetsnot matching Firewall rules, will be dropped by the Firewall. For local tests, followingFirewall policies are considered. Motivation behind such design of policies is to coverall functionalities of Firewall applications; e.g., pinging policy covers ICMP functionality,TCP policy covers Stateful & Stateless functionality and datagram policy covers UDPfunctionality of the applications. In this way, these policies will be used to test correctnessof the four Firewall applications.1. Host 1 can ping Host 2 & Host 3 but they can not ping it back.2. Only Host 1 can initiate TCP connection to port 8080 on Host 2 & Host 3 using1000 as source port.3. Host 2 & Host 3 can establish TCP connection with each other only on port 1000.4. Host 1 can send datagrams to port 8080 of Host 2 & Host 3 through port 1000.Following subsections represent local tests that are conducted with each of the applications.3.1.1Inefficient Stateful FirewallPing Test: Ping Test is carried out by sending ICMP Echo Request packets from Host 1to Host 2. Upon receipt of such packets, switch forwards them directly to the controller.It can be seen from controller’s screen that application checks the request with FirewallPolicy to take out necessary actions. Since Policy 1 permits this, application creates newstates corresponding to the packet and forwards it to Host 2 via switch. When Host 2 sendsthe response message, it should also be allowed by the controller. Here, the applicationtracks down the response via managed states and allows it to pass through Firewall. Figure3.3 shows the results of successful ping test with Host 1. The application also behavedcorrectly when Host 2 tried to ping Host 1. (which is not allowed by the Firewall.)

3.1. Testing on Local Machine15Figure 3.3: Console outputs for Ping TestTCP Test: When Host 1 first sends TCP SYN packet, Firewall application checks thisnew connection initiation request with the Firewall Policy. Since Policy 2 allows the portcombination, it would send out the packet to Host 2 and create a new TCP state totrack down other packets of the flow coming from this direction. Host 2, upon gettingSYN packet, prepares SYN ACK packet and sends to Host 1 which will be forwarded tocontroller by the switch. Application will track down this SYN ACK response as it is partof the previously created connection state and also creates a new state to track all packetsof the flow coming from this direction to get passed through. This way, packets comingfrom both directions will be tracked down further and hence, the TCP handshake will getcompleted successfully. Other tests were also carried out in order to see correctness of theapplication with different port combinations and with different connection initiators (bothof which should be denied). The result of such tests are shown in Figure 3.4.Figure 3.4: Console outputs for TCP TestUDP Test: Packet inspection in UDP Test is exactly same as TCP Test. Application willcreate new state information when datagram with appropriate port combination is receivedfrom Host 1 and forwards it to Host 2 via switch. Subsequent datagram from Host 2 willbe tracked down using state information and sent to Host 1. Main difference of UDPhandling compared to TCP handling is: UDP is a connection-less protocol. Unlike TCP,tracking down one entire session is not possible because it lacks handshake mechanism.Hence, application will keep track of one Round Trip of UDP datagram exchange. So,

163. Results and Evaluationswhen Host 1 sent datagram, application will keep state as 0 UNREPLIED0 and change itto 0 ASSURED0 once Host 2 replies back. Results of UDP Test are shown in Figure 3.5.Figure 3.5: Console outputs for UDP Test3.1.2Inefficient Stateless FirewallPing Test: Unlike previous Test, application simp

Firewall which protects our network from potential threats. As SDN is getting pace in replacing traditional architecture, it would be very interesting to see how much security features can be provided by OpenFlow-enabled switches. Hence, it will be very important . It is an open source tool written in Python .