{"id":1504,"date":"2012-09-24T08:40:43","date_gmt":"2012-09-24T06:40:43","guid":{"rendered":"http:\/\/www.ofcourseimright.com\/?page_id=1504"},"modified":"2021-12-02T21:53:00","modified_gmt":"2021-12-02T19:53:00","slug":"famous-internet-quotes","status":"publish","type":"page","link":"https:\/\/ofcourseimright.com\/?page_id=1504","title":{"rendered":"Famous Internet Quotes"},"content":{"rendered":"<p>Some of the brightest and most renown people don&#8217;t lend their views to a sentence, one clear example of this being Internet Founding Father, Vint Cerf.\u00a0 Nevertheless.<\/p>\n<h2>Postel&#8217;s Law on Interoperability<\/h2>\n<blockquote><p>In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior.<\/p>\n<p>&#8212; <a href=\"http:\/\/www.postel.org\">Jon Postel<\/a> in <a href=\"http:\/\/tools.ietf.org\/html\/rfc760\">RFC 760<\/a><\/p><\/blockquote>\n<p><a href=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/postel.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1515\" title=\"Jon Postel\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/postel-200x300.jpg\" alt=\"Coutesy Peter Lothberg\" width=\"124\" height=\"186\" srcset=\"https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/postel-200x300.jpg 200w, https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/postel.jpg 512w\" sizes=\"auto, (max-width: 124px) 85vw, 124px\" \/><\/a>Back when the Internet was small and called the <a href=\"http:\/\/en.wikipedia.org\/wiki\/ARPANET\">ARPANET<\/a>, getting two computers to talk to each other was very difficult.\u00a0 The specifications were young and immature, leading to variances in implementations.\u00a0 A simple example might be a text-based protocol like SMTP, where one implementation ended a line with just a linefeed (LF) where the specification calls for carriage return and then linefeed (CRLF).\u00a0 Jon Postel addressed those variances in two complimentary ways: don&#8217;t cause them, and if you see one, don&#8217;t just cough up blood and quit.\u00a0 When specifications mature, it&#8217;s important to <strong>not<\/strong> be so lenient.\u00a0 For one, as they mature, the presumption is that more people, good and bad, are using the services they describe, and there will be those who abuse them.\u00a0 This happened with <a href=\"http:\/\/tools.ietf.org\/html\/rfc5321\">SMTP<\/a> and EMail, in particular.\u00a0 The EMail architecture of the Internet is quite open: you don&#8217;t need permission to send me mail.<\/p>\n<h2>The Haas Warning<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-2259\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/jeffrey-haas-e1511352583914-150x150.jpg\" alt=\"Jeff Haas\" width=\"150\" height=\"150\" \/>The reason one sometimes has to be liberal in what one accepts is sometimes due to a lack of clarity in the specification itself.\u00a0 This led to Jeff Haas&#8217; quip:<\/p>\n<blockquote><p><span class=\"\">Of such \u201cimplied clarity\u201d are many interop bugs made<\/span><\/p><\/blockquote>\n<h2>The Tao of the IETF, as articulated by Dave Clark<\/h2>\n<blockquote><p>We reject kings, presidents and voting. We believe in rough consensus and running code.<\/p><\/blockquote>\n<p>Over the years there have been a lot of bright ideas brought to standards bodies that have failed.\u00a0 <a href=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/daveclark.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1518\" title=\"Dr. David Clark from MIT\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/daveclark-300x200.jpg\" alt=\"\" width=\"189\" height=\"126\" srcset=\"https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/daveclark-300x200.jpg 300w, https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/daveclark-1024x682.jpg 1024w\" sizes=\"auto, (max-width: 189px) 85vw, 189px\" \/><\/a>Many of those bright ideas never saw a single implementation, or even a line of code.\u00a0 We call such failures <span style=\"text-decoration: underline;\"><em>thought experiments<\/em><\/span>.\u00a0 There is nothing wrong with doing a science experiment, but it should not be standardized.\u00a0 In fact you don&#8217;t need a standard unless you want <strong>two or more <\/strong>implementations to be interoperable.\u00a0 The best way to avoid this problem is as follows:<\/p>\n<ol>\n<li>There should be general agreement that there is a real clearly defined problem<\/li>\n<li>Have running code to demonstrate a potential solution<\/li>\n<li>Have <strong>broad<\/strong> agreement \u2013 or <em>rough consensus<\/em> of the technical community \u2013 on that solution.<\/li>\n<\/ol>\n<p>The first point helps us focus on what is important.\u00a0 The second point focuses us on what is practicable.\u00a0 The third point finds the path to agreement as to actual protocol behavior.<\/p>\n<h2>The Knowles Doctrine<\/h2>\n<blockquote><p>IP on everything!<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-2256\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/img0093-150x150.jpg\" alt=\"Stev Knowles\" width=\"150\" height=\"150\" \/>While Vint Cerf made the saying popular in the late nineties (in fact he did a striptease at one meeting, ending up with a tee-shirt and shorts, with the saying on it), I first heard this out of the lips of Stev Knowles.\u00a0 In the earlier days of the IETF we had some rough edges, but the points made even with those rough edges were very important.\u00a0 The layer model was such that there really was nothing IP couldn&#8217;t run over.\u00a0 Today, IP runs atop Ethernet, MPLS, Fiber, 3G, T1, SDLC, WiFi, numerous cable interfaces, ATM and ADSL, and many other things.\u00a0 David Waitzman made this point through a brilliant April Fools <a href=\"http:\/\/tools.ietf.org\/html\/rfc1149\">RFC 1149<\/a>, <em><span style=\"text-decoration: underline;\">IP over Avian Carrier<\/span><\/em>.\u00a0 Stev put it quite simply, and the double entendre of the homonym was quite intentional.<\/p>\n<p><a href=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/hourglass.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1519\" title=\"The Hourglass Model\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/hourglass-186x300.jpg\" alt=\"\" width=\"169\" height=\"273\" srcset=\"https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/hourglass-186x300.jpg 186w, https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2012\/09\/hourglass.jpg 318w\" sizes=\"auto, (max-width: 169px) 85vw, 169px\" \/><\/a>IP is the <strong>only<\/strong> common protocol above which and below which all other protocols sit.\u00a0 And while Steve Deering doesn&#8217;t lend himself well to a good quip, he was responsible for perhaps the best illustration of how this all works.\u00a0 This hourglass model was at first taken as an axiom or religious statement.\u00a0 Back in the earlier days there was no single protocol in the middle.\u00a0 Instead, other protocols such as DECNET, Appletalk, and SNA also vied for the spot, and at times were more popular in enterprise deployments.\u00a0 Now, not only does IP sit in the middle alone, but there is<a href=\"http:\/\/conferences.sigcomm.org\/sigcomm\/2011\/papers\/sigcomm\/p206.pdf\"> research from the Georgia Institute of Technology<\/a> that claims that only a single protocol CAN sit in the middle at this point.<\/p>\n<h2>O&#8217;Dell&#8217;s Axiom<\/h2>\n<blockquote><p>The only real problem is scaling.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2254 alignleft\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/Mike-ODell_650_990-197x300.png\" alt=\"\" width=\"114\" height=\"173\" srcset=\"https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/Mike-ODell_650_990-197x300.png 197w, https:\/\/ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/Mike-ODell_650_990.png 650w\" sizes=\"auto, (max-width: 114px) 85vw, 114px\" \/>Mike O&#8217;Dell was the routing architect of UUNET, one of the first commercial Internet service providers in the world, and was for a time the routing area director at the IETF.\u00a0 During that time the routing system groaned under the weight of explosive Internet growth.\u00a0 It was by the skin of its teeth that the Internet managed to function as well as it did in 1994.\u00a0 This was around the time that Mike made the above poignant statement.\u00a0 It goes well beyond the Internet, and of course is hyperbolic; but it raises an important design consideration: sometimes things that seem to work well in small systems simply do not scale.\u00a0 The trick is to develop simple systems that do scale.\u00a0 In a way, O&#8217;Dell&#8217;s Axiom is a restatement of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Occam%27s_razor\">Occam&#8217;s Razor<\/a>.<\/p>\n<h2>Rekhter&#8217;s Law<\/h2>\n<blockquote><p>Addressing can follow topology, or topology can follow addressing.\u00a0 Choose one.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-thumbnail wp-image-2257 alignright\" src=\"https:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2017\/11\/yakov-150x150.jpg\" alt=\"Yakov\" width=\"150\" height=\"150\" \/>Devices in the middle of the Internet route packets based on the destination address in the IP header.\u00a0 There are over 4 billion IP version 4 addresses and 10<sup>38<\/sup> version 6 addresses.\u00a0 No device can know how to get to them all, as there are simply too many.\u00a0 And so the information is aggregated in the address with the addition of a small bit of information known as a prefix length.\u00a0 I might have a route to the first 16 bits of address 128.6.4.4, but I don&#8217;t know precisely where at Rutgers that machine is.\u00a0 It&#8217;s the same as the postal system.\u00a0 The postal service in Singapore is not likely to know where 420 California St. is in Palo Alto, California, but can route a package to either California or the United States.\u00a0 The key is that to route the package to California, there Singapore must have explicit routing information (e.g., put that package on Flight 23 to Los Angeles).\u00a0 Yakov Rekhter made the point earlier, that either the way the network is laid out is based on the address itself, or the address must be organized based on the way the the network is laid out, but you can&#8217;t have it both ways.\u00a0 The advantage of having more information in the topology is that there can be more than one route explained to get to a location.\u00a0 The disadvantage is that you have to store and process all that information.<\/p>\n<h2>Wheeler&#8217;s Fundamental Theorem of Software Engineering<\/h2>\n<blockquote><p>Any problem in computer science can be solved with another level of indirection.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" title=\"David Wheeler, FRS\" src=\"https:\/\/www.cl.cam.ac.uk\/misc\/obituaries\/wheeler\/djw-small.jpg\" alt=\"\" width=\"129\" height=\"172\" \/>This isn&#8217;t really a theorem but more of a joke that happens to be a general approach to solving computer science problems.\u00a0 The classic example of this is a fully normalized database where one has but two key value pairs per table, and one must fly through many levels of indirection to put together any sort of coherent informational view.\u00a0 This having been said, often times our traffic passes through tunnels, be they VPN\u00a0 or MPLS or other forms.\u00a0 IP was designed to easily allow for this, and there is a project called LISP which builds on this principle.<\/p>\n<h2>The Clark Provisio to Wheeler&#8217;s Statement<\/h2>\n<blockquote><p>&#8230; at the cost of performance.<\/p><\/blockquote>\n<p>That is, indirection requires additional information, and that information must be stored, transmitted, and processed.\u00a0 It&#8217;s not to say it isn&#8217;t worth doing at times, but tradeoffs must be examined.<\/p>\n<h2>Wilton\u2019s Mistake<\/h2>\n<blockquote><p>I thought that I would just check my email one last time.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"bio-photo alignright\" src=\"https:\/\/www.ietf.org\/lib\/dt\/media\/photo\/RobWilton.jpg\" alt=\"Photo of Robert Wilton\" width=\"96\" height=\"108\" \/><\/p>\n<p>Courtesy of Rob Wilton.\u00a0 We\u2019ve all said this, and then regretted it.<\/p>\n<h2>The Berners-Lee Declaration<\/h2>\n<blockquote><p>This is for everyone.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" title=\"This is for everyone\" src=\"https:\/\/static.guim.co.uk\/sys-images\/Guardian\/Pix\/pictures\/2012\/7\/27\/1343425609011\/ea501c66-dda9-4747-9618-f2a780f67a7a-460.jpeg\" alt=\"\" width=\"460\" height=\"276\" \/><\/p>\n<p>And so it is.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some of the brightest and most renown people don&#8217;t lend their views to a sentence, one clear example of this being Internet Founding Father, Vint Cerf.\u00a0 Nevertheless. Postel&#8217;s Law on Interoperability In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior. &#8212; Jon Postel in RFC 760 Back &hellip; <a href=\"https:\/\/ofcourseimright.com\/?page_id=1504\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Famous Internet Quotes&#8221;<\/span><\/a><\/p>\n","protected":false},"author":172,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-1504","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/pages\/1504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/users\/172"}],"replies":[{"embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1504"}],"version-history":[{"count":4,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/pages\/1504\/revisions"}],"predecessor-version":[{"id":3113,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/pages\/1504\/revisions\/3113"}],"wp:attachment":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}