<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:podcast="https://podcastindex.org/namespace/1.0"
xmlns:rawvoice="https://blubrry.com/developer/rawvoice-rss/"
>

<channel>
	<title>STANDARDS &#8211; rule 11 reader</title>
	<atom:link href="https://rule11.tech/category/standards/feed/" rel="self" type="application/rss+xml" />
	<link>https://rule11.tech</link>
	<description>culture eats technology for breakfast</description>
	<lastBuildDate>Sat, 27 Apr 2024 12:53:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/rule11.tech/wp-content/uploads/cropped-rule11-logo-square.png?fit=32%2C32&#038;ssl=1</url>
	<title>STANDARDS &#8211; rule 11 reader</title>
	<link>https://rule11.tech</link>
	<width>32</width>
	<height>32</height>
</image> 
	<atom:link rel="hub" href="https://pubsubhubbub.appspot.com/" />
	<podcast:locked>True</podcast:locked>
	<itunes:author>Russ White</itunes:author>
	<itunes:explicit>false</itunes:explicit>
	<itunes:image href="https://rule11.tech/wp-content/plugins/powerpress/itunes_default.jpg" />
	<itunes:type>episodic</itunes:type>
	<copyright>Russ White</copyright>
	<podcast:license>Russ White</podcast:license>
	<podcast:medium>podcast</podcast:medium>
	<image>
		<title>STANDARDS &#8211; rule 11 reader</title>
		<url>https://rule11.tech/wp-content/plugins/powerpress/rss_default.jpg</url>
		<link>https://rule11.tech/hedge</link>
	</image>
	<itunes:category text="Technology" />
	<rawvoice:rating>TV-G</rawvoice:rating>
	<rawvoice:frequency>Weekly</rawvoice:frequency>
	<podcast:person role="Host" href="https://linkedin.com/in/riw777">Russ White</podcast:person>
	<podcast:podping usesPodping="true" />
<site xmlns="com-wordpress:feed-additions:1">73371701</site>	<item>
		<title>Hedge 223: The Political Side of Standards with Geoff Huston</title>
		<link>https://rule11.tech/hedge-223/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Sat, 27 Apr 2024 12:53:08 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=1017999</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-223.png" alt="" width="400" height="160" class="alignnone" />

