1.3 分层网络模型
1.3.1 为什么是分层模型
数据是由用户借助于应用程序产生的。我们要与家人和朋友进行语音通话、视频通话,要发送产品资料、方案、合同草稿给商业伙伴,不管音频流、视频流,还是文本、图片,在通过计算机处理和传输前都要先转化成数字数据。单纯的数字数据是不会自己跑到家人、朋友和商业伙伴那里的,需要对它进行封装,添加一些标识信息和控制信息。标识信息用来标记数据的类型、接收端与发送端,以及传输方式等。通信双方需要建立通信会话,基于通信会话才能收发数据,封装的控制信息就是供会话协议建立通信会话使用的。被封装后的数据形成一个个的数据报(Segment)、数据包(Packet)、数据帧(Frame)等。我们对数据标识封装和会话控制的方法或规则进行标准化,于是就形成了协议(Protocol)。负责会话控制的协议被称为信令协议,负责数据标识封装的协议称为标识协议或封装协议,负责数据转发算路的协议称为路由选择协议。因为应用的种类实在太多,不同的应用产生的数据也不一样,所以对应的标识和控制的方法也就不同,这就需要定义各种各样的协议与之相对应:有区分不同应用的协议,有标识不同数据类型的协议,有建立、维护、拆除会话的协议,有标识接收端和发送端的协议,有针对不同传输介质提供相应的介质访问控制方法的协议,有对数字数据进行编/解码的协议,有定义数据传输介质属性和介质接口形式的协议,等等。
数据通信网络是一个复杂系统,人类处理复杂系统的办法就是“分而治之”。具体来说就是分工与协作。将数据通信网络这一复杂系统划分成不同的功能层,即大功能模块,再将大功能模块分为不同的小功能模块。每一个小功能模块实现复杂系统中的一部分功能,将所有的小功能模块联系在一起,就实现了整个复杂系统的功能。我们之所以把大功能模块称为功能层,主要是因为这些大功能模块之间具有层次化的调用关系。这就是分层思想的根源,其最根本目的是实现复杂系统的功能。