{"id":43,"date":"2013-01-06T05:59:50","date_gmt":"2013-01-06T05:59:50","guid":{"rendered":"http:\/\/www.darrinthomason.com\/?p=43"},"modified":"2013-01-07T02:59:38","modified_gmt":"2013-01-07T02:59:38","slug":"dropping-packets-n-t-g-d","status":"publish","type":"post","link":"http:\/\/www.darrinthomason.com\/?p=43","title":{"rendered":"Dropping packets&#8230;n t  g  d"},"content":{"rendered":"<p>Due to my new role, I have been thinking a lot about how modern network architecture has evolved over the years. \u00a0When I first entered networking it was the &#8220;cool&#8221; thing that we did so that we could play Doom in our fraternity house with a bunch of other guys. \u00a0That was the old 10Base-2 connectors. \u00a0I quickly graduated to a real job shortly after pulling and terminating cables and in some cases repairing the old baseband systems that we can thank IBM for in schools. \u00a0But really since the standardization of cable around Cat5 or Cat6 &#8211; haven&#8217;t we come a long way? \u00a0Yes I realize that things can interfere with cable such as electrical current, but for the most part if you have well terminated copper cable you can run at a minimum 100M without a problem.<\/p>\n<p>This got me thinking to why were networks ever built to plan for dropped packets. \u00a0Did it go back to the original ARPAnet design that we wanted to be able to survive a nuclear blast? \u00a0 Yes we all know that this rumor is not true, but in fact part of ARPAnet was to be able to work across an unreliable medium. \u00a0Is this why protocols were built on top to compensate for \u00a0this problem with reliable delivery? \u00a0Does that same problem with a reliable medium still exist today? \u00a0If not, how would we change our network architectures? \u00a0These questions plagued me for the last month or so and hence I decided to do some research.<\/p>\n<p>Here are a couple thoughts:<\/p>\n<p><strong>Dropped Packets Suck in the Data Center!<\/strong><\/p>\n<p>Whether it is from oversubscription or a microburst in the network, dropped packets in large suck. \u00a0This problem is only going to get worse as we increase the speeds of the networks. \u00a0Are you aware that on a 10Gb Ethernet link, that a single second of dropped packets will spew ~15M packets onto the datacenter floor. \u00a0Worse yet is that we are in an era of now 40Gb ethernet and soon to be 100Gb Ethernet. \u00a0Yes that math is correct that a single second of impediment on 100Gb ethernet would throw away 150 million packets (assuming the smallest frame size). \u00a0I don&#8217;t care what application you are using if you lose 150M packets, the user experience is going to be bad.<\/p>\n<p>This makes me ask the question, why would you ever build a datacenter network that is massively oversubscribed? \u00a0You could suggest that you are playing the economics game&#8230;explain that to your CIO when the #1 revenue producing application is down. \u00a0You could also hypothesize that it is only oversubscription if everyone talks at the same time&#8230;which I understand. \u00a0The premise that I am suggesting is that we should never build a network that works &#8220;in a perfect world.&#8221; \u00a0Believe me I have seen some of the finest pieces of powerpoint engineering that in practice fail worse than Ben Affleck and Gigli did in 2003.<\/p>\n<p><strong>Dropped packets decrease the user experience!<\/strong><\/p>\n<p>In a world that demands instant customer satisfaction from our applications, we can&#8217;t afford to drop packets in the data center. \u00a0Akamai did a <a href=\"http:\/\/http:\/\/www.akamai.com\/html\/about\/press\/releases\/2009\/press_091409.html\">study in 2009 <\/a>that says the new average for loading a page was 2 seconds. \u00a0Worse yet 40% of the users at that time said they would abandon a page that took longer than 3 seconds to load. \u00a0Gartner claims that by 2014, 80% of the datacenter traffic will be east\/west. \u00a0I once again ask the question, if this is true, why would you build a data center network that is highly oversubscribed for intra data center traffic?<\/p>\n<p>I was responsible for a legacy application in my previous life that made 1200 one way trips to put away data in a database. \u00a0Can you imagine the impact that dropped packets would have on this performance? \u00a0To make matters worse, the application had to perform flawlessly to be any where near a 5 second threshold that we had set for the entire application (of which our piece was a smaller portion).<\/p>\n<p>Anyone that is working in the modern enterprise with any type of legacy applications and a service chain that can be a mile long knows exactly what I am talking about. \u00a0The truth of the matter is that the business applications struggle to meet the SLA metrics when everything works perfect&#8230;so again, why build a data center network that is highly oversubscribed and likely to drop packets?<\/p>\n<p><strong>There is good news!<\/strong><\/p>\n<p>The good news is that with standards and modern advances in silicon and signaling, we don&#8217;t have to live in the dark ages of data center network architecture. \u00a0We can in fact build a completely non-blocking architecture that scales to 000&#8217;s of physical servers and even more virtual servers. \u00a0As I dive back into the networking world, I am impressed with the advances that have been made in the hardware capabilities. \u00a0I am suggesting that the architectures need to evolve to take better advantage of these hardware capabilities. \u00a0Certainly the differentiation will come in the software space and the integration of this software into the business and data systems. \u00a0You can call it what you would like &#8211; a fabric, a two-tier architecture, leaf\/spine &#8211; it doesn&#8217;t matter. \u00a0What does matter is that you move with speed needed to stop dropping packets in the data center.<\/p>\n<p>Let&#8217;s face it &#8211; the application and data teams just expect the network to work. \u00a0I will argue that the network is the furthest thing from a commodity in any enterprise. \u00a0Just ask any CIO how much work gets done when the network is down. \u00a0BUT we have to evolve our architectures to fulfill the current and future business needs&#8230;and I am suggesting that we can start by architecting solutions that don&#8217;t drop packets even during the highest periods of business need! \u00a0The technology, products, and standards are there&#8230;remember 150M packets is just the start&#8230;what happens as speeds move to the Terabit range?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Due to my new role, I have been thinking a lot about how modern network architecture has evolved over the years. \u00a0When I first entered networking it was the &#8220;cool&#8221; thing that we did so that we could play Doom in our fraternity house with a bunch of other guys. \u00a0That was the old 10Base-2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[11,7,6],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-architecture","tag-architecture","tag-data-center-network-design","tag-dropped-packets"],"_links":{"self":[{"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":5,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":46,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions\/46"}],"wp:attachment":[{"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.darrinthomason.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}