OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。下面我们将一层一层的看OSI协议。

第一层:物理层

其实说到计算机网络,要解决的最主要任务就是将一台设备的信息通过某些介质传输到另一台设备,这个信息格式一般就是比特流,物理层主要定义介质的标准:网线类型,光纤接口类型,各种传输介质的传输速率及类型等等。一般是通过数模转换再到模数转换来实现比特流的传输,平常说的无线网卡就是工作在这一层。最上层写的是高级语言,但是一直到计算机底层就会变成01码来传输。但是我们怎么确定我们传的设备一定是我们想要传的设备。所以接下来就到数据链路层。

第二层:数据链路层

这一层是物理层的上一层,在物理层我们主要解决硬件设备和模数之间转换的问题,到了数据链路层,我们主要解决的就是传输的目的地是否正确的问题。数据链路层定义了如何格式化数据以进行传输,同时也控制计算机对物理介质的访问,并且提供数据的检测和纠错,确保了数据的可靠性。在数据链路层检测数据传输错误的方法一般是通过对差错编码进行校验来实现,常见的有奇偶校验码(PCC)和循环冗余校验(CRC)。并且会把比特流的数据格式化成帧。而数据链路层也有三种纠错方案:反馈检测法(接收到的帧返回给发送方,由发送方确认),空闲重发请求(发送的帧带有校验码,接收方确认是否数据错了),连续重发请求(不等当前帧确认正确之后就发下一帧,接收方确认当前帧错了,再让发送方发)。交换机工作在这一层,随着设备的增加,我们如何让帧通过最短路径发送过去呢?接下来到网络层。

第三层:网络层

主要功能是将网络地址翻译成物理地址,并且考虑数据如何从发送方路由到接收方。通过考虑发送优先权,网络拥塞程度,服务质量,以及可选路由程度来进行路径传输的规划。这也叫做路由选择算法。在这一层数据就不再是帧了而是数据包来传输,IP协议就在这层。在这不详细介绍,后面会单独来介绍。

第四层:传输层

网络并不是每时每刻都是特别流畅的,当我们在下载一个电影的时候数据是分段来进行传输的。传输层会进行流量控制并且也会对较大的数据包进行强制分割,达到能让接收方进行接收。同时由于数据都被切分,所以到达的时候需要重组,发送方通常会对数据片进行标号,以至于能还原回去。同样TCP和UDP也会在后面详细介绍。

第五层:会话层

用来建立和管理应用程序的通信,以便于应用程序能自动收发包和寻址。但是不同系统下的命令语言不一样,为了解决在两个不同系统之间的通信问题,就需要用到表示层

第六层:表示层

用来解决不同系统的表示语法问题以及它们之间的关联问题,比如加密解密、转换翻译、压缩和解压缩等等。尽管表示层能将不同系统的表示语法全部转换成网络能理解的语法来通信,但是这种转换会因网络的不同而导致转换方法的不同,发送方知道自己要发什么,但是接受方并不一定能翻译回来。所以这里就需要应用层

第七层:应用层

规定了发送方发送的消息必须要带上消息头,接收方就可以根据消息头里的信息来进行翻译数据,这一层最重要的就是HTTP协议了,同样后面会详细介绍。

下面这幅图就是上面七层的抽象图

注意:OSI只是一个概念性的框架,在实际中并没有具体的方法,而实际中就可认为OSI的“实现”是TCP/IP协议

OSI参考模型总结的更多相关文章

  1. 【转】TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  2. OSI参考模型及各层功能,TCP与UDP的区别

    OSI参考模型:ISO/IEC 7498标准定义了网络互联的7层结构模型,即开放系统互连参考模型. OSI参考模型定义了开放系统的层次结构.层次之间的相互关系,以及各层所包括的可能的服务.OSI的服务 ...

  3. TCP/IP协议栈及OSI参考模型详解

    OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设 ...

  4. OSI参考模型 VS TCP/IP参考模

    OSI参考模型 VS TCP/IP参考模   TCP/IP各层对应的协议   TCP/IP的层                                对应的TCP/IP协议           ...

  5. TCP/IP协议原理与应用笔记06:OSI参考模型全称

    1. ISO是一个组织,OSI是一个模型. 2. OSI不是协议,是网络体系结构的概念模型 3. OSI参考模型全称为: Open System Interconnection Reference M ...

  6. OSI参考模型初识

    纪念我曾今热爱的数通(^o^). 1.osi参考模型 2.数据的封装和解封装 3.主机和主机间通信

  7. OSI参考模型各层的主要功能

    OSI参考模型将整个通信功能划分为7个层次,其划分的主要原则是: 1网络中各主机有相同的层次 2 不同主机的同等层具有相同的功能 3同一主机内相邻层之间通过接口通信 4 每层可以使用下层提供的服务,并 ...

  8. TCP/IP四层模型与OSI参考模型

    TCP/IP四层模型: 1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序.计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路. 3.运输层:主要 ...

  9. osi参考模型(开放系统互连参考模型)

    自互联网诞生以来,随着网络飞速发展,用户迫切要求能在不同体系结构的网络空间交换信息,使得不同的网络能够互联起来. 国际化标准组织(International Organization for Stan ...

  10. 理解OSI参考模型(转)

    文章转自 https://www.cnblogs.com/evablogs/p/6709707.html 一个视频网站上不小心搜到网络知识的视频,突然以前大学的没有真正接受的知识点,一下子豁然开朗,赶 ...

随机推荐

  1. RecyclerView 添加自定义分割线

    默认的浅灰色的分割线在某些时候并不能满足我们的要求,这时就需要自定义分割线了. 我们可以通过两种方式来实现:调用 DividerItemDecoration.setDrawable 方法或者继承实现 ...

  2. 解决Android调用相机拍照,要报“打开相机失败”查看debug日志显示“setParameters failed”的问题

    使用CameraLibrary项目,在部分手机或平板上不能正常使用,要报“打开相机失败”查看debug日志显示“setParameters failed”. 找到CameraView.java中的se ...

  3. 配置Servlet 容器

    SpringBoot默认使用Tomcat作为嵌入式的Servlet容器: 1.如何定制和修改Servlet容器的相关配置: 1.修改和server有关的配置(ServerProperties[也是Em ...

  4. linux搭建TFTP服务

    1.安装tftp服务和客户端 sudo apt-get install xinetd tftp tftpd 2.配置 vim /etc/xinetd.d/tftp 内容如下: service tftp ...

  5. 代码管理平台之git

    yum install -y gitmkdir -p /date/gitrootcd !$git init git add 1.txtgit commit -m "add 1.txt&quo ...

  6. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

  7. Linux 周期任务

    一次性任务 在某个特定的时间,执行一次后被清除 相关命令/进程 at 命令 atd进程 在centos6中,系统服务的名称: /etc/init.d/atd 查看系统上该进程时候启动: [root@e ...

  8. idea使用maven中的tomcat插件开启服务出现java.net.BindException: Address already in use: JVM_Bind :8080错误原因

    [INFO] create webapp with contextPath: /maven_web 五月 11, 2019 6:05:26 下午 org.apache.coyote.AbstractP ...

  9. 过滤器(Filter)对登陆页面进行过滤验证

    import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServl ...

  10. C lang:Protect array data——Const

    Xx_Introduction Use pointer translate parameter array original data will change data,and use const p ...