/
on-usability-of-osi-layered-networking.html
32 lines (30 loc) · 6.2 KB
/
on-usability-of-osi-layered-networking.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
date: 2019-09-24T08:49:00.000+02:00
tags:
- networking fundamentals
- CLNP
title: On the Usability of OSI Layered Networking Model
url: /2019/09/on-usability-of-osi-layered-networking.html
---
<p>Two weeks ago I <a href="https://blog.ipspace.net/2019/09/response-osi-model-is-lie.html">replied to a battle-scar reaction to 7-layer OSI model</a>, this time I’ll address a <a href="https://rule11.tech/stop-using-osi/">much more nuanced view</a> from Russ White. Please read his article first (as always, it’s well worth reading) and when you come back we’ll focus on this claim:</p>
<blockquote class="cite"><p>The OSI Model does not accurately describe networks.</p>
</blockquote>
<p>Like with any tool in your toolbox, you can view the 7-layer OSI model in a number of ways. In the case of OSI model, it can be used:<!--more--></p>
<ul><li>As a <strong>framework</strong> describing what functionality needs to be present in an end-to-end networking solution;</li>
<li>As a <strong>recipe</strong> on how to build a networking stack;</li>
<li>As a particular <strong>implementation</strong> of that recipe including LLC on Ethernet, CLNP on network layer, TP4 on transport layer…</li>
<li>As the <strong>one true religion</strong></li>
<li>As a <strong>religious tool</strong> used to squash the infidels (= the ARPANET folks).</li>
</ul>
<p>I always viewed OSI model as a <strong>framework</strong>. As I explained in <a href="https://my.ipspace.net/bin/list?id=Net101#LAYERS">The Importance of Networking Layers</a> part of <a href="https://www.ipspace.net/How_Networks_Really_Work">How Networks Really Work</a> webinar, you have to implement at least these functions in an end-to-end networking stack:</p>
<div class="separator"><a href="/2019/09/s1600-Challenges-to-Solve.jpg" imageanchor="1"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="/2019/09/s640-Challenges-to-Solve.jpg" width="640"/></a></div>
<p>Trying to implement all that functionality in a <em>large bowl of spaghetti-with-meatballs</em> approach results in a nightmare. It’s much better to have an architecture where every layer in the architecture provides services to the layer above it while consuming services from the layer below it.</p>
<p>Having such an architecture allows you to group the functionality that needs to be implemented in manageable chunks. It also allows you to think about the optimal position of a particular function. For example, do you implement reliable transport on every hop, or do you use an end-to-end reliable transport protocol, or do you do a hybrid of both. As you probably know by now, there is no right answer. In this particular case, the best answer depends on the error rate of the underlying transmission medium.</p>
<p>From this perspective, I would view the OSI model (or an alternative, but I haven’t seen one yet) as an indispensable high-level tool for anyone who tries to understand how networking works.</p>
<div class="info" data-markdown="1">Please read the <a href="https://blog.ipspace.net/2019/09/response-osi-model-is-lie.html?showComment=1568125927441#c6658127076918961874">comments by Innokentiy</a> for a more nuanced view. </div>
<p>Unfortunately most critiques of the OSI model come from people who were either exposed to it when it was used as a religious tool, or from people who were exposed to the particular implementation I described above (or its connection-oriented alternative using CONS/X.25 instead of CNLP and TP0 instead of TP4).</p>
<p>Even that implementation wasn’t as bad as the critics would have you believe. It gave us IS-IS (probably the most versatile IGP out there) as well as concepts like “<em>per-host addressing</em>” instead of “<em>per-interface addressing</em>” that <a href="https://blog.ipspace.net/2010/12/clnp-and-multihoming-myths.html">would nicely solve a number of stupidities</a> we have to deal with today. Not surprisingly, we’re reinventing that particular wheel with <a href="https://blog.ipspace.net/2015/05/reinventing-clns-with-l3-only-forwarding.html">layer-3-only forwarding</a> and <a href="https://blog.ipspace.net/2017/09/coming-full-circle-on-ipv6-address.html">IPv6 prefixes assigned to container hosts</a>.</p>
<p>However, there is one serious omission in the OSI model (and I guess Russ and myself are in perfect agreement on this one) - the lack of recursive network layer, resulting in <a href="https://en.wikipedia.org/wiki/How_many_angels_can_dance_on_the_head_of_a_pin%3F">angels-dancing-on-a-pin</a> discussions of whether <a href="https://blog.ipspace.net/2011/10/mpls-is-not-tunneling.html">MPLS is tunneling or not</a>.</p>
<p>Internet Protocol (IP) was always designed to run across another subnetwork protocol (remember: the whole ARPANET was such a subnetwork), and that distinctive characteristic got lost in translation when someone collected various proven ideas and presented them as one-and-only solution (now I’m getting sarcastic, but you should be used to it by now). Some people <a href="http://csr.bu.edu/rina/KoreaNamingFund100218.pdf">never stopped explaining that</a> but as always nobody was listening, because everyone knew the right answer… and left us the mess we still have to deal with decades later.</p>
<p>Can we change the fundamental architecture of the Internet? Probably not. Can we make it perform better? Sure… and we can start by understanding the characteristics and limitations of current networking technologies - something I’m trying to explain in <a href="https://www.ipspace.net/How_Networks_Really_Work">How Networks Really Work</a> webinar. So far I got through <a href="https://my.ipspace.net/bin/list?id=Net101#FALLACIES">fallacies of distributed computing</a>, the <a href="https://my.ipspace.net/bin/list?id=Net101#CHALLENGES">challenges you have to solve no matter what</a>, and the <a href="https://my.ipspace.net/bin/list?id=Net101#LAYERS">importance of a layered model of networking</a>. More to come in late October 2019.</p>
<div class="info" data-markdown="1">Parts of the webinar are free and accessible with <a href="https://www.ipspace.net/Subscription/Free">Free ipSpace.net Subscription</a>. The whole webinar is part of <a href="https://www.ipspace.net/Subscription/">Standard ipSpace.net Subscription</a>. </div>