常用互联网协议之osi七层模型

前言

       互联网协议有很多,诸如具有代表性的IP、TCP、HTTP等。“计算机网络体系结构”将这些网络协议进行了系统的归纳;TCP/IP就是这些协议的集合

osi及其七层模型

       OSI由重要计算机和远程通讯公司在1983年开始开发,最初的设想是成为一个接口规范。委员会决定建立一个通用参考模型,这样他人在其上就可以开发更为细节化的接口,从而成为标准。ISO采纳了OSI作为一个国际标准。
在网络发展的初期,许多研究机构、计算机厂商和公司都大力发展计算机网络。从A R PA N E T出现至今,已经推出了许多商品化的网络系统。这种自行发展的网络,在体系结构上差异很大以至于它们之间互不相容,难于相互连接以构成更大的网络系统。
为此,许多标准化机构积极开展了网络体系结构标准化方面的工作,其中最为著名的就是国际标准化组织I S O提出的开放系统互连参考模型O S I / R M。O S I参考模型是研究如何把开放式系统(即为了与其他系统通信而相互开放的系统)连接起来的标准。OSI的核心是两个终端用户在远程通讯网络中的通讯可以分成层,每层有自己的功能集。O S I参考模型将计算机网络分为7层,我们将从最底层开始,依次讨论模型的各层所要完成的功能。

各层的功能:

具体基础知识可参考:https://www.cnblogs.com/imyalost/p/6086808.html

1. 物理层
       物理层(physical layer)的主要功能是完成相邻结点之间原始比特流的传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据“ 1”和“ 0”;一位持续的时间多长;数据传输是否可同时在两个方向上进行;最初的连接如何建立和完成通信后连接如何终止;物理接口(插头和插座)有多少针以及各针的用处。物理层的设计主要涉及物理层接口的机械、电气、功能和过程特性,以及物理层接口连接的传输介质等问题。物理层的设计还涉及到通信工程领域内的一些问题。(这一层表示了用户的软件与硬件之间的实际连接。它实际上与任何协议都不相干,但它定义了数据链路层所使用的访问方法。)

       物理层是OSI参考模型的最低层,ISO对OSI参考模型中的物理层做了如下定义:

  物理层为建立、维护和释放数据链路实体之间的二进制比特传输的物理连接提供机械的、电气的、功能的和规程的特性。物理连接可以通过中继系统,允许进行全双工或半双工的二进制比特流的传输。物理层的数据服务单元是比特,它可以通过同步或异步的方式进行传输。

物理层主要特点是:

(1)物理层主要负责在物理连接上传输二进制比特流;

(2)物理层提供为建立、维护和释放物理连接所需要的机械、电气、功能与规程的特性。


2. 数据链路层
       数据链路层( data link layer)的主要功能是如何在不可靠的物理线路上进行数据的可靠传输。数据链路层完成的是网络中相邻结点之间可靠的数据通信。为了保证数据的可靠传输,发送方把用户数据封装成帧( f r a m e),并按顺序传送各帧。由于物理线路的不可靠,因此发送方发出的数据帧有可能在线路上发生出错或丢失(所谓丢失实际上是数据帧的帧头或帧尾出错),从而导致接收方不能正接收到数据帧。为了保证能让接收方对接收到的数据进行正确性判断,发送方为每个数据块计算出C R C(循环冗余检验)并加入到帧中,这样接收方就可以通过重新计算C R C来判断数据接收的正确性。一旦接收方发现接收到的数据有错,则发送方必须重传这一帧数据。然而,相同帧的多次传送也可能使接收方收到重复帧。比如,接收方给发送方的确认帧被破坏后,发送方也会重传上一帧,此时接收方就可能接收到重复帧。数据链路层必需解决由于帧的损坏、丢失和重复所带来的问题。

       数据链路可以粗略地理解为数据通道。

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

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

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

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

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

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

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

       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。如果在子网中同时出现过多的报文,子网可能形成拥塞,必须加以避免,此类控制也属于网络层的内容。当报文不得不跨越两个或多个网络时,又会产生很多新问题。例如第二个网络的寻址方法可能不同于第一个网络;第二个网络也可能因为第一个网络的报文太长而无接收;两个网络使用的协议也可能不同,等等。网络层必须解决这些问题,使异构网络能够互连。在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少。
