Network coding for transport protocols
Authors:   , Gheorghiu Steluta 
Published: July 2023

With the proliferation of smart devices that require Internet connectivity anytime, anywhere, and the recent technological
advances that make it possible, current networked systems will have to provide a various range of services, such as content
distribution, in a wide range of settings, including wireless environments. Wireless links may experience temporary losses,
however, TCP, the de facto protocol for robust unicast communications, reacts by reducing the congestion window drastically
and injecting less traffic in the network. Consequently the wireless links are underutilized and the overall performance of the
TCP protocol in wireless environments is poor. As content delivery (i.e. multicasting) services, such as BBC iPlayer, become
popular, the network needs to support the reliable transport of the data at high rates, and with specific delay constraints. A
typical approach to deliver content in a scalable way is to rely on peer-to-peer technology (used by BitTorrent, Spotify and
PPLive), where users share their resources, including bandwidth, storage space, and processing power. Still, these systems
suffer from the lack of incentives for resource sharing and cooperation, and this problem is exacerbated in the presence of
heterogenous users, where a tit-for-tat scheme is difficult to implement.
Due to the issues highlighted above, current network architectures need to be changed in order to accommodate the users¿
demands for reliable and quality communications. In other words, the emergent need for advanced modes of information
transport requires revisiting and improving network components at various levels of the network stack.
The innovative paradigm of network coding has been shown as a promising technique to change the design of networked
systems, by providing a shift from how data flows traditionally move through the network. This shift implies that data flows are
no longer kept separate, according to the ¿store-and-forward¿ model, but they are also processed and mixed in the network. By
appropriately combining data by means of network coding, it is expected to obtain significant benefits in several areas of
network design and architecture.
In this thesis, we set out to show the benefits of including network coding into three communication paradigms, namely point-topoint
communications (e.g. unicast), point-to-multipoint communications (e.g. multicast), and multipoint-to-multipoint
communications (e.g. peer-to-peer networks). For the first direction, we propose a network coding-based multipath scheme and
show that TCP unicast sessions are feasible in highly volatile wireless environments. For point-to-multipoint communications,
we give an algorithm to optimally achieve all the rate pairs from the rate region in the case of degraded multicast over the
combination network. We also propose a system for live streaming that ensures reliability and quality of service to heterogenous
users, even if data transmissions occur over lossy wireless links. Finally, for multipoint-to-multipoint communications, we design
a system to provide incentives for live streaming in a peer-to-peer setting, where users have subscribed to different levels of
quality.
Our work shows that network coding enables a reliable transport of data, even in highly volatile environments, or in delay
sensitive scenarios such as live streaming, and facilitates the implementation of an efficient incentive system, even in the
presence of heterogenous users. Thus, network coding can solve the challenges faced by next generation networks
in order to support advanced information transport.