Can SDN controller based NSCs help improve user experience of online games? Capstone Research Paper April 30, 2015 Faculty Advisor: Mark Dehus Professor University of Colorado Boulder Shrinidhi Bhat Gauri Kanitkar Pavithra Kannan Sandeep Nair Interdisciplinary Telecom Program University of Colorado Boulder Industry Advisor: Scott Hogg CTO Global Technology Resource Inc. week. Out of these respondents, 68% of online gamers play every day [Fig1][2]. Abstract - Latency is an important aspect that affects online gaming traffic. According to a survey that we conducted, 71% of gamers claimed that their gaming experience is affected by latency issues. One way of mitigating latency is by changing the way traffic is prioritized in data centers. In our research, we have implemented Software Defined Networking (SDN) based network service chaining (NSC) on VMware platform. We have built a virtualized service chain that can be deployed in any data center architecture in order to improve the latency issues faced by online gamers. This NSC improves uptime of gaming servers by securing them against SYN flood Denial of Service (DoS) and Distributed Denial of Service (DDoS) attacks using a Python code. Our innovation lies in successfully implementing an OpenDayLight (ODL) SDN controller to manage an Open vSwitch (OVS) installed on a Virtual Machine (VM) and dynamically adding flows to allow and deny traffic. We have also proposed two Peer-to-Peer (P2P) architectures that would help reduce latency and enhance user gaming experience. Thus, through our research we have innovatively implemented an SDN based secured NSC on a VMware platform and proposed new P2P gaming architectures as a solution to improvise how gaming traffic is served in data centers. Fig. 1. Frequency at which online games are played [Survey Result] [2] Keywords - SDN; ODL; OVS; latency I. INTRODUCTION 77% of respondents invest more than an hour in a gaming session [Fig2][2]. These statistics reiterate the fact that the online gaming industry has a very high demand. This makes it essential that user experience for online games is should be improved in order that this industry keeps at par with its increasing requirement for high quality. A. Statement of the Problem Online gaming is a popular form of entertainment. The online gaming industry has grown steadily over the past decade [1]. According to an online survey that we conducted, 52% of respondents play online games multiple times a 1 concentrated on prioritizing the service of gaming traffic entering into a data center over any other type of traffic. We have built a Network Service Chain by chaining different network elements. The service chain that we have built is fully virtualized and is implemented on a VMware ESXi 5.5 hypervisor [3] [Fig5]. We have separated management and data traffic flowing through the inherent VMware vDistributed Switch (vDS). We have configured our virtual network such that the OVS switches the data traffic flowing through the VMware hypervisor while vDS switches the management traffic. The service chain consists of different network components like a data center entry point router, a data scrubber that sniffs traffic, an Open vSwitch 2.3.1, an SDN controller (OpenDayLight – Helium), and content distribution servers. These network functions are implemented on separate virtual machines that are configured to form a network service chain. The traffic from the entry point router is port mirrored into the data scrubber and the OVS. The scrubber then sniffs packets to identify latency sensitive traffic and provides XML input to ODL which is used to create flows. ODL pushes flows tagged as high priority into the OVS. OVS plays the most important role in switching the traffic such that latency sensitive traffic gets the highest priority. Thus, through our research we have innovatively implemented an SDN based network service chain on a VMware platform as a solution to improve the way latency sensitive traffic is serviced in a data center. We have stated the results of the same in section IV. Fig. 2. Length of online gaming sessions [Survey Result] [2] User experience of online games depends upon a number of factors. Some of the major factors are latency, blurry graphics, session loss, and bandwidth congestion. Our survey revealed that 71% of respondents believed that their user experience suffered due to latency issues [Fig3][2]. Online gaming traffic is extremely sensitive to latency. For example, in a First Person Shooter [FPS] game, if there is lag between a gamer shooting a bullet at his/her target, the bullet might reach its target after the target has moved. This would drastically affect user gaming experience. Another critical problem that can mar user gaming experience is downtime of gaming servers. A data center hosting gaming servers can face downtime caused due to DoS or DDoS attacks. Through our NSC, we have also built a mechanism to block SYN flood DoS and DDoS attempts directed to internal servers thereby guaranteeing a prolonged uptime and enhanced user experience. SYN flood DoS attack affects hosts that are running TCP server processes [4]. The SYN flood method exploits the state retention feature of TCP after a SYN packet has been received on a port that has been put into LISTEN state [4]. In our research, we have also conducted a qualitative analysis to propose a peer-to-peer (P2P) gaming architecture. As per our survey results, 56% respondents prefer to play online games with friends [Fig4][2]. Therefore, in this research paper, we propose a P2P gaming architecture for gamers who wish to play with known contenders within vicinity and a cloud based P2P server model for known contenders who are located in remote locations. This gaming model aims at improving the gaming experience of its participants by building a P2P tunnel between two or more known gamers. Fig. 3. Issues faced by gamers while playing online games [Survey Result] [2] B. Research Question It is necessary to mitigate the latency observed for gaming traffic in order to enhance user gaming experience. In our research, we have defined our scope to mitigate latency for gaming traffic once it enters a data center environment where gaming servers are located. Different types of traffic enter into data centers depending on the content that is hosted on the servers. In our research, we have 2 used) and created flows on ODL controller to allocate priority for gaming traffic. Many companies are providing virtual services like Amazon’s EC2 [8], S3 [9], Route 53 [10] and Microsoft’s Azure [11]. These services can be expanded or reduced as per the user’s requirement. This ensures optimum usage of network resources. Microsoft Azure’s white paper explains the implementation of network security by customer infrastructure isolation [11]. Network security is accomplished in Azure using a distributed virtual firewall [11]. Our research aims at achieving network security by mitigating SYN flood based DoS and DDoS attacks. A python code on the scrubber checks the packets for SYN flood based DoS and DDoS attacks and mitigates it by creating a flow with implicit deny for such packets in the controller. Fig. 4. User choice for who they like to play online games with [Survey Result] [2] In this research paper, section II summarizes the literature review that we conducted for this research. In section III, we define the research methodology that was adopted during this research; section IV and V states the results and conclusions drawn from performance analysis tests of the NSC that we built. Section VI concludes and describes ideas for future research. II. Massive networks are often adversely affected by DoS and DDoS attacks. Security issues associated with SDN networks is identified in [12]. SDN networks are more flexible but with flexibility comes vulnerability. Some of the vulnerabilities for SDN controllers include intrusion and Distributed Denial of Service (DDoS) attacks [12]. This paper also suggests various techniques to identify and mitigate these attacks. The mitigation measures suggested include machine learning techniques such as Neural Networks, Bayesian Network, Support Vector Machine, Genetic Algorithm and Fuzzy Logic. In our research, we have implemented SYN flood based DoS and DDoS mitigation using a python code. The code is used for detection of TCP SYN packets received above a certain threshold value within a particular time interval. These packets are dropped by the OVS via a deny flow. Thus, DoS and DDoS attacks are detected and no traffic is allowed to flow through the network. LITERATURE REVIEW Packet prioritization is an important parameter which needs to be considered for gaming networks. Delay in gaming traffic affects the user’s gaming experience. A relation between game-playing time and network QoS is explained in [5]. The existing state of the art for addressing this problem is explained briefly in [6]. It uses a combination of statistical multiplexing and QoS is used to aggregate multiple flows and prioritize the bundle [6]. Resource reservation is performed for this aggregate [6]. In our research, we have prioritized the packets depending upon flow priority. We have created a single flow on the ODL for similar type of packets. A single flow for the aggregate makes prioritization easier and less time consuming. Latency issues are of high concern in online games which use client-server architecture. It can be reduced using peer-to-peer communication. A process known as UDP hole punching is explained in [13]. Using UDP hole punching, a peer-to-peer tunnel is set up between multiple users avoiding further communication with centralized server [13]. The process of UDP hole punching is related to section 5.1 of RFC 3027 [14]. In this process, the users register to a centralized server using connect messages. The server then shares the IP address and port number of a user to all the other peers. Thus, users can form a peer-to-peer tunnel based on this information thus eliminating the need of centralized server for further communication. In our research, we propose using a SDN controller which gathers this information and helps in the formation of a peer-to-peer tunnel. Virtualization of network devices has changed the perception of network design and implementation. The current state of art is explained briefly in [7]. The paper introduces the concept of “Hypernet gaming” which is a term coined for games that run on dynamically deployed SDN game servers [7]. These game servers are optimally deployed depending on the requirement of gaming servers. The requirements mentioned are the number of gamers simultaneously connected to the gaming server and also, the graphics of the game being played [7]. Dynamically deploying game servers reduces latency. In our research, we are reducing delay in online gaming by using an SDN-based network architecture. We have sniffed gaming traffic from online multiplayer games to analyze their packets (ports All client-server architectures involve high latency as compared to direct client-client communication. The paper, “Peer-to-peer support for low-latency Massively 3 Multiplayer Online Games in the cloud”, proposes the use of cloud server in order to distribute the functionality of the gaming servers and avoid the client-server model [15]. The cloud center can act as a distributed gaming server and serve the gaming requests. This can reduce the RTT for the gaming traffic. To achieve peer-to-peer based Massively Multiplayer online games, the list of factors to be taken care of is discussed in [16]. It explains the need to distribute the gaming data on multiple gamer’s devices keeping the game consistent. In our qualitative analysis, we also propose the importance of these requirements for setting up a P2P tunnel for online gaming. III. OVS and the Server [Fig6][2]. On ‘Clients’ portgroup of the same, we have Client and Router; and on ‘InternalPortgroup1’ portgroup we have Router, OVS and Data Scrubber [Fig6][2]. RESEARCH METHODOLOGY A. Reducing latency through QoS In order that online gaming traffic suffers minimal latency, we have implemented an NSC on a VMware based platform. We have used VMware ESXi 5.5 as the hypervisor and VMware vSphere 5 for management purposes. The service chain consists of the following components [Fig5] – i. Client VM (Windows 8.1) ii. Server VM (Windows 8.1) iii. VM acting as router (running CentOS minimal) iv. Open vSwitch 2.3.1 on VM running CentOS minimal v. OpenDayLight Helium vi. VM acting as data scrubber (running CentOS minimal) Fig. 6. Virtualized Network Diagram The router is the entry point of the virtualized data center. We have implemented routing capability on the router by enabling IP forwarding. A Windows 8.1 machine acting as client is connected to the router. For our research, we have implemented the client VM on the virtual environment. In the real world, these clients would lie in the publicly routable world and will be routed to the data center via the internet. In order to emulate real world in our proof of concept, we have implemented NAT on the router VM. The client, therefore, has a private IP that can reach the data center by first getting a new (publically routable) IP with the help of the NAT functionality on the router. In order to play online games, users need to connect to a gaming server in their vicinity. Thus, they need to form a TCP connection with that gaming server. Different games use different ports for this purpose [17]. Thus, when a client (user) tries to connect to a gaming server in the data center, it is actually forming a TCP session with the gaming server. In our research, we analyzed the packets for the online game World of Warcraft (WOW) [18]. WOW uses port 1119 for TCP connections with its users [17]. Thus, gaming traffic can be identified by the destination port specified in the traffic frame. Similarly, a user might be accessing other data in the data center; for example, a social networking site. As the data center serves traffic in a random manner, latency sensitive traffic like gaming traffic is not given priority. In our research, we have deduced that if traffic destined towards the gaming server is prioritized over other types of traffic, like the HTTP traffic, then the latency experienced by gamers can be reduced. Fig. 5. VMware based NSC As shown in figure 6, we have implemented our architecture on the vDS of VMware vSphere. We constructed two vDS – the first one, vDS1, has uplinks connected to the actual physical Network Interface Card [NIC] and the other vDS, vDSInternal, has no uplinks specified [Fig6]. Thus, the second vDS is an ‘internal’ switch. We used an SDN controller – ODL and an OVS to give priority to gaming traffic entering a data center. In our implementation, we installed the OVS on a VM on the VMware ESXi hypervisor. In order to achieve traffic chaining, we separated data traffic and management traffic such that the data traffic was switched via the OVS while the management traffic was switched through the vDs. We built The vDS1 has the following VMs connected to its ‘Production’ portgroup – Router, ODL Helium, OVS, and Data Scrubber [Fig6][2]. The vDSInternal has the following VMs connected to the ‘InternalPortgroup2’ portgroup – 4 two bridges on the OVS and attached one Ethernet interface of the OVS VM to each bridge. After establishing the virtual network, we inserted flows into the OVS that gives priority to gaming traffic. These flows are inserted by the ODL after being inspected by the Python code on the data scrubber VM. The flows inserted on OVS are present on Github [19]. Data scrubber receives all the packets that are coming into the network. We have also connected the data scrubber to the ODL controller. Two python programs run in the background on Data Scrubber: We gave a higher priority to TCP traffic destined towards gaming port 1119 (WOW traffic) over the TCP traffic destined towards port 80 (HTTP traffic). We conducted experiments to test this setup and noted the results in section IV. 1. Code to install (Program1) flows into ODL controller 2. Code to detect SYN Flood based DoS and DDoS attacks. Delete the respective flows from ODL controller which would have allowed the packets belonging to DDoS attacks to the concerned server. Create a deny flow on OVS by ODL (Program2). B. Mitigating SYN Flood DoS and DDoS protection We ran program 1 continuously in the background on Data Scrubber to match the incoming packets to unique combination of [destination IP, destination port] so as to create flows on the ODL for the servers that are located within the Datacenter. These unique combinations are created based on a file received from OVS which has server to open port mappings. We have an HTTP server [X.X.X.X IP, 80 port] and Gaming server in the Datacenter [Y.Y.Y.Y IP, 1119 port]. Therefore, we have checked for these two combinations in the Python code using the sniff function provided by SCAPY module and two flows were created for these two combinations. We have not considered source IP and Source port when we create flows on ODL because it decreases the number of flows required to allow traffic through to the server. We have used SCAPY module of Python to capture incoming packets with these two combinations. SCAPY is an Open Source network programming language and is based on Python [20]. Other packet capture tools that could have been used are TCPDUMP and Wireshark. We used SCAPY, because it provided us objects with which we can work to make “if else” decisions in lesser lines of code. For example “a=sniff (function)” stored the packets that were caught within the object “a”. “a.sprintf” function was then used to make “if else” decisions. Here “sniff” and “sprint” are functions within the SCAPY module. Servers hosted inside data centers are vulnerable to DoS and DDoS attacks. This reduces the uptime for the services hosted on these servers. To mitigate this issue, we have implemented an ODL SDN Controller in our Data Center which allows legitimate traffic through the OVS and detects SYN flood based DoS and DDoS attacks. We have installed flows on ODL with respect to OVS in order to allow traffic through to servers within the data center. Flows are installed from Data Scrubber VM on Helium ODL using the REST API provided by Helium ODL. We have created flows which are uniquely identified using a combination of destination IP and destination port. A Python code is run in the form of a cron job, every ten minutes, on the OVS VM which detects the open ports on different internal servers using the nmap utility in linux. It creates a file which contains mapping of the server to its open ports and compares it to the file created ten minutes ago. If there was a change in the file it means that new ports have been opened or closed on servers or servers have been added or removed from the internal network. According to this information, the filter for sniffing traffic is adjusted, so that if a packet is received for any open port on any of the internal servers, a flow can be created by ODL on OVS for this packet to be allowed through to the server. Hence, the flow creation is dynamic in nature. The code for sniffing traffic and creating flows is explained in a later section. For http and gaming packets, we created XML files with hard coded values, which were: URN, flow-id, table-id, priority, Hard-timeout, idle-timeout, and ipv4-destination. These XML files denote flows that have been created on the ODL controller. The code passes the XML files as input to the CURL command which inserts flows into ODL controller [Fig7]. This was done only for the first packet that we received for a unique combination of destination port and destination IP. The subsequent packets for this combination does not create a flow on the ODL controller. This was achieved by doing a wget to the ODL controller to obtain the existing flows and compare the incoming packets to check if a flow already exists or needs to be created. We have also monitored incoming traffic to servers for preventing any SYN Flood based DoS and DDoS attacks on servers. We have done this by removing the existing flow on ODL controller to the server which would be under SYN Flood based DDoS attack. If a SYN flood based DoS attack is detected then a deny flow is installed on the OVS by ODL. Since the flows allowing traffic to the servers are identified by a unique combination of destination port and destination IP, the servers can be protected from SYN Flood based DDoS by removing the flow which allows traffic to the server. The servers can be protected from SYN flood based DoS attack by creating a deny policy with source IP as the IP address of the client which is detected to have performed the SYN flood based DoS attack. 5 C. Reducing latency through P2P architecture In order to improve online gaming user experience, we performed qualitative analysis of different network architectures that can reduce latency. Identifying which type of gaming architecture is useful to a user depends upon several parameters such as which type of online game does the user play, whom does the user like to play it with, and how geographically apart are the users located. Moreover, modification to the gaming architecture requires compatibility with user’s gaming device’s hardware specifications and the availability of internet resources. Hence, it is important to know the device’s CPU and memory specifications, the user’s internet speed and the availability of a graphics card. In order to identify the current trend of games played and the existing hardware possessed with the users, we conducted an online survey targeted towards online gamers. We used “SurveyMonkey” for creating the survey. The survey was published on social media websites such as Facebook (Gaming groups) and Twitter (Gaming league pages). After analyzing the survey results and based on the research on P2P architectures, we proposed two types of gaming architectures for decreasing latency. They are hole punching and peer-to-peer in cloud. Fig. 7. DoS and DDoS SYN flood mitigation SYN flood based DoS and DDoS attacks can cause loss of income and damage of reputation for companies hosting services on servers. We have used Ostinato tool to generate a SYN flood based DoS and DDoS attack. It is an open source packet generator tool. We generated a SYN flood DoS attack pattern, by generating 500 SYN packets from a client VM destined for server VM on port 80. We generated a SYN flood DDoS attack pattern, by generating 1000 SYN packets simultaneously from two client VMs destined for the same server on port 80. We have used a separate Python program (program 2) running in the background to catch any SYN Flood based DoS and DDoS attacks. The program catches these attacks for all (IP, port) combinations that exist within our internal server network. The sniff function of SCAPY module had a count of 500 packets for the unique combination of destination IP and destination port coming from a unique source IP for detecting SYN flood based DoS attack. For detecting a SYN flood based DDoS attack, SCAPY module had a count of 2000 packets for the unique combination of destination IP and destination port. We used an arbitrary count for triggering a situation which suggested a SYN flood DoS and DDoS attack. The python code ran only for a specific time period which can be set according to the definition of SYN Flood DoS and DDoS attack that we are considering. For example, if a DoS SYN flood attack is defined by 500 SYN packets per second to a particular server, then the python code will run for every one second and the threshold count will be 500 in the sniff function. If a DoS attack occurs with rate greater than 500 SYN packets per second then the python code will capture it and create a deny flow for this [destination IP, destination port, source IP] combination on ODL controller. This flow will then be pushed to the OVS. Similarly, to mitigate SYN flood DDoS attack, if 2000 SYN packets arrive per second for a particular combination of [destination IP, destination port] then the existing flow for this combination will be deleted from OVS so that no traffic is allowed through to the server. As a result, a SYN flood DoS and DDoS attack will be mitigated and would protect the server from being compromised thus maintaining the server uptime. Before hole punching, the user requests for playing online game starts with a connect message to the gaming server. Through this connect message, the gaming server collects information about public IP address and port number of the users. The gaming server can forward this information to the SDN controller to analyze the user details and accordingly insert flows on the user’s NAT router to punch a hole and form a peer-to-peer tunnel between the users public IP address. After hole punching, the user request will be forwarded directly to the peer, thereby reducing latency. This approach is beneficial when the users are in close vicinity. In client-server model, the entire game is accessed from a distant server. In cases where the users are far from each other, accessing information from a single distant server can lead to latency issues in online gaming. In order to overcome these delay issues, based on our qualitative analysis we suggest implementing a peer-to-peer in cloud architecture as described in [2]. The user requests for the game can be forwarded to the centralized game server. The centralized game server can provide input to the analysis engine which will determine the need of the peer-to-peer in cloud architecture. This analysis engine will then provide the details of the user to the SDN controller. The SDN controller will then locate the nearest cloud server for the user and insert flows in the cloud server to build P2P tunnel. Thus, the cloud servers can form P2P tunnel between themselves to exchange data. As per our qualitative analysis, the user device in P2P gaming architecture needs to support consistency of data 6 among users which requires CPU intensive operations. As there is no centralized gaming server to do this, the user device should have faster and better CPU processors and RAM memory to share the load [17]. In order to achieve scalability in P2P architecture, the users need to send update messages to each other [17]. Having P2P tunnels and cloud servers that are closer to the user can reduce the latency in sending these updates. IV. multiplayer games as opposed to single player game [Fig4][2]. About 56% of the respondents enjoy playing games with friends in vicinity and around 48% of them enjoy playing with friends in different geographic locations [Fig4][2]. Thus, we have a high number of respondents who would appreciate a P2P tunnel which can decrease latency in online gaming. As per the qualitative analysis performed for identifying P2P architecture that can reduce the latency for online gaming, we propose two types of gaming architectures. For players who want to play in the same city, we can implement a process known as ‘hole punching’ so that the players can communicate with each other over a P2P tunnel. For players who enjoy playing with players in different cities, we propose using P2P in cloud architecture. RESEARCH RESULTS For testing our setup for QoS, we established two parallel TCP connections from the client to the server. The server listened on ports 1119 and 80. We used iperf tool to transmit packets from client to server to both these ports for a fixed period of time [21]. Once the transmission was complete, we measured the number of packets that were processed through the OVS. We found out that in each run, more number of packets with destination port 1119 (gaming packets) were transmitted than the ones with destination port as 80. We have plotted the graph of number of packets processed with default and specific priority for ports 1119 and 80. Fig. 9. RAM capacity of user’s device [Survey Result] [2] Fig. 8. Research results for QoS flow prioritization Figure 8 explains that when traffic destined for ports 1119 (WOW traffic) and 80 (HTTP traffic) had default priorities (32768), the number of packets processed for both on OVS were random. Thus, the latency with respect to both these ports was random. However, when port 1119 was given a higher priority (50000), the number of packets processed on OVS for it were higher than for port 80. Hence, there was a definite decrease in latency for packets destined to port 1119. Fig. 10. CPU model of user’s device [Survey Result] [2] We were able to detect the adding or removing of servers within our internal network and adding or removing of open ports on servers to create flows dynamically on the OVS by ODL. We could mitigate SYN flood based DoS and DDoS attacks using the data scrubber. In order that the gamers PC can support P2P models, we observed results of the current hardware possessed by them. 88% of the respondents have more than or equal to 4GB of RAM and about 3/4th of the respondents have processors better than Intel i3 and AMD A6 [Fig9][Fig10][2]. About 45% of the respondents had external video graphics card which will help to enhance the graphics of the game [2]. In terms of internet connectivity, 38% of respondents have more than 10Mbps of internet subscription [2]. The observation from survey results suggest that 77% of the survey respondents play more than one hour per gaming session [Fig2][2]. 85% of the respondents like to play 7 V. DISCUSSION OF RESULTS Through our research, we are able to add flows to the ODL dynamically. As a result, a network administrator does not need to create flows on the OVS through ODL when a new server is provisioned or a new port is opened on an existing server in the data center. The data scrubber analyzed the incoming traffic inserted flows with high priority into the OVS. This helped in reducing latency for the gaming traffic. By having a correlation between the incoming traffic and the destination ports opened on the servers, we were able to allow and deny flows on the OVS. This inherently acted as a security feature and helped us in mitigating the SYN flood DoS and DDoS attacks. Based on the survey results, we concluded that most of the respondents would appreciate having a P2P tunnel for playing multiplayer online games. Also, the two methods of building P2P tunnel between gamers will reduce latency with respect to every gaming request. VI. Link to the survey [Online]. Available: https://www.surveymonkey.com/summary/WOO_2FE7665HDOw7_ 2FQE9eKTcV_2F0ke3WCHy93xiktoe0i8_3D [3] “vSphere 5.5 Release Notes,” https://www.vmware.com/support/vsphere5/doc/vsphere-esx-vcenterserver-55-release-notes.html, 07-Apr-2015. [Online]. Available: https://www.vmware.com/support/vsphere5/doc/vsphere-esx-vcenterserver-55-release-notes.html. [Accessed: 25-Apr-2015]. [4] W. Eddy, “RFC 4987 - TCP SYN Flooding Attacks and Common Mitigations,” Aug-2007. [Online]. Available: https://tools.ietf.org/html/rfc4987. [Accessed: 25-Apr-2015]. [5] K.Chen, P.Huang, C. Lei, "How Sensitive are Online Gamers to Network Quality??" Communications of the ACM, vol. 49, no. 11, pp. 34-38, Nov 2006. [6] P. Ghosh, K. Basu, and S. Das, “A cross-layer design to improve quality of service in online multiplayer wireless gaming networks,” in Broadband Networks, 2005. BroadNets 2005. 2nd International Conference on, Oct. 2005, pp. 813–822 Vol. 2 [7] S. Huang and J. Griffioen, “HyperNet games: Leveraging SDN networks to improve multiplayer online games,” in 2013 18th International Conference on Computer Games: AI, Animation, Mobile, Interactive Multimedia, Educational Serious Games (CGAMES), 2013, pp. 74–78. [8] Programming Amazon EC2. O’Reilly Media, 2011. [Online]. Available: http://aws.amazon.com/ec2/ [9] “Amazon Simple Storage Service.” [Online]. Available: http://aws. amazon.com/s3/ CONCLUSIONS AND FUTURE RESEARCH Through our research we successfully implemented a method to reduce latency experienced by users playing online games. We also implemented a way of increasing security and mitigating downtime of gaming servers caused due to malicious attacks like SYN flood based DoS and DDoS. Finally, through our qualitative analysis we propose two P2P gaming architectures which can possibly decrease latency and enhance user experience. [10] “Using Amazon Web Services for Disaster Recovery,” October 2014. [Online]. Available: https://media.amazonwebservices.com/AWS_Disaster_Recovery.pdf In order to protect server from SYN flood based DDoS attack, we have dropped this traffic on OVS by deleting any flow that might allow this traffic through the OVS to the server. Instead of this, SYN cookie method could be used, where the data scrubber itself replies to SYN requests from clients to verify if they are causing any SYN flood DDoS attacks. The effect on performance of this method in an SDN environment could be analyzed to experiment the improvement in game performance. [11] D. Chappell, “Introducing Windows Azure for IT Professionals.” [Online]. Available: http://download.microsoft.com/download/D/6/7/D670D322-5771409E-BF345B98496DEB0A/Microsoft_Press_ebook_Introducing_Azure_PDF.p df [12] J. Ashraf and S. Latif, “Handling intrusion and DDoS attacks in Software Defined Networks using machine learning techniques,” in Software Engineering Conference (NSEC), 2014 National, 2014, pp. 55–60. For future research, our network service chain can be made compatible with IPv6. Further, the two P2P architectures that we have proposed can be practically implemented to analyze whether they can effectively be implemented to decrease latency experienced by users playing online games. [13] UDP Hole Punching. [Online]. Available: https://www.usenix.org/legacy/event/usenix05/tech/general/full_pape rs/ford/ford.pdf [14] M. Holdrege and P. Srisuresh, “RFC 3027 - Protocol Complications with the IP Network Address Translator,” https://tools.ietf.org/html/rfc3027, Jan-2001. [Online]. Available: https://tools.ietf.org/html/rfc3027. [Accessed: 25-Apr-2015]. VII. REFERENCES [1] [2] [15] R. Suselbeck, G. Schiele, and C. Becker, “Peer-to-peer support for low-latency Massively Multiplayer Online Games in the cloud,” in 2009 8th Annual Workshop on Network and Systems Support for Games (NetGames), 2009, pp. 1–2. A. Nijholt, T. Romao, and D. Reidsma, Advances in Computer Entertainment: 9th International Conference, ACE 2012, Kathmandu, Nepal, November 3-5, 2012, Proceedings. Springer, 2012. [16] G. Schiele, R. Suselbeck, A. Wacker, J. Hähner, C. Becker, and T. Weis, “Requirements of Peer-to-Peer-based Massively Multiplayer Online Gaming,” in Seventh IEEE International Symposium on 8 Cluster Computing and the Grid, 2007. CCGRID 2007, 2007, pp. 773–782. [17] “Configuring Router and Firewall Ports - Battle.net Support,” 23Apr-2015. [Online]. Available: https://us.battle.net/support/en/article/configuring-router-and-firewallports. [Accessed: 25-Apr-2015]. [18] “World of WarCraft.” [Online]. Available: http://us.battle.net/wow/ [19] Github code. [Online]. CAPSTONE/Capstone Available: https://github.com/CU-ITP- [20] “Scapy,” http://www.secdev.org/projects/scapy/, Aug-2007. [Online]. Available: http://www.secdev.org/projects/scapy/. [Accessed: 25Apr-2015]. [21] “Iperf - The TCP/UDP Bandwidth Measurement Tool,” https://iperf.fr/. [Online]. Available: https://iperf.fr/. [Accessed: 25Apr-2015]. 9
© Copyright 2024