Passive aggressive measurement with MGRP

We present the Measurement Manager Protocol (MGRP), an in-kernel service that schedules and transmits probes on behalf of active measurement tools. Unlike prior measurement services, MGRP transparently piggybacks application packets inside the often significant amounts of empty padding contained in typical probes. Using MGRP thus combines the modularity, flexibility, and accuracy of standalone active measurement tools with the lower overhead of passive measurement techniques. Microbenchmark experiments show that the resulting bandwidth savings makes it possible to measure the network accurately, but faster and more aggressively than without piggybacking, and with few ill effects to piggybacked application or competing traffic. When using MGRP to schedule measurements on behalf of MediaNet, an overlay service that adaptively schedules media streams, we show MediaNet can achieve significantly higher streaming rates under the same network conditions.

Related papers:

title: Tracking Down Skype Traffic
abstract: Skype is beyond any doubt the most popular VoIP application in the current Internet application spectrum. Its amazing success drawn the attention of telecom operators and the research community, both interested in knowing Skype's internal mechanisms, characterizing traffic and understanding users' behavior. In this paper, we dissect the following fundamental components: data traffic generated by voice and video communication, and signaling traffic generated by Skype. We use both active and passive measurement techniques to gather a deep understanding on the traffic Skype generates. From extensive testbed experiments, we devise a source model which takes into account: (i) the service type, i.e., voice or video calls (ii) the selected source Codec, (iii) the adopted transport-layer protocol, and (iv) network conditions. Furthermore, leveraging on the use of an accurate Skype classification engine that we recently proposed, we study and characterize Skype traffic based on extensive passive measurements collected from our campus LAN.

title: Skype video responsiveness to bandwidth variations
abstract: The TCP/IP stack has been extremely successful for reliable delivery of best-effort, time insensitive elastic type data traffic. Nowadays, the Internet is rapidly evolving to become an equally efficient platform for multimedia content delivery. Key examples of this evolution are, to name few, YouTube, Skype Audio/Video, IPTV, P2P video distribution such as Coolstreaming or Joost. While YouTube streams videos using the Transmission Control Protocol (TCP), applications that are time-sensitive such as Skype VoIP or Video Conferencing employ the UDP because they can tolerate small loss percentages but not delays due to TCP recovery of losses via retransmissions. Since the UDP does not implement congestion control, these applications must implement those functionalities at the application layer in order to avoid congestion and preserve network stability. In this paper we investigate Skype Video in order to discover to what extent this application is able to throttle its sending rate to match the unpredictable Internet bandwidth while preserving resource for co-existing best-effort TCP traffic.

title: User-specified adaptive scheduling in a streaming media network
abstract: In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators or analysis tools. Unfortunately, in the face of limited, unreliable resources, and varying demands, not all users may be able to get the fidelity they require. This paper describes MediaNet, a distributed stream processing system designed with the above scenarios in mind. Unlike past approaches, MediaNet's users can intuitively specify how the system should adapt based on their individual needs. MediaNet uses both local and online global resource scheduling to improve user performance and network utilization, and adapts without requiring underlying support for resource reservations. Performance experiments show that our scheduling algorithm is reasonably fast, and that user performance and network utilization are both significantly improved.

title: Pathload: A Measurement Tool for End-to-End Available Bandwidth
abstract: The available bandwidth of a network path P is the maximum throughput that P can provide t o a a o w, without reducing the throughput of the cross traac in P. We have developed an end-to-end active measurement tool, called pathload, that estimates the available bandwidth of a network path. The basic idea in pathload is that the one-way delays of a periodic packet stream show increasing trend, when the stream rate is larger than the available bandwidth. In this paper, we describe pathload in detail, and show some experimental results that illustrate the tool's accuracy .

