胆囊息肉

注册

 

发新话题 回复该主题

IT挑战高薪必备网络常识OSI七层模型 [复制链接]

1#
白癜风症状图片及治疗 https://m-mip.39.net/woman/mipso_4769919.html?ivk_sa=1024320u

1.为什么要理解OSI七层模型

为了更好地促进互联网络的研究和发展,国际标准化组织ISO(InternationalOrganizationforStandardization)制定了网络互连的七层框架的一个参考模型,称为开放系统互连参考模型,简称OSI/RM(OpenSystemInternetworkReferenceModel)。OSI参考模型是一个具有7层协议结构的开放系统互连模型,是由国际标准化组织在20世纪80年代早期制定的一套普遍适用的规范集合,使全球范围的计算机可进行开放式通信。OSI七层参考模型从下到上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,越往上层越接近用户交互。

OSI参考模型是一个具有七层结构的体系模型。发送和接收信息所涉及的内容和相应的设备称为实体。OSI的每一层都包含多个实体,处于同一层的实体称为对等实体。解决复杂问题通常都需要建立模型,OSI七层模型就是应用了将复杂问题分而治之的思想。OSI参考模型采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议形式正规描述,协议定义了某层同远方一个对等层通信所使用的一套规则和约定。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务。从概念上来讲,每一层都与一个远方对等层通信,但实际上该层所产生的协议信息单元是借助于相邻下层所提供的服务传送的。因此,对等层之间的通信称为虚拟通信。

网络通信协议就是计算机之间通过网络实现通信时事先达成的一种“约定”,这种“约定”使那些由不同厂商的设备,不同配置、不同操作系统的计算机之间,只要遵循相同的协议就可以实现通信。协议可以分很多种,每一种协议都明确界定了它的行为规范:相关参与通信的各方必须能够支持相同的协议,并且遵循相同的协议进行处理,才能实现相互通信。了解OSI模型有助于理解实际上互联网络的工业标准——TCP/IP协议。TCP/IP并非ISO指定,是由IETF(国际互联网工程任务组)建议、致力推进标准化的一种协议,其中,大学等研究机构和计算机行业是推动标准化的核心力量,现已成为业界标准协议。所以,理解OSI七层模型和TCP/IP协议是学习计算机网络的必备基础知识。

2.OSI七层模型相关概念

实体与对等实体:每一层中,用于实现该层功能的活动元素被称为实体(Entity),实体既可以是软件实体(如一个进程、电子邮件系统、应用程序等)也可以是硬件实体(如终端、智能输人/输出芯片等)。软件实体可以嵌人在本地操作系统中,或者用户应用程序中。不同机器上位于同一层次、完成相同功能的实体被称为对等实体(PeerEntity)。如主机A和主机B传输层中的传输实体为对等实体。

对等层和对等协议:不同主机之间的相同层次被称为对等层(Peer)。主机A的应用层和主机B的应用层互为对等层、主机A的会话层和主机B的会话层互为对等层。对等层之间存在协议关系。即对等实体之间互相通信需要遵守一定的规则,如通信的内容、通信的方式等。这种对等实体之间交换数据或通信时必须遵守的规则称为对等层协议(PeerProtocol)。除了物理层外,OSI模型中的其他6个对等层都存在对应的协议,如数据链路层协议、网络层协议等,对等实体利用对等协议进行通信以向高层提供服务。实际上,对等层之间的通信是虚拟通信,它们之间的通信是使用下--层提供的服务来实现的。同一网络中不同主机的对等层,要安装运行相同的网络协议,主机间才能进行有效通信。这可以概括为“协议是水平的”。

服务与接口:在OSI分层结构模型中,每一层实体为相邻的上一层实体提供的通信功能称为服务。N层实体利用N-1层实体所提供的服务,向N+I层实体提供功能更强大的服务。这可以概括为“服务是垂直的”。例如,传输层实体利用网络层实体的服务,向应用层实体提供网页传输服务。N层实体使用N-1层实体所提供的服务时,不需要知道N-1层实体所提供的服务是如何实现的以及N-1层实体间的协议,而只需要知道下一层可以为自己提供哪些服务(是快速昂贵通信还是慢速低廉通信),以及通过什么样的接口提供的。在OSI模型中,各层之间的接口都有统一的规则。N层的服务访问点SAP(ServiceAccessPoint)是N层实体提供服务给N+1层的地方,SAP可以理解为下层实体之间的逻辑传输通道。每一层的SAP都有一个唯一标明它的地址。一个N层可能存在多个SAP。

数据单元:在OSI环境中,对等实体间按协议进行通信,上下层实体间按服务进行通信。这些通信都依靠3种数据单元的传输来实现。

