OSI网际互联

OSI的概念

英文全称Open System Interconnect 开放系统互联参数模型,是由ISO国际标准化组织 定义的。它是个灵活的、稳健的和可互操作的模型,并不是协议,使用来了解和设计网络体系结构的。

OSI模型的目的

规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或软件的罗技。

OSI模型分为七层

OSI把网络按照层次分为七层,由上到下分别为:

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

如何理解OSI七层模型:
A公司 B公司 之间的合作来比喻

A公司 和 B公司的体系都很完善,有总经理、财务、法务、人事、行政等,A、B两家公司约定好了某种规则,签合同的流程都需要上级的一层层的审批,而A、B两个公司之间直接沟通的是最底层的行政来进行处理,并且提交一层一层的领导审核通过后,最终签订了合同。

OSI网际互联

整个通信的过程都能通过OSI模型进行参考。

通常,我们会把上面的三层成为应用集合,下四层称为数据流集合

每层对应的功能如下图:

OSI七层模型的特性:

  • OSI模型每层都有自己的功能集;
  • 层与层之间相互独立又相互依靠;
  • 上层依赖于下层,下层为上层提供服务;

应用层

为应用软件提供接口,使应用程序能够使用网络服务
常见的应用协议:HTTP(80)、ftp(20/21)、smtp(25)、pop3(110)、telnet(23)、dns(53)等

表示层

  • 数据的解码盒编码
  • 数据的加密和解密
  • 数据的压缩和解压缩

会话层

简历、维护、管理应用程序之间的会话,对话控制和同步

传输层

负责建立端到端的链接,保证保温在端到端之间的传输
传输层的功能:服务点编址、分段和重组、链接控制、流量控制、错差控制。

网络层

负责将分组数据从源端传输到目的端,接触到最多的就是IP的协议
IP 是一个 以点分割十进制的组合,叫 点分十进制,换算成二进制是32位。
一个IP地址的组成,是由 网络号 + 主机号
在这一层是以数据包来进行数据传输,在不同的网络之间进行数据传输。
功能:为网络设备提供逻辑地址,进行路由选择和分组转发
工作在这一层设备有:路由器
路由器主要的功能:

  • 广播、组播控制
  • 对数据做寻址,选择到达目的网络的最佳路径
  • 流量管理
  • 链接广域网(WAN)

数据链路层

在不可靠的物理链路上,提供可靠的数据传输服务,把帧Frame从一跳(节点)移动到另一跳(节点)。
重要的概念是MAC地址,在相同的网络内进行数据传输。MAC地址是由16进制组成,共48位。
MAC分为两部分,前八位和后八位,前八位是IEEE assigned给厂家和机构的,用来区分,后八位是企业或厂家内部来定义。

在这一层是以来进行数据传输。
功能:组帧、物理编址、流量控制、错差控制、接入控制

物理层

负责吧逐个的比特从一跳(节点)移动到另一跳(节点)
在这层以比特bits来进行数据传输。
功能:

  • 定义接口和媒体的物理特性
  • 定义比特的表示、数据传输速率、信号的传输模型(单工、半双工、全双工)
  • 定义网络物理拓扑(网状、星型、环形、总线型等拓扑)

那么数据在传输过程中,如何在OSI七层模型中工作的呢?

如A用户给B用户发一个数据,并且A用户和B用户是不同的网络。

A的应用程序会先发送一个数据要从B上下载一个数据
表示层会加密和压缩等
会话层负责管理会话
传输层识别上层不同的服务,并把上层下来的数据包进行分段,同时保证A和B的一个连接
网络层这里,会对上层下来的数据进行打包,并贴上原地址A和目标地址,并把数据加入到后面
数据链路层会把上层下来的数据包前面贴上源MAC地址、目标MAC地址等一些标签
在物理层把帧变成比特 101010111这样的。

然后要传输的数据到了路由器这里,路由器会对数据流进行逆向的一个解析,从比特到帧再到数据包,路由器找到B的地址,路由器会查找自己的地址,发现数据包是去往B的,然后路由器又会重新对数据包向下增加标签,然后把数据发送给B,
B会对数据流进行OSI逆向的数据剥离,最终得到数据。

这个传输的过程,数据从上到下的过程叫做 封装过程,而数据到B这边由下至上的过程叫做 解封装过程

下图为封装过程

下图为解封装过程

CCNA 之 二 OSI七层模型的更多相关文章

  1. TCP/IP四层模型和OSI七层模型

    TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对 ...

  2. TCP/IP四层模型和OSI七层模型的概念

    转:http://blog.csdn.net/superjunjin/article/details/7841099/ TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了T ...

  3. 浅谈OSI七层模型及ICP/IP四层模型

    1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...

  4. OSI七层模型与TCP/IP五层模型

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型         今天我们先 ...

  5. OSI七层模型与TCP/IP五层模型(转)

    reference:https://www.cnblogs.com/qishui/p/5428938.html         博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...

  6. OSI七层模型与TCP/IP四层模型

    OSI七层模型与TCP/IP四层模型 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图 ...

  7. 软件开发架构、网络基础知识、osi七层模型

    一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...

  8. OSI七层模型与TCP/IP五层模型详解

    博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了.   一.OSI参考模型         今天我 ...

  9. TCP/IP:完全弄清OSI七层模型

    OSI七层背景概述 诞生于1983年,iso(国际标准委员会)设计并推出. 目的:实现网络行业的兼容性 OSI七层模型与TCP/IP相对应的层次: 一般来说,我们把上三层被称为应用层,下四层被称为数据 ...

随机推荐

  1. WinForm:如何在ListBox中添加CheckBox

    http://www.cnblogs.com/myshell/archive/2010/09/24/1834184.html 最近因为做WinForm的项目,遇到这个问题,当时以为CheckedLis ...

  2. ubuntu移动分区,修改目录挂在点

    由于/tmp目录空间有点小,导致安装一个大软件的时候提示/tmp空间不足,最后通过创建新分区,并将新分区挂在到/tmp下,把/tmp空间扩大. 安装gparted 输入如下命令: sudo apt-g ...

  3. Taro -- 使用 Redux 来进行全局变量的管理

    前言 Redux是JavaScript 状态容器,提供可预测化的状态管理.一般来说,规模比较大的小程序,页面状态,数据缓存,需要管理的东西太多,这时候引入Redux可以方便的管理这些状态,同一数据,一 ...

  4. linux命令之 repeat 重复执行命令

    $ vim ~/.bashrc function repeat() { number=$1 shift echo $@ for n in $(seq $number); do $@ done } $ ...

  5. Python链接liunx 带尝试

    本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法.分享给大家供大家参考.具体分析如下: python下有个paramiko模块,这个模块可以实现ssh登录lin ...

  6. 五、Ubuntu 16.04 安装PyCharm

    方法一,在终端用指令通过第三方源安装pycharm. 本文通过第三方源安装PyCharm,好处是升级方便. 添加源:    $ sudo add-apt-repository ppa:mystic-m ...

  7. 切面AOP的切点@Pointcut用法

    格式: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern ...

  8. VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)

    1.下载Ubuntu镜像文件 最新版本:https://ubuntu.com/download/desktop 老版本:http://old-releases.ubuntu.com/releases/ ...

  9. navicat连接客户端报错

    怎么感觉oracle和sql server是一个货色.装个服务得装半天,还是mysql好,一下子就好了!下面有一个在centos7上面安装oracle11g的详细步骤,感觉找不到比这个更详细的了吧! ...

  10. Java缓冲字符读取

    public class BufferedReaderDemo { public static void main(String[] args) throws IOException { // 创建流 ...