790 likes | 987 Views
第3章 计算机网络体系结构. 3.1 网络体系结构概述 3.2 OSI/RM 中的重要概念 3.3 物理层 3.4 数据链路层 3.5 网络层 3.6 公共数据网网络协议 X.25. 3.7 传输层 3.8 传输控制协议 TCP 3.9 会话层 3.10 表示层 3.11 应用层. 本章学习目标. l 了解开放系统互连参考模型中的若干重要概念 l 熟悉 OSI/RM 各层协议的功能及基本原理并掌握传输控制协议 TCP. 返回本章首页. 3.1 网络体系结构概述.
E N D
第3章 计算机网络体系结构 • 3.1 网络体系结构概述 • 3.2 OSI/RM中的重要概念 • 3.3 物理层 • 3.4 数据链路层 • 3.5 网络层 • 3.6 公共数据网网络协议X.25 3.7 传输层 3.8 传输控制协议TCP 3.9 会话层 3.10 表示层 3.11 应用层
本章学习目标 • l了解开放系统互连参考模型中的若干重要概念 • l熟悉OSI/RM各层协议的功能及基本原理并掌握传输控制协议TCP 返回本章首页
3.1 网络体系结构概述 • 1974年,美国IBM公司首先公布了世界上第一个计算机网络体系结构(SNA,System Network Architecture),凡是遵循SNA的网络设备都可以很方便地进行互连。 • 1977年3月,国际标准化组织ISO的技术委员会TC97成立了一个新的技术分委会SC16专门研究“开放系统互连”,并于1983年提出了开放系统互连参考模型,即著名的ISO 7498国际标准(我国相应的国家标准是GB 9387),记为OSI/RM。 返回本章首页
在OSI中采用了三级抽象:参考模型(即体系结构)、服务定义和协议规范(即协议规格说明),自上而下逐步求精。OSI/RM并不是一般的工业标准,而是一个为制定标准用的概念性框架。 • 经过各国专家的反复研究,在OSI/RM中,采用了如表3-1所示的7个层次的体系结构,表中对于各层主要功能的简略描述还是很粗浅的,更准确的概念将在以后的有关章节中给出。
表3-1 OSI/RM七层协议模型 返回本节
3.2 OSI/RM中的重要概念 • 3.2.1 协议和服务的区别及相互关系 • 3.2.2 服务访问点 • 3.2.3 数据单元 • 3.2.4 服务原语 • 3.2.5 OSI/RM特点分析 返回本章首页
3.2.1 协议和服务的区别及相互关系 • 在开放系统互连参考模型OSI/RM中采用了七层协议体系结构,除最高层和最低层以外的任何一层,均可记为(N),表示“第N层”。 • 在OSI/RM模型中,协议和服务是两个非常重要的不同概念。控制两个(N)层对等实体进行通信的规则的集合称为(N)协议;两个(N)层实体间的通信在(N)协议的控制下,能够使(N)层向上一层提供服务,这种服务就称为(N)服务,接受(N)服务的(N)层服务用户是(N+1)层实体。 • 上述关于协议和服务的基本概念及相互关系如图3-1所示。
图3-1 协议与服务的概念 返回本节
3.2.2 服务访问点 • 服务访问点(SAP,Service Access Point)是指同一系统中相邻两层实体之间进行交换信息之处,即(N)层实体和(N+1)层实体之间的逻辑接口,也称为插口(Socket)或端口(Port)。一个(N)层服务是由一个(N)层实体作用在一个(N)层SAP上来完成的,虽然两层之间可以允许有多个SAP,但一个(N)层SAP只能被一个(N)层实体所使用,并且也只能为一个(N+1)层实体所使用;但一个(N)层实体却可以向多个(N)层SAP提供服务,这称为连接复用;一个(N+1)层实体也可以使用多个(N)层SAP,这称为连接分裂。 返回本节
3.2.3 数据单元 • (1)协议数据单元 • (2)接口数据单元 • (3)服务数据单元
图3-2 协议数据单元PDU、接口数据单元IDU和服务数据单元SDU 返回本节
3.2.4 服务原语 • 服务原语(Service Primitive)是指服务用户与服务提供者之间进行交互时所要交换的一些必要信息。OSI/RM规定了四种服务原语类型,如表3-2所示。
从使用服务原语的角度考虑,可将服务分为需要证实的服务和不需要证实的服务两大类,前者每次服务要使用全部四种服务原语,而后者只使用两种服务原语,如图3-3所示 返回本节
3.2.5 OSI/RM特点分析 • OSI/RM的概念比较抽象,它并没有规定具体的实现方法和措施,更未对网络的性能提出具体的要求,它只是一个为制定标准用的概念性框架。OSI/RM七层协议模型上、下大,中间小,这是因为最高层要和各种类型的应用进程接口,而最低层要和各种类型的网络接口,因此上、下两头标准特别多,而中间几层标准就稍简单些。有些层的任务过于繁重,如数据链路层和网络层,有些层的任务又太轻,如会话层和表示层。 返回本节
3.3 物理层 • 3.3.1 DTE和DCE • 3.3.2 EIA-232-D/V.24接口标准 • 3.3.3 RS-449/V.35的信号定义 返回本章首页
3.3.1 DTE和DCE 图3-4 DTE通过DCE与通信传输线路相连 返回本节
3.3.2 EIA-232-D/V.24接口标准 • (1)机械特性:EIA-232-D遵循ISO 2110关于插头座的标准,使用25根引脚的DB-25插头座,它的两个固定螺丝中心之间的距离为47.040.17 mm,其他方面的尺寸也都有详细的规定,DTE上安装带插针的公共接头连接器,DCE上安装带插孔的母接头连接器,其引脚编号如图3-5所示,引脚分为上、下两排,分别有13根和12根引脚,当引脚指向人的方向时,从左到右其编号分别为1~13和14~25。
(3)功能特性:EIA-232-D的功能特性与CCITT的V.24建议书一致。它规定了什么电路应当连接到25根引脚中的哪一根以及该引脚信号线的作用。图3-6画的是最常用的10根引脚信号线的作用,其余的一些引脚可以空着不用。在某些情况下,可以只用图3-6中的9根引脚(振铃指示RI信号线不用),这就是常见的9针COM1串行鼠标接口。(3)功能特性:EIA-232-D的功能特性与CCITT的V.24建议书一致。它规定了什么电路应当连接到25根引脚中的哪一根以及该引脚信号线的作用。图3-6画的是最常用的10根引脚信号线的作用,其余的一些引脚可以空着不用。在某些情况下,可以只用图3-6中的9根引脚(振铃指示RI信号线不用),这就是常见的9针COM1串行鼠标接口。
(4)规程特性:EIA-232-D的规程特性也与CCITT的V.24建议书一致,可用下例简单说明。(4)规程特性:EIA-232-D的规程特性也与CCITT的V.24建议书一致,可用下例简单说明。 • 假设有一台计算机DTE通过调制解调器DCE及电话线路与远端的终端DTE建立呼叫并进行半双工通信,待数据传送完毕以后,释放呼叫。 • 其整个过程 略。 返回本节
3.3.3 RS-449/V.35的信号定义 • RS-449实际上由下列三个接口标准组成: • (1)RS-449:规定了接口的机械特性、功能特性和规程特性。 • (2)RS-423-A:规定了在采用非平衡传输时(此时所有电路共用一个公共地)的电气特性,它采用单端输出和差分输入电路。 • (3)RS-422-A:规定了在采用平衡传输时(此时所有电路没有公共地)的电气特性,它采用双端差分输出、差分输入,这时信号传输线不和地线发生关系。
3.4 数据链路层 • 3.4.1 数据链路层的基本概念 • 3.4.2 具有最简单流量控制的数据链路层协议 • 3.4.3 滑动窗口协议 • 3.4.4 高级数据链路控制HDLC 返回本章首页
3.4.1 数据链路层的基本概念 • 数据链路层的主要作用是:通过一些数据链路层协议和链路控制规程,在不太可靠的物理链路上实现可靠的数据传输。“线路(Line)”、“链路(Link)”和“数据链路”是不同的概念。线路中间没有任何交换节点,而链路是一条无源的端到端的物理线路段,在进行数据通信时,两台计算机之间的通信链路往往是由许多线路串接而成。把实现控制数据传输的一些规程的硬件和软件加到链路上就构成了像数据管道一样的数据链路。有时往往将链路称为物理链路,而将数据链路称为逻辑链路,即物理链路加上必要的通信规程就是数据链路。 返回本节
3.4.2 具有最简单流量控制的数据链路层协议 • 为了使收方的接收缓冲区在任何情况下都不会溢出,最简单的方法是发方从主机每取一个数据块,就将其送到数据链路层的发送缓冲区中发送出去,然后等待;收方收到数据帧后,将其放入数据链路层的接收缓冲区并交付给主机,同时回应一信息给发送节点表示数据帧已经上交给主机,接收任务已经完成;发方收到由接收站点发过来的双方事先商定好的信息,则从主机取下一个新的数据帧再发送。在这种情况下,收方的接收缓冲区的大小只要能够装得下一个数据帧即可,这就是最简单最基本的停止-等待(Stop-and-Wait)协议。 返回本节
3.4.3 滑动窗口协议 • 图3-8(a)画出了刚开始发送时的情况。这时,在扇形的发送窗口内共有5个序号,从0号到4号,具有这些序号的数据帧就是发送端现在可以发送的帧。若发送端发完了这5个帧仍未收到确认信息,由于发送窗口已填满,就必须停止发送而进入等待状态。当0号帧的确认信息ACK收到后,发送窗口就沿顺时针方向旋转1个号,使窗口后沿再次与一个未被确认的帧号相邻(如图3-8(b)所示)。由于这时5号帧的位置已经落入发送窗口之内,因此,发送端现在就可以发送这个5号帧。设以后又有1至3号帧的确认帧到达发送端,于是发送窗口再沿顺时针方向向前旋转3个号(如图3-8(c)所示),相应地发送端可以继续发送的数据帧的发送序号是6号、7号和0号。
图3-9(a)表示一开始接收窗口处于0号帧处,接收端准备接收0号帧。0号帧一旦收到,接收窗口就沿顺时针方向向前旋转1个号(图3-9(b)),准备接收1号帧,同时向发送端发送对0号帧的确认信息。 • 当陆续收到1号、2号和3号帧时,接收窗口的位置应如图3-9(c)所示的那样。
图3-9 接收窗口WR的意义 返回本节
3.4.4 高级数据链路控制HDLC • 信息字段的头尾各加上24bit的控制信息,就构成了一个完整的HDLC数据帧。其结构如图3-10所示。 图3-10 HDLC数据帧结构
(1)帧校验序列(FCS,Frame Check Sequence)字段共16bit。 • (2)地址字段A为8bit。在使用非平衡配置方式传输数据时,地址字段一般写入次站的地址,但在平衡方式时,地址字段总是填入应答站的地址。 • (3)控制字段C共8bit,是最复杂的字段。根据其前面两个比特取值的不同,可将HDLC数据帧划分为三大类,即信息帧I(Information)、监督帧S(Supervisory)和无编号帧U(Unnumbered)。 返回本节
3.5 网络层 • 3.5.1 面向连接服务 • 3.5.2 无连接服务 • 3.5.3 虚电路服务与数据报服务 返回本章首页
3.5.1 面向连接服务 • 连接是指两个对等实体之间为进行数据通信而进行的一种结合。面向连接服务就是在数据交换之前,必须先建立连接,当数据交换结束后,则应该终止这个连接。通常面向连接服务是一种可靠的报文序列服务,在建立连接之后,每个用户都可以发送可变长度的报文,这些报文按顺序发送给远端的用户,报文的接收也是按顺序的。 • 由于面向连接服务和线路交换的许多特性相似,因此面向连接服务在网络层中又称为虚电路服务。 返回本节
3.5.2 无连接服务 • (1)数据报(Datagram):特点是发完了就算,而不需要接收端做任何响应。 • (2)证实交付(Confirmed Delivery):是一种可靠的数据报服务。 • (3)请求回答(Request Reply):这种类型的数据报服务是收端用户每收到一个报文,就向发端用户发送一个应答报文。 返回本节
3.5.3 虚电路服务与数据报服务 • 虚电路与存储转发这一概念相联系。当我们在采用线路交换的电话网上打电话时,在通话期间,我们自始至终地占用一条端到端的物理线路。但我们占用一条虚电路进行计算机通信时,由于采用的是存储转发分组交换,所以只是断续地占用一段又一段的链路,感觉好像是占用了一条端到端的物理线路。 • 数据报服务则不同,由于数据报服务没有建立虚电路的过程,而每一个发出的分组都携带了完整的目的站的地址信息,因而每一个分组都可以独立地选择路由。 • 表3-3归纳了虚电路服务与数据报服务的一些主要区别。
表3-3 虚电路与数据报的对比 返回本节
3.6 公共数据网网络协议X.25 • 3.6.1 X.25产生背景及其层次结构 • 3.6.2 X.25设备和协议的工作原理 • 3.6.3 X.25分组层 返回本章首页
3.6.1 X.25产生背景及其层次结构 • X.25是ITU-T制定的WAN通信协议标准,常用于公用载波分组交换网络中,它定义了用户设备与网络设备之间的连接是如何建立和维护的。X.25在OSI/RM出现之前就制定了,在OSI和CCITT的共同努力下,X.25与OSI/RM的下三层可以对应起来,只是第三层叫做“分组层”,物理层建议采用X.21bis,数据链路层采用平衡型链路接入规程LAP B的异步平衡模式ABM,在分组层中,DTE与DCE之间可以建立多条逻辑信道(0~4095)。 返回本节
3.6.2 X.25设备和协议的工作原理 • 分组装拆器(PAD,Packet Assembler/Disassembler)是X.25中的常用设备。当DTE设备太简单而不能完全实现X.25的功能时(如字符终端),就会用到PAD,PAD位于DTE设备与DCE设备之间,主要实现三种功能,即缓冲、数据的打包和拆包。 • X.25虚电路分为交换式虚电路和永久虚电路两类。交换式虚电路SVC是为突发性数据传输建立的临时连接,它要求两个DTE设备在每次通信时都要建立这个连接,当通信结束后,如果电路两端的DTE设备都不再发送其他数据,则终止这个会话连接;永久虚电路PVC是为经常和持续的数据传输建立的永久性连接,它不要求建立和终止会话连接,会话连接总是处于活动状态,DTE设备可以随时传输数据。 返回本节
3.6.3 X.25分组层 • 在使用虚电路方式工作时,整个的通信过程可分为呼叫建立阶段、数据传送阶段和虚电路释放阶段。其中呼叫建立阶段的过程大致如下: • (1)主叫DTE向其DCE发送一个呼叫请求分组(Call Request) • (2)网络选择合适的路由将呼叫请求分组传送到被叫DCE。 • (3)被叫DCE在收到呼叫请求分组之后,就向被叫DTE发一个呼入分组(Incoming Call),此分组的格式与呼叫请求分组一样,只是换了一个虚电路号。
(4)被叫DTE若接受呼叫,则发出呼叫接受分组(Call Accepted),其逻辑信道号与呼叫分组的相同。 • (5)呼叫建立时的路由将呼叫接受分组传到主叫DCE。 • (6)主叫DCE向主叫DTE发送呼叫接通分组(Call Connected),表示呼叫建立阶段已经结束。此时所用的逻辑信道号与呼叫请求分组所用的一样。 返回本节
3.7 传输层 • 3.7.1 传输层在OSI/RM中的作用 • 3.7.2 传输协议的分类 • 3.7.3 传输服务 返回本章首页
3.7.1 传输层在OSI/RM中的作用 • 传输层的作用是从端到端经网络透明地传送报文,完成端到端通信链路的建立、维护和管理。所谓端到端就是从进程到进程。传输层向高层用户屏蔽了下面通信子网的细节,使高层用户看不见实现通信功能的物理链路是什么,看不见数据链路采用什么控制规程,也看不见下面到底有几个子网以及这些子网是怎样互连起来的。 返回本节
3.7.2 传输协议的分类 • 网络的服务质量大致有三种类型: • (1)A型:网络连接具有可接受的低差错率和可接受的低故障通知率。 • (2)B型:网络连接具有可接受的低差错率和不可接受的高故障通知率。 • (3)C型:网络连接对传输层服务用户来说具有不可接受的高差错率。 返回本节
3.7.3 传输服务 • 传输连接建立的四个服务原语及参数如下: • lT-CONNECT. request(被叫地址,主叫地址,加速数据选择,服务质量,用户数据) • lT-CONNECT. indication(参数同上) • lT-CONNECT. response(服务质量,相应地址,加速数据选择,用户数据) • lT-CONNECT. confirm(服务质量,相应地址,加速数据选择,用户数据)
传输连接释放的服务原语和参数: • T-DISCONNECT. request(用户数据) • T-DISCONNECT. indication(释放原因,用户数据) • T-CLOSE. Request • T-CLOSE. indication 返回本节
3.8 传输控制协议TCP • 3.8.1 TCP/IP基本概念 • 3.8.2 TCP报文段格式 • 3.8.3 IP分组格式 返回本章首页
3.8.1 TCP/IP基本概念 • TCP/IP(Transmission Control Protocol/Internet Protocol)是国际互联网络事实上的工业标准,ARPANET最初设计的TCP称为网络控制程序NCP,在上面传送的数据单位是报文(Message),实际上就是现在的TPDU。随着ARPANET逐渐变成了Internet,子网的可靠性也就下降了,于是NCP就演变成了今天的TCP。与TCP配合使用的网络层协议是IP。图3-11为TCP/IP与相应的OSI/RM的简单对比。