服务数据单元:为实现N层服务所要传送的逻辑数据单元,称为N层服务数据单元(ServiceDataUnit,SDU),简称SDU。例如,用户需要浏览某网站的网页,该用户所在计算机的应用层实体(如浏览器生成应用层SDU,再通过下一层实体提供的服务,最后将该SDU传送到对等应用层实体(如某网站计算机上Web服务器)。

协议数据单元:对等实体之间为实现该层协议所交换的信息单元(ProtocolDataUnit,PDU),称为协议数据单元。为了发送厅层的SDU,N层实体可能根据N层协议,将一个SDU划分为多个PDU。而在接收端,N层实体可能要将多个PDU恢复成一个N层的SDU。例如,用户请求网页信息被附加上HTTP(超文本传输协议)报头,变成PDU,而在网站服务器那端,如果用户申请的网页(即SDU)太长,则要被划分成多个PDU传送。

接口数据单元:在同一系统上下两层实体的交换信息中,经过SAP的信息单元(InterfaceDataUnit,IDU),称为接口数据单元,N层IDU由两部分组成,N层服务数据单元和一些供下一层实体用的控制信息(称为接口控制信息ICI)。

服务类型:在计算机网络协议的层次结构中,层与层之间具有服务与被服务的单向依赖关系,下层向上层提供服务,而上层调用下层的服务。因此可称任意相邻两层的下层为服务提供者,上层为服务用户。下层为上层提供的服务可分为两类:面向连接服务ConnectionOrientedservice)和无连接服务(ConectionlessService)。

面向连接服务:两个N层实体在数据交换前,必须先建立连接,即首先初始化状态信息。并且为N+1层实体的信息传输建立一个通道。在数据传输阶段,通过这些状态信息,第N层实体可以跟踪在它们之间的PDU交换及它们与更高层的SDU交换。当数据交换结束后应释放这个连接,即去除状态信息,释放建立连接时所分配的资源。

无连接服务:两个N层实体通信前,不需要先建立一个连接,即不需要事先进行预定保留状态信息。同一个用户到相同目的地的信息块都独立发送,接收端无需返回确认信息。如果信息在传输中丢失,就不再重发。不可靠的无连接的服务通常被称为数据报服务。

服务原语:服务是通过一组服务原语(Primitive)来描述的,这些原语供用户和其他实体访问服务,通知服务提供者采取某些行动或报告某个对等实体的活动。服务原语被分为如下4类:

请求(Request):由服务用户发往服务提供者,请求它完成某项工作。

指示(Indication):由服务提供者发往服务用户,指示发生了某些事件。

响应(Response):由服务用户发往服务提供者,对前面发生的指示的响应。

证实(Confirmation):由服务提供者发往服务用户,对前面发生的请求的证实。

3OSI七层模型分层原则

OSI是分层的体系结构,每一层是一个模块,用于完成某种功能,并具有自己的通信协议。ISO将整个OSI划分成七个层次,划分层次依据以下五个原则:

(1)网络中各节点具有相同的层次;

(2)网络中各节点同等层次功能相同;

(3)同一节点内相邻层通过接口通信;

(4)同一节点内底层向高层提供服务;

(5)网络中各节点同层通过协议通信。

OSI划分的七个层次由高到低依次为:Application(应用层)、Presentation(表示层)、Session(会话层)、Transport(传输层)、Network(网络层)、DataLink(数据链路层)和Physical(物理层)。其中应用层、表示层和会话层可以视为应用层,而剩余层则可视为数据流动层。

4.OSI七层模型各层的作用

4.1.物理层

物理层是参考模型中的最底层,主要定义了系统的电气、机械、过程和功能标准。如:电压、物理数据速率、最大传输距离、物理联接器和其他的类似特性。物理层的主要功能是利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作。物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征。

物理层负责0、1比特流(0/1序列)与电压的高低、光的亮与灭之间的转换,规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EIA/TIARS-、EIA/TIARS-、V.35、RJ-45、FDDI令牌环网、无线.1a-80.g等。

4.2.数据链路层

数据链路层是在通信实体问建立数据链路联接,传输的基本单位为“帧”,并为网络层提供差错控制和流量控制服务。数据链路层由MAC(介质访问控制子层)和LLC(逻辑链路控制子层)组成。介质访问控制子层的主要任务是规定如何在物理线路上传输帧。逻辑链路控制子层对在同一条网络链路上的设备之间的通信进行管理。数据链路控制子层主要负责逻辑上识别不同协议类型,并对其进行封装。也就是说数据链路控制子层会接受网络协议数据、分组的数据报并且添加更多的控制信息,从而把这个分组传送到它的目标设备。

数据链路层负责物理层面上的互联的、节点间的通信传输(例如一个以太网项链的2个节点之间的通信);该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame),数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等。

4.3.网络层

网络层主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能。网络层是以路由器为最高节点俯瞰网络的关键层,它负责把分组从源网络传输到目标网络的路由选择工作。互联网是由多个网络组成在一起的一个集合,正是借助了网络层的路由路径选择功能,才能使得多个网络之间的联接得以畅通,信息得以共享。网络层提供的服务有面向联接和面向无联接的服务两种。面向联接的服务是可靠的联接服务,是数据在交换之前必须先建立联接,然后传输数据,结束后终止之前建立联接的服务。网络层以虚电路服务的方式实现面向联接的服务。面向无联接的服务是一种不可靠的服务,不能防止报文的丢失、重发或失序。面向无联接的服务优点在于其服务方式灵活方便,并且非常迅速。网络层以数据报服务的方式实现面向无联接的服务。

