{"id":2844,"date":"2015-08-30T13:48:06","date_gmt":"2015-08-30T09:48:06","guid":{"rendered":"http:\/\/nayarweb.com\/blog\/?p=2844"},"modified":"2015-08-30T13:48:06","modified_gmt":"2015-08-30T09:48:06","slug":"codel-intro-by-loganaden-velvindron","status":"publish","type":"post","link":"https:\/\/nayarweb.com\/blog\/2015\/codel-intro-by-loganaden-velvindron\/","title":{"rendered":"CoDel Intro by Loganaden Velvindron"},"content":{"rendered":"<p>Hosted at the University of Mauritius (UoM), Logan made a presentation explaining the &#8220;bufferbloat&#8221; problem in our network equipment [1].<\/p>\n<p><a href=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-2-1024x768.jpg\" alt=\"media-20150829 (2)\" width=\"640\" height=\"480\" class=\"aligncenter size-large wp-image-2846\" srcset=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-2-1024x768.jpg 1024w, https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-2-300x225.jpg 300w, https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-2-1272x954.jpg 1272w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Buffer is a memory where data is stored temporarily before being transferred to another place [2]. For example, the conveyor belt at the supermarket can be thought as a buffer. Imagine a person buying stuffs for his family for one month and you are waiting for him to finish checking out for you to buy your single pack of chewing gums.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/carrotsncake.com\/wp-content\/uploads\/2009\/05\/img_8564-475x356.jpg\" alt=\"Source: carrotsncake.com \" \/><\/p>\n<p>You just wasted an enormous amount of time. You&#8217;d feel pretty much pissed about it. <\/p>\n<p>Reducing the amount of articles a person can put on a conveyor belt to let&#8217;s say 10 articles max will prevent you from waiting excessive amount of time as compared to being behind a person with 100+ articles.<\/p>\n<p>This is what CoDel wants to achieve from what I understood from the presentation. Reducing the queue length of network equipment to allow more dropping of &#8220;elephant flows&#8221; to allow reduce serving time of &#8220;mice&#8221; and &#8220;ants&#8221;.<\/p>\n<p><a href=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-1-1024x768.jpg\" alt=\"Logan Bufferbloat\" width=\"640\" height=\"480\" class=\"aligncenter size-large wp-image-2847\" srcset=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-1-1024x768.jpg 1024w, https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-1-300x225.jpg 300w, https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150829-1-1272x954.jpg 1272w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>I&#8217;m not sure what CoDel does more than just reducing queue length. And yeah, CoDel drops packets from the front of the queue rather than the end of it.<\/p>\n<p>Does it make sense? I think yes. Let&#8217;s say you are on Mauritius Telecom&#8217;s MyT LaFibre when your 50GB allowance is over. Internet becomes a pain. Facebook is taking more than 2 minutes to load. You press the reload button 5 times. When the packet of your first request is reaching Facebook server you already refreshed your page making the request stale. The server still processes the first request and sends back. Meanwhile you are waiting packets from the 5th request. If the server just drops packets from the front, the latest flows will be served. Still doesn&#8217;t make sense? <\/p>\n<figure style=\"width: 567px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/what-when-how.com\/wp-content\/uploads\/2012\/02\/tmpC111_thumb.jpg\" width=\"567\" height=\"228\" alt=\"Queue Drop\" class \/><figcaption class=\"wp-caption-text\">Source:  what-when-how.com<\/figcaption><\/figure>\n<p>Anyways, from a hacker&#8217;s point of view, doesn&#8217;t it become easier to do Denial of Service (DoS) attacks? Let&#8217;s say Mr X just send a packet to a server. I just flood the server queue so as his request gets dropped. Sending burst data to servers can result in some sort of &#8220;VIP&#8221; service since all requests before the queue is dropped. Maybe Logan can enlighten me in the next presentation.<\/p>\n<p><a href=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150830.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150830.jpg\" alt=\"media-20150830\" width=\"600\" height=\"338\" class=\"aligncenter size-full wp-image-2850\" srcset=\"https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150830.jpg 600w, https:\/\/nayarweb.com\/blog\/wp-content\/uploads\/2015\/08\/media-20150830-300x169.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>CoDel however is currently being designed and tweaked for latencies not more than 100ms Logan says. Will it work in the Mauritian context where latencies are around 300-350ms? Students from universities are invited to study the mechanism and improve user experience for Mauritius and African countries.  <\/p>\n<p>[1] http:\/\/logan.hackers.mu\/2015\/08\/linux-meeting-29082015<br \/>\n[2] https:\/\/en.wikipedia.org\/wiki\/Data_buffer<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hosted at the University of Mauritius (UoM), Logan made a presentation explaining the &#8220;bufferbloat&#8221; problem in our network equipment [1]. Buffer is a memory where data is stored temporarily before being transferred to another place [2]. For example, the conveyor belt at the supermarket can be thought as a buffer. Imagine a person buying stuffs &hellip; <a href=\"https:\/\/nayarweb.com\/blog\/2015\/codel-intro-by-loganaden-velvindron\/\" class=\"continue-reading\">Continue reading <span class=\"screen-reader-text\">CoDel Intro by Loganaden Velvindron<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[210],"tags":[],"class_list":["post-2844","post","type-post","status-publish","format-standard","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/posts\/2844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/comments?post=2844"}],"version-history":[{"count":4,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/posts\/2844\/revisions"}],"predecessor-version":[{"id":2851,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/posts\/2844\/revisions\/2851"}],"wp:attachment":[{"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/media?parent=2844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/categories?post=2844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nayarweb.com\/blog\/wp-json\/wp\/v2\/tags?post=2844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}