浅谈OSI参考模型(七层模型)
很多人说“21世纪人类最伟大的发明就是计算机”;正是如此,21世纪的今天,计算机正对我们的社会发展和生活起居产生着不可估量的影响;电脑,手机都能上网随时随地了解多彩的世界。但是有时我们会想:我们人类友好交流时需要使用统一的语言,而计算机之间交流是否也需要一个沟通标准呢?答案是肯定的,osi参考模型(七层模型)也是由此产生的。
什么是OSI参考模型
OSI(Open System Interconnect),即开放式互联,是ISO(国际标准化组织)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
OSI参考模型的划分
OSI为网络开放系统定义了七层结构,
| 层数 | OSI参考模型 | 各层解释 |
|---|---|---|
| 第七层 | 应用层 | 为网络应用程序提供服务 |
| 第六层 | 表示层 | 处理数据格式和数据加密 |
| 第五层 | 会话层 | 建立、维护、管理会话 |
| 第四层 | 传输层 | 建立主机端到端的连接 |
| 第三层 | 网络层 | 寻址和路由选择 |
| 第二层 | 数据链路层 | 提供介质访问和链路管理 |
| 第一层 | 物理层 | 比特流传输 |
七层详解
物理层
物理层(physical layer):利用传输介质实现比特序列的传输。
物理层是传输的媒介,在线路中将0/1转换成电信号和光信号;就相当于是邮局与邮局之间的搬运工。
数据链路层
数据链路层(data link layer):采用差错控制与流量控制的方法,使得有差错的物理线路变成无差错的数据链路。
数据链路层,又称数链层;相互直连的设备之间需要使用地址实现物理传输,而这个地址就是MAC地址,也叫物理地址(注:任何一个网络设备都有一个唯一的身份识别码,这个识别码就是MAC地址,MAC地址是一串十六进制的12位数字编码);相当于邮局中的拆箱工人。
网络层
网络层(network layer):实现路由选择、分组、转发与拥塞控制等功能,为“分组”传输选择“最佳”的路由。
网络层的作用是寻址(ip地址就在网络层),将数据从发送端主机发送到接收端主机时,虽然两端主机之间有众多数据链路,但能够将数据准确地从发送端主机发送到接收端主机都是网络层的功劳;相当于邮局中集散中心的分拨排序工人,例如:邮件从沈阳发到上海,邮件先到沈阳集散中心,再到北京集散中心,再到上海集散中心;每个集散中心都可以看成一个ip地址。
传输层
传输层(transport layer):向高层用户提供可靠的“端——端”的通信服务,向高层屏蔽下层数据通讯的据体细节
传输层的一个重要作用是保证数据传输的可靠性,用于将建立和断开连接的实际行动,传输层为确保所有数据到达目标地址,会在通信两端计算机之间进行确认,如果数据没有到达或已损坏会负责进行重发;相当于公司中跑邮局的送信工人。
会话层
会话层(session layer):两个通信计算机之间的进程通信,管理数据交换。
会话层属于传输层的领导,决定采用何种连接方法以保证两端进行高效的数据交换是会话层的主要责任,管理传输层什么时间建立连接,什么时间断开连接;相当于公司中收寄信、写信封拆信封的秘书。
表示层
表示层(presentation layer):处理两个通信的计算机系统的数据表示方式,完成数据格式的变换,加密与解密,压缩与恢复
表示层是进行“统一的网络数据格式”和“某一台计算机或某一款软件特有的数据格式”之间的相互转换的分成;相当于替老板写信的助理(可以进行内容加密处理)。
应用层
应用层(application):为应用软件提供多种网络服务,例如:万维网,文件传输,电子邮件等其他服务
每一个网络应用都对应不同的协议,这些协议就属于应用层。
工作流程
数据在发送时由第七层至第一层依次封装,接收端在收到数据包后从第一层至第七层依次拆包,如图:

TCP/IP协议栈


