介绍一下OSI七层模型


Posted in 面试题 onJuly 03, 2012
OSI是一个开放式系统互联参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。
OSI的7层从上到下分别是
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
网络设备间的通信
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能:
(1)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。
(2)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的介质有关。示例:ATM,FDDI等。
(3)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
互操作性
(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
(5)会话层:他定义了如何开始、控制和结束一个会话。示例:RPC,SQL等。
(6)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。
(7)应用层:与其他计算机进行通讯的一个应用,它是 对应 应用程序的 通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
OSI 参考模型将整个网络通信的功能划分为七个层次,见图1。它们由低到高分别是物理层(PH)、链路层(DL)、网络层(N)、传输层(T)、会议层(S)、表示层(P)、应用层(A)。每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持。
第四层到第七层主要负责互操作性,而一层到三层则用于创造两个网络设备间的物理连接.
1.物理层
物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础。物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
2.数据链路层
数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.
每次通信都要经过建立通信联络和拆除通信联络两过程.这种建立起来的数据收发关系
就叫作数据链路.
而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错.数据链路的建立,拆除,对数据的检错,纠错是数据链路层的基本任务。
3.网络层
路由选择和中继.
3.1.1
3.1.2激活,终止网络连接.
3.1.3在一条数据链路上复用多条网络连接,多采取分时复用技术 .
3.1.4差错检测与恢复.
3.1.5排序,流量控制.
3.1.6服务选择.
3.1.7网络管理.
4.传输层
5.会话层
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。这种能力对于传送大的文件极为重要。
6.表示层
表示层的作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要表示层来完成这种转换。
7.应用层
讨论:OSI七层模型是一个理论模型,实际应用则千变万化,因此更多把它作为分析、评判各种网络技术的依据;对大多数应用来说,只将它的协议族(即协议堆栈)与七层模型作大致的对应,看看实际用到的特定协议是属于七层中某个子层,还是包括了上下多层的功能。
这样分层的好处有:
1.使人们容易探讨和理解协议的许多细节。
2.在各层间标准化接口,允许不同的产品只提供各层功能的一部分,(如路由器在一到三层),或者只提供协议功能的一部分。(如Win95中的Microsoft TCP/IP)
3. 创建更好集成的环境。
4. 减少复杂性,允许更容易编程改变或快速评估。
5. 用各层的headers和trailers排错。
6.较低的层为较高的层提供服务。
7. 把复杂的网络划分成为更容易管理的层。

Tags in this post...

面试题 相关文章推荐
线程的基本概念、线程的基本状态以及状态之间的关系
Oct 26 面试题
JNI的定义
Nov 25 面试题
Java中实现多态的机制
Aug 09 面试题
C语言编程练习
Apr 02 面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 面试题
2019年c语言经典面试题目
Aug 17 面试题
简述数据库的设计过程
Jun 22 面试题
北京天润融通.net面试题笔试题
Feb 20 面试题
应届生.NET方向面试题
May 23 面试题
可以使用抽象函数重写基类中的虚函数吗
Jun 02 面试题
如何手工释放资源
Dec 15 面试题
介绍一下gcc特性
Jan 20 面试题
OSPF有什么优点?为什么OSPF比RIP收敛快?
Feb 13 #面试题
上海雨人软件技术开发有限公司测试题
Jul 14 #面试题
网络技术支持面试题
Apr 22 #面试题
简单说下OSPF的操作过程
Aug 13 #面试题
天网面试题
Apr 07 #面试题
木马的传播途径主要有哪些
Apr 08 #面试题
世界经理人咨询有限公司面试
Sep 23 #面试题
You might like
discuz Passport 通行证 整合笔记
2008/06/30 PHP
php常见的魔术方法详解
2014/12/25 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python使用代理ip访问网站的实例
2018/05/07 Python
基于python实现聊天室程序
2018/07/27 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
房地产开发计划书
2014/01/10 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
2014年护士长工作总结
2014/11/11 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS