首页 百科知识 模型和/协议栈

模型和/协议栈

时间:2022-02-19 百科知识 版权反馈
【摘要】:1.1 OSI模型和TCP/IP协议栈OSI参考模型的全称是开放系统互联参考模型,它是由国际标准化组织提出的一种网络系统互连模型。在现实网络世界中,TCP/IP协议栈获得了更为广泛的应用。我们将某个主机上运行的某种协议的集合称为协议栈。主机正是利用这个协议栈来接收和发送数据的。OSI参考模型通过将协议栈划分为不同的层次,可以简化问题的分析、处理过程以及网络系统设计的复杂性。

1.1 OSI模型和TCP/IP协议栈

OSI参考模型(OSI/RM)的全称是开放系统互联参考模型(Open System Interconnection Reference Model,OSI/RM),它是由国际标准化组织(ISO)提出的一种网络系统互连模型。

1.1.1 OSI参考模型

谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但对于我们理解网络协议内部的运作很有帮助,也为学习网络协议提供了一个很好的参考。在现实网络世界中,TCP/IP协议栈获得了更为广泛的应用。

OSI参考模型采用分层结构,如表1-1所示。

表1-1 OSI参考模型

在OSI七层模型中,每一层都为其上一层提供服务,并为其上一层提供一个访问接口或界面。不同主机之间的相同层次被称为对等层,如主机A中的表示层和主机B中的表示层互为对等层,主机A中的会话层和主机B中的会话层互为对等层等。

对等层之间互相通信时需要遵守一定的规则,如通信的内容、通信的方式,我们将其称为协议(Protocol)。我们将某个主机上运行的某种协议的集合称为协议栈。主机正是利用这个协议栈来接收和发送数据的。

OSI参考模型通过将协议栈划分为不同的层次,可以简化问题的分析、处理过程以及网络系统设计的复杂性。

OSI参考模型的提出是为了解决不同厂商、不同结构的网络产品之间互联时遇到的不兼容问题,但是该模型的复杂性阻碍了其在计算机网络领域的实际应用。与此对应,后面我们还将学习TCP/IP参考模型,以获得非常广泛的应用———实际上,这也是目前因特网范围内运行的唯一一种协议。

1)物理层(Physical Layer)

物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。在这一层,数据的单位称为比特(bit)。

属于物理层定义的典型规范包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。物理层是OSI的第一层,它处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

(1)物理层媒体

物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备是指DTE和DCE间的互连设备。DTE即数据终端设备,又称物理设备,如计算机、终端等都包含在内。而DCE则是数据通信设备或称电路连接设备,如调制解调器等。数据传输通常是经过DTE─DCE,再经过DCE─DTE的路径。互连设备是指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆,T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。

(2)主要功能

为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成。一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接等。所谓激活,就是指不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路传输数据。物理层要形成适合数据传输需要的实体,为数据传送服务。即:一是要保证数据能在其上正确通过,二是要提供足够的带宽(指每秒能通过的比特数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要。此外,还需完成物理层的一些管理工作。

(3)物理层的重要标准

物理层的一些标准和协议早在OSI/TC97/C16分技术委员会成立之前就已制订并在应用了,OSI也制订了一些标准并采用了一些已有的成果。

下面将一些重要的标准列出,以便读者查阅。

ISO2110:称为“数据通信———25芯DTE/DCE接口连接器和插针分配”。它与EIA(美国电子工业协会)的“RS-232-C”标准基本兼容。

ISO2593:称为“数据通信———34芯DTE/DCE接口连接器和插针分配”。

ISO4092:称为“数据通信———37芯DTE/DEC接口连接器和插针分配”。与EIA的RS-449标准兼容。

CCITT V.24:称为“数据终端设备(DTE)和数据电路连接设备之间的接口电路定义表”。其功能与EIA的RS-232-C及RS-449标准兼容于100序列线上。

2)数据链路层(Data Link Layer)

