七层协议
作者:未知 请作者速与本人联系
《 OSI.Open Systems Interconnection ------开放系统互连 》
OSI由重要计算机和远程通讯公司在1983年开始开发,最初的设想是成为一个接口规范。委员会决定建立一个通用参考模型,这样他人在其上就可以开发更为细节化的接口,从而成为标准。ISO采纳了OSI作为一个国际标准。
在网络发展的初期,许多研究机构、计算机厂商和公司都大力发展计算机网络。从A R PA N E T(这个我想大家都应该知道一点点吧,第一代的实验网络)出现至今,已经推出了许多商品化的网络系统。这种自行发展的网络,在体系结构上差异很大以至于它们之间互不相容,难于相互连接以构成更大的网络系统。(哈哈,人类是聪明的,办法出现了。)
为此,许多标准化机构积极开展了网络体系结构标准化方面的工作,其中最为著名的就是国际标准化组织I S O提出的开放系统互连参考模型O S I / R M。O S I参考模型是研究如何把开放式系统(即为了与其他系统通信而相互开放的系统)连接起来的标准。(这回大家知道,osi为什么要出现了吧,接下来在为大家具体的讲讲osi的内容。)
OSI的核心是两个终端用户在远程通讯网络中的通讯可以分成层,每层有自己的功能集。(这个比较关键)
O S I参考模型将计算机网络分为7层,(呵呵,够多吧。)我们将从最底层开始,依次讨论模型的各层所要完成的功能。(我想画给大家来着,可惜从上小学到现在,美术没有及格过,所以。。。。。还是免了吧。)
1. 物理层
物理层(physical layer)的主要功能是完成相邻结点之间原始比特流的传输。物理层协议关
心的典型问题是使用什么样的物理信号来表示数据“ 1”和“ 0”;一位持续的时间多长;数据
传输是否可同时在两个方向上进行;最初的连接如何建立和完成通信后连接如何终止;物理接
口(插头和插座)有多少针以及各针的用处。物理层的设计主要涉及物理层接口的机械、电气、
功能和过程特性,以及物理层接口连接的传输介质等问题。物理层的设计还涉及到通信工程领
域内的一些问题。(这一层表示了用户的软件与硬件之间的实际连接。它实际上与任何协议都不相干,但它定义了数据链路层所使用的访问方法。)
物理层是OSI参考模型的最低层,向?苯佑胛锢泶浣橹氏嗔印N锢聿阈槭歉髦滞缟璞附谢チ北匦胱袷氐牡筒阈椤I枇⑽锢聿愕哪康氖鞘迪至礁鐾缥锢砩璞钢涞亩票忍亓鞯耐该鞔洌允萘绰凡闫帘挝锢泶浣橹实奶匦裕员愣愿卟阈橛凶畲蟮耐该餍浴?ISO对OSI参考模型中的物理层做了如下定义:
物理层为建立、维护和释放数据链路实体之间的二进制比特传输的物理连接提供机械的、电气的、功能的和规程的特性。物理连接可以通过中继系统,允许进行全双工或半双工的二进制比特流的传输。物理层的数据服务单元是比特,它可以通过同步或异步的方式进行传输。(上面两段是我的笔记,大家好好看看,嘿嘿~~~~~~~写这段可不容易,因为我以前写字太难看了,现在看起来好费劲。)
来个总结发言吧,哈哈~
物理层主要特点是:
(1)物理层主要负责在物理连接上传输二进制比特流;
(2)物理层提供为建立、维护和释放物理连接所需要的机械、电气、功能与规程的特性。
(晕,怎么感觉这个总结是废话呢?)
2. 数据链路层
数据链路层( data link layer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻结点之间可靠的数据通信。为了保证数据的可靠传输,发送方把用户数据封装成帧( f r a m e),并按顺序传送各帧。由于物理线路的不可靠,因此发送方发出的数据帧有可能在线路上发生出错或丢失(所谓丢失实际上是数据帧的帧头或帧尾出错),从而导致接收方不能正接收到数据帧。为了保证能让接收方对接收到的数据进行正确性判断,发送方为每个数据块计算出C R C(循环冗余检验)并加入到帧中,这样接收方就可以通过重新计算C R C来判断数据接收的正确性。一旦接收方发现接收到的数据有错,则发送方必须重传这一帧数据。然而,相同帧的多次传送也可能使接收方收到重复帧。比如,接收方给发送方的确认帧被破坏后,发送方也会重传上一帧,此时接收方就可能接收到重复帧。数据链路层必需解决由于帧的损坏、丢失和重复所带来的问题。(眼睛好累,明天继续吧,估计你也看累了,休息一会吧。)
数据链路可以粗略地理解为数据通道(比较不负责的一句话)
物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路。(这个地方是重点,因为我学的时候容易把物理层和链路弄混,这个地方解释比较清楚。)而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。(下面其实也一样一层为一层服务呗~~~~)。
嘿嘿,在做一回总结。
链路层的主要功能
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。链路层应具备如下功能:
1:链路连接的建立,拆除,分离。
2:帧定界和帧同步。链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何 必须对帧进行定界。
3:顺序控制,指对帧的收发顺序的控制。
4:差错检测和恢复。还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信 道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。
如果有人不知道“帧”是什么,那就自己找材料,我是不行了。
数据链路层的主要协议
数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。主要协议如下:
ISO1745--1975:"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用10个控制字符完成链路的建立,拆除及数据交换.对帧的收发情况及差错恢复也是靠这些字符来完成.ISO1155, ISO1177, ISO2626, ISO2629等标准的配合使用可形成多种链路控制和数据传输方式.
ISO3309--1984:称为"HDLC 帧结构".ISO4335--1984:称为"HDLC 规程要素 ".ISO7809--1984:称为"HDLC 规程类型汇编".这3个标准都是为面向比特的数据传输控制而制定的.有人习惯上把这3个标准组合称为高级链路控制规程.
ISO7776:称为"DTE数据链路层规程".与CCITT X.25LAB"平衡型链路访问规程"相兼容. (诶~~~~这个地方是在朋友家电脑里找到的,自己其实也没看明白。)
链路,就介绍这么多啦,我想看到这里,基本该懂的也都懂了,我觉得我比我们老师讲的要细多了。
3. 网络层
网络层(network layer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使
用数据链路层的服务将每个报文从源端传输到目的端。在广域网中,这包括产生从源端到目的
端的路由,并要求这条路径经过尽可能少的I M P。如果在子网中同时出现过多的报文,子网可能
形成拥塞,必须加以避免,此类控制也属于网络层的内容。
当报文不得不跨越两个或多个网络时,又会产生很多新问题。例如第二个网络的寻址方法
可能不同于第一个网络;第二个网络也可能因为第一个网络的报文太长而无法接收;两个网络
使用的协议也可能不同,等等。网络层必须解决这些问题,使异构网络能够互连。
在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,
因此网络层所要做的工作很少。
网络层主要功能
网络层为建立网络连接和为上层提供服务,应具备以?饕δ埽?br />
1路由选择和中继
2激活,终止网络连接
3在一条数据链路上复用多条网络连接,多采取分时复用技术
4差错检测与恢复
5排序,流量控制
6服务选择
7网络管理
网络层标准简介
网络层的一些主要标准如下:
ISO.DIS8208:称为"DTE用的X.25分组级协议"
ISO.DIS8348:称为"CO 网络服务定义"(面向连接)
ISO.DIS8349:称为"CL 网络服务定义"(面向无连接)
ISO.DIS8473:称为"CL 网络协议"
ISO.DIS8348:称为"网络层寻址"
除上述标准外,还有许多标准。这些标准都只是解决网络层的部分功能,所以往往需要在网络层中同时使用几个标准才能完成整个网络层的功能.由于面对的网络不同,网络层将会采用不同的标准组合.
ok,又搞定一层。-__-!
补充一句
在具有开放特性的网络中的数据终端设备,都要配置网络层的功能.现在市场上销售的网络硬设备主要有网关和路由器.HOHO~~~~~
4. 传输层
传输层( transport layer)的主要功能是完成网络中不同主机上的用户进程之间可靠的数据
通信。
传输层要决定对会话层用户,最终对网络用户,提供什么样的服务。最好的传输连接是一
条无差错的、按顺序传送数据的管道,即传输层连接是真正端到端的。换言之,源端机上的某
进程,利用报文头和控制报文与目标机上的对等进程进行对话。在传输层下面的各层中,协议
是每台机器与它的直接相邻机器之间(主机- I M P、I M P-I M P)的协议,而不是最终的源端机和
目标机之间(主机-主机)的协议。在它们中间,可能还隔着多个I M P。即1至3层的协议是点到
点的协议,而4至7层的协议是端到端的协议。
由于绝大多数主机都支持多用户*作,因而机器上有多道程序,这意味着多条连接将进出
于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输
层的报文头中。除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立
和拆除。这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。另外,还需要
有一种机制来调节信息流,使高速主机不会过快地向低速主机传送数据。尽管主机之间的流量
控制与I M P之间的流量控制不尽相同,但是稍后我们将看到类似的原理对二者都适用。
其实我自己是这么想的,这一层就等于是端口到端口~不知道我这么理解对不对?
比如说A机器的QQ消息到了B机器的时候,就是通过这一层的相关协议找4000端口的。(我自己这么想的,如果不对,大家一定告诉我哦)
第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。 (这是在网上摘录的一句,比较经典,哈哈。)
在补充一句:传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.
基本上就是这些啦,该交代的都交代了。在深如了解就的自己买书看了,没办法在网上发了
恩,还有些内容,感觉不算是重点,还是放上来看看吧。
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这一功能.它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不到.
此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异.传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口.上述功能的最终目的是为会话提供可靠的,无误的数据传输.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又分为一般数据传送和加速数据传送两种。传输层服务分成5种类型.基本可以满足对传送质量,传送速度,传送费用的各种不同需要.传输层的协议标准有以下几种:
ISO8072:称为"面向连接的传输服务定义"
ISO8072:称为"面向连接的传输协议规范"
收工~~~~~~~~明天继续。
5. 会话层
会话层( session layer)允许不同机器上的用户之间建立会话关系。会话层允许进行类似传
输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。允许用户利用一次会话
在远端的分时系统上登录,或者在两台机器间传递文件。
会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能
单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该*到哪一方。
一种与对话控制有关的服务是令牌管理( token management)。有些协议保证双方不能同时进行
同样的*作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之
间移动,只有持有令牌的一方可以执行某种关键性*作。另一种会话层服务是同步。如果在平
均每小时出现一次大故障的网络上,两台机器间要进行一次两小时的文件传输,想想会出现什
么样的问题?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,
可能又会半途而废。为了解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每
次网络出现故障后,仅仅重传最后一个同步点以后的数据。(不懂不懂不懂,7层这一层我基本上课的时候听不明白,问老师,由于问的太多了,最后老师把我开除了-__-!!。)
为会话实体间建立连接。为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
1将会话地址映射为运输地址
2选择需要的运输服务质量参数(QOS)
3对会话参数进行协商
4识别各个会话连接
5传送有限的透明用户数据
总感觉这一层好象用处不大????(个人意见 ,大家别用鸡蛋丢我哦)
6. 表示层
表示层( presentation layer)完成某些特定的功能,对这些功能人们常常希望找到普遍的解
决办法,而不必由每个用户自己来实现。值得一提的是,表示层以下各层只关心从源端机到目
标机可靠地传送比特,而表示层关心的是所传送的信息的语法和语义。表示层服务的一个典型
例子是用一种大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机的
比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象是用字符串、整型数、
浮点数的形式,以及由几种简单类型组成的数据结构来表示。
网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式的转换。例
如在不同的机器上常用不同的代码来表示字符串( A S C I I和E B C D I C)、整型数(二进制反码或
补码)以及机器字的不同字节顺序等。为了让采用不同数据表示法的计算机之间能够相互通信
并交换数据,我们在通信过程中使用抽象的数据结构(如抽象语法表示A S N . 1)来表示传送的
数据,而在机器内部仍然采用各自的标准编码。管理这些抽象数据结构,并在发送方将机器的
内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等工作都是由表示层来完
成的。
另外,表示层还涉及数据压缩和解压、数据加密和解密等工作。
这一层没什么好多说的了,看名字都知道是什么回事了。
7. 应用层
连网的目的在于支持运行于不同计算机的进程进行通信,而这些进程则是为用户完成不同
任务而设计的。可能的应用是多方面的,不受网络结构的限制。应用层( application layer)包
含大量人们普遍需要的协议。虽然,对于需要通信的不同应用来说,应用层的协议都是必须的。
例如, P C机用户使用仿真终端软件通过网络仿真某个远程主机的终端并使用该远程主机的
资源。这个仿真终端程序使用虚拟终端协议将键盘输入的数据传送到主机的*作系统,并接收
显示于屏幕的数据。
再比如,当某个用户想要获得远程计算机上的一个文件拷贝时,他要向本机的文件传输软
件发出请求,这个软件与远程计算机上的文件传输进程通过文件传输协议进行通信,这个协议
主要处理文件名、用户许可状态和其他请求细节的通信。远程计算机上的文件传输进程使用其
他特征来传输文件内容。
由于每个应用有不同的要求,应用层的协议集在I S O / O S I模型中并没有定义,但是,有些确
定的应用层协议,包括虚拟终端、文件传输、和电子邮件等都可作为标准化的候选
终于写完啦~~~~~~哈哈哈!庆祝一下,自己去买个冰淇淋吃去~~~~HOHO~
结尾
值得注意的是, O S I模型本身不是网络体系结构的全部内容,这是因为它并未确切地描述用
于各层的协议和实现方法,而仅仅告诉我们每一层应该完成的功能。不过, I S O已经为各层制定
了相应的标准,但这些标准并不是模型的一部分,它们是作为独立的国际标准而被发布的。
在O S I参考模型中,有三个基本概念:服务、接口和协议。也许O S I模型的最重要的贡献是
将这三个概念区分清楚了。
O S I参考模型是在其协议开发之前设计出来的。这意味着O S I模型不是基于某个特定的协议
集而设计的,因而它更具有通用性。但另一方面,也意味着O S I模型在协议实现方面存在某些不
足。实际上,O S I协议过于复杂,这也是O S I从未真正流行开来的原因所在。
虽然O S I模型和协议并未获得巨大的成功,但是O S I参考模型在计算机网络的发展过程中仍
然起到了非常重要的指导作用,作为一种参考模型和完整体系,它仍对今后计算机网络技术朝
标准化、规范化方向发展具有指导意义。