title: Efficient available bandwidth estimation for network paths
abstract: For estimating the available bandwidth along a network path,a novel active probing methodology COPP(chirp of packet paris)is presented combining self-induced congested principle with packet pair technique.After a sequence of packet pairs with gradually reduced intra-pair spacing was transmitted,COPP process would discover all turning bandwidth.Then every bandwidth was bound with a distinct weight according of the degree of interference of the underlying turning point and its neighbors to yield the final estimate by weighted adding up all turning bandwidth.Based on analysis of inter-packet spacing and one-way delay of single packet in a packet pair,the decision rules for determining whether a packet pair is turning point were shown.We also described the weighting process to obtain different weights for different kinds of turning point and discussed the effect of different thresholds on estimation.Simulation results in several cross traffic conditions indicate that COPP provides accurate estimation with relatively fewer overhead compared to other estimating tools.

title: Path Selection Using Available Bandwidth Estimation in Overlay-Based Video Streaming
abstract: IP networks present a challenging environment for video streaming because they do not provide throughput, jitter, or loss rate guarantees. In this work, we focus on improving the perceived quality of video streaming through dynamic path selection. Selecting one of several Internet paths is possible using multihoming and/or an overlay routing infrastructure. We conduct an experimental comparison of various measurement-based path selection techniques for video streaming. The path selection is based on the measurement of network-layer metrics, such as loss rate, jitter or available bandwidth, while the video quality is evaluated based on the VQM tool. Our experiments show that the most effective technique for adaptive path selection relies on an estimate of the lower bound of the available bandwidth variation range. We show how to perform such measurements using the video packets, eliminating the measurement overhead in the selected path. Finally, we show that adaptive path selection is more effective than a simple, but commonly used, form of FEC.

title: Improving accuracy in end-to-end packet loss measurement
abstract: Measurement and estimation of packet loss characteristics are challenging due to the relatively rare occurrence and typically short duration of packet loss episodes. While active probe tools are commonly used to measure packet loss on end-to-end paths, there has been little analysis of the accuracy of these tools or their impact on the network. The objective of our study is to understand how to measure packet loss episodes accurately with end-to-end probes. We begin by testing the capability of standard Poisson-modulated end-to-end measurements of loss in a controlled laboratory environment using IP routers and commodity end hosts. Our tests show that loss characteristics reported from such Poisson-modulated probe tools can be quite inaccurate over a range of traffic conditions. Motivated by these observations, we introduce a new algorithm for packet loss measurement that is designed to overcome the deficiencies in standard Poisson-based tools. Specifically, our method creates a probe process that (1) enables an explicit trade-off between accuracy and impact on the network, and (2) enables more accurate measurements than standard Poisson probing at the same rate. We evaluate the capabilities of our methodology experimentally by developing and implementing a prototype tool, called BADABING. The experiments demonstrate the trade-offs between impact on the network and measurement accuracy. We show that BADABING reports loss characteristics far more accurately than traditional loss measurement tools.

title: An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol
abstract: Skype is a peer-to-peer VoIP client developed in 2003 by the organization that created Kazaa. Skype claims that it can work almost seamlessly across NATs and firewalls and has better voice quality than other VoIP clients. It encrypts calls end-to-end, and stores user information in a decentralized fashion. Skype also supports instant messaging and conferencing. This paper analyzes key Skype functions such as login, NAT and firewall traversal, call establishment, media transfer, codecs, and conferencing under three different network setups. Analysis is performed by careful study of the Skype network traffic and by intercepting the shared library and system calls of Skype. We draw a map of super nodes to which Skype establishes a TCP connection at login.

title: End-to-end estimation of the available bandwidth variation range
abstract: The available bandwidth (avail-bw) of a network path is an important performance metric and its end-to-end estimation has recently received significant attention. Previous work focused on the estimation of the average avail-bw, ignoring the significant variability of this metric in different time scales. In this paper, we show how to estimate a given percentile of the avail-bw distribution at a user-specified time scale. If two estimated percentiles cover the bulk of the distribution (say 10% to 90%), the user can obtain a practical estimate for the avail-bw variation range. We present two estimation techniques. The first is iterative and non-parametric, meaning that it is more appropriate for very short time scales (typically less than 100ms), or in bottlenecks with limited flow multiplexing (where the avail-bw distribution may be non-Gaussian). The second technique is parametric, because it assumes that the avail-bw follows the Gaussian distribution, and it can produce an estimate faster because it is not iterative. The two techniques have been implemented in a measurement tool called Pathvar. Pathvar can track the avail-bw variation range within 10-20%, even under non-stationary conditions. Finally, we identify four factors that play a crucial role in the variation range of the avail-bw: traffic load, number of competing flows, rate of competing flows, and of course the measurement time scale.