数据链路层在不可靠的物理介质上提供可靠的传输。在这一层中,数据的单位称为帧(Frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接。媒体是长期的,连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或多次数据通信。每次通信都要经过建立通信联络和拆除通信联络两个过程。这种建立起来的数据收发关系就叫做数据链路。而在物理媒体上传输的数据难免会受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。数据链路的建立、拆除,对数据的检错、纠错是数据链路层的基本任务。

(1)链路层的主要功能

链路层的主要功能为网络层提供数据传送服务,这种服务要依靠本层具备的功能来实现。链路层应具备以下功能:

链路连接的建立、拆除、分离。

帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何都必须对帧进行定界。

顺序控制,指对帧的收发顺序的控制。

差错检测和恢复。差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号进行检测。各种错误的恢复则常依靠反馈重发技术来完成。

该层的作用包括物理地址寻址、数据的成帧、流量控制、数据的检错与重发等。

(2)数据链路层的主要协议

数据链路层协议是为发送对等实体间保持一致而制订的,也是为了顺利完成对网络层的服务。主要协议如下:

ISO 1745—1975:称为“数据通信系统的基本型控制规程”。这是一种面向字符的标准,利用10个控制字符完成链路的建立、拆除及数据交换。对帧的收发情况及差错恢复也是靠这些字符来完成的。

ISO 1155,ISO 1177,ISO 2626,ISO 2629等标准的配合使用可形成多种链路控制和数据传输方式。

ISO 3309—1984:称为“HDLC帧结构”。

ISO 4335—1984:称为“HDLC规程要素”。

PMA=物理媒体连接

MAU=媒体连接单元 PLS=物理命令

MDI=媒体相关接口

图1-1 IEEE 802.3LAN体系结构

ISO 7809—1984:称为“HDLC规程类型汇编”。这三个标准都是为面向比特的数据传输控制而制订的。有人习惯上把它们称为高级链路控制规程。

ISO 7776:称为“DTE数据链路层规程”。与CCITT X.25LAB“平衡型链路访问规程”相兼容。

(3)链路层产品

独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于链路层,对此还颇有争议。数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给网络层。

在IEEE 802.3标准下,数据链路层可分为两个子层,一个是逻辑链路控制,另一个是媒体访问控制。如图1-1所示为IEEE 802.3LAN体系结构。

3)网络层(Network Layer)

网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。在这一层中,数据的单位被称为数据包(Packet)。网络层协议的代表包括IP、IPX、RIP、OSPF等。

网络层的产生也是网络发展的结果。在联机系统和线路交换的环境中,网络层的功能没有太大的意义。当数据终端增多时,它们之间有中继设备相连,此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫做寻径。此外,当一条物理信道建立之后,被一对用户所使用,往往有许多空闲时间被浪费掉,人们自然会希望让多对用户共用一条链路。为解决这一问题,就出现了逻辑信道技术和虚拟电路技术。

(1)网络层主要功能

网络层为建立网络连接和为上层提供服务,应具备以下主要功能:路由选择和中继,激活、终止网络连接,差错检测与恢复排序,流量控制,服务选择,网络管理等。

(2)网络层标准简介

网络层的一些主要标准如下:

ISO.DIS8208:称为“DTE用的X.25分组级协议”。

ISO.DIS8348:称为“CO网络服务定义”(面向连接)。

ISO.DIS8349:称为“CL网络服务定义”(面向无连接)。

ISO.DIS8473:称为“CL网络协议”。

ISO.DIS8348:称为“网络层寻址”。

除上述标准外,还有许多标准。这些标准都只是解决了网络层的部分功能,所以往往需要在网络层中同时使用几个标准才能完成整个网络层的功能。由于面对的网络不同,网络层将会采用不同的标准组合。在具有开放特性的网络中的数据终端设备,都要配置网络层的功能。现在市场上销售的网络硬件设备主要有网关和路由器。

4)传输层(Transport Layer)

传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。在这一层中,数据的单位称为数据段(Segment)。传输层协议的代表包括TCP、UDP、SPX等。

传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。

(1)传输层的功能

传输层也称为运输层,传输层只存在于端开放系统中,是介于低三层通信子网系统和高三层之间的一层,但也是很重要的一层。因为它是源端到目的端对数据传送进行控制从低到高的最后一层。

有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟,通信费用等各不相同。

此外传输层还要具备差错恢复、流量控制等功能,并以此对会话层屏蔽通信子网在这些方面的细节与差异。传输层面对的数据对象已不是网络地址和主机地址,而是会话层的界面端口。上述功能的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段等三个阶段,只有这样才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成五种类型,基本可以满足对传送质量、传送速度、传送费用的各种不同需要。

(2)传输层的协议标准

ISO8072:称为“面向连接的传输服务定义”。

ISO8072:称为“面向连接的传输协议规范”。

5)会话层(Session Layer)

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。会话层协议的代表包括:NetBIOS、ZIP(AppleTalk区域信息协议)等。

会话层提供的服务包括应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送较大的文件极为重要。会话层,表示层,应用层构成开放系统的高三层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等。会话层同样需要担负应用进程服务要求,而对运输层不能完成的工作,则给以弥补。其主要的功能是对话管理、数据流同步和重新同步。要完成这些功能,需要有大量的服务单元功能组合,目前已经制订的功能单元已有几十种。

会话层功能包括为会话实体间建立连接。给两个对等会话服务用户建立一个会话连接,应该执行如下几项工作:

·将会话地址映射为运输地址;

·选择需要的运输服务质量参数(QoS);

·对会话参数进行协商;

·识别各个会话连接;

·传送有限的透明用户数据。

(1)数据传输阶段

这个阶段是在两个会话用户之间实现有组织的,同步的数据传输,用户数据单元为SSDU,而协议数据单元为SPDU,会话用户之间的数据传送过程是将SSDU转变成SPDU进行的。

(2)连接释放

连接释放是通过“有序释放”、“废弃”、“有限量透明用户数据传送”等功能单元来释放会话连接的。

会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其他国际标准参考和引用,定义了12种功能单元。各个系统可根据自身情况和需要,以核心功能服务单元为基础,选配其他功能单元组成合理的会话服务子集。