网络层将数据传输到目标地址;目标地址可以使多个网络通过路由器连接而成的某一个地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能。

在这一层,数据的单位称为数据包(packet),网络层协议的代表包括:IP、IPX、RIP、OSPF等。

4.4.传输层

传输层是网络体系结构中高低层之间衔接的一个接口层。传输层不仅仅是一个单独的结构层,而是整个分析体系协议的核心。传输层主要为用户提供End—to—End(端到端)服务,处理数据报错误、数据包次序等传输问题。传输层是计算机通信体系结构中关键一层,它向高层屏蔽了下层数据的通信细节,使用户完全不用考虑物理层、数据链路层和网络层工作的详细情况。传输层使用网络层提供的网络联接服务,依据系统需求可以选择数据传输时使用面向联接的服务或是面向无联接的服务。

传输层只在通信双方的节点上(比如计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层;传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能。在这一层,数据的单位称为数据段(segment)。

传输层主要功能:①:为端到端连接提供传输服务;②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输;③:为端到端连接提供流量控制,差错控制,服务质量(QualityofService,QoS)等管理服务。

传输层包括的协议如下:

TCP:传输控制协议,传输效率低,可靠性强

UDP:用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(比如QQ)

DCCP、SCTP、RTP、RSVP、PPTP等协议。

4.5.会话层

会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。会话层在应用进程中建立、管理和终止会话。会话层还可以通过对话控制来决定使用何种通信方式,全双工通信或半双工通信。会话层通过自身协议对请求与应答进行协调。

会话层负责建立和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理。PS:其实在应用层、表示层、会话层这三层,协议可以共用。

4.6.表示层

表示层为在应用过程之间传送的信息提供表示方法的服务。表示层以下各层主要完成的是从源端到目的端可靠地的数据传送,而表示层更关心的是所传送数据的语法和语义。表示层的主要功能是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等。在网络带宽一定的前提下数据压缩的越小其传输速率就越快,所以表示层的数据压缩与解压被视为掌握网络传输速率的关键因素。表示层提供的数据加密服务是重要的网络安全要素,其确保了数据的安全传输,也是各种安全服务最为重视的关键。表示层为应用层所提供的服务包括:语法转换、语法选择和联接管理。

表示层将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。具体来说,就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不同;因此,主要负责使它们保持一致。

4.7.应用层

应用层是OSI模型中的最高层,是直接面向用户的一层,用户的通信内容要由应用进程解决,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,并且保证这些不同类型的应用所采用的低层通信协议是一致的。应用层中包含了若干独立的用户通用服务协议模块,为网络用户之间的通信提供专用的程序服务。需要注意的是应用层并不是应用程序,而是为应用程序提供服务。

应用层为应用程序提供服务并规定应用程序中通信相关的细节;包括的协议如下:

超文本传输协议HTTP:这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页

文件传送协议FTP:提供交互式的访问,基于客户服务器模式,面向连接使用TCP可靠的运输服务。主要功能:减少/消除不同操作系统下文件的不兼容性。

远程登录协议TELNET:客户服务器模式,能适应许多计算机和操作系统的差异,网络虚拟终端NVT的意义

简单邮件传送协议SMTP:Client/Server模式,面向连接,基本功能:写信、传送、报告传送情况、显示信件、接收方处理信件。

DNS域名解析协议:DNS是一种用以将域名转换为IP地址的Internet服务。

简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小。

简单网络管理协议(SNMP):SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议。

DHCP动态主机配置协议:发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名Options–可选参数字段,参考定义选择列表中的选择文件。

5.OSI参考模型为什么要分层

综观整个OSI模型的设计,可以归纳出以下优点。

1、分工合作,责任明确

性质相似的工作划分在同一层,性质相异的工作则划分到不同层。如此一来,每一层所负责的工作范围,都区分得很清楚,彼此不会重叠。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手。

2、对等交谈

对等是指所处的层级相同,对等交谈意指同一层找同一层谈,例如:第3层找第3层谈、第4层找第4层谈...依此类推。所以某一方的第N层只与对方的第N层交谈,是否收到、解读自己所送出的信息即可,完全不必关心对方的第N-1层或第N+1层会如何做,因为那是由一方的第N-1层与第N+1层来处理。其实,双方以对等身份交谈是常用的规则,这样的最大好处是简化了各层所负责的事情。因此,通信协议是对等个体通信时的一切约定。

3、逐层处理,层层负责

既然层次分得很清楚,处理事情时当然应该按部就班,逐层处理,决不允许越过上一层,或是越过下一层。因此,第N层收到数据后,一定先把数据进行处理,才会将数据向上传送给第N+1层,如果收到第N+1层传下来的数据,也是处理无误后才向下传给第N-1层。任何一层收到数据时,都可以相信上一层或下一层已经做完它们该做的事,层级的多少还要考虑效率与实际操作的难易,并非层数越多越好。

分享 转发
TOP
发新话题 回复该主题