title: The measurement manager: modular and efficient end-to-end measurement services
abstract: End-to-end network measurement is used to improve the precision, efficiency, and fairness for a variety of Internet protocols and applications. Whether streaming media files, constructing an overlay or picking a candidate server to download from, applications need to provide a good user experience. What constitutes a good user experience differs for each application but what is common is the need to discover and adapt to the current conditions of the network path. This is especially important since, due to the design of the Internet, network routers do not provide any feedback about these network properties. 
Measurement is typically performed in one of three ways: (1) actively, by injecting specially crafted probe packets into the network, (2) passively, by observing existing data traffic, and (3) customized, where applications use use their own traffic to perform customized measurements. All current approaches suffer from drawbacks. Passive techniques are efficient but are constrained by the shape of the existing traffic, limiting the speed and accuracy of their measurements. Active techniques are faster, more accurate and more flexible but impose a significantly higher overhead by competing with applications for bandwidth. And finally, custom techniques combine flexibility with efficiency, but are so tightly coupled with each application that they are not reusable. 
To address these shortcomings, we present the Measurement Manager , a practical, modular, and efficient service for performing end-to-end network measurements between hosts. Our architecture introduces a new hybrid approach to network measurement, where applications can pool together their data packets to be reused as padding inside network probes in a transparent and systematic way. We achieve this through the Measurement Manager Protocol (MGRP), a new transport protocol for sending probes that combines data packets and probes on the fly. In MGRP, active measurement algorithms specify the probes they wish to send using a Probe API and applications allow MGRP to use data from their own packets to fill the otherwise wasted probe padding. The ability of MGRP to piggyback any data packet on any probe is pivotal in making our measurement system unique in the sense that any measurement algorithm can now be written as if active, but implemented as if passive. 
We have implemented the Measurement Manager inside the Linux kernel and have adapted existing applications and active measurement tools to use our system. Through experimentation we provide detailed empirical evidence that piggybacking data packets on measurement probes is not only feasible but improves source and cross traffic as well as the performance of measurement algorithms while not affecting their accuracy. We show that the Measurement Manager is an architecture with broad applications that can be used to build a generic measurement overlay network as well as expanding the solution space for estimation algorithms, since every application packet can now act as a potential probe.

title: An active measurement system for shared environments
abstract: Testbeds composed of end hosts deployed across the Internet enable researchers to simultaneously conduct a wide variety of experiments. Active measurement studies of Internet path properties that require precisely crafted probe streams can be problematic in these environments. The reason is that load on the host systems from concurrently executing experiments (as is typical in PlanetLab) can significantly alter probe stream timings. In this paper we measure and characterize how packet streams from our local PlanetLab nodes are affected by experimental concurrency. We find that the effects can be extreme. We then set up a simple PlanetLab deployment in a laboratory testbed to evaluate these effects in a controlled fashion. We find that even relatively low load levels can cause serious problems in probe streams. Based on these results, we develop a novel system called <scp>MAD</scp> that can operate as a Linux kernel module or as a stand-alone daemon to support real-time scheduling of probe streams. <scp>MAD</scp> coordinates probe packet emission for all active measurement experiments on a node. We demonstrate the capabilities of <scp>MAD</scp>, showing that it performs effectively even under very high levels of multiplexing and host system load.

