CCNA 之 二 OSI七层模型
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七层模型的更多相关文章
- TCP/IP四层模型和OSI七层模型
TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对 ...
- TCP/IP四层模型和OSI七层模型的概念
转:http://blog.csdn.net/superjunjin/article/details/7841099/ TCP/IP四层模型 TCP/IP是一组协议的代名词,它还包括许多协议,组成了T ...
- 浅谈OSI七层模型及ICP/IP四层模型
1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...
- OSI七层模型与TCP/IP五层模型
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我们先 ...
- OSI七层模型与TCP/IP五层模型(转)
reference:https://www.cnblogs.com/qishui/p/5428938.html 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能 ...
- OSI七层模型与TCP/IP四层模型
OSI七层模型与TCP/IP四层模型 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图 ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...
- OSI七层模型与TCP/IP五层模型详解
博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始搞了. 一.OSI参考模型 今天我 ...
- TCP/IP:完全弄清OSI七层模型
OSI七层背景概述 诞生于1983年,iso(国际标准委员会)设计并推出. 目的:实现网络行业的兼容性 OSI七层模型与TCP/IP相对应的层次: 一般来说,我们把上三层被称为应用层,下四层被称为数据 ...
随机推荐
- WinForm:如何在ListBox中添加CheckBox
http://www.cnblogs.com/myshell/archive/2010/09/24/1834184.html 最近因为做WinForm的项目,遇到这个问题,当时以为CheckedLis ...
- ubuntu移动分区,修改目录挂在点
由于/tmp目录空间有点小,导致安装一个大软件的时候提示/tmp空间不足,最后通过创建新分区,并将新分区挂在到/tmp下,把/tmp空间扩大. 安装gparted 输入如下命令: sudo apt-g ...
- Taro -- 使用 Redux 来进行全局变量的管理
前言 Redux是JavaScript 状态容器,提供可预测化的状态管理.一般来说,规模比较大的小程序,页面状态,数据缓存,需要管理的东西太多,这时候引入Redux可以方便的管理这些状态,同一数据,一 ...
- linux命令之 repeat 重复执行命令
$ vim ~/.bashrc function repeat() { number=$1 shift echo $@ for n in $(seq $number); do $@ done } $ ...
- Python链接liunx 带尝试
本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法.分享给大家供大家参考.具体分析如下: python下有个paramiko模块,这个模块可以实现ssh登录lin ...
- 五、Ubuntu 16.04 安装PyCharm
方法一,在终端用指令通过第三方源安装pycharm. 本文通过第三方源安装PyCharm,好处是升级方便. 添加源: $ sudo add-apt-repository ppa:mystic-m ...
- 切面AOP的切点@Pointcut用法
格式: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern ...
- VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)
1.下载Ubuntu镜像文件 最新版本:https://ubuntu.com/download/desktop 老版本:http://old-releases.ubuntu.com/releases/ ...
- navicat连接客户端报错
怎么感觉oracle和sql server是一个货色.装个服务得装半天,还是mysql好,一下子就好了!下面有一个在centos7上面安装oracle11g的详细步骤,感觉找不到比这个更详细的了吧! ...
- Java缓冲字符读取
public class BufferedReaderDemo { public static void main(String[] args) throws IOException { // 创建流 ...