Implementing a High Performance
Object Oriented TCP/IP Protocol Stack
Thesis for the Degree of Master of Science
Peter Kjellerstedt and Henrik Baard
June 2, 1997
Axis Communications AB, Lund, Sweden
Department of Information Technology,
Lund Institute of Technology,
Lund University, Sweden
|Supervisors:||Mats Brorsson (IT, LU)|
|Stefan Sandström (Axis Communications AB)|
This thesis reports on a TCP/IP protocol stack written in C++. It contains the design and implementation of the UDP, IP and ARP protocols. It also describes two different methods to measure the performance of a protocol stack.
With most protocol stacks of today written in C, we wanted to show that it is possible to write one in an object oriented language. By choosing C++ we gained the advantages of an object oriented language, i.e. modularity, inheritance and abstraction, while retaining the efficiency of C. To verify the performance of our protocol stack, we needed some method to test it with. Due to the lack of good, existing methods, we had to develop our own performance test.
By implementing a UDP/IP stack we have shown that it is possible to create an efficient protocol stack using object oriented methods. And, as our performance tests show, our stack is comparable in speed with the existing protocol stack in Linux.