Route Manipulation Using Sdn and Quagga

Size: px
Start display at page:

Download "Route Manipulation Using Sdn and Quagga"

Transcription

1 University of Colorado, Boulder CU Scholar Interdisciplinary Telecommunications Graduate Theses & Dissertations Interdisciplinary Telecommunications Spring Route Manipulation Using Sdn and Quagga Chinmay Abhay Joglekar University of Colorado at Boulder, Follow this and additional works at: Part of the Databases and Information Systems Commons Recommended Citation Joglekar, Chinmay Abhay, "Route Manipulation Using Sdn and Quagga" (2017). Interdisciplinary Telecommunications Graduate Theses & Dissertations This Thesis is brought to you for free and open access by Interdisciplinary Telecommunications at CU Scholar. It has been accepted for inclusion in Interdisciplinary Telecommunications Graduate Theses & Dissertations by an authorized administrator of CU Scholar. For more information, please contact

2 Route Manipulation using SDN and Quagga by Chinmay Abhay Joglekar A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the requirements for the degree of Master of Science Department of Interdisciplinary Telecommunications 2017

3 This thesis entitled: Route Manipulation using SDN and Quagga written by Chinmay Abhay Joglekar has been approved for the Department of Interdisciplinary Telecommunications Dr. Levi Perigo Prof. Joe McManus Prof. Kevin Epperson Date The final copy of this thesis has been examined by the signatories, and we find that both the content and the form meet acceptable presentation standards of scholarly work in the above mentioned discipline.

4 iii Joglekar, Chinmay Abhay (M.S., Telecommunications Engineering) Route Manipulation using SDN and Quagga Thesis directed by Prof. Dr. Levi Perigo Software Defined Networking (SDN) is reshaping the networking paradigm. Previous study on SDN shows that SDN implementation has advantages over the traditional network. Enhancing the existing SDN functionality to the global network level, this study examines how utilizing the flexibility and programmability of SDN will benefit BGP inside the autonomous system (AS), and facilitate the transition to next generation transport networks. This research provides a Route Manipulation application in which the SDN controller manipulates routes in the SDN per the BGP updates received from the neighboring peer. The automation in this application provides a new way for the functioning of an AS with the use of the RYU SDN controller. Using SDN at a global network level will give advantages such as increased efficiency, reduced human errors due to automation, faster convergence, and cost effectiveness. The application will provide a new scope to the use of SDN at a global network level.

5 Dedication I would like to dedicate this thesis to my parents.

6 v Acknowledgements I would like to thank Dr. Levi Perigo for his important suggestions during the thesis work. I would also like to thank Zhang Lui for helping me in the initial stages of the thesis.

7 vi Contents Chapter 1 Introduction Problem Setting Research Question Literature Review Background SDN Why SDN? Components of SDN BGP BGP s importance in SDN bgpspeaker program in RYU Quagga REST API Application Purpose of the Route Manipulation application Network design and Implementation Results Conclusion and Future Work 22

8 Bibliography 24 vii

9 viii Figures Figure 2.1 SDN Infrastructure Evolution of Networking Devices SDN topology in Mininet BGP Topology Network Design and Setup bgpconfig.py file snippet Function configuration Function configuration Command to run bgpspeaker Command to run the the application Application running snippet SDN flows

10 Chapter 1 Introduction 1.1 Problem Setting Border Gateway Protocol (BGP) is a protocol which is responsible for interconnection between different Internet Service Providers (ISP). The behavior of BGP makes it vulnerable with respect to efficiency and time. With the increased number of nodes in the internet, the probability of network topology changes increases. The addition of new nodes and decommissioning of the old ones, justify the need of faster convergence and efficient updates of the routing table. The current BGP protocol in use is lacking the ability to converge faster as the internet scales. The convergence at the ibgp level is important for the BGP updates. 1.2 Research Question The research question this study aims to answer is can an SDN controller converge the network at a global level if a traditional BGP peering connection is lost? To answer this question, the researcher will implement SDN at a global network level and addresses the convergence issue at the ibgp level by developing a route-manipulation application to manipulate paths in the SDN per the BGP updates received from the BGP neighbor using the RYU controller as the BGP speaker inside the AS.

11 2 1.3 Literature Review There has been research on the methods which can reduce the time of BGP convergence, a BGP functionality which is considered vulnerable due to the massive growth of the internet. Most of the proposed methods focused on reducing the Minimum Router Advertisement Interval (MRAI) timer of BGP. [10] and [14] added a SDN approach in solving the problems related to the BGP convergence time. The proposals discussed in these papers were to have SDN controlled devices at specific locations in different ASes. [10] concluded that the BGP convergence rate can be increased with the help of introducing UPDATEs from multiple vantage points that specify the existence of SDN controlled devices. This research lacked to prove the worst-case bounds in relation with the convergence time. [14] introduces the approach where the IP protocol is being implemented on the SDN based device. [12] discussed about the LINUX operating system based SDN application (QUAGFLOW). This paper provided insight on the application to use SDNs OpenFlow. It was possible to achieve communication between the QUAGFLOW subnet and the legacy network. The problem with QUAGFLOW is that there are issues that need additional attentions and evaluation in the virtual environment. These issues are the replication of data plane events such as the link failures, the optimization of the protocol timers and VM managing frameworks. Thus, this has scope to improve and explore. [11] introduced a multi-path flow transfer mechanism for high availability and efficiency of the transfer of data in a data center. This mechanism does an iterative multi path detection process with respect to different domains in a data center. The experiments conducted provide results that show increased network throughput and network resource utilization. The enhancement of BGP convergence is possible also if there is routing centralization [13]. This paper performed the analysis on the route centralization in inter-domain routing to check for the convergence time of BGP. The tests were conducted on different randomly generated topologies in the simulations. The results that were generated were found to reduce the convergence time and this had smaller differences between different topologies [13].

12 3 There was a new mechanism proposed for an SDN controller [16]. This paper proposed a new protocol OFBGP which serves as an application of SDN. The design of this protocol is like BGP, but it is more distributed. Three modules are those that collaborate to form this protocol. Out of these the two modules BGP decision and BGP protocol perform the main tasks of BGP. The BGP decision does the decision process and BGP protocol performs the machine state transitions [16]. The researchers performed OFBGP and found out that further reduction in the communication traffic between tasks is required along with route aggregation and internal routing policies. Route centralization was implemented in a way to know the interaction between the SDN controller and BGP routing protocol [15]. This paper used Dijkstra algorithm to compute the shortest path for all the routes. The authors made use of a hybrid SDN-BGP emulation framework and a multi-as SDN controller that runs as an overlay to the edge routers. The usage of multi-as SDN controller was specified but how to achieve this in the actual internet was not given. The communication between these SDN controllers needs to be understood as well as the time elapsed between this also needs to be taken into consideration. There is another important use of BGP and SDN and that is in the data centers. [8] is a conference presentation that provided insight on the problem of the routing logic, which sometimes requires modification of the ECMP behavior used for load balancing the traffic in the network. This presentation provided a different logic behind programming the forwarding information base of the protocol by having a central controller. Additional ECMP backup paths would also be available if any failover happens in the network [8]. These studies provide important insight on how SDN can be viewed as the more probable solution to improve the vulnerabilities of BGP. In fact, SDN can be a user defined protocol accommodating the requirements of the network. This means that the network operator can create its own service which will perform the functions of a routing protocol. One such SDN application is SDN-IP, which uses Open Network Operating System (ONOS) [14]. This application generates flow entries based on intents, an algorithm that generates flows based on what the network operator intends to do with that flow. This application installs the flows proactively in the ONOS controller controlled devices. This study claims that the Routing Information Base of the SDN device can