会话层的主要标准有“DIS8236:会话服务定义”和“DIS8237:会话协议规范”。

6)表示层(Presentation Layer)

表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。

表示层协议的代表包括ASCII、ASN.1、JPEG、MPEG等。

7)应用层(Application Layer)

应用层为操作系统或网络应用程序提供访问网络服务的接口。

应用层协议的代表包括Telnet、FTP、HTTP、SNMP等。

1.1.2 OSI参考模型中的数据封装与解封装过程

1)数据封装过程

如图1-2所示,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(Application Header,AH),形成应用层协议数据单元(Protocol Data Unit,PDU),然后被递交到下一层———表示层。

图1-2 OSI参考模型中的数据封装过程

表示层并不“关心”上层———应用层的数据格式,而是把整个应用层递交的数据包看成是一个整体进行封装,即加上表示层的报头(Presentation Header,PH)。然后,递交到下一层———会话层。

同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交来的数据加上各自的报头。它们是:会话层报头(Session Header,SH)、传输层报头(Transport Header,TH)、网络层报头(Network Header,NH)和数据链路层报头(Data link Header,DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(Data link Termination,DT)以形成最终的一帧数据。

当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层将它递交到上一层———数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到上一层———网络层。

同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。

1.1.3 TCP/IP参考模型

ISO制订的参考模型过于庞大、复杂,招致了许多批评。与此对应,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。如图1-3所示,是TCP/IP参考模型和OSI参考模型的对比示意图

图1-3 TCP/IP参考模型

1)TCP/IP参考模型的层次结构

TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型。ARPANET是由美国国防部(U.S.Department of Defense,DoD)赞助的研究网络。最初,它只连接了美国境内的四所大学。在随后的几年中,它通过租用的电话线连接了数百所大学和政府部门。最终ARPANET发展成为全球规模最大的互连网络———因特网。最初的ARPANET于1990年永久性关闭。TCP/IP参考模型分为四个层次:应用层、传输层、网络互连层和主机到网络层。如图1-4所示。

图1-4 TCP/IP参考模型的层次结构

(1)主机到网络层

又称为网络接口层,实际上TCP/IP参考模型没有真正描述这一层的实现,只是其能够提供给上层———网络互连层一个访问接口,以便在其上层传递IP分组。由于该层未被定义,所以其具体的实现方法将随着网络类型的不同而不同。网络接口层只是一个接口,主要取决于所接入的局域网。

(2)网络互连层

又称为网络层,网络互连层是整个TCP/IP协议栈的核心。它的功能是将分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。网络互连层除了需要完成路由的功能外,还需要完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。

(3)传输层

在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol)。

TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责将上层传送来的字节流分成报文段并传递给下层。在接收端,它负责将收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。

UDP协议是一个不可靠的无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。

(4)应用层

TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。

应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),也有基于UDP协议的,如简单网络管理协议(SNMP)。

在TCP/IP参考模型中,如果除去OSI参考模型中的会话层和表示层(该两层的功能被合并到应用层实现),同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。

2)TCP/IP协议体系的协议分布

应用层:各种应用程序相关协议,如FTP、SMTP、HTTP、DNS、TELNET等。

运输层:有TCP和UDP两个协议。TCP提供面向连接、有服务质量保证的可靠传输服务;UDP提供无连接、无服务质量保证的不可靠传输服务。

网络层:主要有IP、ICMP、ARP、RARP协议等。

网络接口层:只是一个接口,主要取决于所接入的局域网。

1.1.4 OSI/RM与TCP/IP模型的比较

1)OSI/RM的形成

(1)异构网络互联的问题

计算机网络的体系结构(Architecture)是计算机网络各层及其协议的集合。众多的网络供应商提供了不同种类的网络,各种网络的设备、协议等均不相同,造成了各个网络之间无法互通。

(2)OSI/RM的推出

从1960年代诞生计算机网络以来,经过十几年的无序发展,1982年国际标准化组织推出了OSI参考模型。只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循同一标准的其他任何系统进行通信。

①在市场化方面:OSI的专家们在完成OSI标准时没有商业驱动力;OSI的协议实现起来过分复杂,且运行效率很低;OSI标准的制订周期过长,因而使得按OSI标准生产的设备无法及时进入市场;OSI的层次划分也不太合理,有些功能在多个层次中重复出现。

②法律上的国际标准OSI并没有得到市场的认可,使非国际标准的TCP/IP协议却获得了最广泛的应用。TCP/IP协议常被认为是事实上的国际标准。

2)OSI/RM层次结构

网络分层的必要性:相互通信的两个计算机系统之间必须高度协调工作,而这种“协调”是相当复杂的。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理。

3)划分层次的优点

各层之间是独立的,且灵活性好,结构上可分割开,易于实现和维护,并能促进标准化工作。若层数较少,就会使每一层的协议太复杂;层数较多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。

计算机网络中的数据交换必须遵守事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。为进行网络中的数据交换而建立的规则、标准或约定即网络协议(Network Protocol),简称为协议。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