1
许多人认为,OSI参考模型所描述的架构是在计算时代的初始阶段形成的,并且
有助于提供许多(如果不是全部)网络互联技术指导。但是,这是不正确的观点。
事实上,OSI参考模型在1984年左右引入,而此时互联网的基础已经发展和实
现,基本的互联网协议已经使用很多年。传输控制协议/网际协议
(Transmission Control Protocol/Internet Protocol,TCP/IP)族实际上具有它
们自己的模型,今天我们学习和理解网络互联问题时还经常使用这些模型。
正如ISO标准7498-1所述,OSI参考模型提供了供应商、工程师、开发人员和其
他人使用的重要指南。这种模型将网络互联任务、协议和服务分为不同的层。
当两台计算机通过网络通信时,每一层都具有自己的职责。每一层都有特定的
功能,并且由那一层内工作的服务和协议来实现。
OSI模型的目的是帮助其他人开发出能在开放网络架构内工作的产品。开放网络
架构不为任何供应商所专有,而且能够很容易地集成不同的技术并提供这些技
术的实现。供应商将OSI模型当成跳板,以开发出他们自己的网络互联框架。这
些供应商以OSI模型为蓝本,并且开发他们自己的协议和服务,以实现与其他供
应商不同或重复的功能。然而,由于这些供应商以OSI为起点,因此与不同供应
商各自为政开始设计网络互联框架相比,集成不同供应商的产品要容易得多,
互操作性问题也不会很严重。
2
网络协议是决定系统如何在网络中通信的规则标准集。尽管本身有所不同,然
而两个不同系统之所以能够相互通信和理解,其原因在于它们使用了相同的协
议。这类似于两个人使用相同的语言就能相互交流和理解。
每一层上的协议都具有特定的职责、所执行的控制功能以及所期望的数据格式
语法。每一层都有一个特殊的接口(连接点),以允许它与其他3个层交互:
(1)与上一层的接口通信;(2)与下一层的接口通信;(3)与目标包地址接
口中的相同层通信。控制功能的形式为数据包的首部和尾部,由每一层上的协
议添加。
虽然计算机通信是物理的(电信号通过线缆从一台计算机传递到另一台计算
机),不过它们也通过逻辑通道来通信。特定OSI层上的每个协议与工作在另一
台计算机的相同OSI层上的对应协议进行通信。此时,通信通过封装来完成。
封装的工作过程如下:消息在一台计算机上的程序内构造,接着通过协议栈向
下传递。每一层上的协议都在消息中添加自己的信息,这样消息的大小在沿协
议栈往下传递的过程中会增大。随后,消息发送至目标计算机,封装的过程逆
转,数据包将被拆开,这与在源计算机中进行封装的步骤相同。在数据链路层,
只有与该层相关的信息会被抽取出来,接着消息发送至上面一层。接下来在网
络层,只有网络层数据被剥离和处理,数据包又发送至上面一层。这就是计算
机的逻辑通信方式。目标计算机剥离的信息会告诉它如何正确解释和处理这个
数据包。
3
应用层(application layer)是第七层,它工作在与用户最为接近的地方,提
供文件传输、消息交换、终端会话以及更多功能。这一层并不包括实际的应用,
但是包括支持这些应用的协议。当某个应用需要通过网络发送数据时,它就会
将指令和数据发送至在这一层上支持该应用的协议。这一层处理和适当格式化
数据,并继续向下传递至OSI模型内的下一层。应用层构造的数据包含了每一层
通过网络传送数据所需的关键信息之后才会向下传递。然后,数据传送到网络
线缆上,直至其到达目标计算机。
应用层上的协议处理文件传输、虚拟终端、网络管理以及执行应用程序的网络
请求。下面列出了在这个层上工作的一些协议:
● 文件传输协议(File Transfer Protocol,FTP)
● 普通文件传输协议(Trivial File Transfer Protocol,TFTP)
● 简单网络管理协议(Simple Network Management Protocol,SNMP)
● 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)
● Telnet
● 超文本传输协议(Hypertext Transfer Protocol,HTTP)
4