13 4 hold about 10,000 entries [14]. However, this application has all the configurations static and there was a need for dynamic configuration so that the application can be used in different network topologies. Also, this application did not initiate a BGP peer connection. These drawbacks made the application less favorable for this thesis. This thesis uses the Python-based bgpspeaker program on a RYU controller. The bgpspeaker program can produce the basic functionality of the BGP protocol and it can initiate, as well as listen to, the BGP peering connection as opposed to the ONOS application that can only listen to the peering connection. The working of the program is discussed in detail in the following chapters. There are new technologies that are helping to enhance the functionality at different layers of the OSI model (Open Systems Interconnection Reference model). The use of SDN at the network layer will be beneficial [3]. The controller will have the logical centralized control over the entire network layer. It will provide high availability and scalability to the networking devices. It will also avoid misconfigurations that might happen due to human error as all the flow table entries in the devices will be centrally controlled. Since, all the networks in the internet cannot be directly replaced by an SDN controlled network, we need a method which will have the benefits of both the traditional as well as SDN controlled network. This thesis provides an SDN path manipulation application, which utilizes the bgpspeaker program for BGP peering connections. The application will manipulate the flow entries of the OPENFLOW SDN switches via the RYU controller controlled SDN switches to redirect the path for destination prefixes received from the BGP peer when the connection to the BGP peer goes down. Moreover, this application can reinstate the original entries if the BGP peer connection is restored. This review of literature shows the advantages and capabilities of having an SDN layer in an enterprise network would be beneficial. Furthermore, the automation and reactive flow entries added in the network by the SDN application would make the network reliable and efficient, and automation would reduce the configuration errors that can be possible if the configurations are done manually. This study shows that an SDN environment will reduce the convergence of BGP if any of the peering connections are lost, and the application developed from this research can have

14 additional features to determine congestion, change bandwidth, and modify BGP attributes. 5

15 Chapter 2 Background this thesis. This chapter provides a background about the different concepts and technologies used in 2.1 SDN Figure 2.1: This figure [3] shows the SDN infrastructure. The three layers are Application, Control and Forwarding. This section discusses the details of SDN, how it is beneficial in networking, and the components of the technology.

16 7 The Open Networking Foundation (ONF) defines SDN as a networking model that separates the network control plane from the forwarding plane, and logically centralizes the control in the controller. The centralized controller controls the devices in the network. These devices are often referred to as next generation devices, switches, or the infrastructure layer devices [3]. For this study, these devices will be referred to as switches. ONF states that SDN is categorized into three layers representing different devices and/or software applications 2.1. First, the control plane takes all the logical decisions of networking. These decisions are centralized in SDN controllers [3]. The controller also has the entire view of the network. Second, the infrastructure layer represents the forwarding plane. The devices in the forwarding plane are controlled by the controller in the control plane. The third layer is the application layer which represents the application plane. The application plane contains the programs that communicate the desired network requirements to the SDN controller which then performs the functions along with the forwarding plane. The forwarding plane works on the flow entries received from the controller. These flow entries are a set of rules which the device applies to the received packet [3]. These flows entries act as a chain of rules, similar to firewall entries, but not limited by the higher layers of the OSI model. 2.2 Why SDN? Figure 2.2: This figure [9] shows the evolution of the network devices over time. The evolution of networking devices shows that the processes using software and hardware

17 8 have changed over the years. The technological development in the networking devices shows that most of the processes are done in the hardware for faster computation and actions instead of software [9]. Gorannson and Black have depicted the evolution as shown in 2.2. This shows how the software and the hardware sections of the networking devices evolved to provide functions of the different layers of the OSI model. Gorannson and Black also talk about the advantages of SDN and why it would be a better solution for the current behavior of networking devices. One advantage they discuss is that SDN simplifies the network behavior [9]. The simplification is due to the separation of the forwarding and control planes. Also, SDN would be cost effective in contrast with the increasing costs for new devices. SDN controllers are programmable as the control plane is decoupled from the forwarding plane [3]. This does not require any vendor specific hardware and thus, network administrator does not require to have one vendor for the network. This also helps in reducing the cost of purchasing the network devices as the vendor products are expensive. There are also whiteboxes (computer hardware without an operating system) that can be loaded with the required network operating system and thus, SDN does not require vendor specific devices. These whiteboxes can be installed with open source software and SDN can be implemented. Open source products are inexpensive and this will allow reduced capital expenses for the network infrastructure. SDN would also provide automation for the processes which are extremely sensitive and those which cannot sustain human errors as the services can be programmed by the SDN controller. Also, SDN devices are compatible with the present version of the network devices. Such devices are called Hybrid SDN switches which can be used for connecting an SDN to a traditional network. 2.3 Components of SDN The core part of SDN is the SDN controller. A controller is an application which is responsible for making the logical decisions in an SDN network. The controller manages all the southbound devices in an SDN network and installs the flow entries in the SDN devices. Some of these flow entries are generated after going through a logical decision making process. Such entries are called

18 9 reactive flow entries. Other type of flow entries are the proactive flow entries, which are flow table entries that are installed predicting or determining the conditions of the network. For example, a flow entry to change the network topology if the bandwidth utilization exceeds a threshold value would be a proactive flow entry. The controller, thus, can be thought of as the brain of the SDN [9]. There are different controllers that are currently used for SDN. This thesis uses RYU, an open source SDN controller along with the BGP peer in the topology. The main advantage of choosing RYU was that it is written in Python which is a friendly programming language [4]. The controller is open source (i.e. no proprietary on the code which means free to use and experiment) and thus the bugs and support is available from the developers across the globe. Also, the RYU bgpspeaker application which is discussed in the later chapters can be modified according to the requirements of the topology and can have additional features added to it. Another component of SDN is the infrastructure layer SDN devices or switches. These SDN switches are not traditional layer 2 switches but they can be bare metal boxes, vendor proprietary operating system devices, or vendor hybrid switches. The term switches is a generic term given to the SDN device. They can represent a switch, router, firewall, or any other network infrastructure device depending on the network design and programming applications. Typically, these devices communicate with the SDN controller using OpenFlow protocol. They receive flow entries from the controller and then perform the actions on the received packets according to the matched flow entry for that specific packet in the flow table. There is commonly a default flow entry present in the flow table called the table-miss entry [9]. This entry is for the packets that do not match any of the flow entries in the flow table, and need a decision to be made. These packets are sent to the controller to make a logical decision and then the controller can send a flow entry for such a packet for future processing and handling [3]. The third component of SDN is the Application layer. This layer is used to manipulate the SDN controller. The applications in this layer communicate with the SDN controller to perform functions on the SDN switches. This layer enables innovation and helps in providing new features

