Software defined network : user centric network - Lim, Derrick Teck Leong. (2013)
The aim of this project is to improve network resiliency through the application of Software Defined Networking technologies. An application which captures packets sent during connection unavailability and then retransmits them when the connection was restored was developed. The application consists of two components, the OpenFlow controller, developed using the Trema framework, as well as the buffer, which runs on a standalone host. This application was then deployed in a network where a redundant path between two communicating hosts exists. A buffer was attached to each switch with a transmitting host. Under normal operating conditions, outgoing traffic from each host is mirrored to the buffer. When the link in use suffers an outage, the controller detects the link down event and calculates an alternate path. It then informs the buffer and instructs it to retransmit the packets that were captured during that interval. A test of the application was done by running two continuous pings, one from each host to the other. Then, the path in use was disconnected. While the latency for the packets affected during the period of disconnection was high, none of the packets were actually lost. Thus, the application is able to guarantee that all packets transmitted will reach their destination. However, the application did not perform as expected when higher level protocols were involved. This was partially due to the time needed to detect the link failure by the switch before the controller could be informed. Also, after an alternate path is discovered, new traffic from the transmitting host, unaware of the link failure, is interleaved with packets being retransmitted, causing packets to be received out of order.