Software Defined Networking (SDN) has gained popularity and attractiveness in the past years’ thanks to its dynamic and programmable nature. The possibility to decouple the data plane and control plane allows for the implementation of Internet networks in an innovative way. Thanks to its ease in changing flow rules in network switches, SDN allows network resources optimization. In the case of critical applications, an essential aspect is to ensure connectivity on the network even in case of link failures. Even when a failure causes an interruption of connectivity, the challenge also stays in recovering as fast as possible. Nonetheless, the SDN controller should have the policy to decide which pairs of end-hosts to disable connectivity when there is a shortage of resources to keep the most important connections active. In this thesis, we developed a proactive-reactive SDN controller coded in Python that copes with restoring end-hosts connectivity as fast as possible. The controller prioritizes the couples of end-hosts that need connectivity based on their importance. During a shortage of network resources, the connectivity of pairs of end-hosts with low importance is disabled, and the connectivity between the most important couples can be ensured. We tested our solution with a reactive-only SDN controller and a proactive-reactive SDN controller that does not consider any prioritization order between end-hosts connectivity. Both the benchmark SDN controllers were developed in the thesis. Experiments were run on the same network topology, with the same couple of endhosts involved. The comparison between the proactive-reactive and reactive-only controllers showed the first one to be faster in restoring the connectivity after a failure. It saves time restoring the connectivity and has fewer packets lost under certain conditions in the relationship between the switch-to-switch and the switchto-controller transmission delay. The comparison between the proactive-reactive iii controller and the controller with no prioritization confirms that without an ordered queue of priorities, it may be the most important couple of end-hosts to lose connectivity in case of shortages of network resources. To simulate a realistic scenario, the project considers the case study of electric power transmission networks using SDN. In particular, the focus is on reconnecting Phasor Measurement Unit (PMU)s to the power grid to ensure system observability. During our experiments, we adopted the typical measurement transmission frequency used by PMUs (50Hz). The SDN switches are deployed with P4, and the SDN controller is coded in Python. Furthermore, it exploits P4Runtime to communicate with the switches in run-time. / Software Defined Networking (SDN) har vunnit popularitet och attraktionskraft under de senaste åren tack vare sin dynamiska och programmerbara natur. Möjligheten att frikoppla dataplanet från kontrollplanet gör det möjligt att genomföra Internetnät på ett innovativt sätt. Tack vare att det är lätt att ändra flödesreglerna i nätverksväxlar gör SDN det möjligt att optimera nätverksresurserna. När det gäller kritiska tillämpningar är en viktig aspekt att säkerställa konnektiviteten i nätet även vid länkfel. Även när ett fel orsakar ett avbrott i konnektiviteten är utmaningen också att återhämta sig så snabbt som möjligt. Trots detta bör SDNstyrenheten ha en policy för att avgöra vilka par av slutvärdar som ska inaktivera anslutningen när det råder brist på resurser för att hålla de viktigaste anslutningarna aktiva. I den här avhandlingen har vi utvecklat en proaktiv-reaktiv SDN-styrenhet kodad i Python som klarar av att återställa slutvärdarnas anslutning så snabbt som möjligt. Styrenheten prioriterar paren av slutvärdar som behöver anslutning utifrån deras betydelse. Vid brist på nätverksresurser inaktiveras anslutningen för par av slutvärdar med låg betydelse, och anslutningen mellan de viktigaste paren kan säkerställas. Vi testade vår lösning med en enbart reaktiv SDN-styrenhet och en proaktiv-reaktiv SDN-styrenhet som inte tar hänsyn till någon prioriteringsordning mellan slutvärdarnas konnektivitet. Båda riktmärkeskontrollerna SDN utvecklades i avhandlingen. Experimenten genomfördes på samma nätverkstopologi med samma antal slutvärdar. Jämförelsen mellan den proaktivt-reaktiva och den enbart reaktiva kontrollören visade att den förstnämnda kontrollören var snabbare när det gäller att återställa anslutningen efter ett fel. Den sparar tid för att återställa anslutningen och har färre förlorade paket under vissa förhållanden i förhållandet mellan överföringsfördröjningen från switch till switch och från switch till styrenhet. Jämförelsen mellan den proaktiva-reaktiva styrenheten och v styrenheten utan prioritering bekräftar att utan en ordnad kö av prioriteringar kan det vara det viktigaste paret av slutvärdar som förlorar konnektiviteten vid brist på nätverksresurser. För att simulera ett realistiskt scenario används SDN i projektet som fallstudie för elöverföringsnät. Fokus ligger särskilt på att återansluta Phasor Measurement Unit (PMU)s till elnätet för att säkerställa systemets observerbarhet. Under våra experiment antog vi den typiska överföringsfrekvensen för mätningar som används av PMUs (50Hz). SDN-växlarna installeras med P4, och SDN-styrenheten är kodad i Python. Dessutom utnyttjas P4Runtime för att kommunicera med växlarna i körtid.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321961 |
Date | January 2022 |
Creators | Barcellesi, Jacopo |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:683 |
Page generated in 0.2625 seconds