找回密码
 注册
搜索
查看: 1214|回复: 10

[讨论] OSI七层模型介绍

[复制链接]
发表于 2009-2-13 11:38:11 | 显示全部楼层 |阅读模式
OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型
有7层结构,每层都可以有几个子层。

OSI的7层从上到下分别是

7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层

其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过
网络的端到端的数据流。下面我给大家介绍一下这7层的功能:

(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如
,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不
关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要
实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。

(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制
或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择AS
II格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标
准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。

(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管
理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的
,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL
等。

(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机
上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功
能。示例:TCP,UDP,SPX。

(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,
还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介
质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的歌种介质有
关。示例:ATM,FDDI等。

(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他
组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理
层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。


OSI分层的优点:

(1)人们可以很容易的讨论和学习协议的规范细节。

(2)层间的标准接口方便了工程模块化。

(3)创建了一个更好的互连环境。

(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。

(5)每层利用紧邻的下层服务,更容易记住个层的功能。



OSI 参考模型将整个网络通信的功能划分为七个层次。它们由低到高分别是物理层
(PH)、链路层(DL)、网络层(N)、传输层(T)、会议层(S)、表示层(P)、应用层(A)。每层完
成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。第四层到第七
层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接.

1.物理层

物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间
的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

1.1媒体和互连设备

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

1.2物理层的主要功能

1.2.1为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理
媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活
,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路
.

1.2.2传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据
能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以
减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双
工,同步或异步传输的需要.

1.3物理层的一些重要标准

物理层的一些标准和协议早在OSI/TC97/C16 分技术委员会成立之前就已制定并在应用了,
OSI也制定了一些标准并采用了一些已有的成果.下面将一些重要的标准列出,以便读者查阅
.ISO2110:称为"数据通信----25芯DTE/DCE接口连接器和插针分配".它与EIA(美国电子工

业协会)的"RS-232-C"基本兼容。ISO2593:称为"数据通信----34芯DTE/DCE----接口连接器
和插针分配"。ISO4092:称为"数据通信----37芯DTE/DEC----接口连接器和插针分配".与E
IARS-449兼容。CCITT V.24:称为"数据终端设备(DTE)和数据电路终接设备之间的接口电路
定义表".其功能与EIARS-232-C及RS-449兼容于100序列线上.  



2.数据链路层

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

2.1链路层的主要功能

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

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

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

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

2.1.4差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校
验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术
来完成。

2.2数据链路层的主要协议

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

2.2.1ISO1745--1975:"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用1
0个控制字符完成链路的建立,拆除及数据交换.对帧的收发情况及差错恢复也是靠这些字
符来完成.ISO1155, ISO1177, ISO2626, ISO2629等标准的配合使用可形成多种链路控制和
数据传输方式.

2.2.2ISO3309--1984:称为"HDLC 帧结构".ISO4335--1984:称为"HDLC 规程要素 ".ISO780
9--1984:称为"HDLC 规程类型汇编".这3个标准都是为面向比特的数据传输控制而制定的.
有人习惯上把这3个标准组合称为高级链路控制规程.

2.2.3ISO7776:称为"DTE数据链路层规程".与CCITT X.25LAB"平衡型链路访问规程"相兼容
.

2.3链路层产品

独立的链路产品中最常见的当属网卡,网桥也是链路产品。MODEM的某些功能有人认为属于
链路层,对些还有争议.数据链路层将本质上不可靠的传输媒体变成可靠的传输通路提供给
网络层。在IEEE802.3情况下,数据链路层分成了两个子层,一个是逻辑链路控制,另一个
是媒体访问控制。下图所示为IEEE802.3LAN体系结构。

AUI=连接单元接口 PMA=物理媒体连接
MAU=媒体连接单元 PLS=物理信令
MDI=媒体相关接口

3.网络层

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

3.1网络层主要功能

网络层为建立网络连接和为上层提供服务,应具备以下主要功能:

3.1.1路由选择和中继.

3.1.2激活,终止网络连接.

3.1.3在一条数据链路上复用多条网络连接,多采取分时复用技术 .

3.1.4差错检测与恢复.

3.1.5排序,流量控制.

3.1.6服务选择.

3.1.7网络管理.

3.2网络层标准简介

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

3.2.1 ISO.DIS8208:称为"DTE用的X.25分组级协议"

3.2.2 ISO.DIS8348:称为"CO 网络服务定义"(面向连接)

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

3.2.4 ISO.DIS8473:称为"CL 网络协议"

3.2.5 ISO.DIS8348:称为"网络层寻址"

3.2.6 除上述标准外,还有许多标准。这些标准都只是解决网络层的部分功能,所以往往需
要在网络层中同时使用几个标准才能完成整个网络层的功能.由于面对的网络不同,网络层
将会采用不同的标准组合.

在具有开放特性的网络中的数据终端设备,都要配置网络层的功能.现在市场上销售的网络
硬设备主要有网关和路由器.


4.传输层

传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。当网
络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质
量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑
连接。 传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和
高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高
的最后一层.

有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组
交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数
据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这
一功能.它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不
到.

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


4.1 ISO8072:称为"面向连接的传输服务定义"

4.2 ISO8072:称为"面向连接的传输协议规范"





5.会话层
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可
使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。
会话层,表示层,应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信
息表示,恢复最后的差错等.

会话层同样要担负应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距
以弥补.主要的功能是对话管理,数据流同步和重新同步。要完成这些功能,需要由大量的
服务单元功能组合,已经制定的功能单元已有几十种.现将会话层主要功能介绍如下.

5.1为会话实体间建立连接。为给两个对等会话服务用户建立一个会话连接,应该做如下几
项工作:

5.1.1将会话地址映射为运输地址

5.1.2选择需要的运输服务质量参数(QOS)

5.1.3对会话参数进行协商

5.1.3识别各个会话连接

5.1.4传送有限的透明用户数据

5.2数据传输阶段

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

5.3连接释放

连接释放是通过"有序释放","废弃","有限量透明用户数据传送"等功能单元来释放会话连
接的.会话层标准为了使会话连接建立阶段能进行功能协商,也为了便于其它国际标准参考
和引用,定义了12种功能单元.各个系统可根据自身情况和需要,以核心功能服务单元为基
础,选配其他功能单元组成合理的会话服务子集.会话层的主要标准有"DIS8236:会话服务定
义"和"DIS8237:会话协议规范".

6.表示层

表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服
务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用
EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要会话层来完成这种转
换。

通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差
错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对
数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有
差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的
任务.

对于用户数据来说,可以从两个侧面来分析,一个是数据含义被称为语义,另一个是数据的表
示形式,称做语法.像文字,图形,声音,文种,压缩,加密等都属于语法范畴.表示层设计了3类
15种功能单位,其中上下文管理功能单位就是沟通用户间的数据编码规则,以便双方有一致
的数据形式,能够互相认识.ISO表示层为服务,协议,文本通信符制定了DP8822,DP8823,DIS
6937/2等一系列标准.


7.应用层

应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分成组,并称为服务元
素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放
系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信
的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特
定应用服务元素SASE.CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的
用户,主要为应用进程通信,分布系统实现提供基本的控制机制.特定服务SASE则要满足一
些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等.

这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心
系统,开放系统互连管理等等.应用层的标准有DP8649"公共应用服务元素",DP8650"公共应
用服务元素用协议",文件传送,访问和管理服务及协议.


OSI七层模型是一个理论模型,实际应用则千变万化,因此更多把它作为分析、评判
各种网络技术的依据;对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型作
大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功
能。

这样分层的好处有:

1.使人们容易探讨和理解协议的许多细节。

2.在各层间标准化接口,允许不同的产品只提供各层功能的一部分,(如路由器在一到三
层),或者只提供协议功能的一部分。(如Win95中的Microsoft TCP/IP)

3. 创建更好集成的环境。

4. 减少复杂性,允许更容易编程改变或快速评估。

5. 用各层的headers和trailers排错。

6.较低的层为较高的层提供服务。

7. 把复杂的网络划分成为更容易管理的层。



[br]<p align=right><font color=red>+1 RD币</font></p>
发表于 2009-2-13 16:58:13 | 显示全部楼层
哈哈,谢谢分享…………, 哈哈,谢谢分享…………
点评回复

使用道具 举报

发表于 2009-2-19 22:17:56 | 显示全部楼层
我又要晕了!
点评回复

使用道具 举报

发表于 2009-2-19 23:46:08 | 显示全部楼层
顶!![em01]
点评回复

使用道具 举报

发表于 2009-2-24 10:21:34 | 显示全部楼层
路过学习了,感谢楼主的热心![em08][em08][em08][em08]
点评回复

使用道具 举报

发表于 2009-2-26 14:27:34 | 显示全部楼层
你讲的还不错啊[em01]
点评回复

使用道具 举报

发表于 2009-2-28 19:50:18 | 显示全部楼层
好详细!
点评回复

使用道具 举报

发表于 2009-3-6 09:45:08 | 显示全部楼层
xiexie
点评回复

使用道具 举报

发表于 2009-10-14 11:01:06 | 显示全部楼层
[em01][em02]
点评回复

使用道具 举报

发表于 2010-3-8 19:10:04 | 显示全部楼层
非常详细,推荐!!谢谢!
点评回复

使用道具 举报

发表于 2010-3-16 17:24:09 | 显示全部楼层
今天路过!
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-5 20:33 , Processed in 0.049053 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表