分层各做各的,网络的层
想象寄一封信。文字写在信纸上,信纸装进信封,信封上写地址,再放进邮筐。不是一个人一次做完,而是分成了步骤。网络也一样,分成层来做事。
为什么要分层
像前面看到的,
我的消息要经过好几个站才送到。
可就这一次传送,
要做的事也真不少。
装上内容,
保证不丢、不乱顺序,
贴上送往哪里的地址,
再把它变成真正的信号。
要把这些都揉成一团来做,
太复杂,很容易乱套。
点一下左边的一团。要做的事缠在一起。像右边那样分层,每件事就清楚了。
一团东西碰都不敢碰。
改一处,
不相干的地方也跟着晃。
可一旦分了层,
每层只管自己的事。
贴地址的层不用知道内容是什么,
变信号的层也不用知道地址。
所以就算改了一层,
别的层照样好好的。
这是分层的第一个理由。
一层层包起来
发送时,把消息一层层包起来。
先在信纸上写内容。
把那张信纸装进内信封。
内信封再装进外信封,
外信封上写地址。
最后把它放进邮筐。
邮筐就是 0 和 1 的真信号。
里面的内容保持不动,
只在外面一层层地加。
这样包起来,就叫封装。
每按一次就多包一层。信纸 → 内信封 → 外信封 → 邮筐。这就是封装。
全包好后,
从外面只看得见邮筐。
里面装着什么内容,
外面的信号不必知道。
只要把 0 和 1 运过去就行。
反过来,信纸
也不在乎地址是什么。
每一层只管自己那份。
那么下面就看看,
每一层各管什么事。
每层只做自己的事
四层各管的事不一样。
信纸管内容。
你想说什么。
内信封管正确。
是否都到齐、按顺序、没有漏。
外信封管地址。
送到哪里去。
邮筐管信号。
把 0 和 1 放到真实的线和电波上。
一层层点点看。只有那一层管的事会清楚地亮起来。内容 · 正确 · 地址 · 信号。
有意思的是,
一层不用知道隔壁层的里面。
地址层不用知道内容
是问候还是照片。
信号层也不在乎上面
是什么地址。
各自守好自己那格,
整体就顺顺当当地转。
那么接收一方
怎么把这些层解开呢?
收到后反过来剥开
到达的一方反过来解。
按包起来的相反顺序。
先从邮筐里取出来。
把 0 和 1 重新聚成那叠信封。
接着剥掉外信封。
地址用过了,就撕下来。
再剥掉内信封,
确认是否都到齐、没有漏。
最后展开信纸,
发信人的消息就原样出来了。
每按一次就从外面剥一层。邮筐 → 外信封 → 内信封 → 信纸(消息到达)。
把层都剥完,
最初写的消息原封不动。
挺神奇吧。
发信方包起来的顺序,
收信方正好反过来解开。
所以里面的内容
一路上都不会被动。
因为同一层之间遵守同样的约定。
多亏这个约定,
世上任何机器之间都能说得通。
来理一理
归成一句话,是这样。
网络不是一次把所有事都做完,
而是分层,每层只做自己的事。
发送时,从信纸到邮筐
一层层包起来。这就是封装。
接收时反过来,
从外面一层层剥,直到拿到消息。
每层都守同样的约定,
所以再复杂的事也又简单又结实地运转。
依次点要点回顾一下。(分层 → 发送时包起来(封装) → 每层只做自己的事 → 接收时反过来剥)
学会了分层、包起来、剥开,
现在又好奇一件事。
外信封上写的那个地址,
究竟长什么样,
又怎么指向世上独一无二的一处呢?
下一讲,我们一起看看
那个地址到底是什么。