Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.
Modularization of routing protocols
The requirements on network systems, such as IP routers, are rapidly increasing. More services and protocols are continuously being added to the list of requirements expected by an IP router, and existing protocols are augmented with new features. This development has impact on the control plane of routers, in the sense that it increases in size and complexity. This affects both the robustness and the performance of the control plane.
Within this project, we study new architectures for network systems. In particular, we are interested in decentralized modular architectural approaches to network system design. We consider network systems that are composed of independent modules that can be mapped onto different processing elements. These modules communicate through open well-defined communication interfaces over an internal network. Our work is based on the framework defined by the IETF ForCES (Forwarding and Control Element Separation) working group. Accordingly, there are two main types of element: control elements (CE) and forwarding elements (FE). CEs are typically CPU-based elements implementing control functions, such as routing, signaling, and network management. FEs are responsible for packet processing and can be based on a variety of hardware types, such as ASICs, FPGAs, NPUs, or CPUs.
The overall objective with the project is to address control plane robustness and performance. Robustness can be achieved through the use of redundancy by replicating functionality over multiple modules. It is further possible to achieve load balancing by spreading work load over multiple identical modules mapped onto different processing elements.
The starting point for the work is a distributed control plane architecture for decentralized modular network systems. This design allows for redundancy and load balancing through functional replication, and the mapping of functional modules onto several processing element. We apply this approach on BGP (Border Gateway Protocol) to achieve improved control plane performance and reliability.
The main work methodology used within this project is based on design, implementation, and experimental verification.
A basic design for dividing BGP into two different modules—BGP session management and BGP service processing—is available. The session manager communicates BGP information with external peers and can dispatch incoming BGP UPDATE messages over multiple BGP service processing modules. You will suggest and design basic communication mechanisms needed for:
* Load balancing over multiple BGP service processing modules
* Failure detection in case of failing BGP service processing modules
* Redistribution of workload in case of failing BGP service processing modules
You will use open source routing software (Zebra or Quagga) running on a Linux operating system. This will be the basis for the implementation of the BGP service processes. The session manager will be implemented from scratch, preferably in C. A Java-based implementation of the session manager can be used as a starting point. To emulate a distributed system with multiple processing elements, you will use VMware in a Linux environment. Different modules (session managers and service processes) will run on separate virtual machines in this environment, and will communicate on top of the TCP/IP protocols.
Once a stable environment has been established, the implementation can be transferred to an environment for experimental evaluation in a straight-forward fashion. In this environment, the different modules can be mapped onto multiple rack-mounted CPUs interconnected with GE
switches (Gigabit Ethernet). The experimental platform can be used for performance measurements regarding load balancing and for evaluation of fail-over mechanisms between service processes.
The first steps in the thesis project should be th
Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.