19 10 and services to the network with the help of the applications [3]. The next sections talk about the BGP protocol. It discusses the details of the protocol, how it is beneficial in SDN, and why it needs to be used with SDN. 2.4 BGP BGP is a protocol that is responsible for the communication between different ASes. It is used for exchanging the prefixes among the ASes as well as exchanging neighbor relationship information such as peer, customer or transit depending on the ASes function and tier level. BGP uses TCP port 179 to listen to the connections from the neighboring BGP peers [1]. This section discusses BGPs importance in SDN, as well as its role in this thesis. 2.5 BGP s importance in SDN The controllers in SDN typically communicate with the next generation networking devices via the OpenFlow protocol which creates a TCP connection between the entities. The TCP connection is used for management purposes. If there are multiple SDN controllers (generally used to have redundancy), these controllers talk to each other via BGP. Also, currently, the ASes of the ISPs use BGP to form BGP-neighbors and exchange the routing information with each other [1]. Thus, to perform experiments and to do research on SDN at the AS level, it is necessary to include BGP compatibility towards SDN so that SDN functionality is compatible with the standard protocol of the internet [1]. BGP is considered to be the protocol of the internet [1]. Extending SDN to a global network level, it needs to be able to communicate with other traditional global networks and since BGP is the best way to communicate at that level, incorporation of BGP into SDN is extremely important. This is an advantage as there is no need to change the infrastructure of other networks. Also, having an existing protocol makes the new technology familiar to implement. Developers around the world are developing code that performs the functions of BGP in an SDN [6,14]. This thesis uses BGP as a protocol to communicate between two different ASes, where one AS is traditional,

20 11 and the other AS has devices controlled by the SDN controller. The BGP controller code running on the RYU controller is called the bgpspeaker. This code listens to the BGP messages on TCP port 179 for a connection. The code is modified to perform per the requirements of the network topology and perform the required functions. These are discussed in the following sections. 2.6 bgpspeaker program in RYU This is a program in RYU controller developed to have BGP functionality for RYU. Python modules have been created to serve this purpose [6]. These modules are specifically designed to implement BGP from the system level and create BGP packets and segments for proper communication between the RYU controller and the neighboring BGP speaker. The bgpspeaker program functions with the help of a JSON file, which receives all the required configuration inputs from the user. This file is parsed as the input to the functions inside the application.py file, which invokes the bgpspeaker.py file and eventually starts the BGP daemon on the RYU controller [6]. The JSON file inputs need to be fed manually to start the application. The inputs include the router identity of the RYU BGP speaker for communication with the other neighboring peers, the local AS number, neighboring peer address (router identity) and AS number, and prefixes to be advertised to the peers. The application.py file takes the inputs from the JSON file and parses it as arguments to the functions defined inside [6]. The application.py file has functions by default, and there is a facility to create additional functions. The RYU speaker class also has additional functions that can be run for better functionality. This flexibility and scalability in this application helped decide its use in this study. The usage of the application is explained in detail in the next chapter. 2.7 Quagga Quagga is a routing protocol suite on Unix platforms [5]. There is a zebra daemon, which forms the base of the Quagga architecture. This daemon talks to the Unix kernel and uses an Application Programming Interface (API) to communicate with Quagga. The zebra daemon runs

21 12 the other daemons for the routing protocols such as OSPF, RIP, and BGP if they are enabled by the user. Quagga also has a vty shell, which can be used to enter configuration commands for the protocol daemons that are running on the shell. The command line interface configuration of the Quagga protocol suite is similar to the configuration of traditional vendor-specific routers. The implementation of traditional routers for the thesis in a virtual environment was required. Quagga was the best solution for it as it provides traditional router functionality. 2.8 REST API REpresentational State Transfer (REST) is a web application programming interface. It is used for requesting data over the HTTP service and receiving the requested data in response. This API is available for RYU controller. It works in Python for the next generation network devices with the help of ofctl_rest.py code [7]. When this code runs, it enables the web API which can be used to install flows in the SDN switches, get data from the switches or modify other data. The code receives the API request, and then converts it to OpenFlow specific formatting and transmits it to the SDN switches. The REST API has three requests that are HTTP requests: GET, POST, and PUT [7]. GET is used to receive information from the SDN switches. POST is used to push information, or add information to the SDN switches and PUT signifies modification of an existing information. This study uses the ofctl_rest.py (REST API for RYU controller) to receive DPIDs (the identifiers to uniquely identify SDN switches) from the switches, and install specific flows in the switches, and delete the flows in the SDN switches. The REST API for RYU makes the Route Manipulation application, developed in the thesis, dynamic as the SDN switch identifiers are taken dynamically from the network. This means that even if the switches are changed, the application would continue work. The details of the application are discussed in the next chapter.

22 Chapter 3 Application The previous chapter discussed the various components of the thesis. This chapter discusses the Route Manipulation application developed for this thesis in detail. 3.1 Purpose of the Route Manipulation application The route manipulation application was designed to check the working of the bgpspeaker code in RYU for a specific network topology and condition. This network topology was considered because the current networking devices are getting replaced by SDN devices and soon the SDN devices will dominate the entire network and thus, the AS. The scenario is designed in a way that there is a master SDN controller controlling the network in the AS and the same master controller has a bgpspeaker code running. The bgpspeaker code is responsible for BGP protocol peering connections and the protocol functioning with the other ASes which are still using the traditional networking devices. The purpose is to test the BGP speaker application and determine the feasibility of BGP failure. If a peer loses connection, then can the entire network converge on that one notification. Using Quagga as a traditional BGP AS peer and REST API to manipulate routes in the SDN, the bgpspeaker program within RYU is used to check the peering as well as collect the routes advertised by the neighboring peer.

23 Figure 3.1: This figure shows the SDN topology in Mininet with six SDN switches connecting to the RYU SDN controller 14