浅谈OSI参考模型(七层模型)的更多相关文章
- OSI 网络七层模型(笔记)
一直以来我们都在使用着互联网,每天聊着qq,上着淘宝,但是却不了解怎么运行的呢,充满了好奇.今天同过了解来总结一下OSI网络七层模型: 上一张图 OSI (open system interconne ...
- OSI 的七层模型
一.概念 概念:开放系统互联参考模型,是由 ISO(国际标准化组织)定义的.目的:规范不同系统的互联标准,使两个不同的系统能够较容易的通讯. 网络刚面世时,通常只有同一家厂商的计算机才能彼此通讯.OS ...
- OSI网络七层模型、TCP/IP 模型(四)
OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”. OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层.数据链路层.网络层.传输层.会话层 ...
- OSI的七层模型介绍
应用层: 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层: 数据格式化,代码转换,数据加密 没有协议. (信息的语法语义以及它们的 ...
- 浅谈OSI七层模型及ICP/IP四层模型
1.OSI七层模型的概念 在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型. 一台计算机操作系统中的网络过程包括从应用请求(在协议栈 ...
- 浅谈OSI七层网络模型和TCP/IP四层模型
OSI七层网络模型 OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. OSI七层模型 功能 ...
- 简谈OSI七层模型(网络层)
七层模型,亦称OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. 它是一个七层的.抽象的模型 ...
- OSI七层模型详解 TCP/IP协议
总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...
- python网络编程-OSI七层模型详解
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...
随机推荐
- Apache本机不同端口多站点配置:httpd-vhosts.conf(转载)
环境:Apache2.2.9,Resin-3.1.6,Win Server 2003 1.解压Resin至任意目录,我的是D:; 2. 安装Apache,具体操作下一步.下一步即可,其中要配置的地方是 ...
- mysql 连接url中需要添加useUnicode=true&characterEncoding=UTF-8
下面是示例: 数据库中Username是张三 在数据库配置时没有配置编码 useUnicode=true&characterEncoding=UTF-8 导致期望与实际不同 配置useUni ...
- WebSocket协议中文版
WebSocket协议中文版 摘要 WebSocket协议实现在受控环境中运行不受信任代码的一个客户端到一个从该代码已经选择加入通信的远程主机之间的全双工通信.用于这个安全模型是通常由web浏览器使用 ...
- Spring Security OAuth2.0认证授权四:分布式系统认证授权
Spring Security OAuth2.0认证授权系列文章 Spring Security OAuth2.0认证授权一:框架搭建和认证测试 Spring Security OAuth2.0认证授 ...
- 使用OpenCV进行简单的人像分割与合成
图像合成 实现思路 通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像. 实现步骤如下. 使用BackgroundSubtractorMO ...
- 网络之HTTPS
文章目录 HTTPS的基本概念 HTTP和HTTPS的区别 HTTPS的优点 对称加密和非对称加密 对称加密 非对称加密 HTTPS采用的加密方式 认证 证书的组成 使用openssl怎么制造证书 H ...
- 【Linux】ntp的一些坑。你肯定遇到过
ntpdate提示 19 Jan 10:33:11 ntpdate[29616]: no server suitable for synchronization found 这种问题从下面几个点开始验 ...
- 哈佛商学院MBA管理课程
课程示例:向上管理 课程 什么是向上管理? 了解自己和上司 建立合作关系 与上司进行有效沟通 管理糟糕的上司 向上管理课程内容: 全部课程目录 全部为离线文件(可有偿提供) 包括课程的全部内容,视频. ...
- HTTP Keep-Alive模式客户端与服务器如何判定传输完成
目录 长连接是什么 服务器如何知道已经完全接受客户端发送的数据 客户端如何知道已经完全接受服务端发送的数据 Transfer-Encoding transfer-coding与Content-Leng ...
- JavaScript——深入了解this
前言 我曾以为func()其实就是window.func() function func(){ console.log('this : ' + this); } func();//this : [ob ...