OSI与TCP/IP模型之比较
摘要:OSI参考模型和Internet模型(或称TCP/IP模型)作为计算网络发展过程影响力大的两大模型,它们共同之处是:都采用了层次结构的概念,从分析两者的异同入手,找出OSI的消亡和Internet模型(TCP/IP)的发展原因。
关键词:OSI参考模型,TCP/IP参考模型
引言
OSI参考模型与TCP/IP模型的共同之处是:他们都采用了层次结构的概念,在传输层定义了相似的功能,但是二者在层次划分与使用的协议上是有很大差别的,也正是这种差别对两个模型的发展产生的两个截然不同的局面,OSI参考模型走向消亡而TCP/IP模型得到了发展,原因何在呢?本文从对OSI参考模型与TCP/IP模型的异同入手,从两者在现在网络领域的使用情况来分析两个模型的前景。
OSI参考模型和TCP/IP参考模型简介
计算机网络中已经形成的网络体系主要有两个:OSI参考模型和TCP/IP参考模型。OSI开放系统互联参考模型(open system interconnection reference model)由国际标准化组织(ISO)制定。
OSI参考模型分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP参考模型是因特网(Internet)的基础。TCP/IP是一组协议的总称,TCP和IP是其中最主要的两个协议,TCP/IP体系还包含其他协议。和OSI的7层协议比较,TCP/IP参考模型中没有会话层和表示层。互联网协议IP(Internet Protocol)是网络层最主要的协议。传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)是传输层的最主要的协议。TCP是提供可靠服务、面向连接的协议;UDP是不可靠、无连接的协议。
OSI参考模型和TCP/IP参考模型比较
OSI参考模型和TCP/IP参考模型之共同点
1) 都是基于独立的协议栈的概念;
2) 它们的功能大体相似,在两个模型中,传输层及以上的各层都是为了通信的进程提供点到点、与网络无关的传输服务;
3) OSI参考模型与TCP/IP参考模型传输层以上的层都以应用为主导。
OSI参考模型与TCP/IP参考模型的主要差别
1) TCP/IP一开始就考虑到多种异构网的互联问题,并将网际协议IP作为TCP/IP的重要组成部门。但ISO最初只考虑到使用一种标准的公用数据网将各种不同的系统互联在一起。
2) TCP/IP一开始就对面向连接各无连接并重,而OSI在开始时只强调面向连接服务。
3) TCP/IP有较好的网络管理功能,而OSI到后来才开始这个问题,在这方面两者有所不同。
OSI参考模型和TCP/IP参考模型评价
对OSI参考模型的评价
无论是OSI参考模型与协议,还是TCP/IP参考模型与协议都是不完美的。造成OSI参考模型不能流行的主要原因是之一是其自身的缺陷。会话层在大多数应用中很少用到,表示层几乎是空的。在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能。OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,将它的实现起是困难的。同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率。虚拟终端协议最初安排在表示层,现在安排在应用层。关于数据安全性,加密与网络管理等方面的问题也在参考模型的设计初期被忽略了。参考模型的设计更多是被通信思想所支配,很多选择不适合于计算机与软件的工作方式。很多“原语“在软件的很多高级语言中实现起来很容易,但严格按照层次模型编程的软件效率很低。
TCP/IP模型的评价
TCP/IP参考模型与协议也有它自身的缺陷
1) 它在服务、接口与协议的区别上不清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好的做到这点,这就使得TCP/IP参考模型对于使用新技术的指导意义不够。
2) TCP/IP的主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。
TCP/IP与OSI参考模型不同的命运
OSI参考模型一开始是由ISO来制定,但后来的许多标准都是ISO与原来的CCITT联合制定,更多的是从通信思想考虑模型的设计,很多选择不适合于计算机与软件的工作方式。但是TCP/IP协议从70年代诞生以后,成功得赢得大量的用户和投资。TCP/IP协议的成功促进了Internet的发展,Internet的发展又进一步扩大了TCP/IP协议的影响。TCP/IP不仅在学术界争取了一大批用户,同时也越来越受到计算机产业的青睐。IBM、DEC等大公司纷纷宣布支持TCP/IP协议,局域网操作系统NetWare、LAN Manager争相将TCP/IP纳入自己的体系结构,数据库Oracle支持TCP/IP协议,UNIX、POSIX操作系统也一如既往地支持TCP/IP协议。相比之下,OSI参考模型与协议显得有些势单力薄。人们普遍希望网络标准化,但OSI迟迟没有成熟的产品推出,妨碍了第三方厂家开发相应的硬件各软件,从而影响了OSI产品的市场占有率与今后的发展。
结论
OSI参考模型与TCP/IP参考模型都不完美,但TCP/IP参考模型发展是因为在ISO制定OSI参考模型过程中总是着眼于一次制定达到完美,所以的制定过程中考虑的方面比较多,但去忽略了IP这一协议的重要性,但当ISO认识到时只好在网络层划出一个子层来完成类似的功能,在无连接服务一开始也不在考虑之列,还有就是网络管理功能的过度复杂等,造成了OSI迟迟没有成熟的产品推出的成因,进而影响了厂商对它的支持,而这时的TCP/IP通过实践得到到不断的完善,也得到了大厂商的支持,所以TCP/IP参考模型得到了发展。
参考文献
鲍居武、曹军,计算机网络基础及典型案例:北京理工大学出版社,2000
谢希仁等,计算机网络:大连理工大学出版社,2006
Comer,D.E,用TCP/IP进行网际互连第I卷:原理、协议和体系结构:电子工业出版社,1998 作者:小钱 \
原文链接:http://market.c114.net/154/a189387.html
OSI与TCP/IP模型之比较的更多相关文章
- OSI与TCP/IP模型
1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...
- OSI、TCP/IP
计算机网络分层的目的:支持异构网络系统的互联互通 7层OSI参考模型是法定标准(国际标准化组织ISO提出) 4层TCP/IP参考模型是事实标准 OSI参考模型 应用层.表示层.会话层.传输层.网络层. ...
- TCP/IP模型及OSI七层参考模型各层的功能和主要协议
注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...
- OSI七层协议与TCP/IP模型
OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardizat ...
- 网络 OSI参考模型与TCP/IP模型
ISO是国际标准化组织.OSI,开放互联系统.IOS,思科交换机和路由器的操作系统. TCP/IP模型是OSI模型的简化.所有的互联网协议都是基于OSI模型开发的. 分层:便于管理,每层只管理下层,总 ...
- OSI参考模型和TCP/IP模型基本知识
OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...
- 【转】挟天子以令诸侯博客关于TCP/IP模型与OSI模型的区别
挟天子以令诸侯 博客园 首页 新随笔 联系 订阅 管理 随笔 - 21 文章 - 0 评论 - 9 TCP/IP四层模型与OSI参考模型 TCP/IP四层模型: 1.链路层(数据链路层/网络接 ...
- OSI模型与TCP/IP模型基础
一.OSI七层模型 OSI(Open System Interconnection),OSI是一个开放性的通行系统互连参考模型,是一个协议规范.OSI七层模型是一种框架性的设计方法 ,建立七层模型的主 ...
- OSI网络七层模型、TCP/IP 模型(四)
OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”. OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层.数据链路层.网络层.传输层.会话层 ...
随机推荐
- iOS: 属性声明strong和retain竟然不一样
今天和同事在处理一处用strong声明的Block属性引发的问题时偶然发现的.在诸多教程中都会讲到:声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在 ...
- android 基础项目及开发出现:error opening trace file: No such file or directory错误解决
本身这个错误不影响运行,但是看着烦啊.解决方案几种如下: 1.xml标签不完整或者未关闭,常有的事.Eclipse并不是所有的xml标记都检查,单双标记什么的. 2.有人说,据说是 android a ...
- iOS-实现验证码倒计时功能(1)
验证码倒计时按钮的应用是非常普遍的,该Blog就和你一起来写一个IDCountDownButton来实现验证码倒计时的效果.你可以想使用普通的UIButton类型按钮一样,只需要设置其倒计时时长(若未 ...
- 如何用拉姆达表达式(Lambda Expressions) 书写左链接查询
在C#中,如果要实现两个列表的左链接查询,我们的一般用法就是用的linq表达式就是 List<Pet> pets = }, }, } }; List<Pet2> pets2 = ...
- Oracle启动的整个过程
1.启动选项 在发出startup命令启动数据库时,oracle将在默认位置$ORACLE_HOME/dbs(UNIX/Linux)中查找初始化参数文件.Oracle将以下面的顺序在其中寻找合适的初始 ...
- controller,link,compile不同
测试案例 .directive('testDirective', function() { return { restrict: 'E', template: '<p>Hello {{nu ...
- jquery之css()改变字体大小,颜色,背景色
转: <script type="text/javascript"> $(document).ready(function() { $("#f ...
- ContentProvider深度探索
如果你选择用SQLite数据库存储应用程序数据,我建议你创建ContentProvider,即使存储的数据仅供内部使用.原因是Android提供了一些工具类以及UI相关的类,它们的工作在Content ...
- android——获取ImageView上面显示的图片bitmap对象
获取的函数方法为:Bitmap bitmap=imageView.getDrawingCache(); 但是如果只是这样写我们得到的bitmap对象可能为null值,正确的方式为: imageView ...
- asp.net运行原理(一)总体概要
1.浏览器发送请求报文到服务器,服务器接收到请求之后,根据请求报文头(url地址)的后缀名解析. 2.以iis服务器为例.他分为两种模式,经典模式和集成模式.主要是经典模式会将请求报文通过aspne ...