分层的意义
当遇到一个复杂问题的时候,可以使用分层的思想把问题简单化
比如,你有半杯82年的可乐,想分享给你的朋友王富贵,但你们已经10年没有联系了。要完成这件事,你可能要考虑:
-
我用什么装可乐?
可能的方案:塑料瓶、玻璃瓶、煤气罐
-
怎么保证可乐始终处于低温?
可能的方案:保温杯、小冰箱、冰盒
-
如何保证可乐不被运输的人偷喝?
可能的方案:封条、在上面写「毒药」
-
如何获取王富贵的地址?
可能的方案:报案失踪、联系私人侦探、联系物流公司的朋友
-
如何运输?
可能的方案:自行车、汽车、火车、高铁、飞机、火箭
这就形成了一个分层结构
从常理出发,我们可以得出以下结论:
- 每层相对独立,只需解决自己的问题
- 每层无须考虑上层的交付,仅需把自己的结果交给下层即可
- 每层有多种方案可供选择,选择不同的方案不会对上下层造成影响
- 每一层会在上一层的基础上增加一些额外信息
五层网络模型
数据的封装和解封装
四层、五层、七层
面试题
说说网络的五层模型(寺库)
参考答案:
从上到下分别为:应用层、传输层、网络层、数据链路层、物理层。在发送消息时,消息从上到下进行打包,每一层会在上一层基础上加包,而接受消息时,从下到上进行解包,最终得到原始信息。
其中:
应用层主要面向互联网中的应用场景,比如网页、邮件、文件中心等等,它的代表协议有 http、smtp、pop3、ftp、DNS 等等
传输层主要面向传输过程,比如 TCP 协议是为了保证可靠的传输,而 UDP 协议则是一种无连接的广播,它们提供了不同的传输方式
网络层主要解决如何定位目标以及如何寻找最优路径的问题,比如 IP 等等
数据链路层的作用是将数据在一个子网(广播域)内有效传输,MAC地址、交换机都是属于该层的
物理层是要解决二进制数据到信号之间的互转问题,集线器、双绞线、同轴电缆等都是属于盖层的设备