24 Network design and Implementation The network topology for testing the Route Manipulation application is setup in a virtualized environment using VirtualBox. The SDN devices used in the thesis were generated with the help of Mininet, which is a virtualized SDN testing environment composed of SDN switches and Linux hosts [2]. The Mininet network can be connected to the controller as shown in 3.1. Figure 3.2: This figure shows the BGP logical topology in this study BGP functionality in this thesis is implemented using the topology shown in 3.2. The Quagga routing protocol suite is used to perform the functionality of the traditional routers. The topology shown was implemented in a virtual environment using the hypervisor VirtualBox. The three blocks in the topology are running on different virtual machines. The network setup is shown in the 3.3. The RYU controller is at the center with the local ASs SDN network connected to the RYU controller. The virtual machines running the Quagga routing protocol suite are a part of a different AS. They have BGP peering connection with the bgpspeaker application running on the RYU controller. The RYU controller is also running the REST API for RYU as well as the route-manipulation.py code which is the code for the route manipulation application developed by the researcher. This code function is explained in the following section. There are six SDN switches running on Mininet which is connected to the RYU controller. The bgpspeaker code opens the TCP 179 port connection with the Quagga routers as well as listens to other peering connections. The BGP speaker exchanges the Keepalive messages with its

25 Figure 3.3: This figure shows the Setup of the application environment. There are six SDN switches with RYU controller running the applications in one AS. The two Quagga router VMs are in the second AS. 16

26 17 peers and exchanges the route prefixes that are being advertised by the peers. This bgpspeaker application also advertises its own network which is connected to the SDN switch s4. The next section details the working of the application. 3.3 Results Figure 3.4: Configuration of BGP parameters for the controller s BGP instance The initial conditions of the network are shown in 3.3. The local AS of the SDN network is AS 65001, and for the traditional network, consisting of Quagga routers, is AS The configuration file that contains all these details is the bgpconfig.py file. The snippet of this file is shown in 3.4. bgpspeaker file: application.py Within the RYU SDN controller, the bgpspeaker file has functions required for the establishment of BGP between two neighboring peers, which check whether the established peer is up or down, as well as adding and removing BGP peers. All the functions that are defined by the RYU bgpspeaker.py can be used in the Route Manipulation application, which will be discussed in the

27 18 following section. The Python function to add a BGP neighbor was modified for this study. A new function was added to receive all the routes advertised by the peer, and extract the prefix information from that list of advertised routes. These prefixes are then used by the route-manipulation.py application to install flows in the six SDN switches so that these switches can route the received packets for these prefixes as destination according to the OpenFlow flow entries installed. The Route Manipulation application makes the flow installation of the prefixes dynamic, as it receives all the prefixes in a variable. Figure 3.5: Function to get routes from the neighbor The flows are installed from the routes received from the newly created function _get_neighbor in the application.py file. 3.5 shows the configuration for the function. This function waits for a time to get all the routes in the routing table of the SDN controller and then it extracts those routes using the existing function [6]. The extracted routes are fed to a file that will be used by the route-manipulation.py application to install flows for the prefixes. Figure 3.6: Function to get BGP peer notification 3.6 shows the peer up and down functions. These functions are triggered when the associated event occurs. This function is modified to inform the route-manipulation.py application that the

28 19 peer is up or down and the flows in the SDN switches need to be modified accordingly. This is done by inserting values of 0 or 1 in a file, which is then checked by the application to determine what set of flows to install in the SDN switches. The set of flows are determined based on where the packet needs to travel to get to the next AS, as shown in the 3.10 Figure 3.7: This is the command to run the bgpspeaker on RYU SDN controller These functions are the ones that were used during this study. The command to run the bgpspeaker code is shown in the 3.7 Once this command runs, all the functions are called and then the respective files are written to indicate what flows need to be installed. But first, SDN switches should have connection to the RYU controller and the Quagga routers to have proper functionality (3.3). The Mininet network should be initialized by using the sudo mn command. The REST API for RYU should also be enabled as the application code route-manipulation.py runs along with the ofctl_rest.py. This should be run using the RYU-manager command that is shown below in 3.8 Figure 3.8: This is the command to run the Route Manipulation application on RYU SDN controller along with REST API route-manipulation.py The Route Manipulation application file installs the flows and changes them per the BGP events taking place in the network. This file takes inputs from the two text files that are fed with information by the RYU bgpspeaker application. The first file gives the input 1 or 0. This determines the flow entries in the SDN switches. The flow entries are directing to one of the Quagga routers. So, if BGP router Quagga 1 goes down, the peering connection down function will trigger the file change and this will direct the flows through s6 to BGP router Quagga 2. If Quagga 1 restores the BGP connection, then the original flows will be reinstalled into the SDN switches after

29 20 the previous flows are removed. In addition to this, the code also checks the contents of the text file whose contents are fed by the neighboring peer prefixes. These prefixes are collected in the form of a list, and the list elements are then fed into the SDN switches as a flow entry. The code runs in an infinite loop to continuously check for a match condition. The route-manipuation.py code is the application that does the SDN path manipulation in the SDN network depending on the events triggered by the bgpspeaker application. The initial working is shown in 3.9. Figure 3.9: This figure shows the snippet of the Route Manipulation Application The image shows that the app is loaded to RYU manager and the initial stage when there is peer connection, the number in the file is 0 and the original flows will be installed in the SDN switches shows the working of the flows. The green colored arrows show the flow entries when the peer is up, and the blue arrows show the path failover flows when the traditional BGP peer is down. The Route Manipulation application provided by the research presents important insights such as scalability, faster convergence inside the AS because of limited ibgp speakers (one in this case), as well as automation to install flows based on the network conditions can be implemented with the help of APIs. Also, these results show that SDN will have better standing at a global network level.

30 Figure 3.10: This figure shows the SDN flow directions depending on the BGP peer connection 21

31 Chapter 4 Conclusion and Future Work This study helped prove that SDN is a viable solution to provide faster, more efficient BGP convergence and failover in an AS while connecting to a traditional BGP network. Also, this topology design reduces the processing power of the edge routers as all the logical processing is done by the RYU SDN controller. The use of bgpspeaker code also shows some fallacies in the application and gives direction for future work. Developing the Route Manipulation application for this study provided important insight to the way SDN switches behave in regards to BGP convergence. Convergence is an issue in BGP, which this thesis attempted to solve by providing a way that BGP can converge internally in the AS, and propagate these changes in the SDN OpenFlow flow table entries. These flow entries takes less time than the convergence updates sent by the internal routing protocols as well as ibgp. On a larger scale, this can be enhanced by having different functions and flows created for different combinations of BGP-related events. Accordingly, the flows can be installed and the system can converge in a faster, and more efficient way. RYUs bgspeaker application is flexible and has available documentation. The network operator can add additional features as per the requirements in the form of Python programming language functions. This application has a functionality of adding BGP attributes to the updates that are being sent to the other traditional edge routers. This helps in keeping an equilibrium with the traditional network as well as work with the SDN. This study provided a Route Manipulation application that changes the flow entries in the

