280 likes | 285 Vues
REALISTIC PACKET REORDERING FOR NETWORK EMULATION AND SIMULATION. Aisha Syed, Robert Ricci University of Utah. Packet reordering common in real networks R etransmissions due to loss, multipath forwarding, load balancing within routers, etc. Performance affected by reordering *
E N D
REALISTIC PACKET REORDERINGFOR NETWORK EMULATION AND SIMULATION Aisha Syed, Robert Ricci University of Utah
Packet reordering common in real networks • Retransmissions due to loss, multipath forwarding, load balancing within routers, etc. • Performance affected by reordering* • Streaming media, VoIP, IPTV, etc Introduction *Mashtizadeh ‘14, Narasiodeyar ‘13, Lelarge’08, Piratla’08, Jaiswal‘07, Laor ‘02, Bennett ‘99
Need reordering for realistic simulation/emulation • Emulatingcause won’t result in precise or repeatable results • Goal is precise, repeatable, controlled reordering • Users may want to test their apps/protocols in high reordering networks Introduction
Reorder Density (RD) [Piratla’05] • Captures reorderingby measuring displacements of packets from original positions • RD calculation algorithm • Packet trace RD • RD sequence regeneration algorithm • RD Packet trace with reordering applied • Will be used while simulating/emulating reordering • RD Emulator Reordered packet trace Reorder Density (RD) Metric
Algorithm for sequence regeneration from the RD reordering metric Dummynet emulator extension to support reordering Contributions
RD calculation example Send: Receive: 2 1 -1 2 RD Histogram
Sequence Regeneration Algorithm Input RD Histogram
Use maxflow –like approach with additional components for constraints • Create graph to represent permutations of displacements in input histogram • Use greedy search with backtracking • Find paths that represents output permutation Sequence Regeneration Algorithm
N = 4 packets Solution: sub-sources (# of displacements) 4 2 1 3 super-source 1 • Space complexity • O(numUniqueDisplacements * numPackets) • numUniqueDisplacements usually small 2 1 2 -1 -1 -2 -2 • Time complexity • O(numUniqueDisplacements2 * numPackets) • Worst-case rare in practice super-sink sub-sinks (N) bipartite graphs
Evaluation • Real Internet traces from the literature • Algorithm correctness, and performance on real traces • Synthetic traces • Algorithm scalability with respect to amount of reordering • Algorithm scalability with respect to number of packets • Datapath evaluation • Evaluated our Dummynet extension to see if it was causing any unnecessary overhead
1. Real traces • 145 hours of TCP traffic consisting of long-lived connections from Colorado to 6 destinations around the world • Algorithm worked correctly • Got EXACTLY the same RD
2. Synthetic traces • Effect of amount of reordering on algorithm runtime • Number of packets kept constant (1K) Real traces
Conclusion • Contributions • RD sequence regeneration algorithm • Reordering support added in Dummynet • Evaluated algorithm correctness and scalability, and Dummynet extension for any unnecessary overhead • Works correctly and fast enough for realistic traces Thank You
Effect of number of packets on algorithm runtime • Amount of reordering kept constant to RD seen on real trace
Reordering extension Experimenter Workflow Delay/bandwidth/loss emulation Sequence Regen. Algorithm Other optional config. Input RD(s) Reorder config. D S 3 2 1 6 5 4 … 1 2 3 4 5 6 … Dummynet
References [1] Dummynet references from Citeseer. http://citeseerx.ist.psu.edu/viewdoc/ summary?doi=10.1.1.57.2969, 1:401–414, 2013. [2] Packet reordering trace. http://www.cnrl.colostate.edu/Projects/PacketReordering/ Trace/packet reordering trace.htm, pages 401–414, 2013. [3] T. Banka. Metrics for degree of reordering in packet sequences. Proc. 27th IEEE Conference on Local Computer Networks, 1:333–342, November 2002. [4] J. C. R. Bennett. Packet reordering in not pathological network behavior. IEEE/ACM Trans. Netw., 7:789–798, 1999. [5] P. E. Black. Fisher-Yates shuffle. Dictionary of Algorithms and Data Structures [online], US National Institute of Standards and Technology, 2005. [6] M. Carbone. Dummynet revisited. SIGCOMM Comput. Commun. 2010. [7] B. Chun. PlanetLab: an overlay testbed for broad-coverage services. SIGCOMM Comput. Commun. Rev., 33(3):3–12, 2003. [8] S. Jaiswal. Measurement and classification of out-of-sequence packets in a tier-1 IP backbone. IEEE/ACM Transactions on Networking (ToN), 2007. [9] A. P. Jayasumana. Improved packet reordering metrics. RFC 5236, 1:401–414, June 2008. [10] M. Laor. The effect of packet reordering in a backbone link on application through- put. IEEE Network, 16(5):28–36, 2002.
References [11] M. Lelarge. Packet reordering in networks with heavy-tailed delays. Mathematical Methods of Operations Research, 67(2):341–371, 2008. [12] A. Morton. Packet reordering metrics. RFC 4737, 1:401–414, November 2006. [13] A. Morton. Packet reordering metrics. IETF internet-standard: RFC4737, 2006. [14] V. Paxson. End-to-End Internet packet dynamics. Proc. ACM SIGCOMM Con- ference on Applications, Technologies, Architectures, and Protocols for Computer Communication, 1:401–414, 1997. [15] N. M. Piratla. On reorder density and its application to characterization of packet reordering. Proc. 30th IEEE Local Computer Networks (LCN) Conference, Sydney, Australia, 1:401–414, November 2005. [16] N. M. Piratla. Rd: A formal, comprehensive metric for packet reordering. Proc. IFIP Networking Conference, Ontario, Canada, LNCS 3462:78–79, May 2005. [17] N. M. Piratla. Reordering of packets due to multipath forwarding – An analysis. Proc. IEEE International Conference on Communications, 1:401–414, June 2006. [18] N. M. Piratla. Metrics for packet reordering – A comparative analysis. International Journal of Communication Systems, 21:99–113, 2008. [19] J. Sommers. Improving accuracy in end-to-end packet loss measurement. ACM SIGCOMM Computer Communication Review, 35:157–168, August 2005. [20] B. White. An integrated experimental environment for distributed systems and networks. Proc. of the Fifth Symposium on Operating Systems Design and Imple- mentation, Boston, MA, 1:255–270, December 2002.
Sophisticated algorithm needed because have to solve a constraint problem • Naïve approach wouldn’t work • Need a specific permutation that meets constraints Sequence Regeneration Algorithm
RD generated from Internet packet trace 145 hours of packet data from the host in USA to one in India Source: Colorado State University
Evaluation • Plan followed • Take traces • software generated and from realdatasets • Calculate reordering metrics • Feed those metrics into my implementation • Measure metrics on the resulting stream, and show they are very close to the ones calculated in Step 2
Reordering scheduler Delay/bandwidth/loss emulation Dummynet Sequence Regen. Algorithm Reordering config. file Input file containing RD for emulation Optional config. file for delay, loss, etc Reordered packet stream 2 1 34 6 5 7 8 … Destination Source
Reordering scheduler Delay/bandwidth/loss emulation Dummynet Sequence Regen. Algorithm Other optional config. Input RD Reorder config. D S 5 4 3 2 1 … 1 2 3 4 5 …
Workflow: Take packet trace -> calculate RD -> sequence regeneration algorithm -> feed it to dummynet -> emulation
Destination host in Cape Town • N = ~ 130K • Runtime = ~1s
Reordering • Prevalent network phenomenon • Increasingly becoming important to pay attention to • Sophisticated metrics needed • Hence • Important to include as a feature in emulators • Implement support for RD • Currently most sophisticated metric available • Incomplete without sequence regenalgorithm Summary
Output packets Input packets Pipe representing a communications link, has an associated delay and bandwidth Finite queue representing router buffer Scheduler
Reorder Density (RD) • Measures displacements of packets from their original positions in a sequence • Considers both early and late packet arrival • Relatively very comprehensive metric