A common problem in science networks and private wide area networks (WANs) is that of achieving predictable data transfers of multiple concurrent flows by maintaining specific pacing rates for each. We address this problem by developing a control algorithm based on concepts from model predictive control (MPC) to produce flows with smooth pacing rates and round trip times (RTTs). In the proposed approach, we model the bottleneck link as a queue and derive a model relating the pacing rate and the RTT. A MPC based control algorithm based on this model is shown to avoid the extreme window (which translates to rate) reduction that exists in current control algorithms when facing network congestion. We have implemented our algorithm as a Linux kernel module. Through simulation and experimental analysis, we show that our algorithm achieves the goals of a low standard deviation of RTT and pacing rate, even when the bottleneck link is fully utilized. In the case of multiple flows, we can assign different rates to each flow and as long as the sum of rates is less than bottleneck rate, they can maintain their assigned pacing rate with low standard deviation. This is achieved even when the flows have different RTTs.
TCPTuner is a TCP (transmission control protocol) congestion control kernel module and GUI (graphical user interface) for Linux that allows real-time modification of the congestion control parameters of TCP CUBIC, the current default algorithm in Linux. Specifically, the tool provides access to alpha, the rate at which a sender's congestion window grows; beta, the multiplicative factor to decrease the congestion window on a loss event; as well as CUBIC's fast convergence and tcp friendliness parameters. Additionally, the interface provides access to ip-route parameters for the minimum retransm…
Transmission Control Protocol (TCP) carries most of the traffic on the Internet these days. There are several implementations of TCP, and the most important difference among them is their mechanism for controlling congestion. One of the methods for determining type of a TCP is active probing. Active probing considers a TCP implementation as a black box, sends different streams of data to the appropriate host. According to the response received from the host, it figures out the type of TCP version implemented. TCP Behavior Inference Tool (TBIT) is an implemented tool that uses active probing to…
In this paper, we focus on the experimental evaluation of TCP over the High Speed Downlink Packet Access (HSDPA), an upgrade of UMTS that is getting worldwide deployment. Today, this is particularly important in view of the "liberalization" brought in by the Linux OS which offers several variants of TCP congestion control. In particular, we consider four TCP variants: 1) TCP NewReno, which is the only congestion control standardized by the IETF; 2) TCP BIC, that was, and 3) TCP Cubic that is the default algorithm in the Linux OS; 4) Westwood+ TCP that has been shown to be particularly effectiv…
Many applications want to use TCP congestion control to regulate the transmission rate of a data packet stream. A natural way to achieve this goal is to transport the data packet stream on a TCP connection. However, because TCP implements both congestion and error control, transporting a data packet stream directly using a TCP connection forces the data packet stream to be subject to TCP's other properties caused by TCP error control, which may be inappropriate for these applications. The TCP decoupling approach proposed in this thesis is a novel way of applying TCP congestion control to a dat…
Currently, TCP is the most popular and widely used network transmission protocol. In actual fact, about 90% of connections on the internet use TCP to communicate. Through several upgrades and improvements, TCP became well optimized for the very reliable wired networks. As a result, TCP considers all packet timeouts in wired networks as due to network congestion and not to bit errors. However, with networking becoming more heterogeneous, providing wired as well as wireless topologies, TCP suffers from performance degradation over error-prone wireless links as it has no mechanism to differentiat…
Congestion control has been an open research issue for more than two decades. More and more applications with narrow latency requirements are emerging which are not well addressed by existing proposals. In this paper we present TCP Scalable Increase Adaptive Decrease (SIAD), a new congestion control scheme supporting both high speed and low latency. More precisely, our algorithm aims to provide high utilization under various networking conditions, and therefore would allow operators to configure small buffers for low latency support. To provide full scalability with high speed networks, we des…
Transmission control protocol (TCP) is a connection oriented protocol for several types of distributed applications. TCP is reliable particularly for traditional fixed networks. With emergence of faster wireless networks, TCP has been performing poorly in its original format. The performance of TCP is affected due to assorted factors including congestion window, maximum packet size, retry limit, recovery mechanism, backup mechanism and mobility. To overcome deficiency of original TCP, Several modifications have been introduced to improve network quality. The mobility is a major hurdle in degra…
Identifying the occurrence of congestion in a Mobile Ad-hoc Network (MANET) is a major task. The inbuilt congestion control techniques of existing Transmission Control Protocol (TCP) designed for wired networks do not handle the unique properties of shared wireless multi-hop link. There are several approaches proposed for detecting and overcoming the congestion in the mobile ad-hoc network. In this paper we present a Modified AD-hoc Transmission Control Protocol (M-ADTCP) method where the receiver detects the probable current network status and transmits this information to the sender as feedb…
The choice of feedback mechanism between delay and packet loss has long been a point of contention in TCP congestion control. This has partly been resolved, as it has become increasingly evident that delay based methods are needed to facilitate modern interactive web applications. However, what has not been resolved is what control should be used, with the two candidates being the congestion window and the pacing rate. BBR is a new delay based congestion control algorithm that uses a pacing rate as its primary control and the congestion window as a secondary control. We propose that a congesti…
We introduce a model of the Relentless Congestion Control proposed by Matt Mathis. Relentless Congestion Control (RCC) is a modification of the AIMD (Additive Increase Multiplicative Decrease) congestion control which consists in decreasing the TCP congestion window by the number of lost segments instead of halving it. Despite some on-going discussions at the ICCRG IRTF-group, this congestion control has, to the best of our knowledge, never been modeled. In this paper, we provide an analytical model of this novel congestion control and propose an implementation of RCC for the commonly-used net…
TCP is designed for networks with assumption that major losses occur only due to congestion of network traffic. On a wireless network TCP misinterprets the transmission losses due to bit errors and handoffs as losses caused by congestion, and triggers congestion control mechanisms. Because of its end to end delivery model, congestion handling and avoidance mechanisms, TCP has been widely accepted as Transport layer protocol for internetworks. Extension of Internetworks over wireless links is inevitable with the spread of ubiquitous computing and mobile communications. This paper presents study…
FAST-TCP achieves better performance than traditional TCP-Reno schemes, but unfortunately it is inherently unfair to older connections due to wrong estimations of the round-trip propagation delay. This paper presents a model for this anomalous behavior of FAST flows, known as the persistent congestion problem. We first develop an elementary analysis for a scenario with just two flows, and then build up the general case with an arbitrary number of flows. The model correctly quantifies how much unfairness shows up among the different connections, confirming experimental observations made by seve…
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…
In this paper we study the design issues in improving TCP performance over the ATM UBR service. ATM-UBR switches respond to congestion by dropping cells when their buffers become full. TCP connections running over UBR can experience low throughput and high unfairness. Intelligent switch drop policies and end-system policies can improve the performance of TCP over UBR with limited buffers. We describe the various design options available to the network as well as to the end systems to improve TCP performance over UBR. We study the effects of Early Packet Discard, and two per-VC accounting based…
In this paper, we propose a quality-centric congestion control for multimedia streaming over IP networks, which we refer to as media-TCP. Unlike existing congestion control schemes that adapt a user's sending rate merely to the network condition, our solution adapts the sending rate to both the network condition and the application characteristics by explicitly considering the distortion impacts, delay deadlines, and interdependencies of different video packet classes. Hence, our media-aware solution is able to provide differential services for transmitting various packet classes and thereby, …
MultiPath TCP (MPTCP) is a promising protocol which brings new light to the TCP/IP protocol stack ossification problem by means of an impactful innovation of the transport layer. A MPTCP connection consists of a set of one or more subflows, where each subflow offers an alternative path to reach a target remote end-system. However, simply applying the standard TCP congestion control on each subflow would give an unfair resource sharing. Various subflows of a connection would dispute bottleneck links with regular single-path TCP connections, leading them to starvation conditions. To deal with th…
Transmission Control Protocol (TCP) is the dominant reliable transport protocol utilized in the Internet. Improving the performance of TCP associated with the presence of multi-hop is one of the research challenges in wireless mesh networks. Wireless mesh networks have large round trip time variations and these variations are dependent on the number of hops. In wireless mesh network, when congestion loss and wireless loss are co-existed the number of packets dropped increases and will have adverse effects on TCP and its congestion control mechanism which leads to low throughput. Here we have d…
In a mobile ad hoc network, temporary link failures and route changes occur frequently. With the assumption that all packet losses are due to congestion, TCP performs poorly in such an environment. There are many versions of TCP which modified time to time as per need. In this paper modifications introduced on TCP New Reno over mobile ad-hoc networks using calculation of New Retransmission Time out (RTO), to improve performance in term of congestion control. To calculate New RTO, adaptive backoff response approach (ABRA) in TCP New Reno was applied which suggest ABRA New Reno. It utilizes an A…
IEEE 802.11 is a widely used wireless LAN standard for medium access control. TCP is a prominent transport protocol originally designed for wired networks. TCP treats packet loss as congestion and reduces the data rate. In wireless networks packets are lost not only due to congestion but also due to various other reasons. Hence there is need for making TCP adaptable to wireless networks. Various parameters of TCP and IEEE 802.11 can be set to appropriate values to achieve optimum performance results. In this paper optimum values for various parameters of IEEE 802.11 are determined. Network sim…
TCP and its variants have suffered from surprisingly poor performance for decades. We argue the TCP family has little hope to achieve consistent high performance due to a fundamental architectural deficiency: hardwiring packet-level events to control responses without understanding the real performance result of its actions. We propose Performance-oriented Congestion Control (PCC), a new congestion control architecture in which each sender continuously observes the connection between its actions and empirically experienced performance, enabling it to consistently adopt actions that result in h…
With the proliferation of mobile computing devices, the demand for continuous network connectivity regardless of physical location has spurred interest in the use of mobile ad hoc networks. Since Transmission Control Protocol (TCP) is the standard network protocol for communication in the internet, any wireless network with Internet service need to be compatible with TCP. TCP is tuned to perform well in traditional wired networks, where packet losses occur mostly because of congestion. However, TCP connections in Ad-hoc mobile networks are plagued by problems such as high bit error rates, freq…
In mobile adhoc networks, congestion occurs with limited resources. The standard TCP congestion control mechanism is not able to handle the special properties of a shared wireless channel. TCP congestion control works very well on the Internet. But mobile adhoc networks exhibit some unique properties that greatly affect the design of appropriate protocols and protocol stacks in general, and of congestion control mechanism in particular. As it turned out, the vastly differing environment in a mobile adhoc network is highly problematic for standard TCP. Many approaches have been proposed to over…
Shanghai Institute for Advanced Communication and Data Science(上海先进通信与数据科学研究院);Shanghai University(上海大学)
Transmission control protocol (TCP) congestion control is one of the key techniques to improve network performance. TCP congestion control algorithm identification (TCP identification) can be used to significantly improve network efficiency. Existing TCP identification methods can only be applied to limited number of TCP congestion control algorithms and focus on wired networks. In this paper, we proposed a machine learning based passive TCP identification method for wired and wireless networks. After comparing among three typical machine learning models, we concluded that the 4-layers Long Sh…
The Transmission Control Protocol (TCP) utilizes congestion avoidance and control mechanisms as a preventive measure against congestive collapse and as an adaptive measure in the presence of changing network conditions. The set of available congestion control algorithms is diverse, and while many have been studied from empirical and simulation perspectives, there is a notable lack of analytical work for some variants. To gain more insight into the dynamics of these algorithms, we: (1) propose a general modeling scheme consisting of a set of functional differential equations of retarded type (R…
In the last decade, the demand for Internet applications has been increased, which increases the number of data centers across the world. These data centers are usually connected to each other using long-distance and high-speed networks. As known, the Transmission Control Protocol (TCP) is the predominant protocol used to provide such connectivity among these data centers. Unfortunately, the huge bandwidth-delay product (BDP) of these networks hinders TCP from achieving full bandwidth utilization. In order to increase TCP flexibility to adapt for high-BDP networks, we propose a new delay-based…
The Transmission Control Protocol (TCP) is one of the most important protocols in today's Internet. Its specification and implementations have been refined for almost forty years. The Linux TCP stack is one of the most widely used TCP stacks given its utilisation on servers and Android smartphones and tablets. However, TCP and its implementations evolve very slowly. In this paper, we demonstrate how to leverage the eBPF virtual machine that is part of the recent versions of the Linux kernel to make the TCP stack easier to extend. We demonstrate a variety of use cases where the eBPF code is inj…
The traditional TCP congestion control mechanism encounters a number of new problems and suffers a poor performance when the IEEE 802.11 MAC protocol is used in multihop ad hoc networks. Many of the problems result from medium contention at the MAC layer. In this paper, I first illustrate that severe medium contention and congestion are intimately coupled, and TCP s congestion control algorithm becomes too coarse in its granularity, causing throughput instability and excessively long delay. Further, we illustrate TCP s severe unfairness problem due to the medium contention and the tradeoff bet…
Existing transport protocols, be it TCP, SCTP or DCCP, do not provide an efficient congestion control mechanism for heterogeneous wired-cum-wireless networks. Solutions involving implicit loss discrimination schemes have been proposed but were never implemented. Appropriate mechanisms can dramatically improve bandwidth usage over the Internet, especially for multimedia transport based on partial reliability. In this paper we have implemented and evaluated a congestion control mechanism that implicitly discriminates congestion and wireless losses in the datagram congestion control protocol (DCC…
In data centers, the nature of the composite bursty traffic along with the small bandwidth-delay product and switch buffers lead to several congestion problems that are not handled well by traditional congestion control mechanisms such as TCP. Existing work try to address the problem by modifying TCP to suit the operational nature of data centers. This is practically feasible in private settings, however, in public environments, such modifications are prohibited. Therefore, in this work, we design simple switch-based queue management to deal with such congestion issues adequately. This approac…
Emerging standardization of Geo Mobile Radio (GMR-1) for satellite system is having strong resemblance to terrestrial GSM (Global System for Mobile communications) at the upper protocol layers and TCP (Transmission Control Protocol) is one of them. This space segment technology as well as terrestrial technology, is characterized by periodic variations in communication properties and coverage causing the termination of ongoing call as connections of Mobile Nodes (MN) alter stochastically. Although provisions are made to provide efficient communication infrastructure this hybrid space and terres…
The MGT fluid model has been used extensively to guide designs of AQM schemes aiming to alleviate adverse effects of Internet congestion. In this paper, we provide a new analysis of a TCP/AQM system that aims to improve the accuracy of the MGT fluid model especially in heavy traffic conditions. The analysis is based on the consideration of two extreme congestion scenarios that leads to the derivation of upper and lower bounds for the queue length and marking probability dynamics and showing that they approach each other in steady state. Both discrete and continuous time models are provided. Si…
In this work, we explore the performance of backpressure routing and scheduling for TCP flows over wireless networks. TCP and backpressure are not compatible due to a mismatch between the congestion control mechanism of TCP and the queue size based routing and scheduling of the backpressure framework. We propose a TCP-aware backpressure routing and scheduling that takes into account the behavior of TCP flows. TCP-aware backpressure (i) provides throughput optimality guarantees in the Lyapunov optimization framework, (ii) gracefully combines TCP and backpressure without making any changes to th…
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…
A well-known technique for enhancing the performance and stability of content distribution is the use of multiple dissemination flows. Multipath TCP (MPTCP), the most popular multiflow protocol on the Internet, allows receivers to exploit multiple paths towards a single sender. Nevertheless, MPTCP cannot fully exploit the potential gains of multipath connectivity, as it must fairly share resources with (single-flow) TCP, without a clear understanding of whether the available paths do share any bottleneck links. In this paper, we introduce a hybrid congestion control algorithm for multisource a…
When the stations in an IEEE 802.11 infrastructure Basic Service Set (BSS) employ Transmission Control Protocol (TCP) in the transport layer, this exacerbates per-flow unfair access which is a direct result of uplink/downlink bandwidth asymmetry in the BSS. We propose a novel and simple analytical model to approximately calculate the per-flow TCP congestion window limit that provides fair and efficient TCP access in a heterogeneous wired-wireless scenario. The proposed analysis is unique in that it considers the effects of varying number of uplink and downlink TCP flows, differing Round Trip T…
Recently, high-speed and short-distance networks are widely deployed and their necessity is rapidly increasing everyday. This type of networks is used in several network applications; such as Local Area Networks (LAN) and Data Center Networks (DCN). In LANs and DCNs, high-speed and short-distance networks are commonly deployed to connect between computing and storage elements in order to provide rapid services. Indeed, the overall performance of such networks is significantly influenced by the Congestion Control Algorithm (CCA) which suffers from the problem of bandwidth under-utilization, esp…
Although delay-based congestion control protocols such as FAST promise to deliver better performance than traditional TCP Reno, they have not yet been widely incorporated to the Internet. Several factors have contributed to their lack of deployment. Probably, the main contributing factor is that they are not able to compete fairly against loss-based congestion control protocols. In fact, the transmission rate in equilibrium of delay-based approaches is always less than their fair share when they share the network with traditional TCP-Reno derivatives, that employ packet losses as their congest…
How to implement an impeccable space system-of-systems (SoS) internetworking architecture has been a significant issue in system engineering for years. Reliable data transmission is considered one of the most important technologies of space SoS internetworking systems. Due to the high bit error rate (BER), long time delay and asymmetrical channel in the space communication environment, the congestion control mechanism of classic transport control protocols (TCP) shows unsatisfying performances. With the help of existing TCP modifications, this paper contributes an aggressive congestion control…
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…
Like many big science projects, the Large Synoptic Survey Telescope (LSST) has multiple geographic locations among which large amounts of data must be transferred. One particular type of data, crosstalk-corrected images, must be moved from South America to North America under stringent deadline requirements. LSST is provisioning an international network with bandwidth guarantees to handle this traffic. In prior work, we re-examined TCP congestion control for this use case and found that TCP throughput can approach wire speeds. This work shows that the Hierarchical Token Bucket (HTB) provides a…
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.
Nowadays, the bulk of Internet traffic uses TCP protocol for reliable transmission. But the standard TCP's performance is very poor in High Speed Networks (HSN) and hence the core gigabytes links are usually underutilization. This problem has roots in conservative nature of TCP, especially in its Additive Increase Multiplicative Decrease (AIMD) phase. In other words, since TCP can't figure out precisely the congestion status of the network, it follows a conservative strategy to keep the network from overwhelming. We believe that precisely congestion estimation in the network can solve this pro…
We quantify, over inter-continental paths, the ageing of TCP packets, throughput and delay for different TCP congestion control algorithms containing a mix of loss-based, delay-based and hybrid congestion control algorithms. In comparing these TCP variants to ACP+, an improvement over ACP, we shed better light on the ability of ACP+ to deliver timely updates over fat pipes and long paths. ACP+ estimates the network conditions on the end-to-end path and adapts the rate of status updates to minimize age. It achieves similar average age as the best (age wise) performing TCP algorithm but at end-t…
We study the performance of Selective Acknowledgments with TCP over the ATM-UBR service category. We examine various UBR drop policies, TCP mechanisms and network configurations to recommend optimal parameters for TCP over UBR. We discuss various TCP congestion control mechanisms compare their performance for LAN and WAN networks. We describe the effect of satellite delays on TCP performance over UBR and present simulation results for LAN, WAN and satellite networks. SACK TCP improves the performance of TCP over UBR, especially for large delay networks. Intelligent drop policies at the switche…
Quite a few algorithms have been proposed to optimize the transmission performance of Multipath TCP (MPTCP). However, existing MPTCP protocols are still far from satisfactory in lossy and ever-changing networks because of their loss-based congestion control and the difficulty of managing multiple subflows. Recently, a congestion-based congestion control, BBR, is proposed to promote TCP transmission performance through better use of bandwidth. Due to the superior performance of BBR, we try to boost MPTCP with it. For this propose, coupled congestion control should be redesigned for MPTCP, and a…
In this paper we address the problem of fast and fair transmission of flows in a router, which is a fundamental issue in networks like the Internet. We model the interaction between a TCP source and a bottleneck queue with the objective of designing optimal packet admission controls in the bottleneck queue. We focus on the relaxed version of the problem obtained by relaxing the fixed buffer capacity constraint that must be satisfied at all time epoch. The relaxation allows us to reduce the multi-flow problem into a family of single-flow problems, for which we can analyze both theoretically and…