Efficient handling of connectionless networking protocol messages with low memory utilization could be achieved by using hardware acceleration. A flexible solution for this is to use FPGAs (Field Programmable Gate Array). When lower level protocols are implemented in such manner, they will provide fast and predictable service characteristics for their upper layer protocols. The software implementation of protocol handling introduces relatively long delay and high delay variation (a.k.a jitter). These could be eliminated by using the pure hardware implementation of the protocol stack. One root cause of the mentioned side effects is the hosting operating system’s scheduling algorithm.
The purpose of this project is to develop generalized approach for implementing protocols using FPGA hardware, and to validate the theory with implementing an application layer protocol, the SNMP (Simple Network Management Prtocol) using the resulting framework.
During these two semesters of the thesis work the designed framework has been developed in VHDL (Very-High-Speed Integrated Circuits Hardware Description Language). It follows the basic principles of the OSI reference presenting a general toolkit for the handling of PDUs (Protocol-Data-Unit) and IDUs (Interface-Data-Unit). Besides, it also provides solution for other frequently reappearing tasks in the aid of convenient and smoother implementation of various protocols.
To utilize the final, hardware-accelerated, partial implementation of SNMP further lower layer protocols had to be implemented as well. These include the IEEE 802.3 MAC (Medium Access Control) with full-duplex operation, the ARP (Address Resolution Protocol) for handling Ethernet hardware and IPv4 protocol address space, the IPv4 without fragmentation and reassembly and the UDP (User Datagram Protocol), as the underlying transport protocol of SNMP.
At the end of the final implementation, validating measurements have been made. These aimed to prove the correctness and the usability of the designed framework. The implemented system was tested against various link, network and transport layer hardware and software products from 3rd party vendors. Conformance testing was also carried out with a couple of network management software.