32 23 SDN depending on the updates received from the traditional network BGP neighboring peers. The application developed gave insight on the working of the RYU controller in handling the updates. This is done with the help of the application code which runs in an infinite loop to continuously test for the condition match. Also, since the application automates SDN flow installation based on the updates received, the application can match a list of valid routes and can prevent illegitimate routes from advertising into the internet. The future scope for this study can be improved by testing the same network topology, but in physical environment, instead of virtual. Also, different SDN controllers can be tested to evaluate funxtionality such as convergence, processing and flow manipulation. Additional BGP and SDN features such as Time of Day, modification of BGP attributes, and advertising the routes coming from other ASes dynamically, can be done using the base of the application.py code and the Route Manipulation application developed from this research.

33 Bibliography [1] Bgp rfc [2] Mininet reference. [3] Open networking foundation. [4] Python reference. [5] Quagga routing protocol suite. [6] Ryu bgp speaker application reference. [7] Ryu rest api reference. [8] P. Lapukhov A. Abouchaev, T. LaBerge and E. Nkposong. Brain-slug: A bgp-only sdn for large-scale data-centers. [9] P. Goransson and C. Black. Software defined networks: a comprehensive approach. [10] M. Gulzar F. Zafar H. Kazmi, H. Nawaz and A. Gehani. Bgp is high on sdn: Improving bgp convergence and security using sdn and reassertions. [11] L. Junzhou J. Jian L. You, L. Wei and X. Nu. An inter-domain multi-path flow transfer mechanism based on sdn and multi-domain collaboration [12] Marcos Rogerio Salvador Marcelo Ribeiro Nascimento, Christian Esteve Rothenberg and Maurcio Ferreira Magalhaes. Quagflow: Partnering quagga with openflow. [13] X. Dimitropoulos P. Sermpezis. Inter-domain sdn: Analyzing the effects of routing centralization on bgp convergence time [14] Umesh Krishnaswamy Tetsuya Murakami Masayoshi Kobayashi Ali Al-Shabibi Kuang- Ching Wang Pingping Lin, Jonathan Hart and Jun Bi. Seamless internetworking of sdn and ip [15] A. Gamperli V. Kotronis and X. Dimitropoulos. Routing centralization across domains via sdn: A model and emulation framework for bgp evolution [16] D. Li Y. Zhou R. Liu L. Ruan-Y. Xia W. Duan, L. Xiao and M. Zhu. Ofbgp: A scalable, high available bgp architecture for sdn

Design and development of the reactive BGP peering in softwaredefined routing exchanges

Design and development of the reactive BGP peering in softwaredefined routing exchanges Design and development of the reactive BGP peering in softwaredefined routing exchanges LECTURER: HAO-PING LIU ADVISOR: CHU-SING YANG (Email: alen6516@gmail.com) 1 Introduction Traditional network devices

More information

COMP211 Chapter 5 Network Layer: The Control Plane

COMP211 Chapter 5 Network Layer: The Control Plane COMP211 Chapter 5 Network Layer: The Control Plane All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith

More information

Software-Defined Networking (SDN) Overview

Software-Defined Networking (SDN) Overview Reti di Telecomunicazione a.y. 2015-2016 Software-Defined Networking (SDN) Overview Ing. Luca Davoli Ph.D. Student Network Security (NetSec) Laboratory davoli@ce.unipr.it Luca Davoli davoli@ce.unipr.it

More information

CSC 4900 Computer Networks: Routing Protocols

CSC 4900 Computer Networks: Routing Protocols CSC 4900 Computer Networks: Routing Protocols Professor Henry Carter Fall 2017 Last Time Link State (LS) versus Distance Vector (DV) algorithms: What are some of the differences? What is an AS? Why do

More information

Why dynamic route? (1)

Why dynamic route? (1) Routing Why dynamic route? (1) Static route is ok only when Network is small There is a single connection point to other network No redundant route 2 Why dynamic route? (2) Dynamic Routing Routers update

More information

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011 Lecture 4: Intradomain Routing CS 598: Advanced Internetworking Matthew Caesar February 1, 011 1 Robert. How can routers find paths? Robert s local DNS server 10.1.8.7 A 10.1.0.0/16 10.1.0.1 Routing Table

More information

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal CS4450 Computer Networks: Architecture and Protocols Lecture 15 BGP Spring 2018 Rachit Agarwal Autonomous System (AS) or Domain Region of a network under a single administrative entity Border Routers Interior

More information

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783. Understanding, Implementing and troubleshooting BGP 01 Introduction http:// Instructor Introduction Keith Barker, CCIE #6783 CCIE Routing and Switching 2001 CCIE Security 2003 kbarker@ine.com YouTube -

More information

Configuring BGP. Cisco s BGP Implementation

Configuring BGP. Cisco s BGP Implementation Configuring BGP This chapter describes how to configure Border Gateway Protocol (BGP). For a complete description of the BGP commands in this chapter, refer to the BGP s chapter of the Network Protocols

More information

Unit 3: Dynamic Routing

Unit 3: Dynamic Routing Unit 3: Dynamic Routing Basic Routing The term routing refers to taking a packet from one device and sending it through the network to another device on a different network. Routers don t really care about

More information

Top-Down Network Design

Top-Down Network Design Top-Down Network Design Chapter Seven Selecting Switching and Routing Protocols Original slides by Cisco Press & Priscilla Oppenheimer Selection Criteria for Switching and Routing Protocols Network traffic

More information

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo Vendor: Alcatel-Lucent Exam Code: 4A0-102 Exam Name: Alcatel-Lucent Border Gateway Protocol Version: Demo QUESTION 1 Upon the successful establishment of a TCP session between peers, what type of BGP message

More information

An Architecture to Manage Incoming Traffic of Inter-Domain Routing Using OpenFlow Networks

An Architecture to Manage Incoming Traffic of Inter-Domain Routing Using OpenFlow Networks information Article An Architecture to Manage Incoming Traffic of Inter-Domain Routing Using OpenFlow Networks Walber José Adriano Silva Center for Informatics, Federal University of Pernambuco, Recife

More information

Inter-Domain Routing: BGP

Inter-Domain Routing: BGP Inter-Domain Routing: BGP Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Inter-Domain Routing Internet is a network of networks Hierarchy

More information

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane Chapter 5 Network Layer: The Control Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you

More information

BTSDN: BGP-based Transition for the Existing Networks to SDN

BTSDN: BGP-based Transition for the Existing Networks to SDN BTSDN: BGP-based Transition for the Existing Networks to SDN Pingping Lin, Jun Bi, Hongyu Hu Institute for Network Sciences and Cyberspace, Tsinghua University Department of Computer Science, Tsinghua

More information

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class Computer Network Homework#3 COMPUTER NETWORK Homework #3 Due Date: May 22, 2017 in class Question 1 Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes

More information

COM-208: Computer Networks - Homework 6