Listen in as Geoff Huston, Tom, and Russ discuss how the IETF, governments, and political movements interact when creating standards and guiding the future of the Internet.]]></description>
										<content:encoded><![CDATA[<p>Listen in as Geoff Huston, Tom, and Russ discuss how the IETF, governments, and political movements interact when creating standards and guiding the future of the Internet.</p>
<audio class="wp-audio-shortcode" id="audio-1017999-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-223.mp3?_=1" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-223.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-223.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-223.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-223.mp3" length="40640040" type="audio/mpeg" />

				<itunes:episode>223</itunes:episode>
		<podcast:episode>223</podcast:episode>
		<itunes:title>The Political Side of the IETF</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>59:55</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/132381877-22995.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">1017999</post-id>	</item>
		<item>
		<title>Hedge 218: Longer than /24&#8217;s</title>
		<link>https://rule11.tech/hedge-218/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 21 Mar 2024 10:44:22 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=17905</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-218.png" alt="" width="400" height="160" class="alignnone" />

Most providers will only accept a /24 or shorter IPv4 route because routers have always had limited amounts of forwarding table space. In fact, many hardware and software IPv4 forwarding implementations are optimized for a /24 or shorter prefix length. Justin Wood joins Tom Ammon and Russ White to discuss why the DFZ might need to be expanded to longer prefix lengths, and the tradeoffs involved in doing so.
]]></description>
										<content:encoded><![CDATA[<p>Most providers will only accept a /24 or shorter IPv4 route because routers have always had limited amounts of forwarding table space. In fact, many hardware and software IPv4 forwarding implementations are optimized for a /24 or shorter prefix length. Justin Wilson joins Tom Ammon and Russ White to discuss why the DFZ might need to be expanded to longer prefix lengths, and the tradeoffs involved in doing so.</p>
<p>&nbsp;</p>
<p><audio class="wp-audio-shortcode" id="audio-17905-2" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-218a.mp3?_=2" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-218a.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-218a.mp3</a></audio><br />
&nbsp;<br />
<a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-218a.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-218a.mp3" length="64989463" type="audio/mpeg" />

				<itunes:episode>218</itunes:episode>
		<podcast:episode>218</podcast:episode>
		<itunes:title>Longer than /24 on the DFZ</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>45:08</itunes:duration>
		<podcast:transcript url="https://transcripts.blubrry.com/hedge/131654728-21198.srt" language="en" type="application/srt" rel="captions" />
<post-id xmlns="com-wordpress:feed-additions:1">17905</post-id>	</item>
		<item>
		<title>The RFC Process</title>
		<link>https://rule11.tech/the-rfc-process/</link>
					<comments>https://rule11.tech/the-rfc-process/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Sun, 24 Dec 2023 19:55:47 +0000</pubDate>
				<category><![CDATA[ON THE NET]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=16837</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rfc-process.png" alt="" width="400" height="160" class="alignnone" />

I've just finished a seven-part series over at Packets Pushers about the process of writing and publishing an RFC. Even if you don't ever plan to write a draft or participate in the IETF, this series will give you a better idea of the work that goes into creating new standards and IETF documents.

<blockquote><a href="https://packetpushers.net/how-to-submit-your-ideas-to-the-ietf/">So … you have an idea you think would fit perfectly into the realm of the Internet Engineering Task Force (IETF)—but where do you start?</a></blockquote>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve just finished a seven-part series over at Packets Pushers about the process of writing and publishing an RFC. Even if you don&#8217;t ever plan to write a draft or participate in the IETF, this series will give you a better idea of the work that goes into creating new standards and IETF documents.</p>
<blockquote><p><a href="https://packetpushers.net/how-to-submit-your-ideas-to-the-ietf/">So … you have an idea you think would fit perfectly into the realm of the Internet Engineering Task Force (IETF)—but where do you start?</a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-formatting-authorship-and-submissions/">This, the second, post, will consider document formatting and two of the (sometimes) more difficult sections of an IETF draft to fill in.</a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-document-streams-and-document-status/">There are other seemingly mystical concepts in the IETF process as well—for instance, what is a “document stream,” and what is a document’s “status?”</a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-mandatory-sections-and-language/">You’re almost ready to submit a shiny new document to the IETF for consideration, right? Not quite yet—we still need to deal with mandatory sections and language.</a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-getting-attention-and-building-consensus/">You cannot simply post a draft to the IETF repository and expect “someone, somewhere,” to take action. </a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-from-draft-to-working-group-item/">The working group chairs asked if your draft should become a working group item, and the consensus was to accept! It might seem like your draft is home free at this point—but there is still a lot of work to do.</a></p></blockquote>
<blockquote><p><a href="https://packetpushers.net/writing-an-ietf-draft-the-ietf-last-call/">Once the draft is written, socialized, accepted by a working group, and passes through the IESG telechat and review, what is next?</a></p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/the-rfc-process/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">16837</post-id>	</item>
		<item>
		<title>RFC9199: Lessons in Large-scale Service Deployment</title>
		<link>https://rule11.tech/rfc9199-lessons-in-large-scale-service-deployment/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 08 Aug 2022 18:51:55 +0000</pubDate>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=15284</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/rfc9199.png" alt="" width="400" height="160" class="alignnone" />

While RFC9199 (are we really in the 9000's?) is targeted at large-scale DNS deployments--specifically root zone operators--so it might seem the average operator won't find a lot of value here. 

This is, however, far from the truth. Every lesson we've learned in deploying large-scale DNS root servers applies to any other large-scale user-facing service. Internally deployed DNS recursive servers are an obvious instance, but the lessons here might well apply to a scheduling, banking, or any other multi-user application accessed from a lot of places by a lot of different users. There are some unique points in DNS, such as the relatively slower pace of database synchronization across nodes, but the network-side lessons can still be useful for a lot of applications. ]]></description>
										<content:encoded><![CDATA[<p>While RFC9199 (are we really in the 9000&#8217;s?) is targeted at large-scale DNS deployments&#8211;specifically root zone operators&#8211;so it might seem the average operator won&#8217;t find a lot of value here. </p>
<p>This is, however, far from the truth. Every lesson we&#8217;ve learned in deploying large-scale DNS root servers applies to any other large-scale user-facing service. Internally deployed DNS recursive servers are an obvious instance, but the lessons here might well apply to a scheduling, banking, or any other multi-user application accessed from a lot of places by a lot of different users. There are some unique points in DNS, such as the relatively slower pace of database synchronization across nodes, but the network-side lessons can still be useful for a lot of applications. </p>
<p>What are those lessons?</p>
<p><strong>First,</strong> using <em>anycast</em> dramatically improves performance for these kinds of services. For those who aren&#8217;t familiar with the concept, anycase turns an IP address into a service identifier. Any host with a copy (or instance) or a given service advertises the same address, causing the routing table to choose the (topologically) closest instance of the service. If you&#8217;re using anycast, traffic destined to your service will automatically be forwarded to the closest server running the application, providing a kind of load sharing among multiple instances through routing. If there are instances in New York, California, France, and Taipei, traffic from users in North Carolina will be routed to New York and traffic from users in Singapore will be routed to Taipei. </p>
<p>You can think of an anycast address something like a cell tower; users within a certain desintance will be &#8220;captured&#8221; by a particular instance. The more copies of the service you deploy, the smaller the geographic region the service will support. Hence you can control the number of users using a particular copy of the service by controlling the number and location of service copies.</p>
<p>To understand where and how to deploy service instances, create <em>anycast catchment maps.</em> Again, just like a wifi signal coverage map, or a cellphone tower coverage map, it&#8217;s important to understand which users will be directed to which instances. Using a catchment map will help you decide where new instances need to be deployed, which instances need the fastest links and hardware, etc. The RIPE ATLAS pobes and looking glass servers are good ways to start building such a map. If the application supports a large number of users, you might be able to convince the application developer to include some sort of geographic information in requests to help build these maps.</p>
<p><strong>Third,</strong> when deploying service instance, pay as much attention to routing and connectivity as you do the <em>number</em> of instances deployed. As the authors note, sometimes eight instances will provide the same level of service as several thousand instances. The connectivity available into each instance of the service&#8211;bandwidth, delay, availability, etc.&#8211;still has a huge impact on service speed.</p>
<p><strong>Fourth,</strong> reduce the speed at which the database needs to be synchronized where possible. Not every piece of information needs to be synchronized at the same rate. The less data being synchronized, the more consistent the view from multiple users is going to be.</p>
<p>RFC9199 is well worth reading, even for the average network engineer.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">15284</post-id>	</item>
		<item>
		<title>Hedge 99</title>
		<link>https://rule11.tech/hedge-099/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 19:50:50 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14126</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-099.png" alt="" width="400" height="160" class="alignnone" />

Two things have been top of mind for those who watch the 'net and global Internet policy&#8212;the increasing number of widespread outages, and the logical and physical centralization of the 'net. How do these things relate to one another? Alban Kwan joins us to discuss the relationship between centralization and widespread outages. Y<a href="https://circleid.com/posts/20210628-the-deeper-root-cause-of-the-fastly-and-akamai-outages/">ou can read Alban's article on the topic here.</a>]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" fetchpriority="high" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-099.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Two things have been top of mind for those who watch the &#8216;net and global Internet policy&#8212;the increasing number of widespread outages, and the logical and physical centralization of the &#8216;net. How do these things relate to one another? Alban Kwan joins us to discuss the relationship between centralization and widespread outages. Y<a href="https://circleid.com/posts/20210628-the-deeper-root-cause-of-the-fastly-and-akamai-outages/">ou can read Alban&#8217;s article on the topic here.</a></p>
<audio class="wp-audio-shortcode" id="audio-14126-3" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-099.mp3?_=3" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-099.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-099.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-099.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-099.mp3" length="53294638" type="audio/mpeg" />

				<itunes:episode>99</itunes:episode>
		<podcast:episode>99</podcast:episode>
		<itunes:title>Centralization and Outages with Alban Kwan</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>37:01</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">14126</post-id>	</item>
		<item>
		<title>Hedge 098: DRIP with Stuart Card</title>
		<link>https://rule11.tech/hedge-098-drip-with-stuart-card/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 17:00:45 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=14104</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-098.png" alt="" width="400" height="160" class="alignnone" />

Drones are becoming&#8212;and in many cases have already become&#8212;an everyday part of our lives. Drones are used in warfare, delivery services, photography, and recreation. One of the problems facing the world of drones, however, is the strong tie-in between the controller and the drone; this proprietary link limits innovation and reduces the information available to public officials to manage traffic, and even to protect the privacy of drone operators. The DRIP working group is building protocols designed to standardize the drone-to-controller interface, advancing the state of the art in drones and opening up the field for innovation. Stuart Card joins Alvaro Retana and Russ White to discuss DRIP.]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-098.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>Drones are becoming&#8212;and in many cases have already become&#8212;an everyday part of our lives. Drones are used in warfare, delivery services, photography, and recreation. One of the problems facing the world of drones, however, is the strong tie-in between the controller and the drone; this proprietary link limits innovation and reduces the information available to public officials to manage traffic, and even to protect the privacy of drone operators. The DRIP working group is building protocols designed to standardize the drone-to-controller interface, advancing the state of the art in drones and opening up the field for innovation. Stuart Card joins Alvaro Retana and Russ White to discuss DRIP.</p>
<audio class="wp-audio-shortcode" id="audio-14104-4" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-098.mp3?_=4" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-098.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-098.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-098.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-098.mp3" length="55473118" type="audio/mpeg" />

				<itunes:episode>98</itunes:episode>
		<podcast:episode>98</podcast:episode>
		<itunes:title>DRIP and Drones</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>38:31</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">14104</post-id>	</item>
		<item>
		<title>Hedge 92: The IETF isn&#8217;t the Standards Police</title>
		<link>https://rule11.tech/hedge-92-the-ietf-isnt-the-standards-police/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 21 Jul 2021 17:00:07 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13936</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-092.png" alt="" width="400" height="160" class="alignnone" />

In most areas of life, where the are standards, there is some kind of enforcing agency. For instance, there are water standards, and there is a water department that enforces these standards. There are electrical standards, and there is an entire infrastructure of organizations that make certain the fewest number of people are electrocuted as possible each year. What about Internet standards? Most people are surprised when they realize there is no such thing as a "standards police" in the Internet.

Listen in as George Michaelson, Evyonne Sharp, Tom Ammon, and Russ White discuss the reality of standards enforcement in the Internet ecosystem.]]></description>
										<content:encoded><![CDATA[<p>In most areas of life, where the are standards, there is some kind of enforcing agency. For instance, there are water standards, and there is a water department that enforces these standards. There are electrical standards, and there is an entire infrastructure of organizations that make certain the fewest number of people are electrocuted as possible each year. What about Internet standards? Most people are surprised when they realize there is no such thing as a &#8220;standards police&#8221; in the Internet.</p>
<p>Listen in as George Michaelson, Evyonne Sharp, Tom Ammon, and Russ White discuss the reality of standards enforcement in the Internet ecosystem.</p>
<audio class="wp-audio-shortcode" id="audio-13936-5" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-092.mp3?_=5" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-092.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-092.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-092.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-092.mp3" length="63582948" type="audio/mpeg" />

				<itunes:episode>92</itunes:episode>
		<podcast:episode>92</podcast:episode>
		<itunes:title>The Standards Police</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>44:09</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13936</post-id>	</item>
		<item>
		<title>The Hedge 77: The Internet is for End Users</title>
		<link>https://rule11.tech/the-hedge-77-the-internet-is-for-end-users/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 01 Apr 2021 19:43:12 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=13492</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-077.png" alt="" width="400" height="160" class="alignnone" />

When the interests of the end user, the operator, and the vendor come into conflict, who should protocol developers favor? According to RFC8890, the needs and desires of the end user should be the correct answer. Mark Nottingham joins Alvaro Retana and Russ White on this episode of the Hedge to discuss why the Internet is for end users. ]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/hedge-077.png?resize=400%2C160&#038;ssl=1" alt="" width="400" height="160" class="alignnone" /></p>
<p>When the interests of the end user, the operator, and the vendor come into conflict, who should protocol developers favor? According to RFC8890, the needs and desires of the end user should be the correct answer. According to the RFC:</p>
<blockquote><p><a href="https://datatracker.ietf.org/doc/rfc8890/">As the Internet increasingly mediates essential functions in societies, it has unavoidably become profoundly political; it has helped people overthrow governments, revolutionize social orders, swing elections, control populations, collect data about individuals, and reveal secrets. It has created wealth for some individuals and companies while destroying that of others. All of this raises the question: For whom do we go through the pain of gathering rough consensus and writing running code?</a></p></blockquote>
<p>Mark Nottingham joins Alvaro Retana and Russ White on this episode of the Hedge to discuss why the Internet is for end users. </p>
<audio class="wp-audio-shortcode" id="audio-13492-6" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-077.mp3?_=6" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-077.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-077.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-077.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-077.mp3" length="33290072" type="audio/mpeg" />

				<itunes:episode>77</itunes:episode>
		<podcast:episode>77</podcast:episode>
		<itunes:title>The Hedge 77: The Internet is for End Users</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>34:41</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">13492</post-id>	</item>
		<item>
		<title>The Hedge 61: Pascal Thubert and the RAW Working Group</title>
		<link>https://rule11.tech/the-hedge-podcast-61-pascal-thubert-and-the-raw-working-group/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 25 Nov 2020 22:27:08 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12828</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-061.png" alt="" width="400" height="160" class="alignnone" />

RAW is a new working group recently chartered by the IETF to work on "high reliability and availability for IP connectivity over a wireless medium. RAW extends the DetNet Working Group concepts to provide for high reliability and availability for an IP network utilizing scheduled wireless segments and other media..."]]></description>
										<content:encoded><![CDATA[<p>RAW is a new working group recently chartered by the IETF to work on: </p>
<blockquote><p><a href="https://datatracker.ietf.org/wg/raw/about/">&#8230;high reliability and availability for IP connectivity over a wireless medium. RAW extends the DetNet Working Group concepts to provide for high reliability and availability for an IP network utilizing scheduled wireless segments and other media, e.g., frequency/time-sharing physical media resources with stochastic traffic: IEEE Std. 802.15.4 timeslotted channel hopping (TSCH), 3GPP 5G ultra-reliable low latency communications (URLLC), IEEE 802.11ax/be, and L-band Digital Aeronautical Communications System (LDACS), etc. Similar to DetNet, RAW will stay abstract to the radio layers underneath, addressing the Layer 3 aspects in support of applications requiring high reliability and availability.</a></p></blockquote>
<audio class="wp-audio-shortcode" id="audio-12828-7" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-061.mp3?_=7" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-061.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-061.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-061.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-061.mp3" length="39835304" type="audio/mpeg" />

				<itunes:episode>61</itunes:episode>
		<podcast:episode>61</podcast:episode>
		<itunes:title>RAW on the Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>41:30</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12828</post-id>	</item>
		<item>
		<title>The Hedge 53: Deprecating Interdomain ASM</title>
		<link>https://rule11.tech/the-hedge-podcast-53-deprecating-interdomain-asm/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 23 Sep 2020 17:00:54 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12568</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-053-1.png" alt="" width="400" height="160" class="alignnone" />

Interdomain Any-source Multicast has proven to be an unscalable solution, and is actually blocking the deployment of other solutions.  To move interdomain multicast forward, <a href="https://datatracker.ietf.org/doc/rfc8815/">Lenny Giuliano, Tim Chown, and Toerless Eckhert wrote RFC 8815, BCP 229, recommending providers</a> "deprecate the use of Any-Source Multicast (ASM) for interdomain multicast, leaving Source-Specific Multicast (SSM) as the recommended interdomain mode of multicast."]]></description>
										<content:encoded><![CDATA[<p>Interdomain Any-source Multicast has proven to be an unscalable solution, and is actually blocking the deployment of other solutions.  To move interdomain multicast forward, <a href="https://datatracker.ietf.org/doc/rfc8815/">Lenny Giuliano, Tim Chown, and Toerless Eckert wrote RFC 8815, BCP 229, recommending providers</a> &#8220;deprecate the use of Any-Source Multicast (ASM) for interdomain multicast, leaving Source-Specific Multicast (SSM) as the recommended interdomain mode of multicast.&#8221;</p>
<audio class="wp-audio-shortcode" id="audio-12568-8" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-053.mp3?_=8" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-053.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-053.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-053.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-053.mp3" length="37520954" type="audio/mpeg" />

				<itunes:episode>53</itunes:episode>
		<podcast:episode>53</podcast:episode>
		<itunes:title>Deprecating Interdomain ASM</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>39:05</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12568</post-id>	</item>
		<item>
		<title>The Hedge 44: Pete Lumbis and Open Source</title>
		<link>https://rule11.tech/the-hedge-podcast-44-pete-lumbis-and-open-source/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 15 Jul 2020 17:00:00 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12260</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-044.png" alt="" width="400" height="160" class="alignnone" />

Open source software is everywhere, it seems&#8212;and yet it's nowhere at the same time. Everyone is talking about it, but how many people and organizations are actually using it? Pete Lumbis at NVIDIA joins Tom Ammon and Russ White to discuss the many uses and meanings of open source software in the networking world.
]]></description>
										<content:encoded><![CDATA[<p>Open source software is everywhere, it seems&#8212;and yet it&#8217;s nowhere at the same time. Everyone is talking about it, but how many people and organizations are actually using it? Pete Lumbis at NVIDIA joins Tom Ammon and Russ White to discuss the many uses and meanings of open source software in the networking world.</p>
<audio class="wp-audio-shortcode" id="audio-12260-9" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3?_=9" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3</a></audio>
<p><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3"><em>download</em></a></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-044.mp3" length="42482956" type="audio/mpeg" />

				<itunes:episode>44</itunes:episode>
		<podcast:episode>44</podcast:episode>
		<itunes:title>Open Source Software on the Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>44:15</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12260</post-id>	</item>
		<item>
		<title>The Hedge 39: Dan York and Open Standards Everywhere</title>
		<link>https://rule11.tech/the-hedge-podcast-episode-39-dan-york-and-open-standards-everywhere/</link>
					<comments>https://rule11.tech/the-hedge-podcast-episode-39-dan-york-and-open-standards-everywhere/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 10 Jun 2020 17:00:56 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12125</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-039.png" alt="" width="400" height="160" class="alignnone" />

The Internet Society exists to support the growth of the global 'net across the world by working with stakeholders, building local connectivity like IXs and community based networks, and encouraging the use of open standards. On this episode of the Hedge, Dan York joins us to talk about the Open Standards Everywhere project which is part of the Internet Society.]]></description>
										<content:encoded><![CDATA[<p>The Internet Society exists to support the growth of the global &#8216;net across the world by working with stakeholders, building local connectivity like IXs and community based networks, and encouraging the use of open standards. On this episode of the Hedge, Dan York joins us to talk about the Open Standards Everywhere project which is part of the Internet Society. More information about Open Standards Everywhere can be found&#8212;</p>
<ul>
<li><a href="https://www.internetsociety.org/issues/open-standards-everywhere/">At the project page</a></li>
<li><a href="https://www.internetsociety.org/blog/2020/01/introducing-our-open-standards-everywhere-project-securing-web-servers-in-2020/">At this blog post</a></li>
<li><a href="https://github.com/internetsociety/ose-documentation">In this draft documentation on GitHub</a></li>
<li><a href="https://internet.nl/">At this test site</a></li>
</ul>
<audio class="wp-audio-shortcode" id="audio-12125-10" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-039.mp3?_=10" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-039.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-039.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-039.mp3">download</a></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/the-hedge-podcast-episode-39-dan-york-and-open-standards-everywhere/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-039.mp3" length="32395248" type="audio/mpeg" />

				<itunes:episode>39</itunes:episode>
		<podcast:episode>39</podcast:episode>
		<itunes:title>The Hedge: Open Standards Everywhere</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>44:59</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12125</post-id>	</item>
		<item>
		<title>The Hedge 37: Stephane Bortzmeyer and DNS Privacy</title>
		<link>https://rule11.tech/the-hedge-podcast-037-stephane-bortzmeyer-and-dns-privacy/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 27 May 2020 17:00:36 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=12072</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-037.png" alt="" width="400" height="160" class="alignnone" />

In this episode of the Hedge, Stephane Bortzmeyer joins Alvaro Retana and Russ White to discuss <a href="https://datatracker.ietf.org/doc/draft-ietf-dprive-rfc7626-bis/">draft-ietf-dprive-rfc7626-bis,</a> which "describes the privacy issues associated with the use of the DNS by Internet users." Not many network engineers think about the privacy implications of DNS, a important part of the infrastructure we all rely on to make the Internet work.]]></description>
										<content:encoded><![CDATA[<p>In this episode of the Hedge, Stephane Bortzmeyer joins Alvaro Retana and Russ White to discuss <a href="https://datatracker.ietf.org/doc/draft-ietf-dprive-rfc7626-bis/">draft-ietf-dprive-rfc7626-bis,</a> which &#8220;describes the privacy issues associated with the use of the DNS by Internet users.&#8221; Not many network engineers think about the privacy implications of DNS, a important part of the infrastructure we all rely on to make the Internet work.</p>
<audio class="wp-audio-shortcode" id="audio-12072-11" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-037.mp3?_=11" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-037.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-037.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-037.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-037.mp3" length="25052463" type="audio/mpeg" />

				<itunes:episode>37</itunes:episode>
		<podcast:episode>37</podcast:episode>
		<itunes:title>The Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>34:47</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">12072</post-id>	</item>
		<item>
		<title>The Hedge 34: Andrew Alston and the IETF</title>
		<link>https://rule11.tech/the-hedge-podcast-episode-34-andrew-alston-and-the-ietf/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 06 May 2020 17:00:49 +0000</pubDate>
				<category><![CDATA[AUDIO]]></category>
		<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[HEDGE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=11992</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/hedge-034.png" alt="" width="400" height="160" class="alignnone" />

]]></description>
										<content:encoded><![CDATA[<p>Complaining about how slow the IETF is, or how single vendors dominate the standards process, is almost a by-game in the world of network engineering going back to the very beginning. It is one thing to complain; it is another to understand the structure of the problem and make practical suggestions about how to fix it. Join us at the Hedge as Andrew Alston, Tom Ammon, and Russ White reveal some of the issues, and brainstorm how to fix them.</p>
<audio class="wp-audio-shortcode" id="audio-11992-12" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3?_=12" /><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3">https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3</a></audio>
<p><em><a href="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3">download</a></em></p>
]]></content:encoded>
					
		
				<enclosure url="https://media.blubrry.com/hedge/content.blubrry.com/hedge/hedge-034.mp3" length="30204293" type="audio/mpeg" />

				<itunes:episode>34</itunes:episode>
		<podcast:episode>34</podcast:episode>
		<itunes:title>The Hedge</itunes:title>
		<itunes:episodeType>full</itunes:episodeType>
		<itunes:duration>41:56</itunes:duration>
<post-id xmlns="com-wordpress:feed-additions:1">11992</post-id>	</item>
		<item>
		<title>Stop Using the OSI Model</title>
		<link>https://rule11.tech/stop-using-osi/</link>
					<comments>https://rule11.tech/stop-using-osi/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 02 Sep 2019 17:00:39 +0000</pubDate>
				<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10902</guid>

					<description><![CDATA[We <em>all</em> use the OSI model to describe the way networks work. I have, in fact, included it in just about every presentation, and every book I have written, someplace in the fundamentals of networking. But if you have every looked at the OSI model and had to scratch your head trying to figure out how it really fits with the networks we operate today, or what the OSI model is telling you in terms of troubleshooting, design, or operation&#8212;you are not alone. Lots of people have scratched their heads about the OSI model, trying to understand how it fits with modern networking. There is a reason this is so difficult to figure out.

<strong>The OSI Model does not accurately describe networks.</strong>

What set me off in this particular direction this week is an article over at Errata Security:

<blockquote><a href="https://blog.erratasec.com/2019/08/thread-on-osi-model-is-lie.html">The OSI Model was created by international standards organization for an alternative internet that was too complicated to ever work, and which never worked, and which never came to pass. Sure, when they created the OSI Model, the Internet layered model already existed, so they made sure to include today's Internet as part of their model. But the focus and intent of the OSI's efforts was on dumb networking concepts that worked differently from the Internet.</a></blockquote>]]></description>
										<content:encoded><![CDATA[<p>We <em>all</em> use the OSI model to describe the way networks work. I have, in fact, included it in just about every presentation, and every book I have written, someplace in the fundamentals of networking. But if you have every looked at the OSI model and had to scratch your head trying to figure out how it really fits with the networks we operate today, or what the OSI model is telling you in terms of troubleshooting, design, or operation&#8212;you are not alone. Lots of people have scratched their heads about the OSI model, trying to understand how it fits with modern networking. There is a reason this is so difficult to figure out.</p>
<p><strong>The OSI Model does not accurately describe networks.</strong></p>
<p>What set me off in this particular direction this week is an article over at Errata Security:</p>
<blockquote><p><a href="https://blog.erratasec.com/2019/08/thread-on-osi-model-is-lie.html">The OSI Model was created by international standards organization for an alternative internet that was too complicated to ever work, and which never worked, and which never came to pass. Sure, when they created the OSI Model, the Internet layered model already existed, so they made sure to include today&#8217;s Internet as part of their model. But the focus and intent of the OSI&#8217;s efforts was on dumb networking concepts that worked differently from the Internet.</a></p></blockquote>
<p>This is <em>partly</em> true, and yet a bit &#8230; over the top. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> OTOH, the point is well taken: <em>the OSI model is not an ideal model for understanding networks.</em> Maybe a bit of analysis would be helpful in understanding why.</p>
<p><em>First,</em> while the OSI model was developed with packet switching networks in mind, the general idea <em>was</em> to come as close as possible to emulating the circuit-switched networks widely deployed at the time. A lot of thought had gone into making those circuit-switched networks <em>work,</em> and applications had been built around the way they worked. Applications and circuit-switched networks formed a sort of symbiotic relationship, just as applications form with packet-switched networks today; it was unimaginable, at the time, that &#8220;everything would change.&#8221;</p>
<p>So while the designers of the OSI model understood the basic value of the packet-switched network, they also understood the value of the circuit-switched network, and tried to find a way to solve both sets of problems in the same network. Experience has shown it is possible to build a <em>somewhat</em> close-to-circuit switched network on top of packet switched networks, but not quite in the way, nor as close to perfect emulation, as those original designers thought. So the OSI model is a bit complex and perhaps <em>overspecified,</em> making it less-than-useful today.</p>
<p><em>Second,</em> the OSI model largely ignored the role of middleboxes, focusing instead on the stacks implemented and deployed in hosts. This, again, makes sense, as there was no such thing as a device specialized in the switching of packets at the time. Hosts took packets in and processed them. Some packets were sent along to other hosts, other packets were consumed locally. Think PDP-11 with some rough code, rather than even an early Cisco CGS.</p>
<p><em>Third,</em> the OSI model focuses on what each layer does from the perspective of an application, rather than focusing on what is being done to the data in order to transmit it. The OSI model is built &#8220;top down,&#8221; rather than &#8220;bottom up,&#8221; in other words. While this might be really useful if you are an application developer, it is not so useful if you are a network engineer. </p>
<p><strong>So&#8212;what should we say about the OSI model?</strong></p>
<p>It was much more useful at some point in the past, when networking was really just &#8220;something a host did,&#8221; rather than its own sort of sub-field, with specialized protocols, techniques, and designs. It was a very good attempt at sorting out what a network needed to do to move traffic, from the perspective of an application.</p>
<p>What it is not, however, is really all that useful for network engineers working within an engineering specialty to understand how to design protocols, and how to design networks on which those protocols will run. What should we replace it with? I would begin by pointing you to the RINA model, which I think is a better place to start. <a href="http://www.amazon.com/exec/obidos/ASIN/1587145049?tag=riw777-20">I&#8217;ve written a bit about the RINA model, and used the RINA model as one of the foundational pieces of Computer Networking Problems and Solutions.</a></p>
<p>Since writing that, however, I have been thinking further about this problem. Over the next six months or so, I plan to build a course around this question. For the moment, I don&#8217;t want to spoil the fun, or put any half-backed thoughts out there in the wild.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/stop-using-osi/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10902</post-id>	</item>
		<item>
		<title>DNS Query Minimization and Data Leaks</title>
		<link>https://rule11.tech/dns-query-minimization-and-data-leaks/</link>
					<comments>https://rule11.tech/dns-query-minimization-and-data-leaks/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 26 Aug 2019 17:00:18 +0000</pubDate>
				<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10874</guid>

					<description><![CDATA[When a recursive resolver receives a query from a host, it will first consult any local cache to discover if it has the information required to resolve the query. If it does not, it will begin with the rightmost section of the domain name, the Top Level Domain (TLD), moving left through each section of the Fully Qualified Domain Name (FQDN), in order to find an IP address to return to the host, as shown in the diagram below.

<img src="https://rule11.tech/wp-content/uploads/dns-query-400x285.jpg" alt="" width="400" height="285" class="alignnone" />

This is pretty simple at its most basic level, of course—virtually every network engineer in the world understands this process (and if you don’t, you should enroll in my <em>How the Internet Really Works</em> webinar the next time it is offered!). The question almost no-one ever asks, however, is: <em>what, precisely, is the recursive server sending to the root, TLD, and authoritative servers?</em>]]></description>
										<content:encoded><![CDATA[<p>When a recursive resolver receives a query from a host, it will first consult any local cache to discover if it has the information required to resolve the query. If it does not, it will begin with the rightmost section of the domain name, the Top Level Domain (TLD), moving left through each section of the Fully Qualified Domain Name (FQDN), in order to find an IP address to return to the host, as shown in the diagram below.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/dns-query.jpg?resize=400%2C285&#038;ssl=1" alt="" width="400" height="285" class="alignnone" /></p>
<p>This is pretty simple at its most basic level, of course—virtually every network engineer in the world understands this process (and if you don’t, you should enroll in my <em>How the Internet Really Works</em> webinar the next time it is offered!). The question almost no-one ever asks, however, is: <em>what, precisely, is the recursive server sending to the root, TLD, and authoritative servers?</em></p>
<p>Begin with the perspective of a coder who is developing the code for that recursive server. You receive a query from a host, you have the code check the local cache, and you find there is no matching information available locally. This means you need to send a query out to some other server to determine the correct IP address to return to the host. You could keep a copy of the query from the host in your local cache and build a new query to send to the root server.</p>
<p>Remember, however, that local server resources may be scarce; recursive servers must be optimized to process very high query rates very quickly. Much of the user’s perception of network performance is actually tied to DNS performance. A second option is you could save local memory and processing power by sending the <em>entire query,</em> as you have received it, on to the root server. This way, you do not need to build a new query packet to send to the root server.</p>
<p>Consider this process, however, in the case of a query for a local, internal resource you would rather not let the world know exists. The recursive server, by sending the entire query to the root server, is also sending information about the internal DNS structure and potential internal server names to the external root server. As the FQDN is resolved (or not), this same information is sent to the TLD and authoritative servers, as well.</p>
<p>There is something else contained here, however, that is not so obvious—the IP address of the requestor is contained in that original query, as well. Not only is your internal namespace leaking, your internal IP addresses are leaking, as well.</p>
<p>This is not only a massive security hole for your organization, it also exposes information from individual users on the global ‘net.</p>
<p>There are several things that can be done to resolve this problem. Organizationally, running a private DNS server, hard coding resolving servers for internal domains, and using internal domains that are not part of the existing TLD infrastructure, can go a long way towards preventing information leaking of this kind through DNS. Operating a DNS server internally might not be ideal, of course, although DNS services are integrated into a lot of other directory services used in operational networks. If you are using a local DNS server, it is important to remember to configure DHCP and/or IPv6 ND to send the correct, internal, DNS server address, rather than an external address. It is also important to either block or redirect DNS queries sent to public servers by hosts using hard-coded DNS server configurations.</p>
<p>A second line of defense is through DNS query minimization. <a href="https://www.rfc-editor.org/rfc/pdfrfc/rfc7816.txt.pdf">Described in RFC7816, query minimization argues recursive servers should use QNAME queries to only ask about the one relevant part of the FQDN.</a> For instance, if the recursive server receives a query for <code>www.banana.example,</code> the server should request information about <code>.example</code> from the root server, <code>banana.example</code> from the TLD, and send the full requested domain name only to the authoritative server. This way, the full search is not exposed to the intermediate servers, protecting user information.</p>
<p>Some recursive server implementations already support QNAME queries. If you are running a server for internal use, you should ensure the server you are using supports DNS query minimization. If you are directing your personal computer or device to publicly reachable recursive servers, you should investigate whether these servers support DNS query minimization.</p>
<p>Even with DNS query minimization, your recursive server still knows a lot about what you ask for&#8212;the topic of discussion on a <a href="https://rule11.tech/hedge/">forthcoming episode of the Hedge, where our guest will be Geoff Huston.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/dns-query-minimization-and-data-leaks/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10874</post-id>	</item>
		<item>
		<title>Lessons Learned from the Robustness Principle</title>
		<link>https://rule11.tech/lessons-learned-from-the-robustness-principle/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 29 Jul 2019 17:00:25 +0000</pubDate>
				<category><![CDATA[SKILLS]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10732</guid>

					<description><![CDATA[The Internet, and networking protocols more broadly, were grounded in a few simple principles. For instance, there is the <em>end-to-end principle,</em> which argues the network should be a simple fat pipe that does not modify data in transit. Many of these principles have tradeoffs<em>&#8212;if you haven't found the tradeoffs, you haven't looked hard enough&#8212;</em>and not looking for them can result in massive failures at the network and protocol level.

Another principle networking is grounded in is the <em>Robustness Principle,</em> which states: <em>"Be liberal in what you accept, and conservative in what you send."</em> In protocol design and implementation, this means you should accept the widest range of inputs possible without negative consequences. A recent draft, however, challenges the robustness principle&#8212;<a href="https://datatracker.ietf.org/doc/draft-iab-protocol-maintenance/">draft-iab-protocol-maintenance.</a>

According to the authors, the basic premise of the robustness principle lies in the problem of updating older software for new features or fixes at the scale of an Internet sized network. The general idea is a protocol designer can set aside some "reserved bits," using them in a later version of the protocol, and not worry about older implementations misinterpreting them&#8212;new meanings of old reserved bits will be silently ignored. In a world where even a very old operating system, <a href="https://www.windowslatest.com/2018/04/04/windows-xp-is-still-going-strong/">such as Windows XP, is still widely used,</a> and <a href="https://thenextweb.com/microsoft/2015/07/17/windows-10-will-force-you-to-update-and-thats-good-news/">people complain endlessly about forced updates,</a> it seems like the robustness principle is on solid ground in this regard. ]]></description>
										<content:encoded><![CDATA[<p>The Internet, and networking protocols more broadly, were grounded in a few simple principles. For instance, there is the <em>end-to-end principle,</em> which argues the network should be a simple fat pipe that does not modify data in transit. Many of these principles have tradeoffs<em>&#8212;if you haven&#8217;t found the tradeoffs, you haven&#8217;t looked hard enough&#8212;</em>and not looking for them can result in massive failures at the network and protocol level.</p>
<p>Another principle networking is grounded in is the <em>Robustness Principle,</em> which states: <em>&#8220;Be liberal in what you accept, and conservative in what you send.&#8221;</em> In protocol design and implementation, this means you should accept the widest range of inputs possible without negative consequences. A recent draft, however, challenges the robustness principle&#8212;<a href="https://datatracker.ietf.org/doc/draft-iab-protocol-maintenance/">draft-iab-protocol-maintenance.</a></p>
<p>According to the authors, the basic premise of the robustness principle lies in the problem of updating older software for new features or fixes at the scale of an Internet sized network. The general idea is a protocol designer can set aside some &#8220;reserved bits,&#8221; using them in a later version of the protocol, and not worry about older implementations misinterpreting them&#8212;new meanings of old reserved bits will be silently ignored. In a world where even a very old operating system, <a href="https://www.windowslatest.com/2018/04/04/windows-xp-is-still-going-strong/">such as Windows XP, is still widely used,</a> and <a href="https://thenextweb.com/microsoft/2015/07/17/windows-10-will-force-you-to-update-and-thats-good-news/">people complain endlessly about forced updates,</a> it seems like the robustness principle is on solid ground in this regard. </p>
<p>The argument against this in the draft is implementing the robustness principle allows a protocol to degenerate over time. Older implementations are not removed from service because <em>it still works,</em> implementations are not updated in a timely manner, and the protocol tends to have an ever-increasing amount of &#8220;dead code&#8221; in the form of older expressions of data formats. Given an infinite amount of time, an infinity number of versions of any given protocol will be deployed. As a result, the protocol can and will break in an infinite number of ways.</p>
<p>The logic of the draft is something along the lines of: <em>old ways of doing things should be removed from protocols which are actively maintained in order to unify and simplify the protocol.</em> At least for actively maintained protocols, reliance on the robustness principle should be toned down a little. </p>
<p>Given the long list of examples in the draft, the authors make a good case.</p>
<p>There is another side to the argument, however. The robustness principle is not &#8220;just&#8221; about keeping older versions of software working &#8220;at scale.&#8221; All implementations, no matter how good their quality, have defects (or rather, unintended features). Many of these defects involve failing to release or initialize memory, failing to bounds check inputs, and other similar oversights. A common way to find these errors is to fuzz test code&#8212;throw lots of different inputs at it to see if it spits up an error or crash. </p>
<p>The robustness principle runs deeper than infinite versions&#8212;it also helps implementations deal with defects in &#8220;the other end&#8221; that generate bad data. The robustness principle, then, can help keep a network running even in the face of an implementation defect.</p>
<p>Where does this leave us? Abandoning the robustness principle is clearly not a good thing&#8212;while the network might end up being more correct, it might also end up simply not running. <em>Ever.</em> The Internet is an interlocking system of protocols, hardware, and software; the robustness principle is the lubricant that makes it all work at all.</p>
<p>Clearly, then, there must be some sort of compromise position that will work. Perhaps a two pronged attack might work. <em>First,</em> don&#8217;t discard errors silently. Instead, build logging into software that catches all errors, regardless of how trivial they might seem. This will generate a lot of data, but we need to be clear on the difference between instrumenting something and actually paying attention to what is instrumented. Instrumenting code so that &#8220;unknown input&#8221; can be caught and logged periodically is not a bad thing.</p>
<p><em>Second,</em> perhaps protocols need some way to <em>end of life</em> older versions. Part of the problem with the robustness principle is it allows an infinite number of versions of a single protocol to exist in the same network. Perhaps the IETF and other standards organizations should rethink this, explicitly taking older ways of doing things out of specs on a periodic basis. A draft that says &#8220;you shouldn&#8217;t do this any longer,&#8221; or &#8220;this is no longer in accordance with the specification,&#8221; would not be a bad thing.</p>
<p>For the more &#8220;average&#8221; network engineer, this discussion around the robustness principle should lead to some important lessons, particularly as we move ever more deeply into an automated world. Be clear about versioning of APIs and components. Deprecate older processes when they should no longer be used. </p>
<p>Control your technical debt, or it will control you.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10732</post-id>	</item>
		<item>
		<title>Disaggregation and Business Value</title>
		<link>https://rule11.tech/disaggregation-and-business-value/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 18 Jul 2019 17:00:51 +0000</pubDate>
				<category><![CDATA[DESIGN]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[VIDEO]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=10656</guid>

					<description><![CDATA[<img src="https://rule11.tech/wp-content/uploads/chinog-disagg.png" alt="" width="400" class="alignnone" />

I recently spoke at CHINOG on the business value of disaggregation, and participated in a panel on getting involved in the IETF. ]]></description>
										<content:encoded><![CDATA[<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/chinog-disagg.png?w=400&#038;ssl=1" alt=""  class="alignnone" /></p>
<p>I recently spoke at CHINOG on the business value of disaggregation, and participated in a panel on getting involved in the IETF. If you&#8217;re interested in these two talks, the videos are linked below.</p>
<p><iframe loading="lazy" class="youtube-player" width="640" height="360" src="https://www.youtube.com/embed/twiMiQpF0ac?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></p>
<p><iframe loading="lazy" class="youtube-player" width="640" height="360" src="https://www.youtube.com/embed/lkqMIQWx8fU?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10656</post-id>	</item>
		<item>
		<title>Research: Legal Barriers to RPKI Deployment</title>
		<link>https://rule11.tech/research-legal-barriers-to-rpki-deployment/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 09 Jan 2019 18:00:26 +0000</pubDate>
				<category><![CDATA[RESEARCH]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=9915</guid>

					<description><![CDATA[Much like most other problems in technology, securing the reachability (routing) information in the internet core as much or more of a people problem than it is a technology problem. While BGP security can never be perfect (in an imperfect world, the quest for perfection is often the cause of a good solution’s failure), there&#8230;]]></description>
										<content:encoded><![CDATA[<p>Much like most other problems in technology, securing the reachability (routing) information in the internet core as much or more of a people problem than it is a technology problem. While BGP security can never be perfect (in an imperfect world, the quest for perfection is often the cause of a good solution’s failure), there are several solutions which could be used to provide the information network operators need to determine if they can trust a particular piece of routing information or not. For instance, <a href="https://www.cisco.com/c/en/us/about/press/internet-protocol-journal/back-issues/table-contents-32/graph-overlays.html">graph overlays for path validation,</a> or the <a href="https://blog.cloudflare.com/rpki/">RPKI system for origin validation.</a> Solving the technical problem, however, only carries us a small way towards “solving the problem.”</p>
<p>One of the many ramifications of deploying a new system—one we do not often think about from a purely technology perspective—is the legal ramifications. Assume, for a moment, that some authority were to publicly validate that some address, such as 2001:db8:3e8:1210::/64, belongs to a particular entity, say <em>bigbank,</em> and that the AS number of this same entity is 65000. On receiving an update from a BGP peer, if you note the route to x:1210::/64 ends in AS 65000, you might think you are safe in using this path to reach destinations located in <em>bigbank’s</em> network.</p>
<p>What if the route has been hijacked? What if the validator is wrong, and has misidentified—or been fooled into misidentifying—the connection between AS65000 and the x:1210::/64 route? What if, based on this information, critical financial information is transmitted to an end point which ultimately turns out to be an attacker, and this attacker uses this falsified routing information to steal millions (or billions) of dollars?</p>
<p><citation>Yoo, Christopher S., and David A. Wishnick. 2019. “Lowering Legal Barriers to RPKI Adoption.” SSRN Scholarly Paper ID 3308619. Rochester, NY: Social Science Research Network. <a href="https://papers.ssrn.com/abstract=3309813">https://papers.ssrn.com/abstract=3309813</a>.</citation></p>
<p>Who is responsible? This legal question ultimately plays into the way numbering authorities allow the certificates they issue to be used. Numbering authorities—specifically ARIN, which is responsible for numbering throughout North America—do not want the RPKI data misused in a way that can leave them legally responsible for the results. Some background is helpful.</p>
<p>The RPKI data, in each region, is stored in a database; each RPKI object (essentially and loosely) contains an origin AS/IP address pair. These are signed using a private key and can be validated using the matching public key. Somehow the public key itself must be validated; ultimately, there is a chain, or hierarchy, of trust, leading to some sort of root. The trust anchor is described in a file called the <em>Trust Anchor Locator,</em> or TAL. ARIN wraps access to their TAL in a strong indemnification clause to protect themselves from the sort of situation described above (and others). Many companies, particularly in the United States, will not accept the legal contract involved without a thorough investigation of their own culpability in any given situation involving misrouting traffic, which ultimately means many companies will simply not use the data, and RPKI is not deployed.</p>
<p>The essential point the paper makes is: <em>is this clause really necessary?</em> Thy authors make several arguments towards removing the strict legal requirements around the use of the data in the TAL provided by ARIN. First, they argue the bounds of potential liability are uncertain, and will shift as the RPKI is more widely deployed. Second, they argue the situations where harm can come from use of the RPKI data needs to be more carefully framed and understood, and how these kinds of legal issues have been used in the past. To this end, the authors argue strict liability is not likely to be raised, and negligence liability can probably be mitigated. They offer an alternative mechanism using straight contract law to limit the liability to ARIN in situations where the RPKI data is misused or incorrect.</p>
<p>Whether this paper causes ARIN to rethink its legal position or not is yet to be seen. At the same time, while these kinds of discussions often leave network engineers flat-out bored, the implications for the Internet are important. This is an excellent example of an intersection between technology and policy, a realm network operators and engineers need to pay more attention to.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9915</post-id>	</item>
		<item>
		<title>Research: BGP Routers and Parrots</title>
		<link>https://rule11.tech/research-bgp-routers-and-parrots/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Wed, 05 Dec 2018 16:00:02 +0000</pubDate>
				<category><![CDATA[RESEARCH]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=9843</guid>

					<description><![CDATA[The BGP specification suggests implementations should have three tables: the adj-rib-in, the loc-rib, and the adj-rib-out. The first of these three tables should contain the routes (NLRIs and attributes) transmitted by each of the speaker’s peers. The second table should contain the calculated best paths; these are the routes that will be (or are) installed&#8230;]]></description>
										<content:encoded><![CDATA[<p>The BGP specification suggests implementations should have three tables: the adj-rib-in, the loc-rib, and the adj-rib-out. The first of these three tables should contain the routes (NLRIs and attributes) transmitted by each of the speaker’s peers. The second table should contain the calculated best paths; these are the routes that will be (or are) installed in the local routing table and used to build a forwarding table. The third table contains the routes which have been sent to each peering speaker. Why three tables? Routing protocols standards are (sometimes—not always) written to provide the maximum clarity to how the protocol works to someone who is writing an implementation. Not every table or process described in the specification is implemented, or implemented the way it is described.</p>
<p>What happens when you implement things in a different way than the specification describes? In the case of BGP and the three RIBs, you can get duplicated BGP updates. What do parrots and BGP have in common describes two situations where the lack of a adj-rib-out can cause duplicate BGP updates to be sent.</p>
<p><citation>David Hauweele, Bruno Quoitin, Cristel Pelsser, and Randy Bush. 2016. “What Do Parrots and BGP Rotuers Have in Common?” <em>Computer Communications Review</em>, July. <a href="http://ccracmsigcomm.info.ucl.ac.be/wp-content/uploads/2016/07/sigcomm-ccr-paper26.pdf">http://ccracmsigcomm.info.ucl.ac.be/wp-content/uploads/2016/07/sigcomm-ccr-paper26.pdf</a>.</citation></p>
<p>The authors of this paper begin by observing BGP updates from a full feed off the default free zone. The configuration of the network, however, is designed to provide not only the feed from a BGP speaker, but also the routes received by a BGP speaker, as shown in the illustration below.</p>
<p><img data-recalc-dims="1" decoding="async" class="alignnone size-full wp-image-9844" src="https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?w=600&#038;ssl=1" alt=""  srcset="https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?w=1000&amp;ssl=1 1000w, https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?resize=150%2C57&amp;ssl=1 150w, https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?resize=300%2C113&amp;ssl=1 300w, https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?resize=768%2C290&amp;ssl=1 768w, https://i0.wp.com/rule11.tech/wp-content/uploads/bgp-repeats-figure.png?resize=800%2C302&amp;ssl=1 800w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p>In this figure, all the labeled routers are in separate BGP autonomous systems, and the links represent physical connections as well as eBGP sessions. The three BGP updates received by D are stored in three different logs which are time stamped so they can be correlated. The researchers found two instances where duplicate BGP updates were received at D.</p>
<p>In the first case, the best path at C switches between A and B because of the Multiple Exit Discriminator (MED), but the remainder of the update remains the same. C, however, strips the MED before transmitting the route to D, so D simply sees what appears to be duplicate updates. In the second case, the next hop changes because of an implicit withdraw based on a route change for the previous best path. For instance, C might choose A as the best path, but then A implicitly withdraws its path, leaving the path through B as the best. When this occurs, C recalculates the best path and sends it to D; since the next hop is stripped when C advertises the new route to D, this appears to be a duplicate at D.</p>
<p>In both of these cases, if C had an adj-rib-out, it would find the duplicate advertisement and squash it. However, since C has no record of what it has sent to D in the past, it must send information about all local best path changes to D. While this might seem like a trivial amount of processing, these additional updates can add enough load during link flap situations to make a material difference in processor utilization or speed of convergence.</p>
<p>Why do implementors decide not to include an adj-rib-out in their implementations, or why, when one is provided, do operators disable the adj-rib-out? Primarily because the adj-rib-out consumes local memory; it is cheaper to push the work to a peer than it is to keep local state that might only rarely be used. This is a classic case of reducing the complexity of the local implementation by pushing additional state (and hence complexity) into the overall system. The authors of the paper suggest a better balance might be achieved if implementations kept a small cache of the most recent updates transmitted to an adjacent speaker; this would allow the implementation to reduce memory usage, while also allowing it to prevent repeating recent updates.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9843</post-id>	</item>
		<item>
		<title>Ossification and Fragmentation: The Once and Future ‘net</title>
		<link>https://rule11.tech/ossification-and-fragmentation-the-once-and-future-net/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 29 Oct 2018 17:00:26 +0000</pubDate>
				<category><![CDATA[RESEARCH]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=9562</guid>

					<description><![CDATA[Mostafa Ammar, out of Georgia Tech (not my alma mater, but many of my engineering family are alumni there), recently posted an interesting paper titled The Service-Infrastructure Cycle, Ossification, and the Fragmentation of the Internet. I have argued elsewhere that we are seeing the fragmentation of the global Internet into multiple smaller pieces, primarily based&#8230;]]></description>
										<content:encoded><![CDATA[<p>Mostafa Ammar, out of Georgia Tech (not my alma mater, but many of my engineering family are alumni there), recently posted an interesting paper titled <a href="https://ccronline.sigcomm.org/2018/ccr-january-2018/ex-uno-pluria-the-service-infrastructure-cycle-ossification-and-the-fragmentation-of-the-internet/"><em>The Service-Infrastructure Cycle, Ossification, and the Fragmentation of the Internet.</em></a> I have argued elsewhere that we are seeing the fragmentation of the global Internet into multiple smaller pieces, primarily based on the centralization of content hosting combined with the rational economic decisions of the large-scale hosting services. The paper in hand takes a slightly different path to reach the same conclusion.</p>
<p><crosspost><a href="http://www.circleid.com/posts/20181030_ossification_and_fragmentation_the_once_and_future_net/">cross posted at CircleID</a></crosspost></p>
<div class="tldr"><strong>TL;DR</strong>[time-span]</p>
<ul>
<li>Networks are built based on a cycle of infrastructure modifications to support services</li>
<li>When new services are added, pressure builds to redesign the network to support these new services</li>
<li>Networks can ossify over time so they cannot be easily modified to support new services</li>
<li>This causes pressure, and eventually a more radical change, such as the fracturing of the network</li>
</ul>
</div>
<p>&nbsp;<br />
The author begins by noting networks are designed to provide a set of services. Each design paradigm not only supports the services it was designed for, but also allows for some headroom, which allows users to deploy new, unanticipated services. Over time, as newer services are deployed, the requirements on the network change enough that the network must be redesigned.<br />
This cycle, the service-infrastructure cycle, relies on a well-known process of deploying something that is “good enough,” which allows early feedback on what does and does not work, followed by quick refinement until the protocols and general design can support the services placed on the network. As an example, the author cites the deployment of unicast routing protocols. He marks the beginning of this process as 1962, when Prosser was first deployed, and then as 1995, when BGPv4 was deployed. Across this time routing protocols were invented, deployed, and revised rapidly. Since around 1995, however—a period of over 20 years at this point—routing has not changed all that much. So there were around 35 years of rapid development, followed by what is now over 20 years of stability in the routing realm.</p>
<p>Ossification, for those not familiar with the term, is a form of hardening. Petrified wood is an ossified form of wood. An interesting property of petrified wood is that is it fragile; if you pound a piece of “natural” wood with a hammer, it dents, but does not shatter. Petrified, or ossified, wood shatters, like glass.</p>
<p>Multicast routing is held up as an opposite example. Based on experience with unicast routing, the designers of multicast attempted to “anticipate” the use cases, such that early iterations were clumsy, and failed to attain the kinds of deployment required to get the cycle of infrastructure and services started. Hence multicast routing has largely failed. In other words, multicast ossified too soon; the cycle of experience and experiment was cut short by the designers trying to anticipate use cases, rather than allowing them to grow over time.</p>
<p>Some further examples might be:</p>
<ul>
<li>IETF drafts and RFCs were once short, and used few technical terms, in the sense of a term defined explicitly within the context of the RFC or system. Today RFCs are veritable books, and require a small dictionary to read.</li>
<li>BGP security, which is mentioned by the author as a victim of ossification, is actually another example of early ossification destroying the experiment/enhancement cycle. Early on, a group of researchers devised the “perfect” BGP security system (which is actually by no means perfect—it causes as many security problems as it resolves), and refused to budge once “perfection” had been reached. For the last twenty years, BGP security has not notably improved; the cycle of trying and changing things has been stopped this entire time.</li>
</ul>
<p>There are also weaknesses in this argument, as well. It can be argued that the reason for the failure of widespread multicast is because the content just wasn&#8217;t there when multicast was first considered—in fact, that multicast content still is not what people really want. The first “killer app” for multicast was replacing broadcast television over the Internet. What has developed instead is video on demand; multicast is just not compelling when everyone is watching something different whenever they want to.</p>
<p>The solution to this problem is novel: break the Internet up. Or rather, allow it to break up. The creation of a single network from many networks was a major milestone in the world of networking, allowing the open creation of new applications. If the Internet were not ossified through business relationships and the impossibility of making major changes in the protocols and infrastructure, it would be possible to undertake radical changes to support new challenges.</p>
<p>The new challenges offered include IoT, the need for content providers to have greater control over the quality of data transmission, and the unique service demands of new applications, particularly gaming. The result has been the flattening of the Internet, followed by the emergence of bypass networks—ultimately leading to the fragmentation of the Internet into many different networks.</p>
<p>Is the author correct? It seems the Internet is, in fact, becoming a group of networks loosely connected through IXPs and some transit providers. What will the impact be on network engineers? One likely result is deeper specialization in sets of technologies—the “enterprise/provider” divide that had almost disappeared in the last ten years may well show up as a divide between different kinds of providers. For operators who run a network that indirectly supports some other business goal (what we might call “enterprise”), the result will be a wide array of different ways of thinking about networks, and an expansion of technologies.</p>
<p>But one lesson engineers can certainly take away is this: the concept of agile must reach beyond the coding realm, and into the networking realm. There must be room “built in” to experiment, deploy, and enhance technologies over time. This means accepting and managing risk rather than avoiding it, and having a deeper understanding of how networks work and why they work that way, rather than the blind focus on configuration and deployment we currently teach.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9562</post-id>	</item>
		<item>
		<title>IPv6 Security Considerations</title>
		<link>https://rule11.tech/ipv6-security-considerations/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Mon, 01 Oct 2018 17:00:55 +0000</pubDate>
				<category><![CDATA[SECURITY]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=9490</guid>

					<description><![CDATA[When rolling out a new protocol such as IPv6, it is useful to consider the changes to security posture, particularly the network’s attack surface. While protocol security discussions are widely available, there is often not “one place” where you can go to get information about potential attacks, references to research about those attacks, potential counters,&#8230;]]></description>
										<content:encoded><![CDATA[<p>When rolling out a new protocol such as IPv6, it is useful to consider the changes to security posture, particularly the network’s attack surface. While protocol security discussions are widely available, there is often not “one place” where you can go to get information about potential attacks, references to research about those attacks, potential counters, and operational challenges. <a href="https://tools.ietf.org/html/draft-ietf-opsec-v6-13">In the case of IPv6, however, there is “one place” you can find all this information: draft-ietf-opsec-v6. </a>This document is designed to provide information to operators about IPv6 security based on solid operational experience—and it is a <em>must read</em> if you have either deployed IPv6 or are thinking about deploying IPv6.</p>
<p><crosspost><a href="http://www.circleid.com/posts/20181001_ipv6_security_considerations/">cross posted on CircleID</a></crosspost></p>
<p>The draft is broken up into four broad sections; the first is the longest, addressing generic security considerations. The first consideration is whether operators should use Provider Independent (PI) or Provider Assigned (PA) address space. One of the dangers with a large address space is the sheer size of the potential routing table in the Default Free Zone (DFZ). If every network operator opted for an IPv6 /32, the potential size of the DFZ routing table is 2.4 billion routing entries. If you thought converging on about 800,000 routes is bad, just wait ‘til there are 2.4 billion routes. Of course, the actual PI space is being handed out on /48 boundaries, which makes the potential table size exponentially larger. PI space, then, is “bad for the Internet” in some very important ways.</p>
<p>This document provides the other side of the argument—security is an issue with PA space. While IPv6 was supposed to make renumbering as “easy as flipping a switch,” it does not, in fact, come anywhere near this. Some reports indicate IPv6 re-addressing is more difficult than IPv4. Long, difficult renumbering processes indicate many opportunities for failures in security, and hence a large attack surface. Preferring PI space over PA space becomes a matter of reducing the operational attack surface.</p>
<p>Another interesting question when managing an IPv6 network is whether static addressing should be used for some services, or if all addresses should be dynamically learned. There is a perception out there that because the IPv6 address space is so large, it cannot be “scanned” to find hosts to attack. As pointed out in this draft, there is research showing this is simply not true. Further, static addresses may expose specific servers or services to easy recognition by an attacker. The point the authors make here is that either way, endpoint security needs to rely on actual security mechanisms, rather than on hiding addresses in some way.</p>
<p>Other very useful topics considered here are Unique Local Addresses (ULAs), numbering and managing point-to-point links, privacy extensions for SLAAC, using a /64 per host, extension headers, securing DHCP, ND/RA filtering, and control plane security.</p>
<p>If you are deploying, or thinking about deploying, IPv6 in your network, this is a “must read” document.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9490</post-id>	</item>
		<item>
		<title>OSPF Topology Transparent Zones</title>
		<link>https://rule11.tech/ospf-topology-transparent-zones/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 17 Apr 2018 17:00:47 +0000</pubDate>
				<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=9016</guid>

					<description><![CDATA[Anyone who has worked with OSPF for any length of time has at least heard of areas—but perhaps before diving into Topology Transparent Zones (TTZs), a short review is in order. In this diagram, routers A and B are in area 0, routers C and D are Area Border Routers (ABRs), and routers E, F,&#8230;]]></description>
										<content:encoded><![CDATA[<p>Anyone who has worked with OSPF for any length of time has at least heard of areas—but perhaps before diving into Topology Transparent Zones (TTZs), a short review is in order.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-full wp-image-9019" src="https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?resize=600%2C310&#038;ssl=1" alt="" width="600" height="310" srcset="https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?w=600&amp;ssl=1 600w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?resize=150%2C78&amp;ssl=1 150w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?resize=300%2C155&amp;ssl=1 300w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?resize=200%2C103&amp;ssl=1 200w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-01.png?resize=400%2C207&amp;ssl=1 400w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>In this diagram, routers A and B are in area 0, routers C and D are Area Border Routers (ABRs), and routers E, F, G, H, and K are all in area 1. The ABRs, C and D, do not advertise the existence of E, F, G, H, or K to the routers in area 0, nor the links to or between any of those routers. Any reachable destinations in area 1 are advertised using a em&gt;summary LSA, or a type 3 LSA, towards A and B. From the perspective of A and B, 100::/64 and 101::/64 would be advertised by C and D as directly connected destinations, using the cost from C and D to each of these two destinations, based on a <em>summary LSA.</em></p>
<p>What if you wanted to place H and K in their own area, with G as an ABR, behind the existing area 1? You cannot do this in OSPF using any form of a standard flooding domain, or area. There is no way to take information about a destination out of a <em>summary LSA</em> and place it in another <em>summary LSA</em> without risking the formation of a routing loop. Once the topology information is lost, which OSPF relies on to prevent the formation of routing loops, there is no way to gain it back.</p>
<p>Why might you want to do this? The primary reasons for stacking multiple areas in this way relate to mobile ad-hoc networks; you cannot control the way routers might be connected together, nor where flooding domain boundaries might be drawn. Assuming you have a requirement, you would be out of luck if the only tool you have is a standard OSPF area.</p>
<p>However, you can stack areas using TTZs. What is a TTZ? It is a flooding domain that does not appear to exist to the routers around it—or rather, connected to either side of the TTZ. In the illustration below, routers C, D, E, F, and G have been configured so they form a TTZ.</p>
<p><img data-recalc-dims="1" loading="lazy" decoding="async" class="alignnone size-full wp-image-9020" src="https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?resize=600%2C310&#038;ssl=1" alt="" width="600" height="310" srcset="https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?w=600&amp;ssl=1 600w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?resize=150%2C78&amp;ssl=1 150w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?resize=300%2C155&amp;ssl=1 300w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?resize=200%2C103&amp;ssl=1 200w, https://i0.wp.com/rule11.tech/wp-content/uploads/rfc8099-02.png?resize=400%2C207&amp;ssl=1 400w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Note that when the network is configured this way, routers A, B, H, and K all believe they are in a single flooding domain. From the perspective of these four routers, C, D, and G appear to be directly connected by a set of point-to-point links. Traffic sent from B to 101::/64, for instance, would pass into the TTZ at D, through the TTZ, and back out the other side at G. This traffic would be forwarded normally through the TTZ, as the routers within the TTZ have a full view of the network topology, as well as reachable destinations.</p>
<p>The destination within the TTZ, 100::/64, would be advertised by each TTZ edge router as if it were a directly connected destination. Hence G, C, and D would each advertise 100::/64 as a connected interface in their <em>router LSA,</em> or their type 1 advertisement. This allows routers outside the TTZ to reach destinations within the TTZ, without revealing the internal topology of the TTZ.</p>
<p>Information about the topology within the TTZ is carried in a set of <em>opaque LSAs</em> which are not forwarded outside the TTZ. This allows the TTZ to maintain consistent internal state, without burdening the rest of the network with internal topology information, or topology changes.</p>
<p>TTZ&#8217;s are a rather narrowly focused solution; it is not likely you will see these used in an OSPF network near you any time soon. On the other hand, they are an interesting, experimental, addition to OSPF that can be used to solve a set of edge cases.</p>
<p><a href="https://datatracker.ietf.org/doc/rfc8099/">You can read about TTZs more in RFC8099.</a></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">9016</post-id>	</item>
		<item>
		<title>What&#8217;s wrong with the IETF. And what&#8217;s right</title>
		<link>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/</link>
					<comments>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Thu, 22 Mar 2018 15:00:21 +0000</pubDate>
				<category><![CDATA[CULTURE]]></category>
		<category><![CDATA[STANDARDS]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=8916</guid>

					<description><![CDATA[I have not counted the IETF&#8217;s I have attended; I only know the first RFC on which I&#8217;m listed as a co-author was published in 2000, so this must be close to 20 years of interacting with the IETF community. I&#8217;m pretty certain I&#8217;ve attended at least two meetings a year in some years, and&#8230;]]></description>
										<content:encoded><![CDATA[<p>I have not counted the IETF&#8217;s I have attended; I only know the first RFC on which I&#8217;m listed as a co-author was published in 2000, so this must be close to 20 years of interacting with the IETF community. I&#8217;m pretty certain I&#8217;ve attended at least two meetings a year in some years, and three meetings a year in most of those years. Across that time, there has never been a time when I have not been told, at least once, &#8220;the IETF is broken.&#8221; And there has not been a single time I cannot remember agreeing with the sentiment. </p>
<p><em>My belief that the IETF is broken, however, is narrow, and offset by the many ways in which I think the IETF is still useful for the larger networking community.</em></p>
<p>So, how is the IETF broken? The trend that bothers me the most right now is the gold rush syndrome. A new technology is brought into the IETF, and if it looks like it might somehow be &#8220;important,&#8221; there is a &#8220;land rush&#8221; as people stake out new drafts, find use cases, find corner cases, and work to develop drafts and communities around those drafts. This generally results in a sort of ossification process, where there are clear insiders and outsiders, an entirely new vocabulary is developed, and the drafts fly so fast and furious there is almost no time to read them all. There are many problematic parts of this process. For instance, there is often a feeling that &#8220;this is important, no need to get the details right,&#8221; or &#8220;if you don&#8217;t understand, butt out of the conversation.&#8221; </p>
<p>A particularly troubling aspect of this is the wide desire to &#8220;be famous,&#8221; to chair a working group, to get your name on a draft, and ultimately on an RFC. This eventually becomes all important, carrying all practical considerations before it. The old ethos of &#8220;build small and flexible, code it, and let it grow where needed&#8221; is almost always lost in the shuffle of producing tens of drafts. Companies pay by the draft, or only pay for travel if you have a draft&#8212;both of which have a tendency to destroy the value of the community itself, and the way the community functions.</p>
<p>So that&#8217;s what broken. What&#8217;s right?</p>
<p>One night I was walking back from dinner with a couple of friends&#8212;Gonzolos and Joe&#8212;and I ran into Stewart Bryant in the hotel lobby. Soon enough, Paul Mockapetris joined the conversation. At some point, Dave Oran, Ignas B, and George Swallow joined the conversation. There are few places in the world you can get some collection of folks who had a hand in the creation of technologies like DNS, psuedowires, MPLS/TE, SMTP, IS-IS, IP fast reroute, and probably a dozen other technologies, standing around talking about &#8220;the good old days,&#8221; or even where to go for dinner. Across this week, I&#8217;ve chatted with Tony Li, Tony P, Jeff T, Alvaro Retana, Russ Housley, Fred Baker, Alia Atlas, and&#8230; more than I can remember.</p>
<p>If there is one that is striking about all of these people, it is that they are all more interested in solving problems than taking credit. They all live by the old IETF mantra: &#8220;it is amazing what can get done when no-one cares who gets the credit.&#8221; None of them are obsessed with getting their names on drafts, or with inventing something new that will change the world. They see problems, they develop solutions; that is all.</p>
<p>This, then, is what is right about the IETF. People who care about the challenges users have with networks, and have spent their lives finding solutions. So people are what&#8217;s wrong with the IETF, and people are also what&#8217;s right. The point?</p>
<p><strong>You can choose to participate in the IETF.</strong> In fact, I hope to see you at a future meeting. But if you choose to participate, be a part of the solution, rather than a part of the problem. Be someone who looks on the land rush with skepticism, who doesn&#8217;t care about getting their name on a draft, who just wants to help solve a problem that has been fairly explained and defined to the community. Don&#8217;t be afraid to work on small things, and to insist that solutions be small and well scoped, even if that means your name is not put up in lights.</p>
<p>Even better advice: carry this into all the communities in which you live in your life. We live in an age that values name recognition far too much, that worries too much about being left out of the latest gold rush, that worries too much about our &#8220;rightly deserved&#8221; fifteen minutes of fame. This goes far beyond network engineering, the ethos of the &#8220;old way&#8221; in the IETF. It&#8217;s a lesson we can all take away from this little community of engineers who have worked so hard across the years to build something on which we all rely every day&#8212;to the very formats of the packets which carry this screed to your computer screen, your email box, or however else you are reading it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/whats-wrong-with-the-ietf-and-whats-right/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8916</post-id>	</item>
		<item>
		<title>DFS and Low Points</title>
		<link>https://rule11.tech/dfs-and-low-points/</link>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 06 Mar 2018 18:00:55 +0000</pubDate>
				<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<category><![CDATA[WRITTEN]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=8858</guid>

					<description><![CDATA[On a recent history of networking episode, Alia talked a little about Maximally Redundant Trees (MRTs), and the concept of Depth First Search (DFS) numbering, along with the idea of a low point. While low points are quickly explained in my new book in the context of MRTs, I thought it worthwhile to revisit the&#8230;]]></description>
										<content:encoded><![CDATA[<p>On a recent <a href="https://thenetworkcollective.com/2018/02/hon-fastreroute/">history of networking episode,</a> Alia talked a little about <em>Maximally Redundant Trees</em> (MRTs), and the concept of <em>Depth First Search</em> (DFS) numbering, along with the idea of a <em>low point.</em> While low points are <a href="http://www.amazon.com/dp/1587145049?tag=riw777-20">quickly explained in my new book in the context of MRTs,</a> I thought it worthwhile to revisit the concept in a blog post. Take a look at the following network:</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/rule11.tech/wp-content/uploads/dfs-low-point.png?w=400&#038;ssl=1" alt=""  class="alignnone" /></p>
<p>On the left side is a small network with the nodes (think of these as routers) being labeled from A through G. On the right side is the same network, only each node has been numbered by traversing the graph, starting at A. This process, in a network, would either require some device which knows about every node and edge (link) in the network, or it would require a distributed algorithm that &#8220;walks&#8221; the network from one node to another, numbering each node as it is touched, and skipping any node that has already been visited (again, for more details on this, please see the book). </p>
<p>Once this numbering has been done, the numbers now produce this interesting property: <em>if you remove the parent of any node, and the node can still reach a number lower than its own number, the network is two-connected.</em> Take E, numbered as 5, as an example. E&#8217;s parent is D, labeled as 3 on the numbered side of the illustration. If you remove D from the network, what is the lowest numbered node E can reach? Start by jumping to the lowest numbered neighbor. In this case, E only has one neighbor remaining, C, which is numbered 6. From here, what is the lowest numbered neighbor of C? It is A, with a number of 1. </p>
<p>D, then, can reach a node which is numbered 1 through some other neighbor than its parent. This means D has some other path to the parent than through its parent, which means D is part of a topology with at least two connections to some other node in the network&#8212;it is <em>two connected.</em></p>
<p>Using this sort of calculation, you can find alternate paths in a network. The problem with using DFS numbering for this is what was stated above&#8212;the calculation requires either a &#8220;walk through the network&#8221; protocol, or it requires some device with a complete view of the network (an LSDB, in link state terms). Neither of these are really conducive to real time calculation during a topology change. MRT solves this by using low points from DFS numbering with Dijkstra&#8217;s SPF algorithm to allow the calculation of disjoint paths in near real time in a distributed control plane.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8858</post-id>	</item>
		<item>
		<title>SLAAC and DHCPv6</title>
		<link>https://rule11.tech/slaac-and-dhcpv6/</link>
					<comments>https://rule11.tech/slaac-and-dhcpv6/#comments</comments>
		
		<dc:creator><![CDATA[Russ]]></dc:creator>
		<pubDate>Tue, 05 Dec 2017 18:00:45 +0000</pubDate>
				<category><![CDATA[STANDARDS]]></category>
		<category><![CDATA[TECH]]></category>
		<guid isPermaLink="false">https://rule11.tech/?p=8493</guid>

					<description><![CDATA[When deploying IPv6, one of the fundamental questions the network engineer needs to ask is: DHCPv6, or SLAAC? As the argument between these two has reached almost political dimensions, perhaps a quick look at the positive and negative attributes of each solution are. Originally, the idea was that IPv6 addresses would be created using stateless&#8230;]]></description>
										<content:encoded><![CDATA[<p>When deploying IPv6, one of the fundamental questions the network engineer needs to ask is: DHCPv6, or SLAAC? As the argument between these two has reached almost political dimensions, perhaps a quick look at the positive and negative attributes of each solution are. Originally, the idea was that IPv6 addresses would be created using stateless configuration (SLAAC). The network parts of the address would be obtained by listening for a Router Advertisement (RA), and the host part would be built using a local (presumably unique) physical (MAC) address. In this way, a host can be connected to the network, and come up and run, without any manual configuration. Of course, there is still the problem of DNS—how should a host discover which server it should contact to resolve domain names? To resolve this part, the DHCPv6 protocol would be used. So in IPv6 configuration, as initially conceived, the information obtained from RA would be combined with DNS information from DHCPv6 to fully configure an IPv6 host when it is attached to the network.</p>
<p>There are several problems with this scheme, as you might expect. The most obvious is that most network operators do not want to deploy two protocols to solve a single problem—configuring IPv6 hosts. What might not be so obvious, however, is that many network operators care a great deal about whether hosts are configured statelessly or through a protocol like DHCPv6.</p>
<p>Why would an operator want stateful configuration? Primarily because they want to control which devices can receive an IPv6 address, and hence communicate with other devices on the network. When using DHCPv6, just like DHCP with IPv4, the operator can set parameters around what kinds of devices, or perhaps even which specific devices, will be able to receive an IPv6 address. Further, the DHCPv6 server can be tied to the DNS server, so each host which connects to the network can also be given a DNS entry. Proper DNS entries are often a requirement for many applications. There are Dynamic DNS (DDNS) implementations that can solve this problem, but they are not often considered secure enough for a controlled network environment.</p>
<p>Why would an operator want stateless autoconfiguration? First, because they want any random user who can successfully connect to the network to be able to get an IPv6 address without any other configuration, and without the provider needing run any sort of special protocol or configuration to allow this. In fact, DHCPv6, in some environments, at least, can be seen as an attack surface, or rather a hole through which attacks can potentially be driven. Second, stateful configuration also has a failover problem; if the DHCPv6 server fails, then hosts can no longer obtain an IPv6 address, and the network no longer works. This could be, to say the least, problematic for service providers. Finally, SLAAC has a set of <a href="https://datatracker.ietf.org/doc/rfc4941/">privacy extensions outlined in RFC4941</a> that (theoretically) prevent a host from being tracked based on its IPv6 address over time. This is a very attractive property for edge facing service providers.</p>
<p>The original set of drafts, however, only provided for DNS information to be carried through DHCPv6, and had no failover mechanism for DHCPv6. These two things, together, made it impossible to use just one of these two options. More recent work, however, has remedied both parts of this problem, making either option able to stand on its own. <a href="https://tools.ietf.org/html/rfc6106">RFC6106, which is a bit older (2010), provides for DNS advertisement in the RA protocol.</a> This allows an operator who would like to run everything completely stateless to do so, including hosts learning which DNS resolver to use. On the other side, <a href="https://datatracker.ietf.org/doc/rfc8156/">RFC8156, which was just ratified in July of 2017, allows a pair of DHCPv6 servers to act as a failover pair.</a> While this is more complex than simple DHCPv6, it does solve the problem of a host failing to operate correctly simply because the DHCPv6 server has failed.</p>
<p>Which of the two is now the best choice? If you do not have any requirement to restrict the hosts that can attach to the network using IPv6, then SLAAC, combined with DNS advertisement in the RA, and possibly with DDNS (if needed), would be the right choice. However, if the environment must be more secure, then DHCPv6 is likely to be the better solution.</p>
<p>A word of warning, though—using DHCPv6 to ensure each host received an IPv6 address that can be used anyplace in the network, and then stretching layer 2 to allow any host to roam &#8220;anywhere,&#8221; is really just not a good idea. I have worked on networks where this kind of thing has been taken to a global scale. It might seem cute at first, but this kind of solution will ultimately become a monster when it grows up.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://rule11.tech/slaac-and-dhcpv6/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8493</post-id>	</item>
	</channel>
</rss>