title: An integrated experimental environment for distributed systems and networks
abstract: Three experimental environments traditionally support network and distributed systems research: network emulators, network simulators, and live networks. The continued use of multiple approaches highlights both the value and inadequacy of each. Netbed, a descendant of Emulab, provides an experimentation facility that integrates these approaches, allowing researchers to configure and access networks composed of emulated, simulated, and wide-area nodes and links. Netbed's primary goals are ease of use, control, and realism, achieved through consistent use of virtualization and abstraction.By providing operating system-like services, such as resource allocation and scheduling, and by virtualizing heterogeneous resources, Netbed acts as a virtual machine for network experimentation. This paper presents Netbed's overall design and implementation and demonstrates its ability to improve experimental automation and efficiency. These, in turn, lead to new methods of experimentation, including automated parameter-space studies within emulation and straightforward comparisons of simulated, emulated, and wide-area scenarios.

title: On the constancy of internet path properties
abstract: Many Internet protocols and operational procedures use measurements to guide future actions. This is an effective strategy if the quantities being measured exhibit a degree of constancy: that is, in some fundamental sense, they are not changing. In this paper we explore three different notions of constancy: mathematical, operational, and predictive. Using a large measurement dataset gathered from the NIMI infrastructure, we then apply these notions to three Internet path properties: loss, delay, and throughput. Our aim is to provide guidance as to when assumptions of various forms of constancy are sound, versus when they might prove misleading.

title: Touring the internet in a TCP sidecar
abstract: An accurate router-level topology of the Internet would benefit many research areas, including network diagnosis, inter-domain traffic engineering, and overlay construction. We present TCP Sidecar and Passenger, two elements of a system for router-level Internet topology discovery. Sidecar transparently injects measurement probes into non-measurement TCP streams, while Passenger combines TTL-limited probes with the often-ignored IP record route option. The combined approach mitigates problems associated with traceroute-based topology discovery, including abuse reports, spurious edge inference from multi-path routing, unresolved IP aliases, long network timeouts, and link discovery behind NATs and firewalls. We believe that we are the first mapping project to measure MPLS use with ICMP extensions and record route behavior when the TTL is not decremented. We are able to discover NATs when monitoring TCP connections that tunnel through them. In this paper, we present preliminary results for TCP Sidecar and Passenger on PlanetLab. Our experiments inject measurement probes into traffic generated both from the CoDeeN Web proxy project and from a custom web crawler to 166,745 web sites.

title: Comparison of Public End-to-End Bandwidth Estimation Tools on High-Speed Links
abstract: In this paper we present results of a series of bandwidth estimation experiments conducted on a high-speed testbed at the San Diego Supercomputer Center and on OC-48 and GigE paths in real world networks. We test and compare publicly available bandwidth estimation tools: abing, pathchirp, pathload, and Spruce. We also tested Iperf which measures achievable TCP throughput. In the lab we used two different sources of known and reproducible cross-traffic in a fully controlled environment. In real world networks we had a complete knowledge of link capacities and had access to SNMP counters for independent cross-traffic verification. We compare the accuracy and other operational characteristics of the tools and analyze factors impacting their performance.

title: What do packet dispersion techniques measure?
abstract: The packet pair technique estimates the capacity of a path (bottleneck bandwidth) from the dispersion (spacing) experienced by two back-to-back packets. We demonstrate that the dispersion of packet pairs in loaded paths follows a multimodal distribution, and discuss the queueing effects that cause the multiple modes. We show that the path capacity is often not the global mode, and so it cannot be estimated using standard statistical procedures. The effect of the size of the probing packets is also investigated, showing that the conventional wisdom of using maximum sized packet pairs is not optimal. We then study the dispersion of long packet trains. Increasing the length of the packet train reduces the measurement variance, but the estimates converge to a value, referred to as the asymptotic dispersion rate (ADR), that is lower than the capacity. We derive the effect of the cross traffic in the dispersion of long packet trains, showing that the ADR is not the available bandwidth in the path, as was assumed in previous work. Putting all the pieces together, we present a capacity estimation methodology that has been implemented in a tool called pathrate.

title: Using pathchar to estimate Internet link characteristics
abstract: We evaluate pathchar, a tool that infers the characteristics of links along an Internet path (latency, bandwidth, queue delays). Looking at two example paths, we identify circumstances where pathchar is likely to succeed, and develop techniques to improve the accuracy of pathchar's estimates and reduce the time it takes to generate them. The most successful of these techniques is a form of adaptive data collection that reduces the number of measurements pathchar needs by more than 90% for some links.