COM-208: Computer Networks - Homework 6 COM-208: Computer Networks - Homework 6. (P22) Suppose you are interested in detecting the number of hosts behind a NAT. You observe that the IP layer stamps an identification number sequentially on each

More information

CS BGP v4. Fall 2014

CS BGP v4. Fall 2014 CS 457 - BGP v4 Fall 2014 Autonomous Systems What is an AS? a set of routers under a single technical administration uses an interior gateway protocol (IGP) and common metrics to route packets within the

More information

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet Chapter 5: outline 5.1 introduction 5.5 The SDN control 5.2 routing protocols plane link state 5.6 ICMP: The Internet distance vector Control Message 5.3 intra-as routing in Protocol the Internet t 5.7

More information

Chapter IV: Network Layer

Chapter IV: Network Layer Chapter IV: Network Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross Hierarchical routing our routing study thus far - idealization

More information

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane Chapter 5 Network Layer: The Control Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you

More information

Supporting Quality of Service for Internet Applications A thesis presented for the degree of Master of Science Research

Supporting Quality of Service for Internet Applications A thesis presented for the degree of Master of Science Research Supporting Quality of Service for Internet Applications A thesis presented for the degree of Master of Science Research Department of Computer Systems Faculty of Information Technology University of Technology,

More information

Inter-Autonomous-System Routing: Border Gateway Protocol

Inter-Autonomous-System Routing: Border Gateway Protocol Inter-Autonomous-System Routing: Border Gateway Protocol Antonio Carzaniga Faculty of Informatics University of Lugano June 14, 2005 Outline Hierarchical routing BGP Routing Routing Goal: each router u

More information

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Computer Networks II Border Gateway protocol (BGP) By: Dr. Alireza Abdollahpouri Internet structure: network of networks local ISP Tier

More information

Operation Manual BGP. Table of Contents

Operation Manual BGP. Table of Contents Table of Contents Table of Contents... 1-1 1.1 BGP/MBGP Overview... 1-1 1.1.1 Introduction to BGP... 1-1 1.1.2 BGP Message Types... 1-2 1.1.3 BGP Routing Mechanism... 1-2 1.1.4 MBGP... 1-3 1.1.5 BGP Peer

More information

Inter-domain Routing. Outline. Border Gateway Protocol

Inter-domain Routing. Outline. Border Gateway Protocol Inter-domain Routing Outline Border Gateway Protocol Internet Structure Original idea CS 640 2 Internet Structure Today CS 640 3 Route Propagation in the Internet Autonomous System (AS) corresponds to

More information

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Inter-AS routing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Chapter 4:

More information

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013 CS 43: Computer Networks Internet Routing Kevin Webb Swarthmore College November 14, 2013 1 Reading Quiz Hierarchical routing Our routing study thus far - idealization all routers identical network flat

More information

Chapter 4: outline. Network Layer 4-1

Chapter 4: outline. Network Layer 4-1 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram networks 4.3 what s inside a router 4.4 IP: Internet Protocol datagram format IPv4 addressing ICMP IPv6 4.5 routing algorithms link

More information

BGP IN THE DATA CENTER

BGP IN THE DATA CENTER BGP IN THE DATA CENTER A PACKET DESIGN E-BOOK Contents Page 3 : BGP the Savior Page 4 : Traditional Data Center Architecture Traffic Flows Scalability Spanning Tree Protocol (STP) Page 6 : CLOS Architecture

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Q&A Session Rüdiger Birkner Tobias Bühler https://comm-net.ethz.ch/ ETH Zürich August 6 2018 Old exam from 2016 3 hours instead of 2.5 Topics which we did not discuss

More information

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol) Intra-domain routing The Story So Far Routing protocols generate the forwarding

More information

Inter-AS routing and BGP. Network Layer 4-1

Inter-AS routing and BGP. Network Layer 4-1 Inter-AS routing and BGP Network Layer 4-1 Review: intra-as routing v Also known as interior gateway protocols (IGP) v Most common intra-as routing protocols: RIP: Routing Information Protocol, distance

More information

Network Layer: The Control Plane

Network Layer: The Control Plane Network Layer: The Control Plane 7 th Edition, Global Edition Jim Kurose, Keith Ross Pearson April 06 5- Software defined networking (SDN) Internet network layer: historically has been implemented via

More information

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017 CS 43: Computer Networks Internet Routing Kevin Webb Swarthmore College November 16, 2017 1 Hierarchical routing Our routing study thus far - idealization all routers identical network flat not true in

More information

Inter-Autonomous-System Routing: Border Gateway Protocol

Inter-Autonomous-System Routing: Border Gateway Protocol Inter-Autonomous-System Routing: Border Gateway Protocol Antonio Carzaniga Faculty of Informatics University of Lugano December 10, 2014 Outline Hierarchical routing BGP Routing 2005 2007 Antonio Carzaniga

More information

Performance Analysis on a BGP Network using Wireshark Analyzer

Performance Analysis on a BGP Network using Wireshark Analyzer Performance Analysis on a BGP Network using Wireshark Analyzer *MaryAnne Binarao Taquiqui, PhD College of Computer Studies, AMA International University Bahrain, Kingdom of Bahrain Abstract Border Gateway

More information

Routing Overview for Firepower Threat Defense

Routing Overview for Firepower Threat Defense Path Determination This chapter describes underlying concepts of how routing behaves within the Cisco Firepower Threat Defense, and the routing protocols that are supported. Routing is the act of moving

More information

Border Gateway Protocol - BGP

Border Gateway Protocol - BGP BGP Fundamentals Border Gateway Protocol - BGP Runs over TCP (port 179) TCP connection required before BGP session Need to be reachable! Path vector routing protocol Best path selection based on path attributes

More information

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services: NET 331 Computer Networks Lecture 12 Internet Routing Protocols Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose and Ross, (c) Pearson Education

More information

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: Appendix C BGP Supplement This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics: BGP Route Summarization Redistribution with IGPs Communities Route

More information

Cisco Extensible Network Controller

Cisco Extensible Network Controller Data Sheet Cisco Extensible Network Controller Product Overview Today s resource intensive applications are making the network traffic grow exponentially putting high demands on the existing network. Companies

More information

COMP/ELEC 429 Introduction to Computer Networks

COMP/ELEC 429 Introduction to Computer Networks COMP/ELEC 429 Introduction to Computer Networks Lecture 11: Inter-domain routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at

More information

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm Last time Transitioning to IPv6 Tunneling Gateways Routing Graph abstraction Link-state routing Dijkstra's Algorithm Distance-vector routing Bellman-Ford Equation 10-1 This time Distance vector link cost

More information

Routing Protocols. Technology Description BGP CHAPTER

Routing Protocols. Technology Description BGP CHAPTER CHAPTER 11 This chapter describes the level of support that Cisco ANA provides for routing protocols, as follows: Technology Description, page 11-1 Information Model Objects (IMOs), page 11-3 Vendor-Specific

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 12: Inter-domain routing Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu

