An active router architecture using programmable hardware
thesisposted on 18.09.2018, 11:30 by Alexandros Fragkiadakis
The current generation of networks is referred as the passive or conventional networks. Their functionality is limited to transfer packets from one point to another. Passive nodes such as routers and switches are vertically integrated devices that allow small or no modification on the operations they perform. Their functionality is limited to the network and (sometimes) transport protocol layers. They perform no computation on the payload data of the packets they handle. Due to their nature, passive networks impose limitations such as the difficulties of introducing new protocols and services, and limited performance. There is a different approach in the computer networks field, called Active Networks. Active Networks consist of routers and switches (Active Nodes) that not only forward packets from one point to another but also perform customised computations on them. The applications that execute on the Active Nodes can be user-driven. This allows end-users to program the network and tailor its services to their needs. Users could also inject their own code, which programs intermediate Active Nodes. This thesis presents an Active Router architecture using programmable hardware. The router consists of two hosts running Linux. The separation of the router functionality into two hosts is performed for safety reasons. A PCI-based board that hosts a Field Programmable Gate Array (FPGA) device comprises the programmable hardware element of the router. The motivation for using an FPGA device is that it is reprogrammable, so Active Applications can be installed on the fly, and it provides a safer execution environment. The software architecture of the Active Router comprises several modules that implement tasks such as the safe download of applications from dedicated servers, resource management, fault detection and isolation. The performance evaluation of the Active Router reveals several bottlenecks and limitations such as the PCI bus, the interrupt-driven nature of the Linux operating system.
- Mechanical, Electrical and Manufacturing Engineering