本人在“极客时间”上购买了一套“趣谈网络协议”的课程,本文为该课程前两节(第1讲 | 为什么要学习网络协议? 第2讲 | 网络分层的真实含义是什么?)的课程笔记。
1.网络协议
1)协议三要素
-
语法,就是这一段内容要符合一定的规则和格式。例如,括号要成对,结束要使用分号等。
-
语义,就是这一段内容要代表某种意义。例如数字减去数字是有意义的,数字减去文本一般来说就没有意义。
-
顺序,就是先干啥,后干啥。例如,可以先加上某个数值,然后再减去某个数值。

2.网络分层的真正含义
1)复杂的程序都要分层,这是程序设计的要求。
2)只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可绝对不可能有上层没下层。

3)对 TCP 协议来说,三次握手也好,重试也好,只要想发出去包,就要有 IP 层和 MAC 层,不然是发不出去的。
4)层与层之间的关系:所有不能表示出层层封装含义的比喻,都是不恰当的。总经理握手,不需要员工在吧,总经理之间谈什么,不需要员工参与吧,但是网络世界不是这样的。正确的应该是,总经理之间沟通的时候,经理将总经理放在自己兜里,然后组长把经理放自己兜里,员工把组长放自己兜里,像套娃娃一样。那员工直接沟通,不带上总经理,就不恰当了。
网友评论