More information

Table of Contents. Cisco Introduction to EIGRP

Table of Contents. Cisco Introduction to EIGRP Table of Contents Introduction to EIGRP...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1 Components Used...1 What is IGRP?...2 What is EIGRP?...2 How Does EIGRP Work?...2 EIGRP

More information

GEO BASED ROUTING FOR BORDER GATEWAY PROTOCOL IN ISP MULTI-HOMING ENVIRONMENT

GEO BASED ROUTING FOR BORDER GATEWAY PROTOCOL IN ISP MULTI-HOMING ENVIRONMENT GEO BASED ROUTING FOR BORDER GATEWAY PROTOCOL IN ISP MULTI-HOMING ENVIRONMENT Duleep Thilakarathne (118473A) Degree of Master of Science Department of Electronic and Telecommunication Engineering University

More information

BTEC Level 3 Extended Diploma

BTEC Level 3 Extended Diploma BTEC Level 3 Extended Diploma Unit 9 Computer Network Routing and Routing Protocols BTEC Level 3 Extended Diploma Introduction to Routing Routing is the process that a router uses to forward packets toward

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Network Layer ICMP (5.6), Network Management(5.7) & SDN (5.1, 5.5, 4.4) Prof. Lina Battestilli Fall 2017 Outline 5.6 ICMP: The Internet Control Message

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.15 Chapter 4: outline 4.1 introduction 4.2 virtual circuit and datagram

More information

Routing(2) Inter-domain Routing

Routing(2) Inter-domain Routing Routing(2) Inter-domain Routing Information Network I Youki Kadobayashi 1 Outline! Distance vector routing! Link state routing! IGP and EGP Intra-domain routing protocol, inter-domain routing protocol!

More information

Chapter 4: Network Layer

Chapter 4: Network Layer Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What s inside a router 4.4 IP: Internet Protocol Datagram format IPv4 addressing ICMP IPv6 4.5 Routing algorithms

More information

Web-Based User Interface for the Floodlight SDN Controller

Web-Based User Interface for the Floodlight SDN Controller 3175 Web-Based User Interface for the Floodlight SDN Controller Hakan Akcay Department of Computer Engineering, Istanbul University, Istanbul Email: hknakcay@gmail.com Derya Yiltas-Kaplan Department of

More information

Shim6: Network Operator Concerns. Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI

Shim6: Network Operator Concerns. Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI Shim6: Network Operator Concerns Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI Not Currently Supporting IPv6? Many parties are going forward with IPv6 Japan

More information

Routing, Routing Algorithms & Protocols

Routing, Routing Algorithms & Protocols Routing, Routing Algorithms & Protocols Computer Networks Lecture 6 http://goo.gl/pze5o8 Circuit-Switched and Packet-Switched WANs 2 Circuit-Switched Networks Older (evolved from telephone networks), a

More information

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class Computer Network Homework#2 COMPUTER NETWORK Homework #3 Due Date: May 22, 2017 in class Question 1 Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes

More information

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

