OSI7层网络协议doc 10页.docx
《OSI7层网络协议doc 10页.docx》由会员分享,可在线阅读,更多相关《OSI7层网络协议doc 10页.docx(5页珍藏版)》请在冰豆网上搜索。
OSI7层网络协议doc10页
OSI7层网络协议(doc10页)
OSI7层网络协议
通信协议划分为七层,自下而上依次为:
物理层(PhysicsLayer)、数据链路层(DataLinkLayer)、网络层(NetworkLayer)、传输层(TransportLayer)、会话层(SessionLayer)、表示层(PresentationLayer)、应用层(ApplicationLayer)。
物理层:
物理层(physicallayer)的主要功能是完成相邻结点之间原始比特流传输。
物理层协议关心的典型问题是使用什么样的物理信号来表示数据0和1。
1位持续的时间多长。
数据传输是否可同时在两个方向上进行。
最初的廉洁如何建立以及完成通信后连接如何终止。
物理接口(插头和插座)有多少针以及各针的作用。
物理层的设计主要涉及物理层接口的机械、电气、功能和过电特性,以及物理层接口连接的传输介质等问题。
物理层的实际还涉及到通信工程领域内的一些问题。
该层为上层协议提供了一个传输数据的物理媒体。
数据的单位称为比特(bit)。
1.1媒体和互连设备
了一些已有的成果.下面将一些重要的标准列出,以便读者查阅.ISO2110:
称为"数据通信----25芯DTE/DCE接口连接器和插针分配".它与EIA(电子工业协会)的"RS-232-C"基本兼容。
ISO2593:
称为"数据通信----34芯DTE/DCE----接口连接器和插针分配"。
ISO4092:
称为"数据通信----37芯DTE/DEC----接口连接器和插针分配".与EIA兼容。
CCITTV.24:
称为"数据终端设备(DTE)和数据电路终接设备之间的接口电路定义表".其功能与EIARS-232-C及RS-449兼容于100序列线上.
数据链路层:
数据链路层(datalinklayer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。
数据链路层完成的是网络中相邻结点之间可靠的数据通信。
为了保证书觉得可靠传输,发送出的数据针,并按顺序传送个针。
由于物理线路不可靠,因此发送方发出的数据针有可能在线路上出错或丢失,从而导致接受方无法正确接收数据。
为了保证能让接收方对接收到的数据进行正确的判断,发送方位每个数据块计算出CRC(循环冗余检验)并加入到针中,这样接收方就可以通过重新计算CRC来判断接收到的数据是否正确。
一旦接收方发现接收到的数据有错误,则发送方必须重新传送这一数据。
然而,相同的数据多次传送也可能是接收方收到重复的数据。
数据链路层要解决的另一个问题是防止高速发送方的数据把低速接收方“淹没”。
因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间。
为了控制的方便,流量控制常常和差错处理一同实现。
在广域网中,数据链路层负责主机IMP、IMP-IMP之间数据的可靠传送。
在局域网中,数据链路层负责制及之间数据的可靠传输。
该层的作用包括:
物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路可以粗略地理解为数据通道。
物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信.每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系就叫作数据链路.而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
2.1链路层的主要功能
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。
链路层应具备如下功能:
2.1.1链路连接的建立,拆除,分离。
2.1.2帧定界和帧同步。
链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
2.1.3顺序控制,指对帧的收发顺序的控制。
2.1.4差错检测和恢复。
还有链路标识,等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。
2.2数据链路层的主要协议
数据链路层协议是为发对等实体间保持一致而制定的,也为了顺利完成对网络层的服务。
主要协议如下:
2.2.1ISO1745--1975:
"数据通信系统的基本型控制规程".这是一种面向字符的标准,利用10个控制字符完成链路的建立,拆除及数据交换.对帧的收发情况及差错恢复也是靠这些字符来完成.ISO1155,ISO1177,ISO2626,ISO2629等标准的配合使用可形成多种链路控制和数据传输方式.
2.2.2ISO3309--1984:
称为"HDLC帧结构".ISO4335--1984:
称为"HDLC规程要素".ISO7809--1984:
称为"HDLC规程类型汇编".这3个标准都是为面向比特的数据传输控制而制定的.有人习惯上把这3个标准组合称为高级链路控制规程.
2.2.3ISO7776:
称为"DTE数据链路层规程".与CCITTX.25LAB"平衡型链路访问规程"相兼容.
网络层:
网络层(networklayer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使用数据链路层的服务将每个报文从源端传输到目的端。
在广域网中,这包括产生从源端到目的端的路由,并要求这条路径经过尽可能少的IMP。
如果在子网中同时出现过多的报文,子网就可能形成拥塞,因为必须加以避免这种情况的出现。
当报文不得不跨越两个或多个网络时,又会带来很多新问题。
比在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少。
网络层负责对子网间的数据包进行路由选择。
网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:
IP、IPX、RIP、OSPF等。
传输层:
传输层(transportlayer)的主要功能是实现网络中不同主机上的用户进程之间可靠的数据通信。
传输层要决定会话层用户(最终对网络用户)提供什么样的服务。
最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接时真正的点到点。
由于绝大多数的主机都支持多用户操作,因而机器上有多道程序就意味着将有多条连接进出于这些主机,因此需要以某种方式区别报文属于哪条连接。
识别这些连接的信息可以放入传输层的报文头中除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和取消。
这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。
另外,还需要有一种机制来调节信息流,使高速主机不会过快的向低速主机传送数据。
尽管主机之间的流量控制与IMP之间的流量控制不尽相同。
传输层是第一个端到端,即主机到主机的层次。
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。
此外,传输层还要处理端到端的差错控制和流量控制问题。
在这一层,数据的单位称为数据段(segment)。
传输层协议的代表包括:
TCP、UDP、SPX等。
传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。
TCP是面向连接的,UDP是面向非连接的。
会话层:
会话层(SESSIONLAYER)允许不同机器上的用户之间建立会话关系。
会话层循序进行类似的传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。
允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。
会话层提供的服务之一是管理对话控制。
会话层允许信息同时双向传输,或任一时刻只能单向传输。
如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。
一种与对话控制有关的服务是令牌管理(tokenmanagement)。
有些协议会保证双方不能同时进行同样的操作,这一点很重要。
为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。
另一种会话层服务是同步。
如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?
每一次传输中途失败后,都不得不重新传送这个文件。
当网络再次出现大故障时,可能又会半途而废。
为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。
每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)。
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。
会话层还利用在数据中插入校验点来实现数据的同步。
表示层:
表示层(presentationlayer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现。
表示层以下各层只关心从源端机到目标机到目标机可靠的传送比特流,而表示层关心的是所传送的信息的语法和语义。
表示层服务的一个典型例子就是大家一致选定的标准方法对数据进行编码。
大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息。
这些对象使用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示的。
在网络上计算机可能采用不同的数据表示,所以需要在数据传输时进行数据格式转换。
为了让采用不同数据表示法的计算机之间能够相互通信而且交换数据,就要在通信过程中使用抽象的数据结构来表示所传送的数据。
而在机器内部仍然采用各自的标准编码。
管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等工作都是由表示层来完成的。
另外,表示层还涉及数据压缩和解压、数据加密和解米等工作(winrar的那一套)。
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解,也就是满足通用性。
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。
这种类型的服务之所以需要,是因为不同的使用的数据表示法不同。
例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。
在这种情况下,便需要会话层来完成这种转换。
通过前面的介绍,我们可以看出,会话层以下5层完成了端到端的数据传送,并且是可靠,无差错的传送.但是数据传送只是手段而不是目的,最终是要实现对数据的使用.由于各种系统对数据的定义并不完全相同,最易明白的例子是键盘,其上的某些键的含义在许多系统中都有差异.这自然给利用其它系统的数据造成了障碍.表示层和应用层就担负了消除这种障碍的任务.
应用层:
连网的目的在于支持运行于不同计算机的进程彼此之间的通信,而这些进程则是为用户完成不同人物而设计的。
可能的应用是多方面的,不受网络结构的限制。
应用层(app;ocationlayer)包括大量人们普遍需要的协议。
虽然,对于需要通信的不同应用来说,应用层的协议都是必须的。
例如:
http、ftp、TCP/IP。
由于每个应用有不同的要求,应用层的协议集在OSI模型中并没有定义。
但是,有些确定的应用层协议,包括虚拟终端、文件传输、电子邮件等都可以作为标准化的候选。
应用层为操作系统或网络应用程序提供访问网络服务的接口。