第一章 OSI参考模型和TCPIP协议体系[下学期]

文档属性

名称 第一章 OSI参考模型和TCPIP协议体系[下学期]
格式 rar
文件大小 551.5KB
资源类型 教案
版本资源 通用版
科目 信息技术(信息科技)
更新时间 2006-11-14 10:12:00

图片预览

文档简介

(共72张PPT)
计算机网络课件
课程内容简介
计算机网络的体系结构(OSI/RM和TCP/IP)
数据通信基础
计算机局域网络原理及其实现技术
计算机广域网络原理及其实现技术
互联网络及Internet原理及其实现技术
网络管理与网络安全理论
课程学习方法
总原则:课堂讲授、课外自学与上机实践相结合
课堂讲授:基础理论的学习与部析
课外自学:阅读参考书目及相关理论和实践方面的文章
上机实践:分析网络解决方案,组建实验型局域网并与Internet互联,编程实现网络通信。
所需先行知识
熟悉一种操作系统(Windows、Unix或Linux)
熟悉一门编程语言(C语言或汇编语言)
了解数据结构相关知识
了解计算机体系结构相关知识
了解数据通信相关理论
第一章 OSI参考模型和TCP/IP协议体系
1.1 协议的分层结构
1.2 OSI参考模型
1.2.1 模型结构
1.2.2 协议层
1.2.3 服务定义
1.2.4 协议描述
1.2.4.1 PDU定义 1.2.4.2 协议操作
1.2.4.3 协议描述方法
第一章 OSI参考模型和TCP/IP协议体系
1.3 TCP/IP协议体系
1.4 一个基于OSI的修改模型
第一章 OSI参考模型和TCP/IP协议体系
计算机网络的产生
产生的原因:资源共享与数据交换的要求。
产生的基础:是计算机技术与通信技术相结合的产物。
 (1)通信网络为计算机之间的数据传递和交换提供了必要的手段;
 (2)数字计算技术的发展渗透到通信技术中,又提高了通信网络的各种性能。
第一章 OSI参考模型和TCP/IP协议体系
计算机网络的发展过程
1、具有通信功能的单机系统(终端-计算机网络):将一台计算机经通信线路与若干台终端直接相连,如下图所示。美国20世纪50年代的半自动地面防空系统(SAGE)就属于该类网络。它把远距离的雷达和其它测量控制设备的信号通过通信线路送到一台旋风计算机进行处理和控制,首次实现了计算机技术与通信技术的结合。
H
T
T
T
T
H-HOST,主计算机
T-终端
第一章 OSI参考模型和TCP/IP协议体系
缺点:(1)终端增多时,HOST负担重,效率下降;
   (2)每一终端要一线路,费用高
2、具有通信功能的多机系统:为减轻承担数据处理的中心计算机的负载,在通信线路和中心计算机之间设置了一个前端处理机FEP (Front End Processor)或通信控制器CCP(Communication Control Processor ),专门负责与终端之间的通信控制,从而出现了数据处理和通信控制的分工,更好地发挥了主计算机的数据处理能力。另外,在终端较集中处设置集中器(Concentrator),它首先通过低速线路将附近群集的终端连至集中器,然后通过高速通信线路与远程中心计算机的前端机相连,如下图所示。
第一章 OSI参考模型和TCP/IP协议体系
H
CCP

T
T
T
T
  实例:20世纪60年代初,美国建成了全国性航空公司飞机票系统(SABRE),它用一台主计算机连接遍布全国各地的2000多个终端。
3、计算机-计算机网络:即计算机网络,20世纪60年代中期发展了由若干计算机互联的系统,即利用通信线路将多台计算机连接起来,开始了计算机-计算机之间的通信。有两种结构形式,如下图所示:
第一章 OSI参考模型和TCP/IP协议体系
H
H
H
T
T
T
T
T
T
T
T
a
T
CC
CC
CC
H
T
T
T
H
T
H
T
T
b
 