CS 43: Computer Networks. 24: Internet Routing November 19, 2018 CS 43: Computer Networks 24: Internet Routing November 19, 2018 Last Class Link State + Fast convergence (reacts to events quickly) + Small window of inconsistency Distance Vector + + Distributed (small

More information

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols Top-Down Network Design Chapter Seven Selecting Switching and Routing Protocols Copyright 2010 Cisco Press & Priscilla Oppenheimer 1 Switching 2 Page 1 Objectives MAC address table Describe the features

More information

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m. CS118 Discussion 1A, Week 7 Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m. 1 Outline Network control plane Routing Link state routing (OSPF) Distance vector routing (RIP) BGP ICMP Midterm/Project 2

More information

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS Chun Yuan Cheng OUTLINE - Introduction - Two prototypes - Conclusion INTRODUCTION - An open, vendor neutral, control-data plane interface such as OpenFlow allows

More information

Routing in the Internet

Routing in the Internet Routing in the Internet Daniel Zappala CS 460 Computer Networking Brigham Young University Scaling Routing for the Internet 2/29 scale 200 million destinations - can t store all destinations or all prefixes

More information

Internet Routing : Fundamentals of Computer Networks Bill Nace

Internet Routing : Fundamentals of Computer Networks Bill Nace Internet Routing 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Looking Ahead Lab #2 just due Quiz #2

More information

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing:

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing: : Computer Networks Lecture 4, Part 5: Mar 1, 2004 Internet Routing: AS s, igp, and BGP As we said earlier, the Internet is composed of Autonomous Systems (ASs) Where each AS is a set of routers, links,

More information

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1 Network Protocols Routing TDC375 Autumn 03/04 John Kristoff - DePaul University 1 IPv4 unicast routing All Internet hosts perform basic routing for local net destinations, forward to local host for non-local

More information

CSc 450/550 Computer Networks Internet Routing

CSc 450/550 Computer Networks Internet Routing CSc 450/550 Computer Networks Internet Routing Jianping Pan Summer 2007 7/12/07 CSc 450/550 1 Review Internet Protocol (IP) IP header addressing class-based, classless, hierarchical, NAT routing algorithms

More information

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation: IPv6 Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation: header format helps speed processing/forwarding header changes to facilitate QoS IPv6 datagram format:

More information

Internet Architecture and Experimentation

Internet Architecture and Experimentation Internet Architecture and Experimentation Today l Internet architecture l Principles l Experimentation A packet switched network Modern comm. networks are packet switched Data broken into packets, packet

More information

PART III. Implementing Inter-Network Relationships with BGP

PART III. Implementing Inter-Network Relationships with BGP PART III Implementing Inter-Network Relationships with BGP ICNP 2002 Routing Protocols Autonomous System BGP-4 BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today

More information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018 CSCE 463/612 Networks and Distributed Processing Spring 2018 Network Layer V Dmitri Loguinov Texas A&M University April 17, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross Chapter 4:

More information

Introduction to Segment Routing

Introduction to Segment Routing Segment Routing (SR) is a flexible, scalable way of doing source routing. Overview of Segment Routing, page 1 How Segment Routing Works, page 2 Examples for Segment Routing, page 3 Benefits of Segment

More information

Taxonomy of SDN. Vara Varavithya 17 January 2018

Taxonomy of SDN. Vara Varavithya 17 January 2018 Taxonomy of SDN Vara Varavithya 17 January 2018 Modern Data Center Environmentally protected warehouses Large number of computers for compute and storage Blades Computer- Top-of-Rack (TOR) Switches Full

More information

Introduction to IP Routing. Geoff Huston

Introduction to IP Routing. Geoff Huston Introduction to IP Routing Geoff Huston Routing How do packets get from A to B in the Internet? A Internet B Connectionless Forwarding Each router (switch) makes a LOCAL decision to forward the packet

More information

Routing Unicast routing protocols

Routing Unicast routing protocols Routing Unicast routing protocols Jens A Andersson Electrical and Information Technology R1 Choosing an Optimal Path R4 5 R7 5 10 40 R6 6 5 B R2 15 A 20 4 10 10 R8 R3 5 10 R5 1 Router A router is a type

More information

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097 Chair for Network Architectures and Services Prof. Carle Department of Computer Science TU München Master Course Computer Networks IN2097 Prof. Dr.-Ing. Georg Carle Christian Grothoff, Ph.D. Stephan Günther

More information

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure Outline 15-441 15-441 Computer Networking 15-641 Lecture 10: Inter-Domain outing Border Gateway Protocol -BGP Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 outing hierarchy Internet structure

More information

UNIVERSITY OF CAGLIARI

UNIVERSITY OF CAGLIARI UNIVERSITY OF CAGLIARI DIEE - Department of Electrical and Electronic Engineering Infrastrutture ed Applicazioni Avanzate nell Internet SDN: Control Plane ACK: content taken from Foundations of Modern

More information

Lecture 14 SDN and NFV. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 14 SDN and NFV. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 14 SDN and NFV Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Traditional network vs SDN TRADITIONAL Closed equipment Software + hardware Cost Vendor-specific management.

More information

Chapter 13 Configuring BGP4

Chapter 13 Configuring BGP4 Chapter 13 Configuring BGP4 This chapter provides details on how to configure Border Gateway Protocol version 4 (BGP4) on HP products using the CLI and the Web management interface. BGP4 is supported on

More information

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice Hierarchical Routing Our routing study thus far - idealization all routers identical network flat not true in practice scale: with 200 million destinations: can t store all destinations in routing tables!

More information

Chapter 7 Routing Protocols

Chapter 7 Routing Protocols Chapter 7 Routing Protocols Nonroutable Protocols In the early days of networking, networks were small collections of computers linked together For the purposes of sharing information and expensive peripherals

More information

Multihoming with BGP and NAT

Multihoming with BGP and NAT Eliminating ISP as a single point of failure www.noction.com Table of Contents Introduction 1. R-NAT Configuration 1.1 NAT Configuration 5. ISPs Routers Configuration 3 15 7 7 5.1 ISP-A Configuration 5.2

More information

Intelligent Routing Platform

Intelligent Routing Platform WHITE PAPER Bring Intelligence to your Network Copyright 2018 Noction Inc. Table of Contents 1. Executive Summary...3 2. The Challenge of a Multi-Homed Environment...4 3. Network Congestion and Blackouts...4

More information

Module 6 Implementing BGP

Module 6 Implementing BGP Module 6 Implementing BGP Lesson 1 Explaining BGP Concepts and Terminology BGP Border Gateway Protocol Using BGP to Connect to the Internet If only one ISP, do not need BGP. If multiple ISPs, use BGP,

More information

Accelerating SDN and NFV Deployments. Malathi Malla Spirent Communications

Accelerating SDN and NFV Deployments. Malathi Malla Spirent Communications Accelerating SDN and NFV Deployments Malathi Malla Spirent Communications 2 Traditional Networks Vertically integrated Closed, proprietary Slow innovation 3 Infinite Complexity of Testing Across virtual

More information

TELE 301 Network Management

TELE 301 Network Management TELE 301 Network Management Lecture 24: Exterior Routing and BGP Haibo Zhang Computer Science, University of Otago TELE301 Lecture 16: Remote Terminal Services 1 Today s Focus How routing between different

More information

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016 CS 457 Networking and the Internet Fall 2016 The Global Internet (Then) The tree structure of the Internet in 1990 The Global Internet (And Now) A simple multi-provider Internet 1 The Global Internet Some

More information

Chapter 5 Network Layer: The Control Plane

Chapter 5 Network Layer: The Control Plane Chapter 5 Network Layer: The Control Plane A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you

More information

Routing Overview. Path Determination

Routing Overview. Path Determination This chapter describes underlying concepts of how routing behaves within the Cisco ASA, and the routing protocols that are supported. Routing is the act of moving information across a network from a source

More information

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP) Important Lessons From Last Lecture 15-441 Computer Networking Inter-Domain outing BGP (Border Gateway Protocol) Every router needs to be able to forward towards any destination Forwarding table must be

More information

Routing Protocols --- Exterior Gateway Protocol

Routing Protocols --- Exterior Gateway Protocol Content Routing Protocols --- Exterior Gateway Protocol Linda Wu (CMPT 471 23-3) Limiting router interaction Autonomous system BGP protocol BGP messages Other issues on BGP Reference: chapter 15 Notes-13

More information

Lecture 19: Network Layer Routing in the Internet

Lecture 19: Network Layer Routing in the Internet Lecture 19: Network Layer Routing in the Internet COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F

More information

Keywords SDN, Firewall, Openflow, Mininet, Pox

Keywords SDN, Firewall, Openflow, Mininet, Pox Volume 6, Issue 6, June 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Development of

More information

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header Table of Contents BGP Configuration 1 BGP Overview 1 Introduction to BGP 1 Formats of BGP Messages 1 BGP Path Attributes 4 BGP Route Selection 8 Configuring BGP 8 Configuration Prerequisites 8 Configuration

More information

Course Routing Classification Properties Routing Protocols 1/39

Course Routing Classification Properties Routing Protocols 1/39 Course 8 3. Routing Classification Properties Routing Protocols 1/39 Routing Algorithms Types Static versus dynamic Single-path versus multipath Flat versus hierarchical Host-intelligent versus router-intelligent

More information

Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30

Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30 Review for Chapter 4 R1,R2,R3,R7,R10,R11,R16,R17,R19,R22,R24, R26,R30 P1,P2,P4,P7,P10,P11,P12,P14,P15,P16,P17,P22,P24,P29,P30 R1. Let s review some of the terminology used in this textbook. Recall that

More information

Open Shortest Path First (OSPF)

Open Shortest Path First (OSPF) CHAPTER 42 Open Shortest Path First (OSPF) Background Open Shortest Path First (OSPF) is a routing protocol developed for Internet Protocol (IP) networks by the interior gateway protocol (IGP) working

More information

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Lecture 12. Introduction to IP Routing. Why introduction? Routing Lecture. Introduction to IP Routing Why introduction? Routing: very complex issue need in-depth study entire books on routing our scope: give a flavour of basic routing structure and messaging give an

More information

! Distance vector routing! Link state routing.! Path vector routing! BGP: Border Gateway Protocol! Route aggregation

! Distance vector routing! Link state routing.! Path vector routing! BGP: Border Gateway Protocol! Route aggregation ! Distance vector routing! Link state routing Information Network I Youki Kadobayashi! IGP and EGP Intra-domain routing protocol, inter-domain routing protocol! Path vector routing! BGP: Border Gateway

More information