计算机网络教程 (第三版)
第3章 网络体系结构 与网络协议
本章学习要求: 掌握:协议、层次、接口与网络体系结构的基本概念 掌握:网络体系结构的层次化研究方法 掌握:OSI参考模型及各层的基本服务功能 掌握:TCP/IP参考模型的层次划分、各层的基本服务 功能与协议族 了解:OSI参考模型与TCP/IP参考模型的比较
3.1 网络体系结构的基本概念 网络协议是为网络数据交换而制定的规则、约定与标准; 网络协议的三要素:语义、语法与时序; 3.1 网络体系结构的基本概念 网络协议是为网络数据交换而制定的规则、约定与标准; 网络协议的三要素:语义、语法与时序; 语义:用于解释比特流的每一部分的意义; 语法:语法是用户数据与控制信息的结构与格 式,以及数据出现的顺序的意义; 时序:事件实现顺序的详细说明。
社会上存在的邮政系统
协议、层次、接口与体系结构的概念 层次(layer) 协议(protocol) 接口(interface) 体系结构(architecture)
层次(layer) 层次是人们对复杂问题处理的基本方法; 将总体要实现的很多功能分配在不同层次中; 对每个层次要完成的服务及服务要求都有明确规定; 不同的系统分成相同的层次; 不同系统的最低层之间存在着“物理”通信; 不同系统的对等层次之间存在着“虚拟”通信; 对不同系统的对等层之间的通信有明确的通信规定; 高层使用低层提供的服务时,并不需要知道低层服务的具体实现方法。
接口(interface) 接口是同一结点内相邻层之间交换信息的连接点; 同一个结点的相邻层之间存在着明确规定的接口,低层向高层通过接口提供服务; 只要接口条件不变、低层功能不变,低层功能的具体实现方法与技术的变化不会影响整个系统的工作。
网络体系结构(network architecture) 一个功能完备的计算机网络需要制定一整套复杂的协议集; 网络协议是按层次结构来组织的; 网络层次结构模型与各层协议的集合称为网络体系结构; 网络体系结构对计算机网络应该实现的功能进行了精确的定义; 体系结构是抽象的,而实现是指能够运行的一些硬件和软件。
3.2 OSI参考模型 3.2.1 OSI参考模型的基本概念 在制定计算机网络标准方面,起着很大作用的两大国际组织是: 国际电报与电话咨询委员会(CCITT) 国际标准化组织(ISO) CCITT与ISO的工作领域不同: CCITT 主要是考虑通信标准的制定;ISO主要是考虑信息处理与网络体系结构。
在OSI中 的“开放”是指只要遵循OSI标准,一个系统就可以与位于世界上任何地方、同样遵循同一标准的其它任何系统进行通信; 体系结构(architecture) 服务定义(service definition) 协议说明(protocol specification)
体系结构 开放系统的层次结构、层次之间的相互关系及各层所包括的可能的服务; 作为一个框架来协调和组织各层协议的制定; 对网络内部结构最精炼地概括与描述。
服务定义 详细地说明了各层所提供的服务; 某一层的服务就是该层及其以下各层的一种能力; 低层的服务是通过接口向上一层提供的; 各层所提供的服务与这些服务是如何实现的无关; 定义了层与层之间的接口与各层使用的原语,但不涉及接口是具体实现的。
3.2.2 OSI参考模型的结构 ISO划分七层结构的基本原则: 网中各结点都具有相同的层次; 不同结点的同等层具有相同的功能; 同一结点内相邻层之间通过接口通信; 每层可以使用下层提供的服务,并向其上层提供服务; 不同结点的同等层通过协议来实现对等层之间的通信。
OSI参考模型的结构
3.2.3 OSI参考模型各层的功能 物理层的主要功能: 利用传输介质为通信的网络结点之间建立、管理和释放物理连接; 实现比特流的透明传输,为数据链路层提供数据传输服务; 物理层的数据传输单元是比特。
数据链路层的主要功能: 在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接; 传输以“帧”为单位的数据包; 采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。 网络层的主要功能: 通过路由选择算法为分组通过通信子网选择最适当的路径; 为数据在结点之间传输创建逻辑链路; 实现拥塞控制、网络互连等功能。
传输层的主要功能: 向用户提供可靠端到端(end-to-end)服务; 处理数据包错误、数据包次序,以及其他一些关键传输问题; 传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中关键的一层。 会话层的主要功能: 负责维护两个结点之间的传输链接,以便确保点-点传输不中断; 管理数据交换。
表示层的主要功能: 用于处理在两个通信系统中交换信息的表示方式; 数据格式变换; 数据加密与解密; 数据压缩与恢复。 应用层的主要功能: 为应用程序提供了网络服务; 应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步; 建立传输错误纠正与保证数据完整性的控制机制。
3.2.4 OSI环境中的数据传输过程 OSI环境(OSI environment)
OSI环境中的数据流
3.3 TCP/IP参考模型 3.3.1 TCP/IP参考模型的发展 在TCP/IP协议研究时,并没有提出参考模型; 1974年Kahn定义了最早的TCP/IP参考模型; 80年代Leiner、Clark等人对TCP/IP参考模型进一步的研究; TCP/IP协议一共出现了6个版本,后3个版本是版本4、版本5与版本6; 目前我们使用的是版本4,一般被称为IPv4 ; IPv6被称为下一代的IP协议。
TCP/IP协议的特点 开放的协议标准; 独立于特定的计算机硬件与操作系统; 独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互连网中; 统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有唯一的地址; 标准化的高层协议,可以提供多种可靠的用户服务。
3.3.2 TCP/IP参考模型各层的功能 应用层(application layer) 传输层(transport layer) 互连层(internet layer) 主机-网络层(host-to-network layer)
TCP/IP 参考模型与 OSI 参考模型的对应关系
主机-网络层 TCP/IP参考模型的最低层,负责通过网络发送和接收IP数据报; 允许主机连入网络时使用多种现成的与流行的协议,例如局域网的Ethernet、令牌网、分组交换网的X.25、帧中继、ATM协议等; 当一种物理网被用作传送IP数据包的通道时,就可以认为是这一层的内容; 充分体现出TCP/IP协议的兼容性与适应性,它也为TCP/IP的成功奠定了基础。
互连层 相当OSI参考模型网络层无连接网络服务; 处理互连的路由选择、流控与拥塞问题; IP协议是一种无连接的、提供“尽力而为”服务的网络层协议。
传输层 主要功能是在互连网中源主机与目的主机的对等实体间建立用于会话的端-端连接; 传输控制协议TCP是一种可靠的面向连接协议; 用户数据报协议UDP是一种不可靠的无连接协议。
应用层 网络终端协议Telnet 文件传输协议FTP 简单邮件传输协议SMTP 域名系统DNS 简单网络管理协议SNMP 超文本传输协议HTTP
TCP/IP协议栈
3.4 OSI参考模型与TCP/IP参考模型的比较 层次数量与内容选择不是很好,会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多的子层插入; OSI 参考模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,实现困难; 寻址、流控与差错控制在每一层里都重复出现,降低系统效率; 数据安全性、加密与网络管理在参考模型的设计初期被忽略了; 参考模型的设计更多是被通信的思想所支配,不适合于计算机与软件的工作方式; 严格按照层次模型编程的软件效率很低。
3.4.2 对TCP/IP参考模型评价 在服务、接口与协议的区别上不很清楚,一个好的软件工程应该将功能与实现方法区分开,参考模型不适合于其它非TCP/IP协议族; TCP/IP参考模型的主机-网络层本身并不是实际的一层; 物理层与数据链路层的划分是必要和合理的, 但是TCP/IP参考模型却没有做到这点。
3.4.3 一种建议的参考模型
3.5 小结 网络体系结构与网络协议是网络技术中两个最基本的概念; 为网络数据交换而制定的规则、约定与标准被称为网络协议; 3.5 小结 网络体系结构与网络协议是网络技术中两个最基本的概念; 为网络数据交换而制定的规则、约定与标准被称为网络协议; 网络层次结构模型与各层协议的集合定义为计算机网络体系结构; OSI参考模型定义了开放系统的层次结构、层次之间的相互关系及各层可能包括的服务,对推动网络协议标准化的研究起到重要的作用; TCP/IP参考模型与协议利用正确的策略,抓住了有利的时机,伴随着Internet的发展而成为目前公认的工业标准。