Design and implementation of TCP and SCTP connection migration function for an IP high availability framework

This thesis explains how to create a software for IP fail-over which also supports migration of TCP and SCTP states.

Initially existing solutions for TCP-state transfer were studied to see if they could be built on but after the investigation was done we decided to design and develop an entirely new implementation. A basic design was created and TCP together with SCTP was studied to find which state-information that needed to be shared between the nodes and also which header-data that was needed to be changed after a connection migration.

The final design is a daemon which runs on two or more server nodes. The daemon listens to two separate IP-numbers, one service-ip and one for being able to hand-over connections to the other node when doing a switch-over. OpenAIS is used to provide heartbeat monitoring and sharing of state-information. An application API was also created so a service-application can get information if a new socket has been moved, if a switch-over is going to happen and to acknowledge a move and send state-specific data to the standby node. When a switch-over is made, all new connections will directly be passed on to the standby node and then all service-applications are notified. When the service-applications are ready to transfer the state, they send an acknowledgement back and then all packets for that connection will be redirected to the new server-node. When all connections have been moved the service-ip is moved to the standby node.

The main difference between this work and previous published solutions is that it supports SCTP-state transfers and that it’s written in user-space and therefore portable between different operating systems.

Author: Haggmark, Joacim

Source: Lulea University of Technology

Download Link: Click Here To Download This Report (PDF)

Reference URL: Visit Now

Leave a Comment