OSI 的英文全程为Open Systems Interconnection ,中文全程为开放系统互联参考模型。是一个逻辑上的定义。主要用途使通信和计算系统自由互联,而不依赖其他架构或技。主要目标就是使用一个标准协议使不同平台的系统自由互联通信。为了更好的理解7层模型,抽象成层的概念,共分为7层。每一层即服务于上层,又被下一层所服务。

从低到高分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

注意:同一层的两个实例是相互可见的,并且是水平连接的。

OSI 模型最大的优点是将服务、接口和协议明确分开的,服务为上一层提供某些功能、接口为上层如何调用下层所提供的服务、协议则负责如何实现本层服务。因此,OSI模型中的每一次都具备很强的独立性,相互连接的网络中各层所采用的协议是没有限制的,只要向上层服务并且不改变接口即可。

OSI模型(Open Systems Interconnection)

层级

协议数据单元(PDU)

功能

举例

主机层

7.应用层

数据

高级APIs调用,包括资源共享、远程文件访问、目录服务和虚拟终端

NFS,SMB,AFP,FTAM,NCP

6.表示层

网络服务于应用件的数据传输,包括字节编码、数据压缩和加密/解密

CSS,GIF,HTML,XML,JSON,S/MIME

5.会话层

管理通信会话,如在两个节点间多次传输的持续信息交换

RPC,SCP,PAP,TLS,FTP,HTTP,HTTPS,SMTP,SSH,Telnet

4.传输层

TCP/UDP

同一网络中点对点的可靠数据段传输,包括切割、确认和复用

NBF,TCP,UDP

介质层

3.网络层

包(Package)

构建和管理多节点间网络,包括地址、路由和流量的控制

AppleTalk,ICMP,IPSec,IPv4,IPv6

2.数据链路层

帧(Frame)

在同一层相互连接的两个节点间进行数据帧的可靠传输

IEEE802.2,L2TP,LLDP,MAC,PPP,ATP,MPLS

1.物理层

比特(Bit)

通过物理介质传输和接收原始比特流

DOCSIS,DSL,Ethernet Physical Layer,ISDN,RS-232

OSI 模型中每个层级相互通信设备上的两个实体,在相同层级上使用协议交换Protocol Data Unit(PDU)。每个PDU中包含的有效数据叫作Service Data Unit(SDU),其包含每层协议相关的数据头和数据尾信息。在OSI模型中,两个相互通信的设备之间的数据处理过程如下:

1、  一个拥有N层的传输设备在其最高层将要传输的数据解析成Protocol Data Unit(PDU)。

2、  PDU传输到N-1层,在该层级,此PDU作为Service Data Unit(SDU)被识别。

3、  在N-1层,该SDU使用数据头、数据尾或二者共同使用进行连接、组合、生成全新的N-1层的PDU,然后继续将其传递给N-2层。

4、  拆分和组合的流程和动作会一直重复,直到数据达到底层,也就是数据从发送设备传递到目标设备。

5、  在目标设备上,数据已SDU格式从底层传递到最高层。在数据传递过程中,不断地剥离每层的数据头和数据尾,直到数据达到最高层,也就是数据最终被应用、消耗的地方。

网络OSI 7层模型的更多相关文章

  1. 网络OSI七层模型以及数据传输过程

    网络OSI七层模型 模型图 国际标准化组织(ISO)制定了osi七层模型,iso规定了各种各样的协议,并且分了7层 每一层的详细信息 具体7层 数据格式 功能与连接方式 典型设备 应用层 Applic ...

  2. 网络--OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

  3. 网络OSI七层模型及各层作用 与 TCP/IP

    背景 虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTT.CoAP.LWM2M.OPC),需要重新复习一下. OSI七层模型 七层模型,亦称OSI(Open System ...

  4. python网络编程-OSI七层模型详解

    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...

  5. TCP/IP 网络精讲:OSI七层模型(第二课)

    内容简介 1.前言 2.第一部分第二课:互联网的创立,OSI七层模型 3.第一部分第三课预告:OSI第一层,连接你的机器 前言 PS:昨天做了课程大纲之后,发现这个坑挖得有点大.不过既然挖了,岂有不跳 ...

  6. 简单了解下OSI七层模型的作用以及常见网络协议含义和所用端口

    OSI七层模型及每层的作用 包括:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层物理层用来建立.维护.断开物理连接数据链路层建立逻辑链接.进行硬件地址寻址.差错校验等功能网络层进行逻辑地址 ...

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

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

  8. 网络基础笔记——OSI七层模型

    OSI七层模型 由于整个网络连接的过程相当复杂,包含硬件.软件数据封包与应用程序的互相链接等等.假设想要写一支将联网所有功能都串连在一块的程序.那么当某个小环节出现故障时,整仅仅程序都须要改写.所以我 ...

  9. 网络分类及OSI七层模型

    一.网络分类: 局域网(LAN)是指在某一区域内由多台计算机互联成的计算机组.一般是方圆几千米以内.局域网可以实现文件管理.应用软件共享.打印机共享.工作组内的日程安排.电子邮件和传真通信服务等功能. ...

随机推荐

  1. VS2010插件之NuGet

    Visual Studio(简写VS)是.net程序员开发必不可少的开发工具,随着VS的版本不断的升级和使用用户的扩大,现在针对VS开发了许多的开源免费的插件,大大的方便了程序员的开发,提高了开发效率 ...

  2. Python3之定制类

    看到类似的__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的 Python中还有许多有特殊用途的函数,可以帮助我们定制类 __str__ 先定义一个S ...

  3. iOS——使用FMDB进行数据库操作(转载)

    iOS 使用FMDB进行数据库操作 https://github.com/ccgus/fmdb [摘要]本文介绍iOS 使用FMDB进行数据库操作,并提供详细的示例代码供参考. FMDB 使用方法 A ...

  4. golang 日志模块(log)

    log 日志 log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法 func New 创建log对象 func New(out io.Writer, prefix string, ...

  5. sersync参数说明

    -v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum 打开校验开关,强制对文件传输进行校验-a, --archive 归档模式,表示以递归方式传输文 ...

  6. 一个后端开发者的前端语言基础:JavaScript

    JavaScript (一) 基本概述 (1) 概述 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的 ...

  7. K8S从入门到放弃系列-(12)Kubernetes集群Coredns部署

    摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. 1)下载yaml配置清单 [root ...

  8. golang之面向对象编程

    1.Golang语言面向对象编程说明 1)Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言.所以我们说Golang支持面向对象编程特性是比较准确的. ...

  9. 使用SplFixedArray创建固定大小的数组

    PHP在定义数组的时候不用像C或Java一样定义数组大小,PHP数组可以根据我们的需要增长或收缩.但这种灵活性在内存使用方面带来很大的不便. 而PHP中可以使用SplFixedArray创建固定大小的 ...

  10. SpinWait

    其实SpinWait的code 非常简单,以前看过很多遍,但是从来都没有整理过,整理也是再次学习吧. 我们先看看SpinWait的一些评论或者注意点吧:如果等待某个条件满足需要的时间很短,而且不希望发 ...