An Overview of Packet Reordering in Transmission Control Protocol (TCP): Problems, Solutions, and Challenges

Dept. of Electr. & Electron. Eng., Hong Kong Univ.;
IEEE Transactions on Parallel and Distributed Systems (Impact Factor: 1.8). 05/2007; 18(4):522-535. DOI: 10.1109/TPDS.2007.1011
Source: DBLP

ABSTRACT Transmission control protocol (TCP) is the most popular transport layer protocol for the Internet. Due to various reasons, such as multipath routing, route fluttering, and retransmissions, packets belonging to the same flow may arrive out of order at a destination. Such packet reordering violates the design principles of some traffic control mechanisms in TCP and, thus, poses performance problems. In this paper, we provide a comprehensive and in-depth survey on recent research on packet reordering in TCP. The causes and problems for packet reordering are discussed. Various representative algorithms are examined and compared by computer simulations. The ported program codes and simulation scripts are available for download. Some open questions are discussed to stimulate further research in this area

1 Bookmark
  • [Show abstract] [Hide abstract]
    ABSTRACT: Pooling mobile nodes in vicinity as a collaborative community offers an opportunity for multi-homed mobile nodes to enable multipath transmission even when there is no multiple access coverage. However, packet collisions exist within the collaborative community when a contention-based channel access such as IEEE 802.11 is applied. As a result, the overall multipath performance may degrade if a regular multipath transmission protocol is used in a collaborative community consisting of multiple relays. In this paper, we extend the multipath transport control protocol (MPTCP) at the receiver side for a collaborative community. Our proposed extensions, referred to as Co-MPTCP, take advantage of fast ACKs and receive buffer sharing at relays. A collaborative community consisting of a root node and multiple relays presents as a virtual multi-homed receiver to the sender. Extensive simulations are conducted to demonstrate the effectiveness of our extensions in terms of throughput, goodput, and receive buffer relief.
    Personal Indoor and Mobile Radio Communications (PIMRC), 2012 IEEE 23rd International Symposium on; 01/2012
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The idea of using multiple paths to transport TCP traffic seems very attractive due to the potential benefits it may offer. Despite a solid theoretical background and quite substantial implementation attempts, none of the provided proposals was successful enough to fully establish its mark. Therefore, this paper presents and develops a novel approach to carry TCP traffic over multiple paths. The main features of the proposed architecture include: (1) end-to-end transparency, (2) autonomy of the operation (protocol stack transparency), and (3) interoperability with different operating systems (OSs). To demonstrate the potential of the presented architecture, experimental results are provided in one of possible application scenarios, a high capacity local mesh backbone network with bottleneck gateway links.
    Communications (ICC), 2012 IEEE International Conference on; 06/2012
  • [Show abstract] [Hide abstract]
    ABSTRACT: Datacenter networks should support high network utilization. Yet today's routing is typically load agnostic, so large flows can starve other flows if routed through overutilized links. Even recent proposals like centralized scheduling or end-host multi-pathing give suboptimal throughput, and they suffer from poor scalability and other limitations. We present a simple, switch-local algorithm called LocalFlow that is optimal (under standard assumptions), scalable, and practical. Although LocalFlow may split an individual flow (this is necessary for optimality), it does so infrequently by considering the aggregate flow per destination and allowing slack in distributing this flow. We use an optimization decomposition to prove LocalFlow's optimality when combined with unmodified end hosts' TCP. Splitting flows presents several new technical challenges that must be overcome in order to interact efficiently with TCP and work on emerging standards for programmable, commodity switches. Since LocalFlow acts independently on each switch, it is highly scalable, adapts quickly to dynamic workloads, and admits flexible deployment strategies. We present detailed packet-level simulations comparing LocalFlow to a variety of alternative schemes, on real datacenter workloads.
    Proceedings of the ninth ACM conference on Emerging networking experiments and technologies; 12/2013


Available from