网络层为建立网络连接和为上层提供服务,应当具备以下特点:
a.路由选择和中继

b.激活,终止网络连接

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

d.差错检测与恢复

e.排序,流量控制

f.服务选择

g.网络管理

4. 传输层
       传输层( transport layer)的主要功能是完成网络中不同主机上的用户进程之间可靠的数据通信。传输层要决定对会话层用户,最终对网络用户,提供什么样的服务。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接是真正端到端的。换言之,源端机上的某进程,利用报文头和控制报文与目标机上的对等进程进行对话。在传输层下面的各层中,协议是每台机器与它的直接相邻机器之间(主机- I M P、I M P-I M P)的协议,而不是最终的源端机和目标机之间(主机-主机)的协议。在它们中间,可能还隔着多个I M P。即1至3层的协议是点到点的协议,而4至7层的协议是端到端的协议。
由于绝大多数主机都支持多用户*作,因而机器上有多道程序,这意味着多条连接将进出于这些主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放入传输层的报文头中。除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和拆除。这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象。另外,还需要有一种机制来调节信息流,使高速主机不会过快地向低速主机传送数据。尽管主机之间的流量控制与I M P之间的流量控制不尽相同,但是稍后我们将看到类似的原理对二者都适用。
       第一个端到端的层次,具有缓冲作用。当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
在补充一句:传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层。

5. 会话层
       会话层( session layer)允许不同机器上的用户之间建立会话关系。会话层允许进行类似传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。允许用户利用一次会话在远端的分时系统上登录,或者在两台机器间传递文件。会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该*到哪一方。一种与对话控制有关的服务是令牌管理( token management)。有些协议保证双方不能同时进行同样的*作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有牌的一方可以执行某种关键性*作。另一种会话层服务是同步。如果在平均每小时出现一次大故障的网络上,两台机器间要进行一次两小时的文件传输,想想会出现什么样的问题?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为了解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据。

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

a.将会话地址映射为运输地址

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

c.对会话参数进行协商

d.识别各个会话连接

e.传送有限的透明用户数据


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模型中并没有定义,但是,有些确定的应用层协议,包括虚拟终端、文件传输、和电子邮件等都可作为标准化的候选。
       值得注意的是, 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参考模型在计算机网络的发展过程中仍然起到了非常重要的指导作用,作为一种参考模型和完整体系,它仍对今后计算机网络技术朝标准化、规范化方向发展具有指导意义。 

用一句话总结各层的功能:
物理层:实现计算机系统与网络间的物理连接
数据链路层:进行数据打包与解包,形成信息帧
网络层:提供数据通过的路由
传输层:提供传输顺序信息与响应
会话层:建立和中止连接
表示层:数据转换、确认数据格式
应用层:提供用户程序接口

工作在各层的协议有:

应用层 :FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP
表示层 :TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML
会话层 :RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP
传输层 :TCP,UDP,SPX
网络层 :IP,IPX,AppleTalk DDP
数据链路层:Frame Relay,HDLC,PPP,IEEE802.3 / 802.2,FDDI,ATM,IEEE802.5 / 802.2
物理层:EIA / TIA - 232,EIA / TIA - 499,V.35,V.24,RJ45,Ethernet,802.3,802.5,FDDI,NRZI,NRZ,B8ZS

TCP / IP模型:
应用层:Telnet,FTP,SMTP,SNMP
传输层:TCP,UDP,UGP
网络层: IP,ICMP,IGMP
数据链路层:ARP,RARP

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值