计算机网络为什么分层?
由于在实际的计算机网络中,两个实体之间的通信情况非常复为了降低通信协议实现的复杂性,而将整个网络的通信功能划分为多个层次(分层描述),每层各自完一定的任务,而且功能相对独立,这样实现起来较容易。
每一层专注于自己的事情,达到解耦合。
在计算机网络中,每一层的协议负责的工作都是不一样的,也就对应有了不同设备来处理(二层设备、三层设备)。同时,对下层的变化进行封装,这里有必要理解深刻一点。物理层只关心 0 和 1 是如何传输的,而对他们所表达的内容毫不关心;往上一层,数据链路层只关心数据帧是否准确地送到了对应MAC地址的目的主机,而不关心是通过光纤也好,同轴电缆也好,wifi也好,只要目的主机收到的数据帧没错就ok;继续往上,同理。
计算机网络分层的好处?
各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。
当某层提供的服务不再需要时,甚至可以将这层取消。