# Dynamic Traffic Scheduling and Congestion Control across Data Centers Based on SDN
## 1 Introduction  
Big data has become one of the hottest topics among academia and industry. With the development of big data, the amount of data from different sources such as the Internet of Things, social networking websites, and scientific research is increasing at an exponential rate [1]. The scale of data centers has gradually extended. Meanwhile, an increasing number of data are being transmitted in data center networks, and traffic exchange among the servers in data centers has also been growing fast. The most direct result may be low utilization ratio, congestion problems, service latency, and even DDOS attacks [2]. Data centers are always interconnected through wide area networks [3]. When traditional routing protocols are used in data center networks, flows are forced to preempt the shortest path to be routed and forwarded, which might lead the shortest path link to be under full load while some new flows are still competing for it, and other links are under low load. Without shunting for flows, the link would easily be congested and unable to provide normal network services. The most direct, but expensive solution, is to remold and upgrade the network. However, on account of the scale, complexity, and heterogeneity of current computer networks, traditional approaches to configuring the network devices, monitoring and optimizing network performance, identifying and solving network problems, and planning network growth would become nearly impossible and inefficient [4]. Software-defined networking (SDN) is one of the most notable forms of computer networking. It is receiving considerable attention from academic researchers, industry researchers, network operators, and some large and medium-sized networking enterprises [5]. SDN is considered as a promising modality to rearchitect our traditional network [6]. The core idea of SDN is to decouple the control plane from the data plane to achieve flexible network management, efficient network operation, and low-cost maintenance through software programming [7]. Specifically, infrastructure devices merely execute packet forwarding depending on the rules installed by the SDN controller [8]. In the control plane, the SDN controller can oversee the topology of the underlying network and provide an agile and efficient platform for the application plane to implement various network services. In this new network paradigm, innovative solutions for realizing specific and flexible services can be implemented quickly and efficiently in the form of software and deployed in real networks with real-time traffic. In addition, this paradigm allows for the logically centralized control and management of network devices in the data plane in accordance with a global and simultaneous network view and real-time network information. Compared with traditional networks, it is much easier to develop and deploy applications in SDN [9]. This paper concentrated on the problem of data center traffic management and attempted to avoid congestion to make full use of the bandwidth resources. We proposed a new solution based on SDN for traffic engineering in data center networks by developing two modules on top of an open source SDN controller called Floodlight. The traffic among the data centers can be classified into different types. Different strategies are adopted upon the real-time changes of the link states. The dynamic traffic scheduling can take full advantage of the network resources better. Given the prolonged occupation of the bandwidth by malicious flows, we proposed an effective congestion control algorithm by adopting a multilevel feedback queue mechanism. Considering a large-scale IP network with multiple data centers, the basic components are shown in Figure 1a. With traditional routing protocol, all flows from S\({}_{1}\) and S\({}_{2}\) to D would traverse or congest paths (A, B, C) without using (A, D, E, C).