[ca] Les xarxes definides per software (SDN) han estat reconegudes com el paradigma de les xarxes de nova generació. És una tecnologia de ràpida evolució que desacobla el pla de dades de la xarxa, que són els dispositius de la xarxa que transmeten els paquets, del pla de control de la xarxa, que és la lògica que controla en última instància com el trànsit es transmet a través de la xarxa. En SDN, un controlador centralitzat és responsable de totes les decisions de control i la comunicació entre els elements de la xarxa. Permet controlar el comportament de la xarxa des d'un únic punt de control d'alt nivell. No obstant això, les xarxes definides per software utilitzen molts dels seus recursos de manera ineficient, el que condueix a un excés de càrrega dels enllaços de la xarxa, congestió en les cues i retards en la transmissió dels paquets. En conseqüència, es fa evident que les decisions d'encaminament que afecten el rendiment global de la xarxa han de ser estudiades. El rendiment es determina en funció de la qualitat de servei (QoS), és a dir, el rendiment, la demora mitjana de paquets, el jitter i les pèrdues de paquets. Per tant, es requereix d'un algoritme d'encaminament amb QoS. Les tècniques d'enginyeria de trànsit actuals i algoritmes d'encaminament no utilitzen eficaçment els mèrits de SDN, com ara la visibilitat global centralitzada, les decisions ràpides en temps real, el desacoblament dels plans de control i de dades, la simplificació de la gestió de les xarxes i la portabilitat. En aquesta tesi, hem desenvolupat dos nous algoritmes d'encaminament amb QoS que exploten els avantatges que porta SDN per millorar el rendiment de la xarxa. S'han estudiat dos escenaris diferents: un model centralitzat i un model distribuït. L'escenari centralitzat simplifica la gestió dels fluxos complexos i la personalització, però sorgeixen problemes d'escalabilitat. En contrast, l'escenari distribuït és més escalable, però pot ocasionar inconsistència en els estats, i la informació compartida entre els elements de la xarxa augmenta. En general, un enfocament centralitzat és millor per a centres de dades o xarxes domèstiques, mentre que un enfocament distribuït és millor per a les xarxes a gran escala, per exemple, entorns del núvol. En primer lloc, s'analitza el model de controlador SDN centralitzat, per al qual es proposa una gestió per complir els requisits de QoS a través d'aïllament, priorització i enrutament. Es presenta un algoritme de virtualització de la xarxa per aïllar i donar prioritat a les dades dels diferents clients. Els resultats de la simulació confirmen que l'algoritme proposat supera els algoritmes convencionals amb menor congestió de trànsit i menys retard dels paquets. En segon lloc, s'analitza un model de controlador SDN distribuït. La xarxa es divideix en diferents grups, i jeràrquicament es divideix en dos nivells. Aquesta arquitectura condueix a una reducció de les taules d'enrutament, càlculs substancialment menors i actualitzacions de les taules d'encaminament des de diferents controladors. A més, s'aplica l'aprenentatge per reforç al problema d'enrutament. El modelatge de la funció de recompensa permet la personalització dels diferents requisits per a cada tipus de trànsit, el que proporciona flexibilitat i capacitat d'adaptació als diferents fluxos i els seus requisits.

[en] Software-Defined Networking (SDN) has been recognized as the next-generation networking paradigm. It is a fast-evolving technology that decouples the network data plane, which are the network devices that forward traffic, from the network control plane, which is the software logic that controls ultimately how traffic is forwarded through the network. A logically centralized controller is responsible for all the control decisions and communication among the forwarding elements. It allows to control the network behavior from a single high level control program. However, Software-Defined Networks use many of its network resources inefficiently, which leads to over-loading network links, congestion in the queues and end-to-end packet delays. Consequently, it becomes clear that routing decisions affect the overall performance of a communication's network. Performance is determined in terms of Quality of Service guarantees, i.e. throughput, average packet delay, jitter and losses. Thus, a QoS-aware routing algorithm is required. Current traffic engineering techniques and state-of-the-art routing algorithms do not effectively use the merits of SDNs, such as global centralized visibility, real-time fast decisions, control and data plane decoupling, network management simplification and portability. In this thesis, we developed two new QoS-aware routing algorithms that exploit the advantages that SDN brings to improve the network performance. Two different scenarios have been studied: a centralized and a distributed models. The centralized scenario simplifies the management of complex flows and the customization, but scalability issues arise. In contrast, the distributed scenario is more scalable, but there may be state inconsistency and increase of shared information. In general, a centralized approach is better for data centers or home networks, whereas a distributed approach is better for large scale networks, e.g. cloud environments. First, the centralized SDN controller model is discussed, for which a multi-tenancy management framework is proposed to fulfill the quality-of-services (QoSs) requirements through tenant isolation, prioritization and flow allocation. A network virtualization algorithm is provided to isolate and prioritize tenants from different clients. Furthermore, a novel routing scheme, called QoS-aware Virtualization-enabled Routing (QVR), is presented. It combines the proposed virtualization technique and a QoS-aware framework to enable flow allocation with respect to different tenant applications. Simulation results confirm that the proposed QVR algorithm surpasses the conventional algorithms with less traffic congestion and packet delay. This facilitates reliable and efficient data transportation in generalized SDNs. Therefore, it yields to service performance improvement for numerous applications and enhancement of client isolation. Second, a distributed SDN controller model is analyzed. The network is divided into different clusters, and hierarchically split in two levels. This architecture leads to smaller sizes of routing tables in the switches, and substantially lesser calculations and updates of routing tables from the controller. Moreover, a new algorithm is developed, called QoS-aware Reinforcement Learning Routing (QRLR), where reinforcement learning is applied to the routing problem. The modeling of the reward function calculation solution allows the customization of the different requirements for each type of traffic, thus providing flexibility and adaptability to different flows and its requirements.