5 research outputs found

    Master of Science

    Get PDF
    thesisDummynet is a link emulator that can be used by itself, as well as integrated within testbeds such as Emulab. Despite its popularity in the research community, Dummynet still lacks the ability to precisely emulate certain real network effects. In particular, it has no support for packet reordering. Since reordering is a common and prevalent network phe- nomenon just like packet loss or delay, it cannot be ignored when implementing emulators if we want to provide realistic emulation. It has been observed that networks suffer from reordering caused by packet striping, retransmissions, load balancing, multipath forwarding, etc. This has significant nega- tive effects on the performance of both Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). With the increase in prevalence of real-time streaming UDP applications such as video conferencing and Internet Protocol Television (IPTV), it has become important to focus on this problem which affects the performance of all these applications. Research into models and tools to diagnose and understand reordering requires that a sophisticated metric be used to describe it. So, in this thesis, I make two contributions: improving the realism of traffic shaping in Dummynet emulator by adding support for emulation of reordering, and an algorithm, a max-flow solver, that generates reordered sequences to be used by Dummynet, from a sophisticated reordering metric called Reorder Density (RD). My implementation enables the user to specify the desired amount of reordering in a metric, such as RD (or even others), and have Dummynet generate traffic that is reordered according to the input metric's value. This is accomplished within Dummynet by the use of a newly implemented scheduler. I conclude my thesis with an evaluation using real and software generated network traces to show that the algorithm is scalable and the implementation works correctly. Also, a datapath evaluation to show that my modifications to Dummynet do not result in any unnecessary increase in emulation running time is included

    Improving Efficiency and Effectiveness of Multipath Routing in Computer Networks

    Get PDF
    In this dissertation, we studied methods for improving efficiency and effectiveness of multipath routing in computer networks. We showed that multipath routing can improve network performance for failure recovery, load balancing, Quality of Service (QoS), and energy consumption. We presented a method for reducing the overhead of computing dynamic path metrics, one of the obstacles for implementing dynamic multipath routing in real world networks. In the first part, we proposed a method for building disjoint multipaths that could be used for local failure recovery as well as for multipath routing. Proactive failure recovery schemes have been recently proposed for continuous service of delay-sensitive applications during failure transients at the cost of extra infrastructural support in the form of routing table entries, extra addresses, etc. These extra infrastructure supports could be exploited to build alternative disjoint paths in those frameworks, while keeping the lengths of the alternative paths close to those of the primary paths. The evaluations showed that it was possible to extend the proactive failure recovery schemes to provide support for nearly-disjoint paths which could be employed in multipath routing for load balancing and QoS. In the second part, we proposed a method for reducing overhead of measuring dynamic link state information for multipath routing, specifically path delays used in Wardrop routing. Even when dynamic routing could be shown to offer convergence properties without oscillations, it has not been widely adopted. One of reasons was that the expected cost of keeping the link metrics updated at various nodes in the network. We proposed threshold-based updates to propagate the link state only when the currently measured link state differs from the last updated state consider- ably. Threshold-based updates were shown through analysis and simulations to offer bounded guarantees on path quality while significantly reducing the cost of propagating the dynamic link metric information. The simulation studies indicated that threshold based updates can reduce the number of link updates by up to 90-95% in some cases. In the third part, we proposed methods of using multipath routing for reducing energy consumption in computer networks. Two different approaches have been advocated earlier, from traffic engineering and topology control to hardware-based approaches. We proposed solutions at two different time scales. On a finer time granularity, we employed a method of forwarding through alternate paths to enable longer sleep schedules of links. The proposed schemes achieved more energy saving by increasing the usage of active links and the down time of sleeping links as well as avoiding too frequent link state changes. To the best of our knowledge, this was the first technique combining a routing scheme with hardware scheme to save energy consumption in networks. In our evaluation, alternative forwarding reduced energy consumption by 10% on top of a hardware-based sleeping scheme. On a longer time granularity, we proposed a technique that combined multipath routing with topology control. The proposed scheme achieved increased energy savings by maximizing the link utilization on a reduced topology where the number of active nodes and links are minimized. The proposed technique reduced energy consumption by an additional 17% over previous schemes with single/shortest path routing

    Reordering of Packets due to Multipath Forwarding - An Analysis

    No full text
    Abstract – Increased parallelism in routers necessary to handle high link speeds and large routing tables, wireless ad hoc routing, QoS provisioning, and overlay routing, are some of the factors that lead to an increase in reordering on the Internet. Packet reordering due to packet forwarding over multiple paths is investigated. An analytical model is derived for load splitting scenarios and verified using emulated topologies. The resulting reordering is profiled using reorder density, and analyzed with respect to path delays, path probabilities and number of paths. The variation of packet displacement with delay variation and forwarding probabilities is quantified. The special case corresponding to two paths is evaluated in detail. For any load splitting, the increase in the difference in the delay between paths leads to increased reordering, making the paths with closer delay values more preferable. The model can also be applied to a single-path case where reordering is caused by wide delay variation among packets, by deriving an equivalent set of probabilities corresponding to path splitting scenario

    Reliable Packet Streams with Multipath Network Coding

    Get PDF
    With increasing computational capabilities and advances in robotics, technology is at the verge of the next industrial revolution. An growing number of tasks can be performed by artificial intelligence and agile robots. This impacts almost every part of the economy, including agriculture, transportation, industrial manufacturing and even social interactions. In all applications of automated machines, communication is a critical component to enable cooperation between machines and exchange of sensor and control signals. The mobility and scale at which these automated machines are deployed also challenges todays communication systems. These complex cyber-physical systems consisting of up to hundreds of mobile machines require highly reliable connectivity to operate safely and efficiently. Current automation systems use wired communication to guarantee low latency connectivity. But wired connections cannot be used to connect mobile robots and are also problematic to deploy at scale. Therefore, wireless connectivity is a necessity. On the other hand, it is subject to many external influences and cannot reach the same level of reliability as the wired communication systems. This thesis aims to address this problem by proposing methods to combine multiple unreliable wireless connections to a stable channel. The foundation for this work is Caterpillar Random Linear Network Coding (CRLNC), a new variant of network code designed to achieve low latency. CRLNC performs similar to block codes in recovery of lost packets, but with a significantly decreased latency. CRLNC with Feedback (CRLNC-FB) integrates a Selective-Repeat ARQ (SR-ARQ) to optimize the tradeoff between delay and throughput of reliable communication. The proposed protocol allows to slightly increase the overhead to reduce the packet delay at the receiver. With CRLNC, delay can be reduced by more than 50 % with only a 10 % reduction in throughput. Finally, CRLNC is combined with a statistical multipath scheduler to optimize the reliability and service availability in wireless network with multiple unreliable paths. This multipath CRLNC scheme improves the reliability of a fixed-rate packet stream by 10 % in a system model based on real-world measurements of LTE and WiFi. All the proposed protocols have been implemented in the software library NCKernel. With NCKernel, these protocols could be evaluated in simulated and emulated networks, and were also deployed in several real-world testbeds and demonstrators.:Abstract 2 Acknowledgements 6 1 Introduction 7 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Use Cases and Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Opportunities of Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 State of the Art of Multipath Communication 19 2.1 Physical Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Data Link Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 Network Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 Transport Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.5 Application Layer and Session Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.6 Research Gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3 NCKernel: Network Coding Protocol Framework 27 3.1 Theory that matters! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.1 Socket Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 En-/Re-/Decoder API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.4 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.5 Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.5 Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4 Low-Latency Network Coding 35 4.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 Random Linear Network Coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 Low Latency Network Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4 CRLNC: Caterpillar Random Linear Network Coding . . . . . . . . . . . . . . . . . . 38 4.4.1 Encoding and Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.2 Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.3 Computational Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.5.3 Packet Loss Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5.4 Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5.5 Window Size Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5 Delay-Throughput Tradeoff 55 5.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.2 Network Coding with ARQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.3 CRLNC-FB: CRLNC with Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3.1 Encoding and Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.3.2 Decoding and Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.3.3 Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4.2 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.4.3 Systematic Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.4.4 Coded Packet Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.4.5 Comparison with other Protocols . . . . . . . . . . . . . . . . . . . . . . . . 67 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6 Multipath for Reliable Low-Latency Packet Streams 73 6.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.3 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3.1 Traffic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3.2 Network Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3.3 Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.3.4 Reliability Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.4 Multipath CRLNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.4.1 Window Size for Heterogeneous Paths . . . . . . . . . . . . . . . . . . . . . 77 6.4.2 Packet Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5.1 Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5.2 Preliminary Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.5.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7 Conclusion 94 7.1 Results and Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.2 Future Research Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Acronyms 99 Publications 101 Bibliography 10
    corecore