通信子网
资源子网
第一章 OSI参考模型和TCP/IP协议体系
图a所示是主计算机通过通信线路直接互联的结构,主计算机同时承担数据处理和通信工作;图b所示是通过通信控制处理机(CC)间接地把各主计算机连接的结构,通信控制处理机负责网络中各主机间的通信处理和控制,主计算机则只负责数据处理。
4、信息网络:1993年美国提出的国家信息基础设施NII计划。提出:高速信息网是国家信息基础结构的一个重要组成部分,也称“信息高速公路”;1994年,美国又提出建立全球信息基础结构GII的倡议,建议将各国的NII互边起来,组成世界范围的信息基础结构。
第一章 OSI参考模型和TCP/IP协议体系
计算机网络的定义:(没有一致的严格定义)
从计算机与通信技术相结合的广义观点出发定义:计算技术与通信技术相结合,实现远程信息处理和进一步共享资源的系统。照此定义,五十年代的远程终端——计算机网,六十年代的计算机——计算机网以及目前发展的分布式计算机网均属于计算机网络。
美国信息处理学会联合会(AFIPS)在1970年从共享资源角度出发定义:“以能够相互共享资源(硬件、软件和数据等)的方式连接起来,并各自具备独立功能的计算机系统的集合”。
随着“远程终端——计算机”通信发展到“计算机——计算机”通信,后来人们又提出了计算机通信网的定义:在计算机之间以传输信息为目的连接起来的计算机系统的集合,称为计算机通信网。
第一章 OSI参考模型和TCP/IP协议体系
从物理结构上看,计算机网络又可定义为在协议控制下,由若干计算机、终端设备、数据传输设备和通信控制处理机等组成的系统集合。该定义强调计算机网是在协议控制下,通过通信系统实现计算机之间的连接,网络协议是区别计算网络与一般的计算机互连系统的标志。
综上所述,根据目前流行的观点,可以把计算机网络定义为:按照网络协议,以共享资源为主要目的,将地理上分散且独立的计算机互相连接起来形成的集合体。通常根据人们所处环境和研究的着眼点不同,可采用不同术语。当着重研究网络资源共享问题时,可称作计算机网络;当着重研究和分析通信方面问题时,常称作计算机通信网络。我们对这两个术语将不加严格区分,一般都称作计算机网络。
第一章 OSI参考模型和TCP/IP协议体系
 一个计算机网络应该有三个主要的组成部分:
1、若干个主机,它们向各用户提供服务;
2、一个通信子网,它由一些专用的结点交换机和连接这些结点的通信链路组成;
3、一系列协议,为在主机之间或主机与子网之间的通信而用。
第一章 OSI参考模型和TCP/IP协议体系
实体与协议:
网络中的通信是指在不同系统中的实体之间的通信。
实体,是指能发送和接收信息的任何东西,包括终端、应用软件、通信进程等。
协议:跟在人与人之间交流一样,实体之间通信需要一些规则和约定,例如,传送的信息块采用何种编码和怎样的格式?如何识别收发者的名称和地址?传送过程中出现错误如何处理?发送和接收速率不一致怎么办?简单地讲,通信双方在通信时需要遵循的一组规则和约定就是协议。
协议的构成:协议主要由语义、语法和定时三部分组成,语义规定通信双方准备“讲什么”,亦即确定协议元素的种类;语法规定通信双方“如何讲”,确定数据的信息格式、信号电平等;定时则包括速度匹配和排序等。
第一章 OSI参考模型和TCP/IP协议体系
计算机网络的主要功能
数据通信:即数据传送,用以实现计算机与终端或计算机之间传送各种信息,利用这一功能,地理位置分散的生产单位或业务部门可通过计算机网络连接起来,进行集中的控制和管理。
资源共享:包括共享软件、硬件和数据资源,可以使网上用户都能部分或全部地享受这些资源,使网络中各地区的资源互通有无,分工协作,从而大大地提高系统资源的利用率。
提高计算机的可靠性和可用性:
第一章 OSI参考模型和TCP/IP协议体系
   提高可靠性表现在网络中各台计算机可以通过网络彼此互为后备机,一旦某台计算机出现故障,故障机的任务就可由其它计算机代为处理,避免了单机在无后备使用情况下,某些计算机故障导致系统瘫痪的现象,大大提高了可靠性。    
   提高可用性指当网络中某台计算机负载过重时,网络可将新的任务转交给网中较空闲的计算机完成,这样就能均衡各计算机的负载,提高了每一台计算机的可用性。
