{"id":1244,"date":"2013-01-22T23:50:24","date_gmt":"2013-01-22T22:50:24","guid":{"rendered":"http:\/\/cerezo.name\/blog\/?p=1244"},"modified":"2024-10-14T13:42:41","modified_gmt":"2024-10-14T11:42:41","slug":"the-politics-of-network-protocols","status":"publish","type":"post","link":"http:\/\/cerezo.name\/blog\/2013\/01\/22\/the-politics-of-network-protocols\/","title":{"rendered":"The Politics of Network Protocols"},"content":{"rendered":"<p style=\"text-align: justify;\">One of the most important protocol switchovers was carried off 30 years ago: the <span class=\"caps\">ARPANET<\/span> stopped using <span class=\"caps\">NCP<\/span> (Network Control Protocol) to only use <span class=\"caps\">TCP<\/span>\/<span class=\"caps\">IP<\/span>, as the <a href=\"http:\/\/www.wired.com\/wiredenterprise\/2012\/10\/joe-postel\/\" target=\"_blank\" rel=\"noopener\" class=\"broken_link\">righteous Jon Postel<\/a>&nbsp;devised in <a href=\"https:\/\/tools.ietf.org\/html\/rfc801#page-2\" target=\"_blank\" rel=\"noopener\">The General Plan<\/a>. <span class=\"caps\">NCP<\/span> was a fully connection-oriented protocol more like the X.25 suite, designed to ensure reliability on a hop by hop basis. The switches in the middle of the network did have to keep track of packets, unlike the connectionless <span class=\"caps\">TCP<\/span>\/<span class=\"caps\">IP<\/span> were error correction and flow control is handled at the edges of the network. That is, intelligence turned to the border of the network and packets of the same connection could be passed between separated networks with different configurations. Arguably, the release of an open-source protocol stack implementation under a permissive license (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Berkeley_Software_Distribution#VAX_versions\" target=\"_blank\" rel=\"noopener\">4.<span class=\"caps\">2BSD<\/span><\/a>) was a key component of its success: code is always a better description than any protocol specification.<\/p>\n<p style=\"text-align: justify;\">Yet <span class=\"caps\">TCP<\/span>\/<span class=\"caps\">IP<\/span> was still incomplete: after the 1983 switchover, many computers started connecting to <span class=\"caps\">ARPANET<\/span>, and bottlenecks due to congestion were common. Van Jacobson devised the <a href=\"http:\/\/en.wikipedia.org\/wiki\/TCP_congestion_avoidance_algorithm#TCP_Tahoe_and_Reno\" target=\"_blank\" rel=\"noopener\">Tahoe and Reno<\/a>&nbsp;<a href=\"http:\/\/www.cs.virginia.edu\/~cs757\/papers\/ccr-9501-jacobson.pdf\" target=\"_blank\" rel=\"noopener\" class=\"broken_link\">congestion-avoidance algorithm<\/a>&nbsp;to lower data transfers and stop flooding the network with packets: it was quickly implemented on the <span class=\"caps\">TCP<\/span>\/<span class=\"caps\">IP<\/span> stacks of the day, saving the Net to this&nbsp;day.<\/p>\n<p style=\"text-align: justify;\">These changes were necessary, as they allowed the Internet to grow, on a global scale. Another set of changes as profound as those were, are now being discussed in the <a href=\"http:\/\/www.ietf.org\/mail-archive\/web\/sidr\/current\/maillist.html\" target=\"_blank\" rel=\"noopener\">Secure Interdomain Routing mailing list<\/a>: this time the culprit is the insecurity of <span class=\"caps\">BGP<\/span>, as route announcements are not authenticated, and &nbsp;the penance is enforcing a <span class=\"caps\">PKI<\/span> into the currently distributed, decentralized and autonomous Internet routing system. Technical architectures force a predetermined model of control and governance, and this departure from the previously agreed customs and conventions of the Internet may simply be a bridge too far away, as always, in the name of security. And the current proposals may even impact Internet\u2019s scalability, since the size of the required Resource Public Key Infrastructure may be too large for routers to handle, as the following paper from Verisign shows:<\/p>\n<p style=\"text-align: justify;\"><iframe src=\"\/\/docs.google.com\/viewer?url=http%3A%2F%2Ftechreports.verisignlabs.com%2Fdocs%2Ftr-1120005-2.pdf&amp;hl=en_US&amp;embedded=true\" class=\"gde-frame\" style=\"width:100%; height:500px; border: none;\" scrolling=\"no\"><\/iframe>\n<\/p><p class=\"gde-text\"><a href=\"http:\/\/techreports.verisignlabs.com\/docs\/tr-1120005-2.pdf\" class=\"gde-link\">Download (<span class=\"caps\">PDF<\/span>, Unknown)<\/a><\/p>\n<p style=\"text-align: justify;\">On the other hand, this recent analysis shows that the design of the security of <span class=\"caps\">SBGP<\/span> is of very high quality, a rare thing in the networking field, indeed:<\/p>\n<p style=\"text-align: justify;\">&nbsp;<iframe src=\"\/\/docs.google.com\/viewer?url=http%3A%2F%2Feprint.iacr.org%2F2013%2F017.pdf&amp;hl=en_US&amp;embedded=true\" class=\"gde-frame\" style=\"width:100%; height:500px; border: none;\" scrolling=\"no\"><\/iframe>\n<\/p><p class=\"gde-text\"><a href=\"http:\/\/eprint.iacr.org\/2013\/017.pdf\" class=\"gde-link\">Download (<span class=\"caps\">PDF<\/span>,&nbsp;<span class=\"caps\">909KB<\/span>)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most important protocol switchovers was carried off 30 years ago: the <span class=\"caps\">ARPANET<\/span> stopped using <span class=\"caps\">NCP<\/span> (Network Control Protocol) to only use <span class=\"caps\">TCP<\/span>\/<span class=\"caps\">IP<\/span>, as the righteous Jon Postel&nbsp;devised in The General Plan. <span class=\"caps\">NCP<\/span> was a fully connection-oriented protocol more like the X.25 suite, designed to ensure reliability on a hop by hop&nbsp;basis.&nbsp;[\u2026]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"ngg_post_thumbnail":0},"categories":[6,16,13],"tags":[],"_links":{"self":[{"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/posts\/1244"}],"collection":[{"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/comments?post=1244"}],"version-history":[{"count":4,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/posts\/1244\/revisions"}],"predecessor-version":[{"id":1561,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/posts\/1244\/revisions\/1561"}],"wp:attachment":[{"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/media?parent=1244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/categories?post=1244"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cerezo.name\/blog\/wp-json\/wp\/v2\/tags?post=1244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}