next up previous contents
Next: Contents

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.

Peter Kjellerstedt
Thu Jun 5 00:52:23 MET DST 1997