zoukankan      html  css  js  c++  java
  • 开放系统互联(OSI)模型

    开放系统互联(OSI)模型

    是由国际标准化组织(ISO)于1984年提出的一种标准参考模型,是一种关于由不同供应商提供的不同设备和应用软件之间的网络通信的概念性框架结构。它被公认为是计算机通信和 internet 网络通信的一种基本结构模型。

    OSI 七层参考模型中的ISO协议(ISO Protocols)

    当今使用的大多数网络通信协议都是基于 OSI 模型结构。OSI 模型将通信处理过程定义为七层,并将网络计算机间的移动信息任务划分为七个更小的、更易管理的任务组。各个任务或任务组被分配到 ISO 参考模型各层。各层相对独立(self-contained),从而使得分配到各层的任务能够独立实现。这样当其中一层提供的某解决方案更新时,它不会影响其它层。每一层使用下层提供的服务,并向上层提供服务。

    • 物理层(physical layer)

      • 是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础

      • OSI采纳了各种现成的协议,其中有RS-232、RS-449、X.21、V.35、ISDN、以及FDDI、IEEE802.3、IEEE802.4、和IEEE802.5的物理层协议

      • 主要功能是完成相邻结点之间原始比特流传输

      • 物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。

      • 物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。

      • 为数据端设备提供传送数据通路、传输数据

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

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

      • 物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设
        备。

      DTE即数据终端设备,又称物理设备,如计算机、终端等都包括在内。而DCE则是数据通信设备或电路连接设备,如调制解调器等。

      数据传输通常是经过DTE──DCE,再经过DCE──DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头,接收器,发送器,中继器等都属物理层的媒体和连接器。

      • 是OSI参考模型中的第二层,介乎于物理层和网络层之间
      • 数据链路控制协议也称链路通信规程,也就是OSI参考模型中的数据链路层协议。链路控制协议可分为异步协议和同步协议两大类

      主要协议有

      • 点对点协议(Point-to-Point Protocol)
      • 以太网(Ethernet);
      • 高级数据链路协议(High-Level Data Link Protocol);
      • 帧中继(Frame Relay);
      • 异步传输模式(Asynchronous Transfer Mode);
      • 主要功能是如何在不可靠的物理线路上进行数据的可靠传输
      • 定义了在单个链路上如何传输数据

      如何将数据组合成数据块,在数据链路层中称这种数据块为帧,帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理

      物理链路(物理线路):是由传输介质与设备组成的。原始的物理传输线路是指没有采用高层差错控制的基本的物理传输介质与设备。

      数据链路(逻辑线路):在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。

    • 网络层(network layer)

      • 是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务
      • 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址路由选择连接的建立、保持和终止

      简单理解:在古代,要把一封信从广州送到北京,广州和北京中间有许多的驿站,这就构成一个通信子网,选择哪条线路,怎么走就是网络层做的事情

      • 网络层协议
      • TCP/IP网络层的核心是IP协议,它是TCP/IP协议族中最主要的协议之一。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。
      • CONP:面向连接网络协议 (CONP:Connection-Oriented Network Protocol)
      • ES-IS:终端系统和中间系统路由交换协议 (ES-IS:End System to Intermediate System Routing Exchange protocol)
      • IDRP:域间路由选择协议 (IDRP:Inter-Domain Routing Protocol)
      • IS-IS:中间系统到中间系统协议 (IS-IS:Intermediate System to Intermediate System)
      • ISO-IP CLNP:无连接网络协议 (ISO-IP CLNP:Connectionless Network Protocol)
    • 传输层(transport layer)

      • 是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层。也称为运输层,在OSI七层模型中传输层是负责数据通信的最高层,又是面向网络通信的低三层和面向信息处理的高三层之间的中间层
      • 主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务
      • 传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程。而在数据传送阶段又分为一般数据传送和加速数据传送两种形式
      • 网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。计算机网络中的资源子网是通信的发起者和接收者,其中的每个设备称为端点;通信子网提供网络中的通信服务,其中的设备称为节点。
      • 传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)用户数据报协议UDP(User Datagram Protocol)

      TCP连接是基于字节流的:UDP是基于报文流的。

      TCP是一个可以保证可靠数据传输的传输层协议,主要采用采用以下四个机制实现数据可靠性传输。

      • 字节编号机制:TCP数据段以字节为单位对数据段的"数据"部分进行一一编号,确保每一个字节的数据都可以有序传送和接收。
      • 数据段确认机制:每接收一个数据段都必须有接收端向发送端返回确认数据段,其中的确认号表示已经正确接收的数据段序号。
      • 超时重传机制:TCP中有一个重传定时器(RTT),发送一个数据段的同时也开启这个定时器,如果定时器过期之时还没有返回确认,则定时器停止,重传该数据。
      • 选择性确认机制:(Selective ACK,SACK)/只重传缺少部分的数据,不会重传那些已经正确接收的数据。

      UDP适合于实时数据传输,比如语音和视频通信。相比TCP,UDP的传输效率更高,开销更小,但是无法保证数据传输可靠性

    • 会话层(Session Layer)

      • 允许不同机器上的用户之间建立会话关系。允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件。
      • 会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任一时刻只能单向传输
      • 一种与对话控制有关的服务是令牌管理(token management)

      有些协议会保证双方不能同时进行同样的操作,这一点很重要。为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。

      • 另一种会话层服务是同步

      如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件。当网络再次出现大故障时,可能又会半途而废。为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理)

    • 表示层(Presentation Layer)

      • 位于OSI分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作

      这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。与第五层提供透明的数据运输不同,表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩。每台计算机可能有它自己的表示数据的内部方法,例如,ASCII码与EBCDIC码,所以需要表示层协定来保证不同的计算机可以彼此理解。

      例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要表示层来完成这种转换。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法以及在接收方做相反的转换等工作都是由表示层来完成的。

      • 表示层为应用层提供的服务有三项内容
        • 语法转换:语法转换涉及代码转换和字符集的转换,数据格式的修改、数据结构操作的适配、数据压缩、数据加密等。
        • 语法选择:语法选择是提供初始选择的一种语法和随后修改这种选择的手段。
        • 联接管理:利用会话层提供的服务建立表示联接,管理在这一联接之上的数据运输和同步控制,以及正常或非正常地终止联接。
    • 应用层(applocation layer)

      • 是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务.其服务元素分为两类:公共应用服务元素CASE和特定应用服务元素SASE.

      CASE提供最基本的服务,它成为应用层中任何用户和任何服务元素的用户,主要为应用进程通信,分布系统实现提供基本的控制机制;特定服务SASE则要满足一些特定服务,如文卷传送,访问管理,作业传送,银行事务,订单输入等。这些将涉及到虚拟终端,作业传送与操作,文卷传送及访问管理,远程数据库访问,图形核心系统,开放系统互连管理等等

      • 由于每个应用有不同的要求,应用层的协议集在OSI模型中并没有定义。但是,有些确定的应用层协议,包括虚拟终端、文件传输、电子邮件等都可以作为标准化的候选

      一组通信协议,它们一起工作,在OSI参考模型的某几层或全部7层中作为一个组进行通信。并不是每一个协议栈都包括OSI模型的每一层,通常协议集中的一个协议就涉及到几层。TCP/IP是一个典型的协议集。

      • 协议举例
        • DNS域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送
        • HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。
        • FTP是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。
  • 相关阅读:
    10 个深恶痛绝的 Java 异常。。
    为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
    推荐一款代码神器,代码量至少省一半!
    Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
    hdu 3853 LOOPS(概率 dp 期望)
    hdu 5245 Joyful(期望的计算,好题)
    hdu 4336 Card Collector(期望 dp 状态压缩)
    hdu 4405 Aeroplane chess(概率+dp)
    hdu 5036 Explosion(概率期望+bitset)
    hdu 5033 Building (单调栈 或 暴力枚举 )
  • 原文地址:https://www.cnblogs.com/Dewumu/p/12219006.html
Copyright © 2011-2022 走看看