We propose a mechanism that incorporates network coding into TCP with only minor changes to the protocol stack, thereby allowing incremental deployment. In our scheme, the source transmits random linear combinations of packets currently in the congestion window. At the heart of our scheme is a new interpretation of ACKs - the sink acknowledges every degree of freedom (i.e., a linear combination that reveals one unit of new information) even if it does not reveal an original packet immediately. Such ACKs enable a TCP-like sliding-window approach to network coding. Our scheme has the nice property that packet losses are essentially masked from the congestion control algorithm. Our algorithm therefore reacts to packet drops in a smooth manner, resulting in a novel and effective approach for congestion control over networks involving lossy links such as wireless links. Our experiments show that our algorithm achieves higher throughput compared to TCP in the presence of lossy wireless links. We also establish the soundness and fairness properties of our algorithm.
In previous work (`Network coding meets TCP') we proposed a new protocol that interfaces network coding with TCP by means of a coding layer between TCP and IP. Unlike the usual batch-based coding schemes, the protocol uses a TCP-compatible sliding window code in combination with new rules for acknowledging bytes to TCP that take into account the network coding operations in the lower layer. The protocol was presented in a theoretical framework and considered only in conjunction with TCP Vegas. In this paper we present a real-world implementation of this protocol that addresses several importan…
The Transmission Control Protocol (TCP) was designed to provide reliable transport services in wired networks. In such networks, packet losses mainly occur due to congestion. Hence, TCP was designed to apply congestion avoidance techniques to cope with packet losses. Nowadays, TCP is also utilized in wireless networks where, besides congestion, numerous other reasons for packet losses exist. This results in reduced throughput and increased transmission round-trip time when the state of the wireless channel is bad. We propose a new network layer, that transparently sits below the transport laye…
Conventional TCP performance is significantly impaired under long latency and/or constrained bandwidth. While small Pacific Island states on satellite links experience this in the extreme, small populations and remoteness often rule out submarine fibre connections and their communities struggle to reap the benefits of the Internet. Network-coded TCP (TCP/NC) can increase goodput under high latency and packet loss, but has not been used to tunnel conventional TCP and UDP across satellite links before. We report on a feasibility study aimed at determining expected goodput gain across such TCP/NC…
We analyze the performance of TCP and TCP with network coding (TCP/NC) in lossy wireless networks. We build upon the simple framework introduced by Padhye et al. and characterize the throughput behavior of classical TCP as well as TCP/NC as a function of erasure rate, round-trip time, maximum window size, and duration of the connection. Our analytical results show that network coding masks erasures and losses from TCP, thus preventing TCP's performance degradation in lossy networks, such as wireless networks. It is further seen that TCP/NC has significant throughput gains over TCP. In addition…
We are interested in unicast traffic over wireless networks that employ constructive inter-session network coding, including single-hop and multi-hop schemes. In this setting, TCP flows do not fully exploit the network coding opportunities due to their bursty behavior and due to the fact that TCP is agnostic to the underlying network coding. In order to improve the performance of TCP flows over coded wireless networks, we take the following steps. First, we formulate the problem as network utility maximization and we present a distributed solution. Second, mimicking the structure of the optima…
The congestion control algorithms in TCP may incur inferior performance in a lossy network context like wireless networks. Previous works have shown that random linear network coding can improve the throughput of TCP in such networks, although it introduces extra decoding delay at the destination. In this paper we try to alleviate the decoding delay by replacing random linear network coding with LT Codes. Due to the inherent difference between linear network coding and Fountain Codes, such replacement is not as simple as it sounds. We conquer some practical problems and come up with TCP-Forwar…
We introduce CTCP, a novel multi-path transport protocol using network coding. CTCP is designed to incorporate TCP's good features, such as congestion control and reliability, while improving on TCP's performance in lossy and/or dynamic networks. CTCP builds upon the ideas of TCP/NC introduced by Sundararajan et al. and uses network coding to provide robustness against losses. We introduce the use of multiple paths to provide robustness against mobility and network failures. We provide an implementation of CTCP (in userspace) to demonstrate its performance.
Existing mobile devices have the capability to use multiple network technologies simultaneously to help increase performance; but they rarely, if at all, effectively use these technologies in parallel. We first present empirical data to help understand the mobile environment when three heterogeneous networks are available to the mobile device (i.e., a WiFi network, WiMax network, and an Iridium satellite network). We then propose a reliable, multi-path protocol called Multi-Path TCP with Network Coding (MPTCP/NC) that utilizes each of these networks in parallel. An analytical model is develope…
Since current widely available network protocols/systems are mainly throughput-oriented designs, meeting stringent delay requirements of new applications such as virtual reality and vehicle-to-vehicle communications on cellular network requires new network protocol/system designs. C2TCP is an effort toward that new design direction. C2TCP is inspired by in-network active queue management (AQM) designs such as RED and CoDel and motivated by lack of a flexible end-to-end (e2e) approach which can adapt itself to different applications' QoS requirements without modifying any network devices. It co…
Over the past years, TCP has gone through numerous updates to provide performance enhancement under diverse network conditions. However, with respect to losses, little can be achieved with legacy TCP detection and recovery mechanisms. Both fast retransmission and retransmission timeout take at least one extra round trip time to perform, and this might significantly impact performance of latency-sensitive applications, especially in lossy or high delay networks. While forward error correction (FEC) is not a new initiative in this direction, the majority of the approaches consider FEC inside the…
We analyze the performance of TCP and TCP with network coding (TCP/NC) in lossy networks. We build upon the framework introduced by Padhye et al. and characterize the throughput behavior of classical TCP and TCP/NC as a function of erasure probability, round-trip time, maximum window size, and duration of the connection. Our analytical results show that network coding masks random erasures from TCP, thus preventing TCP's performance degradation in lossy networks. It is further seen that TCP/NC has significant throughput gains over TCP. In addition, we show that TCP/NC may lead to cost reductio…
We introduce CTCP, a reliable transport protocol using network coding. CTCP is designed to incorporate TCP features such as congestion control, reliability, and fairness while significantly improving on TCP's performance in lossy, interference-limited and/or dynamic networks. A key advantage of adopting a transport layer over a link layer approach is that it provides backward compatibility with wireless equipment installed throughout existing networks. We present a portable userspace implementation of CTCP and extensively evaluate its performance in both testbed and production wireless network…
Utilizing device-to-device (D2D) connections among mobile devices is promising to meet the increasing throughput demand over cellular links. In particular, when mobile devices are in close proximity of each other and are interested in the same content, D2D connections such as Wi-Fi Direct can be opportunistically used to construct a cooperative (and jointly operating) cellular and D2D networking system. However, it is crucial to understand, quantify, and exploit the potential of network coding for cooperating mobile devices in the joint cellular and D2D setup. In this paper, we consider this p…
We show preliminary results for the performance of Network Coded TCP (CTCP) over large latency networks. While CTCP performs very well in networks with relatively short RTT, the slow-start mechanism currently employed does not adequately fill the available bandwidth when the RTT is large. Regardless, we show that CTCP still outperforms current TCP variants (i.e., Cubic TCP and Hybla TCP) for high packet loss rates (e.g., >2.5%). We then explore the possibility of a modified congestion control mechanism based off of H-TCP that opens the congestion window quickly to overcome the challenges of la…
This paper presents the first reliable physical-layer network coding (PNC) system that supports real TCP/IP applications for the two-way relay network (TWRN). Theoretically, PNC could boost the throughput of TWRN by a factor of 2 compared with traditional scheduling (TS) in the high signal-to-noise (SNR) regime. Although there have been many theoretical studies on PNC performance, there have been relatively few experimental and implementation efforts. Our earlier PNC prototype, built in 2012, was an offline system that processed signals offline. For a system that supports real applications, si…
To meet an increasing demand for multimedia services and electronic connectivity across the world, satellite networks will play an indispensable role in the deployment of global networks. The new services gaining momentum include mobile services, private intranets and high data rate internet access carried over integrated satellite-fiber networks. Several performance issues need to be addressed before a transport layer protocol, like TCP can satisfactorily work over satellite ATM for large delay-bandwidth networks. In this paper, we review the proposed satellite systems and discuss challenges …
In traditional networks, interfaces of network nodes are duplex. But, emerging communication technologies such as visible light communication, millimeter-wave communications, can only provide a unidirectional interface when cost is limited. It's urgent to find effective solutions to utilize such new unidirectional communication skills. Decoupling implies separating one single resource to two independent resources. This idea can be applied at physical layer, link layer, network layer, even transport layer. TCP decoupling is an end to end solution provided at transport layer. With decoupled TCP,…
A large number of streaming applications use reliable transport protocols such as TCP to deliver content over the Internet. However, head-of-line blocking due to packet loss recovery can often result in unwanted behavior and poor application layer performance. Transport layer coding can help mitigate this issue by helping to recover from lost packets without waiting for retransmissions. We consider the use of an on-line network code that inserts coded packets at strategic locations within the underlying packet stream. If retransmissions are necessary, additional coding packets are transmitted …
In this work we study the problem of misbehavior detection in wireless networks. A commonly adopted approach is to utilize the broadcasting nature of the wireless medium and have nodes monitor their neighborhood. We call such nodes the Watchdogs. In this paper, we first show that even if a watchdog can overhear all packet transmissions of a flow, any linear operation of the overheard packets can not eliminate miss-detection and is inefficient in terms of bandwidth. We propose a light-weigh misbehavior detection scheme which integrates the idea of watchdogs and error detection coding. We show t…
We study the cost of improving the goodput, or the useful data rate, to user in a wireless network. We measure the cost in terms of number of base stations, which is highly correlated to the energy cost as well as capital and operational costs of a network provider.We show that increasing the available bandwidth, or throughput, may not necessarily lead to increase in goodput, particularly in lossy wireless networks in which TCP does not perform well. As a result, much of the resources dedicated to the user may not translate to high goodput, resulting in an inefficient use of the network resour…
Driven by their quest to improve web performance, Content Delivery Networks (CDNs) are known adaptors of performance optimizations. In this regard, TCP congestion control and particularly its initial congestion window (IW) size is one long-debated topic that can influence CDN performance. Its size is, however, assumed to be static by IETF recommendations---despite being network- and application-dependent---and only infrequently changed in its history. To understand if the standardization and research perspective still meets Internet reality, we study the IW configurations of major CDNs. Our st…
The focus of user behavior in the Internet has changed over the recent years towards being driven by exchanging and accessing information. Many advances in networking technologies have utilized this change by focusing on the content of an exchange rather than the endpoints exchanging the content. Network coding and information centric networking are two examples of these technology trends, each being developed largely independent so far. This paper brings these areas together in an evolutionary as well as explorative setting for a new internetworking architecture. We outline opportunities for …
Cooperation among mobile devices and utilizing multiple interfaces such as cellular and local area links simultaneously are promising to meet the increasing throughput demand over cellular links. In particular, when mobile devices are in the close proximity of each other and are interested in the same content, device-to-device connections such as WiFi-Direct, in addition to cellular links, can be utilized to construct a cooperative system. However, it is crucial to understand the potential of network coding for cooperating mobile devices with multiple interfaces. In this paper, we consider thi…
We describe a method for remotely detecting intentional packet drops on the Internet via side channel inferences. That is, given two arbitrary IP addresses on the Internet that meet some simple requirements, our proposed technique can discover packet drops (e.g., due to censorship) between the two remote machines, as well as infer in which direction the packet drops are occurring. The only major requirements for our approach are a client with a global IP Identifier (IPID) and a target server with an open port. We require no special access to the client or server. Our method is robust to noise …
While every network node only relays messages in a traditional communication system, the recent network coding (NC) paradigm proposes to implement simple in-network processing with packet combinations in the nodes. NC extends the concept of "encoding" a message beyond source coding (for compression) and channel coding (for protection against errors and losses). It has been shown to increase network throughput compared to traditional networks implementation, to reduce delay and to provide robustness to transmission errors and network dynamics. These features are so appealing for multimedia appl…
The applications in the critical infrastructure systems pose simultaneous resilience and performance requirements to the underlying computer network. To meet such requirements, the networks that use the store-and-forward paradigm poses stringent conditions on the redundancy in the network topology and results in problems that becoming computationally challenging to solve at scale. However, with the advent of programmable data-planes, it is now possible to use linear network coding (NC) at the intermediate network nodes (i.e. hardware and software switches) to meet resilience requirements of th…
In this paper, we study the problem of reducing the delay of downloading data from cloud storage systems by leveraging multiple parallel threads, assuming that the data has been encoded and stored in the clouds using fixed rate forward error correction (FEC) codes with parameters (n, k). That is, each file is divided into k equal-sized chunks, which are then expanded into n chunks such that any k chunks out of the n are sufficient to successfully restore the original file. The model can be depicted as a multiple-server queue with arrivals of data retrieving requests and a server corresponding …
Intersession network coding (NC) can provide significant performance benefits via mixing packets at wireless routers; these benefits are especially pronounced when NC is applied in conjunction with intelligent link scheduling. NC however imposes certain processing operations, such as encoding, decoding, copying and storage. When not utilized carefully, all these operations can induce tremendous processing overheads in practical, wireless, multi-rate settings. Our measurements with prior NC implementations suggest that such processing operations severely degrade the router throughput, especiall…
Most client hosts are equipped with multiple network interfaces (e.g., WiFi and cellular networks). Simultaneous access of multiple interfaces can significantly improve the users' quality of experience (QoE) in video streaming. An intuitive approach to achieve it is to use Multi-path TCP (MPTCP). However, the deployment of MPTCP, especially with link preference, requires OS kernel update at both the client and server side, and a vast amount of commercial content providers do not support MPTCP. Thus, in this paper, we realize a multi-path video streaming algorithm in the application layer inste…
Seamless connectivity plays a key role in realising QoS-based delivery in mobile networks. However, current handover mechanisms hinder the ability to meet this target, due to the high ratio of handover failures, packet loss and service interruption. These challenges are further magnified in Heterogeneous Cellular Networks (HCN) such as Advanced Long Term Evolution (LTE-Advanced) and LTE in unlicensed spectrum (LTE-LAA), due to the variation in handover requirements. Although mechanisms, such as Fast Handover for Proxy Mobile IPv6 (PFMIPv6), attempt to tackle these issues; they come at a high c…
We focus on a particular form of network coding, reverse carpooling, in a wireless network where the potentially coded transmitted messages are to be decoded immediately upon reception. The network is fixed and known, and the system performance is measured in terms of the number of wireless broadcasts required to meet multiple unicast demands. Motivated by the structure of the coding scheme, we formulate the problem as a linear program by introducing a flow variable for each triple of connected nodes. This allows us to have a formulation polynomial in the number of nodes. Using dual decomposit…
Most of the existing P2P content distribution schemes implement a random or rarest piece first dissemination procedure to avoid duplicate transmission of the same pieces of data and rare pieces of data occurring in the network. This problem can be solved using peer-to-peer content distribution based on network coding scheme. Network coding scheme uses random linear combination of coded pieces. Hence the above stated problem can be solved ease and simple. Our proposed mechanism uses network coding mechanism in which several contents of same message is grouped into different group and coding ope…