{"id":29,"date":"2013-07-02T17:27:00","date_gmt":"2013-07-02T05:27:00","guid":{"rendered":"http:\/\/deborahfitchett.com\/blog\/?p=29"},"modified":"2013-07-02T17:27:00","modified_gmt":"2013-07-02T05:27:00","slug":"all-about-data-network-performance-nzes","status":"publish","type":"post","link":"https:\/\/deborahfitchett.com\/blog\/2013\/07\/all-about-data-network-performance-nzes\/","title":{"rendered":"All about Data Network Performance #nzes"},"content":{"rendered":"<p>[This post just covers the first half of the session]<\/p>\n<p><strong>All about Data Network Performance<\/strong><br \/><em>Alessandra Scicchitano, SWITCH<br \/>Domenico Vicinanza, DANTE<br \/>James Wix &#038; Sam Russell, REANNZ<\/em><\/p>\n<p>1. Networking background &#8211; the models and layers<br \/>Two major models in networking:<br \/>Open Systems Interconnection (more conceptual &#8211; to define what you&#8217;re trying to do) got overtaken by:<br \/>TCP\/IP &#8211; aims at robustness and end-to-end functionality<\/p>\n<p>OSI&#8217;s layers are Physical (optics\/interfaces), Data Link, Network, Transport, Session, Presentation, Application.<br \/>TCP\/IP runs the world. Layers: Link, Internet, Transport, Application. <\/p>\n<p>2. The tools and what they can do<br \/>Ping sends echo request, gets echo reply and tells us roundtrip time<\/p>\n<p>Traceroute sends packets with timeout increasing in increments so as they timeout and are sent back you can see where they&#8217;re going.<\/p>\n<p>OWAMP &#8211; one-way active measurement protocol aka one-way ping &#8211; because standard ping doesn&#8217;t show delay direction. This can handle asymmetry but requires NTP for reliable useful results.<\/p>\n<p>Iperf &#8211; commandline, measures bandwidth (TCP) and quality (UDP) of a network path. Client\/server architecture (client is sender, server is receiver). Jperf is a java graphical front-end. Most useful to watch in second-intervals. Can send parallel and bidirectional tests.<\/p>\n<p>Nuttcp &#8211; can show where dropped packets are.<\/p>\n<p>Bwctl &#8211; wrapper for iperf, nuttcp, thrlay. Command line.<\/p>\n<p><a href=\"http:\/\/www.hep.man.ac.uk\/u\/rich\/net\/index.html\">UDPmon<\/a> &#8211; sends stream of carefully spaced UDP packets and records set of metrics (timestamps, packets received, lost, arrived in bad order, lost in network; bytes received and bytes\/frame rate; elapsed time; time per received packet; receiver data rate and wire rate (Mb\/s)). Histogram option to data and paste straight into Excel to create graph.<\/p>\n<p>3. Network transfer<br \/>Simple network transfers: Sender sends packet, reciever recieves, receiver sends acknowledgement, sender receives acknowledgement. Wastes lots of time and bandwidth.<\/p>\n<p>Windowing: So send more than one packet at a time and see which stuff arrived and which didn&#8217;t. With selective acknowledgements can say &#8220;Am missing #4 but got the rest so don&#8217;t resend that.&#8221;  Send enough data to fill the whole pipe. Send it again while waiting for acknowledgements. Amount depends on round trip time. Eg sending 360MB\/s with a 280ms latency then BDP = 360&#215;280 = 100.8Mb = 100.8\/8MB so need a 12.6MB window<\/p>\n<p>Default OS settings slow you down. To get the best out of REANNZ you need to tune for &#8220;elephant&#8221; flows (Long Fat Network aka LFN). Tuning your TCP can massively improve performance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[This post just covers the first half of the session] All about Data Network PerformanceAlessandra Scicchitano, SWITCHDomenico Vicinanza, DANTEJames Wix &#038; Sam Russell, REANNZ 1. Networking background &#8211; the models and layersTwo major models in networking:Open Systems Interconnection (more conceptual &#8211; to define what you&#8217;re trying to do) got overtaken by:TCP\/IP &#8211; aims at robustness [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[9],"_links":{"self":[{"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/posts\/29"}],"collection":[{"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deborahfitchett.com\/blog\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}