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. sql server无法连接本地服务器

    当连接sql server本地服务器 报一下错误: 标题: 连接到服务器 ------------------------------ 无法连接到 localhost. ---..... 打开wind ...

  2. flask项目统一捕获异常并自定义异常信息

    背景:      在日常编写了一些flask项目,主要用于测试方面的mock场景,但迭代到后期发现有时候会抛出各种乱七八糟的异常或者直接500且没有任何异常信息,这种情况一般都是某个代码块没有用try ...

  3. python 打飞机项目 (实战一)

    第一步定义 main 函数: # -*- coding=utf-8 -*- import pygame,time from Plane import Plane from pygame.locals ...

  4. HUE Oozie : error=2, No such file or directory采坑记录

    HUE Oozie : error=2, No such file or directory采坑记录 1.错误详情 一直都是同一种方式在hue上定义workflow,不知为啥 今天定义的就是不行... ...

  5. 对python函数后面有多个括号的理解?

    一般而言,函数后面只有一个括号.如果看见括号后还有一个括号,说明第一个函数返回了一个函数,如果后面还有括号,说明前面那个也返回了一个函数.以此类推. 比如fun()() def fun(): prin ...

  6. 为什么 netstat 对某些服务只显示了 tcp6 监听端口

    最近偶尔发现一个比较奇怪的现象,netstat 查看监听的服务端口时,却只显示了 tcp6 的监控, 但是服务明明是可以通过 tcp4 的 ipv4 地址访问的,那为什么没有显示 tcp4 的监听呢? ...

  7. Maven详解(非原创)

    文章大纲 一.maven功能介绍二.maven整合javaweb案例三.私服应用(了解)四.总结五.相关资料下载六.参考文章 一.maven功能介绍 1. maven基本介绍   Maven的Apac ...

  8. idea开发时springboot项目时的自动编译和热部署

    前提:最好将idea的启动器设置一下 操作:1.file > Build,Execution,Deployment > Compiler 勾选 Build project automati ...

  9. vue element-ui父列表和子列表同时出现时的bug

    在项目中遇到这样的问题 当第一个父列表下的子列表选择了1,切换到第二个父列表的时候,也会默认选择1 我最开始是计划通过修改子列表的default-active为-1,结果不行 后来发现出现这个问题的原 ...

  10. <挑战程序设计竞赛> poj 3320 Jessica's Reading Problem 双指针

    地址 http://poj.org/problem?id=3320 解答 使用双指针 在指针范围内是否达到要求 若不足要求则从右进行拓展  若满足要求则从左缩减区域 代码如下  正确性调整了几次 然后 ...