7.1 本章目标
- 了解网络协议的概念
- 了解网络体系结构
- 熟悉ISO/OSI参考模型以及每一层的功能
- 掌握TCP/IP模型各层的主要协议及其功能
- 熟练掌握IP地址、子网规划等相关内容
7.2 网络协议的概念
7.2.1 概念介绍
(1)网络协议:计算机网络和分布系统中相互通信的对等实体之间交换信息时必须遵守的规则的集合。(这个概念更好)
(2)网络体系结构:指通信系统的整体设计方法,是计算机之间相互通信的层次、以及各层中的协议和层次之间接口的集合,它为网络硬件、软件、协议、存取控制和网络拓扑提供标准。
(3)SNA:IBM公司独立开发的适合于自己公司的网络体系结构,System Network Architecture
(4)DNA:DEC公司独立开发的适合于自己公司的网络体系结构,Data Network Architecture
(5)OSI/RM:由ISO(国际标准化组织)统一规定的互联网参考模型, Open System Interconnection Reference Model (开放系统互连参考模型)
(6)注:看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
(7)个人理解:日常生活中各行各业都有自己的体系结构,例如公司有自己的体系结构:有董事长、副董事长、总经理等,军队也有自己的体系结构:军长、师长、团长、营长等;。而在网络的世界中也有自己的体系结构:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。每层有每层的任务,下层为上层提供服务(将网络的体系结构和日常生活中的体系结构联系起来,更好理解)。网络协议:对等实体之间交换信息时必须遵守的规则的集合。例如军长与军长之间交流时,有必须遵守的规则,同理应用层与应用层通信时,也有必须遵守的规则。
7.2.2 网络协议著名例子
计算机网络的协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。例如,两个朋友在电话中约会好,下午3时在某公园门口碰头,并且约定“不见不散”。’这就是一个很不科学的协议,因为任何一方临时有急事来不了而又无法通知对方时(如对方的电话或手机都无法接通),则另一方按照协议就必须永远等待下去。因此,看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
下面是一个有关网络协议的非常著名的例子。
【例】占据东、西两个山顶的蓝军1和蓝军2与驻扎在山谷的白军作战。其力量对比是:单独的蓝军1或蓝军2打不过白军,但蓝军1和蓝军2协同作战则可战胜白军。现蓝军1拟于次日正午向白军发起攻击。于是用计算机发送电文给蓝军2。但通信线路很不好,电文出错或丢失的可能性较大(没有电话可使用)。因此要求收到电文的友军必须送回一个确认电文。但此确认电文也可能出错或丢失。试问能否设计出一种协议使得蓝军1和蓝军2能够实现协同作战因而一定(即100%而不是99.999…%)取得胜利?
【解】:
蓝军1先发送:“拟于明日正午向白军发起攻击。请协同作战和确认。”
假定蓝军2收到电文后发回了确认。
然而现在蓝军1和蓝军2都不敢下决心进攻。因为,蓝军2不知道此确认电文对方是否正确地收到了。如未正确收到,则蓝军1必定不敢冒然进攻。在此情况下,自己单方面发起进攻就肯定要失败。因此,必须等待蓝军1发送“对迫丛的确认”。
假定蓝军2收到了蓝军1发来的确认。但蓝军1同样关心自己发出的确认是否己被对方正确地收到。因此还要等待蓝军2的“对亚丛鲍亚丛的确认”。
这样无限循环下去,蓝军1和蓝军2都始终无法确定自己最后发出的电文对方是否已经收到。因此,在本例题给出的条件下,没有一种协议可以使蓝军1和蓝军2能够100%地确保胜利。这个例子告诉我们,看似非常简单的协议,设计起来要考虑的问题还是比较多的。
7.3 ISO/OSI七层参考模型的理解
7.3.1 简介
- Open System Interconnection,简称ISO/OSI RM
- 是一个逻辑结构,并非一个具体的计算机设备或网络
- 任何两个遵守协议的标准的系统都可以互连通信
- 描述的是通信软件的结构
- ISO(国际标准化组织)
- ISO是一个代表了130个国家的标准组织的集体,它的总部设在瑞士的日内瓦。ISO的目标是制定国际技术标准以促进全球信息交换和无障碍贸易。
- ISO的权威性不仅限于信息处理和通信工业,它还适用于纺织品业、包装业、货物分发、能源生产和利用、造船业,以及银行业务和金融服务。事实上,在ISO的大约12,000个标准中,仅有大约500个应用于计算机相关的产品和功能中。国际电子与电气工程标准是由一个相似的国际标准组织IEC(国际电子技术协会)单独制定的。ISO所有的信息技术标准设计与IEC相一致。 - 只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。
- 在市场化方面OSI却失败了
- OSI的专家们在完成OSI标准时没有商业驱动力
- OSI的协议实现起来过分复杂,且运行效率很低
- OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场
- OSI的层次划分并也不太合理,有些功能在多个层次中重复出现
7.3.2 分层的概念
- 计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”,这种结构化设计方法是工程中常见的手段
7.3.3 相邻两层之间的关系
相邻两层之间的关系:在服务提供者的上层实体又称为服务用户,因为它使用下层服务提供者所提供的服务。
-
实体
- 当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词。
- 实体表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。 -
协议
- 协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
- 协议的语法方面规则定义了所交换的信息的格式。
- 协议的语义方面规则定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。
- 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
- 协议是水平的,即协议是控制对等实体之间通信的规则。 -
服务
- 服务是垂直的,即服务是由下层向上层通过层间接口提供的。
- 并非在一个层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才能称为服务。
- 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。 -
服务访问点
- 在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP(Service Access Point)。
- 服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件),但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。
- OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),它可以与PDU不一样,例如,可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。 -
服务原语
- 用户和协议实体间的接口,实际上是一段程序代码,但其具有不可分割性。通过服务原语能实现服务用户和服务提供者间的交流,与协议不同的是,服务原语用于服务提供者与服务用户,而协议是用于服务用户之间的通信。
- 在同一开放系统中,(N+1)层实体向N层实体请求服务时,服务用户和服务提供者之间要进行交互,交互信息称为服务原语。服务原语由服务动作和原语类型两部分组成。
- 四种基本原语:(1)请求(Request) 用户实体要求服务做某项工作 源(N+1)层实体—>源(N)实体;(2)指示(Indication) 用户实体被告知某事件发生目的(N)实体—>目的(N+1)层实体;(3)响应(Response) 用户实体表示对某事件的响应目的(N+1)层实体—>目的(N)实体;(4)确认(Confirm) 用户实体收到关于它的请求的答复源(N)实体—>源(N+1)层实体。
7.4 OSI七层模型功能详解
- 应用层、表示层、会话层——资源子网,三层偏软件;传输层——承上启下;网络层、数据链路层、物理层——通信子网,三层偏硬件
- 应用层主要功能:应用程序、应用协议,提供应用程序运行环境,负责管理和执行应用程序。应用程序的开发需要遵循应用协议。
- 表示层主要功能:为数据在传输之前对加密、解密、压缩、解压缩及终端数据格式转换提供一套规则和约定。
- 会话层主要功能:对对话的双方进行资格审查和验证的规则以及在数据流中插入“同步点”。
- 传输层主要功能:负责端-端(进程间)完整报文传输;分段与重组;SAP寻址(确保将完整报文提交给正确进程,如端口号);连接管理(TCP的三段式握手);流量控制;差错控制。
- 网络层主要功能:负责源主机到目的主机数据分组交付;逻辑寻址(全局唯一逻辑地址,确保数据分组被送达目的主机,如ip地址);路由与分组转发。
- 数据链路层主要功能:负责结点-结点数据传输;组帧(如何将数据组装成帧,帧是本层的传输单位);差错控制(检测并重传损坏或丢失帧,并避免重复帧);流量控制(避免淹没接受端,控制数据率);物理寻址(在帧头中增加发送端和/或接收端的物理地址标识数据帧的发送端和/或接收端);访问(接入)控制(在任意时刻决定哪个设备拥有链路(物理介质)控制使用权)。
- 物理层主要功能:物理层包括设备之间物理连接的接口和用户设备与网络终端设备之间的传输规则;数据率;比特同步(时钟同步);传输模式(单工,半双工,全双工);比特编码。
- 机械特性:规定了物理连接时对插头和插座的几何尺寸、插针或插孔芯数及排列方式。
- 电气特性:规定了信号状态的电压、电流的识别,最大传输速率等。
- 功能特性:规定了接口信号的来源、作用及其他信号之间的关系。
- 过程特性:规定了使用交换电路进行数据交换的控制步骤,这些控制步骤应用便于比特流传输得以顺利完成。
7.5 OSI七层模型工作过程详解
7.5.1 应用层
7.5.2 表示层
7.5.3 会话层
7.5.4 传输层
7.5.5 网络层
7.5.6 数据链路层
7.5.7 物理层
7.5.8 总结
7.6 OSI七层模型的使用