第3章 网络体系结构 与网络协议
本章学习要求: 掌握:协议、层次、接口与网络体系结构的概念 掌握:网络体系结构的层次化研究方法 掌握:OSI参考模型及各层的基本功能 掌握:TCP/IP参考模型及各层的基本功能 了解:OSI参考模型与TCP/IP参考模型的比较
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中的“开放”是指只要遵循OSI标准,一个系统就可以与位于世界任何地方、同样遵循同一标准的其它任何系统进行通信; OSI标准采用三级抽象: 体系结构(architecture) 服务定义(service definition) 协议说明(protocol specification)
体系结构 开放系统的层次结构、层次之间的相互关系,以及各层所包括的可能的服务; 作为一个框架来协调和组织各层协议的制定; 对网络内部结构最精炼地概括与描述。
服务定义 详细说明各层提供的服务; 某层的服务是该层及其以下各层的一种能力; 低层的服务通过接口向上一层提供; 各层提供的服务与这些服务是如何实现无关; 定义各层之间的接口与各层使用的原语,但不涉及接口的具体实现。
3.2.2 OSI参考模型的结构 网络中的所有结点都具有相同的层次; 不同结点的同等层具有相同功能; 同一结点内相邻层之间通过接口通信; 每层可使用下层提供的服务,并向其上层提供服务; 不同结点的同等层通过协议实现对等层之间的通信。
OSI参考模型的结构
3.2.3 OSI参考模型各层的功能 物理层(Physical Layer) 数据链路层(Data Link Layer) 网络层(Network Layer) 传输层(Transport Layer) 会话层(Session Layer) 表示层(Presentation Layer) 应用层(Application Layer)
物理层的主要功能 利用传输介质为通信的网络结点之间建立、管理和释放物理连接; 实现比特流的透明传输,为数据链路层提供数据传输服务; 物理层的数据传输单元是比特。
数据链路层的主要功能 在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接; 传输以“帧”为单位的数据包; 采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
网络层的主要功能 通过路由选择算法为分组通过通信子网选择最适当的路径; 为数据在结点之间传输创建逻辑链路; 实现拥塞控制、网络互连等功能。
传输层的主要功能 向用户提供可靠端到端(end-to-end)服务; 处理数据包错误、数据包次序,以及其他的关键传输问题; 传输层向高层屏蔽下层数据通信的细节,是计算机通信体系结构中关键的一层。
会话层的主要功能 负责维护两个结点之间的传输链接,以便确保点-点传输不中断; 管理两个结点之间的数据交换。
表示层的主要功能 用于处理在两个通信系统中交换信息的表示方式; 数据格式变换; 数据加密与解密; 数据压缩与恢复。
应用层的主要功能 为应用程序提供网络服务; 应用层要识别并保证通信对方的可用性,使协同工作的应用程序之间同步; 建立传输错误纠正与保证数据完整性的控制机制。
3.2.4 OSI环境中的数据传输过程
OSI环境中的数据流
3.3 TCP/IP参考模型
3.3.1 TCP/IP参考模型的发展 在TCP/IP协议研究时,并没有提出参考模型; 1974年,Kahn定义最早的TCP/IP参考模型; 20世纪80年代,Leiner、Clark等人对TCP/IP参考模型进一步研究; TCP/IP协议一共出现6个版本,后3个版本是版本4、版本5与版本6; 我们目前使用的是版本4,通常称为IPv4 ; IPv6被称为下一代的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,Transport Control Protocol )是一种可靠的面向连接协议; 用户数据报协议(UDP,User Datagram Protocol )是一种不可靠的无连接协议。
应用层 网络终端协议(Telnet) 文件传输协议(FTP,File Transfer Protocol) 简单邮件传输协议(SMTP,Simple Mail Transfer Protocol ) 域名系统(DNS,Domain Name System) 简单网络管理协议(SNMP,Simple Network Management Protocol) 超文本传输协议(HTTP,Hyper Text Transfer Protocol )
TCP/IP协议栈
3.4 OSI参考模型与TCP/IP 参考模型的比较
3.4.1 对OSI参考模型的评价 层次数量与内容选择不是很好,会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多子层; OSI参考模型将“服务”与“协议”的定义结合,使参考模型变得复杂、实现困难; 寻址、流量控制与差错控制在每层重复出现,降低系统效率; 数据安全、加密与网络管理在模型设计初期被忽略; 参考模型的设计更多被通信的思想支配,不适合于计算机与软件的工作方式; 严格按照层次模型编程的软件效率很低。
3.4.2 对TCP/IP参考模型评价 在服务、接口与协议的区别上不很清楚,一个好的软件工程应将功能与实现方法区分开,参考模型不适于其它非TCP/IP协议族; TCP/IP参考模型的主机-网络层不是实际的一层; 物理层与数据链路层的划分是必要和合理的, 但是TCP/IP参考模型却没做到这点。
3.4.3 一种建议的参考模型
3.5 小结
网络协议是为网络中的数据交换而制定的规则、约定与标准; 计算机网络体系结构是网络层次结构模型与各层协议的集合; OSI参考模型定义开放系统的层次结构、层次之间的关系,以及各层可能包括的服务,对推动网络协议标准化的研究起重要作用; TCP/IP协议与参考模型抓住有利时机,伴随Internet发展而成为目前公认的工业标准。