易于进行分布处理:各用户可根据情况合理选择网内资源,以就近、快速地处理。
第一章 OSI参考模型和TCP/IP协议体系
计算机网络的分类
1、按距离分:局域网(LAN),城域网(MAN)和广域网(WAN);
2、按数据传输和系统的拥有者分:公用网和专用网。
3、按交换方式分:包交换和电路交换。
第一章 OSI参考模型和TCP/IP协议体系
LAN
第一章 OSI参考模型和TCP/IP协议体系
MAN
第一章 OSI参考模型和TCP/IP协议体系
WAN
第一章 OSI参考模型和TCP/IP协议体系
Internetwork (Internet)
1.1 协议的分层结构
分层的原因:
两个系统中实体间的通信是一个十分复杂的过程,为了减少协议设计和调试过程的复杂性,大多数网络的实现都按层次的方式来组织,每一层完成一定的功能,每一层又都建立在它的下层之上。
不同的网络,其层的数量、各层的名字、内容和功能不尽相同,然而在所有的网络中,每一层都是通过层间接口向上一层提供一定的服务,而把这种服务是如何实现的细节对上层加以屏蔽。
1.1 协议的分层结构
1.1 协议的分层结构
更具体地讲,如图1-1所示,层次结构包括以下几个含义:
第n层的实体在实现自身定义的功能时,只使用(n-1)层提供的服务。
n层向(n+1)层提供服务,此服务不仅包括n层本身所执行的功能,还包括由下层服务提供的功能总和。
最低层只提供服务,是提供服务的基础;最高层只是用户,是使用服务的最高层;中间各层既是下一层的用户,又是上一层服务的提供者。
仅在相邻层间有接口,且下层所提供服务的具体实现细节对上层完全屏蔽。
1.1 协议的分层结构
N层中的活动元素通常称为n层实体。不同机器上同一层的实体叫做对等实体。N层实体实现的服务为n+1层所利用。在这种情况下,n层被称为服务提供者,n+1层是服务用户。服务是在服务访问点(SAP)提供给上层使用的。N层SAP就是N+1层可以访问N层服务的地方。每个SAP都有一个能够唯一地标识它的地址。在同样的意义上,我们可以把电话系统中的电话插孔看成是一种SAP,而SAP地址就是这些插孔的电话号码。要想和他人通话,就必须知道他的SAP地址(电话号码)。类似地,在邮政系统中,SAP地址是街名和信箱。发一封信,必须知道收信人的SAP地址。
1.1 协议的分层结构
相邻层之间要交换信息,在接口处也必须遵循一定的规则。如图1-2所示,在典型的接口上,n+1层实体通过SAP把一个接口数据单元(IDU)传递给n层实体。IDU由服务数据单元(SDU)和一些控制信息组成。SDU是将要跨越网络传递给远方对等实体,然后上交给远方n+1层的信息。控制信息被下层实体用来指导其功能任务的执行,但不是发送给远方对等实体的内容。
1.1 协议的分层结构
1.1 协议的分层结构
为了传送SDU,n层实体可能把SDU分成几段,每一段加上一个头之后作为一个独立的协议数据单元(PDU)送出。PDU被对等实体用于执行对等协议。对等实体根据PDU头部的信息分辨哪些PDU包含数据,哪些PDU包含控制信息,以及哪些PDU提供顺序号和计数等。
下层向上层提供的服务可以划分为面向连接的和无连接的两大类别。面向连接的服务类似于打电话。要和某个人通话,我们先拿起电话,拨号码,谈话,然后挂断。同样,在使用面向连接的服务时,用户首先要建立连接,传送数据,然后释放连接。连接本质上象个管道,发送者在管道的一端放入物体,接收者在另一端以同样的次序取出物体。
1.1 协议的分层结构
相反,无连接服务类似于邮政系统中普通信件的投递。每个报文(信件)带有完整的目标地址,并且每一个报文都独立于其它报文,经由系统选定的路线传递。在正常情况下,当两个报文发往同一目的地时,先发的先收到。但是,也有可能先发的报文在途中延误了,后发的报文反而先收到。而这种情况在面向连接的服务中是绝不可能发生的。
1.1 协议的分层结构
应该指出,服务和协议是完全不同的概念,但二者又常常被混淆在一起。它们之间的区别是如此重要,以致于我们在此必须再强调一次。服务是各层向它的上层提供的一组原语。尽管服务定义了该层能够为它的上层完成的操作,但丝毫也未涉及这些操作是如何完成的。服务定义了两层之间的接口,上层是服务用户,下层是服务提供者
与之相对比,协议是定义在相同层次的对等实体之间交换的帧、分组和报文的格式及含义的一组规则。实体利用协议来实现它们的服务定义。只要不改变提供给用户的服务,实体可以任意地改变它们的协议。这样,服务和协议就被完全地分离开来。
1.1 协议的分层结构
我们可以把服务跟程序设计语言相类比。服务就象程序设计语言中的抽象数据类型。抽象数据类型定义了能在一个目标上执行的操作,但并不说明这些操作是如何实现的。协议关系到服务的实现,但对服务的用户来说是不可见的。
在典型的情况下,当接收到一个服务原语时,一层的协议实体读原语中的参数,并把它们与附加的协议控制信息相结合形成该层的PDU。所产生的PDU再放到带有附加参数的服务原语的用户数据段中,以传递给相邻下层。这可以用图1-4来说明。
1.1 协议的分层结构
1.2 OSI参考模型
对于结构化的网络协议设计,一般将层和协议的集合叫作网络体系结构。我们已经知道,制定通信协议的主要目的是要保证两个通信实体能够发送、接收并解释它们想要交换的信息。网络体系结构则定义大的框架,协议功能是在该框架中被适当地定义的。体系结构对于减少存在于端点到端点通信任务中固有的概念复杂性很有价值。现今大多数的体系结构都是基于层次的概念。在这种体系结构中,一个端到端的通信任务是通过逐次地在每个协议层中不断增加“确切含义”来完成的。
1.2 OSI参考模型
多年来国际标准化组织、学术团体、各个国家的许多研究机构和大的公司都十分重视对计算机网络体系结构的研究和开发。目前比较著名的体系结构是国际标准化组织(ISO)提出的开放系统互连(OSI)参考模型和美国国防部研制的TCP/IP协议体系。另外IBM公司的SNA体系(系统网络结构)、Novell公司和微软公司提出的局域网协议结构也很有影响。在本章内后面的讨论中,我们将重点叙述OSI参考模型和TCP/IP协议体系,并在此基础上介绍一个综合的实用模型,即采用五个层次的经修改的OSI模型。
1.2 OSI参考模型
OSI参考模型如图1-5所示。该模型基于国际标准化组织(ISO)的建议,是作为要对各种层次上使用的网络协议实现国际标准化的工作的第一步而提出来的。它的提出是要为协调标准的研制提供一个共同的基础,允许现存的和正在演变的标准化活动有一致的框架和前景。其最终目的是,允许任一支持某种可用标准的计算机的应用进程自由地与任何支持同一标准的计算机的应用进程进行通信,而不管计算机是由哪个厂商制造的。正因为如此,该模型被称为开放系统互连(OSI)参考模型。
1.2 OSI参考模型
1.2 OSI参考模型
1.2.1 模型结构
如图1-5所示, OSI参考模型把整个通信子系统被划分为七个层次,每层执行一种明确定义的功能。 从概念上讲,这些层可以被看成执行两类功能,即依赖于网络的功能和面向应用的功能。由此产生了下列三种不同的操作环境:
① 网络环境
涉及跟不同类型的下层数据通信网络有关的协议和标准。
② OSI环境
包括网络环境和面向应用的协议和标准,允许未端系统(计算机)以开放的方式互相通信。
③ 现实系统环境
建立在OSI环境之上,参与一个厂商自己的专有软件和服务,通过这种软件和服务完成特别的分布式信息处理任务。
1.2 OSI参考模型
1.2.1 模型结构
在图1-4所示的7个OSI层次中,最低3层(1-3)是依赖网络的,牵涉到将两台通信计算机链接在一起所使用的数据通信网的相关协议。高三层(5-7)是面向应用的,牵涉到允许两个末端用户应用进程交互作用的协议,通常是由本地操作系统提供的一套服务。中间的传输层为面向应用的上3层遮蔽了跟网络有关的下3层的详细操作。本质上讲,它建立在由下3层提供的服务上,为面向应用的高层提供网络无关的信息交换服务。
1.2 OSI参考模型
1.2.1 模型结构
每一层的功能以协议形式正规描述,协议定义了某层跟另一(远方)系统中的一个类似层(对等层)通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用由相邻下层提供的服务向远方对等层传输跟该层协议相关的信息单元。例如,传输层为它上面的会话层提供可靠的网络无关的信息传输服务,并且使用其下面网络层所提供的服务将与传输层协议有关的一组信息单元传送给另一系统中的一对等传输层。在概念上,每一层都根据一个明确定义的协议跟一个远方系统中的一个类似对等层通信,但在实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。
1.2 OSI参考模型
1.2.1 模型结构
下面我们就从最下层开始,逐次讨论OSI参考模型的各层。请注意,OSI模型本身并未确切地描述用于各层的具体服务和协议,它仅仅告诉我们每一层应该做什么。不过,ISO确实已为各层制定了一些标准,但它们并不是参考模型的一部分,它们是作为独立的国际标准公布的。
1、物理层(Physical Layer)
功能
完成相邻节点之间原始比特流的传输
协议
机械特性:连接器形状
电气特性:正、负逻辑,传输介质、速率、距离等
功能特性:每一根信号线的功能定义
过程特性:完成特定功能时,各信号的工作过程
实例
EIA RS-232-C, RS-449,RS-422,RS-423,RS-530
2、数据链路层(Data Link Layer)
功能
完成相邻节点之间数据的可靠传输
协议
帧(frame)
差错控制
流量控制
实例
SDLC,HDLC,LAPB
LAN的数据链路层又分为两个子层:
介质访问子层(MAC)
逻辑链路子层(LLC)
3、网络层(Network Layer)
功能
完成两个主机之间的报文的传输
协议
报文(packet)
主机寻址
路由选择
拥塞控制
网络互联
网络计费
实例
IP
IPX
4、传输层(Transport Layer)
功能
在两个主机的不同进程之间提供无差错和有效的数据通信服务
协议
进程寻址
流量控制
差错控制
服务质量QoS
多路复用和分解
实例
TCP/UDP
SPX
5、会话层(Session Layer)
功能
完成用户进程之间的会话管理
协议
同步
令牌管理
实例
OSI’s 会话层协议
SUN‘s RPC
6、表示层(Presentation Layer)
功能
完成数据格式转换
数据加密/解密
数据压缩/解压
实例
OSI ASN.1
7、应用层(Application Layer)
功能
提供访问网络的各种接口和应用层协议
实例
E-mail
Telnet
FTP
ftp://ftp.scuec.
WWW
http://www.scuec.
BBS
Gopher,Achieve,WAIS
1.2 OSI参考模型
1.2.1 模型结构
1.2 OSI参考模型
1.2.1 模型结构
整个过程中最关键的概念是,虽然数据的实际传输方向是垂直的,但每一层在进行程序设计时都好象数据一直是水平传输的。例如,当发送方的传输层从会话层得到报文时,它加上一个传输层报头,并把报文发送给接收方的传输层。从发送方传输层的观点来看,实际上它必须把报文传给本机内的网络层,但这一事实只是不重要的技术细节。如同一位说非通用语的外交官在联合国发言时,他认为自己是在向在座的其他外交官致词。事实上,他仅是在向自己的翻译讲话,也许只有翻译能够明白他在讲什么内容;然而这并不妨碍他和别的外交官交流,因为这仅仅是一个技术细节。
1.2 OSI参考模型
1.2.2 协议层
当描述任何协议层的动作时,从一开始就要将该层所提供的服务、该层的内部操作(即协议)和该层所使用的服务区别开来。每一层的功能只能在与其它层的关系中进行定义。实现单个协议层的程序设计人员只需要知道该层向上层提供的服务,该层的内部协议,以及为了将跟该层协议有关的适当的信息项传送给远方系统中的类似层由下层所提供的服务。该层软件实现人员不需要知道其它层更多的东西。
1.2 OSI参考模型
1.2.2 协议层
例如,为描述传输层的功能,只需要考虑:
(1)传输层要向会话层提供的一套明确的服务,其目的是为了把会话层信息单元传输到远方系统的同等会话层。
(2)传输层内部操作(协议),牵涉到诸如建立和管理与远方系统中对等传输层的逻辑连接,以及在所建立的链接上传送的传输层信息单元的错误处理及流控制这样的 功能。
(3)为了将这些信息单元传送给一个对等传输层由网络层所提供的服务。
在描述每一协议层的功能时,上述三个方面要分别对待。
每个协议层的描述包括两套文档:服务定义文本和协议描述文本。
1.3 TCP/IP协议体系
TCP/IP(Transmission Contol Protocol / Internet Protocol)是传输控制协议/互连网络协议的缩写,当初是为美国国防部高级研究计划局(DARPA)设计的,一般称为ARPAnet,其目的在于能够让各种各样的计算机都可以在一个共同的网络环境中运行。TCP/IP协议的形成有一个过程。1969年初建的ARPAnet主要是一项实验工程;70年代初,在最初建网实践经验基础上,开始了第二代网络协议设计工作,称为网络控制协议NCP。70年代中,国际信息处理联合会进一步补充和完善了NCP的开发工作,从而导致了TCP/IP协议的出现 。
1.3 TCP/IP协议体系
80年代初,美国伯克利大学将TCP/IP设计在UNIX操作系统内核中,1983年美国国防部DOD宣布,将ARPAnet的NCP完全过渡到TCP/IP,成为正式的军事标准。与此同时,SUN等公司将TCP/IP引入了广泛的商业领域。20世纪90年代中期WWW的流行更带来了Internet用户爆炸性的增长。现在Internet已发展成为世界上最大的国际性计算机互连网络。
1.3 TCP/IP协议体系
1.3 TCP/IP协议体系
图1-12示出了TCP/IP的分层结构及其与OSI七层协议模型的对应关系。网络接口层似乎与OSI的数据链路层和物理层相对应,但实际上TCP/IP本身并没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便能在其上传递IP(互连网络协议)分组。具体的物理网络可以是各种类型的局域网,如以太网、令牌环网、令牌总线网等,也可以是诸如X.25、帧中继、电话网、DDN等公共数据网络。网络接口层负责从主机或节点接收IP分组,并把它们发送到指定的物理网络上。
1.3 TCP/IP协议体系
互连网络层是整个体系结构的关键部分,它的功能是使主机可以把分组发往任何网络,并使分组独立地传向目的地(可能经由不同的物理网络)。这些分组到达的顺序和发送的顺序可能不同,因此如需要按顺序发送及接收时,高层必须对分组排序。必须注意到,我们所说的“internet”是基于一般意义的,虽然Internet(因特网)中确实存在互联网络层。
互连网络层定义了标准的分组格式和协议,即IP协议(internet protocol)。互连网络层的功能就是把IP分组发送到应该去的地方。选择分组路由和避免阻塞是这里主要的设计问题。由于这些原因,我们有理由说TCP/IP互连网络层和OSI网络层在功能上非常相似。
1.3 TCP/IP协议体系
传输层(又称运输层)在TCP/IP模型中位于互连网络层之上,它的功能是使源端和目的端主机上的对等实体可以进行会话(和OSI的传输层一样)。这里定义了两个端到端的协议。第一个是传输控制协议TCP(Transmission Control Protocol)。它是一个面向连接的协议,允许从一台机器发出的字节流无差错地发往互联网上的其它机器。它把输入的字节流分成报文段,并传给互连网络层。在接收端,TCP接收进程把收到的报文再组装成输出流。TCP还要处理流量控制,以避免快速发送方向低速接收方发送过多报文而使接收方无法处理。
1.3 TCP/IP协议体系
第二个协议是用户数据报协议UDP(User Datagram Protocol)。它是一个不可靠的、无连接协议,用于不需要TCP的排序和流量控制能力而是自己完成这些功能的应用程序。它也被广泛地应用于只有一次的客户—服务器模式的请求—应答查询,以及快速递交比准确递交更重要的应用程序,如传输语音或影像。IP、TCP和UDP之间的关系如图1-13所示。自从这个协议体系出现以来,IP已经在很多其它网络上实现了。
1.3 TCP/IP协议体系
1.3 TCP/IP协议体系
传输层的上面是应用层。它包含所有的高层协议。最早引入的是虚拟终端协议(TELNET)、文件传输协议(FTP)和电子邮件协议(SMTP),如图F-6所示。虚拟终端协议允许一台机器上的用户登录到远程机器上进行工作,文件传输协议提供了有效地把数据从一台机器移动到另一台机器的方法。电子邮件最初仅是一种文件传输,但是后来为它提出了专门的协议。这些年来又增加了不少协议,例如域名系统服务DNS(domain name service)用于把主机名映射到网络地址;NNTP协议,用于传递新闻文章;还有HTTP协议,用于在环球网(WWW)上获取主页等。
1.4 一个基于OSI的修改模型
OSI参考模型和TCP/IP协议体系有很多相似之处。它们都是基于独立的协议栈的概念。而且层的功能也大体相似。例如,在两个模型中,自底向上直至和包括传输层的若干层为希望通信的进程提供端到端的与网络无关的传输服务。这些层形成了传输提供者。同样,在两种体系结构中,传输层以上的层都是面向应用的传输服务的用户。
1.4 一个基于OSI的修改模型
除了这些基本的相似点之外,两种体系也有很多差别。OSI模型有3个主要概念,即服务、接口和协议。可能OSI模型的最大贡献就是使这3个概念之间的区别明确化了。每一层都为它上面的层提供某些服务。服务定义一个层做些什么,而不管上面的层怎样访问它,也不管该层是如何工作的。接口告诉上面的进程如何访问它,它定义需要什么参数以及预期结果是什么样的。同样,它也和该层如何工作无关。最后,某一层中使用的对等协议是该层的内部事务。它可以使用任何一种协议,只要能胜任工作(例如提供承诺的服务)。即使某一层改变了协议,也不会影响高层中软件的工作。这些思想和现代面向对象的编程技术非常吻合。一个对象(象一个层一样)有一组方法(操作),在该对象外部的进程可以使用它们。方法的语义定义该对象所提供的服务。方法的参数和结果就是对象的接口,而对象内部的代码即是它的协议,在对象外部是不可见的。
1.4 一个基于OSI的修改模型
相比之外,TCP/IP体系结构最初没有明确区分服务、接口和协议,虽然后来人们试图改进它以便向OSI靠拢。例如,互连网络层真正提供的服务只是发送IP分组和接收IP分组。因此,OSI模型中的协议比TCP/IP结构中的协议具有更好的隐藏性,在技术发生变化时能相对容易地进行替换。
OSI参考模型产生在许多实用协议发明之前。这意味着该模型没有偏向任何特定协议,因此非常通用。但不利的方面是设计者在协议方面没有太好的经验,因此不知道该把哪些功能放到哪一层最好。例如,数据链路层最初只处理点到点的通信,在广播式网络出现之后,就不得不在该模型中再加上一个子层。ISO委员会本来期望每个国家有一个网络,由政府运营并使用OSI的协议,因此没有考虑广泛的网络互连。
1.4 一个基于OSI的修改模型
而TCP/IP却正好相反。它首先出现的是协议,模型实际上是对已有协议的描述,因此不会出现协议不能匹配模型的情况。唯一的问题是该模型不适合于任何其它协议栈。因此,它对于描述其它非TCP/IP网络并不是特别有用。
在更加具体的方面,两种体系结构层的数量也是不同的,OSI模型有7层,而TCP/IP结构只有4层。另外,在面向连接和无连接通信上也有差别。OSI在网络层既支持无连接通信,也支持面向连接的通信,但在传输层仅有面向连接的通信。然而TCP/IP结构在网络层仅有一种无连接通信,但在传输层支持两种模式,给了用户选择的机会。
1.4 一个基于OSI的修改模型
不管OSI模型和协议,还是TCP/IP模型和协议,都不是十全十美的,对它们都有不少的批评意见。OSI的会话层对许多应用都没有用,表示层内容又很少。实际上,当初英国的ISO提案仅有5层,而不是7层。与会话层和表示层相比,数据链路层和网络层功能是太多了,后来又不得不把它们分成几个子层,每个子层都有不同的功能。
1.4 一个基于OSI的修改模型
TCP/IP模型和协议也有自己的问题。首先,该模型没有明显地区分服务、接口和协议的概念。良好的软件工程实践要求区分规范和实现。因此,在使用新技术来设计新网络问题上,TCP/IP模型不是一个很好的模板。第二,TCP/IP模型完全不是通用的,并不适合描述除TCP/IP体系之外的任何协议栈。例如,试图用TCP/IP模型描述SNA几乎是不可能的。第三,网络接口层在分层协议中根本不是通常意义下的层。它只是一个接口,处于网络层和链路层之间。接口和层之间的区别是很大的,不能混淆起来。第四,TCP/IP模型不区分(甚至不提及)物理层和数据链路层。这两层完全不同。好的模型应把它们作为分离的层,而TCP/IP模型并没有这样做。
1.4 一个基于OSI的修改模型
综上所述,尽管存在着这样那样的缺点,OSI模型(去掉会话层和表示层)对于讨论计算机网络还是特别有用的。但是OSI协议并未流行。TCP/IP协议体系正好相反,模型实际上不存在,但协议被广泛使用。从应用的方面考虑,在当前实际的工作中人们经常使用修改的OSI模型,但主要讨论TCP/IP网络和相关的协议,以及诸如帧中继、SONET和ATM等新的协议。事实上,我们将使用图1-14所示的五层模型作为本课程的框架。
1.4 一个基于OSI的修改模型
Thanks!
同课章节目录