title: Locating internet bottlenecks: algorithms, measurements, and implications
abstract: The ability to locate network bottlenecks along end-to-end paths on the Internet is of great interest to both network operators and researchers. For example, knowing where bottleneck links are, network operators can apply traffic engineering either at the interdomain or intradomain level to improve routing. Existing tools either fail to identify the location of bottlenecks, or generate a large amount of probing packets. In addition, they often require access to both end points. In this paper we present Pathneck, a tool that allows end users to efficiently and accurately locate the bottleneck link on an Internet path. Pathneck is based on a novel probing technique called Recursive Packet Train (RPT) and does not require access to the destination. We evaluate Pathneck using wide area Internet experiments and trace-driven emulation. In addition, we present the results of an extensive study on bottlenecks in the Internet using carefully selected, geographically diverse probing sources and destinations. We found that Pathneck can successfully detect bottlenecks for almost 80% of the Internet paths we probed. We also report our success in using the bottleneck location and bandwidth bounds provided by Pathneck to infer bottlenecks and to avoid bottlenecks in multihoming and overlay routing.

title: pktd : A Packet Capture and Injection Daemon
abstract: Administrators can be highly reluctant to run foreign measurement tools on their hosts because (a) such tools frequently require privileged execution in order to transmit customized measurement packets and/or to passively capture network traffic, and (b) the administrators lack mechanisms to control the rate, duration, type, destination, and contents of traffic generated by the measurements. We present preliminary work on pktd, a packet capture and injection multiplexer daemon that provides controlled, finegrained access to the network device. On systems running pktd, client measurement tools are not given direct access to the network device. Instead, they are obliged to request access via pktd. By providing administrators control over the pktd mechanism, they can easily and securely enforce their desired policies concerning which clients should be granted which sorts of network access capabilities. Thus, pktd can serve as the sole trusted, privileged entity for conducting measurements, eliminating the need for administrators to vet the individual measurement tools.

title: A measurement study of available bandwidth estimation tools
abstract: Available bandwidth estimation is useful for route selection in overlay networks, QoS verification, and traffic engineering. Recent years have seen a surge in interest in available bandwidth estimation. A few tools have been proposed and evaluated in simulation and over a limited number of Internet paths, but there is still great uncertainty in the performance of these tools over the Internet at large.This paper introduces Spruce, a simple, light-weight tool for measuring available bandwidth, and compares it with two existing tools, IGI and Pathload, over 400 different Internet paths. The comparison focuses on accuracy, failure patterns, probe overhead, and implementation issues. The paper verifies the measured available bandwidth by comparing it to Multi-Router Traffic Grapher (MRTG) data and by measuring how each tool responds to induced changes in available bandwidth.The measurements show that Spruce is more accurate than Pathload and IGI. Pathload tends to overestimate the available bandwidth whereas IGI becomes insensitive when the bottleneck utilization is large.

title: Merging Network Measurement with Data Transport
abstract: The tasks of measurement and data transport are often treated independently, but we believe there are benefits to bringing them together. This paper proposes the simple idea of a transport agent to encapsulate useful data within probe packets in place of useless padding.

title: Leveraging BitTorrent for End Host Measurements
abstract: Traditional methods of conducting measurements to end hosts require sending unexpected packets to measurement targets. Although existing techniques can ascertain end host characteristics accurately, their use in large-scale measurement studies is hindered by the fact that unexpected traffic can trigger alarms in common intrusion detection systems, often resulting in complaints from administrators. We describe BitProbes, a measurement system that works around this challenge. By coordinated participation in the popular peer-to-peer BitTorrent system, BitProbes is able to unobtrusively measure bandwidth capacity, latency, and topology information for ∼500,000 end hosts per week from only eight vantage points at the University of Washington. To date, our measurements have not generated a single complaint in spite of their wide coverage.