30. popi a user level tool for inferring router packet forwarding priority
1POPI: A User-level Tool for Inferring Router Packet Forwarding Priority Guohan Lu, Yan Chen, Member, IEEE, Stefan Birrer, Student Member, IEEE, Fabi´ n E. Bustamante Member, IEEE, Xing Li a Abstract— Packet forwarding prioritization (PFP) in routers Despite its potential impact, users, developers and mostis one of the mechanisms commonly available to network op- other network administrators have no information of sucherators. PFP can have a signiﬁcant impact on the accuracy settings nor ways to procure it. In this paper, we present anof network measurements, the performance of applications andthe effectiveness of network troubleshooting procedures. Despite end-to-end approach for packet forwarding priority inferenceits potential impacts, no information on PFP settings is readily by measuring the loss rate difference of different packetavailable to end users. In this paper, we present an end-to-end types and its associated tool, POPI, which is the ﬁrst suchapproach for PFP inference and its associated tool, POPI. This attempt to our best knowledge. This tool can be used byis the ﬁrst attempt to infer router packet forwarding priority the enterprises or end-users to discover whether their trafﬁcthrough end-to-end measurement. POPI enables users to discoversuch network policies through measurements of packet losses of are treated differently by the ISPs, and whether the ISPsdifferent packet types. has fulﬁlled the contracts between them and the users. For We evaluated our approach via statistical analysis, simulation example, after Comcast was found to treat BitTorrent with lowand wide-area experimentation in PlanetLab. We employed POPI prioirty in 2007, Comcast and BitTorrent reached an agreementto analyze 156 paths among 162 PlanetLab sites. POPI ﬂagged 15 to work together on network trafﬁc in 2008 , .paths with multiple priorities, 13 of which were further validatedthrough hop-by-hop loss rates measurements. In addition, we There are a couple of challenges for designing and im-surveyed all related network operators and received responses plementing POPI. First, background trafﬁc ﬂuctuations canfor about half of them all conﬁrming our inferences. severely affect the end-to-end inference accuracy of router Besides, we compared POPI with the inference mechanisms properties. Secondly, probe trafﬁc of a relatively large packetthrough other metrics such as packet reordering (called out-of- bursts are neither independent nor strong correlated. Most ex-order (OOO)). OOO is unable to ﬁnd many priority paths suchas those implemented via trafﬁc policing. On the other hand, isting inference methods have to assume certain independenceinterestingly, we found it can detect existence of the mechanisms (i.e. i.i.d. processes) or strong correlation models for inferencewhich induce delay differences among packet types such as slow (e.g. back-to-back probe packets). However, as for the rela-processing path in the router and port-based load sharing. tively large packet bursts sent by POPI, a good mathematical Index Terms— Packet forwarding priority, inference, packet model is needed to determine whether the loss rates differenceloss, packet reordering between two packet types is the consequence of a random effect or being treated really differently. Thirdly, we want to measure more than two packet types at the same time, so I. I NTRODUCTION simply determining whether they are treated differently is not . enough. To overcome these challenges, POPI takes the following The Internet was designed with no gatekeepers over three steps to infer packet forwarding priority inference. First, new content or services. A lightweight but enforce- it sends a relatively large amount of trafﬁc to temporarily able neutrality rule is needed to ensure that the saturate the bottleneck trafﬁc class capacity, which gives Internet continues to thrive. POPI better resistance against background trafﬁc ﬂuctuations. —- Vint Cerf Secondly, we apply a robust non-parametric method based Packet forwarding prioritization has been available in off- on the ranks instead of pure loss rates. Thirdly, we assign athe-shelf routers for quite a while, and various models from rank-based metric to each packet type and use a hierarchicalpopular brands, such as Cisco and Juniper Networks offer clustering method to group them when there are more thansupport for it , . Network operators have come to rely on two packet types. We also believe some of these schemes canthese mechanisms for managing their networks, for example be applied in other Internet measurement applications.as a way of rate limiting certain classes of applications (e.g. We validated our approach via statistical analysis, ns2 sim-peer-to-peer) . PFP can have a signiﬁcant impact on the ulation and wide-area experiments in the PlanetLab testbed.performance of applications, on the accuracy of measurement We chose 26 packet types on various protocols (ICMP, TCPtools’ output, and on the effectiveness of network troubleshoot- and UDP) and various port numbers associated with traditionaling procedures. and P2P applications in addition to some random ports. Tested over 156 directional paths among 162 PlanetLab sites, POPI Manuscript received January 20, 2002; revised November 18, 2002. This identiﬁed 15 paths ﬂagged with multiple priorities, 13 of whichwork was supported by the IEEE. G. Lu and X. Li are with the Tsinghua University, P.R.China were validated using a hop-by-hop measurement method. After Y. Chen, S. Birrer and F. Bustamante are with the Northwestern University surveying all related network operators, we received responses
2for seven of them all conﬁrming our inferences. Finally,  is a content-based method to detect the mid- As an extension of our earlier paper , we compared POPI dleboxes which modify a web page’s content. The method inwith the inference mechanisms based on other metrics with this paper detect the middleboxes which generate packet lossless overhead such as packet reordering (called out-of-order differences but do not modify the contents of the packets.(OOO)) in this paper. OOO is unable to ﬁnd many prioritypaths such as those implemented via trafﬁc policing. On the III. I NFERRING PACKET-F ORWARDING P RIORITYother hand, it can detect existence of the mechanisms which A. Background on Priority Mechanismsinduce delay differences among packet types such as slow Network administrators can enforce priority/link-sharingprocessing path in the router and port-based load sharing. mechanisms in a router by deﬁning a trafﬁc class (usually The rest of the paper is organized as follows. We review IP protocol and TCP/UDP port number) and associating withrelated work in § II before discussing the design space and it a particular queuing/scheduling mechanism , . Somechallenges in § III. The design of POPI mechanisms is of the commonly available mechanisms are as follows.presented in § IV. We evaluate our POPI tool with both NS • Priority Queuing (PQ). This allows users to assign ar-simulation (§ V) and the PlanetLab experiments (§ VI). Fur-thermore, we discuss the use of other metrics such as packet bitrarily deﬁned packet classes to queues with differentreordering and delay for inference in § VII. We conclude and priorities. Since queues are served based on their priority,summarize our ﬁndings in § VIII. this allows speciﬁed packet types to be always sent before other packet types. • Proportional Share Scheduling (PSS). With PSS each II. R ELATED W ORK trafﬁc class is given a weight. Bandwidth is allocated to To the best of our knowledge, this is the ﬁrst attempt classes in proportion to their respective weights. Thereto infer router packet-forwarding priority through end-to-end is no strict priority difference between classes. There aremeasurement. different ways to implement this scheduling mechanism, Perhaps the efforts most closely related to this work are e.g. Weighted Fair Queuing (WFQ), Weighted Round-those identifying shared congestion –. Such efforts try Robin (WRR). In Cisco routers, the CBWFQ is Class-to determine whether two congested ﬂows are correlated and Based WFQ and the Custom Queuing is WRR based .share a common congested queue along their paths. If we • Policing. This restricts the maximum rate of a trafﬁcconsider the ﬂows of different packet types along a same path, class. Trafﬁc that exceeds the rate parameters is usuallyour problem becomes to identify whether these ﬂows do not dropped. The trafﬁc class cannot borrow unused band-share a common congested queue. While both problems are width from others.related clearly, we usually need to simultaneously consider amuch larger number of packet types (e.g. 26 packet types in the Only the ﬁrst mechanism sets absolute priorities betweenPlanetLab experiment). Note that the correlation based method trafﬁc classes. There is no absolute priority difference between the other two classes, and the loss experienced by one classused for shared congestion identiﬁcation methods requires depends on whether its trafﬁc rate exceeds its allocated band-back-to-back probing which, in our case, translates into O(n2 )pairs probing for n packet types. In addition, those efforts width.focused on ﬂows which experience congestion (ignoring un-congested ones), so their probe trafﬁc rate is low and not B. Choosing Inference Metricbursty –. To identify packet forwarding prioritization Three basic end-to-end performance metrics, loss, delay andin routers, one must send relatively large amounts of trafﬁc out-of-order, can all be used as inference metrics. This isto temporarily force packet drops (by saturating the link). because these metrics of different packet types can becomeThus, for better scalability and accuracy, our problem requires different when a router is conﬁgured to treat them differently.different measurement and statistical interference methods. Consider a PQ of two priorities, where the high priority queue  proposed a framework for enabling network clients to is always served ﬁrst. Low priority packets will experiencemeasure a system’s multi-class mechanisms and parameters. larger loss rates and longer queueing delays than the highThe basic idea is similiar to ours, i.e., to inject multi-class priority packets. Besides, a low priority packet may arrivetrafﬁc into the system and use a statistical method to infer earlier than a high priority packet but leave after it while theits scheduling types and parameters based on the output. contrary will never happen. The reordering events betweenHowever, the technique did not consider cross-trafﬁc effects them are asymmetric. Here, the loss, delay, and reorderingand only simulation results were presented. can all be used as a metric to infer priority settings. In this PFP inference also has some goals in common with efforts paper, we’ll use the loss, delay and OOO (Out-Of-Order) basedon network tomography –. However, unlike in network method to name the inference methods based on these metrics.tomography where loss information and topology information Essentially, the delay and reordering metrics are equivalentare combined to infer link losses, we look to identify if because when a packet gets lagged behind another packet,different packet types (based on protocol or port numbers) its delay should be larger than the other. In the following,experience different loss rates. In addition, while probes used we discuss the pros and cons between loss metric and thefor network tomography are always non-intrusive in order to other two metrics and the reason why we choose packet lossget accurate link loss/delay, our problem requires that we eventually.saturate links in order to uncover the conﬁguration of the 1. The probe overhead of packet loss metric is largerrouters. than the other two. Obviously, loss rates difference will not
3become evident until the associated link (or a sub-link for whether the loss rates difference among them is large enougha trafﬁc class) is saturated and begins to drop packets. This to conclude that they are treated differently. When packetsimple observation deﬁnes the basis of loss-based inference losses can be described with a good mathematical model,approach: In order to reveal packet-forwarding priorities, one e.g. independent and identical distribution (i.i.d) process, weneeds to saturate the path available bandwidth for a given can determine if the loss rates of different packet types wereclass to produce loss rates difference among different classes. evidently different or not by comparing all pi , the loss rate ofOn the other hand, packet reordering and delay differences packet type i, using parametric statistical methods. However,can be observed as soon as queue begins to build up. We do our probe packets are sent in large packet bursts. Packetnot need to send as much trafﬁc as the loss-based approach losses in one burst are not independent but correlated. Wefor the reordering and delay-based approach. are not aware of any well-known model for packet losses in 2. Loss difference can be observed for all kinds of QoS a large packet burst in the Internet. Hence, we employ a non-mechanisms while the other two cannot. Although using parametric method based on ranks, which is independent todelay and reordering metrics can result in less probe overhead, underlying packet loss model and insensitive to loss correla-they can not detect certain router QoS mechanisms simply tions.because those mechanisms do not generate different delays III. Grouping is needed for multiple packet types prob-at all. According to our test on a real Cisco router, Policing ing. If we only probe two packet types at one time, simplydoes not generate any packet reordering nor delay differences. determining whether they are treated differently is enough.However, any kinds of router QoS mechanisms will ultimately However, we sometimes probe more than two packet types andgenerate loss rates differences because that is the purpose of need to group them based on their priorities. Here, we assignconﬁguring such mechanisms. In § VII, we found that many a rank-based metric to each packet type and use hierarchicalmulti-priority paths (MPPs) detected by the loss-based method clustering method to group them.could not be detected the other two methods. In summary, POPI saturates the link with relatively large 3. Packet delay difference can be caused by many amount of trafﬁc and clusters packet types based on their lossother mechanisms than QoS. As noted in , the root ranks. Such an approach gives POPI better resistance againstcause of packet reordering is the existence of parallel packet background trafﬁc ﬂuctuations, allows it to cope with theforwarding paths. Such paths can be in a router, parallel links inherent characteristics of its measurement trafﬁc, and enablesbetween two routers, or different routes over a number of hops. it to measure more than two packet types at one time.When packets are split to these parallel paths according totheir packet types and these paths have different delays, we’ll IV. D ESIGN OF POPIobserve asymmetric packet reordering and delay differences In this section, we present the design of the POPI tool whichamong different packet types. In § VII, we show that many has three steps: 1) probing the path; 2) deriving ranks; andpaths showing differences in packet delay and reordering were 3) partitioning packets with different forwarding priorities tonot caused by router QoS mechanisms, but the various forms different groups based on their ranks.of parallel forwarding paths such as slow processing insiderouters and port-based load sharing. To sum up, although the loss-based method has larger probe A. Probing the Pathoverhead, it can detect all kinds of QoS mechanisms and is Fig. 1 illustrates our link probe method. We want to testnot likely to be affected by parallelism in the forwarding paths k packet types. POPI sends a number of bursts (nb ) from aas the other two. Hence, we use packet loss as the metric for source to a destination. The interval between bursts is ∆. Eachinference. burst consists of nr rounds, in which k packets, one for each packet type studied, are interleaved in random order. So, there are nr × k back-to-back packets in each burst. There are threeC. Challenges for POPI parameters for the probe method, ∆, nb and nr . In order to In designing and implementing POPI we addressed a num- achieve independence between bursts, i.e. to ensure the router’sber of interesting challenges. queuing busy period caused by one burst does not interfere I. The accuracy of end-to-end inference of router prop- with the following one, ∆ should not be too small. On theerties can be severely affected by background trafﬁc ﬂuc- other hand, in order not to experience large background trafﬁctuations. Clearly, if one’s probing introduces relatively small ﬂuctuation duration the probe, we need to keep the wholeadditional trafﬁc, whether the link is saturated or not depends probe duration within a relatively short period. In practice, ∆solely on the amount of background trafﬁc. To make our is set to one to ten seconds to keep overall probe durationapproach more resistant to background trafﬁc ﬂuctuations we within several minutes. We’ll discuss nb in § IV-D and nr inopt for sending relatively large amount of trafﬁc to temporarily § V.saturate bottleneck trafﬁc class capacity, which increases the The probe overhead is comparable with current availableprobability of observing loss rates difference. To note, the bandwidth measurement tools such as Pathload. In our exper-sender may not be able to saturate the bottleneck link due to iment, nb = 32, nr = 40 and ∆ = 10. Usually, the userlimited resources, which is an inherit limitation of this method. only needs to compare two or three packet types. Hence when II. Probe trafﬁc of a relative large packet bursts are k = 2, 2560 packets are sent in one probe during 320 seconds.neither independent nor strongly correlated. Once the loss As for the Pathload, it usually sends K×N = 100×12 = 1200rate for each packet type is obtained, we need to determine packets in one probe during 15 seconds .
4 ∆ Burst Burst Burst nrxk nrxk nrxk bursts at conﬁdence level 1 − α is Source Destination 2 √ Router θ1−α,kj ,nb ,k = Q1−α,kj × kj − 1/k 12nb , (2) Fig. 1: A burst consists of nr × k packets where Q1−α,kj is the 100(1 − α) percentile of the range Notation Meaning (of kj i.i.d. standard normals) distribution. nb number of bursts in a path measurement Proof: Please refer to Appendix. nr number of rounds in one burst ∆ time interval between bursts in a path measurement According to this model, when R > θ1−α,kj ,nb ,k , those k, kj number of all tested packet types, number of tested packet types packets should belong to multiple groups. for class j 2) Partition groups based on ANR. We use a hierarchical J number of queues/classes/groups. AN Ri the average normalized rank for packet type i over nb bursts divisive partition approach to cluster ANRs. Initially, we θ threshold used for comparing with AN R range assume all packet types belong to one group, and then TABLE I: Key notations we use the above criteria to judge this assumption. If R > θ, we partition them into two groups using theB. Deriving Ranks k-means clustering algorithm . This procedure is For every burst, loss rate ranks are computed by ﬁrst sorting applied recursively to all newly partitioned groups untilpacket types in ascending order according to their packet loss R ≤ θ or there is only one packet type in the group.rates in that burst and then assigning ranks in order, i.e. the The pseudo code of the partition procedure is shown aspacket type with the largest loss rate has rank 1, the one with below.the second largest loss rate has rank 2, and etc on.1 Similiar to packet loss rates, due to randomness of packet Procedure 1 ksplit(anrs)losses, the ranks of different packet types are like random 1: kj ← len(anrs)arrangements over the all bursts when the packet types are 2: if kj = 1||(max(anrs) − min(anrs) ≤ θ1−α,kj ,nb ,k )treated equally. On the other hand, the ranks of certain thenpacket types are always small when they are treated with low 3: return anrspriority.2 However, the advantage of using ranks is that we 4: elsehave a theory to bound the variance of loss ranks caused by 5: [anrs1 , anrs2 ] = kmeans(anrs, 2)the random effects whereas we do not have that bound for loss 6: return [ksplit(anrs1 ), ksplit(anrs2 )]rates if the loss model is unknown. 7: end ifC. Partitioning Based on Ranks D. Performance Analysis on Priority Group Partitioning 1) Methodology: We ﬁrst simulate many sets of random Every packet burst can be regarded as an observation. rank values (given the number of priority groups and packetIdentifying whether there is consistent difference among k types) that satisfy the following two conditions:ranks over n observations is a well-known statistical problemcalled problem of n rankings . Classic non-parametric 1) ∀ packet type i ∈ priority group Gu , and ∀ packet typesolutions such as the Friedman test  can ﬁnd whether j ∈ priority group Gv , the loss rate rank ri > rj whenthere is consistent difference, but they do not make partitions Gu has higher priority than Gv .among packet types. Therefore, we proposed to use Average 2) For packet types within the same priority group, theirNormalized Ranks (AN R) to group packet types when there ranks are randomly permuted in each burst in order tois consistent difference. The AN R is the average of the ranks simulate the effects of random losses.for a packet type over all bursts. Our statistical method is as We then analyze the AN R group partition performance usingfollows: the generated rank values. Note that the above conditions do m 1) Calculate ANR. Let ri = (1, 2, ...) denote the rank for not consider the worst case when the rank of i in higher packet type i in mth burst. The Normalized Rank N Ri m priority group Gu can be smaller than the rank of some packet m m is ri /k. The range of N Ri is between 1/k and 1. The type j in a lower priority group Gv . However, we do consider AN Ri for packet type i is an extreme case that violates those two constraints due to severe trafﬁc ﬂuctuations in the end of this section. nb 2) Cluster error types: Group partition gives three types of AN Ri = ( N Rm )/nb . i (1) errors. m=1 1) over-partitioning: The number of partitioned groups is We developed a mathematical model for AN R using more than that of the actual situation. It results from the Central Limit Theorem: type I error associated with the criteria R > θ, when Theorem 1: When kj packets are in a same class j, the POPI thinks that k packet types are not in one group range of this class (R = AN Rmax − AN Rmin ) for nb but actually they are. According to statistical theory, the 1 For tie breaks, we use the mid-ranks method  to distribute the total percentage of these errors is less than the conﬁdenceranks equally among them. level α we choose to calculate θ. 2 Our method is robust in the case when a fraction of bursts does not satisfy 2) under-partitioning: The number of partitioned groupsthe assumption discussed in § IV-D. is less than that of the actual situation which results
5 PP PP nb α PP 8 16 32 64 128 100 type P P k=2 k=14 Over Partition 8.5 2.52 2.23 2.52 2.42 k=23 80 0.01 Under Partition 0.20 0 0 0 0 k=32 Sum 8.7 2.52 2.23 2.52 2.42 Cluster Error (%) Over Partition 5.7 0.63 0.21 0.29 0.23 60 0.001 Under Partition 43.5 0 0 0 0 Sum 49 0.63 0.21 0.29 0.23 40 TABLE II: Average cluster error percentage (%) for J = 2 H HH nb 8 16 32 64 128 20 J HH 3 50.0 0.30 0.31 0.35 0.46 0 4 69.0 0.44 0.39 0.54 0.53 0 2 4 6 8 10 12 14 16 18 20 5 82.1 0.93 0.60 0.52 0.48 n0TABLE III: Average cluster error percentage (%) for J = 3, 4, 5, α = Fig. 2: Percentage of overall cluster errors for different n0 , k, nb = 32.0.0001 from the type II error of the criteria. Theorem 2 in the s0 Background traffic r0 Appendix denotes that when nb is above certain value, 100Mbps 100Mbps i.e. larger than 12 for k = 32, the percentage of type II 100Mbps errors is zero. R0 R1 3) mis-partitioning: The number of partitioned groups is 100Mbps 100Mbps equal to that of the actual situation, but some packet POPI Probe s1 r1 types are partitioned to wrong groups. 3) Average cluster error percentage: As the basic operation Fig. 3: NS-2 topologyof our cluster method is to split several packet types intotwo groups, we ﬁrst analyze the case of two priority groups Suppose when a probe burst is sent during the ON period, the(J = 2). There are 256 (k1 , k2 ) combinations where k1 +k2 = loss rates measured are well-separated. When a probe is sentk ≤ 32 and k1 ≤ k2 . We try 64 simulations for each of the during the OFF period, no loss rate difference is observed (ascombination, i.e. 16,384 simulations in total. Table II shows the link is not saturated). The ranks in such bursts will bethe percentage of the ﬁrst two types of cluster errors for the same for all packet types. We ﬁxed the total number ofdifferent nb under α = 0.01 or 0.001. To note, we do not bursts to 32 and increased the number of bursts probed duringshow the percentages for the third type of errors since they the OFF period (n0 ). Fig. 2 shows how n0 affects the clusterare all zero. results. The error is the average performance of all (k1 , k2 ) As shown in this table, we should at least choose nb > 8 combinations for k1 + k2 = 2, 14, 23, 32 and k1 ≤ k2 , wherefor our experiments since both α have a large error percentage we run 64 simulations for every combination. The cluster errorwhen nb = 8. Besides, we will use α = 0.001 for our increase suddenly when n0 becomes larger than 13, 40% ofexperiments since both α = 0.01 and α = 0.001 have 0% 32 bursts. Below that value, the error percentage remains zero.under-partitioning when nb ≥ 16 but α = 0.001 has smaller This shows our clustering method does not require every burstpercentage of over-partitioning. The results also agree well to have loss rate differences, and that it is robust against quitewith our theoretical analysis, i.e. there is no under-partitioning large ﬂuctuations on background trafﬁc.when nb ≥ 16 and the percentages of over-partitioning areclose to the conﬁdence level we set for nb ≥ 32. V. E VALUATION WITH NS-2 S IMULATION When J > 2, the number of (k1 , k2 , ..., kJ ) combinations We implemented POPI in NS-2. We use a dumbbell topol-grows dramatically for kj ≤ 32 and kj ≤ kj+1 . We tested ogy as shown in Fig. 3. The output queue of R0 → R1all combinations, but with reduced number of simulations for is conﬁgured with P Q or P SS using CBQ (Class-Basedeach combination to keep the total number of simulations Queueing) . If not speciﬁed, R0 is conﬁgured with P Qabout the same to that of J = 2. Table III shows the of two priority classes. Class 1 is the high priority class andpartitioning accuracy for J = 3, 4, 5. Our partitioning method class 2 is the low priority class. The queue length of highconsists of two basic operations, the threshold comparison and low priority queues are 20 and 60, respectively. In theand k-means partition. When J increases, the number of experiment, the size of both POPI packets and backgroundsuch operations required for correct partitioning increases. As packets are 1000 bytes. The probe trafﬁc rate is 100Mbps. Weeach operation may introduce error, the overall performance always send 32 packet types and set nb = 32.decreases as J increases, as shown in the table. However, the As the POPI sends a packet burst in a very short period, iterror percentages are all below 1% for nb ≥ 16. is the burstiness of background trafﬁc over small time scales 4) Effects of background trafﬁc ﬂutuations: The back- (less than 1s) rather than LRD over large time scales thatground trafﬁc may not be stable during the probe. Consider an matters. However, the trafﬁc model over short time scales isextreme case where the background trafﬁc is ON/OFF trafﬁc. still not clearly understood . In our simulations, we use
6Gamma trafﬁc with shape parameter γ < 1, which has larger 0.6 Phase 1 Phase 2 Phase 3burstiness than Poisson trafﬁc at small time scales in order toresemble realistic Internet trafﬁc. 0.5 k=(31,1) 0.4A. The Effects of Probe Burst Size k=(1,31) The background trafﬁc is 10Mbps Gamma with shape 0.5, range 0.3 over-partitionwhich consists of equal share of high and low priority trafﬁc. under-partition correct-partitionFig. 4 shows how the partition results are affected as nr 0.2 (1,31)increases for various (k1 , k2 ) combinations. Every point in (6,26) (11,21)the ﬁgure denotes the result of a simulation probe. As shown 0.1 (16,16)in this ﬁgure, the partition results can be divided into three (21,11) 0 (26,6)phases according to the value of nr . In phase 1, nr ≤ 18, the (31,1)probe does not saturate the link, hence no loss is generated, 10 15 20 25 30 35 40 45 50 55and all packet types are partitioned as one group. number of rounds (nr) Phase 2 is a transitional phase. The low priority packet typesbegin to experience losses, but since the losses are insufﬁcient Fig. 4: Partition results for Priority Queuing. Available bandwidth = 90M b.for POPI to properly classify the packets, the partition results matter how large is the background trafﬁc, the low priorityare still incorrect. This phase can be further divided into packets are always dropped prior to the high priority packets.two sub-phases based on the amount of losses generated. In Thus we can always observe the loss differences between lowthe beginning, a packet type in the low priority group only and high prioirty packets.experiences sporadic drops in some bursts. For most of thebursts, it shows no difference in terms of drops from the high-priority packet types, thus POPI still clusters them with high C. Proportional Share Schedulingpriority packet types, resulting in under-partitioning. As nr We show how the different queuing discplines affect theincreases, certain class 2 packet types have drops in almost our algorithm in this experiment. We use P SS and deﬁne twoevery burst, and are clustered as the low-priority group, while trafﬁc classes in R0. The bandwidth allocation ratios for thesome other class 2 packet types still do not have sufﬁcient two classes are 0.2 and 0.8 repectively. The background trafﬁcdrops to be clustered as low-priority group, since their AN Ri rates are 2 and 8Mbps. We let k1 = 1, 2, 3, ...31. For everyare in the middle of the typical AN R of class 2 and the (k1 , k2 ) combination, we run 10 simulations. Altogether, 310typical AN R of class 1. Those intermediates are clustered simulations are performed and 10 of them result in under-as a separate group when judged against the criteria, which partitions. All of the under-partitions come from k1 = 7.results in over-partitioning. For P SS, whether a class experiences packet drops at the Finally, POPI enters phase 3 in which the loss rates are router depends on its input trafﬁc rate and allocated bandwidth.well-separated, and POPI’s accuracy solely depends on the Let Ti be the trafﬁc rate of class i during the probe. Simpleperformance of the cluster method, which has an error per- calculation reveals that when k1 = 7, T1 = 24Mbps and T2 =centage below 1%, as shown in previous section. We also did 86Mbps. Both two classes exceed their allocated bandwidthsimulations for the P SS queue conﬁguration and observed the and experience packet drops. Thus, our algorithm can notsame three phases too. differentiate them. As for k1 = 7, only one of the two classes The above simulations show that we can get very accurate exceeds its allocated bandwidth and loss rates differencesresults as long as we can generate enough losses. Besides, the can be observed. However, only certain trafﬁc pattern canabove simulations help us to estimate the nr for our PlanetLab trigger such behavior which should not be common in normalexperiments. In our PlanetLab experiments, we also probe at measurements.100Mbps with a similar number of packet types. We assumethe queue length of the conﬁgured router is 60 (the default VI. P LANET L AB E XPERIMENTSvalue for the normal-limit priority queue for Cisco Routers A. POPI and its Two Probe Modeswith recent IOS 12.2 ) and the available bandwidth is lessthan 90Mbps. According to this simulation, nr ≥ 30 is enough POPI works in two probe modes, End-to-End Probe (EEP)to get accurate result. We treat this result as a rule of thumb, and Hop-by-Hop Probe (HHP). In both modes, the senderand use nr = 40 in PlanetLab experiments. sends multiple packet types toward the receiver. The receiver feedbacks certain information of every received packet to the sender, which is used by the sender to measure the end-to-endB. The Effects of Background Trafﬁc Rate losses and reordering events along the path. EEP mode works In this experiment, we show the performance of using a exactly as the way described in Fig. 1.ﬁxed nr under different background trafﬁc rates, i.e., 10, 20, HHP mode is used to locate the conﬁgured router or device40, 80, 90Mbps. For each rate, we let k1 = 1, 2, 3, ...31. Once by measuring the losses and reordering events to every routerthe background trafﬁc rate and (k1 , k2 ) are ﬁxed, we run on the path towards the destination (including the destination).10 simulations. Altogether, 1550 simulations are performed It sends nb cycles. In each cycle, it sends nh bursts whoseand all of them are correctly partitioned. It shows that our TTLs increase from one to nh , which is the total hop countalgorithm works well under different available bandwidth. No from sender to receiver. For T T L = nh , POPI measures
7 PROT Type/Port Number is very similar to N1 and the result of N1 had been carefully ICMP ICMP ECHO TCP 20, 21, 23, 110, 179, 443 (well-known app) validated, we’ll discuss the loss-based results for N1 and only 1214, 4661, 4662, 4663, 6346, 6347, 6881 (P2P appli- the comparison results for N2 . Together, those nodes span over cations) 100 autonomous systems. About 60% of the hosts are located 161, 1000, 12432, 38523, 57845 (random) in North America, while the others are distributed in Europe, UDP 110, 179, 161 (SNMP) Asia and South America. 1000, 12432, 38523, 57845 (random) In each experiment we randomly paired the selected nodes TABLE IV: 26 packet types considered for PlanetLab experiments. and probed the paths in both directions for every pair of nodes. We ran POPI with k = 26, nb = 32, nr = 40 andthe end-to-end packet losses and reorderings based on the ∆ = 10 seconds. For each path, the measurement took 5feedback from the receiver. For T T L < nh , POPI calculates minutes, and 33,280 packets were sent (each with size 1500 B).the losses and reorderings up to a hop by counting time- Thus although the burst of probe trafﬁc is quite intensive, theexceeded ICMP responses from that router. When packets average bandwidth consumption is just 1.04 Mbps, well belowdo not traverse the conﬁgured box, we will not observe the typical 100 Mbps capacity.packet loss or reordering difference. After packets traverse the After completing our measurements, we gathered the packetbox, the loss or reordering difference will be similar to that dump ﬁles from the receiver nodes. For N1 , we were onlyobserved at the receiver, and will exhibit over the remaining able to collect results from 156 of the 162 paths measuredhops. Once we observe such phenomenon, the conﬁgured box and we use those paths for the analysis. Among the 26 packetshould be around the spot of difference, the hop at which the types measured, some of them were (usually one or two packetdifference begins to show. types) banned along the path as no packet was received at the To note, the losses and reorderings of ICMP responses receiver during the probe. We excluded them from the priorityactually include round-trip effects. However, as the response group inference.packets were all ”ICMP time exceeded” packets of a samepacket size, it is very unlikely that any router on the reversepath is going to treat them differently. Hence, even when thereare losses or reorderings on the reverse link, the effects are D. Validation Methodunlikely to introduce bias against a speciﬁc packet type. Since it is very difﬁcult to get the actual router conﬁgura- tions on the path, we use HHP method to locate the spotB. Packet Types Tested of difference. We ﬁnd its corresponding organization using While it may seem necessary to test all packet types of whois database, and then send emails to the related technicaldifferent protocol/port number combinations to validate our support for validation. To minimize the trafﬁc sent to routers,approach, in practice there is only a small number of packet we usually chose three to six packet types according to thetypes that network administrators may want to treat differently. group pattern and set nr to 10.We selected 26 packet types as listed in Table IV. For UDP and To enquire the network operator, it is always better for usTCP packets, 30002 is used as the destination port, because to ask the question as speciﬁc as possible. When we locateit is very unlikely that ISPs will set an explicit priority policy the spot of difference only along one direction, the conﬁguredbased on it. The port numbers listed in Table IV are used as box can be either at the spot or one hop before it dependingsource ports to measure the source port based priority policy. on whether the rule is applied to the input queue or output(Destination port based policy can be measured in a similar queue.manner). These packet types are selected to check: When both directions of a path exhibit a same group pattern, • Whether ICMP, TCP and UDP packets are handled with HHP locates one spot of difference along each direction. As equal priority. there is usually only one conﬁgured box along the path, the • Whether some well-known applications are granted distance between the two spots can help us to point out the higher priority. This set includes ftp (port 20, 21), telnet box and its type more precisely. As shown in Fig. 5(a), the (port 23), POP3 (port 110), BGP (port 179), and HTTPs two spots point to a same router when the rules are conﬁgured (port 443). Port 80 is not included because it is used by at the input queues of the router. The two spots are two hops PlanetLab maintenance. away from each other when the rules are conﬁgured at the output queues as shown in Fig. 5(b). In the experiment, we • Whether P2P trafﬁc is treated with lower priority. The observed many cases that the two spots were just one hop seven ports tested are used by four major P2P applica- away. It could be that the rules were conﬁgured at the output tions, Fasttrack, eDonkey, Gnutella, and BitTorrent. queue of two adjacent routers as shown at the left of Fig. 5(c), or that there is a middlebox between two routers as shownC. Experiments and Data at the right of the ﬁgure. We cannot tell exactly which type We conducted the ﬁrst run, N1 , among 162 PlanetLab nodes is from HHP, but the responses from network operators allon May 12, 2006 to test the loss-based method. Because the indicated middleboxes.data set of N1 only recorded loss information, we conducted When the conﬁgured router or routers around it are unre-the second run, N2 on Jun 22, 2007 among 132 PlanetLab sponsive, we may only locate a range for the spot of difference.nodes in order to compare the loss-based method with the However, as long as the range was not too large, we still wroteOOO and delay-based method. As the loss-based result of N2 emails to the related network operator.
8 ``` ``` ANR Range ``` #G > 1 #G = 1 Friedman ``` A C B A C B #Group > 1 14 2 #Group = 1 1 139 (a) Zero Hop (b) Two Hops TABLE V: Comparison between ANR Range test and Friedman test 1 1-priority A B A C B multi-priority 0.8 (c) One Hop with middlebox or conﬁgured output queues ANR Range(y) 0.6Fig. 5: Hops between two spots of difference in HHP probes. Small blackcircles are the places of conﬁguration rules. Short arrows above denote thespots of difference and probe directions. 0.4E. Results of N1 First, we check how packet drops are distributed among 0.2bursts of a path measurement to see if there are any effectscaused by background trafﬁc ﬂuctuations, as we discussed 0in § IV-D. Fig. 6 shows the distribution of number of path 0 0.2 0.4 0.6 0.8 1measurements in which a certain number of bursts experienced Loss Rate Range(x)network packet drops. From this ﬁgure, we can see that for Fig. 8: Loss rate ranges v.s. ANR rangesmost of the path measurements, either all bursts experienceddrops or no bursts experienced drops. This is accordance with plotted a path measurement as a point with its x-axis as the LRour notion that trafﬁc remains relatively stable within a short range and y-axis as the ANR range. Suppose we have designedperiod of time. another priority inference method based on the LR range and 1) The performance of average normalize ranks: As we use it on these paths. Then, a loss rate based threshold θchose ANR as the metric to infer whether there is multiple will be used to distinguish a priority path from a non-prioritypriority groups and to cluster priority groups, it’s crucial to path in the same way as we do in ANR range method. Forunderstand how such a metric really captures packet forward- those points with both large ANR and large LR ranges, theing priorities. In this section, we try to answer the following two methods will both infer them as MPPs, thus there is noquestions. difference between them. The points with both small ranges • Can ANR range clearly distinguish single priority vs. also make no difference. The points that make a difference multiple priority settings? are those with large ANR but small LR ranges, and those with • How does ANR perform when compared with other small ANR but large LR ranges, because the two methods will alternative metrics, e.g. link loss rate range? make opposite conclusion for these points. • With multiple priority settings, is ANR suitable to cluster We ﬁrst check the two typical points with large ANR the packet types into different groups? ranges but small LR ranges, (0.04,0.40) and (0.04, 0.36). They First, we examine how accurately the ANR range metric can correspond to the path 13 and 14 in Table VI. The inferencedistinguish whether there is a packet forwarding preference in results are correct according to the feedback from the relevanteffect. Fig. 7 shows the cumulative percentage of the ratio network operators. Their ANR ranges are large, ranked as thebetween the ANR range measured and the threshold θ used 13th and 14th largest ANR ranges, whereas their LR rangesfor partitioning of the 156 paths. As discussed in § IV-D, we ranks are not as high as their ANR ranges ranks, ranked asuse a conﬁdence level α = 0.001 to calculate the threshold θ. the 26th and 29th largest LR ranges. Many non-priority pathsWhen the ratio is larger than one, packet types are partitioned have larger LR ranges than those two paths. Therefore, theinto multiple priority groups. The curve shows that the ratios LR based method creates two false negatives when it infersless than one and those larger than one are well separated. these two paths as non-priority paths, while it creates lots ofAmong 141 paths whose ratios are less than one, the ratios of false positives by inferring those non-priority paths that have140 paths are well below one (0.82). On the other hand, of larger LR ranges as MPPs. The reason for them to have largethe 15 paths with ratio larger than one, 13 paths have ratios ANR range but small LR range is that in most of the burstslarger than 1.20. In addition, we compare our method with the the loss rate difference between their high priority group andFriedman test as mentioned in § IV-C, using the same α. As their low priority group is just one or two packets. Althoughshown in Table V, the two methods are almost equivalent. their loss rate differences are small, they are persistent over allTherefore, both evaluations suggest that the ANR range is bursts, which leads to the large ANR range and suggests therea good indicator for whether there is an agreed preference exists a certain preference for certain packet types. In this case,among the packet types. the ANR range metric makes such persistent behavior obvious Secondly, we compare the ANR range metric with another while the LR range metric tends to ignore it.possible candidate, the loss rates (LR) range metric. The Then, we examine the point (0.09, 0.12), which has aLR range is the difference between the maximum and the small ANR range but a relatively larger LR range. Whenminimum loss rate of different packet types. In Fig. 8 we checking this path measurement logs, we found that the
9 50 100 45 90 number of path measurements Cumulative Percentage (%) 40 80 35 70 30 60 25 50 20 40 15 30 10 20 5 10 ANR range 0 0 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 number of bursts experienced drops measured ANR Range/θ Fig. 6: Histogram of number of lossy bursts for 156 probes. Fig. 7: The cumulative percentage of ANR range/θ.receiver received 11 bursts. All the loss rate differences stem the top 15 paths, their ANRs are also concentrated within thefrom the ﬁrst burst. In that burst, every TCP packet type range. Large distance between groups and a small range withinreceived only two packets, while every ICMP and UDP packet a group are two good properties for clustering.type received 40 packets. Investigating further, we found that 2) Priority group inference result: Table VI shows thethe TCP advertised window values in TCP headers, which source destination pairs, the ANR range, and the packet typeswere set to 32768 as we sent, were rewritten to 1460, 2920 of priority groups for the 15 MPPs identiﬁed. Three pathswhen received for the two packets in the ﬁrst burst, while were partitioned to three priority groups, and all others to tworemained unchanged for the rest of the bursts. As a normal groups. Except for the path 1 and 15, all other group partitionsTCP connection usually starts with congestion windows set can be described concisely in the table. Four paths treatedto one or two, we suspect that our aggressive probing method some P2P ports out of the seven P2P ports in Table IV ashas triggered a TCP congestion control mechanism related rule low priority. Although different paths set their policies basedin a ﬁrewall, so that all packets not accommodated within on different subsets of the seven ports, it’s not a surprisethe window size were discarded. We checked all 156 paths to see that all policies treated P2P ports as low priority.and found 11 others have the same phenomenon, i.e. large However, it is a little surprising to see that for the eight paths,losses for TCP packets with rewritten headers in the ﬁrst more than half of the MPPs identiﬁed are related to ICMP.burst. In the real Internet environment where there are lots Five of the paths treated ICMP as low priority, two treatedof hidden middleboxes, there are many transient losses which it as high priority, and one treated it as medium priority.may produce a large LR range for a certain packet type in Although we have not found unanimous agreement on whethersome bursts. But the ANR range metric is much more robust ICMP packets are treated with high or low priority, it doesto such burst errors than the LR range. Thus the ANR range suggest that we have to be careful when using ICMP lossis more suitable for discovering the priority settings. rates to estimate the network performance of TCP or UDP Finally, when the ANR range exceeds the threshold, we connections. Three paths 1 (See validation for path 1), 3 andcluster packet types based on their ANR values. Therefore, we 6 treat well-known TCP applications with high priority. Whenalso want to know how the ANR values are distributed within ISPs cannot over-provision their networks, it seems that givingthe range. The 15 paths with largest ANR values were ﬂagged bandwidth guarantee to well-known Internet applications iswith multiple priorities. We show them together with the next one of their solutions.15 paths (i.e. 16th to 30th) with the largest ANR ranges in Among the 15 paths, there are three pairs of paths (3,6),Fig. 9 and Fig. 10 to see how ANR values were distributed (5,8) and (13,14) that are worth extra attention. Each pairfor both MPPs and non-priority paths. The numbering of path contains bi-directional measurements between the same pairin these ﬁgures will be used consistently throughout the rest of of nodes, and their priority group categorizations are the same.this paper, e.g. Table VI. In the ﬁgures, higher priority number Given the router IP and the number of hops away from enddenotes smaller loss rates. hosts, as seen in the validation data (see Table VII), we believe We deﬁne the distance between two priority groups G1 that a single router on the path is responsible for the priorityand G2 as the minimal ANR difference between any pair of setting of each path pair (3,6) and (13,14), as conﬁrmed withpacket types i and j where i ∈ G1 and j ∈ G2 . We deﬁne the network operators. Take path (13,14) for example. They arerange of a priority group G as the maximal ANR difference both caused by the egress ﬁltering on router 22.214.171.124for any pair of packet types in G. For most of the MPPs, and thus the loss rate differences show up in the subsequentexcept for paths 1 and 15, the distance between any different routers.priority group is always much larger than the maximal range of On the other hand, there are 9 other paths that do not havethe priority groups. On the other hand, the ﬁfteen non-priority their reverse paths listed in the table, likely indicating thatpaths in Fig. 10 not only have obviously smaller range than their priority conﬁgurations are asymmetric.
10 1 1 priority 1 priority 1 0.9 priority 2 0.9 priority 3 0.8 priority 4 0.8 0.7 0.7 0.6 0.6 ANR ANR 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Path PathFig. 9: Clustering results for the top 15 paths with the largest ANR range. Fig. 10: Clustering results for the 16th - 30th paths. Path Source→Destination Range Group Partition 1 pku2.6planetlab.edu.cn→planet2.att.nodes.planet-lab.org 0.63 6,8,10 2 planetlab01.erin.utoronto.ca→planetlab-3.amst.nodes.planet-lab.org 0.62 2(ICMP+Bittorrent),24 3 planetlab1.nycm.internet2.planet-lab.org→soccf-planet-001.comp.nus.edu.sg 0.60 7(APPS),22 4 lzu1.6planetlab.edu.cn→planetlab1.ls.ﬁ.upm.es 0.59 21,1(ICMP),2(P2P) 5 planetlab2.iii.u-tokyo.ac.jp→planetlab5.upc.es 0.55 22,1(ICMP) 6 soccf-planet-001.comp.nus.edu.sg→planetlab1.nycm.internet2.planet-lab.org 0.54 7(APPS),22 7 planetlab1.ukc.ac.uk→planet2.ics.forth.gr 0.54 1(ICMP),30 8 planetlab5.upc.es→planetlab2.iii.u-tokyo.ac.jp 0.52 21,1(ICMP) 9 planetlab1.cs.colorado.edu→plab1.nec-labs.com 0.51 22,5(P2P) 10 scratchy.cs.uga.edu→planetlab1.georgetown.edu 0.50 18,5(P2P) 11 planet1.scs.cs.nyu.edu→planetlab2.net-research.org.uk 0.50 29,1(ICMP) 12 planetlab2.lsd.ufcg.edu.br→planetlab1.mnlab.cti.depaul.edu 0.41 25,3(P2P) 13 planetlab2.postel.org→planetlab1.cs.purdue.edu 0.40 27,1(ICMP) 14 planetlab1.cs.purdue.edu→planetlab2.postel.org 0.36 27,1(ICMP) 15 planetlab1.informatik.uni-erlangen.de→planetlab2.ece.ucdavis.edu 0.35 1(ICMP),7,18TABLE VI: 15 paths with multiple priorities. In the Group Partition column, each number represent a group and its size (i.e. the number of packet types inthat group). The groups are ordered by priorities with the highest priority on the left. The description for each group is enclosed in the parentheses. Exceptpaths 1 and 15, the groups without description contain the rest of packet types probed. AP P denotes well-known TCP applications. 3) Effects of the number of rounds in one burst: In this F. Validation Resultssection, we evaluate the number of rounds nr needed to send The validation experiment took place on May 17 2006. Wein one burst in order to infer the priority settings. Instead of validated the 30 paths in Fig. 9 and 10 in order to search forprobing the paths with new nr values, we actually reuse our both false positives and false negatives. Among the 30 paths,measurement data by only counting received packets up to four paths could not be checked, and one of them is in topa certain sending round j in one burst, ignoring the received 15. Among the 14 paths in top 15, 13 paths are validatedpackets sent after that round. Since POPI put the round number to have multiple priorities as shown in Table VII and 12 ofinto the data payload for every packet, it’s easy to obtain nm , i(j) them were correctly partitioned. For the 12 of the bottom 15the number of received packets for the packet type i up to the paths, we did not ﬁnd loss rates differences for any of them.sending round j in the mth burst, and perform ANR analysis Therefore, no false negatives were found for any of the paths.based on these values. The four unchecked paths, one over-partitioned path 1 and one Fig. 11 shows that total partition errors decreases as nr unproven path 15 will be explained later.increases for the top 15 paths. We use the validation results in For each priority router inferred in Table VII, we checkedthe following section as the baseline to compare. The under- its corresponding organization using whois database, and sentpartitions are the main types of errors when nr is small, and email to the tech support for validation. We received responsesthe number of them gradually drops from 14 at nr = 1 to zero for seven paths and they all conﬁrmed our inference results.at nr = 38. It suggests that we can have right partitions for Paths 1, 3 and 6 are conﬁrmed by their network operator assome paths at small nr , but we need to use large nr for some setting separate high bandwidths for typical applications. Inother paths. This accords with our notion that for some paths addition, the network operator of Path 10 conﬁrmed that theywith large available bandwidth, we need to send large bursts use a trafﬁc shaper (we consider it as part of a router forto make the priority settings show up. forwarding functionality) close to the campus edge routers
11 14 Path #G Router w/ OP HC NH Location CFM total partiton errors 1 2 126.96.36.199 6 18 China Yes mis-partition 2 2 188.8.131.52 5 17 Toronto – 12 under-partition over-partition 3 2 184.108.40.206 11 15 Singapore Yes 10 4 2 220.127.116.11 15 16 Spain – 5 2 18.104.22.168 23 27 Spain Yes number of paths 8 6 2 22.214.171.124 5 15 Singapore Yes 8 2 126.96.36.199 12 21 UK – 6 9 2 188.8.131.52 5 15 Colorado – 10 2 184.108.40.206 4 12 Georgia Yes 4 11 2 220.127.116.11 12 13 UK – 13 2 18.104.22.168 11 15 Indiana Yes 2 14 2 22.214.171.124 5 15 Indiana Yes TABLE VII: Summary of hop-by-hop validation results for the 12 success- 0 fully validated paths. The Path numbers are the same as those in Table VI. #G 1 5 10 15 20 25 30 35 40 is the number of priority groups shown in the hop-by-hop loss rates. Router number of rounds (nr) w/ OP is the router where the multiple priorities are observed. Note that they may not be the routers with priority conﬁgured. HC is the hop count fromFig. 11: The ANR partition errors v.s. ANR nr . The mis-partition is wrong the source to that router. NH is number of hops of the path. ”Yes” in columngroup partition with correct number of groups. CFM means positive conﬁrmation received, ”–” means no reply. 100 80 Loss Rates (%) high priority groups (6,8) show no loss rate differences. It 60 has been conﬁrmed by its operator that all these ports (UDP, 40 1/30003/8 6/20/30003 ICMP and the well-known TCP application ports such as 20, 20 6/1000/30003 17/1000/30003 21, 110, 179, 443 and etc.) are set to one high priority. This 0 is because the ANR method is a statistical method and cannot 0 5 10 15 20 25 Hop Count guarantee 100% correctness. As shown in Fig. 9, their ANRs (a) Per-hop loss rates for path 8 with ICMP, TCP source port range from 0.6 to 0.9 and are very close to each other. 20,1000, UDP source port 1000 For the unproven path 15, we did not observe loss rates 100 difference for all routers on the path. In the experiment, its 17/43822/30003 80 17/57845/30003 ANR was just above the threshold θ when detected as a MPP. Loss Rates (%) 6/1000/30003 60 6/1214/30003 Besides, when we measured it again with POPI for validation, 40 its ANR is less than the threshold. Thus we believe it is a false positive in our detection. 20 0 0 2 4 6 8 10 12 14 VII. C OMPARING P RIORITY I NFERENCE WITH D IFFERENT Hop Count M ETRICS (b) Per-hop loss rates for path 24 (126.96.36.199 → 188.8.131.52) with TCP source port 1000,1214, two random In § III-B, we the discussed general principles of choosing UDP source ports the inference metric. In this section, we compare the infer- ence results of the loss-based and OOO-based method using Fig. 12: Typical path loss rates PlanetLab experiments. We do not use packet delay because the reordering metric is more robust than the delay metric although they bothto limit P2P trafﬁc. The other three MPPs (5, 13 and 14) reﬂect the packet delay differences. When the delay variationconﬁrmed by their network operators are all caused by severe generated by the non-conﬁgured devices is large, a packet withICMP trafﬁc rate limiting on their routers a shorter delay at the conﬁgured box can have a larger end-to- Fig. 12(a) gives the typical per hop loss rates for a suc- end delay than a packet with a larger delay at the conﬁguredcessfully proved path: path 8. Other MPPs are similar. There box. Hence, the delay differences between different packetare persistent loss rate differences between ICMP and the types introduced by the conﬁgured box are overwhelmed byTCP/UDP packets beginning at hop 12 with similar differences the large delay variation introduced by the non-conﬁguredall the way to the destination, while there is no such difference devices along the path. Large delay variation can often bebefore hop 12. Therefore, the conﬁgured router should be at observed for congested routers. However, routers usually dohop 11 or 12, depending on the router conﬁguration (ingress no reorder packets. Hence the reordering events introducedﬁltering or egress ﬁltering). Fig. 12(b) shows the per-hop loss by the conﬁgured box are usually observed by the receiverrates for a typical non-priority path, path 24. The large loss without any distortion. OOO-based method is generally morerates for hops 2 and 3 are probably due to ICMP rate-limiting. accurate than the delay-based method. The unchecked paths are path 7 and three others in thebottom 15. Path 7 was not checked because traceroute did notreturn any result beyond hop two, and the other three were not A. Methodologychecked because the source hosts were down, and there were As discussed in § VI-C, we performed the loss-based andno other available hosts at those institutes either. OOO-based inference for every probe in N2 . We also ran HHP For the over-partitioned path 1, packet types from the two method for every OMGP (OOO-based Multi-Group Path) and