The calculation of the internet checksum is a frequently executed operation, which occurs when sending packets over a network connection. In this diploma thesis, we look into efficient calculation of the internet checksum. We describe the internet checksum and its properties, after which we give an overview of different implementations in various network stacks. We continue with the overview of various optimization techniques, later used in the development of an efficient algorithm for the calculation of the internet checksum.
We begin the engineering of the algorithm with a basic version which we gradually improve using assembly programming and vector instructions. We show the effect of used optimizations with an experimental evaluation and comparison of their execution times.
|