4.1 OSI模型
学习OSI模型是重要的。你随便拿到的网络书或网络方面的文章,都会涉及OSI模型的。
OSI模型详细规定了网络需要实现的功能、实现这些功能的方法、以及通讯报文包的格式。所有教科书都会介绍OSI模型。同样,几乎所有教科书对OSI模型的介绍都是在讨论它对网络功能的描述。
我们也是一样,通过对OSI对网络要实现的所有功能的描述来了解这个模型。
OSI模型把网络功能分成7大类,并从顶到底如图4.1按层次排列起来。这种倒金字塔型的结构正好描述了数据发送前,在发送主机中被加工的的过程。待发送的数据首先被应用层的程序加工,然后下放到下面一层继续加工。最后,数据被装配成数据帧,发送到网线上。
OSI的7层协议是自下向上编号的,比如第4层是传输层。当我们说:“出错重发是传输层的功能”时,我们也可以说:“出错重发是第四层的功能”。
当需要把一个数据文件发往另外一个主机之前,这个数据要经历这7层协议的每一层的加工。例如我们要把一封邮件发往服务器,当我们在Outlook软件中编辑完成,按发送键后,Outlook软件就会把我们的邮件交给第7层中根据POP3或SMTP协议编写的程序。POP3或SMTP程序按自己的协议整理数据格式,然后发给下面层的某个程序。每个层的程序(除了物理层,它是硬件电路和网线,不再加工数据)也都会对数据格式做一些加工,还会用报头的形式增加一些信息。例如我们知道传输层的TCP程序会把目标端口地址加到TCP报头中;网络层的IP程序会把目标IP地址加到IP报头中;链路层的802.3程序会把目标MAC地址装配到帧报头中。经过加工后的数据以帧的形式交给物理层,物理层的电路再以位流的形式发数据发送到网络中。
接收方主机的过程是相反的。物理层接收到数据后,以相反的顺序遍历OSI的所有层,使接收方收到这个电子邮件。
我们需要了解到,数据在发送主机沿第7层向下传输的时候,每一层都会给它加上自己的报头。在接收方主机,每一层都会阅读对应的报头,拆除自己层的报头把数据传送给上一层。
下面我们用表的形式概述OSI在7层中规定的网络功能:
ISO在OSI模型中描述各个层的网络功能中,术语相当准确,但是太抽象。读者可以暂不在意上表的内容。实际上要了解网络通讯原理,主要是了解第7、4、3、2、1层的功能和实现方法。OSI的第7、4、3层在TCP/IP协议中都有对应的层,我们在那里详细讨论。对于第2、1层,IEEE提供的802标准有具体的实现,我们在本章的第3.3节予以详细讨论。
待读者阅读完本章后续两节:TCP/IP协议和IEEE标准后,再回来看上表,就可以理解OSI对7层协议的描述了。我们现在需要做的只是记住各层的名字。
各省软考办 | ||||||||||