
A few things I've learned about computer networking - weinzierl
https://jvns.ca/blog/2018/03/05/things-ive-learned-networking/
======
ironjunkie
Good list indeed.

Networking is a weird animal in computer science. It is very historically
charged as it is all based on series of protocol that are designed to ensure
retrocompatibility.

The amount of knowledge and theory to know before being proficient on
networking layers is huge compared with the traditional API//Frontend//Backend
programming stunts.

Being really good at networking requires a ton of knowledge and a mind around
distributed systems and the ability to juggle around all layers.

------
emj
This is a good list, but consider many items on that list that requires
unencrypted traffic, those stillare usefull at the momemt but with https/http2
and DNScrypt lots of debugging tools that got me interested in the
intersection of networking and applications are useless.

It's hard to keep up with the current way to decrypt applications specific
traffic, unless that is your job, and I do not think this is going to get much
easier for amatuers anytime soon.

~~~
bjpbakker
> many items on that list that requires unencrypted traffic, those stillare
> usefull at the momemt but with https/http2

TLS is an encryption layer around the protocol (whether HTTP, IMAP, SMTP,
etc). It's still very useful (necessary IMO) to understand the protocol to
build an application on top of it. Whether or not traffic is tunneled through
TLS in production (and it should :)).

~~~
emj
Yes, but the tools become TLS inspection tools instead of general protocol
inspection tools.

------
josh2600
I would love to be a fly on the wall when the author starts to look at BGP.

------
mhuffman
Also would add mtr to the "tools" list.

------
sekh60
I think a nice addition would be familiarity with the OSI model. It can be
really useful having an understanding of it, at least a rough one, when
trouble shooting network issues.

~~~
oldandtired
This post seems to have been downvoted. Why?

Having a knowledge of the OSI model has been beneficial in all sorts of ways
since I was first exposed to it decades ago.

I have even used one implementation of it actively and in a commercial
environment. What we were able to do with at the time, made all other
networking protocols seem very primitive (including the tcp/ip set of
protocols and IBM's SNA).

It may have not survived in the long run, but there is no guarantees about any
system or product doing so. It is still worth understanding the basics of it
though.

[Edit for readability]

~~~
Const-me
> downvoted. Why?

Networks have changed a lot since 1983. The only good idea from that model is
“you can build a higher-level protocol on top of a lower level protocol”.
Nowadays software ate every level of the OSI model including physical layer,
and the idea of composing these layers is kinda obvious because that’s how
people design complex software.

> has been beneficial in all sorts of ways

Having a knowledge of the OSI model has been beneficial to me in only one way,
when someone asked me about it on a job interview.

> It is still worth understanding the basics of it though.

I know the basics, but I think that for younger people the OSI model is mostly
useless. There’s modern stuff to demonstrate that principle of composability
of protocols, e.g. websocket/http/tls (all of them are based on each other and
yet all are on the same OSI level 7).

